From ca977b1d33f243d445d35697efdf4edcd20e5d81 Mon Sep 17 00:00:00 2001 From: t_j_s Date: Fri, 9 Sep 2022 09:18:42 +0100 Subject: [PATCH 001/123] Introduction of DynISF into the prediction corves, lines 583, 587 and 617. --- .../assets/OpenAPSSMBDynamicISF/determine-basal.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index f3ff906aac..74f442bbf1 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -579,9 +579,12 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ // for IOBpredBGs, predicted deviation impact drops linearly from current deviation down to zero // over 60 minutes (data points every 5m) var predDev = ci * ( 1 - Math.min(1,IOBpredBGs.length/(60/5)) ); - IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; + //IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; + IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ),2)) + // calculate predBGs with long zero temp without deviations - var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; + //var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; + var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + (round(( -iobTick.iobWithZeroTemp.activity * (1800 / ( TDD * (Math.log(( Math.max(ZTpredBGs[ZTpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ), 2)); // for COBpredBGs, predicted carb impact drops linearly from current carb impact down to zero // eventually accounting for all carbs (if they can be absorbed over DIA) var predCI = Math.max(0, Math.max(0,ci) * ( 1 - COBpredBGs.length/Math.max(cid*2,1) ) ); @@ -610,7 +613,8 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ //console.error(UAMpredBGs.length,slopeFromDeviations, predUCI); UAMduration=round((UAMpredBGs.length+1)*5/60,1); } - UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + predBGI + Math.min(0, predDev) + predUCI; + //UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + predBGI + Math.min(0, predDev) + predUCI; + UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log(( Math.max(UAMpredBGs[UAMpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ),2)) + Math.min(0, predDev) + predUCI; //console.error(predBGI, predCI, predUCI); // truncate all BG predictions at 4 hours if ( IOBpredBGs.length < 48) { IOBpredBGs.push(IOBpredBG); } From e729b2a81aea473645d7855c291c6c96181f3c68 Mon Sep 17 00:00:00 2001 From: t_j_s Date: Fri, 9 Sep 2022 13:05:20 +0100 Subject: [PATCH 002/123] COrrected Variable --- .../main/assets/OpenAPSSMBDynamicISF/determine-basal.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index 74f442bbf1..5066bd1cac 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -580,11 +580,13 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ // over 60 minutes (data points every 5m) var predDev = ci * ( 1 - Math.min(1,IOBpredBGs.length/(60/5)) ); //IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; - IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ),2)) + IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) + * 5 ),2)) // calculate predBGs with long zero temp without deviations //var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; - var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + (round(( -iobTick.iobWithZeroTemp.activity * (1800 / ( TDD * (Math.log(( Math.max(ZTpredBGs[ZTpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ), 2)); + var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + (round(( -iobTick.iobWithZeroTemp.activity * (1800 / ( TDD * (Math.log(( Math.max(ZTpredBGs[ZTpredBGs.length-1],39) / + insulinDivisor ) + 1 ) ) )) * 5 ), 2)); // for COBpredBGs, predicted carb impact drops linearly from current carb impact down to zero // eventually accounting for all carbs (if they can be absorbed over DIA) var predCI = Math.max(0, Math.max(0,ci) * ( 1 - COBpredBGs.length/Math.max(cid*2,1) ) ); @@ -614,7 +616,8 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ UAMduration=round((UAMpredBGs.length+1)*5/60,1); } //UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + predBGI + Math.min(0, predDev) + predUCI; - UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log(( Math.max(UAMpredBGs[UAMpredBGs.length-1],39) / ins_val ) + 1 ) ) )) * 5 ),2)) + Math.min(0, predDev) + predUCI; + UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD + * (Math.log(( Math.max(UAMpredBGs[UAMpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) * 5 ),2)) + Math.min(0, predDev) + predUCI; //console.error(predBGI, predCI, predUCI); // truncate all BG predictions at 4 hours if ( IOBpredBGs.length < 48) { IOBpredBGs.push(IOBpredBG); } From 055a11dee0ea384c96013f7658d3576b71e407f1 Mon Sep 17 00:00:00 2001 From: t_j_s Date: Fri, 9 Sep 2022 13:26:25 +0100 Subject: [PATCH 003/123] COrrected Variable --- app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index 5066bd1cac..ac7666ba87 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -208,7 +208,7 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ //********************************************************************************* console.error("---------------------------------------------------------"); - console.error( " Dynamic ISF version Beta 1.6.5 "); + console.error( " Dynamic ISF version Beta 2.0 "); console.error("---------------------------------------------------------"); var variable_sens = profile.variable_sens; From 786228189ff50a68ad1b92560253b329f8d1c4e7 Mon Sep 17 00:00:00 2001 From: Tim Street Date: Fri, 9 Sep 2022 17:41:59 +0100 Subject: [PATCH 004/123] Fixed missing semi-colon. --- app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index ac7666ba87..1049113272 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -581,7 +581,7 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ var predDev = ci * ( 1 - Math.min(1,IOBpredBGs.length/(60/5)) ); //IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) - * 5 ),2)) + * 5 ),2)); // calculate predBGs with long zero temp without deviations //var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; From 546ff7b1e04c86cbf16e21e076709866f3f5191e Mon Sep 17 00:00:00 2001 From: Tim Street Date: Tue, 13 Sep 2022 18:42:56 +0100 Subject: [PATCH 005/123] Missed +predDev from IOBPredBG. Re-added. --- app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index 1049113272..fed911758e 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -581,7 +581,7 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ var predDev = ci * ( 1 - Math.min(1,IOBpredBGs.length/(60/5)) ); //IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) - * 5 ),2)); + * 5 ),2)) + predDev; // calculate predBGs with long zero temp without deviations //var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; From e4d2e093b2dbd212260e391d15e74c9ebcff7b20 Mon Sep 17 00:00:00 2001 From: t_j_s Date: Fri, 9 Sep 2022 09:18:42 +0100 Subject: [PATCH 006/123] Missed +predDev from IOBPredBG. Re-added. Fixed missing semi-colon. COrrected Variable COrrected Variable Introduction of DynISF into the prediction corves, lines 583, 587 and 617. --- .../OpenAPSSMBDynamicISF/determine-basal.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js index f3ff906aac..fed911758e 100644 --- a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js +++ b/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js @@ -208,7 +208,7 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ //********************************************************************************* console.error("---------------------------------------------------------"); - console.error( " Dynamic ISF version Beta 1.6.5 "); + console.error( " Dynamic ISF version Beta 2.0 "); console.error("---------------------------------------------------------"); var variable_sens = profile.variable_sens; @@ -579,9 +579,14 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ // for IOBpredBGs, predicted deviation impact drops linearly from current deviation down to zero // over 60 minutes (data points every 5m) var predDev = ci * ( 1 - Math.min(1,IOBpredBGs.length/(60/5)) ); - IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; + //IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + predBGI + predDev; + IOBpredBG = IOBpredBGs[IOBpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD * (Math.log((Math.max( IOBpredBGs[IOBpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) + * 5 ),2)) + predDev; + // calculate predBGs with long zero temp without deviations - var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; + //var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + predZTBGI; + var ZTpredBG = ZTpredBGs[ZTpredBGs.length-1] + (round(( -iobTick.iobWithZeroTemp.activity * (1800 / ( TDD * (Math.log(( Math.max(ZTpredBGs[ZTpredBGs.length-1],39) / + insulinDivisor ) + 1 ) ) )) * 5 ), 2)); // for COBpredBGs, predicted carb impact drops linearly from current carb impact down to zero // eventually accounting for all carbs (if they can be absorbed over DIA) var predCI = Math.max(0, Math.max(0,ci) * ( 1 - COBpredBGs.length/Math.max(cid*2,1) ) ); @@ -610,7 +615,9 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_ //console.error(UAMpredBGs.length,slopeFromDeviations, predUCI); UAMduration=round((UAMpredBGs.length+1)*5/60,1); } - UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + predBGI + Math.min(0, predDev) + predUCI; + //UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + predBGI + Math.min(0, predDev) + predUCI; + UAMpredBG = UAMpredBGs[UAMpredBGs.length-1] + (round(( -iobTick.activity * (1800 / ( TDD + * (Math.log(( Math.max(UAMpredBGs[UAMpredBGs.length-1],39) / insulinDivisor ) + 1 ) ) )) * 5 ),2)) + Math.min(0, predDev) + predUCI; //console.error(predBGI, predCI, predUCI); // truncate all BG predictions at 4 hours if ( IOBpredBGs.length < 48) { IOBpredBGs.push(IOBpredBG); } From 0540640548b9d708ea88d163a7ef44209404a065 Mon Sep 17 00:00:00 2001 From: Michael Kroes Date: Sun, 6 Nov 2022 12:21:46 +0100 Subject: [PATCH 007/123] Show correct icon when AutoSens data is available under AAPSClient --- .../androidaps/plugins/general/overview/OverviewFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 734a8661b9..9d00130dac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -1102,7 +1102,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList private fun updateSensitivity() { _binding ?: return - if (constraintChecker.isAutosensModeEnabled().value()) { + if (constraintChecker.isAutosensModeEnabled().value() || !(config.NSCLIENT && overviewData.lastAutosensData(iobCobCalculator) == null)) { binding.infoLayout.sensitivityIcon.setImageResource(R.drawable.ic_swap_vert_black_48dp_green) } else { binding.infoLayout.sensitivityIcon.setImageResource(R.drawable.ic_x_swap_vert) From 4643b124144bf70488baeaeec8db3946ace9a2be Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 12:28:35 +0100 Subject: [PATCH 008/123] Rx module --- {shared => app-wear-shared/rx}/.gitignore | 0 app-wear-shared/rx/build.gradle | 35 +++++++++++ .../rx}/consumer-rules.pro | 0 .../rx}/proguard-rules.pro | 0 .../rx/annotations/RxOpenForTesting.kt | 15 +++++ .../rx/src/main/AndroidManifest.xml | 4 ++ .../info/nightscout}/rx/AapsSchedulers.kt | 2 +- .../java/info/nightscout/rx}/bus/RxBus.kt | 16 ++--- .../java/info/nightscout/rx/di/RxModule.kt | 25 ++++++++ .../java/info/nightscout/rx}/events/Event.kt | 2 +- .../rx/events/EventAcceptOpenLoopChange.kt | 3 + .../info/nightscout/rx/events/EventAppExit.kt | 3 + .../rx/events/EventAppInitialized.kt | 3 + .../EventAutosensCalculationFinished.kt | 4 +- .../nightscout/rx}/events/EventBTChange.kt | 2 +- .../rx}/events/EventChargingState.kt | 4 +- .../rx/events/EventConfigBuilderChange.kt | 3 + .../rx/events/EventCustomActionsChanged.kt | 3 + .../events/EventCustomCalculationFinished.kt | 2 +- .../rx}/events/EventDanaRSyncStatus.kt | 2 +- .../rx/events/EventExtendedBolusChange.kt | 3 + .../rx/events/EventFoodDatabaseChanged.kt | 3 + .../rx/events/EventInitializationChanged.kt | 3 + .../rx/events/EventLocalProfileChanged.kt | 3 + .../info/nightscout/rx}/events/EventLoop.kt | 4 +- .../nightscout/rx/events/EventMobileToWear.kt | 5 ++ .../rx/events/EventNSClientRestart.kt | 3 + .../rx}/events/EventNetworkChange.kt | 4 +- .../nightscout/rx}/events/EventNtpStatus.kt | 2 +- .../rx/events/EventOfflineChange.kt | 3 + .../rx/events/EventProfileStoreChanged.kt | 3 + .../rx}/events/EventProfileSwitchChanged.kt | 2 +- .../nightscout/rx}/events/EventRebuildTabs.kt | 4 +- .../rx}/events/EventRefreshOverview.kt | 4 +- .../info/nightscout/rx}/events/EventScale.kt | 2 +- .../rx/events/EventTempBasalChange.kt | 3 + .../rx/events/EventTempTargetChange.kt | 3 + .../nightscout/rx/events/EventThemeSwitch.kt | 3 + .../rx/events/EventTherapyEventChange.kt | 3 + .../rx/events/EventTreatmentChange.kt | 3 + .../nightscout/rx/events/EventUpdateGui.kt | 4 ++ .../nightscout/rx/events/EventWearToMobile.kt | 5 ++ .../java/info/nightscout/rx/interfaces/L.kt | 7 +++ .../nightscout/rx/interfaces/LogElement.kt | 11 ++++ .../info/nightscout/rx}/logging/AAPSLogger.kt | 2 +- .../rx}/logging/AAPSLoggerProduction.kt | 3 +- .../nightscout/rx}/logging/AAPSLoggerTest.kt | 2 +- .../nightscout/rx}/logging/BundleLogger.kt | 2 +- .../java/info/nightscout/rx}/logging/LTag.kt | 2 +- .../info/nightscout/rx}/weardata/EventData.kt | 6 +- .../rx/annotations/RxOpenForTesting.kt | 8 +++ app-wear-shared/shared-impl/.gitignore | 1 + app-wear-shared/shared-impl/build.gradle | 24 ++++++++ .../shared-impl/consumer-rules.pro | 0 .../shared-impl/proguard-rules.pro | 21 +++++++ .../shared-impl/src/main/AndroidManifest.xml | 4 ++ .../shared/impl/di/SharedImplModule.kt | 19 ++++++ .../nightcout/shared/impl/logging/LImpl.kt | 33 ++++++----- app-wear-shared/shared/.gitignore | 1 + .../shared}/build.gradle | 0 app-wear-shared/shared/consumer-rules.pro | 0 app-wear-shared/shared/proguard-rules.pro | 21 +++++++ .../androidaps/annotations/OpenForTesting.kt | 0 .../shared/src/main/AndroidManifest.xml | 4 ++ .../extensions/PackageManagerExtension.kt | 0 .../androidaps/extensions/UIUtils.kt | 0 .../androidaps/interfaces/ResourceHelper.kt | 10 +++- .../nightscout/androidaps/utils/DateUtil.kt | 7 ++- .../info/nightscout/androidaps/utils/T.kt | 0 .../java/info/nightscout/shared/SafeParse.kt | 0 .../info/nightscout/shared/di/SharedModule.kt | 13 ++--- .../shared/sharedPreferences/Delegates.kt | 0 .../nightscout/shared/sharedPreferences/SP.kt | 0 .../sharedPreferences/SPImplementation.kt | 0 .../src/main/res/values-af-rZA/strings.xml | 0 .../src/main/res/values-bg-rBG/strings.xml | 0 .../src/main/res/values-ca-rES/strings.xml | 0 .../src/main/res/values-cs-rCZ/strings.xml | 0 .../src/main/res/values-da-rDK/strings.xml | 0 .../src/main/res/values-de-rDE/strings.xml | 0 .../src/main/res/values-el-rGR/strings.xml | 0 .../src/main/res/values-es-rES/strings.xml | 0 .../src/main/res/values-fr-rFR/strings.xml | 0 .../src/main/res/values-ga-rIE/strings.xml | 0 .../src/main/res/values-hr-rHR/strings.xml | 0 .../src/main/res/values-hu-rHU/strings.xml | 0 .../src/main/res/values-it-rIT/strings.xml | 0 .../src/main/res/values-iw-rIL/strings.xml | 0 .../src/main/res/values-ko-rKR/strings.xml | 0 .../src/main/res/values-lt-rLT/strings.xml | 0 .../src/main/res/values-nl-rNL/strings.xml | 0 .../src/main/res/values-no-rNO/strings.xml | 0 .../src/main/res/values-pl-rPL/strings.xml | 0 .../src/main/res/values-pt-rBR/strings.xml | 0 .../src/main/res/values-pt-rPT/strings.xml | 0 .../src/main/res/values-ro-rRO/strings.xml | 0 .../src/main/res/values-ru-rRU/strings.xml | 0 .../src/main/res/values-sk-rSK/strings.xml | 0 .../src/main/res/values-sr-rCS/strings.xml | 0 .../src/main/res/values-sv-rSE/strings.xml | 0 .../src/main/res/values-sw600dp/layout.xml | 0 .../src/main/res/values-tr-rTR/strings.xml | 0 .../src/main/res/values-zh-rCN/strings.xml | 0 .../shared}/src/main/res/values/layout.xml | 0 .../shared}/src/main/res/values/strings.xml | 0 .../src/main/res/values/wear_paths.xml | 0 .../androidaps/annotations/OpenForTesting.kt | 0 .../androidaps/utils/rx/RxSchedulerRule.kt | 0 .../info/nightscout/shared/SafeParseTest.kt | 0 app/build.gradle | 4 +- .../nightscout/androidaps/MainActivity.kt | 12 ++-- .../info/nightscout/androidaps/MainApp.kt | 6 +- .../activities/HistoryBrowseActivity.kt | 15 ++--- .../activities/HistoryBrowserData.kt | 6 +- .../activities/MyPreferenceFragment.kt | 4 +- .../activities/ProfileHelperActivity.kt | 8 +-- .../androidaps/db/CompatDBHelper.kt | 22 +++---- .../nightscout/androidaps/di/AppComponent.kt | 4 ++ .../nightscout/androidaps/di/AppModule.kt | 11 +--- .../androidaps/dialogs/ExtendedBolusDialog.kt | 2 +- .../androidaps/dialogs/FillDialog.kt | 2 +- .../androidaps/dialogs/InsulinDialog.kt | 2 +- .../androidaps/dialogs/LoopDialog.kt | 8 +-- .../androidaps/dialogs/NtpProgressDialog.kt | 12 ++-- .../androidaps/dialogs/ProfileSwitchDialog.kt | 4 +- .../androidaps/dialogs/TempBasalDialog.kt | 2 +- .../androidaps/dialogs/TempTargetDialog.kt | 3 +- .../androidaps/dialogs/TreatmentDialog.kt | 2 +- .../androidaps/dialogs/WizardDialog.kt | 10 ++-- .../events/EventAcceptOpenLoopChange.kt | 3 - .../androidaps/events/EventNewBG.kt | 1 + .../events/EventProfileStoreChanged.kt | 2 - .../events/EventTempTargetChange.kt | 2 - .../androidaps/plugins/aps/OpenAPSFragment.kt | 8 +-- .../aps/events/EventOpenAPSUpdateGui.kt | 2 +- .../aps/events/EventOpenAPSUpdateResultGui.kt | 2 +- .../plugins/aps/logger/LoggerCallback.kt | 5 +- .../plugins/aps/loop/LoopFragment.kt | 6 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 18 +++--- .../aps/loop/events/EventLoopSetLastRunGui.kt | 2 +- .../aps/loop/events/EventLoopUpdateGui.kt | 2 +- .../events/EventNewOpenLoopNotification.kt | 2 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 14 +++-- .../aps/openAPSAMA/DetermineBasalResultAMA.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 8 +-- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 23 ++++++-- .../aps/openAPSSMB/DetermineBasalResultSMB.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 6 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 20 ++++--- .../OpenAPSSMBDynamicISFPlugin.kt | 12 ++-- .../configBuilder/ConfigBuilderFragment.kt | 17 ++++-- .../configBuilder/ConfigBuilderPlugin.kt | 28 ++++++--- .../plugins/configBuilder/PluginStore.kt | 18 +++++- .../configBuilder/ProfileFunctionImpl.kt | 8 +-- .../events/EventConfigBuilderUpdateGui.kt | 2 +- .../objectives/ObjectivesFragment.kt | 12 ++-- .../objectives/ObjectivesPlugin.kt | 26 +++++++-- .../activities/ObjectivesExamDialog.kt | 4 +- .../events/EventObjectivesUpdateGui.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 28 ++++++--- .../general/actions/ActionsFragment.kt | 16 ++--- .../plugins/general/actions/ActionsPlugin.kt | 4 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 22 ++++--- .../maintenance/ImportExportPrefsImpl.kt | 8 +-- .../maintenance/MaintenanceFragment.kt | 8 +-- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../activities/LogSettingActivity.kt | 5 +- .../DataSyncSelectorImplementation.kt | 20 +++++-- .../general/nsclient/NSClientAddAckWorker.kt | 36 ++++++++++-- .../nsclient/NSClientAddUpdateWorker.kt | 33 ++++++++--- .../general/nsclient/NSClientFragment.kt | 13 +++-- .../general/nsclient/NSClientMbgWorker.kt | 6 +- .../general/nsclient/NSClientPlugin.kt | 16 ++--- .../nsclient/NSClientUpdateRemoveAckWorker.kt | 19 ++++-- .../nsclient/NsClientReceiverDelegate.kt | 8 +-- .../plugins/general/nsclient/acks/NSAddAck.kt | 10 ++-- .../general/nsclient/acks/NSAuthAck.kt | 4 +- .../general/nsclient/acks/NSUpdateAck.kt | 8 +-- .../general/nsclient/data/NSDeviceStatus.kt | 6 +- .../general/nsclient/data/NSSettingsStatus.kt | 10 ++-- .../nsclient/events/EventNSClientResend.kt | 2 +- .../nsclient/events/EventNSClientUpdateGUI.kt | 2 +- .../nsclient/services/NSClientService.kt | 27 +++++---- .../general/overview/OverviewFragment.kt | 22 +++---- .../plugins/general/overview/OverviewMenus.kt | 10 ++-- .../general/overview/OverviewPlugin.kt | 6 +- .../activities/QuickWizardListActivity.kt | 17 ++++-- .../overview/dialogs/EditQuickWizardDialog.kt | 7 +-- .../overview/events/EventQuickWizardChange.kt | 2 +- .../events/EventUpdateOverviewCalcProgress.kt | 2 +- .../events/EventUpdateOverviewGraph.kt | 2 +- .../events/EventUpdateOverviewIobCob.kt | 2 +- .../events/EventUpdateOverviewNotification.kt | 2 +- .../events/EventUpdateOverviewSensitivity.kt | 2 +- .../general/overview/graphData/GraphData.kt | 10 +++- .../DismissNotificationService.kt | 2 +- .../notifications/NotificationStore.kt | 6 +- .../notifications/NotificationWithAction.kt | 6 +- .../persistentNotification/DummyService.kt | 10 ++-- .../PersistentNotificationPlugin.kt | 24 +++++--- .../general/tidepool/TidepoolFragment.kt | 6 +- .../general/tidepool/TidepoolPlugin.kt | 15 +++-- .../general/tidepool/comm/InfoInterceptor.kt | 5 +- .../general/tidepool/comm/TidepoolCallback.kt | 6 +- .../general/tidepool/comm/TidepoolUploader.kt | 8 +-- .../general/tidepool/comm/UploadChunk.kt | 16 +++-- .../tidepool/events/EventTidepoolDoUpload.kt | 2 +- .../tidepool/events/EventTidepoolResetData.kt | 2 +- .../tidepool/events/EventTidepoolStatus.kt | 4 +- .../tidepool/events/EventTidepoolUpdateGUI.kt | 2 +- .../general/tidepool/utils/RateLimit.kt | 5 +- .../plugins/general/wear/WearFragment.kt | 8 +-- .../plugins/general/wear/WearPlugin.kt | 12 ++-- .../wear/wearintegration/DataHandlerMobile.kt | 15 +++-- .../DataLayerListenerServiceMobile.kt | 37 +++++++++--- .../IobCobCalculatorPlugin.kt | 12 ++-- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 17 +++--- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 14 ++--- .../events/EventIobCalculationProgress.kt | 2 +- .../plugins/pump/PumpSyncImplementation.kt | 6 +- .../pump/virtual/VirtualPumpFragment.kt | 10 ++-- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 8 +-- .../events/EventVirtualPumpUpdateGui.kt | 2 +- .../sensitivity/AbstractSensitivityPlugin.kt | 6 +- .../sensitivity/SensitivityAAPSPlugin.kt | 5 +- .../sensitivity/SensitivityOref1Plugin.kt | 5 +- .../SensitivityWeightedAveragePlugin.kt | 6 +- .../androidaps/plugins/source/AidexPlugin.kt | 13 +++-- .../plugins/source/BGSourceFragment.kt | 15 +++-- .../androidaps/plugins/source/DexcomPlugin.kt | 8 +-- .../plugins/source/EversensePlugin.kt | 10 ++-- .../androidaps/plugins/source/GlimpPlugin.kt | 6 +- .../plugins/source/GlunovoPlugin.kt | 8 +-- .../plugins/source/IntelligoPlugin.kt | 6 +- .../androidaps/plugins/source/MM640gPlugin.kt | 8 +-- .../plugins/source/NSClientSourcePlugin.kt | 10 ++-- .../plugins/source/PoctechPlugin.kt | 8 +-- .../plugins/source/RandomBgPlugin.kt | 16 +++-- .../androidaps/plugins/source/TomatoPlugin.kt | 6 +- .../androidaps/plugins/source/XdripPlugin.kt | 6 +- .../androidaps/receivers/BTReceiver.kt | 4 +- .../receivers/ChargingStateReceiver.kt | 8 +-- .../androidaps/receivers/DataReceiver.kt | 17 ++++-- .../androidaps/receivers/KeepAliveWorker.kt | 8 +-- .../receivers/TimeDateOrTZChangeReceiver.kt | 9 +-- .../androidaps/setupwizard/SWDefinition.kt | 6 +- .../androidaps/setupwizard/SWEventListener.kt | 2 +- .../setupwizard/SetupWizardActivity.kt | 8 +-- .../androidaps/setupwizard/elements/SWItem.kt | 8 +-- .../setupwizard/elements/SWPlugin.kt | 2 +- .../setupwizard/events/EventSWLabel.kt | 2 +- .../setupwizard/events/EventSWUpdate.kt | 2 +- .../androidaps/utils/JSONFormatter.kt | 5 +- .../nightscout/androidaps/utils/Profiler.kt | 5 +- .../nightscout/androidaps/utils/SntpClient.kt | 7 +-- .../utils/buildHelper/ConfigImpl.kt | 1 + .../androidaps/utils/wizard/BolusWizard.kt | 10 ++-- .../utils/wizard/QuickWizardEntry.kt | 4 +- .../workflow/CalculationWorkflow.kt | 16 ++--- .../androidaps/workflow/InvokeLoopWorker.kt | 2 +- .../androidaps/workflow/LoadBgDataWorker.kt | 4 +- .../workflow/PrepareBasalDataWorker.kt | 5 +- .../workflow/PrepareBucketedDataWorker.kt | 4 +- .../PrepareIobAutosensGraphDataWorker.kt | 6 +- .../workflow/PreparePredictionsWorker.kt | 2 +- .../PrepareTemporaryTargetDataWorker.kt | 4 +- .../workflow/PrepareTreatmentsDataWorker.kt | 10 +++- .../androidaps/workflow/UpdateGraphWorker.kt | 2 +- .../workflow/UpdateIobCobSensWorker.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../plugins/aps/loop/LoopPluginTest.kt | 4 +- .../configBuilder/ConfigBuilderPluginTest.kt | 4 +- .../nsclient/NsClientReceiverDelegateTest.kt | 6 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 4 +- .../AbstractSensitivityPluginTest.kt | 4 +- .../utils/wizard/BolusWizardTest.kt | 15 +++-- automation/build.gradle | 3 +- .../nightscout/automation/AutomationEvent.kt | 2 +- .../automation/AutomationFragment.kt | 4 +- .../nightscout/automation/AutomationPlugin.kt | 14 ++--- .../nightscout/automation/actions/Action.kt | 2 +- .../automation/actions/ActionAlarm.kt | 2 +- .../actions/ActionCarePortalEvent.kt | 3 +- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 4 +- .../automation/actions/ActionLoopResume.kt | 6 +- .../automation/actions/ActionLoopSuspend.kt | 4 +- .../automation/actions/ActionNotification.kt | 4 +- .../automation/actions/ActionProfileSwitch.kt | 3 +- .../actions/ActionProfileSwitchPercent.kt | 3 +- .../automation/actions/ActionRunAutotune.kt | 3 +- .../actions/ActionStartTempTarget.kt | 3 +- .../actions/ActionStopTempTarget.kt | 3 +- .../automation/dialogs/ChooseActionDialog.kt | 2 +- .../automation/dialogs/EditActionDialog.kt | 2 +- .../automation/dialogs/EditEventDialog.kt | 4 +- .../automation/dialogs/EditTriggerDialog.kt | 4 +- .../events/EventAutomationAddAction.kt | 2 +- .../events/EventAutomationDataChanged.kt | 2 +- .../events/EventAutomationUpdateAction.kt | 2 +- .../events/EventAutomationUpdateGui.kt | 2 +- .../events/EventAutomationUpdateTrigger.kt | 2 +- .../automation/events/EventLocationChange.kt | 2 +- .../automation/events/EventTriggerChanged.kt | 2 +- .../automation/events/EventTriggerClone.kt | 2 +- .../automation/events/EventTriggerRemove.kt | 2 +- .../automation/services/LocationService.kt | 10 ++-- .../nightscout/automation/triggers/Trigger.kt | 6 +- .../triggers/TriggerAutosensValue.kt | 3 +- .../automation/triggers/TriggerBTDevice.kt | 4 +- .../automation/triggers/TriggerBg.kt | 3 +- .../automation/triggers/TriggerBolusAgo.kt | 3 +- .../automation/triggers/TriggerCOB.kt | 3 +- .../automation/triggers/TriggerConnector.kt | 3 +- .../automation/triggers/TriggerDelta.kt | 3 +- .../automation/triggers/TriggerIob.kt | 3 +- .../automation/triggers/TriggerLocation.kt | 3 +- .../triggers/TriggerProfilePercent.kt | 3 +- .../triggers/TriggerPumpLastConnection.kt | 3 +- .../triggers/TriggerRecurringTime.kt | 3 +- .../automation/triggers/TriggerTempTarget.kt | 3 +- .../triggers/TriggerTempTargetValue.kt | 3 +- .../automation/triggers/TriggerTime.kt | 3 +- .../automation/triggers/TriggerTimeRange.kt | 3 +- .../automation/triggers/TriggerWifiSsid.kt | 3 +- automation/src/main/res/drawable/ic_as.xml | 1 - .../src/main/res/drawable/ic_auto_delta.xml | 1 - .../info/nightscout/androidaps/TestBase.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../automation/AutomationEventTest.kt | 2 +- .../automation/actions/ActionAlarmTest.kt | 8 +-- .../actions/ActionLoopSuspendTest.kt | 2 +- .../actions/ActionNotificationTest.kt | 8 +-- .../automation/actions/ActionsTestBase.kt | 2 +- .../automation/triggers/TriggerTestBase.kt | 2 +- .../triggers/TriggerWifiSsidTest.kt | 2 +- core/android_module_dependencies.gradle | 2 +- core/build.gradle | 3 +- .../DaggerAppCompatActivityWithResult.kt | 6 +- .../activities/NoSplashAppCompatActivity.kt | 5 +- .../androidaps/data/ProfileSealed.kt | 13 +++-- .../androidaps/dialogs/BolusProgressDialog.kt | 8 +-- .../dialogs/DialogFragmentWithDate.kt | 5 +- .../androidaps/dialogs/ErrorDialog.kt | 2 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 4 +- .../androidaps/events/EventAppExit.kt | 3 - .../androidaps/events/EventAppInitialized.kt | 3 - .../events/EventConfigBuilderChange.kt | 3 - .../events/EventCustomActionsChanged.kt | 3 - .../EventEffectiveProfileSwitchChanged.kt | 1 + .../events/EventExtendedBolusChange.kt | 3 - .../events/EventFoodDatabaseChanged.kt | 3 - .../events/EventInitializationChanged.kt | 3 - .../events/EventLocalProfileChanged.kt | 3 - .../androidaps/events/EventNSClientRestart.kt | 3 - .../androidaps/events/EventNewHistoryData.kt | 3 +- .../androidaps/events/EventOfflineChange.kt | 3 - .../events/EventPreferenceChange.kt | 1 + .../events/EventProfileStoreChanged.kt | 3 - .../androidaps/events/EventStatus.kt | 1 + .../androidaps/events/EventTempBasalChange.kt | 3 - .../events/EventTempTargetChange.kt | 3 - .../androidaps/events/EventThemeSwitch.kt | 3 - .../events/EventTherapyEventChange.kt | 3 - .../androidaps/events/EventTreatmentChange.kt | 3 - .../androidaps/events/EventUpdateGui.kt | 4 -- .../androidaps/interfaces/Config.kt | 1 + .../androidaps/interfaces/Constraint.kt | 5 +- .../androidaps/interfaces/Overview.kt | 2 +- .../androidaps/interfaces/PluginBase.kt | 5 +- .../androidaps/interfaces/Profile.kt | 2 +- .../androidaps/interfaces/ProfileStore.kt | 4 +- .../androidaps/interfaces/PumpPluginBase.kt | 3 +- .../nightscout/androidaps/logging/LImpl.kt | 2 + .../androidaps/logging/UserEntryLogger.kt | 6 +- .../androidaps/plugins/aps/loop/APSResult.kt | 5 +- .../configBuilder/RunningConfiguration.kt | 16 +++-- .../versionChecker/VersionCheckerUtils.kt | 8 +-- .../nsclient/events/EventNSClientNewLog.kt | 4 +- .../plugins/general/overview/OverviewData.kt | 2 +- .../EventDismissBolusProgressIfRunning.kt | 2 +- .../events/EventDismissNotification.kt | 2 +- .../overview/events/EventNewNotification.kt | 2 +- .../events/EventOverviewBolusProgress.kt | 2 +- .../iob/iobCobCalculator/AutosensDataStore.kt | 6 +- .../iobCobCalculator/GlucoseStatusProvider.kt | 5 +- .../iob/iobCobCalculator/data/AutosensData.kt | 8 +-- .../events/EventBucketedDataCreated.kt | 2 +- .../bolusInfo/DetailedBolusInfoStorage.kt | 5 +- .../common/bolusInfo/TemporaryBasalStorage.kt | 5 +- .../androidaps/queue/commands/Command.kt | 6 +- .../queue/events/EventQueueChanged.kt | 2 +- .../receivers/NetworkChangeReceiver.kt | 8 +-- .../receivers/ReceiverStatusStore.kt | 8 +-- .../androidaps/services/AlarmSoundService.kt | 5 +- .../services/AlarmSoundServiceHelper.kt | 5 +- .../nightscout/androidaps/utils/CryptoUtil.kt | 2 +- .../androidaps/utils/FabricPrivacy.kt | 7 +-- .../nightscout/androidaps/utils/HardLimits.kt | 4 +- .../nightscout/androidaps/utils/ToastUtils.kt | 2 +- .../androidaps/utils/ui/SingleClickButton.kt | 5 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/data/ProfileTest.kt | 10 ++-- .../VersionCheckerUtilsKtTest.kt | 6 +- implementation/build.gradle | 3 +- .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 6 +- .../implementation/XDripBroadcastImpl.kt | 5 +- .../queue/CommandQueueImplementation.kt | 17 +++--- .../implementation/queue/QueueThread.kt | 6 +- .../queue/commands/CommandBolus.kt | 4 +- .../commands/CommandCancelExtendedBolus.kt | 3 +- .../queue/commands/CommandCancelTempBasal.kt | 3 +- .../queue/commands/CommandCustomCommand.kt | 3 +- .../queue/commands/CommandExtendedBolus.kt | 3 +- .../queue/commands/CommandLoadEvents.kt | 3 +- .../queue/commands/CommandLoadHistory.kt | 3 +- .../queue/commands/CommandLoadTDDs.kt | 3 +- .../queue/commands/CommandReadStatus.kt | 3 +- .../queue/commands/CommandSMBBolus.kt | 3 +- .../queue/commands/CommandSetProfile.kt | 3 +- .../queue/commands/CommandSetUserSettings.kt | 3 +- .../commands/CommandTempBasalAbsolute.kt | 3 +- .../queue/commands/CommandTempBasalPercent.kt | 3 +- .../implementation/stats/TddCalculatorImpl.kt | 5 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../implementation/BolusTimerImplTest.kt | 2 +- .../implementation/CarbTimerImplTest.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 6 +- insight/build.gradle | 3 +- .../pump/insight/InsightAlertService.java | 5 +- .../pump/insight/LocalInsightFragment.java | 4 +- .../pump/insight/LocalInsightPlugin.java | 11 ++-- .../InsightConnectionService.java | 5 +- .../events/EventLocalInsightUpdateGUI.kt | 2 +- openhumans/build.gradle | 3 +- .../general/openhumans/OpenHumansUploader.kt | 4 +- .../general/openhumans/OpenHumansWorker.kt | 5 +- plugins/build.gradle | 3 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 11 ++-- .../constraints/dstHelper/DstHelperPlugin.kt | 5 +- .../phoneChecker/PhoneCheckerPlugin.kt | 2 +- .../SignatureVerifierPlugin.kt | 4 +- .../storage/StorageConstraintPlugin.kt | 8 +-- .../versionChecker/VersionCheckerPlugin.kt | 15 +++-- .../general/autotune/AutotuneFragment.kt | 6 +- .../plugins/general/autotune/AutotuneIob.kt | 5 +- .../general/autotune/AutotunePlugin.kt | 8 +-- .../general/autotune/data/ATProfile.kt | 2 +- .../autotune/events/EventAutotuneUpdateGui.kt | 2 +- .../plugins/general/food/FoodFragment.kt | 10 ++-- .../plugins/general/food/FoodPlugin.kt | 6 +- .../general/smsCommunicator/AuthRequest.kt | 8 +-- .../SmsCommunicatorFragment.kt | 4 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 12 ++-- .../events/EventSmsCommunicatorUpdateGui.kt | 2 +- .../general/themes/ThemeSwitcherPlugin.kt | 6 +- .../general/wear/events/EventWearUpdateGui.kt | 2 +- .../xdripStatusline/StatusLinePlugin.kt | 24 ++++++-- .../plugins/insulin/InsulinLyumjevPlugin.kt | 4 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 14 +++-- .../insulin/InsulinOrefFreePeakPlugin.kt | 6 +- .../insulin/InsulinOrefRapidActingPlugin.kt | 4 +- .../InsulinOrefUltraRapidActingPlugin.kt | 4 +- .../plugins/profile/ProfileFragment.kt | 10 ++-- .../plugins/profile/ProfilePlugin.kt | 10 ++-- .../nightscout/plugins/ui/TimeListEdit.java | 2 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../BgQualityCheckPluginTest.kt | 2 +- .../SignatureVerifierPluginTest.kt | 2 +- .../storage/StorageConstraintPluginTest.kt | 4 +- .../general/autotune/AutotunePrepTest.kt | 2 +- .../insulin/InsulinLyumjevPluginTest.kt | 4 +- .../insulin/InsulinOrefBasePluginTest.kt | 4 +- .../insulin/InsulinOrefFreePeakPluginTest.kt | 2 +- .../InsulinOrefRapidActingPluginTest.kt | 4 +- .../InsulinOrefUltraRapidActingPluginTest.kt | 4 +- pump/combo/build.gradle | 3 +- .../plugins/pump/combo/ComboFragment.kt | 6 +- .../plugins/pump/combo/ComboPlugin.java | 10 ++-- .../combo/events/EventComboPumpUpdateGUI.kt | 2 +- .../combo/ruffyscripter/RuffyScripter.java | 4 +- .../ruffyscripter/commands/BolusCommand.java | 4 +- .../commands/CancelTbrCommand.java | 4 +- .../commands/ReadBasalProfileCommand.java | 4 +- .../commands/ReadHistoryCommand.java | 4 +- .../commands/ReadQuickInfoCommand.java | 4 +- .../commands/SetBasalProfileCommand.java | 4 +- .../ruffyscripter/commands/SetTbrCommand.java | 4 +- .../plugins/pump/combo/ComboPluginTest.kt | 3 +- .../androidaps/plugins/pump/combo/TestBase.kt | 4 +- pump/dana/build.gradle | 3 +- .../androidaps/dana/DanaFragment.kt | 26 ++++----- .../nightscout/androidaps/dana/DanaPump.kt | 4 +- .../dana/activities/DanaHistoryActivity.kt | 8 +-- .../activities/DanaUserOptionsActivity.kt | 6 +- .../dana/events/EventDanaRNewStatus.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- pump/danar/build.gradle | 3 +- .../danaRKorean/DanaRKoreanPlugin.kt | 21 ++++--- .../danaRKorean/comm/MsgCheckValue_k.kt | 3 +- .../comm/MsgInitConnStatusBasic_k.kt | 2 +- .../comm/MsgInitConnStatusBolus_k.kt | 2 +- .../comm/MsgInitConnStatusTime_k.kt | 4 +- .../comm/MsgSettingBasalProfileAll_k.kt | 4 +- .../danaRKorean/comm/MsgSettingBasal_k.kt | 4 +- .../danaRKorean/comm/MsgStatusBasic_k.kt | 3 +- .../danaRKorean/comm/MsgStatus_k.kt | 3 +- .../services/DanaRKoreanExecutionService.java | 16 ++--- .../androidaps/danaRv2/DanaRv2Plugin.java | 10 ++-- .../danaRv2/comm/MsgCheckValue_v2.kt | 4 +- .../danaRv2/comm/MsgHistoryEventsV2.kt | 4 +- .../comm/MsgSetAPSTempBasalStart_v2.kt | 3 +- .../danaRv2/comm/MsgSetHistoryEntry_v2.kt | 5 +- .../danaRv2/comm/MsgStatusAPS_v2.kt | 3 +- .../services/DanaRv2ExecutionService.java | 10 ++-- .../androidaps/danar/AbstractDanaRPlugin.java | 10 ++-- .../androidaps/danar/DanaRPlugin.java | 10 ++-- .../androidaps/danar/SerialIOThread.java | 4 +- .../androidaps/danar/comm/MessageBase.kt | 13 +++-- .../androidaps/danar/comm/MsgBolusProgress.kt | 2 +- .../androidaps/danar/comm/MsgBolusStart.kt | 3 +- .../danar/comm/MsgBolusStartWithSpeed.kt | 3 +- .../androidaps/danar/comm/MsgBolusStop.kt | 2 +- .../androidaps/danar/comm/MsgCheckValue.kt | 3 +- .../androidaps/danar/comm/MsgError.kt | 2 +- .../androidaps/danar/comm/MsgHistoryAlarm.kt | 3 +- .../androidaps/danar/comm/MsgHistoryAll.kt | 4 +- .../danar/comm/MsgHistoryAllDone.kt | 3 +- .../danar/comm/MsgHistoryBasalHour.kt | 3 +- .../androidaps/danar/comm/MsgHistoryBolus.kt | 3 +- .../androidaps/danar/comm/MsgHistoryCarbo.kt | 3 +- .../danar/comm/MsgHistoryDailyInsulin.kt | 3 +- .../androidaps/danar/comm/MsgHistoryDone.kt | 3 +- .../androidaps/danar/comm/MsgHistoryError.kt | 3 +- .../danar/comm/MsgHistoryGlucose.kt | 3 +- .../androidaps/danar/comm/MsgHistoryNew.kt | 3 +- .../danar/comm/MsgHistoryNewDone.kt | 3 +- .../androidaps/danar/comm/MsgHistoryRefill.kt | 3 +- .../danar/comm/MsgHistorySuspend.kt | 3 +- .../danar/comm/MsgInitConnStatusBasic.kt | 3 +- .../danar/comm/MsgInitConnStatusBolus.kt | 2 +- .../danar/comm/MsgInitConnStatusOption.kt | 2 +- .../danar/comm/MsgInitConnStatusTime.kt | 4 +- .../androidaps/danar/comm/MsgPCCommStart.kt | 3 +- .../androidaps/danar/comm/MsgPCCommStop.kt | 3 +- .../danar/comm/MsgSetActivateBasalProfile.kt | 3 +- .../danar/comm/MsgSetBasalProfile.kt | 2 +- .../androidaps/danar/comm/MsgSetCarbsEntry.kt | 4 +- .../danar/comm/MsgSetExtendedBolusStart.kt | 3 +- .../danar/comm/MsgSetExtendedBolusStop.kt | 3 +- .../danar/comm/MsgSetSingleBasalProfile.kt | 2 +- .../danar/comm/MsgSetTempBasalStart.kt | 3 +- .../danar/comm/MsgSetTempBasalStop.kt | 3 +- .../androidaps/danar/comm/MsgSetTime.kt | 3 +- .../danar/comm/MsgSetUserOptions.kt | 3 +- .../danar/comm/MsgSettingActiveProfile.kt | 3 +- .../androidaps/danar/comm/MsgSettingBasal.kt | 4 +- .../danar/comm/MsgSettingBasalProfileAll.kt | 4 +- .../danar/comm/MsgSettingGlucose.kt | 3 +- .../danar/comm/MsgSettingMaxValues.kt | 3 +- .../androidaps/danar/comm/MsgSettingMeal.kt | 2 +- .../danar/comm/MsgSettingProfileRatios.kt | 3 +- .../danar/comm/MsgSettingProfileRatiosAll.kt | 3 +- .../danar/comm/MsgSettingPumpTime.kt | 4 +- .../danar/comm/MsgSettingShippingInfo.kt | 3 +- .../danar/comm/MsgSettingUserOptions.kt | 3 +- .../androidaps/danar/comm/MsgStatus.kt | 3 +- .../androidaps/danar/comm/MsgStatusBasic.kt | 3 +- .../danar/comm/MsgStatusBolusExtended.kt | 2 +- .../androidaps/danar/comm/MsgStatusProfile.kt | 3 +- .../danar/comm/MsgStatusTempBasal.kt | 2 +- .../AbstractDanaRExecutionService.java | 12 ++-- .../danar/services/DanaRExecutionService.java | 14 ++--- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 8 +-- pump/danars/build.gradle | 3 +- .../androidaps/danars/DanaRSPlugin.kt | 34 +++++++---- .../danars/activities/EnterPinActivity.kt | 7 +-- .../androidaps/danars/comm/DanaRSPacket.kt | 2 +- .../DanaRSPacketAPSBasalSetTemporaryBasal.kt | 2 +- .../comm/DanaRSPacketAPSHistoryEvents.kt | 6 +- .../comm/DanaRSPacketAPSSetEventHistory.kt | 3 +- .../comm/DanaRSPacketBasalGetBasalRate.kt | 12 ++-- .../comm/DanaRSPacketBasalGetProfileNumber.kt | 2 +- ...anaRSPacketBasalSetCancelTemporaryBasal.kt | 3 +- .../DanaRSPacketBasalSetProfileBasalRate.kt | 2 +- .../comm/DanaRSPacketBasalSetProfileNumber.kt | 3 +- .../comm/DanaRSPacketBasalSetSuspendOff.kt | 2 +- .../comm/DanaRSPacketBasalSetSuspendOn.kt | 2 +- .../DanaRSPacketBasalSetTemporaryBasal.kt | 2 +- .../comm/DanaRSPacketBolusGet24CIRCFArray.kt | 3 +- .../comm/DanaRSPacketBolusGetBolusOption.kt | 10 ++-- .../comm/DanaRSPacketBolusGetCIRCFArray.kt | 2 +- ...aRSPacketBolusGetCalculationInformation.kt | 2 +- ...anaRSPacketBolusGetStepBolusInformation.kt | 3 +- .../comm/DanaRSPacketBolusSet24CIRCFArray.kt | 3 +- .../comm/DanaRSPacketBolusSetBolusOption.kt | 2 +- .../comm/DanaRSPacketBolusSetExtendedBolus.kt | 2 +- ...DanaRSPacketBolusSetExtendedBolusCancel.kt | 2 +- .../DanaRSPacketBolusSetStepBolusStart.kt | 6 +- .../comm/DanaRSPacketBolusSetStepBolusStop.kt | 8 +-- .../comm/DanaRSPacketEtcKeepConnection.kt | 2 +- .../comm/DanaRSPacketEtcSetHistorySave.kt | 2 +- .../comm/DanaRSPacketGeneralGetPumpCheck.kt | 10 ++-- ...naRSPacketGeneralGetShippingInformation.kt | 2 +- .../DanaRSPacketGeneralGetShippingVersion.kt | 2 +- ...anaRSPacketGeneralGetUserTimeChangeFlag.kt | 2 +- ...RSPacketGeneralInitialScreenInformation.kt | 2 +- ...DanaRSPacketGeneralSetHistoryUploadMode.kt | 2 +- ...PacketGeneralSetUserTimeChangeFlagClear.kt | 2 +- .../danars/comm/DanaRSPacketHistory.kt | 9 +-- .../danars/comm/DanaRSPacketHistoryAlarm.kt | 2 +- .../comm/DanaRSPacketHistoryAllHistory.kt | 2 +- .../danars/comm/DanaRSPacketHistoryBasal.kt | 2 +- .../comm/DanaRSPacketHistoryBloodGlucose.kt | 2 +- .../danars/comm/DanaRSPacketHistoryBolus.kt | 2 +- .../comm/DanaRSPacketHistoryCarbohydrate.kt | 2 +- .../danars/comm/DanaRSPacketHistoryDaily.kt | 2 +- .../danars/comm/DanaRSPacketHistoryPrime.kt | 2 +- .../danars/comm/DanaRSPacketHistoryRefill.kt | 2 +- .../danars/comm/DanaRSPacketHistorySuspend.kt | 2 +- .../comm/DanaRSPacketHistoryTemporary.kt | 2 +- .../danars/comm/DanaRSPacketNotifyAlarm.kt | 6 +- .../DanaRSPacketNotifyDeliveryComplete.kt | 8 +-- .../DanaRSPacketNotifyDeliveryRateDisplay.kt | 8 +-- .../DanaRSPacketNotifyMissedBolusAlarm.kt | 2 +- .../comm/DanaRSPacketOptionGetPumpTime.kt | 2 +- ...DanaRSPacketOptionGetPumpUTCAndTimeZone.kt | 2 +- .../comm/DanaRSPacketOptionGetUserOption.kt | 2 +- .../comm/DanaRSPacketOptionSetPumpTime.kt | 2 +- ...DanaRSPacketOptionSetPumpUTCAndTimeZone.kt | 2 +- .../comm/DanaRSPacketOptionSetUserOption.kt | 2 +- .../danars/comm/DanaRSPacketReviewBolusAvg.kt | 2 +- .../comm/DanaRSPacketReviewGetPumpDecRatio.kt | 2 +- .../danars/dialogs/PairingProgressDialog.java | 6 +- .../danars/events/EventDanaRSDeviceChange.kt | 2 +- .../events/EventDanaRSPairingSuccess.kt | 2 +- .../androidaps/danars/services/BLEComm.kt | 18 ++++-- .../danars/services/DanaRSService.kt | 58 ++++++++++++++++--- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- pump/diaconn/build.gradle | 3 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 14 ++--- .../androidaps/diaconn/DiaconnG8Plugin.kt | 35 +++++++---- .../androidaps/diaconn/DiaconnG8Pump.kt | 4 +- .../activities/DiaconnG8HistoryActivity.kt | 4 +- .../DiaconnG8UserOptionsActivity.kt | 3 +- .../diaconn/api/DiaconnLogUploader.kt | 5 +- .../events/EventDiaconnG8DeviceChange.kt | 2 +- .../diaconn/events/EventDiaconnG8NewStatus.kt | 2 +- .../events/EventDiaconnG8PumpLogReset.kt | 2 +- .../diaconn/packet/AppCancelSettingPacket.kt | 3 +- .../packet/AppCancelSettingResponsePacket.kt | 3 +- .../diaconn/packet/AppConfirmSettingPacket.kt | 3 +- .../packet/AppConfirmSettingResponsePacket.kt | 3 +- .../diaconn/packet/BasalLimitInquirePacket.kt | 3 +- .../packet/BasalLimitInquireResponsePacket.kt | 3 +- .../diaconn/packet/BasalPauseReportPacket.kt | 3 +- .../diaconn/packet/BasalPauseSettingPacket.kt | 3 +- .../packet/BasalPauseSettingResponsePacket.kt | 3 +- .../diaconn/packet/BasalSettingPacket.kt | 3 +- .../packet/BasalSettingReportPacket.kt | 3 +- .../packet/BasalSettingResponsePacket.kt | 3 +- .../packet/BatteryWarningReportPacket.kt | 3 +- .../packet/BigAPSMainInfoInquirePacket.kt | 3 +- .../BigAPSMainInfoInquireResponsePacket.kt | 2 +- .../diaconn/packet/BigLogInquirePacket.kt | 3 +- .../packet/BigLogInquireResponsePacket.kt | 5 +- .../packet/BigMainInfoInquirePacket.kt | 3 +- .../BigMainInfoInquireResponsePacket.kt | 4 +- .../diaconn/packet/BolusSpeedInquirePacket.kt | 3 +- .../packet/BolusSpeedInquireResponsePacket.kt | 3 +- .../diaconn/packet/BolusSpeedSettingPacket.kt | 3 +- .../packet/BolusSpeedSettingReportPacket.kt | 3 +- .../packet/BolusSpeedSettingResponsePacket.kt | 3 +- .../diaconn/packet/ConfirmReportPacket.kt | 3 +- .../diaconn/packet/DiaconnG8Packet.java | 4 +- .../packet/DisplayTimeInquirePacket.kt | 3 +- .../DisplayTimeInquireResponsePacket.kt | 3 +- .../packet/DisplayTimeoutSettingPacket.kt | 3 +- .../DisplayTimeoutSettingResponsePacket.kt | 3 +- .../packet/IncarnationInquirePacket.kt | 3 +- .../IncarnationInquireResponsePacket.kt | 2 +- .../packet/InjectionBasalReportPacket.kt | 3 +- .../packet/InjectionBasalSettingPacket.kt | 3 +- .../InjectionBasalSettingResponsePacket.kt | 3 +- .../packet/InjectionBlockReportPacket.kt | 3 +- .../packet/InjectionCancelSettingPacket.kt | 3 +- .../InjectionCancelSettingResponsePacket.kt | 3 +- ...njectionExtendedBolusResultReportPacket.kt | 4 +- .../InjectionExtendedBolusSettingPacket.kt | 3 +- ...ctionExtendedBolusSettingResponsePacket.kt | 3 +- .../packet/InjectionMealSettingPacket.kt | 3 +- .../InjectionMealSettingResponsePacket.kt | 3 +- .../packet/InjectionSnackInquirePacket.kt | 3 +- .../InjectionSnackInquireResponsePacket.kt | 3 +- .../InjectionSnackResultReportPacket.kt | 4 +- .../packet/InjectionSnackSettingPacket.kt | 3 +- .../InjectionSnackSettingResponsePacket.kt | 3 +- .../diaconn/packet/InsulinLackReportPacket.kt | 3 +- .../diaconn/packet/LanguageInquirePacket.kt | 3 +- .../packet/LanguageInquireResponsePacket.kt | 3 +- .../diaconn/packet/LanguageSettingPacket.kt | 3 +- .../packet/LanguageSettingResponsePacket.kt | 3 +- .../diaconn/packet/LogStatusInquirePacket.kt | 3 +- .../packet/LogStatusInquireResponsePacket.kt | 3 +- .../diaconn/packet/RejectReportPacket.kt | 3 +- .../diaconn/packet/SerialNumInquirePacket.kt | 3 +- .../packet/SerialNumInquireResponsePacket.kt | 3 +- .../diaconn/packet/SneckLimitInquirePacket.kt | 3 +- .../packet/SneckLimitInquireResponsePacket.kt | 3 +- .../diaconn/packet/SoundInquirePacket.kt | 3 +- .../packet/SoundInquireResponsePacket.kt | 3 +- .../diaconn/packet/SoundSettingPacket.kt | 3 +- .../packet/SoundSettingResponsePacket.kt | 3 +- .../diaconn/packet/TempBasalInquirePacket.kt | 3 +- .../packet/TempBasalInquireResponsePacket.kt | 3 +- .../diaconn/packet/TempBasalReportPacket.kt | 3 +- .../diaconn/packet/TempBasalSettingPacket.kt | 3 +- .../packet/TempBasalSettingResponsePacket.kt | 3 +- .../diaconn/packet/TimeInquirePacket.kt | 3 +- .../packet/TimeInquireResponsePacket.kt | 3 +- .../diaconn/packet/TimeReportPacket.kt | 3 +- .../diaconn/packet/TimeSettingPacket.kt | 3 +- .../packet/TimeSettingResponsePacket.kt | 3 +- .../diaconn/service/BLECommonService.kt | 6 +- .../diaconn/service/DiaconnG8Service.kt | 16 ++--- pump/eopatch/build.gradle | 3 +- .../plugins/pump/eopatch/EONotification.kt | 2 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 10 ++-- .../plugins/pump/eopatch/RxAction.kt | 4 +- .../pump/eopatch/alarm/AlarmManager.kt | 8 +-- .../pump/eopatch/alarm/AlarmProcess.kt | 43 +++++++++++--- .../pump/eopatch/alarm/AlarmRegistry.kt | 6 +- .../pump/eopatch/ble/PatchManager.java | 10 ++-- .../pump/eopatch/ble/PatchManagerImpl.java | 6 +- .../pump/eopatch/ble/PatchStateManager.java | 8 +-- .../pump/eopatch/ble/PreferenceManager.kt | 16 +++-- .../pump/eopatch/ble/task/ActivateTask.java | 7 +-- .../pump/eopatch/ble/task/DeactivateTask.java | 4 +- .../pump/eopatch/ble/task/FetchAlarmTask.java | 9 ++- .../eopatch/ble/task/GetPatchInfoTask.java | 13 ++--- .../eopatch/ble/task/InfoReminderTask.java | 9 ++- .../ble/task/InternalSuspendedTask.java | 11 ++-- .../eopatch/ble/task/NeedleSensingTask.java | 2 +- .../pump/eopatch/ble/task/PauseBasalTask.java | 8 +-- .../pump/eopatch/ble/task/PrimingTask.java | 2 +- .../ble/task/ReadBolusFinishTimeTask.java | 4 +- .../ble/task/ReadTempBasalFinishTimeTask.java | 2 +- .../eopatch/ble/task/ResumeBasalTask.java | 16 ++--- .../pump/eopatch/ble/task/SelfTestTask.java | 17 +++--- .../eopatch/ble/task/SetGlobalTimeTask.java | 11 ++-- .../eopatch/ble/task/SetLowReservoirTask.java | 9 ++- .../pump/eopatch/ble/task/StartBondTask.java | 9 ++- .../eopatch/ble/task/StartCalcBolusTask.java | 8 +-- .../ble/task/StartNormalBasalTask.java | 4 +- .../eopatch/ble/task/StartQuickBolusTask.java | 12 ++-- .../eopatch/ble/task/StartTempBasalTask.java | 4 +- .../pump/eopatch/ble/task/StopBasalTask.java | 17 +++--- .../eopatch/ble/task/StopComboBolusTask.java | 13 ++--- .../eopatch/ble/task/StopExtBolusTask.java | 9 ++- .../eopatch/ble/task/StopNowBolusTask.java | 4 +- .../eopatch/ble/task/StopTempBasalTask.java | 7 +-- .../pump/eopatch/ble/task/TaskBase.java | 17 +++--- .../pump/eopatch/ble/task/TaskQueue.java | 6 +- .../ble/task/UpdateConnectionTask.java | 7 +-- .../pump/eopatch/event/EoPatchEvents.kt | 2 +- .../eopatch/extension/ObservableExtension.kt | 5 +- .../pump/eopatch/extension/SingleExtension.kt | 5 +- .../pump/eopatch/ui/AlarmHelperActivity.kt | 4 +- .../plugins/pump/eopatch/ui/EoBaseActivity.kt | 2 +- .../eopatch/ui/EopatchOverviewFragment.kt | 10 ++-- .../ui/dialogs/ActivationNotCompleteDialog.kt | 10 +++- .../pump/eopatch/ui/dialogs/AlarmDialog.kt | 6 +- .../pump/eopatch/ui/dialogs/CommonDialog.kt | 3 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 12 ++-- .../eopatch/ui/viewmodel/EopatchViewModel.kt | 24 ++++++-- pump/medtronic/build.gradle | 3 +- .../pump/medtronic/MedtronicFragment.kt | 12 ++-- .../pump/medtronic/MedtronicPumpPlugin.kt | 31 +++++++--- .../comm/MedtronicCommunicationManager.kt | 14 ++++- .../pump/medtronic/comm/MedtronicConverter.kt | 6 +- .../comm/history/MedtronicHistoryDecoder.kt | 4 +- .../medtronic/comm/history/RawHistoryPage.kt | 7 ++- .../cgms/MedtronicCGMSHistoryDecoder.kt | 6 +- .../pump/MedtronicPumpHistoryDecoder.kt | 6 +- .../comm/history/pump/PumpHistoryResult.kt | 7 +-- .../medtronic/comm/message/PumpMessage.kt | 4 +- .../pump/medtronic/comm/ui/MedtronicUIComm.kt | 4 +- .../comm/ui/MedtronicUIPostprocessor.kt | 11 ++-- .../pump/medtronic/comm/ui/MedtronicUITask.kt | 8 +-- .../medtronic/data/MedtronicHistoryData.kt | 21 ++++--- .../pump/medtronic/data/dto/BasalProfile.kt | 6 +- .../medtronic/data/dto/BasalProfileEntry.kt | 6 +- .../pump/medtronic/data/dto/TempBasalPair.kt | 6 +- .../medtronic/data/dto/TempBasalProcessDTO.kt | 2 +- .../medtronic/driver/MedtronicPumpStatus.kt | 7 ++- .../EventMedtronicPumpConfigurationChanged.kt | 2 +- .../events/EventMedtronicPumpValuesChanged.kt | 2 +- .../service/RileyLinkMedtronicService.kt | 3 +- .../pump/medtronic/util/MedtronicUtil.kt | 10 ++-- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../comm/MedtronicHistoryDataUTest.kt | 2 +- pump/omnipod-common/build.gradle | 3 +- .../action/InitializePodViewModel.kt | 4 +- .../action/InsertCannulaViewModel.kt | 4 +- .../PodActivationActionViewModelBase.kt | 4 +- .../common/viewmodel/ActionViewModelBase.kt | 7 ++- .../action/DeactivatePodViewModel.kt | 4 +- pump/omnipod-dash/build.gradle | 3 +- .../dash/EventOmnipodDashPumpValuesChanged.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 14 ++--- .../dash/di/OmnipodDashHistoryModule.kt | 2 +- .../dash/driver/OmnipodDashManagerImpl.kt | 40 ++++++++++--- .../driver/comm/OmnipodDashBleManagerImpl.kt | 37 +++++++++--- .../dash/driver/comm/ServiceDiscoverer.kt | 6 +- .../driver/comm/callbacks/BleCommCallbacks.kt | 6 +- .../dash/driver/comm/endecrypt/EnDecrypt.kt | 5 +- .../pump/omnipod/dash/driver/comm/io/BleIO.kt | 6 +- .../omnipod/dash/driver/comm/io/CmdBleIO.kt | 2 +- .../omnipod/dash/driver/comm/io/DataBleIO.kt | 2 +- .../dash/driver/comm/message/MessageIO.kt | 22 +++++-- .../dash/driver/comm/pair/KeyExchange.kt | 9 +-- .../dash/driver/comm/pair/LTKExchanger.kt | 9 ++- .../dash/driver/comm/scan/PodScanner.kt | 6 +- .../dash/driver/comm/scan/ScanCollector.kt | 6 +- .../dash/driver/comm/session/Connection.kt | 14 ++--- .../dash/driver/comm/session/EapMessage.kt | 5 +- .../dash/driver/comm/session/Milenage.kt | 9 +-- .../dash/driver/comm/session/Session.kt | 11 +++- .../driver/comm/session/SessionEstablisher.kt | 18 +++--- .../state/OmnipodDashPodStateManagerImpl.kt | 18 ++++-- .../pump/omnipod/dash/history/DashHistory.kt | 18 ++++-- .../omnipod/dash/ui/DashPodHistoryActivity.kt | 14 +++-- .../dash/ui/DashPodManagementActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 4 +- .../action/DashInitializePodViewModel.kt | 7 ++- .../action/DashInsertCannulaViewModel.kt | 8 +-- .../action/DashDeactivatePodViewModel.kt | 6 +- pump/omnipod-eros/build.gradle | 3 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 17 +++--- .../action/AssignAddressAction.java | 2 +- .../communication/action/SetupPodAction.java | 2 +- .../communication/message/OmnipodMessage.java | 4 +- .../driver/manager/ErosPodStateManager.java | 4 +- .../eros/driver/manager/OmnipodManager.java | 6 +- .../EventOmnipodErosActiveAlertsChanged.kt | 2 +- .../EventOmnipodErosFaultEventChanged.kt | 2 +- .../EventOmnipodErosPumpValuesChanged.kt | 2 +- .../eros/event/EventOmnipodErosTbrChanged.kt | 2 +- .../EventOmnipodErosUncertainTbrRecovered.kt | 2 +- .../eros/manager/AapsErosPodStateManager.java | 4 +- .../eros/manager/AapsOmnipodErosManager.java | 12 ++-- .../OmnipodRileyLinkCommunicationManager.java | 2 +- .../service/RileyLinkOmnipodService.java | 2 +- .../eros/ui/ErosPodHistoryActivity.java | 10 ++-- .../eros/ui/ErosPodManagementActivity.kt | 2 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 4 +- .../action/ErosInitializePodViewModel.kt | 4 +- .../action/ErosInsertCannulaViewModel.kt | 4 +- .../action/ErosDeactivatePodViewModel.kt | 4 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../manager/AapsErosPodStateManagerTest.kt | 2 +- pump/pump-common/build.gradle | 4 +- .../plugins/pump/common/PumpPluginAbstract.kt | 26 ++++++--- .../pump/common/ble/BondStateReceiver.kt | 6 +- .../pump/common/di/PumpCommonModule.kt | 2 +- .../driver/ble/PumpBLESelectorAbstract.kt | 8 +-- .../pump/common/events/EventBondChanged.kt | 2 +- .../pump/common/events/EventPumpChanged.kt | 2 +- .../EventPumpConnectionParametersChanged.kt | 2 +- .../events/EventPumpFragmentValuesChanged.kt | 2 +- .../common/events/EventRefreshButtonState.kt | 2 +- .../pump/common/sync/PumpSyncStorage.kt | 5 +- .../pump/common/ui/PumpBLEConfigActivity.kt | 8 +-- .../pump/common/ui/PumpHistoryActivity.kt | 6 +- pump/rileylink/build.gradle | 3 +- .../dialog/RileyLinkBLEConfigActivity.kt | 6 +- .../RileyLinkCommunicationManager.java | 4 +- .../common/hw/rileylink/RileyLinkUtil.java | 2 +- .../pump/common/hw/rileylink/ble/RFSpy.java | 10 ++-- .../common/hw/rileylink/ble/RFSpyReader.kt | 6 +- .../common/hw/rileylink/ble/RileyLinkBLE.kt | 17 ++++-- .../hw/rileylink/ble/data/RadioResponse.java | 4 +- .../data/encoding/Encoding4b6bAbstract.java | 2 +- .../ble/data/encoding/Encoding4b6bGeoff.java | 2 +- .../hw/rileylink/ble/device/OrangeLinkImpl.kt | 6 +- .../CharacteristicReadOperation.java | 4 +- .../CharacteristicWriteOperation.java | 4 +- .../operations/DescriptorWriteOperation.java | 4 +- .../dialog/RileyLinkStatusGeneralFragment.kt | 4 +- .../RileyLinkBluetoothStateReceiver.kt | 2 +- .../service/RileyLinkBroadcastReceiver.kt | 5 +- .../hw/rileylink/service/RileyLinkService.kt | 8 +-- .../rileylink/service/RileyLinkServiceData.kt | 8 +-- .../service/tasks/DiscoverGattServicesTask.kt | 2 +- .../tasks/InitializePumpManagerTask.kt | 5 +- .../tasks/ResetRileyLinkConfigurationTask.kt | 2 +- .../service/tasks/ServiceTaskExecutor.kt | 5 +- .../service/tasks/WakeAndTuneTask.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- settings.gradle | 4 +- shared/src/main/AndroidManifest.xml | 4 -- .../androidaps/events/EventMobileToWear.kt | 5 -- .../androidaps/events/EventWearToMobile.kt | 5 -- ui/build.gradle | 3 +- .../nightscout/ui/activities/StatsActivity.kt | 2 +- .../ui/activities/SurveyActivity.kt | 3 +- .../ui/activities/TDDStatsActivity.kt | 4 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 12 ++-- .../fragments/TreatmentsCareportalFragment.kt | 13 +++-- .../TreatmentsExtendedBolusesFragment.kt | 11 ++-- .../TreatmentsProfileSwitchFragment.kt | 15 ++--- .../fragments/TreatmentsTempTargetFragment.kt | 30 ++++++---- .../TreatmentsTemporaryBasalsFragment.kt | 11 ++-- .../fragments/TreatmentsUserEntryFragment.kt | 4 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 3 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 3 +- .../nightscout/ui/utils/ActivityMonitor.kt | 5 +- .../java/info/nightscout/ui/widget/Widget.kt | 5 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- wear/build.gradle | 4 +- .../java/info/nightscout/androidaps/Aaps.kt | 6 +- .../androidaps/comm/DataHandlerWear.kt | 12 ++-- .../comm/DataLayerListenerServiceWear.kt | 13 +++-- .../androidaps/comm/ExceptionHandlerWear.kt | 6 +- .../androidaps/comm/IntentWearToMobile.kt | 2 +- .../BaseComplicationProviderService.kt | 11 ++-- .../complications/BrCobIobComplication.kt | 3 +- .../complications/CobDetailedComplication.kt | 3 +- .../complications/CobIconComplication.kt | 3 +- .../complications/CobIobComplication.kt | 3 +- .../ComplicationTapBroadcastReceiver.kt | 5 +- .../complications/IobDetailedComplication.kt | 3 +- .../complications/IobIconComplication.kt | 3 +- .../complications/LongStatusComplication.kt | 3 +- .../LongStatusFlippedComplication.kt | 3 +- .../complications/SgvComplication.kt | 3 +- .../UploaderBatteryComplication.kt | 3 +- .../complications/WallpaperComplication.kt | 3 +- .../androidaps/data/RawDisplayData.kt | 2 +- .../nightscout/androidaps/di/WearModule.kt | 38 ++++-------- .../events/EventWearPreferenceChange.kt | 1 + .../interaction/ConfigurationActivity.kt | 5 +- .../interaction/TileConfigurationActivity.kt | 5 +- .../actions/BackgroundActionActivity.kt | 11 ++-- .../interaction/actions/BolusActivity.kt | 4 +- .../interaction/actions/CarbActivity.kt | 4 +- .../interaction/actions/ECarbActivity.kt | 4 +- .../interaction/actions/FillActivity.kt | 4 +- .../actions/ProfileSwitchActivity.kt | 4 +- .../actions/QuickSnoozeActivity.kt | 6 +- .../interaction/actions/TempTargetActivity.kt | 4 +- .../interaction/actions/TreatmentActivity.kt | 4 +- .../actions/ViewSelectorActivity.kt | 2 +- .../interaction/actions/WizardActivity.kt | 4 +- .../interaction/menus/FillMenuActivity.kt | 4 +- .../interaction/menus/MainMenuActivity.kt | 6 +- .../interaction/menus/StatusMenuActivity.kt | 8 +-- .../interaction/utils/Inevitable.kt | 5 +- .../interaction/utils/MenuListActivity.kt | 2 +- .../interaction/utils/Persistence.kt | 13 +++-- .../androidaps/interaction/utils/WearUtil.kt | 5 +- .../nightscout/androidaps/tile/TileBase.kt | 4 +- .../androidaps/tile/source/ActionSource.kt | 2 +- .../tile/source/QuickWizardSource.kt | 7 ++- .../tile/source/StaticTileSource.kt | 4 +- .../tile/source/TempTargetSource.kt | 4 +- .../androidaps/watchfaces/CircleWatchface.kt | 17 +++--- .../watchfaces/DigitalStyleWatchface.kt | 3 +- .../watchfaces/utils/BaseWatchFace.kt | 15 ++--- .../watchfaces/utils/BgGraphBuilder.kt | 6 +- .../testing/mockers/RawDataMocker.kt | 4 +- 983 files changed, 3228 insertions(+), 2264 deletions(-) rename {shared => app-wear-shared/rx}/.gitignore (100%) create mode 100644 app-wear-shared/rx/build.gradle rename {shared => app-wear-shared/rx}/consumer-rules.pro (100%) rename {shared => app-wear-shared/rx}/proguard-rules.pro (100%) create mode 100644 app-wear-shared/rx/src/debug/java/info/nightscout/rx/annotations/RxOpenForTesting.kt create mode 100644 app-wear-shared/rx/src/main/AndroidManifest.xml rename {shared/src/main/java/info/nightscout/androidaps/utils => app-wear-shared/rx/src/main/java/info/nightscout}/rx/AapsSchedulers.kt (95%) rename {shared/src/main/java/info/nightscout/androidaps/plugins => app-wear-shared/rx/src/main/java/info/nightscout/rx}/bus/RxBus.kt (63%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/di/RxModule.kt rename {shared/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/Event.kt (91%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAcceptOpenLoopChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppExit.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppInitialized.kt rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventAutosensCalculationFinished.kt (56%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventBTChange.kt (81%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventChargingState.kt (52%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventConfigBuilderChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomActionsChanged.kt rename {app/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventCustomCalculationFinished.kt (52%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventDanaRSyncStatus.kt (58%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventExtendedBolusChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventFoodDatabaseChanged.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventInitializationChanged.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLocalProfileChanged.kt rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventLoop.kt (54%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventMobileToWear.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNSClientRestart.kt rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventNetworkChange.kt (81%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventNtpStatus.kt (62%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOfflineChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileStoreChanged.kt rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventProfileSwitchChanged.kt (50%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventRebuildTabs.kt (54%) rename {core/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventRefreshOverview.kt (52%) rename {app/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventScale.kt (50%) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempBasalChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempTargetChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventThemeSwitch.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTherapyEventChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTreatmentChange.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventUpdateGui.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventWearToMobile.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/L.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/LogElement.kt rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/logging/AAPSLogger.kt (97%) rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/logging/AAPSLoggerProduction.kt (98%) rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/logging/AAPSLoggerTest.kt (98%) rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/logging/BundleLogger.kt (90%) rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/logging/LTag.kt (95%) rename {shared/src/main/java/info/nightscout/shared => app-wear-shared/rx/src/main/java/info/nightscout/rx}/weardata/EventData.kt (98%) create mode 100644 app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt create mode 100644 app-wear-shared/shared-impl/.gitignore create mode 100644 app-wear-shared/shared-impl/build.gradle create mode 100644 app-wear-shared/shared-impl/consumer-rules.pro create mode 100644 app-wear-shared/shared-impl/proguard-rules.pro create mode 100644 app-wear-shared/shared-impl/src/main/AndroidManifest.xml create mode 100644 app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt rename shared/src/main/java/info/nightscout/shared/logging/L.kt => app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt (63%) create mode 100644 app-wear-shared/shared/.gitignore rename {shared => app-wear-shared/shared}/build.gradle (100%) create mode 100644 app-wear-shared/shared/consumer-rules.pro create mode 100644 app-wear-shared/shared/proguard-rules.pro rename {shared => app-wear-shared/shared}/src/debug/java/info/nightscout/androidaps/annotations/OpenForTesting.kt (100%) create mode 100644 app-wear-shared/shared/src/main/AndroidManifest.xml rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt (81%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt (99%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/androidaps/utils/T.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/shared/SafeParse.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/shared/di/SharedModule.kt (64%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/shared/sharedPreferences/SP.kt (100%) rename {shared => app-wear-shared/shared}/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-af-rZA/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-bg-rBG/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-ca-rES/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-cs-rCZ/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-da-rDK/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-de-rDE/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-el-rGR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-es-rES/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-fr-rFR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-ga-rIE/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-hr-rHR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-hu-rHU/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-it-rIT/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-iw-rIL/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-ko-rKR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-lt-rLT/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-nl-rNL/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-no-rNO/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-pl-rPL/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-pt-rBR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-pt-rPT/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-ro-rRO/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-ru-rRU/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-sk-rSK/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-sr-rCS/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-sv-rSE/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-sw600dp/layout.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-tr-rTR/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values-zh-rCN/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values/layout.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values/strings.xml (100%) rename {shared => app-wear-shared/shared}/src/main/res/values/wear_paths.xml (100%) rename {shared => app-wear-shared/shared}/src/release/java/info/nightscout/androidaps/annotations/OpenForTesting.kt (100%) rename {shared => app-wear-shared/shared}/src/test/java/info/nightscout/androidaps/utils/rx/RxSchedulerRule.kt (100%) rename {shared => app-wear-shared/shared}/src/test/java/info/nightscout/shared/SafeParseTest.kt (100%) delete mode 100644 app/src/main/java/info/nightscout/androidaps/events/EventAcceptOpenLoopChange.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/events/EventProfileStoreChanged.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/events/EventTempTargetChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventAppExit.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventAppInitialized.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventConfigBuilderChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventCustomActionsChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventExtendedBolusChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventFoodDatabaseChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventInitializationChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventLocalProfileChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventNSClientRestart.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventOfflineChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventProfileStoreChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventTempBasalChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventTempTargetChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventThemeSwitch.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventTherapyEventChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventTreatmentChange.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/events/EventUpdateGui.kt create mode 100644 core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt delete mode 100644 shared/src/main/AndroidManifest.xml delete mode 100644 shared/src/main/java/info/nightscout/androidaps/events/EventMobileToWear.kt delete mode 100644 shared/src/main/java/info/nightscout/androidaps/events/EventWearToMobile.kt diff --git a/shared/.gitignore b/app-wear-shared/rx/.gitignore similarity index 100% rename from shared/.gitignore rename to app-wear-shared/rx/.gitignore diff --git a/app-wear-shared/rx/build.gradle b/app-wear-shared/rx/build.gradle new file mode 100644 index 0000000000..0a7785a55e --- /dev/null +++ b/app-wear-shared/rx/build.gradle @@ -0,0 +1,35 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-allopen' +apply plugin: 'com.hiya.jacoco-android' +apply plugin: 'kotlinx-serialization' + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/jacoco_global.gradle" + +android { + + namespace 'info.nightscout.rx' + defaultConfig { + minSdkVersion 23 // for wear + } +} +dependencies { + api "com.google.dagger:dagger:$dagger_version" + api "com.google.dagger:dagger-android:$dagger_version" + + //Logger + api 'org.slf4j:slf4j-api:1.7.36' // 2.0.x breaks logging. Code change needed + api 'com.github.tony19:logback-android:2.0.0' + + //RxBus + api "io.reactivex.rxjava3:rxjava:$rxjava_version" + api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" + api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" + + api "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" + api "org.apache.commons:commons-lang3:$commonslang3_version" +} diff --git a/shared/consumer-rules.pro b/app-wear-shared/rx/consumer-rules.pro similarity index 100% rename from shared/consumer-rules.pro rename to app-wear-shared/rx/consumer-rules.pro diff --git a/shared/proguard-rules.pro b/app-wear-shared/rx/proguard-rules.pro similarity index 100% rename from shared/proguard-rules.pro rename to app-wear-shared/rx/proguard-rules.pro diff --git a/app-wear-shared/rx/src/debug/java/info/nightscout/rx/annotations/RxOpenForTesting.kt b/app-wear-shared/rx/src/debug/java/info/nightscout/rx/annotations/RxOpenForTesting.kt new file mode 100644 index 0000000000..dd515ed180 --- /dev/null +++ b/app-wear-shared/rx/src/debug/java/info/nightscout/rx/annotations/RxOpenForTesting.kt @@ -0,0 +1,15 @@ +package info.nightscout.rx.annotations + +/** + * This is the actual annotation that makes the class open. Don't use it directly, only through [RxOpenForTesting] + * which has a NOOP replacement in production. + */ +@Target(AnnotationTarget.ANNOTATION_CLASS) +annotation class RxOpenClass + +/** + * Annotate a class with [RxOpenForTesting] if it should be extendable for testing. + */ +@RxOpenClass +@Target(AnnotationTarget.CLASS) +annotation class RxOpenForTesting \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/AndroidManifest.xml b/app-wear-shared/rx/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/app-wear-shared/rx/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/androidaps/utils/rx/AapsSchedulers.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/AapsSchedulers.kt similarity index 95% rename from shared/src/main/java/info/nightscout/androidaps/utils/rx/AapsSchedulers.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/AapsSchedulers.kt index 5acdfb2220..4377909f3d 100644 --- a/shared/src/main/java/info/nightscout/androidaps/utils/rx/AapsSchedulers.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/AapsSchedulers.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.rx +package info.nightscout.rx import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Scheduler diff --git a/shared/src/main/java/info/nightscout/androidaps/plugins/bus/RxBus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/bus/RxBus.kt similarity index 63% rename from shared/src/main/java/info/nightscout/androidaps/plugins/bus/RxBus.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/bus/RxBus.kt index d1c5cb573d..8c352794be 100644 --- a/shared/src/main/java/info/nightscout/androidaps/plugins/bus/RxBus.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/bus/RxBus.kt @@ -1,16 +1,16 @@ -package info.nightscout.androidaps.plugins.bus +package info.nightscout.rx.bus -import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.events.Event -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.annotations.RxOpenForTesting +import info.nightscout.rx.events.Event +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.subjects.PublishSubject import javax.inject.Inject import javax.inject.Singleton -@OpenForTesting +@RxOpenForTesting @Singleton class RxBus @Inject constructor( val aapsSchedulers: AapsSchedulers, @@ -26,7 +26,7 @@ class RxBus @Inject constructor( // Listen should return an Observable and not the publisher // Using ofType we filter only events that match that class type - fun toObservable(eventType: Class): Observable = + fun toObservable(eventType: Class): Observable = publisher .subscribeOn(aapsSchedulers.io) .ofType(eventType) diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/di/RxModule.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/di/RxModule.kt new file mode 100644 index 0000000000..0e584cf5e7 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/di/RxModule.kt @@ -0,0 +1,25 @@ +package info.nightscout.rx.di + +import dagger.Module +import dagger.Provides +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.DefaultAapsSchedulers +import info.nightscout.rx.interfaces.L +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLoggerProduction +import javax.inject.Singleton + +@Module( + includes = [ + ] +) +open class RxModule { + + @Provides + @Singleton + internal fun provideSchedulers(): AapsSchedulers = DefaultAapsSchedulers() + + @Provides + @Singleton + fun provideAAPSLogger(l: L): AAPSLogger = AAPSLoggerProduction(l) +} \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/androidaps/events/Event.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/Event.kt similarity index 91% rename from shared/src/main/java/info/nightscout/androidaps/events/Event.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/Event.kt index 5c06afcc15..189c816f33 100644 --- a/shared/src/main/java/info/nightscout/androidaps/events/Event.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/Event.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events import org.apache.commons.lang3.builder.ReflectionToStringBuilder import org.apache.commons.lang3.builder.ToStringStyle diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAcceptOpenLoopChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAcceptOpenLoopChange.kt new file mode 100644 index 0000000000..4ce0b81178 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAcceptOpenLoopChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventAcceptOpenLoopChange : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppExit.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppExit.kt new file mode 100644 index 0000000000..1f59fe2547 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppExit.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventAppExit : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppInitialized.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppInitialized.kt new file mode 100644 index 0000000000..60adbf2676 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAppInitialized.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventAppInitialized : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventAutosensCalculationFinished.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAutosensCalculationFinished.kt similarity index 56% rename from core/src/main/java/info/nightscout/androidaps/events/EventAutosensCalculationFinished.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAutosensCalculationFinished.kt index d6bcb8bde9..531ab29910 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventAutosensCalculationFinished.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventAutosensCalculationFinished.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events -class EventAutosensCalculationFinished(val cause: Event?) : EventLoop() +class EventAutosensCalculationFinished(val cause: Event?) : EventLoop() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventBTChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBTChange.kt similarity index 81% rename from core/src/main/java/info/nightscout/androidaps/events/EventBTChange.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBTChange.kt index 9285fa5750..3e30f4695f 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventBTChange.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBTChange.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventBTChange(val state: Change, val deviceName: String?, val deviceAddress: String? = null) : Event() { diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventChargingState.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventChargingState.kt similarity index 52% rename from core/src/main/java/info/nightscout/androidaps/events/EventChargingState.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventChargingState.kt index 71c36ca387..81606ec944 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventChargingState.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventChargingState.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events -class EventChargingState(val isCharging: Boolean, val batterLevel: Int) : Event() +class EventChargingState(val isCharging: Boolean, val batterLevel: Int) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventConfigBuilderChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventConfigBuilderChange.kt new file mode 100644 index 0000000000..c898c5c7da --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventConfigBuilderChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventConfigBuilderChange : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomActionsChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomActionsChanged.kt new file mode 100644 index 0000000000..a6b2ff8203 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomActionsChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventCustomActionsChanged : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventCustomCalculationFinished.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomCalculationFinished.kt similarity index 52% rename from app/src/main/java/info/nightscout/androidaps/events/EventCustomCalculationFinished.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomCalculationFinished.kt index f6092b395d..32888aa35c 100644 --- a/app/src/main/java/info/nightscout/androidaps/events/EventCustomCalculationFinished.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventCustomCalculationFinished.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventCustomCalculationFinished : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventDanaRSyncStatus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventDanaRSyncStatus.kt similarity index 58% rename from core/src/main/java/info/nightscout/androidaps/events/EventDanaRSyncStatus.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventDanaRSyncStatus.kt index d30180eeb1..a79f0b57d0 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventDanaRSyncStatus.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventDanaRSyncStatus.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventDanaRSyncStatus(var message: String) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventExtendedBolusChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventExtendedBolusChange.kt new file mode 100644 index 0000000000..73e2811363 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventExtendedBolusChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventExtendedBolusChange : EventLoop() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventFoodDatabaseChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventFoodDatabaseChanged.kt new file mode 100644 index 0000000000..845df25de7 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventFoodDatabaseChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventFoodDatabaseChanged : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventInitializationChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventInitializationChanged.kt new file mode 100644 index 0000000000..a91c183006 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventInitializationChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventInitializationChanged : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLocalProfileChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLocalProfileChanged.kt new file mode 100644 index 0000000000..562cfc8dfc --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLocalProfileChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventLocalProfileChanged : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventLoop.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLoop.kt similarity index 54% rename from core/src/main/java/info/nightscout/androidaps/events/EventLoop.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLoop.kt index dd28e2323b..51319dc756 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventLoop.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventLoop.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events /** Supeclass for all events concerned with input or output into or from the LoopPlugin. */ -abstract class EventLoop : Event() +abstract class EventLoop : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventMobileToWear.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventMobileToWear.kt new file mode 100644 index 0000000000..681c243be7 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventMobileToWear.kt @@ -0,0 +1,5 @@ +package info.nightscout.rx.events + +import info.nightscout.rx.weardata.EventData + +class EventMobileToWear(val payload: EventData) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNSClientRestart.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNSClientRestart.kt new file mode 100644 index 0000000000..d4e7fd4d6b --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNSClientRestart.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventNSClientRestart : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventNetworkChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNetworkChange.kt similarity index 81% rename from core/src/main/java/info/nightscout/androidaps/events/EventNetworkChange.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNetworkChange.kt index 0f19800f22..d93ec73de9 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventNetworkChange.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNetworkChange.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventNetworkChange( var mobileConnected: Boolean = false, @@ -7,4 +7,4 @@ class EventNetworkChange( var ssid: String = "", var roaming: Boolean = false, var metered: Boolean = false -) : Event() +) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventNtpStatus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNtpStatus.kt similarity index 62% rename from core/src/main/java/info/nightscout/androidaps/events/EventNtpStatus.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNtpStatus.kt index 46b90b33f4..cd8f79efe5 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventNtpStatus.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventNtpStatus.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventNtpStatus(val status: String, val percent: Int) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOfflineChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOfflineChange.kt new file mode 100644 index 0000000000..be2abcd52a --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOfflineChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventOfflineChange : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileStoreChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileStoreChanged.kt new file mode 100644 index 0000000000..00ba8ab6a8 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileStoreChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventProfileStoreChanged : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileSwitchChanged.kt similarity index 50% rename from core/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChanged.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileSwitchChanged.kt index da6bd7b1cc..4ccb7540b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChanged.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventProfileSwitchChanged.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventProfileSwitchChanged : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventRebuildTabs.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRebuildTabs.kt similarity index 54% rename from core/src/main/java/info/nightscout/androidaps/events/EventRebuildTabs.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRebuildTabs.kt index 3d4180f29f..a1e9ababd0 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventRebuildTabs.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRebuildTabs.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events -class EventRebuildTabs constructor(var recreate: Boolean = false) : Event() +class EventRebuildTabs constructor(var recreate: Boolean = false) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventRefreshOverview.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshOverview.kt similarity index 52% rename from core/src/main/java/info/nightscout/androidaps/events/EventRefreshOverview.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshOverview.kt index 25b22d4e81..4c0f4222e8 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventRefreshOverview.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshOverview.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events -class EventRefreshOverview(var from: String, val now : Boolean = false) : Event() +class EventRefreshOverview(var from: String, val now : Boolean = false) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventScale.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventScale.kt similarity index 50% rename from app/src/main/java/info/nightscout/androidaps/events/EventScale.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventScale.kt index 830782c3d1..225243e7c8 100644 --- a/app/src/main/java/info/nightscout/androidaps/events/EventScale.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventScale.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events class EventScale(val hours: Int) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempBasalChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempBasalChange.kt new file mode 100644 index 0000000000..d6871ddc97 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempBasalChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventTempBasalChange : EventLoop() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempTargetChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempTargetChange.kt new file mode 100644 index 0000000000..fd1409591a --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTempTargetChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventTempTargetChange : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventThemeSwitch.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventThemeSwitch.kt new file mode 100644 index 0000000000..46ac76983c --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventThemeSwitch.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventThemeSwitch : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTherapyEventChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTherapyEventChange.kt new file mode 100644 index 0000000000..e0b00c5d0f --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTherapyEventChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventTherapyEventChange : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTreatmentChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTreatmentChange.kt new file mode 100644 index 0000000000..01ac125d0b --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventTreatmentChange.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventTreatmentChange : EventLoop() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventUpdateGui.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventUpdateGui.kt new file mode 100644 index 0000000000..026a3e701f --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventUpdateGui.kt @@ -0,0 +1,4 @@ +package info.nightscout.rx.events + +/** Base class for events to update the UI, mostly a specific tab. */ +abstract class EventUpdateGui : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventWearToMobile.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventWearToMobile.kt new file mode 100644 index 0000000000..c0d430ea51 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventWearToMobile.kt @@ -0,0 +1,5 @@ +package info.nightscout.rx.events + +import info.nightscout.rx.weardata.EventData + +class EventWearToMobile(val payload: EventData) : Event() \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/L.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/L.kt new file mode 100644 index 0000000000..02b264741e --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/L.kt @@ -0,0 +1,7 @@ +package info.nightscout.rx.interfaces + +interface L { + fun resetToDefaults() + fun findByName(name: String): LogElement + fun getLogElements(): List +} \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/LogElement.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/LogElement.kt new file mode 100644 index 0000000000..9d4699fbc4 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/interfaces/LogElement.kt @@ -0,0 +1,11 @@ +package info.nightscout.rx.interfaces + +interface LogElement { + + var name: String + var defaultValue: Boolean + var enabled: Boolean + + fun enable(enabled: Boolean) + fun resetToDefault() +} \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/shared/logging/AAPSLogger.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLogger.kt similarity index 97% rename from shared/src/main/java/info/nightscout/shared/logging/AAPSLogger.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLogger.kt index 436849b461..0ced293c52 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/AAPSLogger.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLogger.kt @@ -1,4 +1,4 @@ -package info.nightscout.shared.logging +package info.nightscout.rx.logging /** * Created by adrian on 2019-12-27. diff --git a/shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerProduction.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerProduction.kt similarity index 98% rename from shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerProduction.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerProduction.kt index be0c6a54df..4a6bcd8900 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerProduction.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerProduction.kt @@ -1,5 +1,6 @@ -package info.nightscout.shared.logging +package info.nightscout.rx.logging +import info.nightscout.rx.interfaces.L import org.slf4j.LoggerFactory /** diff --git a/shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerTest.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerTest.kt similarity index 98% rename from shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerTest.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerTest.kt index d7ff2ded5a..88142c93a8 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/AAPSLoggerTest.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/AAPSLoggerTest.kt @@ -1,4 +1,4 @@ -package info.nightscout.shared.logging +package info.nightscout.rx.logging /** * Created by adrian on 2019-12-27. diff --git a/shared/src/main/java/info/nightscout/shared/logging/BundleLogger.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/BundleLogger.kt similarity index 90% rename from shared/src/main/java/info/nightscout/shared/logging/BundleLogger.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/BundleLogger.kt index ddfc492c6a..89f32df356 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/BundleLogger.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/BundleLogger.kt @@ -1,4 +1,4 @@ -package info.nightscout.shared.logging +package info.nightscout.rx.logging import android.os.Bundle diff --git a/shared/src/main/java/info/nightscout/shared/logging/LTag.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/LTag.kt similarity index 95% rename from shared/src/main/java/info/nightscout/shared/logging/LTag.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/LTag.kt index d9ef1e3c56..7ed26eda4d 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/LTag.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/logging/LTag.kt @@ -1,4 +1,4 @@ -package info.nightscout.shared.logging +package info.nightscout.rx.logging enum class LTag(val tag: String, val defaultValue : Boolean = true, val requiresRestart: Boolean = false) { CORE("CORE"), diff --git a/shared/src/main/java/info/nightscout/shared/weardata/EventData.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/weardata/EventData.kt similarity index 98% rename from shared/src/main/java/info/nightscout/shared/weardata/EventData.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/weardata/EventData.kt index ec450b91a8..a1c2fecced 100644 --- a/shared/src/main/java/info/nightscout/shared/weardata/EventData.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/weardata/EventData.kt @@ -1,9 +1,9 @@ -package info.nightscout.shared.weardata +package info.nightscout.rx.weardata -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json -import java.util.* +import java.util.Objects @Serializable sealed class EventData : Event() { diff --git a/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt b/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt new file mode 100644 index 0000000000..7b067babec --- /dev/null +++ b/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt @@ -0,0 +1,8 @@ +package info.nightscout.rx.annotations + +/** + * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. + * In production the class remains final. + */ +@Target(AnnotationTarget.CLASS) +annotation class RxOpenForTesting \ No newline at end of file diff --git a/app-wear-shared/shared-impl/.gitignore b/app-wear-shared/shared-impl/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/app-wear-shared/shared-impl/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app-wear-shared/shared-impl/build.gradle b/app-wear-shared/shared-impl/build.gradle new file mode 100644 index 0000000000..aec0dc99b4 --- /dev/null +++ b/app-wear-shared/shared-impl/build.gradle @@ -0,0 +1,24 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-allopen' +apply plugin: 'com.hiya.jacoco-android' +apply plugin: 'kotlinx-serialization' + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +//apply from: "${project.rootDir}/core/test_dependencies.gradle" +//apply from: "${project.rootDir}/core/jacoco_global.gradle" + +android { + + namespace 'info.nightscout.shared.impl' + defaultConfig { + minSdkVersion 23 // for wear + } +} + +dependencies { + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') +} \ No newline at end of file diff --git a/app-wear-shared/shared-impl/consumer-rules.pro b/app-wear-shared/shared-impl/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app-wear-shared/shared-impl/proguard-rules.pro b/app-wear-shared/shared-impl/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/app-wear-shared/shared-impl/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app-wear-shared/shared-impl/src/main/AndroidManifest.xml b/app-wear-shared/shared-impl/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/app-wear-shared/shared-impl/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt new file mode 100644 index 0000000000..38f8b32239 --- /dev/null +++ b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt @@ -0,0 +1,19 @@ +package info.nightscout.rx.di + +import dagger.Module +import dagger.Provides +import info.nightcout.shared.impl.logging.LImpl +import info.nightscout.rx.interfaces.L +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Singleton + +@Module( + includes = [ + ] +) +open class SharedImplModule { + + @Provides + @Singleton + fun provideL(sp: SP): L = LImpl(sp) +} \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/shared/logging/L.kt b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt similarity index 63% rename from shared/src/main/java/info/nightscout/shared/logging/L.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt index 0149ac047a..8f7c36781b 100644 --- a/shared/src/main/java/info/nightscout/shared/logging/L.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt @@ -1,43 +1,46 @@ -package info.nightscout.shared.logging +package info.nightcout.shared.impl.logging +import info.nightscout.rx.interfaces.L +import info.nightscout.rx.interfaces.LogElement +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* import javax.inject.Inject import javax.inject.Singleton @Singleton -class L @Inject constructor( +class LImpl @Inject constructor( private val sp: SP -) { +) : L { private var logElements: MutableList = ArrayList() init { - LTag.values().forEach { logElements.add(LogElement(it, sp)) } + LTag.values().forEach { logElements.add(LogElementImpl(it, sp)) } } - fun findByName(name: String): LogElement { + override fun findByName(name: String): LogElement { for (element in logElements) { if (element.name == name) return element } - return LogElement(false, sp) + return LogElementImpl(false, sp) } - fun getLogElements(): List { + override fun getLogElements(): List { return logElements } - fun resetToDefaults() { + override fun resetToDefaults() { for (element in logElements) { element.resetToDefault() } } - class LogElement { + class LogElementImpl : LogElement { + var sp: SP - var name: String - var defaultValue: Boolean - var enabled: Boolean + override var name: String + override var defaultValue: Boolean + override var enabled: Boolean private var requiresRestart = false internal constructor(tag: LTag, sp: SP) { @@ -57,12 +60,12 @@ class L @Inject constructor( private fun getSPName(): String = "log_$name" - fun enable(enabled: Boolean) { + override fun enable(enabled: Boolean) { this.enabled = enabled sp.putBoolean(getSPName(), enabled) } - fun resetToDefault() { + override fun resetToDefault() { enable(defaultValue) } } diff --git a/app-wear-shared/shared/.gitignore b/app-wear-shared/shared/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/app-wear-shared/shared/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/shared/build.gradle b/app-wear-shared/shared/build.gradle similarity index 100% rename from shared/build.gradle rename to app-wear-shared/shared/build.gradle diff --git a/app-wear-shared/shared/consumer-rules.pro b/app-wear-shared/shared/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app-wear-shared/shared/proguard-rules.pro b/app-wear-shared/shared/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/app-wear-shared/shared/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/shared/src/debug/java/info/nightscout/androidaps/annotations/OpenForTesting.kt b/app-wear-shared/shared/src/debug/java/info/nightscout/androidaps/annotations/OpenForTesting.kt similarity index 100% rename from shared/src/debug/java/info/nightscout/androidaps/annotations/OpenForTesting.kt rename to app-wear-shared/shared/src/debug/java/info/nightscout/androidaps/annotations/OpenForTesting.kt diff --git a/app-wear-shared/shared/src/main/AndroidManifest.xml b/app-wear-shared/shared/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/app-wear-shared/shared/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt similarity index 100% rename from shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt diff --git a/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt similarity index 100% rename from shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt diff --git a/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt similarity index 81% rename from shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt index 4e34c10355..b7371e967e 100644 --- a/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt @@ -5,7 +5,15 @@ import android.content.res.AssetFileDescriptor import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.util.DisplayMetrics -import androidx.annotation.* +import androidx.annotation.ArrayRes +import androidx.annotation.AttrRes +import androidx.annotation.BoolRes +import androidx.annotation.ColorInt +import androidx.annotation.ColorRes +import androidx.annotation.DrawableRes +import androidx.annotation.PluralsRes +import androidx.annotation.RawRes +import androidx.annotation.StringRes interface ResourceHelper { fun updateContext(ctx: Context?) diff --git a/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt similarity index 99% rename from shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt index 4e56335320..64f169c193 100644 --- a/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt @@ -20,7 +20,12 @@ import java.text.SimpleDateFormat import java.time.Instant import java.time.ZoneId import java.time.ZoneOffset -import java.util.* +import java.util.Calendar +import java.util.Date +import java.util.EnumSet +import java.util.GregorianCalendar +import java.util.Locale +import java.util.TimeZone import java.util.concurrent.TimeUnit import java.util.regex.Pattern import java.util.stream.Collectors diff --git a/shared/src/main/java/info/nightscout/androidaps/utils/T.kt b/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/T.kt similarity index 100% rename from shared/src/main/java/info/nightscout/androidaps/utils/T.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/T.kt diff --git a/shared/src/main/java/info/nightscout/shared/SafeParse.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/SafeParse.kt similarity index 100% rename from shared/src/main/java/info/nightscout/shared/SafeParse.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/SafeParse.kt diff --git a/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt similarity index 64% rename from shared/src/main/java/info/nightscout/shared/di/SharedModule.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt index d7a061e3b8..51536f3d29 100644 --- a/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt @@ -4,22 +4,17 @@ import android.content.Context import androidx.preference.PreferenceManager import dagger.Module import dagger.Provides -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.AAPSLoggerProduction -import info.nightscout.shared.logging.L import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.sharedPreferences.SPImplementation import javax.inject.Singleton -@Module(includes = [ -]) +@Module( + includes = [ + ] +) open class SharedModule { @Provides @Singleton fun provideSharedPreferences(context: Context): SP = SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) - - @Provides - @Singleton - fun provideAAPSLogger(l: L): AAPSLogger = AAPSLoggerProduction(l) } \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt similarity index 100% rename from shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt diff --git a/shared/src/main/java/info/nightscout/shared/sharedPreferences/SP.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SP.kt similarity index 100% rename from shared/src/main/java/info/nightscout/shared/sharedPreferences/SP.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SP.kt diff --git a/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt similarity index 100% rename from shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt diff --git a/shared/src/main/res/values-af-rZA/strings.xml b/app-wear-shared/shared/src/main/res/values-af-rZA/strings.xml similarity index 100% rename from shared/src/main/res/values-af-rZA/strings.xml rename to app-wear-shared/shared/src/main/res/values-af-rZA/strings.xml diff --git a/shared/src/main/res/values-bg-rBG/strings.xml b/app-wear-shared/shared/src/main/res/values-bg-rBG/strings.xml similarity index 100% rename from shared/src/main/res/values-bg-rBG/strings.xml rename to app-wear-shared/shared/src/main/res/values-bg-rBG/strings.xml diff --git a/shared/src/main/res/values-ca-rES/strings.xml b/app-wear-shared/shared/src/main/res/values-ca-rES/strings.xml similarity index 100% rename from shared/src/main/res/values-ca-rES/strings.xml rename to app-wear-shared/shared/src/main/res/values-ca-rES/strings.xml diff --git a/shared/src/main/res/values-cs-rCZ/strings.xml b/app-wear-shared/shared/src/main/res/values-cs-rCZ/strings.xml similarity index 100% rename from shared/src/main/res/values-cs-rCZ/strings.xml rename to app-wear-shared/shared/src/main/res/values-cs-rCZ/strings.xml diff --git a/shared/src/main/res/values-da-rDK/strings.xml b/app-wear-shared/shared/src/main/res/values-da-rDK/strings.xml similarity index 100% rename from shared/src/main/res/values-da-rDK/strings.xml rename to app-wear-shared/shared/src/main/res/values-da-rDK/strings.xml diff --git a/shared/src/main/res/values-de-rDE/strings.xml b/app-wear-shared/shared/src/main/res/values-de-rDE/strings.xml similarity index 100% rename from shared/src/main/res/values-de-rDE/strings.xml rename to app-wear-shared/shared/src/main/res/values-de-rDE/strings.xml diff --git a/shared/src/main/res/values-el-rGR/strings.xml b/app-wear-shared/shared/src/main/res/values-el-rGR/strings.xml similarity index 100% rename from shared/src/main/res/values-el-rGR/strings.xml rename to app-wear-shared/shared/src/main/res/values-el-rGR/strings.xml diff --git a/shared/src/main/res/values-es-rES/strings.xml b/app-wear-shared/shared/src/main/res/values-es-rES/strings.xml similarity index 100% rename from shared/src/main/res/values-es-rES/strings.xml rename to app-wear-shared/shared/src/main/res/values-es-rES/strings.xml diff --git a/shared/src/main/res/values-fr-rFR/strings.xml b/app-wear-shared/shared/src/main/res/values-fr-rFR/strings.xml similarity index 100% rename from shared/src/main/res/values-fr-rFR/strings.xml rename to app-wear-shared/shared/src/main/res/values-fr-rFR/strings.xml diff --git a/shared/src/main/res/values-ga-rIE/strings.xml b/app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml similarity index 100% rename from shared/src/main/res/values-ga-rIE/strings.xml rename to app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml diff --git a/shared/src/main/res/values-hr-rHR/strings.xml b/app-wear-shared/shared/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from shared/src/main/res/values-hr-rHR/strings.xml rename to app-wear-shared/shared/src/main/res/values-hr-rHR/strings.xml diff --git a/shared/src/main/res/values-hu-rHU/strings.xml b/app-wear-shared/shared/src/main/res/values-hu-rHU/strings.xml similarity index 100% rename from shared/src/main/res/values-hu-rHU/strings.xml rename to app-wear-shared/shared/src/main/res/values-hu-rHU/strings.xml diff --git a/shared/src/main/res/values-it-rIT/strings.xml b/app-wear-shared/shared/src/main/res/values-it-rIT/strings.xml similarity index 100% rename from shared/src/main/res/values-it-rIT/strings.xml rename to app-wear-shared/shared/src/main/res/values-it-rIT/strings.xml diff --git a/shared/src/main/res/values-iw-rIL/strings.xml b/app-wear-shared/shared/src/main/res/values-iw-rIL/strings.xml similarity index 100% rename from shared/src/main/res/values-iw-rIL/strings.xml rename to app-wear-shared/shared/src/main/res/values-iw-rIL/strings.xml diff --git a/shared/src/main/res/values-ko-rKR/strings.xml b/app-wear-shared/shared/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from shared/src/main/res/values-ko-rKR/strings.xml rename to app-wear-shared/shared/src/main/res/values-ko-rKR/strings.xml diff --git a/shared/src/main/res/values-lt-rLT/strings.xml b/app-wear-shared/shared/src/main/res/values-lt-rLT/strings.xml similarity index 100% rename from shared/src/main/res/values-lt-rLT/strings.xml rename to app-wear-shared/shared/src/main/res/values-lt-rLT/strings.xml diff --git a/shared/src/main/res/values-nl-rNL/strings.xml b/app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml similarity index 100% rename from shared/src/main/res/values-nl-rNL/strings.xml rename to app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml diff --git a/shared/src/main/res/values-no-rNO/strings.xml b/app-wear-shared/shared/src/main/res/values-no-rNO/strings.xml similarity index 100% rename from shared/src/main/res/values-no-rNO/strings.xml rename to app-wear-shared/shared/src/main/res/values-no-rNO/strings.xml diff --git a/shared/src/main/res/values-pl-rPL/strings.xml b/app-wear-shared/shared/src/main/res/values-pl-rPL/strings.xml similarity index 100% rename from shared/src/main/res/values-pl-rPL/strings.xml rename to app-wear-shared/shared/src/main/res/values-pl-rPL/strings.xml diff --git a/shared/src/main/res/values-pt-rBR/strings.xml b/app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from shared/src/main/res/values-pt-rBR/strings.xml rename to app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml diff --git a/shared/src/main/res/values-pt-rPT/strings.xml b/app-wear-shared/shared/src/main/res/values-pt-rPT/strings.xml similarity index 100% rename from shared/src/main/res/values-pt-rPT/strings.xml rename to app-wear-shared/shared/src/main/res/values-pt-rPT/strings.xml diff --git a/shared/src/main/res/values-ro-rRO/strings.xml b/app-wear-shared/shared/src/main/res/values-ro-rRO/strings.xml similarity index 100% rename from shared/src/main/res/values-ro-rRO/strings.xml rename to app-wear-shared/shared/src/main/res/values-ro-rRO/strings.xml diff --git a/shared/src/main/res/values-ru-rRU/strings.xml b/app-wear-shared/shared/src/main/res/values-ru-rRU/strings.xml similarity index 100% rename from shared/src/main/res/values-ru-rRU/strings.xml rename to app-wear-shared/shared/src/main/res/values-ru-rRU/strings.xml diff --git a/shared/src/main/res/values-sk-rSK/strings.xml b/app-wear-shared/shared/src/main/res/values-sk-rSK/strings.xml similarity index 100% rename from shared/src/main/res/values-sk-rSK/strings.xml rename to app-wear-shared/shared/src/main/res/values-sk-rSK/strings.xml diff --git a/shared/src/main/res/values-sr-rCS/strings.xml b/app-wear-shared/shared/src/main/res/values-sr-rCS/strings.xml similarity index 100% rename from shared/src/main/res/values-sr-rCS/strings.xml rename to app-wear-shared/shared/src/main/res/values-sr-rCS/strings.xml diff --git a/shared/src/main/res/values-sv-rSE/strings.xml b/app-wear-shared/shared/src/main/res/values-sv-rSE/strings.xml similarity index 100% rename from shared/src/main/res/values-sv-rSE/strings.xml rename to app-wear-shared/shared/src/main/res/values-sv-rSE/strings.xml diff --git a/shared/src/main/res/values-sw600dp/layout.xml b/app-wear-shared/shared/src/main/res/values-sw600dp/layout.xml similarity index 100% rename from shared/src/main/res/values-sw600dp/layout.xml rename to app-wear-shared/shared/src/main/res/values-sw600dp/layout.xml diff --git a/shared/src/main/res/values-tr-rTR/strings.xml b/app-wear-shared/shared/src/main/res/values-tr-rTR/strings.xml similarity index 100% rename from shared/src/main/res/values-tr-rTR/strings.xml rename to app-wear-shared/shared/src/main/res/values-tr-rTR/strings.xml diff --git a/shared/src/main/res/values-zh-rCN/strings.xml b/app-wear-shared/shared/src/main/res/values-zh-rCN/strings.xml similarity index 100% rename from shared/src/main/res/values-zh-rCN/strings.xml rename to app-wear-shared/shared/src/main/res/values-zh-rCN/strings.xml diff --git a/shared/src/main/res/values/layout.xml b/app-wear-shared/shared/src/main/res/values/layout.xml similarity index 100% rename from shared/src/main/res/values/layout.xml rename to app-wear-shared/shared/src/main/res/values/layout.xml diff --git a/shared/src/main/res/values/strings.xml b/app-wear-shared/shared/src/main/res/values/strings.xml similarity index 100% rename from shared/src/main/res/values/strings.xml rename to app-wear-shared/shared/src/main/res/values/strings.xml diff --git a/shared/src/main/res/values/wear_paths.xml b/app-wear-shared/shared/src/main/res/values/wear_paths.xml similarity index 100% rename from shared/src/main/res/values/wear_paths.xml rename to app-wear-shared/shared/src/main/res/values/wear_paths.xml diff --git a/shared/src/release/java/info/nightscout/androidaps/annotations/OpenForTesting.kt b/app-wear-shared/shared/src/release/java/info/nightscout/androidaps/annotations/OpenForTesting.kt similarity index 100% rename from shared/src/release/java/info/nightscout/androidaps/annotations/OpenForTesting.kt rename to app-wear-shared/shared/src/release/java/info/nightscout/androidaps/annotations/OpenForTesting.kt diff --git a/shared/src/test/java/info/nightscout/androidaps/utils/rx/RxSchedulerRule.kt b/app-wear-shared/shared/src/test/java/info/nightscout/androidaps/utils/rx/RxSchedulerRule.kt similarity index 100% rename from shared/src/test/java/info/nightscout/androidaps/utils/rx/RxSchedulerRule.kt rename to app-wear-shared/shared/src/test/java/info/nightscout/androidaps/utils/rx/RxSchedulerRule.kt diff --git a/shared/src/test/java/info/nightscout/shared/SafeParseTest.kt b/app-wear-shared/shared/src/test/java/info/nightscout/shared/SafeParseTest.kt similarity index 100% rename from shared/src/test/java/info/nightscout/shared/SafeParseTest.kt rename to app-wear-shared/shared/src/test/java/info/nightscout/shared/SafeParseTest.kt diff --git a/app/build.gradle b/app/build.gradle index f6d9d81088..e88d6f2e3b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -178,7 +178,9 @@ dependencies { // https://github.com/nightscout/iconify.git implementation project(':graphview') implementation project(':libraries') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + implementation project(':app-wear-shared:shared-impl') implementation project(':core') implementation project(':ui') implementation project(':plugins') diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 0061e053ba..500a917e0e 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -35,14 +35,10 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.ProfileHelperActivity import info.nightscout.androidaps.activities.SingleFragmentActivity -import info.nightscout.ui.activities.TreatmentsActivity import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.ActivityMainBinding -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventInitializationChanged import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.BuildHelper @@ -63,13 +59,17 @@ import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.tabs.TabPageAdapter import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.activities.StatsActivity +import info.nightscout.ui.activities.TreatmentsActivity import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 020153365a..01e64ff8cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -34,7 +34,6 @@ import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore -import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin import info.nightscout.androidaps.receivers.BTReceiver import info.nightscout.androidaps.receivers.ChargingStateReceiver import info.nightscout.androidaps.receivers.KeepAliveWorker @@ -44,8 +43,9 @@ import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.ProcessLifecycleListener import info.nightscout.androidaps.utils.locale.LocaleHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.utils.ActivityMonitor import info.nightscout.ui.widget.Widget diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index 552a7fdb93..3679196f3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -13,10 +13,6 @@ import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding -import info.nightscout.androidaps.events.EventAutosensCalculationFinished -import info.nightscout.androidaps.events.EventCustomCalculationFinished -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.events.EventScale import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interfaces.ActivePlugin @@ -29,12 +25,17 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.workflow.CalculationWorkflow -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.events.EventCustomCalculationFinished +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventScale +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject import kotlin.math.min diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index 9161bf685e..b434c87629 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -5,15 +5,15 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.workflow.CalculationWorkflow -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index b5c849d9e2..b84d1898e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,7 +23,6 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile @@ -34,7 +33,6 @@ import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin @@ -69,6 +67,8 @@ import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin import info.nightscout.plugins.insulin.InsulinOrefFreePeakPlugin +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt index 98060ac024..bbf79e13dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt @@ -18,17 +18,17 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.plugins.profile.ProfilePlugin -import info.nightscout.androidaps.events.EventLocalProfileChanged +import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.ui.defaultProfile.DefaultProfile import info.nightscout.ui.defaultProfile.DefaultProfileDPV -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.androidaps.interfaces.stats.TddCalculator import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt b/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt index 978876f9df..6240ad62de 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt +++ b/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt @@ -14,19 +14,19 @@ import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventFoodDatabaseChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventOfflineChange -import info.nightscout.androidaps.events.EventProfileSwitchChanged -import info.nightscout.androidaps.events.EventTempBasalChange -import info.nightscout.androidaps.events.EventTempTargetChange -import info.nightscout.androidaps.events.EventTherapyEventChange -import info.nightscout.androidaps.events.EventTreatmentChange -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventFoodDatabaseChanged +import info.nightscout.rx.events.EventOfflineChange +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.events.EventTempTargetChange +import info.nightscout.rx.events.EventTherapyEventChange +import info.nightscout.rx.events.EventTreatmentChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.ui.widget.Widget import io.reactivex.rxjava3.disposables.Disposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index 406286242c..7bf8b71f5c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -24,6 +24,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule import info.nightscout.automation.di.AutomationModule import info.nightscout.implementation.di.ImplementationModule import info.nightscout.plugins.di.PluginsModule +import info.nightscout.rx.di.RxModule +import info.nightscout.rx.di.SharedImplModule import info.nightscout.shared.di.SharedModule import info.nightscout.ui.di.UiModule import javax.inject.Singleton @@ -55,7 +57,9 @@ import javax.inject.Singleton DatabaseModule::class, ImplementationModule::class, PluginsModule::class, + RxModule::class, SharedModule::class, + SharedImplModule::class, OpenHumansModule::class, UIModule::class, diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index d4abd543c6..5d6110b1ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -38,7 +38,6 @@ import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl @@ -55,8 +54,6 @@ import info.nightscout.androidaps.utils.androidNotification.NotificationHolderIm import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.androidaps.utils.rx.DefaultAapsSchedulers import info.nightscout.androidaps.utils.storage.FileStorage import info.nightscout.androidaps.utils.storage.Storage import info.nightscout.implementation.AndroidPermissionImpl @@ -72,7 +69,9 @@ import info.nightscout.implementation.stats.TddCalculatorImpl import info.nightscout.implementation.stats.TirCalculatorImpl import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Singleton @@ -110,10 +109,6 @@ open class AppModule { @Singleton fun provideBuildHelper(config: Config, fileListProvider: PrefFileListProvider): BuildHelper = BuildHelperImpl(config, fileListProvider) - @Provides - @Singleton - internal fun provideSchedulers(): AapsSchedulers = DefaultAapsSchedulers() - @Provides @Singleton fun provideProfileFunction( diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index 37e74bef84..af34ae5b87 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -25,8 +25,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 383ac76b9c..aa5c3ad014 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -30,8 +30,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.LinkedList diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 55498fbea7..16eb3aaf2a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -41,8 +41,8 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 8e001e348c..99d6571065 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -21,7 +21,6 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEven import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.databinding.DialogLoopBinding import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin @@ -37,7 +36,6 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil @@ -47,8 +45,10 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt index 1b542c181e..13a753f17f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt @@ -8,13 +8,13 @@ import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.DialogBolusprogressBinding -import info.nightscout.androidaps.events.EventNtpStatus -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNtpStatus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index 37a2aef807..06dce558ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -26,7 +26,6 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.HtmlHelper @@ -35,7 +34,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index 02db55fd02..d73a01efc7 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -28,8 +28,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index d445de8dcb..1bdbf6c2da 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -31,7 +31,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 595a4026ec..c1dd82b8ca 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -31,8 +31,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 504f5df0bb..308504161f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -24,7 +24,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.databinding.DialogWizardBinding -import info.nightscout.androidaps.events.EventAutosensCalculationFinished import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility @@ -37,7 +36,6 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy @@ -46,11 +44,13 @@ import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.wizard.BolusWizard +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventAcceptOpenLoopChange.kt b/app/src/main/java/info/nightscout/androidaps/events/EventAcceptOpenLoopChange.kt deleted file mode 100644 index 552564edfc..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/events/EventAcceptOpenLoopChange.kt +++ /dev/null @@ -1,3 +0,0 @@ -package info.nightscout.androidaps.events - -class EventAcceptOpenLoopChange : Event() diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt b/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt index 4f05f83018..ae23b56a05 100644 --- a/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt +++ b/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.events import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.rx.events.EventLoop class EventNewBG(val glucoseValue: GlucoseValue?) : EventLoop() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventProfileStoreChanged.kt b/app/src/main/java/info/nightscout/androidaps/events/EventProfileStoreChanged.kt deleted file mode 100644 index 4d9fc1686a..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/events/EventProfileStoreChanged.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.events - diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventTempTargetChange.kt b/app/src/main/java/info/nightscout/androidaps/events/EventTempTargetChange.kt deleted file mode 100644 index 4d9fc1686a..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/events/EventTempTargetChange.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.events - diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt index a319185260..99d047eac1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt @@ -19,13 +19,13 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.JSONFormatter -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONArray diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt index 004bdacf41..f69265412a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.aps.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventOpenAPSUpdateGui : EventUpdateGui() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt index 893309c9ba..0cb233502d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.aps.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventOpenAPSUpdateResultGui(val text: String) : EventUpdateGui() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt index e3f14189fa..bf095df835 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt @@ -1,8 +1,9 @@ package info.nightscout.androidaps.plugins.aps.logger import info.nightscout.androidaps.di.StaticInjector -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import org.mozilla.javascript.ScriptableObject import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index 555f78bec6..eab0a8396f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -19,12 +19,12 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index d361f31b77..2977b07339 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -27,9 +27,6 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.events.EventAcceptOpenLoopChange -import info.nightscout.androidaps.events.EventMobileToWear -import info.nightscout.androidaps.events.EventTempTargetChange import info.nightscout.androidaps.extensions.buildDeviceStatus import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent @@ -39,6 +36,7 @@ import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun @@ -54,8 +52,6 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -67,11 +63,15 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAcceptOpenLoopChange +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.events.EventTempTargetChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt index 19c7e92c5c..d43ceca646 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.aps.loop.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui /** * Created by mike on 05.08.2016. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt index 89507d85f8..c2d2ae6f4d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.aps.loop.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui /** * Created by mike on 05.08.2016. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt index 2933318dd6..354f855807 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.aps.loop.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventNewOpenLoopNotification : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 08ad43aa41..d4e8a8317d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -7,25 +7,31 @@ import info.nightscout.androidaps.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException import org.json.JSONObject -import org.mozilla.javascript.* +import org.mozilla.javascript.Context import org.mozilla.javascript.Function +import org.mozilla.javascript.NativeJSON +import org.mozilla.javascript.NativeObject +import org.mozilla.javascript.RhinoException +import org.mozilla.javascript.Scriptable +import org.mozilla.javascript.ScriptableObject +import org.mozilla.javascript.Undefined import java.io.IOException import java.lang.reflect.InvocationTargetException import java.nio.charset.StandardCharsets diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt index 5b56094c34..f91d5d2b62 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.rx.logging.LTag import org.json.JSONException import org.json.JSONObject import org.mozilla.javascript.NativeObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index a658026409..631db8e535 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -10,6 +10,7 @@ import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase @@ -22,8 +23,6 @@ import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil @@ -31,8 +30,9 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.Round -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.json.JSONException import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index aac146196b..682bf2c158 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -7,22 +7,33 @@ import info.nightscout.androidaps.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException import org.json.JSONObject -import org.mozilla.javascript.* +import org.mozilla.javascript.Context import org.mozilla.javascript.Function +import org.mozilla.javascript.NativeJSON +import org.mozilla.javascript.NativeObject +import org.mozilla.javascript.RhinoException +import org.mozilla.javascript.Scriptable +import org.mozilla.javascript.ScriptableObject +import org.mozilla.javascript.Undefined import java.io.IOException import java.lang.reflect.InvocationTargetException import java.nio.charset.StandardCharsets diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt index 9e7401f7c4..04ab453fc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.VariableSensitivityResult -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.rx.logging.LTag import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index d69750e7a9..03f062359e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -25,15 +25,15 @@ import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.Round -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 505ff725b8..87952c15ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -9,30 +9,36 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.Round -import info.nightscout.androidaps.interfaces.stats.TddCalculator +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException import org.json.JSONObject -import org.mozilla.javascript.* +import org.mozilla.javascript.Context import org.mozilla.javascript.Function +import org.mozilla.javascript.NativeJSON +import org.mozilla.javascript.NativeObject +import org.mozilla.javascript.RhinoException +import org.mozilla.javascript.Scriptable +import org.mozilla.javascript.ScriptableObject +import org.mozilla.javascript.Undefined import java.io.IOException import java.lang.reflect.InvocationTargetException import java.nio.charset.StandardCharsets diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 176cfe3089..158537157a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -6,20 +6,20 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index 34d058ac5c..f491ecc191 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -6,7 +6,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.* +import android.widget.CheckBox +import android.widget.ImageButton +import android.widget.ImageView +import android.widget.LinearLayout +import android.widget.RadioButton +import android.widget.TextView import androidx.annotation.StringRes import androidx.core.content.ContextCompat import dagger.android.support.DaggerFragment @@ -14,20 +19,20 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRebuildTabs import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index e45ec36117..f3036ff34b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -6,19 +6,29 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.events.EventAppInitialized -import info.nightscout.androidaps.events.EventConfigBuilderChange -import info.nightscout.androidaps.events.EventRebuildTabs -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.APS +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BgSource +import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileSource +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppInitialized +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index a574219396..a64246dad7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -1,8 +1,20 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.APS +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BgSource +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Overview +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileSource +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.Safety +import info.nightscout.androidaps.interfaces.Sensitivity +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 992a18bd64..e691ef748d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -16,15 +16,15 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/events/EventConfigBuilderUpdateGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/events/EventConfigBuilderUpdateGui.kt index 8d24c912ad..f28fe962a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/events/EventConfigBuilderUpdateGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/events/EventConfigBuilderUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.configBuilder.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventConfigBuilderUpdateGui : EventUpdateGui() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index 4287fd2743..2de90f9022 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -23,10 +23,8 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding import info.nightscout.androidaps.databinding.ObjectivesItemBinding import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.androidaps.events.EventNtpStatus -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask @@ -37,11 +35,13 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.SntpClient import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import io.reactivex.rxjava3.kotlin.plusAssign -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNtpStatus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject class ObjectivesFragment : DaggerFragment() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index 76e5f397e5..3f01b3fd8d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -8,15 +8,31 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.* +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective10 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective2 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective3 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective4 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective5 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective6 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective7 +import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective9 import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt index 7e4ac193fa..b647ed53b0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ObjectivesExamFragmentBinding -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask @@ -15,7 +15,7 @@ import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Obje import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class ObjectivesExamDialog : DaggerDialogFragment() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt index fd59db7d9f..d5acd670f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.constraints.objectives.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventObjectivesUpdateGui : EventUpdateGui() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index 30a2f47603..58795e277f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -1,17 +1,29 @@ package info.nightscout.androidaps.plugins.constraints.safety import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.R -import info.nightscout.androidaps.extensions.* +import info.nightscout.androidaps.extensions.putDouble +import info.nightscout.androidaps.extensions.putInt +import info.nightscout.androidaps.extensions.putString +import info.nightscout.androidaps.extensions.storeDouble +import info.nightscout.androidaps.extensions.storeInt +import info.nightscout.androidaps.extensions.storeString +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin @@ -19,8 +31,8 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Round -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 6f06614629..2a4df62023 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -22,11 +22,6 @@ import info.nightscout.androidaps.dialogs.FillDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog -import info.nightscout.androidaps.events.EventCustomActionsChanged -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventInitializationChanged -import info.nightscout.androidaps.events.EventTempBasalChange -import info.nightscout.androidaps.events.EventTherapyEventChange import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.toVisibility @@ -40,7 +35,6 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler import info.nightscout.androidaps.queue.Callback @@ -49,10 +43,16 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventCustomActionsChanged +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.events.EventTherapyEventChange +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.activities.TDDStatsActivity import info.nightscout.ui.dialogs.CareDialog diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index 879c084315..3f0866657f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.general.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 0f3c03a404..3f981a0a06 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -6,14 +6,19 @@ import android.content.pm.ResolveInfo import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.events.EventAutosensCalculationFinished import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress @@ -23,9 +28,12 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index 7ae9c83d2a..a8e43b7aac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -29,14 +29,12 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset -import info.nightscout.androidaps.events.EventAppExit import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefFileNotFoundError import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefIOError @@ -56,8 +54,10 @@ import info.nightscout.androidaps.utils.alertDialogs.WarningDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.storage.Storage import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import java.io.File import java.io.FileNotFoundException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 9d161e9855..12ba0bb024 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -24,7 +24,6 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase @@ -34,9 +33,10 @@ import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index fdcf2a87ce..bd6def8186 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import java.io.BufferedInputStream import java.io.BufferedOutputStream diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/LogSettingActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/LogSettingActivity.kt index a0d52e0736..e83b19a48f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/LogSettingActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/LogSettingActivity.kt @@ -8,7 +8,8 @@ import android.widget.TextView import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivityLogsettingBinding -import info.nightscout.shared.logging.L +import info.nightscout.rx.interfaces.L +import info.nightscout.rx.interfaces.LogElement import javax.inject.Inject class LogSettingActivity : NoSplashAppCompatActivity() { @@ -40,7 +41,7 @@ class LogSettingActivity : NoSplashAppCompatActivity() { } - internal inner class LogViewHolder(element: L.LogElement) { + internal inner class LogViewHolder(element: LogElement) { @Suppress("InflateParams") var baseView = layoutInflater.inflate(R.layout.logsettings_item, null) as LinearLayout diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt index b7967085cd..8ef4968ab8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt @@ -3,15 +3,27 @@ package info.nightscout.androidaps.plugins.general.nsclient import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.* +import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.androidaps.database.entities.DeviceStatus +import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.androidaps.database.entities.Food +import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt index 60331c4355..14a3786a2b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt @@ -9,16 +9,40 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.DeviceStatus -import info.nightscout.androidaps.database.transactions.* +import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusCalculatorResultTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdCarbsTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdDeviceStatusTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdEffectiveProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdExtendedBolusTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdFoodTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdGlucoseValueTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdOfflineEventTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryBasalTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryTargetTransaction +import info.nightscout.androidaps.database.transactions.UpdateNsIdTherapyEventTransaction import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.DataSyncSelector.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairCarbs +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairEffectiveProfileSwitch +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairExtendedBolus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairFood +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairGlucoseValue +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairOfflineEvent +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileStore +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAddAck import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt index 2424a667ba..d022facb19 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt @@ -12,14 +12,32 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.* -import info.nightscout.androidaps.extensions.* +import info.nightscout.androidaps.database.transactions.SyncNsBolusCalculatorResultTransaction +import info.nightscout.androidaps.database.transactions.SyncNsBolusTransaction +import info.nightscout.androidaps.database.transactions.SyncNsCarbsTransaction +import info.nightscout.androidaps.database.transactions.SyncNsEffectiveProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.SyncNsExtendedBolusTransaction +import info.nightscout.androidaps.database.transactions.SyncNsOfflineEventTransaction +import info.nightscout.androidaps.database.transactions.SyncNsProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTemporaryBasalTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTemporaryTargetTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction +import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson +import info.nightscout.androidaps.extensions.bolusFromJson +import info.nightscout.androidaps.extensions.carbsFromJson +import info.nightscout.androidaps.extensions.effectiveProfileSwitchFromJson +import info.nightscout.androidaps.extensions.extendedBolusFromJson +import info.nightscout.androidaps.extensions.isEffectiveProfileSwitch +import info.nightscout.androidaps.extensions.offlineEventFromJson +import info.nightscout.androidaps.extensions.profileSwitchFromJson +import info.nightscout.androidaps.extensions.temporaryBasalFromJson +import info.nightscout.androidaps.extensions.temporaryTargetFromJson +import info.nightscout.androidaps.extensions.therapyEventFromJson import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin @@ -27,8 +45,9 @@ import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.JsonHelper.safeGetLong -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import java.util.concurrent.TimeUnit import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt index f110b0fcc8..d86d3951bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt @@ -1,7 +1,12 @@ package info.nightscout.androidaps.plugins.general.nsclient import android.os.Bundle -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import android.widget.ScrollView import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle @@ -13,12 +18,12 @@ import info.nightscout.androidaps.databinding.NsClientFragmentBinding import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt index 6014b557b1..7a2fb9adf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt @@ -9,12 +9,12 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction import info.nightscout.androidaps.extensions.therapyEventFromNsMbg +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt index 2a8954c583..032c064bdb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt @@ -13,16 +13,13 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.androidaps.events.EventNetworkChange import info.nightscout.androidaps.events.EventPreferenceChange +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.data.AlarmAck import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog @@ -33,10 +30,13 @@ import info.nightscout.androidaps.plugins.general.nsclient.services.NSClientServ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper.fromHtml import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt index 3e96885cea..fa97e4a0e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt @@ -7,13 +7,24 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.DataSyncSelector.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairCarbs +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairEffectiveProfileSwitch +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairExtendedBolus +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairFood +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairGlucoseValue +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairOfflineEvent +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget +import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.plugins.general.nsclient.acks.NSUpdateAck import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class NSClientUpdateRemoveAckWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt index ad69554a51..6c0a36aaba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.plugins.general.nsclient import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.androidaps.events.EventNetworkChange import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt index d21f1112aa..043e8e21d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.general.nsclient.acks -import info.nightscout.androidaps.events.Event -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.events.EventNSClientRestart +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.socket.client.Ack import org.json.JSONArray import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt index 72c6d5bc24..f52d2cb8e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.nsclient.acks -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event import io.socket.client.Ack import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt index bbb237fefe..91856277ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.general.nsclient.acks -import info.nightscout.androidaps.events.Event -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.socket.client.Ack import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt index 37248349da..59c154a297 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt @@ -4,6 +4,7 @@ import android.text.Spanned import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.utils.DateUtil @@ -11,9 +12,8 @@ import info.nightscout.androidaps.utils.HtmlHelper.fromHtml import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt index 455466bbac..33d136edd2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt @@ -1,22 +1,22 @@ package info.nightscout.androidaps.plugins.general.nsclient.data import android.content.Context -import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt index 26f70b8a82..51b2528229 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.nsclient.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventNSClientResend(val reason: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt index 891e61895c..66ecdc7787 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.nsclient.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventNSClientUpdateGUI : EventUpdateGui() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt index 1487258435..d527167917 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt @@ -3,7 +3,12 @@ package info.nightscout.androidaps.plugins.general.nsclient.services import android.annotation.SuppressLint import android.content.Context import android.content.Intent -import android.os.* +import android.os.Binder +import android.os.Handler +import android.os.HandlerThread +import android.os.IBinder +import android.os.PowerManager +import android.os.SystemClock import androidx.work.OneTimeWorkRequest import com.google.common.base.Charsets import com.google.common.hash.Hashing @@ -11,15 +16,11 @@ import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventConfigBuilderChange import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.plugins.general.food.FoodPlugin.FoodWorker import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddUpdateWorker import info.nightscout.androidaps.plugins.general.nsclient.NSClientMbgWorker @@ -33,14 +34,12 @@ import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin.NSClientSourceWorker import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil @@ -48,9 +47,15 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.JsonHelper.safeGetString import info.nightscout.androidaps.utils.JsonHelper.safeGetStringAllowNull import info.nightscout.androidaps.utils.T.Companion.mins -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.plugins.general.food.FoodPlugin.FoodWorker +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -61,7 +66,7 @@ import org.json.JSONArray import org.json.JSONException import org.json.JSONObject import java.net.URISyntaxException -import java.util.* +import java.util.Locale import javax.inject.Inject class NSClientService : DaggerService() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 734a8661b9..229b506349 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -42,17 +42,10 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.TreatmentDialog import info.nightscout.androidaps.dialogs.WizardDialog -import info.nightscout.androidaps.events.EventAcceptOpenLoopChange import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventMobileToWear import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.events.EventScale -import info.nightscout.androidaps.events.EventTempBasalChange -import info.nightscout.androidaps.events.EventTempTargetChange import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility @@ -74,7 +67,6 @@ import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress @@ -97,15 +89,23 @@ import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAcceptOpenLoopChange +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventScale +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.events.EventTempTargetChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index 2431dc5f61..b33f684b4d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -12,15 +12,15 @@ import androidx.annotation.StringRes import androidx.appcompat.widget.PopupMenu import com.google.gson.Gson import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.events.EventScale +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventScale +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index c2f5dd0e6f..69ceeab2f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -19,7 +19,6 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress @@ -29,8 +28,9 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index 7522148982..ddd841b336 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -3,7 +3,12 @@ package info.nightscout.androidaps.plugins.general.overview.activities import android.annotation.SuppressLint import android.os.Bundle import android.util.SparseArray -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuItem +import android.view.MotionEvent +import android.view.View +import android.view.ViewGroup import androidx.core.util.forEach import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.ItemTouchHelper @@ -14,19 +19,19 @@ import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.databinding.OverviewQuickwizardlistActivityBinding import info.nightscout.androidaps.databinding.OverviewQuickwizardlistItemBinding import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.utils.dragHelpers.ItemTouchHelperAdapter -import info.nightscout.androidaps.utils.dragHelpers.OnStartDragListener -import info.nightscout.androidaps.utils.dragHelpers.SimpleItemTouchHelperCallback import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.androidaps.utils.dragHelpers.ItemTouchHelperAdapter +import info.nightscout.androidaps.utils.dragHelpers.OnStartDragListener +import info.nightscout.androidaps.utils.dragHelpers.SimpleItemTouchHelperCallback import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt index 9341f74dc7..94287c7701 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt @@ -12,20 +12,19 @@ import com.google.android.material.timepicker.TimeFormat import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewEditquickwizardDialogBinding -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.SafeParse import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.extensions.selectedItemPosition import info.nightscout.androidaps.utils.extensions.setEnableForChildren import info.nightscout.androidaps.utils.extensions.setSelection import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException -import java.util.* import javax.inject.Inject class EditQuickWizardDialog : DaggerDialogFragment(), View.OnClickListener { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventQuickWizardChange.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventQuickWizardChange.kt index 7cfa02f3ba..b02bf909aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventQuickWizardChange.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventQuickWizardChange.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventQuickWizardChange : Event() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewCalcProgress.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewCalcProgress.kt index 6932500fe3..ac931599e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewCalcProgress.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewCalcProgress.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventUpdateOverviewCalcProgress(val from: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewGraph.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewGraph.kt index 3f7ad2faad..12135b93a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewGraph.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewGraph.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventUpdateOverviewGraph(val from: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewIobCob.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewIobCob.kt index 75c8d16bac..7029768a69 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewIobCob.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewIobCob.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventUpdateOverviewIobCob(val from: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt index 7a4ce41eea..f20816c0d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventUpdateOverviewNotification(val from: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewSensitivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewSensitivity.kt index 93c432f507..ef63ee8e4a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewSensitivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewSensitivity.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventUpdateOverviewSensitivity(val from: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index d3aeb014e0..eb151c8b14 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -13,12 +13,16 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData -import info.nightscout.androidaps.plugins.general.overview.graphExtensions.* +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DoubleDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.EffectiveProfileSwitchDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.TimeAsXAxisLabelFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.logging.AAPSLogger -import java.util.* +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject import kotlin.math.abs import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt index f1ed81de61..ec0a87162d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.general.overview.notifications import android.content.Intent import dagger.android.DaggerIntentService -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class DismissNotificationService : DaggerIntentService(DismissNotificationService::class.simpleName) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt index 6fefe0c3ad..23b0f6e579 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt @@ -21,10 +21,10 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Collections import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt index 2591bafc7c..6ecdbbd048 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps.plugins.general.overview.notifications import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt index 438cb4f7d0..3ab7771f31 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt @@ -6,13 +6,13 @@ import android.content.Intent import android.os.Binder import android.os.IBinder import dagger.android.DaggerService -import info.nightscout.androidaps.events.EventAppExit import info.nightscout.androidaps.interfaces.NotificationHolder -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 0a4072250b..be83b44f8a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -9,20 +9,28 @@ import androidx.core.app.RemoteInput import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventAutosensCalculationFinished -import info.nightscout.androidaps.events.EventInitializationChanged import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt index db3ba0ba7f..a757b6e6a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt @@ -8,16 +8,16 @@ import android.widget.ScrollView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.TidepoolFragmentBinding -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolUpdateGUI import info.nightscout.androidaps.utils.FabricPrivacy -import io.reactivex.rxjava3.kotlin.plusAssign -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject class TidepoolFragment : DaggerFragment() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt index e6e58e9264..76b7fec541 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt @@ -7,15 +7,12 @@ import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventNetworkChange import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader.ConnectionStatus.CONNECTED import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader.ConnectionStatus.DISCONNECTED @@ -30,12 +27,14 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils -import io.reactivex.rxjava3.kotlin.plusAssign -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable -import java.util.* +import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt index 30ca8ad5e8..748d427d43 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.plugins.general.tidepool.comm -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import okhttp3.Interceptor import okhttp3.Response import okio.Buffer diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt index e8760bcbd5..909c84291a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.general.tidepool.comm -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import retrofit2.Call import retrofit2.Callback import retrofit2.Response diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt index 45ad50857b..285dd766c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt @@ -6,9 +6,7 @@ import android.os.SystemClock import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthReplyMessage import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthRequestMessage @@ -18,7 +16,9 @@ import info.nightscout.androidaps.plugins.general.tidepool.messages.UploadReplyM import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.OkHttpClient diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt index d08ce07a0d..532ef1f095 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt @@ -6,16 +6,22 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.general.tidepool.elements.* +import info.nightscout.androidaps.plugins.general.tidepool.elements.BasalElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.BaseElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.BloodGlucoseElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.BolusElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.ProfileElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.SensorGlucoseElement +import info.nightscout.androidaps.plugins.general.tidepool.elements.WizardElement import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus import info.nightscout.androidaps.plugins.general.tidepool.utils.GsonInstance import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.LinkedList import javax.inject.Inject import javax.inject.Singleton import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt index d20868f348..d97e354f1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.tidepool.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventTidepoolDoUpload : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt index 8ea3460801..43ed9ff251 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.tidepool.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventTidepoolResetData : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt index e2e0caf8ae..a3abc3f8ed 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.general.tidepool.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event import java.text.SimpleDateFormat -import java.util.* +import java.util.Locale class EventTidepoolStatus(val status: String) : Event() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt index de2b353dc0..5e4f76717e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.tidepool.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventTidepoolUpdateGUI : Event() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt index 42a73bde1e..40480ec784 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt @@ -1,10 +1,9 @@ package info.nightscout.androidaps.plugins.general.tidepool.utils -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt index 0cad0dcd55..67864710ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt @@ -6,13 +6,13 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.databinding.WearFragmentBinding -import info.nightscout.androidaps.events.EventMobileToWear -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index e705b0b8bb..8178099127 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -3,24 +3,24 @@ package info.nightscout.androidaps.plugins.general.wear import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventAutosensCalculationFinished -import info.nightscout.androidaps.events.EventMobileToWear import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index f77267e978..57f5fd3729 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -12,9 +12,7 @@ import info.nightscout.androidaps.database.entities.* import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.androidaps.dialogs.InsulinDialog -import info.nightscout.androidaps.events.EventMobileToWear import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.total @@ -22,8 +20,6 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.* import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -31,14 +27,17 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.* -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData +import info.nightscout.ui.dialogs.CarbsDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DateFormat diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index 1a3cd7f601..27e97c7ac4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -4,26 +4,45 @@ import android.os.Binder import android.os.Handler import android.os.HandlerThread import com.google.android.gms.tasks.Tasks -import com.google.android.gms.wearable.* +import com.google.android.gms.wearable.CapabilityClient +import com.google.android.gms.wearable.CapabilityInfo +import com.google.android.gms.wearable.DataEvent +import com.google.android.gms.wearable.DataEventBuffer +import com.google.android.gms.wearable.DataMap +import com.google.android.gms.wearable.MessageEvent +import com.google.android.gms.wearable.Node +import com.google.android.gms.wearable.PutDataMapRequest +import com.google.android.gms.wearable.Wearable +import com.google.android.gms.wearable.WearableListenerService import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.events.EventMobileToWear -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import kotlinx.coroutines.* +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.cancel +import kotlinx.coroutines.launch import kotlinx.coroutines.tasks.await import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index d08cffd0fb..65ad45decf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -13,8 +13,6 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.database.interfaces.end -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.events.EventConfigBuilderChange import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData @@ -30,7 +28,6 @@ import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DateUtil @@ -38,10 +35,13 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.MidnightTime import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.workflow.CalculationWorkflow -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index b5bb5f79ff..765b817a55 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -10,14 +10,13 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.events.EventAutosensCalculationFinished import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData @@ -30,13 +29,15 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.workflow.CalculationWorkflow -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject import kotlin.math.abs import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index b22f092719..f64012dd91 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -9,13 +9,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.events.EventAutosensCalculationFinished import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData @@ -28,11 +27,12 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.workflow.CalculationWorkflow -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import kotlin.math.abs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventIobCalculationProgress.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventIobCalculationProgress.kt index 3da3b8e3bd..aef9156319 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventIobCalculationProgress.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventIobCalculationProgress.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.events -import info.nightscout.androidaps.events.Event import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.rx.events.Event class EventIobCalculationProgress(val pass: CalculationWorkflow.ProgressData, val progressPct: Int, val cause: Event?) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt index 83704b9489..89152e3794 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt @@ -34,15 +34,15 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt index 1f3d8b1f29..102d588ffa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt @@ -9,18 +9,18 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.VirtualpumpFragmentBinding -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventTempBasalChange import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventTempBasalChange import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index e60b7547be..ec5a5435e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -23,7 +23,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress @@ -35,9 +34,10 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.TimeChangeType -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt index a0498aa14d..b5f08f2b2f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.virtual.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventVirtualPumpUpdateGui : EventUpdateGui() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index a942d50f94..6fb6018361 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -4,14 +4,14 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.Round +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import kotlin.math.max import kotlin.math.min diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 9550e9f8f9..8fbb1fdcf6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -18,8 +18,9 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.plugins.utils.Percentile -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 34ace702d0..af482d3cd6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -19,8 +19,9 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.plugins.utils.Percentile -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index aa3033733e..c0f2fcf3ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -13,13 +13,13 @@ import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index 21d4a75b0f..c18625206d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -10,12 +10,17 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.interfaces.BgSource +import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt index 6266213326..61b5f1ee7e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt @@ -2,7 +2,12 @@ package info.nightscout.androidaps.plugins.source import android.os.Bundle import android.util.SparseArray -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import androidx.core.util.forEach import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle @@ -27,15 +32,15 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.concurrent.TimeUnit diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index c170c0a7d6..7dfeb49669 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -9,7 +9,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.entities.TherapyEvent @@ -27,13 +26,14 @@ import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index 92b24df2df..52e59af732 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -15,14 +15,14 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Arrays import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index 2daf641769..fd5a3f728c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -14,10 +14,10 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 12dabeff51..6397aa7a6a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -17,14 +17,14 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 1183c22fa7..547d247676 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -21,13 +21,13 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index b21599a57f..9952accd15 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -13,12 +13,12 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index 8d8ba5ef8c..f28015d260 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -14,9 +14,8 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.nsclient.data.NSSgv import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification @@ -24,8 +23,9 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 2047be6e7a..89f742c4d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.utils.JsonHelper.safeGetString -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index deff869400..57a143f8ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -8,17 +8,23 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.interfaces.BgSource +import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject import javax.inject.Singleton import kotlin.math.PI diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index 719357cf81..cc18b05559 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 4ca1f0eb01..4b54a66f02 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/BTReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/BTReceiver.kt index 8d4a97c243..677a8a95d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/BTReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/BTReceiver.kt @@ -4,9 +4,9 @@ import android.bluetooth.BluetoothDevice import android.content.Context import android.content.Intent import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.events.EventBTChange import info.nightscout.androidaps.extensions.safeGetParcelableExtra -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventBTChange import javax.inject.Inject class BTReceiver : DaggerBroadcastReceiver() { diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/ChargingStateReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/ChargingStateReceiver.kt index 0013616cc9..161f548878 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/ChargingStateReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/ChargingStateReceiver.kt @@ -5,10 +5,10 @@ import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject class ChargingStateReceiver : DaggerBroadcastReceiver() { diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt index c19b71ad8e..44a0273433 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt @@ -6,14 +6,21 @@ import android.provider.Telephony import androidx.work.Data import androidx.work.OneTimeWorkRequest import dagger.android.DaggerBroadcastReceiver -import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin -import info.nightscout.androidaps.plugins.source.* +import info.nightscout.androidaps.plugins.source.AidexPlugin +import info.nightscout.androidaps.plugins.source.DexcomPlugin +import info.nightscout.androidaps.plugins.source.EversensePlugin +import info.nightscout.androidaps.plugins.source.GlimpPlugin +import info.nightscout.androidaps.plugins.source.MM640gPlugin +import info.nightscout.androidaps.plugins.source.PoctechPlugin +import info.nightscout.androidaps.plugins.source.TomatoPlugin +import info.nightscout.androidaps.plugins.source.XdripPlugin import info.nightscout.androidaps.utils.extensions.copyDouble import info.nightscout.androidaps.utils.extensions.copyLong import info.nightscout.androidaps.utils.extensions.copyString -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.BundleLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.BundleLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject open class DataReceiver : DaggerBroadcastReceiver() { diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 4245c645f9..fa9875cbc9 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.events.EventProfileSwitchChanged import info.nightscout.androidaps.extensions.buildDeviceStatus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -27,15 +26,16 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.widget.Widget import java.util.concurrent.TimeUnit diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt index f07a843d00..9d15dd9678 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt @@ -6,11 +6,12 @@ import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.BundleLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.TimeChangeType -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.BundleLogger +import info.nightscout.rx.logging.LTag +import java.util.Date +import java.util.TimeZone import javax.inject.Inject class TimeDateOrTZChangeReceiver : DaggerBroadcastReceiver() { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 742ea969f6..a1a7f2b21d 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -22,13 +22,10 @@ import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus -import info.nightscout.plugins.profile.ProfileFragment -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin @@ -50,6 +47,9 @@ import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.plugins.profile.ProfileFragment +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt index c1cfb270aa..24ca417851 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt @@ -7,7 +7,7 @@ import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventStatus import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 9bd975de19..9819c62aee 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -9,19 +9,19 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding -import info.nightscout.androidaps.events.EventProfileSwitchChanged -import info.nightscout.androidaps.events.EventProfileStoreChanged import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.locale.LocaleHelper.update -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventProfileStoreChanged +import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt index 4db19af5d0..9e703c1e52 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt @@ -8,12 +8,12 @@ import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.protection.PasswordCheck -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import java.util.concurrent.Executors import java.util.concurrent.ScheduledFuture diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index 95401bdfab..f8a5ad0af5 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -9,13 +9,13 @@ import android.widget.RadioGroup import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.events.EventConfigBuilderChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.setupwizard.SWDefinition import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.rx.events.EventConfigBuilderChange import javax.inject.Inject class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinition) : SWItem(injector, Type.PLUGIN) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt index 636c94c2bf..4c9322ec3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.setupwizard.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventSWLabel(var label: String) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt index 3c700cda41..f67b6b0566 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.setupwizard.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventSWUpdate(var redraw: Boolean) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt b/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt index ffeecdce1b..ed9202fe0d 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt @@ -1,14 +1,15 @@ package info.nightscout.androidaps.utils import android.text.Spanned -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.utils.HtmlHelper.fromHtml +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONArray import org.json.JSONException import org.json.JSONObject import java.text.DateFormat import java.text.SimpleDateFormat -import java.util.* +import java.util.Date +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt b/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt index 899fdf3e3f..34d7ca78d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt @@ -1,8 +1,9 @@ package info.nightscout.androidaps.utils import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt index 2749708ea7..0499951dfd 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt @@ -1,13 +1,12 @@ package info.nightscout.androidaps.utils import android.os.SystemClock -import javax.inject.Singleton -import javax.inject.Inject -import info.nightscout.shared.logging.AAPSLogger -import java.lang.Exception +import info.nightscout.rx.logging.AAPSLogger import java.net.DatagramPacket import java.net.DatagramSocket import java.net.InetAddress +import javax.inject.Inject +import javax.inject.Singleton /* * Copyright (C) 2008 The Android Open Source Project diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt index 00cfef4013..30085521bb 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt @@ -16,6 +16,7 @@ class ConfigImpl @Inject constructor() : Config { override val PUMPDRIVERS = BuildConfig.FLAVOR == "full" || BuildConfig.FLAVOR == "pumpcontrol" override val FLAVOR = BuildConfig.FLAVOR override val VERSION_NAME = BuildConfig.VERSION_NAME + override val DEBUG = BuildConfig.DEBUG override val currentDeviceModelString = Build.MANUFACTURER + " " + Build.MODEL + " (" + Build.DEVICE + ")" diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 0f0aa7211d..ff0c0e3c51 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertOrUpdateBolusCalculatorResultTransaction -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString @@ -25,6 +24,7 @@ import info.nightscout.androidaps.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase @@ -34,8 +34,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.queue.Callback @@ -44,8 +42,10 @@ import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index c6dee8a660..a85ede2596 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -11,15 +11,15 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper.safeGetInt import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject -import java.util.* +import java.util.UUID import javax.inject.Inject class QuickWizardEntry @Inject constructor(private val injector: HasAndroidInjector) { diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt index 7fe6ed3a1c..88de76bf7f 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt @@ -10,16 +10,11 @@ import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.Event -import info.nightscout.androidaps.events.EventAppInitialized import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventOfflineChange import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventTherapyEventChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOref1Worker @@ -28,9 +23,14 @@ import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.Event +import info.nightscout.rx.events.EventAppInitialized +import info.nightscout.rx.events.EventOfflineChange +import info.nightscout.rx.events.EventTherapyEventChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt index 398968d6c2..afd05522ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt @@ -5,11 +5,11 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.Event import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.rx.events.Event import javax.inject.Inject class InvokeLoopWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt index 9de696516a..0e012a45f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt @@ -7,10 +7,10 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class LoadBgDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt index 17113fcdca..909ea4929c 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt @@ -11,13 +11,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.interfaces.ResourceHelper -import java.util.ArrayList +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class PrepareBasalDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt index 967d637f7d..b51cbfece8 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt @@ -7,13 +7,13 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.InMemoryGlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class PrepareBucketedDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 1ed9abf4e3..498e481a56 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -17,7 +17,6 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -30,8 +29,9 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import kotlin.math.abs import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 2377af0fd3..35a7825f25 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus @@ -20,6 +19,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Point import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus import java.util.Calendar import javax.inject.Inject import kotlin.math.ceil diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index 820a93b4f7..8de67bd294 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import javax.inject.Inject import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index 71e996c1d6..344c10c228 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -13,15 +13,21 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewData -import info.nightscout.androidaps.plugins.general.overview.graphExtensions.* +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.CarbsDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.EffectiveProfileSwitchDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ExtendedBolusDataPoint +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries +import info.nightscout.androidaps.plugins.general.overview.graphExtensions.TherapyEventDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.Translator +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class PrepareTreatmentsDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/UpdateGraphWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/UpdateGraphWorker.kt index f5294d6d7f..9a61557e6b 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/UpdateGraphWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/UpdateGraphWorker.kt @@ -4,10 +4,10 @@ import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class UpdateGraphWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/UpdateIobCobSensWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/UpdateIobCobSensWorker.kt index 5f611e130c..f1ddd358d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/UpdateIobCobSensWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/UpdateIobCobSensWorker.kt @@ -4,10 +4,10 @@ import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewIobCob import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewSensitivity +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class UpdateIobCobSensWorker( diff --git a/app/src/test/java/info/nightscout/androidaps/TestBase.kt b/app/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..1a4ad8a9cc 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 0eb177fb7c..fca5f85d76 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index df4af5b255..2fe3c044f1 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -11,19 +11,19 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt index 2bd044ae26..9fbac0640b 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt @@ -5,9 +5,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt index e98190d4fd..0a98a6876d 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.general.nsclient import android.content.Context import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.androidaps.events.EventNetworkChange import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 1f844ec3e7..2f972a8f7f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -8,11 +8,11 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index d2985f7450..a5305c4392 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -4,11 +4,11 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 0e0d8bcb84..e309afb5c4 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -5,15 +5,22 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/automation/build.gradle b/automation/build.gradle index c938522da0..15984586c8 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -16,5 +16,6 @@ dependencies { implementation project(':graphview') implementation project(':core') implementation project(':database') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt b/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt index 9b70ea5232..3c431ebd34 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt @@ -8,7 +8,7 @@ import info.nightscout.automation.actions.ActionDummy import info.nightscout.automation.actions.ActionStopProcessing import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.automation.triggers.TriggerDummy -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONArray import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index 4d775cf789..497e4d46e7 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -28,7 +28,6 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper @@ -36,13 +35,14 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.dragHelpers.ItemTouchHelperAdapter import info.nightscout.androidaps.utils.dragHelpers.OnStartDragListener import info.nightscout.androidaps.utils.dragHelpers.SimpleItemTouchHelperCallback -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.automation.databinding.AutomationEventItemBinding import info.nightscout.automation.databinding.AutomationFragmentBinding import info.nightscout.automation.dialogs.EditEventDialog import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.triggers.TriggerConnector +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 3061decaa5..c82ff015f9 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -6,9 +6,6 @@ import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.events.EventBTChange -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.androidaps.events.EventNetworkChange import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Config @@ -18,12 +15,10 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm import info.nightscout.automation.actions.ActionCarePortalEvent @@ -57,8 +52,13 @@ import info.nightscout.automation.triggers.TriggerTempTargetValue import info.nightscout.automation.triggers.TriggerTime import info.nightscout.automation.triggers.TriggerTimeRange import info.nightscout.automation.triggers.TriggerWifiSsid -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventBTChange +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/automation/src/main/java/info/nightscout/automation/actions/Action.kt b/automation/src/main/java/info/nightscout/automation/actions/Action.kt index 0912187d79..82bf97823a 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/Action.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/Action.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.triggers.Trigger -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 5b333d6865..d045ab95ef 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -5,7 +5,6 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper @@ -14,6 +13,7 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index 1eb043d055..13b7c8d1bd 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -22,7 +22,8 @@ import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 2d0a2b79c3..ffeec5379d 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -5,16 +5,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview import javax.inject.Inject class ActionLoopDisable(injector: HasAndroidInjector) : Action(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index d51a12002a..4e2dc2f1e4 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -5,15 +5,15 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview import javax.inject.Inject class ActionLoopEnable(injector: HasAndroidInjector) : Action(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index 157dde9be8..194b154ea9 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -7,15 +7,15 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.automation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index 89daf25063..68b59f70af 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -7,16 +7,16 @@ import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index 7b5e824458..a9940d27af 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -6,8 +6,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationUserMessage import info.nightscout.androidaps.queue.Callback @@ -16,6 +14,8 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index eb4f1d4915..e0308befd3 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -17,7 +17,8 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 975fc3a871..e8204b7bd8 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -18,7 +18,8 @@ import info.nightscout.automation.elements.InputPercent import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.triggers.TriggerProfilePercent -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index af98613a0d..2b83fa074c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -15,7 +15,8 @@ import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 985ad6b884..151341f1d5 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -28,7 +28,8 @@ import info.nightscout.automation.elements.InputTempTarget import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.triggers.TriggerTempTarget -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index c921884a58..6a8d5f1967 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -10,7 +10,8 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.automation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt index 1f760c89f0..13b711aef6 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt @@ -7,12 +7,12 @@ import android.view.ViewGroup import android.widget.RadioButton import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.actions.Action import info.nightscout.automation.databinding.AutomationDialogChooseActionBinding import info.nightscout.automation.events.EventAutomationAddAction import info.nightscout.automation.events.EventAutomationUpdateGui +import info.nightscout.rx.bus.RxBus import javax.inject.Inject import kotlin.reflect.full.primaryConstructor diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt index 0371700726..65d9c1dbff 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt @@ -6,11 +6,11 @@ import android.view.View import android.view.ViewGroup import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionDummy import info.nightscout.automation.databinding.AutomationDialogActionBinding import info.nightscout.automation.events.EventAutomationUpdateAction +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt index 7362c47a92..1a27dd9821 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt @@ -12,10 +12,8 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.R @@ -26,6 +24,8 @@ import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateAction import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.events.EventAutomationUpdateTrigger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt index e03aa29246..5d7bd3cc27 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt @@ -6,9 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.automation.databinding.AutomationDialogEditTriggerBinding import info.nightscout.automation.events.EventAutomationUpdateTrigger import info.nightscout.automation.events.EventTriggerChanged @@ -17,6 +15,8 @@ import info.nightscout.automation.events.EventTriggerRemove import info.nightscout.automation.triggers.Trigger import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.automation.triggers.TriggerDummy +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt b/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt index 0927b0adee..c0bb064793 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event import info.nightscout.automation.actions.Action +import info.nightscout.rx.events.Event class EventAutomationAddAction(val action: Action) : Event() diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt b/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt index 62afbd58fb..d0164d00b1 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventAutomationDataChanged : Event() diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt index c0a07acd0b..6b66e51230 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event import info.nightscout.automation.actions.Action +import info.nightscout.rx.events.Event class EventAutomationUpdateAction(val action: Action, val position: Int) : Event() \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt index 1e8a34fcd5..7c719cb9e3 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventAutomationUpdateGui : Event() diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt index 36641921d8..6d1d79d07a 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event import info.nightscout.automation.triggers.TriggerConnector +import info.nightscout.rx.events.Event class EventAutomationUpdateTrigger(val trigger: TriggerConnector) : Event() diff --git a/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt b/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt index f9b1e43dc0..516084aa87 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events import android.location.Location -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventLocationChange(var location: Location) : Event() diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt b/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt index f876df72bd..864140086e 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventTriggerChanged : Event() \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt b/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt index 2ac79c766b..f72a32c43a 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event import info.nightscout.automation.triggers.Trigger +import info.nightscout.rx.events.Event class EventTriggerClone(val trigger: Trigger) : Event() \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt b/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt index e7c2415eec..abd7e2bf15 100644 --- a/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt +++ b/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.events -import info.nightscout.androidaps.events.Event import info.nightscout.automation.triggers.Trigger +import info.nightscout.rx.events.Event class EventTriggerRemove(val trigger: Trigger) : Event() \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt index 0cad0e3e61..f7ba427bae 100644 --- a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt +++ b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt @@ -16,16 +16,16 @@ import android.os.IBinder import androidx.core.app.ActivityCompat import com.google.android.gms.location.LocationServices import dagger.android.DaggerService -import info.nightscout.androidaps.events.EventAppExit import info.nightscout.androidaps.interfaces.NotificationHolder -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.automation.R import info.nightscout.automation.events.EventLocationChange -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt index a7340492b5..36a6344d42 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.automation.R @@ -23,8 +22,9 @@ import info.nightscout.automation.events.EventTriggerChanged import info.nightscout.automation.events.EventTriggerClone import info.nightscout.automation.events.EventTriggerRemove import info.nightscout.automation.services.LastLocationDataContainer -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt index 6faf32a001..7d24e3cd14 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputDouble import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt index 1b554b3d7f..1e20c7002c 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt @@ -9,7 +9,6 @@ import android.widget.LinearLayout import androidx.core.app.ActivityCompat import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventBTChange import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationPlugin @@ -18,7 +17,8 @@ import info.nightscout.automation.elements.ComparatorConnect import info.nightscout.automation.elements.InputDropdownMenu import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.events.EventBTChange +import info.nightscout.rx.logging.LTag import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt index 8b105a4650..892e61b7b6 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt @@ -13,7 +13,8 @@ import info.nightscout.automation.elements.InputBg import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerBg(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt index f1db96fa39..2d363d5442 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt @@ -13,7 +13,8 @@ import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerBolusAgo(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt index ed3f2a2009..f1c1b63515 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputDouble import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt index abe89bd9fd..baf5e3ae36 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt @@ -14,7 +14,8 @@ import info.nightscout.androidaps.utils.JsonHelper.safeGetString import info.nightscout.androidaps.utils.ui.VerticalTextView import info.nightscout.automation.R import info.nightscout.automation.dialogs.ChooseOperationDialog -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONArray import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt index 5c2721d468..24a1fb3415 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt @@ -14,7 +14,8 @@ import info.nightscout.automation.elements.InputDelta.DeltaType import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt index ff78e82bdb..d65e1205c7 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt @@ -10,7 +10,8 @@ import info.nightscout.automation.elements.InputInsulin import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerIob(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt index 1b21bfdea0..8326e881ac 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt @@ -13,7 +13,8 @@ import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt index 13d5875101..2a2e7b69ef 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputPercent import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerProfilePercent(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt index 624bd34f7e..1f11e3ee61 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerPumpLastConnection(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt index 777caaa237..8a7710ea18 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputTime import info.nightscout.automation.elements.InputWeekDay import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import java.util.Calendar import java.util.Objects diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt index 93840e711e..13ab332295 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt @@ -9,7 +9,8 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerTempTarget(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index 48dad6bd83..6e64df98b4 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -14,7 +14,8 @@ import info.nightscout.automation.elements.InputBg import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerTempTargetValue(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt index 9227168f99..2c32bd8c01 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt @@ -9,7 +9,8 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputDateTime import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject class TriggerTime(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt index 399f079d51..09735c60bd 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt @@ -10,7 +10,8 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputTimeRange import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject // Trigger for time range ( from 10:00AM till 13:00PM ) diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt index 8431aac4d0..9cc2916c0e 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt @@ -11,7 +11,8 @@ import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/res/drawable/ic_as.xml b/automation/src/main/res/drawable/ic_as.xml index 152a314c2d..f11ce03313 100644 --- a/automation/src/main/res/drawable/ic_as.xml +++ b/automation/src/main/res/drawable/ic_as.xml @@ -1,5 +1,4 @@ >(private var value: T) { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt index eab8f4059b..8bfee90590 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import androidx.annotation.StringRes -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus interface Overview : ConfigExportImport { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt index c57fc847ba..65e69ba142 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt @@ -3,9 +3,8 @@ package info.nightscout.androidaps.interfaces import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag /** * Created by mike on 09.06.2016. diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index fbe7845584..59ad26a56c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.Constants import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Round +import info.nightscout.rx.bus.RxBus import org.joda.time.DateTime import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index 3a39fdb446..4115c38977 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -5,11 +5,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index 3e3e239216..f4a98b2f5d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -3,8 +3,7 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger abstract class PumpPluginBase( pluginDescription: PluginDescription, diff --git a/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt b/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt new file mode 100644 index 0000000000..b8c685b857 --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt @@ -0,0 +1,2 @@ +package info.nightscout.androidaps.logging + diff --git a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt index 89b5563caa..cc84ee76ba 100644 --- a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt +++ b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt @@ -2,14 +2,14 @@ package info.nightscout.androidaps.logging import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.UserEntryTransaction -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.userEntry.UserEntryMapper import info.nightscout.androidaps.utils.userEntry.ValueWithUnitMapper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import io.reactivex.rxjava3.kotlin.subscribeBy diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 010dea9225..0971699506 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -17,8 +17,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HtmlHelper.fromHtml -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt index 37ff0a5983..c71dedfca1 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt @@ -1,16 +1,22 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index d1b50c3871..9c5a29d12e 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -3,15 +3,15 @@ package info.nightscout.androidaps.plugins.constraints.versionChecker import android.os.Build import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.Config -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import java.io.IOException import java.net.URL diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt index 8d0aa9fac2..db499d6296 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.general.nsclient.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event import java.text.SimpleDateFormat -import java.util.* +import java.util.Locale class EventNSClientNewLog(var action: String, var logText: String) : Event() { var date = System.currentTimeMillis() diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index 0682f3646e..a50b7805b3 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import java.util.Calendar import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt index f368691c3b..d7595d7417 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val id: Long?) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt index bd719ecac8..c9156c63ce 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDismissNotification(var id: Int) : Event() diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt index b70af5bfe1..e3896196b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.Event class EventNewNotification(var notification: Notification) : Event() diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt index ba66ac32c0..b4db9ce15b 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event object EventOverviewBolusProgress : Event() { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt index f57d71315b..a008aea3b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt @@ -6,13 +6,13 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.InMemoryGlucoseValue import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import kotlin.math.abs import kotlin.math.roundToLong diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt index f722383f5f..37a01b3d4d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt @@ -2,10 +2,9 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import dagger.Reusable import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.DateUtil -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import kotlin.math.roundToLong diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index c64871e52f..e1933cd9d1 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -6,17 +6,17 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Locale import javax.inject.Inject import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt index c9411eb259..29edeb4e48 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventBucketedDataCreated : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt index 3a3737d2cf..97c7cd0641 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt @@ -2,10 +2,9 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.T -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt index a24ca2b6c7..615b4a660a 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt @@ -2,10 +2,9 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.T -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index c180436adb..f4e827041f 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -4,10 +4,10 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.AppRepository -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.queue.Callback +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject abstract class Command( diff --git a/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt b/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt index 297d443976..274c470372 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.queue.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventQueueChanged : Event() diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt index 3a9f65c500..f6bcc219d7 100644 --- a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt +++ b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt @@ -8,11 +8,11 @@ import android.net.NetworkCapabilities import android.net.wifi.SupplicantState import android.net.wifi.WifiManager import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.events.EventNetworkChange -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.StringUtils +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject class NetworkChangeReceiver : DaggerBroadcastReceiver() { diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt b/core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt index 5a7bf617aa..38d6e96645 100644 --- a/core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.receivers -import info.nightscout.androidaps.annotations.OpenForTesting import android.content.Context import android.content.Intent -import info.nightscout.androidaps.events.EventChargingState -import info.nightscout.androidaps.events.EventNetworkChange -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.annotations.OpenForTesting +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange import javax.inject.Inject import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt index 07e79a59ef..b945f77273 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt +++ b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt @@ -12,8 +12,9 @@ import dagger.android.DaggerService import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import kotlin.math.ln diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt index 9d47b78572..bca49fa90a 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt @@ -6,8 +6,9 @@ import android.content.Intent import android.content.ServiceConnection import android.os.IBinder import info.nightscout.androidaps.interfaces.NotificationHolder -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt b/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt index a752675e7b..18beeac298 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.extensions.toHex +import info.nightscout.rx.logging.AAPSLogger import org.spongycastle.util.encoders.Base64 import java.nio.ByteBuffer import java.security.MessageDigest diff --git a/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt b/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt index 46a8813120..1b9cc5b517 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt @@ -7,10 +7,9 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.ktx.Firebase import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import java.io.ByteArrayInputStream import java.io.IOException import java.io.ObjectInputStream @@ -97,7 +96,7 @@ class FabricPrivacy @Inject constructor( return sp.getBoolean(R.string.key_enable_fabric, true) } - fun logWearException(wearException: EventData.WearException) { + fun logWearException(wearException: info.nightscout.rx.weardata.EventData.WearException) { aapsLogger.debug(LTag.WEAR, "logWearException") FirebaseCrashlytics.getInstance().apply { setCustomKey("wear_exception", true) diff --git a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt b/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt index 178de9d920..4fcee4fac4 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt @@ -5,9 +5,9 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt b/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt index b0fcf672d3..e58b6d9fa7 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt @@ -13,10 +13,10 @@ import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.appcompat.view.ContextThemeWrapper import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.resources.getThemeColor +import info.nightscout.rx.bus.RxBus object ToastUtils { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt index 185b97f89f..8fa18c3e67 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt @@ -4,8 +4,9 @@ import android.content.Context import android.util.AttributeSet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class SingleClickButton @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.style.Widget_MaterialComponents_Button) : diff --git a/core/src/test/java/info/nightscout/androidaps/TestBase.kt b/core/src/test/java/info/nightscout/androidaps/TestBase.kt index 57aca0507a..77f5cd6515 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 5b9d401678..355e298975 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,11 +12,11 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import org.junit.Before diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index fd28bdb158..f6a8030a54 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -11,21 +11,21 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import org.junit.Assert import org.junit.Before import org.junit.Test import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.anyInt import org.mockito.Mockito.anyString -import java.util.* +import org.mockito.Mockito.`when` +import java.util.Calendar /** * Created by mike on 18.03.2018. diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt index da7413d2b5..fc92bcce56 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt @@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.contraints.versionChecker import android.content.Context import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Config -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.constraints.versionChecker.numericVersionPart import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertEquals @@ -16,10 +16,10 @@ import org.junit.Before import org.junit.Test import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.anyString import org.mockito.Mockito.times import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` @Suppress("SpellCheckingInspection") class VersionCheckerUtilsKtTest : TestBase() { diff --git a/implementation/build.gradle b/implementation/build.gradle index be1039c0b6..73702d2206 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -14,7 +14,8 @@ android { dependencies { implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':automation') } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 7d5c100abc..4144e775a0 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -20,10 +20,10 @@ import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.rx.bus.RxBus import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index c61e70cd63..01b1d2bd80 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -15,14 +15,14 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 92ea49f14b..55483637d3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -12,8 +12,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 519b260647..ef923528f9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -16,8 +16,6 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventMobileToWear -import info.nightscout.androidaps.events.EventProfileSwitchChanged import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames @@ -26,12 +24,11 @@ import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -43,7 +40,6 @@ import info.nightscout.androidaps.queue.commands.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus @@ -62,10 +58,13 @@ import info.nightscout.implementation.queue.commands.CommandStartPump import info.nightscout.implementation.queue.commands.CommandStopPump import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.implementation.queue.commands.CommandTempBasalPercent -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import io.reactivex.rxjava3.kotlin.subscribeBy @@ -325,7 +324,7 @@ class CommandQueueImplementation @Inject constructor( // not when the Bolus command is starting. The command closes the dialog upon completion). showBolusProgressDialog(detailedBolusInfo) // Notify Wear about upcoming bolus - rxBus.send(EventMobileToWear(EventData.BolusProgress(percent = 0, status = rh.gs(R.string.goingtodeliver, detailedBolusInfo.insulin)))) + rxBus.send(EventMobileToWear(info.nightscout.rx.weardata.EventData.BolusProgress(percent = 0, status = rh.gs(R.string.goingtodeliver, detailedBolusInfo.insulin)))) } } notifyAboutNewCommand() diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 86e7887daf..ea211cdf3c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -14,13 +14,13 @@ import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP class QueueThread internal constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index 66c933aa16..4c9c16e338 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -4,12 +4,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject class CommandBolus( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index 4a88bee589..5dfaf53912 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandCancelExtendedBolus constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index 41092b6311..04544af2af 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandCancelTempBasal( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index 318131629e..9d4a1ee448 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.CustomCommand -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandCustomCommand( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index 62d7aef111..c6787b2733 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandExtendedBolus constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index a8f515370f..90ebb177f2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -7,7 +7,8 @@ import info.nightscout.androidaps.interfaces.Diaconn import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandLoadEvents( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 89939c2b4c..7ecbfa0c9c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -7,7 +7,8 @@ import info.nightscout.androidaps.interfaces.Diaconn import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandLoadHistory( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index 138cebbfd6..96e74e39fa 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandLoadTDDs( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 8c709856e9..1f28e136b0 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -8,7 +8,8 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandReadStatus( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 8d1585c46d..058cd5db98 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -9,7 +9,8 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandSMBBolus( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index ee9a44b921..c79a34925b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -13,7 +13,8 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandSetProfile constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 0881228712..36560afa6e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -7,7 +7,8 @@ import info.nightscout.androidaps.interfaces.Diaconn import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandSetUserSettings( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index 3ac8bd25ab..76721e8225 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -7,7 +7,8 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandTempBasalAbsolute( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index 09351cf5b3..d6150d8267 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -7,7 +7,8 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class CommandTempBasalPercent( diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index 0c0c621a75..e06ea61c73 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -24,8 +24,9 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..b4c68bf8b5 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 0eb177fb7c..fca5f85d76 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index 11b81bc1c0..0fe77de71a 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -11,12 +11,12 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 60b49c4d97..127c8789d9 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -11,13 +11,13 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.TimerUtil import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 8688ae5089..df3c6069d9 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -21,20 +21,20 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCustomCommand import info.nightscout.implementation.queue.commands.CommandExtendedBolus import info.nightscout.implementation.queue.commands.CommandLoadHistory import info.nightscout.implementation.queue.commands.CommandTempBasalPercent -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Single import org.junit.Assert diff --git a/insight/build.gradle b/insight/build.gradle index e81e5f65b8..55d341a152 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -25,7 +25,8 @@ android { dependencies { implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':pump:pump-common') api "androidx.room:room-ktx:$room_version" diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java index 5fccf13dd9..1929a5764b 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java @@ -22,8 +22,9 @@ import javax.inject.Inject; import dagger.android.DaggerService; import info.nightscout.androidaps.insight.R; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag +; import info.nightscout.androidaps.plugins.pump.insight.activities.InsightAlertActivity; import info.nightscout.androidaps.plugins.pump.insight.app_layer.remote_control.ConfirmAlertMessage; import info.nightscout.androidaps.plugins.pump.insight.app_layer.remote_control.SnoozeAlertMessage; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index b591f2f4c2..ef3d24daba 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -22,7 +22,7 @@ import javax.inject.Inject; import dagger.android.support.DaggerFragment; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.rx.bus.RxBus; import info.nightscout.androidaps.plugins.pump.insight.app_layer.parameter_blocks.TBROverNotificationBlock; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBasalRate; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBolus; @@ -36,7 +36,7 @@ import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; +import info.nightscout.rx.AapsSchedulers; import io.reactivex.rxjava3.disposables.CompositeDisposable; public class LocalInsightFragment extends DaggerFragment implements View.OnClickListener { diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 8ef2bc3e8f..e13b9151a5 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -34,8 +34,8 @@ import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.interfaces.Insight; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventInitializationChanged; -import info.nightscout.androidaps.events.EventRefreshOverview; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventRefreshOverview; import info.nightscout.androidaps.insight.database.InsightBolusID; import info.nightscout.androidaps.insight.database.InsightDbHelper; import info.nightscout.androidaps.insight.database.InsightHistoryOffset; @@ -54,9 +54,10 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag +; +import info.nightscout.rx.bus.RxBus; import info.nightscout.androidaps.plugins.common.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/connection_service/InsightConnectionService.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/connection_service/InsightConnectionService.java index d121480611..092e568bc6 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/connection_service/InsightConnectionService.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/connection_service/InsightConnectionService.java @@ -89,8 +89,9 @@ import info.nightscout.androidaps.plugins.pump.insight.utils.PairingDataStorage; import info.nightscout.androidaps.plugins.pump.insight.utils.crypto.Cryptograph; import info.nightscout.androidaps.plugins.pump.insight.utils.crypto.DerivedKeys; import info.nightscout.androidaps.plugins.pump.insight.utils.crypto.KeyPair; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag +; import info.nightscout.shared.sharedPreferences.SP; public class InsightConnectionService extends DaggerService implements ConnectionEstablisher.Callback, InputStreamReader.Callback, OutputStreamWriter.Callback { diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/events/EventLocalInsightUpdateGUI.kt b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/events/EventLocalInsightUpdateGUI.kt index d89515fe56..b36ebb9f87 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/events/EventLocalInsightUpdateGUI.kt +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/events/EventLocalInsightUpdateGUI.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.insight.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventLocalInsightUpdateGUI : EventUpdateGui() diff --git a/openhumans/build.gradle b/openhumans/build.gradle index ead419045a..b163a0b21b 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -16,5 +16,6 @@ android { dependencies { implementation project(':core') implementation project(':database') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index f55c69216f..00a9440d3d 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -18,13 +18,13 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHStateDelegate import info.nightscout.androidaps.plugin.general.openhumans.ui.OHFragment import info.nightscout.androidaps.plugin.general.openhumans.ui.OHLoginActivity -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt index a3aa853141..9c9b41ec89 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt @@ -4,8 +4,9 @@ import android.content.Context import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class OpenHumansWorker( diff --git a/plugins/build.gradle b/plugins/build.gradle index 2200db2aa1..8b37792c94 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -13,7 +13,8 @@ android { } dependencies { - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':graphview') implementation project(':core') diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index dcbbd29554..41073537c1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -8,15 +8,15 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject @@ -31,7 +31,8 @@ class BgQualityCheckPlugin @Inject constructor( rh: ResourceHelper, private val rxBus: RxBus, private val iobCobCalculator: IobCobCalculator, - private val aapsSchedulers: AapsSchedulers, + private val aapsSchedulers: + AapsSchedulers, private val fabricPrivacy: FabricPrivacy, private val dateUtil: DateUtil ) : PluginBase( diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 0ef063a691..7df92d2c54 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -12,8 +12,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import java.util.Calendar import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index 5284948956..b27fe39aa4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index e79301346c..6562898475 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -11,11 +11,11 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.spongycastle.util.encoders.Hex import java.io.ByteArrayOutputStream diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index 8130725bd3..cd01f1778f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -10,13 +10,13 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index 4ed4d60b8b..fde32fe206 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -1,15 +1,20 @@ package info.nightscout.plugins.constraints.versionChecker import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import java.util.concurrent.TimeUnit import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 83b49617ce..5ca5667830 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -34,19 +34,19 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.MidnightTime import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.plugins.R import info.nightscout.plugins.databinding.AutotuneFragmentBinding import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui import info.nightscout.plugins.profile.ProfilePlugin -import info.nightscout.androidaps.events.EventLocalProfileChanged +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index a16f7d1cc1..756c99ef2f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -22,8 +22,9 @@ import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 1172fea43c..a5085f3783 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -19,7 +19,6 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.MidnightTime @@ -29,9 +28,10 @@ import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui import info.nightscout.plugins.profile.ProfilePlugin -import info.nightscout.androidaps.events.EventLocalProfileChanged -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index c5394c9312..46da8f29b3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -16,10 +16,10 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt index 7adff76e9d..21ac5f8e1c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.plugins.general.autotune.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventAutotuneUpdateGui : Event() \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 7756e897e4..e14263f65b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -17,22 +17,22 @@ import info.nightscout.androidaps.database.entities.Food import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.InvalidateFoodTransaction -import info.nightscout.androidaps.events.EventFoodDatabaseChanged import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.plugins.R import info.nightscout.plugins.databinding.FoodFragmentBinding import info.nightscout.plugins.databinding.FoodItemBinding -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventFoodDatabaseChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index fcb69bbf65..6a98347060 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -12,12 +12,12 @@ import info.nightscout.androidaps.extensions.foodFromJson import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index b5fdecd49e..a4d19cdb93 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -7,13 +7,13 @@ import info.nightscout.androidaps.data.Sms import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator -import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword -import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword +import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject class AuthRequest internal constructor( diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index ca957b1786..3e9107994f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -7,13 +7,13 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.Sms import info.nightscout.androidaps.interfaces.SmsCommunicator -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.plugins.databinding.SmscommunicatorFragmentBinding import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Collections diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 10e66853f5..7bc63f45ef 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -25,9 +25,7 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEven import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventRefreshOverview import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -47,7 +45,6 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -57,14 +54,17 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt index 719303492b..962584cfdc 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.plugins.general.smsCommunicator.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui internal class EventSmsCommunicatorUpdateGui : EventUpdateGui() diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index 26e70af0d2..9bf37c08b7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -6,14 +6,14 @@ import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventThemeSwitch import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventThemeSwitch +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt b/plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt index 4736566059..e7cb807f01 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.general.wear.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventWearUpdateGui : Event() \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 5b3fd72254..35227ac87d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -4,15 +4,29 @@ import android.content.Context import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.* +import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppInitialized +import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.events.EventTreatmentChange +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index c297f74233..5def10483b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -4,11 +4,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index e6756ca712..91d221ec92 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -1,17 +1,23 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.plugins.R import info.nightscout.androidaps.data.Iob import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import kotlin.math.exp import kotlin.math.pow diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index e14a2c8522..1eb5b1a8f9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -1,16 +1,16 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.plugins.R import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index 81bfaf25b5..7c3f7341f4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -5,10 +5,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index e11a36bdf9..5cb1f9f286 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -5,10 +5,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index f6979d557a..ecfd9166b1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -22,21 +22,21 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.plugins.R import info.nightscout.plugins.databinding.ProfileFragmentBinding -import info.nightscout.androidaps.events.EventLocalProfileChanged import info.nightscout.plugins.ui.TimeListEdit +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.math.RoundingMode diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index cf6856bfc0..68e12da3ac 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -10,8 +10,6 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.events.EventLocalProfileChanged -import info.nightscout.androidaps.events.EventProfileStoreChanged import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin @@ -26,7 +24,6 @@ import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil @@ -36,8 +33,11 @@ import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.rx.events.EventProfileStoreChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java index c4f0ba9469..aa6cf35307 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java +++ b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java @@ -27,8 +27,8 @@ import java.util.List; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.ui.NumberPicker; import info.nightscout.plugins.R; +import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.shared.SafeParse; -import info.nightscout.shared.logging.AAPSLogger; /** * Created by mike on 29.12.2016. diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..b4c68bf8b5 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 0eb177fb7c..fca5f85d76 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index 98ca921d72..6c995a118b 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt index e5855607a3..ea6e1920c3 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt @@ -4,8 +4,8 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt index c472773af8..ae25e436af 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt @@ -5,8 +5,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 7c287045d4..c7c98c3e0d 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index 409ac5c3eb..1496ef2fe4 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -6,10 +6,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 16801b1c5e..fb40c87216 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -8,9 +8,9 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index d2877bc236..bc6bed979f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -7,9 +7,9 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert.assertEquals import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index 5b256ff367..e119efb6b6 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -6,10 +6,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index afffc35b21..f1bee37c73 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -6,10 +6,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index 4d81e1672a..5f505c6b16 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -15,5 +15,6 @@ android { dependencies { implementation project(':libraries') implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt index 726b169505..a496f0cb73 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.combo.databinding.CombopumpFragmentBinding import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil.DisplayType import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI @@ -21,8 +21,8 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index bc40358970..4aa0cea4f4 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -24,8 +24,6 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventInitializationChanged; -import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; @@ -39,7 +37,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.common.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -62,8 +59,11 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.InstanceId; import info.nightscout.androidaps.utils.T; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; /** diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/events/EventComboPumpUpdateGUI.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/events/EventComboPumpUpdateGUI.kt index 604b55cd25..f1132704b1 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/events/EventComboPumpUpdateGUI.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/events/EventComboPumpUpdateGUI.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.combo.events -import info.nightscout.androidaps.events.EventUpdateGui +import info.nightscout.rx.events.EventUpdateGui class EventComboPumpUpdateGUI : EventUpdateGui() \ No newline at end of file diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/RuffyScripter.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/RuffyScripter.java index 565cf66f70..18b6e9cc3d 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/RuffyScripter.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/RuffyScripter.java @@ -41,8 +41,8 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.commands.Read import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.commands.SetBasalProfileCommand; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.commands.SetTbrCommand; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Provides scripting 'runtime' and operations. consider moving operations into a separate diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/BolusCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/BolusCommand.java index 1e0105f094..6d97d62228 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/BolusCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/BolusCommand.java @@ -21,8 +21,8 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BolusProgress import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpWarningCodes; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.WarningOrErrorCode; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class BolusCommand extends BaseCommand { diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/CancelTbrCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/CancelTbrCommand.java index 02b23f971a..9faa7a135a 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/CancelTbrCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/CancelTbrCommand.java @@ -6,8 +6,8 @@ import org.monkey.d.ruffy.ruffy.driver.display.MenuType; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpWarningCodes; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class CancelTbrCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadBasalProfileCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadBasalProfileCommand.java index 09d528099d..7d8a721d00 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadBasalProfileCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadBasalProfileCommand.java @@ -11,8 +11,8 @@ import java.util.Arrays; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BasalProfile; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class ReadBasalProfileCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadHistoryCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadHistoryCommand.java index b5dfb4044d..61dbdf292f 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadHistoryCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadHistoryCommand.java @@ -16,8 +16,8 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpH import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tbr; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class ReadHistoryCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadQuickInfoCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadQuickInfoCommand.java index f3b19be8bc..870f64e28e 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadQuickInfoCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/ReadQuickInfoCommand.java @@ -11,8 +11,8 @@ import java.util.List; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistory; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class ReadQuickInfoCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetBasalProfileCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetBasalProfileCommand.java index 343c694ced..53954cba9f 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetBasalProfileCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetBasalProfileCommand.java @@ -14,8 +14,8 @@ import java.util.List; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BasalProfile; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class SetBasalProfileCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetTbrCommand.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetTbrCommand.java index 367367497d..820fa56b48 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetTbrCommand.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ruffyscripter/commands/SetTbrCommand.java @@ -15,8 +15,8 @@ import java.util.Objects; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpWarningCodes; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.WarningOrErrorCode; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class SetTbrCommand extends BaseCommand { private final AAPSLogger aapsLogger; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index cbf204c960..18aa351c7b 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -7,11 +7,10 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt index 57aca0507a..e4d3c51234 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index 4ca6452d9f..d028827598 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -25,7 +25,8 @@ android { dependencies { implementation project(':libraries') implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 010dbb445a..3a915472e2 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -15,31 +15,31 @@ import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.dialogs.ProfileViewerDialog -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventInitializationChanged import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.events.EventTempBasalChange +import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Dana import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.Dana -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action +import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index bb473f586b..e8758375e2 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -5,13 +5,13 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.T +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime import org.joda.time.DateTimeZone diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index d978b295cf..8e638cf33b 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -16,24 +16,22 @@ import info.nightscout.androidaps.dana.database.DanaHistoryRecord import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao import info.nightscout.androidaps.dana.databinding.DanarHistoryActivityBinding import info.nightscout.androidaps.dana.databinding.DanarHistoryItemBinding -import info.nightscout.androidaps.events.EventDanaRSyncStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventDanaRSyncStatus +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import java.util.* import javax.inject.Inject class DanaHistoryActivity : NoSplashAppCompatActivity() { diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index 2e217293d2..dba95d41e8 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -7,15 +7,15 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBinding -import info.nightscout.androidaps.events.EventInitializationChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/events/EventDanaRNewStatus.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/events/EventDanaRNewStatus.kt index f022e5b128..2471a59e66 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/events/EventDanaRNewStatus.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/events/EventDanaRNewStatus.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.dana.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDanaRNewStatus : Event() diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..b4c68bf8b5 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 9f7ca05400..372a9ae90b 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,11 +9,11 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 9e4191877d..1133e24ce4 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -13,7 +13,8 @@ android { } dependencies { - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:dana') } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index e5d6e3ddfd..19e0d06456 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -12,21 +12,26 @@ import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.EventAppExit import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgCheckValue_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgCheckValue_k.kt index 10b44fc242..5f8f322d97 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgCheckValue_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgCheckValue_k.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgCheckValue_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt index 8097707145..d712f57753 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgInitConnStatusBasic_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt index 015c7fb7f3..6a2cf180b6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgInitConnStatusBolus_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt index 67b6f7a78d..d033dd4224 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.rx.logging.LTag class MsgInitConnStatusTime_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasalProfileAll_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasalProfileAll_k.kt index 40376ff409..fe92b5103d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasalProfileAll_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasalProfileAll_k.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Locale /** * Created by mike on 05.07.2016. diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasal_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasal_k.kt index d82af226a8..02a8b7afc8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasal_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgSettingBasal_k.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Locale class MsgSettingBasal_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatusBasic_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatusBasic_k.kt index 65f29325a5..d58c76b17b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatusBasic_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatusBasic_k.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatusBasic_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatus_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatus_k.kt index 5e180cfdcc..3a5b7fe043 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatus_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgStatus_k.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatus_k( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 1327d5aa85..2ec952dd19 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -37,20 +37,16 @@ import info.nightscout.androidaps.danar.comm.MsgSettingShippingInfo; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventInitializationChanged; -import info.nightscout.androidaps.events.EventProfileSwitchChanged; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; +import info.nightscout.androidaps.interfaces.Constraints; +import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; @@ -58,7 +54,11 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.T; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { @Inject AAPSLogger aapsLogger; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 3bd6c48967..6e6ef7c41d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -18,7 +18,6 @@ import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; @@ -26,7 +25,6 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; @@ -35,9 +33,11 @@ import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.Round; import info.nightscout.androidaps.utils.T; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt index 4a04364a2c..a78a231f4b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt @@ -4,11 +4,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.rx.logging.LTag class MsgCheckValue_v2( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt index 3e3f0b2b06..b95a2f85f0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt @@ -5,10 +5,10 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.T -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.GregorianCalendar class MsgHistoryEventsV2 constructor( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt index b89791cc54..34fdda4d31 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danaRv2.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + @Suppress("UNUSED_PARAMETER") class MsgSetAPSTempBasalStart_v2( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetHistoryEntry_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetHistoryEntry_v2.kt index 4520925e82..11ca0f16fc 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetHistoryEntry_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgSetHistoryEntry_v2.kt @@ -2,8 +2,9 @@ package info.nightscout.androidaps.danaRv2.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Date +import java.util.GregorianCalendar class MsgSetHistoryEntry_v2( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgStatusAPS_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgStatusAPS_v2.kt index a8f6d4ce7d..368f5a835a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgStatusAPS_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgStatusAPS_v2.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danaRv2.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatusAPS_v2( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 6970322926..2e22bbd6ab 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -51,8 +51,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventInitializationChanged; -import info.nightscout.androidaps.events.EventProfileSwitchChanged; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.ActivityNames; @@ -62,7 +60,6 @@ import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; @@ -71,8 +68,11 @@ import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.T; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 1be361b923..39d0e78af3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -11,7 +11,6 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventConfigBuilderChange; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -27,7 +26,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.common.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -35,9 +33,11 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.Round; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventConfigBuilderChange; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index bf86382b95..5f0731b39b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -16,7 +16,6 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -26,15 +25,16 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.Round; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/SerialIOThread.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/SerialIOThread.java index 41da73946c..bd2cdb7168 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/SerialIOThread.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/SerialIOThread.java @@ -10,9 +10,9 @@ import java.io.OutputStream; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.comm.MessageBase; import info.nightscout.androidaps.danar.comm.MessageHashTableBase; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.utils.CRC; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Created by mike on 17.07.2016. diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index c59a6d7889..554815e734 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -10,20 +10,21 @@ import info.nightscout.androidaps.danar.comm.MessageOriginalNames.getName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.CRC.getCrc16 import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime import org.joda.time.IllegalInstantException import java.nio.charset.StandardCharsets -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject /* diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt index a169b5a0fe..7bdf3c78dd 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.logging.LTag import kotlin.math.min class MsgBolusProgress( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt index 3be1ee030c..c58098684a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgBolusStart( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt index 184ac266ae..e5fefdc791 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgBolusStartWithSpeed( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt index 1393a6319e..ded96cb4ba 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.logging.LTag class MsgBolusStop( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgCheckValue.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgCheckValue.kt index 613549ebbf..3aef5c1e38 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgCheckValue.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgCheckValue.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgCheckValue( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt index fbbc7600f8..46f762f0b8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.logging.LTag class MsgError( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAlarm.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAlarm.kt index 726a2705f5..80489a8134 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAlarm.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAlarm.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryAlarm( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt index 8946d93d7d..5a83ae6159 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.database.DanaHistoryRecord -import info.nightscout.androidaps.events.EventDanaRSyncStatus -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.T +import info.nightscout.rx.events.EventDanaRSyncStatus +import info.nightscout.rx.logging.LTag open class MsgHistoryAll( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAllDone.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAllDone.kt index 41fc852480..55529da66c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAllDone.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAllDone.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryAllDone( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBasalHour.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBasalHour.kt index 9167377efb..a8f0da1a20 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBasalHour.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBasalHour.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryBasalHour( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBolus.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBolus.kt index 1d67099a84..3ba91a0a75 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBolus.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryBolus.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryBolus( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryCarbo.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryCarbo.kt index cdaa47e279..8613738b23 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryCarbo.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryCarbo.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryCarbo( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDailyInsulin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDailyInsulin.kt index 9788da4e77..5f866146eb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDailyInsulin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDailyInsulin.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryDailyInsulin( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDone.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDone.kt index d9e705650d..1945c0a8c5 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDone.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryDone.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryDone( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryError.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryError.kt index ba4aba7520..90a953adbd 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryError.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryError.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryError( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryGlucose.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryGlucose.kt index 8ae08e757a..af08085807 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryGlucose.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryGlucose.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryGlucose( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNew.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNew.kt index 2bca4a994d..559665fe11 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNew.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNew.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryNew( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNewDone.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNewDone.kt index 3897cb090d..116b3e04f8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNewDone.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryNewDone.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryNewDone( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryRefill.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryRefill.kt index dc87964c01..d5c597c9ce 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryRefill.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryRefill.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistoryRefill( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistorySuspend.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistorySuspend.kt index a739778eda..f81704d36e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistorySuspend.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistorySuspend.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgHistorySuspend( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBasic.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBasic.kt index 53d45b38f1..57924b2432 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBasic.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBasic.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgInitConnStatusBasic( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt index ae2e2a0f14..0df624d6e2 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgInitConnStatusBolus( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt index 40bbdbb4c3..76e400a6cf 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgInitConnStatusOption( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt index 4da82df223..b6eb7083f1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.events.EventRebuildTabs import info.nightscout.androidaps.interfaces.PluginType -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.rx.logging.LTag class MsgInitConnStatusTime( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStart.kt index 4e5c7881f0..c7a629c7d6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStart.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgPCCommStart constructor( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStop.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStop.kt index 35eca2ee56..40b08fc27b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStop.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgPCCommStop.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgPCCommStop( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetActivateBasalProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetActivateBasalProfile.kt index d86d212f7d..399c5f2ffd 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetActivateBasalProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetActivateBasalProfile.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetActivateBasalProfile( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt index 40bf1582b2..b8df7c6a66 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgSetBasalProfile( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetCarbsEntry.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetCarbsEntry.kt index 1c94f1fd03..ffb0301551 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetCarbsEntry.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetCarbsEntry.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Calendar class MsgSetCarbsEntry( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt index 16faf09825..ac9735ac6a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetExtendedBolusStart( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStop.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStop.kt index 1cdf88cc59..8423bc45c9 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStop.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStop.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetExtendedBolusStop( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt index d0c4a2477e..992ab818db 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgSetSingleBasalProfile( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStart.kt index e7c4324a47..50499526ad 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStart.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetTempBasalStart( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStop.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStop.kt index 42d40cbc82..6e2951518d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStop.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTempBasalStop.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetTempBasalStop( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTime.kt index aa938a46f5..bd98b2d6ae 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetTime.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetTime( injector: HasAndroidInjector, diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetUserOptions.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetUserOptions.kt index dad025aac3..afde1356eb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetUserOptions.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetUserOptions.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSetUserOptions( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingActiveProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingActiveProfile.kt index e0a8847906..ad3215983b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingActiveProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingActiveProfile.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingActiveProfile( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasal.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasal.kt index ce9ceb7c0f..2d3b90ab53 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasal.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasal.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Locale class MsgSettingBasal( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasalProfileAll.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasalProfileAll.kt index 68fc2d854a..36b610420e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasalProfileAll.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingBasalProfileAll.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.LTag +import java.util.Locale /** * Created by mike on 05.07.2016. diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingGlucose.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingGlucose.kt index 48d81317c7..89f0fb65ce 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingGlucose.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingGlucose.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /** * Created by mike on 05.07.2016. diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMaxValues.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMaxValues.kt index 09bf49c133..749ed9a9e4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMaxValues.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMaxValues.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingMaxValues( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt index a4961ca12d..80477946c1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.LTag class MsgSettingMeal( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatios.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatios.kt index 2448b3fdd3..3698d1a48b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatios.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatios.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingProfileRatios( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatiosAll.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatiosAll.kt index 2b921da8ae..dccf7b9237 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatiosAll.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingProfileRatiosAll.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingProfileRatiosAll( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingPumpTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingPumpTime.kt index 31c3b121fa..71f5517662 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingPumpTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingPumpTime.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime -import java.util.* +import java.util.Date class MsgSettingPumpTime( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingShippingInfo.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingShippingInfo.kt index 38ff9b2fe4..eaed028223 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingShippingInfo.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingShippingInfo.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingShippingInfo( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingUserOptions.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingUserOptions.kt index e8e602a338..5d61e76685 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingUserOptions.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingUserOptions.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgSettingUserOptions( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatus.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatus.kt index dc96ebda6c..55941198a9 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatus.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatus.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatus( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBasic.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBasic.kt index ccc3f2f0c9..8320a7c03a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBasic.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBasic.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatusBasic( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt index e086368a0f..ef288f8795 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.T +import info.nightscout.rx.logging.LTag import kotlin.math.abs import kotlin.math.floor diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusProfile.kt index b6344791bf..9b352de990 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusProfile.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class MsgStatusProfile( injector: HasAndroidInjector diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt index 5314201e81..0f79a42c0c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.utils.T +import info.nightscout.rx.logging.LTag import kotlin.math.abs import kotlin.math.floor diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index b582e829fd..dda4b6c543 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -40,23 +40,23 @@ import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventAppExit; -import info.nightscout.androidaps.events.EventBTChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.ToastUtils; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.events.EventBTChange; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index e920f2205f..cde870add4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -44,25 +44,25 @@ import info.nightscout.androidaps.danar.comm.MsgStatus; import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventInitializationChanged; -import info.nightscout.androidaps.events.EventProfileSwitchChanged; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.CommandQueue; +import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; public class DanaRExecutionService extends AbstractDanaRExecutionService { diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt index 57aca0507a..e4d3c51234 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 2f763bb49d..4f057d84a9 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index 98f0b9c7ea..ee4b61e091 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -13,20 +13,20 @@ import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.mockito.ArgumentMatchers import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.doNothing +import org.mockito.Mockito.`when` open class DanaRTestBase : TestBase() { diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 58e9e39714..71e20363e9 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -24,5 +24,6 @@ android { dependencies { implementation project(':core') implementation project(':pump:dana') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index e7fdd5e579..16016d2838 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -15,16 +15,22 @@ import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventConfigBuilderChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.PumpPluginBase +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress @@ -32,10 +38,18 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.* +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt index eca503acf5..a6ea3fd30d 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt @@ -8,14 +8,13 @@ import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.databinding.DanarsEnterPinActivityBinding import info.nightscout.androidaps.danars.services.BLEComm import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.extensions.hexStringToByteArray -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.sharedPreferences.SP import info.nightscout.androidaps.utils.textValidator.DefaultEditTextValidator import info.nightscout.androidaps.utils.textValidator.EditTextValidator +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject import kotlin.experimental.xor diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt index 1978e61ba0..4a84198bd2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.rx.logging.AAPSLogger import org.joda.time.DateTime import org.joda.time.IllegalInstantException import java.nio.charset.StandardCharsets diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSBasalSetTemporaryBasal.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSBasalSetTemporaryBasal.kt index c19cd426ff..285402832b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSBasalSetTemporaryBasal.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSBasalSetTemporaryBasal.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketAPSBasalSetTemporaryBasal( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt index 12e5fb594f..8f439820e3 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime import org.joda.time.DateTimeZone diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSSetEventHistory.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSSetEventHistory.kt index 1e201f3cfb..280615b6ce 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSSetEventHistory.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSSetEventHistory.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.joda.time.DateTime import org.joda.time.DateTimeZone import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt index 8a2f944c6f..4a7408d124 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt @@ -1,16 +1,16 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper -import java.util.* +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag +import java.util.Locale import javax.inject.Inject class DanaRSPacketBasalGetBasalRate( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetProfileNumber.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetProfileNumber.kt index abc1fa70ba..5aaa172438 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetProfileNumber.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetProfileNumber.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketBasalGetProfileNumber( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetCancelTemporaryBasal.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetCancelTemporaryBasal.kt index 186914a254..7ca1c49fb5 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetCancelTemporaryBasal.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetCancelTemporaryBasal.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class DanaRSPacketBasalSetCancelTemporaryBasal( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileBasalRate.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileBasalRate.kt index 9df6dd24d0..d1d1f1e4fd 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileBasalRate.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileBasalRate.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBasalSetProfileBasalRate( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileNumber.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileNumber.kt index 3d30b61df8..3cd6915fb4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileNumber.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetProfileNumber.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class DanaRSPacketBasalSetProfileNumber( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOff.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOff.kt index f0ffdb2ec8..fc1e0d358f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOff.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOff.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBasalSetSuspendOff( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOn.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOn.kt index 3549970df2..6955b602db 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOn.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetSuspendOn.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBasalSetSuspendOn( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetTemporaryBasal.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetTemporaryBasal.kt index 2d54dfaa9e..076be2541b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetTemporaryBasal.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalSetTemporaryBasal.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag open class DanaRSPacketBasalSetTemporaryBasal( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGet24CIRCFArray.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGet24CIRCFArray.kt index b314156be3..83b892d866 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGet24CIRCFArray.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGet24CIRCFArray.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class DanaRSPacketBolusGet24CIRCFArray( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt index 26eedd9d47..301fe4308a 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.dana.DanaPump -import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketBolusGetBolusOption( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCIRCFArray.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCIRCFArray.kt index fe47f5515e..9158bd9da1 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCIRCFArray.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCIRCFArray.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketBolusGetCIRCFArray( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCalculationInformation.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCalculationInformation.kt index 892bc82b22..08f2b2add4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCalculationInformation.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetCalculationInformation.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketBolusGetCalculationInformation( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetStepBolusInformation.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetStepBolusInformation.kt index eed9113bd8..6224d85da0 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetStepBolusInformation.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetStepBolusInformation.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.joda.time.DateTime import org.joda.time.DateTimeZone import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt index 4524155535..847840582e 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import kotlin.math.round diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetBolusOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetBolusOption.kt index a1c8ffac0a..e097bbf62b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetBolusOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetBolusOption.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBolusSetBolusOption( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolus.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolus.kt index fe402c3544..fa19c1cf8e 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolus.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolus.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBolusSetExtendedBolus( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolusCancel.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolusCancel.kt index 7286dee126..94faa662b9 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolusCancel.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetExtendedBolusCancel.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketBolusSetExtendedBolusCancel( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt index 14e84ac302..38611f78d4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketBolusSetStepBolusStart( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt index 17ee4ca4c3..86444fd654 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.dana.DanaPump +import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject open class DanaRSPacketBolusSetStepBolusStop( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcKeepConnection.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcKeepConnection.kt index 8e1e20724a..b3c65d3217 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcKeepConnection.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcKeepConnection.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketEtcKeepConnection( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcSetHistorySave.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcSetHistorySave.kt index fa4c4ec319..fa103a851d 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcSetHistorySave.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketEtcSetHistorySave.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketEtcSetHistorySave( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt index 160bbfa12c..03da7a7472 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.dana.DanaPump +import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketGeneralGetPumpCheck( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingInformation.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingInformation.kt index ca009b5409..114aa66e28 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingInformation.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingInformation.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketGeneralGetShippingInformation( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingVersion.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingVersion.kt index 5cae2113f3..3a718f40d1 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingVersion.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetShippingVersion.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import java.nio.charset.Charset import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetUserTimeChangeFlag.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetUserTimeChangeFlag.kt index 6241fe5962..da516ea008 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetUserTimeChangeFlag.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetUserTimeChangeFlag.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketGeneralGetUserTimeChangeFlag( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralInitialScreenInformation.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralInitialScreenInformation.kt index eb6cfbe8b2..264cc408aa 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralInitialScreenInformation.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralInitialScreenInformation.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject @Suppress("MemberVisibilityCanBePrivate") diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetHistoryUploadMode.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetHistoryUploadMode.kt index 2410a2b301..7c92263e1e 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetHistoryUploadMode.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetHistoryUploadMode.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketGeneralSetHistoryUploadMode( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetUserTimeChangeFlagClear.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetUserTimeChangeFlagClear.kt index 3e1ff8ec61..10070f9e92 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetUserTimeChangeFlagClear.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralSetUserTimeChangeFlagClear.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketGeneralSetUserTimeChangeFlagClear( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt index a02d7fe05b..d82d78d4a2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt @@ -5,13 +5,14 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.database.DanaHistoryRecord import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao -import info.nightscout.androidaps.events.EventDanaRSyncStatus import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventDanaRSyncStatus +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject abstract class DanaRSPacketHistory( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAlarm.kt index 897384638c..8fb64cd877 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAlarm.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryAlarm constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAllHistory.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAllHistory.kt index 98a500d1fd..0401fa4cfc 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAllHistory.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryAllHistory.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryAllHistory( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBasal.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBasal.kt index 35ec821e18..f1e82e0513 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBasal.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBasal.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryBasal constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBloodGlucose.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBloodGlucose.kt index 2d88305f0a..72f9b9119e 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBloodGlucose.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBloodGlucose.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryBloodGlucose constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBolus.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBolus.kt index 4b8be7b7d8..6f5f086c34 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBolus.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryBolus.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryBolus constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryCarbohydrate.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryCarbohydrate.kt index 61dac981fe..40e624a3d2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryCarbohydrate.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryCarbohydrate.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryCarbohydrate constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryDaily.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryDaily.kt index 87385248f8..22d4c54e41 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryDaily.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryDaily.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryDaily constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryPrime.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryPrime.kt index 918a2f0d5b..c4651214f2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryPrime.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryPrime.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryPrime constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryRefill.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryRefill.kt index 8c92296ca6..eb38e0cefe 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryRefill.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryRefill.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryRefill constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistorySuspend.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistorySuspend.kt index fb5f0cc2f6..95f5fce5ff 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistorySuspend.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistorySuspend.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistorySuspend constructor( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryTemporary.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryTemporary.kt index c3919b9b88..1600c1b9ed 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryTemporary.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistoryTemporary.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketHistoryTemporary( injector: HasAndroidInjector, diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt index d68e90f8ca..d9cc05b81d 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt @@ -5,11 +5,11 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketNotifyAlarm( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt index b98ab5a35b..1195cd7f6f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.dana.DanaPump +import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject import kotlin.math.min diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt index 34408da245..faa1339187 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.danars.R -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.dana.DanaPump +import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject import kotlin.math.min diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyMissedBolusAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyMissedBolusAlarm.kt index 426b4a2e2b..70b1b65e0e 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyMissedBolusAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyMissedBolusAlarm.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketNotifyMissedBolusAlarm( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpTime.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpTime.kt index b57f670cd6..0f03ad5d75 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpTime.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpTime.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpUTCAndTimeZone.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpUTCAndTimeZone.kt index 806d4c89e9..a71a57149b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpUTCAndTimeZone.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetPumpUTCAndTimeZone.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetUserOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetUserOption.kt index 0d0fe7bd4a..020a75bad6 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetUserOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionGetUserOption.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketOptionGetUserOption( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpTime.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpTime.kt index 326f614f9a..7e1f676cd6 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpTime.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpTime.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime class DanaRSPacketOptionSetPumpTime( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpUTCAndTimeZone.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpUTCAndTimeZone.kt index 92f8d0b8ac..a5d0870b62 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpUTCAndTimeZone.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetPumpUTCAndTimeZone.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import org.joda.time.DateTime import org.joda.time.DateTimeZone diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetUserOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetUserOption.kt index ce0f7c8362..181c0cbb4b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetUserOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketOptionSetUserOption.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketOptionSetUserOption( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewBolusAvg.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewBolusAvg.kt index 0f5939b0ca..0f633884e8 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewBolusAvg.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewBolusAvg.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag class DanaRSPacketReviewBolusAvg( injector: HasAndroidInjector diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewGetPumpDecRatio.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewGetPumpDecRatio.kt index 1afc26644c..159e92e194 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewGetPumpDecRatio.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketReviewGetPumpDecRatio.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.rx.logging.LTag import javax.inject.Inject class DanaRSPacketReviewGetPumpDecRatio( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java index e54d3b2a3f..a2e326aeb2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java @@ -19,10 +19,10 @@ import info.nightscout.androidaps.danars.R; import info.nightscout.androidaps.danars.activities.PairingHelperActivity; import info.nightscout.androidaps.danars.databinding.DanarsPairingProgressDialogBinding; import info.nightscout.androidaps.danars.events.EventDanaRSPairingSuccess; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; +import info.nightscout.androidaps.utils.FabricPrivacy; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSDeviceChange.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSDeviceChange.kt index 3d7a0789d7..5636eb93e8 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSDeviceChange.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSDeviceChange.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.danars.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDanaRSDeviceChange : Event() \ No newline at end of file diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSPairingSuccess.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSPairingSuccess.kt index 605bf347ea..98d9451c08 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSPairingSuccess.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/events/EventDanaRSPairingSuccess.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.danars.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDanaRSPairingSuccess : Event() diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 1da8076216..b5bd9d35c0 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -2,7 +2,15 @@ package info.nightscout.androidaps.danars.services import android.Manifest import android.annotation.SuppressLint -import android.bluetooth.* +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothDevice +import android.bluetooth.BluetoothGatt +import android.bluetooth.BluetoothGattCallback +import android.bluetooth.BluetoothGattCharacteristic +import android.bluetooth.BluetoothGattDescriptor +import android.bluetooth.BluetoothGattService +import android.bluetooth.BluetoothManager +import android.bluetooth.BluetoothProfile import android.content.Context import android.content.Intent import android.content.pm.PackageManager @@ -27,17 +35,17 @@ import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.UUID import java.util.concurrent.ScheduledFuture import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index b17b6d8f74..c80797caa6 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -14,22 +14,58 @@ import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.R -import info.nightscout.androidaps.danars.comm.* +import info.nightscout.androidaps.danars.comm.DanaRSPacket +import info.nightscout.androidaps.danars.comm.DanaRSPacketAPSBasalSetTemporaryBasal +import info.nightscout.androidaps.danars.comm.DanaRSPacketAPSHistoryEvents +import info.nightscout.androidaps.danars.comm.DanaRSPacketAPSSetEventHistory +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalGetBasalRate +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalGetProfileNumber +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalSetCancelTemporaryBasal +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalSetProfileBasalRate +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalSetProfileNumber +import info.nightscout.androidaps.danars.comm.DanaRSPacketBasalSetTemporaryBasal +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusGet24CIRCFArray +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusGetBolusOption +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusGetCIRCFArray +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusGetCalculationInformation +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusGetStepBolusInformation +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusSet24CIRCFArray +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusSetExtendedBolus +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusSetExtendedBolusCancel +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusSetStepBolusStart +import info.nightscout.androidaps.danars.comm.DanaRSPacketBolusSetStepBolusStop +import info.nightscout.androidaps.danars.comm.DanaRSPacketEtcKeepConnection +import info.nightscout.androidaps.danars.comm.DanaRSPacketGeneralGetPumpCheck +import info.nightscout.androidaps.danars.comm.DanaRSPacketGeneralGetShippingInformation +import info.nightscout.androidaps.danars.comm.DanaRSPacketGeneralInitialScreenInformation +import info.nightscout.androidaps.danars.comm.DanaRSPacketGeneralSetHistoryUploadMode +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistory +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryAlarm +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryBasal +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryBloodGlucose +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryBolus +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryCarbohydrate +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryDaily +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryPrime +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistoryRefill +import info.nightscout.androidaps.danars.comm.DanaRSPacketHistorySuspend +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetPumpTime +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetPumpUTCAndTimeZone +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetUserOption +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone +import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventInitializationChanged -import info.nightscout.androidaps.events.EventProfileSwitchChanged import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.overview.notifications.Notification @@ -38,9 +74,13 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt index 57aca0507a..e4d3c51234 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index d2b0723d59..3eb646de24 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,11 +9,11 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index 137f787732..c280447986 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -25,7 +25,8 @@ android { dependencies { implementation project(':libraries') implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 1552ca7170..f578a67f88 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -13,24 +13,24 @@ import info.nightscout.androidaps.diaconn.activities.DiaconnG8HistoryActivity import info.nightscout.androidaps.diaconn.activities.DiaconnG8UserOptionsActivity import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus -import info.nightscout.androidaps.events.EventExtendedBolusChange -import info.nightscout.androidaps.events.EventInitializationChanged import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.events.EventTempBasalChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.WarnColors -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index b86b17a8dd..4acb928f1d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -13,14 +13,22 @@ import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventConfigBuilderChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.Diaconn +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.PumpPluginBase +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification @@ -30,11 +38,18 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.* -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.Round +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import org.json.JSONException diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt index 386a9e5349..31edc759aa 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.diaconn import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.T +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject import javax.inject.Singleton import kotlin.math.max diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 0ee0bc8e54..232acff3a7 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -19,16 +19,14 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import java.util.* import javax.inject.Inject class DiaconnG8HistoryActivity : NoSplashAppCompatActivity() { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index adb92d9317..c6f64c7ae0 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -15,7 +15,8 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import java.text.DecimalFormat diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/api/DiaconnLogUploader.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/api/DiaconnLogUploader.kt index bcc35fcb18..c1a9e4093b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/api/DiaconnLogUploader.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/api/DiaconnLogUploader.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.diaconn.api -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8DeviceChange.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8DeviceChange.kt index a4c565ec9d..ec92afce2c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8DeviceChange.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8DeviceChange.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.diaconn.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDiaconnG8DeviceChange : Event() \ No newline at end of file diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8NewStatus.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8NewStatus.kt index b275db0111..67dcc3fe6f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8NewStatus.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8NewStatus.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.diaconn.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDiaconnG8NewStatus : Event() diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8PumpLogReset.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8PumpLogReset.kt index 40d1b4a74c..7eabc12987 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8PumpLogReset.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/events/EventDiaconnG8PumpLogReset.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.diaconn.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventDiaconnG8PumpLogReset : Event() diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingPacket.kt index b7c81b2f39..ed4761445b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingResponsePacket.kt index 70ae0f6688..e07e823036 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppCancelSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingPacket.kt index 98fadddfaf..3baf60cb30 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingResponsePacket.kt index b4f5c87768..4fa448270c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/AppConfirmSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquirePacket.kt index c99c2ad1cb..6d16426dfa 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt index f0da17ea6c..4bc89075c6 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt @@ -5,7 +5,8 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseReportPacket.kt index 15d613341f..a0a9058471 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingPacket.kt index 7a0053815f..1ce82317df 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingResponsePacket.kt index 8c5f2d25a0..bc2c31f30d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalPauseSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingPacket.kt index fde046d594..eef3d6fa61 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingReportPacket.kt index 8aab8f0316..9f2d01e2dc 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingResponsePacket.kt index 1d2062ff00..9efb2339b9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BatteryWarningReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BatteryWarningReportPacket.kt index e289c828d7..8708212795 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BatteryWarningReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BatteryWarningReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquirePacket.kt index 8ac136c95f..e9672e6e1a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt index a209046b96..955f92b651 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt @@ -4,8 +4,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquirePacket.kt index 5279ceac04..0ccfb3170d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index d216f5eb0e..67ea80049c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.diaconn.packet import android.content.Context -import android.content.pm.PackageManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.diaconn.DiaconnG8Pump @@ -46,12 +45,12 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.T -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.apache.commons.lang3.time.DateUtils import org.joda.time.DateTime diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquirePacket.kt index 73b00e8473..3c3e3993fd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt index 42c8146661..80f17adc73 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt @@ -5,9 +5,9 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquirePacket.kt index 9648fb290f..6756ed6b25 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquireResponsePacket.kt index c62f246471..e4a01588fb 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingPacket.kt index 90e6bddb77..75636a1c1b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingReportPacket.kt index 2164e195bf..26237fe150 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingResponsePacket.kt index d052c705c5..704992b5af 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BolusSpeedSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/ConfirmReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/ConfirmReportPacket.kt index a29a23cee6..e531a563b8 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/ConfirmReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/ConfirmReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java index 2c126760be..4eb1553dab 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java @@ -6,9 +6,9 @@ import java.nio.ByteOrder; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class DiaconnG8Packet { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquirePacket.kt index 8699635771..5d5fab080d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquireResponsePacket.kt index 6e318e3421..c226637d5a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingPacket.kt index 8f6e196dfb..8df56882c3 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingResponsePacket.kt index 510a5c8bba..2d3e28338c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DisplayTimeoutSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquirePacket.kt index ba8c061646..a7d33c257d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt index 1571c53b44..672a282f91 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalReportPacket.kt index aa3c9b8d31..c46a40d519 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingPacket.kt index 04d83d3c79..0d1c1f2272 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingResponsePacket.kt index 3db8b72d46..f4f7c0fed2 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBasalSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBlockReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBlockReportPacket.kt index 9354ea9c39..9bf916ce06 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBlockReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionBlockReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingPacket.kt index c5c5a41adb..c5e2be1bc6 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingResponsePacket.kt index 73d00210a0..5b60cc07b1 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionCancelSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt index 19bdd92f46..d085f1dcba 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingPacket.kt index 0788cb324b..4c801fdb6b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingResponsePacket.kt index 217d3a9de4..0e76d92638 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingPacket.kt index 4379765b34..eb78fe6729 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingResponsePacket.kt index ffbfcdc498..902174ddc9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionMealSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquirePacket.kt index 849ddca1e3..6f935dc43f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquireResponsePacket.kt index b1cd785dd1..0fcf3b1dea 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt index 8a9fde09c0..75f3da2f43 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.LTag import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingPacket.kt index 78d3df21cb..335082f8f2 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingResponsePacket.kt index bb9c1c71e9..f0c91fa1d1 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InsulinLackReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InsulinLackReportPacket.kt index 01ebebe764..8fb9789e70 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InsulinLackReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InsulinLackReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquirePacket.kt index a7670a58c0..7e940c186d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquireResponsePacket.kt index 48f631b608..6d13e58ecd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingPacket.kt index 2e9e45634c..7bfc645c36 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingResponsePacket.kt index bcd0a63f85..f23e180c6e 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LanguageSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquirePacket.kt index d1a3977f49..af12cf0ac6 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquireResponsePacket.kt index 8ab29c6e9d..d7d6b7989a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/LogStatusInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/RejectReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/RejectReportPacket.kt index b32f5b2d50..1ea35ca562 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/RejectReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/RejectReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquirePacket.kt index 0284c35029..a87fb6c078 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt index 76306e54fa..25c2cf5814 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt @@ -4,7 +4,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquirePacket.kt index 8f649c05b6..b986c5a320 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquireResponsePacket.kt index 4bead0560c..f7516b5a0b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SneckLimitInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquirePacket.kt index 2aafb95756..0c97d4f38a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquireResponsePacket.kt index f5a9992ba8..ea5a2561ec 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingPacket.kt index 4a2b9009ea..fa755a47e9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingResponsePacket.kt index ff467be913..19a0d04eeb 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SoundSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquirePacket.kt index 3818b3e7fe..a72f7f46aa 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt index 7362a703f0..14793354d7 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt index 378453970b..8c322be8ad 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt @@ -3,7 +3,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingPacket.kt index b97994ae74..2906fd639f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingResponsePacket.kt index da7d8436ed..6f7be601dd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquirePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquirePacket.kt index f75df00665..c3a259fb31 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquirePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquirePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquireResponsePacket.kt index a2f88429b5..12f0087861 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeInquireResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeReportPacket.kt index a47cd32f6d..176a95bd45 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeReportPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingPacket.kt index 63614b7053..4faed5e768 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingPacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import org.joda.time.DateTime import org.joda.time.DateTimeZone import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingResponsePacket.kt index 8faed78409..53339d50a8 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TimeSettingResponsePacket.kt @@ -2,7 +2,8 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject /** diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index 61165a6f60..19df038d07 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -30,10 +30,10 @@ import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import java.util.UUID import java.util.concurrent.ScheduledFuture import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 4a1fa6dd66..f127f661df 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -47,19 +47,15 @@ import info.nightscout.androidaps.diaconn.packet.TimeInquirePacket import info.nightscout.androidaps.diaconn.packet.TimeSettingPacket import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventInitializationChanged -import info.nightscout.androidaps.events.EventProfileSwitchChanged import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.overview.notifications.Notification @@ -69,9 +65,13 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import org.joda.time.DateTime diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 69c02c04f6..34029f9c87 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -20,7 +20,8 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':pump:eopatch-core') implementation project(':libraries') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt index f2ab48588e..c6215600a4 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class EONotification constructor() : Notification() { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 91bf8122ca..8016a4495b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -4,7 +4,6 @@ import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.EventAppInitialized import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription @@ -15,7 +14,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType @@ -35,9 +33,11 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.TimeChangeType -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppInitialized +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.functions.Consumer import io.reactivex.rxjava3.subjects.BehaviorSubject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/RxAction.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/RxAction.kt index 5ec9fd146a..fded616a7f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/RxAction.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/RxAction.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Scheduler import io.reactivex.rxjava3.core.Single import java.util.concurrent.TimeUnit diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index 373189ff1a..7a3d1ee56b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -27,9 +26,10 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Single diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmProcess.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmProcess.kt index 95efd7050f..1a80d235a7 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmProcess.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmProcess.kt @@ -2,23 +2,50 @@ package info.nightscout.androidaps.plugins.pump.eopatch.alarm import android.content.Context import android.content.DialogInterface -import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForCheckConnection -import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForDiscarded -import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForCannulaInsertionError -import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager -import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.* import android.content.Intent -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.R -import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A002 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A003 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A004 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A005 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A007 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A016 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A018 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A019 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A020 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A022 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A023 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A034 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A041 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A042 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A043 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A044 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A106 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A107 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A108 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A116 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A117 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A118 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B000 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B001 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B003 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B005 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B006 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B012 +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.B018 +import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse import info.nightscout.androidaps.plugins.pump.eopatch.core.response.TemperatureResponse import info.nightscout.androidaps.plugins.pump.eopatch.event.EventDialog import info.nightscout.androidaps.plugins.pump.eopatch.event.EventProgressDialog import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne +import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity +import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForCannulaInsertionError +import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForCheckConnection +import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity.Companion.createIntentForDiscarded import info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs.CommonDialog +import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.core.Single -import java.lang.Exception import java.util.concurrent.Callable interface IAlarmProcess { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt index dcd01a5d0f..ec936d866f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt @@ -5,7 +5,6 @@ import android.app.AlarmManager.AlarmClockInfo import android.app.PendingIntent import android.content.Context import android.content.Intent -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus @@ -15,8 +14,9 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchLifecycle import info.nightscout.androidaps.plugins.pump.eopatch.core.code.PatchAeCode import info.nightscout.androidaps.plugins.pump.eopatch.event.EventEoPatchAlarm -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index 5bef9e5a6d..cd6cc4e48f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -9,15 +9,12 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.events.EventCustomActionsChanged; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; @@ -49,8 +46,11 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventCustomActionsChanged; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.core.Maybe; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index d83878593c..9254ef2358 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -92,9 +92,9 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Scheduler; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java index a41131e4db..e66d357d7d 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java @@ -6,18 +6,18 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.FetchAlarmTask; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.InternalSuspendedTask; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ReadBolusFinishTimeTask; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ReadTempBasalFinishTimeTask; +import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType; import info.nightscout.androidaps.plugins.pump.eopatch.vo.BolusCurrent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Maybe; import io.reactivex.rxjava3.schedulers.Schedulers; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PreferenceManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PreferenceManager.kt index 5ceeb6ce0c..28566d4e64 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PreferenceManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PreferenceManager.kt @@ -1,12 +1,18 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.GsonHelper -import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchLifecycle -import info.nightscout.androidaps.plugins.pump.eopatch.vo.* +import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys +import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms +import info.nightscout.androidaps.plugins.pump.eopatch.vo.BolusCurrent +import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasalManager +import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig +import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent +import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState +import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasalManager +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Observable import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ActivateTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ActivateTask.java index f476a0ad8f..cd36794939 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ActivateTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ActivateTask.java @@ -1,14 +1,13 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetKey; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; - import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetKey; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.schedulers.Schedulers; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/DeactivateTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/DeactivateTask.java index 9765550713..f16018c1b1 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/DeactivateTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/DeactivateTask.java @@ -12,8 +12,8 @@ import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType; import info.nightscout.androidaps.plugins.pump.eopatch.vo.BolusCurrent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/FetchAlarmTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/FetchAlarmTask.java index ba6f1aa217..513ef4cc7e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/FetchAlarmTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/FetchAlarmTask.java @@ -1,16 +1,15 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetErrorCodes; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetErrorCodes; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.AeCodeResponse; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/GetPatchInfoTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/GetPatchInfoTask.java index 15ee26f1c1..3d39730724 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/GetPatchInfoTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/GetPatchInfoTask.java @@ -1,6 +1,10 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; +import java.util.Arrays; + +import javax.inject.Inject; +import javax.inject.Singleton; + import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetFirmwareVersion; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetLOT; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetModelName; @@ -15,12 +19,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.core.response.ModelNameRe import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PumpDurationResponse; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.SerialNumberResponse; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.WakeUpTimeResponse; - -import java.util.Arrays; - -import javax.inject.Inject; -import javax.inject.Singleton; - +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.schedulers.Schedulers; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InfoReminderTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InfoReminderTask.java index 15dfe2dbff..5561812f95 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InfoReminderTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InfoReminderTask.java @@ -1,15 +1,14 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.InfoReminderSet; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.InfoReminderSet; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java index 6ef7bd5b8b..3e82c2d3e9 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java @@ -2,22 +2,21 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; import android.os.SystemClock; -import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.logging.UserEntryLogger; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; -import info.nightscout.shared.logging.LTag; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.androidaps.interfaces.PumpSync; +import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetInternalSuspendTime; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchInternalSuspendTimeResponse; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; - +import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.subjects.BehaviorSubject; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/NeedleSensingTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/NeedleSensingTask.java index d9a1a7451a..818932fed2 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/NeedleSensingTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/NeedleSensingTask.java @@ -8,7 +8,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartNeedleCheck; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.UpdateConnection; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java index bdbd28b964..a2429f597d 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java @@ -12,17 +12,17 @@ import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.logging.UserEntryLogger; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; -import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalPause; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; +import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.subjects.BehaviorSubject; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PrimingTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PrimingTask.java index f9e0014856..ae9a300e62 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PrimingTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PrimingTask.java @@ -6,10 +6,10 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartPriming; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.UpdateConnection; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadBolusFinishTimeTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadBolusFinishTimeTask.java index 3e73ecd354..5c2a9d7640 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadBolusFinishTimeTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadBolusFinishTimeTask.java @@ -5,12 +5,12 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusFinishTimeGet; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusFinishTimeResponse; import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusFinishTimeResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.BolusCurrent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadTempBasalFinishTimeTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadTempBasalFinishTimeTask.java index 21fa18feb3..bc9e238a28 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadTempBasalFinishTimeTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ReadTempBasalFinishTimeTask.java @@ -6,9 +6,9 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.TempBasalFinishTimeGet; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.TempBasalFinishTimeResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ResumeBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ResumeBasalTask.java index 2a1d2f6870..8b61473a8b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ResumeBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/ResumeBasalTask.java @@ -1,19 +1,15 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; -import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.PatchStateManager; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalResume; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; - -import java.sql.SQLException; - import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; +import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.PatchStateManager; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalResume; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; -import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SelfTestTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SelfTestTask.java index 05a990fe66..d74bb9f4b4 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SelfTestTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SelfTestTask.java @@ -1,19 +1,18 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.PatchSelfTestResult; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetGlobalTime; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetTemperature; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetVoltageLevelB4Priming; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BatteryVoltageLevelPairingResponse; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.GlobalTimeResponse; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.TemperatureResponse; - import java.util.Arrays; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetGlobalTime; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetTemperature; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetVoltageLevelB4Priming; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BatteryVoltageLevelPairingResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.GlobalTimeResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.TemperatureResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.PatchSelfTestResult; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetGlobalTimeTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetGlobalTimeTask.java index cfbd3701e6..bda07a4160 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetGlobalTimeTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetGlobalTimeTask.java @@ -1,17 +1,16 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetGlobalTime; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetGlobalTime; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.GlobalTimeResponse; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; - import java.util.TimeZone; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetGlobalTime; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetGlobalTime; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.GlobalTimeResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetLowReservoirTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetLowReservoirTask.java index ea719bface..4924054864 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetLowReservoirTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/SetLowReservoirTask.java @@ -1,15 +1,14 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetLowReservoirLevelAndExpireAlert; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.SetLowReservoirLevelAndExpireAlert; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartBondTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartBondTask.java index 0924de25af..1e9dcbf241 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartBondTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartBondTask.java @@ -1,19 +1,18 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import android.bluetooth.BluetoothDevice; +import static info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartBonding.OPTION_NUMERIC; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartBonding; +import android.bluetooth.BluetoothDevice; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartBonding; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; -import static info.nightscout.androidaps.plugins.pump.eopatch.core.api.StartBonding.OPTION_NUMERIC; - @Singleton public class StartBondTask extends TaskBase { private final StartBonding START_BOND; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java index 022b9c9f8b..d27729eea5 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java @@ -1,14 +1,12 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.shared.logging.LTag; - -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStart; - import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStart; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartNormalBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartNormalBasalTask.java index 3adb07b441..ab3a1007ec 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartNormalBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartNormalBasalTask.java @@ -7,8 +7,8 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.PatchStateManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalScheduleSetBig; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalScheduleSetResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartQuickBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartQuickBolusTask.java index bf662cad68..483ef35cef 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartQuickBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartQuickBolusTask.java @@ -1,16 +1,14 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.code.BolusExDuration; - -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStart; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.ComboBolusStart; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.ExtBolusStart; - import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.code.BolusExDuration; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStart; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.ComboBolusStart; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.ExtBolusStart; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartTempBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartTempBasalTask.java index e496d5e9f5..a311f8294a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartTempBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartTempBasalTask.java @@ -7,8 +7,8 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.TempBasalScheduleStart; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.TempBasalScheduleSetResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java index 20ddbfff38..87f8928f1a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java @@ -2,23 +2,22 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; import android.os.SystemClock; -import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.logging.UserEntryLogger; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.androidaps.interfaces.PumpSync; +import info.nightscout.androidaps.logging.UserEntryLogger; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; +import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; import io.reactivex.rxjava3.subjects.BehaviorSubject; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopComboBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopComboBolusTask.java index 2e5393a0eb..86bd9f9c0d 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopComboBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopComboBolusTask.java @@ -1,17 +1,16 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.define.IPatchConstant; -import info.nightscout.androidaps.plugins.pump.eopatch.core.code.PatchBleResultCode; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStop; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusStopResponse; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.ComboBolusStopResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStop; +import info.nightscout.androidaps.plugins.pump.eopatch.core.code.PatchBleResultCode; +import info.nightscout.androidaps.plugins.pump.eopatch.core.define.IPatchConstant; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusStopResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.ComboBolusStopResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopExtBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopExtBolusTask.java index 079855197e..28c714271a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopExtBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopExtBolusTask.java @@ -1,15 +1,14 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.define.IPatchConstant; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStop; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusStopResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStop; +import info.nightscout.androidaps.plugins.pump.eopatch.core.define.IPatchConstant; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusStopResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopNowBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopNowBolusTask.java index fdb6b9d0f6..9a9c719d69 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopNowBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopNowBolusTask.java @@ -8,8 +8,8 @@ import javax.inject.Singleton; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStop; import info.nightscout.androidaps.plugins.pump.eopatch.core.define.IPatchConstant; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusStopResponse; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopTempBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopTempBasalTask.java index dfed1f1105..f19344de4b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopTempBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopTempBasalTask.java @@ -1,14 +1,13 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.core.api.TempBasalScheduleStop; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.core.api.TempBasalScheduleStop; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskBase.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskBase.java index 8e0e0d89d1..0e18290e7f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskBase.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskBase.java @@ -1,19 +1,18 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; -import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.BleConnectionState; -import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.IBleDevice; -import info.nightscout.androidaps.plugins.pump.eopatch.core.Patch; -import info.nightscout.androidaps.plugins.pump.eopatch.core.exception.NoActivatedPatchException; -import info.nightscout.androidaps.plugins.pump.eopatch.core.exception.PatchDisconnectedException; -import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; - import java.util.HashMap; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; +import info.nightscout.androidaps.plugins.pump.eopatch.core.Patch; +import info.nightscout.androidaps.plugins.pump.eopatch.core.exception.NoActivatedPatchException; +import info.nightscout.androidaps.plugins.pump.eopatch.core.exception.PatchDisconnectedException; +import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BaseResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.BleConnectionState; +import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.IBleDevice; +import info.nightscout.rx.logging.AAPSLogger; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.disposables.Disposable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskQueue.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskQueue.java index c88f4f6a80..f11baed4bb 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskQueue.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/TaskQueue.java @@ -7,9 +7,9 @@ import java.util.Queue; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.subjects.BehaviorSubject; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/UpdateConnectionTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/UpdateConnectionTask.java index 311154a388..3215230257 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/UpdateConnectionTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/UpdateConnectionTask.java @@ -1,16 +1,15 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.pump.eopatch.ble.PatchStateManager; -import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; - import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; +import info.nightscout.androidaps.plugins.pump.eopatch.ble.PatchStateManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.UpdateConnection; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.UpdateConnectionResponse; +import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Single; @Singleton diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/event/EoPatchEvents.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/event/EoPatchEvents.kt index 409a4e6561..428bba7075 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/event/EoPatchEvents.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/event/EoPatchEvents.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.eopatch.event import androidx.annotation.StringRes import androidx.fragment.app.DialogFragment -import info.nightscout.androidaps.events.Event import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode +import info.nightscout.rx.events.Event class EventEoPatchAlarm(var alarmCodes: Set, var isFirst: Boolean = false) : Event() class EventDialog(val dialog: DialogFragment, val show: Boolean) : Event() diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/ObservableExtension.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/ObservableExtension.kt index 1bc6009797..56094cb569 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/ObservableExtension.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/ObservableExtension.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.plugins.pump.eopatch.extension -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/SingleExtension.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/SingleExtension.kt index fa028a7b7a..305fd0982e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/SingleExtension.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/extension/SingleExtension.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.plugins.pump.eopatch.extension -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.Disposable diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt index f9fb16935b..3fa5f1eedc 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt @@ -4,13 +4,13 @@ import android.os.Bundle import androidx.appcompat.app.AlertDialog import info.nightscout.androidaps.activities.DialogAppCompatActivity import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode import info.nightscout.androidaps.plugins.pump.eopatch.event.EventDialog import info.nightscout.androidaps.plugins.pump.eopatch.event.EventProgressDialog import info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs.AlarmDialog import info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs.ProgressDialogHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt index ee6796531a..4a349c175e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt @@ -10,7 +10,7 @@ import androidx.lifecycle.ViewModelProvider import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.plugins.pump.eopatch.dagger.EopatchPluginQualifier -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt index 3b4cd0986c..01c7832ecb 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt @@ -7,18 +7,18 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.ViewModelProvider import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.R -import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType -import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchStep import info.nightscout.androidaps.plugins.pump.eopatch.code.EventType +import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchStep +import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType import info.nightscout.androidaps.plugins.pump.eopatch.databinding.FragmentEopatchOverviewBinding import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchOverviewViewModel import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/ActivationNotCompleteDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/ActivationNotCompleteDialog.kt index 78b70ccd4c..6af969105e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/ActivationNotCompleteDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/ActivationNotCompleteDialog.kt @@ -1,15 +1,19 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs import android.os.Bundle -import android.view.* +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.Window +import android.view.WindowManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.bindingadapters.setOnSafeClickListener import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.databinding.DialogCommonBinding import info.nightscout.androidaps.plugins.pump.eopatch.ui.DialogHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchActivity +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class ActivationNotCompleteDialog : DaggerDialogFragment() { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt index 19e08c53c3..83dcc69317 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt @@ -11,7 +11,6 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmProcess import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmProcess @@ -21,8 +20,9 @@ import info.nightscout.androidaps.plugins.pump.eopatch.databinding.DialogAlarmBi import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.disposables.Disposable import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt index 2c2775e556..ad1725a7d4 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt @@ -4,10 +4,9 @@ import android.app.Dialog import android.content.DialogInterface import android.os.Bundle import dagger.android.support.DaggerDialogFragment -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper -import java.lang.IllegalStateException +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class CommonDialog : DaggerDialogFragment() { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 91432fe7da..31998bea4c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager @@ -16,16 +18,14 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.UIEvent import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable -import java.util.* +import java.util.Calendar import java.util.concurrent.TimeUnit import javax.inject.Inject import kotlin.math.max diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt index 374aead3c5..0a1c000647 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt @@ -26,13 +26,29 @@ import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne import info.nightscout.androidaps.plugins.pump.eopatch.ui.EoBaseNavigator import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.SingleLiveEvent import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.UIEvent -import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.* +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.ACTIVATION_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.ACTIVATION_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.BONDING_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.BONDING_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.GET_PATCH_INFO_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.GET_PATCH_INFO_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.NEEDLE_SENSING_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.NEEDLE_SENSING_READY +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.NEEDLE_SENSING_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SAFETY_CHECK_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SAFETY_CHECK_READY +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SAFETY_CHECK_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SCAN_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SCAN_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SELF_TEST_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SELF_TEST_STARTED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.WAKE_UP_READY import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Observable diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 9d8ba7a41d..329e75473a 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -14,7 +14,8 @@ android { dependencies { implementation project(':libraries') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') implementation project(':pump:rileylink') diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 84ac9a6138..4d469792b2 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -9,14 +9,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventExtendedBolusChange import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.events.EventTempBasalChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -39,9 +36,12 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 1aa1bfa19e..0c3553b231 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -9,10 +9,16 @@ import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType @@ -43,8 +49,13 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile.Companion.getProfilesByHourToString import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfileEntry import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalPair -import info.nightscout.androidaps.plugins.pump.medtronic.defs.* +import info.nightscout.androidaps.plugins.pump.medtronic.defs.BasalProfileStatus +import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType.Companion.getSettings +import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCustomActionType +import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicNotificationType +import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicStatusRefreshType +import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicUIResponseType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged @@ -55,12 +66,16 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Comp import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.TimeChangeType -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.LocalDateTime -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt index f6cc8090b9..537bd763da 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.os.SystemClock -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager @@ -18,7 +17,13 @@ import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RawHistory import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryResult -import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.* +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.CarelinkLongMessageBody +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.CarelinkShortMessageBody +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.GetHistoryPageCarelinkMessageBody +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.MessageBody +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.PacketType +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.PumpAckMessageBody +import info.nightscout.androidaps.plugins.pump.medtronic.comm.message.PumpMessage import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.ClockDTO @@ -31,8 +36,11 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.createByteArray import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.getByteArrayFromUnsignedShort +import info.nightscout.rx.logging.LTag import org.joda.time.LocalDateTime -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt index 2994a42454..24d5a97115 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt @@ -1,7 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil @@ -11,9 +9,11 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.PumpSettingDTO import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpConfigurationGroup import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.IllegalFieldValueException import org.joda.time.LocalDateTime -import java.util.* +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt index 2aac99ab1f..25da4499e1 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.apache.commons.lang3.StringUtils /** diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt index 4558375864..330ce83f70 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt @@ -1,11 +1,12 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.CRC import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Arrays +import java.util.Locale /** * Created by geoff on 6/4/16. diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt index 6e2ac8ad59..146c4ed6d5 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt @@ -1,16 +1,16 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.cgms -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RecordDecodeStatus import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.cgms.CGMSHistoryEntryType.Companion.getByCode import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import okhttp3.internal.and import org.joda.time.LocalDateTime -import java.util.* +import java.util.Arrays /** * This file was taken from GGC - GNU Gluco Control (ggc.sourceforge.net), application for diabetes diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt index 38a2deb0ef..e8babfcbe1 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt @@ -1,7 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryDecoder @@ -15,7 +13,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalPair import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpBolusType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton import kotlin.experimental.and diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryResult.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryResult.kt index 51d394b634..0f13f33875 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryResult.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryResult.kt @@ -1,10 +1,9 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil -import java.util.* -import kotlin.collections.ArrayList +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Collections /** * History page contains data, sorted from newest to oldest (0=newest..n=oldest) diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt index 5db80f93d7..9445ecda75 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.message -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.RLMessage import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import kotlin.math.min /** diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIComm.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIComm.kt index 5289b05c17..f89e52deeb 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIComm.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIComm.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.ui import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject /** diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt index b92ce04b36..f9420e56ed 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt @@ -1,8 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.ui -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO @@ -14,10 +12,13 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicNotificat import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicUIResponseType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.DateTimeZone import org.joda.time.Duration -import java.util.* +import java.util.Date +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt index 9ec397e08d..348d6acbf0 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt @@ -1,9 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.ui import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager @@ -15,8 +12,11 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicUIRespons import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.LocalDateTime -import java.util.* +import java.util.Locale import javax.inject.Inject /** diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index 09ebc9d5b7..a808b84b2d 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -6,15 +6,14 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryTBR +import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.R @@ -22,18 +21,26 @@ import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.Medtr import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryResult -import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.* +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BolusDTO +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BolusWizardDTO +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.ClockDTO +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.DailyTotalsDTO +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalPair +import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalProcessDTO import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpBolusType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.apache.commons.lang3.StringUtils import org.joda.time.LocalDateTime -import java.util.* +import java.util.GregorianCalendar +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt index f2917b7423..dc22e76484 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import com.google.gson.annotations.Expose -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.Instant -import java.util.* +import java.util.Locale /** * Created by geoff on 6/1/15. diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfileEntry.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfileEntry.kt index b1f642162a..f94fa7bb4f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfileEntry.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfileEntry.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.LocalTime -import java.util.* +import java.util.Locale /** * Created by geoff on 6/1/15. diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt index 86fee76519..902e4f410e 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Locale /** * Created by geoff on 5/29/15. diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalProcessDTO.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalProcessDTO.kt index 29645b477b..9470e0978f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalProcessDTO.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalProcessDTO.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType +import info.nightscout.rx.logging.AAPSLogger class TempBasalProcessDTO constructor(var itemOne: PumpHistoryEntry, var aapsLogger: AAPSLogger, diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt index 82238a9e3f..3af51d4f59 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.driver -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -12,9 +12,10 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.BasalProfileStatus import info.nightscout.androidaps.plugins.pump.medtronic.defs.BatteryType import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpConfigurationChanged.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpConfigurationChanged.kt index 458c055454..3ecabd0c9a 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpConfigurationChanged.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpConfigurationChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventMedtronicPumpConfigurationChanged : Event() diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpValuesChanged.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpValuesChanged.kt index b314b9db19..ff3a44507c 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpValuesChanged.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/events/EventMedtronicPumpValuesChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventMedtronicPumpValuesChanged : Event() diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt index 4154965d3b..3e8b7024ba 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt @@ -19,7 +19,8 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceTyp import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt index 31a2e8c150..3853f29679 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt @@ -1,9 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.util import com.google.gson.GsonBuilder -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification @@ -18,11 +16,13 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandTy import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicNotificationType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.joda.time.LocalTime import java.nio.ByteBuffer import java.nio.ByteOrder -import java.util.* +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton import kotlin.experimental.or diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index fd598dcb63..827ea1de9d 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil @@ -13,9 +12,10 @@ import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.Medtr import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.logging.AAPSLoggerTest import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Rule diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt index 0557795620..e25d03f6e5 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.util.Log import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RawHistoryPage import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder @@ -15,6 +14,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.androidaps.utils.serialisation.SealedClassHelper.gson +import info.nightscout.rx.bus.RxBus import org.junit.Before import org.junit.Test diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index 83adbcfabc..88f2979c2b 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -16,5 +16,6 @@ android { dependencies { implementation project(':libraries') implementation project(':core') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InitializePodViewModel.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InitializePodViewModel.kt index 1d8cf80069..8556486e3e 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InitializePodViewModel.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InitializePodViewModel.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger abstract class InitializePodViewModel( injector: HasAndroidInjector, diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InsertCannulaViewModel.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InsertCannulaViewModel.kt index 9d05e9c85c..1d9bd6a383 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InsertCannulaViewModel.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/InsertCannulaViewModel.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger abstract class InsertCannulaViewModel( injector: HasAndroidInjector, diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/PodActivationActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/PodActivationActionViewModelBase.kt index 8946072a7c..35aa0de674 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/PodActivationActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/viewmodel/action/PodActivationActionViewModelBase.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.viewmodel.ActionViewModelBase -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger abstract class PodActivationActionViewModelBase( injector: HasAndroidInjector, diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index cc9e8d0de4..03412433e8 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -4,9 +4,10 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/deactivation/viewmodel/action/DeactivatePodViewModel.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/deactivation/viewmodel/action/DeactivatePodViewModel.kt index 15f8b0ba43..e3d5af1e6b 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/deactivation/viewmodel/action/DeactivatePodViewModel.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/deactivation/viewmodel/action/DeactivatePodViewModel.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactiv import dagger.android.HasAndroidInjector import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.viewmodel.ActionViewModelBase -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger abstract class DeactivatePodViewModel( injector: HasAndroidInjector, diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 2f8de56b0e..34fce83489 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -31,7 +31,8 @@ android { dependencies { implementation project(':database') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':core') implementation project(':pump:pump-common') diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/EventOmnipodDashPumpValuesChanged.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/EventOmnipodDashPumpValuesChanged.kt index 7aa04163dd..8cf0e01c5a 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/EventOmnipodDashPumpValuesChanged.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/EventOmnipodDashPumpValuesChanged.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventOmnipodDashPumpValuesChanged : Event() diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 6c9b453bcb..314e6af0a3 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -8,9 +8,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.events.EventProfileSwitchChanged -import info.nightscout.androidaps.events.EventRefreshOverview -import info.nightscout.androidaps.events.EventTempBasalChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -25,7 +22,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType @@ -72,9 +68,13 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.TimeChangeType -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.core.Single diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/di/OmnipodDashHistoryModule.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/di/OmnipodDashHistoryModule.kt index a4000d6680..b2454347c4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/di/OmnipodDashHistoryModule.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/di/OmnipodDashHistoryModule.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.DashHistory import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordDao import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.mapper.HistoryMapper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Singleton @Module diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt index 38b059d096..ae594c5cd8 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt @@ -3,26 +3,52 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver import android.os.SystemClock import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.OmnipodDashBleManager import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.event.PodEvent -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.DeactivateCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.GetStatusCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.GetVersionCommand import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.GetVersionCommand.Companion.DEFAULT_UNIQUE_ID -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.ProgramAlertsCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.ProgramBasalCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.ProgramBeepsCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.ProgramBolusCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.ProgramTempBasalCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.SetUniqueIdCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.SilenceAlertsCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.StopDeliveryCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.SuspendDeliveryCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ActivationProgress +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertConfiguration +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertTrigger +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepRepetitionType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BeepType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants.Companion.MAX_POD_LIFETIME import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants.Companion.POD_EXPIRATION_ALERT_HOURS import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants.Companion.POD_EXPIRATION_ALERT_HOURS_DURATION import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants.Companion.POD_EXPIRATION_IMMINENT_ALERT_HOURS import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants.Companion.POD_PULSE_BOLUS_UNITS -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ProgramReminder +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.AlarmStatusResponse +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.DefaultStatusResponse +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.Response +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.ResponseType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.utils.Round -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.functions.Action import io.reactivex.rxjava3.functions.Consumer import java.time.Duration import java.time.ZonedDateTime -import java.util.* +import java.util.Date +import java.util.EnumSet import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit import javax.inject.Inject diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt index dc5da6d1f8..5460da9347 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt @@ -4,17 +4,34 @@ import android.bluetooth.BluetoothAdapter import android.bluetooth.BluetoothManager import android.content.Context import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.plugins.pump.omnipod.dash.BuildConfig -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.* +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.BusyException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.CouldNotSendCommandException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.FailedToConnectException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.NotConnectedException +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.SessionEstablishmentException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair.LTKExchanger import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.scan.PodScanner -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandAckError +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandReceiveError +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandReceiveSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandSendErrorConfirming +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandSendErrorSending +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.CommandSendSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.Connected +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.Connection +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.ConnectionState +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.ConnectionWaitCondition +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.NotConnected +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.Session import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.event.PodEvent import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.base.Command import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.Response import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Observable import java.util.concurrent.CountDownLatch import java.util.concurrent.atomic.AtomicBoolean @@ -26,7 +43,8 @@ import kotlin.reflect.KClass class OmnipodDashBleManagerImpl @Inject constructor( private val context: Context, private val aapsLogger: AAPSLogger, - private val podState: OmnipodDashPodStateManager + private val podState: OmnipodDashPodStateManager, + private val config: Config ) : OmnipodDashBleManager { private val busy = AtomicBoolean(false) @@ -124,7 +142,7 @@ class OmnipodDashBleManagerImpl @Inject constructor( val podDevice = bluetoothAdapter?.getRemoteDevice(podAddress) ?: throw ConnectException("Bluetooth not available") val conn = connection - ?: Connection(podDevice, aapsLogger, context, podState) + ?: Connection(podDevice, aapsLogger, config, context, podState) connection = conn if (conn.connectionState() is Connected && conn.session != null) { emitter.onNext(PodEvent.AlreadyConnected(podAddress)) @@ -203,7 +221,7 @@ class OmnipodDashBleManagerImpl @Inject constructor( emitter.onNext(PodEvent.BluetoothConnecting) val podDevice = adapter.getRemoteDevice(podAddress) - val conn = Connection(podDevice, aapsLogger, context, podState) + val conn = Connection(podDevice, aapsLogger, config, context, podState) connection = conn conn.connect(ConnectionWaitCondition(timeoutMs = 3 * Connection.BASE_CONNECT_TIMEOUT_MS)) emitter.onNext(PodEvent.BluetoothConnected(podAddress)) @@ -212,13 +230,14 @@ class OmnipodDashBleManagerImpl @Inject constructor( val mIO = conn.msgIO ?: throw ConnectException("Connection lost") val ltkExchanger = LTKExchanger( aapsLogger, + config, mIO, ids, ) val pairResult = ltkExchanger.negotiateLTK() emitter.onNext(PodEvent.Paired(ids.podId)) podState.updateFromPairing(ids.podId, pairResult) - if (BuildConfig.DEBUG) { + if (config.DEBUG) { aapsLogger.info(LTag.PUMPCOMM, "Got LTK: ${pairResult.ltk.toHex()}") } emitter.onNext(PodEvent.EstablishingSession) diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt index ca371fafac..f2d98ad24d 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session. import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.Connection import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.Connection.Companion.STOP_CONNECTING_CHECK_INTERVAL_MS import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.ConnectionWaitCondition -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import java.math.BigInteger -import java.util.* +import java.util.UUID class ServiceDiscoverer( private val logger: AAPSLogger, diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/callbacks/BleCommCallbacks.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/callbacks/BleCommCallbacks.kt index 226fbe9dce..766c2cbd2b 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/callbacks/BleCommCallbacks.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/callbacks/BleCommCallbacks.kt @@ -9,9 +9,9 @@ import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.CharacteristicType.Companion.byValue import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.IncomingPackets import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.DisconnectHandler -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.UUID import java.util.concurrent.BlockingQueue import java.util.concurrent.CountDownLatch import java.util.concurrent.LinkedBlockingQueue diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecrypt.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecrypt.kt index 0bda5dff61..c7ed4bf60a 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecrypt.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecrypt.kt @@ -2,8 +2,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecry import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import org.spongycastle.crypto.engines.AESEngine import org.spongycastle.crypto.modes.CCMBlockCipher import org.spongycastle.crypto.params.AEADParameters diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/BleIO.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/BleIO.kt index 5e1974ea51..a7b4f9eb77 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/BleIO.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/BleIO.kt @@ -10,9 +10,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callback import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.WriteConfirmationError import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.WriteConfirmationSuccess import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandRTS -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.* -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import java.util.concurrent.BlockingQueue import java.util.concurrent.TimeUnit diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/CmdBleIO.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/CmdBleIO.kt index a5fda80425..908ca6d8d6 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/CmdBleIO.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/CmdBleIO.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.OmnipodD import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommand import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandHello -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import java.util.concurrent.BlockingQueue sealed class BleConfirmResult diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/DataBleIO.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/DataBleIO.kt index 6fc46dbdc1..01ad81375c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/DataBleIO.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/io/DataBleIO.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io import android.bluetooth.BluetoothGatt import android.bluetooth.BluetoothGattCharacteristic import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import java.util.concurrent.BlockingQueue class DataBleIO( diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessageIO.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessageIO.kt index 7df5ede178..171d025af7 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessageIO.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessageIO.kt @@ -1,13 +1,27 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.* -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandAbort +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandCTS +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandFail +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandNack +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandRTS +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommandSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleConfirmError +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleConfirmIncorrectData +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleConfirmSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleSendErrorConfirming +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleSendErrorSending +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleSendResult +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.BleSendSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.CmdBleIO +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.DataBleIO import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.BlePacket import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadJoiner import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.packet.PayloadSplitter -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag sealed class MessageSendResult object MessageSendSuccess : MessageSendResult() diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt index 04c6765b7a..a8703cfab9 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt @@ -1,18 +1,19 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.plugins.pump.omnipod.dash.BuildConfig +import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.spongycastle.crypto.engines.AESEngine import org.spongycastle.crypto.macs.CMac import org.spongycastle.crypto.params.KeyParameter class KeyExchange( private val aapsLogger: AAPSLogger, + private val config: Config, private val x25519: X25519KeyGenerator, randomByteGenerator: RandomByteGenerator ) { @@ -86,7 +87,7 @@ class KeyExchange( pdmNonce aesCmac(confKey, podConfData, podConf) - if (BuildConfig.DEBUG) { + if (config.DEBUG) { aapsLogger.debug(LTag.PUMPBTCOMM, "pdmPrivate: ${pdmPrivate.toHex()}") aapsLogger.debug(LTag.PUMPBTCOMM, "pdmPublic: ${pdmPublic.toHex()}") aapsLogger.debug(LTag.PUMPBTCOMM, "podPublic: ${podPublic.toHex()}") diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt index fa28370161..7426d112f6 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex +import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.PairingException @@ -11,16 +12,18 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message. import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.StringLengthPrefixEncoding.Companion.parseKeys import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + internal class LTKExchanger( private val aapsLogger: AAPSLogger, + config: Config, private val msgIO: MessageIO, private val ids: Ids, ) { private val podAddress = Ids.notActivated() - private val keyExchange = KeyExchange(aapsLogger, X25519KeyGenerator(), RandomByteGenerator()) + private val keyExchange = KeyExchange(aapsLogger, config, X25519KeyGenerator(), RandomByteGenerator()) private var seq: Byte = 1 @Throws(PairingException::class) diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/PodScanner.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/PodScanner.kt index 1f60603742..854e514f2e 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/PodScanner.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/PodScanner.kt @@ -6,9 +6,9 @@ import android.bluetooth.le.ScanSettings import android.os.ParcelUuid import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ScanException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ScanFailFoundTooManyException -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Arrays class PodScanner(private val logger: AAPSLogger, private val bluetoothAdapter: BluetoothAdapter) { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/ScanCollector.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/ScanCollector.kt index 7513ed0b66..7bbb617967 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/ScanCollector.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/scan/ScanCollector.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.scan import android.bluetooth.le.ScanCallback import android.bluetooth.le.ScanResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ScanException -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Collections import java.util.concurrent.ConcurrentHashMap class ScanCollector(private val logger: AAPSLogger, private val podID: Long) : ScanCallback() { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt index 358c87a4c6..94ac634c28 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt @@ -8,7 +8,7 @@ import android.content.Context import android.os.SystemClock import info.nightscout.androidaps.Constants import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.plugins.pump.omnipod.dash.BuildConfig +import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.ServiceDiscoverer import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks @@ -21,9 +21,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.DataB import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io.IncomingPackets import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageIO import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.lang.IllegalArgumentException +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import java.util.concurrent.CountDownLatch sealed class ConnectionState @@ -46,6 +45,7 @@ data class ConnectionWaitCondition(var timeoutMs: Long? = null, val stopConnecti class Connection( private val podDevice: BluetoothDevice, private val aapsLogger: AAPSLogger, + private val config: Config, private val context: Context, private val podState: OmnipodDashPodStateManager ) : DisconnectHandler { @@ -171,17 +171,17 @@ class Connection( fun establishSession(ltk: ByteArray, msgSeq: Byte, ids: Ids, eapSqn: ByteArray): EapSqn? { val mIO = msgIO ?: throw ConnectException("Connection lost") - val eapAkaExchanger = SessionEstablisher(aapsLogger, mIO, ltk, eapSqn, ids, msgSeq) + val eapAkaExchanger = SessionEstablisher(aapsLogger, config, mIO, ltk, eapSqn, ids, msgSeq) return when (val keys = eapAkaExchanger.negotiateSessionKeys()) { is SessionNegotiationResynchronization -> { - if (BuildConfig.DEBUG) { + if (config.DEBUG) { aapsLogger.info(LTag.PUMPCOMM, "EAP AKA resynchronization: ${keys.synchronizedEapSqn}") } keys.synchronizedEapSqn } is SessionKeys -> { - if (BuildConfig.DEBUG) { + if (config.DEBUG) { aapsLogger.info(LTag.PUMPCOMM, "CK: ${keys.ck.toHex()}") aapsLogger.info(LTag.PUMPCOMM, "msgSequenceNumber: ${keys.msgSequenceNumber}") aapsLogger.info(LTag.PUMPCOMM, "Nonce: ${keys.nonce}") diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessage.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessage.kt index 133c6a2ddb..d0266122f6 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessage.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessage.kt @@ -2,8 +2,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import java.nio.ByteBuffer enum class EapCode(val code: Byte) { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt index d9fa77fd32..48de01938a 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.plugins.pump.omnipod.dash.BuildConfig -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.androidaps.interfaces.Config +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import org.spongycastle.util.encoders.Hex import java.security.SecureRandom import javax.crypto.Cipher @@ -11,6 +11,7 @@ import javax.crypto.spec.SecretKeySpec class Milenage( private val aapsLogger: AAPSLogger, + private val config: Config, private val k: ByteArray, val sqn: ByteArray, randParam: ByteArray? = null, @@ -103,7 +104,7 @@ class Milenage( val receivedMacS = auts.copyOfRange(6, 14) init { - if (BuildConfig.DEBUG) { + if (config.DEBUG) { aapsLogger.debug(LTag.PUMPBTCOMM, "Milenage K: ${k.toHex()}") aapsLogger.debug(LTag.PUMPBTCOMM, "Milenage RAND: ${rand.toHex()}") aapsLogger.debug(LTag.PUMPBTCOMM, "Milenage SQN: ${sqn.toHex()}") diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Session.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Session.kt index 5dcbabf3c7..f2ec5f561c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Session.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Session.kt @@ -4,13 +4,18 @@ import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecrypt.EnDecrypt import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.CouldNotParseResponseException -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageIO +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageSendErrorConfirming +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageSendErrorSending +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageSendSuccess import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.StringLengthPrefixEncoding import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.StringLengthPrefixEncoding.Companion.parseKeys import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.command.base.Command import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.Response -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag sealed class CommandSendResult object CommandSendSuccess : CommandSendResult() diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt index 620aac32db..52987ef873 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex +import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecrypt.Nonce import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.SessionEstablishmentException @@ -8,13 +9,14 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message. import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageSendSuccess import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessageType -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import java.security.SecureRandom -import java.util.* +import java.util.Random class SessionEstablisher( private val aapsLogger: AAPSLogger, + private val config: Config, private val msgIO: MessageIO, private val ltk: ByteArray, private val eapSqn: ByteArray, @@ -25,7 +27,7 @@ class SessionEstablisher( private val controllerIV = ByteArray(IV_SIZE) private var nodeIV = ByteArray(IV_SIZE) private val identifier = Random().nextInt().toByte() - private val milenage = Milenage(aapsLogger, ltk, eapSqn) + private val milenage = Milenage(aapsLogger, config, ltk, eapSqn) init { require(eapSqn.size == 6) { "EAP-SQN has to be 6 bytes long" } @@ -38,7 +40,7 @@ class SessionEstablisher( fun negotiateSessionKeys(): SessionNegotiationResponse { msgSeq++ - var challenge = eapAkaChallenge() + val challenge = eapAkaChallenge() val sendResult = msgIO.sendMessage(challenge) if (sendResult !is MessageSendSuccess) { throw SessionEstablishmentException("Could not send the EAP AKA challenge: $sendResult") @@ -55,7 +57,7 @@ class SessionEstablisher( } msgSeq++ - var success = eapSuccess() + val success = eapSuccess() msgIO.sendMessage(success) return SessionKeys( @@ -154,6 +156,7 @@ class SessionEstablisher( val auts = eapMsg.attributes[0] as EapAkaAttributeAuts val autsMilenage = Milenage( aapsLogger = aapsLogger, + config = config, k = ltk, sqn = eapSqn, randParam = milenage.rand, @@ -162,6 +165,7 @@ class SessionEstablisher( val newSqnMilenage = Milenage( aapsLogger = aapsLogger, + config = config, k = ltk, sqn = autsMilenage.synchronizationSqn, randParam = milenage.rand, @@ -183,7 +187,7 @@ class SessionEstablisher( val eapMsg = EapMessage( code = EapCode.SUCCESS, attributes = arrayOf(), - identifier = identifier.toByte() + identifier = identifier ) return MessagePacket( diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt index 3ab29d722e..94d457279c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt @@ -3,20 +3,27 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state import android.os.SystemClock import com.google.gson.Gson import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.omnipod.dash.EventOmnipodDashPumpValuesChanged import info.nightscout.androidaps.plugins.pump.omnipod.dash.R import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair.PairResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session.EapSqn -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.ActivationProgress +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlarmType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.DeliveryStatus +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodStatus +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.SoftwareVersion import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.AlarmStatusResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.DefaultStatusResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse import info.nightscout.androidaps.utils.Round -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.core.Maybe @@ -27,7 +34,8 @@ import java.time.Instant import java.time.ZoneId import java.time.ZoneOffset import java.time.ZonedDateTime -import java.util.* +import java.util.EnumSet +import java.util.TimeZone import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistory.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistory.kt index 2a69c98501..3fde3b3070 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistory.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistory.kt @@ -3,13 +3,23 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.history import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType.SET_BOLUS import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType.SET_TEMPORARY_BASAL -import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.* -import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.CommandConfirmationDenied +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.CommandConfirmationSuccess +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.CommandSendingFailure +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.CommandSendingNotConfirmed +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.NoActiveCommand +import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.BasalValuesRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.BolusRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.HistoryRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.InitialResult +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.ResolvedResult +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.TempBasalRecord import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordDao import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordEntity import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.mapper.HistoryMapper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.core.Single import java.lang.System.currentTimeMillis diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt index fcfd47b5dd..140d36479b 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt @@ -19,10 +19,16 @@ import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.dash.R import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.DashHistory -import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.* -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.BasalValuesRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.BolusRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.HistoryRecord +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.InitialResult +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.ResolvedResult +import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.TempBasalRecord +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.LTag +import java.util.Calendar +import java.util.GregorianCalendar import javax.inject.Inject class DashPodHistoryActivity : NoSplashAppCompatActivity() { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index 82c0d2b802..3ebbc5c8c7 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 9c90531efb..73f76633c2 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding @@ -40,8 +39,9 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index 18dca74640..63fb4d6072 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -14,9 +14,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.DashHistory import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.InitialResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.ResolvedResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index a3c478725f..62c932fc14 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -7,7 +7,6 @@ import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -24,9 +23,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt index edda5f7429..8945e35ebb 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt @@ -4,7 +4,6 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.R @@ -12,8 +11,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.Comm import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single import javax.inject.Inject diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 6b3756e762..177c839b0f 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -24,7 +24,8 @@ android { dependencies { implementation project(':database') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':core') implementation project(':pump:pump-common') diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 2a72613ba8..c9f73dc12e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -36,10 +36,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.EventAppExit; -import info.nightscout.androidaps.events.EventAppInitialized; import info.nightscout.androidaps.events.EventPreferenceChange; -import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -52,7 +49,6 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.common.ManufacturerType; import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; @@ -92,7 +88,6 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodEr import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosPumpValuesChanged; import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosTbrChanged; import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosUncertainTbrRecovered; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.ErosHistory; import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandGetPodStatus; import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandReadPulseLog; @@ -109,9 +104,13 @@ import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.Round; import info.nightscout.androidaps.utils.T; import info.nightscout.androidaps.utils.TimeChangeType; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.events.EventAppInitialized; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.disposables.CompositeDisposable; @@ -661,7 +660,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment"); return new PumpEnactResult(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) - .comment(info.nightscout.androidaps.core.R.string.invalidinput); + .comment(R.string.invalidinput); } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it return deliverBolus(detailedBolusInfo); diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/AssignAddressAction.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/AssignAddressAction.java index 6ae931b5e1..4ac4a473bf 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/AssignAddressAction.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/AssignAddressAction.java @@ -5,7 +5,6 @@ import org.joda.time.DateTimeZone; import java.util.Collections; import java.util.Random; -import info.nightscout.shared.logging.AAPSLogger; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.OmnipodMessage; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.AssignAddressCommand; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.VersionResponse; @@ -16,6 +15,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.Ill import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.IllegalVersionResponseTypeException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; +import info.nightscout.rx.logging.AAPSLogger; public class AssignAddressAction implements OmnipodAction { private final ErosPodStateManager podStateManager; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/SetupPodAction.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/SetupPodAction.java index 25a49bf505..9b1feeb80c 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/SetupPodAction.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/action/SetupPodAction.java @@ -4,7 +4,6 @@ import org.joda.time.DateTime; import java.util.Collections; -import info.nightscout.shared.logging.AAPSLogger; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.OmnipodMessage; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.SetupPodCommand; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.VersionResponse; @@ -18,6 +17,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.Ill import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.IllegalVersionResponseTypeException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; +import info.nightscout.rx.logging.AAPSLogger; public class SetupPodAction implements OmnipodAction { private final ErosPodStateManager podStateManager; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java index 9c35851006..d8437851b3 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java @@ -4,8 +4,6 @@ import java.util.ArrayList; import java.util.EnumSet; import java.util.List; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.CancelDeliveryCommand; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.GetStatusCommand; @@ -17,6 +15,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Po import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.CrcMismatchException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.MessageDecodingException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.NotEnoughDataException; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class OmnipodMessage { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/ErosPodStateManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/ErosPodStateManager.java index caa6d72f4d..d49c868cc3 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/ErosPodStateManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/ErosPodStateManager.java @@ -19,8 +19,6 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Supplier; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.OmnipodMessage; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.StatusUpdatableResponse; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo.PodInfoDetailedStatus; @@ -36,6 +34,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Om import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalSchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.util.TimeUtil; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; // TODO add nullchecks on some setters public abstract class ErosPodStateManager { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/OmnipodManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/OmnipodManager.java index fceedb167a..f132dfd867 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/OmnipodManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/manager/OmnipodManager.java @@ -11,8 +11,6 @@ import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; import java.util.function.Supplier; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.action.AcknowledgeAlertsAction; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.action.AssignAddressAction; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.action.BolusAction; @@ -52,7 +50,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.Pod import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.PodProgressStatusVerificationFailedException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.PrecedingCommandFailedUncertainlyException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Completable; import io.reactivex.rxjava3.core.Flowable; import io.reactivex.rxjava3.core.Single; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosActiveAlertsChanged.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosActiveAlertsChanged.kt index c159cc3331..0737d65302 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosActiveAlertsChanged.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosActiveAlertsChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.event -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event /** * Created by andy on 04.06.2018. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosFaultEventChanged.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosFaultEventChanged.kt index c7ed0d7304..3d6d93488c 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosFaultEventChanged.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosFaultEventChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.event -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event /** * Created by andy on 04.06.2018. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosPumpValuesChanged.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosPumpValuesChanged.kt index 05c8de7537..a61256b424 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosPumpValuesChanged.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosPumpValuesChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.event -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event /** * Created by andy on 04.06.2018. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosTbrChanged.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosTbrChanged.kt index 0350aa8377..c2c58ad4d1 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosTbrChanged.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosTbrChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.event -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event /** * Created by andy on 04.06.2018. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosUncertainTbrRecovered.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosUncertainTbrRecovered.kt index 1098c56da9..1fb54c13be 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosUncertainTbrRecovered.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/event/EventOmnipodErosUncertainTbrRecovered.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.event -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event /** * Created by andy on 04.06.2018. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java index 92622268a0..a9f65dfdf7 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java @@ -3,8 +3,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.manager; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.OmnipodErosStorageKeys; @@ -13,6 +11,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodEr import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosFaultEventChanged; import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosTbrChanged; import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosUncertainTbrRecovered; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.shared.sharedPreferences.SP; @Singleton diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 2cba6243c3..56a687f02b 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -16,14 +16,11 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.events.Event; -import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.bus.RxBus; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; @@ -78,9 +75,12 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.Om import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; import info.nightscout.androidaps.utils.T; -import info.nightscout.androidaps.utils.rx.AapsSchedulers; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.Event; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; import io.reactivex.rxjava3.subjects.SingleSubject; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java index cf94851de7..676a9626bc 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java @@ -8,7 +8,6 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; @@ -44,6 +43,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.Ril import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.RileyLinkUnexpectedException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.RileyLinkUnreachableException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; +import info.nightscout.rx.logging.LTag; /** * Created by andy on 6/29/18. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java index c6a7d37063..8f7f9d3183 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java @@ -9,7 +9,6 @@ import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; @@ -21,6 +20,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugi import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; +import info.nightscout.rx.logging.LTag; /** diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java index d795fc1455..530d2d0f2e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java @@ -23,19 +23,19 @@ import java.util.List; import javax.inject.Inject; import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.ErosHistory; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryRecordEntity; import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; +import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.PodHistoryEntryType; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.ErosHistory; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryRecordEntity; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; public class ErosPodHistoryActivity extends NoSplashAppCompatActivity { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index 3893b36eea..e91275e9be 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -32,8 +32,8 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.events.EventQueueChanged import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index f62e5c044c..507a8ccbdb 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -48,8 +47,9 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt index 0d0e77c088..a31d927a27 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt @@ -3,13 +3,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsErosPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single import javax.inject.Inject diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt index bd58f2d84e..39261e5abf 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt @@ -4,13 +4,13 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsErosPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single import javax.inject.Inject diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt index 3733176cf6..019e53ae80 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt @@ -4,13 +4,13 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single import javax.inject.Inject diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..b4c68bf8b5 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 46ce682b2b..5118c70129 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -10,12 +10,12 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.bus.RxBus import org.joda.time.DateTimeZone import org.joda.time.tz.UTCProvider import org.junit.Assert diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt index 8c15bc9fa8..c1ae911d92 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.manager import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FirmwareVersion import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime import org.joda.time.DateTimeUtils diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index b1802ccb8b..65880c9874 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -14,8 +14,8 @@ android { dependencies { implementation project(':core') - implementation project(':shared') - //implementation project(':database') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation('com.thoughtworks.xstream:xstream:1.4.19') { exclude group: 'xmlpull', module: 'xmlpull' diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index a302ffa3f5..198b4b7d6d 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -8,29 +8,37 @@ import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.events.EventAppExit -import info.nightscout.androidaps.events.EventCustomActionsChanged import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.PumpPluginBase +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs +import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventCustomActionsChanged +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import org.json.JSONException diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt index 3105e3842c..025133ba71 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt @@ -8,10 +8,10 @@ import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.extensions.safeGetParcelableExtra import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.events.EventPumpConnectionParametersChanged -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt index 658579b280..e18c7070f6 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.pump.common.di import dagger.Module import dagger.Provides import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Singleton diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt index 872645fa30..5142254dc0 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt @@ -5,12 +5,12 @@ import android.bluetooth.le.ScanFilter import android.bluetooth.le.ScanSettings import android.content.Context import android.widget.Toast -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelector -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP abstract class PumpBLESelectorAbstract constructor( diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventBondChanged.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventBondChanged.kt index 8e2c8b978c..2f22f9fe02 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventBondChanged.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventBondChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventBondChanged( var connectionAddress: String, diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpChanged.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpChanged.kt index 36b1107882..dc4c2f1086 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpChanged.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventPumpChanged(var serialNumber: String, var connectionAddress: String, diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpConnectionParametersChanged.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpConnectionParametersChanged.kt index d6c5b1563a..55402e1467 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpConnectionParametersChanged.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpConnectionParametersChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventPumpConnectionParametersChanged : Event() { } \ No newline at end of file diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpFragmentValuesChanged.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpFragmentValuesChanged.kt index fcb55dcd11..4e69bd8de5 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpFragmentValuesChanged.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventPumpFragmentValuesChanged.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.Event import info.nightscout.androidaps.plugins.pump.common.defs.PumpUpdateFragmentType +import info.nightscout.rx.events.Event class EventPumpFragmentValuesChanged : Event { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt index 54f4773141..401e40083f 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt @@ -1,5 +1,5 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.Event +import info.nightscout.rx.events.Event class EventRefreshButtonState (val newState : Boolean): Event() \ No newline at end of file diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt index 58c42cf577..a45ab5b8cf 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt @@ -4,8 +4,9 @@ import com.thoughtworks.xstream.XStream import com.thoughtworks.xstream.security.AnyTypePermission import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt index a2fab202c3..fadc2ff4cb 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt @@ -22,7 +22,7 @@ import android.widget.BaseAdapter import android.widget.TextView import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.common.databinding.PumpBleConfigActivityBinding @@ -30,9 +30,9 @@ import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelector import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelectorText import info.nightscout.androidaps.plugins.pump.common.driver.PumpDriverConfigurationCapable import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.apache.commons.lang3.StringUtils import javax.inject.Inject diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt index a29cf41094..e262f9d3bd 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt @@ -13,6 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.databinding.PumpHistoryActivityBinding import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup @@ -20,9 +21,8 @@ import info.nightscout.androidaps.plugins.pump.common.driver.PumpDriverConfigura import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryDataProvider import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryText -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject class PumpHistoryActivity : DaggerAppCompatActivity() { diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 33c437bb34..222096180d 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -13,7 +13,8 @@ android { } dependencies { - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') } diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt index f2c80cc3c9..60bff894fa 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt @@ -37,11 +37,11 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Gatt import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileyLinkBleConfigActivityBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.apache.commons.lang3.StringUtils -import java.util.* +import java.util.Locale import javax.inject.Inject // IMPORTANT: This activity needs to be called from RileyLinkSelectPreference (see pref_medtronic.xml as example) diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java index 1837bfce2e..dc3170fabc 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java @@ -6,8 +6,6 @@ import javax.inject.Inject; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; @@ -25,6 +23,8 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.utils.Round; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java index 8f478d36f2..22d4e26f04 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkUtil.java @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.enco import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.BleAdvertisedData; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.rx.logging.AAPSLogger; /** * Created by andy on 17/05/2018. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java index 356628cce8..3e178b101b 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java @@ -12,10 +12,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.events.EventRefreshOverview; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil; @@ -38,7 +35,10 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.Riley import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil; import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt index 62abb3fd8e..c064653472 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.Rile import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operations.BLECommOperationResult import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.UUID import java.util.concurrent.Executors import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.Semaphore diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt index bcb6630d9a..efd8b123fd 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt @@ -1,7 +1,15 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble import android.annotation.SuppressLint -import android.bluetooth.* +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothDevice +import android.bluetooth.BluetoothGatt +import android.bluetooth.BluetoothGattCallback +import android.bluetooth.BluetoothGattCharacteristic +import android.bluetooth.BluetoothGattDescriptor +import android.bluetooth.BluetoothGattService +import android.bluetooth.BluetoothManager +import android.bluetooth.BluetoothProfile import android.content.Context import android.content.pm.PackageManager import android.os.Build @@ -22,11 +30,12 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.apache.commons.lang3.StringUtils -import java.util.* +import java.util.Locale +import java.util.UUID import java.util.concurrent.Semaphore import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java index 5fc174cf97..c04163dcec 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java @@ -5,8 +5,6 @@ import org.apache.commons.lang3.NotImplementedException; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.command.RileyLinkCommand; @@ -16,6 +14,8 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.Rile import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.common.utils.CRC; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Created by geoff on 5/30/16. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java index d45e9c456c..ddde11e6b5 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.enc import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.rx.logging.AAPSLogger; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java index 3c4dffe31c..0b89d85a34 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java @@ -7,7 +7,7 @@ import java.util.Locale; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkBLEError; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.shared.logging.AAPSLogger; +import info.nightscout.rx.logging.AAPSLogger; /** * Created by andy on 11/24/18. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt index 0f1ab68f74..fd4aa416cb 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Gatt import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operations.BLECommOperationResult import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.UUID import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicReadOperation.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicReadOperation.java index 9b96c498cc..5d6a70c592 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicReadOperation.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicReadOperation.java @@ -7,10 +7,10 @@ import android.os.SystemClock; import java.util.UUID; import java.util.concurrent.TimeUnit; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkBLE; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Created by geoff on 5/26/16. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicWriteOperation.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicWriteOperation.java index 802057c986..700019cde0 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicWriteOperation.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/CharacteristicWriteOperation.java @@ -7,10 +7,10 @@ import android.os.SystemClock; import java.util.UUID; import java.util.concurrent.TimeUnit; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkBLE; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Created by geoff on 5/26/16. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/DescriptorWriteOperation.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/DescriptorWriteOperation.java index 1df2cc0a58..68674f5a68 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/DescriptorWriteOperation.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/operations/DescriptorWriteOperation.java @@ -7,9 +7,9 @@ import android.os.SystemClock; import java.util.UUID; import java.util.concurrent.TimeUnit; -import info.nightscout.shared.logging.AAPSLogger; -import info.nightscout.shared.logging.LTag; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkBLE; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; /** * Created by geoff on 5/26/16. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt index d9b6ee141c..6a3ac9e78a 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusGeneralBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice @@ -13,8 +14,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.joda.time.LocalDateTime import javax.inject.Inject diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt index 4c2fc19e16..fcab67901a 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt @@ -6,9 +6,9 @@ import android.content.Intent import android.content.IntentFilter import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.logging.AAPSLogger import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class RileyLinkBluetoothStateReceiver : DaggerBroadcastReceiver() { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt index ff9fca17f3..53830b8cf0 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt @@ -19,8 +19,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTask import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt index 9e5e10cd79..ebc8a04579 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt @@ -8,7 +8,6 @@ import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst @@ -18,10 +17,11 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLink import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Locale import javax.inject.Inject /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkServiceData.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkServiceData.kt index 39dcf629bb..f909b050ef 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkServiceData.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkServiceData.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkFirmwareVersion @@ -9,9 +8,10 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistor import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import java.util.* +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import java.util.Locale import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt index e3d5a121b7..95585537b4 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/DiscoverGattServicesTask.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject class DiscoverGattServicesTask(injector: HasAndroidInjector, private val needToConnect: Boolean = false) : ServiceTask(injector) { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt index cc7f946d74..ad33c6b150 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt @@ -10,8 +10,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData import info.nightscout.androidaps.utils.Round.isSame -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import kotlin.math.roundToLong diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt index c0d7e6e136..79b7377df4 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class ResetRileyLinkConfigurationTask(injector: HasAndroidInjector) : PumpTask(injector) { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt index f0623eaf92..03192e3667 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTaskExecutor.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.ThreadPoolExecutor import java.util.concurrent.TimeUnit diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt index dfc3bcd91d..b5ec03a89c 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState +import info.nightscout.rx.bus.RxBus import javax.inject.Inject class WakeAndTuneTask(injector: HasAndroidInjector) : PumpTask(injector) { diff --git a/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..b4c68bf8b5 100644 --- a/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/settings.gradle b/settings.gradle index 9f13a169ad..ac368ddd8f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,7 +2,9 @@ include ':app' include ':wear' include ':database' include ':core' -include ':shared' +include ':app-wear-shared:rx' +include ':app-wear-shared:shared' +include ':app-wear-shared:shared-impl' include ':graphview' include ':libraries' include ':ui' diff --git a/shared/src/main/AndroidManifest.xml b/shared/src/main/AndroidManifest.xml deleted file mode 100644 index a5918e68ab..0000000000 --- a/shared/src/main/AndroidManifest.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/androidaps/events/EventMobileToWear.kt b/shared/src/main/java/info/nightscout/androidaps/events/EventMobileToWear.kt deleted file mode 100644 index c13bd0b2fe..0000000000 --- a/shared/src/main/java/info/nightscout/androidaps/events/EventMobileToWear.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.events - -import info.nightscout.shared.weardata.EventData - -class EventMobileToWear(val payload: EventData) : Event() \ No newline at end of file diff --git a/shared/src/main/java/info/nightscout/androidaps/events/EventWearToMobile.kt b/shared/src/main/java/info/nightscout/androidaps/events/EventWearToMobile.kt deleted file mode 100644 index 3967cebaa9..0000000000 --- a/shared/src/main/java/info/nightscout/androidaps/events/EventWearToMobile.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.events - -import info.nightscout.shared.weardata.EventData - -class EventWearToMobile(val payload: EventData) : Event() \ No newline at end of file diff --git a/ui/build.gradle b/ui/build.gradle index fa1df852f3..afb2dae005 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -15,7 +15,8 @@ android { dependencies { implementation project(':libraries') implementation project(':graphview') - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 0be7333f5d..3e4c485afe 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityStatsBinding import info.nightscout.ui.utils.ActivityMonitor diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index a24a56d4b4..047da675af 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -13,7 +13,8 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivitySurveyBinding import info.nightscout.ui.defaultProfile.DefaultProfile diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 1bc7133edf..9a15f76d77 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.androidaps.events.EventDanaRSyncStatus +import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.interfaces.ActivePlugin @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.databinding.ActivityTddStatsBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 08f7ede24b..45d5b8b42d 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -27,9 +27,7 @@ import info.nightscout.androidaps.database.transactions.CutCarbsTransaction import info.nightscout.androidaps.database.transactions.InvalidateBolusCalculatorResultTransaction import info.nightscout.androidaps.database.transactions.InvalidateBolusTransaction import info.nightscout.androidaps.database.transactions.InvalidateCarbsTransaction -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventTreatmentChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin @@ -37,16 +35,18 @@ import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventTreatmentChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsBolusCarbsFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 428f23b2ba..5cd53e36ca 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -17,18 +17,19 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateAAPSStartedTherapyEventTransaction import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTransaction -import info.nightscout.androidaps.events.EventNSClientRestart -import info.nightscout.androidaps.events.EventTherapyEventChange +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.* import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsCareportalFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index 5897973b58..13100ab5a2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction -import info.nightscout.androidaps.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.extensions.toVisibility @@ -26,16 +26,17 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsExtendedbolusFragmentBinding import info.nightscout.ui.databinding.TreatmentsExtendedbolusItemBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 114b2517f0..f9d0688a2e 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -24,26 +24,27 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateProfileSwitchTransaction import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged -import info.nightscout.androidaps.events.EventLocalProfileChanged -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsProfileSwitchFragment.RecyclerProfileViewAdapter.ProfileSwitchViewHolder diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index 4af017371f..d9645c9b6f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -3,14 +3,18 @@ package info.nightscout.ui.activities.fragments import android.annotation.SuppressLint import android.os.Bundle import android.util.SparseArray -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import androidx.core.util.forEach import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.ui.activities.fragments.TreatmentsTempTargetFragment.RecyclerViewAdapter.TempTargetsViewHolder import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.TemporaryTarget @@ -20,10 +24,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.InvalidateTemporaryTargetTransaction import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged -import info.nightscout.androidaps.events.EventNSClientRestart import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventProfileSwitchChanged -import info.nightscout.androidaps.events.EventTempTargetChange import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString @@ -32,14 +33,23 @@ import info.nightscout.androidaps.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.utils.* +import info.nightscout.androidaps.utils.ActionModeHelper +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventTempTargetChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R +import info.nightscout.ui.activities.fragments.TreatmentsTempTargetFragment.RecyclerViewAdapter.TempTargetsViewHolder import info.nightscout.ui.databinding.TreatmentsTemptargetFragmentBinding import info.nightscout.ui.databinding.TreatmentsTemptargetItemBinding import io.reactivex.rxjava3.core.Completable diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 35f7c97505..28ab1beabd 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalTransaction -import info.nightscout.androidaps.events.EventTempBasalChange +import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal @@ -35,16 +35,17 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsTemporaryBasalsFragment.RecyclerViewAdapter.TempBasalsViewHolder import info.nightscout.ui.databinding.TreatmentsTempbasalsFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index 71b81e6f4c..5b9a32a9f2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -22,13 +22,13 @@ import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsUserEntryFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 80b4bd6561..5b9b67873d 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -39,7 +39,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogCarbsBinding import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 4851e400f8..6a38278de7 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -28,7 +28,8 @@ import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogCareBinding import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt b/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt index 88565f49a1..7ba31693c0 100644 --- a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt +++ b/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt @@ -14,8 +14,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.shared.SafeParse -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import javax.inject.Inject diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 2f38c2a08a..32f7f03de1 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -34,8 +34,9 @@ import info.nightscout.androidaps.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import java.util.Locale diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBase.kt b/ui/src/test/java/info/nightscout/androidaps/TestBase.kt index 3d78d1b4f6..4d1edc5cb6 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import info.nightscout.shared.logging.AAPSLoggerTest -import info.nightscout.androidaps.utils.rx.AapsSchedulers +import info.nightscout.rx.AapsSchedulers import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import org.junit.Before import org.junit.Rule diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 0eb177fb7c..cd2f05f706 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/wear/build.gradle b/wear/build.gradle index 60f43a20c3..3fede2268c 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -92,7 +92,9 @@ allprojects { dependencies { - implementation project(':shared') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + implementation project(':app-wear-shared:shared-impl') implementation fileTree(include: ['*.jar'], dir: 'libs') diff --git a/wear/src/main/java/info/nightscout/androidaps/Aaps.kt b/wear/src/main/java/info/nightscout/androidaps/Aaps.kt index 1cb262ef6a..f2ae494a9a 100644 --- a/wear/src/main/java/info/nightscout/androidaps/Aaps.kt +++ b/wear/src/main/java/info/nightscout/androidaps/Aaps.kt @@ -12,9 +12,9 @@ import info.nightscout.androidaps.comm.DataLayerListenerServiceWear import info.nightscout.androidaps.comm.ExceptionHandlerWear import info.nightscout.androidaps.di.DaggerWearComponent import info.nightscout.androidaps.events.EventWearPreferenceChange -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag import javax.inject.Inject class Aaps : DaggerApplication(), OnSharedPreferenceChangeListener { diff --git a/wear/src/main/java/info/nightscout/androidaps/comm/DataHandlerWear.kt b/wear/src/main/java/info/nightscout/androidaps/comm/DataHandlerWear.kt index 321ccefeeb..3d968992e3 100644 --- a/wear/src/main/java/info/nightscout/androidaps/comm/DataHandlerWear.kt +++ b/wear/src/main/java/info/nightscout/androidaps/comm/DataHandlerWear.kt @@ -16,20 +16,20 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.wear.tiles.TileService import com.google.android.gms.wearable.WearableListenerService import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile import info.nightscout.androidaps.interaction.WatchfaceConfigurationActivity import info.nightscout.androidaps.interaction.actions.AcceptActivity import info.nightscout.androidaps.interaction.actions.ProfileSwitchActivity import info.nightscout.androidaps.interaction.utils.Persistence -import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.tile.ActionsTileService import info.nightscout.androidaps.tile.QuickWizardTileService import info.nightscout.androidaps.tile.TempTargetTileService -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventWearToMobile +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/comm/DataLayerListenerServiceWear.kt b/wear/src/main/java/info/nightscout/androidaps/comm/DataLayerListenerServiceWear.kt index e027d0fcbd..c16c02e53e 100644 --- a/wear/src/main/java/info/nightscout/androidaps/comm/DataLayerListenerServiceWear.kt +++ b/wear/src/main/java/info/nightscout/androidaps/comm/DataLayerListenerServiceWear.kt @@ -9,15 +9,16 @@ import com.google.android.gms.tasks.Tasks import com.google.android.gms.wearable.* import dagger.android.AndroidInjection import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.WearUtil -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import kotlinx.coroutines.* diff --git a/wear/src/main/java/info/nightscout/androidaps/comm/ExceptionHandlerWear.kt b/wear/src/main/java/info/nightscout/androidaps/comm/ExceptionHandlerWear.kt index 4b6efdc21f..1f5442b321 100644 --- a/wear/src/main/java/info/nightscout/androidaps/comm/ExceptionHandlerWear.kt +++ b/wear/src/main/java/info/nightscout/androidaps/comm/ExceptionHandlerWear.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.comm import android.os.Build import android.util.Log -import info.nightscout.androidaps.events.EventWearToMobile -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventWearToMobile +import info.nightscout.rx.weardata.EventData import java.io.ByteArrayOutputStream import java.io.IOException import java.io.ObjectOutputStream diff --git a/wear/src/main/java/info/nightscout/androidaps/comm/IntentWearToMobile.kt b/wear/src/main/java/info/nightscout/androidaps/comm/IntentWearToMobile.kt index bea1f9a157..257c3b2579 100644 --- a/wear/src/main/java/info/nightscout/androidaps/comm/IntentWearToMobile.kt +++ b/wear/src/main/java/info/nightscout/androidaps/comm/IntentWearToMobile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.comm import android.content.Context import android.content.Intent import android.os.Bundle -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData class IntentWearToMobile(context: Context, command: String) : Intent(context, DataLayerListenerServiceWear::class.java) { init { diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/BaseComplicationProviderService.kt b/wear/src/main/java/info/nightscout/androidaps/complications/BaseComplicationProviderService.kt index fc5769c078..dd102d9fca 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/BaseComplicationProviderService.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/BaseComplicationProviderService.kt @@ -21,16 +21,17 @@ import info.nightscout.androidaps.comm.DataLayerListenerServiceWear.Companion.IN import info.nightscout.androidaps.complications.ComplicationTapBroadcastReceiver.Companion.getTapActionIntent import info.nightscout.androidaps.complications.ComplicationTapBroadcastReceiver.Companion.getTapWarningSinceIntent import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.Constants import info.nightscout.androidaps.interaction.utils.DisplayFormat import info.nightscout.androidaps.interaction.utils.Inevitable import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.WearUtil -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.shared.weardata.EventData.ActionResendData +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + +import info.nightscout.rx.weardata.EventData.ActionResendData import javax.inject.Inject /** diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/BrCobIobComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/BrCobIobComplication.kt index 3a6ee0716f..7ce5c183b8 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/BrCobIobComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/BrCobIobComplication.kt @@ -9,7 +9,8 @@ import dagger.android.AndroidInjection import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.interaction.utils.DisplayFormat import info.nightscout.androidaps.interaction.utils.SmallestDoubleString -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import kotlin.math.max /* diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/CobDetailedComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/CobDetailedComplication.kt index 9228627720..734ec5e71d 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/CobDetailedComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/CobDetailedComplication.kt @@ -6,7 +6,8 @@ import android.app.PendingIntent import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/CobIconComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/CobIconComplication.kt index 9c38290f75..b68701a1b1 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/CobIconComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/CobIconComplication.kt @@ -8,7 +8,8 @@ import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/CobIobComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/CobIobComplication.kt index f4bf3ed413..054ee614bd 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/CobIobComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/CobIobComplication.kt @@ -8,7 +8,8 @@ import android.support.wearable.complications.ComplicationText import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.interaction.utils.DisplayFormat import info.nightscout.androidaps.interaction.utils.SmallestDoubleString -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/ComplicationTapBroadcastReceiver.kt b/wear/src/main/java/info/nightscout/androidaps/complications/ComplicationTapBroadcastReceiver.kt index 876485cbcd..1355a5df13 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/ComplicationTapBroadcastReceiver.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/ComplicationTapBroadcastReceiver.kt @@ -19,8 +19,9 @@ import info.nightscout.androidaps.interaction.menus.StatusMenuActivity import info.nightscout.androidaps.interaction.utils.Constants import info.nightscout.androidaps.interaction.utils.DisplayFormat import info.nightscout.androidaps.interaction.utils.WearUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/IobDetailedComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/IobDetailedComplication.kt index bebb6887a1..3e9f70690b 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/IobDetailedComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/IobDetailedComplication.kt @@ -6,7 +6,8 @@ import android.app.PendingIntent import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/IobIconComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/IobIconComplication.kt index 50742e22d0..37b452e68e 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/IobIconComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/IobIconComplication.kt @@ -10,7 +10,8 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.interaction.utils.DisplayFormat import info.nightscout.androidaps.interaction.utils.SmallestDoubleString -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusComplication.kt index 08832c50c2..fba6065461 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusComplication.kt @@ -7,7 +7,8 @@ import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import dagger.android.AndroidInjection import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusFlippedComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusFlippedComplication.kt index f6bf913871..90c03f763f 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusFlippedComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/LongStatusFlippedComplication.kt @@ -7,7 +7,8 @@ import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import dagger.android.AndroidInjection import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/SgvComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/SgvComplication.kt index b692eeb17d..271c2b0030 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/SgvComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/SgvComplication.kt @@ -7,7 +7,8 @@ import android.support.wearable.complications.ComplicationData import android.support.wearable.complications.ComplicationText import dagger.android.AndroidInjection import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + /* * Created by dlvoy on 2019-11-12 diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/UploaderBatteryComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/UploaderBatteryComplication.kt index 6260b8d804..9e6a6c42a0 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/UploaderBatteryComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/UploaderBatteryComplication.kt @@ -9,7 +9,8 @@ import android.support.wearable.complications.ComplicationText import androidx.annotation.DrawableRes import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import kotlin.math.floor import kotlin.math.max import kotlin.math.min diff --git a/wear/src/main/java/info/nightscout/androidaps/complications/WallpaperComplication.kt b/wear/src/main/java/info/nightscout/androidaps/complications/WallpaperComplication.kt index d9bb821a00..63172eb34f 100644 --- a/wear/src/main/java/info/nightscout/androidaps/complications/WallpaperComplication.kt +++ b/wear/src/main/java/info/nightscout/androidaps/complications/WallpaperComplication.kt @@ -10,7 +10,8 @@ import android.support.wearable.complications.ComplicationData import android.util.DisplayMetrics import android.view.WindowManager import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + import java.io.IOException /* diff --git a/wear/src/main/java/info/nightscout/androidaps/data/RawDisplayData.kt b/wear/src/main/java/info/nightscout/androidaps/data/RawDisplayData.kt index 471fc91b42..28107bf4b0 100644 --- a/wear/src/main/java/info/nightscout/androidaps/data/RawDisplayData.kt +++ b/wear/src/main/java/info/nightscout/androidaps/data/RawDisplayData.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.data import info.nightscout.androidaps.interaction.utils.Persistence -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData /** * Holds bunch of data model variables and lists that arrive from phone app and are due to be diff --git a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt index 4315149eb8..fb02384128 100644 --- a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt +++ b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt @@ -1,40 +1,26 @@ package info.nightscout.androidaps.di import android.content.Context -import androidx.preference.PreferenceManager import dagger.Binds import dagger.Module -import dagger.Provides import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Aaps -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.androidaps.utils.rx.DefaultAapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.AAPSLoggerProduction -import info.nightscout.shared.logging.L -import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.sharedPreferences.SPImplementation -import javax.inject.Singleton +import info.nightscout.rx.di.RxModule +import info.nightscout.rx.di.SharedImplModule +import info.nightscout.shared.di.SharedModule @Suppress("unused") -@Module(includes = [ - WearModule.AppBindings::class, - WearActivitiesModule::class -]) +@Module( + includes = [ + WearModule.AppBindings::class, + WearActivitiesModule::class, + RxModule::class, + SharedModule::class, + SharedImplModule::class + ] +) open class WearModule { - @Provides - @Singleton - fun provideSharedPreferences(context: Context): SP = SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) - - @Provides - @Singleton - fun provideAAPSLogger(l: L): AAPSLogger = AAPSLoggerProduction(l) - - @Provides - @Singleton - internal fun provideSchedulers(): AapsSchedulers = DefaultAapsSchedulers() - @Module interface AppBindings { diff --git a/wear/src/main/java/info/nightscout/androidaps/events/EventWearPreferenceChange.kt b/wear/src/main/java/info/nightscout/androidaps/events/EventWearPreferenceChange.kt index 51fe819340..11a5917a80 100644 --- a/wear/src/main/java/info/nightscout/androidaps/events/EventWearPreferenceChange.kt +++ b/wear/src/main/java/info/nightscout/androidaps/events/EventWearPreferenceChange.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.events import android.content.Context +import info.nightscout.rx.events.Event @Suppress("unused") class EventWearPreferenceChange : Event { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/ConfigurationActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/ConfigurationActivity.kt index 5c0cee4e8f..1aebe91433 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/ConfigurationActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/ConfigurationActivity.kt @@ -7,8 +7,9 @@ import android.view.ViewGroup import androidx.core.content.ContextCompat import dagger.android.AndroidInjection import info.nightscout.androidaps.R -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject class ConfigurationActivity : WearPreferenceActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/TileConfigurationActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/TileConfigurationActivity.kt index ccf19933fb..996834b682 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/TileConfigurationActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/TileConfigurationActivity.kt @@ -6,8 +6,9 @@ import androidx.wear.tiles.TileService import dagger.android.AndroidInjection import info.nightscout.androidaps.tile.ActionsTileService import info.nightscout.androidaps.tile.TempTargetTileService -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import preference.WearPreferenceActivity import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BackgroundActionActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BackgroundActionActivity.kt index 15afd34b46..42b9752ab9 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BackgroundActionActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BackgroundActionActivity.kt @@ -4,11 +4,12 @@ import android.os.Bundle import android.widget.Toast import dagger.android.DaggerActivity import info.nightscout.androidaps.comm.DataLayerListenerServiceWear -import info.nightscout.androidaps.events.EventWearToMobile -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.events.EventWearToMobile +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + +import info.nightscout.rx.weardata.EventData import javax.inject.Inject class BackgroundActionActivity : DaggerActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BolusActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BolusActivity.kt index 0b10ca6691..3b1fd60236 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BolusActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/BolusActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse -import info.nightscout.shared.weardata.EventData.ActionBolusPreCheck +import info.nightscout.rx.weardata.EventData.ActionBolusPreCheck import java.text.DecimalFormat import kotlin.math.roundToInt diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/CarbActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/CarbActivity.kt index b2d3519ad3..16c5223d48 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/CarbActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/CarbActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse -import info.nightscout.shared.weardata.EventData.ActionECarbsPreCheck +import info.nightscout.rx.weardata.EventData.ActionECarbsPreCheck import java.text.DecimalFormat class CarbActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ECarbActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ECarbActivity.kt index f6518bd1d7..1f0e5221f2 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ECarbActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ECarbActivity.kt @@ -8,13 +8,13 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse.stringToDouble import info.nightscout.shared.SafeParse.stringToInt -import info.nightscout.shared.weardata.EventData.ActionECarbsPreCheck +import info.nightscout.rx.weardata.EventData.ActionECarbsPreCheck import java.text.DecimalFormat class ECarbActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/FillActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/FillActivity.kt index 392a098388..ba440364ff 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/FillActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/FillActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse.stringToDouble -import info.nightscout.shared.weardata.EventData.ActionFillPreCheck +import info.nightscout.rx.weardata.EventData.ActionFillPreCheck import java.text.DecimalFormat class FillActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ProfileSwitchActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ProfileSwitchActivity.kt index 2e41a7876c..7fca9cf20a 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ProfileSwitchActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ProfileSwitchActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse -import info.nightscout.shared.weardata.EventData.ActionProfileSwitchPreCheck +import info.nightscout.rx.weardata.EventData.ActionProfileSwitchPreCheck import java.text.DecimalFormat class ProfileSwitchActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt index 11184a7e2a..7364404ecd 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt @@ -7,10 +7,10 @@ import android.util.Log import android.widget.Toast import dagger.android.DaggerActivity import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.extensions.safeGetPackageInfo -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.weardata.EventData import javax.inject.Inject /** diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.kt index ac7cb56373..55df3ce8cb 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse -import info.nightscout.shared.weardata.EventData.ActionTempTargetPreCheck +import info.nightscout.rx.weardata.EventData.ActionTempTargetPreCheck import java.text.DecimalFormat class TempTargetActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TreatmentActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TreatmentActivity.kt index d9a4491bbf..2031744bcb 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TreatmentActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TreatmentActivity.kt @@ -8,13 +8,13 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse.stringToDouble import info.nightscout.shared.SafeParse.stringToInt -import info.nightscout.shared.weardata.EventData.ActionBolusPreCheck +import info.nightscout.rx.weardata.EventData.ActionBolusPreCheck import java.text.DecimalFormat import kotlin.math.roundToInt diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ViewSelectorActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ViewSelectorActivity.kt index 5386492a3c..db5fcbe366 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ViewSelectorActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/ViewSelectorActivity.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.nondeprecated.DotsPageIndicatorNonDeprecated import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.androidaps.nondeprecated.GridViewPagerNonDeprecated -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/WizardActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/WizardActivity.kt index 8f6ff9e949..714d5495b9 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/WizardActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/WizardActivity.kt @@ -8,12 +8,12 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.EditPlusMinusViewAdapter import info.nightscout.androidaps.interaction.utils.PlusMinusEditText import info.nightscout.androidaps.nondeprecated.GridPagerAdapterNonDeprecated import info.nightscout.shared.SafeParse -import info.nightscout.shared.weardata.EventData.ActionWizardPreCheck +import info.nightscout.rx.weardata.EventData.ActionWizardPreCheck import java.text.DecimalFormat class WizardActivity : ViewSelectorActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/FillMenuActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/FillMenuActivity.kt index 552f26f391..d6cf3a7981 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/FillMenuActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/FillMenuActivity.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.interaction.menus import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.actions.FillActivity import info.nightscout.androidaps.interaction.utils.MenuListActivity -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData class FillMenuActivity : MenuListActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.kt index 68ea46c780..d7a665b956 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.kt @@ -3,15 +3,15 @@ package info.nightscout.androidaps.interaction.menus import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.WatchfaceConfigurationActivity import info.nightscout.androidaps.interaction.actions.ECarbActivity import info.nightscout.androidaps.interaction.actions.TempTargetActivity import info.nightscout.androidaps.interaction.actions.TreatmentActivity import info.nightscout.androidaps.interaction.actions.WizardActivity import info.nightscout.androidaps.interaction.utils.MenuListActivity -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.ActionResendData +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.ActionResendData class MainMenuActivity : MenuListActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/StatusMenuActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/StatusMenuActivity.kt index c6705cedf3..1e8bc2087b 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/StatusMenuActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/StatusMenuActivity.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.interaction.menus import android.os.Bundle import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.utils.MenuListActivity -import info.nightscout.shared.weardata.EventData.ActionLoopStatus -import info.nightscout.shared.weardata.EventData.ActionPumpStatus -import info.nightscout.shared.weardata.EventData.ActionTddStatus +import info.nightscout.rx.weardata.EventData.ActionLoopStatus +import info.nightscout.rx.weardata.EventData.ActionPumpStatus +import info.nightscout.rx.weardata.EventData.ActionTddStatus class StatusMenuActivity : MenuListActivity() { diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt index 410f358499..ba79093eb7 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt @@ -2,8 +2,9 @@ package info.nightscout.androidaps.interaction.utils import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import java.util.concurrent.ConcurrentHashMap import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.kt index b299e4f96e..b68bfba2d6 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.interaction.utils import dagger.android.DaggerActivity import javax.inject.Inject -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import info.nightscout.androidaps.interaction.utils.MenuListActivity.MenuAdapter.ItemViewHolder import android.os.Bundle diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt index 96de0db6d9..a208a5978e 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt @@ -1,13 +1,14 @@ package info.nightscout.androidaps.interaction.utils import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.Companion.deserialize -import info.nightscout.shared.weardata.EventData.SingleBg -import info.nightscout.shared.weardata.EventData.TreatmentData +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.Companion.deserialize +import info.nightscout.rx.weardata.EventData.SingleBg +import info.nightscout.rx.weardata.EventData.TreatmentData import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/WearUtil.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/WearUtil.kt index 7509cfc0a5..de994607db 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/WearUtil.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/WearUtil.kt @@ -2,8 +2,9 @@ package info.nightscout.androidaps.interaction.utils import android.content.Context import android.os.PowerManager -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/tile/TileBase.kt b/wear/src/main/java/info/nightscout/androidaps/tile/TileBase.kt index 4bf01205fe..f51ee13431 100644 --- a/wear/src/main/java/info/nightscout/androidaps/tile/TileBase.kt +++ b/wear/src/main/java/info/nightscout/androidaps/tile/TileBase.kt @@ -30,9 +30,9 @@ import com.google.common.util.concurrent.ListenableFuture import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.comm.DataLayerListenerServiceWear -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job diff --git a/wear/src/main/java/info/nightscout/androidaps/tile/source/ActionSource.kt b/wear/src/main/java/info/nightscout/androidaps/tile/source/ActionSource.kt index 49a8ac4199..9ccb0fc912 100644 --- a/wear/src/main/java/info/nightscout/androidaps/tile/source/ActionSource.kt +++ b/wear/src/main/java/info/nightscout/androidaps/tile/source/ActionSource.kt @@ -4,7 +4,7 @@ import android.content.Context import android.content.res.Resources import info.nightscout.androidaps.R import info.nightscout.androidaps.interaction.actions.* -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/tile/source/QuickWizardSource.kt b/wear/src/main/java/info/nightscout/androidaps/tile/source/QuickWizardSource.kt index 6982b2d0c2..705b4aab95 100644 --- a/wear/src/main/java/info/nightscout/androidaps/tile/source/QuickWizardSource.kt +++ b/wear/src/main/java/info/nightscout/androidaps/tile/source/QuickWizardSource.kt @@ -6,10 +6,11 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.interaction.actions.BackgroundActionActivity import info.nightscout.androidaps.tile.Action import info.nightscout.androidaps.tile.TileSource -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData import java.util.* import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/tile/source/StaticTileSource.kt b/wear/src/main/java/info/nightscout/androidaps/tile/source/StaticTileSource.kt index 893bcf4c48..873772e21b 100644 --- a/wear/src/main/java/info/nightscout/androidaps/tile/source/StaticTileSource.kt +++ b/wear/src/main/java/info/nightscout/androidaps/tile/source/StaticTileSource.kt @@ -5,9 +5,9 @@ import android.content.res.Resources import androidx.annotation.DrawableRes import info.nightscout.androidaps.tile.Action import info.nightscout.androidaps.tile.TileSource -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.weardata.EventData import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData abstract class StaticTileSource(val context: Context, val sp: SP, val aapsLogger: AAPSLogger) : TileSource { diff --git a/wear/src/main/java/info/nightscout/androidaps/tile/source/TempTargetSource.kt b/wear/src/main/java/info/nightscout/androidaps/tile/source/TempTargetSource.kt index ec9a64b50a..b22d180e52 100644 --- a/wear/src/main/java/info/nightscout/androidaps/tile/source/TempTargetSource.kt +++ b/wear/src/main/java/info/nightscout/androidaps/tile/source/TempTargetSource.kt @@ -5,9 +5,9 @@ import android.content.res.Resources import info.nightscout.androidaps.R import info.nightscout.androidaps.interaction.actions.BackgroundActionActivity import info.nightscout.androidaps.interaction.actions.TempTargetActivity -import info.nightscout.shared.logging.AAPSLogger +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData +import info.nightscout.rx.weardata.EventData import javax.inject.Inject import javax.inject.Singleton diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/CircleWatchface.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/CircleWatchface.kt index d24c1826a2..40945bcc23 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/CircleWatchface.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/CircleWatchface.kt @@ -21,17 +21,18 @@ import com.ustwo.clockwise.wearable.WatchFace import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.interaction.menus.MainMenuActivity import info.nightscout.androidaps.interaction.utils.Persistence -import info.nightscout.androidaps.plugins.bus.RxBus -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.ActionResendData -import info.nightscout.shared.weardata.EventData.SingleBg +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.ActionResendData +import info.nightscout.rx.weardata.EventData.SingleBg import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.* diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt index d2aa2257fa..ef11f9d22a 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt @@ -14,7 +14,8 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityDigitalstyleBinding import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.watchfaces.utils.BaseWatchFace -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.logging.LTag + class DigitalStyleWatchface : BaseWatchFace() { diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt index 68fa4fe519..b392b82a55 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt @@ -24,20 +24,21 @@ import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.events.EventWearPreferenceChange -import info.nightscout.androidaps.events.EventWearToMobile +import info.nightscout.rx.events.EventWearToMobile import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interaction.menus.MainMenuActivity import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.WearUtil -import info.nightscout.androidaps.plugins.bus.RxBus +import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLogger -import info.nightscout.shared.logging.LTag +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag + import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.ActionResendData +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.ActionResendData import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt index 5cce0bf6c0..a504c1e367 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt @@ -4,9 +4,9 @@ import android.graphics.DashPathEffect import info.nightscout.androidaps.R import info.nightscout.androidaps.utils.DateUtil import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.SingleBg -import info.nightscout.shared.weardata.EventData.TreatmentData.Basal +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.SingleBg +import info.nightscout.rx.weardata.EventData.TreatmentData.Basal import lecho.lib.hellocharts.model.Axis import lecho.lib.hellocharts.model.AxisValue import lecho.lib.hellocharts.model.Line diff --git a/wear/src/test/java/info/nightscout/androidaps/testing/mockers/RawDataMocker.kt b/wear/src/test/java/info/nightscout/androidaps/testing/mockers/RawDataMocker.kt index 035552d468..52a38c9516 100644 --- a/wear/src/test/java/info/nightscout/androidaps/testing/mockers/RawDataMocker.kt +++ b/wear/src/test/java/info/nightscout/androidaps/testing/mockers/RawDataMocker.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.testing.mockers import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.interaction.utils.WearUtil import info.nightscout.shared.SafeParse.stringToDouble -import info.nightscout.shared.weardata.EventData -import info.nightscout.shared.weardata.EventData.SingleBg +import info.nightscout.rx.weardata.EventData +import info.nightscout.rx.weardata.EventData.SingleBg class RawDataMocker(wearUtil: WearUtil) { From 6b298a03447defaac83b3c8ca25cb39643ad7ecb Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 17:48:42 +0100 Subject: [PATCH 009/123] interfaces module --- app/build.gradle | 1 + .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 2 +- automation/build.gradle | 1 + core/build.gradle | 1 + .../androidaps/interfaces/CarbTimer.kt | 19 ----------------- implementation/build.gradle | 1 + .../implementation/CarbTimerImpl.kt | 2 +- insight/build.gradle | 1 + interfaces/.gitignore | 1 + interfaces/build.gradle | 17 +++++++++++++++ interfaces/consumer-rules.pro | 0 interfaces/proguard-rules.pro | 21 +++++++++++++++++++ interfaces/src/main/AndroidManifest.xml | 4 ++++ .../info/nightscout/interfaces/CarbTimer.kt | 21 +++++++++++++++++++ plugins/build.gradle | 1 + pump/combo/build.gradle | 1 + pump/dana/build.gradle | 1 + pump/danar/build.gradle | 1 + pump/danars/build.gradle | 1 + pump/diaconn/build.gradle | 1 + pump/eopatch/build.gradle | 1 + pump/medtronic/build.gradle | 1 + pump/omnipod-common/build.gradle | 1 + pump/omnipod-dash/build.gradle | 1 + pump/omnipod-eros/build.gradle | 1 + pump/pump-common/build.gradle | 1 + pump/rileylink/build.gradle | 1 + settings.gradle | 1 + ui/build.gradle | 1 + .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- 31 files changed, 88 insertions(+), 23 deletions(-) create mode 100644 interfaces/.gitignore create mode 100644 interfaces/build.gradle create mode 100644 interfaces/consumer-rules.pro create mode 100644 interfaces/proguard-rules.pro create mode 100644 interfaces/src/main/AndroidManifest.xml create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt diff --git a/app/build.gradle b/app/build.gradle index e88d6f2e3b..07aabedd6a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -182,6 +182,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') implementation project(':core') + implementation project(':interfaces') implementation project(':ui') implementation project(':plugins') implementation project(':implementation') diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 5d6110b1ea..b544c47072 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.Autotune import info.nightscout.androidaps.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index ff0c0e3c51..6a57434c11 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint diff --git a/automation/build.gradle b/automation/build.gradle index 15984586c8..9e341a7efb 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':database') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle index 013c8b3e62..65c02d25e4 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -16,6 +16,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') + implementation project(':interfaces') } android { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt index d6bec7ebd3..09257d096d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt @@ -1,21 +1,2 @@ package info.nightscout.androidaps.interfaces -interface CarbTimer { - - /** - * Generate reminder via [info.nightscout.androidaps.utils.TimerUtil] - * - * @param seconds seconds to the future - */ - fun scheduleTimeToEatReminder(seconds: Int) - - /** - * Create new Automation event to alarm when is time to eat - */ - fun scheduleAutomationEventEatReminder() - - /** - * Remove Automation event - */ - fun removeAutomationEventEatReminder() -} \ No newline at end of file diff --git a/implementation/build.gradle b/implementation/build.gradle index 73702d2206..fd1b013ab8 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':automation') + implementation project(':interfaces') } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt index ff27d2d623..54ce862894 100644 --- a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.TimerUtil diff --git a/insight/build.gradle b/insight/build.gradle index 55d341a152..ff816bf0d1 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation project(':core') + implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':pump:pump-common') diff --git a/interfaces/.gitignore b/interfaces/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/interfaces/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/interfaces/build.gradle b/interfaces/build.gradle new file mode 100644 index 0000000000..1cab3f05e0 --- /dev/null +++ b/interfaces/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-allopen' +apply plugin: 'com.hiya.jacoco-android' +apply plugin: 'kotlinx-serialization' + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" + +android { + + namespace 'info.nightscout.interfaces' +} + +dependencies { +} \ No newline at end of file diff --git a/interfaces/consumer-rules.pro b/interfaces/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/interfaces/proguard-rules.pro b/interfaces/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/interfaces/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/interfaces/src/main/AndroidManifest.xml b/interfaces/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..a5918e68ab --- /dev/null +++ b/interfaces/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt b/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt new file mode 100644 index 0000000000..b7c472a775 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt @@ -0,0 +1,21 @@ +package info.nightscout.interfaces + +interface CarbTimer { + + /** + * Generate reminder via [info.nightscout.androidaps.utils.TimerUtil] + * + * @param seconds seconds to the future + */ + fun scheduleTimeToEatReminder(seconds: Int) + + /** + * Create new Automation event to alarm when is time to eat + */ + fun scheduleAutomationEventEatReminder() + + /** + * Remove Automation event + */ + fun removeAutomationEventEatReminder() +} \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/build.gradle index 8b37792c94..f75226f9a9 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':database') implementation project(':graphview') implementation project(':core') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index 5f505c6b16..d1fd47f9bc 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index d028827598..b0e76a4a93 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -27,6 +27,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 1133e24ce4..ff7ca88e4e 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:dana') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 71e20363e9..4b0c9c7502 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -26,4 +26,5 @@ dependencies { implementation project(':pump:dana') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index c280447986..c036072701 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -27,6 +27,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 34029f9c87..ae89e54fdd 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -24,6 +24,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') + implementation project(':interfaces') //RxAndroidBle implementation "com.polidea.rxandroidble3:rxandroidble:1.16.0" diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 329e75473a..a2f71383c8 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -19,4 +19,5 @@ dependencies { implementation project(':core') implementation project(':pump:pump-common') implementation project(':pump:rileylink') + implementation project(':interfaces') } diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index 88f2979c2b..ba9c9049be 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 34fce83489..ca810fd435 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -37,6 +37,7 @@ dependencies { implementation project(':core') implementation project(':pump:pump-common') implementation project(':pump:omnipod-common') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 177c839b0f..86bc40cf90 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation project(':pump:pump-common') implementation project(':pump:rileylink') implementation project(':pump:omnipod-common') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index 65880c9874..2ffd366f4a 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -16,6 +16,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') implementation('com.thoughtworks.xstream:xstream:1.4.19') { exclude group: 'xmlpull', module: 'xmlpull' diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 222096180d..d0c2e070ea 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') + implementation project(':interfaces') } diff --git a/settings.gradle b/settings.gradle index ac368ddd8f..b7634b6113 100644 --- a/settings.gradle +++ b/settings.gradle @@ -26,3 +26,4 @@ include ':pump:pump-common' include ':pump:rileylink' include ':openhumans' include ':automation' +include ':interfaces' diff --git a/ui/build.gradle b/ui/build.gradle index afb2dae005..6abc4cbb62 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -19,4 +19,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') + implementation project(':interfaces') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 5b9b67873d..55349df801 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.GlucoseUnit From b30fb687db6c34443dbc98014fdc5ac59f2eb9ca Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 18:21:10 +0100 Subject: [PATCH 010/123] move interfaces --- .../info/nightscout/androidaps/MainActivity.kt | 4 ++-- .../java/info/nightscout/androidaps/MainApp.kt | 6 +++--- .../activities/HistoryBrowseActivity.kt | 2 +- .../activities/MyPreferenceFragment.kt | 2 +- .../info/nightscout/androidaps/di/AppModule.kt | 8 ++++---- .../androidaps/dialogs/InsulinDialog.kt | 2 +- .../androidaps/dialogs/LoopDialog.kt | 2 +- .../androidaps/dialogs/ProfileSwitchDialog.kt | 2 +- .../androidaps/dialogs/TreatmentDialog.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 4 ++-- .../plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt | 2 +- .../aps/openAPSSMB/DetermineBasalResultSMB.kt | 2 +- .../plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt | 2 +- .../OpenAPSSMBDynamicISFPlugin.kt | 2 +- .../configBuilder/ConfigBuilderFragment.kt | 6 +++--- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../plugins/configBuilder/PluginStore.kt | 9 +++++---- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../constraints/objectives/ObjectivesPlugin.kt | 4 ++-- .../objectives/objectives/Objective1.kt | 1 - .../plugins/constraints/safety/SafetyPlugin.kt | 8 ++++---- .../plugins/general/actions/ActionsFragment.kt | 4 ++-- .../plugins/general/actions/ActionsPlugin.kt | 4 ++-- .../dataBroadcaster/DataBroadcastPlugin.kt | 4 ++-- .../maintenance/ImportExportPrefsImpl.kt | 18 +++++++++--------- .../general/maintenance/MaintenancePlugin.kt | 6 +++--- .../nsclient/NSClientAddUpdateWorker.kt | 4 ++-- .../general/nsclient/NSClientMbgWorker.kt | 4 ++-- .../plugins/general/nsclient/NSClientPlugin.kt | 6 +++--- .../general/nsclient/data/NSDeviceStatus.kt | 2 +- .../general/nsclient/data/NSSettingsStatus.kt | 2 +- .../nsclient/services/NSClientService.kt | 4 ++-- .../general/overview/OverviewFragment.kt | 4 ++-- .../plugins/general/overview/OverviewMenus.kt | 4 ++-- .../plugins/general/overview/OverviewPlugin.kt | 4 ++-- .../general/overview/StatusLightHandler.kt | 2 +- .../notifications/NotificationStore.kt | 2 +- .../persistentNotification/DummyService.kt | 2 +- .../DummyServiceHelper.kt | 2 +- .../PersistentNotificationPlugin.kt | 4 ++-- .../plugins/general/tidepool/TidepoolPlugin.kt | 2 +- .../plugins/general/wear/WearPlugin.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 1 + .../DataLayerListenerServiceMobile.kt | 2 +- .../DataLayerListenerServiceMobileHelper.kt | 2 +- .../iobCobCalculator/IobCobCalculatorPlugin.kt | 2 +- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 2 +- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 4 ++-- .../sensitivity/SensitivityAAPSPlugin.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 2 +- .../SensitivityWeightedAveragePlugin.kt | 2 +- .../androidaps/plugins/source/AidexPlugin.kt | 6 +++--- .../androidaps/plugins/source/DexcomPlugin.kt | 4 ++-- .../plugins/source/EversensePlugin.kt | 2 +- .../androidaps/plugins/source/GlimpPlugin.kt | 2 +- .../androidaps/plugins/source/GlunovoPlugin.kt | 2 +- .../plugins/source/IntelligoPlugin.kt | 2 +- .../androidaps/plugins/source/MM640gPlugin.kt | 2 +- .../plugins/source/NSClientSourcePlugin.kt | 4 ++-- .../androidaps/plugins/source/PoctechPlugin.kt | 2 +- .../plugins/source/RandomBgPlugin.kt | 4 ++-- .../androidaps/plugins/source/TomatoPlugin.kt | 2 +- .../androidaps/plugins/source/XdripPlugin.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 4 ++-- .../androidaps/setupwizard/SWDefinition.kt | 4 ++-- .../setupwizard/elements/SWPlugin.kt | 2 +- .../androidaps/skins/SkinButtonsOn.kt | 2 +- .../nightscout/androidaps/skins/SkinClassic.kt | 4 +--- .../androidaps/skins/SkinLargeDisplay.kt | 2 +- .../nightscout/androidaps/skins/SkinLowRes.kt | 3 +-- .../alertDialogs/PrefImportSummaryDialog.kt | 4 ++-- .../NotificationHolderImpl.kt | 2 +- .../utils/buildHelper/BuildHelperImpl.kt | 4 ++-- .../androidaps/utils/buildHelper/ConfigImpl.kt | 2 +- .../resources/IconsProviderImplementation.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 2 +- .../workflow/PreparePredictionsWorker.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../interfaces/ConstraintsCheckerTest.kt | 2 ++ .../plugins/aps/loop/LoopPluginTest.kt | 4 ++-- .../objectives/ObjectivesPluginTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 2 +- .../maintenance/MaintenancePluginTest.kt | 4 ++-- .../pump/virtual/VirtualPumpPluginUTest.kt | 2 +- .../plugins/source/NSClientPluginTest.kt | 2 +- .../nightscout/automation/AutomationPlugin.kt | 4 ++-- .../automation/actions/ActionLoopDisable.kt | 2 +- .../automation/actions/ActionLoopEnable.kt | 2 +- .../automation/services/LocationService.kt | 2 +- .../services/LocationServiceHelper.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../actions/ActionLoopDisableTest.kt | 2 +- .../automation/actions/ActionLoopEnableTest.kt | 2 +- .../androidaps/data/ProfileSealed.kt | 2 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 2 +- .../androidaps/interfaces/ActivePlugin.kt | 2 ++ .../androidaps/interfaces/BuildHelper.kt | 7 ------- .../androidaps/interfaces/CarbTimer.kt | 2 -- .../nightscout/androidaps/interfaces/Config.kt | 12 ------------ .../androidaps/interfaces/ConfigBuilder.kt | 2 ++ .../androidaps/interfaces/Insulin.kt | 1 + .../androidaps/interfaces/Overview.kt | 1 + .../androidaps/interfaces/PluginBase.kt | 1 + .../androidaps/interfaces/PluginDescription.kt | 1 + .../androidaps/interfaces/Profile.kt | 1 + .../androidaps/interfaces/ProfileStore.kt | 1 + .../androidaps/interfaces/PumpPluginBase.kt | 1 + .../nightscout/androidaps/interfaces/Safety.kt | 3 --- .../androidaps/interfaces/Sensitivity.kt | 1 + .../configBuilder/RunningConfiguration.kt | 4 ++-- .../versionChecker/VersionCheckerUtils.kt | 2 +- .../maintenance/PrefFileListProvider.kt | 7 ++++++- .../plugins/general/maintenance/PrefsFile.kt | 5 +++-- .../general/maintenance/PrefsImportDir.kt | 6 ------ .../activities/PrefImportListActivity.kt | 4 ++-- .../formats/EncryptedPrefsFormat.kt | 18 ++++++++++++------ .../androidaps/services/AlarmSoundService.kt | 2 +- .../services/AlarmSoundServiceHelper.kt | 2 +- core/src/main/res/values/strings.xml | 10 ---------- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/data/ProfileTest.kt | 2 +- .../interfaces/PluginDescriptionTest.kt | 1 + .../VersionCheckerUtilsKtTest.kt | 2 +- .../formats/EncryptedPrefsFormatTest.kt | 5 +++++ .../implementation/LocalAlertUtilsImpl.kt | 4 ++-- .../queue/CommandQueueImplementation.kt | 4 ++-- .../implementation/queue/QueueThread.kt | 2 +- .../queue/commands/CommandReadStatus.kt | 2 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../implementation/BolusTimerImplTest.kt | 2 +- .../implementation/CarbTimerImplTest.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 4 ++-- .../implementation/queue/QueueThreadTest.kt | 2 +- .../pump/insight/LocalInsightPlugin.java | 4 ++-- interfaces/build.gradle | 1 + .../info/nightscout/interfaces/BuildHelper.kt | 9 +++++++++ .../java/info/nightscout/interfaces/Config.kt | 14 ++++++++++++++ .../interfaces/ConfigExportImport.kt | 2 +- .../nightscout}/interfaces/LocalAlertUtils.kt | 2 +- .../interfaces/NotificationHolder.kt | 4 ++-- .../info/nightscout}/interfaces/PluginType.kt | 2 +- .../java/info/nightscout/interfaces/Safety.kt | 3 +++ .../interfaces/VariableSensitivityResult.kt | 2 +- .../interfaces/data/PrefsImportDir.kt | 2 ++ .../data/maintenance}/PrefsFormat.kt | 13 +++++++++---- .../data/maintenance/PrefsImportDir.kt | 6 ++++++ .../src/main/res/drawable/ic_meta_date.xml | 0 .../main/res/drawable/ic_meta_encryption.xml | 0 .../src/main/res/drawable/ic_meta_error.xml | 0 .../src/main/res/drawable/ic_meta_flavour.xml | 0 .../src/main/res/drawable/ic_meta_format.xml | 0 .../src/main/res/drawable/ic_meta_model.xml | 0 .../src/main/res/drawable/ic_meta_name.xml | 0 .../src/main/res/drawable/ic_meta_ok.xml | 0 .../src/main/res/drawable/ic_meta_version.xml | 0 .../src/main/res/drawable/ic_meta_warning.xml | 0 interfaces/src/main/res/values/strings.xml | 15 +++++++++++++++ openhumans/build.gradle | 1 + .../general/openhumans/OpenHumansUploader.kt | 4 ++-- .../bgQualityCheck/BgQualityCheckPlugin.kt | 2 +- .../constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../phoneChecker/PhoneCheckerPlugin.kt | 2 +- .../SignatureVerifierPlugin.kt | 2 +- .../storage/StorageConstraintPlugin.kt | 2 +- .../versionChecker/VersionCheckerPlugin.kt | 4 ++-- .../plugins/general/autotune/AutotunePlugin.kt | 4 ++-- .../plugins/general/autotune/data/ATProfile.kt | 2 +- .../plugins/general/food/FoodPlugin.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 ++-- .../general/themes/ThemeSwitcherPlugin.kt | 2 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinLyumjevPlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 4 ++-- .../insulin/InsulinOrefFreePeakPlugin.kt | 2 +- .../insulin/InsulinOrefRapidActingPlugin.kt | 2 +- .../InsulinOrefUltraRapidActingPlugin.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 1 + .../insulin/InsulinLyumjevPluginTest.kt | 2 +- .../insulin/InsulinOrefBasePluginTest.kt | 2 +- .../insulin/InsulinOrefFreePeakPluginTest.kt | 2 +- .../InsulinOrefRapidActingPluginTest.kt | 2 +- .../InsulinOrefUltraRapidActingPluginTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 2 +- .../plugins/pump/combo/ComboPluginTest.kt | 1 + .../androidaps/TestBaseWithProfile.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 2 +- .../comm/MsgInitConnStatusTime_k.kt | 2 +- .../danaRv2/comm/MsgCheckValue_v2.kt | 2 +- .../androidaps/danar/AbstractDanaRPlugin.java | 2 +- .../androidaps/danar/DanaRPlugin.java | 2 +- .../danar/comm/MsgInitConnStatusTime.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 2 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 2 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../androidaps/danars/DanaRSPluginTest.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 2 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 2 +- .../pump/omnipod/dash/OmnipodDashPumpPlugin.kt | 2 +- .../driver/comm/OmnipodDashBleManagerImpl.kt | 2 +- .../dash/driver/comm/pair/KeyExchange.kt | 2 +- .../dash/driver/comm/pair/LTKExchanger.kt | 2 +- .../dash/driver/comm/session/Connection.kt | 2 +- .../dash/driver/comm/session/Milenage.kt | 2 +- .../driver/comm/session/SessionEstablisher.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 2 +- .../eros/ui/ErosPodManagementActivity.kt | 2 +- .../common/hw/rileylink/ble/RileyLinkBLE.kt | 2 +- .../ui/activities/TreatmentsActivity.kt | 2 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 2 +- .../fragments/TreatmentsCareportalFragment.kt | 2 +- .../TreatmentsProfileSwitchFragment.kt | 2 +- .../fragments/TreatmentsTempTargetFragment.kt | 2 +- .../java/info/nightscout/ui/widget/Widget.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 2 +- 223 files changed, 348 insertions(+), 300 deletions(-) delete mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/Safety.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsImportDir.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/Config.kt rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/ConfigExportImport.kt (87%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/LocalAlertUtils.kt (90%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/NotificationHolder.kt (86%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/PluginType.kt (82%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/Safety.kt rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/VariableSensitivityResult.kt (60%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt rename {core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats => interfaces/src/main/java/info/nightscout/interfaces/data/maintenance}/PrefsFormat.kt (86%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt rename {core => interfaces}/src/main/res/drawable/ic_meta_date.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_encryption.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_error.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_flavour.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_format.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_model.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_name.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_ok.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_version.xml (100%) rename {core => interfaces}/src/main/res/drawable/ic_meta_warning.xml (100%) create mode 100644 interfaces/src/main/res/values/strings.xml diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 500a917e0e..716453efd0 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -41,8 +41,8 @@ import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.Loop diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 01e64ff8cd..aaf6a74c00 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -23,10 +23,10 @@ import info.nightscout.androidaps.database.transactions.VersionChangeTransaction import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.LocalAlertUtils +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index 3679196f3c..11df4a9bf5 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index b84d1898e2..8d3db01287 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index b544c47072..d9b07a1ecb 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -14,19 +14,19 @@ import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.Autotune import info.nightscout.androidaps.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.LocalAlertUtils +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 16eb3aaf2a..99b26092da 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 99d6571065..21d19c8d9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -31,7 +31,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index 06dce558ef..40853409ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTe import info.nightscout.androidaps.databinding.DialogProfileswitchBinding import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index c1dd82b8ca..ec9e889a9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 2977b07339..7ebc636587 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -34,7 +34,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -42,7 +42,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 631db8e535..ddeb29cfc9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt index 04ab453fc8..59784e761e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.VariableSensitivityResult +import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.rx.logging.LTag import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 03f062359e..6d729d935e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 158537157a..1581f7ed59 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index f491ecc191..e68d37f28a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -21,10 +21,10 @@ import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index f3036ff34b..3e0d1815f9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index a64246dad7..d00bd1f231 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -3,15 +3,15 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.Safety +import info.nightscout.interfaces.Safety import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -134,7 +134,8 @@ class PluginStore @Inject constructor( } private fun setFragmentVisibilities(activePluginName: String, pluginsInCategory: ArrayList, - pluginType: PluginType) { + pluginType: PluginType + ) { aapsLogger.debug(LTag.CONFIGBUILDER, "Selected interface: $activePluginName") for (p in pluginsInCategory) if (p.name != activePluginName) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index e691ef748d..39a72f1d93 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.transactions.InsertOrUpdateProfileSwi import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index 3f01b3fd8d..f6b81b0953 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -9,12 +9,12 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt index 936065ee0f..8a3abb5817 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index 58795e277f..d632e9b657 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -9,18 +9,18 @@ import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.Safety +import info.nightscout.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 2a4df62023..104bb19f85 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -27,9 +27,9 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index 3f0866657f..4acf8fe673 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.plugins.general.actions import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 3f981a0a06..12c501dd01 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -10,12 +10,12 @@ import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index a8e43b7aac..a7456ddb9d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -30,19 +30,19 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefFileNotFoundError -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefIOError -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefMetadata -import info.nightscout.androidaps.plugins.general.maintenance.formats.Prefs -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsFormat -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsMetadataKey -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsStatus +import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError +import info.nightscout.interfaces.data.maintenance.PrefIOError +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.Prefs +import info.nightscout.interfaces.data.maintenance.PrefsFormat +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.MidnightTime import info.nightscout.androidaps.utils.T diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index bd6def8186..cc3ba1c05d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -7,11 +7,11 @@ import androidx.core.content.FileProvider import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt index d022facb19..6aafad005b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt @@ -34,8 +34,8 @@ import info.nightscout.androidaps.extensions.temporaryBasalFromJson import info.nightscout.androidaps.extensions.temporaryTargetFromJson import info.nightscout.androidaps.extensions.therapyEventFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt index 7a2fb9adf4..d28234a4dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction import info.nightscout.androidaps.extensions.therapyEventFromNsMbg -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt index 032c064bdb..e07919ce25 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt @@ -14,11 +14,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.AlarmAck import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt index 59c154a297..53ef1342e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.nsclient.data import android.text.Spanned import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt index 33d136edd2..ce8b8c11e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt index d527167917..44971db2b5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt @@ -17,8 +17,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 229b506349..e801e71763 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -51,9 +51,9 @@ import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index b33f684b4d..055f579deb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -12,8 +12,8 @@ import androidx.annotation.StringRes import androidx.appcompat.widget.PopupMenu import com.google.gson.Gson import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 69ceeab2f0..98904a576c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.extensions.putString import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index 45c83ef7cb..954ff03ce8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.age import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt index 23b0f6e579..a5fd3ce935 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewNotificationItemBinding import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IconsProvider -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.services.AlarmSoundServiceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt index 3ab7771f31..69e856b6d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt @@ -6,7 +6,7 @@ import android.content.Intent import android.os.Binder import android.os.IBinder import dagger.android.DaggerService -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyServiceHelper.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyServiceHelper.kt index f5373abec0..bb87856e93 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyServiceHelper.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyServiceHelper.kt @@ -5,7 +5,7 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.IBinder -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index be83b44f8a..4af725244e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt index 76b7fec541..87c52b126c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader.ConnectionStatus.CONNECTED diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index 8178099127..cd283361b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 57f5fd3729..9a57b1f381 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -30,6 +30,7 @@ import info.nightscout.androidaps.utils.* import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.interfaces.Config import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index 27e97c7ac4..da9390fddf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -18,7 +18,7 @@ import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobileHelper.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobileHelper.kt index 941e04eb53..8235102867 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobileHelper.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobileHelper.kt @@ -5,7 +5,7 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.IBinder -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 65ad45decf..ff71e014b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 765b817a55..03b9a9c878 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index f64012dd91..f4ddd2cafd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index ec5a5435e7..fba1853e2d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 8fbb1fdcf6..23836d7b87 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index af482d3cd6..c8820f43e0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index c0f2fcf3ac..c5ff3ac64f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index c18625206d..b749123f5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -11,11 +11,11 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index 7dfeb49669..37bcd2ba11 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -20,10 +20,10 @@ import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTr import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index 52e59af732..a2bba3444b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTh import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index fd5a3f728c..51a89f45cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 6397aa7a6a..1f47b5c4da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 547d247676..30582d2f6a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index 9952accd15..c25511b32d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index f28015d260..005e27e199 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 89f742c4d0..189e0a1e8e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.JsonHelper.safeGetString diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index 57a143f8ea..156784ca49 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index cc18b05559..b4f607627b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 4b54a66f02..0d7a603aab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index fa9875cbc9..6396ce66b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -19,9 +19,9 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.extensions.buildDeviceStatus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.LocalAlertUtils +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index a1a7f2b21d..88a2a92eb7 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.ImportExportPrefs -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index f8a5ad0af5..3fc9940884 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -10,7 +10,7 @@ import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.setupwizard.SWDefinition diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt b/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt index aa04e0268e..e78c5dcd19 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt +++ b/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.skins -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.R import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt b/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt index 2513066d60..543c963049 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt +++ b/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt @@ -1,9 +1,7 @@ package info.nightscout.androidaps.skins import android.util.DisplayMetrics -import android.view.View -import android.widget.LinearLayout -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewFragmentBinding import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt b/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt index eb64d5514b..ff02276574 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt +++ b/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.skins import android.util.DisplayMetrics import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewFragmentBinding -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt b/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt index 440ac96733..8d17b3bc79 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt +++ b/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt @@ -3,8 +3,7 @@ package info.nightscout.androidaps.skins import android.util.DisplayMetrics import android.view.View.GONE import android.view.ViewGroup -import androidx.core.view.marginStart -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActionsFragmentBinding import info.nightscout.androidaps.databinding.OverviewFragmentBinding diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt index 60edb6b6ad..22d28f496a 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt @@ -19,8 +19,8 @@ import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.runOnUiThread -import info.nightscout.androidaps.plugins.general.maintenance.formats.Prefs -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsStatus +import info.nightscout.interfaces.data.maintenance.Prefs +import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.ToastUtils import java.util.* diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt index 9aebb55ccb..0ac1a14f2a 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt @@ -11,7 +11,7 @@ import androidx.core.app.TaskStackBuilder import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.IconsProvider -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt index 53f6886787..1b70ac23d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.utils.buildHelper import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import java.io.File diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt index 30085521bb..3e6df9efe7 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils.buildHelper import android.os.Build import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt index 74f39d3572..fac0b48c0e 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils.resources import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IconsProvider import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 6a57434c11..97b29d28e0 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 35a7825f25..81fc9752dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -6,7 +6,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index fca5f85d76..78bd435dc5 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index a352343466..3fc726bfef 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -32,6 +32,8 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.implementation.constraints.ConstraintsImpl +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.PluginType import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 2fe3c044f1..dbaedf5438 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt index 61a6e47654..421635b0b6 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index 39ca5fb51d..3057cd7bf7 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index 76a0af8d38..4fa83a6062 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 2f972a8f7f..ffef9af52b 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt index c7b5047c98..86b83f649f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index c82ff015f9..e39c39904a 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -8,12 +8,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index ffeec5379d..9d5141fad0 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 4e2dc2f1e4..29e6a9f943 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt index f7ba427bae..bc0605515e 100644 --- a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt +++ b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt @@ -16,7 +16,7 @@ import android.os.IBinder import androidx.core.app.ActivityCompat import com.google.android.gms.location.LocationServices import dagger.android.DaggerService -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt b/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt index 3d0fec1cff..feb1f58a0d 100644 --- a/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt +++ b/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt @@ -5,7 +5,7 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.IBinder -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import javax.inject.Inject import javax.inject.Singleton diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 888e8f5a58..869f17b626 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt index 92c68df644..939221884b 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt index 2de25cfe10..5875a6dc4e 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R import org.junit.Assert diff --git a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index a35c5f7e33..efd5717664 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.extensions.lowTargetBlockValueBySeconds import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.extensions.shiftTargetBlock import info.nightscout.androidaps.extensions.targetBlockValueBySeconds -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Profile.Companion.secondsFromMidnight diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 93ff90b09b..9886f144cf 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 74db9b2635..55196b068b 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -1,5 +1,7 @@ package info.nightscout.androidaps.interfaces +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.Safety import java.util.* interface ActivePlugin { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt index 680e30f621..09257d096d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt @@ -1,9 +1,2 @@ package info.nightscout.androidaps.interfaces -interface BuildHelper { - - fun isEngineeringModeOrRelease(): Boolean - fun isEngineeringMode(): Boolean - fun isUnfinishedMode(): Boolean - fun isDev(): Boolean -} diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt deleted file mode 100644 index 09257d096d..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.interfaces - diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt index 4ba48db06c..09257d096d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt @@ -1,14 +1,2 @@ package info.nightscout.androidaps.interfaces -@Suppress("PropertyName") -interface Config { - val SUPPORTEDNSVERSION: Int - val APS: Boolean - val NSCLIENT: Boolean - val PUMPCONTROL: Boolean - val PUMPDRIVERS: Boolean - val FLAVOR: String - val VERSION_NAME: String - val DEBUG: Boolean - val currentDeviceModelString : String -} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt index 2c7c9583d6..107fbf3e93 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt @@ -1,5 +1,7 @@ package info.nightscout.androidaps.interfaces +import info.nightscout.interfaces.PluginType + interface ConfigBuilder { fun initialize() fun storeSettings(from: String) diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt index d483553ba1..a786a16696 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.Iob import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.interfaces.ConfigExportImport interface Insulin : ConfigExportImport { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt index 8bfee90590..e69ede6122 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import androidx.annotation.StringRes +import info.nightscout.interfaces.ConfigExportImport import info.nightscout.rx.bus.RxBus interface Overview : ConfigExportImport { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt index 65e69ba142..f01dfdd6f1 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt index 9fa484c162..4c050ca3eb 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.annotations.OpenForTesting +import info.nightscout.interfaces.PluginType @OpenForTesting class PluginDescription { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index 59ad26a56c..af4b5fba54 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -7,6 +7,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.joda.time.DateTime import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index 4115c38977..ccf94a11b2 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -8,6 +8,7 @@ import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import org.json.JSONException diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index f4a98b2f5d..7541f5e733 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger abstract class PumpPluginBase( diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Safety.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Safety.kt deleted file mode 100644 index d3bc26ae30..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Safety.kt +++ /dev/null @@ -1,3 +0,0 @@ -package info.nightscout.androidaps.interfaces - -interface Safety : ConfigExportImport \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt index 9ad4e15330..4c25455309 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.ConfigExportImport interface Sensitivity : ConfigExportImport { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt index c71dedfca1..5963d67465 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index 9c5a29d12e..7391f5dcfe 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.versionChecker import android.os.Build import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index 93d3c9c8a1..9a87950fe1 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -4,11 +4,16 @@ import android.content.Context import android.os.Environment import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.* import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.PrefMetadataMap +import info.nightscout.interfaces.data.maintenance.PrefsImportDir +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus import org.joda.time.DateTime import org.joda.time.Days import org.joda.time.Hours diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt index 18a1de7c15..31b632e733 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt @@ -1,8 +1,9 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.os.Parcelable -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefMetadata -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsImportDir import kotlinx.parcelize.Parcelize import kotlinx.parcelize.RawValue import java.io.File diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsImportDir.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsImportDir.kt deleted file mode 100644 index ed596d9bb9..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsImportDir.kt +++ /dev/null @@ -1,6 +0,0 @@ -package info.nightscout.androidaps.plugins.general.maintenance - -enum class PrefsImportDir { - ROOT_DIR, - AAPS_DIR -} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt index 33c753ec20..35c2f1957d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt @@ -17,8 +17,8 @@ import info.nightscout.androidaps.core.databinding.MaintenanceImportListItemBind import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.general.maintenance.PrefsFile import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsMetadataKey -import info.nightscout.androidaps.plugins.general.maintenance.formats.PrefsStatus +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.locale.LocaleHelper import info.nightscout.androidaps.interfaces.ResourceHelper import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt index 1f14541e0a..9866caa0fc 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt @@ -6,6 +6,15 @@ import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError +import info.nightscout.interfaces.data.maintenance.PrefFormatError +import info.nightscout.interfaces.data.maintenance.PrefIOError +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.PrefMetadataMap +import info.nightscout.interfaces.data.maintenance.Prefs +import info.nightscout.interfaces.data.maintenance.PrefsFormat +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus import org.json.JSONException import org.json.JSONObject import java.io.File @@ -24,9 +33,6 @@ class EncryptedPrefsFormat @Inject constructor( companion object { - const val FORMAT_KEY_ENC = "aaps_encrypted" - const val FORMAT_KEY_NOENC = "aaps_structured" - private const val KEY_CONSCIENCE = "if you remove/change this, please make sure you know the consequences!" private val FORMAT_TEST_REGEX = Regex("(\"format\"\\s*:\\s*\"aaps_[^\"]*\")") } @@ -69,7 +75,7 @@ class EncryptedPrefsFormat @Inject constructor( meta.put(metaKey.key, metaEntry.value) } - container.put(PrefsMetadataKey.FILE_FORMAT.key, if (encrypted) FORMAT_KEY_ENC else FORMAT_KEY_NOENC) + container.put(PrefsMetadataKey.FILE_FORMAT.key, if (encrypted) PrefsFormat.FORMAT_KEY_ENC else PrefsFormat.FORMAT_KEY_NOENC) container.put("metadata", meta) val security = JSONObject() @@ -127,7 +133,7 @@ class EncryptedPrefsFormat @Inject constructor( if (container.has(PrefsMetadataKey.FILE_FORMAT.key) && container.has("security") && container.has("content")) { val fileFormat = container.getString(PrefsMetadataKey.FILE_FORMAT.key) val security = container.getJSONObject("security") - val encrypted = fileFormat == FORMAT_KEY_ENC + val encrypted = fileFormat == PrefsFormat.FORMAT_KEY_ENC var secure: PrefsStatus = PrefsStatus.OK var decryptedOk = false var contentJsonObj: JSONObject? = null @@ -239,7 +245,7 @@ class EncryptedPrefsFormat @Inject constructor( val metadata: MutableMap = mutableMapOf() if (container.has(PrefsMetadataKey.FILE_FORMAT.key) && container.has("security") && container.has("content") && container.has("metadata")) { val fileFormat = container.getString(PrefsMetadataKey.FILE_FORMAT.key) - if ((fileFormat != FORMAT_KEY_ENC) && (fileFormat != FORMAT_KEY_NOENC)) { + if ((fileFormat != PrefsFormat.FORMAT_KEY_ENC) && (fileFormat != PrefsFormat.FORMAT_KEY_NOENC)) { metadata[PrefsMetadataKey.FILE_FORMAT] = PrefMetadata(rh.gs(R.string.metadata_format_other), PrefsStatus.ERROR) } else { val meta = container.getJSONObject("metadata") diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt index b945f77273..30c9b45cae 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt +++ b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt @@ -10,7 +10,7 @@ import android.os.IBinder import android.os.Looper import dagger.android.DaggerService import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt index bca49fa90a..11abfd4a2f 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt @@ -5,7 +5,7 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.IBinder -import info.nightscout.androidaps.interfaces.NotificationHolder +import info.nightscout.interfaces.NotificationHolder import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 5b5189dce6..8789af78bb 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -397,16 +397,6 @@ Mute for 5 minutes - File format - Created at - AAPS Version - Build Variant - Exporting device patient name - Exporting device model - File encryption - New encrypted format - New debug format (unencrypted) - Unknown export format exported %1$s ago exported at %1$s exported less than hour ago diff --git a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 355e298975..2943970f80 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index f6a8030a54..8b29988c1d 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt b/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt index 59184335e5..0c090b8583 100644 --- a/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import androidx.fragment.app.Fragment +import info.nightscout.interfaces.PluginType import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt index fc92bcce56..301e3083e9 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.contraints.versionChecker import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.constraints.versionChecker.numericVersionPart diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt index c2dba9041a..1854b16c09 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt @@ -3,6 +3,11 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.interfaces.data.maintenance.PrefFormatError +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.Prefs +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.shared.sharedPreferences.SP import org.hamcrest.CoreMatchers import org.junit.Assert diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 01b1d2bd80..5502f471da 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config -import info.nightscout.androidaps.interfaces.LocalAlertUtils +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index ef923528f9..6b34c90802 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index ea211cdf3c..33782130e1 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.queue.events.EventQueueChanged diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 1f28e136b0..8fac167862 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.LocalAlertUtils +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.T diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index c79a34925b..3837d3d0bd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.SmsCommunicator diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index fca5f85d76..78bd435dc5 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index 0fe77de71a..ffc6ddc293 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -5,7 +5,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 127c8789d9..7bc20506ed 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -5,7 +5,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index df3c6069d9..ec505371f9 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -14,8 +14,8 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index ac8db35717..83167ee390 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index e13b9151a5..198f3d6652 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -43,11 +43,11 @@ import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Config; +import info.nightscout.interfaces.Config; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 1cab3f05e0..b7812addde 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-allopen' +apply plugin: 'kotlin-parcelize' apply plugin: 'com.hiya.jacoco-android' apply plugin: 'kotlinx-serialization' diff --git a/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt b/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt new file mode 100644 index 0000000000..c2d5e03eba --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt @@ -0,0 +1,9 @@ +package info.nightscout.interfaces + +interface BuildHelper { + + fun isEngineeringModeOrRelease(): Boolean + fun isEngineeringMode(): Boolean + fun isUnfinishedMode(): Boolean + fun isDev(): Boolean +} \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt new file mode 100644 index 0000000000..a13b87991b --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt @@ -0,0 +1,14 @@ +package info.nightscout.interfaces + +@Suppress("PropertyName") +interface Config { + val SUPPORTEDNSVERSION: Int + val APS: Boolean + val NSCLIENT: Boolean + val PUMPCONTROL: Boolean + val PUMPDRIVERS: Boolean + val FLAVOR: String + val VERSION_NAME: String + val DEBUG: Boolean + val currentDeviceModelString : String +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigExportImport.kt b/interfaces/src/main/java/info/nightscout/interfaces/ConfigExportImport.kt similarity index 87% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ConfigExportImport.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ConfigExportImport.kt index c56ef1010c..51460a50c5 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigExportImport.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ConfigExportImport.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/LocalAlertUtils.kt b/interfaces/src/main/java/info/nightscout/interfaces/LocalAlertUtils.kt similarity index 90% rename from core/src/main/java/info/nightscout/androidaps/interfaces/LocalAlertUtils.kt rename to interfaces/src/main/java/info/nightscout/interfaces/LocalAlertUtils.kt index 928bac8726..bbe73ac48c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/LocalAlertUtils.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/LocalAlertUtils.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface LocalAlertUtils { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/NotificationHolder.kt b/interfaces/src/main/java/info/nightscout/interfaces/NotificationHolder.kt similarity index 86% rename from core/src/main/java/info/nightscout/androidaps/interfaces/NotificationHolder.kt rename to interfaces/src/main/java/info/nightscout/interfaces/NotificationHolder.kt index 8a052ba3c5..9bbdcd815a 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/NotificationHolder.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/NotificationHolder.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import android.app.Notification import android.app.PendingIntent @@ -11,4 +11,4 @@ interface NotificationHolder { fun openAppIntent(context: Context): PendingIntent? fun createNotificationChannel() -} +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginType.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt similarity index 82% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PluginType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt index ca490bda53..648b6bac9b 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces /** * Main plugin type diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt b/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt new file mode 100644 index 0000000000..7418f4ce87 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt @@ -0,0 +1,3 @@ +package info.nightscout.interfaces + +interface Safety : ConfigExportImport \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/VariableSensitivityResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt similarity index 60% rename from core/src/main/java/info/nightscout/androidaps/interfaces/VariableSensitivityResult.kt rename to interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt index bee69b6c00..c34196d5f7 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/VariableSensitivityResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface VariableSensitivityResult { var variableSens: Double? diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt new file mode 100644 index 0000000000..3ad837d825 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt @@ -0,0 +1,2 @@ +package info.nightscout.interfaces.data + diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/PrefsFormat.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt similarity index 86% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/PrefsFormat.kt rename to interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt index b5f1273f87..33dfb513aa 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/PrefsFormat.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.plugins.general.maintenance.formats +package info.nightscout.interfaces.data.maintenance import android.content.Context import android.os.Parcelable import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.R import kotlinx.parcelize.Parcelize import java.io.File @@ -38,8 +38,8 @@ enum class PrefsMetadataKey(val key: String, @DrawableRes val icon: Int, @String fun formatForDisplay(context: Context, value: String): String { return when (this) { FILE_FORMAT -> when (value) { - EncryptedPrefsFormat.FORMAT_KEY_ENC -> context.getString(R.string.metadata_format_new) - EncryptedPrefsFormat.FORMAT_KEY_NOENC -> context.getString(R.string.metadata_format_debug) + PrefsFormat.FORMAT_KEY_ENC -> context.getString(R.string.metadata_format_new) + PrefsFormat.FORMAT_KEY_NOENC -> context.getString(R.string.metadata_format_debug) else -> context.getString(R.string.metadata_format_other) } CREATED_AT -> value.replace("T", " ").replace("Z", " (UTC)") @@ -57,6 +57,11 @@ typealias PrefMetadataMap = Map data class Prefs(val values: Map, var metadata: PrefMetadataMap) interface PrefsFormat { + companion object { + + const val FORMAT_KEY_ENC = "aaps_encrypted" + const val FORMAT_KEY_NOENC = "aaps_structured" + } fun savePreferences(file: File, prefs: Prefs, masterPassword: String? = null) fun loadPreferences(file: File, masterPassword: String? = null): Prefs diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt new file mode 100644 index 0000000000..3b8fa1f84b --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt @@ -0,0 +1,6 @@ +package info.nightscout.interfaces.data.maintenance + +enum class PrefsImportDir { + ROOT_DIR, + AAPS_DIR +} \ No newline at end of file diff --git a/core/src/main/res/drawable/ic_meta_date.xml b/interfaces/src/main/res/drawable/ic_meta_date.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_date.xml rename to interfaces/src/main/res/drawable/ic_meta_date.xml diff --git a/core/src/main/res/drawable/ic_meta_encryption.xml b/interfaces/src/main/res/drawable/ic_meta_encryption.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_encryption.xml rename to interfaces/src/main/res/drawable/ic_meta_encryption.xml diff --git a/core/src/main/res/drawable/ic_meta_error.xml b/interfaces/src/main/res/drawable/ic_meta_error.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_error.xml rename to interfaces/src/main/res/drawable/ic_meta_error.xml diff --git a/core/src/main/res/drawable/ic_meta_flavour.xml b/interfaces/src/main/res/drawable/ic_meta_flavour.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_flavour.xml rename to interfaces/src/main/res/drawable/ic_meta_flavour.xml diff --git a/core/src/main/res/drawable/ic_meta_format.xml b/interfaces/src/main/res/drawable/ic_meta_format.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_format.xml rename to interfaces/src/main/res/drawable/ic_meta_format.xml diff --git a/core/src/main/res/drawable/ic_meta_model.xml b/interfaces/src/main/res/drawable/ic_meta_model.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_model.xml rename to interfaces/src/main/res/drawable/ic_meta_model.xml diff --git a/core/src/main/res/drawable/ic_meta_name.xml b/interfaces/src/main/res/drawable/ic_meta_name.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_name.xml rename to interfaces/src/main/res/drawable/ic_meta_name.xml diff --git a/core/src/main/res/drawable/ic_meta_ok.xml b/interfaces/src/main/res/drawable/ic_meta_ok.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_ok.xml rename to interfaces/src/main/res/drawable/ic_meta_ok.xml diff --git a/core/src/main/res/drawable/ic_meta_version.xml b/interfaces/src/main/res/drawable/ic_meta_version.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_version.xml rename to interfaces/src/main/res/drawable/ic_meta_version.xml diff --git a/core/src/main/res/drawable/ic_meta_warning.xml b/interfaces/src/main/res/drawable/ic_meta_warning.xml similarity index 100% rename from core/src/main/res/drawable/ic_meta_warning.xml rename to interfaces/src/main/res/drawable/ic_meta_warning.xml diff --git a/interfaces/src/main/res/values/strings.xml b/interfaces/src/main/res/values/strings.xml new file mode 100644 index 0000000000..af9dfa0380 --- /dev/null +++ b/interfaces/src/main/res/values/strings.xml @@ -0,0 +1,15 @@ + + + + File format + Created at + AAPS Version + Build Variant + Exporting device patient name + Exporting device model + File encryption + New encrypted format + New debug format (unencrypted) + Unknown export format + + diff --git a/openhumans/build.gradle b/openhumans/build.gradle index b163a0b21b..1d7f6b7f30 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -16,6 +16,7 @@ android { dependencies { implementation project(':core') implementation project(':database') + implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') } \ No newline at end of file diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index 00a9440d3d..c1021b574e 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.database.interfaces.TraceableDBEntry import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate @@ -59,7 +59,7 @@ class OpenHumansUploader @Inject internal constructor( private val rxBus: RxBus ) : PluginBase( PluginDescription() - .mainType(PluginType.GENERAL) + .mainType(info.nightscout.interfaces.PluginType.GENERAL) .pluginIcon(R.drawable.open_humans_white) .pluginName(R.string.open_humans) .shortName(R.string.open_humans_short) diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index 41073537c1..71d1e091ee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.androidaps.utils.DateUtil diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 7df92d2c54..4ad7d69c90 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index b27fe39aa4..49f49117e6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -7,7 +7,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 6562898475..66ae53d359 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index cd01f1778f..aa8c24291a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index fde32fe206..27a3d65b1e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -1,12 +1,12 @@ package info.nightscout.plugins.constraints.versionChecker import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index a5085f3783..c799655ef0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -9,11 +9,11 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Autotune -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 46da8f29b3..783a4c20ad 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index 6a98347060..9915d11b2c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.transactions.SyncNsFoodTransaction import info.nightscout.androidaps.extensions.foodFromJson import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 7bc63f45ef..71bb58b5b6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit @@ -37,7 +37,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index 9bf37c08b7..070177a8c8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 35227ac87d..2c7b5af1b6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index 5def10483b..75da4030f2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 91d221ec92..3b5964aefe 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -4,11 +4,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.Iob import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index 1eb5b1a8f9..a577b737a2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.storeInt -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index 7c3f7341f4..4a77ee382c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index 5cb1f9f286..ac5b4e892d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 68e12da3ac..6cfbbefac4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileSource diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index fca5f85d76..78bd435dc5 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index b9083fcf9b..d6d3636e9c 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -29,6 +29,7 @@ import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.interfaces.PluginType import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Single import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index 1496ef2fe4..6f83ca556a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index fb40c87216..680b1cc75a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index bc6bed979f..3f94e05521 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index e119efb6b6..e8e6a65d20 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index f1bee37c73..102a8c66e0 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 4aa0cea4f4..90a59a0476 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -29,7 +29,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 18aa351c7b..fd18ca6428 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -10,6 +10,7 @@ import info.nightscout.androidaps.interfaces.* import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.PluginType import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 372a9ae90b..d6ee4f06e1 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 19e0d06456..dd450c2f03 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt index d033dd4224..8c03d9c3f6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt index a78a231f4b..fd422c846a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 39d0e78af3..5da4a66aa8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Dana; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 5f0731b39b..41d16f8fe7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt index b6eb7083f1..212d9a6cce 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 4f057d84a9..c6422c2fa3 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index e56c04020d..b2cca57328 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index 5cb2260983..8ff8fbdde1 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index bd7e61a7fa..8562ee3832 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 16016d2838..d5e6013790 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Dana import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 3eb646de24..ba7d59b17f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index 6dbc566fd5..2e32594abb 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.AndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 4acb928f1d..270c6cdd80 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Diaconn import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 8016a4495b..56c6b49b54 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 0c3553b231..044213d96b 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 314e6af0a3..56d8bea964 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.PluginType +import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt index 5460da9347..8b242dc867 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/OmnipodDashBleManagerImpl.kt @@ -4,7 +4,7 @@ import android.bluetooth.BluetoothAdapter import android.bluetooth.BluetoothManager import android.content.Context import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.BusyException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.CouldNotSendCommandException diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt index a8703cfab9..7132835a27 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchange.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt index 7426d112f6..8d61cd9ca0 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/LTKExchanger.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.MessageIOException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.PairingException diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt index 94ac634c28..6fcbfd65b4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt @@ -8,7 +8,7 @@ import android.content.Context import android.os.SystemClock import info.nightscout.androidaps.Constants import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.ServiceDiscoverer import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt index 48de01938a..09c6fe015e 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Milenage.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import org.spongycastle.util.encoders.Hex diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt index 52987ef873..b950c58afa 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/SessionEstablisher.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecrypt.Nonce import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.SessionEstablishmentException diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 73f76633c2..10f9e7ea6e 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index c9f73dc12e..ab4d6fc375 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -41,7 +41,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index e91275e9be..8123bfc461 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -9,7 +9,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusActivity diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt index efd8b123fd..5e1103458f 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt @@ -15,7 +15,7 @@ import android.content.pm.PackageManager import android.os.Build import android.os.SystemClock import androidx.core.content.ContextCompat -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes diff --git a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt index d3a379c7ce..5a955105eb 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt @@ -8,7 +8,7 @@ import com.google.android.material.tabs.TabLayout import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsBolusCarbsFragment import info.nightscout.ui.activities.fragments.TreatmentsCareportalFragment diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 45d5b8b42d..194de5288f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -31,7 +31,7 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 5cd53e36ca..cb770001a5 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTr import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index f9d0688a2e..05bccb89f8 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -31,7 +31,7 @@ import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index d9645c9b6f..3b01bc3e3a 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.BuildHelper +import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 32f7f03de1..de35a30027 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -30,7 +30,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator -import info.nightscout.androidaps.interfaces.VariableSensitivityResult +import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index cd2f05f706..76169aff12 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Config +import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore From e17ca2be0a316771b015af8a88eb30e425b93eef Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 20:55:48 +0100 Subject: [PATCH 011/123] PumpEnactResultImpl --- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 24 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 27 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 25 +- .../interfaces/ConstraintsCheckerTest.kt | 102 +++++- .../automation/actions/ActionAlarm.kt | 4 +- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 6 +- .../automation/actions/ActionLoopResume.kt | 6 +- .../automation/actions/ActionLoopSuspend.kt | 6 +- .../automation/actions/ActionNotification.kt | 4 +- .../automation/actions/ActionProfileSwitch.kt | 12 +- .../actions/ActionProfileSwitchPercent.kt | 6 +- .../automation/actions/ActionRunAutotune.kt | 6 +- .../automation/actions/ActionSendSMS.kt | 4 +- .../actions/ActionStartTempTarget.kt | 6 +- .../actions/ActionStopProcessing.kt | 4 +- .../actions/ActionStopTempTarget.kt | 4 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../automation/actions/ActionAlarmTest.kt | 4 +- .../actions/ActionNotificationTest.kt | 4 +- .../automation/actions/ActionsTestBase.kt | 4 +- .../androidaps/data/PumpEnactResult.kt | 179 ++-------- .../androidaps/data/PumpEnactResultImpl.kt | 165 ++++++++++ .../info/nightscout/androidaps/data/Sms.kt | 40 --- .../androidaps/di/CoreDataClassesModule.kt | 4 +- .../extensions/DeviceStatusExtension.kt | 4 +- .../androidaps/interfaces/Diaconn.kt | 1 + .../androidaps/interfaces/SmsCommunicator.kt | 2 +- .../EventDismissBolusProgressIfRunning.kt | 1 + .../nightscout/androidaps/queue/Callback.kt | 1 + .../androidaps/queue/commands/Command.kt | 4 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 25 +- .../androidaps/data/PumpEnactResultTest.kt | 99 +++--- .../formats/EncryptedPrefsFormatTest.kt | 12 +- .../queue/CommandQueueImplementation.kt | 23 +- .../queue/commands/CommandReadStatus.kt | 4 +- .../queue/commands/CommandSMBBolus.kt | 5 +- .../queue/commands/CommandSetProfile.kt | 4 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../nightscout/androidaps/TestPumpPlugin.kt | 25 +- .../queue/CommandQueueImplementationTest.kt | 8 +- .../pump/insight/LocalInsightPlugin.java | 83 ++--- .../interfaces/data/smsCommunicator/Sms.kt | 42 +++ .../general/smsCommunicator/AuthRequest.kt | 2 +- .../SmsCommunicatorFragment.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../nightscout/androidaps/TestPumpPlugin.kt | 25 +- .../smsCommunicator/AuthRequestTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 62 ++-- .../general/smsCommunicator/SmsTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 65 ++-- .../plugins/pump/combo/ComboPluginTest.kt | 11 +- .../androidaps/plugins/pump/combo/TestBase.kt | 6 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../danaRKorean/DanaRKoreanPlugin.kt | 62 ++-- .../androidaps/danaRv2/DanaRv2Plugin.java | 17 +- .../services/DanaRv2ExecutionService.java | 11 +- .../androidaps/danar/AbstractDanaRPlugin.java | 11 +- .../androidaps/danar/DanaRPlugin.java | 15 +- .../AbstractDanaRExecutionService.java | 3 +- .../danar/services/DanaRExecutionService.java | 5 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../nightscout/androidaps/TestPumpPlugin.kt | 21 +- .../androidaps/danars/DanaRSPlugin.kt | 66 ++-- .../danars/services/DanaRSService.kt | 9 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 120 +++---- .../diaconn/service/DiaconnG8Service.kt | 43 +-- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 305 +++++++++--------- .../pump/medtronic/MedtronicPumpPlugin.kt | 45 +-- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../comm/MedtronicHistoryDataUTest.kt | 2 +- .../common/viewmodel/ActionViewModelBase.kt | 3 +- .../omnipod/dash/history/DashHistoryTest.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 63 ++-- .../action/DashInitializePodViewModel.kt | 5 +- .../action/DashInsertCannulaViewModel.kt | 5 +- .../info/nightscout/androidaps/TestBase.kt | 40 +++ .../driver/comm/endecrypt/EnDecryptTest.kt | 2 +- .../driver/comm/message/MessagePacketTest.kt | 2 +- .../dash/driver/comm/pair/KeyExchangeTest.kt | 10 +- .../driver/comm/session/EapMessageTest.kt | 2 +- .../dash/driver/comm/session/MilenageTest.kt | 13 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 25 +- .../eros/manager/AapsOmnipodErosManager.java | 77 ++--- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 6 +- .../manager/AapsErosPodStateManagerTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 7 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../info/nightscout/androidaps/TestBase.kt | 6 +- .../nightscout/androidaps/TestPumpPlugin.kt | 25 +- .../info/nightscout/androidaps/TestBase.kt | 4 +- 97 files changed, 1285 insertions(+), 994 deletions(-) create mode 100644 core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt create mode 100644 pump/omnipod-dash/src/test/java/info/nightscout/androidaps/TestBase.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 7ebc636587..b9db49b782 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.OfflineEvent @@ -382,7 +382,7 @@ class LoopPlugin @Inject constructor( if (resultAfterConstraints.isChangeRequested && !commandQueue.bolusInQueue() ) { - val waiting = PumpEnactResult(injector) + val waiting = PumpEnactResultImpl(injector) waiting.queued = true if (resultAfterConstraints.tempBasalRequested) lastRun.tbrSetByPump = waiting if (resultAfterConstraints.bolusRequested()) lastRun.smbSetByPump = waiting @@ -533,18 +533,18 @@ class LoopPlugin @Inject constructor( */ private fun applyTBRRequest(request: APSResult, profile: Profile, callback: Callback?) { if (!request.tempBasalRequested) { - callback?.result(PumpEnactResult(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() + callback?.result(PumpEnactResultImpl(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() return } val pump = activePlugin.activePump if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applyAPSRequest: $request") @@ -558,7 +558,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResult(injector).absolute(request.rate).duration(0) + PumpEnactResultImpl(injector).absolute(request.rate).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -571,7 +571,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResult(injector).percent(request.percent).duration(0) + PumpEnactResultImpl(injector).percent(request.percent).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -582,7 +582,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResult(injector).percent(request.percent) + PumpEnactResultImpl(injector).percent(request.percent) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -605,7 +605,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResult(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) + PumpEnactResultImpl(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -631,7 +631,7 @@ class LoopPlugin @Inject constructor( if (lastBolusTime != 0L && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { aapsLogger.debug(LTag.APS, "SMB requested but still in 3 min interval") callback?.result( - PumpEnactResult(injector) + PumpEnactResultImpl(injector) .comment(R.string.smb_frequency_exceeded) .enacted(false).success(false) )?.run() @@ -639,12 +639,12 @@ class LoopPlugin @Inject constructor( } if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applySMBRequest: $request") diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index fba1853e2d..4e06233eff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -7,6 +7,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -132,7 +133,7 @@ open class VirtualPumpPlugin @Inject constructor( var fakeDataDetected = false override fun loadTDDs(): PumpEnactResult { //no result, could read DB in the future? - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) } override fun isInitialized(): Boolean = true @@ -157,7 +158,7 @@ open class VirtualPumpPlugin @Inject constructor( lastDataTime = System.currentTimeMillis() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) // Do nothing here. we are using database profile - return PumpEnactResult(injector).success(true).enacted(true) + return PumpEnactResultImpl(injector).success(true).enacted(true) } override fun isThisProfileSet(profile: Profile): Boolean = pumpSync.expectedPumpState().profile?.isEqual(profile) ?: false @@ -174,7 +175,7 @@ open class VirtualPumpPlugin @Inject constructor( get() = batteryPercent override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) .success(true) .bolusDelivered(detailedBolusInfo.insulin) .carbsDelivered(detailedBolusInfo.carbs) @@ -190,7 +191,7 @@ open class VirtualPumpPlugin @Inject constructor( rxBus.send(bolusingEvent) delivering += 0.1 if (BolusProgressDialog.stopPressed) - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) .success(false) .enacted(false) .comment(rh.gs(R.string.stoppressed)) @@ -225,7 +226,7 @@ open class VirtualPumpPlugin @Inject constructor( override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = true result.enacted = true result.isTempCancel = false @@ -242,14 +243,14 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Setting temp basal absolute: $result") + aapsLogger.debug(LTag.PUMP, "Setting temp basal absolute: ${result.toText()}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result } override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = true result.enacted = true result.percent = percent @@ -267,7 +268,7 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Settings temp basal percent: $result") + aapsLogger.debug(LTag.PUMP, "Settings temp basal percent: ${result.toText()}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result @@ -291,14 +292,14 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Setting extended bolus: $result") + aapsLogger.debug(LTag.PUMP, "Setting extended bolus: ${result.toText()}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = true result.isTempCancel = true result.comment = rh.gs(R.string.virtualpump_resultok) @@ -310,7 +311,7 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Canceling temp basal: $result") + aapsLogger.debug(LTag.PUMP, "Canceling temp basal: ${result.toText()}") rxBus.send(EventVirtualPumpUpdateGui()) } lastDataTime = System.currentTimeMillis() @@ -318,7 +319,7 @@ open class VirtualPumpPlugin @Inject constructor( } override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (pumpSync.expectedPumpState().extendedBolus != null) { pumpSync.syncStopExtendedBolusWithPumpId( timestamp = dateUtil.now(), @@ -331,7 +332,7 @@ open class VirtualPumpPlugin @Inject constructor( result.enacted = true result.isTempCancel = true result.comment = rh.gs(R.string.virtualpump_resultok) - aapsLogger.debug(LTag.PUMP, "Canceling extended bolus: $result") + aapsLogger.debug(LTag.PUMP, "Canceling extended bolus: ${result.toText()}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result diff --git a/app/src/test/java/info/nightscout/androidaps/TestBase.kt b/app/src/test/java/info/nightscout/androidaps/TestBase.kt index 1a4ad8a9cc..ee5264cbde 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.TestAapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..4e805f67a5 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 3fc726bfef..e160d208fa 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper @@ -84,7 +84,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { it.sp = sp it.dateUtil = dateUtil } - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } @@ -135,12 +135,100 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config, dateUtil, uel) comboPlugin = ComboPlugin(injector, aapsLogger, rxBus, rh, profileFunction, sp, commandQueue, context, pumpSync, dateUtil, ruffyScripter) danaRPlugin = DanaRPlugin(injector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, activePlugin, sp, commandQueue, danaPump, dateUtil, fabricPrivacy, pumpSync) - danaRSPlugin = DanaRSPlugin(injector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, profileFunction, sp, commandQueue, danaPump, pumpSync, detailedBolusInfoStorage, temporaryBasalStorage, fabricPrivacy, dateUtil) + danaRSPlugin = + DanaRSPlugin( + injector, + aapsLogger, + aapsSchedulers, + rxBus, + context, + rh, + constraintChecker, + profileFunction, + sp, + commandQueue, + danaPump, + pumpSync, + detailedBolusInfoStorage, + temporaryBasalStorage, + fabricPrivacy, + dateUtil + ) insightPlugin = LocalInsightPlugin(injector, aapsLogger, rxBus, rh, sp, commandQueue, profileFunction, context, config, dateUtil, insightDbHelper, pumpSync) - openAPSSMBPlugin = OpenAPSSMBPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, sp, dateUtil, repository, glucoseStatusProvider) - openAPSSMBDynamicISFPlugin = OpenAPSSMBDynamicISFPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, sp, dateUtil, repository, glucoseStatusProvider, buildHelper) - openAPSAMAPlugin = OpenAPSAMAPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, fabricPrivacy, dateUtil, repository, glucoseStatusProvider) - safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, openAPSAMAPlugin, openAPSSMBPlugin, openAPSSMBDynamicISFPlugin, sensitivityOref1Plugin, activePlugin, hardLimits, BuildHelperImpl(config, fileListProvider), iobCobCalculator, config, dateUtil) + openAPSSMBPlugin = + OpenAPSSMBPlugin( + injector, + aapsLogger, + rxBus, + constraintChecker, + rh, + profileFunction, + context, + activePlugin, + iobCobCalculator, + hardLimits, + profiler, + sp, + dateUtil, + repository, + glucoseStatusProvider + ) + openAPSSMBDynamicISFPlugin = + OpenAPSSMBDynamicISFPlugin( + injector, + aapsLogger, + rxBus, + constraintChecker, + rh, + profileFunction, + context, + activePlugin, + iobCobCalculator, + hardLimits, + profiler, + sp, + dateUtil, + repository, + glucoseStatusProvider, + buildHelper + ) + openAPSAMAPlugin = + OpenAPSAMAPlugin( + injector, + aapsLogger, + rxBus, + constraintChecker, + rh, + profileFunction, + context, + activePlugin, + iobCobCalculator, + hardLimits, + profiler, + fabricPrivacy, + dateUtil, + repository, + glucoseStatusProvider + ) + safetyPlugin = + SafetyPlugin( + injector, + aapsLogger, + rh, + sp, + rxBus, + constraintChecker, + openAPSAMAPlugin, + openAPSSMBPlugin, + openAPSSMBDynamicISFPlugin, + sensitivityOref1Plugin, + activePlugin, + hardLimits, + BuildHelperImpl(config, fileListProvider), + iobCobCalculator, + config, + dateUtil + ) val constraintsPluginsList = ArrayList() constraintsPluginsList.add(safetyPlugin) constraintsPluginsList.add(objectivesPlugin) diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index d045ab95ef..67fc7486a9 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -4,7 +4,7 @@ import android.content.Context import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper @@ -39,7 +39,7 @@ class ActionAlarm(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { timerUtil.scheduleReminder(10, text.value.takeIf { it.isNotBlank() } ?: rh.gs(R.string.app_name)) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 9d5141fad0..f64df26bc8 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.CommandQueue @@ -41,7 +41,7 @@ class ActionLoopDisable(injector: HasAndroidInjector) : Action(injector) { } }) } else { - callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadydisabled)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadydisabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 29e6a9f943..65e4d216b0 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.ConfigBuilder @@ -33,9 +33,9 @@ class ActionLoopEnable(injector: HasAndroidInjector) : Action(injector) { configBuilder.storeSettings("ActionLoopEnable") rxBus.send(EventRefreshOverview("ActionLoopEnable")) uel.log(UserEntry.Action.LOOP_ENABLED, Sources.Automation, title) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyenabled)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadyenabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index 194b154ea9..7a8a304b18 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources @@ -45,9 +45,9 @@ class ActionLoopResume(injector: HasAndroidInjector) : Action(injector) { }) rxBus.send(EventRefreshOverview("ActionLoopResume")) uel.log(UserEntry.Action.RESUME, Sources.Automation, title) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResult(injector).success(true).comment(R.string.notsuspended)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.notsuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index 68b59f70af..71271b4331 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit @@ -40,9 +40,9 @@ class ActionLoopSuspend(injector: HasAndroidInjector) : Action(injector) { UserEntry.Action.SUSPEND, Sources.Automation, title + ": " + rh.gs(R.string.suspendloopforXmin, minutes.getMinutes()), ValueWithUnit.Minute(minutes.getMinutes()) ) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadysuspended)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadysuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index a9940d27af..7d6b768427 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -39,7 +39,7 @@ class ActionNotification(injector: HasAndroidInjector) : Action(injector) { rxBus.send(EventNewNotification(notification)) disposable += repository.runTransaction(InsertTherapyEventAnnouncementTransaction(text.value)).subscribe() rxBus.send(EventRefreshOverview("ActionNotification")) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index e0308befd3..9cf909a40b 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit @@ -40,23 +40,23 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { //Check for uninitialized profileName if (inputProfileName.value == "") { aapsLogger.error(LTag.AUTOMATION, "Selected profile not initialized") - callback.result(PumpEnactResult(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() return } if (profileFunction.getProfile() == null) { aapsLogger.error(LTag.AUTOMATION, "ProfileFunctions not initialized") - callback.result(PumpEnactResult(injector).success(false).comment(R.string.noprofile)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.noprofile)).run() return } if (inputProfileName.value == activeProfileName) { aapsLogger.debug(LTag.AUTOMATION, "Profile is already switched") - callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyset)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadyset)).run() return } val profileStore = activePlugin.activeProfileSource.profile ?: return if (profileStore.getSpecificProfile(inputProfileName.value) == null) { aapsLogger.error(LTag.AUTOMATION, "Selected profile does not exist! - ${inputProfileName.value}") - callback.result(PumpEnactResult(injector).success(false).comment(R.string.notexists)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.notexists)).run() return } uel.log( @@ -65,7 +65,7 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Percent(100) ) val result = profileFunction.createProfileSwitch(profileStore, inputProfileName.value, 0, 100, 0, dateUtil.now()) - callback.result(PumpEnactResult(injector).success(result).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(result).comment(R.string.ok)).run() } override fun generateDialog(root: LinearLayout) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index e8204b7bd8..a0e0317213 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit @@ -51,10 +51,10 @@ class ActionProfileSwitchPercent(injector: HasAndroidInjector) : Action(injector ValueWithUnit.Percent(pct.value.toInt()), ValueWithUnit.Minute(duration.value) ) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } else { aapsLogger.error(LTag.AUTOMATION, "Final profile not valid") - callback.result(PumpEnactResult(injector).success(false).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.ok)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index 2b83fa074c..f1c6fe4a24 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Autotune import info.nightscout.androidaps.interfaces.ProfileFunction @@ -49,11 +49,11 @@ class ActionRunAutotune(injector: HasAndroidInjector) : Action(injector) { message = R.string.autotune_run_with_error aapsLogger.error(LTag.AUTOMATION, "Error during Autotune Run") } - callback.result(PumpEnactResult(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() + callback.result(PumpEnactResultImpl(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() } else { message = R.string.autotune_run_cancelled aapsLogger.debug(LTag.AUTOMATION, "Autotune run detected, Autotune Run Cancelled") - callback.result(PumpEnactResult(injector).success(false).comment(message)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(message)).run() } }.start() return diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index 927ca86b28..e2c0e2d205 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.SmsCommunicator import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.JsonHelper @@ -25,7 +25,7 @@ class ActionSendSMS(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { val result = smsCommunicator.sendNotificationToAllNumbers(text.value) - callback.result(PumpEnactResult(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() + callback.result(PumpEnactResultImpl(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() } override fun isValid(): Boolean = text.value.isNotEmpty() diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 151341f1d5..9b71279a69 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.UserEntry @@ -69,10 +69,10 @@ class ActionStartTempTarget(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Mgdl(tt().highTarget).takeIf { tt().lowTarget != tt().highTarget }, ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt().duration).toInt()) ) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - callback.result(PumpEnactResult(injector).success(false).comment(R.string.error)).run() + callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.error)).run() }) } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt index 53f613915c..88f9046cb5 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import com.google.gson.JsonObject import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.queue.Callback import info.nightscout.automation.R import org.json.JSONObject @@ -17,7 +17,7 @@ class ActionStopProcessing(injector: HasAndroidInjector) : Action(injector) { override fun isValid(): Boolean = true override fun doAction(callback: Callback) { - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index 6a8d5f1967..d2d152b78c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources @@ -36,7 +36,7 @@ class ActionStopTempTarget(injector: HasAndroidInjector) : Action(injector) { }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) }) - callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } override fun isValid(): Boolean = true diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBase.kt b/automation/src/test/java/info/nightscout/androidaps/TestBase.kt index 16ad0df4db..b55d0aae33 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.ArgumentMatcher diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 769d928f41..36eb757212 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile @@ -55,31 +56,31 @@ class TestPumpPlugin( override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult( + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl( injector ).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResult(injector).success(true) + PumpEnactResultImpl(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} override fun specialEnableCondition(): Boolean = specialEnable diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index d4f8890d74..f4ba9c7453 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil @@ -37,7 +37,7 @@ class ActionAlarmTest : TestBase() { it.timerUtil = timerUtil it.dateUtil = dateUtil } - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index cb47326577..a55314f4d8 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.database.transactions.Transaction @@ -35,7 +35,7 @@ class ActionNotificationTest : TestBase() { it.rxBus = rxBus it.repository = repository } - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 536e8f661d..2e3bc345f9 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -157,7 +157,7 @@ ActionsTestBase : TestBaseWithProfile() { if (it is ActionStopProcessing) { it.rh = rh } - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } if (it is Trigger) { diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt index fd0f0fe33f..7fcab3465c 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt @@ -1,163 +1,40 @@ package info.nightscout.androidaps.data -import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.Round -import info.nightscout.androidaps.interfaces.ResourceHelper import org.json.JSONObject -import javax.inject.Inject -class PumpEnactResult(injector: HasAndroidInjector) { +interface PumpEnactResult { - @Inject lateinit var rh: ResourceHelper - - init { - injector.androidInjector().inject(this) - } - - var success = false // request was processed successfully (but possible no change was needed) - var enacted = false // request was processed successfully and change has been made - var comment = "" + var success: Boolean // request was processed successfully (but possible no change was needed) + var enacted: Boolean // request was processed successfully and change has been made + var comment: String // Result of basal change - var duration = -1 // duration set [minutes] - var absolute = -1.0 // absolute rate [U/h] , isPercent = false - var percent = -1 // percent of current basal [%] (100% = current basal), isPercent = true - var isPercent = false // if true percent is used, otherwise absolute - var isTempCancel = false // if true we are canceling temp basal + var duration: Int // duration set [minutes] + var absolute: Double // absolute rate [U/h] , isPercent = false + var percent: Int // percent of current basal [%] (100% = current basal), isPercent = true + var isPercent: Boolean // if true percent is used, otherwise absolute + var isTempCancel: Boolean // if true we are canceling temp basal // Result of treatment delivery - var bolusDelivered = 0.0 // real value of delivered insulin - var carbsDelivered = 0.0 // real value of delivered carbs - var queued = false + var bolusDelivered: Double // real value of delivered insulin + var carbsDelivered: Double // real value of delivered carbs + var queued: Boolean - fun success(success: Boolean): PumpEnactResult = this.also { this.success = success } - fun enacted(enacted: Boolean): PumpEnactResult = this.also { it.enacted = enacted } - fun comment(comment: String): PumpEnactResult = this.also { it.comment = comment } - fun comment(comment: Int): PumpEnactResult = this.also { it.comment = rh.gs(comment) } - fun duration(duration: Int): PumpEnactResult = this.also { it.duration = duration } - fun absolute(absolute: Double): PumpEnactResult = this.also { it.absolute = absolute } - fun percent(percent: Int): PumpEnactResult = this.also { it.percent = percent } - fun isPercent(isPercent: Boolean): PumpEnactResult = this.also { it.isPercent = isPercent } - fun isTempCancel(isTempCancel: Boolean): PumpEnactResult = this.also { it.isTempCancel = isTempCancel } - fun bolusDelivered(bolusDelivered: Double): PumpEnactResult = this.also { it.bolusDelivered = bolusDelivered } - fun carbsDelivered(carbsDelivered: Double): PumpEnactResult = this.also { it.carbsDelivered = carbsDelivered } - fun queued(queued: Boolean): PumpEnactResult = this.also { it.queued = queued } + fun success(success: Boolean): PumpEnactResult + fun enacted(enacted: Boolean): PumpEnactResult + fun comment(comment: String): PumpEnactResult + fun comment(comment: Int): PumpEnactResult + fun duration(duration: Int): PumpEnactResult + fun absolute(absolute: Double): PumpEnactResult + fun percent(percent: Int): PumpEnactResult + fun isPercent(isPercent: Boolean): PumpEnactResult + fun isTempCancel(isTempCancel: Boolean): PumpEnactResult + fun bolusDelivered(bolusDelivered: Double): PumpEnactResult + fun carbsDelivered(carbsDelivered: Double): PumpEnactResult + fun queued(queued: Boolean): PumpEnactResult - fun log(): String { - return "Success: " + success + - " Enacted: " + enacted + - " Comment: " + comment + - " Duration: " + duration + - " Absolute: " + absolute + - " Percent: " + percent + - " IsPercent: " + isPercent + - " IsTempCancel: " + isTempCancel + - " bolusDelivered: " + bolusDelivered + - " carbsDelivered: " + carbsDelivered + - " Queued: " + queued - } - - override fun toString(): String { - var ret = rh.gs(R.string.success) + ": " + success - if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(R.string.insulin_unit_shortname)}" - } - - isTempCancel -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.canceltemp)}" - } - - isPercent -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.duration)}: $duration min" - ret += "\n${rh.gs(R.string.percent)}: $percent%" - } - - else -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.duration)}: $duration min" - ret += "\n${rh.gs(R.string.absolute)}: $absolute U/h" - } - } - } else { - ret += "\n${rh.gs(R.string.comment)}: $comment" - } - return ret - } - - fun toHtml(): String { - var ret = "" + rh.gs(R.string.success) + ": " + success - if (queued) { - ret = rh.gs(R.string.waitingforpumpresult) - } else if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(R.string.insulin_unit_shortname) - } - - isTempCancel -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - ret += "
" + rh.gs(R.string.comment) + ": " + comment + - "
" + rh.gs(R.string.canceltemp) - } - - isPercent && percent != -1 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(R.string.percent) + ": " + percent + "%" - } - - absolute != -1.0 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" - } - } - } else { - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - } - return ret - } - - fun json(profile: Profile): JSONObject { - val result = JSONObject() - when { - bolusDelivered > 0 -> { - result.put("smb", bolusDelivered) - } - - isTempCancel -> { - result.put("rate", 0) - result.put("duration", 0) - } - - isPercent -> { - // Nightscout is expecting absolute value - val abs = Round.roundTo(profile.getBasal() * percent / 100, 0.01) - result.put("rate", abs) - result.put("duration", duration) - } - - else -> { - result.put("rate", absolute) - result.put("duration", duration) - } - } - return result - } + fun log(): String + fun toHtml(): String + fun toText(): String + fun json(baseBasal: Double): JSONObject } \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt new file mode 100644 index 0000000000..6ad31d401e --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -0,0 +1,165 @@ +package info.nightscout.androidaps.data + +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.core.R +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.Round +import org.json.JSONObject +import java.lang.UnsupportedOperationException +import javax.inject.Inject + +class PumpEnactResultImpl(injector: HasAndroidInjector) : PumpEnactResult { + + @Inject lateinit var rh: ResourceHelper + + init { + injector.androidInjector().inject(this) + } + + override var success = false // request was processed successfully (but possible no change was needed) + override var enacted = false // request was processed successfully and change has been made + override var comment = "" + + // Result of basal change + override var duration = -1 // duration set [minutes] + override var absolute = -1.0 // absolute rate [U/h] , isPercent = false + override var percent = -1 // percent of current basal [%] (100% = current basal), isPercent = true + override var isPercent = false // if true percent is used, otherwise absolute + override var isTempCancel = false // if true we are canceling temp basal + + // Result of treatment delivery + override var bolusDelivered = 0.0 // real value of delivered insulin + override var carbsDelivered = 0.0 // real value of delivered carbs + override var queued = false + + override fun success(success: Boolean): PumpEnactResultImpl = this.also { this.success = success } + override fun enacted(enacted: Boolean): PumpEnactResultImpl = this.also { it.enacted = enacted } + override fun comment(comment: String): PumpEnactResultImpl = this.also { it.comment = comment } + override fun comment(comment: Int): PumpEnactResultImpl = this.also { it.comment = rh.gs(comment) } + override fun duration(duration: Int): PumpEnactResultImpl = this.also { it.duration = duration } + override fun absolute(absolute: Double): PumpEnactResultImpl = this.also { it.absolute = absolute } + override fun percent(percent: Int): PumpEnactResultImpl = this.also { it.percent = percent } + override fun isPercent(isPercent: Boolean): PumpEnactResultImpl = this.also { it.isPercent = isPercent } + override fun isTempCancel(isTempCancel: Boolean): PumpEnactResultImpl = this.also { it.isTempCancel = isTempCancel } + override fun bolusDelivered(bolusDelivered: Double): PumpEnactResultImpl = this.also { it.bolusDelivered = bolusDelivered } + override fun carbsDelivered(carbsDelivered: Double): PumpEnactResultImpl = this.also { it.carbsDelivered = carbsDelivered } + override fun queued(queued: Boolean): PumpEnactResultImpl = this.also { it.queued = queued } + + override fun log(): String { + return "Success: " + success + + " Enacted: " + enacted + + " Comment: " + comment + + " Duration: " + duration + + " Absolute: " + absolute + + " Percent: " + percent + + " IsPercent: " + isPercent + + " IsTempCancel: " + isTempCancel + + " bolusDelivered: " + bolusDelivered + + " carbsDelivered: " + carbsDelivered + + " Queued: " + queued + } + + override fun toString(): String = toText() + + override fun toText(): String { + var ret = rh.gs(R.string.success) + ": " + success + if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "\n${rh.gs(R.string.enacted)}: $enacted" + ret += "\n${rh.gs(R.string.comment)}: $comment" + ret += "\n${rh.gs(R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(R.string.insulin_unit_shortname)}" + } + + isTempCancel -> { + ret += "\n${rh.gs(R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" + ret += "\n${rh.gs(R.string.canceltemp)}" + } + + isPercent -> { + ret += "\n${rh.gs(R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" + ret += "\n${rh.gs(R.string.duration)}: $duration min" + ret += "\n${rh.gs(R.string.percent)}: $percent%" + } + + else -> { + ret += "\n${rh.gs(R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" + ret += "\n${rh.gs(R.string.duration)}: $duration min" + ret += "\n${rh.gs(R.string.absolute)}: $absolute U/h" + } + } + } else { + ret += "\n${rh.gs(R.string.comment)}: $comment" + } + return ret + } + + override fun toHtml(): String { + var ret = "" + rh.gs(R.string.success) + ": " + success + if (queued) { + ret = rh.gs(R.string.waitingforpumpresult) + } else if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "
" + rh.gs(R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment + ret += "
" + rh.gs(R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(R.string.insulin_unit_shortname) + } + + isTempCancel -> { + ret += "
" + rh.gs(R.string.enacted) + ": " + enacted + ret += "
" + rh.gs(R.string.comment) + ": " + comment + + "
" + rh.gs(R.string.canceltemp) + } + + isPercent && percent != -1 -> { + ret += "
" + rh.gs(R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment + ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(R.string.percent) + ": " + percent + "%" + } + + absolute != -1.0 -> { + ret += "
" + rh.gs(R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment + ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" + } + } + } else { + if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment + } + return ret + } + + override fun json(baseBasal: Double): JSONObject { + val result = JSONObject() + when { + bolusDelivered > 0 -> { + result.put("smb", bolusDelivered) + } + + isTempCancel -> { + result.put("rate", 0) + result.put("duration", 0) + } + + isPercent -> { + // Nightscout is expecting absolute value + val abs = Round.roundTo(baseBasal * percent / 100, 0.01) + result.put("rate", abs) + result.put("duration", duration) + } + + else -> { + result.put("rate", absolute) + result.put("duration", duration) + } + } + return result + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/data/Sms.kt b/core/src/main/java/info/nightscout/androidaps/data/Sms.kt index 370b591f31..f252fa6ef7 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/Sms.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/Sms.kt @@ -1,42 +1,2 @@ package info.nightscout.androidaps.data -import android.telephony.SmsMessage - -class Sms { - - var phoneNumber: String - var text: String - var date: Long - var received = false - var sent = false - var processed = false - var ignored = false - - constructor(message: SmsMessage) { - phoneNumber = message.originatingAddress ?: "" - text = message.messageBody - date = message.timestampMillis - received = true - } - - constructor(phoneNumber: String, text: String) { - this.phoneNumber = phoneNumber - this.text = text - date = System.currentTimeMillis() - sent = true - } - - constructor(other: Sms, number: String? = null) { - phoneNumber = number ?: other.phoneNumber - text = other.text - date = other.date - received = other.received - sent = other.sent - processed = other.processed - ignored = other.ignored - } - - override fun toString(): String { - return "SMS from $phoneNumber: $text" - } -} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index 201afcfe08..ea01e8ee27 100644 --- a/core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData @@ -11,7 +11,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData @Suppress("unused") abstract class CoreDataClassesModule { - @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResult + @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultImpl @ContributesAndroidInjector abstract fun apsResultInjector(): APSResult @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensData diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt index b51883a639..a7b12a061f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt @@ -54,8 +54,8 @@ fun buildDeviceStatus( val requested = JSONObject() if (lastRun.tbrSetByPump?.enacted == true) { // enacted enacted = lastRun.request?.json()?.also { - it.put("rate", lastRun.tbrSetByPump!!.json(profile)["rate"]) - it.put("duration", lastRun.tbrSetByPump!!.json(profile)["duration"]) + it.put("rate", lastRun.tbrSetByPump!!.json(profile.getBasal())["rate"]) + it.put("duration", lastRun.tbrSetByPump!!.json(profile.getBasal())["duration"]) it.put("received", true) } requested.put("duration", lastRun.request?.duration) diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt index be3bfa1b87..4cab15b1b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.PumpEnactResult interface Diaconn { + fun loadHistory(): PumpEnactResult // for history browser fun setUserOptions(): PumpEnactResult // pump etc settings } \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt index 9c40035e1b..01e1ff25fa 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms interface SmsCommunicator { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt index d7595d7417..33005f9191 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.events import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.rx.events.Event class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val id: Long?) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt b/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt index 813ed79513..9c9a5fa71e 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.queue import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl abstract class Callback : Runnable { diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index f4e827041f..e6473d2351 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.queue.Callback @@ -48,7 +48,7 @@ abstract class Command( abstract fun log(): String fun cancel() { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = false result.comment = rh.gs(R.string.connectiontimedout) aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") diff --git a/core/src/test/java/info/nightscout/androidaps/TestBase.kt b/core/src/test/java/info/nightscout/androidaps/TestBase.kt index 77f5cd6515..ff9c66abeb 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.TestAapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..4e805f67a5 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index 0165075af4..ef5ade70b7 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -13,9 +13,9 @@ import org.skyscreamer.jsonassert.JSONAssert class PumpEnactResultTest : TestBaseWithProfile() { - val injector = HasAndroidInjector { + private val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } @@ -36,154 +36,167 @@ class PumpEnactResultTest : TestBaseWithProfile() { } @Test fun successTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.success(true) Assert.assertEquals(true, per.success) } @Test fun enactedTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.enacted(true) Assert.assertEquals(true, per.enacted) } @Test fun commentTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.comment("SomeComment") Assert.assertEquals("SomeComment", per.comment) } @Test fun durationTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.duration(10) Assert.assertEquals(10, per.duration.toLong()) } @Test fun absoluteTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.absolute(11.0) Assert.assertEquals(11.0, per.absolute, 0.01) } @Test fun percentTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.percent(10) Assert.assertEquals(10, per.percent) } @Test fun isPercentTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.isPercent(true) Assert.assertEquals(true, per.isPercent) } @Test fun isTempCancelTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.isTempCancel(true) Assert.assertEquals(true, per.isTempCancel) } @Test fun bolusDeliveredTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.bolusDelivered(11.0) Assert.assertEquals(11.0, per.bolusDelivered, 0.01) } @Test fun carbsDeliveredTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.carbsDelivered(11.0) Assert.assertEquals(11.0, per.carbsDelivered, 0.01) } @Test fun queuedTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) per.queued(true) Assert.assertEquals(true, per.queued) } @Test fun logTest() { - val per = PumpEnactResult(injector) + val per = PumpEnactResultImpl(injector) - Assert.assertEquals("Success: false Enacted: false Comment: Duration: -1 Absolute: -1.0 Percent: -1 IsPercent: false IsTempCancel: false bolusDelivered: 0.0 carbsDelivered: 0.0 Queued: false", per.log()) + Assert.assertEquals( + "Success: false Enacted: false Comment: Duration: -1 Absolute: -1.0 Percent: -1 IsPercent: false IsTempCancel: false bolusDelivered: 0.0 carbsDelivered: 0.0 Queued: false", + per.log() + ) } @Test fun toStringTest() { - var per = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") - Assert.assertEquals(""" + var per = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + Assert.assertEquals( + """ Success: false Enacted: true Comment: AAA Insulin: 10.0 U - """.trimIndent(), per.toString()) - per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") - Assert.assertEquals(""" + """.trimIndent(), per.toString() + ) + per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") + Assert.assertEquals( + """ Success: false Enacted: true Comment: AAA Cancel temp basal - """.trimIndent(), per.toString()) - per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") - Assert.assertEquals(""" + """.trimIndent(), per.toString() + ) + per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + Assert.assertEquals( + """ Success: false Enacted: true Comment: AAA Duration: 20 min Percent: 90% - """.trimIndent(), per.toString()) - per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") - Assert.assertEquals(""" + """.trimIndent(), per.toString() + ) + per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + Assert.assertEquals( + """ Success: false Enacted: true Comment: AAA Duration: 30 min Absolute: 1.0 U/h - """.trimIndent(), per.toString()) - per = PumpEnactResult(injector).enacted(false).comment("AAA") - Assert.assertEquals(""" + """.trimIndent(), per.toString() + ) + per = PumpEnactResultImpl(injector).enacted(false).comment("AAA") + Assert.assertEquals( + """ Success: false Comment: AAA - """.trimIndent(), per.toString()) + """.trimIndent(), per.toString() + ) } @Test fun toHtmlTest() { - var per: PumpEnactResult = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per: PumpEnactResult = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
SMB: 10.0 U", per.toHtml()) - per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Cancel temp basal", per.toHtml()) - per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 20 min
Percent: 90%", per.toHtml()) - per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 30 min
Absolute: 1.00 U/h", per.toHtml()) - per = PumpEnactResult(injector).enacted(false).comment("AAA") + per = PumpEnactResultImpl(injector).enacted(false).comment("AAA") Assert.assertEquals("Success: false
Comment: AAA", per.toHtml()) } @Test fun jsonTest() { var o: JSONObject? - var per: PumpEnactResult = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") - o = per.json(validProfile) + var per: PumpEnactResult = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"smb\":10}", o, false) - per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") - o = per.json(validProfile) + per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") + o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0,\"duration\":0}", o, false) - per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") - o = per.json(validProfile) + per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0.9,\"duration\":20}", o, false) - per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") - o = per.json(validProfile) + per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":1,\"duration\":30}", o, false) } } \ No newline at end of file diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt index 1854b16c09..ad8715b1a1 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt @@ -6,6 +6,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.data.maintenance.PrefFormatError import info.nightscout.interfaces.data.maintenance.PrefMetadata import info.nightscout.interfaces.data.maintenance.Prefs +import info.nightscout.interfaces.data.maintenance.PrefsFormat import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.shared.sharedPreferences.SP @@ -23,7 +24,6 @@ import java.io.File class EncryptedPrefsFormatTest : TestBase() { @Mock lateinit var rh: ResourceHelper - @Mock lateinit var sp: SP @Mock lateinit var file: MockedFile private var cryptoUtil: CryptoUtil = CryptoUtil(aapsLogger) @@ -68,7 +68,7 @@ class EncryptedPrefsFormatTest : TestBase() { Assert.assertEquals(prefs.values["keyB"], "2") Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.status, PrefsStatus.OK) - Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, EncryptedPrefsFormat.FORMAT_KEY_ENC) + Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, PrefsFormat.FORMAT_KEY_ENC) Assert.assertEquals(prefs.metadata[PrefsMetadataKey.ENCRYPTION]?.status, PrefsStatus.OK) } @@ -82,7 +82,7 @@ class EncryptedPrefsFormatTest : TestBase() { "keyB" to "2" ), mapOf( - PrefsMetadataKey.ENCRYPTION to PrefMetadata(EncryptedPrefsFormat.FORMAT_KEY_ENC, PrefsStatus.OK) + PrefsMetadataKey.ENCRYPTION to PrefMetadata(PrefsFormat.FORMAT_KEY_ENC, PrefsStatus.OK) ) ) encryptedFormat.savePreferences(getMockedFile(), prefs, "sikret") @@ -99,7 +99,7 @@ class EncryptedPrefsFormatTest : TestBase() { "testpref2" to "another" ), mapOf( - PrefsMetadataKey.ENCRYPTION to PrefMetadata(EncryptedPrefsFormat.FORMAT_KEY_ENC, PrefsStatus.OK) + PrefsMetadataKey.ENCRYPTION to PrefMetadata(PrefsFormat.FORMAT_KEY_ENC, PrefsStatus.OK) ) ) encryptedFormat.savePreferences(getMockedFile(), prefsIn, "tajemnica") @@ -112,7 +112,7 @@ class EncryptedPrefsFormatTest : TestBase() { Assert.assertEquals(prefsOut.values["testpref2"], "another") Assert.assertEquals(prefsOut.metadata[PrefsMetadataKey.FILE_FORMAT]?.status, PrefsStatus.OK) - Assert.assertEquals(prefsOut.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, EncryptedPrefsFormat.FORMAT_KEY_ENC) + Assert.assertEquals(prefsOut.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, PrefsFormat.FORMAT_KEY_ENC) Assert.assertEquals(prefsOut.metadata[PrefsMetadataKey.ENCRYPTION]?.status, PrefsStatus.OK) } @@ -137,7 +137,7 @@ class EncryptedPrefsFormatTest : TestBase() { Assert.assertEquals(prefs.values.size, 0) Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.status, PrefsStatus.OK) - Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, EncryptedPrefsFormat.FORMAT_KEY_ENC) + Assert.assertEquals(prefs.metadata[PrefsMetadataKey.FILE_FORMAT]?.value, PrefsFormat.FORMAT_KEY_ENC) Assert.assertEquals(prefs.metadata[PrefsMetadataKey.ENCRYPTION]?.status, PrefsStatus.ERROR) } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 6b34c90802..743ba26834 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -10,6 +10,7 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch @@ -20,9 +21,7 @@ import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile @@ -58,6 +57,8 @@ import info.nightscout.implementation.queue.commands.CommandStartPump import info.nightscout.implementation.queue.commands.CommandStopPump import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.implementation.queue.commands.CommandTempBasalPercent +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear @@ -145,7 +146,7 @@ class CommandQueueImplementation @Inject constructor( } private fun executingNowError(): PumpEnactResult = - PumpEnactResult(injector).success(false).enacted(false).comment(R.string.executing_right_now) + PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.executing_right_now) override fun isRunning(type: CommandType): Boolean = performing?.commandType == type @@ -268,12 +269,12 @@ class CommandQueueImplementation @Inject constructor( .subscribeBy( onSuccess = { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted carbs $it") } - callback?.result(PumpEnactResult(injector).enacted(false).success(true))?.run() + callback?.result(PumpEnactResultImpl(injector).enacted(false).success(true))?.run() }, onError = { aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) - callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() } ) } @@ -290,13 +291,13 @@ class CommandQueueImplementation @Inject constructor( if (type == CommandType.SMB_BOLUS) { if (bolusInQueue()) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting SMB since a bolus is queue/running") - callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() return false } val lastBolusTime = repository.getLastBolusRecord()?.timestamp ?: 0L if (detailedBolusInfo.lastKnownBolusTime < lastBolusTime) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting bolus, another bolus was issued since request time") - callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() return false } removeAll(CommandType.SMB_BOLUS) @@ -349,7 +350,7 @@ class CommandQueueImplementation @Inject constructor( @Synchronized override fun cancelAllBoluses(id: Long?) { if (!isRunning(CommandType.BOLUS)) { - rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResult(injector).success(true).enacted(false), id)) + rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResultImpl(injector).success(true).enacted(false), id)) } removeAll(CommandType.BOLUS) removeAll(CommandType.SMB_BOLUS) @@ -433,12 +434,12 @@ class CommandQueueImplementation @Inject constructor( override fun setProfile(profile: Profile, hasNsId: Boolean, callback: Callback?): Boolean { if (isRunning(CommandType.BASAL_PROFILE)) { aapsLogger.debug(LTag.PUMPQUEUE, "Command is already executed") - callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() return false } if (isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set") - callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() return false } // Compare with pump limits @@ -447,7 +448,7 @@ class CommandQueueImplementation @Inject constructor( if (basalValue.value < activePlugin.activePump.pumpDescription.basalMinimumRate) { val notification = Notification(Notification.BASAL_VALUE_BELOW_MINIMUM, rh.gs(R.string.basal_value_below_minimum), Notification.URGENT) rxBus.send(EventNewNotification(notification)) - callback?.result(PumpEnactResult(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() + callback?.result(PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() return false } } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 8fac167862..63fe3261a0 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.queue.Callback @@ -26,7 +26,7 @@ class CommandReadStatus( localAlertUtils.notifyPumpStatusRead() aapsLogger.debug(LTag.PUMPQUEUE, "CommandReadStatus executed. Reason: $reason") val pump = activePlugin.activePump - val result = PumpEnactResult(injector).success(false) + val result = PumpEnactResultImpl(injector).success(false) val lastConnection = pump.lastDataTime() if (lastConnection > System.currentTimeMillis() - T.mins(1).msecs()) result.success(true) callback?.result(result)?.run() diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 058cd5db98..22c3b019fb 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -3,6 +3,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command @@ -28,11 +29,11 @@ class CommandSMBBolus( aapsLogger.debug(LTag.PUMPQUEUE, "Last bolus: $lastBolusTime ${dateUtil.dateAndTimeAndSecondsString(lastBolusTime)}") if (lastBolusTime != 0L && lastBolusTime + T.mins(3).msecs() > dateUtil.now()) { aapsLogger.debug(LTag.PUMPQUEUE, "SMB requested but still in 3 min interval") - r = PumpEnactResult(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") + r = PumpEnactResultImpl(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") } else if (detailedBolusInfo.deliverAtTheLatest != 0L && detailedBolusInfo.deliverAtTheLatest + T.mins(1).msecs() > System.currentTimeMillis()) { r = activePlugin.activePump.deliverTreatment(detailedBolusInfo) } else { - r = PumpEnactResult(injector).enacted(false).success(false).comment("SMB request too old") + r = PumpEnactResultImpl(injector).enacted(false).success(false).comment("SMB request too old") aapsLogger.debug(LTag.PUMPQUEUE, "SMB bolus canceled. deliverAt: " + dateUtil.dateAndTimeString(detailedBolusInfo.deliverAtTheLatest)) } aapsLogger.debug(LTag.PUMPQUEUE, "Result success: ${r.success} enacted: ${r.enacted}") diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 3837d3d0bd..435cad15b4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -33,7 +33,7 @@ class CommandSetProfile constructor( override fun execute() { if (commandQueue.isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set. profile: $profile") - callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() return } val r = activePlugin.activePump.setNewBasalProfile(profile) diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt index b4c68bf8b5..03d778b101 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..4e805f67a5 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index ec505371f9..0580cb7a57 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -7,15 +7,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction @@ -32,6 +30,8 @@ import info.nightscout.implementation.queue.commands.CommandCustomCommand import info.nightscout.implementation.queue.commands.CommandExtendedBolus import info.nightscout.implementation.queue.commands.CommandLoadHistory import info.nightscout.implementation.queue.commands.CommandTempBasalPercent +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -105,7 +105,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { if (it is CommandLoadHistory) { it.activePlugin = activePlugin } - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 198f3d6652..7bde88edb1 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -31,33 +31,27 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.interfaces.Insight; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.rx.events.EventInitializationChanged; -import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.insight.database.InsightBolusID; import info.nightscout.androidaps.insight.database.InsightDbHelper; import info.nightscout.androidaps.insight.database.InsightHistoryOffset; import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; -import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Config; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; +import info.nightscout.androidaps.interfaces.Insight; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; +import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; -import info.nightscout.rx.logging.AAPSLogger; -import info.nightscout.rx.logging.LTag -; -import info.nightscout.rx.bus.RxBus; +import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.common.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -132,7 +126,13 @@ import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator import info.nightscout.androidaps.plugins.pump.insight.utils.ParameterBlockUtil; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.T; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.interfaces.Config; +import info.nightscout.interfaces.PluginType; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; @Singleton @@ -235,7 +235,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, pumpDescription = new PumpDescription(); pumpDescription.fillFor(PumpType.ACCU_CHEK_INSIGHT); - lastBolusTimestamp = sp.getLong(R.string.key_insight_last_bolus_timestamp,0L); + lastBolusTimestamp = sp.getLong(R.string.key_insight_last_bolus_timestamp, 0L); lastBolusAmount = sp.getDouble(R.string.key_insight_last_bolus_amount, 0.0); } @@ -475,7 +475,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setNewBasalProfile(Profile profile) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); List profileBlocks = new ArrayList<>(); for (int i = 0; i < profile.getBasalValues().length; i++) { @@ -575,7 +575,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, if (detailedBolusInfo.insulin == 0 || detailedBolusInfo.carbs > 0) { throw new IllegalArgumentException(detailedBolusInfo.toString(), new Exception()); } - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); double insulin = Math.round(detailedBolusInfo.insulin / 0.01) * 0.01; if (insulin > 0) { try { @@ -599,7 +599,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, int trials = 0; long now = dateUtil.now(); String serial = serialNumber(); - insightDbHelper.createOrUpdate( new InsightBolusID( + insightDbHelper.createOrUpdate(new InsightBolusID( now, serial, bolusID, @@ -691,7 +691,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (activeBasalRate == null) return result; if (activeBasalRate.getActiveBasalRate() == 0) return result; double percent = 100D / activeBasalRate.getActiveBasalRate() * absoluteRate; @@ -741,7 +741,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); percent = (int) Math.round(((double) percent) / 10d) * 10; if (percent == 100) return cancelTempBasal(true); else if (percent > 250) percent = 250; @@ -797,7 +797,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setExtendedBolusOnly(Double insulin, Integer durationInMinutes, boolean disableVibration) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); try { DeliverBolusMessage bolusMessage = new DeliverBolusMessage(); bolusMessage.setBolusType(BolusType.EXTENDED); @@ -829,7 +829,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult cancelTempBasal(boolean enforceNew) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); PumpEnactResult cancelEBResult = null; if (isFakingTempsByExtendedBoluses()) cancelEBResult = cancelExtendedBolusOnly(); PumpEnactResult cancelTBRResult = cancelTempBasalOnly(); @@ -850,7 +850,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelTempBasalOnly() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); try { alertService.ignore(AlertType.WARNING_36); connectionService.requestMessage(new CancelTBRMessage()).await(); @@ -893,7 +893,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelExtendedBolusOnly() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); try { for (ActiveBolus activeBolus : activeBoluses) { if (activeBolus.getBolusType() == BolusType.EXTENDED || activeBolus.getBolusType() == BolusType.MULTIWAVE) { @@ -1012,7 +1012,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult stopPump() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STOPPED); @@ -1034,7 +1034,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult startPump() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STARTED); @@ -1056,7 +1056,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setTBROverNotification(boolean enabled) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); boolean valueBefore = tbrOverNotificationBlock.isEnabled(); tbrOverNotificationBlock.setEnabled(enabled); try { @@ -1119,7 +1119,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult loadTDDs() { - return new PumpEnactResult(getInjector()).success(true); + return new PumpEnactResultImpl(getInjector()).success(true); } private void readHistory() { @@ -1213,12 +1213,12 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, for (TemporaryBasal temporaryBasal : temporaryBasals) { if (temporaryBasal.getDuration() == 0L) { // for Stop TBR event duration = 0L pumpSync.syncStopTemporaryBasalWithPumpId( - temporaryBasal.getTimestamp(), - temporaryBasal.getPumpId(), - PumpType.ACCU_CHEK_INSIGHT, - serial); + temporaryBasal.getTimestamp(), + temporaryBasal.getPumpId(), + PumpType.ACCU_CHEK_INSIGHT, + serial); } - if (temporaryBasal.getRate() != 100.0){ + if (temporaryBasal.getRate() != 100.0) { pumpSync.syncTemporaryBasalWithPumpId( temporaryBasal.getTimestamp(), temporaryBasal.getRate(), @@ -1240,7 +1240,8 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, processCannulaFilledEvent(serial, (CannulaFilledEvent) event); else if (event instanceof TotalDailyDoseEvent) processTotalDailyDoseEvent(serial, (TotalDailyDoseEvent) event); - else if (event instanceof TubeFilledEvent) processTubeFilledEvent(serial, (TubeFilledEvent) event); + else if (event instanceof TubeFilledEvent) + processTubeFilledEvent(serial, (TubeFilledEvent) event); else if (event instanceof SniffingDoneEvent) processSniffingDoneEvent(serial, (SniffingDoneEvent) event); else if (event instanceof PowerUpEvent) processPowerUpEvent(serial, (PowerUpEvent) event); @@ -1447,20 +1448,20 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, PumpType.ACCU_CHEK_INSIGHT, serial); lastBolusTimestamp = bolusID.getTimestamp(); - sp.putLong(R.string.key_insight_last_bolus_timestamp,lastBolusTimestamp); + sp.putLong(R.string.key_insight_last_bolus_timestamp, lastBolusTimestamp); lastBolusAmount = event.getImmediateAmount(); sp.putDouble(R.string.key_insight_last_bolus_amount, lastBolusAmount); } if (event.getBolusType() == BolusType.EXTENDED || event.getBolusType() == BolusType.MULTIWAVE) { if (event.getDuration() > 0 && profileFunction.getProfile(bolusID.getTimestamp()) != null) - pumpSync.syncExtendedBolusWithPumpId( - bolusID.getTimestamp(), - event.getExtendedAmount(), - timestamp - startTimestamp, - isFakingTempsByExtendedBoluses(), - bolusID.getId(), - PumpType.ACCU_CHEK_INSIGHT, - serial); + pumpSync.syncExtendedBolusWithPumpId( + bolusID.getTimestamp(), + event.getExtendedAmount(), + timestamp - startTimestamp, + isFakingTempsByExtendedBoluses(), + bolusID.getId(), + PumpType.ACCU_CHEK_INSIGHT, + serial); } } diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt new file mode 100644 index 0000000000..bee9dd4ddc --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt @@ -0,0 +1,42 @@ +package info.nightscout.interfaces.data.smsCommunicator + +import android.telephony.SmsMessage + +class Sms { + + var phoneNumber: String + var text: String + var date: Long + var received = false + var sent = false + var processed = false + var ignored = false + + constructor(message: SmsMessage) { + phoneNumber = message.originatingAddress ?: "" + text = message.messageBody + date = message.timestampMillis + received = true + } + + constructor(phoneNumber: String, text: String) { + this.phoneNumber = phoneNumber + this.text = text + date = System.currentTimeMillis() + sent = true + } + + constructor(other: Sms, number: String? = null) { + phoneNumber = number ?: other.phoneNumber + text = other.text + date = other.date + received = other.received + sent = other.sent + processed = other.processed + ignored = other.ignored + } + + override fun toString(): String { + return "SMS from $phoneNumber: $text" + } +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index a4d19cdb93..d9156f5c73 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.general.smsCommunicator import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index 3e9107994f..a450640252 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -5,7 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.SmsCommunicator import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 71bb58b5b6..3b4592472c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -14,7 +14,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TemporaryTarget diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt index b4c68bf8b5..03d778b101 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..4e805f67a5 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt index 2e00b52e3b..9cdd492258 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.SmsCommunicator import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index d6d3636e9c..753af7f2c0 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -4,23 +4,26 @@ import android.telephony.SmsManager import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants -import info.nightscout.plugins.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.data.Sms +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.interfaces.* -import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword -import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.ProfileSource +import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -28,8 +31,11 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.plugins.R +import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword +import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Single import org.junit.Assert @@ -40,8 +46,8 @@ import org.mockito.ArgumentMatchers.anyString import org.mockito.ArgumentMatchers.eq import org.mockito.Mock import org.mockito.Mockito -import org.mockito.Mockito.`when` import org.mockito.Mockito.anyLong +import org.mockito.Mockito.`when` import org.mockito.invocation.InvocationOnMock @Suppress("SpellCheckingInspection") @@ -64,7 +70,7 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { var injector: HasAndroidInjector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } if (it is AuthRequest) { @@ -98,50 +104,54 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { })) val glucoseStatusProvider = GlucoseStatusProvider(aapsLogger = aapsLogger, iobCobCalculator = iobCobCalculator, dateUtil = dateUtilMocked) - smsCommunicatorPlugin = SmsCommunicatorPlugin(injector, aapsLogger, rh, smsManager, aapsSchedulers, sp, constraintChecker, rxBus, profileFunction, fabricPrivacy, activePlugin, commandQueue, - loop, iobCobCalculator, xDripBroadcast, - otp, config, dateUtilMocked, uel, - glucoseStatusProvider, repository) + smsCommunicatorPlugin = SmsCommunicatorPlugin( + injector, aapsLogger, rh, smsManager, aapsSchedulers, sp, constraintChecker, rxBus, profileFunction, fabricPrivacy, activePlugin, commandQueue, + loop, iobCobCalculator, xDripBroadcast, + otp, config, dateUtilMocked, uel, + glucoseStatusProvider, repository + ) smsCommunicatorPlugin.setPluginEnabled(PluginType.GENERAL, true) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResult(injector).success(true) + callback.result = PumpEnactResultImpl(injector).success(true) callback.run() null }.`when`(commandQueue).cancelTempBasal(ArgumentMatchers.anyBoolean(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(0) - callback.result = PumpEnactResult(injector).success(true) + callback.result = PumpEnactResultImpl(injector).success(true) callback.run() null }.`when`(commandQueue).cancelExtended(ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResult(injector).success(true) + callback.result = PumpEnactResultImpl(injector).success(true) callback.run() null }.`when`(commandQueue).readStatus(ArgumentMatchers.anyString(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResult(injector).success(true).bolusDelivered(1.0) + callback.result = PumpEnactResultImpl(injector).success(true).bolusDelivered(1.0) callback.run() null }.`when`(commandQueue).bolus(anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResult(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultImpl(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null - }.`when`(commandQueue).tempBasalPercent(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) + }.`when`(commandQueue) + .tempBasalPercent(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResult(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultImpl(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null - }.`when`(commandQueue).tempBasalAbsolute(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) + }.`when`(commandQueue) + .tempBasalAbsolute(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(2) - callback.result = PumpEnactResult(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultImpl(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue).extendedBolus(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.any(Callback::class.java)) @@ -180,8 +190,10 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { `when`(rh.gs(R.string.loopisdisabled)).thenReturn("Loop is disabled") `when`(rh.gs(R.string.smscommunicator_loopisenabled)).thenReturn("Loop is enabled") `when`(rh.gs(R.string.wrong_format)).thenReturn("Wrong format") - `when`(rh.gs(eq(R.string.sms_wrong_tbr_duration), ArgumentMatchers.any())).thenAnswer { i: InvocationOnMock -> "TBR duration must be a multiple of " + i.arguments[1] + " minutes and greater than " + - "0." } + `when`(rh.gs(eq(R.string.sms_wrong_tbr_duration), ArgumentMatchers.any())).thenAnswer { i: InvocationOnMock -> + "TBR duration must be a multiple of " + i.arguments[1] + " minutes and greater than " + + "0." + } `when`(rh.gs(R.string.smscommunicator_loophasbeendisabled)).thenReturn("Loop has been disabled") `when`(rh.gs(R.string.smscommunicator_loophasbeenenabled)).thenReturn("Loop has been enabled") `when`(rh.gs(R.string.smscommunicator_tempbasalcanceled)).thenReturn("Temp basal canceled") diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt index 21b30b1c79..6b4a9cb796 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.general.smsCommunicator import android.telephony.SmsMessage import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.Sms +import info.nightscout.interfaces.data.smsCommunicator.Sms import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 90a59a0476..808ba3c3cf 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -24,12 +24,12 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; @@ -59,6 +59,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.InstanceId; import info.nightscout.androidaps.utils.T; +import info.nightscout.interfaces.PluginType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventRefreshOverview; @@ -180,7 +181,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @Override protected void onStart() { super.onStart(); - OPERATION_NOT_SUPPORTED = new PumpEnactResult(getInjector()) + OPERATION_NOT_SUPPORTED = new PumpEnactResultImpl(getInjector()) .success(false).enacted(false).comment(R.string.combo_pump_unsupported_operation); } @@ -267,7 +268,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().error("setNewBasalProfile not initialized"); Notification notification = new Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, getRh().gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); } BasalProfile requestedBasalProfile = convertProfileToComboProfile(profile); @@ -275,12 +276,12 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //dismiss previously "FAILED" overview notifications rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); rxBus.send(new EventDismissNotification(Notification.FAILED_UPDATE_PROFILE)); - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } CommandResult stateResult = runCommand(null, 1, ruffyScripter::readPumpState); if (stateResult.state.unsafeUsageDetected == PumpState.UNSUPPORTED_BASAL_RATE_PROFILE) { - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); } CommandResult setResult = runCommand(getRh().gs(R.string.combo_activity_setting_basal_profile), 2, @@ -288,7 +289,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (!setResult.success) { Notification notification = new Notification(Notification.FAILED_UPDATE_PROFILE, getRh().gs(R.string.failedupdatebasalprofile), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); } pump.basalProfile = requestedBasalProfile; @@ -299,7 +300,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //issue success notification Notification notification = new Notification(Notification.PROFILE_SET_OK, getRh().gs(R.string.profile_set_ok), Notification.INFO, 60); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResult(getInjector()).success(true).enacted(true); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(true); } @Override @@ -512,16 +513,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // check pump is ready and all pump bolus records are known CommandResult stateResult = runCommand(null, 2, () -> ruffyScripter.readQuickInfo(1)); if (!stateResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } if (stateResult.reservoirLevel != -1 && stateResult.reservoirLevel - 0.5 < detailedBolusInfo.insulin) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_reservoir_level_insufficient_for_bolus); } // the commands above ensured a connection was made, which updated this field if (pumpHistoryChanged) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_bolus_rejected_due_to_pump_history_change); } @@ -534,7 +535,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (Math.abs(previousBolus.amount - detailedBolusInfo.insulin) < 0.01 && previousBolus.timestamp + 60 * 1000 > System.currentTimeMillis()) { getAapsLogger().debug(LTag.PUMP, "Bolus request rejected, same bolus was successfully delivered very recently"); - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.bolus_frequency_exceeded); } @@ -547,10 +548,10 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { while (previousBolus.timestamp == timeCheckResult.state.pumpTime && maxWaitTimeout > System.currentTimeMillis()) { if (cancelBolus) { - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } if (!timeCheckResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } getAapsLogger().debug(LTag.PUMP, "Waiting for pump clock to advance for the next unused bolus record timestamp"); @@ -564,7 +565,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } if (cancelBolus) { - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } EventOverviewBolusProgress.Treatment treatment = new EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); @@ -584,7 +585,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // (reads 2 records to update `recentBoluses` further down) CommandResult postBolusStateResult = runCommand(null, 3, () -> ruffyScripter.readQuickInfo(2)); if (!postBolusStateResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_bolus_verification_failed); } Bolus lastPumpBolus = postBolusStateResult.history != null && !postBolusStateResult.history.bolusHistory.isEmpty() @@ -594,9 +595,9 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // no bolus delivered? if (lastPumpBolus == null || lastPumpBolus.equals(previousBolus)) { if (cancelBolus) { - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } else { - return new PumpEnactResult(getInjector()) + return new PumpEnactResultImpl(getInjector()) .success(false) .enacted(false) .comment(R.string.combo_error_no_bolus_delivered); @@ -605,7 +606,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // at least some insulin delivered, so add it to treatments if (!addBolusToTreatments(detailedBolusInfo, lastPumpBolus)) - return new PumpEnactResult(getInjector()).success(false).enacted(true) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(true) .comment(R.string.combo_error_updating_treatment_record); // check pump bolus record has a sane timestamp @@ -622,16 +623,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // only a partial bolus was delivered if (Math.abs(lastPumpBolus.amount - detailedBolusInfo.insulin) > 0.01) { if (cancelBolus) { - return new PumpEnactResult(getInjector()).success(true).enacted(true); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(true); } - return new PumpEnactResult(getInjector()).success(false).enacted(true) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(true) .comment(getRh().gs(R.string.combo_error_partial_bolus_delivered, lastPumpBolus.amount, detailedBolusInfo.insulin)); } // full bolus was delivered successfully incrementBolusCount(); - return new PumpEnactResult(getInjector()) + return new PumpEnactResultImpl(getInjector()) .success(true) .enacted(lastPumpBolus.amount > 0) .bolusDelivered(lastPumpBolus.amount) @@ -732,7 +733,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().debug(LTag.PUMP, "setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); if (pumpHistoryChanged && percent > 110) { - return new PumpEnactResult(getInjector()).success(false).enacted(false) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) .comment(R.string.combo_high_temp_rejected_due_to_pump_history_changes); } @@ -758,7 +759,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { CommandResult commandResult = runCommand(getRh().gs(R.string.combo_pump_action_setting_tbr, percent, durationInMinutes), 3, () -> ruffyScripter.setTbr(finalAdjustedPercent, durationInMinutes)); if (!commandResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); } PumpState state = commandResult.state; @@ -784,7 +785,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } incrementTbrCount(); - return new PumpEnactResult(getInjector()).success(true).enacted(true).isPercent(true) + return new PumpEnactResultImpl(getInjector()).success(true).enacted(true).isPercent(true) .percent(state.tbrPercent).duration(state.tbrRemainingDuration); } @@ -808,15 +809,15 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (enforceNew) { CommandResult stateResult = runCommand(getRh().gs(R.string.combo_pump_action_refreshing), 2, ruffyScripter::readPumpState); if (!stateResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); } if (!stateResult.state.tbrActive) { - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: hard-cancelling TBR since force requested"); CommandResult cancelResult = runCommand(getRh().gs(R.string.combo_pump_action_cancelling_tbr), 2, ruffyScripter::cancelTbr); if (!cancelResult.success) { - return new PumpEnactResult(getInjector()).success(false).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); } if (!cancelResult.state.tbrActive) { pumpSync.syncStopTemporaryBasalWithPumpId( @@ -826,19 +827,19 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { PumpType.ACCU_CHEK_COMBO, serialNumber() ); - return new PumpEnactResult(getInjector()).isTempCancel(true).success(true).enacted(true); + return new PumpEnactResultImpl(getInjector()).isTempCancel(true).success(true).enacted(true); } else { - return new PumpEnactResult(getInjector()).success(false).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); } } else if (activeTemp == null) { - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } else if ((activeTemp.getRate() >= 90 && activeTemp.getRate() <= 110) && PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) <= 15) { // Let fake neutral temp keep run (see below) // Note that since this runs on the queue a connection is opened regardless, but this // case doesn't occur all that often, so it's not worth optimizing (1.3k SetTBR vs 4 cancelTBR). getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); - return new PumpEnactResult(getInjector()).success(true).enacted(true) + return new PumpEnactResultImpl(getInjector()).success(true).enacted(true) .comment("cancelTempBasal skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); @@ -1364,7 +1365,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @NonNull @Override public PumpEnactResult loadTDDs() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(readHistory(new PumpHistoryRequest().tddHistory(PumpHistoryRequest.FULL))); if (result.getSuccess()) { List tdds = pump.tddHistory; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index fd18ca6428..5e23612321 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -5,8 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R -import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.androidaps.utils.DateUtil @@ -33,7 +38,7 @@ class ComboPluginTest : TestBase() { val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResult) { + if (it is PumpEnactResultImpl) { it.rh = rh } } diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt index e4d3c51234..aa1fefaeda 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale @Suppress("SpellCheckingInspection") open class TestBase { diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt index b4c68bf8b5..03d778b101 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index dd450c2f03..8d7826b25f 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -12,12 +12,12 @@ import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType @@ -27,6 +27,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -69,14 +70,14 @@ class DanaRKoreanPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ - if (isEnabled(PluginType.PUMP)) { - val previousValue = useExtendedBoluses - useExtendedBoluses = sp.getBoolean(R.string.key_danar_useextended, false) - if (useExtendedBoluses != previousValue && pumpSync.expectedPumpState().extendedBolus != null) { - sExecutionService.extendedBolusStop() - } - } - }, fabricPrivacy::logException) + if (isEnabled(PluginType.PUMP)) { + val previousValue = useExtendedBoluses + useExtendedBoluses = sp.getBoolean(R.string.key_danar_useextended, false) + if (useExtendedBoluses != previousValue && pumpSync.expectedPumpState().extendedBolus != null) { + sExecutionService.extendedBolusStop() + } + } + }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventAppExit::class.java) .observeOn(aapsSchedulers.io) @@ -130,9 +131,11 @@ class DanaRKoreanPlugin @Inject constructor( val t = EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.bolusType == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.id) var connectionOK = false if (detailedBolusInfo.insulin > 0) - connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.carbsTimestamp - ?: detailedBolusInfo.timestamp, t) - val result = PumpEnactResult(injector) + connectionOK = sExecutionService.bolus( + detailedBolusInfo.insulin, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.carbsTimestamp + ?: detailedBolusInfo.timestamp, t + ) + val result = PumpEnactResultImpl(injector) result.success(connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep) .bolusDelivered(t.insulin) if (!result.success) result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.insulin, danaPump.bolusStartErrorCode)) else result.comment(R.string.ok) @@ -149,7 +152,7 @@ class DanaRKoreanPlugin @Inject constructor( ) result } else { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success(false).bolusDelivered(0.0).carbsDelivered(0.0).comment(R.string.invalidinput) aapsLogger.error("deliverTreatment: Invalid input") result @@ -160,7 +163,6 @@ class DanaRKoreanPlugin @Inject constructor( override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: TemporaryBasalType): PumpEnactResult { // Recheck pump status if older than 30 min //This should not be needed while using queue because connection should be done before calling this - var result = PumpEnactResult(injector) val absoluteRateAfterConstraint = constraintChecker.applyBasalConstraints(Constraint(absoluteRate), profile).value() var doTempOff = baseBasalRate - absoluteRateAfterConstraint == 0.0 && absoluteRateAfterConstraint >= 0.10 val doLowTemp = absoluteRateAfterConstraint < baseBasalRate || absoluteRateAfterConstraint < 0.10 @@ -189,15 +191,14 @@ class DanaRKoreanPlugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Stopping temp basal (doTempOff)") return cancelRealTempBasal() } - result.success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return result + return PumpEnactResultImpl(injector).success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) } if (doLowTemp || doHighTemp) { // If extended in progress if (danaPump.isExtendedInProgress && useExtendedBoluses) { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Stopping extended bolus (doLowTemp || doHighTemp)") - result = cancelExtendedBolus() + val result = cancelExtendedBolus() if (!result.success) { aapsLogger.error("setTempBasalAbsolute: Failed to stop previous extended bolus (doLowTemp || doHighTemp)") return result @@ -211,9 +212,8 @@ class DanaRKoreanPlugin @Inject constructor( if (enforceNew) { cancelTempBasal(true) } else { - result.success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return result + return PumpEnactResultImpl(injector).success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) } } } @@ -225,7 +225,7 @@ class DanaRKoreanPlugin @Inject constructor( // Check if some temp is already in progress if (danaPump.isTempBasalInProgress) { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Stopping temp basal (doExtendedTemp)") - result = cancelRealTempBasal() + val result = cancelRealTempBasal() // Check for proper result if (!result.success) { aapsLogger.error("setTempBasalAbsolute: Failed to stop previous temp basal (doExtendedTemp)") @@ -242,21 +242,24 @@ class DanaRKoreanPlugin @Inject constructor( extendedRateToSet = Round.roundTo(extendedRateToSet, pumpDescription.extendedBolusStep * 2) // *2 because of half hours // What is current rate of extended bolusing in u/h? - aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Extended bolus in progress: " + danaPump.isExtendedInProgress + " rate: " + danaPump.extendedBolusAbsoluteRate + "U/h duration remaining: " + danaPump.extendedBolusRemainingMinutes + "min") + aapsLogger.debug( + LTag.PUMP, + "setTempBasalAbsolute: Extended bolus in progress: " + danaPump.isExtendedInProgress + " rate: " + danaPump.extendedBolusAbsoluteRate + "U/h duration remaining: " + danaPump.extendedBolusRemainingMinutes + "min" + ) aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Rate to set: " + extendedRateToSet + "U/h") // Compare with extended rate in progress if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAbsoluteRate - extendedRateToSet) < pumpDescription.extendedBolusStep) { // correct extended already set - result.success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false).isTempCancel(false) aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct extended already set") - return result + return PumpEnactResultImpl(injector).success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false) + .isTempCancel(false) } // Now set new extended, no need to to stop previous (if running) because it's replaced val extendedAmount = extendedRateToSet / 2 * durationInHalfHours aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Setting extended: " + extendedAmount + "U half hours: " + durationInHalfHours) - result = setExtendedBolus(extendedAmount, durationInMinutes) + val result = setExtendedBolus(extendedAmount, durationInMinutes) if (!result.success) { aapsLogger.error("setTempBasalAbsolute: Failed to set extended bolus") return result @@ -267,8 +270,7 @@ class DanaRKoreanPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - result.success(false).comment("Internal error") - return result + return PumpEnactResultImpl(injector).success(false).comment("Internal error") } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { @@ -276,7 +278,7 @@ class DanaRKoreanPlugin @Inject constructor( if (danaPump.isExtendedInProgress && useExtendedBoluses) { return cancelExtendedBolus() } - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true) return result } @@ -284,7 +286,7 @@ class DanaRKoreanPlugin @Inject constructor( override fun model(): PumpType = PumpType.DANA_R_KOREAN private fun cancelRealTempBasal(): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (danaPump.isTempBasalInProgress) { sExecutionService.tempBasalStop() if (!danaPump.isTempBasalInProgress) { @@ -303,6 +305,6 @@ class DanaRKoreanPlugin @Inject constructor( return result } - override fun loadEvents(): PumpEnactResult = PumpEnactResult(injector) // no history, not needed - override fun setUserOptions(): PumpEnactResult = PumpEnactResult(injector) + override fun loadEvents(): PumpEnactResult = PumpEnactResultImpl(injector) // no history, not needed + override fun setUserOptions(): PumpEnactResult = PumpEnactResultImpl(injector) } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 6e6ef7c41d..80617e10ce 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -18,6 +18,7 @@ import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; @@ -189,7 +190,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, carbTimeStamp, t); - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -202,7 +203,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { // remove carbs because it's get from history separately return result; } else { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -222,7 +223,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); absoluteRate = constraintChecker.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -289,7 +290,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -323,7 +324,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private PumpEnactResult setHighTempBasalPercent(Integer percent, int durationInMinutes) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); boolean connectionOK = sExecutionService.highTempBasal(percent, durationInMinutes); if (connectionOK && pump.isTempBasalInProgress() && pump.getTempBasalPercent() == percent) { result.enacted(true).success(true).comment(R.string.ok).isTempCancel(false).duration(pump.getTempBasalRemainingMin()).percent(pump.getTempBasalPercent()).isPercent(true); @@ -337,7 +338,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelTempBasal(boolean force) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); result.enacted(true).isTempCancel(true); @@ -356,7 +357,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < pumpDescription.getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -389,7 +390,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); result.enacted(true).success(!danaPump.isExtendedInProgress()).isTempCancel(true); diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 2e22bbd6ab..c61774d723 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -50,6 +50,7 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -429,14 +430,14 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult loadEvents() { if (!danaRv2Plugin.isInitialized()) { - PumpEnactResult result = new PumpEnactResult(injector).success(false); + PumpEnactResult result = new PumpEnactResultImpl(injector).success(false); result.comment("pump not initialized"); return result; } if (!isConnected()) - return new PumpEnactResult(injector).success(false); + return new PumpEnactResultImpl(injector).success(false); SystemClock.sleep(300); MsgHistoryEventsV2 msg = new MsgHistoryEventsV2(injector, danaPump.lastHistoryFetched); aapsLogger.debug(LTag.PUMP, "Loading event history from: " + dateUtil.dateAndTimeString(danaPump.lastHistoryFetched)); @@ -451,7 +452,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { else danaPump.lastHistoryFetched = 0; danaPump.setLastConnection(System.currentTimeMillis()); - return new PumpEnactResult(injector).success(true); + return new PumpEnactResultImpl(injector).success(true); } public boolean updateBasalsInPump(final Profile profile) { @@ -470,12 +471,12 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResult(injector).success(false); + return new PumpEnactResultImpl(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResult(injector).success(!msg.getFailed()); + return new PumpEnactResultImpl(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 5da4a66aa8..b013ca2b04 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -11,6 +11,7 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -19,7 +20,6 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Dana; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; @@ -33,6 +33,7 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventConfigBuilderChange; @@ -135,7 +136,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump // Pump interface @NonNull @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (sExecutionService == null) { getAapsLogger().error("setNewBasalProfile sExecutionService is null"); @@ -215,7 +216,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -268,7 +269,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < getPumpDescription().getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -319,7 +320,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); if (!danaPump.isExtendedInProgress()) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 41d16f8fe7..c357343fe7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -16,12 +16,12 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; @@ -30,6 +30,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; @@ -165,7 +166,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.getCarbsTimestamp() != null ? detailedBolusInfo.getCarbsTimestamp() : detailedBolusInfo.timestamp, t); - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -193,7 +194,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { serialNumber()); return result; } else { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -205,7 +206,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { // Recheck pump status if older than 30 min //This should not be needed while using queue because connection should be done before calling this - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); absoluteRate = constraints.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -327,7 +328,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (danaPump.isExtendedInProgress() && useExtendedBoluses) { return cancelExtendedBolus(); } - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true); return result; } @@ -338,7 +339,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { } private PumpEnactResult cancelRealTempBasal() { - PumpEnactResult result = new PumpEnactResult(getInjector()); + PumpEnactResult result = new PumpEnactResultImpl(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); if (!danaPump.isTempBasalInProgress()) { @@ -360,7 +361,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult loadEvents() { - return new PumpEnactResult(getInjector()); // no history, not needed + return new PumpEnactResultImpl(getInjector()); // no history, not needed } @NonNull @Override diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index dda4b6c543..88a26daa60 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -40,6 +40,7 @@ import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.Profile; @@ -241,7 +242,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } public PumpEnactResult loadHistory(byte type) { - PumpEnactResult result = new PumpEnactResult(injector); + PumpEnactResult result = new PumpEnactResultImpl(injector); if (!isConnected()) return result; MessageBase msg = null; switch (type) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index cde870add4..48be34a631 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -45,6 +45,7 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -396,11 +397,11 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResult(injector).success(false); + return new PumpEnactResultImpl(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResult(injector).success(!msg.getFailed()); + return new PumpEnactResultImpl(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt index e4d3c51234..aa1fefaeda 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale @Suppress("SpellCheckingInspection") open class TestBase { diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..11baf1fd11 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,26 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index d5e6013790..2b6256edc1 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -15,6 +15,7 @@ import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue @@ -22,7 +23,6 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Dana import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -44,6 +44,7 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -124,9 +125,9 @@ class DanaRSPlugin @Inject constructor( .toObservable(EventDanaRSDeviceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ - pumpSync.connectNewPump() - changePump() - }, fabricPrivacy::logException) + pumpSync.connectNewPump() + changePump() + }, fabricPrivacy::logException) changePump() // load device name } @@ -185,15 +186,15 @@ class DanaRSPlugin @Inject constructor( // DanaR interface override fun loadHistory(type: Byte): PumpEnactResult { - return danaRSService?.loadHistory(type) ?: PumpEnactResult(injector).success(false) + return danaRSService?.loadHistory(type) ?: PumpEnactResultImpl(injector).success(false) } override fun loadEvents(): PumpEnactResult { - return danaRSService?.loadEvents() ?: PumpEnactResult(injector).success(false) + return danaRSService?.loadEvents() ?: PumpEnactResultImpl(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return danaRSService?.setUserSettings() ?: PumpEnactResult(injector).success(false) + return danaRSService?.setUserSettings() ?: PumpEnactResultImpl(injector).success(false) } // Constraints interface @@ -228,7 +229,7 @@ class DanaRSPlugin @Inject constructor( danaRSService?.isConnected ?: false || danaRSService?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (!isInitialized()) { aapsLogger.error("setNewBasalProfile not initialized") val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) @@ -304,7 +305,7 @@ class DanaRSPlugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = danaRSService?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs @@ -321,7 +322,7 @@ class DanaRSPlugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -338,7 +339,6 @@ class DanaRSPlugin @Inject constructor( // This is called from APS @Synchronized override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - var result = PumpEnactResult(injector) val absoluteAfterConstrain = constraintChecker.applyBasalConstraints(Constraint(absoluteRate), profile).value() var doTempOff = baseBasalRate - absoluteAfterConstrain == 0.0 val doLowTemp = absoluteAfterConstrain < baseBasalRate @@ -363,13 +363,13 @@ class DanaRSPlugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Stopping temp basal (doTempOff)") return cancelTempBasal(false) } - result.success = true - result.enacted = false - result.percent = 100 - result.isPercent = true - result.isTempCancel = true aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return result + return PumpEnactResultImpl(injector) + .success(true) + .enacted(false) + .percent(100) + .isPercent(true) + .isTempCancel(true) } if (doLowTemp || doHighTemp) { // Check if some temp is already in progress @@ -378,21 +378,21 @@ class DanaRSPlugin @Inject constructor( // Correct basal already set ? if (danaPump.tempBasalPercent == percentRate && danaPump.tempBasalRemainingMin > 4) { if (!enforceNew) { - result.success = true - result.percent = percentRate - result.enacted = false - result.duration = danaPump.tempBasalRemainingMin - result.isPercent = true - result.isTempCancel = false aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return result + return PumpEnactResultImpl(injector) + .success(true) + .percent(percentRate) + .enacted(false) + .duration(danaPump.tempBasalRemainingMin) + .isPercent(true) + .isTempCancel(false) } } } temporaryBasalStorage.add(PumpSync.PumpState.TemporaryBasal(dateUtil.now(), T.mins(durationInMinutes.toLong()).msecs(), percentRate.toDouble(), false, tbrType, 0L, 0L)) // Convert duration from minutes to hours aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Setting temp basal $percentRate% for $durationInMinutes minutes (doLowTemp || doHighTemp)") - result = if (percentRate == 0 && durationInMinutes > 30) { + val result = if (percentRate == 0 && durationInMinutes > 30) { setTempBasalPercent(percentRate, durationInMinutes, profile, enforceNew, tbrType) } else { // use special APS temp basal call ... 100+/15min .... 100-/30min @@ -407,14 +407,14 @@ class DanaRSPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - result.success = false - result.comment = "Internal error" - return result + return PumpEnactResultImpl(injector) + .success(false) + .comment("Internal error") } @Synchronized override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) var percentAfterConstraint = constraintChecker.applyBasalPercentConstraints(Constraint(percent), profile).value() if (percentAfterConstraint < 0) { result.isTempCancel = false @@ -463,7 +463,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized private fun setHighTempBasalPercent(percent: Int): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) val connectionOK = danaRSService?.highTempBasal(percent) ?: false if (connectionOK && danaPump.isTempBasalInProgress && danaPump.tempBasalPercent == percent) { result.enacted = true @@ -489,7 +489,7 @@ class DanaRSPlugin @Inject constructor( // needs to be rounded val durationInHalfHours = max(durationInMinutes / 30, 1) insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false result.success = true @@ -524,7 +524,7 @@ class DanaRSPlugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (danaPump.isTempBasalInProgress) { danaRSService?.tempBasalStop() result.success = !danaPump.isTempBasalInProgress @@ -541,7 +541,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (danaPump.isExtendedInProgress) { danaRSService?.extendedBolusStop() result.success = !danaPump.isExtendedInProgress diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index c80797caa6..83b78b8c6f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -56,6 +56,7 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin @@ -260,7 +261,7 @@ class DanaRSService : DaggerService() { fun loadEvents(): PumpEnactResult { if (!danaRSPlugin.isInitialized()) { - val result = PumpEnactResult(injector).success(false) + val result = PumpEnactResultImpl(injector).success(false) result.comment = "pump not initialized" return result } @@ -282,13 +283,13 @@ class DanaRSService : DaggerService() { rxBus.send(EventPumpStatusChanged(rh.gs(R.string.gettingpumpstatus))) sendMessage(DanaRSPacketGeneralInitialScreenInformation(injector)) danaPump.lastConnection = System.currentTimeMillis() - return PumpEnactResult(injector).success(msg.success()) + return PumpEnactResultImpl(injector).success(msg.success()) } fun setUserSettings(): PumpEnactResult { val message = DanaRSPacketOptionSetUserOption(injector) sendMessage(message) - return PumpEnactResult(injector).success(message.success()) + return PumpEnactResultImpl(injector).success(message.success()) } fun bolus(insulin: Double, carbs: Int, carbTime: Long, t: EventOverviewBolusProgress.Treatment): Boolean { @@ -498,7 +499,7 @@ class DanaRSService : DaggerService() { } fun loadHistory(type: Byte): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (!isConnected) return result var msg: DanaRSPacketHistory? = null when (type) { diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt index e4d3c51234..aa1fefaeda 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale @Suppress("SpellCheckingInspection") open class TestBase { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 270c6cdd80..81a5a793ef 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -11,6 +11,7 @@ import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -20,7 +21,6 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Diaconn import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -44,6 +44,7 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -77,14 +78,15 @@ class DiaconnG8Plugin @Inject constructor( private val fabricPrivacy: FabricPrivacy, private val dateUtil: DateUtil, private val aapsSchedulers: AapsSchedulers -) : PumpPluginBase(PluginDescription() - .mainType(PluginType.PUMP) - .fragmentClass(DiaconnG8Fragment::class.java.name) - .pluginIcon(R.drawable.ic_diaconn_g8) - .pluginName(R.string.diaconn_g8_pump) - .shortName(R.string.diaconn_g8_pump_shortname) - .preferencesId(R.xml.pref_diaconn) - .description(R.string.description_pump_diaconn_g8), +) : PumpPluginBase( + PluginDescription() + .mainType(PluginType.PUMP) + .fragmentClass(DiaconnG8Fragment::class.java.name) + .pluginIcon(R.drawable.ic_diaconn_g8) + .pluginName(R.string.diaconn_g8_pump) + .shortName(R.string.diaconn_g8_pump_shortname) + .preferencesId(R.xml.pref_diaconn) + .description(R.string.description_pump_diaconn_g8), injector, aapsLogger, rh, commandQueue ), Pump, Diaconn, Constraints { @@ -99,19 +101,19 @@ class DiaconnG8Plugin @Inject constructor( val intent = Intent(context, DiaconnG8Service::class.java) context.bindService(intent, mConnection, Context.BIND_AUTO_CREATE) disposable.add(rxBus - .toObservable(EventAppExit::class.java) - .observeOn(aapsSchedulers.io) - .subscribe({ context.unbindService(mConnection) }) { fabricPrivacy.logException(it) } + .toObservable(EventAppExit::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ context.unbindService(mConnection) }) { fabricPrivacy.logException(it) } ) disposable.add(rxBus - .toObservable(EventConfigBuilderChange::class.java) - .observeOn(aapsSchedulers.io) - .subscribe { diaconnG8Pump.reset() } + .toObservable(EventConfigBuilderChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe { diaconnG8Pump.reset() } ) disposable.add(rxBus - .toObservable(EventDiaconnG8DeviceChange::class.java) - .observeOn(aapsSchedulers.io) - .subscribe({ changePump() }) { fabricPrivacy.logException(it) } + .toObservable(EventDiaconnG8DeviceChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ changePump() }) { fabricPrivacy.logException(it) } ) changePump() // load device name } @@ -144,9 +146,9 @@ class DiaconnG8Plugin @Inject constructor( override fun connect(reason: String) { aapsLogger.debug(LTag.PUMP, "Diaconn G8 connect from: $reason") - if(diaconnG8Service != null && mDeviceAddress != "" && mDeviceName != "") { + if (diaconnG8Service != null && mDeviceAddress != "" && mDeviceName != "") { val success = diaconnG8Service?.connect(reason, mDeviceAddress) ?: false - if(!success) ToastUtils.errorToast(context, R.string.ble_not_supported) + if (!success) ToastUtils.errorToast(context, R.string.ble_not_supported) } } @@ -172,11 +174,11 @@ class DiaconnG8Plugin @Inject constructor( // Diaconn Pump Interface override fun loadHistory(): PumpEnactResult { - return diaconnG8Service?.loadHistory() ?: PumpEnactResult(injector).success(false) + return diaconnG8Service?.loadHistory() ?: PumpEnactResultImpl(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return diaconnG8Service?.setUserSettings() ?: PumpEnactResult(injector).success(false) + return diaconnG8Service?.setUserSettings() ?: PumpEnactResultImpl(injector).success(false) } // Constraints interface @@ -201,7 +203,7 @@ class DiaconnG8Plugin @Inject constructor( } // Pump interface - override fun isInitialized(): Boolean = + override fun isInitialized(): Boolean = diaconnG8Pump.lastConnection > 0 && diaconnG8Pump.maxBasal > 0 override fun isSuspended(): Boolean = @@ -211,7 +213,7 @@ class DiaconnG8Plugin @Inject constructor( diaconnG8Service?.isConnected ?: false || diaconnG8Service?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (!isInitialized()) { val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) rxBus.send(EventNewNotification(notification)) @@ -241,7 +243,7 @@ class DiaconnG8Plugin @Inject constructor( if (!isInitialized()) return true if (diaconnG8Pump.pumpProfiles == null) return true val basalValues = 24 - val basalIncrement = 60 * 60 + val basalIncrement = 60 * 60 for (h in 0 until basalValues) { val pumpValue = diaconnG8Pump.pumpProfiles!![diaconnG8Pump.activeProfile][h] val profileValue = profile.getBasalTimeFromMidnight(h * basalIncrement) @@ -275,19 +277,19 @@ class DiaconnG8Plugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = diaconnG8Service?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = connectionOK result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs - if(result.success) result.enacted = true + if (result.success) result.enacted = true if (!result.success) { setErrorMsg(diaconnG8Pump.resultErrorCode, result) } else result.comment = rh.gs(R.string.ok) aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -304,7 +306,7 @@ class DiaconnG8Plugin @Inject constructor( // This is called from APS @Synchronized override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) val absoluteAfterConstrain = constraintChecker.applyBasalConstraints(Constraint(absoluteRate), profile).value() val doTempOff = baseBasalRate - absoluteAfterConstrain == 0.0 val doLowTemp = absoluteAfterConstrain < baseBasalRate @@ -381,7 +383,10 @@ class DiaconnG8Plugin @Inject constructor( } else { var absoluteValue = profile.getBasal() * (percent / 100.0) absoluteValue = pumpDescription.pumpType.determineCorrectBasalSize(absoluteValue) - aapsLogger.warn(LTag.PUMP, "setTempBasalPercent [DiaconnG8Plugin] - You are trying to use setTempBasalPercent with percent other then 0% ($percent). This will start setTempBasalAbsolute, with calculated value ($absoluteValue). Result might not be 100% correct.") + aapsLogger.warn( + LTag.PUMP, + "setTempBasalPercent [DiaconnG8Plugin] - You are trying to use setTempBasalPercent with percent other then 0% ($percent). This will start setTempBasalAbsolute, with calculated value ($absoluteValue). Result might not be 100% correct." + ) setTempBasalAbsolute(absoluteValue, durationInMinutes, profile, enforceNew, tbrType) } @@ -392,7 +397,7 @@ class DiaconnG8Plugin @Inject constructor( var insulinAfterConstraint = constraintChecker.applyExtendedBolusConstraints(Constraint(insulin)).value() // needs to be rounded insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (diaconnG8Pump.isExtendedInProgress && abs(diaconnG8Pump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false @@ -430,13 +435,13 @@ class DiaconnG8Plugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (diaconnG8Pump.isTempBasalInProgress) { diaconnG8Service?.tempBasalStop() result.success = !diaconnG8Pump.isTempBasalInProgress result.enacted = true result.isTempCancel = true - if(!result.success) setErrorMsg(diaconnG8Pump.resultErrorCode, result) + if (!result.success) setErrorMsg(diaconnG8Pump.resultErrorCode, result) } else { result.success = true result.enacted = false @@ -448,17 +453,17 @@ class DiaconnG8Plugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) if (diaconnG8Pump.isExtendedInProgress) { diaconnG8Service?.extendedBolusStop() result.success = !diaconnG8Pump.isExtendedInProgress result.enacted = true - if(!result.success) { + if (!result.success) { setErrorMsg(diaconnG8Pump.resultErrorCode, result) diaconnG8Service?.readPumpStatus() } - } else { + } else { result.success = true result.enacted = false result.comment = rh.gs(R.string.ok) @@ -549,42 +554,43 @@ class DiaconnG8Plugin @Inject constructor( ret += "Batt: ${diaconnG8Pump.systemRemainBattery}" return ret } + override val isFakingTempsByExtendedBoluses: Boolean = false override fun loadTDDs(): PumpEnactResult = loadHistory() override fun getCustomActions(): List? = null override fun executeCustomAction(customActionType: CustomActionType) {} override fun canHandleDST(): Boolean = false - override fun isBatteryChangeLoggingEnabled():Boolean { + override fun isBatteryChangeLoggingEnabled(): Boolean { return sp.getBoolean(R.string.key_diaconn_g8_logbatterychange, false) } - fun isInsulinChangeLoggingEnabled():Boolean { + fun isInsulinChangeLoggingEnabled(): Boolean { return sp.getBoolean(R.string.key_diaconn_g8_loginsulinchange, false) } @Synchronized fun setErrorMsg(errorCode: Int, result: PumpEnactResult) { when (errorCode) { - 1 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_1) - 2 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_2) - 3 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_3) - 4 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_4) - 6 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_6) - 7 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_7) - 8 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_8) - 9 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_9) - 10 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_10) - 11 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_11) - 12 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_12) - 13 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_13) - 14 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_14) - 15 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_15) - 32 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_32) - 33 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_33) - 34 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_34) - 35 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_35) - 36 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_36) + 1 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_1) + 2 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_2) + 3 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_3) + 4 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_4) + 6 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_6) + 7 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_7) + 8 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_8) + 9 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_9) + 10 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_10) + 11 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_11) + 12 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_12) + 13 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_13) + 14 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_14) + 15 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_15) + 32 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_32) + 33 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_33) + 34 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_34) + 35 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_35) + 36 -> result.comment = rh.gs(R.string.diaconn_g8_errorcode_36) else -> result.comment = "not defined Error code: $errorCode" } } diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index f127f661df..76e2fa282e 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -10,6 +10,7 @@ import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Constants import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R @@ -268,7 +269,7 @@ class DiaconnG8Service : DaggerService() { fun loadHistory(): PumpEnactResult { if (!diaconnG8Plugin.isInitialized()) { - val result = PumpEnactResult(injector).success(false) + val result = PumpEnactResultImpl(injector).success(false) result.comment = "pump not initialized" return result } @@ -278,14 +279,14 @@ class DiaconnG8Service : DaggerService() { sendMessage(IncarnationInquirePacket(injector)) } - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) var apsLastLogNum = 9999 var apsWrappingCount = -1 // get saved last loginfo val diaconnHistoryRecord = diaconnHistoryRecordDao.getLastRecord(diaconnG8Pump.pumpUid) aapsLogger.debug(LTag.PUMPCOMM, "diaconnHistoryRecord :: $diaconnHistoryRecord") - if(diaconnHistoryRecord != null) { + if (diaconnHistoryRecord != null) { apsLastLogNum = diaconnHistoryRecord.lognum apsWrappingCount = diaconnHistoryRecord.wrappingCount } @@ -297,25 +298,24 @@ class DiaconnG8Service : DaggerService() { // aps last log num val pumpSerialNo = sp.getInt(rh.gs(R.string.pumpserialno), 0) - // if first install app - if (apsWrappingCount == -1 && apsLastLogNum == 9999 ) { + if (apsWrappingCount == -1 && apsLastLogNum == 9999) { apsWrappingCount = pumpWrappingCount - apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum -2 + apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum - 2 } // if another pump if (pumpSerialNo != diaconnG8Pump.serialNo) { apsWrappingCount = pumpWrappingCount - apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum -2 + apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum - 2 sp.putInt(rh.gs(R.string.pumpserialno), diaconnG8Pump.serialNo) } // if pump reset if (apsIncarnationNum != diaconnG8Pump.pumpIncarnationNum) { apsWrappingCount = pumpWrappingCount - apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum -2 + apsLastLogNum = if (pumpLastNum - 1 < 0) 0 else pumpLastNum - 2 sp.putInt(R.string.apsIncarnationNo, apsIncarnationNum) } - aapsLogger.debug(LTag.PUMPCOMM, "apsWrappingCount : $apsWrappingCount, apsLastLogNum : $apsLastLogNum") + aapsLogger.debug(LTag.PUMPCOMM, "apsWrappingCount : $apsWrappingCount, apsLastLogNum : $apsLastLogNum") // pump log loop size val pumpLogPageSize = 11 @@ -340,7 +340,7 @@ class DiaconnG8Service : DaggerService() { val retrofit = diaconnLogUploader.getRetrofitInstance() val api = retrofit?.create(DiaconnApiService::class.java) val response = api?.getPumpLastNo(diaconnG8Pump.pumpUid, diaconnG8Pump.pumpVersion, diaconnG8Pump.pumpIncarnationNum)?.execute() - if(response?.body()?.ok == true) { + if (response?.body()?.ok == true) { aapsLogger.debug(LTag.PUMPCOMM, "pumplog_no = ${response.body()?.info?.pumplog_no}") val platformLastNo = response.body()?.info?.pumplog_no!! val platformWrappingCount: Int = floor(platformLastNo / 10000.0).toInt() @@ -353,10 +353,10 @@ class DiaconnG8Service : DaggerService() { // 페이지 사이즈로 처리할 때 루핑 횟수 계산 val (platformStart, platformEnd, platformLoopSize) = getCloudLogLoopCount(platformLastNo.toInt(), platformLogNo, platformWrappingCount, pumpLastNum, pumpWrappingCount) - if(platformLoopSize > 0) { + if (platformLoopSize > 0) { diaconnG8Pump.isPlatformUploadStarted = true for (i in 0 until platformLoopSize) { - if(diaconnG8Pump.isPumpLogUploadFailed) { + if (diaconnG8Pump.isPumpLogUploadFailed) { break } rxBus.send(EventPumpStatusChanged("클라우드동기화 진행 중 : $i / $platformLoopSize")) @@ -370,7 +370,7 @@ class DiaconnG8Service : DaggerService() { diaconnG8Pump.isPumpLogUploadFailed = false } } - } catch (e:Exception) { + } catch (e: Exception) { aapsLogger.error("Unhandled exception", e) } } @@ -394,18 +394,21 @@ class DiaconnG8Service : DaggerService() { return Triple(start, end, size) } - private fun getCloudLogLoopCount(platformLastNo:Int, platformPumpLogNum: Int, wrappingCount: Int, pumpLastNum: Int, pumpWrappingCount: Int): Triple { + private fun getCloudLogLoopCount(platformLastNo: Int, platformPumpLogNum: Int, wrappingCount: Int, pumpLastNum: Int, pumpWrappingCount: Int): Triple { val start: Int// log sync start number val end: Int // log sync end number1311 - aapsLogger.debug(LTag.PUMPCOMM, "platformLastNo: $platformLastNo, PlatformPumpLogNum : $platformPumpLogNum, wrappingCount : $wrappingCount , pumpLastNum: $pumpLastNum, pumpWrappingCount :$pumpWrappingCount") + aapsLogger.debug( + LTag.PUMPCOMM, + "platformLastNo: $platformLastNo, PlatformPumpLogNum : $platformPumpLogNum, wrappingCount : $wrappingCount , pumpLastNum: $pumpLastNum, pumpWrappingCount :$pumpWrappingCount" + ) - if ((pumpWrappingCount * 10000 + pumpLastNum - platformLastNo > 10000 )) { + if ((pumpWrappingCount * 10000 + pumpLastNum - platformLastNo > 10000)) { start = pumpLastNum end = 10000 } else if (pumpWrappingCount > wrappingCount && platformPumpLogNum < 9999) { start = (platformPumpLogNum + 1) end = 10000 - } else if (pumpWrappingCount > wrappingCount && platformPumpLogNum >= 9999 ) { + } else if (pumpWrappingCount > wrappingCount && platformPumpLogNum >= 9999) { start = 0 // 처음부터 시작 end = pumpLastNum } else { @@ -418,7 +421,7 @@ class DiaconnG8Service : DaggerService() { } fun setUserSettings(): PumpEnactResult { - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) val msg: DiaconnG8Packet = when (diaconnG8Pump.setUserOptionType) { DiaconnG8Pump.ALARM -> SoundSettingPacket(injector, diaconnG8Pump.beepAndAlarm, diaconnG8Pump.alarmIntesity) @@ -501,7 +504,7 @@ class DiaconnG8Service : DaggerService() { val bolusDurationInMSec = (insulin * speed * 1000).toLong() val expectedEnd = bolusStart + bolusDurationInMSec + 3500L val totalwaitTime = (expectedEnd - System.currentTimeMillis()) / 1000 - if(diaconnG8Pump.isReadyToBolus) { + if (diaconnG8Pump.isReadyToBolus) { while (!diaconnG8Pump.bolusDone) { val waitTime = (expectedEnd - System.currentTimeMillis()) / 1000 bolusingEvent.status = String.format(rh.gs(R.string.waitingforestimatedbolusend), if (waitTime < 0) 0 else waitTime) @@ -739,7 +742,7 @@ class DiaconnG8Service : DaggerService() { // pump confirm var loopCnt = 0 // waiting 2 seconds for otp - while(loopCnt < 20) { + while (loopCnt < 20) { if (diaconnG8Pump.otpNumber == 0) { SystemClock.sleep(100) aapsLogger.error(LTag.PUMPCOMM, "OTP waiting 100ms $loopCnt / 20") diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 56c6b49b54..dc75c55b52 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -4,10 +4,10 @@ import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription @@ -33,6 +33,7 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized @@ -61,14 +62,15 @@ class EopatchPumpPlugin @Inject constructor( private val patchManager: IPatchManager, private val alarmManager: IAlarmManager, private val preferenceManager: IPreferenceManager -):PumpPluginBase(PluginDescription() - .mainType(PluginType.PUMP) - .fragmentClass(EopatchOverviewFragment::class.java.name) - .pluginIcon(R.drawable.ic_eopatch2_128) - .pluginName(R.string.eopatch) - .shortName(R.string.eopatch_shortname) - .preferencesId(R.xml.pref_eopatch) - .description(R.string.eopatch_pump_description), injector, aapsLogger, rh, commandQueue +) : PumpPluginBase( + PluginDescription() + .mainType(PluginType.PUMP) + .fragmentClass(EopatchOverviewFragment::class.java.name) + .pluginIcon(R.drawable.ic_eopatch2_128) + .pluginName(R.string.eopatch) + .shortName(R.string.eopatch_shortname) + .preferencesId(R.xml.pref_eopatch) + .description(R.string.eopatch_pump_description), injector, aapsLogger, rh, commandQueue ), Pump { private val mDisposables = CompositeDisposable() @@ -80,31 +82,31 @@ class EopatchPumpPlugin @Inject constructor( override fun onStart() { super.onStart() mDisposables.add(rxBus - .toObservable(EventPreferenceChange::class.java) - .observeOn(aapsSchedulers.io) - .subscribe({ event: EventPreferenceChange -> - if (event.isChanged(rh, SettingKeys.LOW_RESERVOIR_REMINDERS) || event.isChanged(rh, SettingKeys.EXPIRATION_REMINDERS)) { - patchManager.changeReminderSetting() - } else if (event.isChanged(rh, SettingKeys.BUZZER_REMINDERS)) { - patchManager.changeBuzzerSetting() - } - }) { throwable: Throwable -> fabricPrivacy.logException(throwable) } + .toObservable(EventPreferenceChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ event: EventPreferenceChange -> + if (event.isChanged(rh, SettingKeys.LOW_RESERVOIR_REMINDERS) || event.isChanged(rh, SettingKeys.EXPIRATION_REMINDERS)) { + patchManager.changeReminderSetting() + } else if (event.isChanged(rh, SettingKeys.BUZZER_REMINDERS)) { + patchManager.changeBuzzerSetting() + } + }) { throwable: Throwable -> fabricPrivacy.logException(throwable) } ) mDisposables.add(rxBus - .toObservable(EventAppInitialized::class.java) - .observeOn(aapsSchedulers.io) - .subscribe({ - preferenceManager.init() - patchManager.init() - alarmManager.init() - }) { throwable: Throwable -> fabricPrivacy.logException(throwable) } + .toObservable(EventAppInitialized::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ + preferenceManager.init() + patchManager.init() + alarmManager.init() + }) { throwable: Throwable -> fabricPrivacy.logException(throwable) } ) } override fun specialEnableCondition(): Boolean { //BG -> FG, restart patch activation and trigger unhandled alarm - if(preferenceManager.isInitDone()) { + if (preferenceManager.isInitDone()) { patchManager.checkActivationProcess() alarmManager.restartAll() } @@ -129,7 +131,7 @@ class EopatchPumpPlugin @Inject constructor( } override fun isConnected(): Boolean { - return if(patchManager.isDeactivated) true else patchManager.patchConnectionState.isConnected + return if (patchManager.isDeactivated) true else patchManager.patchConnectionState.isConnected } override fun isConnecting(): Boolean { @@ -144,12 +146,12 @@ class EopatchPumpPlugin @Inject constructor( } override fun connect(reason: String) { - aapsLogger.debug(LTag.PUMP,"EOPatch connect - reason:$reason") + aapsLogger.debug(LTag.PUMP, "EOPatch connect - reason:$reason") mLastDataTime = System.currentTimeMillis() } override fun disconnect(reason: String) { - aapsLogger.debug(LTag.PUMP,"EOPatch disconnect - reason:$reason") + aapsLogger.debug(LTag.PUMP, "EOPatch disconnect - reason:$reason") } override fun stopConnecting() { @@ -159,23 +161,24 @@ class EopatchPumpPlugin @Inject constructor( if (patchManager.isActivated) { if ("SMS" == reason) { aapsLogger.debug("Acknowledged AAPS getPumpStatus request it was requested through an SMS") - }else{ + } else { aapsLogger.debug("Acknowledged AAPS getPumpStatus request") } - mDisposables.add(patchManager.updateConnection() - .subscribe(Consumer { - mLastDataTime = System.currentTimeMillis() - }) + mDisposables.add( + patchManager.updateConnection() + .subscribe(Consumer { + mLastDataTime = System.currentTimeMillis() + }) ) } } override fun setNewBasalProfile(profile: Profile): PumpEnactResult { mLastDataTime = System.currentTimeMillis() - if(patchManager.isActivated){ - if(patchManager.patchState.isTempBasalActive || patchManager.patchState.isBolusActive){ - return PumpEnactResult(injector) - }else{ + if (patchManager.isActivated) { + if (patchManager.patchState.isTempBasalActive || patchManager.patchState.isBolusActive) { + return PumpEnactResultImpl(injector) + } else { var isSuccess: Boolean? = null val result: BehaviorSubject = BehaviorSubject.create() val disposable = result.hide() @@ -184,33 +187,34 @@ class EopatchPumpPlugin @Inject constructor( } val nb = preferenceManager.getNormalBasalManager().convertProfileToNormalBasal(profile) - mDisposables.add(patchManager.startBasal(nb) - .observeOn(aapsSchedulers.main) - .subscribe({ response -> - result.onNext(response.isSuccess) - }, { - result.onNext(false) - }) + mDisposables.add( + patchManager.startBasal(nb) + .observeOn(aapsSchedulers.main) + .subscribe({ response -> + result.onNext(response.isSuccess) + }, { + result.onNext(false) + }) ) - do{ + do { SystemClock.sleep(100) - }while(isSuccess == null) + } while (isSuccess == null) disposable.dispose() - aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess?:false}") - if(isSuccess == true) { + aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess ?: false}") + if (isSuccess == true) { rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResult(injector).success(true).enacted(true) - }else{ - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector).success(true).enacted(true) + } else { + return PumpEnactResultImpl(injector) } } - }else{ + } else { preferenceManager.getNormalBasalManager().setNormalBasal(profile) preferenceManager.flushNormalBasalManager() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResult(injector).success(true).enacted(true) + return PumpEnactResultImpl(injector).success(true).enacted(true) } } @@ -229,39 +233,39 @@ class EopatchPumpPlugin @Inject constructor( } override val baseBasalRate: Double - get() { - if (!patchManager.isActivated || patchManager.patchState.isNormalBasalPaused) { - return 0.0 - } + get() { + if (!patchManager.isActivated || patchManager.patchState.isNormalBasalPaused) { + return 0.0 + } - return preferenceManager.getNormalBasalManager().normalBasal.getCurrentSegment()?.doseUnitPerHour?.toDouble()?:0.05 - } + return preferenceManager.getNormalBasalManager().normalBasal.getCurrentSegment()?.doseUnitPerHour?.toDouble() ?: 0.05 + } override val reservoirLevel: Double - get() { - if (!patchManager.isActivated) { - return 0.0 - } + get() { + if (!patchManager.isActivated) { + return 0.0 + } - return patchManager.patchState.remainedInsulin.toDouble() - } + return patchManager.patchState.remainedInsulin.toDouble() + } override val batteryLevel: Int - get() { - return if(patchManager.isActivated) { - patchManager.patchState.batteryLevel() - }else{ - 0 + get() { + return if (patchManager.isActivated) { + patchManager.patchState.batteryLevel() + } else { + 0 + } } - } override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult { if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment") - return PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) - .comment(rh.gs(R.string.invalidinput)) + return PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + .comment(rh.gs(R.string.invalidinput)) } else if (detailedBolusInfo.insulin > 0.0) { var isSuccess = true val result = BehaviorSubject.createDefault(true) @@ -271,22 +275,22 @@ class EopatchPumpPlugin @Inject constructor( } mDisposables.add(patchManager.startCalculatorBolus(detailedBolusInfo) - .doOnSuccess { - mLastDataTime = System.currentTimeMillis() - }.subscribe({ - result.onNext(it.isSuccess) - }, { - result.onNext(false) - }) + .doOnSuccess { + mLastDataTime = System.currentTimeMillis() + }.subscribe({ + result.onNext(it.isSuccess) + }, { + result.onNext(false) + }) ) val tr = detailedBolusInfo.let { EventOverviewBolusProgress.Treatment(it.insulin, it.carbs.toInt(), it.bolusType === DetailedBolusInfo.BolusType.SMB, it.id) } - do{ + do { SystemClock.sleep(100) - if(patchManager.patchConnectionState.isConnected) { + if (patchManager.patchConnectionState.isConnected) { val delivering = patchManager.bolusCurrent.nowBolus.injected rxBus.send(EventOverviewBolusProgress.apply { status = rh.gs(R.string.bolusdelivering, delivering) @@ -294,7 +298,7 @@ class EopatchPumpPlugin @Inject constructor( t = tr }) } - }while(!patchManager.bolusCurrent.nowBolus.endTimeSynced && isSuccess) + } while (!patchManager.bolusCurrent.nowBolus.endTimeSynced && isSuccess) rxBus.send(EventOverviewBolusProgress.apply { status = rh.gs(R.string.bolusdelivered, detailedBolusInfo.insulin) @@ -306,35 +310,35 @@ class EopatchPumpPlugin @Inject constructor( disposable.dispose() - return if(isSuccess) - PumpEnactResult(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) + return if (isSuccess) + PumpEnactResultImpl(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) else - PumpEnactResult(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) + PumpEnactResultImpl(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) } else { // no bolus required, carb only treatment patchManager.addBolusToHistory(detailedBolusInfo) - return PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(0.0) - .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.androidaps.core.R.string.ok)) + return PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(0.0) + .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.androidaps.core.R.string.ok)) } } override fun stopBolusDelivering() { mDisposables.add(patchManager.stopNowBolus() - .subscribeOn(aapsSchedulers.io) - .observeOn(aapsSchedulers.main) - .subscribe { it -> - rxBus.send(EventOverviewBolusProgress.apply { - status = rh.gs(R.string.bolusdelivered, (it.injectedBolusAmount * 0.05f)) - }) - } + .subscribeOn(aapsSchedulers.io) + .observeOn(aapsSchedulers.main) + .subscribe { it -> + rxBus.send(EventOverviewBolusProgress.apply { + status = rh.gs(R.string.bolusdelivered, (it.injectedBolusAmount * 0.05f)) + }) + } ) } override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - absoluteRate: ${absoluteRate.toFloat()}, durationInMinutes: ${durationInMinutes.toLong()}, enforceNew: $enforceNew") - if(patchManager.patchState.isNormalBasalAct){ + if (patchManager.patchState.isNormalBasalAct) { mLastDataTime = System.currentTimeMillis() val tb = TempBasal.createAbsolute(durationInMinutes.toLong(), absoluteRate.toFloat()) return patchManager.startTempBasal(tb) @@ -351,21 +355,23 @@ class EopatchPumpPlugin @Inject constructor( pumpType = PumpType.EOFLOW_EOPATCH2, pumpSerial = serialNumber() ) - aapsLogger.info(LTag.PUMP,"setTempBasalAbsolute - tbrCurrent:${readTBR()}") + aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - tbrCurrent:${readTBR()}") } - .map { PumpEnactResult(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false) - .comment("Internal error")) + .map { PumpEnactResultImpl(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } + .onErrorReturnItem( + PumpEnactResultImpl(injector).success(false).enacted(false) + .comment("Internal error") + ) .blockingGet() - }else{ - aapsLogger.info(LTag.PUMP,"setTempBasalAbsolute - normal basal is not active") - return PumpEnactResult(injector).success(false).enacted(false) + } else { + aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - normal basal is not active") + return PumpEnactResultImpl(injector).success(false).enacted(false) } } override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - aapsLogger.info(LTag.PUMP,"setTempBasalPercent - percent: $percent, durationInMinutes: $durationInMinutes, enforceNew: $enforceNew") - if(patchManager.patchState.isNormalBasalAct && percent != 0){ + aapsLogger.info(LTag.PUMP, "setTempBasalPercent - percent: $percent, durationInMinutes: $durationInMinutes, enforceNew: $enforceNew") + if (patchManager.patchState.isNormalBasalAct && percent != 0) { mLastDataTime = System.currentTimeMillis() val tb = TempBasal.createPercent(durationInMinutes.toLong(), percent) return patchManager.startTempBasal(tb) @@ -382,20 +388,22 @@ class EopatchPumpPlugin @Inject constructor( pumpType = PumpType.EOFLOW_EOPATCH2, pumpSerial = serialNumber() ) - aapsLogger.info(LTag.PUMP,"setTempBasalPercent - tbrCurrent:${readTBR()}") + aapsLogger.info(LTag.PUMP, "setTempBasalPercent - tbrCurrent:${readTBR()}") } - .map { PumpEnactResult(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false) - .comment("Internal error")) + .map { PumpEnactResultImpl(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } + .onErrorReturnItem( + PumpEnactResultImpl(injector).success(false).enacted(false) + .comment("Internal error") + ) .blockingGet() - }else{ - aapsLogger.info(LTag.PUMP,"setTempBasalPercent - normal basal is not active") - return PumpEnactResult(injector).success(false).enacted(false) + } else { + aapsLogger.info(LTag.PUMP, "setTempBasalPercent - normal basal is not active") + return PumpEnactResultImpl(injector).success(false).enacted(false) } } override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult { - aapsLogger.info(LTag.PUMP,"setExtendedBolus - insulin: $insulin, durationInMinutes: $durationInMinutes") + aapsLogger.info(LTag.PUMP, "setExtendedBolus - insulin: $insulin, durationInMinutes: $durationInMinutes") return patchManager.startQuickBolus(0f, insulin.toFloat(), BolusExDuration.ofRaw(durationInMinutes)) .doOnSuccess { @@ -410,31 +418,33 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResult(injector).success(true).enacted(true)} - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error))) + .map { PumpEnactResultImpl(injector).success(true).enacted(true) } + .onErrorReturnItem( + PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0) + .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + ) .blockingGet() } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { val tbrCurrent = readTBR() - if (tbrCurrent == null ) { - aapsLogger.debug(LTag.PUMP,"cancelTempBasal - TBR already false.") - return PumpEnactResult(injector).success(true).enacted(false) - } + if (tbrCurrent == null) { + aapsLogger.debug(LTag.PUMP, "cancelTempBasal - TBR already false.") + return PumpEnactResultImpl(injector).success(true).enacted(false) + } - if (!patchManager.patchState.isTempBasalActive) { - return if (pumpSync.expectedPumpState().temporaryBasal != null) { - PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) - }else - PumpEnactResult(injector).success(true).isTempCancel(true) + if (!patchManager.patchState.isTempBasalActive) { + return if (pumpSync.expectedPumpState().temporaryBasal != null) { + PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) + } else + PumpEnactResultImpl(injector).success(true).isTempCancel(true) } return patchManager.stopTempBasal() .doOnSuccess { mLastDataTime = System.currentTimeMillis() - aapsLogger.debug(LTag.PUMP,"cancelTempBasal - $it") + aapsLogger.debug(LTag.PUMP, "cancelTempBasal - $it") pumpSync.syncStopTemporaryBasalWithPumpId( timestamp = dateUtil.now(), endPumpId = dateUtil.now(), @@ -442,20 +452,22 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .doOnError{ - aapsLogger.error(LTag.PUMP,"cancelTempBasal() - $it") + .doOnError { + aapsLogger.error(LTag.PUMP, "cancelTempBasal() - $it") } - .map { PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true)} - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error))) + .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } + .onErrorReturnItem( + PumpEnactResultImpl(injector).success(false).enacted(false) + .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + ) .blockingGet() } override fun cancelExtendedBolus(): PumpEnactResult { - if(patchManager.patchState.isExtBolusActive){ + if (patchManager.patchState.isExtBolusActive) { return patchManager.stopExtBolus() .doOnSuccess { - aapsLogger.debug(LTag.PUMP,"cancelExtendedBolus - success") + aapsLogger.debug(LTag.PUMP, "cancelExtendedBolus - success") mLastDataTime = System.currentTimeMillis() pumpSync.syncStopExtendedBolusWithPumpId( timestamp = dateUtil.now(), @@ -464,12 +476,14 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true)} - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error))) + .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } + .onErrorReturnItem( + PumpEnactResultImpl(injector).success(false).enacted(false) + .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + ) .blockingGet() - }else{ - aapsLogger.debug(LTag.PUMP,"cancelExtendedBolus - nothing stops") + } else { + aapsLogger.debug(LTag.PUMP, "cancelExtendedBolus - nothing stops") return if (pumpSync.expectedPumpState().extendedBolus != null) { pumpSync.syncStopExtendedBolusWithPumpId( timestamp = dateUtil.now(), @@ -477,9 +491,9 @@ class EopatchPumpPlugin @Inject constructor( pumpType = PumpType.EOFLOW_EOPATCH2, pumpSerial = serialNumber() ) - PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) - }else - PumpEnactResult(injector) + PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) + } else + PumpEnactResultImpl(injector) } } @@ -503,7 +517,7 @@ class EopatchPumpPlugin @Inject constructor( get() = mPumpDescription override fun shortStatus(veryShort: Boolean): String { - if(patchManager.isActivated) { + if (patchManager.isActivated) { var ret = "" val activeTemp = pumpSync.expectedPumpState().temporaryBasal if (activeTemp != null) @@ -524,7 +538,7 @@ class EopatchPumpPlugin @Inject constructor( ret += "Reservoir: $reservoirStr" ret += "Battery: ${patchManager.patchState.batteryLevel()}" return ret - }else{ + } else { return "EOPatch is not enabled." } } @@ -532,7 +546,7 @@ class EopatchPumpPlugin @Inject constructor( override val isFakingTempsByExtendedBoluses: Boolean = false override fun loadTDDs(): PumpEnactResult { - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) } override fun canHandleDST(): Boolean { @@ -551,7 +565,6 @@ class EopatchPumpPlugin @Inject constructor( return null } - override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) { } diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 044213d96b..bb0744317b 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -9,11 +9,11 @@ import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync @@ -66,6 +66,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Comp import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview @@ -591,7 +592,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, "MedtronicPumpPlugin::deliverBolus - " + BolusDeliveryType.DeliveryPrepared) setRefreshButtonEnabled(false) if (detailedBolusInfo.insulin > medtronicPumpStatus.reservoirRemainingUnits) { - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(false) // .enacted(false) // .comment( @@ -632,7 +633,7 @@ class MedtronicPumpPlugin @Inject constructor( // LOG.debug("MedtronicPumpPlugin::deliverBolus - Response: {}", response); return if (response == null || !response) { - PumpEnactResult(injector) // + PumpEnactResultImpl(injector) // .success(bolusDeliveryType == BolusDeliveryType.CancelDelivery) // .enacted(false) // .comment(R.string.medtronic_cmd_bolus_could_not_be_delivered) @@ -659,7 +660,7 @@ class MedtronicPumpPlugin @Inject constructor( val time = now + bolusTime * 1000 busyTimestamps.add(time) setEnableCustomAction(MedtronicCustomActionType.ClearBolusBlock, true) - PumpEnactResult(injector).success(true) // + PumpEnactResultImpl(injector).success(true) // .enacted(true) // .bolusDelivered(detailedBolusInfo.insulin) // .carbsDelivered(detailedBolusInfo.carbs) @@ -676,8 +677,8 @@ class MedtronicPumpPlugin @Inject constructor( private fun setNotReachable(isBolus: Boolean, success: Boolean): PumpEnactResult { setRefreshButtonEnabled(true) if (isBolus) bolusDeliveryType = BolusDeliveryType.Idle - return if (success) PumpEnactResult(injector).success(true).enacted(false) - else PumpEnactResult(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) + return if (success) PumpEnactResultImpl(injector).success(true).enacted(false) + else PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) } override fun stopBolusDelivering() { @@ -700,7 +701,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -713,7 +714,7 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent == null) { aapsLogger.warn(LTag.PUMP, logPrefix + "setTempBasalAbsolute - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute: Current Basal: duration: " + tbrCurrent.durationMinutes + " min, rate=" + tbrCurrent.insulinRate) @@ -728,7 +729,7 @@ class MedtronicPumpPlugin @Inject constructor( if (sameRate) { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - No enforceNew and same rate. Exiting.") finishAction("TBR") - return PumpEnactResult(injector).success(true).enacted(false) + return PumpEnactResultImpl(injector).success(true).enacted(false) } } // if not the same rate, we cancel and start new @@ -744,7 +745,7 @@ class MedtronicPumpPlugin @Inject constructor( if (response == null || !response) { aapsLogger.error(logPrefix + "setTempBasalAbsolute - Cancel TBR failed.") finishAction("TBR") - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_cancel_tbr_stop_op) } else { //cancelTBRWithTemporaryId() @@ -761,7 +762,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - setTBR. Response: " + response) return if (response == null || !response) { finishAction("TBR") - PumpEnactResult(injector).success(false).enacted(false) // + PumpEnactResultImpl(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_tbr_could_not_be_delivered) } else { medtronicPumpStatus.tempBasalStart = System.currentTimeMillis() @@ -775,7 +776,7 @@ class MedtronicPumpPlugin @Inject constructor( incrementStatistics(MedtronicConst.Statistics.TBRsSet) finishAction("TBR") - PumpEnactResult(injector).success(true).enacted(true) // + PumpEnactResultImpl(injector).success(true).enacted(true) // .absolute(absoluteRate).duration(durationInMinutes) } } @@ -1021,7 +1022,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - started") if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1033,12 +1034,12 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent.insulinRate > 0.0f && tbrCurrent.durationMinutes == 0) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - TBR already canceled.") finishAction("TBR") - return PumpEnactResult(injector).success(true).enacted(false) + return PumpEnactResultImpl(injector).success(true).enacted(false) } } else { aapsLogger.warn(LTag.PUMP, logPrefix + "cancelTempBasal - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } val responseTask2 = rileyLinkMedtronicService?.medtronicUIComm?.executeCommand(MedtronicCommandType.CancelTBR) @@ -1046,7 +1047,7 @@ class MedtronicPumpPlugin @Inject constructor( finishAction("TBR") return if (response == null || !response) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR failed.") - PumpEnactResult(injector).success(false).enacted(false) // + PumpEnactResultImpl(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_cant_cancel_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR successful.") @@ -1082,7 +1083,7 @@ class MedtronicPumpPlugin @Inject constructor( //cancelTBRWithTemporaryId() - PumpEnactResult(injector).success(true).enacted(true) // + PumpEnactResultImpl(injector).success(true).enacted(true) // .isTempCancel(true) } } @@ -1105,7 +1106,7 @@ class MedtronicPumpPlugin @Inject constructor( // this shouldn't be needed, but let's do check if profile setting we are setting is same as current one if (isProfileSame(profile)) { - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(true) // .enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_not_set_is_same) @@ -1113,7 +1114,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1123,7 +1124,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.debug("Basal Profile: $basalProfile") val profileInvalid = isProfileValid(basalProfile) if (profileInvalid != null) { - return PumpEnactResult(injector) // + return PumpEnactResultImpl(injector) // .success(false) // .enacted(false) // .comment(rh.gs(R.string.medtronic_cmd_set_profile_pattern_overflow, profileInvalid)) @@ -1135,10 +1136,10 @@ class MedtronicPumpPlugin @Inject constructor( val response = responseTask?.result as Boolean? aapsLogger.info(LTag.PUMP, logPrefix + "Basal Profile was set: " + response) return if (response == null || !response) { - PumpEnactResult(injector).success(false).enacted(false) // + PumpEnactResultImpl(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_could_not_be_set) } else { - PumpEnactResult(injector).success(true).enacted(true) + PumpEnactResultImpl(injector).success(true).enacted(true) } } diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index 827ea1de9d..f7737a1881 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.Medtr import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Rule @@ -24,7 +24,7 @@ import org.mockito.Mock import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt index e25d03f6e5..9a3975647a 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt @@ -12,8 +12,8 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalProce import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.androidaps.utils.serialisation.SealedClassHelper.gson +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import org.junit.Before import org.junit.Test diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index 03412433e8..4a745a9f7a 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -41,7 +42,7 @@ abstract class ActionViewModelBase( logger.error(LTag.PUMP, "Caught exception in while executing action in ActionViewModelBase", throwable) _isActionExecutingLiveData.postValue(false) _actionResultLiveData.postValue( - PumpEnactResult(injector).success(false).comment( + PumpEnactResultImpl(injector).success(false).comment( throwable.message ?: "Caught exception in while executing action in ActionViewModelBase" ) ) diff --git a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt index e5b309d398..b0739c0849 100644 --- a/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt +++ b/pump/omnipod-dash/src/androidTest/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/DashHistoryTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.Omnipod import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.HistoryRecordDao import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.mapper.HistoryMapper -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import io.reactivex.rxjava3.schedulers.Schedulers import org.junit.After import org.junit.Before diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 56d8bea964..44f083ef59 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -7,6 +7,7 @@ import android.text.format.DateFormat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -14,7 +15,6 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -68,6 +68,7 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged @@ -394,7 +395,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun setNewBasalProfile(profile: Profile): PumpEnactResult { if (!podStateManager.isActivationCompleted) { - return PumpEnactResult(injector).success(true).enacted(true) + return PumpEnactResultImpl(injector).success(true).enacted(true) } aapsLogger.debug(LTag.PUMP, "setNewBasalProfile profile=$profile") return setNewBasalProfile(profile, OmnipodCommandType.SET_BASAL_PROFILE) @@ -420,7 +421,7 @@ class OmnipodDashPumpPlugin @Inject constructor( command = omnipodManager.setBasalProgram(basalProgram, hasBasalBeepEnabled()).ignoreElements(), post = failWhenUnconfirmed(deliverySuspended), // mark as failed even if it worked OK and try again vs. mark ok and deny later - ).toPumpEnactResult() + ).toPumpEnactResultImpl() } private fun failWhenUnconfirmed(deliverySuspended: Boolean): Completable = Completable.defer { @@ -566,7 +567,7 @@ class OmnipodDashPumpPlugin @Inject constructor( detailedBolusInfo.insulin == 0.0 ) { // Accept only valid insulin requests - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -574,7 +575,7 @@ class OmnipodDashPumpPlugin @Inject constructor( } val requestedBolusAmount = detailedBolusInfo.insulin if (requestedBolusAmount > reservoirLevel) { - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -583,7 +584,7 @@ class OmnipodDashPumpPlugin @Inject constructor( if (podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_BASAL_ACTIVE || podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_TEMP_BASAL_ACTIVE ) { - return PumpEnactResult(injector) + return PumpEnactResultImpl(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -652,10 +653,10 @@ class OmnipodDashPumpPlugin @Inject constructor( } } }.toSingle { - PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) + PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) }.onErrorReturnItem( // success if canceled - PumpEnactResult(injector).success(bolusCanceled).enacted(false) + PumpEnactResultImpl(injector).success(bolusCanceled).enacted(false) ) .blockingGet() aapsLogger.info( @@ -864,7 +865,7 @@ class OmnipodDashPumpPlugin @Inject constructor( "it has been cancelled. Please manually refresh the Pod status from the Omnipod tab.", R.raw.boluserror, ) - }.toPumpEnactResult() + }.toPumpEnactResultImpl() if (ret.success && ret.enacted) { ret.isPercent(false).absolute(absoluteRate).duration(durationInMinutes) @@ -939,13 +940,13 @@ class OmnipodDashPumpPlugin @Inject constructor( tbrType: PumpSync.TemporaryBasalType ): PumpEnactResult { // TODO i18n - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support percentage temp basals") } override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult { // TODO i18n - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -962,7 +963,7 @@ class OmnipodDashPumpPlugin @Inject constructor( pumpSync.expectedPumpState().temporaryBasal == null ) { // nothing to cancel - return PumpEnactResult(injector).success(true).enacted(false) + return PumpEnactResultImpl(injector).success(true).enacted(false) } return executeProgrammingCommand( @@ -974,7 +975,7 @@ class OmnipodDashPumpPlugin @Inject constructor( "Cancel temp basal result is uncertain", // TODO: i8n, R.raw.boluserror, // TODO: add setting for this ) - }.toPumpEnactResult() + }.toPumpEnactResultImpl() } private fun notifyOnUnconfirmed(notificationId: Int, msg: String, sound: Int?) { @@ -984,18 +985,18 @@ class OmnipodDashPumpPlugin @Inject constructor( } } - private fun Completable.toPumpEnactResult(): PumpEnactResult { - return this.toSingleDefault(PumpEnactResult(injector).success(true).enacted(true)) + private fun Completable.toPumpEnactResultImpl(): PumpEnactResult { + return this.toSingleDefault(PumpEnactResultImpl(injector).success(true).enacted(true)) .doOnError { throwable -> aapsLogger.error(LTag.PUMP, "toPumpEnactResult, error executing command: $throwable") } - .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false)) + .onErrorReturnItem(PumpEnactResultImpl(injector).success(false).enacted(false)) .blockingGet() } override fun cancelExtendedBolus(): PumpEnactResult { // TODO i18n - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -1096,7 +1097,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun loadTDDs(): PumpEnactResult { // TODO i18n - return PumpEnactResult(injector).success(false).enacted(false) + return PumpEnactResultImpl(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support TDD") } @@ -1131,7 +1132,7 @@ class OmnipodDashPumpPlugin @Inject constructor( else -> { aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + customCommand.javaClass.name) - PumpEnactResult(injector).success(false).enacted(false).comment( + PumpEnactResultImpl(injector).success(false).enacted(false).comment( rh.gs( R.string.omnipod_common_error_unsupported_custom_command, customCommand.javaClass.name @@ -1147,8 +1148,8 @@ class OmnipodDashPumpPlugin @Inject constructor( executeProgrammingCommand( historyEntry = history.createRecord(commandType = OmnipodCommandType.ACKNOWLEDGE_ALERTS), command = omnipodManager.silenceAlerts(it).ignoreElements(), - ).toPumpEnactResult() - } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n + ).toPumpEnactResultImpl() + } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n } private fun disableSuspendAlerts(): PumpEnactResult { @@ -1168,7 +1169,7 @@ class OmnipodDashPumpPlugin @Inject constructor( val ret = executeProgrammingCommand( historyEntry = history.createRecord(OmnipodCommandType.CONFIGURE_ALERTS), command = omnipodManager.programAlerts(alerts).ignoreElements(), - ).toPumpEnactResult() + ).toPumpEnactResultImpl() if (ret.success && ret.enacted) { podStateManager.suspendAlertsEnabled = false } @@ -1195,8 +1196,8 @@ class OmnipodDashPumpPlugin @Inject constructor( "Unconfirmed resumeDelivery command. Please refresh pod status", R.raw.boluserror ) - }.toPumpEnactResult() - } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No profile active") // TODO i18n + }.toPumpEnactResultImpl() + } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No profile active") // TODO i18n } private fun deactivatePod(): PumpEnactResult { @@ -1212,7 +1213,7 @@ class OmnipodDashPumpPlugin @Inject constructor( podStateManager.reset() rxBus.send(EventDismissNotification(Notification.OMNIPOD_POD_FAULT)) } - }.toPumpEnactResult() + }.toPumpEnactResultImpl() if (!success) { ret.success(false) } @@ -1222,7 +1223,7 @@ class OmnipodDashPumpPlugin @Inject constructor( private fun handleTimeChange(): PumpEnactResult { return profileFunction.getProfile()?.let { setNewBasalProfile(it, OmnipodCommandType.SET_TIME) - } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No profile active") + } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No profile active") } private fun updateAlertConfiguration(): PumpEnactResult { @@ -1240,12 +1241,12 @@ class OmnipodDashPumpPlugin @Inject constructor( lowReservoirAlertUnits ) -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because the settings did not change") - return PumpEnactResult(injector).success(true).enacted(false) + return PumpEnactResultImpl(injector).success(true).enacted(false) } !podStateManager.isPodRunning -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because there is no active pod") - return PumpEnactResult(injector).success(true).enacted(false) + return PumpEnactResultImpl(injector).success(true).enacted(false) } } @@ -1257,7 +1258,7 @@ class OmnipodDashPumpPlugin @Inject constructor( "updateAlertConfiguration negative " + "expiryAlertDuration=$expiryAlertDelay" ) - PumpEnactResult(injector).success(false).enacted(false) + PumpEnactResultImpl(injector).success(false).enacted(false) } val alerts = listOf( AlertConfiguration( @@ -1293,14 +1294,14 @@ class OmnipodDashPumpPlugin @Inject constructor( lowReservoirAlertUnits ) ) - ).toPumpEnactResult() + ).toPumpEnactResultImpl() } private fun playTestBeep(): PumpEnactResult { return executeProgrammingCommand( historyEntry = history.createRecord(OmnipodCommandType.PLAY_TEST_BEEP), command = omnipodManager.playBeep(BeepType.LONG_SINGLE_BEEP).ignoreElements() - ).toPumpEnactResult() + ).toPumpEnactResultImpl() } override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index 63fb4d6072..b240c1f4f0 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel @@ -66,14 +67,14 @@ class DashInitializePodViewModel @Inject constructor( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 1", throwable) source.onSuccess( - PumpEnactResult(injector) + PumpEnactResultImpl(injector) .success(false) .comment(I8n.textFromException(throwable, rh)) ) }, onComplete = { logger.debug("Pod activation part 1 completed") - source.onSuccess(PumpEnactResult(injector).success(true)) + source.onSuccess(PumpEnactResultImpl(injector).success(true)) } ) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 62c932fc14..1b36626575 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -4,6 +4,7 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper @@ -90,7 +91,7 @@ class DashInsertCannulaViewModel @Inject constructor( .subscribeBy( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 2", throwable) - source.onSuccess(PumpEnactResult(injector).success(false).comment(I8n.textFromException(throwable, rh))) + source.onSuccess(PumpEnactResultImpl(injector).success(false).comment(I8n.textFromException(throwable, rh))) }, onComplete = { logger.debug("Pod activation part 2 completed") @@ -120,7 +121,7 @@ class DashInsertCannulaViewModel @Inject constructor( ) rxBus.send(EventDismissNotification(Notification.OMNIPOD_POD_NOT_ATTACHED)) fabricPrivacy.logCustom("OmnipodDashPodActivated") - source.onSuccess(PumpEnactResult(injector).success(true)) + source.onSuccess(PumpEnactResultImpl(injector).success(true)) } ) } diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/TestBase.kt new file mode 100644 index 0000000000..ff9c66abeb --- /dev/null +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -0,0 +1,40 @@ +package info.nightscout.androidaps + +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest +import org.junit.Before +import org.junit.Rule +import org.mockito.Mockito +import org.mockito.junit.MockitoJUnit +import org.mockito.junit.MockitoRule +import java.util.* + +@Suppress("SpellCheckingInspection") +open class TestBase { + + val aapsLogger = AAPSLoggerTest() + val aapsSchedulers: AapsSchedulers = TestAapsSchedulers() + + // Add a JUnit rule that will setup the @Mock annotated vars and log. + // Another possibility would be to add `MockitoAnnotations.initMocks(this) to the setup method. + @get:Rule + val mockitoRule: MockitoRule = MockitoJUnit.rule() + + @Before + fun setupLocale() { + Locale.setDefault(Locale.ENGLISH) + System.setProperty("disableFirebase", "true") + } + + // Workaround for Kotlin nullability. + // https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791 + // https://stackoverflow.com/questions/30305217/is-it-possible-to-use-mockito-in-kotlin + fun anyObject(): T { + Mockito.any() + return uninitialized() + } + + @Suppress("Unchecked_Cast") + fun uninitialized(): T = null as T +} \ No newline at end of file diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecryptTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecryptTest.kt index c37c76a903..5117ebf0a9 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecryptTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/endecrypt/EnDecryptTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.endecry import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message.MessagePacket -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Assert import org.junit.Test import org.spongycastle.util.encoders.Hex diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessagePacketTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessagePacketTest.kt index 0a9862d027..11b50e451b 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessagePacketTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/message/MessagePacketTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.message import com.google.crypto.tink.subtle.Hex import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Assert.assertEquals import org.junit.Test diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchangeTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchangeTest.kt index ab671d94e2..2583dc178a 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchangeTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/pair/KeyExchangeTest.kt @@ -1,24 +1,29 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair +import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.RandomByteGenerator import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.util.X25519KeyGenerator -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.interfaces.Config +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Assert.assertEquals import org.junit.Test import org.mockito.ArgumentMatchers.anyInt +import org.mockito.Mock import org.mockito.Mockito import org.mockito.Mockito.mock import org.mockito.Mockito.spy import org.spongycastle.util.encoders.Hex -class KeyExchangeTest { +class KeyExchangeTest : TestBase() { val keyGenerator = X25519KeyGenerator() val keyGeneratorSpy = spy(keyGenerator) var randomByteGenerator: RandomByteGenerator = mock(RandomByteGenerator::class.java) + @Mock lateinit var config: Config + @Test fun testLTK() { val aapsLogger = AAPSLoggerTest() @@ -31,6 +36,7 @@ class KeyExchangeTest { val ke = KeyExchange( aapsLogger, + config, keyGeneratorSpy, randomByteGenerator ) diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessageTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessageTest.kt index 9acef7eb66..fe064a18cd 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessageTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/EapMessageTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session import info.nightscout.androidaps.extensions.toHex -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Assert import org.junit.Test import org.spongycastle.util.encoders.Hex diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/MilenageTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/MilenageTest.kt index 72614ed3a6..1ac87b3a89 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/MilenageTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/MilenageTest.kt @@ -1,17 +1,23 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.session +import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.extensions.toHex -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.interfaces.Config +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Assert import org.junit.Test +import org.mockito.Mock import org.spongycastle.util.encoders.Hex -class MilenageTest { +class MilenageTest : TestBase() { + + @Mock lateinit var config: Config @Test fun testMilenage() { val aapsLogger = AAPSLoggerTest() val m = Milenage( aapsLogger = aapsLogger, + config = config, k = Hex.decode("c0772899720972a314f557de66d571dd"), sqn = byteArrayOf(0, 0, 0, 0, 0, 2), randParam = Hex.decode("c2cd1248451103bd77a6c7ef88c441ba") @@ -25,6 +31,7 @@ class MilenageTest { val aapsLogger = AAPSLoggerTest() val m = Milenage( aapsLogger = aapsLogger, + config = config, k = Hex.decode("78411ccad0fd0fb6f381a47fb3335ecb"), sqn = byteArrayOf(0, 0, 0, 0, 0, 2), // 1 + 1 randParam = Hex.decode("4fc01ac1a94376ae3e052339c07d9e1f") @@ -38,6 +45,7 @@ class MilenageTest { val aapsLogger = AAPSLoggerTest() val m = Milenage( aapsLogger = aapsLogger, + config = config, k = Hex.decode("c0772899720972a314f557de66d571dd"), // byteArrayOf(0,0,0,0,0x01,0x5d), this is in logs. SQN has to be incremented. sqn = byteArrayOf(0, 0, 0, 0, 0x01, 0x5e), @@ -52,6 +60,7 @@ class MilenageTest { val aapsLogger = AAPSLoggerTest() val m = Milenage( aapsLogger = aapsLogger, + config = config, k = Hex.decode("689b860fde3331dd7e1671ad39985e3b"), sqn = byteArrayOf(0, 0, 0, 0, 0, 8), // 1 + 1 auts = Hex.decode("84ff173947a67567985de71e4890"), diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index ab4d6fc375..9ca130f442 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -36,12 +36,12 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; @@ -104,6 +104,7 @@ import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.Round; import info.nightscout.androidaps.utils.T; import info.nightscout.androidaps.utils.TimeChangeType; +import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; @@ -601,7 +602,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { if (!podStateManager.hasPodState()) - return new PumpEnactResult(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResultImpl(getInjector()).enacted(false).success(false).comment("Null pod state"); PumpEnactResult result = executeCommand(OmnipodCommandType.SET_BASAL_PROFILE, () -> aapsOmnipodErosManager.setBasalProfile(profile, true)); aapsLogger.info(LTag.PUMP, "Basal Profile was set: " + result.getSuccess()); @@ -659,7 +660,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (detailedBolusInfo.insulin == 0 && detailedBolusInfo.carbs == 0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment"); - return new PumpEnactResult(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) .comment(R.string.invalidinput); } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -677,7 +678,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley "[date=%d, carbs=%.2f, pumpSerial=%s] - Result: %b", detailedBolusInfo.timestamp, detailedBolusInfo.carbs, serialNumber(), result)); - return new PumpEnactResult(getInjector()).success(true).enacted(true).bolusDelivered(0d) + return new PumpEnactResultImpl(getInjector()).success(true).enacted(true).bolusDelivered(0d) .carbsDelivered(detailedBolusInfo.carbs); } } @@ -695,7 +696,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute: rate: {}, duration={}", absoluteRate, durationInMinutes); if (durationInMinutes <= 0 || durationInMinutes % BASAL_STEP_DURATION.getStandardMinutes() != 0) { - return new PumpEnactResult(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); + return new PumpEnactResultImpl(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); } // read current TBR @@ -709,7 +710,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent != null && !enforceNew) { if (Round.INSTANCE.isSame(tbrCurrent.getRate(), absoluteRate)) { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - No enforceNew and same rate. Exiting."); - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } } @@ -731,7 +732,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent == null) { aapsLogger.info(LTag.PUMP, "cancelTempBasal - TBR already cancelled."); - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } return executeCommand(OmnipodCommandType.CANCEL_TEMPORARY_BASAL, aapsOmnipodErosManager::cancelTemporaryBasal); @@ -855,7 +856,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult executeCustomCommand(@NonNull CustomCommand command) { if (!podStateManager.hasPodState()) - return new PumpEnactResult(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResultImpl(getInjector()).enacted(false).success(false).comment("Null pod state"); if (command instanceof CommandSilenceAlerts) { return executeCommand(OmnipodCommandType.ACKNOWLEDGE_ALERTS, aapsOmnipodErosManager::acknowledgeAlerts); } @@ -885,7 +886,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + command.getClass().getName()); - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); } private PumpEnactResult retrievePulseLog() { @@ -893,7 +894,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley try { result = executeCommand(OmnipodCommandType.READ_POD_PULSE_LOG, aapsOmnipodErosManager::readPulseLog); } catch (Exception ex) { - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); } Intent i = new Intent(context, activityNames.getErrorHelperActivity()); @@ -903,7 +904,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley i.putExtra("clipboardContent", result.toString()); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); - return new PumpEnactResult(getInjector()).success(true).enacted(false); + return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); } @NonNull private PumpEnactResult updateAlertConfiguration() { @@ -1168,7 +1169,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } private PumpEnactResult getOperationNotSupportedWithCustomText(int resourceId) { - return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(resourceId); + return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(resourceId); } } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 56a687f02b..efaa1bf52b 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -16,6 +16,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.Profile; @@ -168,7 +169,7 @@ public class AapsOmnipodErosManager { } public PumpEnactResult initializePod() { - PumpEnactResult result = new PumpEnactResult(injector); + PumpEnactResult result = new PumpEnactResultImpl(injector); try { Boolean res = executeCommand(delegate::pairAndPrime) .blockingGet(); @@ -190,10 +191,10 @@ public class AapsOmnipodErosManager { public PumpEnactResult insertCannula(Profile profile) { if (profile == null) { String comment = getStringResource(R.string.omnipod_common_error_set_initial_basal_schedule_no_profile); - return new PumpEnactResult(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(comment); } - PumpEnactResult result = new PumpEnactResult(injector); + PumpEnactResult result = new PumpEnactResultImpl(injector); try { BasalSchedule basalSchedule = mapProfileToBasalSchedule(profile); @@ -231,11 +232,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, alertConfigurations); - return new PumpEnactResult(injector).success(true).enacted(false); + return new PumpEnactResultImpl(injector).success(true).enacted(false); } public PumpEnactResult playTestBeep(BeepConfigType beepType) { @@ -244,11 +245,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, beepType); - return new PumpEnactResult(injector).success(true).enacted(false); + return new PumpEnactResultImpl(injector).success(true).enacted(false); } @@ -260,12 +261,12 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.GET_POD_STATUS, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.GET_POD_STATUS, statusResponse); - return new PumpEnactResult(injector).success(true).enacted(false); + return new PumpEnactResultImpl(injector).success(true).enacted(false); } public PumpEnactResult deactivatePod() { @@ -274,7 +275,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.DEACTIVATE_POD, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.DEACTIVATE_POD, null); @@ -282,7 +283,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_FAULT); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PumpEnactResult setBasalProfile(Profile profile, boolean showNotifications) { @@ -291,7 +292,7 @@ public class AapsOmnipodErosManager { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, note, Notification.URGENT, R.raw.boluserror); } - return new PumpEnactResult(injector).success(false).enacted(false).comment(note); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(note); } // #1963 return synthetic success if pre-activation @@ -299,7 +300,7 @@ public class AapsOmnipodErosManager { // otherwise a catch-22 if (!podStateManager.getActivationProgress().isCompleted()) { // TODO: i18n string - return new PumpEnactResult(injector).success(true).enacted(false).comment("pre" + + return new PumpEnactResultImpl(injector).success(true).enacted(false).comment("pre" + "-activation basal change moot"); } @@ -315,14 +316,14 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_basal_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { String note; @@ -335,7 +336,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } @@ -353,7 +354,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PumpEnactResult discardPodState() { @@ -367,7 +368,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventOmnipodErosPumpValuesChanged()); sendEvent(new EventRefreshOverview("Omnipod command: " + OmnipodCommandType.DISCARD_POD, false)); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PumpEnactResult bolus(DetailedBolusInfo detailedBolusInfo) { @@ -391,7 +392,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.SET_BOLUS, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } if (OmnipodManager.CommandDeliveryStatus.UNCERTAIN_FAILURE.equals(bolusCommandResult.getCommandDeliveryStatus())) { @@ -446,7 +447,7 @@ public class AapsOmnipodErosManager { sp.remove(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS); - return new PumpEnactResult(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); + return new PumpEnactResultImpl(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); } public PumpEnactResult cancelBolus() { @@ -461,7 +462,7 @@ public class AapsOmnipodErosManager { aapsLogger.debug(LTag.PUMP, "Not cancelling bolus: bolus command failed"); String comment = getStringResource(R.string.omnipod_common_error_bolus_did_not_succeed); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResult(injector).success(true).enacted(false).comment(comment); + return new PumpEnactResultImpl(injector).success(true).enacted(false).comment(comment); } } @@ -473,11 +474,11 @@ public class AapsOmnipodErosManager { executeCommand(() -> delegate.cancelBolus(isBolusBeepsEnabled())); aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus", i); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } catch (PodFaultException ex) { aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus (implicitly because of a Pod Fault)"); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } catch (Exception ex) { aapsLogger.debug(LTag.PUMP, "Failed to cancel bolus", ex); comment = translateException(ex); @@ -485,7 +486,7 @@ public class AapsOmnipodErosManager { } addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResult(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(comment); } public PumpEnactResult setTemporaryBasal(TempBasalPair tempBasalPair) { @@ -495,7 +496,7 @@ public class AapsOmnipodErosManager { } catch (CommandFailedAfterChangingDeliveryStatusException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -504,7 +505,7 @@ public class AapsOmnipodErosManager { splitActiveTbr(); // Split any active TBR so when we recover from the uncertain TBR status,we only cancel the part after the cancellation - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { String errorMessage = translateException(ex); long pumpId = addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -522,7 +523,7 @@ public class AapsOmnipodErosManager { addTempBasalTreatment(System.currentTimeMillis(), pumpId, tempBasalPair); } - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, tempBasalPair); @@ -531,7 +532,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResult(injector) + return new PumpEnactResultImpl(injector) .duration(tempBasalPair.getDurationMinutes()) .absolute(PumpType.OMNIPOD_EROS.determineCorrectBasalSize(tempBasalPair.getInsulinRate())) .success(true).enacted(true); @@ -548,7 +549,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, null); @@ -562,7 +563,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PumpEnactResult acknowledgeAlerts() { @@ -571,11 +572,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, null); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PumpEnactResult suspendDelivery() { @@ -584,7 +585,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, null); @@ -593,7 +594,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.FAILED_UPDATE_PROFILE); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } // Updates the pods current time based on the device timezone and the pod's time zone @@ -607,21 +608,21 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SET_TIME, null); @@ -630,7 +631,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResult(injector).success(true).enacted(true); + return new PumpEnactResultImpl(injector).success(true).enacted(true); } public PodInfoRecentPulseLog readPulseLog() { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt index b4c68bf8b5..03d778b101 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 5118c70129..00512a398c 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue @@ -14,7 +14,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import org.joda.time.DateTimeZone import org.joda.time.tz.UTCProvider @@ -74,7 +74,7 @@ class OmnipodErosPumpPluginTest : TestBase() { ) ).thenAnswer { invocation: InvocationOnMock -> val pair = invocation.getArgument(0) - val result = PumpEnactResult(injector) + val result = PumpEnactResultImpl(injector) result.absolute(pair.insulinRate) result.duration(pair.durationMinutes) result diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt index c1ae911d92..678f32f135 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManagerTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.manager import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FirmwareVersion import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 198b4b7d6d..11875126dc 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -8,6 +8,7 @@ import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -312,7 +313,7 @@ abstract class PumpPluginAbstract protected constructor( if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input") - PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) .comment(R.string.invalidinput) } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -328,7 +329,7 @@ abstract class PumpPluginAbstract protected constructor( bolusingEvent.percent = 100 rxBus.send(bolusingEvent) aapsLogger.debug(LTag.PUMP, "deliverTreatment: Carb only treatment.") - PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(0.0) + PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(0.0) .carbsDelivered(detailedBolusInfo.carbs).comment(R.string.common_resultok) } } finally { @@ -349,7 +350,7 @@ abstract class PumpPluginAbstract protected constructor( protected abstract fun triggerUIChange() private fun getOperationNotSupportedWithCustomText(resourceId: Int): PumpEnactResult = - PumpEnactResult(injector).success(false).enacted(false).comment(resourceId) + PumpEnactResultImpl(injector).success(false).enacted(false).comment(resourceId) init { pumpDescription.fillFor(pumpType) diff --git a/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt index b4c68bf8b5..03d778b101 100644 --- a/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/rileylink/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers import info.nightscout.rx.AapsSchedulers -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBase.kt b/ui/src/test/java/info/nightscout/androidaps/TestBase.kt index 4d1edc5cb6..03d778b101 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps -import info.nightscout.shared.logging.AAPSLoggerTest import info.nightscout.rx.AapsSchedulers -import info.nightscout.androidaps.utils.rx.TestAapsSchedulers +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest import org.junit.Before import org.junit.Rule import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index c533893b3f..4e805f67a5 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,10 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.common.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -43,26 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResultImpl(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/wear/src/test/java/info/nightscout/androidaps/TestBase.kt b/wear/src/test/java/info/nightscout/androidaps/TestBase.kt index 764f44687c..ff0fdb621c 100644 --- a/wear/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/wear/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interaction.utils.WearUtil import info.nightscout.androidaps.testing.mockers.WearUtilMocker import info.nightscout.androidaps.testing.mocks.SharedPreferencesMock import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.shared.logging.AAPSLoggerTest +import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Rule @@ -16,7 +16,7 @@ import org.mockito.Mock import org.mockito.Mockito import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import java.util.* +import java.util.Locale open class TestBase { From 39ec5be45bbdc737fe9ef5791495167d3e031c9a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 21:35:34 +0100 Subject: [PATCH 012/123] move interfaces --- .../nightscout/androidaps/MainActivity.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 2 +- .../configBuilder/ConfigBuilderPlugin.kt | 5 ++- .../objectives/ObjectivesPlugin.kt | 5 ++- .../constraints/safety/SafetyPlugin.kt | 5 ++- .../general/actions/ActionsFragment.kt | 2 +- .../plugins/general/actions/ActionsPlugin.kt | 5 ++- .../dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../general/nsclient/NSClientPlugin.kt | 2 +- .../general/overview/OverviewPlugin.kt | 2 +- .../PersistentNotificationPlugin.kt | 2 +- .../general/tidepool/TidepoolPlugin.kt | 5 ++- .../plugins/general/wear/WearPlugin.kt | 2 +- .../IobCobCalculatorPlugin.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 4 +- .../sensitivity/AbstractSensitivityPlugin.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 2 +- .../SensitivityWeightedAveragePlugin.kt | 2 +- .../androidaps/plugins/source/AidexPlugin.kt | 2 +- .../androidaps/plugins/source/DexcomPlugin.kt | 2 +- .../plugins/source/EversensePlugin.kt | 5 ++- .../androidaps/plugins/source/GlimpPlugin.kt | 5 ++- .../plugins/source/GlunovoPlugin.kt | 2 +- .../plugins/source/IntelligoPlugin.kt | 2 +- .../androidaps/plugins/source/MM640gPlugin.kt | 5 ++- .../plugins/source/NSClientSourcePlugin.kt | 5 ++- .../plugins/source/PoctechPlugin.kt | 5 ++- .../plugins/source/RandomBgPlugin.kt | 2 +- .../androidaps/plugins/source/TomatoPlugin.kt | 5 ++- .../androidaps/plugins/source/XdripPlugin.kt | 5 ++- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../AbstractSensitivityPluginTest.kt | 2 +- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../automation/actions/ActionSendSMS.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../automation/actions/ActionsTestBase.kt | 4 +- .../automation/triggers/TriggerTestBase.kt | 2 +- .../androidaps/data/DetailedBolusInfo.kt | 2 - .../interfaces/AndroidPermission.kt | 1 + .../androidaps/interfaces/PluginBase.kt | 1 + .../nightscout/androidaps/interfaces/Pump.kt | 6 +-- .../androidaps/interfaces/PumpDescription.kt | 4 +- .../androidaps/interfaces/PumpPluginBase.kt | 1 + .../general/actions/defs/CustomActionType.kt | 5 --- .../plugins/pump/common/defs/PumpType.kt | 38 ++++++++++--------- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../interfaces/PluginDescriptionTest.kt | 1 + .../interfaces/PumpDescriptionTest.kt | 4 +- .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 2 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../pump/insight/LocalInsightPlugin.java | 4 +- interfaces/build.gradle | 4 ++ .../annotations/InterfacesOpenForTesting.kt | 15 ++++++++ .../interfaces/PluginDescription.kt | 7 ++-- .../nightscout}/interfaces/SmsCommunicator.kt | 2 +- .../interfaces/pump}/DoseSettings.kt | 2 +- .../interfaces/pump}/DoseStepSize.kt | 4 +- .../interfaces/pump}/ManufacturerType.kt | 2 +- .../interfaces/pump}/PumpCapability.kt | 4 +- .../interfaces/pump}/PumpTempBasalType.kt | 2 +- .../interfaces/pump/actions}/CustomAction.kt | 4 +- .../pump/actions/CustomActionType.kt | 5 +++ .../res/drawable/ic_actions_profileswitch.xml | 0 .../annotations/InterfacesOpenForTesting.kt | 8 ++++ .../general/openhumans/OpenHumansUploader.kt | 3 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 2 +- .../constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../phoneChecker/PhoneCheckerPlugin.kt | 7 ++-- .../SignatureVerifierPlugin.kt | 2 +- .../storage/StorageConstraintPlugin.kt | 2 +- .../versionChecker/VersionCheckerPlugin.kt | 2 +- .../general/autotune/AutotunePlugin.kt | 2 +- .../plugins/general/food/FoodPlugin.kt | 5 ++- .../general/smsCommunicator/AuthRequest.kt | 2 +- .../SmsCommunicatorFragment.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 +- .../activities/SmsCommunicatorOtpActivity.kt | 2 +- .../general/themes/ThemeSwitcherPlugin.kt | 7 ++-- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../smsCommunicator/AuthRequestTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 4 +- .../androidaps/danar/AbstractDanaRPlugin.java | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 4 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 8 ++-- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 8 ++-- .../pump/medtronic/MedtronicPumpPlugin.kt | 8 ++-- .../defs/MedtronicCustomActionType.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 8 ++-- .../omnipod/eros/OmnipodErosPumpPlugin.java | 6 +-- .../plugins/pump/common/PumpPluginAbstract.kt | 4 +- .../tasks/InitializePumpManagerTask.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- 103 files changed, 212 insertions(+), 166 deletions(-) delete mode 100644 core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomActionType.kt create mode 100644 interfaces/src/debug/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/PluginDescription.kt (92%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/SmsCommunicator.kt (82%) rename {core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs => interfaces/src/main/java/info/nightscout/interfaces/pump}/DoseSettings.kt (72%) rename {core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs => interfaces/src/main/java/info/nightscout/interfaces/pump}/DoseStepSize.kt (96%) rename {core/src/main/java/info/nightscout/androidaps/plugins/common => interfaces/src/main/java/info/nightscout/interfaces/pump}/ManufacturerType.kt (85%) rename {core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpCapability.kt (96%) rename {core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpTempBasalType.kt (50%) rename {core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs => interfaces/src/main/java/info/nightscout/interfaces/pump/actions}/CustomAction.kt (78%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomActionType.kt rename {core => interfaces}/src/main/res/drawable/ic_actions_profileswitch.xml (100%) create mode 100644 interfaces/src/release/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 716453efd0..b5190b4916 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -48,7 +48,7 @@ import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index d9b07a1ecb..98f7676cb3 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -31,7 +31,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index b9db49b782..c67c8e0afc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -41,7 +41,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index ddeb29cfc9..a1f297aef9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 6d729d935e..45f1442b94 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 3e0d1815f9..2cceb145b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump @@ -42,7 +42,8 @@ class ConfigBuilderPlugin @Inject constructor( private val activePlugin: ActivePlugin, private val uel: UserEntryLogger, private val pumpSync: PumpSync -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.GENERAL) .fragmentClass(ConfigBuilderFragment::class.java.name) .showInList(true) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index f6b81b0953..32db320167 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger @@ -46,7 +46,8 @@ class ObjectivesPlugin @Inject constructor( config: Config, private val dateUtil: DateUtil, private val uel: UserEntryLogger -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.CONSTRAINTS) .fragmentClass(ObjectivesFragment::class.qualifiedName) .alwaysEnabled(config.APS) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index d632e9b657..59800e3f7b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpDescription @@ -57,7 +57,8 @@ class SafetyPlugin @Inject constructor( private val iobCobCalculator: IobCobCalculator, private val config: Config, private val dateUtil: DateUtil -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.CONSTRAINTS) .neverVisible(true) .alwaysEnabled(true) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 104bb19f85..b6a8fb7fbc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -35,7 +35,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction +import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.skins.SkinProvider diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index 4acf8fe673..cf2f611875 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger @@ -17,7 +17,8 @@ class ActionsPlugin @Inject constructor( aapsLogger: AAPSLogger, rh: ResourceHelper, config: Config -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.GENERAL) .fragmentClass(ActionsFragment::class.qualifiedName) .enableByDefault(config.APS || config.PUMPCONTROL) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 12c501dd01..d380bd40b0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index cc3ba1c05d..2e41632ca9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.R import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt index e07919ce25..42128da1d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.AlarmAck diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 98904a576c..fce3ed8ccd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.extensions.storeString import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 4af725244e..e732fab9ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt index 87c52b126c..9c13d2fac9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader @@ -52,7 +52,8 @@ class TidepoolPlugin @Inject constructor( private val sp: SP, private val rateLimit: RateLimit, private val receiverStatusStore: ReceiverStatusStore -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.GENERAL) .pluginName(R.string.tidepool) .shortName(R.string.tidepool_shortname) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index cd283361b4..b18f85a491 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index ff71e014b1..875a3d7f73 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index 4e06233eff..7f7bb802d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction @@ -24,7 +24,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index 6fb6018361..c9ef7f8241 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 23836d7b87..7893a5d2e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index c8820f43e0..b5efd847c8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index c5ff3ac64f..6e21f2621f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index b749123f5b..6b4c8d0872 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index 37bcd2ba11..989704f72d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index a2bba3444b..8b71e20ed0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -32,7 +32,8 @@ class EversensePlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, private val sp: SP -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_eversense) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index 51a89f45cb..c39c0a7628 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -29,7 +29,8 @@ class GlimpPlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, private val sp: SP -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_glimp) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 1f47b5c4da..d35640421b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 30582d2f6a..2a97cdd80e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index c25511b32d..0e4b508197 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -31,7 +31,8 @@ class MM640gPlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, private val sp: SP -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_generic_cgm) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index 005e27e199..ec0c40a6b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -37,7 +37,8 @@ class NSClientSourcePlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, config: Config -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_nsclient_bg) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 189e0a1e8e..a83668a656 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -31,7 +31,8 @@ class PoctechPlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, private val sp: SP -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_poctech) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index 156784ca49..d40347341f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index b4f607627b..584d650b79 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -27,7 +27,8 @@ class TomatoPlugin @Inject constructor( rh: ResourceHelper, aapsLogger: AAPSLogger, private val sp: SP -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_sensor) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 0d7a603aab..8f5e6eaabb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -26,7 +26,8 @@ class XdripPlugin @Inject constructor( injector: HasAndroidInjector, rh: ResourceHelper, aapsLogger: AAPSLogger -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon((R.drawable.ic_blooddrop_48)) diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4e805f67a5..748145689b 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index a5305c4392..3c16455548 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index e39c39904a..63cf5fd4a2 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index e2c0e2d205..7e16f7d86e 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 36eb757212..4ab2313a44 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -5,13 +5,13 @@ import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 2e3bc345f9..1f7066c548 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.rx.logging.AAPSLogger diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt index 4d702fafe3..7afa0f0b49 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.ReceiverStatusStore diff --git a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt index b467d78c87..361278a03d 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt @@ -5,12 +5,10 @@ import com.google.gson.Gson import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.BolusCalculatorResult import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.transactions.InsertOrUpdateBolusTransaction import info.nightscout.androidaps.database.transactions.InsertOrUpdateCarbsTransaction import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.T class DetailedBolusInfo { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt index 2dfa77836c..a6e643c412 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import android.content.Context import androidx.fragment.app.FragmentActivity +import info.nightscout.interfaces.SmsCommunicator interface AndroidPermission { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt index f01dfdd6f1..08a4c28c58 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index 7a29c198c7..a7cca00786 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.queue.commands.CustomCommand import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.pump.ManufacturerType import org.json.JSONObject /** diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt index eed259d3e8..4d8afe2a0e 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.plugins.pump.common.defs.PumpCapability -import info.nightscout.androidaps.plugins.pump.common.defs.PumpTempBasalType +import info.nightscout.interfaces.pump.PumpCapability +import info.nightscout.interfaces.pump.PumpTempBasalType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType class PumpDescription() { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index 7541f5e733..27a013bc82 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomActionType.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomActionType.kt deleted file mode 100644 index 5ffbb25b6b..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomActionType.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.plugins.general.actions.defs - -interface CustomActionType { - fun getKey(): String -} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt index a9d20d9866..1b1d4aac1b 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt @@ -3,9 +3,13 @@ package info.nightscout.androidaps.plugins.pump.common.defs import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.utils.Round import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.pump.DoseSettings +import info.nightscout.interfaces.pump.DoseStepSize +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpCapability +import info.nightscout.interfaces.pump.PumpTempBasalType import kotlin.math.min @Suppress("unused") @@ -374,21 +378,21 @@ enum class PumpType { //EOPatch Pump EOFLOW_EOPATCH2(description = "Eoflow Eopatch2", - manufacturer = ManufacturerType.Eoflow, - model = "Eopatch", - bolusSize = 0.05, - specialBolusSize = null, - extendedBolusSettings = DoseSettings(0.05, 30, 8 * 60, 0.05, 25.0), - pumpTempBasalType = PumpTempBasalType.Absolute, - tbrSettings = DoseSettings(0.05, 30, 12 * 60, 0.0, 15.0), - specialBasalDurations = PumpCapability.BasalRate_Duration30minAllowed, - baseBasalMinValue = 0.05, - baseBasalMaxValue = 15.0, - baseBasalStep = 0.05, - baseBasalSpecialSteps = null, - pumpCapability = PumpCapability.EopatchCapabilities, - isPatchPump = true, - source = Sources.EOPatch2); + manufacturer = ManufacturerType.Eoflow, + model = "Eopatch", + bolusSize = 0.05, + specialBolusSize = null, + extendedBolusSettings = DoseSettings(0.05, 30, 8 * 60, 0.05, 25.0), + pumpTempBasalType = PumpTempBasalType.Absolute, + tbrSettings = DoseSettings(0.05, 30, 12 * 60, 0.0, 15.0), + specialBasalDurations = PumpCapability.BasalRate_Duration30minAllowed, + baseBasalMinValue = 0.05, + baseBasalMaxValue = 15.0, + baseBasalStep = 0.05, + baseBasalSpecialSteps = null, + pumpCapability = PumpCapability.EopatchCapabilities, + isPatchPump = true, + source = Sources.EOPatch2); val description: String var manufacturer: ManufacturerType? = null diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4e805f67a5..748145689b 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt b/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt index 0c090b8583..1b8670cc1c 100644 --- a/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import androidx.fragment.app.Fragment +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt b/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt index 397619d21a..c99b0b2c55 100644 --- a/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.plugins.pump.common.defs.PumpCapability -import info.nightscout.androidaps.plugins.pump.common.defs.PumpTempBasalType +import info.nightscout.interfaces.pump.PumpCapability +import info.nightscout.interfaces.pump.PumpTempBasalType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import org.junit.Assert import org.junit.Test diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 4144e775a0..b1ca298acd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 5502f471da..0ea0dbd5ef 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -13,7 +13,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 435cad15b4..bf735b5a7f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4e805f67a5..748145689b 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 7bde88edb1..f9a0e692c4 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -43,7 +43,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Insight; -import info.nightscout.androidaps.interfaces.PluginDescription; +import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; @@ -52,7 +52,7 @@ import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.common.ManufacturerType; +import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; diff --git a/interfaces/build.gradle b/interfaces/build.gradle index b7812addde..b40c56e3bf 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -15,4 +15,8 @@ android { } dependencies { +} +allOpen { + // allows mocking for classes w/o directly opening them for release builds + annotation 'info.nightscout.interfaces.annotations.InterfacesOpenForTesting' } \ No newline at end of file diff --git a/interfaces/src/debug/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt b/interfaces/src/debug/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt new file mode 100644 index 0000000000..e7e07b1a4b --- /dev/null +++ b/interfaces/src/debug/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt @@ -0,0 +1,15 @@ +package info.nightscout.interfaces.annotations + +/** + * This is the actual annotation that makes the class open. Don't use it directly, only through [InterfacesOpenForTesting] + * which has a NOOP replacement in production. + */ +@Target(AnnotationTarget.ANNOTATION_CLASS) +annotation class InterfacesOpenClass + +/** + * Annotate a class with [InterfacesOpenForTesting] if it should be extendable for testing. + */ +@InterfacesOpenClass +@Target(AnnotationTarget.CLASS) +annotation class InterfacesOpenForTesting \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt similarity index 92% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt rename to interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt index 4c050ca3eb..e2bdc514b5 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginDescription.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt @@ -1,9 +1,8 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces -import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.annotations.InterfacesOpenForTesting -@OpenForTesting +@InterfacesOpenForTesting class PluginDescription { var mainType = PluginType.GENERAL diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt b/interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt similarity index 82% rename from core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt rename to interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt index 01e1ff25fa..419bf80daf 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/SmsCommunicator.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import info.nightscout.interfaces.data.smsCommunicator.Sms diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseSettings.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt similarity index 72% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseSettings.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt index c1a9b18167..5a6193a7fd 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseSettings.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt @@ -1,3 +1,3 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.interfaces.pump class DoseSettings constructor(val step: Double, val durationStep: Int, val maxDuration: Int, val minDose: Double, val maxDose: Double = Double.MAX_VALUE) \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt index 179be45dc8..d414146cca 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.interfaces.pump -import java.util.* +import java.util.Locale enum class DoseStepSize(private val entries: Array) { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/common/ManufacturerType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt similarity index 85% rename from core/src/main/java/info/nightscout/androidaps/plugins/common/ManufacturerType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt index 75f9eab835..fd197fee3d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/common/ManufacturerType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.common +package info.nightscout.interfaces.pump enum class ManufacturerType(val description: String) { AAPS("AAPS"), diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpCapability.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpCapability.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt index c2555efeac..e8b58042c9 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpCapability.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.interfaces.pump enum class PumpCapability { @@ -25,7 +25,7 @@ enum class PumpCapability { OmnipodCapabilities(arrayOf(Bolus, TempBasal, BasalProfileSet, BasalRate30min)), YpsomedCapabilities(arrayOf(Bolus, ExtendedBolus, TempBasal, BasalProfileSet, Refill, ReplaceBattery, TDD, ManualTDDLoad)), // BasalRates (separately grouped) DiaconnCapabilities(arrayOf(Bolus, ExtendedBolus, TempBasal, BasalProfileSet, Refill, ReplaceBattery, TDD, ManualTDDLoad)), // - EopatchCapabilities(arrayOf(Bolus, ExtendedBolus, TempBasal, BasalProfileSet, BasalRate30min)), + EopatchCapabilities(arrayOf(Bolus, ExtendedBolus, TempBasal, BasalProfileSet, BasalRate30min)), BasalRate_Duration15minAllowed, BasalRate_Duration30minAllowed, BasalRate_Duration15and30minAllowed(arrayOf(BasalRate_Duration15minAllowed, BasalRate_Duration30minAllowed)), diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpTempBasalType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt similarity index 50% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpTempBasalType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt index 20003df6ef..101b685432 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpTempBasalType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.interfaces.pump enum class PumpTempBasalType { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomAction.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomAction.kt similarity index 78% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomAction.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomAction.kt index 5a5cde8169..e3eb80b606 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/actions/defs/CustomAction.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomAction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.general.actions.defs +package info.nightscout.interfaces.pump.actions -import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.R class CustomAction @JvmOverloads constructor(val name: Int, val customActionType: CustomActionType, val iconResourceId: Int = R.drawable.ic_actions_profileswitch, var isEnabled: Boolean = true) { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomActionType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomActionType.kt new file mode 100644 index 0000000000..b000138951 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/actions/CustomActionType.kt @@ -0,0 +1,5 @@ +package info.nightscout.interfaces.pump.actions + +interface CustomActionType { + fun getKey(): String +} \ No newline at end of file diff --git a/core/src/main/res/drawable/ic_actions_profileswitch.xml b/interfaces/src/main/res/drawable/ic_actions_profileswitch.xml similarity index 100% rename from core/src/main/res/drawable/ic_actions_profileswitch.xml rename to interfaces/src/main/res/drawable/ic_actions_profileswitch.xml diff --git a/interfaces/src/release/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt b/interfaces/src/release/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt new file mode 100644 index 0000000000..9f92faa1f7 --- /dev/null +++ b/interfaces/src/release/java/info/nightscout/interfaces/annotations/InterfacesOpenForTesting.kt @@ -0,0 +1,8 @@ +package info.nightscout.interfaces.annotations + +/** + * Annotate a class with InterfacesOpenForTestingif it should be extendable for testing. + * In production the class remains final. + */ +@Target(AnnotationTarget.CLASS) +annotation class InterfacesOpenForTesting \ No newline at end of file diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index c1021b574e..dda9fef80f 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -16,8 +16,7 @@ import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.interfaces.TraceableDBEntry import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.PluginDescription import info.nightscout.rx.logging.AAPSLogger import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index 71d1e091ee..bb9773edb6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 4ad7d69c90..661caa0637 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index 49f49117e6..be363312e6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -6,7 +6,7 @@ import com.scottyab.rootbeer.RootBeer import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R @@ -20,13 +20,14 @@ class PhoneCheckerPlugin @Inject constructor( aapsLogger: AAPSLogger, rh: ResourceHelper, private val context: Context -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.CONSTRAINTS) .neverVisible(true) .alwaysEnabled(true) .showInList(false) .pluginName(R.string.phone_checker), - aapsLogger, rh, injector + aapsLogger, rh, injector ), Constraints { var phoneRooted: Boolean = false diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 66ae53d359..85eed442a7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index aa8c24291a..841c83bca1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index 27a3d65b1e..e44b92c798 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -5,7 +5,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index c799655ef0..a7cf817c12 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.Autotune import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index 9915d11b2c..dd0419da74 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.Food import info.nightscout.androidaps.database.transactions.SyncNsFoodTransaction import info.nightscout.androidaps.extensions.foodFromJson import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -28,7 +28,8 @@ class FoodPlugin @Inject constructor( injector: HasAndroidInjector, aapsLogger: AAPSLogger, rh: ResourceHelper -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.GENERAL) .fragmentClass(FoodFragment::class.java.name) .pluginIcon(R.drawable.ic_food) diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index d9156f5c73..739f34dd12 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.Constants import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index a450640252..7e107d2c7d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.interfaces.data.smsCommunicator.Sms -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 3b4592472c..0957134777 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -36,13 +36,13 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index a1bea14b29..a11d9d6d03 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -15,7 +15,7 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index 070177a8c8..ea657e2298 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -7,7 +7,7 @@ import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.plugins.R @@ -26,13 +26,14 @@ class ThemeSwitcherPlugin @Inject constructor( rh: ResourceHelper, private val sp: SP, private val rxBus: RxBus, -) : PluginBase(PluginDescription() +) : PluginBase( + PluginDescription() .mainType(PluginType.GENERAL) .neverVisible(true) .alwaysEnabled(true) .showInList(false) .pluginName(R.string.theme_switcher), - aapsLogger, rh, injector + aapsLogger, rh, injector ) { private val compositeDisposable = CompositeDisposable() diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 2c7b5af1b6..c3877334ba 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 3b5964aefe..bd46bf1e7b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 6cfbbefac4..fa9e3b175f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4e805f67a5..748145689b 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt index 9cdd492258..5624d9512b 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.Constants import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.SmsCommunicator +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult import info.nightscout.androidaps.utils.DateUtil diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 808ba3c3cf..04dce413c3 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -29,7 +29,7 @@ import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.PluginDescription; +import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; @@ -37,7 +37,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.common.ManufacturerType; +import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index b013ca2b04..b80cc19ca3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -19,14 +19,14 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Dana; -import info.nightscout.androidaps.interfaces.PluginDescription; +import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.common.ManufacturerType; +import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 11baf1fd11..9149a3fc05 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 2b6256edc1..cf60726d70 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Dana -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -30,7 +30,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 81a5a793ef..1e1cd71cd2 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Diaconn -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -28,9 +28,9 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index dc75c55b52..ecec12212f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -7,16 +7,16 @@ import info.nightscout.androidaps.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.overview.notifications.Notification diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index bb0744317b..4e845e3abb 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -13,15 +13,15 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicCustomActionType.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicCustomActionType.kt index 80713a7fa5..210b4660d3 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicCustomActionType.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicCustomActionType.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.defs -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.actions.CustomActionType /** * Created by andy on 11/3/18. diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 44f083ef59..5bed99d9e4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump @@ -22,9 +22,9 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType -import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 9ca130f442..feb015f94a 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -41,7 +41,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.PluginDescription; +import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; @@ -49,8 +49,8 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.common.ManufacturerType; -import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType; +import info.nightscout.interfaces.pump.ManufacturerType; +import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 11875126dc..5bac57dfec 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginDescription +import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt index ad33c6b150..1b792f5591 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.task import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkTargetFrequency diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4e805f67a5..748145689b 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.common.ManufacturerType +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.TimeChangeType import org.json.JSONObject From 430a2656d0e50cb50f01aeace58b488572d18e7a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 23:10:04 +0100 Subject: [PATCH 013/123] move interfaces --- .../nightscout/rx/events/EventQueueChanged.kt | 3 +++ .../info/nightscout/androidaps/MainActivity.kt | 2 +- .../info/nightscout/androidaps/di/AppModule.kt | 8 ++++---- .../androidaps/dialogs/ExtendedBolusDialog.kt | 4 ++-- .../androidaps/dialogs/FillDialog.kt | 4 ++-- .../androidaps/dialogs/InsulinDialog.kt | 6 +++--- .../androidaps/dialogs/LoopDialog.kt | 4 ++-- .../androidaps/dialogs/ProfileSwitchDialog.kt | 2 +- .../androidaps/dialogs/TempBasalDialog.kt | 4 ++-- .../androidaps/dialogs/TempTargetDialog.kt | 2 +- .../androidaps/dialogs/TreatmentDialog.kt | 4 ++-- .../androidaps/dialogs/WizardDialog.kt | 2 +- .../implementations/ActivityNamesImpl.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 6 +++--- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 2 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 2 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../plugins/general/actions/ActionsFragment.kt | 4 ++-- .../maintenance/ImportExportPrefsImpl.kt | 2 +- .../nsclient/NSClientAddUpdateWorker.kt | 2 +- .../plugins/general/nsclient/NSClientPlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 2 +- .../PersistentNotificationPlugin.kt | 2 +- .../plugins/general/tidepool/TidepoolPlugin.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 4 ++-- .../iobCobCalculator/IobCobCalculatorPlugin.kt | 4 ++-- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 2 +- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 2 +- .../SensitivityWeightedAveragePlugin.kt | 2 +- .../androidaps/plugins/source/AidexPlugin.kt | 2 +- .../androidaps/plugins/source/GlunovoPlugin.kt | 2 +- .../plugins/source/IntelligoPlugin.kt | 2 +- .../androidaps/plugins/source/PoctechPlugin.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 8 ++++---- .../androidaps/utils/wizard/BolusWizard.kt | 6 +++--- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../plugins/aps/loop/LoopPluginTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 2 +- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../nightscout/automation/actions/Action.kt | 2 +- .../automation/actions/ActionAlarm.kt | 2 +- .../actions/ActionCarePortalEvent.kt | 2 +- .../automation/actions/ActionDummy.kt | 2 +- .../automation/actions/ActionLoopDisable.kt | 2 +- .../automation/actions/ActionLoopEnable.kt | 2 +- .../automation/actions/ActionLoopResume.kt | 2 +- .../automation/actions/ActionLoopSuspend.kt | 2 +- .../automation/actions/ActionNotification.kt | 2 +- .../automation/actions/ActionProfileSwitch.kt | 2 +- .../actions/ActionProfileSwitchPercent.kt | 2 +- .../automation/actions/ActionRunAutotune.kt | 4 ++-- .../automation/actions/ActionSendSMS.kt | 2 +- .../actions/ActionStartTempTarget.kt | 4 ++-- .../automation/actions/ActionStopProcessing.kt | 2 +- .../automation/actions/ActionStopTempTarget.kt | 2 +- .../automation/elements/InputTempTarget.kt | 2 +- .../automation/triggers/TriggerBg.kt | 2 +- .../automation/triggers/TriggerDelta.kt | 2 +- .../triggers/TriggerTempTargetValue.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../automation/actions/ActionAlarmTest.kt | 2 +- .../actions/ActionCarePortalEventTest.kt | 2 +- .../actions/ActionLoopDisableTest.kt | 2 +- .../automation/actions/ActionLoopEnableTest.kt | 2 +- .../automation/actions/ActionLoopResumeTest.kt | 2 +- .../actions/ActionLoopSuspendTest.kt | 2 +- .../actions/ActionNotificationTest.kt | 2 +- .../actions/ActionProfileSwitchPercentTest.kt | 2 +- .../actions/ActionProfileSwitchTest.kt | 2 +- .../automation/actions/ActionSendSMSTest.kt | 2 +- .../actions/ActionStartTempTargetTest.kt | 2 +- .../actions/ActionStopProcessingTest.kt | 2 +- .../actions/ActionStopTempTargetTest.kt | 2 +- .../nightscout/androidaps/data/IobTotal.kt | 2 +- .../nightscout/androidaps/data/LocalInsulin.kt | 1 + .../androidaps/data/PumpEnactResultImpl.kt | 2 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 2 +- .../androidaps/extensions/BolusExtension.kt | 2 +- .../extensions/GlucoseValueExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 2 +- .../extensions/TemporaryTargetExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 2 +- .../androidaps/interfaces/BuildHelper.kt | 2 -- .../androidaps/interfaces/CommandQueue.kt | 4 ++-- .../nightscout/androidaps/interfaces/Config.kt | 2 -- .../androidaps/interfaces/Constraints.kt | 2 +- .../nightscout/androidaps/interfaces/Dana.kt | 2 +- .../DetermineBasalAdapterInterface.kt | 2 +- .../androidaps/interfaces/GlucoseUnit.kt | 2 +- .../androidaps/interfaces/Insight.kt | 2 +- .../androidaps/interfaces/Insulin.kt | 2 +- .../androidaps/interfaces/IobCobCalculator.kt | 2 +- .../nightscout/androidaps/interfaces/Loop.kt | 2 +- .../androidaps/interfaces/Profile.kt | 2 +- .../androidaps/interfaces/ProfileSource.kt | 2 +- .../nightscout/androidaps/interfaces/Pump.kt | 4 ++-- .../EventDismissBolusProgressIfRunning.kt | 3 +-- .../graphExtensions/GlucoseValueDataPoint.kt | 2 +- .../InMemoryGlucoseValueDataPoint.kt | 2 +- .../graphExtensions/TherapyEventDataPoint.kt | 2 +- .../iob/iobCobCalculator/data/AutosensData.kt | 2 +- .../androidaps/queue/commands/Command.kt | 2 +- .../queue/events/EventQueueChanged.kt | 5 ----- .../androidaps/utils/DefaultValueHelper.kt | 6 +++--- .../utils/alertDialogs/AlertDialogHelper.kt | 6 ++++-- .../userEntry/UserEntryPresentationHelper.kt | 4 ++-- .../utils/userEntry/ValueWithUnitMapper.kt | 3 +-- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../info/nightscout/androidaps/data/IobTest.kt | 1 + .../nightscout/androidaps/data/MealDataTest.kt | 1 + .../androidaps/data/PumpEnactResultTest.kt | 1 + .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/BolusTimerImpl.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 2 +- .../queue/CommandQueueImplementation.kt | 10 +++++----- .../implementation/queue/QueueThread.kt | 6 +++--- .../queue/commands/CommandBolus.kt | 2 +- .../commands/CommandCancelExtendedBolus.kt | 2 +- .../queue/commands/CommandCancelTempBasal.kt | 2 +- .../queue/commands/CommandCustomCommand.kt | 4 ++-- .../queue/commands/CommandExtendedBolus.kt | 2 +- .../CommandInsightSetTBROverNotification.kt | 2 +- .../queue/commands/CommandLoadEvents.kt | 4 ++-- .../queue/commands/CommandLoadHistory.kt | 4 ++-- .../queue/commands/CommandLoadTDDs.kt | 2 +- .../queue/commands/CommandReadStatus.kt | 2 +- .../queue/commands/CommandSMBBolus.kt | 4 ++-- .../queue/commands/CommandSetProfile.kt | 2 +- .../queue/commands/CommandSetUserSettings.kt | 4 ++-- .../queue/commands/CommandStartPump.kt | 2 +- .../queue/commands/CommandStopPump.kt | 2 +- .../queue/commands/CommandTempBasalAbsolute.kt | 2 +- .../queue/commands/CommandTempBasalPercent.kt | 2 +- .../implementation/stats/DexcomTirImpl.kt | 2 +- .../implementation/stats/TirCalculatorImpl.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 8 ++++---- .../implementation/queue/QueueThreadTest.kt | 4 ++-- .../pump/insight/LocalInsightFragment.java | 2 +- .../pump/insight/LocalInsightPlugin.java | 2 +- interfaces/build.gradle | 2 ++ .../src/main/java/info/nightscout}/Autotune.kt | 2 +- .../nightscout}/interfaces/ActivityNames.kt | 4 ++-- .../interfaces/AndroidPermission.kt | 3 +-- .../info/nightscout}/interfaces/BolusTimer.kt | 2 +- .../info/nightscout/interfaces}/Constants.kt | 18 +++++++----------- .../info/nightscout}/interfaces/Diaconn.kt | 4 ++-- .../info/nightscout/interfaces}/data/Iob.kt | 2 +- .../nightscout/interfaces}/data/MealData.kt | 2 +- .../interfaces}/data/PumpEnactResult.kt | 2 +- .../nightscout/interfaces}/queue/Callback.kt | 5 ++--- .../interfaces/queue}/CustomCommand.kt | 2 +- .../storage/StorageConstraintPlugin.kt | 2 +- .../general/autotune/AutotuneFragment.kt | 2 +- .../plugins/general/autotune/AutotuneIob.kt | 2 +- .../plugins/general/autotune/AutotunePlugin.kt | 2 +- .../plugins/general/food/FoodFragment.kt | 2 +- .../general/smsCommunicator/AuthRequest.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 ++-- .../smsCommunicator/otp/OneTimePassword.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 4 ++-- .../plugins/profile/ProfilePlugin.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../general/smsCommunicator/AuthRequestTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 4 ++-- .../insulin/InsulinOrefBasePluginTest.kt | 2 +- .../plugins/pump/combo/ComboFragment.kt | 4 ++-- .../plugins/pump/combo/ComboPlugin.java | 2 +- .../nightscout/androidaps/dana/DanaFragment.kt | 4 ++-- .../nightscout/androidaps/dana/DanaPump.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 4 ++-- .../dana/activities/DanaUserOptionsActivity.kt | 6 +++--- .../danaRKorean/DanaRKoreanPlugin.kt | 2 +- .../services/DanaRKoreanExecutionService.java | 4 ++-- .../androidaps/danaRv2/DanaRv2Plugin.java | 2 +- .../services/DanaRv2ExecutionService.java | 8 ++++---- .../androidaps/danar/AbstractDanaRPlugin.java | 2 +- .../androidaps/danar/DanaRPlugin.java | 2 +- .../AbstractDanaRExecutionService.java | 2 +- .../danar/services/DanaRExecutionService.java | 6 +++--- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 2 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 2 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 2 +- .../danars/services/DanaRSService.kt | 8 ++++---- .../androidaps/danars/DanaRSPluginTest.kt | 2 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 4 ++-- .../androidaps/diaconn/DiaconnG8Plugin.kt | 4 ++-- .../activities/DiaconnG8HistoryActivity.kt | 2 +- .../activities/DiaconnG8UserOptionsActivity.kt | 4 ++-- .../diaconn/service/BLECommonService.kt | 2 +- .../diaconn/service/DiaconnG8Service.kt | 8 ++++---- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 4 ++-- .../ble/task/InternalSuspendedTask.java | 2 +- .../pump/eopatch/ble/task/PauseBasalTask.java | 2 +- .../pump/eopatch/ble/task/StopBasalTask.java | 2 +- .../pump/medtronic/MedtronicFragment.kt | 4 ++-- .../pump/medtronic/MedtronicPumpPlugin.kt | 4 ++-- .../queue/command/CommandDeactivatePod.java | 2 +- .../command/CommandDisableSuspendAlerts.kt | 2 +- .../queue/command/CommandHandleTimeChange.java | 2 +- .../queue/command/CommandPlayTestBeep.java | 2 +- .../queue/command/CommandResumeDelivery.java | 2 +- .../queue/command/CommandSilenceAlerts.java | 2 +- .../queue/command/CommandSuspendDelivery.java | 2 +- .../CommandUpdateAlertConfiguration.java | 2 +- .../common/viewmodel/ActionViewModelBase.kt | 2 +- .../pump/omnipod/dash/OmnipodDashPumpPlugin.kt | 6 +++--- .../dash/driver/comm/session/Connection.kt | 2 +- .../dash/ui/DashPodManagementActivity.kt | 6 +++--- .../dash/ui/OmnipodDashOverviewFragment.kt | 8 ++++---- .../action/DashInitializePodViewModel.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 2 +- .../action/DashDeactivatePodViewModel.kt | 4 ++-- .../omnipod/eros/OmnipodErosPumpPlugin.java | 8 ++++---- .../eros/manager/AapsOmnipodErosManager.java | 4 ++-- .../queue/command/CommandGetPodStatus.java | 2 +- .../queue/command/CommandReadPulseLog.java | 2 +- .../eros/ui/ErosPodManagementActivity.kt | 6 +++--- .../eros/ui/OmnipodErosOverviewFragment.kt | 8 ++++---- .../action/ErosInitializePodViewModel.kt | 2 +- .../action/ErosInsertCannulaViewModel.kt | 2 +- .../action/ErosDeactivatePodViewModel.kt | 4 ++-- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 6 +++--- .../info/nightscout/ui/dialogs/CareDialog.kt | 2 +- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 2 +- .../java/info/nightscout/ui/widget/Widget.kt | 4 ++-- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- 237 files changed, 338 insertions(+), 344 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventQueueChanged.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt rename {core/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout}/Autotune.kt (81%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/ActivityNames.kt (95%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/AndroidPermission.kt (89%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/BolusTimer.kt (84%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/Constants.kt (86%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Diaconn.kt (59%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/data/Iob.kt (96%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/data/MealData.kt (85%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/data/PumpEnactResult.kt (97%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/queue/Callback.kt (54%) rename {core/src/main/java/info/nightscout/androidaps/queue/commands => interfaces/src/main/java/info/nightscout/interfaces/queue}/CustomCommand.kt (90%) diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventQueueChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventQueueChanged.kt new file mode 100644 index 0000000000..87f66a61ae --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventQueueChanged.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventQueueChanged : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index b5190b4916..af30bb6798 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -40,7 +40,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 98f7676cb3..51c9b56f1f 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.Autotune -import info.nightscout.androidaps.interfaces.BolusTimer +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.Autotune +import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index af34ae5b87..48552a197f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -13,13 +13,13 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.DialogExtendedbolusBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index aa5c3ad014..9c3a3e6f31 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -17,13 +17,13 @@ import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTh import info.nightscout.androidaps.databinding.DialogFillBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 99b26092da..9a1855c56c 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -20,8 +20,8 @@ import info.nightscout.androidaps.databinding.DialogInsulinBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BolusTimer +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint @@ -31,7 +31,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 21d19c8d9f..2bf606bcc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraint @@ -37,7 +37,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index 40853409ba..72b58ee608 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -9,7 +9,7 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index d73a01efc7..28254bd605 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.DialogTempbasalBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index 1bdbf6c2da..20d19f9c85 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -8,7 +8,7 @@ import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner import com.google.common.collect.Lists -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index ec9e889a9f..7cdf37accb 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -17,14 +17,14 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.DialogTreatmentBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 308504161f..4382b83448 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -18,7 +18,7 @@ import android.widget.CompoundButton import androidx.fragment.app.FragmentManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 8fb0716aa0..41670112cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.WizardDialog -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index c67c8e0afc..727f776c37 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -13,7 +13,7 @@ import android.os.SystemClock import androidx.core.app.NotificationCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting @@ -32,7 +32,7 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint @@ -57,7 +57,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index d4e8a8317d..435a92aef8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 682bf2c158..2ebbe37694 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 87952c15ba..cc807fb7da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 39a72f1d93..f00593b60c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index b6a8fb7fbc..9b1872ff3a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config @@ -37,7 +37,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index a7456ddb9d..a1f2f7134d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ImportExportPrefs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt index 6aafad005b..02bbe703d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt index 42128da1d3..0a9208bc47 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt @@ -11,7 +11,7 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.interfaces.BuildHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index e801e71763..f17477535c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -27,7 +27,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index e732fab9ab..6a46f13241 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -7,7 +7,7 @@ import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt index 9c13d2fac9..86cdb742aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt @@ -5,7 +5,7 @@ import android.text.Spanned import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 9a57b1f381..58f4618744 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.wear.wearintegration import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.database.AppRepository @@ -23,7 +23,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.* diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 875a3d7f73..45e858c024 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 03b9a9c878..e4a211a4d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -6,7 +6,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index f4ddd2cafd..ec5f9bd942 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -6,7 +6,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index 7f7bb802d7..c72804266c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -6,7 +6,7 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 7893a5d2e8..f1b93bc12a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index b5efd847c8..1a2a4e9037 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 6e21f2621f..fba1e6e97d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sensitivity import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index 6b4c8d0872..41ff71caa2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index d35640421b..c167a7b742 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -5,7 +5,7 @@ import android.net.Uri import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 2a97cdd80e..1844253adf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -7,7 +7,7 @@ import android.os.Handler import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index a83668a656..457f21a1ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 88a2a92eb7..88a8d5b5ec 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -7,13 +7,13 @@ import android.net.Uri import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder @@ -114,13 +114,13 @@ class SWDefinition @Inject constructor( .validator { sp.contains(R.string.key_units) } private val displaySettings = SWScreen(injector, R.string.wear_display_settings) .skippable(false) - .add(SWEditNumberWithUnits(injector, Constants.LOWMARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) + .add(SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) .preferenceId(R.string.key_low_mark) .updateDelay(5) .label(R.string.low_mark) .comment(R.string.low_mark_comment)) .add(SWBreak(injector)) - .add(SWEditNumberWithUnits(injector, Constants.HIGHMARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) + .add(SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) .preferenceId(R.string.key_high_mark) .updateDelay(5) .label(R.string.high_mark) diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 97b29d28e0..8c077e0608 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -18,8 +18,8 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BolusTimer +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config @@ -36,7 +36,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HtmlHelper import info.nightscout.androidaps.utils.Round diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 748145689b..0b3e1d5f69 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index dbaedf5438..8b46cc47a2 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index 3057cd7bf7..8fb19b3e95 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.safety import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.database.AppRepository diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 63cf5fd4a2..d9f94c15ab 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/automation/src/main/java/info/nightscout/automation/actions/Action.kt b/automation/src/main/java/info/nightscout/automation/actions/Action.kt index 82bf97823a..d7c300a101 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/Action.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/Action.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.triggers.Trigger import info.nightscout.rx.logging.AAPSLogger import org.json.JSONException diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 67fc7486a9..4903284bb9 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -5,7 +5,7 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.TimerUtil diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index 13b7c8d1bd..47b9ad8eb2 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.T diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt index 85c0ec76af..4e0887bbb2 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback // Used for instantiation of other actions only class ActionDummy(injector: HasAndroidInjector) : Action(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index f64df26bc8..9c92ee2893 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 65e4d216b0..43ffb38316 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index 7a8a304b18..b72747d481 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEven import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index 71271b4331..1e383c7c0c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index 7d6b768427..098833e167 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationUserMessage -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 9cf909a40b..06de1213d6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index a0e0317213..7125b5f392 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index f1c6fe4a24..ef3023c325 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -5,10 +5,10 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Autotune +import info.nightscout.Autotune import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index 7e16f7d86e..1e56844f49 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 9b71279a69..49b5aa3bd6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TemporaryTarget @@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import info.nightscout.androidaps.utils.JsonHelper.safeGetDouble diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt index 88f9046cb5..ea95976bf7 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt @@ -4,7 +4,7 @@ import androidx.annotation.DrawableRes import com.google.gson.JsonObject import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index d2d152b78c..d31a3644e0 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.automation.R import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt index 83d33e1f65..c6bb945bee 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ui.NumberPicker diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt index 892e61b7b6..a9fff14702 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.JsonHelper diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt index 24a1fb3415..25d7e3b670 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.JsonHelper diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index 6e64df98b4..8df8a30bfb 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 4ab2313a44..b3d15f1e6b 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index f4ba9c7453..1eec56b744 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.TimerUtil import info.nightscout.automation.R diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt index 658218e35f..fe60db4f81 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.database.transactions.Transaction import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.elements.InputCarePortalMenu import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputString diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt index 939221884b..bd2e39f48e 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt index 5875a6dc4e..5d7b09a612 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt index ae8d4041b7..6bfb258359 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import io.reactivex.rxjava3.core.Single import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt index 0694dcc852..38526d0f3a 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index a55314f4d8..820f30ae6a 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.database.transactions.Transaction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.rx.bus.RxBus diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt index 03850393fa..6d535ec8f5 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputPercent diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt index 0bdb7fd185..efefe49f18 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt index b41950d690..395ebd588f 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt index 8c6d3a2e3a..7973d30ed6 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.database.transactions.Transaction import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputTempTarget diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt index 665b3e6d9e..450d978cf7 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt index 376a1810ea..8d2d889766 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import io.reactivex.rxjava3.core.Single import org.junit.Assert diff --git a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt index 569ed71a09..709b7d71c4 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt @@ -9,7 +9,7 @@ import org.json.JSONException import org.json.JSONObject @Suppress("SpellCheckingInspection") -class IobTotal(val time: Long) : DataPointWithLabelInterface { +class IobTotal(val time: Long) : DataPointWithLabelInterface { var iob = 0.0 var activity = 0.0 diff --git a/core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt b/core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt index c739b34b43..92c1b2e607 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.data import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.interfaces.data.Iob import kotlin.math.exp import kotlin.math.pow diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt index 6ad31d401e..808ca36aa6 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -5,8 +5,8 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.data.PumpEnactResult import org.json.JSONObject -import java.lang.UnsupportedOperationException import javax.inject.Inject class PumpEnactResultImpl(injector: HasAndroidInjector) : PumpEnactResult { diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 9886f144cf..6fdeffa5be 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -9,7 +9,7 @@ import android.view.Window import android.view.WindowManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.DialogProfileviewerBinding import info.nightscout.androidaps.data.ProfileSealed diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 065b3ac2ef..2598eea4c5 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.data.Iob +import info.nightscout.interfaces.data.Iob import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Bolus diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index a74fdff40b..79d0faf2ad 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index d77090bc2d..d3df50fb7f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.embedments.InterfaceIDs diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index ad6e909155..b7612784d6 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index 6b91e97861..935f1e1d86 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt deleted file mode 100644 index 09257d096d..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/BuildHelper.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.interfaces - diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt index f1798a1791..672a825cdb 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.interfaces import android.text.Spanned import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand interface CommandQueue { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt deleted file mode 100644 index 09257d096d..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Config.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.interfaces - diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt index 6f6137c5a2..0084721142 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants /** * Constraints interface diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt index f2ba34e703..3d8e9f0ef4 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult /** * Functionality supported by Dana* pumps only diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt index 9b8ed0d9c2..882eafb46c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt index cb0084bd88..016ddd5553 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants enum class GlucoseUnit(val asText: String) { MGDL(Constants.MGDL), diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt index 911f2b32ff..8531118f4a 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult interface Insight { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt index a786a16696..0fcd641363 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.Iob +import info.nightscout.interfaces.data.Iob import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.ConfigExportImport diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index 8609be343b..9578f50cd0 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.data.MealData +import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 77fb178729..732d53b856 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.plugins.aps.loop.APSResult diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index af4b5fba54..24d5217cab 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt index a1937ea1bf..55a51588b1 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.PureProfile import org.json.JSONArray diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index a7cca00786..854c5f7e14 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.TimeChangeType import info.nightscout.interfaces.pump.ManufacturerType import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt index 33005f9191..177bdbde9e 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.rx.events.Event class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val id: Long?) : Event() \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index af527dec05..a243611044 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index 712ef22895..406ad9e221 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.InMemoryGlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index af7179b02e..4ee2f7ad7c 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index e1933cd9d1..73c8a67c85 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.data import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index e6473d2351..e28b739212 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt b/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt deleted file mode 100644 index 274c470372..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/queue/events/EventQueueChanged.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.queue.events - -import info.nightscout.rx.events.Event - -class EventQueueChanged : Event() diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt index 65a54b63c0..9bd8a63849 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.utils -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.GlucoseUnit @@ -103,14 +103,14 @@ class DefaultValueHelper @Inject constructor( fun determineHighLine(): Double { var highLineSetting = sp.getDouble(R.string.key_high_mark, bgTargetHigh) - if (highLineSetting < 1) highLineSetting = Constants.HIGHMARK + if (highLineSetting < 1) highLineSetting = Constants.HIGH_MARK highLineSetting = Profile.toCurrentUnits(profileFunction, highLineSetting) return highLineSetting } fun determineLowLine(): Double { var lowLineSetting = sp.getDouble(R.string.key_low_mark, bgTargetLow) - if (lowLineSetting < 1) lowLineSetting = Constants.LOWMARK + if (lowLineSetting < 1) lowLineSetting = Constants.LOW_MARK lowLineSetting = Profile.toCurrentUnits(profileFunction, lowLineSetting) return lowLineSetting } diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt index fc21bce7ce..fd68b96034 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt @@ -23,9 +23,11 @@ object AlertDialogHelper { @StyleRes themeResId: Int = R.style.AppTheme, @LayoutRes layoutResource: Int = R.layout.dialog_alert_custom_title): View? { val titleLayout = LayoutInflater.from(ContextThemeWrapper(context, themeResId)).inflate(layoutResource, null) - (titleLayout.findViewById(R.id.alertdialog_title) as TextView).text = title + (titleLayout.findViewById(R.id.alertdialog_title) as TextView).apply { + text = title + isSelected = true + } (titleLayout.findViewById(R.id.alertdialog_icon) as ImageView).setImageResource(iconResource) - titleLayout.findViewById(R.id.alertdialog_title).isSelected = true return titleLayout } diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index e1fba7242d..03d72e72d4 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils.userEntry import android.text.Spanned import dagger.Reusable -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action @@ -212,7 +212,7 @@ class UserEntryPresentationHelper @Inject constructor( bg = Profile.toUnitsString(valueWithUnit.value, valueWithUnit.value * Constants.MGDL_TO_MMOLL, profileFunction.getUnits()) is ValueWithUnit.Mmoll -> - bg = Profile.toUnitsString(valueWithUnit.value * Constants.MMOLL_TO_MGDL, valueWithUnit.value , profileFunction.getUnits()) + bg = Profile.toUnitsString(valueWithUnit.value * Constants.MMOLL_TO_MGDL, valueWithUnit.value, profileFunction.getUnits()) ValueWithUnit.UNKNOWN -> Unit } diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt index 152d824a08..53834d3166 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.utils.userEntry -import androidx.annotation.StringRes -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.ValueWithUnit diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 748145689b..0b3e1d5f69 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump diff --git a/core/src/test/java/info/nightscout/androidaps/data/IobTest.kt b/core/src/test/java/info/nightscout/androidaps/data/IobTest.kt index b941a8014f..412d46f5f5 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/IobTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/IobTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.data +import info.nightscout.interfaces.data.Iob import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt b/core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt index 4dd36c1f99..80d8c79ac7 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.data +import info.nightscout.interfaces.data.MealData import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index ef5ade70b7..b759a68d3c 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -4,6 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.data.PumpEnactResult import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index b1ca298acd..f7ebebca52 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -16,7 +16,7 @@ import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator diff --git a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt index e5a11dea26..19f4f1034b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BolusTimer +import info.nightscout.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.automation.AutomationEvent diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 0ea0dbd5ef..2cbb109528 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -1,6 +1,6 @@ package info.nightscout.implementation -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.TherapyEvent diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 743ba26834..a5d57137ba 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -9,7 +9,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper @@ -19,8 +19,8 @@ import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints @@ -32,10 +32,10 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBo import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HtmlHelper diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 33782130e1..6c9080f423 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -5,17 +5,17 @@ import android.content.Context import android.os.Build import android.os.PowerManager import android.os.SystemClock -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.safeDisable import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index 4c9c16e338..f2835e0849 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index 5dfaf53912..aa361c385e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index 04544af2af..421f24acf8 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index 9d4a1ee448..ee338cbada 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -2,9 +2,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index c6787b2733..07b072e0a3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index c4fbdf7c7d..ee51f57d81 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insight -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index 90ebb177f2..59240eb6c4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -3,8 +3,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Dana -import info.nightscout.androidaps.interfaces.Diaconn -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 7ecbfa0c9c..bbbd3b270b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -3,8 +3,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Dana -import info.nightscout.androidaps.interfaces.Diaconn -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index 96e74e39fa..7483ed784b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 63fe3261a0..280a915a7b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.LocalAlertUtils -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 22c3b019fb..c007783d68 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -2,10 +2,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index bf735b5a7f..49e03f51ad 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -9,7 +9,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 36560afa6e..437fdb8cca 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -3,8 +3,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Dana -import info.nightscout.androidaps.interfaces.Diaconn -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 6c80cd3e8a..27e818c3a7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insight -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index 9bab352e82..c5f501a276 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insight -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index 76721e8225..f9d3077b1f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index d6150d8267..0d7d287ca6 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt index 653745cb33..669fdc818c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt @@ -6,7 +6,7 @@ import android.graphics.Typeface import android.view.Gravity import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index 0442497f4f..b4cce620e2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -8,7 +8,7 @@ import android.view.Gravity import android.view.ViewGroup import android.widget.TableLayout import android.widget.TextView -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 748145689b..0b3e1d5f69 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 0580cb7a57..4700324718 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -12,16 +12,16 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.implementation.R diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index 83167ee390..aa40f998c1 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -8,8 +8,8 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.AndroidPermission +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.PumpDescription diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index ef3d24daba..28ebf7228a 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -31,7 +31,7 @@ import info.nightscout.androidaps.plugins.pump.insight.descriptors.CartridgeStat import info.nightscout.androidaps.plugins.pump.insight.descriptors.InsightState; import info.nightscout.androidaps.plugins.pump.insight.descriptors.TotalDailyDose; import info.nightscout.androidaps.plugins.pump.insight.events.EventLocalInsightUpdateGUI; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index f9a0e692c4..f518a117cc 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -31,7 +31,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.insight.database.InsightBolusID; diff --git a/interfaces/build.gradle b/interfaces/build.gradle index b40c56e3bf..806bee9330 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -15,7 +15,9 @@ android { } dependencies { + api "androidx.appcompat:appcompat:$appcompat_version" } + allOpen { // allows mocking for classes w/o directly opening them for release builds annotation 'info.nightscout.interfaces.annotations.InterfacesOpenForTesting' diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Autotune.kt b/interfaces/src/main/java/info/nightscout/Autotune.kt similarity index 81% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Autotune.kt rename to interfaces/src/main/java/info/nightscout/Autotune.kt index 93c20f71d5..15211a532c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Autotune.kt +++ b/interfaces/src/main/java/info/nightscout/Autotune.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout interface Autotune { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ActivityNames.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt index 8956062b12..e7c167e043 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces +import androidx.fragment.app.FragmentManager import android.content.Context import androidx.annotation.RawRes -import androidx.fragment.app.FragmentManager /** * Interface to use activities located in different modules diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt b/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt similarity index 89% rename from core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt rename to interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt index a6e643c412..5cf3b3c10d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/AndroidPermission.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt @@ -1,8 +1,7 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import android.content.Context import androidx.fragment.app.FragmentActivity -import info.nightscout.interfaces.SmsCommunicator interface AndroidPermission { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/BolusTimer.kt b/interfaces/src/main/java/info/nightscout/interfaces/BolusTimer.kt similarity index 84% rename from core/src/main/java/info/nightscout/androidaps/interfaces/BolusTimer.kt rename to interfaces/src/main/java/info/nightscout/interfaces/BolusTimer.kt index f735fbd775..2ac46cc560 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/BolusTimer.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/BolusTimer.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface BolusTimer { diff --git a/core/src/main/java/info/nightscout/androidaps/Constants.kt b/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt similarity index 86% rename from core/src/main/java/info/nightscout/androidaps/Constants.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Constants.kt index 0db6377431..9de3afd8cb 100644 --- a/core/src/main/java/info/nightscout/androidaps/Constants.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt @@ -1,15 +1,12 @@ -package info.nightscout.androidaps - -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.utils.T.Companion.mins +package info.nightscout.interfaces /** * Created by mike on 07.06.2016. */ object Constants { - const val MGDL = ValueWithUnit.MGDL // This is Nightscout's representation - const val MMOL = ValueWithUnit.MMOL + const val MGDL = "mg/dl" // This is Nightscout's representation + const val MMOL = "mmol" const val MMOLL_TO_MGDL = 18.0 // 18.0182; const val MGDL_TO_MMOLL = 1 / MMOLL_TO_MGDL const val defaultDIA = 5.0 @@ -28,8 +25,7 @@ object Constants { const val CPP_MAX_PERCENTAGE = 250 const val CPP_MIN_TIMESHIFT = -6 const val CPP_MAX_TIMESHIFT = 23 - const val MAX_PROFILE_SWITCH_DURATION = (7 * 24 * 60 // [min] ~ 7 days - ).toDouble() + const val MAX_PROFILE_SWITCH_DURATION = (7 * 24 * 60).toDouble()// [min] ~ 7 days //DanaR const val dailyLimitWarning = 0.95 @@ -65,14 +61,14 @@ object Constants { const val MIN_WATCHDOG_INTERVAL_IN_SECONDS = 12 * 60 //SMS Communicator - val SMS_CONFIRM_TIMEOUT = mins(5L).msecs() + const val SMS_CONFIRM_TIMEOUT = 5L * 60 * 1000 //Storage [MB] const val MINIMUM_FREE_SPACE: Long = 200 // Overview - const val LOWMARK = 76.0 - const val HIGHMARK = 180.0 + const val LOW_MARK = 76.0 + const val HIGH_MARK = 180.0 // STATISTICS const val STATS_TARGET_LOW_MMOL = 3.9 diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt b/interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt similarity index 59% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt index 4cab15b1b6..31a4c8d741 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Diaconn.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult interface Diaconn { diff --git a/core/src/main/java/info/nightscout/androidaps/data/Iob.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/data/Iob.kt rename to interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt index 8cf734a625..c8ac1e5908 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/Iob.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.data class Iob { diff --git a/core/src/main/java/info/nightscout/androidaps/data/MealData.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt similarity index 85% rename from core/src/main/java/info/nightscout/androidaps/data/MealData.kt rename to interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt index 98f8adca7c..39feaba54e 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/MealData.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.data class MealData { diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt rename to interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt index 7fcab3465c..fa7aa7c081 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.data import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt b/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt similarity index 54% rename from core/src/main/java/info/nightscout/androidaps/queue/Callback.kt rename to interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt index 9c9a5fa71e..1caedf9aca 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/Callback.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.queue +package info.nightscout.interfaces.queue -import info.nightscout.androidaps.data.PumpEnactResult -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.interfaces.data.PumpEnactResult abstract class Callback : Runnable { diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/CustomCommand.kt b/interfaces/src/main/java/info/nightscout/interfaces/queue/CustomCommand.kt similarity index 90% rename from core/src/main/java/info/nightscout/androidaps/queue/commands/CustomCommand.kt rename to interfaces/src/main/java/info/nightscout/interfaces/queue/CustomCommand.kt index e2fdd9fdb9..6cc9b22f4f 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/CustomCommand.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/queue/CustomCommand.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.queue.commands +package info.nightscout.interfaces.queue import java.io.Serializable diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index 841c83bca1..97667553ec 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.constraints.storage import android.os.Environment import android.os.StatFs import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 5ca5667830..8268cc7291 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -19,7 +19,7 @@ import android.widget.TableRow import android.widget.TextView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 756c99ef2f..84d43b9428 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.database.AppRepository diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index a7cf817c12..139d49af70 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Autotune +import info.nightscout.Autotune import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index e14263f65b..5d043286f1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.InvalidateFoodTransaction import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index 739f34dd12..1b04b2acfc 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.general.smsCommunicator import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 0957134777..b4f93a2177 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -11,7 +11,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.interfaces.data.smsCommunicator.Sms @@ -48,7 +48,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt index a50f4bd05e..58bb086dc5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.general.smsCommunicator.otp import android.util.Base64 import com.eatthepath.otp.HmacOneTimePasswordGenerator import com.google.common.io.BaseEncoding -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index bd46bf1e7b..bea443d931 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.Iob +import info.nightscout.interfaces.data.Iob import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.Config diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index ecfd9166b1..fee013d37b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -10,13 +10,13 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index fa9e3b175f..8becf96ba4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -6,7 +6,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 748145689b..0b3e1d5f69 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt index 5624d9512b..8e39332b8c 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.general.smsCommunicator import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 753af7f2c0..ab9874ce19 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.general.smsCommunicator import android.telephony.SmsManager import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.IobTotal @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.interfaces.PluginType diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 680b1cc75a..e843fe725d 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt index a496f0cb73..48483f6168 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt @@ -17,8 +17,8 @@ import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil.DisplayType import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 04dce413c3..58fe183aaa 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -23,7 +23,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 3a915472e2..13fc02cb0f 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -18,14 +18,14 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Dana import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index e8758375e2..6a6c3b9bce 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.dana import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 8e638cf33b..943d570f06 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -8,7 +8,7 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.comm.RecordTypes @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index dba95d41e8..02afdb9609 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -2,16 +2,16 @@ package info.nightscout.androidaps.dana.activities import android.content.Context import android.os.Bundle -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventInitializationChanged diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 8d7826b25f..27d3f9cc3e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionServi import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 2ec952dd19..ca5cc9d5ee 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -8,7 +8,7 @@ import java.io.IOException; import javax.inject.Inject; -import info.nightscout.androidaps.Constants; +import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -37,7 +37,7 @@ import info.nightscout.androidaps.danar.comm.MsgSettingShippingInfo; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 80617e10ce..bd353ced18 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -17,7 +17,7 @@ import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index c61774d723..d6b77cbbcb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -10,7 +10,7 @@ import java.io.IOException; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.Constants; +import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -49,12 +49,12 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.ActivityNames; +import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; @@ -65,7 +65,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.T; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index b80cc19ca3..f38a21780d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -10,7 +10,7 @@ import info.nightscout.androidaps.dana.DanaFragment; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index c357343fe7..70689467e3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -15,7 +15,7 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index 88a26daa60..ca20645943 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -39,7 +39,7 @@ import info.nightscout.androidaps.danar.comm.MsgHistoryRefill; import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index 48be34a631..a6ac7f907d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -9,7 +9,7 @@ import java.io.IOException; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.Constants; +import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -44,7 +44,7 @@ import info.nightscout.androidaps.danar.comm.MsgStatus; import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; @@ -57,7 +57,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 9149a3fc05..0fe4e7170e 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index b2cca57328..d68a7e0db5 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.danaR import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index 8ff8fbdde1..1f49efa241 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index 8562ee3832..d059f24212 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.danaRv2 import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRv2.DanaRv2Plugin diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index cf60726d70..38b9e0fd2c 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 83b78b8c6f..31c4bdb765 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -8,7 +8,7 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.events.EventDanaRNewStatus @@ -55,12 +55,12 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetUserOption import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile @@ -70,7 +70,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.overview.notifications.Notification -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index 2e32594abb..458976386f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danars import android.content.Context import dagger.android.AndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.interfaces.PluginType diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index f578a67f88..adb473c0b3 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -15,11 +15,11 @@ import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 1e1cd71cd2..c5cb7e2563 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -10,7 +10,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service @@ -19,7 +19,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Diaconn +import info.nightscout.interfaces.Diaconn import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 232acff3a7..f87835491c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index c6f64c7ae0..6c4e978ec7 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -10,9 +10,9 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.databinding.DiaconnG8UserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.logging.LTag diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index 19df038d07..7c5d96534e 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -28,7 +28,7 @@ import info.nightscout.androidaps.diaconn.packet.InsulinLackReportPacket import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 76e2fa282e..4e84cbcc66 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -8,8 +8,8 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.diaconn.DiaconnG8Pump @@ -50,7 +50,7 @@ import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile @@ -62,7 +62,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewB import info.nightscout.androidaps.plugins.general.overview.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index ecec12212f..518889edd5 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.BolusExDuration import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java index 3e82c2d3e9..8bf552accb 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetInternalSuspendTime; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchInternalSuspendTimeResponse; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java index a2429f597d..90cde768ca 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java @@ -18,7 +18,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalPause; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java index 87f8928f1a..6ef8cab40f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java @@ -13,7 +13,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; -import info.nightscout.androidaps.queue.Callback; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 4d469792b2..41f99a6344 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -29,8 +29,8 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 4e845e3abb..41af533ff6 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -8,10 +8,10 @@ import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDeactivatePod.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDeactivatePod.java index b3300b15ef..41d8559856 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDeactivatePod.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDeactivatePod.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandDeactivatePod implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDisableSuspendAlerts.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDisableSuspendAlerts.kt index 384c115d27..1eca6de81e 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDisableSuspendAlerts.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandDisableSuspendAlerts.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand class CommandDisableSuspendAlerts: CustomCommand { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandHandleTimeChange.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandHandleTimeChange.java index 5dfdcdcab6..8bc53bbafb 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandHandleTimeChange.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandHandleTimeChange.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandHandleTimeChange implements CustomCommand { private final boolean requestedByUser; diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandPlayTestBeep.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandPlayTestBeep.java index d62d59d726..e1d0faf4d6 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandPlayTestBeep.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandPlayTestBeep.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public class CommandPlayTestBeep implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandResumeDelivery.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandResumeDelivery.java index 2d8af85bdd..111ab1ed9f 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandResumeDelivery.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandResumeDelivery.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandResumeDelivery implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSilenceAlerts.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSilenceAlerts.java index b0089d949f..3d018325fe 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSilenceAlerts.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSilenceAlerts.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandSilenceAlerts implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSuspendDelivery.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSuspendDelivery.java index f3478e7d50..25979ae779 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSuspendDelivery.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandSuspendDelivery.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandSuspendDelivery implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandUpdateAlertConfiguration.java b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandUpdateAlertConfiguration.java index be1f7549ae..4fce2f6962 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandUpdateAlertConfiguration.java +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/queue/command/CommandUpdateAlertConfiguration.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandUpdateAlertConfiguration implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index 4a745a9f7a..61cd019ef0 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common. import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 5bed99d9e4..6d05056bf7 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -6,13 +6,13 @@ import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile @@ -60,7 +60,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.OmnipodDashOvervi import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.queue.commands.CustomCommand +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt index 6fcbfd65b4..dc8affeca2 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt @@ -6,7 +6,7 @@ import android.bluetooth.BluetoothManager import android.bluetooth.BluetoothProfile import android.content.Context import android.os.SystemClock -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.extensions.toHex import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Ids diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index 3ebbc5c8c7..affd5d1830 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -6,7 +6,7 @@ import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandPlayTestBeep import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.PodActivationWizardActivity @@ -16,8 +16,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activation.DashPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivation.DashPodDeactivationWizardActivity -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 10f9e7ea6e..261c4fa1b2 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -9,10 +9,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper @@ -33,8 +33,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index b240c1f4f0..4aee796fb5 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 1b36626575..02de9dfc5c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt index 8945e35ebb..35a753f799 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.notifications.Notification @@ -10,7 +10,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index feb015f94a..60656123dd 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -35,11 +35,11 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.ActivityNames; +import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; @@ -95,8 +95,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.service.Ri import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.OmnipodErosOverviewFragment; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; -import info.nightscout.androidaps.queue.Callback; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.CustomCommand; import info.nightscout.androidaps.services.AlarmSoundService; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index efaa1bf52b..25f569b04a 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -15,10 +15,10 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; -import info.nightscout.androidaps.interfaces.ActivityNames; +import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandGetPodStatus.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandGetPodStatus.java index 3df5898ff9..d8af4314aa 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandGetPodStatus.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandGetPodStatus.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandGetPodStatus implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandReadPulseLog.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandReadPulseLog.java index 507abd12ca..f7e2fcd1ec 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandReadPulseLog.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/queue/command/CommandReadPulseLog.java @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command; import org.jetbrains.annotations.NotNull; -import info.nightscout.androidaps.queue.commands.CustomCommand; +import info.nightscout.interfaces.queue.CustomCommand; public final class CommandReadPulseLog implements CustomCommand { @NotNull @Override public String getStatusDescription() { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index 8123bfc461..b9413319b3 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -8,7 +8,7 @@ import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -28,8 +28,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandReadPulseLog import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activation.ErosPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivation.ErosPodDeactivationWizardActivity -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.ui.UIRunnable diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index 507a8ccbdb..6aac7f6b9a 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -9,10 +9,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification @@ -41,8 +41,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandGetPodStatus import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil -import info.nightscout.androidaps.queue.Callback -import info.nightscout.androidaps.queue.events.EventQueueChanged +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt index a31d927a27..6dddc8120f 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt index 39261e5abf..84bd6add79 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt index 019e53ae80..2fb49cdc22 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 00512a398c..a5f8ebb2d2 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 5bac57dfec..896266a48c 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -7,7 +7,7 @@ import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 9a15f76d77..7f29af0325 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -25,7 +25,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 55349df801..dffc669c05 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -17,8 +17,8 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.BolusTimer +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint @@ -30,7 +30,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.queue.Callback +import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HtmlHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 6a38278de7..7df737d709 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -10,7 +10,7 @@ import android.view.ViewGroup import androidx.annotation.StringRes import com.google.common.base.Joiner import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index 8a0f1c7b16..c7cac95f15 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.BolusCalculatorResult import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index de35a30027..f9d173e6be 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -13,14 +13,14 @@ import android.os.HandlerThread import android.view.View import android.widget.RemoteViews import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Constants +import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ActivityNames +import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 748145689b..0b3e1d5f69 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.data.PumpEnactResult +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump From 8641273d7c384602318efdc52c3e815a0b621686 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 23:58:05 +0100 Subject: [PATCH 014/123] move to interfaces --- .../nightscout/rx}/events/EventOverviewBolusProgress.kt | 6 ++---- .../main/java/info/nightscout/androidaps/MainActivity.kt | 2 +- app/src/main/java/info/nightscout/androidaps/MainApp.kt | 4 ++-- .../androidaps/activities/PreferencesActivity.kt | 2 +- .../androidaps/activities/SingleFragmentActivity.kt | 2 +- .../main/java/info/nightscout/androidaps/di/AppModule.kt | 6 +++--- .../nightscout/androidaps/dialogs/ExtendedBolusDialog.kt | 2 +- .../java/info/nightscout/androidaps/dialogs/FillDialog.kt | 2 +- .../info/nightscout/androidaps/dialogs/InsulinDialog.kt | 2 +- .../nightscout/androidaps/dialogs/ProfileSwitchDialog.kt | 2 +- .../info/nightscout/androidaps/dialogs/TempBasalDialog.kt | 2 +- .../nightscout/androidaps/dialogs/TempTargetDialog.kt | 2 +- .../info/nightscout/androidaps/dialogs/TreatmentDialog.kt | 2 +- .../info/nightscout/androidaps/dialogs/WizardDialog.kt | 4 ++-- .../androidaps/plugins/aps/loop/LoopFragment.kt | 2 +- .../nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt | 2 +- .../plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt | 2 +- .../plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt | 1 + .../androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt | 3 ++- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 4 ++-- .../plugins/constraints/objectives/ObjectivesFragment.kt | 2 +- .../androidaps/plugins/constraints/safety/SafetyPlugin.kt | 4 ++-- .../general/dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../plugins/general/maintenance/ImportExportPrefsImpl.kt | 5 +++-- .../plugins/general/maintenance/MaintenanceFragment.kt | 2 +- .../plugins/general/nsclient/NSClientAddUpdateWorker.kt | 6 +++--- .../androidaps/plugins/general/nsclient/NSClientPlugin.kt | 2 +- .../androidaps/plugins/general/nsclient/data/NSAlarm.kt | 2 +- .../plugins/general/nsclient/data/NSDeviceStatus.kt | 6 +++--- .../plugins/general/nsclient/data/NSSettingsStatus.kt | 4 ++-- .../androidaps/plugins/general/nsclient/data/NSSgv.kt | 2 +- .../plugins/general/nsclient/services/NSClientService.kt | 6 +++--- .../plugins/general/overview/OverviewFragment.kt | 2 +- .../overview/activities/QuickWizardListActivity.kt | 6 +++--- .../plugins/general/overview/graphData/GraphData.kt | 2 +- .../general/overview/notifications/NotificationStore.kt | 1 + .../overview/notifications/NotificationWithAction.kt | 1 + .../androidaps/plugins/general/tidepool/TidepoolPlugin.kt | 2 +- .../androidaps/plugins/general/wear/WearPlugin.kt | 2 +- .../iob/iobCobCalculator/IobCobCalculatorPlugin.kt | 2 +- .../plugins/iob/iobCobCalculator/IobCobOref1Worker.kt | 4 ++-- .../plugins/iob/iobCobCalculator/IobCobOrefWorker.kt | 4 ++-- .../androidaps/plugins/pump/PumpSyncImplementation.kt | 2 +- .../androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt | 6 +++--- .../plugins/sensitivity/AbstractSensitivityPlugin.kt | 2 +- .../plugins/sensitivity/SensitivityOref1Plugin.kt | 2 +- .../androidaps/plugins/source/NSClientSourcePlugin.kt | 2 +- .../nightscout/androidaps/plugins/source/PoctechPlugin.kt | 2 +- .../androidaps/receivers/TimeDateOrTZChangeReceiver.kt | 2 +- .../androidaps/setupwizard/SetupWizardActivity.kt | 2 +- .../info/nightscout/androidaps/utils/JSONFormatter.kt | 2 +- .../nightscout/androidaps/utils/wizard/BolusWizard.kt | 4 ++-- .../androidaps/utils/wizard/QuickWizardEntry.kt | 4 ++-- .../nightscout/androidaps/workflow/PrepareBgDataWorker.kt | 2 +- .../workflow/PrepareIobAutosensGraphDataWorker.kt | 2 +- .../androidaps/workflow/PrepareTreatmentsDataWorker.kt | 2 +- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../java/info/nightscout/automation/AutomationFragment.kt | 8 ++++---- .../info/nightscout/automation/actions/ActionAlarm.kt | 4 ++-- .../automation/actions/ActionCarePortalEvent.kt | 2 +- .../nightscout/automation/actions/ActionLoopSuspend.kt | 2 +- .../nightscout/automation/actions/ActionNotification.kt | 4 ++-- .../nightscout/automation/actions/ActionProfileSwitch.kt | 2 +- .../automation/actions/ActionProfileSwitchPercent.kt | 2 +- .../nightscout/automation/actions/ActionRunAutotune.kt | 4 ++-- .../info/nightscout/automation/actions/ActionSendSMS.kt | 2 +- .../automation/actions/ActionStartTempTarget.kt | 4 ++-- .../java/info/nightscout/automation/elements/InputTime.kt | 2 +- .../info/nightscout/automation/elements/InputTimeRange.kt | 2 +- .../automation/triggers/TriggerAutosensValue.kt | 4 ++-- .../nightscout/automation/triggers/TriggerBTDevice.kt | 2 +- .../java/info/nightscout/automation/triggers/TriggerBg.kt | 2 +- .../nightscout/automation/triggers/TriggerBolusAgo.kt | 4 ++-- .../info/nightscout/automation/triggers/TriggerCOB.kt | 4 ++-- .../nightscout/automation/triggers/TriggerConnector.kt | 2 +- .../info/nightscout/automation/triggers/TriggerDelta.kt | 2 +- .../info/nightscout/automation/triggers/TriggerIob.kt | 2 +- .../nightscout/automation/triggers/TriggerLocation.kt | 2 +- .../automation/triggers/TriggerProfilePercent.kt | 2 +- .../automation/triggers/TriggerPumpLastConnection.kt | 4 ++-- .../automation/triggers/TriggerRecurringTime.kt | 4 ++-- .../nightscout/automation/triggers/TriggerTempTarget.kt | 2 +- .../automation/triggers/TriggerTempTargetValue.kt | 2 +- .../info/nightscout/automation/triggers/TriggerTime.kt | 2 +- .../nightscout/automation/triggers/TriggerTimeRange.kt | 4 ++-- .../nightscout/automation/triggers/TriggerWifiSsid.kt | 2 +- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../info/nightscout/automation/actions/ActionAlarmTest.kt | 2 +- .../automation/triggers/TriggerRecurringTimeTest.kt | 2 +- .../automation/triggers/TriggerTimeRangeTest.kt | 2 +- .../activities/DaggerAppCompatActivityWithResult.kt | 2 +- .../androidaps/activities/DialogAppCompatActivity.kt | 2 +- .../androidaps/activities/NoSplashAppCompatActivity.kt | 2 +- .../main/java/info/nightscout/androidaps/data/IobTotal.kt | 2 +- .../java/info/nightscout/androidaps/data/ProfileSealed.kt | 2 +- .../nightscout/androidaps/data/PumpEnactResultImpl.kt | 2 +- .../nightscout/androidaps/dialogs/BolusProgressDialog.kt | 2 +- .../nightscout/androidaps/dialogs/ProfileViewerDialog.kt | 2 +- .../extensions/BolusCalculatorResultExtension.kt | 2 +- .../nightscout/androidaps/extensions/BolusExtension.kt | 2 +- .../nightscout/androidaps/extensions/CarbsExtension.kt | 2 +- .../extensions/EffectiveProfileSwitchExtension.kt | 2 +- .../androidaps/extensions/ExtendedBolusExtension.kt | 2 +- .../nightscout/androidaps/extensions/FoodExtension.kt | 2 +- .../androidaps/extensions/OfflineEventExtension.kt | 2 +- .../androidaps/extensions/ProfileSwitchExtension.kt | 2 +- .../androidaps/extensions/TemporaryBasalExtension.kt | 2 +- .../androidaps/extensions/TemporaryTargetExtension.kt | 2 +- .../androidaps/extensions/TherapyEventExtension.kt | 2 +- .../nightscout/androidaps/interfaces/ImportExportPrefs.kt | 2 +- .../java/info/nightscout/androidaps/interfaces/Profile.kt | 2 +- .../info/nightscout/androidaps/interfaces/ProfileStore.kt | 2 +- .../java/info/nightscout/androidaps/interfaces/Pump.kt | 2 +- .../main/java/info/nightscout/androidaps/logging/LImpl.kt | 2 -- .../nightscout/androidaps/plugins/aps/loop/APSResult.kt | 2 +- .../plugins/configBuilder/RunningConfiguration.kt | 4 ++-- .../constraints/versionChecker/VersionCheckerUtils.kt | 2 +- .../plugins/general/maintenance/PrefFileListProvider.kt | 3 ++- .../plugins/general/maintenance/PrefsFileContract.kt | 1 + .../maintenance/activities/PrefImportListActivity.kt | 4 ++-- .../general/maintenance/formats/EncryptedPrefsFormat.kt | 2 +- .../androidaps/plugins/general/nsclient/data/NSMbg.kt | 2 +- .../general/overview/events/EventNewNotification.kt | 2 +- .../overview/notifications/NotificationWithAction.kt | 2 -- .../plugins/iob/iobCobCalculator/GlucoseStatus.kt | 2 +- .../plugins/iob/iobCobCalculator/data/AutosensData.kt | 2 +- .../androidaps/plugins/pump/common/defs/PumpType.kt | 2 +- .../androidaps/receivers/NetworkChangeReceiver.kt | 2 +- .../java/info/nightscout/androidaps/utils/ToastUtils.kt | 3 ++- .../nightscout/androidaps/utils/ui/BasalProfileGraph.kt | 2 +- .../info/nightscout/androidaps/utils/ui/IcProfileGraph.kt | 2 +- .../nightscout/androidaps/utils/ui/IsfProfileGraph.kt | 2 +- .../androidaps/utils/ui/TargetBgProfileGraph.kt | 2 +- .../utils/userEntry/UserEntryPresentationHelper.kt | 2 +- core/src/main/res/values/strings.xml | 1 - .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../androidaps/plugins/aps/loop/APSResultTest.kt | 2 +- .../general/maintenance/formats/SingleStringStorage.kt | 2 +- .../info/nightscout/androidaps/utils/JsonHelperTest.kt | 1 + .../info/nightscout/androidaps/utils/MidnightTimeTest.kt | 1 + .../java/info/nightscout/androidaps/utils/RoundTest.kt | 1 + .../info/nightscout/androidaps/utils/StringUtilsTest.kt | 1 + .../nightscout/implementation/AndroidPermissionImpl.kt | 2 +- .../java/info/nightscout/implementation/CarbTimerImpl.kt | 2 +- .../info/nightscout/implementation/LocalAlertUtilsImpl.kt | 2 +- .../implementation/queue/CommandQueueImplementation.kt | 4 ++-- .../commands/CommandInsightSetTBROverNotification.kt | 2 +- .../implementation/queue/commands/CommandStartPump.kt | 2 +- .../implementation/queue/commands/CommandStopPump.kt | 2 +- .../implementation/stats/DexcomTirCalculatorImpl.kt | 2 +- .../nightscout/implementation/stats/TddCalculatorImpl.kt | 2 +- .../nightscout/implementation/stats/TirCalculatorImpl.kt | 2 +- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../info/nightscout/implementation/CarbTimerImplTest.kt | 2 +- .../plugins/pump/insight/InsightAlertService.java | 2 +- .../plugins/pump/insight/LocalInsightPlugin.java | 6 +++--- .../pump/insight/activities/InsightAlertActivity.java | 2 +- interfaces/build.gradle | 5 +++++ .../java/info/nightscout/{ => interfaces}/Autotune.kt | 2 +- .../src/main/java/info/nightscout}/interfaces/Insight.kt | 2 +- .../java/info/nightscout/interfaces/aps}/SMBDefaults.kt | 2 +- .../info/nightscout/interfaces/data/PrefsImportDir.kt | 2 -- .../nightscout/interfaces/data}/maintenance/PrefsFile.kt | 8 ++------ .../interfaces}/dragHelpers/ItemTouchHelperAdapter.kt | 2 +- .../interfaces}/dragHelpers/OnStartDragListener.kt | 2 +- .../dragHelpers/SimpleItemTouchHelperCallback.kt | 2 +- .../info/nightscout/interfaces}/locale/LocaleHelper.kt | 6 +++--- .../nightscout/interfaces}/notifications/Notification.kt | 6 +++--- .../interfaces}/notifications/NotificationUserMessage.kt | 2 +- .../permissions/OptimizationPermissionContract.kt | 5 ++--- .../info/nightscout/interfaces}/storage/FileStrorage.kt | 2 +- .../java/info/nightscout/interfaces}/storage/Storage.kt | 2 +- .../java/info/nightscout/interfaces}/utils/HtmlHelper.kt | 2 +- .../java/info/nightscout/interfaces}/utils/JsonHelper.kt | 2 +- .../info/nightscout/interfaces}/utils/MidnightTime.kt | 4 ++-- .../main/java/info/nightscout/interfaces}/utils/Round.kt | 3 +-- .../java/info/nightscout/interfaces}/utils/StringUtils.kt | 2 +- .../info/nightscout/interfaces}/utils/TimeChangeType.kt | 2 +- .../java/info/nightscout/interfaces}/utils/TimerUtil.kt | 2 +- interfaces/src/main/res/values/strings.xml | 3 +++ .../plugins/constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../signatureVerifier/SignatureVerifierPlugin.kt | 2 +- .../constraints/storage/StorageConstraintPlugin.kt | 2 +- .../constraints/versionChecker/VersionCheckerPlugin.kt | 2 +- .../nightscout/plugins/general/autotune/AutotuneCore.kt | 2 +- .../plugins/general/autotune/AutotuneFragment.kt | 4 ++-- .../nightscout/plugins/general/autotune/AutotuneIob.kt | 2 +- .../nightscout/plugins/general/autotune/AutotunePlugin.kt | 6 +++--- .../nightscout/plugins/general/autotune/AutotunePrep.kt | 4 ++-- .../nightscout/plugins/general/autotune/data/ATProfile.kt | 2 +- .../info/nightscout/plugins/general/food/FoodPlugin.kt | 2 +- .../general/smsCommunicator/SmsCommunicatorFragment.kt | 2 +- .../general/smsCommunicator/SmsCommunicatorPlugin.kt | 2 +- .../nightscout/plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../java/info/nightscout/plugins/profile/ProfilePlugin.kt | 4 ++-- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../plugins/general/autotune/AutotuneCoreTest.kt | 2 +- .../plugins/general/autotune/AutotunePrepTest.kt | 2 +- .../androidaps/plugins/pump/combo/ComboPlugin.java | 4 ++-- .../main/java/info/nightscout/androidaps/dana/DanaPump.kt | 2 +- .../androidaps/danaRKorean/DanaRKoreanPlugin.kt | 4 ++-- .../danaRKorean/comm/MsgInitConnStatusBasic_k.kt | 2 +- .../danaRKorean/comm/MsgInitConnStatusBolus_k.kt | 2 +- .../danaRKorean/comm/MsgInitConnStatusTime_k.kt | 2 +- .../danaRKorean/services/DanaRKoreanExecutionService.java | 4 ++-- .../info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java | 4 ++-- .../androidaps/danaRv2/comm/MsgCheckValue_v2.kt | 2 +- .../danaRv2/services/DanaRv2ExecutionService.java | 4 ++-- .../nightscout/androidaps/danar/AbstractDanaRPlugin.java | 4 ++-- .../info/nightscout/androidaps/danar/DanaRPlugin.java | 4 ++-- .../nightscout/androidaps/danar/comm/MsgBolusProgress.kt | 2 +- .../info/nightscout/androidaps/danar/comm/MsgBolusStop.kt | 2 +- .../info/nightscout/androidaps/danar/comm/MsgError.kt | 2 +- .../androidaps/danar/comm/MsgInitConnStatusBolus.kt | 2 +- .../androidaps/danar/comm/MsgInitConnStatusOption.kt | 2 +- .../androidaps/danar/comm/MsgInitConnStatusTime.kt | 2 +- .../androidaps/danar/comm/MsgSetBasalProfile.kt | 2 +- .../androidaps/danar/comm/MsgSetSingleBasalProfile.kt | 2 +- .../nightscout/androidaps/danar/comm/MsgSettingMeal.kt | 2 +- .../danar/services/AbstractDanaRExecutionService.java | 4 ++-- .../androidaps/danar/services/DanaRExecutionService.java | 4 ++-- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../plugins/pump/danaR/comm/MsgBolusProgressTest.kt | 2 +- .../plugins/pump/danaR/comm/MsgBolusStopTest.kt | 2 +- .../info/nightscout/androidaps/danars/DanaRSPlugin.kt | 6 +++--- .../danars/comm/DanaRSPacketBasalGetBasalRate.kt | 2 +- .../danars/comm/DanaRSPacketBolusGetBolusOption.kt | 2 +- .../danars/comm/DanaRSPacketBolusSetStepBolusStop.kt | 2 +- .../danars/comm/DanaRSPacketGeneralGetPumpCheck.kt | 2 +- .../androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt | 2 +- .../danars/comm/DanaRSPacketNotifyDeliveryComplete.kt | 2 +- .../danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt | 2 +- .../info/nightscout/androidaps/danars/services/BLEComm.kt | 2 +- .../androidaps/danars/services/DanaRSService.kt | 4 ++-- .../danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt | 2 +- .../danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt | 2 +- .../comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt | 2 +- .../info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt | 6 +++--- .../info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt | 2 +- .../androidaps/diaconn/service/DiaconnG8Service.kt | 4 ++-- .../androidaps/plugins/pump/eopatch/EONotification.kt | 2 +- .../androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt | 6 +++--- .../androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt | 2 +- .../plugins/pump/eopatch/alarm/AlarmRegistry.kt | 2 +- .../plugins/pump/medtronic/MedtronicPumpPlugin.kt | 4 ++-- .../plugins/pump/medtronic/data/MedtronicHistoryData.kt | 2 +- .../pump/medtronic/defs/MedtronicNotificationType.kt | 5 +++-- .../plugins/pump/medtronic/util/MedtronicUtil.kt | 2 +- .../plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt | 8 ++++---- .../pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt | 2 +- .../driver/pod/state/OmnipodDashPodStateManagerImpl.kt | 2 +- .../pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../viewmodel/action/DashInsertCannulaViewModel.kt | 2 +- .../viewmodel/action/DashDeactivatePodViewModel.kt | 2 +- .../plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java | 6 +++--- .../omnipod/eros/manager/AapsErosPodStateManager.java | 2 +- .../pump/omnipod/eros/manager/AapsOmnipodErosManager.java | 4 ++-- .../pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt | 2 +- .../androidaps/plugins/pump/common/PumpPluginAbstract.kt | 2 +- .../hw/rileylink/RileyLinkCommunicationManager.java | 2 +- .../rileylink/service/tasks/InitializePumpManagerTask.kt | 2 +- .../info/nightscout/ui/defaultProfile/DefaultProfile.kt | 2 +- .../java/info/nightscout/ui/dialogs/CalibrationDialog.kt | 2 +- .../main/java/info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt | 2 +- .../java/info/nightscout/androidaps/TestPumpPlugin.kt | 2 +- 267 files changed, 352 insertions(+), 346 deletions(-) rename {core/src/main/java/info/nightscout/androidaps/plugins/general/overview => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventOverviewBolusProgress.kt (72%) delete mode 100644 core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt delete mode 100644 core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt rename interfaces/src/main/java/info/nightscout/{ => interfaces}/Autotune.kt (85%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Insight.kt (82%) rename {core/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB => interfaces/src/main/java/info/nightscout/interfaces/aps}/SMBDefaults.kt (98%) delete mode 100644 interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt rename {core/src/main/java/info/nightscout/androidaps/plugins/general => interfaces/src/main/java/info/nightscout/interfaces/data}/maintenance/PrefsFile.kt (56%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/dragHelpers/ItemTouchHelperAdapter.kt (93%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/dragHelpers/OnStartDragListener.kt (84%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/dragHelpers/SimpleItemTouchHelperCallback.kt (96%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/locale/LocaleHelper.kt (94%) rename {core/src/main/java/info/nightscout/androidaps/plugins/general/overview => interfaces/src/main/java/info/nightscout/interfaces}/notifications/Notification.kt (95%) rename {core/src/main/java/info/nightscout/androidaps/plugins/general/overview => interfaces/src/main/java/info/nightscout/interfaces}/notifications/NotificationUserMessage.kt (79%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/permissions/OptimizationPermissionContract.kt (91%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/storage/FileStrorage.kt (85%) rename {core/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/storage/Storage.kt (81%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/HtmlHelper.kt (82%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/JsonHelper.kt (99%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/MidnightTime.kt (95%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/Round.kt (92%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/StringUtils.kt (89%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/TimeChangeType.kt (67%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/utils/TimerUtil.kt (94%) diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOverviewBolusProgress.kt similarity index 72% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOverviewBolusProgress.kt index b4db9ce15b..4f94fbb17f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventOverviewBolusProgress.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventOverviewBolusProgress.kt @@ -1,6 +1,4 @@ -package info.nightscout.androidaps.plugins.general.overview.events - -import info.nightscout.rx.events.Event +package info.nightscout.rx.events object EventOverviewBolusProgress : Event() { @@ -11,4 +9,4 @@ object EventOverviewBolusProgress : Event() { var percent = 0 fun isSMB(): Boolean = t?.isSMB ?: false -} +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index af30bb6798..b6b700a6fb 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -56,7 +56,7 @@ import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index aaf6a74c00..93f71a8299 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -32,7 +32,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore import info.nightscout.androidaps.receivers.BTReceiver import info.nightscout.androidaps.receivers.ChargingStateReceiver @@ -42,7 +42,7 @@ import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.ProcessLifecycleListener -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt index 076c441126..9f84fd4a26 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt @@ -9,7 +9,7 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityPreferencesBinding -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper class PreferencesActivity : NoSplashAppCompatActivity(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback { diff --git a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt index 634720f0b4..404e9c2aa9 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt @@ -8,7 +8,7 @@ import android.view.MenuItem import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.ProtectionCheck import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 51c9b56f1f..35789d6948 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission -import info.nightscout.Autotune +import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer @@ -54,8 +54,8 @@ import info.nightscout.androidaps.utils.androidNotification.NotificationHolderIm import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation -import info.nightscout.androidaps.utils.storage.FileStorage -import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.storage.FileStorage +import info.nightscout.interfaces.storage.Storage import info.nightscout.implementation.AndroidPermissionImpl import info.nightscout.implementation.BolusTimerImpl import info.nightscout.implementation.CarbTimerImpl diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index 48552a197f..5bc5f11a9c 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 9c3a3e6f31..c6c27ae420 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -25,7 +25,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 9a1855c56c..48d020b7d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -34,7 +34,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index 72b58ee608..e92f10d54c 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -28,7 +28,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index 28254bd605..d1589f1561 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index 20d19f9c85..1bfd70b4a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 7cdf37accb..40a432fe52 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 4382b83448..36df01c9bb 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -39,8 +39,8 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index eab0a8396f..bc60f20f48 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 727f776c37..271bb0a073 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -55,7 +55,7 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotifi import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.ReceiverStatusStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 435a92aef8..22b462ee1f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index a1f297aef9..9fe186b0a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 2ebbe37694..825ae79077 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -19,6 +19,7 @@ import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 45f1442b94..dec26786ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -30,7 +30,8 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index cc807fb7da..4440c3467e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -20,10 +20,10 @@ import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index 2de90f9022..b3999456ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -32,7 +32,7 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.SntpClient import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index 59800e3f7b..7713151d85 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -25,12 +25,12 @@ import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index d380bd40b0..696e688c8a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index a1f2f7134d..94059fc847 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -44,7 +44,7 @@ import info.nightscout.interfaces.data.maintenance.PrefsFormat import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -52,8 +52,9 @@ import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.alertDialogs.TwoMessagesAlertDialog import info.nightscout.androidaps.utils.alertDialogs.WarningDialog import info.nightscout.androidaps.utils.protection.PasswordCheck -import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.storage.Storage import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper +import info.nightscout.interfaces.data.maintenance.PrefsFile import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 12ba0bb024..683922c9cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryDatabase import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt index 02bbe703d6..c61ecbc596 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt @@ -39,12 +39,12 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.JsonHelper.safeGetLong +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetLong import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt index 0a9208bc47..fbdf390f68 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientS import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.nsclient.services.NSClientService import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper.fromHtml +import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt index 2705b5ba56..81d8f0e5b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.nsclient.data -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject class NSAlarm(private var data: JSONObject) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt index 53ef1342e8..88d65bd314 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt @@ -8,9 +8,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.HtmlHelper.fromHtml -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.HtmlHelper.fromHtml +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt index ce8b8c11e2..7913034f54 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt @@ -10,9 +10,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt index 11d3b39127..c9d6208940 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.nsclient.data -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt index 44971db2b5..50c9dcd960 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt @@ -38,14 +38,14 @@ import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientS import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin.NSClientSourceWorker import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.JsonHelper.safeGetString -import info.nightscout.androidaps.utils.JsonHelper.safeGetStringAllowNull +import info.nightscout.interfaces.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull import info.nightscout.androidaps.utils.T.Companion.mins import info.nightscout.plugins.general.food.FoodPlugin.FoodWorker import info.nightscout.plugins.profile.ProfilePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index f17477535c..5b2af79806 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -85,7 +85,7 @@ import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index ddd841b336..f19fd18d94 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -25,9 +25,9 @@ import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.dragHelpers.ItemTouchHelperAdapter -import info.nightscout.androidaps.utils.dragHelpers.OnStartDragListener -import info.nightscout.androidaps.utils.dragHelpers.SimpleItemTouchHelperCallback +import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter +import info.nightscout.interfaces.dragHelpers.OnStartDragListener +import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index eb151c8b14..3c4355c26f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Effec import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.TimeAsXAxisLabelFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt index a5fd3ce935..b30043ef3f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt @@ -21,6 +21,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt index 6ecdbbd048..dcd758ea16 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt @@ -7,6 +7,7 @@ import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt index 86cdb742aa..5af4f7a711 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolU import info.nightscout.androidaps.plugins.general.tidepool.utils.RateLimit import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index b18f85a491..ab221c3824 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 45e858c024..de64470006 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index e4a211a4d4..b6fd44d7e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -16,9 +16,9 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index ec5f9bd942..b5c4aadb42 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -14,9 +14,9 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt index 89152e3794..07588f3cb0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt @@ -35,7 +35,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index c72804266c..edf56a75ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -26,15 +26,15 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index c9ef7f8241..f7586edf4b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 1a2a4e9037..30a97b3bd5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index ec0c40a6b1..c54f90cdd2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.nsclient.data.NSSgv import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 457f21a1ad..ab9da0a3eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt index 9d15dd9678..bceeef2eea 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt @@ -6,7 +6,7 @@ import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.BundleLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 9819c62aee..db98314bb5 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.locale.LocaleHelper.update +import info.nightscout.interfaces.locale.LocaleHelper.update import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged diff --git a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt b/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt index ed9202fe0d..e9d6fcc417 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils import android.text.Spanned -import info.nightscout.androidaps.utils.HtmlHelper.fromHtml +import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger import org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 8c077e0608..af7cd0b09f 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -38,8 +38,8 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.HtmlHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index a85ede2596..732f37eece 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper.safeGetInt -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetInt +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 04169682bb..7b27505a00 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Gluco import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.interfaces.ResourceHelper import java.util.ArrayList import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 498e481a56..e0bd34f1e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index 344c10c228..a210c90cbe 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Thera import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.rx.bus.RxBus diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0b3e1d5f69..526446dbf4 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index 497e4d46e7..ec5cb94394 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -30,11 +30,11 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.dragHelpers.ItemTouchHelperAdapter -import info.nightscout.androidaps.utils.dragHelpers.OnStartDragListener -import info.nightscout.androidaps.utils.dragHelpers.SimpleItemTouchHelperCallback +import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter +import info.nightscout.interfaces.dragHelpers.OnStartDragListener +import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback import info.nightscout.automation.databinding.AutomationEventItemBinding import info.nightscout.automation.databinding.AutomationFragmentBinding import info.nightscout.automation.dialogs.EditEventDialog diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 4903284bb9..829315fbe9 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -7,8 +7,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.TimerUtil +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index 47b9ad8eb2..876478db84 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import info.nightscout.automation.R import info.nightscout.automation.elements.InputCarePortalMenu diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index 1e383c7c0c..d7f6d46e48 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index 098833e167..d240cc4670 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -7,9 +7,9 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationUserMessage +import info.nightscout.interfaces.notifications.NotificationUserMessage import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 06de1213d6..f65109c293 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 7125b5f392..935e4de072 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index ef3023c325..aefccf54e7 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -5,11 +5,11 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.Autotune +import info.nightscout.interfaces.Autotune import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index 1e56844f49..45c23849bc 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 49b5aa3bd6..d2a13544e6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -19,8 +19,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.JsonHelper.safeGetDouble +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt index a8235ca852..e494f6fca7 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt @@ -14,7 +14,7 @@ import com.google.android.material.timepicker.TimeFormat import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import java.util.Calendar diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt index 39d0351074..0f388e88b9 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt @@ -15,7 +15,7 @@ import com.google.android.material.timepicker.TimeFormat import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import java.util.Calendar diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt index 7d24e3cd14..aaeb112523 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt @@ -3,8 +3,8 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper.safeGetDouble -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDouble diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt index 1e20c7002c..17cbafa370 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt @@ -9,7 +9,7 @@ import android.widget.LinearLayout import androidx.core.app.ActivityCompat import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt index a9fff14702..2e6e2a9b04 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputBg diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt index 2d363d5442..e7a5aa3439 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt @@ -5,8 +5,8 @@ import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt index f1c1b63515..f539b2d6ef 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt @@ -3,8 +3,8 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.JsonHelper.safeGetDouble +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDouble diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt index baf5e3ae36..b530e73e4c 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt @@ -10,7 +10,7 @@ import androidx.annotation.StringRes import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.androidaps.utils.ui.VerticalTextView import info.nightscout.automation.R import info.nightscout.automation.dialogs.ChooseOperationDialog diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt index 25d7e3b670..b06ba2d997 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDelta diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt index d65e1205c7..50f1faac99 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputInsulin diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt index 8326e881ac..12eb214118 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt @@ -4,7 +4,7 @@ import android.location.Location import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputButton import info.nightscout.automation.elements.InputDouble diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt index 2a2e7b69ef..7450b740f7 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputPercent diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt index 1f11e3ee61..d59c7e96e5 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt @@ -3,8 +3,8 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper.safeGetInt -import info.nightscout.androidaps.utils.JsonHelper.safeGetString +import info.nightscout.interfaces.utils.JsonHelper.safeGetInt +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt index 8a7710ea18..97206e1b9a 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt @@ -4,8 +4,8 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import info.nightscout.automation.elements.InputTime import info.nightscout.automation.elements.InputWeekDay diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt index 13ab332295..fe401a4eee 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists import info.nightscout.automation.elements.LayoutBuilder diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index 8df8a30bfb..9bff4e0834 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -7,7 +7,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputBg diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt index 2c32bd8c01..d3fd18ad13 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import info.nightscout.automation.R import info.nightscout.automation.elements.InputDateTime diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt index 09735c60bd..92506c3ce1 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt @@ -4,8 +4,8 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.JsonHelper.safeGetInt -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.JsonHelper.safeGetInt +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import info.nightscout.automation.elements.InputTimeRange import info.nightscout.automation.elements.LayoutBuilder diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt index 9cc2916c0e..53804ea6e8 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputString diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index b3d15f1e6b..cf100ba22f 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 1eec56b744..4c1eba61e9 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.TimerUtil +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.rx.bus.RxBus diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt index 20063486e6..420886e011 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.triggers -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import org.json.JSONObject import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt index f4b2967b07..f6268a57aa 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import org.json.JSONObject import org.junit.Assert diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index 6249b7189e..80fc72fe81 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.permissions.OptimizationPermissionContract +import info.nightscout.interfaces.permissions.OptimizationPermissionContract import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt b/core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt index 6150a62840..318b1f1d18 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.activities import android.content.Context import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper open class DialogAppCompatActivity : DaggerAppCompatActivity() { override fun attachBaseContext(newBase: Context) { diff --git a/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt b/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt index 3f35af09e7..c08dd5a6d9 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.activities import android.content.Context import android.os.Bundle import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventThemeSwitch import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt index 709b7d71c4..609ae15925 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt @@ -4,7 +4,7 @@ import android.content.Context import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import org.json.JSONException import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index efd5717664..b6b8cd4216 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.Profile.ProfileValue import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt index 808ca36aa6..30e5f2f034 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.data.PumpEnactResult import org.json.JSONObject import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index ea31f8216c..6214485f5e 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 6fdeffa5be..2c22ed8729 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -25,7 +25,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus import org.json.JSONObject import java.text.DecimalFormat diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 40839caafb..1073b543ba 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun BolusCalculatorResult.toJson(isAdd: Boolean, dateUtil: DateUtil, profileFunction: ProfileFunction): JSONObject = diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 2598eea4c5..f50728ad3b 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt index 2c01a65105..fecf881479 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun Carbs.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt index 1384908c4d..517d12f81f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun EffectiveProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index a09163585c..5cc69e1968 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject import kotlin.math.ceil diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt index fe61aff11e..c77c73a607 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun foodFromJson(jsonObject: JSONObject): Food? { diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt index f55acc3675..c150fd643c 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index d3df50fb7f..cf03d76f96 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject import java.util.* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 660a9d6ced..f6101e576b 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject import kotlin.math.ceil diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index b7612784d6..ae7a846565 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.interfaces.ResourceHelper import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index 935f1e1d86..50bb28ca31 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject import java.util.concurrent.TimeUnit diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt index efed509a3a..aabfda8524 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.interfaces import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity -import info.nightscout.androidaps.plugins.general.maintenance.PrefsFile +import info.nightscout.interfaces.data.maintenance.PrefsFile interface ImportExportPrefs { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index 24d5217cab..7bae1e82b1 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.joda.time.DateTime diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index ccf94a11b2..6238e4ee1e 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index 854c5f7e14..8d0758340c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -6,7 +6,7 @@ import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.pump.ManufacturerType import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt b/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt deleted file mode 100644 index b8c685b857..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/logging/LImpl.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.logging - diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 0971699506..5f6d1521c1 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HtmlHelper.fromHtml +import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt index 5963d67465..e48d0434ee 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt @@ -11,9 +11,9 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index 7391f5dcfe..d297303d1c 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index 9a87950fe1..bbd9ad2157 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -8,9 +8,10 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.* import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.data.maintenance.PrefMetadata import info.nightscout.interfaces.data.maintenance.PrefMetadataMap +import info.nightscout.interfaces.data.maintenance.PrefsFile import info.nightscout.interfaces.data.maintenance.PrefsImportDir import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt index 9fafc080f9..817235649f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt @@ -6,6 +6,7 @@ import androidx.activity.result.contract.ActivityResultContract import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.extensions.safeGetParcelableExtra import info.nightscout.androidaps.plugins.general.maintenance.activities.PrefImportListActivity +import info.nightscout.interfaces.data.maintenance.PrefsFile class PrefsFileContract : ActivityResultContract() { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt index 35c2f1957d..9e9bef24fc 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt @@ -15,11 +15,11 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.MaintenanceImportListActivityBinding import info.nightscout.androidaps.core.databinding.MaintenanceImportListItemBinding import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider -import info.nightscout.androidaps.plugins.general.maintenance.PrefsFile +import info.nightscout.interfaces.data.maintenance.PrefsFile import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus -import info.nightscout.androidaps.utils.locale.LocaleHelper +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.interfaces.ResourceHelper import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt index 9866caa0fc..a43c0bf29f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError import info.nightscout.interfaces.data.maintenance.PrefFormatError import info.nightscout.interfaces.data.maintenance.PrefIOError diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt index c89aa23610..063420e272 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.nsclient.data -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject class NSMbg(val json: JSONObject) { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt index e3896196b6..1fe7a89b07 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.events.Event class EventNewNotification(var notification: Notification) : Event() diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt deleted file mode 100644 index 2effa44c0e..0000000000 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications - diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt index 9173bf5d59..f74aa69837 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round data class GlucoseStatus( val glucose: Double, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index 73c8a67c85..c7d8bb9be2 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt index 1b1d4aac1b..6d6e2da5f2 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.pump.DoseSettings import info.nightscout.interfaces.pump.DoseStepSize import info.nightscout.interfaces.pump.ManufacturerType diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt index f6bcc219d7..33b9cf70a4 100644 --- a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt +++ b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt @@ -8,7 +8,7 @@ import android.net.NetworkCapabilities import android.net.wifi.SupplicantState import android.net.wifi.WifiManager import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.utils.StringUtils +import info.nightscout.interfaces.utils.StringUtils import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNetworkChange import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt b/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt index e58b6d9fa7..4cff217013 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt @@ -14,8 +14,9 @@ import androidx.annotation.StringRes import androidx.appcompat.view.ContextThemeWrapper import info.nightscout.androidaps.core.R import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.resources.getThemeColor +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus object ToastUtils { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt index 79ed829b0f..15a5a86449 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt @@ -8,7 +8,7 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt index 02dc50a0f4..e70b7b0da2 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt @@ -8,7 +8,7 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt index d449cdf15a..fae4aa98e8 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt @@ -8,7 +8,7 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt index 7ff5dba32c..def0b4809e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DoubleDataPoint -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index 03d72e72d4..decec3f24f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.interfaces.ResourceHelper import javax.inject.Inject diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 8789af78bb..9a155e24e0 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -2,7 +2,6 @@ enable_fabric2 - language units loop_openmode_min_change absorption_maxtime diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0b3e1d5f69..526446dbf4 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index c26ab637af..3393d68436 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.JsonHelper.safeGetDouble +import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt index 715aafff28..54da243ada 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats -import info.nightscout.androidaps.utils.storage.Storage +import info.nightscout.interfaces.storage.Storage import java.io.File class SingleStringStorage(var contents: String) : Storage { diff --git a/core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt index fbbd78f525..bdc4c3a355 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.utils +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt index 528dc1c094..d87289fb61 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.utils +import info.nightscout.interfaces.utils.MidnightTime import org.junit.Assert import org.junit.Test import java.util.* diff --git a/core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt index e798b28e35..1d7865c4cb 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.utils +import info.nightscout.interfaces.utils.Round import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt index 3bf95fa75e..e571002ca2 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.utils +import info.nightscout.interfaces.utils.StringUtils import org.junit.Assert import org.junit.Test diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index f7ebebca52..76e68a78bb 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -20,7 +20,7 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt index 54ce862894..aa9675f2d6 100644 --- a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.TimerUtil +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.actions.ActionAlarm diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 2cbb109528..5458fcd27b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -17,7 +17,7 @@ import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index a5d57137ba..69cb50a4bd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -31,14 +31,14 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index ee51f57d81..805cd565b2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insight +import info.nightscout.interfaces.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 27e818c3a7..58d8d699b5 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insight +import info.nightscout.interfaces.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index c5f501a276..e618791d06 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insight +import info.nightscout.interfaces.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index 1fd2c58bc1..acf8280100 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index e06ea61c73..d791aec4c4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index b4cce620e2..b580af9136 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TIR import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.implementation.R import javax.inject.Inject diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0b3e1d5f69..526446dbf4 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 7bc20506ed..887e3b9b2a 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.TimerUtil +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java index 1929a5764b..457d8c8294 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java @@ -38,7 +38,7 @@ import info.nightscout.androidaps.plugins.pump.insight.exceptions.InsightExcepti import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_errors.AppLayerErrorException; import info.nightscout.androidaps.plugins.pump.insight.utils.AlertUtils; import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator; -import info.nightscout.androidaps.utils.HtmlHelper; +import info.nightscout.interfaces.utils.HtmlHelper; import info.nightscout.androidaps.interfaces.ResourceHelper; public class InsightAlertService extends DaggerService implements InsightConnectionService.StateCallback { diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index f518a117cc..e935905d56 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -42,7 +42,7 @@ import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Insight; +import info.nightscout.interfaces.Insight; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; @@ -55,8 +55,8 @@ import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.HistoryReadingDirection; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightAlertActivity.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightAlertActivity.java index 4d98c8137d..e1cb05d8e7 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightAlertActivity.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightAlertActivity.java @@ -22,7 +22,7 @@ import info.nightscout.androidaps.plugins.pump.insight.InsightAlertService; import info.nightscout.androidaps.plugins.pump.insight.descriptors.Alert; import info.nightscout.androidaps.plugins.pump.insight.descriptors.AlertStatus; import info.nightscout.androidaps.plugins.pump.insight.utils.AlertUtils; -import info.nightscout.androidaps.utils.HtmlHelper; +import info.nightscout.interfaces.utils.HtmlHelper; public class InsightAlertActivity extends DaggerAppCompatActivity { diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 806bee9330..09d5a2a9d5 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -16,6 +16,11 @@ android { dependencies { api "androidx.appcompat:appcompat:$appcompat_version" + api "androidx.preference:preference-ktx:$preferencektx_version" + + // Dagger + api "com.google.dagger:dagger:$dagger_version" + api "com.google.dagger:dagger-android:$dagger_version" } allOpen { diff --git a/interfaces/src/main/java/info/nightscout/Autotune.kt b/interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt similarity index 85% rename from interfaces/src/main/java/info/nightscout/Autotune.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt index 15211a532c..bf80da51e3 100644 --- a/interfaces/src/main/java/info/nightscout/Autotune.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt @@ -1,4 +1,4 @@ -package info.nightscout +package info.nightscout.interfaces interface Autotune { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt b/interfaces/src/main/java/info/nightscout/interfaces/Insight.kt similarity index 82% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Insight.kt index 8531118f4a..7b4ad61cb6 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Insight.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Insight.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import info.nightscout.interfaces.data.PumpEnactResult diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/SMBDefaults.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/SMBDefaults.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/SMBDefaults.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/SMBDefaults.kt index decb71cc07..048d79d650 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/SMBDefaults.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/SMBDefaults.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMB +package info.nightscout.interfaces.aps @Suppress("SpellCheckingInspection") object SMBDefaults { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt deleted file mode 100644 index 3ad837d825..0000000000 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/PrefsImportDir.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.interfaces.data - diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt similarity index 56% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt rename to interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt index 31b632e733..d3f32e4464 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFile.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt @@ -1,9 +1,6 @@ -package info.nightscout.androidaps.plugins.general.maintenance +package info.nightscout.interfaces.data.maintenance import android.os.Parcelable -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsImportDir import kotlinx.parcelize.Parcelize import kotlinx.parcelize.RawValue import java.io.File @@ -17,5 +14,4 @@ data class PrefsFile( // metadata here is used only for list display val metadata: @RawValue Map -) : Parcelable - +) : Parcelable \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/ItemTouchHelperAdapter.kt b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/ItemTouchHelperAdapter.kt similarity index 93% rename from core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/ItemTouchHelperAdapter.kt rename to interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/ItemTouchHelperAdapter.kt index d76f12c4a2..30cc8ac887 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/ItemTouchHelperAdapter.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/ItemTouchHelperAdapter.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.dragHelpers +package info.nightscout.interfaces.dragHelpers interface ItemTouchHelperAdapter { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/OnStartDragListener.kt b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/OnStartDragListener.kt similarity index 84% rename from core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/OnStartDragListener.kt rename to interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/OnStartDragListener.kt index 0924f37b2a..0fef839133 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/OnStartDragListener.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/OnStartDragListener.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.dragHelpers +package info.nightscout.interfaces.dragHelpers import androidx.recyclerview.widget.RecyclerView diff --git a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/SimpleItemTouchHelperCallback.kt b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/SimpleItemTouchHelperCallback.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/SimpleItemTouchHelperCallback.kt rename to interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/SimpleItemTouchHelperCallback.kt index 2dc27917bc..cad3cc83d5 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/dragHelpers/SimpleItemTouchHelperCallback.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/dragHelpers/SimpleItemTouchHelperCallback.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.dragHelpers +package info.nightscout.interfaces.dragHelpers import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper.ACTION_STATE_DRAG diff --git a/core/src/main/java/info/nightscout/androidaps/utils/locale/LocaleHelper.kt b/interfaces/src/main/java/info/nightscout/interfaces/locale/LocaleHelper.kt similarity index 94% rename from core/src/main/java/info/nightscout/androidaps/utils/locale/LocaleHelper.kt rename to interfaces/src/main/java/info/nightscout/interfaces/locale/LocaleHelper.kt index 43da5e85c5..61520f1411 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/locale/LocaleHelper.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/locale/LocaleHelper.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.utils.locale +package info.nightscout.interfaces.locale import android.content.Context import android.content.ContextWrapper import android.os.LocaleList import androidx.preference.PreferenceManager -import info.nightscout.androidaps.core.R -import java.util.* +import info.nightscout.interfaces.R +import java.util.Locale object LocaleHelper { private fun selectedLanguage(context: Context): String = diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/Notification.kt b/interfaces/src/main/java/info/nightscout/interfaces/notifications/Notification.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/Notification.kt rename to interfaces/src/main/java/info/nightscout/interfaces/notifications/Notification.kt index 1bea9d26dd..7f86ba157d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/Notification.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/notifications/Notification.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications +package info.nightscout.interfaces.notifications import android.content.Context import androidx.annotation.RawRes -import info.nightscout.androidaps.utils.T +import java.util.concurrent.TimeUnit open class Notification { @@ -31,7 +31,7 @@ open class Notification { date = System.currentTimeMillis() this.text = text this.level = level - validTo = System.currentTimeMillis() + T.mins(validMinutes.toLong()).msecs() + validTo = System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(validMinutes.toLong()) } constructor(id: Int, text: String, level: Int) { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationUserMessage.kt b/interfaces/src/main/java/info/nightscout/interfaces/notifications/NotificationUserMessage.kt similarity index 79% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationUserMessage.kt rename to interfaces/src/main/java/info/nightscout/interfaces/notifications/NotificationUserMessage.kt index 3310b36b51..be39876b5a 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationUserMessage.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/notifications/NotificationUserMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications +package info.nightscout.interfaces.notifications class NotificationUserMessage (text :String): Notification() { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/permissions/OptimizationPermissionContract.kt b/interfaces/src/main/java/info/nightscout/interfaces/permissions/OptimizationPermissionContract.kt similarity index 91% rename from core/src/main/java/info/nightscout/androidaps/utils/permissions/OptimizationPermissionContract.kt rename to interfaces/src/main/java/info/nightscout/interfaces/permissions/OptimizationPermissionContract.kt index 5bb020df21..c28d65c84f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/permissions/OptimizationPermissionContract.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/permissions/OptimizationPermissionContract.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.permissions +package info.nightscout.interfaces.permissions import android.content.Context import android.content.Intent @@ -16,5 +16,4 @@ class OptimizationPermissionContract : ActivityResultContract() { it.data = Uri.parse("package:" + context.packageName) } } -} - +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/utils/storage/FileStrorage.kt b/interfaces/src/main/java/info/nightscout/interfaces/storage/FileStrorage.kt similarity index 85% rename from core/src/main/java/info/nightscout/androidaps/utils/storage/FileStrorage.kt rename to interfaces/src/main/java/info/nightscout/interfaces/storage/FileStrorage.kt index 410d0f3860..05138548a5 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/storage/FileStrorage.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/storage/FileStrorage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.storage +package info.nightscout.interfaces.storage import java.io.File import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/utils/storage/Storage.kt b/interfaces/src/main/java/info/nightscout/interfaces/storage/Storage.kt similarity index 81% rename from core/src/main/java/info/nightscout/androidaps/utils/storage/Storage.kt rename to interfaces/src/main/java/info/nightscout/interfaces/storage/Storage.kt index 81668e8d40..7f6a31d009 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/storage/Storage.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/storage/Storage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.storage +package info.nightscout.interfaces.storage import java.io.File diff --git a/core/src/main/java/info/nightscout/androidaps/utils/HtmlHelper.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/HtmlHelper.kt similarity index 82% rename from core/src/main/java/info/nightscout/androidaps/utils/HtmlHelper.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/HtmlHelper.kt index 873c751e2e..753be44cc0 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/HtmlHelper.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/HtmlHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils import android.text.Html import android.text.Spanned diff --git a/core/src/main/java/info/nightscout/androidaps/utils/JsonHelper.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/JsonHelper.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/JsonHelper.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/JsonHelper.kt index 5f411115fb..a19e58b55e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/JsonHelper.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/JsonHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils import org.json.JSONException import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/utils/MidnightTime.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/MidnightTime.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/utils/MidnightTime.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/MidnightTime.kt index 2187ba9c0e..2d7ea84f2f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/MidnightTime.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/MidnightTime.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils import android.util.LongSparseArray -import java.util.* +import java.util.Calendar object MidnightTime { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/Round.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/Round.kt similarity index 92% rename from core/src/main/java/info/nightscout/androidaps/utils/Round.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/Round.kt index e7ca2f5fd8..10a7a96c25 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/Round.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/Round.kt @@ -1,6 +1,5 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils -import android.os.Bundle import java.math.BigDecimal import java.security.InvalidParameterException import kotlin.math.abs diff --git a/core/src/main/java/info/nightscout/androidaps/utils/StringUtils.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/StringUtils.kt similarity index 89% rename from core/src/main/java/info/nightscout/androidaps/utils/StringUtils.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/StringUtils.kt index d989d2ec36..4576d18f8f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/StringUtils.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/StringUtils.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils /** * class contains useful String functions diff --git a/core/src/main/java/info/nightscout/androidaps/utils/TimeChangeType.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/TimeChangeType.kt similarity index 67% rename from core/src/main/java/info/nightscout/androidaps/utils/TimeChangeType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/TimeChangeType.kt index aadf96aa01..a50a8686ca 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/TimeChangeType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/TimeChangeType.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils enum class TimeChangeType { TimezoneChanged, DSTStarted, DSTEnded, TimeChanged diff --git a/core/src/main/java/info/nightscout/androidaps/utils/TimerUtil.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/TimerUtil.kt similarity index 94% rename from core/src/main/java/info/nightscout/androidaps/utils/TimerUtil.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/TimerUtil.kt index a6db094b08..741e4ba519 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/TimerUtil.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/TimerUtil.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.interfaces.utils import android.content.Context import android.content.Intent diff --git a/interfaces/src/main/res/values/strings.xml b/interfaces/src/main/res/values/strings.xml index af9dfa0380..aba75400d9 100644 --- a/interfaces/src/main/res/values/strings.xml +++ b/interfaces/src/main/res/values/strings.xml @@ -12,4 +12,7 @@ New debug format (unencrypted) Unknown export format + + language + diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 661caa0637..11a002ecfa 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 85eed442a7..6edc7fce43 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index 97667553ec..ea1288e4fc 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index e44b92c798..3565928ae2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt index 713540de25..4f8d3f531d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.data.LocalInsulin -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 8268cc7291..54d3c47bb2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -36,8 +36,8 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.MidnightTime -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.MidnightTime +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.plugins.R import info.nightscout.plugins.databinding.AutotuneFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 84d43b9428..484cececce 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 139d49af70..d5c4e96f7e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.Autotune +import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PluginBase @@ -20,8 +20,8 @@ import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper -import info.nightscout.androidaps.utils.MidnightTime +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt index a6e80ba27c..4330cae601 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt @@ -5,8 +5,8 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.MidnightTime -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.MidnightTime +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 783a4c20ad..6cd077fe99 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.shared.SafeParse diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index dd0419da74..dd0cad2bb4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index 7e107d2c7d..606c213461 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -9,7 +9,7 @@ import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.databinding.SmscommunicatorFragmentBinding import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui import info.nightscout.rx.AapsSchedulers diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index b4f93a2177..e67e5f1d6d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -46,7 +46,7 @@ import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index bea443d931..4df7985223 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 8becf96ba4..175df21037 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -24,12 +24,12 @@ import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.plugins.R diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0b3e1d5f69..526446dbf4 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index a7081253d4..1a6d091c15 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index c7c98c3e0d..e0bdb6ce8e 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 58fe183aaa..3008fc8c77 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -40,8 +40,8 @@ import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BasalProfile; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BolusProgressReporter; diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index 6a6c3b9bce..7162b20567 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -5,7 +5,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 27d3f9cc3e..01aa0e3bd4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -22,11 +22,11 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt index d712f57753..3fa3f43153 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBasic_k.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgInitConnStatusBasic_k( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt index 6a2cf180b6..e2cb794beb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusBolus_k.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgInitConnStatusBolus_k( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt index 8c03d9c3f6..d4db1502d1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index ca5cc9d5ee..3cfe233a91 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -48,8 +48,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.DateUtil; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index bd353ced18..2c93d50c34 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -26,13 +26,13 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.utils.Round; import info.nightscout.androidaps.utils.T; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt index fd422c846a..0869ee08d3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index d6b77cbbcb..117cf288af 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -62,8 +62,8 @@ import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index f38a21780d..c2c2865df0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -29,10 +29,10 @@ import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; -import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.utils.Round; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 70689467e3..7348f45bca 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -25,11 +25,11 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.utils.Round; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt index 7bdf3c78dd..a4b69a08ee 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusProgress.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.LTag import kotlin.math.min diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt index ded96cb4ba..f5b3f0f51e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStop.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.LTag class MsgBolusStop( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt index 46f762f0b8..57401f87bf 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgError.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.LTag class MsgError( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt index 0df624d6e2..b68fc2e2e6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusBolus.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgInitConnStatusBolus( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt index 76e400a6cf..5c9ae31d0f 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusOption.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgInitConnStatusOption( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt index 212d9a6cce..4b8c1631fe 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt index b8df7c6a66..4351cb6a5b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetBasalProfile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgSetBasalProfile( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt index 992ab818db..e138c5755b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetSingleBasalProfile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgSetSingleBasalProfile( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt index 80477946c1..38ce7bd7a6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSettingMeal.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.LTag class MsgSettingMeal( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index ca20645943..20bf641486 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -47,8 +47,8 @@ import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.ToastUtils; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index a6ac7f907d..f35863c262 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -54,8 +54,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0fe4e7170e..2caee076ef 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt index d1ba83f466..900a8b698d 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgressTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MsgBolusProgress -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test import org.mockito.ArgumentMatchers diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt index e214357aa8..79b4a7a460 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStopTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MsgBolusStop -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 38b9e0fd2c..b7181a8e97 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -33,15 +33,15 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.PluginType diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt index 4a7408d124..afb6629307 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import java.util.Locale diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt index 301fe4308a..10f626d2eb 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt index 86444fd654..de45da70bf 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt index 03da7a7472..f78265cbc1 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt index d9cc05b81d..1ef25953ad 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt index 1195cd7f6f..a35bd9aa16 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt index faa1339187..3b72a73adc 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index b5bd9d35c0..0760c138f4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -37,7 +37,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 31c4bdb765..24303fa75f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -68,8 +68,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt index 53a1918902..dce4451334 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt index 9e6c0872c4..34d1b85b90 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt index bf58a52435..176520b296 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import org.junit.Assert diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index c5cb7e2563..e4b6bef366 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -33,15 +33,15 @@ import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.PluginType diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt index 31edc759aa..c9e8858ddd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.T diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 4e84cbcc66..656b5dcadd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -58,8 +58,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.Callback diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt index c6215600a4..87d4615d9b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EONotification.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 518889edd5..5e8a021105 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -18,8 +18,8 @@ import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -32,7 +32,7 @@ import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index 7a3d1ee56b..edbb54eaf1 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt index ec936d866f..d53a7c2f5b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmRegistry.kt @@ -6,7 +6,7 @@ import android.app.PendingIntent import android.content.Context import android.content.Intent import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus import info.nightscout.androidaps.plugins.pump.eopatch.OsAlarmReceiver import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.Companion.getUri diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 41af533ff6..d7a660b4ed 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -23,7 +23,7 @@ import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState @@ -65,7 +65,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.isSame import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index a808b84b2d..03708d1020 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicNotificationType.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicNotificationType.kt index b6bd1a758e..4e5bb0ee79 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicNotificationType.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/defs/MedtronicNotificationType.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.defs -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.medtronic.R /** @@ -17,7 +17,8 @@ enum class MedtronicNotificationType(var notificationType: Int, PumpWrongTBRTypeSet(R.string.medtronic_error_pump_wrong_tbr_type_set, Notification.URGENT), // PumpWrongMaxBolusSet(R.string.medtronic_error_pump_wrong_max_bolus_set, Notification.NORMAL), // PumpWrongMaxBasalSet(R.string.medtronic_error_pump_wrong_max_basal_set, Notification.NORMAL), // - PumpWrongTimeUrgent(R.string.medtronic_notification_check_time_date, Notification.URGENT), PumpWrongTimeNormal(R.string.medtronic_notification_check_time_date, Notification.NORMAL), TimeChangeOver24h(Notification.OVER_24H_TIME_CHANGE_REQUESTED, R.string.medtronic_error_pump_24h_time_change_requested, Notification.URGENT); + PumpWrongTimeUrgent(R.string.medtronic_notification_check_time_date, Notification.URGENT), PumpWrongTimeNormal(R.string.medtronic_notification_check_time_date, Notification.NORMAL), TimeChangeOver24h( + Notification.OVER_24H_TIME_CHANGE_REQUESTED, R.string.medtronic_error_pump_24h_time_change_requested, Notification.URGENT); constructor(resourceId: Int, notificationUrgency: Int) : this(Notification.MEDTRONIC_PUMP_ALARM, resourceId, notificationUrgency) } \ No newline at end of file diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt index 3853f29679..a5ffc9489a 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt @@ -4,7 +4,7 @@ import com.google.gson.GsonBuilder import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 6d05056bf7..02225773ac 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -27,8 +27,8 @@ import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType @@ -65,9 +65,9 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt index ae594c5cd8..a031ec7331 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/OmnipodDashManagerImpl.kt @@ -38,7 +38,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response. import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt index 94d457279c..179b1004f4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response. import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.DefaultStatusResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 261c4fa1b2..7f55f82acc 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -17,7 +17,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewPodInfoBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandHandleTimeChange diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 02de9dfc5c..ebfebcc328 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt index 35a753f799..dee5b59d53 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 60656123dd..a13b9a54ce 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -53,7 +53,7 @@ import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange; @@ -101,9 +101,9 @@ import info.nightscout.androidaps.services.AlarmSoundService; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.utils.Round; import info.nightscout.androidaps.utils.T; -import info.nightscout.androidaps.utils.TimeChangeType; +import info.nightscout.interfaces.utils.TimeChangeType; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java index a9f65dfdf7..b354f4cc2b 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsErosPodStateManager.java @@ -4,7 +4,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.OmnipodErosStorageKeys; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.event.EventOmnipodErosActiveAlertsChanged; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 25f569b04a..ad792cbfa7 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -24,8 +24,8 @@ import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; +import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index 6aac7f6b9a..bb9e1eea58 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -16,7 +16,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 896266a48c..90c352e943 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java index dc3170fabc..6bcc3dd689 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java @@ -22,7 +22,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.Riley import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask; import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.utils.Round; +import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt index 1b792f5591..bc5c44b674 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.Rile import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData -import info.nightscout.androidaps.utils.Round.isSame +import info.nightscout.interfaces.utils.Round.isSame import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index d78c22a190..227b65753e 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.Round +import info.nightscout.interfaces.utils.Round import org.json.JSONArray import org.json.JSONObject import java.util.* diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index 3d1aafa0d1..a84546c8bf 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import java.text.DecimalFormat import java.util.* diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index dffc669c05..e4ad8726b6 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 7df737d709..8ce8319783 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.HtmlHelper +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 0b3e1d5f69..526446dbf4 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.TimeChangeType +import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") From 7ae9ad1105fce3f84c913954381efdfa725cc301 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 7 Nov 2022 09:52:16 +0100 Subject: [PATCH 015/123] EOPatch2: log insulin change on activation --- .../general/overview/StatusLightHandler.kt | 20 +++-- .../androidaps/interfaces/PumpDescription.kt | 2 + .../plugins/pump/common/defs/PumpType.kt | 7 ++ .../plugins/pump/eopatch/AppConstant.kt | 1 - .../pump/eopatch/ble/PatchManagerImpl.java | 79 +++++++++++-------- 5 files changed, 66 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index 954ff03ce8..c33faafdc5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -54,15 +54,19 @@ class StatusLightHandler @Inject constructor( } val insulinUnit = rh.gs(R.string.insulin_unit_shortname) - if (pump.model() == PumpType.OMNIPOD_EROS || pump.model() == PumpType.OMNIPOD_DASH) { - handlePatchReservoirLevel(careportal_reservoir_level, R.string.key_statuslights_res_critical, 10.0, R.string.key_statuslights_res_warning, 80.0, pump.reservoirLevel, insulinUnit, - OmnipodConstants.MAX_RESERVOIR_READING) - } else if (pump.model() == PumpType.EOFLOW_EOPATCH2) { - handlePatchReservoirLevel(careportal_reservoir_level, R.string.key_statuslights_res_critical, 10.0, R.string.key_statuslights_res_warning, 80.0, pump.reservoirLevel, insulinUnit, - AppConstant.MAX_RESERVOIR_READING) - } else { + if (pump.pumpDescription.isPatchPump) + handlePatchReservoirLevel( + careportal_reservoir_level, + R.string.key_statuslights_res_critical, + 10.0, + R.string.key_statuslights_res_warning, + 80.0, + pump.reservoirLevel, + insulinUnit, + pump.pumpDescription.maxResorvoirReading.toDouble() + ) + else handleLevel(careportal_reservoir_level, R.string.key_statuslights_res_critical, 10.0, R.string.key_statuslights_res_warning, 80.0, pump.reservoirLevel, insulinUnit) - } if (!config.NSCLIENT) { if (bgSource.sensorBatteryLevel != -1) diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt index 4d8afe2a0e..6e703a11cf 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt @@ -39,6 +39,7 @@ class PumpDescription() { var needsManualTDDLoad = false var hasCustomUnreachableAlertCheck = false var isPatchPump = false + var maxResorvoirReading = 50 var useHardwareLink = false private fun resetSettings() { @@ -107,6 +108,7 @@ class PumpDescription() { is30minBasalRatesCapable = pumpCapability.hasCapability(PumpCapability.BasalRate30min) hasCustomUnreachableAlertCheck = pumpType.hasCustomUnreachableAlertCheck isPatchPump = pumpType.isPatchPump + maxResorvoirReading = pumpType.maxReservoirReading useHardwareLink = pumpType.useHardwareLink } diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt index 6d6e2da5f2..4d1688fa8c 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt @@ -213,6 +213,7 @@ enum class PumpType { pumpCapability = PumpCapability.OmnipodCapabilities, hasCustomUnreachableAlertCheck = true, isPatchPump = true, + maxReservoirReading = 50, useHardwareLink = true, supportBatteryLevel = false, source = Sources.OmnipodEros @@ -232,6 +233,7 @@ enum class PumpType { baseBasalStep = 0.05, baseBasalSpecialSteps = null, isPatchPump = true, + maxReservoirReading = 50, pumpCapability = PumpCapability.OmnipodCapabilities, hasCustomUnreachableAlertCheck = false, supportBatteryLevel = false @@ -392,6 +394,7 @@ enum class PumpType { baseBasalSpecialSteps = null, pumpCapability = PumpCapability.EopatchCapabilities, isPatchPump = true, + maxReservoirReading = 50, source = Sources.EOPatch2); val description: String @@ -435,6 +438,8 @@ enum class PumpType { private set var isPatchPump = false private set + var maxReservoirReading = 50 + private set var supportBatteryLevel = true private set var useHardwareLink = false @@ -510,6 +515,7 @@ enum class PumpType { pumpCapability: PumpCapability, hasCustomUnreachableAlertCheck: Boolean = false, isPatchPump: Boolean = false, + maxReservoirReading: Int = 50, supportBatteryLevel: Boolean = true, useHardwareLink: Boolean = false, source: Sources = Sources.VirtualPump @@ -530,6 +536,7 @@ enum class PumpType { this.pumpCapability = pumpCapability this.hasCustomUnreachableAlertCheck = hasCustomUnreachableAlertCheck this.isPatchPump = isPatchPump + this.maxReservoirReading = maxReservoirReading this.supportBatteryLevel = supportBatteryLevel this.useHardwareLink = useHardwareLink this.source = source diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/AppConstant.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/AppConstant.kt index 67e61ba793..81087620ef 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/AppConstant.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/AppConstant.kt @@ -25,6 +25,5 @@ interface AppConstant { const val DAY_START_MINUTE = 0 * 60 const val DAY_END_MINUTE = 24 * 60 const val INSULIN_DURATION_MIN = 2.0f - const val MAX_RESERVOIR_READING = 50.0 } } \ No newline at end of file diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index 9254ef2358..ce1f5bf130 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -35,6 +35,7 @@ import javax.inject.Singleton; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.interfaces.PumpSync; +import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ActivateTask; @@ -104,7 +105,7 @@ import io.reactivex.rxjava3.functions.Consumer; import io.reactivex.rxjava3.schedulers.Schedulers; @Singleton -public class PatchManagerImpl{ +public class PatchManagerImpl { @Inject IPreferenceManager pm; @Inject Context context; @Inject SP sp; @@ -154,27 +155,27 @@ public class PatchManagerImpl{ Observable dateTimeChanged = RxBroadcastReceiver.Companion.create(context, filter); compositeDisposable.add( - Observable.combineLatest(patch.observeConnected(), pm.observePatchLifeCycle(), - (connected, lifeCycle) -> (connected && lifeCycle.isActivated())) - .subscribeOn(aapsSchedulers.getIo()) - .filter(ok -> ok) - .observeOn(aapsSchedulers.getIo()) - .doOnNext(v -> TaskBase.enqueue(TaskFunc.UPDATE_CONNECTION)) - .retry() - .subscribe()); + Observable.combineLatest(patch.observeConnected(), pm.observePatchLifeCycle(), + (connected, lifeCycle) -> (connected && lifeCycle.isActivated())) + .subscribeOn(aapsSchedulers.getIo()) + .filter(ok -> ok) + .observeOn(aapsSchedulers.getIo()) + .doOnNext(v -> TaskBase.enqueue(TaskFunc.UPDATE_CONNECTION)) + .retry() + .subscribe()); compositeDisposable.add( - Observable.combineLatest(patch.observeConnected(), - pm.observePatchLifeCycle().distinctUntilChanged(), - dateTimeChanged.startWith(Observable.just(new Intent())), - (connected, lifeCycle, value) -> (connected && lifeCycle.isActivated())) - .subscribeOn(aapsSchedulers.getIo()) - .doOnNext(v -> aapsLogger.debug(LTag.PUMP,"Has the date or time changed? "+v)) - .filter(ok -> ok) - .doOnNext(v -> TaskBase.enqueue(TaskFunc.SET_GLOBAL_TIME)) - .doOnError(e -> aapsLogger.error(LTag.PUMP, "Failed to set EOPatch time.")) - .retry() - .subscribe()); + Observable.combineLatest(patch.observeConnected(), + pm.observePatchLifeCycle().distinctUntilChanged(), + dateTimeChanged.startWith(Observable.just(new Intent())), + (connected, lifeCycle, value) -> (connected && lifeCycle.isActivated())) + .subscribeOn(aapsSchedulers.getIo()) + .doOnNext(v -> aapsLogger.debug(LTag.PUMP, "Has the date or time changed? " + v)) + .filter(ok -> ok) + .doOnNext(v -> TaskBase.enqueue(TaskFunc.SET_GLOBAL_TIME)) + .doOnError(e -> aapsLogger.error(LTag.PUMP, "Failed to set EOPatch time.")) + .retry() + .subscribe()); compositeDisposable.add( patch.observeConnected() @@ -233,7 +234,7 @@ public class PatchManagerImpl{ } }) .flatMap(integer -> { - if(pc.getLowReservoirAlertAmount() != doseUnit || pc.getPatchExpireAlertTime() != hours) { + if (pc.getLowReservoirAlertAmount() != doseUnit || pc.getPatchExpireAlertTime() != hours) { return setLowReservoir(doseUnit, hours) .doOnSuccess(patchBooleanResponse -> { pc.setLowReservoirAlertAmount(doseUnit); @@ -244,7 +245,7 @@ public class PatchManagerImpl{ return Single.just(true); }) .flatMap(ret -> { - if(pc.getInfoReminder() != buzzer) { + if (pc.getInfoReminder() != buzzer) { return infoReminderSet(buzzer) .doOnSuccess(patchBooleanResponse -> { pc.setInfoReminder(buzzer); @@ -256,7 +257,7 @@ public class PatchManagerImpl{ .subscribe()); } - if(!connected && activated){ + if (!connected && activated) { pm.getPatchConfig().updatetDisconnectedTime(); } } @@ -304,7 +305,7 @@ public class PatchManagerImpl{ NormalBasal normalBasal = pm.getNormalBasalManager().getNormalBasal(); - if(normalBasal.updateNormalBasalIndex()) { + if (normalBasal.updateNormalBasalIndex()) { pm.flushNormalBasalManager(); } } @@ -319,7 +320,7 @@ public class PatchManagerImpl{ /** * getPatchConnection() 을 사용해야 한다. * 아직 Life Cycle 이 Activated 가 아님. - * + *

* Activation Process task #1 Get Patch Information from Patch * Fragment: fragment_patch_connect_new */ @@ -348,7 +349,7 @@ public class PatchManagerImpl{ public Single getTemperature() { return TEMPERATURE_GET.get() - .timeout(DEFAULT_API_TIME_OUT, TimeUnit.SECONDS); + .timeout(DEFAULT_API_TIME_OUT, TimeUnit.SECONDS); } public Observable startPriming(long timeout, long count) { @@ -382,6 +383,13 @@ public class PatchManagerImpl{ TaskBase.enqueue(TaskFunc.LOW_RESERVOIR); TaskBase.enqueue(TaskFunc.INFO_REMINDER); pumpSync.connectNewPump(true); + pumpSync.insertTherapyEventIfNewWithTimestamp( + System.currentTimeMillis(), + DetailedBolusInfo.EventType.INSULIN_CHANGE, + null, + null, + PumpType.EOFLOW_EOPATCH2, + null); } }); } @@ -482,7 +490,7 @@ public class PatchManagerImpl{ return stopExtBolusTask.stop().timeout(DEFAULT_API_TIME_OUT, TimeUnit.SECONDS); } - public Single stopComboBolus(){ + public Single stopComboBolus() { return stopComboBolusTask.stop().timeout(DEFAULT_API_TIME_OUT, TimeUnit.SECONDS); } @@ -524,6 +532,7 @@ public class PatchManagerImpl{ @Inject DeactivateTask deactivateTask; + // Patch Activation Tasks public Single deactivate(long timeout, boolean force) { return deactivateTask.run(force, timeout); @@ -538,12 +547,14 @@ public class PatchManagerImpl{ @Inject SetLowReservoirTask setLowReservoirTask; + public Single setLowReservoir(int doseUnit, int hours) { return setLowReservoirTask.set(doseUnit, hours).timeout(DEFAULT_API_TIME_OUT, TimeUnit.SECONDS); } @Inject UpdateConnectionTask updateConnectionTask; + public Single updateConnection() { return updateConnectionTask.update(); } @@ -566,7 +577,7 @@ public class PatchManagerImpl{ patchStateManager.updatePatchState(PatchState.create(notification.patchState, System.currentTimeMillis())); if (pm.getPatchConfig().isActivated()) { - if(!patch.isSeqReady()){ + if (!patch.isSeqReady()) { getSequence().subscribe(); } updateBasal(); @@ -601,11 +612,11 @@ public class PatchManagerImpl{ public Single sharedKey() { return genKeyPair().flatMap(keyPair -> ECPublicToRawBytes(keyPair) - .flatMap(bytes -> PUBLIC_KEY_SET.send(bytes) - .map(KeyResponse::getPublicKey) - .map(bytes2 -> rawToEncodedECPublicKey(SECP256R1, bytes2)) - .map(publicKey -> generateSharedSecret(keyPair.getPrivate(), publicKey)) - .doOnSuccess(this::saveShared).map(v2 -> true))) + .flatMap(bytes -> PUBLIC_KEY_SET.send(bytes) + .map(KeyResponse::getPublicKey) + .map(bytes2 -> rawToEncodedECPublicKey(SECP256R1, bytes2)) + .map(publicKey -> generateSharedSecret(keyPair.getPrivate(), publicKey)) + .doOnSuccess(this::saveShared).map(v2 -> true))) .doOnError(e -> aapsLogger.error(LTag.PUMP, "sharedKey error")); } @@ -731,7 +742,7 @@ public class PatchManagerImpl{ return patch.observeConnectionState(); } - public void updateMacAddress(String mac, boolean b){ + public void updateMacAddress(String mac, boolean b) { patch.updateMacAddress(mac, b); } } From 16ada310f0108e597d3746aad1973deeeba5ac9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 08:03:14 +0000 Subject: [PATCH 016/123] chore(deps): bump rxandroidble from 1.16.0 to 1.17.0 Bumps [rxandroidble](https://github.com/dariuszseweryn/RxAndroidBle) from 1.16.0 to 1.17.0. - [Release notes](https://github.com/dariuszseweryn/RxAndroidBle/releases) - [Changelog](https://github.com/dariuszseweryn/RxAndroidBle/blob/master/CHANGELOG.md) - [Commits](https://github.com/dariuszseweryn/RxAndroidBle/commits) --- updated-dependencies: - dependency-name: com.polidea.rxandroidble3:rxandroidble dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pump/eopatch/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index ae89e54fdd..a10a3ed8a5 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -27,6 +27,6 @@ dependencies { implementation project(':interfaces') //RxAndroidBle - implementation "com.polidea.rxandroidble3:rxandroidble:1.16.0" + implementation "com.polidea.rxandroidble3:rxandroidble:1.17.0" implementation "com.jakewharton.rx3:replaying-share:3.0.0" } \ No newline at end of file From 774ed51e1bb4c06f17eabb2b158941bade719142 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 09:23:46 +0100 Subject: [PATCH 017/123] NSClient v3 initial work, NS v1 improvements * NSCv3 initial work * Allow only 1 NSC * read sgv * NSv3: Read Bolus, Carbs * NSCv3: more work * fix build * loading working * work on TT * TT working * TBR processing * EPS working * PS Sync * Process entries at once. Share code v1,v3 * BolusCalculatorWizard working * TherapyEvent working * process bg at once * improve sync * sdk -> ns-sdk * handle status per version * OffileEvents working * EB working * RemoteDeviceStatus * fix build * cleanup --- app-wear-shared/rx/build.gradle | 14 +- app-wear-shared/shared-impl/build.gradle | 14 +- app-wear-shared/shared/build.gradle | 17 +- app/build.gradle | 20 +- .../nightscout/androidaps/RealPumpTest.kt | 2 +- .../androidaps/SetupWizardActivityTest.kt | 2 +- app/src/main/AndroidManifest.xml | 2 +- .../nightscout/androidaps/MainActivity.kt | 2 +- .../info/nightscout/androidaps/MainApp.kt | 2 + .../activities/MyPreferenceFragment.kt | 17 +- .../nightscout/androidaps/di/AppModule.kt | 8 +- .../androidaps/di/FragmentsModule.kt | 4 +- .../androidaps/di/PluginsListModule.kt | 11 +- .../androidaps/di/ServicesModule.kt | 2 +- .../nightscout/androidaps/di/WorkersModule.kt | 24 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 16 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 2 +- .../configBuilder/ConfigBuilderFragment.kt | 3 +- .../configBuilder/ConfigBuilderPlugin.kt | 116 +-- .../plugins/configBuilder/PluginStore.kt | 24 +- .../configBuilder/ProfileFunctionImpl.kt | 14 +- .../configBuilder/RunningConfiguration.kt | 53 +- .../objectives/ObjectivesPlugin.kt | 64 +- .../objectives/objectives/Objective0.kt | 6 +- .../objectives/objectives/Objective3.kt | 17 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 19 +- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../nsclient/NSClientAddUpdateWorker.kt | 539 ------------- .../general/nsclient/data/DeviceStatusData.kt | 42 - .../general/nsclient/data/NSDeviceStatus.kt | 375 --------- .../nsclient/events/EventNSClientStatus.kt | 8 - .../nsclient/events/EventNSClientUpdateGUI.kt | 5 - .../general/overview/OverviewFragment.kt | 28 +- .../general/overview/StatusLightHandler.kt | 4 +- .../notifications/NotificationWithAction.kt | 4 +- .../plugins/general/wear/WearFragment.kt | 4 +- .../wear/wearintegration/DataHandlerMobile.kt | 45 +- .../sensitivity/SensitivityAAPSPlugin.kt | 11 +- .../sensitivity/SensitivityOref1Plugin.kt | 13 +- .../SensitivityWeightedAveragePlugin.kt | 28 +- .../plugins/source/NSClientSourcePlugin.kt | 101 +-- .../plugins/source/RandomBgPlugin.kt | 6 +- .../nsShared}/NSClientFragment.kt | 57 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 719 ++++++++++++++++++ .../nsShared}/events/EventNSClientNewLog.kt | 5 +- .../nsShared}/events/EventNSClientResend.kt | 2 +- .../nsShared/events/EventNSClientStatus.kt | 9 + .../nsShared/events/EventNSClientUpdateGUI.kt | 5 + .../DataSyncSelectorImplementation.kt | 492 ++++++------ .../nsclient/NSClientAddAckWorker.kt | 63 +- .../sync/nsclient/NSClientAddUpdateWorker.kt | 180 +++++ .../nsclient/NSClientMbgWorker.kt | 31 +- .../nsclient/NSClientPlugin.kt | 116 +-- .../nsclient/NSClientUpdateRemoveAckWorker.kt | 31 +- .../nsclient/NsClientReceiverDelegate.kt | 2 +- .../nsclient/acks/NSAddAck.kt | 4 +- .../nsclient/acks/NSAuthAck.kt | 2 +- .../nsclient/acks/NSUpdateAck.kt | 2 +- .../nsclient/data/AlarmAck.java | 2 +- .../nsclient/data/NSAlarm.kt | 2 +- .../nsclient/data/NSDeviceStatusHandler.kt | 173 +++++ .../plugins/sync}/nsclient/data/NSMbg.kt | 2 +- .../nsclient/data/NSSettingsStatus.kt | 8 +- .../{general => sync}/nsclient/data/NSSgv.kt | 2 +- .../data/ProcessedDeviceStatusData.kt | 211 +++++ .../nsclient/services/NSClientService.kt | 190 ++--- .../sync/nsclientV3/NSClientV3Plugin.kt | 316 ++++++++ .../BolusCalculatorResultExtension.kt | 19 + .../nsclientV3/extensions/BolusExtension.kt | 24 + .../nsclientV3/extensions/CarbsExtension.kt | 16 + .../EffectiveProfileSwitchExtension.kt | 33 + .../extensions/ExtendedBolusExtension.kt | 16 + .../extensions/OfflineEventExtension.kt | 25 + .../extensions/ProfileSwitchExtension.kt | 36 + .../extensions/TemporaryBasalExtension.kt | 27 + .../extensions/TemporaryTargetExtension.kt | 28 + .../extensions/TherapyEventExtension.kt | 68 ++ .../sync/nsclientV3/workers/LoadBgWorker.kt | 100 +++ .../workers/LoadDeviceStatusWorker.kt | 58 ++ .../workers/LoadLastModificationWorker.kt | 39 + .../nsclientV3/workers/LoadStatusWorker.kt | 38 + .../workers/LoadTreatmentsWorker.kt | 97 +++ .../workers/ProcessTreatmentsWorker.kt | 158 ++++ .../tidepool/TidepoolFragment.kt | 20 +- .../tidepool/TidepoolPlugin.kt | 96 +-- .../tidepool/comm/InfoInterceptor.kt | 2 +- .../tidepool/comm/Session.kt | 6 +- .../tidepool/comm/TidepoolApiService.kt | 8 +- .../tidepool/comm/TidepoolCallback.kt | 7 +- .../tidepool/comm/TidepoolUploader.kt | 78 +- .../tidepool/comm/UploadChunk.kt | 20 +- .../tidepool/elements/BasalElement.kt | 2 +- .../tidepool/elements/BaseElement.kt | 2 +- .../tidepool/elements/BloodGlucoseElement.kt | 4 +- .../tidepool/elements/BolusElement.kt | 2 +- .../tidepool/elements/ProfileElement.kt | 5 +- .../tidepool/elements/SensorGlucoseElement.kt | 2 +- .../tidepool/elements/WizardElement.kt | 2 +- .../tidepool/events/EventTidepoolStatus.kt | 2 +- .../tidepool/events/EventTidepoolUpdateGUI.kt | 2 +- .../tidepool/messages/AuthReplyMessage.kt | 2 +- .../tidepool/messages/AuthRequestMessage.kt | 2 +- .../tidepool/messages/BaseMessage.kt | 4 +- .../messages/CloseDatasetRequestMessage.kt | 2 +- .../tidepool/messages/DatasetReplyMessage.kt | 2 +- .../messages/OpenDatasetRequestMessage.kt | 4 +- .../tidepool/messages/UploadReplyMessage.kt | 2 +- .../tidepool/utils/GsonInstance.kt | 2 +- .../tidepool/utils/RateLimit.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 6 +- .../androidaps/setupwizard/SWDefinition.kt | 410 +++++----- .../setupwizard/SetupWizardActivity.kt | 29 +- .../setupwizard/elements/SWPlugin.kt | 4 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../utils/extensions/TherapyEventExtension.kt | 12 + .../androidaps/utils/tabs/TabPageAdapter.kt | 2 + .../workflow/PreparePredictionsWorker.kt | 8 +- .../main/res/layout/ns_client_fragment.xml | 2 +- app/src/main/res/values/strings.xml | 19 +- .../main/res/xml/pref_nsclientinternal.xml | 9 + .../androidaps/TestBaseWithProfile.kt | 2 +- .../interfaces/ConstraintsCheckerTest.kt | 2 +- .../objectives/ObjectivesPluginTest.kt | 4 +- .../maintenance/MaintenancePluginTest.kt | 2 +- .../nsclient/NsClientReceiverDelegateTest.kt | 2 +- .../tidepool/comm/SessionTest.kt | 7 +- automation/build.gradle | 13 +- .../androidaps/TestBaseWithProfile.kt | 2 +- build.gradle | 1 + core/allopen_dependencies.gradle | 4 + core/android_dependencies.gradle | 4 - core/android_module_dependencies.gradle | 5 - core/build.gradle | 15 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 53 +- .../androidaps/extensions/BolusExtension.kt | 59 +- .../extensions/ExtendedBolusExtension.kt | 94 +-- .../extensions/ProfileSwitchExtension.kt | 121 +-- .../extensions/TemporaryBasalExtension.kt | 70 +- .../extensions/TemporaryTargetExtension.kt | 76 +- .../extensions/TherapyEventExtension.kt | 95 --- .../androidaps/interfaces/ActivePlugin.kt | 11 + .../androidaps/interfaces/DataSyncSelector.kt | 24 +- .../androidaps/interfaces/NsClient.kt | 30 + .../androidaps/interfaces/PluginFragment.kt | 5 + .../androidaps/interfaces/ProfileStore.kt | 6 +- .../nightscout/androidaps/interfaces/Sync.kt | 8 + .../androidaps/logging/UserEntryLogger.kt | 38 +- .../androidaps/receivers/DataWorkerStorage.kt | 6 +- .../receivers/NetworkChangeReceiver.kt | 7 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../nightscout/androidaps/data/ProfileTest.kt | 29 +- database/build.gradle | 11 +- .../database/entities/TherapyEvent.kt | 56 +- .../transactions/CgmSourceTransaction.kt | 34 +- .../SyncNsBolusCalculatorResultTransaction.kt | 51 +- .../transactions/SyncNsBolusTransaction.kt | 63 +- .../transactions/SyncNsCarbsTransaction.kt | 65 +- ...SyncNsEffectiveProfileSwitchTransaction.kt | 50 +- .../SyncNsExtendedBolusTransaction.kt | 102 +-- .../SyncNsOfflineEventTransaction.kt | 92 +-- .../SyncNsProfileSwitchTransaction.kt | 50 +- .../SyncNsTemporaryBasalTransaction.kt | 78 +- .../SyncNsTemporaryTargetTransaction.kt | 93 +-- .../SyncNsTherapyEventTransaction.kt | 61 +- .../transactions/UserEntryTransaction.kt | 36 +- graphview/build.gradle | 8 +- implementation/build.gradle | 13 +- .../queue/CommandQueueImplementation.kt | 16 +- .../androidaps/TestBaseWithProfile.kt | 4 +- insight/build.gradle | 13 +- interfaces/build.gradle | 16 +- .../info/nightscout/interfaces/Constants.kt | 2 +- .../info/nightscout/interfaces/PluginType.kt | 2 +- ns-sdk/.gitignore | 1 + ns-sdk/build.gradle | 38 + ns-sdk/proguard-rules.pro | 21 + ns-sdk/src/main/AndroidManifest.xml | 4 + .../sdk/NSAndroidCallbackClientImpl.kt | 27 + .../nightscout/sdk/NSAndroidClientImpl.kt | 175 +++++ .../nightscout/sdk/NSAndroidRxClientImpl.kt | 23 + .../DateHeaderOutOfToleranceException.kt | 9 + .../exceptions/InvalidAccessTokenException.kt | 3 + .../sdk/exceptions/NightscoutException.kt | 10 + .../sdk/exceptions/TodoNightscoutException.kt | 3 + .../sdk/interfaces/NSAndroidCallbackClient.kt | 26 + .../sdk/interfaces/NSAndroidClient.kt | 21 + .../sdk/interfaces/NSAndroidRxClient.kt | 19 + .../sdk/localmodel/ApiPermission.kt | 11 + .../sdk/localmodel/ApiPermissions.kt | 10 + .../info/nightscout/sdk/localmodel/Status.kt | 9 + .../info/nightscout/sdk/localmodel/Storage.kt | 3 + .../sdk/localmodel/entry/Direction.kt | 51 ++ .../nightscout/sdk/localmodel/entry/Entry.kt | 13 + .../sdk/localmodel/entry/NSSgvV3.kt | 20 + .../sdk/localmodel/entry/NsUnits.kt | 12 + .../sdk/localmodel/treatment/EventType.kt | 43 ++ .../sdk/localmodel/treatment/GlucoseType.kt | 9 + .../sdk/localmodel/treatment/NSBolus.kt | 36 + .../sdk/localmodel/treatment/NSBolusWizard.kt | 25 + .../sdk/localmodel/treatment/NSCarbs.kt | 24 + .../treatment/NSEffectiveProfileSwitch.kt | 31 + .../localmodel/treatment/NSExtendedBolus.kt | 25 + .../localmodel/treatment/NSOfflineEvent.kt | 39 + .../localmodel/treatment/NSProfileSwitch.kt | 30 + .../localmodel/treatment/NSTemporaryBasal.kt | 43 ++ .../localmodel/treatment/NSTemporaryTarget.kt | 45 ++ .../localmodel/treatment/NSTherapyEvent.kt | 40 + .../sdk/localmodel/treatment/NSTreatment.kt | 29 + .../sdk/mapper/ApiPermissionMapper.kt | 32 + .../sdk/mapper/StatusResponseMapper.kt | 12 + .../nightscout/sdk/mapper/StorageMapper.kt | 6 + .../info/nightscout/sdk/mapper/SvgMapper.kt | 34 + .../nightscout/sdk/mapper/TreatmentMapper.kt | 338 ++++++++ .../sdk/networking/NSAuthInterceptor.kt | 68 ++ .../sdk/networking/NetworkStackBuilder.kt | 93 +++ .../NightscoutAuthRefreshService.kt | 16 + .../sdk/networking/NightscoutRemoteService.kt | 51 ++ .../info/nightscout/sdk/networking/Status.kt | 6 + .../sdk/remotemodel/LastModified.kt | 23 + .../sdk/remotemodel/RemoteAuthResponse.kt | 3 + .../sdk/remotemodel/RemoteDeviceStatus.kt | 67 ++ .../nightscout/sdk/remotemodel/RemoteEntry.kt | 37 + .../sdk/remotemodel/RemoteStatusResponse.kt | 47 ++ .../sdk/remotemodel/RemoteTreatment.kt | 97 +++ .../nightscout/sdk/remotemodel/examples.json | 490 ++++++++++++ .../nightscout/sdk/utils/CoroutineUtils.kt | 22 + .../info/nightscout/sdk/utils/ListUtils.kt | 4 + openhumans/build.gradle | 13 +- plugins/build.gradle | 13 +- .../plugins/general/autotune/AutotuneIob.kt | 80 +- .../general/autotune/AutotunePlugin.kt | 2 +- .../general/autotune/data/ATProfile.kt | 6 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 18 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 2 +- .../nsclient/extensions/BolusExtension.kt | 52 ++ .../nsclient}/extensions/CarbsExtension.kt | 15 +- .../EffectiveProfileSwitchExtension.kt | 3 +- .../extensions/ExtendedBolusExtension.kt | 74 ++ .../extensions/OfflineEventExtension.kt | 4 +- .../extensions/ProfileSwitchExtension.kt | 96 +++ .../extensions/TemporaryBasalExtension.kt | 74 ++ .../extensions/TemporaryTargetExtension.kt | 66 ++ .../extensions/TherapyEventExtension.kt | 87 +++ .../androidaps/TestBaseWithProfile.kt | 4 +- pump/combo/build.gradle | 13 +- pump/dana/build.gradle | 13 +- .../androidaps/TestBaseWithProfile.kt | 2 +- pump/danar/build.gradle | 13 +- .../danaRKorean/DanaRKoreanPlugin.kt | 21 +- .../androidaps/danar/DanaRPlugin.java | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- pump/danars/build.gradle | 13 +- .../androidaps/TestBaseWithProfile.kt | 2 +- pump/diaconn/build.gradle | 13 +- pump/eopatch/build.gradle | 12 +- pump/medtronic/build.gradle | 13 +- pump/omnipod-common/build.gradle | 14 +- pump/omnipod-dash/build.gradle | 17 +- pump/omnipod-eros/build.gradle | 13 +- pump/pump-common/build.gradle | 13 +- pump/rileylink/build.gradle | 13 +- settings.gradle | 1 + ui/build.gradle | 13 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 2 +- .../fragments/TreatmentsCareportalFragment.kt | 25 +- .../TreatmentsProfileSwitchFragment.kt | 13 +- .../fragments/TreatmentsTempTargetFragment.kt | 2 +- .../ui/defaultProfile/DefaultProfile.kt | 2 +- .../ui/defaultProfile/DefaultProfileDPV.kt | 2 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 69 +- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 8 +- wear/build.gradle | 13 +- 275 files changed, 7493 insertions(+), 3433 deletions(-) rename {core => app}/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt (74%) delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/DeviceStatusData.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientStatus.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt rename app/src/main/java/info/nightscout/androidaps/plugins/{general/nsclient => sync/nsShared}/NSClientFragment.kt (67%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt rename {core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient => app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared}/events/EventNSClientNewLog.kt (71%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general/nsclient => sync/nsShared}/events/EventNSClientResend.kt (58%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/DataSyncSelectorImplementation.kt (69%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NSClientAddAckWorker.kt (89%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NSClientMbgWorker.kt (54%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NSClientPlugin.kt (71%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NSClientUpdateRemoveAckWorker.kt (89%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NsClientReceiverDelegate.kt (98%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/acks/NSAddAck.kt (94%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/acks/NSAuthAck.kt (89%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/acks/NSUpdateAck.kt (94%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/data/AlarmAck.java (72%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/data/NSAlarm.kt (94%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt rename {core/src/main/java/info/nightscout/androidaps/plugins/general => app/src/main/java/info/nightscout/androidaps/plugins/sync}/nsclient/data/NSMbg.kt (86%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/data/NSSettingsStatus.kt (97%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/data/NSSgv.kt (94%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/services/NSClientService.kt (80%) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/TidepoolFragment.kt (78%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/TidepoolPlugin.kt (62%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/InfoInterceptor.kt (92%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/Session.kt (81%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/TidepoolApiService.kt (85%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/TidepoolCallback.kt (87%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/TidepoolUploader.kt (77%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/UploadChunk.kt (89%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/BasalElement.kt (93%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/BaseElement.kt (91%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/BloodGlucoseElement.kt (91%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/BolusElement.kt (89%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/ProfileElement.kt (94%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/SensorGlucoseElement.kt (93%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/elements/WizardElement.kt (96%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/events/EventTidepoolStatus.kt (90%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/events/EventTidepoolUpdateGUI.kt (54%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/AuthReplyMessage.kt (89%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/AuthRequestMessage.kt (88%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/BaseMessage.kt (72%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/CloseDatasetRequestMessage.kt (67%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/DatasetReplyMessage.kt (94%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/OpenDatasetRequestMessage.kt (91%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/messages/UploadReplyMessage.kt (52%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/utils/GsonInstance.kt (85%) rename app/src/main/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/utils/RateLimit.kt (93%) rename {core/src/main/java/info/nightscout/androidaps => app/src/main/java/info/nightscout/androidaps/utils}/extensions/DeviceStatusExtension.kt (99%) create mode 100644 app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt rename app/src/test/java/info/nightscout/androidaps/plugins/{general => sync}/nsclient/NsClientReceiverDelegateTest.kt (98%) rename app/src/test/java/info/nightscout/androidaps/plugins/{general => sync}/tidepool/comm/SessionTest.kt (80%) create mode 100644 core/allopen_dependencies.gradle create mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt create mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt create mode 100644 core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt create mode 100644 ns-sdk/.gitignore create mode 100644 ns-sdk/build.gradle create mode 100644 ns-sdk/proguard-rules.pro create mode 100644 ns-sdk/src/main/AndroidManifest.xml create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidCallbackClientImpl.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidClientImpl.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidRxClientImpl.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/exceptions/DateHeaderOutOfToleranceException.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/exceptions/InvalidAccessTokenException.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/exceptions/NightscoutException.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/exceptions/TodoNightscoutException.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidCallbackClient.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidClient.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidRxClient.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermission.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermissions.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Status.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Storage.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Direction.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Entry.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NSSgvV3.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NsUnits.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/EventType.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/GlucoseType.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolus.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolusWizard.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSCarbs.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSEffectiveProfileSwitch.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSExtendedBolus.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSOfflineEvent.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSProfileSwitch.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryBasal.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryTarget.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTherapyEvent.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTreatment.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/mapper/ApiPermissionMapper.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/mapper/StatusResponseMapper.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/mapper/StorageMapper.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/mapper/SvgMapper.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/mapper/TreatmentMapper.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/networking/NSAuthInterceptor.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/networking/NetworkStackBuilder.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutAuthRefreshService.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutRemoteService.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/networking/Status.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/LastModified.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteAuthResponse.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteDeviceStatus.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteEntry.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteStatusResponse.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteTreatment.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/examples.json create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/utils/CoroutineUtils.kt create mode 100644 ns-sdk/src/main/java/info/nightscout/sdk/utils/ListUtils.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt rename {core/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins/sync/nsclient}/extensions/CarbsExtension.kt (86%) rename {core/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins/sync/nsclient}/extensions/EffectiveProfileSwitchExtension.kt (97%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt rename {core/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins/sync/nsclient}/extensions/OfflineEventExtension.kt (97%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt diff --git a/app-wear-shared/rx/build.gradle b/app-wear-shared/rx/build.gradle index 0a7785a55e..feff93f500 100644 --- a/app-wear-shared/rx/build.gradle +++ b/app-wear-shared/rx/build.gradle @@ -1,9 +1,11 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: 'kotlinx-serialization' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' + id 'kotlinx-serialization' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" diff --git a/app-wear-shared/shared-impl/build.gradle b/app-wear-shared/shared-impl/build.gradle index aec0dc99b4..ada8320490 100644 --- a/app-wear-shared/shared-impl/build.gradle +++ b/app-wear-shared/shared-impl/build.gradle @@ -1,9 +1,11 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: 'kotlinx-serialization' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' + id 'kotlinx-serialization' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" diff --git a/app-wear-shared/shared/build.gradle b/app-wear-shared/shared/build.gradle index 43ccc223c5..8556ce1965 100644 --- a/app-wear-shared/shared/build.gradle +++ b/app-wear-shared/shared/build.gradle @@ -1,12 +1,15 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: 'kotlinx-serialization' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlinx-serialization' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" @@ -31,7 +34,7 @@ dependencies { api 'org.slf4j:slf4j-api:1.7.36' // 2.0.x breaks logging. Code change needed api 'com.github.tony19:logback-android:2.0.0' - api "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" + api "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization_version" api "org.apache.commons:commons-lang3:$commonslang3_version" //RxBus diff --git a/app/build.gradle b/app/build.gradle index 07aabedd6a..45ae641bf4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,10 +1,13 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.google.gms.google-services' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: 'com.google.firebase.crashlytics' +plugins { + id 'com.android.application' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' + id 'kotlinx-serialization' + id 'com.google.gms.google-services' + id 'com.google.firebase.crashlytics' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" @@ -105,7 +108,7 @@ android { defaultConfig { multiDexEnabled true versionCode 1500 - version "3.1.0.3-dev-c" + version "3.1.0.3-dev-c-nscv3" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' @@ -178,6 +181,7 @@ dependencies { // https://github.com/nightscout/iconify.git implementation project(':graphview') implementation project(':libraries') + implementation project(':ns-sdk') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') diff --git a/app/src/androidTest/java/info/nightscout/androidaps/RealPumpTest.kt b/app/src/androidTest/java/info/nightscout/androidaps/RealPumpTest.kt index 75ae0caa20..43ff3c41e7 100644 --- a/app/src/androidTest/java/info/nightscout/androidaps/RealPumpTest.kt +++ b/app/src/androidTest/java/info/nightscout/androidaps/RealPumpTest.kt @@ -77,7 +77,7 @@ class RealPumpTest { configBuilderPlugin.performPluginSwitch(loopPlugin, true, PluginType.LOOP) // Enable common - configBuilderPlugin.performPluginSwitch(actionsPlugin, true, PluginType.GENERAL) + configBuilderPlugin.performPluginSwitch(actionsPlugin, true, ) // Disable unneeded MainApp.getPluginsList().remove(objectivesPlugin) diff --git a/app/src/androidTest/java/info/nightscout/androidaps/SetupWizardActivityTest.kt b/app/src/androidTest/java/info/nightscout/androidaps/SetupWizardActivityTest.kt index f20eed392a..ba6a794cab 100644 --- a/app/src/androidTest/java/info/nightscout/androidaps/SetupWizardActivityTest.kt +++ b/app/src/androidTest/java/info/nightscout/androidaps/SetupWizardActivityTest.kt @@ -169,7 +169,7 @@ adb shell settings put global animator_duration_scale 0 & Assert.assertEquals(1.1, p.getBasalTimeFromMidnight(0), 0.0001) Assert.assertEquals(6.0 * Constants.MMOLL_TO_MGDL, p.targetLowMgdl, 0.0001) Assert.assertTrue(VirtualPumpPlugin.getPlugin().isEnabled(PluginType.PUMP)) - Assert.assertTrue(OpenAPSSMBPlugin.getPlugin().isEnabled(PluginType.APS)) + Assert.assertTrue(OpenAPSSMBPlugin.getPlugin().isEnabled()) Assert.assertTrue(LoopPlugin.getPlugin().isEnabled(PluginType.LOOP)) Assert.assertTrue(SensitivityOref1Plugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) Assert.assertTrue(ObjectivesPlugin.objectives[0].isStarted) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ca9466e1ea..93f9a92669 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -172,7 +172,7 @@ { diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 8d3db01287..759c30d795 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -36,9 +36,6 @@ import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDyn import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus -import info.nightscout.androidaps.plugins.general.tidepool.TidepoolPlugin import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin import info.nightscout.androidaps.plugins.pump.eopatch.EopatchPumpPlugin @@ -56,6 +53,10 @@ import info.nightscout.androidaps.plugins.source.GlunovoPlugin import info.nightscout.androidaps.plugins.source.IntelligoPlugin import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.androidaps.utils.alertDialogs.OKDialog.show import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.BIOMETRIC @@ -97,6 +98,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang @Inject lateinit var localInsightPlugin: LocalInsightPlugin @Inject lateinit var medtronicPumpPlugin: MedtronicPumpPlugin @Inject lateinit var nsClientPlugin: NSClientPlugin + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin @Inject lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin @Inject lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin @Inject lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin @@ -212,6 +214,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang addPreferencesFromResourceIfEnabled(virtualPumpPlugin, rootKey) addPreferencesFromResourceIfEnabled(insulinOrefFreePeakPlugin, rootKey) addPreferencesFromResourceIfEnabled(nsClientPlugin, rootKey) + addPreferencesFromResourceIfEnabled(nsClientV3Plugin, rootKey) addPreferencesFromResourceIfEnabled(tidepoolPlugin, rootKey) addPreferencesFromResourceIfEnabled(smsCommunicatorPlugin, rootKey) addPreferencesFromResourceIfEnabled(automationPlugin, rootKey) @@ -328,13 +331,11 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang var visible = false if (p is PreferenceGroup) { - for (i in 0 until p.preferenceCount) { + for (i in 0 until p.preferenceCount) visible = updateFilterVisibility(filter, p.getPreference(i)) || visible - } - if (visible && p is PreferenceCategory) { - p.initialExpandedChildrenCount = Int.MAX_VALUE - } + if (visible && p is PreferenceCategory) p.initialExpandedChildrenCount = Int.MAX_VALUE } else { + @Suppress("KotlinConstantConditions") visible = visible || p.key?.contains(filter, true) == true visible = visible || p.title?.contains(filter, true) == true visible = visible || p.summary?.contains(filter, true) == true diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 35789d6948..df429cd091 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -43,10 +43,10 @@ import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider -import info.nightscout.androidaps.plugins.general.nsclient.DataSyncSelectorImplementation -import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.pump.PumpSyncImplementation +import info.nightscout.androidaps.plugins.sync.nsclient.DataSyncSelectorImplementation +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits @@ -115,11 +115,11 @@ open class AppModule { aapsLogger: AAPSLogger, sp: SP, rxBus: RxBus, rh: ResourceHelper, activePlugin: ActivePlugin, repository: AppRepository, dateUtil: DateUtil, config: Config, hardLimits: HardLimits, - aapsSchedulers: AapsSchedulers, fabricPrivacy: FabricPrivacy, deviceStatusData: DeviceStatusData + aapsSchedulers: AapsSchedulers, fabricPrivacy: FabricPrivacy, processedDeviceStatusData: ProcessedDeviceStatusData ): ProfileFunction = ProfileFunctionImpl( aapsLogger, sp, rxBus, rh, activePlugin, repository, dateUtil, - config, hardLimits, aapsSchedulers, fabricPrivacy, deviceStatusData + config, hardLimits, aapsSchedulers, fabricPrivacy, processedDeviceStatusData ) @Provides diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 756d619ac5..5765478431 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -20,13 +20,13 @@ import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragm import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog import info.nightscout.androidaps.plugins.general.actions.ActionsFragment import info.nightscout.androidaps.plugins.general.maintenance.MaintenanceFragment -import info.nightscout.androidaps.plugins.general.nsclient.NSClientFragment import info.nightscout.androidaps.plugins.general.overview.OverviewFragment import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog -import info.nightscout.androidaps.plugins.general.tidepool.TidepoolFragment import info.nightscout.androidaps.plugins.general.wear.WearFragment import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpFragment import info.nightscout.androidaps.plugins.source.BGSourceFragment +import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment +import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolFragment import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.plugins.general.autotune.AutotuneFragment diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index 81af39bf17..a8eecb1e3d 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -21,10 +21,8 @@ import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin import info.nightscout.androidaps.plugins.general.dataBroadcaster.DataBroadcastPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin import info.nightscout.androidaps.plugins.general.persistentNotification.PersistentNotificationPlugin -import info.nightscout.androidaps.plugins.general.tidepool.TidepoolPlugin import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin @@ -48,6 +46,9 @@ import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.RandomBgPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.constraints.dstHelper.DstHelperPlugin @@ -316,6 +317,12 @@ abstract class PluginsListModule { @IntKey(368) abstract fun bindTidepoolPlugin(plugin: TidepoolPlugin): PluginBase + @Binds + @Unfinished + @IntoMap + @IntKey(362) + abstract fun bindNSClientV3Plugin(plugin: NSClientV3Plugin): PluginBase + @Binds @AllConfigs @IntoMap diff --git a/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt index 83dcefc853..dab1c764e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.general.nsclient.services.NSClientService +import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService import info.nightscout.androidaps.plugins.general.overview.notifications.DismissNotificationService import info.nightscout.androidaps.plugins.general.persistentNotification.DummyService import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobile diff --git a/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt b/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt index a4cf47a767..ad9b25c340 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt @@ -3,11 +3,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl -import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddUpdateWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientMbgWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientUpdateRemoveAckWorker -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.androidaps.plugins.source.AidexPlugin import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.EversensePlugin @@ -17,6 +12,18 @@ import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddAckWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddUpdateWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientMbgWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientUpdateRemoveAckWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadBgWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadDeviceStatusWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadLastModificationWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadStatusWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadTreatmentsWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.ProcessTreatmentsWorker +import info.nightscout.plugins.profile.ProfilePlugin @Module @Suppress("unused") @@ -37,4 +44,11 @@ abstract class WorkersModule { @ContributesAndroidInjector abstract fun contributesNSClientMbgWorker(): NSClientMbgWorker @ContributesAndroidInjector abstract fun contributesCsvExportWorker(): ImportExportPrefsImpl.CsvExportWorker @ContributesAndroidInjector abstract fun contributesAidexWorker(): AidexPlugin.AidexWorker + @ContributesAndroidInjector abstract fun contributesLoadStatusWorker(): LoadStatusWorker + @ContributesAndroidInjector abstract fun contributesLoadLastModificationWorker(): LoadLastModificationWorker + @ContributesAndroidInjector abstract fun contributesLoadBgWorker(): LoadBgWorker + @ContributesAndroidInjector abstract fun contributesStoreBgWorker(): StoreDataForDb.StoreBgWorker + @ContributesAndroidInjector abstract fun contributesTreatmentWorker(): LoadTreatmentsWorker + @ContributesAndroidInjector abstract fun contributesProcessTreatmentsWorker(): ProcessTreatmentsWorker + @ContributesAndroidInjector abstract fun contributesLoadDeviceStatusWorker(): LoadDeviceStatusWorker } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 271bb0a073..5a34e252df 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -13,7 +13,6 @@ import android.os.SystemClock import androidx.core.app.NotificationCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting @@ -27,22 +26,17 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.extensions.buildDeviceStatus import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription @@ -55,14 +49,20 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotifi import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.buildDeviceStatus +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 9fe186b0a7..14797d64db 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -100,7 +100,7 @@ class OpenAPSAMAPlugin @Inject constructor( aapsLogger.debug(LTag.APS, rh.gs(R.string.noprofileset)) return } - if (!isEnabled(PluginType.APS)) { + if (!isEnabled()) { rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_disabled))) aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_disabled)) return diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index dec26786ee..5d70de8377 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -109,7 +109,7 @@ class OpenAPSSMBPlugin @Inject constructor( aapsLogger.debug(LTag.APS, rh.gs(R.string.noprofileset)) return } - if (!isEnabled(PluginType.APS)) { + if (!isEnabled()) { rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_disabled))) aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_disabled)) return diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index e68d37f28a..ba1cd689fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -114,6 +114,7 @@ class ConfigBuilderFragment : DaggerFragment() { createViewsForPlugins(R.string.configbuilder_loop, R.string.configbuilder_loop_description, PluginType.LOOP, activePlugin.getSpecificPluginsVisibleInList(PluginType.LOOP)) createViewsForPlugins(R.string.constraints, R.string.configbuilder_constraints_description, PluginType.CONSTRAINTS, activePlugin.getSpecificPluginsVisibleInList(PluginType.CONSTRAINTS)) } + createViewsForPlugins(R.string.configbuilder_sync, R.string.configbuilder_sync_description, PluginType.SYNC, activePlugin.getSpecificPluginsVisibleInList(PluginType.SYNC)) createViewsForPlugins(R.string.configbuilder_general, R.string.configbuilder_general_description, PluginType.GENERAL, activePlugin.getSpecificPluginsVisibleInList(PluginType.GENERAL)) } @@ -208,7 +209,7 @@ class ConfigBuilderFragment : DaggerFragment() { } private fun areMultipleSelectionsAllowed(type: PluginType): Boolean { - return type == PluginType.GENERAL || type == PluginType.CONSTRAINTS || type == PluginType.LOOP + return type == PluginType.GENERAL || type == PluginType.CONSTRAINTS || type == PluginType.LOOP || type == PluginType.SYNC } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 2cceb145b4..c22ac4fbc5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -11,9 +11,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync @@ -22,6 +21,8 @@ import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized import info.nightscout.rx.events.EventConfigBuilderChange @@ -44,15 +45,15 @@ class ConfigBuilderPlugin @Inject constructor( private val pumpSync: PumpSync ) : PluginBase( PluginDescription() - .mainType(PluginType.GENERAL) - .fragmentClass(ConfigBuilderFragment::class.java.name) - .showInList(true) - .alwaysEnabled(true) - .alwaysVisible(false) - .pluginIcon(R.drawable.ic_cogs) - .pluginName(R.string.configbuilder) - .shortName(R.string.configbuilder_shortname) - .description(R.string.description_config_builder), + .mainType(PluginType.GENERAL) + .fragmentClass(ConfigBuilderFragment::class.java.name) + .showInList(true) + .alwaysEnabled(true) + .alwaysVisible(false) + .pluginIcon(R.drawable.ic_cogs) + .pluginName(R.string.configbuilder) + .shortName(R.string.configbuilder_shortname) + .description(R.string.description_config_builder), aapsLogger, rh, injector ), ConfigBuilder { @@ -77,58 +78,60 @@ class ConfigBuilderPlugin @Inject constructor( val type = p.getType() if (p.pluginDescription.alwaysEnabled && p.pluginDescription.alwaysVisible) continue if (p.pluginDescription.alwaysEnabled && p.pluginDescription.neverVisible) continue - savePref(p, type, true) + savePref(p, type) } } - private fun savePref(p: PluginBase, type: PluginType, storeVisible: Boolean) { + private fun savePref(p: PluginBase, type: PluginType) { val settingEnabled = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Enabled" sp.putBoolean(settingEnabled, p.isEnabled()) aapsLogger.debug(LTag.CONFIGBUILDER, "Storing: " + settingEnabled + ":" + p.isEnabled()) - if (storeVisible) { - val settingVisible = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Visible" - sp.putBoolean(settingVisible, p.isFragmentVisible()) - aapsLogger.debug(LTag.CONFIGBUILDER, "Storing: " + settingVisible + ":" + p.isFragmentVisible()) - } + val settingVisible = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Visible" + sp.putBoolean(settingVisible, p.isFragmentVisible()) + aapsLogger.debug(LTag.CONFIGBUILDER, "Storing: " + settingVisible + ":" + p.isFragmentVisible()) } private fun loadSettings() { aapsLogger.debug(LTag.CONFIGBUILDER, "Loading stored settings") for (p in activePlugin.getPluginsList()) { val type = p.getType() - loadPref(p, type, true) + loadPref(p, type) } activePlugin.verifySelectionInCategories() } - private fun loadPref(p: PluginBase, type: PluginType, loadVisible: Boolean) { + private fun loadPref(p: PluginBase, type: PluginType) { val settingEnabled = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Enabled" - if (sp.contains(settingEnabled)) p.setPluginEnabled(type, sp.getBoolean(settingEnabled, false)) else if (p.getType() == type && (p.pluginDescription.enableByDefault || p.pluginDescription.alwaysEnabled)) { + if (sp.contains(settingEnabled)) p.setPluginEnabled( + type, + sp.getBoolean(settingEnabled, false) + ) else if (p.getType() == type && (p.pluginDescription.enableByDefault || p.pluginDescription.alwaysEnabled)) { p.setPluginEnabled(type, true) } aapsLogger.debug(LTag.CONFIGBUILDER, "Loaded: " + settingEnabled + ":" + p.isEnabled(type)) - if (loadVisible) { - val settingVisible = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Visible" - if (sp.contains(settingVisible)) p.setFragmentVisible(type, sp.getBoolean(settingVisible, false) && sp.getBoolean(settingEnabled, false)) else if (p.getType() == type && p.pluginDescription.visibleByDefault) { - p.setFragmentVisible(type, true) - } - aapsLogger.debug(LTag.CONFIGBUILDER, "Loaded: " + settingVisible + ":" + p.isFragmentVisible()) + val settingVisible = "ConfigBuilder_" + type.name + "_" + p.javaClass.simpleName + "_Visible" + if (sp.contains(settingVisible)) p.setFragmentVisible( + type, + sp.getBoolean(settingVisible, false) && sp.getBoolean(settingEnabled, false) + ) else if (p.getType() == type && p.pluginDescription.visibleByDefault) { + p.setFragmentVisible(type, true) } + aapsLogger.debug(LTag.CONFIGBUILDER, "Loaded: " + settingVisible + ":" + p.isFragmentVisible()) } fun logPluginStatus() { for (p in activePlugin.getPluginsList()) { aapsLogger.debug( LTag.CONFIGBUILDER, p.name + ":" + - (if (p.isEnabled(PluginType.GENERAL)) " GENERAL" else "") + - (if (p.isEnabled(PluginType.SENSITIVITY)) " SENSITIVITY" else "") + - (if (p.isEnabled(PluginType.PROFILE)) " PROFILE" else "") + - (if (p.isEnabled(PluginType.APS)) " APS" else "") + - (if (p.isEnabled(PluginType.PUMP)) " PUMP" else "") + - (if (p.isEnabled(PluginType.CONSTRAINTS)) " CONSTRAINTS" else "") + - (if (p.isEnabled(PluginType.LOOP)) " LOOP" else "") + - (if (p.isEnabled(PluginType.BGSOURCE)) " BGSOURCE" else "") + - if (p.isEnabled(PluginType.INSULIN)) " INSULIN" else "" + (if (p.isEnabled(PluginType.GENERAL)) " GENERAL" else "") + + (if (p.isEnabled(PluginType.SENSITIVITY)) " SENSITIVITY" else "") + + (if (p.isEnabled(PluginType.PROFILE)) " PROFILE" else "") + + (if (p.isEnabled(PluginType.APS)) " APS" else "") + + (if (p.isEnabled(PluginType.PUMP)) " PUMP" else "") + + (if (p.isEnabled(PluginType.CONSTRAINTS)) " CONSTRAINTS" else "") + + (if (p.isEnabled(PluginType.LOOP)) " LOOP" else "") + + (if (p.isEnabled(PluginType.BGSOURCE)) " BGSOURCE" else "") + + if (p.isEnabled(PluginType.INSULIN)) " INSULIN" else "" ) } } @@ -153,36 +156,41 @@ class ConfigBuilderPlugin @Inject constructor( performPluginSwitch(changedPlugin, newState, type) pumpSync.connectNewPump() sp.putBoolean("allow_hardware_pump", true) - uel.log(Action.HW_PUMP_ALLOWED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), - ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName))) + uel.log( + Action.HW_PUMP_ALLOWED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), + ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName)) + ) aapsLogger.debug(LTag.PUMP, "First time HW pump allowed!") }, { - rxBus.send(EventConfigBuilderUpdateGui()) - aapsLogger.debug(LTag.PUMP, "User does not allow switching to HW pump!") - }) + rxBus.send(EventConfigBuilderUpdateGui()) + aapsLogger.debug(LTag.PUMP, "User does not allow switching to HW pump!") + }) } } override fun performPluginSwitch(changedPlugin: PluginBase, enabled: Boolean, type: PluginType) { - if(enabled && !changedPlugin.isEnabled()) { - uel.log(Action.PLUGIN_ENABLED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), - ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName))) - } - else if(!enabled) { - uel.log(Action.PLUGIN_DISABLED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), - ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName))) + if (enabled && !changedPlugin.isEnabled()) { + uel.log( + Action.PLUGIN_ENABLED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), + ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName)) + ) + } else if (!enabled) { + uel.log( + Action.PLUGIN_DISABLED, Sources.ConfigBuilder, rh.gs(changedPlugin.pluginDescription.pluginName), + ValueWithUnit.SimpleString(rh.gsNotLocalised(changedPlugin.pluginDescription.pluginName)) + ) } changedPlugin.setPluginEnabled(type, enabled) changedPlugin.setFragmentVisible(type, enabled) processOnEnabledCategoryChanged(changedPlugin, type) - storeSettings("CheckedCheckboxEnabled") + storeSettings("RemoteConfiguration") rxBus.send(EventRebuildTabs()) rxBus.send(EventConfigBuilderChange()) rxBus.send(EventConfigBuilderUpdateGui()) logPluginStatus() } - fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType?) { + fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) { var pluginsInCategory: ArrayList? = null when (type) { PluginType.INSULIN -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Insulin::class.java) @@ -191,12 +199,14 @@ class ConfigBuilderPlugin @Inject constructor( PluginType.PROFILE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(ProfileSource::class.java) PluginType.BGSOURCE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(BgSource::class.java) PluginType.PUMP -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Pump::class.java) + // Process only NSClients + PluginType.SYNC -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(NsClient::class.java) else -> { } } if (pluginsInCategory != null) { - val newSelection = changedPlugin.isEnabled(type!!) + val newSelection = changedPlugin.isEnabled(type) if (newSelection) { // new plugin selected -> disable others for (p in pluginsInCategory) { if (p.name == changedPlugin.name) { @@ -206,7 +216,9 @@ class ConfigBuilderPlugin @Inject constructor( p.setFragmentVisible(type, false) } } - } else { // enable first plugin in list + } else if (type != PluginType.SYNC) { + // enable first plugin in list + // NSC must not be selected pluginsInCategory[0].setPluginEnabled(type, true) } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index d00bd1f231..a800d7e8b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -3,16 +3,18 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.Safety import info.nightscout.androidaps.interfaces.Sensitivity +import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.Safety import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject @@ -133,8 +135,9 @@ class PluginStore @Inject constructor( setFragmentVisibilities((activePumpStore as PluginBase).name, pluginsInCategory, PluginType.PUMP) } - private fun setFragmentVisibilities(activePluginName: String, pluginsInCategory: ArrayList, - pluginType: PluginType + private fun setFragmentVisibilities( + activePluginName: String, pluginsInCategory: ArrayList, + pluginType: PluginType ) { aapsLogger.debug(LTag.CONFIGBUILDER, "Selected interface: $activePluginName") for (p in pluginsInCategory) @@ -185,6 +188,17 @@ class PluginStore @Inject constructor( override val activeIobCobCalculator: IobCobCalculator get() = getSpecificPluginsListByInterface(IobCobCalculator::class.java).first() as IobCobCalculator + override val activeNsClient: NsClient? + get() = getTheOneEnabledInArray(getSpecificPluginsListByInterface(NsClient::class.java), PluginType.SYNC) as NsClient? + + @Suppress("UNCHECKED_CAST") + override val firstActiveSync: Sync? + get() = (getSpecificPluginsList(PluginType.SYNC) as ArrayList).firstOrNull { it.connected } + + @Suppress("UNCHECKED_CAST") + override val activeSyncs: ArrayList + get() = getSpecificPluginsList(PluginType.SYNC) as ArrayList + override fun getPluginsList(): ArrayList = ArrayList(plugins) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index f00593b60c..cd028221c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository @@ -8,19 +7,20 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.transactions.InsertOrUpdateProfileSwitch import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged -import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.fromConstant +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -45,7 +45,7 @@ class ProfileFunctionImpl @Inject constructor( private val hardLimits: HardLimits, aapsSchedulers: AapsSchedulers, private val fabricPrivacy: FabricPrivacy, - private val deviceStatusData: DeviceStatusData + private val processedDeviceStatusData: ProcessedDeviceStatusData ) : ProfileFunction { private var cache = ConcurrentHashMap() @@ -117,7 +117,7 @@ class ProfileFunctionImpl @Inject constructor( // Try to get it from device status // Remove this code after switch to api v3 if (config.NSCLIENT && ps is ValueWrapper.Absent) { - deviceStatusData.pumpData?.activeProfileName?.let { activeProfile -> + processedDeviceStatusData.pumpData?.activeProfileName?.let { activeProfile -> activePlugin.activeProfileSource.profile?.getSpecificProfile(activeProfile)?.let { ap -> val sealed = ProfileSealed.Pure(ap) synchronized(cache) { @@ -183,7 +183,7 @@ class ProfileFunctionImpl @Inject constructor( val profileStore = activePlugin.activeProfileSource.profile ?: return false val ps = buildProfileSwitch(profileStore, profile.profileName, durationInMinutes, percentage, 0, dateUtil.now()) ?: return false val validity = ProfileSealed.PS(ps).isValid( - rh.gs(info.nightscout.automation.R.string.careportal_profileswitch), + rh.gs(R.string.careportal_profileswitch), activePlugin.activePump, config, rh, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt similarity index 74% rename from core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt index e48d0434ee..4d1db04996 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt @@ -2,21 +2,22 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.interfaces.PluginType +import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject @@ -66,17 +67,16 @@ class RunningConfiguration @Inject constructor( } // called in NSClient mode only - fun apply(configuration: JSONObject) { + fun apply(configuration: RemoteDeviceStatus.Configuration, version: NsClient.Version) { assert(config.NSCLIENT) - if (configuration.has("version")) { - rxBus.send(EventNSClientNewLog("VERSION", "Received AndroidAPS version ${configuration.getString("version")}")) - if (config.VERSION_NAME.startsWith(configuration.getString("version")).not()) { + configuration.version?.let { + rxBus.send(EventNSClientNewLog("VERSION", "Received AndroidAPS version $it", version)) + if (config.VERSION_NAME.startsWith(it).not()) rxBus.send(EventNewNotification(Notification(Notification.NSCLIENT_VERSION_DOES_NOT_MATCH, rh.gs(R.string.nsclient_version_does_not_match), Notification.NORMAL))) - } } - if (configuration.has("insulin")) { - val insulin = Insulin.InsulinType.fromInt(JsonHelper.safeGetInt(configuration, "insulin", Insulin.InsulinType.UNKNOWN.value)) + configuration.insulin?.let { + val insulin = Insulin.InsulinType.fromInt(it) for (p in activePlugin.getSpecificPluginsListByInterface(Insulin::class.java)) { val insulinPlugin = p as Insulin if (insulinPlugin.id == insulin) { @@ -84,13 +84,13 @@ class RunningConfiguration @Inject constructor( aapsLogger.debug(LTag.CORE, "Changing insulin plugin to ${insulin.name}") configBuilder.performPluginSwitch(p, true, PluginType.INSULIN) } - insulinPlugin.applyConfiguration(configuration.getJSONObject("insulinConfiguration")) + configuration.insulinConfiguration?.let { ic -> insulinPlugin.applyConfiguration(ic) } } } } - if (configuration.has("sensitivity")) { - val sensitivity = Sensitivity.SensitivityType.fromInt(JsonHelper.safeGetInt(configuration, "sensitivity", Sensitivity.SensitivityType.UNKNOWN.value)) + configuration.sensitivity?.let { + val sensitivity = Sensitivity.SensitivityType.fromInt(it) for (p in activePlugin.getSpecificPluginsListByInterface(Sensitivity::class.java)) { val sensitivityPlugin = p as Sensitivity if (sensitivityPlugin.id == sensitivity) { @@ -98,25 +98,26 @@ class RunningConfiguration @Inject constructor( aapsLogger.debug(LTag.CORE, "Changing sensitivity plugin to ${sensitivity.name}") configBuilder.performPluginSwitch(p, true, PluginType.SENSITIVITY) } - sensitivityPlugin.applyConfiguration(configuration.getJSONObject("sensitivityConfiguration")) + configuration.sensitivityConfiguration?.let { sc -> sensitivityPlugin.applyConfiguration(sc) } } } } - if (configuration.has("pump")) { - val pumpType = JsonHelper.safeGetString(configuration, "pump", PumpType.GENERIC_AAPS.description) - if (sp.getString(R.string.key_virtualpump_type, "fake") != pumpType) { - sp.putString(R.string.key_virtualpump_type, pumpType) - activePlugin.activePump.pumpDescription.fillFor(PumpType.getByDescription(pumpType)) + configuration.pump?.let { + if (sp.getString(R.string.key_virtualpump_type, "fake") != it) { + sp.putString(R.string.key_virtualpump_type, it) + activePlugin.activePump.pumpDescription.fillFor(PumpType.getByDescription(it)) pumpSync.connectNewPump(endRunning = false) // do not end running TBRs, we call this only to accept data properly - aapsLogger.debug(LTag.CORE, "Changing pump type to $pumpType") + aapsLogger.debug(LTag.CORE, "Changing pump type to $it") } } - if (configuration.has("overviewConfiguration")) - activePlugin.activeOverview.applyConfiguration(configuration.getJSONObject("overviewConfiguration")) + configuration.overviewConfiguration?.let { + activePlugin.activeOverview.applyConfiguration(it) + } - if (configuration.has("safetyConfiguration")) - activePlugin.activeSafety.applyConfiguration(configuration.getJSONObject("safetyConfiguration")) + configuration.safetyConfiguration?.let { + activePlugin.activeSafety.applyConfiguration(it) + } } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index 32db320167..94e02b782f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -1,22 +1,12 @@ package info.nightscout.androidaps.plugins.constraints.objectives -import androidx.fragment.app.FragmentActivity -import com.google.common.base.Charsets -import com.google.common.hash.Hashing import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 @@ -28,11 +18,11 @@ import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Obje import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective6 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective7 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective9 -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP -import java.util.Locale import javax.inject.Inject import javax.inject.Singleton @@ -43,19 +33,17 @@ class ObjectivesPlugin @Inject constructor( rh: ResourceHelper, private val activePlugin: ActivePlugin, private val sp: SP, - config: Config, - private val dateUtil: DateUtil, - private val uel: UserEntryLogger + config: Config ) : PluginBase( PluginDescription() - .mainType(PluginType.CONSTRAINTS) - .fragmentClass(ObjectivesFragment::class.qualifiedName) - .alwaysEnabled(config.APS) - .showInList(config.APS) - .pluginIcon(R.drawable.ic_graduation) - .pluginName(R.string.objectives) - .shortName(R.string.objectives_shortname) - .description(R.string.description_objectives), + .mainType(PluginType.CONSTRAINTS) + .fragmentClass(ObjectivesFragment::class.qualifiedName) + .alwaysEnabled(config.APS) + .showInList(config.APS) + .pluginIcon(R.drawable.ic_graduation) + .pluginName(R.string.objectives) + .shortName(R.string.objectives_shortname) + .description(R.string.description_objectives), aapsLogger, rh, injector ), Constraints { @@ -115,34 +103,6 @@ class ObjectivesPlugin @Inject constructor( sp.putBoolean(R.string.key_objectiveusescale, false) } - fun completeObjectives(activity: FragmentActivity, request: String) { - val requestCode = sp.getString(R.string.key_objectives_request_code, "") - var url = sp.getString(R.string.key_nsclientinternal_url, "").lowercase(Locale.getDefault()) - if (!url.endsWith("/")) url = "$url/" - @Suppress("DEPRECATION", "UnstableApiUsage") val hashNS = Hashing.sha1().hashString(url + BuildConfig.APPLICATION_ID + "/" + requestCode, Charsets.UTF_8).toString() - if (request.equals(hashNS.substring(0, 10), ignoreCase = true)) { - sp.putLong("Objectives_" + "openloop" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "openloop" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "maxbasal" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "maxbasal" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "maxiobzero" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "maxiobzero" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "maxiob" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "maxiob" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "autosens" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "autosens" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "smb" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "smb" + "_accomplished", dateUtil.now()) - sp.putLong("Objectives_" + "auto" + "_started", dateUtil.now()) - sp.putLong("Objectives_" + "auto" + "_accomplished", dateUtil.now()) - setupObjectives() - OKDialog.show(activity, rh.gs(R.string.objectives), rh.gs(R.string.codeaccepted)) - uel.log(Action.OBJECTIVES_SKIPPED, Sources.Objectives) - } else { - OKDialog.show(activity, rh.gs(R.string.objectives), rh.gs(R.string.codeinvalid)) - } - } - fun allPriorAccomplished(position: Int): Boolean { var accomplished = true for (i in 0 until position) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt index bd2eb4d345..9071d4eda3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import javax.inject.Inject @@ -18,7 +17,6 @@ class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin @Inject lateinit var repository: AppRepository @Inject lateinit var loop: Loop - @Inject lateinit var nsClientPlugin: NSClientPlugin @Inject lateinit var iobCobCalculator: IobCobCalculator init { @@ -27,9 +25,9 @@ class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R return sp.getBoolean(R.string.key_ObjectivesbgIsAvailableInNS, false) } }) - tasks.add(object : Task(this, R.string.nsclienthaswritepermission) { + tasks.add(object : Task(this, R.string.synchaswritepermission) { override fun isCompleted(): Boolean { - return nsClientPlugin.hasWritePermission() + return activePlugin.firstActiveSync?.hasWritePermission == true } }) tasks.add(object : Task(this, R.string.virtualpump_uploadstatus_title) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt index 1808666fad..5a89f50ff9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt @@ -1,18 +1,15 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives -import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin +import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.T import javax.inject.Inject @Suppress("SpellCheckingInspection") class Objective3 @Inject constructor(injector: HasAndroidInjector) : Objective(injector, "openloop", R.string.objectives_openloop_objective, R.string.objectives_openloop_gate) { - @Inject lateinit var objectivesPlugin: ObjectivesPlugin - @Inject lateinit var nsClientPlugin: NSClientPlugin + @Inject lateinit var activePlugin: ActivePlugin init { tasks.add(MinimumDurationTask(this, T.days(7).msecs())) @@ -22,17 +19,11 @@ class Objective3 @Inject constructor(injector: HasAndroidInjector) : Objective(i } override val progress: String - get() = if (sp.getInt(R.string.key_ObjectivesmanualEnacts, 0) >= MANUAL_ENACTS_NEEDED) rh.gs(R.string.completed_well_done) else sp.getInt(R.string.key_ObjectivesmanualEnacts, 0).toString() + " / " + MANUAL_ENACTS_NEEDED + get() = if (sp.getInt(R.string.key_ObjectivesmanualEnacts, 0) >= MANUAL_ENACTS_NEEDED) rh.gs(R.string.completed_well_done) else sp.getInt(R.string.key_ObjectivesmanualEnacts, 0) + .toString() + " / " + MANUAL_ENACTS_NEEDED }) } - override fun specialActionEnabled(): Boolean = - nsClientPlugin.nsClientService?.isConnected == true && nsClientPlugin.nsClientService?.hasWriteAuth == true - - override fun specialAction(activity: FragmentActivity, input: String) { - objectivesPlugin.completeObjectives(activity, input) - } - companion object { private const val MANUAL_ENACTS_NEEDED = 20 diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 696e688c8a..6a9e7a9307 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -10,28 +10,27 @@ import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui -import info.nightscout.androidaps.plugins.general.nsclient.data.DeviceStatusData -import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus -import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -52,14 +51,12 @@ class DataBroadcastPlugin @Inject constructor( private val iobCobCalculator: IobCobCalculator, private val profileFunction: ProfileFunction, private val defaultValueHelper: DefaultValueHelper, - private val nsDeviceStatus: NSDeviceStatus, - private val deviceStatusData: DeviceStatusData, + private val processedDeviceStatusData: ProcessedDeviceStatusData, private val loop: Loop, private val activePlugin: ActivePlugin, private var receiverStatusStore: ReceiverStatusStore, private val config: Config, private val glucoseStatusProvider: GlucoseStatusProvider - ) : PluginBase( PluginDescription() .mainType(PluginType.GENERAL) @@ -143,7 +140,7 @@ class DataBroadcastPlugin @Inject constructor( private fun loopStatus(bundle: Bundle) { //batteries bundle.putInt("phoneBattery", receiverStatusStore.batteryLevel) - bundle.putInt("rigBattery", nsDeviceStatus.uploaderStatus.replace("%", "").trim { it <= ' ' }.toInt()) + bundle.putInt("rigBattery", processedDeviceStatusData.uploaderStatus.replace("%", "").trim { it <= ' ' }.toInt()) if (config.APS && loop.lastRun?.lastTBREnact != 0L) { //we are AndroidAPS bundle.putLong("suggestedTimeStamp", loop.lastRun?.lastAPSRun ?: -1L) @@ -156,7 +153,7 @@ class DataBroadcastPlugin @Inject constructor( bundle.putString("enacted", loop.lastRun?.request?.json().toString()) } } else { //NSClient or remote - val data = deviceStatusData.openAPSData + val data = processedDeviceStatusData.openAPSData if (data.clockSuggested != 0L && data.suggested != null) { bundle.putLong("suggestedTimeStamp", data.clockSuggested) bundle.putString("suggested", data.suggested.toString()) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index 2e41632ca9..418624b6d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt deleted file mode 100644 index c61ecbc596..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddUpdateWorker.kt +++ /dev/null @@ -1,539 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient - -import android.content.Context -import androidx.work.Worker -import androidx.work.WorkerParameters -import androidx.work.workDataOf -import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.SyncNsBolusCalculatorResultTransaction -import info.nightscout.androidaps.database.transactions.SyncNsBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncNsCarbsTransaction -import info.nightscout.androidaps.database.transactions.SyncNsEffectiveProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.SyncNsExtendedBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncNsOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.SyncNsProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTemporaryBasalTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTemporaryTargetTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction -import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson -import info.nightscout.androidaps.extensions.bolusFromJson -import info.nightscout.androidaps.extensions.carbsFromJson -import info.nightscout.androidaps.extensions.effectiveProfileSwitchFromJson -import info.nightscout.androidaps.extensions.extendedBolusFromJson -import info.nightscout.androidaps.extensions.isEffectiveProfileSwitch -import info.nightscout.androidaps.extensions.offlineEventFromJson -import info.nightscout.androidaps.extensions.profileSwitchFromJson -import info.nightscout.androidaps.extensions.temporaryBasalFromJson -import info.nightscout.androidaps.extensions.temporaryTargetFromJson -import info.nightscout.androidaps.extensions.therapyEventFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.JsonHelper.safeGetLong -import info.nightscout.rx.bus.RxBus -import info.nightscout.rx.logging.AAPSLogger -import info.nightscout.rx.logging.LTag -import info.nightscout.shared.sharedPreferences.SP -import java.util.concurrent.TimeUnit -import javax.inject.Inject - -class NSClientAddUpdateWorker( - context: Context, - params: WorkerParameters -) : Worker(context, params) { - - @Inject lateinit var nsClientPlugin: NSClientPlugin - @Inject lateinit var dataWorkerStorage: DataWorkerStorage - @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var buildHelper: BuildHelper - @Inject lateinit var sp: SP - @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var config: Config - @Inject lateinit var repository: AppRepository - @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var rxBus: RxBus - @Inject lateinit var uel: UserEntryLogger - @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin - @Inject lateinit var xDripBroadcast: XDripBroadcast - - override fun doWork(): Result { - val treatments = dataWorkerStorage.pickupJSONArray(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) - ?: return Result.failure(workDataOf("Error" to "missing input data")) - - var ret = Result.success() - var latestDateInReceivedData = 0L - - for (i in 0 until treatments.length()) { - var json = treatments.getJSONObject(i) - aapsLogger.debug(LTag.DATABASE, "Received NS treatment: $json") - - val insulin = JsonHelper.safeGetDouble(json, "insulin") - val carbs = JsonHelper.safeGetDouble(json, "carbs") - var eventType = JsonHelper.safeGetString(json, "eventType") - if (eventType == null) { - aapsLogger.debug(LTag.NSCLIENT, "Wrong treatment. Ignoring : $json") - continue - } - - //Find latest date in treatment - val mills = safeGetLong(json, "mills") - if (mills != 0L && mills < dateUtil.now()) - if (mills > latestDateInReceivedData) latestDateInReceivedData = mills - - if (insulin > 0) { - if (sp.getBoolean(R.string.key_ns_receive_insulin, false) || config.NSCLIENT) { - bolusFromJson(json)?.let { bolus -> - repository.runTransactionForResult(SyncNsBolusTransaction(bolus)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving bolus", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.BOLUS, Sources.NSClient, it.notes, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Insulin(it.amount) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted bolus $it") - } - result.invalidated.forEach { - uel.log( - Action.BOLUS_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Insulin(it.amount) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated bolus $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId of bolus $it") - } - result.updated.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated amount of bolus $it") - } - } - } ?: aapsLogger.error("Error parsing bolus json $json") - } - } - if (carbs > 0) { - if (sp.getBoolean(R.string.key_ns_receive_carbs, false) || config.NSCLIENT) { - carbsFromJson(json)?.let { carb -> - repository.runTransactionForResult(SyncNsCarbsTransaction(carb)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.CARBS, Sources.NSClient, it.notes, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Gram(it.amount.toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted carbs $it") - } - result.invalidated.forEach { - uel.log( - Action.CARBS_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Gram(it.amount.toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated carbs $it") - } - result.updated.forEach { - uel.log( - Action.CARBS, Sources.NSClient, it.notes, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Gram(it.amount.toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Updated carbs $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId carbs $it") - } - } - } ?: aapsLogger.error("Error parsing bolus json $json") - } - } - // Convert back emulated TBR -> EB - if (eventType == TherapyEvent.Type.TEMPORARY_BASAL.text && json.has("extendedEmulated")) { - val ebJson = json.getJSONObject("extendedEmulated") - ebJson.put("_id", json.getString("_id")) - ebJson.put("isValid", json.getBoolean("isValid")) - ebJson.put("mills", mills) - json = ebJson - eventType = JsonHelper.safeGetString(json, "eventType") - virtualPumpPlugin.fakeDataDetected = true - } - when { - insulin > 0 || carbs > 0 -> Any() - eventType == TherapyEvent.Type.TEMPORARY_TARGET.text -> - if (sp.getBoolean(R.string.key_ns_receive_temp_target, false) || config.NSCLIENT) { - temporaryTargetFromJson(json)?.let { temporaryTarget -> - repository.runTransactionForResult(SyncNsTemporaryTargetTransaction(temporaryTarget)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { tt -> - uel.log( - Action.TT, Sources.NSClient, - ValueWithUnit.TherapyEventTTReason(tt.reason), - ValueWithUnit.fromGlucoseUnit(tt.lowTarget, Constants.MGDL), - ValueWithUnit.fromGlucoseUnit(tt.highTarget, Constants.MGDL).takeIf { tt.lowTarget != tt.highTarget }, - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted TemporaryTarget $tt") - } - result.invalidated.forEach { tt -> - uel.log( - Action.TT_REMOVED, Sources.NSClient, - ValueWithUnit.TherapyEventTTReason(tt.reason), - ValueWithUnit.Mgdl(tt.lowTarget), - ValueWithUnit.Mgdl(tt.highTarget).takeIf { tt.lowTarget != tt.highTarget }, - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated TemporaryTarget $tt") - } - result.ended.forEach { tt -> - uel.log( - Action.CANCEL_TT, Sources.NSClient, - ValueWithUnit.TherapyEventTTReason(tt.reason), - ValueWithUnit.Mgdl(tt.lowTarget), - ValueWithUnit.Mgdl(tt.highTarget).takeIf { tt.lowTarget != tt.highTarget }, - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Updated TemporaryTarget $tt") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId TemporaryTarget $it") - } - result.updatedDuration.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated duration TemporaryTarget $it") - } - } - } ?: aapsLogger.error("Error parsing TT json $json") - } - eventType == TherapyEvent.Type.NOTE.text && json.isEffectiveProfileSwitch() -> // replace this by new Type when available in NS - if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { - effectiveProfileSwitchFromJson(json, dateUtil)?.let { effectiveProfileSwitch -> - repository.runTransactionForResult(SyncNsEffectiveProfileSwitchTransaction(effectiveProfileSwitch)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving EffectiveProfileSwitch", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.PROFILE_SWITCH, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted EffectiveProfileSwitch $it") - } - result.invalidated.forEach { - uel.log( - Action.PROFILE_SWITCH_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated EffectiveProfileSwitch $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId EffectiveProfileSwitch $it") - } - } - } ?: aapsLogger.error("Error parsing EffectiveProfileSwitch json $json") - } - eventType == TherapyEvent.Type.BOLUS_WIZARD.text -> - bolusCalculatorResultFromJson(json)?.let { bolusCalculatorResult -> - repository.runTransactionForResult(SyncNsBolusCalculatorResultTransaction(bolusCalculatorResult)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving BolusCalculatorResult", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.BOLUS_CALCULATOR_RESULT, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ) - aapsLogger.debug(LTag.DATABASE, "Inserted BolusCalculatorResult $it") - } - result.invalidated.forEach { - uel.log( - Action.BOLUS_CALCULATOR_RESULT_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated BolusCalculatorResult $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId BolusCalculatorResult $it") - } - } - } ?: aapsLogger.error("Error parsing BolusCalculatorResult json $json") - eventType == TherapyEvent.Type.CANNULA_CHANGE.text || - eventType == TherapyEvent.Type.INSULIN_CHANGE.text || - eventType == TherapyEvent.Type.SENSOR_CHANGE.text || - eventType == TherapyEvent.Type.FINGER_STICK_BG_VALUE.text || - eventType == TherapyEvent.Type.NONE.text || - eventType == TherapyEvent.Type.ANNOUNCEMENT.text || - eventType == TherapyEvent.Type.QUESTION.text || - eventType == TherapyEvent.Type.EXERCISE.text || - eventType == TherapyEvent.Type.NOTE.text || - eventType == TherapyEvent.Type.PUMP_BATTERY_CHANGE.text -> - if (sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT) { - therapyEventFromJson(json)?.let { therapyEvent -> - repository.runTransactionForResult(SyncNsTherapyEventTransaction(therapyEvent)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - val action = when (eventType) { - TherapyEvent.Type.CANNULA_CHANGE.text -> Action.SITE_CHANGE - TherapyEvent.Type.INSULIN_CHANGE.text -> Action.RESERVOIR_CHANGE - else -> Action.CAREPORTAL - } - result.inserted.forEach { therapyEvent -> - uel.log(action, Sources.NSClient, - therapyEvent.note ?: "", - ValueWithUnit.Timestamp(therapyEvent.timestamp), - ValueWithUnit.TherapyEventType(therapyEvent.type), - ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null } - ) - aapsLogger.debug(LTag.DATABASE, "Inserted TherapyEvent $therapyEvent") - } - result.invalidated.forEach { therapyEvent -> - uel.log(Action.CAREPORTAL_REMOVED, Sources.NSClient, - therapyEvent.note ?: "", - ValueWithUnit.Timestamp(therapyEvent.timestamp), - ValueWithUnit.TherapyEventType(therapyEvent.type), - ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null } - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated TherapyEvent $therapyEvent") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId TherapyEvent $it") - } - result.updatedDuration.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId TherapyEvent $it") - } - } - } ?: aapsLogger.error("Error parsing TherapyEvent json $json") - } - eventType == TherapyEvent.Type.COMBO_BOLUS.text -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { - extendedBolusFromJson(json)?.let { extendedBolus -> - repository.runTransactionForResult(SyncNsExtendedBolusTransaction(extendedBolus)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving extended bolus", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.EXTENDED_BOLUS, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Insulin(it.amount), - ValueWithUnit.UnitPerHour(it.rate), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted ExtendedBolus $it") - } - result.invalidated.forEach { - uel.log( - Action.EXTENDED_BOLUS_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Insulin(it.amount), - ValueWithUnit.UnitPerHour(it.rate), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated ExtendedBolus $it") - } - result.ended.forEach { - uel.log( - Action.CANCEL_EXTENDED_BOLUS, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - ValueWithUnit.Insulin(it.amount), - ValueWithUnit.UnitPerHour(it.rate), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Updated ExtendedBolus $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId ExtendedBolus $it") - } - result.updatedDuration.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated duration ExtendedBolus $it") - } - } - } ?: aapsLogger.error("Error parsing ExtendedBolus json $json") - } - eventType == TherapyEvent.Type.TEMPORARY_BASAL.text -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { - temporaryBasalFromJson(json)?.let { temporaryBasal -> - repository.runTransactionForResult(SyncNsTemporaryBasalTransaction(temporaryBasal)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving temporary basal", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.TEMP_BASAL, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted TemporaryBasal $it") - } - result.invalidated.forEach { - uel.log( - Action.TEMP_BASAL_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated TemporaryBasal $it") - } - result.ended.forEach { - uel.log( - Action.CANCEL_TEMP_BASAL, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp), - if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Ended TemporaryBasal $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId TemporaryBasal $it") - } - result.updatedDuration.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated duration TemporaryBasal $it") - } - } - } ?: aapsLogger.error("Error parsing TemporaryBasal json $json") - } - eventType == TherapyEvent.Type.PROFILE_SWITCH.text -> - if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { - profileSwitchFromJson(json, dateUtil, activePlugin)?.let { profileSwitch -> - repository.runTransactionForResult(SyncNsProfileSwitchTransaction(profileSwitch)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving ProfileSwitch", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { - uel.log( - Action.PROFILE_SWITCH, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted ProfileSwitch $it") - } - result.invalidated.forEach { - uel.log( - Action.PROFILE_SWITCH_REMOVED, Sources.NSClient, - ValueWithUnit.Timestamp(it.timestamp) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated ProfileSwitch $it") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId ProfileSwitch $it") - } - } - } ?: aapsLogger.error("Error parsing ProfileSwitch json $json") - } - eventType == TherapyEvent.Type.APS_OFFLINE.text -> - if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && buildHelper.isEngineeringMode() || config.NSCLIENT) { - offlineEventFromJson(json)?.let { offlineEvent -> - repository.runTransactionForResult(SyncNsOfflineEventTransaction(offlineEvent)) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving OfflineEvent", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.inserted.forEach { oe -> - uel.log( - Action.LOOP_CHANGE, Sources.NSClient, - ValueWithUnit.OfflineEventReason(oe.reason), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Inserted OfflineEvent $oe") - } - result.invalidated.forEach { oe -> - uel.log( - Action.LOOP_REMOVED, Sources.NSClient, - ValueWithUnit.OfflineEventReason(oe.reason), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Invalidated OfflineEvent $oe") - } - result.ended.forEach { oe -> - uel.log( - Action.LOOP_CHANGE, Sources.NSClient, - ValueWithUnit.OfflineEventReason(oe.reason), - ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) - ) - aapsLogger.debug(LTag.DATABASE, "Updated OfflineEvent $oe") - } - result.updatedNsId.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated nsId OfflineEvent $it") - } - result.updatedDuration.forEach { - aapsLogger.debug(LTag.DATABASE, "Updated duration OfflineEvent $it") - } - } - } ?: aapsLogger.error("Error parsing OfflineEvent json $json") - } - } - if (sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT) - if (eventType == TherapyEvent.Type.ANNOUNCEMENT.text) { - val date = safeGetLong(json, "mills") - val now = System.currentTimeMillis() - val enteredBy = JsonHelper.safeGetString(json, "enteredBy", "") - val notes = JsonHelper.safeGetString(json, "notes", "") - if (date > now - 15 * 60 * 1000L && notes.isNotEmpty() - && enteredBy != sp.getString("careportal_enteredby", "AndroidAPS") - ) { - val defaultVal = config.NSCLIENT - if (sp.getBoolean(R.string.key_ns_announcements, defaultVal)) { - val announcement = Notification(Notification.NS_ANNOUNCEMENT, notes, Notification.ANNOUNCEMENT, 60) - rxBus.send(EventNewNotification(announcement)) - } - } - } - } - nsClientPlugin.updateLatestDateReceivedIfNewer(latestDateInReceivedData) - xDripBroadcast.sendTreatments(treatments) - return ret - } - - init { - (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/DeviceStatusData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/DeviceStatusData.kt deleted file mode 100644 index a4b1b7ff7e..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/DeviceStatusData.kt +++ /dev/null @@ -1,42 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data - -import android.text.Spanned -import org.json.JSONObject -import java.util.HashMap -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class DeviceStatusData @Inject constructor() { - - class PumpData { - var clock = 0L - var isPercent = false - var percent = 0 - var voltage = 0.0 - var status = "N/A" - var reservoir = 0.0 - var reservoirDisplayOverride = "" - var extended: Spanned? = null - var activeProfileName: String? = null - } - - var pumpData: PumpData? = null - - class Uploader { - var clock = 0L - var battery = 0 - } - - val uploaderMap = HashMap() - - class OpenAPSData { - var clockSuggested = 0L - var clockEnacted = 0L - var suggested: JSONObject? = null - var enacted: JSONObject? = null - } - - var openAPSData = OpenAPSData() -} - diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt deleted file mode 100644 index 88d65bd314..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.kt +++ /dev/null @@ -1,375 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data - -import android.text.Spanned -import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.loop.APSResult -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.HtmlHelper.fromHtml -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T -import info.nightscout.rx.logging.AAPSLogger -import info.nightscout.rx.logging.LTag -import info.nightscout.shared.sharedPreferences.SP -import org.json.JSONArray -import org.json.JSONException -import org.json.JSONObject -import javax.inject.Inject -import javax.inject.Singleton - -/* -{ - "_id": "594fdcec327b83c81b6b8c0f", - "device": "openaps://Sony D5803", - "pump": { - "battery": { - "percent": 100 - }, - "status": { - "status": "normal", - "timestamp": "2017-06-25T15:50:14Z" - }, - "extended": { - "Version": "1.5-ac98852-2017.06.25", - "PumpIOB": 1.13, - "LastBolus": "25. 6. 2017 17:25:00", - "LastBolusAmount": 0.3, - "BaseBasalRate": 0.4, - "ActiveProfile": "2016 +30%" - }, - "reservoir": 109, - "clock": "2017-06-25T15:55:10Z" - }, - "openaps": { - "suggested": { - "temp": "absolute", - "bg": 115.9, - "tick": "+5", - "eventualBG": 105, - "snoozeBG": 105, - "predBGs": { - "IOB": [116, 114, 112, 110, 109, 107, 106, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107] - }, - "sensitivityRatio": 0.81, - "variable_sens": 137.3, - "COB": 0, - "IOB": -0.035, - "reason": "COB: 0, Dev: -18, BGI: 0.43, ISF: 216, Target: 99; Eventual BG 105 > 99 but Min. Delta -2.60 < Exp. Delta 0.1; setting current basal of 0.4 as temp. Suggested rate is same as profile rate, no temp basal is active, doing nothing", - "timestamp": "2017-06-25T15:55:10Z" - }, - "iob": { - "iob": -0.035, - "basaliob": -0.035, - "activity": -0.0004, - "time": "2017-06-25T15:55:10Z" - } - }, - "uploaderBattery": 93, - "created_at": "2017-06-25T15:55:10Z", - "NSCLIENT_ID": 1498406118857 -} - */ -@Suppress("SpellCheckingInspection") -@Singleton -class NSDeviceStatus @Inject constructor( - private val aapsLogger: AAPSLogger, - private val sp: SP, - private val rh: ResourceHelper, - private val nsSettingsStatus: NSSettingsStatus, - private val config: Config, - private val dateUtil: DateUtil, - private val runningConfiguration: RunningConfiguration, - private val deviceStatusData: DeviceStatusData -) { - - private var data: JSONObject? = null - fun handleNewData(deviceStatuses: JSONArray) { - aapsLogger.debug(LTag.NSCLIENT, "Got NS deviceStatus: \$deviceStatuses") - try { - for (i in deviceStatuses.length() - 1 downTo 0) { - val devicestatusJson = deviceStatuses.getJSONObject(i) - if (devicestatusJson != null) { - setData(devicestatusJson) - if (devicestatusJson.has("pump")) { - // Objectives 0 - sp.putBoolean(R.string.key_ObjectivespumpStatusIsAvailableInNS, true) - } - if (devicestatusJson.has("configuration") && config.NSCLIENT) { - // copy configuration of Insulin and Sensitivity from main AAPS - runningConfiguration.apply(devicestatusJson.getJSONObject("configuration")) - break - } - } - } - } catch (jsonException: JSONException) { - jsonException.printStackTrace() - } - } - - private fun setData(obj: JSONObject): NSDeviceStatus { - data = obj - updatePumpData() - updateOpenApsData(obj) - updateUploaderData(obj) - return this - } - - val device: String - get() { - try { - if (data!!.has("device")) { - var device = data!!.getString("device") - if (device.startsWith("openaps://")) { - device = device.substring(10) - return device - } - } - } catch (e: JSONException) { - aapsLogger.error("Unhandled exception", e) - } - return "" - } - - enum class Levels(val level: Int) { - - URGENT(2), - WARN(1), - INFO(0); - - fun toColor(): String = - when (level) { - INFO.level -> "white" - WARN.level -> "yellow" - URGENT.level -> "red" - else -> "white" - } - } - - val extendedPumpStatus: Spanned - get() = deviceStatusData.pumpData?.extended ?: fromHtml("") - - val pumpStatus: Spanned - // test warning level // color - get() { - val pumpData = deviceStatusData.pumpData ?: return fromHtml("") - - //String[] ALL_STATUS_FIELDS = {"reservoir", "battery", "clock", "status", "device"}; - val string = StringBuilder() - .append("") - .append(rh.gs(R.string.pump)) - .append(": ") - - // test warning level - val level = when { - pumpData.clock + nsSettingsStatus.extendedPumpSettings("urgentClock") * 60 * 1000L < dateUtil.now() -> Levels.URGENT - pumpData.reservoir < nsSettingsStatus.extendedPumpSettings("urgentRes") -> Levels.URGENT - pumpData.isPercent && pumpData.percent < nsSettingsStatus.extendedPumpSettings("urgentBattP") -> Levels.URGENT - !pumpData.isPercent && pumpData.voltage > 0 && pumpData.voltage < nsSettingsStatus.extendedPumpSettings("urgentBattV") -> Levels.URGENT - pumpData.clock + nsSettingsStatus.extendedPumpSettings("warnClock") * 60 * 1000L < dateUtil.now() -> Levels.WARN - pumpData.reservoir < nsSettingsStatus.extendedPumpSettings("warnRes") -> Levels.WARN - pumpData.isPercent && pumpData.percent < nsSettingsStatus.extendedPumpSettings("warnBattP") -> Levels.WARN - !pumpData.isPercent && pumpData.voltage > 0 && pumpData.voltage < nsSettingsStatus.extendedPumpSettings("warnBattV") -> Levels.WARN - else -> Levels.INFO - } - string.append("") - val insulinUnit = rh.gs(R.string.insulin_unit_shortname) - val fields = nsSettingsStatus.pumpExtendedSettingsFields() - if (pumpData.reservoirDisplayOverride != "") { - string.append(pumpData.reservoirDisplayOverride).append("$insulinUnit ") - } - else if (fields.contains("reservoir")) string.append(pumpData.reservoir.toInt()).append("$insulinUnit ") - if (fields.contains("battery") && pumpData.isPercent) string.append(pumpData.percent).append("% ") - if (fields.contains("battery") && !pumpData.isPercent) string.append(Round.roundTo(pumpData.voltage, 0.001)).append(" ") - if (fields.contains("clock")) string.append(dateUtil.minAgo(rh, pumpData.clock)).append(" ") - if (fields.contains("status")) string.append(pumpData.status).append(" ") - if (fields.contains("device")) string.append(device).append(" ") - string.append("") // color - return fromHtml(string.toString()) - } - - private fun updatePumpData() { - try { - val data = this.data ?: return - val pump = if (data.has("pump")) data.getJSONObject("pump") else JSONObject() - val clock = if (pump.has("clock")) dateUtil.fromISODateString(pump.getString("clock")) else 0L - // check if this is new data - if (clock == 0L || deviceStatusData.pumpData != null && clock < deviceStatusData.pumpData!!.clock) return - - // create new status and process data - val deviceStatusPumpData = DeviceStatusData.PumpData() - deviceStatusPumpData.clock = clock - if (pump.has("status") && pump.getJSONObject("status").has("status")) deviceStatusPumpData.status = pump.getJSONObject("status").getString("status") - if (pump.has("reservoir")) deviceStatusPumpData.reservoir = pump.getDouble("reservoir") - if (pump.has("reservoir_display_override")) deviceStatusPumpData.reservoirDisplayOverride = pump.getString("reservoir_display_override") - if (pump.has("battery") && pump.getJSONObject("battery").has("percent")) { - deviceStatusPumpData.isPercent = true - deviceStatusPumpData.percent = pump.getJSONObject("battery").getInt("percent") - } else if (pump.has("battery") && pump.getJSONObject("battery").has("voltage")) { - deviceStatusPumpData.isPercent = false - deviceStatusPumpData.voltage = pump.getJSONObject("battery").getDouble("voltage") - } - if (pump.has("extended")) { - val extendedJson = pump.getJSONObject("extended") - val extended = StringBuilder() - val keys: Iterator<*> = extendedJson.keys() - while (keys.hasNext()) { - val key = keys.next() as String - val value = extendedJson.getString(key) - extended.append("").append(key).append(": ").append(value).append("
") - } - deviceStatusPumpData.extended = fromHtml(extended.toString()) - deviceStatusPumpData.activeProfileName = JsonHelper.safeGetStringAllowNull(extendedJson, "ActiveProfile", null) - } - deviceStatusData.pumpData = deviceStatusPumpData - } catch (e: Exception) { - aapsLogger.error("Unhandled exception", e) - } - } - - private fun updateOpenApsData(jsonObject: JSONObject) { - try { - val openAps = if (jsonObject.has("openaps")) jsonObject.getJSONObject("openaps") else JSONObject() - val suggested = if (openAps.has("suggested")) openAps.getJSONObject("suggested") else JSONObject() - val enacted = if (openAps.has("enacted")) openAps.getJSONObject("enacted") else JSONObject() - var clock = if (suggested.has("timestamp")) dateUtil.fromISODateString(suggested.getString("timestamp")) else 0L - // check if this is new data - if (clock != 0L && clock > deviceStatusData.openAPSData.clockSuggested) { - deviceStatusData.openAPSData.suggested = suggested - deviceStatusData.openAPSData.clockSuggested = clock - } - clock = if (enacted.has("timestamp")) dateUtil.fromISODateString(enacted.getString("timestamp")) else 0L - // check if this is new data - if (clock != 0L && clock > deviceStatusData.openAPSData.clockEnacted) { - deviceStatusData.openAPSData.enacted = enacted - deviceStatusData.openAPSData.clockEnacted = clock - } - } catch (e: Exception) { - aapsLogger.error("Unhandled exception", e) - } - } - - val openApsStatus: Spanned - get() { - val string = StringBuilder() - .append("") - .append(rh.gs(R.string.openaps_short)) - .append(": ") - - // test warning level - val level = when { - deviceStatusData.openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_urgent_staledatavalue, 31)).msecs() < dateUtil.now() -> Levels.URGENT - deviceStatusData.openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_staledatavalue, 16)).msecs() < dateUtil.now() -> Levels.WARN - else -> Levels.INFO - } - string.append("") - if (deviceStatusData.openAPSData.clockSuggested != 0L) string.append(dateUtil.minAgo(rh, deviceStatusData.openAPSData.clockSuggested)).append(" ") - string.append("") // color - return fromHtml(string.toString()) - } - - val extendedOpenApsStatus: Spanned - get() { - val string = StringBuilder() - try { - if (deviceStatusData.openAPSData.enacted != null && deviceStatusData.openAPSData.clockEnacted != deviceStatusData.openAPSData.clockSuggested) string.append("") - .append(dateUtil.minAgo(rh, deviceStatusData.openAPSData.clockEnacted)).append(" ").append(deviceStatusData.openAPSData.enacted!!.getString("reason")).append("
") - if (deviceStatusData.openAPSData.suggested != null) string.append("").append(dateUtil.minAgo(rh, deviceStatusData.openAPSData.clockSuggested)).append(" ") - .append(deviceStatusData.openAPSData.suggested!!.getString("reason")).append("
") - return fromHtml(string.toString()) - } catch (e: JSONException) { - aapsLogger.error("Unhandled exception", e) - } - return fromHtml("") - } - - private fun updateUploaderData(jsonObject: JSONObject) { - try { - val clock = - when { - jsonObject.has("mills") -> jsonObject.getLong("mills") - jsonObject.has("created_at") -> dateUtil.fromISODateString(jsonObject.getString("created_at")) - else -> 0L - } - val device = device - val battery: Int = - when { - jsonObject.has("uploaderBattery") -> jsonObject.getInt("uploaderBattery") - jsonObject.has("uploader") && jsonObject.getJSONObject("uploader").has("battery") -> jsonObject.getJSONObject("uploader").getInt("battery") - else -> 0 - } - - var uploader = deviceStatusData.uploaderMap[device] - // check if this is new data - if (clock != 0L && battery != 0 && (uploader == null || clock > uploader.clock)) { - if (uploader == null) uploader = DeviceStatusData.Uploader() - uploader.battery = battery - uploader.clock = clock - deviceStatusData.uploaderMap[device] = uploader - } - } catch (e: Exception) { - aapsLogger.error("Unhandled exception", e) - } - } - - val uploaderStatus: String - get() { - val iterator: Iterator<*> = deviceStatusData.uploaderMap.entries.iterator() - var minBattery = 100 - while (iterator.hasNext()) { - val pair = iterator.next() as Map.Entry<*, *> - val uploader = pair.value as DeviceStatusData.Uploader - if (minBattery > uploader.battery) minBattery = uploader.battery - } - return "$minBattery%" - } - - val uploaderStatusSpanned: Spanned - get() { - val string = StringBuilder() - string.append("") - string.append(rh.gs(R.string.uploader_short)) - string.append(": ") - val iterator: Iterator<*> = deviceStatusData.uploaderMap.entries.iterator() - var minBattery = 100 - while (iterator.hasNext()) { - val pair = iterator.next() as Map.Entry<*, *> - val uploader = pair.value as DeviceStatusData.Uploader - if (minBattery > uploader.battery) minBattery = uploader.battery - } - string.append(minBattery) - string.append("%") - return fromHtml(string.toString()) - } - - val extendedUploaderStatus: Spanned - get() { - val string = StringBuilder() - val iterator: Iterator<*> = deviceStatusData.uploaderMap.entries.iterator() - while (iterator.hasNext()) { - val pair = iterator.next() as Map.Entry<*, *> - val uploader = pair.value as DeviceStatusData.Uploader - val device = pair.key as String - string.append("").append(device).append(": ").append(uploader.battery).append("%
") - } - return fromHtml(string.toString()) - } - - val openApsTimestamp: Long - get() = - if (deviceStatusData.openAPSData.clockSuggested != 0L) { - deviceStatusData.openAPSData.clockSuggested - } else { - -1 - } - - fun getAPSResult(injector: HasAndroidInjector): APSResult { - val result = APSResult(injector) - result.json = deviceStatusData.openAPSData.suggested - result.date = deviceStatusData.openAPSData.clockSuggested - return result - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientStatus.kt deleted file mode 100644 index abee8602e4..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientStatus.kt +++ /dev/null @@ -1,8 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient.events - -import info.nightscout.androidaps.events.EventStatus -import info.nightscout.androidaps.interfaces.ResourceHelper - -class EventNSClientStatus(var text: String) : EventStatus() { - override fun getStatus(rh: ResourceHelper): String = text -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt deleted file mode 100644 index 66ecdc7787..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientUpdateGUI.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.plugins.general.nsclient.events - -import info.nightscout.rx.events.EventUpdateGui - -class EventNSClientUpdateGUI : EventUpdateGui() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 5b2af79806..26aa62ac2d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -27,7 +27,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository @@ -51,9 +50,7 @@ import info.nightscout.androidaps.extensions.runOnUiThread import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit @@ -67,7 +64,6 @@ import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph @@ -81,11 +77,12 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -93,6 +90,10 @@ import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -128,7 +129,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var constraintChecker: Constraints @Inject lateinit var statusLightHandler: StatusLightHandler - @Inject lateinit var nsDeviceStatus: NSDeviceStatus + @Inject lateinit var processedDeviceStatusData: ProcessedDeviceStatusData + @Inject lateinit var nsSettingsStatus: NSSettingsStatus @Inject lateinit var loop: Loop @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var iobCobCalculator: IobCobCalculator @@ -722,16 +724,16 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList } // pump status from ns - binding.pump.text = nsDeviceStatus.pumpStatus - binding.pump.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.pump), nsDeviceStatus.extendedPumpStatus) } } + binding.pump.text = processedDeviceStatusData.pumpStatus(nsSettingsStatus) + binding.pump.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.pump), processedDeviceStatusData.extendedPumpStatus) } } // OpenAPS status from ns - binding.openaps.text = nsDeviceStatus.openApsStatus - binding.openaps.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.openaps), nsDeviceStatus.extendedOpenApsStatus) } } + binding.openaps.text = processedDeviceStatusData.openApsStatus + binding.openaps.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.openaps), processedDeviceStatusData.extendedOpenApsStatus) } } // Uploader status from ns - binding.uploader.text = nsDeviceStatus.uploaderStatusSpanned - binding.uploader.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.uploader), nsDeviceStatus.extendedUploaderStatus) } } + binding.uploader.text = processedDeviceStatusData.uploaderStatusSpanned + binding.uploader.setOnClickListener { activity?.let { OKDialog.show(it, rh.gs(R.string.uploader), processedDeviceStatusData.extendedUploaderStatus) } } } } @@ -1118,7 +1120,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList val isfMgdl = profile?.getIsfMgdl() val variableSens = if (config.APS && request is DetermineBasalResultSMB) request.variableSens ?: 0.0 - else if (config.NSCLIENT) JsonHelper.safeGetDouble(nsDeviceStatus.getAPSResult(injector).json, "variable_sens") + else if (config.NSCLIENT) JsonHelper.safeGetDouble(processedDeviceStatusData.getAPSResult(injector).json, "variable_sens") else 0.0 if (variableSens != isfMgdl && variableSens != 0.0 && isfMgdl != null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index c33faafdc5..2ad816f816 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -6,17 +6,15 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.extensions.age +import info.nightscout.plugins.sync.nsclient.extensions.age import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.eopatch.AppConstant import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt index dcd758ea16..1aa1a7e0b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.general.overview.notifications import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T import info.nightscout.interfaces.notifications.Notification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt index 67864710ff..37f6193315 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.databinding.WearFragmentBinding -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers @@ -65,7 +65,7 @@ class WearFragment : DaggerFragment() { _binding = null } - fun updateGui() { + private fun updateGui() { _binding ?: return binding.connectedDevice.text = wearPlugin.connectedDevice } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 58f4618744..dbb01a3e57 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -3,12 +3,17 @@ package info.nightscout.androidaps.plugins.general.wear.wearintegration import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.* +import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.androidaps.database.entities.UserEntry +import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction @@ -18,19 +23,37 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.* +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.queue.Callback +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.* +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear @@ -43,7 +66,9 @@ import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DateFormat import java.text.SimpleDateFormat -import java.util.* +import java.util.Date +import java.util.LinkedList +import java.util.Locale import java.util.concurrent.TimeUnit import java.util.stream.Collectors import javax.inject.Inject @@ -66,7 +91,7 @@ class DataHandlerMobile @Inject constructor( private val glucoseStatusProvider: GlucoseStatusProvider, private val profileFunction: ProfileFunction, private val loop: Loop, - private val nsDeviceStatus: NSDeviceStatus, + private val processedDeviceStatusData: ProcessedDeviceStatusData, private val receiverStatusStore: ReceiverStatusStore, private val quickWizard: QuickWizard, private val defaultValueHelper: DefaultValueHelper, @@ -872,11 +897,11 @@ class DataHandlerMobile @Inject constructor( //batteries val phoneBattery = receiverStatusStore.batteryLevel - val rigBattery = nsDeviceStatus.uploaderStatus.trim { it <= ' ' } + val rigBattery = processedDeviceStatusData.uploaderStatus.trim { it <= ' ' } //OpenAPS status val openApsStatus = if (config.APS) loop.lastRun?.let { if (it.lastTBREnact != 0L) it.lastTBREnact else -1 } ?: -1 - else nsDeviceStatus.openApsTimestamp + else processedDeviceStatusData.openApsTimestamp rxBus.send( EventMobileToWear( diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index f1b93bc12a..2f3d6cd790 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -1,26 +1,25 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 30a97b3bd5..8e56dd9433 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -1,27 +1,26 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index fba1e6e97d..91cfd402ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -2,22 +2,22 @@ package info.nightscout.androidaps.plugins.sensitivity import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.extensions.isTherapyEventEvent5minBack -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP @@ -147,13 +147,16 @@ class SensitivityWeightedAveragePlugin @Inject constructor( else -> "Sensitivity normal" } aapsLogger.debug(LTag.AUTOSENS, sensResult) - val output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, - sensResult, data.size()) + val output = fillResult( + ratio, current.cob, pastSensitivity, ratioLimit, + sensResult, data.size() + ) aapsLogger.debug( LTag.AUTOSENS, "Sensitivity to: " - + dateUtil.dateAndTimeString(toTime) + - " ratio: " + output.ratio - + " mealCOB: " + current.cob) + + dateUtil.dateAndTimeString(toTime) + + " ratio: " + output.ratio + + " mealCOB: " + current.cob + ) return output } @@ -178,7 +181,10 @@ class SensitivityWeightedAveragePlugin @Inject constructor( override fun applyConfiguration(configuration: JSONObject) { try { if (configuration.has(rh.gs(R.string.key_absorption_maxtime))) sp.putDouble(R.string.key_absorption_maxtime, configuration.getDouble(rh.gs(R.string.key_absorption_maxtime))) - if (configuration.has(rh.gs(R.string.key_openapsama_autosens_period))) sp.putDouble(R.string.key_openapsama_autosens_period, configuration.getDouble(rh.gs(R.string.key_openapsama_autosens_period))) + if (configuration.has(rh.gs(R.string.key_openapsama_autosens_period))) sp.putDouble( + R.string.key_openapsama_autosens_period, + configuration.getDouble(rh.gs(R.string.key_openapsama_autosens_period)) + ) if (configuration.has(rh.gs(R.string.key_openapsama_autosens_max))) sp.getDouble(R.string.key_openapsama_autosens_max, configuration.getDouble(rh.gs(R.string.key_openapsama_autosens_max))) if (configuration.has(rh.gs(R.string.key_openapsama_autosens_min))) sp.getDouble(R.string.key_openapsama_autosens_min, configuration.getDouble(rh.gs(R.string.key_openapsama_autosens_min))) } catch (e: JSONException) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index c54f90cdd2..0fd10c3c76 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -9,24 +9,27 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.general.nsclient.data.NSSgv import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.interfaces.notifications.Notification +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSgv import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.localmodel.entry.NSSgvV3 import info.nightscout.shared.sharedPreferences.SP +import org.json.JSONArray import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton @@ -39,12 +42,12 @@ class NSClientSourcePlugin @Inject constructor( config: Config ) : PluginBase( PluginDescription() - .mainType(PluginType.BGSOURCE) - .fragmentClass(BGSourceFragment::class.java.name) - .pluginIcon(R.drawable.ic_nsclient_bg) - .pluginName(R.string.nsclientbg) - .shortName(R.string.nsclientbgshort) - .description(R.string.description_source_ns_client), + .mainType(PluginType.BGSOURCE) + .fragmentClass(BGSourceFragment::class.java.name) + .pluginIcon(R.drawable.ic_nsclient_bg) + .pluginName(R.string.nsclientbg) + .shortName(R.string.nsclientbgshort) + .description(R.string.description_source_ns_client), aapsLogger, rh, injector ), BgSource { @@ -65,7 +68,7 @@ class NSClientSourcePlugin @Inject constructor( override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = false - private fun detectSource(glucoseValue: GlucoseValue) { + internal fun detectSource(glucoseValue: GlucoseValue) { if (glucoseValue.timestamp > lastBGTimeStamp) { isAdvancedFilteringEnabled = arrayOf( GlucoseValue.SourceSensor.DEXCOM_NATIVE_UNKNOWN, @@ -93,8 +96,8 @@ class NSClientSourcePlugin @Inject constructor( @Inject lateinit var dataWorkerStorage: DataWorkerStorage @Inject lateinit var repository: AppRepository @Inject lateinit var xDripBroadcast: XDripBroadcast - @Inject lateinit var dexcomPlugin: DexcomPlugin - @Inject lateinit var nsClientPlugin: NSClientPlugin + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var storeDataForDb: StoreDataForDb init { (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) @@ -113,52 +116,60 @@ class NSClientSourcePlugin @Inject constructor( ) } + private fun toGv(sgv: NSSgvV3): CgmSourceTransaction.TransactionGlucoseValue { + return CgmSourceTransaction.TransactionGlucoseValue( + timestamp = sgv.date, + value = sgv.sgv, + noise = sgv.noise?.toDouble(), + raw = sgv.filtered ?: sgv.sgv, + trendArrow = GlucoseValue.TrendArrow.fromString(sgv.direction.nsName), + nightscoutId = sgv.identifier, + sourceSensor = GlucoseValue.SourceSensor.fromString(sgv.device), + isValid = sgv.isValid + ) + } + @Suppress("SpellCheckingInspection") override fun doWork(): Result { var ret = Result.success() - val sgvs = dataWorkerStorage.pickupJSONArray(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) + val sgvs = dataWorkerStorage.pickupObject(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) ?: return Result.failure(workDataOf("Error" to "missing input data")) - xDripBroadcast.sendSgvs(sgvs) + if (!nsClientSourcePlugin.isEnabled() && !sp.getBoolean(R.string.key_ns_receive_cgm, false)) return Result.success(workDataOf("Result" to "Sync not enabled")) - try { - var latestDateInReceivedData: Long = 0 + var latestDateInReceivedData: Long = 0 + aapsLogger.debug(LTag.BGSOURCE, "Received NS Data: $sgvs") + val glucoseValues = mutableListOf() - aapsLogger.debug(LTag.BGSOURCE, "Received NS Data: $sgvs") - val glucoseValues = mutableListOf() - for (i in 0 until sgvs.length()) { - val sgv = toGv(sgvs.getJSONObject(i)) ?: continue - if (sgv.timestamp < dateUtil.now() && sgv.timestamp > latestDateInReceivedData) latestDateInReceivedData = sgv.timestamp - glucoseValues += sgv + try { + if (sgvs is JSONArray) { // V1 client + xDripBroadcast.sendSgvs(sgvs) + + for (i in 0 until sgvs.length()) { + val sgv = toGv(sgvs.getJSONObject(i)) ?: continue + if (sgv.timestamp < dateUtil.now() && sgv.timestamp > latestDateInReceivedData) latestDateInReceivedData = sgv.timestamp + glucoseValues += sgv + } + + } else if (sgvs is List<*>) { // V3 client +// xDripBroadcast.sendSgvs(sgvs) + + for (i in 0 until sgvs.size) { + val sgv = toGv(sgvs[i] as NSSgvV3) + if (sgv.timestamp < dateUtil.now() && sgv.timestamp > latestDateInReceivedData) latestDateInReceivedData = sgv.timestamp + glucoseValues += sgv + } } + activePlugin.activeNsClient?.updateLatestBgReceivedIfNewer(latestDateInReceivedData) // Was that sgv more less 5 mins ago ? if (T.msecs(dateUtil.now() - latestDateInReceivedData).mins() < 5L) { rxBus.send(EventDismissNotification(Notification.NS_ALARM)) rxBus.send(EventDismissNotification(Notification.NS_URGENT_ALARM)) } - nsClientPlugin.updateLatestDateReceivedIfNewer(latestDateInReceivedData) - - repository.runTransactionForResult(CgmSourceTransaction(glucoseValues, emptyList(), null, !nsClientSourcePlugin.isEnabled())) - .doOnError { - aapsLogger.error(LTag.DATABASE, "Error while saving values from NSClient App", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { result -> - result.updated.forEach { - xDripBroadcast.send(it) - nsClientSourcePlugin.detectSource(it) - aapsLogger.debug(LTag.DATABASE, "Updated bg $it") - } - result.inserted.forEach { - xDripBroadcast.send(it) - nsClientSourcePlugin.detectSource(it) - aapsLogger.debug(LTag.DATABASE, "Inserted bg $it") - } - } + storeDataForDb.glucoseValues.addAll(glucoseValues) } catch (e: Exception) { aapsLogger.error("Unhandled exception", e) ret = Result.failure(workDataOf("Error" to e.toString())) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index d40347341f..2865dc34df 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -9,15 +9,15 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt index d86d3951bf..83823bf94b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt @@ -1,6 +1,8 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsShared import android.os.Bundle +import android.os.Handler +import android.os.HandlerThread import android.view.LayoutInflater import android.view.Menu import android.view.MenuInflater @@ -12,26 +14,30 @@ import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.databinding.NsClientFragmentBinding +import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginFragment import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject -class NSClientFragment : DaggerFragment(), MenuProvider { +class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { - @Inject lateinit var nsClientPlugin: NSClientPlugin @Inject lateinit var sp: SP @Inject lateinit var rh: ResourceHelper @Inject lateinit var rxBus: RxBus @@ -39,6 +45,8 @@ class NSClientFragment : DaggerFragment(), MenuProvider { @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var dataSyncSelector: DataSyncSelector @Inject lateinit var uel: UserEntryLogger + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var activePlugin: ActivePlugin companion object { @@ -46,10 +54,17 @@ class NSClientFragment : DaggerFragment(), MenuProvider { const val ID_MENU_RESTART = 508 const val ID_MENU_SEND_NOW = 509 const val ID_MENU_FULL_SYNC = 510 + const val ID_MENU_TEST = 601 } + override var plugin: PluginBase? = null + private val nsClientPlugin + get() = activePlugin.activeNsClient + private val version: NsClient.Version get() = nsClientPlugin?.version ?: NsClient.Version.NONE + private val disposable = CompositeDisposable() + private var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) private var _binding: NsClientFragmentBinding? = null // This property is only valid between onCreateView and @@ -65,22 +80,22 @@ class NSClientFragment : DaggerFragment(), MenuProvider { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - binding.autoscroll.isChecked = nsClientPlugin.autoscroll + binding.autoscroll.isChecked = sp.getBoolean(R.string.key_nsclientinternal_autoscroll, true) binding.autoscroll.setOnCheckedChangeListener { _, isChecked -> sp.putBoolean(R.string.key_nsclientinternal_autoscroll, isChecked) - nsClientPlugin.autoscroll = isChecked updateGui() } - binding.paused.isChecked = nsClientPlugin.paused + binding.paused.isChecked = sp.getBoolean(R.string.key_nsclientinternal_paused, false) binding.paused.setOnCheckedChangeListener { _, isChecked -> - uel.log(if (isChecked) Action.NS_PAUSED else Action.NS_RESUME, Sources.NSClient) - nsClientPlugin.pause(isChecked) + uel.log(if (isChecked) UserEntry.Action.NS_PAUSED else UserEntry.Action.NS_RESUME, UserEntry.Sources.NSClient) + nsClientPlugin?.pause(isChecked) updateGui() } } override fun onCreateMenu(menu: Menu, inflater: MenuInflater) { + menu.add(Menu.FIRST, ID_MENU_TEST, 0, "Test").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_CLEAR_LOG, 0, rh.gs(R.string.clearlog)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_RESTART, 0, rh.gs(R.string.restart)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_SEND_NOW, 0, rh.gs(R.string.deliver_now)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) @@ -91,7 +106,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider { override fun onMenuItemSelected(item: MenuItem): Boolean = when (item.itemId) { ID_MENU_CLEAR_LOG -> { - nsClientPlugin.clearLog() + nsClientPlugin?.clearLog() true } @@ -101,7 +116,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider { } ID_MENU_SEND_NOW -> { - nsClientPlugin.resend("GUI") + nsClientPlugin?.resend("GUI") true } @@ -109,12 +124,17 @@ class NSClientFragment : DaggerFragment(), MenuProvider { context?.let { context -> OKDialog.showConfirmation( context, rh.gs(R.string.nsclientinternal), rh.gs(R.string.full_sync_comment), - Runnable { dataSyncSelector.resetToNextFullSync() } + Runnable { nsClientPlugin?.resetToFullSync() } ) } true } + ID_MENU_TEST -> { + nsClientPlugin?.let { plugin -> if (plugin is NSClientV3Plugin) handler.post { plugin.test() } } + true + } + else -> false } @@ -134,12 +154,11 @@ class NSClientFragment : DaggerFragment(), MenuProvider { private fun updateGui() { if (_binding == null) return - nsClientPlugin.updateLog() binding.paused.isChecked = sp.getBoolean(R.string.key_nsclientinternal_paused, false) - binding.log.text = nsClientPlugin.textLog - if (nsClientPlugin.autoscroll) binding.logScrollview.fullScroll(ScrollView.FOCUS_DOWN) - binding.url.text = nsClientPlugin.url() - binding.status.text = nsClientPlugin.status + binding.log.text = nsClientPlugin?.textLog() + if (sp.getBoolean(R.string.key_nsclientinternal_autoscroll, true)) binding.logScrollview.fullScroll(ScrollView.FOCUS_DOWN) + binding.url.text = nsClientPlugin?.address + binding.status.text = nsClientPlugin?.status val size = dataSyncSelector.queueSize() binding.queue.text = if (size >= 0) size.toString() else rh.gs(R.string.value_unavailable_short) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt new file mode 100644 index 0000000000..3028832d48 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt @@ -0,0 +1,719 @@ +package info.nightscout.androidaps.plugins.sync.nsShared + +import android.content.Context +import android.os.SystemClock +import androidx.work.Worker +import androidx.work.WorkerParameters +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.database.AppRepository +import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.database.entities.UserEntry +import info.nightscout.androidaps.database.entities.ValueWithUnit +import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.androidaps.database.transactions.SyncNsBolusCalculatorResultTransaction +import info.nightscout.androidaps.database.transactions.SyncNsBolusTransaction +import info.nightscout.androidaps.database.transactions.SyncNsCarbsTransaction +import info.nightscout.androidaps.database.transactions.SyncNsEffectiveProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.SyncNsExtendedBolusTransaction +import info.nightscout.androidaps.database.transactions.SyncNsOfflineEventTransaction +import info.nightscout.androidaps.database.transactions.SyncNsProfileSwitchTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTemporaryBasalTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTemporaryTargetTransaction +import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction +import info.nightscout.androidaps.database.transactions.UserEntryTransaction +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.localmodel.treatment.NSBolus +import info.nightscout.sdk.localmodel.treatment.NSBolusWizard +import info.nightscout.sdk.localmodel.treatment.NSCarbs +import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSExtendedBolus +import info.nightscout.sdk.localmodel.treatment.NSOfflineEvent +import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal +import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget +import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent +import info.nightscout.shared.sharedPreferences.SP +import java.util.concurrent.TimeUnit +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class StoreDataForDb @Inject constructor( + private val aapsLogger: AAPSLogger, + private val rxBus: RxBus, + private val repository: AppRepository, + private val sp: SP, + private val uel: UserEntryLogger, + private val dateUtil: DateUtil, + private val activePlugin: ActivePlugin, + private val config: Config, + private val nsClientSourcePlugin: NSClientSourcePlugin, + private val xDripBroadcast: XDripBroadcast, + private val virtualPumpPlugin: VirtualPumpPlugin +) { + + val glucoseValues: MutableList = mutableListOf() + + val boluses: MutableList = mutableListOf() + val carbs: MutableList = mutableListOf() + val temporaryTargets: MutableList = mutableListOf() + val effectiveProfileSwitches: MutableList = mutableListOf() + val bolusCalculatorResults: MutableList = mutableListOf() + val therapyEvents: MutableList = mutableListOf() + val extendedBoluses: MutableList = mutableListOf() + val temporaryBasals: MutableList = mutableListOf() + val profileSwitches: MutableList = mutableListOf() + val offlineEvents: MutableList = mutableListOf() + + private val userEntries: MutableList = mutableListOf() + + private val inserted = HashMap() + private val updated = HashMap() + private val invalidated = HashMap() + private val nsIdUpdated = HashMap() + private val durationUpdated = HashMap() + private val ended = HashMap() + + private val pause = 1000L // to slow down db operations + + class StoreBgWorker( + context: Context, + params: WorkerParameters + ) : Worker(context, params) { + + @Inject lateinit var storeDataForDb: StoreDataForDb + + override fun doWork(): Result { + storeDataForDb.storeGlucoseValuesToDb() + return Result.success() + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } + } + + fun HashMap.inc(key: T) = + if (containsKey(key)) merge(key, 1, Long::plus) + else put(key, 1) + + private fun storeGlucoseValuesToDb() { + rxBus.send(EventNSClientNewLog("PROCESSING BG", "", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + + if (glucoseValues.isNotEmpty()) + repository.runTransactionForResult(CgmSourceTransaction(glucoseValues, emptyList(), null)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving values from NSClient App", it) + } + .blockingGet() + .also { result -> + glucoseValues.clear() + result.updated.forEach { + xDripBroadcast.send(it) + nsClientSourcePlugin.detectSource(it) + aapsLogger.debug(LTag.DATABASE, "Updated bg $it") + updated.inc(GlucoseValue::class.java.simpleName) + } + result.inserted.forEach { + xDripBroadcast.send(it) + nsClientSourcePlugin.detectSource(it) + aapsLogger.debug(LTag.DATABASE, "Inserted bg $it") + inserted.inc(GlucoseValue::class.java.simpleName) + } + result.updatedNsId.forEach { + xDripBroadcast.send(it) + nsClientSourcePlugin.detectSource(it) + aapsLogger.debug(LTag.DATABASE, "Updated nsId bg $it") + nsIdUpdated.inc(GlucoseValue::class.java.simpleName) + } + } + + sendLog("GlucoseValue", GlucoseValue::class.java.simpleName) + SystemClock.sleep(pause) + rxBus.send(EventNSClientNewLog("DONE BG", "", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + + fun storeTreatmentsToDb() { + rxBus.send(EventNSClientNewLog("PROCESSING TR", "", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + + if (boluses.isNotEmpty()) + repository.runTransactionForResult(SyncNsBolusTransaction(boluses)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving bolus", it) + } + .blockingGet() + .also { result -> + boluses.clear() + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.BOLUS, UserEntry.Sources.NSClient, it.notes ?: "", + listOf(ValueWithUnit.Timestamp(it.timestamp), ValueWithUnit.Insulin(it.amount)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted bolus $it") + inserted.inc(NSBolus::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.BOLUS_REMOVED, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp), ValueWithUnit.Insulin(it.amount)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated bolus $it") + invalidated.inc(NSBolus::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId of bolus $it") + nsIdUpdated.inc(NSBolus::class.java.simpleName) + } + result.updated.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated amount of bolus $it") + updated.inc(NSBolus::class.java.simpleName) + } + } + + sendLog("Bolus", NSBolus::class.java.simpleName) + SystemClock.sleep(pause) + + if (carbs.isNotEmpty()) + repository.runTransactionForResult(SyncNsCarbsTransaction(carbs)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) + } + .blockingGet() + .also { result -> + carbs.clear() + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CARBS, UserEntry.Sources.NSClient, it.notes ?: "", + listOf(ValueWithUnit.Timestamp(it.timestamp), ValueWithUnit.Gram(it.amount.toInt())) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted carbs $it") + inserted.inc(NSCarbs::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CARBS_REMOVED, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp), ValueWithUnit.Gram(it.amount.toInt())) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated carbs $it") + invalidated.inc(NSCarbs::class.java.simpleName) + } + result.updated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CARBS, UserEntry.Sources.NSClient, it.notes ?: "", + listOf(ValueWithUnit.Timestamp(it.timestamp), ValueWithUnit.Gram(it.amount.toInt())) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Updated carbs $it") + updated.inc(NSCarbs::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId carbs $it") + nsIdUpdated.inc(NSCarbs::class.java.simpleName) + } + + } + + sendLog("Carbs", NSCarbs::class.java.simpleName) + SystemClock.sleep(pause) + + if (temporaryTargets.isNotEmpty()) + repository.runTransactionForResult(SyncNsTemporaryTargetTransaction(temporaryTargets)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) + } + .blockingGet() + .also { result -> + temporaryTargets.clear() + result.inserted.forEach { tt -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.TT, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.TherapyEventTTReason(tt.reason), + ValueWithUnit.fromGlucoseUnit(tt.lowTarget, Constants.MGDL), + ValueWithUnit.fromGlucoseUnit(tt.highTarget, Constants.MGDL).takeIf { tt.lowTarget != tt.highTarget }, + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted TemporaryTarget $tt") + inserted.inc(NSTemporaryTarget::class.java.simpleName) + } + result.invalidated.forEach { tt -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.TT_REMOVED, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.TherapyEventTTReason(tt.reason), + ValueWithUnit.Mgdl(tt.lowTarget), + ValueWithUnit.Mgdl(tt.highTarget).takeIf { tt.lowTarget != tt.highTarget }, + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated TemporaryTarget $tt") + invalidated.inc(NSTemporaryTarget::class.java.simpleName) + } + result.ended.forEach { tt -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CANCEL_TT, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.TherapyEventTTReason(tt.reason), + ValueWithUnit.Mgdl(tt.lowTarget), + ValueWithUnit.Mgdl(tt.highTarget).takeIf { tt.lowTarget != tt.highTarget }, + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Updated TemporaryTarget $tt") + ended.inc(NSTemporaryTarget::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId TemporaryTarget $it") + nsIdUpdated.inc(NSTemporaryTarget::class.java.simpleName) + } + result.updatedDuration.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated duration TemporaryTarget $it") + durationUpdated.inc(NSTemporaryTarget::class.java.simpleName) + } + } + + sendLog("TemporaryTarget", NSTemporaryTarget::class.java.simpleName) + SystemClock.sleep(pause) + + if (temporaryBasals.isNotEmpty()) + repository.runTransactionForResult(SyncNsTemporaryBasalTransaction(temporaryBasals)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving temporary basal", it) + } + .blockingGet() + .also { result -> + temporaryBasals.clear() + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.TEMP_BASAL, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted TemporaryBasal $it") + inserted.inc(NSTemporaryBasal::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.TEMP_BASAL_REMOVED, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated TemporaryBasal $it") + invalidated.inc(NSTemporaryBasal::class.java.simpleName) + } + result.ended.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CANCEL_TEMP_BASAL, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + if (it.isAbsolute) ValueWithUnit.UnitPerHour(it.rate) else ValueWithUnit.Percent(it.rate.toInt()), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Ended TemporaryBasal $it") + ended.inc(NSTemporaryBasal::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId TemporaryBasal $it") + nsIdUpdated.inc(NSTemporaryBasal::class.java.simpleName) + } + result.updatedDuration.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated duration TemporaryBasal $it") + durationUpdated.inc(NSTemporaryBasal::class.java.simpleName) + } + } + + sendLog("TemporaryBasal", NSTemporaryBasal::class.java.simpleName) + SystemClock.sleep(pause) + + if (effectiveProfileSwitches.isNotEmpty()) + repository.runTransactionForResult(SyncNsEffectiveProfileSwitchTransaction(effectiveProfileSwitches)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving EffectiveProfileSwitch", it) + } + .blockingGet() + .also { result -> + effectiveProfileSwitches.clear() + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.PROFILE_SWITCH, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted EffectiveProfileSwitch $it") + inserted.inc(NSEffectiveProfileSwitch::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.PROFILE_SWITCH_REMOVED, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated EffectiveProfileSwitch $it") + invalidated.inc(NSEffectiveProfileSwitch::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId EffectiveProfileSwitch $it") + nsIdUpdated.inc(NSEffectiveProfileSwitch::class.java.simpleName) + } + } + + sendLog("EffectiveProfileSwitch", NSEffectiveProfileSwitch::class.java.simpleName) + SystemClock.sleep(pause) + + if (profileSwitches.isNotEmpty()) + repository.runTransactionForResult(SyncNsProfileSwitchTransaction(profileSwitches)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving ProfileSwitch", it) + } + .blockingGet() + .also { result -> + profileSwitches.clear() + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.PROFILE_SWITCH, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted ProfileSwitch $it") + inserted.inc(NSProfileSwitch::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.PROFILE_SWITCH_REMOVED, UserEntry.Sources.NSClient, "", + listOf(ValueWithUnit.Timestamp(it.timestamp)) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated ProfileSwitch $it") + invalidated.inc(NSProfileSwitch::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId ProfileSwitch $it") + nsIdUpdated.inc(NSProfileSwitch::class.java.simpleName) + } + } + + sendLog("ProfileSwitch", NSProfileSwitch::class.java.simpleName) + SystemClock.sleep(pause) + + if (bolusCalculatorResults.isNotEmpty()) + repository.runTransactionForResult(SyncNsBolusCalculatorResultTransaction(bolusCalculatorResults)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving BolusCalculatorResult", it) + } + .blockingGet() + .also { result -> + bolusCalculatorResults.clear() + result.inserted.forEach { + aapsLogger.debug(LTag.DATABASE, "Inserted BolusCalculatorResult $it") + inserted.inc(NSBolusWizard::class.java.simpleName) + } + result.invalidated.forEach { + aapsLogger.debug(LTag.DATABASE, "Invalidated BolusCalculatorResult $it") + invalidated.inc(NSBolusWizard::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId BolusCalculatorResult $it") + nsIdUpdated.inc(NSBolusWizard::class.java.simpleName) + } + } + + sendLog("BolusCalculatorResult", NSBolusWizard::class.java.simpleName) + SystemClock.sleep(pause) + + if (sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT) + therapyEvents.filter { it.type == TherapyEvent.Type.ANNOUNCEMENT }.forEach { + if (it.timestamp > dateUtil.now() - 15 * 60 * 1000L && + it.note?.isNotEmpty() == true && + it.enteredBy != sp.getString("careportal_enteredby", "AndroidAPS") + ) { + if (sp.getBoolean(R.string.key_ns_announcements, config.NSCLIENT)) + rxBus.send(EventNewNotification(Notification(Notification.NS_ANNOUNCEMENT, it.note ?: "", Notification.ANNOUNCEMENT, 60))) + } + } + if (therapyEvents.isNotEmpty()) + repository.runTransactionForResult(SyncNsTherapyEventTransaction(therapyEvents)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) + } + .blockingGet() + .also { result -> + therapyEvents.clear() + result.inserted.forEach { therapyEvent -> + val action = when (therapyEvent.type) { + TherapyEvent.Type.CANNULA_CHANGE -> UserEntry.Action.SITE_CHANGE + TherapyEvent.Type.INSULIN_CHANGE -> UserEntry.Action.RESERVOIR_CHANGE + else -> UserEntry.Action.CAREPORTAL + } + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + action, UserEntry.Sources.NSClient, therapyEvent.note ?: "", + listOf(ValueWithUnit.Timestamp(therapyEvent.timestamp), + ValueWithUnit.TherapyEventType(therapyEvent.type), + ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted TherapyEvent $therapyEvent") + inserted.inc(NSTherapyEvent::class.java.simpleName) + } + result.invalidated.forEach { therapyEvent -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CAREPORTAL_REMOVED, UserEntry.Sources.NSClient, therapyEvent.note ?: "", + listOf(ValueWithUnit.Timestamp(therapyEvent.timestamp), + ValueWithUnit.TherapyEventType(therapyEvent.type), + ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated TherapyEvent $therapyEvent") + invalidated.inc(NSTherapyEvent::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId TherapyEvent $it") + nsIdUpdated.inc(NSTherapyEvent::class.java.simpleName) + } + result.updatedDuration.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId TherapyEvent $it") + durationUpdated.inc(NSTherapyEvent::class.java.simpleName) + } + } + + sendLog("TherapyEvent", NSTherapyEvent::class.java.simpleName) + SystemClock.sleep(pause) + + if (offlineEvents.isNotEmpty()) + repository.runTransactionForResult(SyncNsOfflineEventTransaction(offlineEvents)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving OfflineEvent", it) + } + .blockingGet() + .also { result -> + result.inserted.forEach { oe -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.LOOP_CHANGE, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.OfflineEventReason(oe.reason), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Inserted OfflineEvent $oe") + inserted.inc(NSOfflineEvent::class.java.simpleName) + } + result.invalidated.forEach { oe -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.LOOP_REMOVED, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.OfflineEventReason(oe.reason), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated OfflineEvent $oe") + invalidated.inc(NSOfflineEvent::class.java.simpleName) + } + result.ended.forEach { oe -> + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.LOOP_CHANGE, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.OfflineEventReason(oe.reason), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(oe.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Updated OfflineEvent $oe") + ended.inc(NSOfflineEvent::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId OfflineEvent $it") + nsIdUpdated.inc(NSOfflineEvent::class.java.simpleName) + } + result.updatedDuration.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated duration OfflineEvent $it") + durationUpdated.inc(NSOfflineEvent::class.java.simpleName) + } + } + + sendLog("OfflineEvent", NSOfflineEvent::class.java.simpleName) + SystemClock.sleep(pause) + + if (extendedBoluses.isNotEmpty()) + repository.runTransactionForResult(SyncNsExtendedBolusTransaction(extendedBoluses)) + .doOnError { + aapsLogger.error(LTag.DATABASE, "Error while saving extended bolus", it) + } + .blockingGet() + .also { result -> + result.inserted.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.EXTENDED_BOLUS, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + ValueWithUnit.Insulin(it.amount), + ValueWithUnit.UnitPerHour(it.rate), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + if (it.isEmulatingTempBasal) virtualPumpPlugin.fakeDataDetected = true + aapsLogger.debug(LTag.DATABASE, "Inserted ExtendedBolus $it") + inserted.inc(NSExtendedBolus::class.java.simpleName) + } + result.invalidated.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.EXTENDED_BOLUS_REMOVED, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + ValueWithUnit.Insulin(it.amount), + ValueWithUnit.UnitPerHour(it.rate), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Invalidated ExtendedBolus $it") + invalidated.inc(NSExtendedBolus::class.java.simpleName) + } + result.ended.forEach { + if (config.NSCLIENT.not()) userEntries.add( + UserEntryTransaction.Entry( + dateUtil.now(), + UserEntry.Action.CANCEL_EXTENDED_BOLUS, UserEntry.Sources.NSClient, "", + listOf( + ValueWithUnit.Timestamp(it.timestamp), + ValueWithUnit.Insulin(it.amount), + ValueWithUnit.UnitPerHour(it.rate), + ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(it.duration).toInt()) + ) + ) + ) + aapsLogger.debug(LTag.DATABASE, "Updated ExtendedBolus $it") + ended.inc(NSExtendedBolus::class.java.simpleName) + } + result.updatedNsId.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated nsId ExtendedBolus $it") + nsIdUpdated.inc(NSExtendedBolus::class.java.simpleName) + } + result.updatedDuration.forEach { + aapsLogger.debug(LTag.DATABASE, "Updated duration ExtendedBolus $it") + durationUpdated.inc(NSExtendedBolus::class.java.simpleName) + } + } + + sendLog("ExtendedBolus", NSExtendedBolus::class.java.simpleName) + SystemClock.sleep(pause) + + uel.log(userEntries) + rxBus.send(EventNSClientNewLog("DONE TR", "", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + + private fun sendLog(item: String, clazz: String) { + inserted[clazz]?.let { + rxBus.send(EventNSClientNewLog("INSERT", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + inserted.remove(clazz) + updated[clazz]?.let { + rxBus.send(EventNSClientNewLog("UPDATE", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + updated.remove(clazz) + invalidated[clazz]?.let { + rxBus.send(EventNSClientNewLog("INVALIDATE", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + invalidated.remove(clazz) + nsIdUpdated[clazz]?.let { + rxBus.send(EventNSClientNewLog("NS_ID", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + nsIdUpdated.remove(clazz) + durationUpdated[clazz]?.let { + rxBus.send(EventNSClientNewLog("DURATION", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + durationUpdated.remove(clazz) + ended[clazz]?.let { + rxBus.send(EventNSClientNewLog("CUT", "$item $it", activePlugin.activeNsClient?.version ?: NsClient.Version.V3)) + } + ended.remove(clazz) + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt similarity index 71% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt index db499d6296..ecef80a645 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientNewLog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt @@ -1,10 +1,11 @@ -package info.nightscout.androidaps.plugins.general.nsclient.events +package info.nightscout.androidaps.plugins.sync.nsShared.events +import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.rx.events.Event import java.text.SimpleDateFormat import java.util.Locale -class EventNSClientNewLog(var action: String, var logText: String) : Event() { +class EventNSClientNewLog(val action: String, val logText: String, val version: NsClient.Version) : Event() { var date = System.currentTimeMillis() private var timeFormat = SimpleDateFormat("HH:mm:ss", Locale.getDefault()) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt similarity index 58% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt index 51b2528229..5c34cf5b68 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/events/EventNSClientResend.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.events +package info.nightscout.androidaps.plugins.sync.nsShared.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt new file mode 100644 index 0000000000..e83c862a99 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -0,0 +1,9 @@ +package info.nightscout.androidaps.plugins.sync.nsShared.events + +import info.nightscout.androidaps.events.EventStatus +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.interfaces.ResourceHelper + +class EventNSClientStatus(var text: String, val version: NsClient.Version) : EventStatus() { + override fun getStatus(rh: ResourceHelper): String = text +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt new file mode 100644 index 0000000000..af08d1acaa --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt @@ -0,0 +1,5 @@ +package info.nightscout.androidaps.plugins.sync.nsShared.events + +import info.nightscout.rx.events.EventUpdateGui + +class EventNSClientUpdateGUI : EventUpdateGui() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt similarity index 69% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 8ef4968ab8..0fe20d456f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository @@ -20,7 +20,9 @@ import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.toJson import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -34,7 +36,6 @@ class DataSyncSelectorImplementation @Inject constructor( private val aapsLogger: AAPSLogger, private val dateUtil: DateUtil, private val profileFunction: ProfileFunction, - private val nsClientPlugin: NSClientPlugin, private val activePlugin: ActivePlugin, private val appRepository: AppRepository, private val profilePlugin: ProfilePlugin @@ -96,30 +97,10 @@ class DataSyncSelectorImplementation @Inject constructor( } override fun resetToNextFullSync() { - appRepository.getLastGlucoseValueIdWrapped().blockingGet().run { - val currentLast = if (this is ValueWrapper.Existing) this.value else 0L - sp.putLong(R.string.key_ns_glucose_value_new_data_id, currentLast) - } sp.remove(R.string.key_ns_glucose_value_last_synced_id) - - appRepository.getLastTemporaryBasalIdWrapped().blockingGet().run { - val currentLast = if (this is ValueWrapper.Existing) this.value else 0L - sp.putLong(R.string.key_ns_temporary_basal_new_data_id, currentLast) - } sp.remove(R.string.key_ns_temporary_basal_last_synced_id) - - appRepository.getLastTempTargetIdWrapped().blockingGet().run { - val currentLast = if (this is ValueWrapper.Existing) this.value else 0L - sp.putLong(R.string.key_ns_temporary_target_new_data_id, currentLast) - } sp.remove(R.string.key_ns_temporary_target_last_synced_id) - - appRepository.getLastExtendedBolusIdWrapped().blockingGet().run { - val currentLast = if (this is ValueWrapper.Existing) this.value else 0L - sp.putLong(R.string.key_ns_extended_bolus_new_data_id, currentLast) - } sp.remove(R.string.key_ns_extended_bolus_last_synced_id) - sp.remove(R.string.key_ns_food_last_synced_id) sp.remove(R.string.key_ns_bolus_last_synced_id) sp.remove(R.string.key_ns_carbs_last_synced_id) @@ -137,7 +118,7 @@ class DataSyncSelectorImplementation @Inject constructor( override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting Bolus data sync from $lastSynced") sp.putLong(R.string.key_ns_bolus_last_synced_id, lastSynced) } } @@ -153,9 +134,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastBolusId = -1L - //private var lastBolusTime = -1L - override fun processChangedBolusesCompat(): Boolean { + override tailrec fun processChangedBolusesCompat() { val lastDbIdWrapped = appRepository.getLastBolusIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_bolus_last_synced_id, 0) @@ -163,27 +142,35 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_bolus_last_synced_id, 0) startId = 0 } - //if (startId == lastBolusId && dateUtil.now() - lastBolusTime < 5000) return false - //lastBolusId = startId - //lastBolusTime = dateUtil.now() queueCounter.bolusesRemaining = lastDbId - startId appRepository.getNextSyncElementBolus(startId).blockingGet()?.let { bolus -> aapsLogger.info(LTag.NSCLIENT, "Loading Bolus data Start: $startId ID: ${bolus.first.id} HistoryID: ${bolus.second.id} ") when { - // only NsId changed, no need to upload - bolus.first.onlyNsIdAdded(bolus.second) -> { + // new record with existing NS id => must be coming from NS => ignore + bolus.first.id == bolus.second.id && bolus.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring Bolus. Loaded from NS: ${bolus.first.id} HistoryID: ${bolus.second.id} ") confirmLastBolusIdIfGreater(bolus.second.id) - //lastBolusId = -1 processChangedBolusesCompat() + return + } + // only NsId changed, no need to upload + bolus.first.onlyNsIdAdded(bolus.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring Bolus. Only NS id changed ID: ${bolus.first.id} HistoryID: ${bolus.second.id} ") - return false + confirmLastBolusIdIfGreater(bolus.second.id) + processChangedBolusesCompat() + return } // without nsId = create new - bolus.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", bolus.first.toJson(true, dateUtil), DataSyncSelector.PairBolus(bolus.first, bolus.second.id), "$startId/$lastDbId") - // with nsId = update - bolus.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + bolus.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( + "treatments", + bolus.first.toJson(true, dateUtil), + DataSyncSelector.PairBolus(bolus.first, bolus.second.id), + " $startId/$lastDbId" + ) + // with nsId = update if it's modified record + bolus.first.interfaceIDs.nightscoutId != null && bolus.first.id != bolus.second.id -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", bolus.first.interfaceIDs.nightscoutId, bolus.first.toJson(false, dateUtil), @@ -191,14 +178,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting Carbs data sync from $lastSynced") sp.putLong(R.string.key_ns_carbs_last_synced_id, lastSynced) } } @@ -211,9 +197,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastCarbsId = -1L - //private var lastCarbsTime = -1L - override fun processChangedCarbsCompat(): Boolean { + override tailrec fun processChangedCarbsCompat() { val lastDbIdWrapped = appRepository.getLastCarbsIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_carbs_last_synced_id, 0) @@ -221,27 +205,30 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_carbs_last_synced_id, 0) startId = 0 } - //if (startId == lastCarbsId && dateUtil.now() - lastCarbsTime < 5000) return false - //lastCarbsId = startId - //lastCarbsTime = dateUtil.now() queueCounter.carbsRemaining = lastDbId - startId appRepository.getNextSyncElementCarbs(startId).blockingGet()?.let { carb -> aapsLogger.info(LTag.NSCLIENT, "Loading Carbs data Start: $startId ID: ${carb.first.id} HistoryID: ${carb.second.id} ") when { - // only NsId changed, no need to upload - carb.first.onlyNsIdAdded(carb.second) -> { + // new record with existing NS id => must be coming from NS => ignore + carb.first.id == carb.second.id && carb.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring Carbs. Loaded from NS: ${carb.first.id} HistoryID: ${carb.second.id} ") confirmLastCarbsIdIfGreater(carb.second.id) - //lastCarbsId = -1 processChangedCarbsCompat() + return + } + // only NsId changed, no need to upload + carb.first.onlyNsIdAdded(carb.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring Carbs. Only NS id changed ID: ${carb.first.id} HistoryID: ${carb.second.id} ") - return false + confirmLastCarbsIdIfGreater(carb.second.id) + processChangedCarbsCompat() + return } // without nsId = create new - carb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", carb.first.toJson(true, dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second.id), "$startId/$lastDbId") - // with nsId = update - carb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + carb.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("treatments", carb.first.toJson(true, dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second.id), "$startId/$lastDbId") + // with nsId = update if it's modified record + carb.first.interfaceIDs.nightscoutId != null && carb.first.id != carb.second.id -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", carb.first.interfaceIDs.nightscoutId, carb.first.toJson(false, dateUtil), @@ -249,14 +236,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting BolusCalculatorResult data sync from $lastSynced") sp.putLong(R.string.key_ns_bolus_calculator_result_last_synced_id, lastSynced) } } @@ -269,9 +255,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastBcrId = -1L - //private var lastBcrTime = -1L - override fun processChangedBolusCalculatorResultsCompat(): Boolean { + override tailrec fun processChangedBolusCalculatorResultsCompat() { val lastDbIdWrapped = appRepository.getLastBolusCalculatorResultIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_bolus_calculator_result_last_synced_id, 0) @@ -279,44 +263,46 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_bolus_calculator_result_last_synced_id, 0) startId = 0 } - //if (startId == lastBcrId && dateUtil.now() - lastBcrTime < 5000) return false - //lastBcrId = startId - //lastBcrTime = dateUtil.now() queueCounter.bcrRemaining = lastDbId - startId appRepository.getNextSyncElementBolusCalculatorResult(startId).blockingGet()?.let { bolusCalculatorResult -> aapsLogger.info(LTag.NSCLIENT, "Loading BolusCalculatorResult data Start: $startId ID: ${bolusCalculatorResult.first.id} HistoryID: ${bolusCalculatorResult.second.id} ") when { - // only NsId changed, no need to upload - bolusCalculatorResult.first.onlyNsIdAdded(bolusCalculatorResult.second) -> { + // new record with existing NS id => must be coming from NS => ignore + bolusCalculatorResult.first.id == bolusCalculatorResult.second.id && bolusCalculatorResult.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring BolusCalculatorResult. Loaded from NS: ${bolusCalculatorResult.first.id} HistoryID: ${bolusCalculatorResult.second.id} ") confirmLastBolusCalculatorResultsIdIfGreater(bolusCalculatorResult.second.id) - //lastBcrId = -1 processChangedBolusCalculatorResultsCompat() + return + } + // only NsId changed, no need to upload + bolusCalculatorResult.first.onlyNsIdAdded(bolusCalculatorResult.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring BolusCalculatorResult. Only NS id changed ID: ${bolusCalculatorResult.first.id} HistoryID: ${bolusCalculatorResult.second.id} ") - return false + confirmLastBolusCalculatorResultsIdIfGreater(bolusCalculatorResult.second.id) + processChangedBolusCalculatorResultsCompat() + return } // without nsId = create new - bolusCalculatorResult.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd( + bolusCalculatorResult.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( "treatments", bolusCalculatorResult.first.toJson(true, dateUtil, profileFunction), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second.id), "$startId/$lastDbId" ) - // with nsId = update - bolusCalculatorResult.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + // with nsId = update if it's modified record + bolusCalculatorResult.first.interfaceIDs.nightscoutId != null && bolusCalculatorResult.first.id != bolusCalculatorResult.second.id -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", bolusCalculatorResult.first.interfaceIDs.nightscoutId, bolusCalculatorResult.first.toJson(false, dateUtil, profileFunction), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second.id), "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryTarget data sync from $lastSynced") sp.putLong(R.string.key_ns_temporary_target_last_synced_id, lastSynced) } } @@ -329,9 +315,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastTtId = -1L - //private var lastTtTime = -1L - override fun processChangedTempTargetsCompat(): Boolean { + override tailrec fun processChangedTempTargetsCompat() { val lastDbIdWrapped = appRepository.getLastTempTargetIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_temporary_target_last_synced_id, 0) @@ -339,40 +323,35 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_temporary_target_last_synced_id, 0) startId = 0 } - //if (startId == lastTtId && dateUtil.now() - lastTtTime < 5000) return false - //lastTtId = startId - //lastTtTime = dateUtil.now() queueCounter.ttsRemaining = lastDbId - startId appRepository.getNextSyncElementTemporaryTarget(startId).blockingGet()?.let { tt -> aapsLogger.info(LTag.NSCLIENT, "Loading TemporaryTarget data Start: $startId ID: ${tt.first.id} HistoryID: ${tt.second.id} ") when { - // record is not valid record and we are within first sync, no need to upload - tt.first.id != tt.second.id && tt.second.id <= sp.getLong(R.string.key_ns_temporary_target_new_data_id, 0) -> { + // new record with existing NS id => must be coming from NS => ignore + tt.first.id == tt.second.id && tt.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryTarget. Loaded from NS: ${tt.first.id} HistoryID: ${tt.second.id} ") confirmLastTempTargetsIdIfGreater(tt.second.id) - //lastTbrId = -1 processChangedTempTargetsCompat() - aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryTarget. Change within first sync ID: ${tt.first.id} HistoryID: ${tt.second.id} ") - return false + return } // only NsId changed, no need to upload - tt.first.onlyNsIdAdded(tt.second) -> { - confirmLastTempTargetsIdIfGreater(tt.second.id) - //lastTtId = -1 - processChangedTempTargetsCompat() + tt.first.onlyNsIdAdded(tt.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryTarget. Only NS id changed ID: ${tt.first.id} HistoryID: ${tt.second.id} ") - return false + confirmLastTempTargetsIdIfGreater(tt.second.id) + processChangedTempTargetsCompat() + return } // without nsId = create new - tt.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd( + tt.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( "treatments", tt.first.toJson(true, profileFunction.getUnits(), dateUtil), DataSyncSelector.PairTemporaryTarget(tt.first, tt.second.id), "$startId/$lastDbId" ) // existing with nsId = update - tt.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + tt.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", tt.first.interfaceIDs.nightscoutId, tt.first.toJson(false, profileFunction.getUnits(), dateUtil), @@ -380,14 +359,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting Food data sync from $lastSynced") sp.putLong(R.string.key_ns_food_last_synced_id, lastSynced) } } @@ -400,9 +378,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastFoodId = -1L - //private var lastFoodTime = -1L - override fun processChangedFoodsCompat(): Boolean { + override tailrec fun processChangedFoodsCompat() { val lastDbIdWrapped = appRepository.getLastFoodIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_food_last_synced_id, 0) @@ -410,27 +386,30 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_food_last_synced_id, 0) startId = 0 } - //if (startId == lastFoodId && dateUtil.now() - lastFoodTime < 5000) return false - //lastFoodId = startId - //lastFoodTime = dateUtil.now() queueCounter.foodsRemaining = lastDbId - startId appRepository.getNextSyncElementFood(startId).blockingGet()?.let { food -> aapsLogger.info(LTag.NSCLIENT, "Loading Food data Start: $startId ID: ${food.first.id} HistoryID: ${food.second} ") when { - // only NsId changed, no need to upload - food.first.onlyNsIdAdded(food.second) -> { + // new record with existing NS id => must be coming from NS => ignore + food.first.id == food.second.id && food.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring Food. Loaded from NS: ${food.first.id} HistoryID: ${food.second.id} ") confirmLastFoodIdIfGreater(food.second.id) - //lastFoodId = -1 processChangedFoodsCompat() + return + } + // only NsId changed, no need to upload + food.first.onlyNsIdAdded(food.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring Food. Only NS id changed ID: ${food.first.id} HistoryID: ${food.second.id} ") - return false + confirmLastFoodIdIfGreater(food.second.id) + processChangedFoodsCompat() + return } // without nsId = create new - food.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("food", food.first.toJson(true), DataSyncSelector.PairFood(food.first, food.second.id), "$startId/$lastDbId") + food.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("food", food.first.toJson(true), DataSyncSelector.PairFood(food.first, food.second.id), "$startId/$lastDbId") // with nsId = update - food.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + food.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "food", food.first.interfaceIDs.nightscoutId, food.first.toJson(false), @@ -438,14 +417,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting GlucoseValue data sync from $lastSynced") sp.putLong(R.string.key_ns_glucose_value_last_synced_id, lastSynced) } } @@ -458,8 +436,6 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastGvId = -1L - //private var lastGvTime = -1L override tailrec fun processChangedGlucoseValuesCompat() { val lastDbIdWrapped = appRepository.getLastGlucoseValueIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L @@ -468,35 +444,31 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_glucose_value_last_synced_id, 0) startId = 0 } - //if (startId == lastGvId && dateUtil.now() - lastGvTime < 5000) return false - //lastGvId = startId - //lastGvTime = dateUtil.now() queueCounter.gvsRemaining = lastDbId - startId - var tailCall = false appRepository.getNextSyncElementGlucoseValue(startId).blockingGet()?.let { gv -> aapsLogger.info(LTag.NSCLIENT, "Loading GlucoseValue data ID: ${gv.first.id} HistoryID: ${gv.second.id} ") if (activePlugin.activeBgSource.shouldUploadToNs(gv.first)) { when { - // record is not valid record and we are within first sync, no need to upload - gv.first.id != gv.second.id && gv.second.id <= sp.getLong(R.string.key_ns_glucose_value_new_data_id, 0) -> { + // new record with existing NS id => must be coming from NS => ignore + gv.first.id == gv.second.id && gv.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring GlucoseValue. Loaded from NS: ${gv.first.id} HistoryID: ${gv.second.id} ") confirmLastGlucoseValueIdIfGreater(gv.second.id) - //lastGvId = -1 - aapsLogger.info(LTag.NSCLIENT, "Ignoring GlucoseValue. Change within first sync ID: ${gv.first.id} HistoryID: ${gv.second.id} ") - tailCall = true + processChangedGlucoseValuesCompat() + return } // only NsId changed, no need to upload - gv.first.onlyNsIdAdded(gv.second) -> { - confirmLastGlucoseValueIdIfGreater(gv.second.id) - //lastGvId = -1 + gv.first.onlyNsIdAdded(gv.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring GlucoseValue. Only NS id changed ID: ${gv.first.id} HistoryID: ${gv.second.id} ") - tailCall = true + confirmLastGlucoseValueIdIfGreater(gv.second.id) + processChangedGlucoseValuesCompat() + return } // without nsId = create new - gv.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("entries", gv.first.toJson(true, dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second.id), "$startId/$lastDbId") + gv.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("entries", gv.first.toJson(true, dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second.id), "$startId/$lastDbId") // with nsId = update - else -> // gv.first.interfaceIDs.nightscoutId != null - nsClientPlugin.nsClientService?.dbUpdate( + else -> // gv.first.interfaceIDs.nightscoutId != null + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "entries", gv.first.interfaceIDs.nightscoutId, gv.first.toJson(false, dateUtil), @@ -506,18 +478,15 @@ class DataSyncSelectorImplementation @Inject constructor( } } else { confirmLastGlucoseValueIdIfGreater(gv.second.id) - //lastGvId = -1 - tailCall = true + processChangedGlucoseValuesCompat() + return } } - if (tailCall) { - processChangedGlucoseValuesCompat() - } } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting TherapyEvents data sync from $lastSynced") sp.putLong(R.string.key_ns_therapy_event_last_synced_id, lastSynced) } } @@ -530,9 +499,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastTeId = -1L - //private var lastTeTime = -1L - override fun processChangedTherapyEventsCompat(): Boolean { + override tailrec fun processChangedTherapyEventsCompat() { val lastDbIdWrapped = appRepository.getLastTherapyEventIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_therapy_event_last_synced_id, 0) @@ -540,27 +507,30 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_therapy_event_last_synced_id, 0) startId = 0 } - //if (startId == lastTeId && dateUtil.now() - lastTeTime < 5000) return false - //lastTeId = startId - //lastTeTime = dateUtil.now() queueCounter.tesRemaining = lastDbId - startId appRepository.getNextSyncElementTherapyEvent(startId).blockingGet()?.let { te -> aapsLogger.info(LTag.NSCLIENT, "Loading TherapyEvents data Start: $startId ID: ${te.first.id} HistoryID: ${te.second} ") when { - // only NsId changed, no need to upload - te.first.onlyNsIdAdded(te.second) -> { + // new record with existing NS id => must be coming from NS => ignore + te.first.id == te.second.id && te.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring TherapyEvent. Loaded from NS: ${te.first.id} HistoryID: ${te.second.id} ") confirmLastTherapyEventIdIfGreater(te.second.id) - //lastTeId = -1 processChangedTherapyEventsCompat() - aapsLogger.info(LTag.NSCLIENT, "Ignoring TherapyEvents. Only NS id changed ID: ${te.first.id} HistoryID: ${te.second.id} ") - return false + return + } + // only NsId changed, no need to upload + te.first.onlyNsIdAdded(te.second) -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring TherapyEvent. Only NS id changed ID: ${te.first.id} HistoryID: ${te.second.id} ") + confirmLastTherapyEventIdIfGreater(te.second.id) + processChangedTherapyEventsCompat() + return } // without nsId = create new - te.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", te.first.toJson(true, dateUtil), DataSyncSelector.PairTherapyEvent(te.first, te.second.id), "$startId/$lastDbId") + te.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("treatments", te.first.toJson(true, dateUtil), DataSyncSelector.PairTherapyEvent(te.first, te.second.id), "$startId/$lastDbId") // nsId = update - te.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + te.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", te.first.interfaceIDs.nightscoutId, te.first.toJson(false, dateUtil), @@ -568,14 +538,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting DeviceStatus data sync from $lastSynced") sp.putLong(R.string.key_ns_device_status_last_synced_id, lastSynced) } } @@ -587,9 +556,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastDsId = -1L - //private var lastDsTime = -1L - override fun processChangedDeviceStatusesCompat(): Boolean { + override fun processChangedDeviceStatusesCompat() { val lastDbIdWrapped = appRepository.getLastDeviceStatusIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_device_status_last_synced_id, 0) @@ -597,27 +564,23 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_device_status_last_synced_id, 0) startId = 0 } - //if (startId == lastDsId && dateUtil.now() - lastDsTime < 5000) return false - //lastDsId = startId - //lastDsTime = dateUtil.now() queueCounter.dssRemaining = lastDbId - startId appRepository.getNextSyncElementDeviceStatus(startId).blockingGet()?.let { deviceStatus -> aapsLogger.info(LTag.NSCLIENT, "Loading DeviceStatus data Start: $startId ID: ${deviceStatus.id}") when { // without nsId = create new deviceStatus.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("devicestatus", deviceStatus.toJson(dateUtil), deviceStatus, "$startId/$lastDbId") + activePlugin.activeNsClient?.nsClientService?.dbAdd("devicestatus", deviceStatus.toJson(dateUtil), deviceStatus, "$startId/$lastDbId") // with nsId = ignore deviceStatus.interfaceIDs.nightscoutId != null -> Any() } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting TemporaryBasal data sync from $lastSynced") sp.putLong(R.string.key_ns_temporary_basal_last_synced_id, lastSynced) } } @@ -630,9 +593,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastTbrId = -1L - //private var lastTbrTime = -1L - override fun processChangedTemporaryBasalsCompat(): Boolean { + override tailrec fun processChangedTemporaryBasalsCompat() { val lastDbIdWrapped = appRepository.getLastTemporaryBasalIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_temporary_basal_last_synced_id, 0) @@ -640,42 +601,37 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_temporary_basal_last_synced_id, 0) startId = 0 } - //if (startId == lastTbrId && dateUtil.now() - lastTbrTime < 5000) return false - //lastTbrId = startId - //lastTbrTime = dateUtil.now() queueCounter.tbrsRemaining = lastDbId - startId appRepository.getNextSyncElementTemporaryBasal(startId).blockingGet()?.let { tb -> aapsLogger.info(LTag.NSCLIENT, "Loading TemporaryBasal data Start: $startId ID: ${tb.first.id} HistoryID: ${tb.second} ") val profile = profileFunction.getProfile(tb.first.timestamp) if (profile != null) { when { - // record is not valid record and we are within first sync, no need to upload - tb.first.id != tb.second.id && tb.second.id <= sp.getLong(R.string.key_ns_temporary_basal_new_data_id, 0) -> { + // new record with existing NS id => must be coming from NS => ignore + tb.first.id == tb.second.id && tb.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryBasal. Loaded from NS: ${tb.first.id} HistoryID: ${tb.second.id} ") confirmLastTemporaryBasalIdIfGreater(tb.second.id) - //lastTbrId = -1 processChangedTemporaryBasalsCompat() - aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryBasal. Change within first sync ID: ${tb.first.id} HistoryID: ${tb.second.id} ") - return false + return } // only NsId changed, no need to upload - tb.first.onlyNsIdAdded(tb.second) -> { - confirmLastTemporaryBasalIdIfGreater(tb.second.id) - //lastTbrId = -1 - processChangedTemporaryBasalsCompat() + tb.first.onlyNsIdAdded(tb.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryBasal. Only NS id changed ID: ${tb.first.id} HistoryID: ${tb.second.id} ") - return false + confirmLastTemporaryBasalIdIfGreater(tb.second.id) + processChangedTemporaryBasalsCompat() + return } // without nsId = create new - tb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd( + tb.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( "treatments", tb.first.toJson(true, profile, dateUtil), DataSyncSelector.PairTemporaryBasal(tb.first, tb.second.id), "$startId/$lastDbId" ) // with nsId = update - tb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + tb.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", tb.first.interfaceIDs.nightscoutId, tb.first.toJson(false, profile, dateUtil), @@ -683,19 +639,19 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } else { + aapsLogger.info(LTag.NSCLIENT, "Ignoring TemporaryBasal. No profile: ${tb.first.id} HistoryID: ${tb.second.id} ") confirmLastTemporaryBasalIdIfGreater(tb.second.id) - //lastTbrId = -1 processChangedTemporaryBasalsCompat() + return } } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting ExtendedBolus data sync from $lastSynced") sp.putLong(R.string.key_ns_extended_bolus_last_synced_id, lastSynced) } } @@ -708,9 +664,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastEbId = -1L - //private var lastEbTime = -1L - override fun processChangedExtendedBolusesCompat(): Boolean { + override tailrec fun processChangedExtendedBolusesCompat() { val lastDbIdWrapped = appRepository.getLastExtendedBolusIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_extended_bolus_last_synced_id, 0) @@ -718,42 +672,37 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_extended_bolus_last_synced_id, 0) startId = 0 } - //if (startId == lastEbId && dateUtil.now() - lastEbTime < 5000) return false - //lastEbId = startId - //lastEbTime = dateUtil.now() queueCounter.ebsRemaining = lastDbId - startId appRepository.getNextSyncElementExtendedBolus(startId).blockingGet()?.let { eb -> aapsLogger.info(LTag.NSCLIENT, "Loading ExtendedBolus data Start: $startId ID: ${eb.first.id} HistoryID: ${eb.second} ") val profile = profileFunction.getProfile(eb.first.timestamp) if (profile != null) { when { - // record is not valid record and we are within first sync, no need to upload - eb.first.id != eb.second.id && eb.second.id <= sp.getLong(R.string.key_ns_extended_bolus_new_data_id, 0) -> { + // new record with existing NS id => must be coming from NS => ignore + eb.first.id == eb.second.id && eb.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. Loaded from NS: ${eb.first.id} HistoryID: ${eb.second.id} ") confirmLastExtendedBolusIdIfGreater(eb.second.id) - //lastTbrId = -1 processChangedExtendedBolusesCompat() - aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. Change within first sync ID: ${eb.first.id} HistoryID: ${eb.second.id} ") - return false + return } // only NsId changed, no need to upload - eb.first.onlyNsIdAdded(eb.second) -> { - confirmLastExtendedBolusIdIfGreater(eb.second.id) - //lastEbId = -1 - processChangedExtendedBolusesCompat() + eb.first.onlyNsIdAdded(eb.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. Only NS id changed ID: ${eb.first.id} HistoryID: ${eb.second.id} ") - return false + confirmLastExtendedBolusIdIfGreater(eb.second.id) + processChangedExtendedBolusesCompat() + return } // without nsId = create new - eb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd( + eb.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( "treatments", eb.first.toJson(true, profile, dateUtil), DataSyncSelector.PairExtendedBolus(eb.first, eb.second.id), "$startId/$lastDbId" ) // with nsId = update - eb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + eb.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", eb.first.interfaceIDs.nightscoutId, eb.first.toJson(false, profile, dateUtil), @@ -761,19 +710,19 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } else { + aapsLogger.info(LTag.NSCLIENT, "Ignoring ExtendedBolus. No profile: ${eb.first.id} HistoryID: ${eb.second.id} ") confirmLastExtendedBolusIdIfGreater(eb.second.id) - //lastEbId = -1 processChangedExtendedBolusesCompat() + return } } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting ProfileSwitch data sync from $lastSynced") sp.putLong(R.string.key_ns_profile_switch_last_synced_id, lastSynced) } } @@ -785,9 +734,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastPsId = -1L - //private var lastPsTime = -1L - override fun processChangedProfileSwitchesCompat(): Boolean { + override tailrec fun processChangedProfileSwitchesCompat() { val lastDbIdWrapped = appRepository.getLastProfileSwitchIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_profile_switch_last_synced_id, 0) @@ -795,27 +742,30 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_profile_switch_last_synced_id, 0) startId = 0 } - //if (startId == lastPsId && dateUtil.now() - lastPsTime < 5000) return false - //lastPsId = startId - //lastPsTime = dateUtil.now() queueCounter.pssRemaining = lastDbId - startId appRepository.getNextSyncElementProfileSwitch(startId).blockingGet()?.let { ps -> aapsLogger.info(LTag.NSCLIENT, "Loading ProfileSwitch data Start: $startId ID: ${ps.first.id} HistoryID: ${ps.second} ") when { - // only NsId changed, no need to upload - ps.first.onlyNsIdAdded(ps.second) -> { + // new record with existing NS id => must be coming from NS => ignore + ps.first.id == ps.second.id && ps.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring ProfileSwitch. Loaded from NS: ${ps.first.id} HistoryID: ${ps.second.id} ") confirmLastProfileSwitchIdIfGreater(ps.second.id) - //lastPsId = -1 processChangedProfileSwitchesCompat() + return + } + // only NsId changed, no need to upload + ps.first.onlyNsIdAdded(ps.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring ProfileSwitch. Only NS id changed ID: ${ps.first.id} HistoryID: ${ps.second.id} ") - return false + confirmLastProfileSwitchIdIfGreater(ps.second.id) + processChangedProfileSwitchesCompat() + return } // without nsId = create new - ps.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", ps.first.toJson(true, dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second.id), "$startId/$lastDbId") + ps.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("treatments", ps.first.toJson(true, dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second.id), "$startId/$lastDbId") // with nsId = update - ps.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + ps.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", ps.first.interfaceIDs.nightscoutId, ps.first.toJson(false, dateUtil), @@ -823,14 +773,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting EffectiveProfileSwitch data sync from $lastSynced") sp.putLong(R.string.key_ns_effective_profile_switch_last_synced_id, lastSynced) } } @@ -842,9 +791,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastEpsId = -1L - //private var lastEpsTime = -1L - override fun processChangedEffectiveProfileSwitchesCompat(): Boolean { + override tailrec fun processChangedEffectiveProfileSwitchesCompat() { val lastDbIdWrapped = appRepository.getLastEffectiveProfileSwitchIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_effective_profile_switch_last_synced_id, 0) @@ -852,27 +799,35 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_effective_profile_switch_last_synced_id, 0) startId = 0 } - //if (startId == lastEpsId && dateUtil.now() - lastEpsTime < 5000) return false - //lastEpsId = startId - //lastEpsTime = dateUtil.now() queueCounter.epssRemaining = lastDbId - startId appRepository.getNextSyncElementEffectiveProfileSwitch(startId).blockingGet()?.let { ps -> aapsLogger.info(LTag.NSCLIENT, "Loading EffectiveProfileSwitch data Start: $startId ID: ${ps.first.id} HistoryID: ${ps.second} ") when { - // only NsId changed, no need to upload - ps.first.onlyNsIdAdded(ps.second) -> { + // new record with existing NS id => must be coming from NS => ignore + ps.first.id == ps.second.id && ps.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring EffectiveProfileSwitch. Loaded from NS: ${ps.first.id} HistoryID: ${ps.second.id} ") confirmLastEffectiveProfileSwitchIdIfGreater(ps.second.id) - //lastEpsId = -1 processChangedEffectiveProfileSwitchesCompat() + return + } + // only NsId changed, no need to upload + ps.first.onlyNsIdAdded(ps.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring EffectiveProfileSwitch. Only NS id changed ID: ${ps.first.id} HistoryID: ${ps.second.id} ") - return false + confirmLastEffectiveProfileSwitchIdIfGreater(ps.second.id) + processChangedEffectiveProfileSwitchesCompat() + return } // without nsId = create new - ps.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", ps.first.toJson(true, dateUtil), DataSyncSelector.PairEffectiveProfileSwitch(ps.first, ps.second.id), "$startId/$lastDbId") + ps.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd( + "treatments", + ps.first.toJson(true, dateUtil), + DataSyncSelector.PairEffectiveProfileSwitch(ps.first, ps.second.id), + "$startId/$lastDbId" + ) // with nsId = update - ps.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + ps.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", ps.first.interfaceIDs.nightscoutId, ps.first.toJson(false, dateUtil), @@ -880,14 +835,13 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override 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") + //aapsLogger.debug(LTag.NSCLIENT, "Setting OfflineEvent data sync from $lastSynced") sp.putLong(R.string.key_ns_offline_event_last_synced_id, lastSynced) } } @@ -900,9 +854,7 @@ class DataSyncSelectorImplementation @Inject constructor( } } - //private var lastOeId = -1L - //private var lastOeTime = -1L - override fun processChangedOfflineEventsCompat(): Boolean { + override tailrec fun processChangedOfflineEventsCompat() { val lastDbIdWrapped = appRepository.getLastOfflineEventIdWrapped().blockingGet() val lastDbId = if (lastDbIdWrapped is ValueWrapper.Existing) lastDbIdWrapped.value else 0L var startId = sp.getLong(R.string.key_ns_offline_event_last_synced_id, 0) @@ -910,27 +862,30 @@ class DataSyncSelectorImplementation @Inject constructor( sp.putLong(R.string.key_ns_offline_event_last_synced_id, 0) startId = 0 } - //if (startId == lastOeId && dateUtil.now() - lastOeTime < 5000) return false - //lastOeId = startId - //lastOeTime = dateUtil.now() queueCounter.oesRemaining = lastDbId - startId appRepository.getNextSyncElementOfflineEvent(startId).blockingGet()?.let { oe -> aapsLogger.info(LTag.NSCLIENT, "Loading OfflineEvent data Start: $startId ID: ${oe.first.id} HistoryID: ${oe.second} ") when { - // only NsId changed, no need to upload - oe.first.onlyNsIdAdded(oe.second) -> { + // new record with existing NS id => must be coming from NS => ignore + oe.first.id == oe.second.id && oe.first.interfaceIDs.nightscoutId != null -> { + aapsLogger.info(LTag.NSCLIENT, "Ignoring OfflineEvent. Loaded from NS: ${oe.first.id} HistoryID: ${oe.second.id} ") confirmLastOfflineEventIdIfGreater(oe.second.id) - //lastOeId = -1 processChangedOfflineEventsCompat() + return + } + // only NsId changed, no need to upload + oe.first.onlyNsIdAdded(oe.second) -> { aapsLogger.info(LTag.NSCLIENT, "Ignoring OfflineEvent. Only NS id changed ID: ${oe.first.id} HistoryID: ${oe.second.id} ") - return false + confirmLastOfflineEventIdIfGreater(oe.second.id) + processChangedOfflineEventsCompat() + return } // without nsId = create new - oe.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", oe.first.toJson(true, dateUtil), DataSyncSelector.PairOfflineEvent(oe.first, oe.second.id), "$startId/$lastDbId") + oe.first.interfaceIDs.nightscoutId == null -> + activePlugin.activeNsClient?.nsClientService?.dbAdd("treatments", oe.first.toJson(true, dateUtil), DataSyncSelector.PairOfflineEvent(oe.first, oe.second.id), "$startId/$lastDbId") // existing with nsId = update - oe.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate( + oe.first.interfaceIDs.nightscoutId != null -> + activePlugin.activeNsClient?.nsClientService?.dbUpdate( "treatments", oe.first.interfaceIDs.nightscoutId, oe.first.toJson(false, dateUtil), @@ -938,9 +893,8 @@ class DataSyncSelectorImplementation @Inject constructor( "$startId/$lastDbId" ) } - return true + return } - return false } override fun confirmLastProfileStore(lastSynced: Long) { @@ -954,7 +908,7 @@ class DataSyncSelectorImplementation @Inject constructor( if (lastChange > lastSync) { if (profilePlugin.profile?.allProfilesValid != true) return val profileJson = profilePlugin.profile?.data ?: return - nsClientPlugin.nsClientService?.dbAdd("profile", profileJson, DataSyncSelector.PairProfileStore(profileJson, dateUtil.now()), "") + activePlugin.activeNsClient?.nsClientService?.dbAdd("profile", profileJson, DataSyncSelector.PairProfileStore(profileJson, dateUtil.now()), "") } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt index 14a3786a2b..65ecac8683 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientAddAckWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import android.content.Context import android.os.SystemClock @@ -36,8 +36,9 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAddAck -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAddAck import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -68,7 +69,7 @@ class NSClientAddAckWorker( if (sp.getBoolean(R.string.key_ns_sync_slow, false)) SystemClock.sleep(1000) when (ack.originalObject) { - is PairTemporaryTarget -> { + is PairTemporaryTarget -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdTemporaryTargetTransaction(pair.value)) @@ -82,12 +83,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryTarget " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryTarget " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTempTargetsCompat() } - is PairGlucoseValue -> { + is PairGlucoseValue -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdGlucoseValueTransaction(pair.value)) @@ -101,12 +102,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked GlucoseValue " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked GlucoseValue " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedGlucoseValuesCompat() } - is PairFood -> { + is PairFood -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdFoodTransaction(pair.value)) @@ -120,12 +121,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastFoodIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked Food " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked Food " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedFoodsCompat() } - is PairTherapyEvent -> { + is PairTherapyEvent -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdTherapyEventTransaction(pair.value)) @@ -139,12 +140,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked TherapyEvent " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked TherapyEvent " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTherapyEventsCompat() } - is PairBolus -> { + is PairBolus -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdBolusTransaction(pair.value)) @@ -158,12 +159,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastBolusIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked Bolus " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked Bolus " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedBolusesCompat() } - is PairCarbs -> { + is PairCarbs -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdCarbsTransaction(pair.value)) @@ -177,12 +178,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastCarbsIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked Carbs " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked Carbs " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedCarbsCompat() } - is PairBolusCalculatorResult -> { + is PairBolusCalculatorResult -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdBolusCalculatorResultTransaction(pair.value)) @@ -196,12 +197,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked BolusCalculatorResult " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked BolusCalculatorResult " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedBolusCalculatorResultsCompat() } - is PairTemporaryBasal -> { + is PairTemporaryBasal -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdTemporaryBasalTransaction(pair.value)) @@ -215,12 +216,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryBasal " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryBasal " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTemporaryBasalsCompat() } - is PairExtendedBolus -> { + is PairExtendedBolus -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdExtendedBolusTransaction(pair.value)) @@ -234,12 +235,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked ExtendedBolus " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked ExtendedBolus " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedExtendedBolusesCompat() } - is PairProfileSwitch -> { + is PairProfileSwitch -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdProfileSwitchTransaction(pair.value)) @@ -253,12 +254,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastProfileSwitchIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked ProfileSwitch " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked ProfileSwitch " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedProfileSwitchesCompat() } - is PairEffectiveProfileSwitch -> { + is PairEffectiveProfileSwitch -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdEffectiveProfileSwitchTransaction(pair.value)) @@ -272,12 +273,12 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastEffectiveProfileSwitchIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked EffectiveProfileSwitch " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked EffectiveProfileSwitch " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedEffectiveProfileSwitchesCompat() } - is DeviceStatus -> { + is DeviceStatus -> { val deviceStatus = ack.originalObject deviceStatus.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdDeviceStatusTransaction(deviceStatus)) @@ -291,17 +292,17 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastDeviceStatusIdIfGreater(deviceStatus.id) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked DeviceStatus " + deviceStatus.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked DeviceStatus " + deviceStatus.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedDeviceStatusesCompat() } - is PairProfileStore -> { + is PairProfileStore -> { dataSyncSelector.confirmLastProfileStore(ack.originalObject.timestampSync) - rxBus.send(EventNSClientNewLog("DBADD", "Acked ProfileStore " + ack.id)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked ProfileStore " + ack.id, NsClient.Version.V1)) } - is PairOfflineEvent -> { + is PairOfflineEvent -> { val pair = ack.originalObject pair.value.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdOfflineEventTransaction(pair.value)) @@ -315,7 +316,7 @@ class NSClientAddAckWorker( dataSyncSelector.confirmLastOfflineEventIdIfGreater(pair.updateRecordId) } .blockingGet() - rxBus.send(EventNSClientNewLog("DBADD", "Acked OfflineEvent " + pair.value.interfaceIDs.nightscoutId)) + rxBus.send(EventNSClientNewLog("DBADD", "Acked OfflineEvent " + pair.value.interfaceIDs.nightscoutId, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedOfflineEventsCompat() } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt new file mode 100644 index 0000000000..be311e750f --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt @@ -0,0 +1,180 @@ +package info.nightscout.androidaps.plugins.sync.nsclient + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.database.AppRepository +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.plugins.sync.nsclient.extensions.bolusFromJson +import info.nightscout.plugins.sync.nsclient.extensions.carbsFromJson +import info.nightscout.plugins.sync.nsclient.extensions.effectiveProfileSwitchFromJson +import info.nightscout.plugins.sync.nsclient.extensions.extendedBolusFromJson +import info.nightscout.plugins.sync.nsclient.extensions.isEffectiveProfileSwitch +import info.nightscout.plugins.sync.nsclient.extensions.offlineEventFromJson +import info.nightscout.plugins.sync.nsclient.extensions.profileSwitchFromJson +import info.nightscout.plugins.sync.nsclient.extensions.temporaryBasalFromJson +import info.nightscout.plugins.sync.nsclient.extensions.temporaryTargetFromJson +import info.nightscout.plugins.sync.nsclient.extensions.therapyEventFromJson +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject + +class NSClientAddUpdateWorker( + context: Context, + params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var dataWorkerStorage: DataWorkerStorage + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var sp: SP + @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var config: Config + @Inject lateinit var repository: AppRepository + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var rxBus: RxBus + @Inject lateinit var uel: UserEntryLogger + @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin + @Inject lateinit var xDripBroadcast: XDripBroadcast + @Inject lateinit var storeDataForDb: StoreDataForDb + + override fun doWork(): Result { + val treatments = dataWorkerStorage.pickupJSONArray(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) + ?: return Result.failure(workDataOf("Error" to "missing input data")) + + val ret = Result.success() + var latestDateInReceivedData = 0L + + for (i in 0 until treatments.length()) { + var json = treatments.getJSONObject(i) + aapsLogger.debug(LTag.DATABASE, "Received NS treatment: $json") + + val insulin = JsonHelper.safeGetDouble(json, "insulin") + val carbs = JsonHelper.safeGetDouble(json, "carbs") + var eventType = JsonHelper.safeGetString(json, "eventType") + if (eventType == null) { + aapsLogger.debug(LTag.NSCLIENT, "Wrong treatment. Ignoring : $json") + continue + } + + //Find latest date in treatment + val mills = JsonHelper.safeGetLong(json, "mills") + if (mills != 0L && mills < dateUtil.now()) + if (mills > latestDateInReceivedData) latestDateInReceivedData = mills + + if (insulin > 0) { + if (sp.getBoolean(R.string.key_ns_receive_insulin, false) || config.NSCLIENT) { + bolusFromJson(json)?.let { bolus -> + storeDataForDb.boluses.add(bolus) + } ?: aapsLogger.error("Error parsing bolus json $json") + } + } + if (carbs > 0) { + if (sp.getBoolean(R.string.key_ns_receive_carbs, false) || config.NSCLIENT) { + carbsFromJson(json)?.let { carb -> + storeDataForDb.carbs.add(carb) + } ?: aapsLogger.error("Error parsing bolus json $json") + } + } + // Convert back emulated TBR -> EB + if (eventType == TherapyEvent.Type.TEMPORARY_BASAL.text && json.has("extendedEmulated")) { + val ebJson = json.getJSONObject("extendedEmulated") + ebJson.put("_id", json.getString("_id")) + ebJson.put("isValid", json.getBoolean("isValid")) + ebJson.put("mills", mills) + json = ebJson + eventType = JsonHelper.safeGetString(json, "eventType") + virtualPumpPlugin.fakeDataDetected = true + } + when { + insulin > 0 || carbs > 0 -> Any() + eventType == TherapyEvent.Type.TEMPORARY_TARGET.text -> + if (sp.getBoolean(R.string.key_ns_receive_temp_target, false) || config.NSCLIENT) { + temporaryTargetFromJson(json)?.let { temporaryTarget -> + storeDataForDb.temporaryTargets.add(temporaryTarget) + } ?: aapsLogger.error("Error parsing TT json $json") + } + + eventType == TherapyEvent.Type.NOTE.text && json.isEffectiveProfileSwitch() -> // replace this by new Type when available in NS + if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { + effectiveProfileSwitchFromJson(json, dateUtil)?.let { effectiveProfileSwitch -> + storeDataForDb.effectiveProfileSwitches.add(effectiveProfileSwitch) + } ?: aapsLogger.error("Error parsing EffectiveProfileSwitch json $json") + } + + eventType == TherapyEvent.Type.BOLUS_WIZARD.text -> + bolusCalculatorResultFromJson(json)?.let { bolusCalculatorResult -> + storeDataForDb.bolusCalculatorResults.add(bolusCalculatorResult) + } ?: aapsLogger.error("Error parsing BolusCalculatorResult json $json") + + eventType == TherapyEvent.Type.CANNULA_CHANGE.text || + eventType == TherapyEvent.Type.INSULIN_CHANGE.text || + eventType == TherapyEvent.Type.SENSOR_CHANGE.text || + eventType == TherapyEvent.Type.FINGER_STICK_BG_VALUE.text || + eventType == TherapyEvent.Type.NONE.text || + eventType == TherapyEvent.Type.ANNOUNCEMENT.text || + eventType == TherapyEvent.Type.QUESTION.text || + eventType == TherapyEvent.Type.EXERCISE.text || + eventType == TherapyEvent.Type.NOTE.text || + eventType == TherapyEvent.Type.PUMP_BATTERY_CHANGE.text -> + if (sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT) { + therapyEventFromJson(json)?.let { therapyEvent -> + storeDataForDb.therapyEvents.add(therapyEvent) + } ?: aapsLogger.error("Error parsing TherapyEvent json $json") + } + + eventType == TherapyEvent.Type.COMBO_BOLUS.text -> + if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { + extendedBolusFromJson(json)?.let { extendedBolus -> + storeDataForDb.extendedBoluses.add(extendedBolus) + } ?: aapsLogger.error("Error parsing ExtendedBolus json $json") + } + + eventType == TherapyEvent.Type.TEMPORARY_BASAL.text -> + if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { + temporaryBasalFromJson(json)?.let { temporaryBasal -> + storeDataForDb.temporaryBasals.add(temporaryBasal) + } ?: aapsLogger.error("Error parsing TemporaryBasal json $json") + } + + eventType == TherapyEvent.Type.PROFILE_SWITCH.text -> + if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { + profileSwitchFromJson(json, dateUtil, activePlugin)?.let { profileSwitch -> + storeDataForDb.profileSwitches.add(profileSwitch) + } ?: aapsLogger.error("Error parsing ProfileSwitch json $json") + } + + eventType == TherapyEvent.Type.APS_OFFLINE.text -> + if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && buildHelper.isEngineeringMode() || config.NSCLIENT) { + offlineEventFromJson(json)?.let { offlineEvent -> + storeDataForDb.offlineEvents.add(offlineEvent) + } ?: aapsLogger.error("Error parsing OfflineEvent json $json") + } + } + } + storeDataForDb.storeTreatmentsToDb() + activePlugin.activeNsClient?.updateLatestTreatmentReceivedIfNewer(latestDateInReceivedData) + xDripBroadcast.sendTreatments(treatments) + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt similarity index 54% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt index d28234a4dc..bf7e05fa60 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientMbgWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import android.content.Context import androidx.work.Worker @@ -6,15 +6,11 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction -import info.nightscout.androidaps.extensions.therapyEventFromNsMbg -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSMbg import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.rx.logging.AAPSLogger -import info.nightscout.rx.logging.LTag +import info.nightscout.androidaps.utils.extensions.therapyEventFromNsMbg +import info.nightscout.interfaces.Config import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject @@ -23,15 +19,13 @@ class NSClientMbgWorker( params: WorkerParameters ) : Worker(context, params) { - @Inject lateinit var repository: AppRepository @Inject lateinit var dataWorkerStorage: DataWorkerStorage - @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var sp: SP - @Inject lateinit var buildHelper: BuildHelper @Inject lateinit var config: Config + @Inject lateinit var storeDataForDb: StoreDataForDb override fun doWork(): Result { - var ret = Result.success() + val ret = Result.success() val acceptNSData = sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT if (!acceptNSData) return Result.success(workDataOf("Result" to "Sync not enabled")) @@ -41,16 +35,9 @@ class NSClientMbgWorker( for (i in 0 until mbgArray.length()) { val nsMbg = NSMbg(mbgArray.getJSONObject(i)) if (!nsMbg.isValid()) continue - repository.runTransactionForResult(SyncNsTherapyEventTransaction(therapyEventFromNsMbg(nsMbg))) - .doOnError { - aapsLogger.error("Error while saving therapy event", it) - ret = Result.failure(workDataOf("Error" to it.toString())) - } - .blockingGet() - .also { - aapsLogger.debug(LTag.DATABASE, "Saved therapy event $it") - } + storeDataForDb.therapyEvents.add(therapyEventFromNsMbg(nsMbg)) } + // storeDataForDb.storeTreatmentsToDb() don't do this. It will be stored along with other treatments return ret } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt similarity index 71% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt index fbdf390f68..61a221f41f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import android.content.ComponentName import android.content.Context @@ -7,29 +7,34 @@ import android.content.ServiceConnection import android.os.Handler import android.os.HandlerThread import android.os.IBinder +import android.text.Spanned import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange +import info.nightscout.androidaps.interfaces.DataSyncSelector +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientResend +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.AlarmAck -import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientResend -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI -import info.nightscout.androidaps.plugins.general.nsclient.services.NSClientService -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.HtmlHelper.fromHtml -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -55,17 +60,16 @@ class NSClientPlugin @Inject constructor( private val sp: SP, private val nsClientReceiverDelegate: NsClientReceiverDelegate, private val config: Config, - private val buildHelper: BuildHelper -) : PluginBase( + private val buildHelper: BuildHelper, + private val dataSyncSelector: DataSyncSelector +) : NsClient, Sync, PluginBase( PluginDescription() - .mainType(PluginType.GENERAL) + .mainType(PluginType.SYNC) .fragmentClass(NSClientFragment::class.java.name) .pluginIcon(R.drawable.ic_nightscout_syncs) .pluginName(R.string.nsclientinternal) .shortName(R.string.nsclientinternal_shortname) .preferencesId(R.xml.pref_nsclientinternal) - .alwaysEnabled(config.NSCLIENT) - .visibleByDefault(config.NSCLIENT) .description(R.string.description_ns_client), aapsLogger, rh, injector ) { @@ -73,19 +77,14 @@ class NSClientPlugin @Inject constructor( private val disposable = CompositeDisposable() private val handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) private val listLog: MutableList = ArrayList() - var textLog = fromHtml("") - var paused = false - var autoscroll = false - var status = "" - var nsClientService: NSClientService? = null + override var status = "" + override var nsClientService: NSClientService? = null val isAllowed: Boolean get() = nsClientReceiverDelegate.allowed val blockingReason: String get() = nsClientReceiverDelegate.blockingReason override fun onStart() { - paused = sp.getBoolean(R.string.key_nsclientinternal_paused, false) - autoscroll = sp.getBoolean(R.string.key_nsclientinternal_autoscroll, true) context.bindService(Intent(context, NSClientService::class.java), mConnection, Context.BIND_AUTO_CREATE) super.onStart() nsClientReceiverDelegate.grabReceiversState() @@ -93,8 +92,10 @@ class NSClientPlugin @Inject constructor( .toObservable(EventNSClientStatus::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event: EventNSClientStatus -> - status = event.getStatus(rh) - rxBus.send(EventNSClientUpdateGUI()) + if (event.version == NsClient.Version.V1) { + status = event.getStatus(rh) + rxBus.send(EventNSClientUpdateGUI()) + } }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventNetworkChange::class.java) @@ -112,6 +113,7 @@ class NSClientPlugin @Inject constructor( .toObservable(EventNSClientNewLog::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event: EventNSClientNewLog -> + if (event.version != NsClient.Version.V1) return@subscribe addToLog(event) aapsLogger.debug(LTag.NSCLIENT, event.action + " " + event.logText) }, fabricPrivacy::logException) @@ -138,17 +140,13 @@ class NSClientPlugin @Inject constructor( preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_errors))?.isVisible = false preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_carbs_req))?.isVisible = false -// preferenceFragment.findPreference(rh.gs(R.string.key_ns_sync_use_absolute))?.isVisible = false - } else { - // APS or pumpControl mode -// preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_profile_switch))?.isVisible = buildHelper.isEngineeringMode() -// preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_insulin))?.isVisible = buildHelper.isEngineeringMode() -// preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_carbs))?.isVisible = buildHelper.isEngineeringMode() -// preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_temp_target))?.isVisible = buildHelper.isEngineeringMode() } preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = buildHelper.isEngineeringMode() } + override val hasWritePermission: Boolean get() = nsClientService?.hasWriteAuth ?: false + override val connected: Boolean get() = nsClientService?.isConnected ?: false + private val mConnection: ServiceConnection = object : ServiceConnection { override fun onServiceDisconnected(name: ComponentName) { aapsLogger.debug(LTag.NSCLIENT, "Service is disconnected") @@ -162,55 +160,53 @@ class NSClientPlugin @Inject constructor( } } - @Synchronized fun clearLog() { + override fun clearLog() { handler.post { synchronized(listLog) { listLog.clear() } rxBus.send(EventNSClientUpdateGUI()) } } - @Synchronized private fun addToLog(ev: EventNSClientNewLog) { - handler.post { - synchronized(listLog) { - listLog.add(ev) - // remove the first line if log is too large - if (listLog.size >= Constants.MAX_LOG_LINES) { - listLog.removeAt(0) - } + private fun addToLog(ev: EventNSClientNewLog) { + synchronized(listLog) { + listLog.add(ev) + // remove the first line if log is too large + if (listLog.size >= Constants.MAX_LOG_LINES) { + listLog.removeAt(0) } - rxBus.send(EventNSClientUpdateGUI()) } + rxBus.send(EventNSClientUpdateGUI()) } - @Synchronized fun updateLog() { + override fun textLog(): Spanned { try { val newTextLog = StringBuilder() synchronized(listLog) { - for (log in listLog) { - newTextLog.append(log.toPreparedHtml()) - } + for (log in listLog) newTextLog.append(log.toPreparedHtml()) } - textLog = fromHtml(newTextLog.toString()) + return fromHtml(newTextLog.toString()) } catch (e: OutOfMemoryError) { ToastUtils.showToastInUiThread(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) } + return fromHtml("") } - fun resend(reason: String) { + override fun resend(reason: String) { nsClientService?.resend(reason) } - fun pause(newState: Boolean) { + override fun pause(newState: Boolean) { sp.putBoolean(R.string.key_nsclientinternal_paused, newState) - paused = newState rxBus.send(EventPreferenceChange(rh, R.string.key_nsclientinternal_paused)) } - fun url(): String = nsClientService?.nsURL ?: "" - fun hasWritePermission(): Boolean = nsClientService?.hasWriteAuth ?: false + override val version: NsClient.Version + get() = NsClient.Version.V1 + + override val address: String get() = nsClientService?.nsURL ?: "" fun handleClearAlarm(originalAlarm: NSAlarm, silenceTimeInMilliseconds: Long) { - if (!isEnabled(PluginType.GENERAL)) return + if (!isEnabled()) return if (!sp.getBoolean(R.string.key_ns_upload, true)) { aapsLogger.debug(LTag.NSCLIENT, "Upload disabled. Message dropped") return @@ -223,7 +219,15 @@ class NSClientPlugin @Inject constructor( }) } - fun updateLatestDateReceivedIfNewer(latestReceived: Long) { + override fun updateLatestBgReceivedIfNewer(latestReceived: Long) { nsClientService?.let { if (latestReceived > it.latestDateInReceivedData) it.latestDateInReceivedData = latestReceived } } + + override fun updateLatestTreatmentReceivedIfNewer(latestReceived: Long) { + nsClientService?.let { if (latestReceived > it.latestDateInReceivedData) it.latestDateInReceivedData = latestReceived } + } + + override fun resetToFullSync() { + dataSyncSelector.resetToNextFullSync() + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt index fa97e4a0e4..df4f77f049 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientUpdateRemoveAckWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import android.content.Context import androidx.work.Worker @@ -19,8 +19,9 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.androidaps.plugins.general.nsclient.acks.NSUpdateAck -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSUpdateAck import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -50,7 +51,7 @@ class NSClientUpdateRemoveAckWorker( is PairTemporaryTarget -> { val pair = ack.originalObject dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TemporaryTarget" + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TemporaryTarget" + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTempTargetsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -59,7 +60,7 @@ class NSClientUpdateRemoveAckWorker( is PairGlucoseValue -> { val pair = ack.originalObject dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked GlucoseValue " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked GlucoseValue " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedGlucoseValuesCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -68,7 +69,7 @@ class NSClientUpdateRemoveAckWorker( is PairFood -> { val pair = ack.originalObject dataSyncSelector.confirmLastFoodIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Food " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Food " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedFoodsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -77,7 +78,7 @@ class NSClientUpdateRemoveAckWorker( is PairTherapyEvent -> { val pair = ack.originalObject dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TherapyEvent " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TherapyEvent " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTherapyEventsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -86,7 +87,7 @@ class NSClientUpdateRemoveAckWorker( is PairBolus -> { val pair = ack.originalObject dataSyncSelector.confirmLastBolusIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Bolus " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Bolus " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedBolusesCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -95,7 +96,7 @@ class NSClientUpdateRemoveAckWorker( is PairCarbs -> { val pair = ack.originalObject dataSyncSelector.confirmLastCarbsIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Carbs " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked Carbs " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedCarbsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -104,7 +105,7 @@ class NSClientUpdateRemoveAckWorker( is PairBolusCalculatorResult -> { val pair = ack.originalObject dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked BolusCalculatorResult " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked BolusCalculatorResult " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedBolusCalculatorResultsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -113,7 +114,7 @@ class NSClientUpdateRemoveAckWorker( is PairTemporaryBasal -> { val pair = ack.originalObject dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TemporaryBasal " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked TemporaryBasal " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedTemporaryBasalsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -122,7 +123,7 @@ class NSClientUpdateRemoveAckWorker( is PairExtendedBolus -> { val pair = ack.originalObject dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked ExtendedBolus " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked ExtendedBolus " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedExtendedBolusesCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -131,7 +132,7 @@ class NSClientUpdateRemoveAckWorker( is PairProfileSwitch -> { val pair = ack.originalObject dataSyncSelector.confirmLastProfileSwitchIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked ProfileSwitch " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked ProfileSwitch " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedProfileSwitchesCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -140,7 +141,7 @@ class NSClientUpdateRemoveAckWorker( is PairEffectiveProfileSwitch -> { val pair = ack.originalObject dataSyncSelector.confirmLastEffectiveProfileSwitchIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked EffectiveProfileSwitch " + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked EffectiveProfileSwitch " + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedEffectiveProfileSwitchesCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) @@ -149,7 +150,7 @@ class NSClientUpdateRemoveAckWorker( is PairOfflineEvent -> { val pair = ack.originalObject dataSyncSelector.confirmLastOfflineEventIdIfGreater(pair.updateRecordId) - rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked OfflineEvent" + ack._id)) + rxBus.send(EventNSClientNewLog("DBUPDATE", "Acked OfflineEvent" + ack._id, NsClient.Version.V1)) // Send new if waiting dataSyncSelector.processChangedOfflineEventsCompat() ret = Result.success(workDataOf("ProcessedData" to pair.toString())) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt index 6c0a36aaba..3f1e92b68e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegate.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt index 043e8e21d5..46a81ea2b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAddAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.acks +package info.nightscout.androidaps.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event @@ -16,7 +16,7 @@ class NSAddAck( ) : Event(), Ack { var id: String? = null - var nsClientID: String? = null + private var nsClientID: String? = null var json: JSONObject? = null override fun call(vararg args: Any) { // Regular response diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt index f52d2cb8e7..8e9e85f4d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSAuthAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.acks +package info.nightscout.androidaps.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt index 91856277ce..87b5673dd4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/acks/NSUpdateAck.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.acks +package info.nightscout.androidaps.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/AlarmAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java similarity index 72% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/AlarmAck.java rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java index 06fc06e943..f24c79ed37 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/AlarmAck.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data; +package info.nightscout.androidaps.plugins.sync.nsclient.data; /** * Created by mike on 11.06.2017. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt index 81d8f0e5b1..b9741e5915 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSAlarm.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data +package info.nightscout.androidaps.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt new file mode 100644 index 0000000000..8a18a1d423 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt @@ -0,0 +1,173 @@ +package info.nightscout.androidaps.plugins.sync.nsclient.data + +import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject +import javax.inject.Singleton + +/* +{ + "_id": "594fdcec327b83c81b6b8c0f", + "device": "openaps://Sony D5803", + "pump": { + "battery": { + "percent": 100 + }, + "status": { + "status": "normal", + "timestamp": "2017-06-25T15:50:14Z" + }, + "extended": { + "Version": "1.5-ac98852-2017.06.25", + "PumpIOB": 1.13, + "LastBolus": "25. 6. 2017 17:25:00", + "LastBolusAmount": 0.3, + "BaseBasalRate": 0.4, + "ActiveProfile": "2016 +30%" + }, + "reservoir": 109, + "clock": "2017-06-25T15:55:10Z" + }, + "openaps": { + "suggested": { + "temp": "absolute", + "bg": 115.9, + "tick": "+5", + "eventualBG": 105, + "snoozeBG": 105, + "predBGs": { + "IOB": [116, 114, 112, 110, 109, 107, 106, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107] + }, + "sensitivityRatio": 0.81, + "variable_sens": 137.3, + "COB": 0, + "IOB": -0.035, + "reason": "COB: 0, Dev: -18, BGI: 0.43, ISF: 216, Target: 99; Eventual BG 105 > 99 but Min. Delta -2.60 < Exp. Delta 0.1; setting current basal of 0.4 as temp. Suggested rate is same as profile rate, no temp basal is active, doing nothing", + "timestamp": "2017-06-25T15:55:10Z" + }, + "iob": { + "iob": -0.035, + "basaliob": -0.035, + "activity": -0.0004, + "time": "2017-06-25T15:55:10Z" + } + }, + "uploaderBattery": 93, + "created_at": "2017-06-25T15:55:10Z", + "NSCLIENT_ID": 1498406118857 +} + */ +@Suppress("SpellCheckingInspection") +@Singleton +class NSDeviceStatusHandler @Inject constructor( + private val sp: SP, + private val config: Config, + private val dateUtil: DateUtil, + private val runningConfiguration: RunningConfiguration, + private val processedDeviceStatusData: ProcessedDeviceStatusData +) { + + fun handleNewData(deviceStatuses: Array, version: NsClient.Version) { + var configurationDetected = false + for (i in deviceStatuses.size - 1 downTo 0) { + val nsDeviceStatus = deviceStatuses[i] + updatePumpData(nsDeviceStatus) + updateDeviceData(nsDeviceStatus) + updateOpenApsData(nsDeviceStatus) + updateUploaderData(nsDeviceStatus) + nsDeviceStatus.pump?.let { sp.putBoolean(R.string.key_ObjectivespumpStatusIsAvailableInNS, true) } // Objective 0 + if (config.NSCLIENT && !configurationDetected) + nsDeviceStatus.configuration?.let { + // copy configuration of Insulin and Sensitivity from main AAPS + runningConfiguration.apply(it, version) + configurationDetected = true // pick only newest + } + } + } + + private fun updateDeviceData(deviceStatus: RemoteDeviceStatus) { + val createdAt = deviceStatus.createdAt?.let { dateUtil.fromISODateString(it) } ?: return + processedDeviceStatusData.device?.let { if (createdAt < it.createdAt) return } // take only newer record + deviceStatus.device?.let { + if (it.startsWith("openaps://")) processedDeviceStatusData.device = ProcessedDeviceStatusData.Device(createdAt, it.substring(10)) + } + } + + private fun updatePumpData(remoteDeviceStatus: RemoteDeviceStatus) { + val pump = remoteDeviceStatus.pump ?: return + val clock = pump.clock?.let { dateUtil.fromISODateString(it) } ?: return + processedDeviceStatusData.pumpData?.let { if (clock < it.clock) return } // take only newer record + + // create new status and process data + processedDeviceStatusData.pumpData = ProcessedDeviceStatusData.PumpData().also { deviceStatusPumpData -> + deviceStatusPumpData.clock = clock + pump.status?.status?.let { deviceStatusPumpData.status = it } + pump.reservoir?.let { deviceStatusPumpData.reservoir = it } + pump.reservoirDisplayOverride?.let { deviceStatusPumpData.reservoirDisplayOverride = it } + pump.battery?.percent?.let { + deviceStatusPumpData.isPercent = true + deviceStatusPumpData.percent = it + } + pump.battery?.voltage?.let { + deviceStatusPumpData.isPercent = false + deviceStatusPumpData.voltage = it + } + pump.extended?.let { + val extended = StringBuilder() + val keys: Iterator<*> = it.keys() + while (keys.hasNext()) { + val key = keys.next() as String + val value = it.getString(key) + extended.append("").append(key).append(": ").append(value).append("
") + } + deviceStatusPumpData.extended = HtmlHelper.fromHtml(extended.toString()) + deviceStatusPumpData.activeProfileName = JsonHelper.safeGetStringAllowNull(it, "ActiveProfile", null) + } + } + } + + private fun updateOpenApsData(remoteDeviceStatus: RemoteDeviceStatus) { + remoteDeviceStatus.openaps?.suggested?.let { + JsonHelper.safeGetString(it, "timestamp")?.let { timestamp -> + val clock = dateUtil.fromISODateString(timestamp) + // check if this is new data + if (clock > processedDeviceStatusData.openAPSData.clockSuggested) { + processedDeviceStatusData.openAPSData.suggested = it + processedDeviceStatusData.openAPSData.clockSuggested = clock + } + } + } + remoteDeviceStatus.openaps?.enacted?.let { + JsonHelper.safeGetString(it, "timestamp")?.let { timestamp -> + val clock = dateUtil.fromISODateString(timestamp) + // check if this is new data + if (clock > processedDeviceStatusData.openAPSData.clockEnacted) { + processedDeviceStatusData.openAPSData.enacted = it + processedDeviceStatusData.openAPSData.clockEnacted = clock + } + } + } + } + + private fun updateUploaderData(remoteDeviceStatus: RemoteDeviceStatus) { + val clock = remoteDeviceStatus.createdAt?.let { dateUtil.fromISODateString(it) } ?: return + val device = remoteDeviceStatus.device ?: return + val battery = remoteDeviceStatus.uploaderBattery ?: remoteDeviceStatus.uploader?.battery ?: return + + var uploader = processedDeviceStatusData.uploaderMap[device] + // check if this is new data + if (uploader == null || clock > uploader.clock) { + if (uploader == null) uploader = ProcessedDeviceStatusData.Uploader() + uploader.battery = battery + uploader.clock = clock + processedDeviceStatusData.uploaderMap[device] = uploader + } + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt similarity index 86% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt index 063420e272..90d0aae931 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSMbg.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data +package info.nightscout.androidaps.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt index 7913034f54..a9686fff86 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSettingsStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data +package info.nightscout.androidaps.plugins.sync.nsclient.data import android.content.Context import info.nightscout.androidaps.R @@ -113,7 +113,6 @@ import javax.inject.Singleton "activeProfile": "2016 +30%" } */ -@Suppress("SpellCheckingInspection") @OpenForTesting @Singleton class NSSettingsStatus @Inject constructor( @@ -234,11 +233,6 @@ class NSSettingsStatus @Inject constructor( fun pumpExtendedSettingsFields(): String = JsonHelper.safeGetString(extendedPumpSettings(), "fields", "") - fun openAPSEnabledAlerts(): Boolean { - val openaps = JsonHelper.safeGetJSONObject(getExtendedSettings(), "openaps", null) - return JsonHelper.safeGetBoolean(openaps, "enableAlerts") - } - fun copyStatusLightsNsSettings(context: Context?) { val action = Runnable { getExtendedWarnValue("cage", "warn")?.let { sp.putDouble(R.string.key_statuslights_cage_warning, it) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt index c9d6208940..9da2da982a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSSgv.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.data +package info.nightscout.androidaps.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt new file mode 100644 index 0000000000..4f69f66db6 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt @@ -0,0 +1,211 @@ +package info.nightscout.androidaps.plugins.sync.nsclient.data + +import android.text.Spanned +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.Round +import info.nightscout.shared.sharedPreferences.SP +import org.json.JSONObject +import javax.inject.Inject +import javax.inject.Singleton + +@Suppress("SpellCheckingInspection") +@Singleton +class ProcessedDeviceStatusData @Inject constructor( + private val rh: ResourceHelper, + private val dateUtil: DateUtil, + private val sp: SP +) { + + enum class Levels(val level: Int) { + + URGENT(2), + WARN(1), + INFO(0); + + fun toColor(): String = + when (level) { + INFO.level -> "white" + WARN.level -> "yellow" + URGENT.level -> "red" + else -> "white" + } + } + + class PumpData { + + var clock = 0L + var isPercent = false + var percent = 0 + var voltage = 0.0 + var status = "N/A" + var reservoir = 0.0 + var reservoirDisplayOverride = "" + var extended: Spanned? = null + var activeProfileName: String? = null + } + + var pumpData: PumpData? = null + + data class Device( + val createdAt: Long, + val device: String? + ) + + var device: Device? = null + + class Uploader { + + var clock = 0L + var battery = 0 + } + + val uploaderMap = HashMap() + + class OpenAPSData { + + var clockSuggested = 0L + var clockEnacted = 0L + var suggested: JSONObject? = null + var enacted: JSONObject? = null + } + + var openAPSData = OpenAPSData() + + // test warning level // color + fun pumpStatus(nsSettingsStatus: NSSettingsStatus): Spanned { + val pumpData = pumpData ?: return HtmlHelper.fromHtml("") + + //String[] ALL_STATUS_FIELDS = {"reservoir", "battery", "clock", "status", "device"}; + val string = StringBuilder() + .append("") + .append(rh.gs(R.string.pump)) + .append(": ") + + // test warning level + val level = when { + pumpData.clock + nsSettingsStatus.extendedPumpSettings("urgentClock") * 60 * 1000L < dateUtil.now() -> Levels.URGENT + pumpData.reservoir < nsSettingsStatus.extendedPumpSettings("urgentRes") -> Levels.URGENT + pumpData.isPercent && pumpData.percent < nsSettingsStatus.extendedPumpSettings("urgentBattP") -> Levels.URGENT + !pumpData.isPercent && pumpData.voltage > 0 && pumpData.voltage < nsSettingsStatus.extendedPumpSettings("urgentBattV") -> Levels.URGENT + pumpData.clock + nsSettingsStatus.extendedPumpSettings("warnClock") * 60 * 1000L < dateUtil.now() -> Levels.WARN + pumpData.reservoir < nsSettingsStatus.extendedPumpSettings("warnRes") -> Levels.WARN + pumpData.isPercent && pumpData.percent < nsSettingsStatus.extendedPumpSettings("warnBattP") -> Levels.WARN + !pumpData.isPercent && pumpData.voltage > 0 && pumpData.voltage < nsSettingsStatus.extendedPumpSettings("warnBattV") -> Levels.WARN + else -> Levels.INFO + } + string.append("") + val insulinUnit = rh.gs(R.string.insulin_unit_shortname) + val fields = nsSettingsStatus.pumpExtendedSettingsFields() + if (pumpData.reservoirDisplayOverride != "") + string.append(pumpData.reservoirDisplayOverride).append("$insulinUnit ") + else if (fields.contains("reservoir")) string.append(pumpData.reservoir.toInt()).append("$insulinUnit ") + if (fields.contains("battery") && pumpData.isPercent) string.append(pumpData.percent).append("% ") + if (fields.contains("battery") && !pumpData.isPercent) string.append(Round.roundTo(pumpData.voltage, 0.001)).append(" ") + if (fields.contains("clock")) string.append(dateUtil.minAgo(rh, pumpData.clock)).append(" ") + if (fields.contains("status")) string.append(pumpData.status).append(" ") + if (fields.contains("device")) string.append(device).append(" ") + string.append("") // color + return HtmlHelper.fromHtml(string.toString()) + } + + val extendedPumpStatus: Spanned get() = pumpData?.extended ?: HtmlHelper.fromHtml("") + val extendedOpenApsStatus: Spanned + get() { + val string = StringBuilder() + val enacted = openAPSData.enacted + val suggested = openAPSData.suggested + if (enacted != null && openAPSData.clockEnacted != openAPSData.clockSuggested) string + .append("") + .append(dateUtil.minAgo(rh, openAPSData.clockEnacted)) + .append(" ") + .append(JsonHelper.safeGetString(enacted, "reason")) + .append("
") + if (suggested != null) string + .append("") + .append(dateUtil.minAgo(rh, openAPSData.clockSuggested)) + .append(" ") + .append(JsonHelper.safeGetString(suggested, "reason")) + .append("
") + return HtmlHelper.fromHtml(string.toString()) + } + + val openApsStatus: Spanned + get() { + val string = StringBuilder() + .append("") + .append(rh.gs(R.string.openaps_short)) + .append(": ") + + // test warning level + val level = when { + openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_urgent_staledatavalue, 31)).msecs() < dateUtil.now() -> Levels.URGENT + openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_staledatavalue, 16)).msecs() < dateUtil.now() -> Levels.WARN + else -> Levels.INFO + } + string.append("") + if (openAPSData.clockSuggested != 0L) string.append(dateUtil.minAgo(rh, openAPSData.clockSuggested)).append(" ") + string.append("") // color + return HtmlHelper.fromHtml(string.toString()) + } + + val openApsTimestamp: Long + get() = if (openAPSData.clockSuggested != 0L) openAPSData.clockSuggested else -1 + + fun getAPSResult(injector: HasAndroidInjector): APSResult { + val result = APSResult(injector) + result.json = openAPSData.suggested + result.date = openAPSData.clockSuggested + return result + } + val uploaderStatus: String + get() { + val iterator: Iterator<*> = uploaderMap.entries.iterator() + var minBattery = 100 + while (iterator.hasNext()) { + val pair = iterator.next() as Map.Entry<*, *> + val uploader = pair.value as Uploader + if (minBattery > uploader.battery) minBattery = uploader.battery + } + return "$minBattery%" + } + + val uploaderStatusSpanned: Spanned + get() { + val string = StringBuilder() + string.append("") + string.append(rh.gs(R.string.uploader_short)) + string.append(": ") + val iterator: Iterator<*> = uploaderMap.entries.iterator() + var minBattery = 100 + while (iterator.hasNext()) { + val pair = iterator.next() as Map.Entry<*, *> + val uploader = pair.value as Uploader + if (minBattery > uploader.battery) minBattery = uploader.battery + } + string.append(minBattery) + string.append("%") + return HtmlHelper.fromHtml(string.toString()) + } + + val extendedUploaderStatus: Spanned + get() { + val string = StringBuilder() + val iterator: Iterator<*> = uploaderMap.entries.iterator() + while (iterator.hasNext()) { + val pair = iterator.next() as Map.Entry<*, *> + val uploader = pair.value as Uploader + val device = pair.key as String + string.append("").append(device).append(": ").append(uploader.battery).append("%
") + } + return HtmlHelper.fromHtml(string.toString()) + } + +} + diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt similarity index 80% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt index 50c9dcd960..ed2e809482 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient.services +package info.nightscout.androidaps.plugins.sync.nsclient.services import android.annotation.SuppressLint import android.content.Context @@ -12,42 +12,47 @@ import android.os.SystemClock import androidx.work.OneTimeWorkRequest import com.google.common.base.Charsets import com.google.common.hash.Hashing +import com.google.gson.GsonBuilder +import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.DataSyncSelector +import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddUpdateWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientMbgWorker -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.general.nsclient.NSClientUpdateRemoveAckWorker -import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAddAck -import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAuthAck -import info.nightscout.androidaps.plugins.general.nsclient.acks.NSUpdateAck -import info.nightscout.androidaps.plugins.general.nsclient.data.AlarmAck -import info.nightscout.androidaps.plugins.general.nsclient.data.NSAlarm -import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus -import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin.NSClientSourceWorker +import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddAckWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddUpdateWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientMbgWorker +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.androidaps.plugins.sync.nsclient.NSClientUpdateRemoveAckWorker +import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAddAck +import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAuthAck +import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSUpdateAck +import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandler +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.T.Companion.mins +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull -import info.nightscout.androidaps.utils.T.Companion.mins -import info.nightscout.plugins.general.food.FoodPlugin.FoodWorker +import info.nightscout.plugins.general.food.FoodPlugin import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -56,6 +61,7 @@ import info.nightscout.rx.events.EventConfigBuilderChange import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -69,13 +75,13 @@ import java.net.URISyntaxException import java.util.Locale import javax.inject.Inject -class NSClientService : DaggerService() { +class NSClientService : DaggerService(), NsClient.NSClientService { @Inject lateinit var injector: HasAndroidInjector @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var nsSettingsStatus: NSSettingsStatus - @Inject lateinit var nsDeviceStatus: NSDeviceStatus + @Inject lateinit var nsDeviceStatusHandler: NSDeviceStatusHandler @Inject lateinit var rxBus: RxBus @Inject lateinit var rh: ResourceHelper @Inject lateinit var sp: SP @@ -206,13 +212,13 @@ class NSClientService : DaggerService() { connectionStatus += ')' isConnected = true hasWriteAuth = ack.write && ack.writeTreatment - rxBus.send(EventNSClientStatus(connectionStatus)) - rxBus.send(EventNSClientNewLog("AUTH", connectionStatus)) + rxBus.send(EventNSClientStatus(connectionStatus, NsClient.Version.V1)) + rxBus.send(EventNSClientNewLog("AUTH", connectionStatus, NsClient.Version.V1)) if (!ack.write) { - rxBus.send(EventNSClientNewLog("ERROR", "Write permission not granted ")) + rxBus.send(EventNSClientNewLog("ERROR", "Write permission not granted ", NsClient.Version.V1)) } if (!ack.writeTreatment) { - rxBus.send(EventNSClientNewLog("ERROR", "Write treatment permission not granted ")) + rxBus.send(EventNSClientNewLog("ERROR", "Write treatment permission not granted ", NsClient.Version.V1)) } if (!hasWriteAuth) { val noWritePerm = Notification(Notification.NSCLIENT_NO_WRITE_PERMISSION, rh.gs(R.string.nowritepermission), Notification.URGENT) @@ -235,21 +241,21 @@ class NSClientService : DaggerService() { fun initialize() { dataCounter = 0 readPreferences() - @Suppress("UnstableApiUsage", "DEPRECATION") + @Suppress("DEPRECATION") if (nsAPISecret != "") nsApiHashCode = Hashing.sha1().hashString(nsAPISecret, Charsets.UTF_8).toString() - rxBus.send(EventNSClientStatus("Initializing")) + rxBus.send(EventNSClientStatus("Initializing", NsClient.Version.V1)) if (!nsClientPlugin.isAllowed) { - rxBus.send(EventNSClientNewLog("NSCLIENT", nsClientPlugin.blockingReason)) - rxBus.send(EventNSClientStatus(nsClientPlugin.blockingReason)) - } else if (nsClientPlugin.paused) { - rxBus.send(EventNSClientNewLog("NSCLIENT", "paused")) - rxBus.send(EventNSClientStatus("Paused")) + rxBus.send(EventNSClientNewLog("NSCLIENT", nsClientPlugin.blockingReason, NsClient.Version.V1)) + rxBus.send(EventNSClientStatus(nsClientPlugin.blockingReason, NsClient.Version.V1)) + } else if (sp.getBoolean(R.string.key_nsclientinternal_paused, false)) { + rxBus.send(EventNSClientNewLog("NSCLIENT", "paused", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Paused", NsClient.Version.V1)) } else if (!nsEnabled) { - rxBus.send(EventNSClientNewLog("NSCLIENT", "disabled")) - rxBus.send(EventNSClientStatus("Disabled")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "disabled", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Disabled", NsClient.Version.V1)) } else if (nsURL != "" && (buildHelper.isEngineeringMode() || nsURL.lowercase(Locale.getDefault()).startsWith("https://"))) { try { - rxBus.send(EventNSClientStatus("Connecting ...")) + rxBus.send(EventNSClientStatus("Connecting ...", NsClient.Version.V1)) val opt = IO.Options() opt.forceNew = true opt.reconnection = true @@ -260,7 +266,7 @@ class NSClientService : DaggerService() { socket.on(Socket.EVENT_CONNECT_ERROR, onError) socket.on(Socket.EVENT_CONNECT_TIMEOUT, onError) socket.on(Socket.EVENT_PING, onPing) - rxBus.send(EventNSClientNewLog("NSCLIENT", "do connect")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "do connect", NsClient.Version.V1)) socket.connect() socket.on("dataUpdate", onDataUpdate) socket.on("announcement", onAnnouncement) @@ -269,25 +275,25 @@ class NSClientService : DaggerService() { socket.on("clear_alarm", onClearAlarm) } } catch (e: URISyntaxException) { - rxBus.send(EventNSClientNewLog("NSCLIENT", "Wrong URL syntax")) - rxBus.send(EventNSClientStatus("Wrong URL syntax")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "Wrong URL syntax", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Wrong URL syntax", NsClient.Version.V1)) } catch (e: RuntimeException) { - rxBus.send(EventNSClientNewLog("NSCLIENT", "Wrong URL syntax")) - rxBus.send(EventNSClientStatus("Wrong URL syntax")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "Wrong URL syntax", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Wrong URL syntax", NsClient.Version.V1)) } } else if (nsURL.lowercase(Locale.getDefault()).startsWith("http://")) { - rxBus.send(EventNSClientNewLog("NSCLIENT", "NS URL not encrypted")) - rxBus.send(EventNSClientStatus("Not encrypted")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "NS URL not encrypted", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Not encrypted", NsClient.Version.V1)) } else { - rxBus.send(EventNSClientNewLog("NSCLIENT", "No NS URL specified")) - rxBus.send(EventNSClientStatus("Not configured")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "No NS URL specified", NsClient.Version.V1)) + rxBus.send(EventNSClientStatus("Not configured", NsClient.Version.V1)) } } private val onConnect = Emitter.Listener { connectCounter++ val socketId = socket?.id() ?: "NULL" - rxBus.send(EventNSClientNewLog("NSCLIENT", "connect #$connectCounter event. ID: $socketId")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "connect #$connectCounter event. ID: $socketId", NsClient.Version.V1)) if (socket != null) sendAuthMessage(NSAuthAck(rxBus)) watchdog() } @@ -301,16 +307,16 @@ class NSClientService : DaggerService() { reconnections.remove(r) } } - rxBus.send(EventNSClientNewLog("WATCHDOG", "connections in last " + WATCHDOG_INTERVAL_MINUTES + " minutes: " + reconnections.size + "/" + WATCHDOG_MAX_CONNECTIONS)) + rxBus.send(EventNSClientNewLog("WATCHDOG", "connections in last " + WATCHDOG_INTERVAL_MINUTES + " minutes: " + reconnections.size + "/" + WATCHDOG_MAX_CONNECTIONS, NsClient.Version.V1)) if (reconnections.size >= WATCHDOG_MAX_CONNECTIONS) { val n = Notification(Notification.NS_MALFUNCTION, rh.gs(R.string.nsmalfunction), Notification.URGENT) rxBus.send(EventNewNotification(n)) - rxBus.send(EventNSClientNewLog("WATCHDOG", "pausing for $WATCHDOG_RECONNECT_IN minutes")) + rxBus.send(EventNSClientNewLog("WATCHDOG", "pausing for $WATCHDOG_RECONNECT_IN minutes", NsClient.Version.V1)) nsClientPlugin.pause(true) rxBus.send(EventNSClientUpdateGUI()) Thread { SystemClock.sleep(mins(WATCHDOG_RECONNECT_IN.toLong()).msecs()) - rxBus.send(EventNSClientNewLog("WATCHDOG", "re-enabling NSClient")) + rxBus.send(EventNSClientNewLog("WATCHDOG", "re-enabling NSClient", NsClient.Version.V1)) nsClientPlugin.pause(false) }.start() } @@ -319,7 +325,7 @@ class NSClientService : DaggerService() { private val onDisconnect = Emitter.Listener { args -> aapsLogger.debug(LTag.NSCLIENT, "disconnect reason: {}", *args) - rxBus.send(EventNSClientNewLog("NSCLIENT", "disconnect event")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "disconnect event", NsClient.Version.V1)) } @Synchronized fun destroy() { @@ -331,7 +337,7 @@ class NSClientService : DaggerService() { socket?.off("alarm") socket?.off("urgent_alarm") socket?.off("clear_alarm") - rxBus.send(EventNSClientNewLog("NSCLIENT", "destroy")) + rxBus.send(EventNSClientNewLog("NSCLIENT", "destroy", NsClient.Version.V1)) isConnected = false hasWriteAuth = false socket?.disconnect() @@ -350,11 +356,11 @@ class NSClientService : DaggerService() { aapsLogger.error("Unhandled exception", e) return } - rxBus.send(EventNSClientNewLog("AUTH", "requesting auth")) + rxBus.send(EventNSClientNewLog("AUTH", "requesting auth", NsClient.Version.V1)) socket?.emit("authorize", authMessage, ack) } - fun readPreferences() { + private fun readPreferences() { nsEnabled = nsClientPlugin.isEnabled() nsURL = sp.getString(R.string.key_nsclientinternal_url, "") nsAPISecret = sp.getString(R.string.key_nsclientinternal_api_secret, "") @@ -366,10 +372,10 @@ class NSClientService : DaggerService() { if (args.isNotEmpty() && args[0] != null) { msg = args[0].toString() } - rxBus.send(EventNSClientNewLog("ERROR", msg)) + rxBus.send(EventNSClientNewLog("ERROR", msg, NsClient.Version.V1)) } private val onPing = Emitter.Listener { - rxBus.send(EventNSClientNewLog("PING", "received")) + rxBus.send(EventNSClientNewLog("PING", "received", NsClient.Version.V1)) // send data if there is something waiting resend("Ping received") } @@ -439,7 +445,7 @@ class NSClientService : DaggerService() { val data: JSONObject try { data = args[0] as JSONObject - rxBus.send(EventNSClientNewLog("CLEARALARM", "received")) + rxBus.send(EventNSClientNewLog("CLEARALARM", "received", NsClient.Version.V1)) rxBus.send(EventDismissNotification(Notification.NS_ALARM)) rxBus.send(EventDismissNotification(Notification.NS_URGENT_ALARM)) aapsLogger.debug(LTag.NSCLIENT, data.toString()) @@ -458,19 +464,19 @@ class NSClientService : DaggerService() { try { // delta means only increment/changes are coming val isDelta = data.has("delta") - rxBus.send(EventNSClientNewLog("DATA", "Data packet #" + dataCounter++ + if (isDelta) " delta" else " full")) + rxBus.send(EventNSClientNewLog("DATA", "Data packet #" + dataCounter++ + if (isDelta) " delta" else " full", NsClient.Version.V1)) if (data.has("status")) { val status = data.getJSONObject("status") nsSettingsStatus.handleNewData(status) } else if (!isDelta) { - rxBus.send(EventNSClientNewLog("ERROR", "Unsupported Nightscout version ")) + rxBus.send(EventNSClientNewLog("ERROR", "Unsupported Nightscout version ", NsClient.Version.V1)) } if (data.has("profiles")) { val profiles = data.getJSONArray("profiles") if (profiles.length() > 0) { // take the newest val profileStoreJson = profiles[profiles.length() - 1] as JSONObject - rxBus.send(EventNSClientNewLog("PROFILE", "profile received")) + rxBus.send(EventNSClientNewLog("PROFILE", "profile received", NsClient.Version.V1)) dataWorkerStorage.enqueue( OneTimeWorkRequest.Builder(ProfilePlugin.NSProfileWorker::class.java) .setInputData(dataWorkerStorage.storeInputData(profileStoreJson)) @@ -481,7 +487,7 @@ class NSClientService : DaggerService() { if (data.has("treatments")) { val treatments = data.getJSONArray("treatments") val addedOrUpdatedTreatments = JSONArray() - if (treatments.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + treatments.length() + " treatments")) + if (treatments.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + treatments.length() + " treatments", NsClient.Version.V1)) for (index in 0 until treatments.length()) { val jsonTreatment = treatments.getJSONObject(index) val action = safeGetStringAllowNull(jsonTreatment, "action", null) @@ -497,24 +503,31 @@ class NSClientService : DaggerService() { } } if (data.has("devicestatus")) { - val devicestatuses = data.getJSONArray("devicestatus") - if (devicestatuses.length() > 0) { - rxBus.send(EventNSClientNewLog("DATA", "received " + devicestatuses.length() + " device statuses")) - nsDeviceStatus.handleNewData(devicestatuses) + val deserializer: JsonDeserializer = + JsonDeserializer { json, _, _ -> + JSONObject(json.asJsonObject.toString()) + } + val gson = GsonBuilder().also { + it.registerTypeAdapter(JSONObject::class.java, deserializer) + }.create() + val devicestatuses = gson.fromJson(data.getString("devicestatus"), Array::class.java) + if (devicestatuses.isNotEmpty()) { + rxBus.send(EventNSClientNewLog("DATA", "received " + devicestatuses.size + " device statuses", NsClient.Version.V1)) + nsDeviceStatusHandler.handleNewData(devicestatuses, NsClient.Version.V1) } } if (data.has("food")) { val foods = data.getJSONArray("food") - if (foods.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + foods.length() + " foods")) + if (foods.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + foods.length() + " foods", NsClient.Version.V1)) dataWorkerStorage.enqueue( - OneTimeWorkRequest.Builder(FoodWorker::class.java) + OneTimeWorkRequest.Builder(FoodPlugin.FoodWorker::class.java) .setInputData(dataWorkerStorage.storeInputData(foods)) .build() ) } if (data.has("mbgs")) { val mbgArray = data.getJSONArray("mbgs") - if (mbgArray.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + mbgArray.length() + " mbgs")) + if (mbgArray.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + mbgArray.length() + " mbgs", NsClient.Version.V1)) dataWorkerStorage.enqueue( OneTimeWorkRequest.Builder(NSClientMbgWorker::class.java) .setInputData(dataWorkerStorage.storeInputData(mbgArray)) @@ -523,23 +536,26 @@ class NSClientService : DaggerService() { } if (data.has("cals")) { val cals = data.getJSONArray("cals") - if (cals.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + cals.length() + " cals")) + if (cals.length() > 0) rxBus.send(EventNSClientNewLog("DATA", "received " + cals.length() + " cals", NsClient.Version.V1)) // Calibrations ignored } if (data.has("sgvs")) { val sgvs = data.getJSONArray("sgvs") if (sgvs.length() > 0) { - rxBus.send(EventNSClientNewLog("DATA", "received " + sgvs.length() + " sgvs")) + rxBus.send(EventNSClientNewLog("DATA", "received " + sgvs.length() + " sgvs", NsClient.Version.V1)) // Objective0 sp.putBoolean(R.string.key_ObjectivesbgIsAvailableInNS, true) - dataWorkerStorage.enqueue( - OneTimeWorkRequest.Builder(NSClientSourceWorker::class.java) - .setInputData(dataWorkerStorage.storeInputData(sgvs)) - .build() - ) + dataWorkerStorage + .beginUniqueWork( + NSClientV3Plugin.JOB_NAME, + OneTimeWorkRequest.Builder(NSClientSourcePlugin.NSClientSourceWorker::class.java) + .setInputData(dataWorkerStorage.storeInputData(sgvs)) + .build() + ).then(OneTimeWorkRequest.Builder(StoreDataForDb.StoreBgWorker::class.java).build()) + .enqueue() } } - rxBus.send(EventNSClientNewLog("LAST", dateUtil.dateAndTimeString(latestDateInReceivedData))) + rxBus.send(EventNSClientNewLog("LAST", dateUtil.dateAndTimeString(latestDateInReceivedData), NsClient.Version.V1)) } catch (e: JSONException) { aapsLogger.error("Unhandled exception", e) } @@ -550,7 +566,7 @@ class NSClientService : DaggerService() { } } - fun dbUpdate(collection: String, _id: String?, data: JSONObject?, originalObject: Any, progress: String) { + override fun dbUpdate(collection: String, _id: String?, data: JSONObject?, originalObject: Any, progress: String) { try { if (_id == null) return if (!isConnected || !hasWriteAuth) return @@ -562,7 +578,7 @@ class NSClientService : DaggerService() { rxBus.send( EventNSClientNewLog( "DBUPDATE $collection", "Sent " + originalObject.javaClass.simpleName + " " + - "" + _id + " " + data + progress + "" + _id + " " + data + progress, NsClient.Version.V1 ) ) } catch (e: JSONException) { @@ -570,14 +586,14 @@ class NSClientService : DaggerService() { } } - fun dbAdd(collection: String, data: JSONObject, originalObject: Any, progress: String) { + override fun dbAdd(collection: String, data: JSONObject, originalObject: Any, progress: String) { try { if (!isConnected || !hasWriteAuth) return val message = JSONObject() message.put("collection", collection) message.put("data", data) socket?.emit("dbAdd", message, NSAddAck(aapsLogger, rxBus, originalObject)) - rxBus.send(EventNSClientNewLog("DBADD $collection", "Sent " + originalObject.javaClass.simpleName + " " + data + " " + progress)) + rxBus.send(EventNSClientNewLog("DBADD $collection", "Sent " + originalObject.javaClass.simpleName + " " + data + " " + progress, NsClient.Version.V1)) } catch (e: JSONException) { aapsLogger.error("Unhandled exception", e) } @@ -586,7 +602,7 @@ class NSClientService : DaggerService() { fun sendAlarmAck(alarmAck: AlarmAck) { if (!isConnected || !hasWriteAuth) return socket?.emit("ack", alarmAck.level, alarmAck.group, alarmAck.silenceTime) - rxBus.send(EventNSClientNewLog("ALARMACK ", alarmAck.level.toString() + " " + alarmAck.group + " " + alarmAck.silenceTime)) + rxBus.send(EventNSClientNewLog("ALARMACK ", alarmAck.level.toString() + " " + alarmAck.group + " " + alarmAck.silenceTime, NsClient.Version.V1)) } fun resend(reason: String) { @@ -602,9 +618,9 @@ class NSClientService : DaggerService() { // "AndroidAPS:NSClientService_onDataUpdate") // wakeLock.acquire(mins(10).msecs()) try { - rxBus.send(EventNSClientNewLog("QUEUE", "Resend started: $reason")) + rxBus.send(EventNSClientNewLog("QUEUE", "Resend started: $reason", NsClient.Version.V1)) dataSyncSelector.doUpload() - rxBus.send(EventNSClientNewLog("QUEUE", "Resend ended: $reason")) + rxBus.send(EventNSClientNewLog("QUEUE", "Resend ended: $reason", NsClient.Version.V1)) } finally { // if (wakeLock.isHeld) wakeLock.release() } @@ -622,7 +638,7 @@ class NSClientService : DaggerService() { val nsAlarm = NSAlarm(announcement) val notification: Notification = NotificationWithAction(injector, nsAlarm) rxBus.send(EventNewNotification(notification)) - rxBus.send(EventNSClientNewLog("ANNOUNCEMENT", safeGetString(announcement, "message", "received"))) + rxBus.send(EventNSClientNewLog("ANNOUNCEMENT", safeGetString(announcement, "message", "received"), NsClient.Version.V1)) aapsLogger.debug(LTag.NSCLIENT, announcement.toString()) } } @@ -636,7 +652,7 @@ class NSClientService : DaggerService() { val notification: Notification = NotificationWithAction(injector, nsAlarm) rxBus.send(EventNewNotification(notification)) } - rxBus.send(EventNSClientNewLog("ALARM", safeGetString(alarm, "message", "received"))) + rxBus.send(EventNSClientNewLog("ALARM", safeGetString(alarm, "message", "received"), NsClient.Version.V1)) aapsLogger.debug(LTag.NSCLIENT, alarm.toString()) } } @@ -650,7 +666,7 @@ class NSClientService : DaggerService() { val notification: Notification = NotificationWithAction(injector, nsAlarm) rxBus.send(EventNewNotification(notification)) } - rxBus.send(EventNSClientNewLog("URGENTALARM", safeGetString(alarm, "message", "received"))) + rxBus.send(EventNSClientNewLog("URGENTALARM", safeGetString(alarm, "message", "received"), NsClient.Version.V1)) aapsLogger.debug(LTag.NSCLIENT, alarm.toString()) } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt new file mode 100644 index 0000000000..3aeed76751 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -0,0 +1,316 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3 + +import android.content.Context +import android.os.Handler +import android.os.HandlerThread +import android.text.Spanned +import androidx.preference.PreferenceFragmentCompat +import androidx.preference.PreferenceScreen +import androidx.preference.SwitchPreference +import androidx.work.ExistingWorkPolicy +import androidx.work.OneTimeWorkRequest +import androidx.work.WorkInfo +import androidx.work.WorkManager +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.events.EventPreferenceChange +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientResend +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.androidaps.plugins.sync.nsclient.NsClientReceiverDelegate +import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadBgWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadLastModificationWorker +import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadStatusWorker +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventChargingState +import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.NSAndroidClientImpl +import info.nightscout.sdk.interfaces.NSAndroidClient +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.shared.sharedPreferences.SP +import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.Json +import javax.inject.Inject +import javax.inject.Singleton +import kotlin.math.max + +@Singleton +class NSClientV3Plugin @Inject constructor( + injector: HasAndroidInjector, + aapsLogger: AAPSLogger, + private val aapsSchedulers: AapsSchedulers, + private val rxBus: RxBus, + rh: ResourceHelper, + private val context: Context, + private val fabricPrivacy: FabricPrivacy, + private val sp: SP, + private val nsClientReceiverDelegate: NsClientReceiverDelegate, + private val config: Config, + private val buildHelper: BuildHelper, + private val dateUtil: DateUtil +) : NsClient, Sync, PluginBase( + PluginDescription() + .mainType(PluginType.SYNC) + .fragmentClass(NSClientFragment::class.java.name) + .pluginIcon(R.drawable.ic_nightscout_syncs) + .pluginName(R.string.nsclientv3) + .shortName(R.string.nsclientv3_shortname) + .preferencesId(R.xml.pref_nsclientinternal) + .description(R.string.description_ns_client_v3), + aapsLogger, rh, injector +) { + + companion object { + + val JOB_NAME: String = this::class.java.simpleName + } + + private val disposable = CompositeDisposable() + private val handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) + private val listLog: MutableList = ArrayList() + override var status = "" + override val nsClientService: NSClientService? = null // service not needed + + internal lateinit var nsAndroidClient: NSAndroidClient +// private lateinit var nsAndroidRxClient: NSAndroidRxClient + + val isAllowed: Boolean + get() = nsClientReceiverDelegate.allowed + val blockingReason: String + get() = nsClientReceiverDelegate.blockingReason + + private val maxAge = T.days(77).msecs() + internal var lastModified: LastModified? = null // timestamp of last modification for every collection + internal var lastFetched = + LastModified( + LastModified.Collections( + dateUtil.now() - maxAge, + dateUtil.now() - maxAge, + dateUtil.now() - maxAge, + dateUtil.now() - maxAge + ) + ) // timestamp of last fetched data for every collection + + override fun onStart() { +// context.bindService(Intent(context, NSClientService::class.java), mConnection, Context.BIND_AUTO_CREATE) + super.onStart() + + lastFetched = Json.decodeFromString( + sp.getString( + R.string.key_nsclientv2_lastmodified, + Json.encodeToString( + LastModified.serializer(), + LastModified(LastModified.Collections(dateUtil.now() - maxAge, dateUtil.now() - maxAge, dateUtil.now() - maxAge, dateUtil.now() - maxAge)) + ) + ) + ) + lastFetched.collections.entries = max(dateUtil.now() - maxAge, lastFetched.collections.entries) + lastFetched.collections.treatments = max(dateUtil.now() - maxAge, lastFetched.collections.treatments) + lastFetched.collections.profile = max(dateUtil.now() - maxAge, lastFetched.collections.profile) + lastFetched.collections.devicestatus = max(dateUtil.now() - maxAge, lastFetched.collections.devicestatus) + + nsAndroidClient = NSAndroidClientImpl( + baseUrl = sp.getString(R.string.key_nsclientinternal_url, "").lowercase().replace("https://", ""), + accessToken = sp.getString(R.string.key_nsclient_token, ""), + context = context, + logging = true + ) + + nsClientReceiverDelegate.grabReceiversState() + disposable += rxBus + .toObservable(EventNSClientStatus::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ event -> + if (event.version == NsClient.Version.V3) { + status = event.getStatus(rh) + rxBus.send(EventNSClientUpdateGUI()) + } + }, fabricPrivacy::logException) + disposable += rxBus + .toObservable(EventNetworkChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ ev -> nsClientReceiverDelegate.onStatusEvent(ev) }, fabricPrivacy::logException) + disposable += rxBus + .toObservable(EventPreferenceChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ ev -> nsClientReceiverDelegate.onStatusEvent(ev) }, fabricPrivacy::logException) + // disposable += rxBus + // .toObservable(EventAppExit::class.java) + // .observeOn(aapsSchedulers.io) + // .subscribe({ if (nsClientService != null) context.unbindService(mConnection) }, fabricPrivacy::logException) + disposable += rxBus + .toObservable(EventNSClientNewLog::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ event -> + if (event.version != NsClient.Version.V3) return@subscribe + addToLog(event) + aapsLogger.debug(LTag.NSCLIENT, event.action + " " + event.logText) + }, fabricPrivacy::logException) + disposable += rxBus + .toObservable(EventChargingState::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ ev -> nsClientReceiverDelegate.onStatusEvent(ev) }, fabricPrivacy::logException) + disposable += rxBus + .toObservable(EventNSClientResend::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ event -> resend(event.reason) }, fabricPrivacy::logException) + } + + override fun onStop() { + // context.applicationContext.unbindService(mConnection) + disposable.clear() + super.onStop() + } + + override fun preprocessPreferences(preferenceFragment: PreferenceFragmentCompat) { + super.preprocessPreferences(preferenceFragment) + if (config.NSCLIENT) { + preferenceFragment.findPreference(rh.gs(R.string.ns_sync_options))?.isVisible = false + + preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_errors))?.isVisible = false + preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_carbs_req))?.isVisible = false + } + preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = buildHelper.isEngineeringMode() + } + + override val hasWritePermission: Boolean get() = nsClientService?.hasWriteAuth ?: false + override val connected: Boolean get() = nsClientService?.isConnected ?: false + + override fun clearLog() { + handler.post { + synchronized(listLog) { listLog.clear() } + rxBus.send(EventNSClientUpdateGUI()) + } + } + + private fun addToLog(ev: EventNSClientNewLog) { + synchronized(listLog) { + listLog.add(ev) + // remove the first line if log is too large + if (listLog.size >= Constants.MAX_LOG_LINES) { + listLog.removeAt(0) + } + } + rxBus.send(EventNSClientUpdateGUI()) + } + + override fun textLog(): Spanned { + try { + val newTextLog = StringBuilder() + synchronized(listLog) { + for (log in listLog) newTextLog.append(log.toPreparedHtml()) + } + return HtmlHelper.fromHtml(newTextLog.toString()) + } catch (e: OutOfMemoryError) { + ToastUtils.showToastInUiThread(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) + } + return HtmlHelper.fromHtml("") + } + + override fun resend(reason: String) { + nsClientService?.resend(reason) + } + + override fun pause(newState: Boolean) { + sp.putBoolean(R.string.key_nsclientinternal_paused, newState) + rxBus.send(EventPreferenceChange(rh, R.string.key_nsclientinternal_paused)) + } + + override val version: NsClient.Version + get() = NsClient.Version.V3 + + override val address: String get() = sp.getString(R.string.key_nsclientinternal_url, "") + + fun handleClearAlarm(originalAlarm: NSAlarm, silenceTimeInMilliseconds: Long) { + if (!isEnabled()) return + if (!sp.getBoolean(R.string.key_ns_upload, true)) { + aapsLogger.debug(LTag.NSCLIENT, "Upload disabled. Message dropped") + return + } + nsClientService?.sendAlarmAck( + AlarmAck().also { ack -> + ack.level = originalAlarm.level() + ack.group = originalAlarm.group() + ack.silenceTime = silenceTimeInMilliseconds + }) + } + + override fun updateLatestBgReceivedIfNewer(latestReceived: Long) { + if (latestReceived > lastFetched.collections.entries) { + lastFetched.collections.entries = latestReceived + storeLastFetched() + } + } + + override fun updateLatestTreatmentReceivedIfNewer(latestReceived: Long) { + lastFetched.collections.treatments = latestReceived + storeLastFetched() + } + + override fun resetToFullSync() { + lastFetched = LastModified( + LastModified.Collections( + dateUtil.now() - maxAge, + dateUtil.now() - maxAge, + dateUtil.now() - maxAge, + dateUtil.now() - maxAge + ) + ) + storeLastFetched() + } + + private fun storeLastFetched() { + sp.putString(R.string.key_nsclientv2_lastmodified, Json.encodeToString(LastModified.serializer(), lastFetched)) + } + + fun test() { + if (workIsRunning(arrayOf(JOB_NAME))) + rxBus.send(EventNSClientNewLog("RUN", "Already running", NsClient.Version.V3)) + else { + rxBus.send(EventNSClientNewLog("RUN", "Starting next round", NsClient.Version.V3)) + WorkManager.getInstance(context) + .beginUniqueWork( + "NSCv3Load", + ExistingWorkPolicy.REPLACE, + OneTimeWorkRequest.Builder(LoadStatusWorker::class.java).build() + ) + .then(OneTimeWorkRequest.Builder(LoadLastModificationWorker::class.java).build()) + .then(OneTimeWorkRequest.Builder(LoadBgWorker::class.java).build()) + // LoadTreatmentsWorker is enqueued after BG finish + //.then(OneTimeWorkRequest.Builder(LoadTreatmentsWorker::class.java).build()) + .enqueue() + } + } + + private fun workIsRunning(workNames: Array): Boolean { + for (workName in workNames) + for (workInfo in WorkManager.getInstance(context).getWorkInfosForUniqueWork(workName).get()) + if (workInfo.state == WorkInfo.State.BLOCKED || workInfo.state == WorkInfo.State.ENQUEUED || workInfo.state == WorkInfo.State.RUNNING) + return true + return false + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt new file mode 100644 index 0000000000..ddc6d88c84 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt @@ -0,0 +1,19 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import com.google.gson.Gson +import com.google.gson.JsonSyntaxException +import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.sdk.localmodel.treatment.NSBolusWizard + +fun NSBolusWizard.toBolusCalculatorResult(): BolusCalculatorResult? = + try { + Gson().fromJson(bolusCalculatorResult, BolusCalculatorResult::class.java) + .also { + it.id = 0 + it.isValid = isValid + it.interfaceIDs.nightscoutId = identifier + it.version = 0 + } + } catch (e: JsonSyntaxException) { + null + } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt new file mode 100644 index 0000000000..10f41e9343 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt @@ -0,0 +1,24 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.sdk.localmodel.treatment.NSBolus + +fun NSBolus.toBolus(): Bolus = + Bolus( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + amount = insulin, + type = type.toBolusType(), + notes = notes, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) + +fun NSBolus.BolusType?.toBolusType(): Bolus.Type = + when (this) { + NSBolus.BolusType.NORMAL -> Bolus.Type.NORMAL + NSBolus.BolusType.SMB -> Bolus.Type.SMB + NSBolus.BolusType.PRIMING -> Bolus.Type.PRIMING + null -> Bolus.Type.NORMAL + } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt new file mode 100644 index 0000000000..3c85c8de41 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt @@ -0,0 +1,16 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.sdk.localmodel.treatment.NSCarbs + +fun NSCarbs.toCarbs(): Carbs = + Carbs( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + amount = carbs, + notes = notes, + duration = duration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt new file mode 100644 index 0000000000..a022d65380 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt @@ -0,0 +1,33 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.plugins.sync.nsclient.extensions.fromConstant +import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch + +fun NSEffectiveProfileSwitch.toEffectiveProfileSwitch(dateUtil: DateUtil): EffectiveProfileSwitch? { + val pureProfile = pureProfileFromJson(profileJson, dateUtil) ?: return null + val profileSealed = ProfileSealed.Pure(pureProfile) + + return EffectiveProfileSwitch( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + basalBlocks = profileSealed.basalBlocks, + isfBlocks = profileSealed.isfBlocks, + icBlocks = profileSealed.icBlocks, + targetBlocks = profileSealed.targetBlocks, + glucoseUnit = EffectiveProfileSwitch.GlucoseUnit.fromConstant(profileSealed.units), + originalProfileName = originalProfileName, + originalCustomizedName = originalCustomizedName, + originalTimeshift = originalTimeshift, + originalPercentage = originalPercentage, + originalDuration = originalDuration, + originalEnd = originalEnd, + insulinConfiguration = profileSealed.insulinConfiguration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt new file mode 100644 index 0000000000..41966b4ccb --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt @@ -0,0 +1,16 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.sdk.localmodel.treatment.NSExtendedBolus + +fun NSExtendedBolus.toExtendedBolus(): ExtendedBolus = + ExtendedBolus( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + amount = enteredinsulin, + duration = duration, + isEmulatingTempBasal = isEmulatingTempbasal, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt new file mode 100644 index 0000000000..d237881d43 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt @@ -0,0 +1,25 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.sdk.localmodel.treatment.NSOfflineEvent + +fun NSOfflineEvent.toOfflineEvent(): OfflineEvent = + OfflineEvent( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + duration = duration, + reason = reason.toReason(), + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) + +fun NSOfflineEvent.Reason?.toReason(): OfflineEvent.Reason = + when (this) { + NSOfflineEvent.Reason.DISCONNECT_PUMP -> OfflineEvent.Reason.DISCONNECT_PUMP + NSOfflineEvent.Reason.SUSPEND -> OfflineEvent.Reason.SUSPEND + NSOfflineEvent.Reason.DISABLE_LOOP -> OfflineEvent.Reason.DISABLE_LOOP + NSOfflineEvent.Reason.SUPER_BOLUS -> OfflineEvent.Reason.SUPER_BOLUS + NSOfflineEvent.Reason.OTHER -> OfflineEvent.Reason.OTHER + null -> OfflineEvent.Reason.OTHER + } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt new file mode 100644 index 0000000000..46652e8598 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -0,0 +1,36 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.fromConstant +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch + +fun NSProfileSwitch.toProfileSwitch(activePlugin: ActivePlugin, dateUtil: DateUtil): ProfileSwitch? { + val pureProfile = + profileJson?.let { pureProfileFromJson(it, dateUtil) ?: return null } + ?: activePlugin.activeProfileSource.profile?.getSpecificProfile(profileName) ?: return null + + val profileSealed = ProfileSealed.Pure(pureProfile) + + return ProfileSwitch( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + basalBlocks = profileSealed.basalBlocks, + isfBlocks = profileSealed.isfBlocks, + icBlocks = profileSealed.icBlocks, + targetBlocks = profileSealed.targetBlocks, + glucoseUnit = ProfileSwitch.GlucoseUnit.fromConstant(profileSealed.units), + profileName = originalProfileName ?: profileName, + timeshift = timeShift ?: 0, + percentage = percentage ?: 100, + duration = originalDuration ?: T.mins(duration ?: 0).msecs(), + insulinConfiguration = profileSealed.insulinConfiguration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt new file mode 100644 index 0000000000..8735c78443 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt @@ -0,0 +1,27 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal + +fun NSTemporaryBasal.toTemporaryBasal(): TemporaryBasal = + TemporaryBasal( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + type = type.toType(), + rate = rate, + isAbsolute = isAbsolute, + duration = duration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) + +fun NSTemporaryBasal.Type?.toType(): TemporaryBasal.Type = + when (this) { + NSTemporaryBasal.Type.NORMAL -> TemporaryBasal.Type.NORMAL + NSTemporaryBasal.Type.EMULATED_PUMP_SUSPEND -> TemporaryBasal.Type.EMULATED_PUMP_SUSPEND + NSTemporaryBasal.Type.PUMP_SUSPEND -> TemporaryBasal.Type.PUMP_SUSPEND + NSTemporaryBasal.Type.SUPERBOLUS -> TemporaryBasal.Type.SUPERBOLUS + NSTemporaryBasal.Type.FAKE_EXTENDED -> TemporaryBasal.Type.FAKE_EXTENDED + null -> TemporaryBasal.Type.NORMAL + } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt new file mode 100644 index 0000000000..22d1d62038 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt @@ -0,0 +1,28 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget + +fun NSTemporaryTarget.toTemporaryTarget(): TemporaryTarget = + TemporaryTarget( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + reason = reason.toReason(), + highTarget = targetTop.asMgdl(), + lowTarget = targetBottom.asMgdl(), + duration = duration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) + +fun NSTemporaryTarget.Reason?.toReason(): TemporaryTarget.Reason = + when (this) { + NSTemporaryTarget.Reason.CUSTOM -> TemporaryTarget.Reason.CUSTOM + NSTemporaryTarget.Reason.HYPOGLYCEMIA -> TemporaryTarget.Reason.HYPOGLYCEMIA + NSTemporaryTarget.Reason.ACTIVITY -> TemporaryTarget.Reason.ACTIVITY + NSTemporaryTarget.Reason.EATING_SOON -> TemporaryTarget.Reason.EATING_SOON + NSTemporaryTarget.Reason.AUTOMATION -> TemporaryTarget.Reason.AUTOMATION + NSTemporaryTarget.Reason.WEAR -> TemporaryTarget.Reason.WEAR + null -> TemporaryTarget.Reason.CUSTOM + } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt new file mode 100644 index 0000000000..4226fe79b8 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt @@ -0,0 +1,68 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.sdk.localmodel.entry.NsUnits +import info.nightscout.sdk.localmodel.treatment.EventType +import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent + +fun NSTherapyEvent.toTherapyEvent(): TherapyEvent = + TherapyEvent( + isValid = isValid, + timestamp = date, + utcOffset = utcOffset, + glucoseUnit = units.toUnits(), + type = eventType.toType(), + note = notes, + enteredBy = enteredBy, + glucose = glucose, + glucoseType = glucoseType.toMeterType(), + duration = duration, + interfaceIDs_backing = InterfaceIDs(nightscoutId = identifier, pumpId = pumpId, pumpType = InterfaceIDs.PumpType.fromString(pumpType), pumpSerial = pumpSerial, endId = endId) + ) + +fun EventType.toType(): TherapyEvent.Type = + when (this) { + EventType.CANNULA_CHANGE -> TherapyEvent.Type.CANNULA_CHANGE + EventType.INSULIN_CHANGE -> TherapyEvent.Type.INSULIN_CHANGE + EventType.PUMP_BATTERY_CHANGE -> TherapyEvent.Type.PUMP_BATTERY_CHANGE + EventType.SENSOR_CHANGE -> TherapyEvent.Type.SENSOR_CHANGE + EventType.SENSOR_STARTED -> TherapyEvent.Type.SENSOR_STARTED + EventType.SENSOR_STOPPED -> TherapyEvent.Type.SENSOR_STOPPED + EventType.FINGER_STICK_BG_VALUE -> TherapyEvent.Type.FINGER_STICK_BG_VALUE + EventType.EXERCISE -> TherapyEvent.Type.EXERCISE + EventType.ANNOUNCEMENT -> TherapyEvent.Type.ANNOUNCEMENT + EventType.QUESTION -> TherapyEvent.Type.QUESTION + EventType.NOTE -> TherapyEvent.Type.NOTE + EventType.APS_OFFLINE -> TherapyEvent.Type.APS_OFFLINE + EventType.DAD_ALERT -> TherapyEvent.Type.DAD_ALERT + EventType.NS_MBG -> TherapyEvent.Type.NS_MBG + EventType.CARBS_CORRECTION -> TherapyEvent.Type.CARBS_CORRECTION + EventType.BOLUS_WIZARD -> TherapyEvent.Type.BOLUS_WIZARD + EventType.CORRECTION_BOLUS -> TherapyEvent.Type.CORRECTION_BOLUS + EventType.MEAL_BOLUS -> TherapyEvent.Type.MEAL_BOLUS + EventType.COMBO_BOLUS -> TherapyEvent.Type.COMBO_BOLUS + EventType.TEMPORARY_TARGET -> TherapyEvent.Type.TEMPORARY_TARGET + EventType.TEMPORARY_TARGET_CANCEL -> TherapyEvent.Type.TEMPORARY_TARGET_CANCEL + EventType.PROFILE_SWITCH -> TherapyEvent.Type.PROFILE_SWITCH + EventType.SNACK_BOLUS -> TherapyEvent.Type.SNACK_BOLUS + EventType.TEMPORARY_BASAL -> TherapyEvent.Type.TEMPORARY_BASAL + EventType.TEMPORARY_BASAL_START -> TherapyEvent.Type.TEMPORARY_BASAL_START + EventType.TEMPORARY_BASAL_END -> TherapyEvent.Type.TEMPORARY_BASAL_END + EventType.NONE -> TherapyEvent.Type.NONE + } + +fun NSTherapyEvent.MeterType?.toMeterType(): TherapyEvent.MeterType = + when (this) { + NSTherapyEvent.MeterType.FINGER -> TherapyEvent.MeterType.FINGER + NSTherapyEvent.MeterType.SENSOR -> TherapyEvent.MeterType.SENSOR + NSTherapyEvent.MeterType.MANUAL -> TherapyEvent.MeterType.MANUAL + null -> TherapyEvent.MeterType.MANUAL + } + +fun NsUnits?.toUnits(): TherapyEvent.GlucoseUnit = + when (this) { + NsUnits.MG_DL -> TherapyEvent.GlucoseUnit.MGDL + NsUnits.MMOL_L -> TherapyEvent.GlucoseUnit.MMOL + null -> TherapyEvent.GlucoseUnit.MGDL + } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt new file mode 100644 index 0000000000..070be71a8a --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -0,0 +1,100 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.ExistingWorkPolicy +import androidx.work.OneTimeWorkRequest +import androidx.work.WorkManager +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.sharedPreferences.SP +import kotlinx.coroutines.runBlocking +import javax.inject.Inject + +class LoadBgWorker( + context: Context, params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var dataWorkerStorage: DataWorkerStorage + @Inject lateinit var rxBus: RxBus + @Inject lateinit var sp: SP + @Inject lateinit var context: Context + @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin + + companion object { + + val JOB_NAME: String = this::class.java.simpleName + } + + override fun doWork(): Result { + var ret = Result.success() + + runBlocking { + if ((nsClientV3Plugin.lastModified?.collections?.entries ?: Long.MAX_VALUE) > nsClientV3Plugin.lastFetched.collections.entries) + try { + //val sgvs = nsClientV3Plugin.nsAndroidClient.getSgvsModifiedSince(nsClientV3Plugin.lastFetched.collections.entries) + val sgvs = nsClientV3Plugin.nsAndroidClient.getSgvsNewerThan(nsClientV3Plugin.lastFetched.collections.entries, 500) + aapsLogger.debug("SGVS: $sgvs") + if (sgvs.isNotEmpty()) { + rxBus.send( + EventNSClientNewLog( + "RCV", + "${sgvs.size} SVGs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.entries)}", + NsClient.Version.V3 + ) + ) + // Objective0 + sp.putBoolean(R.string.key_ObjectivesbgIsAvailableInNS, true) + // Schedule processing of fetched data and continue of loading + WorkManager.getInstance(context).beginUniqueWork( + JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(NSClientSourcePlugin.NSClientSourceWorker::class.java).setInputData(dataWorkerStorage.storeInputData(sgvs)).build() + ).then(OneTimeWorkRequest.Builder(LoadBgWorker::class.java).build()).enqueue() + } else { + rxBus.send(EventNSClientNewLog("END", "No SGVs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.entries)}", NsClient.Version.V3)) + WorkManager.getInstance(context) + .beginUniqueWork( + NSClientV3Plugin.JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(StoreDataForDb.StoreBgWorker::class.java).build() + ) + .then(OneTimeWorkRequest.Builder(LoadTreatmentsWorker::class.java).build()) + .enqueue() + } + } catch (error: Exception) { + aapsLogger.error("Error: ", error) + ret = Result.failure(workDataOf("Error" to error.toString())) + } + else { + rxBus.send(EventNSClientNewLog("END", "No new SGVs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.entries)}", NsClient.Version.V3)) + WorkManager.getInstance(context) + .beginUniqueWork( + NSClientV3Plugin.JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(StoreDataForDb.StoreBgWorker::class.java).build() + ) + .then(OneTimeWorkRequest.Builder(LoadTreatmentsWorker::class.java).build()) + .enqueue() + } + } + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt new file mode 100644 index 0000000000..2f07cb139c --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt @@ -0,0 +1,58 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandler +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import kotlinx.coroutines.runBlocking +import javax.inject.Inject + +class LoadDeviceStatusWorker( + context: Context, + params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var dataWorkerStorage: DataWorkerStorage + @Inject lateinit var rxBus: RxBus + @Inject lateinit var context: Context + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin + @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var nsDeviceStatusHandler: NSDeviceStatusHandler + + override fun doWork(): Result { + var ret = Result.success() + + runBlocking { + try { + val from = dateUtil.now() - T.mins(7).msecs() + val deviceStatuses = nsClientV3Plugin.nsAndroidClient.getDeviceStatusModifiedSince(from) + aapsLogger.debug("DEVICESTATUSES: $deviceStatuses") + if (deviceStatuses.isNotEmpty()) { + rxBus.send(EventNSClientNewLog("RCV", "${deviceStatuses.size} DSs from ${dateUtil.dateAndTimeAndSecondsString(from)}", NsClient.Version.V3)) + nsDeviceStatusHandler.handleNewData(deviceStatuses.toTypedArray(), NsClient.Version.V3) + } else { + rxBus.send(EventNSClientNewLog("END", "No DSs from ${dateUtil.dateAndTimeAndSecondsString(from)}", NsClient.Version.V3)) + } + } catch (error: Exception) { + aapsLogger.error("Error: ", error) + ret = Result.failure(workDataOf("Error" to error.toString())) + } + } + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt new file mode 100644 index 0000000000..62162e7367 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt @@ -0,0 +1,39 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.rx.logging.AAPSLogger +import kotlinx.coroutines.runBlocking +import javax.inject.Inject + +class LoadLastModificationWorker( + context: Context, params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin + + override fun doWork(): Result { + var ret = Result.success() + + runBlocking { + try { + val lm = nsClientV3Plugin.nsAndroidClient.getLastModified() + nsClientV3Plugin.lastModified = lm + aapsLogger.debug("LAST MODIFIED: ${nsClientV3Plugin.lastModified}") + } catch (error: Exception) { + aapsLogger.error("Error: ", error) + ret = Result.failure(workDataOf("Error" to error.toString())) + } + } + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt new file mode 100644 index 0000000000..bdebb19219 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt @@ -0,0 +1,38 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.rx.logging.AAPSLogger +import kotlinx.coroutines.runBlocking +import javax.inject.Inject + +class LoadStatusWorker( + context: Context, params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin + + override fun doWork(): Result { + var ret = Result.success() + + runBlocking { + try { + val status = nsClientV3Plugin.nsAndroidClient.getStatus() + aapsLogger.debug("STATUS: $status") + } catch (error: Exception) { + aapsLogger.error("Error: ", error) + ret = Result.failure(workDataOf("Error" to error.toString())) + } + } + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt new file mode 100644 index 0000000000..e7b98e3355 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt @@ -0,0 +1,97 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.ExistingWorkPolicy +import androidx.work.OneTimeWorkRequest +import androidx.work.WorkManager +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import kotlinx.coroutines.runBlocking +import javax.inject.Inject + +class LoadTreatmentsWorker( + context: Context, + params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var dataWorkerStorage: DataWorkerStorage + @Inject lateinit var rxBus: RxBus + @Inject lateinit var context: Context + @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin + @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var storeDataForDb: StoreDataForDb + + override fun doWork(): Result { + var ret = Result.success() + + runBlocking { + if ((nsClientV3Plugin.lastModified?.collections?.treatments ?: Long.MAX_VALUE) > nsClientV3Plugin.lastFetched.collections.treatments) + try { + val treatments = nsClientV3Plugin.nsAndroidClient.getTreatmentsModifiedSince(nsClientV3Plugin.lastFetched.collections.treatments, 500) + aapsLogger.debug("TREATMENTS: $treatments") + if (treatments.isNotEmpty()) { + rxBus.send( + EventNSClientNewLog( + "RCV", + "${treatments.size} TRs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.treatments)}", + NsClient.Version.V3 + ) + ) + // Schedule processing of fetched data and continue of loading + WorkManager.getInstance(context) + .beginUniqueWork( + NSClientV3Plugin.JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(ProcessTreatmentsWorker::class.java) + .setInputData(dataWorkerStorage.storeInputData(treatments)) + .build() + ).then(OneTimeWorkRequest.Builder(LoadTreatmentsWorker::class.java).build()) + .enqueue() + } else { + rxBus.send( + EventNSClientNewLog( + "END", "No TRs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.treatments)}", + NsClient.Version.V3 + ) + ) + storeDataForDb.storeTreatmentsToDb() + WorkManager.getInstance(context) + .enqueueUniqueWork( + NSClientV3Plugin.JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(LoadDeviceStatusWorker::class.java).build() + ) + } + } catch (error: Exception) { + aapsLogger.error("Error: ", error) + ret = Result.failure(workDataOf("Error" to error.toString())) + } + else { + rxBus.send(EventNSClientNewLog("END", "No new TRs from ${dateUtil.dateAndTimeAndSecondsString(nsClientV3Plugin.lastFetched.collections.treatments)}", NsClient.Version.V3)) + storeDataForDb.storeTreatmentsToDb() + WorkManager.getInstance(context) + .enqueueUniqueWork( + NSClientV3Plugin.JOB_NAME, + ExistingWorkPolicy.APPEND_OR_REPLACE, + OneTimeWorkRequest.Builder(LoadDeviceStatusWorker::class.java).build() + ) + } + } + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt new file mode 100644 index 0000000000..e1c48c4eb7 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -0,0 +1,158 @@ +package info.nightscout.androidaps.plugins.sync.nsclientV3.workers + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import androidx.work.workDataOf +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.R +import info.nightscout.androidaps.database.AppRepository +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toBolus +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toBolusCalculatorResult +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toCarbs +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toEffectiveProfileSwitch +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toExtendedBolus +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toOfflineEvent +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toProfileSwitch +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporaryBasal +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporaryTarget +import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTherapyEvent +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.sdk.localmodel.treatment.NSBolus +import info.nightscout.sdk.localmodel.treatment.NSBolusWizard +import info.nightscout.sdk.localmodel.treatment.NSCarbs +import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSExtendedBolus +import info.nightscout.sdk.localmodel.treatment.NSOfflineEvent +import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal +import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget +import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject + +class ProcessTreatmentsWorker( + context: Context, + params: WorkerParameters +) : Worker(context, params) { + + @Inject lateinit var dataWorkerStorage: DataWorkerStorage + @Inject lateinit var aapsLogger: AAPSLogger + @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var sp: SP + @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var config: Config + @Inject lateinit var repository: AppRepository + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var rxBus: RxBus + @Inject lateinit var uel: UserEntryLogger + @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin + @Inject lateinit var xDripBroadcast: XDripBroadcast + @Inject lateinit var storeDataForDb: StoreDataForDb + + override fun doWork(): Result { + @Suppress("UNCHECKED_CAST") + val treatments = dataWorkerStorage.pickupObject(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) as List? + ?: return Result.failure(workDataOf("Error" to "missing input data")) + + val ret = Result.success() + var latestDateInReceivedData = 0L + + for (treatment in treatments) { + aapsLogger.debug(LTag.DATABASE, "Received NS treatment: $treatment") + + //Find latest date in treatment + val mills = treatment.date + if (mills != 0L && mills < dateUtil.now()) + if (mills > latestDateInReceivedData) latestDateInReceivedData = mills + + when (treatment) { + is NSBolus -> + if (sp.getBoolean(R.string.key_ns_receive_insulin, false) || config.NSCLIENT) + storeDataForDb.boluses.add(treatment.toBolus()) + + is NSCarbs -> + if (sp.getBoolean(R.string.key_ns_receive_carbs, false) || config.NSCLIENT) + storeDataForDb.carbs.add(treatment.toCarbs()) + + is NSTemporaryTarget -> + if (sp.getBoolean(R.string.key_ns_receive_temp_target, false) || config.NSCLIENT) { + if (treatment.duration > 0L) { + // not ending event + if (treatment.targetBottomAsMgdl() < Constants.MIN_TT_MGDL + || treatment.targetBottomAsMgdl() > Constants.MAX_TT_MGDL + || treatment.targetTopAsMgdl() < Constants.MIN_TT_MGDL + || treatment.targetTopAsMgdl() > Constants.MAX_TT_MGDL + || treatment.targetBottomAsMgdl() > treatment.targetTopAsMgdl() + ) { + aapsLogger.debug(LTag.DATABASE, "Ignored TemporaryTarget $treatment") + continue + } + } + storeDataForDb.temporaryTargets.add(treatment.toTemporaryTarget()) + } + + is NSTemporaryBasal -> + if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) + storeDataForDb.temporaryBasals.add(treatment.toTemporaryBasal()) + + is NSEffectiveProfileSwitch -> + if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { + treatment.toEffectiveProfileSwitch(dateUtil)?.let { effectiveProfileSwitch -> + storeDataForDb.effectiveProfileSwitches.add(effectiveProfileSwitch) + } + } + + is NSProfileSwitch -> + if (sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || config.NSCLIENT) { + treatment.toProfileSwitch(activePlugin, dateUtil)?.let { profileSwitch -> + storeDataForDb.profileSwitches.add(profileSwitch) + } + } + + is NSBolusWizard -> + treatment.toBolusCalculatorResult()?.let { bolusCalculatorResult -> + storeDataForDb.bolusCalculatorResults.add(bolusCalculatorResult) + } + + is NSTherapyEvent -> + if (sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || config.NSCLIENT) + treatment.toTherapyEvent().let { therapyEvent -> + storeDataForDb.therapyEvents.add(therapyEvent) + } + + is NSOfflineEvent -> + if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && buildHelper.isEngineeringMode() || config.NSCLIENT) + treatment.toOfflineEvent().let { offlineEvent -> + storeDataForDb.offlineEvents.add(offlineEvent) + } + + is NSExtendedBolus -> + if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) + treatment.toExtendedBolus().let { extendedBolus -> + storeDataForDb.extendedBoluses.add(extendedBolus) + } + } + } + activePlugin.activeNsClient?.updateLatestTreatmentReceivedIfNewer(latestDateInReceivedData) +// xDripBroadcast.sendTreatments(treatments) + return ret + } + + init { + (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt similarity index 78% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt index a757b6e6a8..4d13020853 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool +package info.nightscout.androidaps.plugins.sync.tidepool import android.os.Bundle import android.view.LayoutInflater @@ -8,10 +8,10 @@ import android.widget.ScrollView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.TidepoolFragmentBinding -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolUpdateGUI +import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolUpdateGUI import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -57,13 +57,13 @@ class TidepoolFragment : DaggerFragment() { .toObservable(EventTidepoolUpdateGUI::class.java) .observeOn(aapsSchedulers.main) .subscribe({ - if (_binding == null) return@subscribe - tidepoolPlugin.updateLog() - binding.log.text = tidepoolPlugin.textLog - binding.status.text = tidepoolUploader.connectionStatus.name - binding.log.text = tidepoolPlugin.textLog - binding.logscrollview.fullScroll(ScrollView.FOCUS_DOWN) - }, fabricPrivacy::logException) + if (_binding == null) return@subscribe + tidepoolPlugin.updateLog() + binding.log.text = tidepoolPlugin.textLog + binding.status.text = tidepoolUploader.connectionStatus.name + binding.log.text = tidepoolPlugin.textLog + binding.logscrollview.fullScroll(ScrollView.FOCUS_DOWN) + }, fabricPrivacy::logException) } @Synchronized diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt similarity index 62% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt index 5af4f7a711..74b342cb94 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt @@ -1,32 +1,31 @@ -package info.nightscout.androidaps.plugins.general.tidepool +package info.nightscout.androidaps.plugins.sync.tidepool import android.content.Context import android.text.Spanned import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader.ConnectionStatus.CONNECTED -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader.ConnectionStatus.DISCONNECTED -import info.nightscout.androidaps.plugins.general.tidepool.comm.UploadChunk +import info.nightscout.androidaps.interfaces.Sync import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolUpdateGUI -import info.nightscout.androidaps.plugins.general.tidepool.utils.RateLimit +import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.androidaps.plugins.sync.tidepool.comm.UploadChunk +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolUpdateGUI +import info.nightscout.androidaps.plugins.sync.tidepool.utils.RateLimit import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNetworkChange @@ -52,14 +51,14 @@ class TidepoolPlugin @Inject constructor( private val sp: SP, private val rateLimit: RateLimit, private val receiverStatusStore: ReceiverStatusStore -) : PluginBase( +) : Sync, PluginBase( PluginDescription() - .mainType(PluginType.GENERAL) - .pluginName(R.string.tidepool) - .shortName(R.string.tidepool_shortname) - .fragmentClass(TidepoolFragment::class.qualifiedName) - .preferencesId(R.xml.pref_tidepool) - .description(R.string.description_tidepool), + .mainType(PluginType.SYNC) + .pluginName(R.string.tidepool) + .shortName(R.string.tidepool_shortname) + .fragmentClass(TidepoolFragment::class.qualifiedName) + .preferencesId(R.xml.pref_tidepool) + .description(R.string.description_tidepool), aapsLogger, rh, injector ) { @@ -79,14 +78,14 @@ class TidepoolPlugin @Inject constructor( .toObservable(EventTidepoolResetData::class.java) .observeOn(aapsSchedulers.io) .subscribe({ - if (tidepoolUploader.connectionStatus != CONNECTED) { - aapsLogger.debug(LTag.TIDEPOOL, "Not connected for delete Dataset") - } else { - tidepoolUploader.deleteDataSet() - sp.putLong(R.string.key_tidepool_last_end, 0) - tidepoolUploader.doLogin() - } - }, fabricPrivacy::logException) + if (tidepoolUploader.connectionStatus != TidepoolUploader.ConnectionStatus.CONNECTED) { + aapsLogger.debug(LTag.TIDEPOOL, "Not connected for delete Dataset") + } else { + tidepoolUploader.deleteDataSet() + sp.putLong(R.string.key_tidepool_last_end, 0) + tidepoolUploader.doLogin() + } + }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventTidepoolStatus::class.java) .observeOn(aapsSchedulers.io) @@ -95,26 +94,27 @@ class TidepoolPlugin @Inject constructor( .toObservable(EventNewBG::class.java) .observeOn(aapsSchedulers.io) .filter { it.glucoseValue != null } // better would be optional in API level >24 - .map { it.glucoseValue } + .map { it.glucoseValue!! } .subscribe({ bgReading -> - if (bgReading!!.timestamp < uploadChunk.getLastEnd()) - uploadChunk.setLastEnd(bgReading.timestamp ) - if (isEnabled(PluginType.GENERAL) - && (!sp.getBoolean(R.string.key_tidepool_only_while_charging, false) || receiverStatusStore.isCharging) - && (!sp.getBoolean(R.string.key_tidepool_only_while_unmetered, false) || receiverStatusStore.isWifiConnected) - && rateLimit.rateLimit("tidepool-new-data-upload", T.mins(4).secs().toInt())) - doUpload() - }, fabricPrivacy::logException) + if (bgReading!!.timestamp < uploadChunk.getLastEnd()) + uploadChunk.setLastEnd(bgReading.timestamp) + if (isEnabled() + && (!sp.getBoolean(R.string.key_tidepool_only_while_charging, false) || receiverStatusStore.isCharging) + && (!sp.getBoolean(R.string.key_tidepool_only_while_unmetered, false) || receiverStatusStore.isWifiConnected) + && rateLimit.rateLimit("tidepool-new-data-upload", T.mins(4).secs().toInt()) + ) + doUpload() + }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event -> - if (event.isChanged(rh, R.string.key_tidepool_dev_servers) - || event.isChanged(rh, R.string.key_tidepool_username) - || event.isChanged(rh, R.string.key_tidepool_password) - ) - tidepoolUploader.resetInstance() - }, fabricPrivacy::logException) + if (event.isChanged(rh, R.string.key_tidepool_dev_servers) + || event.isChanged(rh, R.string.key_tidepool_username) + || event.isChanged(rh, R.string.key_tidepool_password) + ) + tidepoolUploader.resetInstance() + }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventNetworkChange::class.java) .observeOn(aapsSchedulers.io) @@ -141,10 +141,10 @@ class TidepoolPlugin @Inject constructor( private fun doUpload() = when (tidepoolUploader.connectionStatus) { - DISCONNECTED -> tidepoolUploader.doLogin(true) - CONNECTED -> tidepoolUploader.doUpload() + TidepoolUploader.ConnectionStatus.DISCONNECTED -> tidepoolUploader.doLogin(true) + TidepoolUploader.ConnectionStatus.CONNECTED -> tidepoolUploader.doUpload() - else -> { + else -> { } } @@ -175,4 +175,10 @@ class TidepoolPlugin @Inject constructor( } } + override val status: String + get() = tidepoolUploader.connectionStatus.name + override val hasWritePermission: Boolean + get() = tidepoolUploader.connectionStatus == TidepoolUploader.ConnectionStatus.CONNECTED + override val connected: Boolean + get() = tidepoolUploader.connectionStatus == TidepoolUploader.ConnectionStatus.CONNECTED } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt index 748d427d43..0f29e5233f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/InfoInterceptor.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/Session.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt similarity index 81% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/Session.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt index 5fb6b34605..6b3622851f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/Session.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.DatasetReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage import okhttp3.Headers class Session(val authHeader: String?, diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolApiService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolApiService.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt index 52adf539c5..f9c0491e81 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolApiService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.DatasetReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.UploadReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.UploadReplyMessage import okhttp3.RequestBody import retrofit2.Call import retrofit2.http.* diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt index 909c84291a..0e7334378b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolCallback.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -8,7 +8,8 @@ import retrofit2.Call import retrofit2.Callback import retrofit2.Response -internal class TidepoolCallback(private val aapsLogger: AAPSLogger, private val rxBus: RxBus, private val session: Session, val name: String, val onSuccess: () -> Unit, val onFail: () -> Unit) : Callback { +internal class TidepoolCallback(private val aapsLogger: AAPSLogger, private val rxBus: RxBus, private val session: Session, val name: String, val onSuccess: () -> Unit, val onFail: () -> Unit) : + Callback { override fun onResponse(call: Call, response: Response) { if (response.isSuccessful && response.body() != null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt similarity index 77% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt index 285dd766c9..54472b090a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/TidepoolUploader.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm import android.content.Context import android.os.PowerManager @@ -7,12 +7,12 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthRequestMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.DatasetReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.OpenDatasetRequestMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.UploadReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthRequestMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.OpenDatasetRequestMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.UploadReplyMessage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -111,9 +111,9 @@ class TidepoolUploader @Inject constructor( call?.enqueue(TidepoolCallback(aapsLogger, rxBus, session!!, "Login", { startSession(session!!, doUpload) }, { - connectionStatus = ConnectionStatus.FAILED - releaseWakeLock() - })) + connectionStatus = ConnectionStatus.FAILED + releaseWakeLock() + })) return } else { aapsLogger.debug(LTag.TIDEPOOL, "Cannot do login as user credentials have not been set correctly") @@ -132,8 +132,12 @@ class TidepoolUploader @Inject constructor( call?.enqueue(TidepoolCallback(aapsLogger, rxBus, session, "Login", { OKDialog.show(rootContext, rh.gs(R.string.tidepool), "Successfully logged into Tidepool.") }, { - OKDialog.show(rootContext, rh.gs(R.string.tidepool), "Failed to log into Tidepool.\nCheck that your user name and password are correct.") - })) + OKDialog.show( + rootContext, + rh.gs(R.string.tidepool), + "Failed to log into Tidepool.\nCheck that your user name and password are correct." + ) + })) } ?: OKDialog.show(rootContext, rh.gs(R.string.tidepool), "Cannot do login as user credentials have not been set correctly") @@ -144,14 +148,18 @@ class TidepoolUploader @Inject constructor( extendWakeLock(30000) if (session.authReply?.userid != null) { // See if we already have an open data set to write to - val datasetCall = session.service!!.getOpenDataSets(session.token!!, - session.authReply!!.userid!!, BuildConfig.APPLICATION_ID, 1) + val datasetCall = session.service!!.getOpenDataSets( + session.token!!, + session.authReply!!.userid!!, BuildConfig.APPLICATION_ID, 1 + ) datasetCall.enqueue(TidepoolCallback>(aapsLogger, rxBus, session, "Get Open Datasets", { if (session.datasetReply == null) { rxBus.send(EventTidepoolStatus(("Creating new dataset"))) - val call = session.service.openDataSet(session.token!!, session.authReply!!.userid!!, - OpenDatasetRequestMessage(activePlugin.activePump.serialNumber(), dateUtil).getBody()) + val call = session.service.openDataSet( + session.token!!, session.authReply!!.userid!!, + OpenDatasetRequestMessage(activePlugin.activePump.serialNumber(), dateUtil).getBody() + ) call.enqueue(TidepoolCallback(aapsLogger, rxBus, session, "Open New Dataset", { connectionStatus = ConnectionStatus.CONNECTED rxBus.send(EventTidepoolStatus(("New dataset OK"))) @@ -159,10 +167,10 @@ class TidepoolUploader @Inject constructor( else releaseWakeLock() }, { - rxBus.send(EventTidepoolStatus(("New dataset FAILED"))) - connectionStatus = ConnectionStatus.FAILED - releaseWakeLock() - })) + rxBus.send(EventTidepoolStatus(("New dataset FAILED"))) + connectionStatus = ConnectionStatus.FAILED + releaseWakeLock() + })) } else { aapsLogger.debug(LTag.TIDEPOOL, "Existing Dataset: " + session.datasetReply!!.getUploadId()) // TODO: Wouldn't need to do this if we could block on the above `call.enqueue`. @@ -174,10 +182,10 @@ class TidepoolUploader @Inject constructor( releaseWakeLock() } }, { - connectionStatus = ConnectionStatus.FAILED - rxBus.send(EventTidepoolStatus(("Open dataset FAILED"))) - releaseWakeLock() - })) + connectionStatus = ConnectionStatus.FAILED + rxBus.send(EventTidepoolStatus(("Open dataset FAILED"))) + releaseWakeLock() + })) } else { aapsLogger.error("Got login response but cannot determine userId - cannot proceed") connectionStatus = ConnectionStatus.FAILED @@ -222,9 +230,9 @@ class TidepoolUploader @Inject constructor( releaseWakeLock() uploadNext() }, { - rxBus.send(EventTidepoolStatus(("Upload FAILED"))) - releaseWakeLock() - })) + rxBus.send(EventTidepoolStatus(("Upload FAILED"))) + releaseWakeLock() + })) } } } @@ -248,10 +256,10 @@ class TidepoolUploader @Inject constructor( rxBus.send(EventTidepoolStatus(("Dataset removed OK"))) releaseWakeLock() }, { - connectionStatus = ConnectionStatus.DISCONNECTED - rxBus.send(EventTidepoolStatus(("Dataset remove FAILED"))) - releaseWakeLock() - })) + connectionStatus = ConnectionStatus.DISCONNECTED + rxBus.send(EventTidepoolStatus(("Dataset remove FAILED"))) + releaseWakeLock() + })) } else { aapsLogger.error("Got login response but cannot determine datasetId - cannot proceed") } @@ -273,10 +281,10 @@ class TidepoolUploader @Inject constructor( rxBus.send(EventTidepoolStatus(("All data removed OK"))) releaseWakeLock() }, { - connectionStatus = ConnectionStatus.DISCONNECTED - rxBus.send(EventTidepoolStatus(("All data remove FAILED"))) - releaseWakeLock() - })) + connectionStatus = ConnectionStatus.DISCONNECTED + rxBus.send(EventTidepoolStatus(("All data remove FAILED"))) + releaseWakeLock() + })) } catch (e: IllegalArgumentException) { aapsLogger.error("Got login response but cannot determine userId - cannot proceed") } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt index 532ef1f095..2085630b64 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/comm/UploadChunk.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository @@ -6,15 +6,15 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.general.tidepool.elements.BasalElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.BaseElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.BloodGlucoseElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.BolusElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.ProfileElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.SensorGlucoseElement -import info.nightscout.androidaps.plugins.general.tidepool.elements.WizardElement -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.general.tidepool.utils.GsonInstance +import info.nightscout.androidaps.plugins.sync.tidepool.elements.BasalElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.BaseElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.BloodGlucoseElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.BolusElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.ProfileElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.SensorGlucoseElement +import info.nightscout.androidaps.plugins.sync.tidepool.elements.WizardElement +import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.androidaps.plugins.sync.tidepool.utils.GsonInstance import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BasalElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BasalElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt index 272a039300..f4efd137c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BasalElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BaseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BaseElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt index 49aa6eae18..59df1bec63 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BaseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BloodGlucoseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BloodGlucoseElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt index 58f209f6dd..e753a72906 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BloodGlucoseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.extensions.toMainUnit +import info.nightscout.plugins.sync.nsclient.extensions.toMainUnit import info.nightscout.androidaps.utils.DateUtil import java.util.* diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BolusElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BolusElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt index 6c3a05b0eb..436468e30a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/BolusElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/ProfileElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/ProfileElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt index 12c7b55fd7..96cc274dd4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/ProfileElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt @@ -1,13 +1,12 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader +import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.utils.DateUtil import java.util.* -import kotlin.collections.ArrayList class ProfileElement(ps: EffectiveProfileSwitch, serialNumber: String, dateUtil: DateUtil) : BaseElement(ps.timestamp, UUID.nameUUIDFromBytes(("AAPS-profile" + ps.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/SensorGlucoseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/SensorGlucoseElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt index cd9538018a..757a12ce39 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/SensorGlucoseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.GlucoseValue diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/WizardElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/WizardElement.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt index a6615e45a3..c2e1b724f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/elements/WizardElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.elements +package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt index a3abc3f8ed..7addb83399 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.events +package info.nightscout.androidaps.plugins.sync.tidepool.events import info.nightscout.rx.events.Event import java.text.SimpleDateFormat diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt similarity index 54% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt index 5e4f76717e..7e6e2b796b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolUpdateGUI.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.events +package info.nightscout.androidaps.plugins.sync.tidepool.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthReplyMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthReplyMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt index 57fa45c691..99edf8eeed 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthReplyMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthRequestMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthRequestMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt index 9c7c191864..afa62e5894 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/AuthRequestMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages import info.nightscout.androidaps.R import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/BaseMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt similarity index 72% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/BaseMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt index d9dfc97b38..b3ae854bf2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/BaseMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages -import info.nightscout.androidaps.plugins.general.tidepool.utils.GsonInstance +import info.nightscout.androidaps.plugins.sync.tidepool.utils.GsonInstance import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.RequestBody import okhttp3.RequestBody.Companion.toRequestBody diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/CloseDatasetRequestMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/CloseDatasetRequestMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt index f8f6780971..3bc3f5b670 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/CloseDatasetRequestMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/DatasetReplyMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/DatasetReplyMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt index 9db4595c16..295f917a24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/DatasetReplyMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages class DatasetReplyMessage { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/OpenDatasetRequestMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/OpenDatasetRequestMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt index 631a0259bd..2de5434727 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/OpenDatasetRequestMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.plugins.general.tidepool.comm.TidepoolUploader +import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T import java.util.* diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/UploadReplyMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt similarity index 52% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/UploadReplyMessage.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt index 2054eb237a..459c63ec6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/messages/UploadReplyMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.messages +package info.nightscout.androidaps.plugins.sync.tidepool.messages class UploadReplyMessage { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/GsonInstance.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/GsonInstance.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt index 2c7ceb81d0..5c383f3440 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/GsonInstance.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.utils +package info.nightscout.androidaps.plugins.sync.tidepool.utils import com.google.gson.Gson import com.google.gson.GsonBuilder diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt index 40480ec784..482c01797d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/utils/RateLimit.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.utils +package info.nightscout.androidaps.plugins.sync.tidepool.utils import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.T diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 6396ce66b4..6c5563fff4 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -16,12 +16,9 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.extensions.buildDeviceStatus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction @@ -32,6 +29,9 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.buildDeviceStatus +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 88a8d5b5ec..da21e80294 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -7,28 +7,23 @@ import android.net.Uri import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.ImportExportPrefs -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.androidaps.setupwizard.elements.SWBreak import info.nightscout.androidaps.setupwizard.elements.SWButton import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword @@ -36,7 +31,6 @@ import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber import info.nightscout.androidaps.setupwizard.elements.SWEditNumber import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits import info.nightscout.androidaps.setupwizard.elements.SWEditString -import info.nightscout.androidaps.setupwizard.elements.SWEditUrl import info.nightscout.androidaps.setupwizard.elements.SWFragment import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink import info.nightscout.androidaps.setupwizard.elements.SWInfoText @@ -47,6 +41,10 @@ import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginType import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.bus.RxBus @@ -68,7 +66,6 @@ class SWDefinition @Inject constructor( private val objectivesPlugin: ObjectivesPlugin, private val configBuilder: ConfigBuilder, private val loopPlugin: LoopPlugin, - private val nsClientPlugin: NSClientPlugin, private val importExportPrefs: ImportExportPrefs, private val androidPermission: AndroidPermission, private val cryptoUtil: CryptoUtil, @@ -89,167 +86,196 @@ class SWDefinition @Inject constructor( } private val screenSetupWizard = SWScreen(injector, R.string.nav_setupwizard) - .add(SWInfoText(injector) - .label(R.string.welcometosetupwizard)) + .add( + SWInfoText(injector) + .label(R.string.welcometosetupwizard) + ) private val screenEula = SWScreen(injector, R.string.end_user_license_agreement) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.end_user_license_agreement_text)) + .add( + SWInfoText(injector) + .label(R.string.end_user_license_agreement_text) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.end_user_license_agreement_i_understand) - .visibility { !sp.getBoolean(R.string.key_i_understand, false) } - .action { - sp.putBoolean(R.string.key_i_understand, true) - rxBus.send(EventSWUpdate(false)) - }) + .text(R.string.end_user_license_agreement_i_understand) + .visibility { !sp.getBoolean(R.string.key_i_understand, false) } + .action { + sp.putBoolean(R.string.key_i_understand, true) + rxBus.send(EventSWUpdate(false)) + }) .visibility { !sp.getBoolean(R.string.key_i_understand, false) } .validator { sp.getBoolean(R.string.key_i_understand, false) } private val screenUnits = SWScreen(injector, R.string.units) .skippable(false) - .add(SWRadioButton(injector) - .option(R.array.unitsArray, R.array.unitsValues) - .preferenceId(R.string.key_units).label(R.string.units) - .comment(R.string.setupwizard_units_prompt)) + .add( + SWRadioButton(injector) + .option(R.array.unitsArray, R.array.unitsValues) + .preferenceId(R.string.key_units).label(R.string.units) + .comment(R.string.setupwizard_units_prompt) + ) .validator { sp.contains(R.string.key_units) } private val displaySettings = SWScreen(injector, R.string.wear_display_settings) .skippable(false) - .add(SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) - .preferenceId(R.string.key_low_mark) - .updateDelay(5) - .label(R.string.low_mark) - .comment(R.string.low_mark_comment)) + .add( + SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) + .preferenceId(R.string.key_low_mark) + .updateDelay(5) + .label(R.string.low_mark) + .comment(R.string.low_mark_comment) + ) .add(SWBreak(injector)) - .add(SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) - .preferenceId(R.string.key_high_mark) - .updateDelay(5) - .label(R.string.high_mark) - .comment(R.string.high_mark_comment)) + .add( + SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) + .preferenceId(R.string.key_high_mark) + .updateDelay(5) + .label(R.string.high_mark) + .comment(R.string.high_mark_comment) + ) private val screenPermissionWindow = SWScreen(injector, R.string.permission) .skippable(false) - .add(SWInfoText(injector) - .label(rh.gs(R.string.need_system_window_permission))) + .add( + SWInfoText(injector) + .label(rh.gs(R.string.need_system_window_permission)) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.askforpermission) - .visibility { !Settings.canDrawOverlays(activity) } - .action { activity.startActivity(Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.packageName))) }) + .text(R.string.askforpermission) + .visibility { !Settings.canDrawOverlays(activity) } + .action { activity.startActivity(Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.packageName))) }) .visibility { !Settings.canDrawOverlays(activity) } .validator { Settings.canDrawOverlays(activity) } private val screenPermissionBattery = SWScreen(injector, R.string.permission) .skippable(false) - .add(SWInfoText(injector) - .label(rh.gs(R.string.need_whitelisting, rh.gs(R.string.app_name)))) + .add( + SWInfoText(injector) + .label(rh.gs(R.string.need_whitelisting, rh.gs(R.string.app_name))) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.askforpermission) - .visibility { androidPermission.permissionNotGranted(context, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } - .action { androidPermission.askForPermission(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) }) + .text(R.string.askforpermission) + .visibility { androidPermission.permissionNotGranted(context, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } + .action { androidPermission.askForPermission(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } private val screenPermissionBt = SWScreen(injector, R.string.permission) .skippable(false) - .add(SWInfoText(injector) - .label(rh.gs(R.string.need_location_permission))) + .add( + SWInfoText(injector) + .label(rh.gs(R.string.need_location_permission)) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.askforpermission) - .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } - .action { androidPermission.askForPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) }) + .text(R.string.askforpermission) + .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } + .action { androidPermission.askForPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } private val screenPermissionStore = SWScreen(injector, R.string.permission) .skippable(false) - .add(SWInfoText(injector) - .label(rh.gs(R.string.need_storage_permission))) + .add( + SWInfoText(injector) + .label(rh.gs(R.string.need_storage_permission)) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.askforpermission) - .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } - .action { androidPermission.askForPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) }) + .text(R.string.askforpermission) + .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } + .action { androidPermission.askForPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } private val screenImport = SWScreen(injector, R.string.nav_import) - .add(SWInfoText(injector) - .label(R.string.storedsettingsfound)) - .add(SWBreak(injector)) - .add(SWButton(injector) - .text(R.string.nav_import) - .action { importExportPrefs.importSharedPreferences(activity) }) - .visibility { importExportPrefs.prefsFileExists() && !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } - private val screenNsClient = SWScreen(injector, R.string.nsclientinternal_title) - .skippable(true) - .add(SWInfoText(injector) - .label(R.string.nsclientinfotext)) - .add(SWBreak(injector)) - .add(SWButton(injector) - .text(R.string.enable_nsclient) - .action { - configBuilder.performPluginSwitch(nsClientPlugin, true, PluginType.GENERAL) - rxBus.send(EventSWUpdate(true)) - } - .visibility { !nsClientPlugin.isEnabled() }) - .add(SWEditUrl(injector) - .preferenceId(R.string.key_nsclientinternal_url) - .updateDelay(5) - .label(R.string.nsclientinternal_url_title) - .comment(R.string.nsclientinternal_url_dialogmessage)) - .add(SWEditString(injector) - .validator { text: String -> text.length >= 12 } - .preferenceId(R.string.key_nsclientinternal_api_secret) - .updateDelay(5) - .label(R.string.nsclientinternal_secret_dialogtitle) - .comment(R.string.nsclientinternal_secret_dialogmessage)) - .add(SWBreak(injector)) - .add(SWEventListener(injector, EventNSClientStatus::class.java) - .label(R.string.status) - .initialStatus(nsClientPlugin.status) + .add( + SWInfoText(injector) + .label(R.string.storedsettingsfound) ) - .validator { nsClientPlugin.nsClientService?.isConnected == true && nsClientPlugin.nsClientService?.hasWriteAuth == true } - .visibility { !(nsClientPlugin.nsClientService?.isConnected == true && nsClientPlugin.nsClientService?.hasWriteAuth == true) } + .add(SWBreak(injector)) + .add(SWButton(injector) + .text(R.string.nav_import) + .action { importExportPrefs.importSharedPreferences(activity) }) + .visibility { importExportPrefs.prefsFileExists() && !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } + private val screenNsClient = SWScreen(injector, R.string.configbuilder_sync) + .skippable(true) + .add( + SWPlugin(injector, this) + .option(PluginType.SYNC, R.string.configbuilder_sync_description) + .makeVisible(false) + .label(R.string.configbuilder_insulin) + ) + .add(SWBreak(injector)) + .add( + SWInfoText(injector) + .label(R.string.syncinfotext) + ) + .add(SWBreak(injector)) + .add( + SWEventListener(injector, EventNSClientStatus::class.java) + .label(R.string.status) + .initialStatus(activePlugin.firstActiveSync?.status ?: "") + ) + .validator { activePlugin.firstActiveSync?.connected == true && activePlugin.firstActiveSync?.hasWritePermission == true } private val screenPatientName = SWScreen(injector, R.string.patient_name) .skippable(true) - .add(SWInfoText(injector) - .label(R.string.patient_name_summary)) - .add(SWEditString(injector) - .validator(SWTextValidator(String::isNotEmpty)) - .preferenceId(R.string.key_patient_name)) + .add( + SWInfoText(injector) + .label(R.string.patient_name_summary) + ) + .add( + SWEditString(injector) + .validator(SWTextValidator(String::isNotEmpty)) + .preferenceId(R.string.key_patient_name) + ) private val privacy = SWScreen(injector, R.string.privacy_settings) .skippable(true) - .add(SWInfoText(injector) - .label(R.string.privacy_summary)) - .add(SWPreference(injector, this) - .option(R.xml.pref_datachoices) + .add( + SWInfoText(injector) + .label(R.string.privacy_summary) + ) + .add( + SWPreference(injector, this) + .option(R.xml.pref_datachoices) ) private val screenMasterPassword = SWScreen(injector, R.string.master_password) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.master_password)) - .add(SWEditEncryptedPassword(injector, cryptoUtil) - .preferenceId(R.string.key_master_password)) + .add( + SWInfoText(injector) + .label(R.string.master_password) + ) + .add( + SWEditEncryptedPassword(injector, cryptoUtil) + .preferenceId(R.string.key_master_password) + ) .add(SWBreak(injector)) - .add(SWInfoText(injector) - .label(R.string.master_password_summary)) + .add( + SWInfoText(injector) + .label(R.string.master_password_summary) + ) .validator { !cryptoUtil.checkPassword("", sp.getString(R.string.key_master_password, "")) } private val screenAge = SWScreen(injector, R.string.patientage) .skippable(false) .add(SWBreak(injector)) - .add(SWRadioButton(injector) - .option(R.array.ageArray, R.array.ageValues) - .preferenceId(R.string.key_age) - .label(R.string.patientage) - .comment(R.string.patientage_summary)) + .add( + SWRadioButton(injector) + .option(R.array.ageArray, R.array.ageValues) + .preferenceId(R.string.key_age) + .label(R.string.patientage) + .comment(R.string.patientage_summary) + ) .add(SWBreak(injector)) - .add(SWEditNumber(injector, 3.0, 0.1, 25.0) - .preferenceId(R.string.key_treatmentssafety_maxbolus) - .updateDelay(5) - .label(R.string.treatmentssafety_maxbolus_title) - .comment(R.string.common_values)) - .add(SWEditIntNumber(injector, 48, 1, 100) - .preferenceId(R.string.key_treatmentssafety_maxcarbs) - .updateDelay(5) - .label(R.string.treatmentssafety_maxcarbs_title) - .comment(R.string.common_values)) + .add( + SWEditNumber(injector, 3.0, 0.1, 25.0) + .preferenceId(R.string.key_treatmentssafety_maxbolus) + .updateDelay(5) + .label(R.string.treatmentssafety_maxbolus_title) + .comment(R.string.common_values) + ) + .add( + SWEditIntNumber(injector, 48, 1, 100) + .preferenceId(R.string.key_treatmentssafety_maxcarbs) + .updateDelay(5) + .label(R.string.treatmentssafety_maxcarbs_title) + .comment(R.string.common_values) + ) .validator { sp.contains(R.string.key_age) && sp.getDouble(R.string.key_treatmentssafety_maxbolus, 0.0) > 0 @@ -257,23 +283,31 @@ class SWDefinition @Inject constructor( } private val screenInsulin = SWScreen(injector, R.string.configbuilder_insulin) .skippable(false) - .add(SWPlugin(injector, this) - .option(PluginType.INSULIN, R.string.configbuilder_insulin_description) - .makeVisible(false) - .label(R.string.configbuilder_insulin)) + .add( + SWPlugin(injector, this) + .option(PluginType.INSULIN, R.string.configbuilder_insulin_description) + .makeVisible(false) + .label(R.string.configbuilder_insulin) + ) .add(SWBreak(injector)) - .add(SWInfoText(injector) - .label(R.string.diawarning)) + .add( + SWInfoText(injector) + .label(R.string.diawarning) + ) private val screenBgSource = SWScreen(injector, R.string.configbuilder_bgsource) .skippable(false) - .add(SWPlugin(injector, this) - .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) - .label(R.string.configbuilder_bgsource)) + .add( + SWPlugin(injector, this) + .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) + .label(R.string.configbuilder_bgsource) + ) .add(SWBreak(injector)) private val screenLocalProfile = SWScreen(injector, R.string.localprofile) .skippable(false) - .add(SWFragment(injector, this) - .add(ProfileFragment())) + .add( + SWFragment(injector, this) + .add(ProfileFragment()) + ) .validator { profilePlugin.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } ?: false @@ -281,22 +315,26 @@ class SWDefinition @Inject constructor( .visibility { profilePlugin.isEnabled() } private val screenProfileSwitch = SWScreen(injector, R.string.careportal_profileswitch) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.profileswitch_ismissing)) + .add( + SWInfoText(injector) + .label(R.string.profileswitch_ismissing) + ) .add(SWButton(injector) - .text(R.string.doprofileswitch) - .action { ProfileSwitchDialog().show(activity.supportFragmentManager, "ProfileSwitchDialog") }) + .text(R.string.doprofileswitch) + .action { ProfileSwitchDialog().show(activity.supportFragmentManager, "ProfileSwitchDialog") }) .validator { profileFunction.getRequestedProfile() != null } .visibility { profileFunction.getRequestedProfile() == null } private val screenPump = SWScreen(injector, R.string.configbuilder_pump) .skippable(false) - .add(SWPlugin(injector, this) - .option(PluginType.PUMP, R.string.configbuilder_pump_description) - .label(R.string.configbuilder_pump)) + .add( + SWPlugin(injector, this) + .option(PluginType.PUMP, R.string.configbuilder_pump_description) + .label(R.string.configbuilder_pump) + ) .add(SWBreak(injector)) .add(SWInfoText(injector) - .label(R.string.setupwizard_pump_pump_not_initialized) - .visibility { !isPumpInitialized() }) + .label(R.string.setupwizard_pump_pump_not_initialized) + .visibility { !isPumpInitialized() }) .add( // Omnipod Eros only SWInfoText(injector) .label(R.string.setupwizard_pump_waiting_for_riley_link_connection) @@ -309,15 +347,15 @@ class SWDefinition @Inject constructor( .label(R.string.setupwizard_pump_riley_link_status) .visibility { activePlugin.activePump is OmnipodErosPumpPlugin }) .add(SWButton(injector) - .text(R.string.readstatus) - .action { commandQueue.readStatus(rh.gs(R.string.clicked_connect_to_pump), null) } - .visibility { - // Hide for Omnipod, because as we don't require a Pod to be paired in the setup wizard, - // Getting the status might not be possible - activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin - }) + .text(R.string.readstatus) + .action { commandQueue.readStatus(rh.gs(R.string.clicked_connect_to_pump), null) } + .visibility { + // Hide for Omnipod, because as we don't require a Pod to be paired in the setup wizard, + // Getting the status might not be possible + activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin + }) .add(SWEventListener(injector, EventPumpStatusChanged::class.java) - .visibility { activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin }) + .visibility { activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin }) .validator { isPumpInitialized() } private fun isPumpInitialized(): Boolean { @@ -333,54 +371,74 @@ class SWDefinition @Inject constructor( private val screenAps = SWScreen(injector, R.string.configbuilder_aps) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.setupwizard_aps_description)) + .add( + SWInfoText(injector) + .label(R.string.setupwizard_aps_description) + ) .add(SWBreak(injector)) - .add(SWPlugin(injector, this) - .option(PluginType.APS, R.string.configbuilder_aps_description) - .label(R.string.configbuilder_aps)) + .add( + SWPlugin(injector, this) + .option(PluginType.APS, R.string.configbuilder_aps_description) + .label(R.string.configbuilder_aps) + ) .add(SWBreak(injector)) - .add(SWHtmlLink(injector) - .label("https://openaps.readthedocs.io/en/latest/")) + .add( + SWHtmlLink(injector) + .label("https://openaps.readthedocs.io/en/latest/") + ) .add(SWBreak(injector)) private val screenApsMode = SWScreen(injector, R.string.apsmode_title) .skippable(false) - .add(SWRadioButton(injector) - .option(R.array.aps_modeArray, R.array.aps_modeValues) - .preferenceId(R.string.key_aps_mode).label(R.string.apsmode_title) - .comment(R.string.setupwizard_preferred_aps_mode)) + .add( + SWRadioButton(injector) + .option(R.array.aps_modeArray, R.array.aps_modeValues) + .preferenceId(R.string.key_aps_mode).label(R.string.apsmode_title) + .comment(R.string.setupwizard_preferred_aps_mode) + ) .validator { sp.contains(R.string.key_aps_mode) } private val screenLoop = SWScreen(injector, R.string.configbuilder_loop) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.setupwizard_loop_description)) + .add( + SWInfoText(injector) + .label(R.string.setupwizard_loop_description) + ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.enableloop) - .action { - configBuilder.performPluginSwitch(loopPlugin, true, PluginType.LOOP) - rxBus.send(EventSWUpdate(true)) - } - .visibility { !loopPlugin.isEnabled() }) + .text(R.string.enableloop) + .action { + configBuilder.performPluginSwitch(loopPlugin, true, PluginType.LOOP) + rxBus.send(EventSWUpdate(true)) + } + .visibility { !loopPlugin.isEnabled() }) .validator { loopPlugin.isEnabled() } .visibility { !loopPlugin.isEnabled() && config.APS } private val screenSensitivity = SWScreen(injector, R.string.configbuilder_sensitivity) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.setupwizard_sensitivity_description)) - .add(SWHtmlLink(injector) - .label(R.string.setupwizard_sensitivity_url)) + .add( + SWInfoText(injector) + .label(R.string.setupwizard_sensitivity_description) + ) + .add( + SWHtmlLink(injector) + .label(R.string.setupwizard_sensitivity_url) + ) .add(SWBreak(injector)) - .add(SWPlugin(injector, this) - .option(PluginType.SENSITIVITY, R.string.configbuilder_sensitivity_description) - .label(R.string.configbuilder_sensitivity)) + .add( + SWPlugin(injector, this) + .option(PluginType.SENSITIVITY, R.string.configbuilder_sensitivity_description) + .label(R.string.configbuilder_sensitivity) + ) private val getScreenObjectives = SWScreen(injector, R.string.objectives) .skippable(false) - .add(SWInfoText(injector) - .label(R.string.startobjective)) + .add( + SWInfoText(injector) + .label(R.string.startobjective) + ) .add(SWBreak(injector)) - .add(SWFragment(injector, this) - .add(ObjectivesFragment())) + .add( + SWFragment(injector, this) + .add(ObjectivesFragment()) + ) .validator { objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].isStarted } .visibility { !objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].isStarted && config.APS } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index db98314bb5..7431530e70 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -11,19 +11,19 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange +import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject import kotlin.math.max import kotlin.math.min @@ -31,7 +31,6 @@ import kotlin.math.min class SetupWizardActivity : NoSplashAppCompatActivity() { @Inject lateinit var injector: HasAndroidInjector - @Inject lateinit var profilePlugin: ProfilePlugin @Inject lateinit var swDefinition: SWDefinition @Inject lateinit var sp: SP @Inject lateinit var fabricPrivacy: FabricPrivacy @@ -76,39 +75,33 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { override fun onResume() { super.onResume() swDefinition.activity = this - disposable.add(rxBus + disposable += rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) - ) - disposable.add(rxBus + disposable += rxBus .toObservable(EventRileyLinkDeviceStatusChange::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) - ) - disposable.add(rxBus + disposable += rxBus .toObservable(EventNSClientStatus::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) - ) - disposable.add(rxBus + disposable += rxBus .toObservable(EventProfileSwitchChanged::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) - ) - disposable.add(rxBus + disposable += rxBus .toObservable(EventProfileStoreChanged::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) - ) - disposable.add(rxBus + disposable += rxBus .toObservable(EventSWUpdate::class.java) .observeOn(aapsSchedulers.main) .subscribe({ event: EventSWUpdate -> - if (event.redraw) generateLayout() - updateButtons() - }, fabricPrivacy::logException) - ) + if (event.redraw) generateLayout() + updateButtons() + }, fabricPrivacy::logException) updateButtons() } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index 3fc9940884..0f9afd9240 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -60,7 +60,7 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val p = pluginsInCategory[i] rdBtn.id = View.generateViewId() rdBtn.text = p.name - if (p.isEnabled(pType!!)) { + if (p.isEnabled()) { rdBtn.isChecked = true selectedPlugin = p } @@ -78,7 +78,7 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val plugin = rb.tag as PluginBase plugin.setPluginEnabled(pType!!, rb.isChecked) plugin.setFragmentVisible(pType!!, rb.isChecked && makeVisible) - configBuilderPlugin.processOnEnabledCategoryChanged(plugin, pType) + configBuilderPlugin.processOnEnabledCategoryChanged(plugin, pType!!) configBuilderPlugin.storeSettings("SetupWizard") rxBus.send(EventConfigBuilderChange()) rxBus.send(EventSWUpdate(false)) diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt rename to app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt index a7b12a061f..ffc3ddc8ac 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/DeviceStatusExtension.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.androidaps.utils.extensions import android.os.Build import info.nightscout.androidaps.database.entities.DeviceStatus diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt b/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt new file mode 100644 index 0000000000..f11572cfd1 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt @@ -0,0 +1,12 @@ +package info.nightscout.androidaps.utils.extensions + +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSMbg + +fun therapyEventFromNsMbg(mbg: NSMbg) = + TherapyEvent( + type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, //convert Mbg to finger stick because is coming from "entries" collection + timestamp = mbg.date, + glucose = mbg.mbg, + glucoseUnit = TherapyEvent.GlucoseUnit.MGDL + ) diff --git a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt index 2743c7f21c..90d3bd65bd 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt @@ -4,6 +4,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.PluginFragment import java.util.* class TabPageAdapter(private val activity: AppCompatActivity) : FragmentStateAdapter(activity) { @@ -13,6 +14,7 @@ class TabPageAdapter(private val activity: AppCompatActivity) : FragmentStateAda override fun getItemCount(): Int = visibleFragmentList.size override fun createFragment(position: Int): Fragment = activity.supportFragmentManager.fragmentFactory.instantiate(ClassLoader.getSystemClassLoader(), visibleFragmentList[position].pluginDescription.fragmentClass ?: Fragment::class.java.name) + .also { if (it is PluginFragment) it.plugin = getPluginAt(position) } fun getPluginAt(position: Int): PluginBase = visibleFragmentList[position] diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 81fc9752dd..eb70bcc3e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -6,19 +6,19 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries +import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import java.util.Calendar import javax.inject.Inject @@ -36,7 +36,7 @@ class PreparePredictionsWorker( @Inject lateinit var repository: AppRepository @Inject lateinit var rxBus: RxBus @Inject lateinit var config: Config - @Inject lateinit var nsDeviceStatus: NSDeviceStatus + @Inject lateinit var processedDeviceStatusData: ProcessedDeviceStatusData @Inject lateinit var loop: Loop @Inject lateinit var overviewMenus: OverviewMenus @Inject lateinit var dataWorkerStorage: DataWorkerStorage @@ -56,7 +56,7 @@ class PreparePredictionsWorker( val data = dataWorkerStorage.pickupObject(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) as PreparePredictionsData? ?: return Result.failure(workDataOf("Error" to "missing input data")) - val apsResult = if (config.APS) loop.lastRun?.constraintsProcessed else nsDeviceStatus.getAPSResult(injector) + val apsResult = if (config.APS) loop.lastRun?.constraintsProcessed else processedDeviceStatusData.getAPSResult(injector) val predictionsAvailable = if (config.APS) loop.lastRun?.request?.hasPredictions == true else config.NSCLIENT val menuChartSettings = overviewMenus.setting // align to hours diff --git a/app/src/main/res/layout/ns_client_fragment.xml b/app/src/main/res/layout/ns_client_fragment.xml index 199f4075d8..91016d058e 100644 --- a/app/src/main/res/layout/ns_client_fragment.xml +++ b/app/src/main/res/layout/ns_client_fragment.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".plugins.general.nsclient.NSClientFragment"> + tools:context=".plugins.sync.nsShared.NSClientFragment"> protection absorption_category_settings ns_temporary_target_last_sync - temporary_target_new_data_id ns_glucose_value_last_sync - ns_glucose_value_new_data_id ns_food_last_sync ns_therapy_event_last_sync bolussnooze_dia_divisor @@ -45,14 +43,14 @@ ns_bolus_last_synced_id ns_device_status_last_synced_id ns_temporary_basal_last_synced_id - ns_temporary_basal_new_data_id ns_extended_bolus_last_synced_id - ns_extended_bolus_new_data_id profile_switch_last_synced_id ns_effective_profile_switch_last_synced_id ns_offline_event_last_synced_id ns_profile_store_last_synced_timestamp ns_sync_slow + nsclient_token + nsclientv2_lastmodified last_cleanup_run Treatments safety Max allowed bolus [U] @@ -68,6 +66,7 @@ Used for configuring the active plugins Learning program Activate or deactivate the implementation triggering the loop. + Synchronizes your data with Nightscout using v3 API Synchronizes your data with Nightscout State of the algorithm in 2017 Most recent algorithm for advanced users @@ -111,6 +110,8 @@ Which APS algorithm should make therapy adjustments? General These are some general plugins you might find useful. + Synchronization + Data upload and synchronization plugins. Which constraints are applied? Constraints Loop @@ -236,6 +237,8 @@ Executing Virtual pump settings Upload status to NS + NSClientV3 + NSV3 NSClient NSCI URL: @@ -247,6 +250,9 @@ NS API secret NS API secret Enter NS API secret (min 12 chars) + NS access token + NS access token + Access token generated on NS admin page (min 17 chars) Deliver now Clear queue Show queue @@ -438,7 +444,7 @@ Percentage calculation Loop enabled APS selected - NSClient has write permission + Synchronization service has write permission Closed mode enabled Maximal IOB set properly BG available from selected source @@ -584,7 +590,6 @@ Calculations included in the Wizard result: Display Settings General Settings - Enable NSClient Welcome to setup wizard. It will guide you through the setup process\n Read status Skip setup wizard @@ -592,7 +597,7 @@ startupwizard_processed Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient handles connection to Nightscout. You can skip this part now but you will not be able to pass objectives until you set it up. + Synchronize data to the cloud. You can skip this part now but you will not be able to pass objectives until you set it up. Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. Please configure your RileyLink below. After selecting a RileyLink, it will be possible to continue setup once the RileyLink status is \"Connected\". This might take a minute.\n diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml index bf7ef4678e..fff4e93e93 100644 --- a/app/src/main/res/xml/pref_nsclientinternal.xml +++ b/app/src/main/res/xml/pref_nsclientinternal.xml @@ -26,6 +26,15 @@ validate:minLength="12" validate:testType="minLength"/> + + diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 78bd435dc5..d3aeee31d2 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index e160d208fa..ecf9dbe9ab 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -132,7 +132,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { insightDbHelper = InsightDbHelper(insightDatabaseDao) danaPump = DanaPump(aapsLogger, sp, dateUtil, injector) hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) - objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config, dateUtil, uel) + objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config) comboPlugin = ComboPlugin(injector, aapsLogger, rxBus, rh, profileFunction, sp, commandQueue, context, pumpSync, dateUtil, ruffyScripter) danaRPlugin = DanaRPlugin(injector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, activePlugin, sp, commandQueue, danaPump, dateUtil, fabricPrivacy, pumpSync) danaRSPlugin = diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt index 421635b0b6..da937f0aa9 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before @@ -40,7 +40,7 @@ class ObjectivesPluginTest : TestBase() { } @Before fun prepareMock() { - objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config, dateUtil, uel) + objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config) objectivesPlugin.onStart() `when`(rh.gs(R.string.objectivenotstarted, 9)).thenReturn("Objective 9 not started") `when`(rh.gs(R.string.objectivenotstarted, 8)).thenReturn("Objective 8 not started") diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index 4fa83a6062..581d87d18c 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus +import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt similarity index 98% rename from app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt rename to app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt index 0a98a6876d..cd70af2694 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/nsclient/NsClientReceiverDelegateTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.nsclient +package info.nightscout.androidaps.plugins.sync.nsclient import android.content.Context import info.nightscout.androidaps.R diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/tidepool/comm/SessionTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt similarity index 80% rename from app/src/test/java/info/nightscout/androidaps/plugins/general/tidepool/comm/SessionTest.kt rename to app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt index f7af8d995b..4d9f61fbe0 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/tidepool/comm/SessionTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt @@ -1,12 +1,13 @@ -package info.nightscout.androidaps.plugins.general.tidepool.comm +package info.nightscout.androidaps.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.general.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.general.tidepool.messages.DatasetReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.Test class SessionTest { + @Test fun populateBody() { val session = Session("", "", null) diff --git a/automation/build.gradle b/automation/build.gradle index 9e341a7efb..320fffc2b2 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 869f17b626..edb91245cc 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile diff --git a/build.gradle b/build.gradle index 84bd819423..c4af65575f 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ buildscript { work_version = '2.7.1' tink_version = '1.5.0' json_version = '20220320' + serialization_version = '1.4.1' joda_version = '2.12.1' junit_version = '4.13.2' diff --git a/core/allopen_dependencies.gradle b/core/allopen_dependencies.gradle new file mode 100644 index 0000000000..002600b6c0 --- /dev/null +++ b/core/allopen_dependencies.gradle @@ -0,0 +1,4 @@ +allOpen { + // allows mocking for classes w/o directly opening them for release builds + annotation 'info.nightscout.androidaps.annotations.OpenForTesting' +} diff --git a/core/android_dependencies.gradle b/core/android_dependencies.gradle index 0997a3fcc9..43ea057c27 100644 --- a/core/android_dependencies.gradle +++ b/core/android_dependencies.gradle @@ -19,10 +19,6 @@ android { debug { testCoverageEnabled(project.hasProperty('coverage')) } -// firebaseDisable { -// System.setProperty("disableFirebase", "true") -// ext.enableCrashlytics = false -// } } sourceSets { diff --git a/core/android_module_dependencies.gradle b/core/android_module_dependencies.gradle index ffe86f3cc1..bcc7585a61 100644 --- a/core/android_module_dependencies.gradle +++ b/core/android_module_dependencies.gradle @@ -40,8 +40,3 @@ dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" } - -allOpen { - // allows mocking for classes w/o directly opening them for release builds - annotation 'info.nightscout.androidaps.annotations.OpenForTesting' -} diff --git a/core/build.gradle b/core/build.gradle index 65c02d25e4..9e6e9006c2 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,13 +1,16 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-parcelize' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-parcelize' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: 'core_dependencies.gradle' apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 2c22ed8729..e91acf1be7 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -9,22 +9,22 @@ import android.view.Window import android.view.WindowManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.DialogProfileviewerBinding import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.extensions.getCustomizedName -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.androidaps.utils.extensions.getCustomizedName +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus import org.json.JSONObject @@ -63,8 +63,10 @@ class ProfileViewerDialog : DaggerDialogFragment() { // onDestroyView. private val binding get() = _binding!! - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle?): View { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { // load data from bundle (savedInstanceState ?: arguments)?.let { bundle -> time = bundle.getLong("time", 0) @@ -107,8 +109,8 @@ class ProfileViewerDialog : DaggerDialogFragment() { binding.datelayout.visibility = View.VISIBLE } - Mode.CUSTOM_PROFILE -> { - profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it)} + Mode.CUSTOM_PROFILE -> { + profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it) } profile2 = null profileName = customProfileName date = "" @@ -116,15 +118,15 @@ class ProfileViewerDialog : DaggerDialogFragment() { } Mode.PROFILE_COMPARE -> { - profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it)} - profile2 = pureProfileFromJson(JSONObject(customProfileJson2), dateUtil)?.let { ProfileSealed.Pure(it)} + profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it) } + profile2 = pureProfileFromJson(JSONObject(customProfileJson2), dateUtil)?.let { ProfileSealed.Pure(it) } profileName = customProfileName binding.headerIcon.setImageResource(R.drawable.ic_compare_profiles) date = "" binding.datelayout.visibility = View.GONE } - Mode.DB_PROFILE -> { + Mode.DB_PROFILE -> { //val profileList = databaseHelper.getProfileSwitchData(time, true) val profileList = repository.getAllProfileSwitches().blockingGet() profile = if (profileList.isNotEmpty()) ProfileSealed.PS(profileList[0]) else null @@ -237,12 +239,15 @@ class ProfileViewerDialog : DaggerDialogFragment() { prev1 = val1 prev2 = val2 } - s.append(formatColors( - " ∑ ", - profile1.baseBasalSum(), - profile2.baseBasalSum(), - DecimalFormat("0.00"), - rh.gs(R.string.insulin_unit_shortname))) + s.append( + formatColors( + " ∑ ", + profile1.baseBasalSum(), + profile2.baseBasalSum(), + DecimalFormat("0.00"), + rh.gs(R.string.insulin_unit_shortname) + ) + ) return HtmlHelper.fromHtml(s.toString()) } @@ -293,8 +298,18 @@ class ProfileViewerDialog : DaggerDialogFragment() { val val1h = profile1.getTargetHighMgdlTimeFromMidnight(hour * 60 * 60) val val2l = profile2.getTargetLowMgdlTimeFromMidnight(hour * 60 * 60) val val2h = profile2.getTargetHighMgdlTimeFromMidnight(hour * 60 * 60) - val txt1 = dateUtil.formatHHMM(hour * 60 * 60) + " " + Profile.toUnitsString(val1l, val1l * Constants.MGDL_TO_MMOLL, units) + " - " + Profile.toUnitsString(val1h, val1h * Constants.MGDL_TO_MMOLL, units) + " " + units.asText - val txt2 = dateUtil.formatHHMM(hour * 60 * 60) + " " + Profile.toUnitsString(val2l, val2l * Constants.MGDL_TO_MMOLL, units) + " - " + Profile.toUnitsString(val2h, val2h * Constants.MGDL_TO_MMOLL, units) + " " + units.asText + val txt1 = + dateUtil.formatHHMM(hour * 60 * 60) + " " + Profile.toUnitsString(val1l, val1l * Constants.MGDL_TO_MMOLL, units) + " - " + Profile.toUnitsString( + val1h, + val1h * Constants.MGDL_TO_MMOLL, + units + ) + " " + units.asText + val txt2 = + dateUtil.formatHHMM(hour * 60 * 60) + " " + Profile.toUnitsString(val2l, val2l * Constants.MGDL_TO_MMOLL, units) + " - " + Profile.toUnitsString( + val2h, + val2h * Constants.MGDL_TO_MMOLL, + units + ) + " " + units.asText if (val1l != prev1l || val1h != prev1h || val2l != prev2l || val2h != prev2h) { s.append(formatColors(txt1, txt2)) s.append("
") diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index f50728ad3b..9727aa143f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -21,61 +21,4 @@ fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { fun Bolus.iobCalc(time: Long, localInsulin: LocalInsulin): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() return localInsulin.iobCalcForTreatment(this, time) -} - -fun Bolus.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("eventType", if (type == Bolus.Type.SMB) TherapyEvent.Type.CORRECTION_BOLUS.text else TherapyEvent.Type.MEAL_BOLUS.text) - .put("insulin", amount) - .put("created_at", dateUtil.toISOString(timestamp)) - .put("date", timestamp) - .put("type", type.name) - .put("notes", notes) - .put("isValid", isValid) - .put("isSMB", type == Bolus.Type.SMB).also { - if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) - if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) - if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } - -/* - create fake object with nsID and isValid == false - */ -fun bolusFromNsIdForInvalidating(nsId: String): Bolus = - bolusFromJson( - JSONObject() - .put("mills", 1) - .put("insulin", -1.0) - .put("_id", nsId) - .put("isValid", false) - )!! - -fun bolusFromJson(jsonObject: JSONObject): Bolus? { - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - val amount = JsonHelper.safeGetDoubleAllowNull(jsonObject, "insulin") ?: return null - val type = Bolus.Type.fromString(JsonHelper.safeGetString(jsonObject, "type")) - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - val notes = JsonHelper.safeGetStringAllowNull(jsonObject, "notes", null) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null - val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) - val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) - val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) - - if (timestamp == 0L) return null - if (amount == 0.0) return null - - return Bolus( - timestamp = timestamp, - amount = amount, - type = type, - notes = notes, - isValid = isValid, - ).also { - it.interfaceIDs.nightscoutId = id - it.interfaceIDs.pumpId = pumpId - it.interfaceIDs.pumpType = pumpType - it.interfaceIDs.pumpSerial = pumpSerial - } -} - +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index 5cc69e1968..daf803471a 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,20 +1,16 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T -import org.json.JSONObject import kotlin.math.ceil import kotlin.math.max import kotlin.math.min @@ -50,84 +46,6 @@ fun ExtendedBolus.toTemporaryBasal(profile: Profile): TemporaryBasal = type = TemporaryBasal.Type.FAKE_EXTENDED ) -fun ExtendedBolus.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = - if (isEmulatingTempBasal) - toTemporaryBasal(profile) - .toJson(isAdd, profile, dateUtil) - .put("extendedEmulated", toRealJson(isAdd, dateUtil)) - else toRealJson(isAdd, dateUtil) - -fun ExtendedBolus.toRealJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("created_at", dateUtil.toISOString(timestamp)) - .put("enteredBy", "openaps://" + "AndroidAPS") - .put("eventType", TherapyEvent.Type.COMBO_BOLUS.text) - .put("duration", T.msecs(duration).mins()) - .put("durationInMilliseconds", duration) - .put("splitNow", 0) - .put("splitExt", 100) - .put("enteredinsulin", amount) - .put("relative", rate) - .put("isValid", isValid) - .put("isEmulatingTempBasal", isEmulatingTempBasal) - .also { - if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) - if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) - if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) - if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } - -/* - create fake object with nsID and isValid == false - */ -fun extendedBolusFromNsIdForInvalidating(nsId: String): ExtendedBolus = - extendedBolusFromJson( - JSONObject() - .put("mills", 1) - .put("amount", -1.0) - .put("enteredinsulin", -1.0) - .put("duration", -1.0) - .put("splitNow", 0) - .put("splitExt", 100) - .put("_id", nsId) - .put("isValid", false) - )!! - -fun extendedBolusFromJson(jsonObject: JSONObject): ExtendedBolus? { - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - if (JsonHelper.safeGetIntAllowNull(jsonObject, "splitNow") != 0) return null - if (JsonHelper.safeGetIntAllowNull(jsonObject, "splitExt") != 100) return null - val amount = JsonHelper.safeGetDoubleAllowNull(jsonObject, "enteredinsulin") ?: return null - val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration") ?: return null - val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - val isEmulatingTempBasal = JsonHelper.safeGetBoolean(jsonObject, "isEmulatingTempBasal", false) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null - val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) - val endPumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "endId", null) - val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) - val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) - - if (timestamp == 0L) return null - if (duration == 0L && durationInMilliseconds == 0L) return null - if (amount == 0.0) return null - - return ExtendedBolus( - timestamp = timestamp, - amount = amount, - duration = durationInMilliseconds ?: T.mins(duration).msecs(), - isEmulatingTempBasal = isEmulatingTempBasal, - isValid = isValid - ).also { - it.interfaceIDs.nightscoutId = id - it.interfaceIDs.pumpId = pumpId - it.interfaceIDs.endId = endPumpId - it.interfaceIDs.pumpType = pumpType - it.interfaceIDs.pumpSerial = pumpSerial - } -} - fun ExtendedBolus.iobCalc(time: Long, profile: Profile, insulinInterface: Insulin): IobTotal { val result = IobTotal(time) val realDuration = getPassedDurationToTimeInMinutes(time) @@ -156,7 +74,15 @@ fun ExtendedBolus.iobCalc(time: Long, profile: Profile, insulinInterface: Insuli return result } -fun ExtendedBolus.iobCalc(time: Long, profile: Profile, lastAutosensResult: AutosensResult, exercise_mode: Boolean, half_basal_exercise_target: Int, isTempTarget: Boolean, insulinInterface: Insulin): IobTotal { +fun ExtendedBolus.iobCalc( + time: Long, + profile: Profile, + lastAutosensResult: AutosensResult, + exercise_mode: Boolean, + half_basal_exercise_target: Int, + isTempTarget: Boolean, + insulinInterface: Insulin +): IobTotal { val result = IobTotal(time) val realDuration = getPassedDurationToTimeInMinutes(time) var sensitivityRatio = lastAutosensResult.ratio diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index cf03d76f96..c4f297fc20 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -1,19 +1,18 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.androidaps.utils.extensions import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.extensions.blockFromJsonArray +import info.nightscout.androidaps.extensions.targetBlockFromJsonArray import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T import org.json.JSONObject -import java.util.* +import java.util.TimeZone fun List.isPSEvent5minBack(time: Long): Boolean { for (event in this) { @@ -27,88 +26,23 @@ fun List.isPSEvent5minBack(time: Long): Boolean { return false } -fun ProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("timeshift", timeshift) - .put("percentage", percentage) - .put("duration", T.msecs(duration).mins()) - .put("profile", getCustomizedName()) - .put("originalProfileName", profileName) - .put("originalDuration", duration) - .put("created_at", dateUtil.toISOString(timestamp)) - .put("enteredBy", "openaps://" + "AndroidAPS") - .put("isValid", isValid) - .put("eventType", TherapyEvent.Type.PROFILE_SWITCH.text) - .also { // remove customization to store original profileJson in toPureNsJson call - timeshift = 0 - percentage = 100 - } - .put("profileJson", ProfileSealed.PS(this).toPureNsJson(dateUtil).toString()) - .also { - if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) - if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) - if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } - -/* NS PS -{ - "_id":"608ffa268db0676196a772d7", - "enteredBy":"undefined", - "eventType":"Profile Switch", - "duration":10, - "profile":"LocalProfile0", - "created_at":"2021-05-03T13:26:58.537Z", - "utcOffset":0, - "mills":1620048418537, - "mgdl":98 -} - */ -fun profileSwitchFromJson(jsonObject: JSONObject, dateUtil: DateUtil, activePlugin: ActivePlugin): ProfileSwitch? { - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - val duration = JsonHelper.safeGetLong(jsonObject, "duration") - val originalDuration = JsonHelper.safeGetLongAllowNull(jsonObject, "originalDuration") - val timeshift = JsonHelper.safeGetLong(jsonObject, "timeshift") - val percentage = JsonHelper.safeGetInt(jsonObject, "percentage", 100) - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) - val profileName = JsonHelper.safeGetStringAllowNull(jsonObject, "profile", null) ?: return null - val originalProfileName = JsonHelper.safeGetStringAllowNull(jsonObject, "originalProfileName", null) - val profileJson = JsonHelper.safeGetStringAllowNull(jsonObject, "profileJson", null) - val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) - val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) - val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) - - if (timestamp == 0L) return null - val pureProfile = - if (profileJson == null) { // entered through NS, no JSON attached - val profilePlugin = activePlugin.activeProfileSource - val store = profilePlugin.profile ?: return null - store.getSpecificProfile(profileName) ?: return null - } else pureProfileFromJson(JSONObject(profileJson), dateUtil) ?: return null - val profileSealed = ProfileSealed.Pure(pureProfile) - - return ProfileSwitch( - timestamp = timestamp, - basalBlocks = profileSealed.basalBlocks, - isfBlocks = profileSealed.isfBlocks, - icBlocks = profileSealed.icBlocks, - targetBlocks = profileSealed.targetBlocks, - glucoseUnit = ProfileSwitch.GlucoseUnit.fromConstant(profileSealed.units), - profileName = originalProfileName ?: profileName, - timeshift = timeshift, - percentage = percentage, - duration = originalDuration ?: T.mins(duration).msecs(), - insulinConfiguration = profileSealed.insulinConfiguration, - isValid = isValid - ).also { - it.interfaceIDs.nightscoutId = id - it.interfaceIDs.pumpId = pumpId - it.interfaceIDs.pumpType = pumpType - it.interfaceIDs.pumpSerial = pumpSerial +fun ProfileSwitch.getCustomizedName(): String { + var name: String = profileName + if (Constants.LOCAL_PROFILE == name) { + name = to2Decimal(ProfileSealed.PS(this).percentageBasalSum()) + "U " } + if (timeshift != 0L || percentage != 100) { + name += "($percentage%" + if (timeshift != 0L) name += "," + T.msecs(timeshift).hours() + "h" + name += ")" + } + return name } +fun ProfileSwitch.GlucoseUnit.Companion.fromConstant(units: GlucoseUnit): ProfileSwitch.GlucoseUnit = + if (units == GlucoseUnit.MGDL) ProfileSwitch.GlucoseUnit.MGDL + else ProfileSwitch.GlucoseUnit.MMOL + /** * Pure profile doesn't contain timestamp, percentage, timeshift, profileName */ @@ -140,21 +74,4 @@ fun pureProfileFromJson(jsonObject: JSONObject, dateUtil: DateUtil, defaultUnits } catch (ignored: Exception) { return null } -} - -fun ProfileSwitch.getCustomizedName(): String { - var name: String = profileName - if (Constants.LOCAL_PROFILE == name) { - name = to2Decimal(ProfileSealed.PS(this).percentageBasalSum()) + "U " - } - if (timeshift != 0L || percentage != 100) { - name += "($percentage%" - if (timeshift != 0L) name += "," + T.msecs(timeshift).hours() + "h" - name += ")" - } - return name -} - -fun ProfileSwitch.GlucoseUnit.Companion.fromConstant(units: GlucoseUnit): ProfileSwitch.GlucoseUnit = - if (units == GlucoseUnit.MGDL) ProfileSwitch.GlucoseUnit.MGDL - else ProfileSwitch.GlucoseUnit.MMOL +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index f6101e576b..e06ff75f4b 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,21 +1,16 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryBasal.Type.Companion.fromString -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T -import org.json.JSONObject import kotlin.math.ceil import kotlin.math.max import kotlin.math.min @@ -62,69 +57,6 @@ fun TemporaryBasal.toStringFull(profile: Profile, dateUtil: DateUtil): String { } } -fun TemporaryBasal.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("created_at", dateUtil.toISOString(timestamp)) - .put("enteredBy", "openaps://" + "AndroidAPS") - .put("eventType", TherapyEvent.Type.TEMPORARY_BASAL.text) - .put("isValid", isValid) - .put("duration", T.msecs(duration).mins()) - .put("durationInMilliseconds", duration) // rounded duration leads to different basal IOB - .put("type", type.name) - .put("rate", convertedToAbsolute(timestamp, profile)) // generated by OpenAPS, for compatibility - .also { - if (isAbsolute) it.put("absolute", rate) - else it.put("percent", rate - 100) - if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) - if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) - if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) - if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } - -@Suppress("IfThenToElvis", "CascadeIf") -fun temporaryBasalFromJson(jsonObject: JSONObject): TemporaryBasal? { - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - val percent = JsonHelper.safeGetDoubleAllowNull(jsonObject, "percent") - val absolute = JsonHelper.safeGetDoubleAllowNull(jsonObject, "absolute") - val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration") ?: return null - val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") - val type = fromString(JsonHelper.safeGetString(jsonObject, "type")) - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null - val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) - val endPumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "endId", null) - val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) - val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) - - val rate: Double - val isAbsolute: Boolean - if (absolute != null) { - rate = absolute - isAbsolute = true - } else if (percent != null) { - rate = percent + 100 - isAbsolute = false - } else return null - if (duration == 0L && durationInMilliseconds == null) return null - if (timestamp == 0L) return null - - return TemporaryBasal( - timestamp = timestamp, - rate = rate, - duration = durationInMilliseconds ?: T.mins(duration).msecs(), - type = type, - isAbsolute = isAbsolute, - isValid = isValid - ).also { - it.interfaceIDs.nightscoutId = id - it.interfaceIDs.pumpId = pumpId - it.interfaceIDs.endId = endPumpId - it.interfaceIDs.pumpType = pumpType - it.interfaceIDs.pumpSerial = pumpSerial - } -} - fun TemporaryBasal.toStringShort(): String = if (isAbsolute || type == TemporaryBasal.Type.FAKE_EXTENDED) to2Decimal(rate) + "U/h" else "${to0Decimal(rate)}%" diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index ae7a846565..4a221c85bc 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -1,17 +1,13 @@ package info.nightscout.androidaps.extensions -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper -import org.json.JSONObject +import info.nightscout.interfaces.Constants import java.util.concurrent.TimeUnit fun TemporaryTarget.isInProgress(dateUtil: DateUtil): Boolean = @@ -32,71 +28,3 @@ fun TemporaryTarget.friendlyDescription(units: GlucoseUnit, rh: ResourceHelper): Profile.toTargetRangeString(lowTarget, highTarget, GlucoseUnit.MGDL, units) + units.asText + "@" + rh.gs(R.string.format_mins, TimeUnit.MILLISECONDS.toMinutes(duration)) + "(" + reason.text + ")" - -/* - create fake object with nsID and isValid == false - */ -fun temporaryTargetFromNsIdForInvalidating(nsId: String): TemporaryTarget = - temporaryTargetFromJson( - JSONObject() - .put("mills", 1) - .put("duration", -1) - .put("reason", "fake") - .put("_id", nsId) - .put("isValid", false) - )!! - -fun temporaryTargetFromJson(jsonObject: JSONObject): TemporaryTarget? { - val units = GlucoseUnit.fromText(JsonHelper.safeGetString(jsonObject, "units", Constants.MGDL)) - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration", null) ?: return null - val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") - var low = JsonHelper.safeGetDouble(jsonObject, "targetBottom") - low = Profile.toMgdl(low, units) - var high = JsonHelper.safeGetDouble(jsonObject, "targetTop") - high = Profile.toMgdl(high, units) - val reasonString = if (duration != 0L) JsonHelper.safeGetStringAllowNull(jsonObject, "reason", null) - ?: return null else "" - // this string can be localized from NS, it will not work in this case CUSTOM will be used - val reason = TemporaryTarget.Reason.fromString(reasonString) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - - if (timestamp == 0L) return null - - if (duration > 0L) { - // not ending event - if (low < Constants.MIN_TT_MGDL) return null - if (low > Constants.MAX_TT_MGDL) return null - if (high < Constants.MIN_TT_MGDL) return null - if (high > Constants.MAX_TT_MGDL) return null - if (low > high) return null - } - val tt = TemporaryTarget( - timestamp = timestamp, - duration = durationInMilliseconds ?: T.mins(duration).msecs(), - reason = reason, - lowTarget = low, - highTarget = high, - isValid = isValid - ) - tt.interfaceIDs.nightscoutId = id - return tt -} - -fun TemporaryTarget.toJson(isAdd: Boolean, units: GlucoseUnit, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("eventType", TherapyEvent.Type.TEMPORARY_TARGET.text) - .put("duration", T.msecs(duration).mins()) - .put("durationInMilliseconds", duration) - .put("isValid", isValid) - .put("created_at", dateUtil.toISOString(timestamp)) - .put("timestamp", timestamp) - .put("enteredBy", "AndroidAPS").also { - if (lowTarget > 0) it - .put("reason", reason.text) - .put("targetBottom", Profile.fromMgdlToUnits(lowTarget, units)) - .put("targetTop", Profile.fromMgdlToUnits(highTarget, units)) - .put("units", units.asText) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index 50bb28ca31..18350b849d 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -1,27 +1,7 @@ package info.nightscout.androidaps.extensions -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T -import org.json.JSONObject -import java.util.concurrent.TimeUnit - -fun TherapyEvent.age(useShortText: Boolean, rh: ResourceHelper, dateUtil: DateUtil): String { - val diff = dateUtil.computeDiff(timestamp, System.currentTimeMillis()) - var days = " " + rh.gs(R.string.days) + " " - var hours = " " + rh.gs(R.string.hours) + " " - if (useShortText) { - days = rh.gs(R.string.shortday) - hours = rh.gs(R.string.shorthour) - } - return diff[TimeUnit.DAYS].toString() + days + diff[TimeUnit.HOURS] + hours -} fun TherapyEvent.isOlderThan(hours: Double): Boolean { return getHoursFromStart() > hours @@ -31,81 +11,6 @@ fun TherapyEvent.getHoursFromStart(): Double { return (System.currentTimeMillis() - timestamp) / (60 * 60 * 1000.0) } -fun TherapyEvent.GlucoseUnit.toMainUnit(): GlucoseUnit = - if (this == TherapyEvent.GlucoseUnit.MGDL) GlucoseUnit.MGDL - else GlucoseUnit.MMOL - fun TherapyEvent.GlucoseUnit.Companion.fromConstant(units: GlucoseUnit): TherapyEvent.GlucoseUnit = if (units == GlucoseUnit.MGDL) TherapyEvent.GlucoseUnit.MGDL else TherapyEvent.GlucoseUnit.MMOL - -fun therapyEventFromNsMbg(mbg: NSMbg) = - TherapyEvent( - type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, //convert Mbg to finger stick because is coming from "entries" collection - timestamp = mbg.date, - glucose = mbg.mbg, - glucoseUnit = TherapyEvent.GlucoseUnit.MGDL - ) -//.also { -// it.interfaceIDs.nightscoutId = mbg.id() // id will be different in treatments collection -//} - -/* - create fake object with nsID and isValid == false - */ - -fun therapyEventFromJson(jsonObject: JSONObject): TherapyEvent? { - val glucoseUnit = if (JsonHelper.safeGetString(jsonObject, "units", Constants.MGDL) == Constants.MGDL) TherapyEvent.GlucoseUnit.MGDL else TherapyEvent.GlucoseUnit.MMOL - val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null - val type = TherapyEvent.Type.fromString(JsonHelper.safeGetString(jsonObject, "eventType", TherapyEvent.Type.NONE.text)) - val duration = JsonHelper.safeGetLong(jsonObject, "duration") - val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") - val glucose = JsonHelper.safeGetDoubleAllowNull(jsonObject, "glucose") - val glucoseType = TherapyEvent.MeterType.fromString(JsonHelper.safeGetString(jsonObject, "glucoseType")) - val enteredBy = JsonHelper.safeGetStringAllowNull(jsonObject, "enteredBy", null) - val note = JsonHelper.safeGetStringAllowNull(jsonObject, "notes", null) - val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null - val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) - - if (timestamp == 0L) return null - - val te = TherapyEvent( - timestamp = timestamp, - duration = durationInMilliseconds ?: T.mins(duration).msecs(), - glucoseUnit = glucoseUnit, - type = type, - glucose = glucose, - glucoseType = glucoseType, - enteredBy = enteredBy, - note = note, - isValid = isValid - ) - te.interfaceIDs.nightscoutId = id - return te -} - -fun TherapyEvent.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = - JSONObject() - .put("eventType", type.text) - .put("isValid", isValid) - .put("created_at", dateUtil.toISOString(timestamp)) - .put("enteredBy", enteredBy) - .put("units", if (glucoseUnit == TherapyEvent.GlucoseUnit.MGDL) Constants.MGDL else Constants.MMOL) - .also { - if (duration != 0L) it.put("duration", T.msecs(duration).mins()) - if (duration != 0L) it.put("durationInMilliseconds", duration) - if (note != null) it.put("notes", note) - if (glucose != null) it.put("glucose", glucose) - if (glucoseType != null) it.put("glucoseType", glucoseType!!.text) - if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - if (type == TherapyEvent.Type.ANNOUNCEMENT) it.put("isAnnouncement", true) - } - -fun List.isTherapyEventEvent5minBack(time: Long): Boolean { - for (event in this) { - if (event.timestamp <= time && event.timestamp > time - T.mins(5).msecs()) { - return true - } - } - return false -} diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 55196b068b..5165d90c2d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -60,6 +60,17 @@ interface ActivePlugin { */ val activeIobCobCalculator: IobCobCalculator + /** + * Currently selected NsClient plugin + */ + val activeNsClient: NsClient? + + /** + * Currently selected Sync plugin + */ + val firstActiveSync: Sync? + val activeSyncs: ArrayList + /** * List of all registered plugins */ diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt index 7e6c49a8d0..bf215d0229 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt @@ -29,22 +29,22 @@ interface DataSyncSelector { fun confirmLastBolusIdIfGreater(lastSynced: Long) fun changedBoluses() : List // Until NS v3 - fun processChangedBolusesCompat(): Boolean + fun processChangedBolusesCompat() fun confirmLastCarbsIdIfGreater(lastSynced: Long) fun changedCarbs() : List // Until NS v3 - fun processChangedCarbsCompat(): Boolean + fun processChangedCarbsCompat() fun confirmLastBolusCalculatorResultsIdIfGreater(lastSynced: Long) fun changedBolusCalculatorResults() : List // Until NS v3 - fun processChangedBolusCalculatorResultsCompat(): Boolean + fun processChangedBolusCalculatorResultsCompat() fun confirmLastTempTargetsIdIfGreater(lastSynced: Long) fun changedTempTargets() : List // Until NS v3 - fun processChangedTempTargetsCompat(): Boolean + fun processChangedTempTargetsCompat() fun confirmLastGlucoseValueIdIfGreater(lastSynced: Long) fun changedGlucoseValues() : List @@ -54,42 +54,42 @@ interface DataSyncSelector { fun confirmLastTherapyEventIdIfGreater(lastSynced: Long) fun changedTherapyEvents() : List // Until NS v3 - fun processChangedTherapyEventsCompat(): Boolean + fun processChangedTherapyEventsCompat() fun confirmLastFoodIdIfGreater(lastSynced: Long) fun changedFoods() : List // Until NS v3 - fun processChangedFoodsCompat(): Boolean + fun processChangedFoodsCompat() fun confirmLastDeviceStatusIdIfGreater(lastSynced: Long) fun changedDeviceStatuses() : List // Until NS v3 - fun processChangedDeviceStatusesCompat(): Boolean + fun processChangedDeviceStatusesCompat() fun confirmLastTemporaryBasalIdIfGreater(lastSynced: Long) fun changedTemporaryBasals() : List // Until NS v3 - fun processChangedTemporaryBasalsCompat(): Boolean + fun processChangedTemporaryBasalsCompat() fun confirmLastExtendedBolusIdIfGreater(lastSynced: Long) fun changedExtendedBoluses() : List // Until NS v3 - fun processChangedExtendedBolusesCompat(): Boolean + fun processChangedExtendedBolusesCompat() fun confirmLastProfileSwitchIdIfGreater(lastSynced: Long) fun changedProfileSwitch() : List // Until NS v3 - fun processChangedProfileSwitchesCompat(): Boolean + fun processChangedProfileSwitchesCompat() fun confirmLastEffectiveProfileSwitchIdIfGreater(lastSynced: Long) fun changedEffectiveProfileSwitch() : List // Until NS v3 - fun processChangedEffectiveProfileSwitchesCompat(): Boolean + fun processChangedEffectiveProfileSwitchesCompat() fun confirmLastOfflineEventIdIfGreater(lastSynced: Long) fun changedOfflineEvents() : List // Until NS v3 - fun processChangedOfflineEventsCompat(): Boolean + fun processChangedOfflineEventsCompat() fun confirmLastProfileStore(lastSynced: Long) fun processChangedProfileStore() diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt new file mode 100644 index 0000000000..4380940eb0 --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt @@ -0,0 +1,30 @@ +package info.nightscout.androidaps.interfaces + +import android.text.Spanned +import org.json.JSONObject + +interface NsClient : Sync { + enum class Version { + NONE, V1, V3 + } + + val version: Version + val address: String + val nsClientService: NSClientService? + + fun pause(newState: Boolean) + fun resend(reason: String) + fun textLog(): Spanned + fun clearLog() + + fun updateLatestBgReceivedIfNewer(latestReceived: Long) + fun updateLatestTreatmentReceivedIfNewer(latestReceived: Long) + + fun resetToFullSync() + + interface NSClientService { + + fun dbAdd(collection: String, data: JSONObject, originalObject: Any, progress: String) + fun dbUpdate(collection: String, _id: String?, data: JSONObject?, originalObject: Any, progress: String) + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt new file mode 100644 index 0000000000..9bb570850e --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt @@ -0,0 +1,5 @@ +package info.nightscout.androidaps.interfaces + +interface PluginFragment { + var plugin: PluginBase? +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index 6238e4ee1e..4909610ceb 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -4,11 +4,11 @@ import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import org.json.JSONException @@ -100,5 +100,5 @@ class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val d .asSequence() .map { profileName -> getSpecificProfile(profileName.toString()) } .map { pureProfile -> pureProfile?.let { ProfileSealed.Pure(pureProfile).isValid("allProfilesValid", activePlugin.activePump, config, rh, rxBus, hardLimits, false) } } - .all { it?.isValid == true} + .all { it?.isValid == true } } diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt new file mode 100644 index 0000000000..8139182f52 --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt @@ -0,0 +1,8 @@ +package info.nightscout.androidaps.interfaces + +interface Sync { + + val hasWritePermission: Boolean + val connected: Boolean + val status: String +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt index cc84ee76ba..458573003d 100644 --- a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt +++ b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt @@ -6,13 +6,13 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.UserEntryTransaction +import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.userEntry.UserEntryMapper import info.nightscout.androidaps.utils.userEntry.ValueWithUnitMapper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign -import io.reactivex.rxjava3.kotlin.subscribeBy import javax.inject.Inject import javax.inject.Singleton @@ -21,35 +21,37 @@ import javax.inject.Singleton class UserEntryLogger @Inject constructor( private val aapsLogger: AAPSLogger, private val repository: AppRepository, - private val aapsSchedulers: AapsSchedulers + private val aapsSchedulers: AapsSchedulers, + private val dateUtil: DateUtil ) { private val compositeDisposable = CompositeDisposable() - fun log(action: Action, source: Sources, note: String? ="", vararg listvalues: ValueWithUnit?) = log(action, source, note, listvalues.toList()) + fun log(action: Action, source: Sources, note: String? = "", vararg listValues: ValueWithUnit?) = log(action, source, note, listValues.toList()) - fun log(action: Action, source: Sources, vararg listvalues: ValueWithUnit?) = log(action, source,"", listvalues.toList()) + fun log(action: Action, source: Sources, vararg listValues: ValueWithUnit?) = log(action, source, "", listValues.toList()) - fun log(action: Action, source: Sources, note: String? ="", listvalues: List = listOf()) { - val filteredValues = listvalues.toList().filterNotNull() - compositeDisposable += repository.runTransaction(UserEntryTransaction( - action = action, - source = source, - note = note ?: "", - values = filteredValues - )) + fun log(action: Action, source: Sources, note: String? = "", listValues: List = listOf()) { + val filteredValues = listValues.toList().filterNotNull() + log(listOf(UserEntryTransaction.Entry(dateUtil.now(), action, source, note ?: "", filteredValues))) + } + + fun log(entries: List) { + compositeDisposable += repository.runTransactionForResult(UserEntryTransaction(entries)) .subscribeOn(aapsSchedulers.io) .observeOn(aapsSchedulers.io) - .subscribeBy( - onError = { aapsLogger.debug("ERRORED USER ENTRY: $action $source $note $filteredValues") }, - onComplete = { aapsLogger.debug("USER ENTRY: $action $source $note $filteredValues") } + .subscribe( + { result -> result.forEach { aapsLogger.debug("USER ENTRY: ${dateUtil.dateAndTimeAndSecondsString(it.timestamp)} ${it.action} ${it.source} ${it.note} ${it.values}") } }, + { aapsLogger.debug("FAILED USER ENTRY: $it $entries") }, ) } - fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, note: String? ="", vararg listvalues: ValueWithUnitMapper?) = log(action.db, source.db, note, listvalues.toList().map {it?.db()}) + fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, note: String? = "", vararg listValues: ValueWithUnitMapper?) = + log(action.db, source.db, note, listValues.toList().map { it?.db() }) - fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, vararg listvalues: ValueWithUnitMapper?) = log(action.db, source.db, "", listvalues.toList().map {it?.db()}) + fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, vararg listValues: ValueWithUnitMapper?) = log(action.db, source.db, "", listValues.toList().map { it?.db() }) - fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, note: String? ="", listvalues: List = listOf()) = log(action.db, source.db, note, listvalues.map {it?.db()}) + fun log(action: UserEntryMapper.Action, source: UserEntryMapper.Sources, note: String? = "", listValues: List = listOf()) = + log(action.db, source.db, note, listValues.map { it?.db() }) } \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt b/core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt index e790ec9f45..2e9a1ecc7a 100644 --- a/core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt +++ b/core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt @@ -37,6 +37,7 @@ class DataWorkerStorage @Inject constructor( return value } + @Suppress("unused") @Synchronized fun pickupString(key: Long): String? { val value = store[key] store.remove(key) @@ -63,9 +64,12 @@ class DataWorkerStorage @Inject constructor( fun enqueue(request: OneTimeWorkRequest) { WorkManager.getInstance(context) .enqueueUniqueWork(jobGroupName, ExistingWorkPolicy.APPEND_OR_REPLACE, request) - } + fun beginUniqueWork(jobName: String, request: OneTimeWorkRequest) = + WorkManager.getInstance(context) + .beginUniqueWork(jobName, ExistingWorkPolicy.APPEND_OR_REPLACE, request) + companion object { const val STORE_KEY = "storeKey" diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt index 33b9cf70a4..4e33dec317 100644 --- a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt +++ b/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt @@ -7,6 +7,8 @@ import android.net.Network import android.net.NetworkCapabilities import android.net.wifi.SupplicantState import android.net.wifi.WifiManager +import android.os.Handler +import android.os.HandlerThread import dagger.android.DaggerBroadcastReceiver import info.nightscout.interfaces.utils.StringUtils import info.nightscout.rx.bus.RxBus @@ -20,13 +22,14 @@ class NetworkChangeReceiver : DaggerBroadcastReceiver() { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var receiverStatusStore: ReceiverStatusStore + private val handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) override fun onReceive(context: Context, intent: Intent) { super.onReceive(context, intent) - rxBus.send(grabNetworkStatus(context, aapsLogger)) + handler.post { rxBus.send(grabNetworkStatus(context)) } } @Suppress("DEPRECATION") - private fun grabNetworkStatus(context: Context, aapsLogger: AAPSLogger): EventNetworkChange { + private fun grabNetworkStatus(context: Context): EventNetworkChange { val event = EventNetworkChange() val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val networks: Array = cm.allNetworks diff --git a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 2943970f80..9eca1f7df5 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,9 +5,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore @@ -16,6 +14,8 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index 8b29988c1d..dbcf168193 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -6,14 +6,14 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP @@ -30,7 +30,6 @@ import java.util.Calendar /** * Created by mike on 18.03.2018. */ -@Suppress("SpellCheckingInspection") class ProfileTest : TestBase() { @Mock lateinit var activePluginProvider: ActivePlugin @@ -47,11 +46,16 @@ class ProfileTest : TestBase() { private var okProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}]," + "\"sens\":[{\"time\":\"00:00\",\"value\":\"6\"},{\"time\":\"2:00\",\"value\":\"6.2\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" - private var belowLimitValidProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.001\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" - private var notAlignedBasalValidProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:30\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" - private var notStartingAtZeroValidProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:30\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" - private var noUnitsValidProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\"}" - private var wrongProfile = "{\"dia\":\"5\",\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" + private var belowLimitValidProfile = + "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.001\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" + private var notAlignedBasalValidProfile = + "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:30\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" + private var notStartingAtZeroValidProfile = + "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:30\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" + private var noUnitsValidProfile = + "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\"}" + private var wrongProfile = + "{\"dia\":\"5\",\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"100\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" //String profileStore = "{\"defaultProfile\":\"Default\",\"store\":{\"Default\":" + validProfile + "}}"; @@ -88,10 +92,12 @@ class ProfileTest : TestBase() { c[Calendar.HOUR_OF_DAY] = 2 Assert.assertEquals(111.6, p.getIsfMgdl(c.timeInMillis), 0.01) // Assert.assertEquals(110.0, p.getIsfTimeFromMidnight(2 * 60 * 60), 0.01) - Assert.assertEquals(""" + Assert.assertEquals( + """ 00:00 6,0 mmol/U 02:00 6,2 mmol/U - """.trimIndent(), p.getIsfList(rh, dateUtil).replace(".", ",")) + """.trimIndent(), p.getIsfList(rh, dateUtil).replace(".", ",") + ) Assert.assertEquals(30.0, p.getIc(c.timeInMillis), 0.01) Assert.assertEquals(30.0, p.getIcTimeFromMidnight(2 * 60 * 60), 0.01) Assert.assertEquals("00:00 30,0 g/U", p.getIcList(rh, dateUtil).replace(".", ",")) @@ -153,7 +159,8 @@ class ProfileTest : TestBase() { 00:00 6.2 mmol/U 01:00 6.0 mmol/U 03:00 6.2 mmol/U - """.trimIndent(), p.getIsfList(rh, dateUtil)) + """.trimIndent(), p.getIsfList(rh, dateUtil) + ) // Test hour alignment testPumpPlugin.pumpDescription.is30minBasalRatesCapable = false diff --git a/database/build.gradle b/database/build.gradle index 0bd96c99ff..82b79ab3f9 100644 --- a/database/build.gradle +++ b/database/build.gradle @@ -1,7 +1,10 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt b/database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt index bea32f40d7..57361f0e33 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt @@ -5,12 +5,11 @@ import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import com.google.gson.annotations.SerializedName import info.nightscout.androidaps.database.TABLE_THERAPY_EVENTS import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import java.util.TimeZone @Entity( tableName = TABLE_THERAPY_EVENTS, @@ -66,19 +65,16 @@ data class TherapyEvent( previous.interfaceIDs.nightscoutId == null && interfaceIDs.nightscoutId != null - enum class GlucoseUnit (val toString: String) { - MGDL (ValueWithUnit.MGDL), - MMOL (ValueWithUnit.MMOL); + enum class GlucoseUnit(val toString: String) { + MGDL(ValueWithUnit.MGDL), + MMOL(ValueWithUnit.MMOL); companion object } enum class MeterType(val text: String) { - @SerializedName("Finger") FINGER("Finger"), - @SerializedName("Sensor") SENSOR("Sensor"), - @SerializedName("Manual") MANUAL("Manual") ; @@ -91,99 +87,55 @@ data class TherapyEvent( @Suppress("unused") enum class Type(val text: String, val nsNative: Boolean = false) { - @SerializedName("Site Change") CANNULA_CHANGE("Site Change", nsNative = true), - @SerializedName("Insulin Change") INSULIN_CHANGE("Insulin Change", nsNative = true), - @SerializedName("Pump Battery Change") PUMP_BATTERY_CHANGE("Pump Battery Change", nsNative = true), - @SerializedName("Sensor Change") SENSOR_CHANGE("Sensor Change", nsNative = true), - @SerializedName("Sensor Start") SENSOR_STARTED("Sensor Start", nsNative = true), - @SerializedName("Sensor Stop") SENSOR_STOPPED("Sensor Stop", nsNative = true), - @SerializedName("BG Check") FINGER_STICK_BG_VALUE("BG Check", nsNative = true), - @SerializedName("Exercise") EXERCISE("Exercise", nsNative = true), - @SerializedName("Announcement") ANNOUNCEMENT("Announcement", nsNative = true), - @SerializedName("Question") QUESTION("Question", nsNative = true), - @SerializedName("Note") NOTE("Note", nsNative = true), - @SerializedName("OpenAPS Offline") APS_OFFLINE("OpenAPS Offline", nsNative = true), - @SerializedName("D.A.D. Alert") DAD_ALERT("D.A.D. Alert", nsNative = true), - @SerializedName("Mbg") NS_MBG("Mbg", nsNative = true), // Used but not as a Therapy Event (use constants only) - @SerializedName("Carb Correction") CARBS_CORRECTION("Carb Correction", nsNative = true), - @SerializedName("Bolus Wizard") BOLUS_WIZARD("Bolus Wizard", nsNative = true), - @SerializedName("Correction Bolus") CORRECTION_BOLUS("Correction Bolus", nsNative = true), - @SerializedName("Meal Bolus") MEAL_BOLUS("Meal Bolus", nsNative = true), - @SerializedName("Combo Bolus") COMBO_BOLUS("Combo Bolus", nsNative = true), - @SerializedName("Temporary Target") TEMPORARY_TARGET("Temporary Target", nsNative = true), - @SerializedName("Temporary Target Cancel") TEMPORARY_TARGET_CANCEL("Temporary Target Cancel", nsNative = true), - @SerializedName("Profile Switch") PROFILE_SWITCH("Profile Switch", nsNative = true), - @SerializedName("Snack Bolus") SNACK_BOLUS("Snack Bolus", nsNative = true), - @SerializedName("Temp Basal") TEMPORARY_BASAL("Temp Basal", nsNative = true), - @SerializedName("Temp Basal Start") TEMPORARY_BASAL_START("Temp Basal Start", nsNative = true), - @SerializedName("Temp Basal End") TEMPORARY_BASAL_END("Temp Basal End", nsNative = true), // Not supported by NS - @SerializedName("Tube Change") TUBE_CHANGE("Tube Change"), - @SerializedName("Falling Asleep") FALLING_ASLEEP("Falling Asleep"), - @SerializedName("Battery Empty") BATTERY_EMPTY("Battery Empty"), - @SerializedName("Reservoir Empty") RESERVOIR_EMPTY("Reservoir Empty"), - @SerializedName("Occlusion") OCCLUSION("Occlusion"), - @SerializedName("Pump Stopped") PUMP_STOPPED("Pump Stopped"), - @SerializedName("Pump Started") PUMP_STARTED("Pump Started"), - @SerializedName("Pump Paused") PUMP_PAUSED("Pump Paused"), - @SerializedName("Waking Up") WAKING_UP("Waking Up"), - @SerializedName("Sickness") SICKNESS("Sickness"), - @SerializedName("Stress") STRESS("Stress"), - @SerializedName("Pre Period") PRE_PERIOD("Pre Period"), - @SerializedName("Alcohol") ALCOHOL("Alcohol"), - @SerializedName("Cortisone") CORTISONE("Cortisone"), - @SerializedName("Feeling Low") FEELING_LOW("Feeling Low"), - @SerializedName("Feeling High") FEELING_HIGH("Feeling High"), - @SerializedName("Leaking Infusion Set") LEAKING_INFUSION_SET("Leaking Infusion Set"), // Default - @SerializedName("") NONE("") ; diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt index 382aed5cde..939ebbe817 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt @@ -7,13 +7,10 @@ import info.nightscout.androidaps.database.entities.TherapyEvent /** * Inserts data from a CGM source into the database */ -class CgmSourceTransaction( +class CgmSourceTransaction constructor( private val glucoseValues: List, private val calibrations: List, - private val sensorInsertionTime: Long?, - private val syncer: Boolean = false // caller is not native source ie. NS - // syncer is allowed create records - // update synchronization ID + private val sensorInsertionTime: Long? ) : Transaction() { override fun run(): TransactionResult { @@ -26,7 +23,8 @@ class CgmSourceTransaction( value = it.value, noise = it.noise, trendArrow = it.trendArrow, - sourceSensor = it.sourceSensor + sourceSensor = it.sourceSensor, + isValid = it.isValid ).also { gv -> gv.interfaceIDs.nightscoutId = it.nightscoutId } @@ -37,31 +35,31 @@ class CgmSourceTransaction( current?.let { existing -> glucoseValue.isValid = existing.isValid } when { // new record, create new - current == null -> { + current == null -> { database.glucoseValueDao.insertNewEntry(glucoseValue) result.inserted.add(glucoseValue) } // different record, update - !current.contentEqualsTo(glucoseValue) && !syncer -> { + !current.contentEqualsTo(glucoseValue) -> { glucoseValue.id = current.id database.glucoseValueDao.updateExistingEntry(glucoseValue) result.updated.add(glucoseValue) } // update NS id if didn't exist and now provided - current.interfaceIDs.nightscoutId == null && it.nightscoutId != null && syncer -> { - glucoseValue.id = current.id - database.glucoseValueDao.updateExistingEntry(glucoseValue) - result.updated.add(glucoseValue) + current.interfaceIDs.nightscoutId == null && it.nightscoutId != null -> { + current.interfaceIDs.nightscoutId = it.nightscoutId + database.glucoseValueDao.updateExistingEntry(current) + result.updatedNsId.add(glucoseValue) } } } calibrations.forEach { if (database.therapyEventDao.findByTimestamp(TherapyEvent.Type.FINGER_STICK_BG_VALUE, it.timestamp) == null) { val therapyEvent = TherapyEvent( - timestamp = it.timestamp, - type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, - glucose = it.value, - glucoseUnit = it.glucoseUnit + timestamp = it.timestamp, + type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, + glucose = it.value, + glucoseUnit = it.glucoseUnit ) database.therapyEventDao.insertNewEntry(therapyEvent) result.calibrationsInserted.add(therapyEvent) @@ -88,7 +86,8 @@ class CgmSourceTransaction( val noise: Double?, val trendArrow: GlucoseValue.TrendArrow, val nightscoutId: String? = null, - val sourceSensor: GlucoseValue.SourceSensor + val sourceSensor: GlucoseValue.SourceSensor, + val isValid: Boolean = true ) data class Calibration( @@ -101,6 +100,7 @@ class CgmSourceTransaction( val inserted = mutableListOf() val updated = mutableListOf() + val updatedNsId = mutableListOf() val calibrationsInserted = mutableListOf() val sensorInsertionsInserted = mutableListOf() diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt index 7ac50e32d2..bc9d4b0c07 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt @@ -5,41 +5,42 @@ import info.nightscout.androidaps.database.entities.BolusCalculatorResult /** * Sync the BolusCalculatorResult from NS */ -class SyncNsBolusCalculatorResultTransaction(private val bolusCalculatorResult: BolusCalculatorResult) : +class SyncNsBolusCalculatorResultTransaction(private val bolusCalculatorResults: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: BolusCalculatorResult? = - bolusCalculatorResult.interfaceIDs.nightscoutId?.let { - database.bolusCalculatorResultDao.findByNSId(it) + for (bolusCalculatorResult in bolusCalculatorResults) { + val current: BolusCalculatorResult? = + bolusCalculatorResult.interfaceIDs.nightscoutId?.let { + database.bolusCalculatorResultDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !bolusCalculatorResult.isValid) { + current.isValid = false + database.bolusCalculatorResultDao.updateExistingEntry(current) + result.invalidated.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !bolusCalculatorResult.isValid) { - current.isValid = false - database.bolusCalculatorResultDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.bolusCalculatorResultDao.findByTimestamp(bolusCalculatorResult.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only + existing.interfaceIDs.nightscoutId = bolusCalculatorResult.interfaceIDs.nightscoutId + existing.isValid = bolusCalculatorResult.isValid + database.bolusCalculatorResultDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.bolusCalculatorResultDao.insertNewEntry(bolusCalculatorResult) + result.inserted.add(bolusCalculatorResult) } - return result - } - - // not known nsId - val existing = database.bolusCalculatorResultDao.findByTimestamp(bolusCalculatorResult.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only - existing.interfaceIDs.nightscoutId = bolusCalculatorResult.interfaceIDs.nightscoutId - existing.isValid = bolusCalculatorResult.isValid - database.bolusCalculatorResultDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.bolusCalculatorResultDao.insertNewEntry(bolusCalculatorResult) - result.inserted.add(bolusCalculatorResult) } return result - } class TransactionResult { diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt index 9457f2d802..a7f1c8b7f4 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt @@ -5,46 +5,47 @@ import info.nightscout.androidaps.database.entities.Bolus /** * Sync the Bolus from NS */ -class SyncNsBolusTransaction(private val bolus: Bolus) : Transaction() { +class SyncNsBolusTransaction(private val boluses: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: Bolus? = - bolus.interfaceIDs.nightscoutId?.let { - database.bolusDao.findByNSId(it) + for (bolus in boluses) { + val current: Bolus? = + bolus.interfaceIDs.nightscoutId?.let { + database.bolusDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation or amount update (for drivers setting full amount upfront) + if (current.isValid && !bolus.isValid) { + current.isValid = false + database.bolusDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.amount != bolus.amount) { + current.amount = bolus.amount + database.bolusDao.updateExistingEntry(current) + result.updated.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation or amount update (for drivers setting full amount upfront) - if (current.isValid && !bolus.isValid) { - current.isValid = false - database.bolusDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.bolusDao.findByTimestamp(bolus.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only and amount + existing.interfaceIDs.nightscoutId = bolus.interfaceIDs.nightscoutId + existing.isValid = bolus.isValid + existing.amount = bolus.amount + database.bolusDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.bolusDao.insertNewEntry(bolus) + result.inserted.add(bolus) } - if (current.amount != bolus.amount) { - current.amount = bolus.amount - database.bolusDao.updateExistingEntry(current) - result.updated.add(current) - } - return result - } - - // not known nsId - val existing = database.bolusDao.findByTimestamp(bolus.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only and amount - existing.interfaceIDs.nightscoutId = bolus.interfaceIDs.nightscoutId - existing.isValid = bolus.isValid - existing.amount = bolus.amount - database.bolusDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.bolusDao.insertNewEntry(bolus) - result.inserted.add(bolus) } return result - } class TransactionResult { diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt index ce916a321e..5e3bb60d94 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt @@ -5,47 +5,48 @@ import info.nightscout.androidaps.database.entities.Carbs /** * Sync the carbs from NS */ -class SyncNsCarbsTransaction(private val carbs: Carbs) : Transaction() { +class SyncNsCarbsTransaction(private val carbs: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: Carbs? = - carbs.interfaceIDs.nightscoutId?.let { - database.carbsDao.findByNSId(it) + for (carb in carbs) { + val current: Carbs? = + carb.interfaceIDs.nightscoutId?.let { + database.carbsDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !carb.isValid) { + current.isValid = false + database.carbsDao.updateExistingEntry(current) + result.invalidated.add(current) + } + // and change duration + if (current.duration != carb.duration) { + current.amount = carb.amount + current.duration = carb.duration + database.carbsDao.updateExistingEntry(current) + result.updated.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !carbs.isValid) { - current.isValid = false - database.carbsDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.carbsDao.findByTimestamp(carb.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only + existing.interfaceIDs.nightscoutId = carb.interfaceIDs.nightscoutId + existing.isValid = carb.isValid + database.carbsDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.carbsDao.insertNewEntry(carb) + result.inserted.add(carb) } - // and change duration - if (current.duration != carbs.duration) { - current.amount = carbs.amount - current.duration = carbs.duration - database.carbsDao.updateExistingEntry(current) - result.updated.add(current) - } - return result - } - - // not known nsId - val existing = database.carbsDao.findByTimestamp(carbs.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only - existing.interfaceIDs.nightscoutId = carbs.interfaceIDs.nightscoutId - existing.isValid = carbs.isValid - database.carbsDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.carbsDao.insertNewEntry(carbs) - result.inserted.add(carbs) } return result - } class TransactionResult { diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt index 93579275e4..81d264e79a 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt @@ -5,37 +5,39 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch /** * Sync the EffectiveProfileSwitch from NS */ -class SyncNsEffectiveProfileSwitchTransaction(private val effectiveProfileSwitch: EffectiveProfileSwitch) : Transaction() { +class SyncNsEffectiveProfileSwitchTransaction(private val effectiveProfileSwitches: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: EffectiveProfileSwitch? = - effectiveProfileSwitch.interfaceIDs.nightscoutId?.let { - database.effectiveProfileSwitchDao.findByNSId(it) + for (effectiveProfileSwitch in effectiveProfileSwitches) { + val current: EffectiveProfileSwitch? = + effectiveProfileSwitch.interfaceIDs.nightscoutId?.let { + database.effectiveProfileSwitchDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !effectiveProfileSwitch.isValid) { + current.isValid = false + database.effectiveProfileSwitchDao.updateExistingEntry(current) + result.invalidated.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !effectiveProfileSwitch.isValid) { - current.isValid = false - database.effectiveProfileSwitchDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.effectiveProfileSwitchDao.findByTimestamp(effectiveProfileSwitch.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only + existing.interfaceIDs.nightscoutId = effectiveProfileSwitch.interfaceIDs.nightscoutId + existing.isValid = effectiveProfileSwitch.isValid + database.effectiveProfileSwitchDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.effectiveProfileSwitchDao.insertNewEntry(effectiveProfileSwitch) + result.inserted.add(effectiveProfileSwitch) } - return result - } - - // not known nsId - val existing = database.effectiveProfileSwitchDao.findByTimestamp(effectiveProfileSwitch.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only - existing.interfaceIDs.nightscoutId = effectiveProfileSwitch.interfaceIDs.nightscoutId - existing.isValid = effectiveProfileSwitch.isValid - database.effectiveProfileSwitchDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.effectiveProfileSwitchDao.insertNewEntry(effectiveProfileSwitch) - result.inserted.add(effectiveProfileSwitch) } return result } diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt index 1d7b7eba6e..cd8f3accd1 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt @@ -7,66 +7,68 @@ import kotlin.math.abs /** * Sync the Extended bolus from NS */ -class SyncNsExtendedBolusTransaction(private val extendedBolus: ExtendedBolus) : +class SyncNsExtendedBolusTransaction(private val extendedBoluses: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - if (extendedBolus.duration != 0L) { - // not ending event - val current: ExtendedBolus? = - extendedBolus.interfaceIDs.nightscoutId?.let { - database.extendedBolusDao.findByNSId(it) + for (extendedBolus in extendedBoluses) { + if (extendedBolus.duration != 0L) { + // not ending event + val current: ExtendedBolus? = + extendedBolus.interfaceIDs.nightscoutId?.let { + database.extendedBolusDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !extendedBolus.isValid) { + current.isValid = false + database.extendedBolusDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.duration != extendedBolus.duration) { + current.duration = extendedBolus.duration + current.amount = extendedBolus.amount + database.extendedBolusDao.updateExistingEntry(current) + result.updatedDuration.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !extendedBolus.isValid) { - current.isValid = false - database.extendedBolusDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val running = database.extendedBolusDao.getExtendedBolusActiveAt(extendedBolus.timestamp).blockingGet() + if (running != null && abs(running.timestamp - extendedBolus.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds + // the same record, update nsId only + running.interfaceIDs.nightscoutId = extendedBolus.interfaceIDs.nightscoutId + database.extendedBolusDao.updateExistingEntry(running) + result.updatedNsId.add(running) + } else if (running != null) { + // another running record. end current and insert new + val pctRun = (extendedBolus.timestamp - running.timestamp) / running.duration.toDouble() + running.amount *= pctRun + running.end = extendedBolus.timestamp + database.extendedBolusDao.updateExistingEntry(running) + database.extendedBolusDao.insertNewEntry(extendedBolus) + result.ended.add(running) + result.inserted.add(extendedBolus) + } else { + database.extendedBolusDao.insertNewEntry(extendedBolus) + result.inserted.add(extendedBolus) } - if (current.duration != extendedBolus.duration) { - current.duration = extendedBolus.duration - current.amount = extendedBolus.amount - database.extendedBolusDao.updateExistingEntry(current) - result.updatedDuration.add(current) - } - return result - } + continue - // not known nsId - val running = database.extendedBolusDao.getExtendedBolusActiveAt(extendedBolus.timestamp).blockingGet() - if (running != null && abs(running.timestamp - extendedBolus.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds - // the same record, update nsId only - running.interfaceIDs.nightscoutId = extendedBolus.interfaceIDs.nightscoutId - database.extendedBolusDao.updateExistingEntry(running) - result.updatedNsId.add(running) - } else if (running != null) { - // another running record. end current and insert new - val pctRun = (extendedBolus.timestamp - running.timestamp) / running.duration.toDouble() - running.amount *= pctRun - running.end = extendedBolus.timestamp - database.extendedBolusDao.updateExistingEntry(running) - database.extendedBolusDao.insertNewEntry(extendedBolus) - result.ended.add(running) - result.inserted.add(extendedBolus) } else { - database.extendedBolusDao.insertNewEntry(extendedBolus) - result.inserted.add(extendedBolus) - } - return result - - } else { - // ending event - val running = database.extendedBolusDao.getExtendedBolusActiveAt(extendedBolus.timestamp).blockingGet() - if (running != null) { - val pctRun = (extendedBolus.timestamp - running.timestamp) / running.duration.toDouble() - running.amount *= pctRun - running.end = extendedBolus.timestamp - database.extendedBolusDao.updateExistingEntry(running) - result.ended.add(running) + // ending event + val running = database.extendedBolusDao.getExtendedBolusActiveAt(extendedBolus.timestamp).blockingGet() + if (running != null) { + val pctRun = (extendedBolus.timestamp - running.timestamp) / running.duration.toDouble() + running.amount *= pctRun + running.end = extendedBolus.timestamp + database.extendedBolusDao.updateExistingEntry(running) + result.ended.add(running) + } } } return result diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt index d5fa356039..e787c591f3 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt @@ -7,61 +7,63 @@ import kotlin.math.abs /** * Sync the OfflineEvent from NS */ -class SyncNsOfflineEventTransaction(private val offlineEvent: OfflineEvent) : +class SyncNsOfflineEventTransaction(private val offlineEvents: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - if (offlineEvent.duration != 0L) { - // not ending event - val current: OfflineEvent? = - offlineEvent.interfaceIDs.nightscoutId?.let { - database.offlineEventDao.findByNSId(it) + for (offlineEvent in offlineEvents) { + if (offlineEvent.duration != 0L) { + // not ending event + val current: OfflineEvent? = + offlineEvent.interfaceIDs.nightscoutId?.let { + database.offlineEventDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !offlineEvent.isValid) { + current.isValid = false + database.offlineEventDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.duration != offlineEvent.duration) { + current.duration = offlineEvent.duration + database.offlineEventDao.updateExistingEntry(current) + result.updatedDuration.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !offlineEvent.isValid) { - current.isValid = false - database.offlineEventDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val running = database.offlineEventDao.getOfflineEventActiveAt(offlineEvent.timestamp).blockingGet() + if (running != null && abs(running.timestamp - offlineEvent.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds + // the same record, update nsId only + running.interfaceIDs.nightscoutId = offlineEvent.interfaceIDs.nightscoutId + database.offlineEventDao.updateExistingEntry(running) + result.updatedNsId.add(running) + } else if (running != null) { + // another running record. end current and insert new + running.end = offlineEvent.timestamp + database.offlineEventDao.updateExistingEntry(running) + database.offlineEventDao.insertNewEntry(offlineEvent) + result.ended.add(running) + result.inserted.add(offlineEvent) + } else { + database.offlineEventDao.insertNewEntry(offlineEvent) + result.inserted.add(offlineEvent) } - if (current.duration != offlineEvent.duration) { - current.duration = offlineEvent.duration - database.offlineEventDao.updateExistingEntry(current) - result.updatedDuration.add(current) - } - return result - } + continue - // not known nsId - val running = database.offlineEventDao.getOfflineEventActiveAt(offlineEvent.timestamp).blockingGet() - if (running != null && abs(running.timestamp - offlineEvent.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds - // the same record, update nsId only - running.interfaceIDs.nightscoutId = offlineEvent.interfaceIDs.nightscoutId - database.offlineEventDao.updateExistingEntry(running) - result.updatedNsId.add(running) - } else if (running != null) { - // another running record. end current and insert new - running.end = offlineEvent.timestamp - database.offlineEventDao.updateExistingEntry(running) - database.offlineEventDao.insertNewEntry(offlineEvent) - result.ended.add(running) - result.inserted.add(offlineEvent) } else { - database.offlineEventDao.insertNewEntry(offlineEvent) - result.inserted.add(offlineEvent) - } - return result - - } else { - // ending event - val running = database.offlineEventDao.getOfflineEventActiveAt(offlineEvent.timestamp).blockingGet() - if (running != null) { - running.end = offlineEvent.timestamp - database.offlineEventDao.updateExistingEntry(running) - result.ended.add(running) + // ending event + val running = database.offlineEventDao.getOfflineEventActiveAt(offlineEvent.timestamp).blockingGet() + if (running != null) { + running.end = offlineEvent.timestamp + database.offlineEventDao.updateExistingEntry(running) + result.ended.add(running) + } } } return result diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt index e99d79a334..e11f5ebad0 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt @@ -5,37 +5,39 @@ import info.nightscout.androidaps.database.entities.ProfileSwitch /** * Sync the ProfileSwitch from NS */ -class SyncNsProfileSwitchTransaction(private val profileSwitch: ProfileSwitch) : Transaction() { +class SyncNsProfileSwitchTransaction(private val profileSwitches: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: ProfileSwitch? = - profileSwitch.interfaceIDs.nightscoutId?.let { - database.profileSwitchDao.findByNSId(it) + for (profileSwitch in profileSwitches) { + val current: ProfileSwitch? = + profileSwitch.interfaceIDs.nightscoutId?.let { + database.profileSwitchDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !profileSwitch.isValid) { + current.isValid = false + database.profileSwitchDao.updateExistingEntry(current) + result.invalidated.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !profileSwitch.isValid) { - current.isValid = false - database.profileSwitchDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.profileSwitchDao.findByTimestamp(profileSwitch.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only + existing.interfaceIDs.nightscoutId = profileSwitch.interfaceIDs.nightscoutId + existing.isValid = profileSwitch.isValid + database.profileSwitchDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.profileSwitchDao.insertNewEntry(profileSwitch) + result.inserted.add(profileSwitch) } - return result - } - - // not known nsId - val existing = database.profileSwitchDao.findByTimestamp(profileSwitch.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only - existing.interfaceIDs.nightscoutId = profileSwitch.interfaceIDs.nightscoutId - existing.isValid = profileSwitch.isValid - database.profileSwitchDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.profileSwitchDao.insertNewEntry(profileSwitch) - result.inserted.add(profileSwitch) } return result } diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt index 8a4931617a..1789102029 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt @@ -7,54 +7,54 @@ import kotlin.math.abs /** * Sync the Temporary Basal from NS */ -class SyncNsTemporaryBasalTransaction( - private val temporaryBasal: TemporaryBasal -) : Transaction() { +class SyncNsTemporaryBasalTransaction(private val temporaryBasals: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - if (temporaryBasal.duration != 0L) { - // not ending event - val current: TemporaryBasal? = - temporaryBasal.interfaceIDs.nightscoutId?.let { - database.temporaryBasalDao.findByNSId(it) + for (temporaryBasal in temporaryBasals) { + if (temporaryBasal.duration != 0L) { + // not ending event + val current = temporaryBasal.interfaceIDs.nightscoutId?.let { + database.temporaryBasalDao.findByNSId(it) ?: temporaryBasal.interfaceIDs.pumpId?.let { + database.temporaryBasalDao.findByPumpIds(temporaryBasal.interfaceIDs.pumpId!!, temporaryBasal.interfaceIDs.pumpType!!, temporaryBasal.interfaceIDs.pumpSerial!!) + } } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !temporaryBasal.isValid) { - current.isValid = false - database.temporaryBasalDao.updateExistingEntry(current) - result.invalidated.add(current) + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !temporaryBasal.isValid) { + current.isValid = false + database.temporaryBasalDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.duration != temporaryBasal.duration) { + current.duration = temporaryBasal.duration + database.temporaryBasalDao.updateExistingEntry(current) + result.updatedDuration.add(current) + } + continue } - if (current.duration != temporaryBasal.duration) { - current.duration = temporaryBasal.duration - database.temporaryBasalDao.updateExistingEntry(current) - result.updatedDuration.add(current) - } - return result - } - // not known nsId - val running = database.temporaryBasalDao.getTemporaryBasalActiveAt(temporaryBasal.timestamp).blockingGet() - if (running != null && abs(running.timestamp - temporaryBasal.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds - // the same record, update nsId only - running.interfaceIDs.nightscoutId = temporaryBasal.interfaceIDs.nightscoutId - database.temporaryBasalDao.updateExistingEntry(running) - result.updatedNsId.add(running) - } else if (running != null) { - // another running record. end current and insert new - running.end = temporaryBasal.timestamp - database.temporaryBasalDao.updateExistingEntry(running) - database.temporaryBasalDao.insertNewEntry(temporaryBasal) - result.ended.add(running) - result.inserted.add(temporaryBasal) - } else { - database.temporaryBasalDao.insertNewEntry(temporaryBasal) - result.inserted.add(temporaryBasal) + // not known nsId + val running = database.temporaryBasalDao.getTemporaryBasalActiveAt(temporaryBasal.timestamp).blockingGet() + if (running != null && abs(running.timestamp - temporaryBasal.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds + // the same record, update nsId only + running.interfaceIDs.nightscoutId = temporaryBasal.interfaceIDs.nightscoutId + database.temporaryBasalDao.updateExistingEntry(running) + result.updatedNsId.add(running) + } else if (running != null) { + // another running record. end current and insert new + running.end = temporaryBasal.timestamp + database.temporaryBasalDao.updateExistingEntry(running) + database.temporaryBasalDao.insertNewEntry(temporaryBasal) + result.ended.add(running) + result.inserted.add(temporaryBasal) + } else { + database.temporaryBasalDao.insertNewEntry(temporaryBasal) + result.inserted.add(temporaryBasal) + } } - return result } return result } diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt index a3eff6d1e6..d3fcb29cf1 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt @@ -7,61 +7,62 @@ import kotlin.math.abs /** * Sync the TemporaryTarget from NS */ -class SyncNsTemporaryTargetTransaction(private val temporaryTarget: TemporaryTarget) : +class SyncNsTemporaryTargetTransaction(private val temporaryTargets: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - if (temporaryTarget.duration != 0L) { - // not ending event - val current: TemporaryTarget? = - temporaryTarget.interfaceIDs.nightscoutId?.let { - database.temporaryTargetDao.findByNSId(it) + for (temporaryTarget in temporaryTargets) { + if (temporaryTarget.duration != 0L) { + // not ending event + val current: TemporaryTarget? = + temporaryTarget.interfaceIDs.nightscoutId?.let { + database.temporaryTargetDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !temporaryTarget.isValid) { + current.isValid = false + database.temporaryTargetDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.duration != temporaryTarget.duration) { + current.duration = temporaryTarget.duration + database.temporaryTargetDao.updateExistingEntry(current) + result.updatedDuration.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !temporaryTarget.isValid) { - current.isValid = false - database.temporaryTargetDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val running = database.temporaryTargetDao.getTemporaryTargetActiveAt(temporaryTarget.timestamp).blockingGet() + if (running != null && abs(running.timestamp - temporaryTarget.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds + // the same record, update nsId only + running.interfaceIDs.nightscoutId = temporaryTarget.interfaceIDs.nightscoutId + database.temporaryTargetDao.updateExistingEntry(running) + result.updatedNsId.add(running) + } else if (running != null) { + // another running record. end current and insert new + running.end = temporaryTarget.timestamp + database.temporaryTargetDao.updateExistingEntry(running) + database.temporaryTargetDao.insertNewEntry(temporaryTarget) + result.ended.add(running) + result.inserted.add(temporaryTarget) + } else { + database.temporaryTargetDao.insertNewEntry(temporaryTarget) + result.inserted.add(temporaryTarget) } - if (current.duration != temporaryTarget.duration) { - current.duration = temporaryTarget.duration - database.temporaryTargetDao.updateExistingEntry(current) - result.updatedDuration.add(current) - } - return result - } - - // not known nsId - val running = database.temporaryTargetDao.getTemporaryTargetActiveAt(temporaryTarget.timestamp).blockingGet() - if (running != null && abs(running.timestamp - temporaryTarget.timestamp) < 1000 && running.interfaceIDs.nightscoutId == null) { // allow missing milliseconds - // the same record, update nsId only - running.interfaceIDs.nightscoutId = temporaryTarget.interfaceIDs.nightscoutId - database.temporaryTargetDao.updateExistingEntry(running) - result.updatedNsId.add(running) - } else if (running != null) { - // another running record. end current and insert new - running.end = temporaryTarget.timestamp - database.temporaryTargetDao.updateExistingEntry(running) - database.temporaryTargetDao.insertNewEntry(temporaryTarget) - result.ended.add(running) - result.inserted.add(temporaryTarget) + continue } else { - database.temporaryTargetDao.insertNewEntry(temporaryTarget) - result.inserted.add(temporaryTarget) - } - return result - - } else { - // ending event - val running = database.temporaryTargetDao.getTemporaryTargetActiveAt(temporaryTarget.timestamp).blockingGet() - if (running != null) { - running.end = temporaryTarget.timestamp - database.temporaryTargetDao.updateExistingEntry(running) - result.ended.add(running) + // ending event + val running = database.temporaryTargetDao.getTemporaryTargetActiveAt(temporaryTarget.timestamp).blockingGet() + if (running != null) { + running.end = temporaryTarget.timestamp + database.temporaryTargetDao.updateExistingEntry(running) + result.ended.add(running) + } } } return result diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt index 5ed73cf9d8..f0fa5104c1 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt @@ -5,46 +5,47 @@ import info.nightscout.androidaps.database.entities.TherapyEvent /** * Sync the TherapyEvents from NS */ -class SyncNsTherapyEventTransaction(private val therapyEvent: TherapyEvent) : +class SyncNsTherapyEventTransaction(private val therapyEvents: List) : Transaction() { override fun run(): TransactionResult { val result = TransactionResult() - val current: TherapyEvent? = - therapyEvent.interfaceIDs.nightscoutId?.let { - database.therapyEventDao.findByNSId(it) + for (therapyEvent in therapyEvents) { + val current: TherapyEvent? = + therapyEvent.interfaceIDs.nightscoutId?.let { + database.therapyEventDao.findByNSId(it) + } + + if (current != null) { + // nsId exists, allow only invalidation + if (current.isValid && !therapyEvent.isValid) { + current.isValid = false + database.therapyEventDao.updateExistingEntry(current) + result.invalidated.add(current) + } + if (current.duration != therapyEvent.duration) { + current.duration = therapyEvent.duration + database.therapyEventDao.updateExistingEntry(current) + result.updatedDuration.add(current) + } + continue } - if (current != null) { - // nsId exists, allow only invalidation - if (current.isValid && !therapyEvent.isValid) { - current.isValid = false - database.therapyEventDao.updateExistingEntry(current) - result.invalidated.add(current) + // not known nsId + val existing = database.therapyEventDao.findByTimestamp(therapyEvent.type, therapyEvent.timestamp) + if (existing != null && existing.interfaceIDs.nightscoutId == null) { + // the same record, update nsId only + existing.interfaceIDs.nightscoutId = therapyEvent.interfaceIDs.nightscoutId + existing.isValid = therapyEvent.isValid + database.therapyEventDao.updateExistingEntry(existing) + result.updatedNsId.add(existing) + } else { + database.therapyEventDao.insertNewEntry(therapyEvent) + result.inserted.add(therapyEvent) } - if (current.duration != therapyEvent.duration) { - current.duration = therapyEvent.duration - database.therapyEventDao.updateExistingEntry(current) - result.updatedDuration.add(current) - } - return result - } - - // not known nsId - val existing = database.therapyEventDao.findByTimestamp(therapyEvent.type, therapyEvent.timestamp) - if (existing != null && existing.interfaceIDs.nightscoutId == null) { - // the same record, update nsId only - existing.interfaceIDs.nightscoutId = therapyEvent.interfaceIDs.nightscoutId - existing.isValid = therapyEvent.isValid - database.therapyEventDao.updateExistingEntry(existing) - result.updatedNsId.add(existing) - } else { - database.therapyEventDao.insertNewEntry(therapyEvent) - result.inserted.add(therapyEvent) } return result - } class TransactionResult { diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt b/database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt index 714661fc36..6443041f2c 100644 --- a/database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt +++ b/database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt @@ -5,20 +5,28 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -class UserEntryTransaction( - val action: Action, - val source: Sources, - val note: String, - val values: List = listOf() -) : Transaction() { +class UserEntryTransaction(private val entries: List) : Transaction>() { - override fun run() { - database.userEntryDao.insert(UserEntry( - timestamp = System.currentTimeMillis(), - action = action, - source = source, - note = note, - values = values - )) + data class Entry( + val timestamp: Long, + val action: Action, + val source: Sources, + val note: String, + val values: List = listOf() + ) + + override fun run(): List { + + for (entry in entries) + database.userEntryDao.insert( + UserEntry( + timestamp = entry.timestamp, + action = entry.action, + source = entry.source, + note = entry.note, + values = entry.values + ) + ) + return entries } } \ No newline at end of file diff --git a/graphview/build.gradle b/graphview/build.gradle index d4855aaefe..a7e69d8d3e 100644 --- a/graphview/build.gradle +++ b/graphview/build.gradle @@ -1,6 +1,8 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + } apply from: "${project.rootDir}/core/android_dependencies.gradle" diff --git a/implementation/build.gradle b/implementation/build.gradle index fd1b013ab8..c7648b67ef 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -1,12 +1,15 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { namespace 'info.nightscout.implementation' diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 69cb50a4bd..9131218c6c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -9,7 +9,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper @@ -17,10 +16,7 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints @@ -31,14 +27,11 @@ import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType -import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus @@ -57,8 +50,15 @@ import info.nightscout.implementation.queue.commands.CommandStartPump import info.nightscout.implementation.queue.commands.CommandStopPump import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.implementation.queue.commands.CommandTempBasalPercent +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 78bd435dc5..c8c0e6e0e3 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,15 +6,15 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before diff --git a/insight/build.gradle b/insight/build.gradle index ff816bf0d1..55feaf304e 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 09d5a2a9d5..e94dcc4ac3 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -1,10 +1,12 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'kotlin-parcelize' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: 'kotlinx-serialization' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'kotlin-parcelize' + id 'kotlinx-serialization' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt b/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt index 9de3afd8cb..d72293006b 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Constants.kt @@ -46,7 +46,7 @@ object Constants { const val MAX_TT_MMOL = 10.0 //NSClientInternal - const val MAX_LOG_LINES = 30 + const val MAX_LOG_LINES = 90 //Screen: Threshold for width/height to go into small width/height layout const val SMALL_WIDTH = 320 diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt index 648b6bac9b..f57b33b863 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt @@ -6,5 +6,5 @@ package info.nightscout.interfaces * set by [info.nightscout.androidaps.interfaces.PluginDescription.mainType] */ enum class PluginType { - GENERAL, SENSITIVITY, PROFILE, APS, PUMP, CONSTRAINTS, LOOP, BGSOURCE, INSULIN + GENERAL, SENSITIVITY, PROFILE, APS, PUMP, CONSTRAINTS, LOOP, BGSOURCE, INSULIN, SYNC } \ No newline at end of file diff --git a/ns-sdk/.gitignore b/ns-sdk/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/ns-sdk/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/ns-sdk/build.gradle b/ns-sdk/build.gradle new file mode 100644 index 0000000000..d8c4d43bd3 --- /dev/null +++ b/ns-sdk/build.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlinx-serialization' +} + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/test_dependencies.gradle" + +android { + namespace 'info.nightscout.sdk' +} + +dependencies { + api "com.squareup.retrofit2:retrofit:$retrofit2_version" + api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" + api "com.squareup.retrofit2:converter-gson:$retrofit2_version" + api "com.squareup.okhttp3:okhttp:$okhttp3_version" + api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" + + api "com.google.code.gson:gson:$gson_version" + + api "net.danlew:android.joda:$joda_version" + + api "io.reactivex.rxjava3:rxjava:$rxjava_version" + api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" + api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" + + api "androidx.core:core-ktx:$core_version" + api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-rx3:$coroutines_version" + + api "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization_version" +} diff --git a/ns-sdk/proguard-rules.pro b/ns-sdk/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/ns-sdk/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ns-sdk/src/main/AndroidManifest.xml b/ns-sdk/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..a8800291f3 --- /dev/null +++ b/ns-sdk/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidCallbackClientImpl.kt b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidCallbackClientImpl.kt new file mode 100644 index 0000000000..1da0a47e9b --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidCallbackClientImpl.kt @@ -0,0 +1,27 @@ +package info.nightscout.sdk + +import info.nightscout.sdk.interfaces.NSAndroidCallbackClient +import info.nightscout.sdk.interfaces.NSAndroidClient +import info.nightscout.sdk.localmodel.Status +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.launch + +class NSAndroidCallbackClientImpl(private val client: NSAndroidClient) : + NSAndroidCallbackClient { + + private val scope = CoroutineScope(Dispatchers.IO + SupervisorJob()) + + @Suppress("TooGenericExceptionCaught") + override fun getStatus(callback: NSAndroidCallbackClient.NSCallback): NSAndroidCallbackClient.NSCancellable = + NSAndroidCallbackClient.NSJobCancellable( + scope.launch { + try { + callback.onSuccess(client.getStatus()) + } catch (e: Exception) { + callback.onFailure(e) + } + } + ) +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidClientImpl.kt b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidClientImpl.kt new file mode 100644 index 0000000000..4a5b3ffa10 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidClientImpl.kt @@ -0,0 +1,175 @@ +package info.nightscout.sdk + +import android.content.Context +import info.nightscout.sdk.exceptions.DateHeaderOutOfToleranceException +import info.nightscout.sdk.exceptions.InvalidAccessTokenException +import info.nightscout.sdk.exceptions.TodoNightscoutException +import info.nightscout.sdk.interfaces.NSAndroidClient +import info.nightscout.sdk.localmodel.Status +import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.sdk.mapper.toLocal +import info.nightscout.sdk.mapper.toSgv +import info.nightscout.sdk.mapper.toTreatment +import info.nightscout.sdk.networking.NetworkStackBuilder +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import info.nightscout.sdk.remotemodel.RemoteEntry +import info.nightscout.sdk.remotemodel.RemoteTreatment +import info.nightscout.sdk.utils.retry +import info.nightscout.sdk.utils.toNotNull +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * + * This client uses suspend functions and therefore is only visible in Kotlin (@JvmSynthetic). + * An RxJava version can be found here [NSAndroidRxClientImpl] + * + * @param baseUrl the baseURL of the NightScout Instance + * @param accessToken the access token of a role found in the admin panel of the NightScout instance + * @param logging if set to true, all network communication will be logged to logcat + * @param dispatcher the coroutine dispatcher used for network calls. + * Per default all network calls will be done on the IO thread pool. Change for Unit-Tests + * @param context the application context. + * + * Todo: retry parameters (maxRetries, backoffFactor)? + * + * Todo: functions to modify baseUrl and accessToken? + * (not necessarily needed but might come handy if Client is provided by a DI framework like dagger) + * + * Todo: internal methods are still visible in Java bytecode -> tag @JvmSynthetic + * + * TODO: add message to Exceptions? wrap them? + * */ + +class NSAndroidClientImpl( + baseUrl: String, + accessToken: String, + context: Context, + logging: Boolean, + private val dispatcher: CoroutineDispatcher = Dispatchers.IO +) : NSAndroidClient { + + internal val api = NetworkStackBuilder.getApi( + baseUrl = baseUrl, + context = context, + accessToken = accessToken, + logging = logging + ) + + /* + * TODO: how should our result look like? + * + * Option A: + * Directly hat the user asked for or an Exception. We can have our own Exceptions + * -> re-throw to Exceptions with meaning + * -> usually not that liked in Java with checked Exceptions and Rx + * + * + * + * Option B: + * A Wrapper - sealed class that has success and error sub types. + * Typical for Rx. + * + * */ + + // TODO: we need a minimum NightscoutVersion for APIv3. Add to documentation + override suspend fun getVersion(): String = callWrapper(dispatcher) { + api.statusSimple().result!!.version + } + + override suspend fun getStatus(): Status = callWrapper(dispatcher) { + api.statusSimple().result!!.toLocal() + } + + // TODO: return something better than a String + // TODO: parameters like count? + // TODO: updated after timestamp + override suspend fun getEntries(): String = callWrapper(dispatcher) { + api.getEntries().toString() + } + + override suspend fun getLastModified(): LastModified = callWrapper(dispatcher) { + + val response = api.lastModified() + if (response.isSuccessful) { + return@callWrapper response.body()?.result ?: throw TodoNightscoutException() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + // TODO: parameters like count? + override suspend fun getSgvs(): List = callWrapper(dispatcher) { + + val response = api.getSgvs() + if (response.isSuccessful) { + return@callWrapper response.body()?.result?.map(RemoteEntry::toSgv).toNotNull() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + override suspend fun getSgvsModifiedSince(from: Long): List = callWrapper(dispatcher) { + + val response = api.getSgvsModifiedSince(from) + if (response.isSuccessful) { + return@callWrapper response.body()?.result?.map(RemoteEntry::toSgv).toNotNull() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + override suspend fun getSgvsNewerThan(from: Long, limit: Long): List = callWrapper(dispatcher) { + + val response = api.getSgvsNewerThan(from, limit) + if (response.isSuccessful) { + return@callWrapper response.body()?.result?.map(RemoteEntry::toSgv).toNotNull() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + override suspend fun getTreatmentsModifiedSince(from: Long, limit: Long): List = callWrapper(dispatcher) { + + val response = api.getTreatmentsModifiedSince(from, limit) + if (response.isSuccessful) { + return@callWrapper response.body()?.result?.map(RemoteTreatment::toTreatment).toNotNull() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + override suspend fun getDeviceStatusModifiedSince(from: Long): List = callWrapper(dispatcher) { + + val response = api.getDeviceStatusModifiedSince(from) + if (response.isSuccessful) { + return@callWrapper response.body()?.result.toNotNull() + } else { + throw TodoNightscoutException() // TODO: react to response errors (offline, ...) + } + } + + private suspend fun callWrapper(dispatcher: CoroutineDispatcher, block: suspend () -> T): T = + withContext(dispatcher) { + retry( + numberOfRetries = RETRIES, + delayBetweenRetries = RETRY_DELAY, + excludedExceptions = listOf( + InvalidAccessTokenException::class, + DateHeaderOutOfToleranceException::class + ) + ) { + block.invoke() + } + } + + companion object { + + // TODO: Parameters? + private const val RETRIES = 3 + private const val RETRY_DELAY = 100L + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidRxClientImpl.kt b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidRxClientImpl.kt new file mode 100644 index 0000000000..93b11ca0ce --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/NSAndroidRxClientImpl.kt @@ -0,0 +1,23 @@ +package info.nightscout.sdk + +import info.nightscout.sdk.interfaces.NSAndroidClient +import info.nightscout.sdk.interfaces.NSAndroidRxClient +import info.nightscout.sdk.localmodel.Status +import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import io.reactivex.rxjava3.core.Single +import kotlinx.coroutines.rx3.rxSingle + +class NSAndroidRxClientImpl(private val client: NSAndroidClient) : NSAndroidRxClient { + + override fun getVersion(): Single = rxSingle { client.getVersion() } + override fun getStatus(): Single = rxSingle { client.getStatus() } + override fun getLastModified(): Single = rxSingle { client.getLastModified() } + override fun getSgvsModifiedSince(from: Long): Single> = rxSingle { client.getSgvsModifiedSince(from) } + override fun getTreatmentsModifiedSince(from: Long, limit: Long): Single> = + rxSingle { client.getTreatmentsModifiedSince(from, limit) } + override fun getDeviceStatusModifiedSince(from: Long): Single> = + rxSingle { client.getDeviceStatusModifiedSince(from) } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/DateHeaderOutOfToleranceException.kt b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/DateHeaderOutOfToleranceException.kt new file mode 100644 index 0000000000..2cfcdc1bf6 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/DateHeaderOutOfToleranceException.kt @@ -0,0 +1,9 @@ +package info.nightscout.sdk.exceptions + +/** + * Will be thrown if the server responds with 401 UNAUTHORIZED due to the Date Header being off + * more than one hour. + * In practice this will happen if the server time and the phone time are off. + * + */ +class DateHeaderOutOfToleranceException : NightscoutException() diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/InvalidAccessTokenException.kt b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/InvalidAccessTokenException.kt new file mode 100644 index 0000000000..6ae3735741 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/InvalidAccessTokenException.kt @@ -0,0 +1,3 @@ +package info.nightscout.sdk.exceptions + +class InvalidAccessTokenException : NightscoutException() diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/NightscoutException.kt b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/NightscoutException.kt new file mode 100644 index 0000000000..ff7817e277 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/NightscoutException.kt @@ -0,0 +1,10 @@ +package info.nightscout.sdk.exceptions + +import java.io.IOException + +abstract class NightscoutException : IOException { + constructor() : super() + constructor(message: String) : super(message) + constructor(message: String, cause: Throwable) : super(message, cause) + constructor(cause: Throwable?) : super(cause) +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/TodoNightscoutException.kt b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/TodoNightscoutException.kt new file mode 100644 index 0000000000..e90a172319 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/exceptions/TodoNightscoutException.kt @@ -0,0 +1,3 @@ +package info.nightscout.sdk.exceptions + +class TodoNightscoutException : NightscoutException() diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidCallbackClient.kt b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidCallbackClient.kt new file mode 100644 index 0000000000..a21b12e964 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidCallbackClient.kt @@ -0,0 +1,26 @@ +package info.nightscout.sdk.interfaces + +import info.nightscout.sdk.localmodel.Status +import kotlinx.coroutines.Job + +interface NSAndroidCallbackClient { + + interface NSCallback { + + fun onSuccess(value: T) + fun onFailure(exception: Exception) + } + + interface NSCancellable { + + fun cancel() + } + + class NSJobCancellable(val job: Job) : NSCancellable { + + override fun cancel() = job.cancel() + } + + fun getStatus(callback: NSCallback): NSCancellable +} + diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidClient.kt b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidClient.kt new file mode 100644 index 0000000000..918f4e8538 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidClient.kt @@ -0,0 +1,21 @@ +package info.nightscout.sdk.interfaces + +import info.nightscout.sdk.localmodel.Status +import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus + +interface NSAndroidClient { + + suspend fun getVersion(): String + suspend fun getStatus(): Status + suspend fun getEntries(): String + + suspend fun getLastModified(): LastModified + suspend fun getSgvs(): List + suspend fun getSgvsModifiedSince(from: Long): List + suspend fun getSgvsNewerThan(from: Long, limit: Long): List + suspend fun getTreatmentsModifiedSince(from: Long, limit: Long): List + suspend fun getDeviceStatusModifiedSince(from: Long): List +} \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidRxClient.kt b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidRxClient.kt new file mode 100644 index 0000000000..77a88358a1 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/interfaces/NSAndroidRxClient.kt @@ -0,0 +1,19 @@ +package info.nightscout.sdk.interfaces + +import info.nightscout.sdk.localmodel.Status +import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import io.reactivex.rxjava3.core.Single + +interface NSAndroidRxClient { + + fun getVersion(): Single + fun getStatus(): Single + fun getLastModified(): Single + fun getSgvsModifiedSince(from: Long): Single> + fun getTreatmentsModifiedSince(from: Long, limit: Long): Single> + fun getDeviceStatusModifiedSince(from: Long): Single> +} + diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermission.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermission.kt new file mode 100644 index 0000000000..e84e3f3faf --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermission.kt @@ -0,0 +1,11 @@ +package info.nightscout.sdk.localmodel + +data class ApiPermission( + val create: Boolean, + val read: Boolean, + val update: Boolean, + val delete: Boolean +) { + val full: Boolean + get() = this.create && this.read && this.update && this.delete +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermissions.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermissions.kt new file mode 100644 index 0000000000..d78861667a --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/ApiPermissions.kt @@ -0,0 +1,10 @@ +package info.nightscout.sdk.localmodel + +data class ApiPermissions( + val deviceStatus: ApiPermission, + val entries: ApiPermission, + val food: ApiPermission, + val profile: ApiPermission, + val settings: ApiPermission, + val treatments: ApiPermission +) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Status.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Status.kt new file mode 100644 index 0000000000..12a497a5d1 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Status.kt @@ -0,0 +1,9 @@ +package info.nightscout.sdk.localmodel + +data class Status( + val version: String, + val apiVersion: String, + val srvDate: Long, + val storage: Storage, + val apiPermissions: ApiPermissions +) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Storage.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Storage.kt new file mode 100644 index 0000000000..f8b6ce2224 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/Storage.kt @@ -0,0 +1,3 @@ +package info.nightscout.sdk.localmodel + +data class Storage(val storage: String, val version: String) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Direction.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Direction.kt new file mode 100644 index 0000000000..6fd2c91651 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Direction.kt @@ -0,0 +1,51 @@ +package info.nightscout.sdk.localmodel.entry + +enum class Direction(val nsName: String, val txtIcon: String) { + TRIPLE_DOWN("TripleDown", "\u290B"), // ⤋ + DOUBLE_DOWN("DoubleDown", "\u21ca"), // ⇊ + SINGLE_DOWN("SingleDown", "\u2193"), // ↓ + FORTY_FIVE_DOWN("FortyFiveDown", "\u2198"), // ↘ + FLAT("Flat", "\u2192"), // → + FORTY_FIVE_UP("FortyFiveUp", "\u2197"), // ↗ + SINGLE_UP("SingleUp", "\u2191"), // ↑ + DOUBLE_UP("DoubleUp", "\u21c8"), // ⇈ + TRIPLE_UP("TripleUp", "\u290A"), // ⤊ + NONE("NONE", "⇼"), // + INVALID("", "-"), // +} + +/* + +Nightscout: + NONE: '⇼' + , TripleUp: '⤊' \u290A + , DoubleUp: '⇈' + , SingleUp: '↑' + , FortyFiveUp: '↗' + , Flat: '→' + , FortyFiveDown: '↘' + , SingleDown: '↓' + , DoubleDown: '⇊' + , TripleDown: '⤋' \u290B + , 'NOT COMPUTABLE': '-' + , 'RATE OUT OF RANGE': '⇕' \u21D5 + + xDrip: + + + if (slope_name.compareTo("DoubleDown") == 0) { + slope_by_minute = -3.5; + } else if (slope_name.compareTo("SingleDown") == 0) { + slope_by_minute = -2; + } else if (slope_name.compareTo("FortyFiveDown") == 0) { + slope_by_minute = -1; + } else if (slope_name.compareTo("Flat") == 0) { + slope_by_minute = 0; + } else if (slope_name.compareTo("FortyFiveUp") == 0) { + slope_by_minute = 2; + } else if (slope_name.compareTo("SingleUp") == 0) { + slope_by_minute = 3.5; + } else if (slope_name.compareTo("DoubleUp") == 0) { + + + */ diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Entry.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Entry.kt new file mode 100644 index 0000000000..561df012e8 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/Entry.kt @@ -0,0 +1,13 @@ +package info.nightscout.sdk.localmodel.entry + +interface Entry { + val date: Long + val device: String? + val identifier: String + val srvModified: Long + val srvCreated: Long + val utcOffset: Long? + val subject: String? + var isReadOnly: Boolean // TODO: nullability? + val isValid: Boolean +} \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NSSgvV3.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NSSgvV3.kt new file mode 100644 index 0000000000..8edcce0743 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NSSgvV3.kt @@ -0,0 +1,20 @@ +package info.nightscout.sdk.localmodel.entry + +data class NSSgvV3( + override val date: Long, + override val device: String?, + override val identifier: String, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long?, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + val sgv: Double, // TODO: might be Double? + val units: NsUnits, + val direction: Direction, + val noise: Int?, // TODO: enum? + val filtered: Double?, // number in doc (I found decimal values in API v1 + val unfiltered: Double?, // number in doc (I found decimal values in API v1 + // TODO: add SVG fields +) : Entry diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NsUnits.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NsUnits.kt new file mode 100644 index 0000000000..8498c390ac --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/entry/NsUnits.kt @@ -0,0 +1,12 @@ +package info.nightscout.sdk.localmodel.entry + +enum class NsUnits(val value: String) { + MG_DL("mg/dl"), + MMOL_L("mmol") + ; + + companion object { + + fun fromString(name: String?) = values().firstOrNull { it.value == name } ?: MG_DL + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/EventType.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/EventType.kt new file mode 100644 index 0000000000..4f6d8620e5 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/EventType.kt @@ -0,0 +1,43 @@ +package info.nightscout.sdk.localmodel.treatment + +import com.google.gson.annotations.SerializedName + +@Suppress("unused") +enum class EventType(val text: String) { + + @SerializedName("Site Change") CANNULA_CHANGE("Site Change"), + @SerializedName("Insulin Change") INSULIN_CHANGE("Insulin Change"), + @SerializedName("Pump Battery Change") PUMP_BATTERY_CHANGE("Pump Battery Change"), + @SerializedName("Sensor Change") SENSOR_CHANGE("Sensor Change"), + @SerializedName("Sensor Start") SENSOR_STARTED("Sensor Start"), + @SerializedName("Sensor Stop") SENSOR_STOPPED("Sensor Stop"), + @SerializedName("BG Check") FINGER_STICK_BG_VALUE("BG Check"), + @SerializedName("Exercise") EXERCISE("Exercise"), + @SerializedName("Announcement") ANNOUNCEMENT("Announcement"), + @SerializedName("Question") QUESTION("Question"), + @SerializedName("Note") NOTE("Note"), + @SerializedName("OpenAPS Offline") APS_OFFLINE("OpenAPS Offline"), + @SerializedName("D.A.D. Alert") DAD_ALERT("D.A.D. Alert"), + @SerializedName("Mbg") NS_MBG("Mbg"), + + // Used but not as a Therapy Event (use constants only) + @SerializedName("Carb Correction") CARBS_CORRECTION("Carb Correction"), + @SerializedName("Bolus Wizard") BOLUS_WIZARD("Bolus Wizard"), + @SerializedName("Correction Bolus") CORRECTION_BOLUS("Correction Bolus"), + @SerializedName("Meal Bolus") MEAL_BOLUS("Meal Bolus"), + @SerializedName("Combo Bolus") COMBO_BOLUS("Combo Bolus"), + @SerializedName("Temporary Target") TEMPORARY_TARGET("Temporary Target"), + @SerializedName("Temporary Target Cancel") TEMPORARY_TARGET_CANCEL("Temporary Target Cancel"), + @SerializedName("Profile Switch") PROFILE_SWITCH("Profile Switch"), + @SerializedName("Snack Bolus") SNACK_BOLUS("Snack Bolus"), + @SerializedName("Temp Basal") TEMPORARY_BASAL("Temp Basal"), + @SerializedName("Temp Basal Start") TEMPORARY_BASAL_START("Temp Basal Start"), + @SerializedName("Temp Basal End") TEMPORARY_BASAL_END("Temp Basal End"), + + @SerializedName("") NONE(""); + + companion object { + + fun fromString(text: String?) = values().firstOrNull { it.text == text } ?: NONE + } +} \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/GlucoseType.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/GlucoseType.kt new file mode 100644 index 0000000000..bec75d0161 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/GlucoseType.kt @@ -0,0 +1,9 @@ +package info.nightscout.sdk.localmodel.treatment + +import com.google.gson.annotations.SerializedName + +enum class GlucoseType { + @SerializedName("Sensor") Sensor, + @SerializedName("Finger") Finger, + @SerializedName("Manual") Manual +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolus.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolus.kt new file mode 100644 index 0000000000..76d482f222 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolus.kt @@ -0,0 +1,36 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSBolus( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val insulin: Double, + val type: BolusType + +) : NSTreatment { + enum class BolusType { + NORMAL, + SMB, + PRIMING; + + companion object { + + fun fromString(name: String?) = values().firstOrNull { it.name == name } ?: NORMAL + } + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolusWizard.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolusWizard.kt new file mode 100644 index 0000000000..11a1ab3a48 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSBolusWizard.kt @@ -0,0 +1,25 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits +import org.json.JSONObject + +data class NSBolusWizard( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val bolusCalculatorResult: String?, + val glucose: Double?, +) : NSTreatment \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSCarbs.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSCarbs.kt new file mode 100644 index 0000000000..9f3dd66be2 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSCarbs.kt @@ -0,0 +1,24 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSCarbs( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val carbs: Double, + val duration: Long +) : NSTreatment \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSEffectiveProfileSwitch.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSEffectiveProfileSwitch.kt new file mode 100644 index 0000000000..4fa8b1e322 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSEffectiveProfileSwitch.kt @@ -0,0 +1,31 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits +import org.json.JSONObject + +data class NSEffectiveProfileSwitch( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val profileJson: JSONObject, + val originalProfileName: String, + val originalCustomizedName: String, + val originalTimeshift: Long, + val originalPercentage: Int, + val originalDuration: Long, + val originalEnd: Long + +) : NSTreatment \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSExtendedBolus.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSExtendedBolus.kt new file mode 100644 index 0000000000..0fc041d9e5 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSExtendedBolus.kt @@ -0,0 +1,25 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSExtendedBolus( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val duration: Long, + val enteredinsulin: Double, + val isEmulatingTempbasal: Boolean +) : NSTreatment diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSOfflineEvent.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSOfflineEvent.kt new file mode 100644 index 0000000000..1abffef44c --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSOfflineEvent.kt @@ -0,0 +1,39 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSOfflineEvent( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val duration: Long, + val reason: Reason +) : NSTreatment { + + enum class Reason { + DISCONNECT_PUMP, + SUSPEND, + DISABLE_LOOP, + SUPER_BOLUS, + OTHER + ; + + companion object { + + fun fromString(reason: String?) = values().firstOrNull { it.name == reason } ?: OTHER + } + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSProfileSwitch.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSProfileSwitch.kt new file mode 100644 index 0000000000..c97e5de38c --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSProfileSwitch.kt @@ -0,0 +1,30 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits +import org.json.JSONObject + +data class NSProfileSwitch( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val profileJson: JSONObject?, + val profileName: String, + val originalProfileName: String?, + val timeShift: Long?, + val percentage: Int?, + val duration: Long?, + val originalDuration: Long? +) : NSTreatment \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryBasal.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryBasal.kt new file mode 100644 index 0000000000..8a025e7097 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryBasal.kt @@ -0,0 +1,43 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits +import org.json.JSONObject + +data class NSTemporaryBasal( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val duration: Long, + val rate: Double, + val isAbsolute: Boolean, + val type: Type +) : NSTreatment { + + enum class Type { + NORMAL, + EMULATED_PUMP_SUSPEND, + PUMP_SUSPEND, + SUPERBOLUS, + FAKE_EXTENDED // in memory only + ; + + companion object { + + fun fromString(name: String?) = values().firstOrNull { it.name == name } ?: NORMAL + } + } + +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryTarget.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryTarget.kt new file mode 100644 index 0000000000..c4a03bca18 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTemporaryTarget.kt @@ -0,0 +1,45 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSTemporaryTarget( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val duration: Long, + val targetBottom: Double, + val targetTop: Double, + val reason: Reason, + + ) : NSTreatment { + + fun targetBottomAsMgdl() = targetBottom.asMgdl() + fun targetTopAsMgdl() = targetTop.asMgdl() + enum class Reason(val text: String) { + CUSTOM("Custom"), + HYPOGLYCEMIA("Hypo"), + ACTIVITY("Activity"), + EATING_SOON("Eating Soon"), + AUTOMATION("Automation"), + WEAR("Wear") + ; + + companion object { + + fun fromString(reason: String?) = values().firstOrNull { it.text == reason } ?: CUSTOM + } + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTherapyEvent.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTherapyEvent.kt new file mode 100644 index 0000000000..503c9ee65f --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTherapyEvent.kt @@ -0,0 +1,40 @@ +package info.nightscout.sdk.localmodel.treatment + +import com.google.gson.annotations.SerializedName +import info.nightscout.sdk.localmodel.entry.NsUnits + +data class NSTherapyEvent( + override val date: Long, + override val device: String?, + override val identifier: String, + override val units: NsUnits?, + override val srvModified: Long, + override val srvCreated: Long, + override val utcOffset: Long, + override val subject: String?, + override var isReadOnly: Boolean, + override val isValid: Boolean, + override val eventType: EventType, + override val notes: String?, + override val pumpId: Long?, + override val endId: Long?, + override val pumpType: String?, + override val pumpSerial: String?, + val duration: Long, + var enteredBy: String? = null, + var glucose: Double? = null, + var glucoseType: MeterType? = null, +) : NSTreatment { + + enum class MeterType(val text: String) { + @SerializedName("Finger") FINGER("Finger"), + @SerializedName("Sensor") SENSOR("Sensor"), + @SerializedName("Manual") MANUAL("Manual") + ; + + companion object { + + fun fromString(text: String?) = values().firstOrNull { it.text == text } ?: MANUAL + } + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTreatment.kt b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTreatment.kt new file mode 100644 index 0000000000..f522b0673c --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/localmodel/treatment/NSTreatment.kt @@ -0,0 +1,29 @@ +package info.nightscout.sdk.localmodel.treatment + +import info.nightscout.sdk.localmodel.entry.NsUnits + +interface NSTreatment { + val date: Long + val device: String? + val identifier: String + val units: NsUnits? + val eventType: EventType + val srvModified: Long + val srvCreated: Long + val utcOffset: Long + val subject: String? + var isReadOnly: Boolean + val isValid: Boolean + val notes: String? + val pumpId: Long? + val endId: Long? + val pumpType: String? + val pumpSerial: String? + + fun Double.asMgdl() = + when (units) { + NsUnits.MG_DL -> this + NsUnits.MMOL_L -> this * 18 + null -> this + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/mapper/ApiPermissionMapper.kt b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/ApiPermissionMapper.kt new file mode 100644 index 0000000000..b407cb1763 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/ApiPermissionMapper.kt @@ -0,0 +1,32 @@ +package info.nightscout.sdk.mapper + +import info.nightscout.sdk.localmodel.ApiPermission +import info.nightscout.sdk.localmodel.ApiPermissions +import info.nightscout.sdk.remotemodel.RemoteApiPermission +import info.nightscout.sdk.remotemodel.RemoteApiPermissions +import info.nightscout.sdk.remotemodel.read + +internal fun RemoteApiPermissions.toLocal(): ApiPermissions = + ApiPermissions( + deviceStatus = deviceStatus.toLocal(), + entries = entries.toLocal(), + food = food.toLocal(), + profile = profile.toLocal(), + settings = settings.toLocal(), + treatments = treatments.toLocal() + ) + +internal fun RemoteApiPermission.toLocal(): ApiPermission = + ApiPermission(create = create, read = read, update = update, delete = delete) + +internal val RemoteApiPermission.create: Boolean + get() = this.contains('c') + +internal val RemoteApiPermission.read: Boolean + get() = this.contains('r') + +internal val RemoteApiPermission.update: Boolean + get() = this.contains('u') + +internal val RemoteApiPermission.delete: Boolean + get() = this.contains('d') diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StatusResponseMapper.kt b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StatusResponseMapper.kt new file mode 100644 index 0000000000..1c9f5b419a --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StatusResponseMapper.kt @@ -0,0 +1,12 @@ +package info.nightscout.sdk.mapper + +import info.nightscout.sdk.localmodel.Status +import info.nightscout.sdk.remotemodel.RemoteStatusResponse + +internal fun RemoteStatusResponse.toLocal() = Status( + version = version, + apiVersion = apiVersion, + srvDate = srvDate, + storage = storage.toLocal(), + apiPermissions = apiPermissions.toLocal() +) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StorageMapper.kt b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StorageMapper.kt new file mode 100644 index 0000000000..c2d26f81e2 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/StorageMapper.kt @@ -0,0 +1,6 @@ +package info.nightscout.sdk.mapper + +import info.nightscout.sdk.localmodel.Storage +import info.nightscout.sdk.remotemodel.RemoteStorage + +internal fun RemoteStorage.toLocal() = Storage(storage = storage, version = version) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/mapper/SvgMapper.kt b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/SvgMapper.kt new file mode 100644 index 0000000000..b91debc392 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/SvgMapper.kt @@ -0,0 +1,34 @@ +package info.nightscout.sdk.mapper + +import info.nightscout.sdk.localmodel.entry.Direction +import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.sdk.localmodel.entry.NsUnits +import info.nightscout.sdk.remotemodel.RemoteEntry + +@JvmSynthetic +internal fun RemoteEntry.toSgv(): NSSgvV3? { + + this.sgv ?: return null + if (this.type != "sgv") return null + + return NSSgvV3( + date = this.date, + device = this.device, + identifier = this.identifier, + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + direction = this.direction.toDirection(), + sgv = this.sgv, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + noise = this.noise, // TODO: to Enum? + filtered = this.filtered, + unfiltered = this.unfiltered, + units = NsUnits.fromString(this.units) + ) +} + +private fun String?.toDirection(): Direction = + Direction.values().firstOrNull { it.nsName == this } ?: Direction.INVALID diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/mapper/TreatmentMapper.kt b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/TreatmentMapper.kt new file mode 100644 index 0000000000..7af6badcbb --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/mapper/TreatmentMapper.kt @@ -0,0 +1,338 @@ +package info.nightscout.sdk.mapper + +import info.nightscout.sdk.localmodel.entry.NsUnits +import info.nightscout.sdk.localmodel.treatment.EventType +import info.nightscout.sdk.localmodel.treatment.NSBolus +import info.nightscout.sdk.localmodel.treatment.NSBolusWizard +import info.nightscout.sdk.localmodel.treatment.NSCarbs +import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSExtendedBolus +import info.nightscout.sdk.localmodel.treatment.NSOfflineEvent +import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch +import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal +import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget +import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent +import info.nightscout.sdk.localmodel.treatment.NSTreatment +import info.nightscout.sdk.remotemodel.RemoteTreatment +import org.json.JSONObject +import java.util.concurrent.TimeUnit + +internal fun RemoteTreatment.toTreatment(): NSTreatment? { + val treatmentTimestamp = timestamp() + when { + insulin != null && insulin > 0 -> + return NSBolus( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + insulin = this.insulin, + type = NSBolus.BolusType.fromString(this.type), + ) + + carbs != null && carbs > 0 -> + return NSCarbs( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + carbs = this.carbs, + duration = this.duration ?: 0L + ) + + eventType == EventType.TEMPORARY_TARGET -> { + if (treatmentTimestamp == 0L) return null + + this.duration ?: return null + this.targetBottom ?: return null + this.targetTop ?: return null + + return NSTemporaryTarget( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + duration = this.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(this.duration), + targetBottom = this.targetBottom, + targetTop = this.targetTop, + reason = NSTemporaryTarget.Reason.fromString(this.reason) + ) + } + + // Convert back emulated TBR -> EB + eventType == EventType.TEMPORARY_BASAL && extendedEmulated != null -> { + + return NSExtendedBolus( + date = treatmentTimestamp, + device = device, + identifier = identifier, + units = NsUnits.fromString(extendedEmulated.units), + srvModified = srvModified, + srvCreated = srvCreated, + utcOffset = utcOffset ?: 0, + subject = subject, + isReadOnly = extendedEmulated.isReadOnly ?: false, + isValid = extendedEmulated.isValid ?: true, + eventType = extendedEmulated.eventType, + notes = extendedEmulated.notes, + pumpId = extendedEmulated.pumpId, + endId = extendedEmulated.endId, + pumpType = extendedEmulated.pumpType, + pumpSerial = extendedEmulated.pumpSerial, + enteredinsulin = extendedEmulated.enteredinsulin ?: 0.0, + duration = extendedEmulated.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(extendedEmulated.duration ?: 0L), + isEmulatingTempbasal = extendedEmulated.isEmulatingTempBasal + ) + } + + eventType == EventType.TEMPORARY_BASAL -> { + if (treatmentTimestamp == 0L) return null + + this.absolute ?: this.percent ?: return null + this.duration ?: return null + if (this.duration == 0L && this.durationInMilliseconds == null) return null + + return NSTemporaryBasal( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + duration = this.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(this.duration), + isAbsolute = this.absolute != null, + rate = this.absolute ?: (this.percent?.plus(100.0)) ?: 0.0, + type = NSTemporaryBasal.Type.fromString(this.type) + ) + } + + eventType == EventType.NOTE && this.originalProfileName != null -> { + if (treatmentTimestamp == 0L) return null + this.profileJson ?: return null + this.originalCustomizedName ?: return null + this.originalTimeshift ?: return null + this.originalPercentage ?: return null + this.originalDuration ?: return null + this.originalEnd ?: return null + + return NSEffectiveProfileSwitch( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + profileJson = JSONObject(this.profileJson), + originalProfileName = this.originalProfileName, + originalCustomizedName = this.originalCustomizedName, + originalTimeshift = this.originalTimeshift, + originalPercentage = this.originalPercentage, + originalDuration = this.originalDuration, + originalEnd = this.originalEnd + ) + } + + eventType == EventType.PROFILE_SWITCH -> { + if (treatmentTimestamp == 0L) return null + this.profile ?: return null + + return NSProfileSwitch( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + profileJson = this.profileJson?.let { JSONObject(this.profileJson) }, + profileName = this.profile, + originalProfileName = this.originalProfileName, + originalDuration = this.originalDuration, + duration = this.duration, + timeShift = this.timeshift, + percentage = this.percentage, + ) + } + + eventType == EventType.BOLUS_WIZARD -> { + if (treatmentTimestamp == 0L) return null + this.bolusCalculatorResult ?: return null + + return NSBolusWizard( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + bolusCalculatorResult = this.bolusCalculatorResult, + glucose = this.glucose + ) + } + + eventType == EventType.CANNULA_CHANGE || + eventType == EventType.INSULIN_CHANGE || + eventType == EventType.SENSOR_CHANGE || + eventType == EventType.FINGER_STICK_BG_VALUE || + eventType == EventType.NONE || + eventType == EventType.ANNOUNCEMENT || + eventType == EventType.QUESTION || + eventType == EventType.EXERCISE || + eventType == EventType.NOTE || + eventType == EventType.PUMP_BATTERY_CHANGE -> { + if (treatmentTimestamp == 0L) return null + + return NSTherapyEvent( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + duration = this.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(this.duration ?: 0L), + glucose = this.glucose, + enteredBy = this.enteredBy, + glucoseType = NSTherapyEvent.MeterType.fromString(this.glucoseType) + ) + } + + eventType == EventType.APS_OFFLINE -> { + if (treatmentTimestamp == 0L) return null + + return NSOfflineEvent( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + duration = this.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(this.duration ?: 0L), + reason = NSOfflineEvent.Reason.fromString(this.reason) + ) + } + + eventType == EventType.COMBO_BOLUS -> { + if (treatmentTimestamp == 0L) return null + this.enteredinsulin ?: return null + + return NSExtendedBolus( + date = treatmentTimestamp, + device = this.device, + identifier = this.identifier, + units = NsUnits.fromString(this.units), + srvModified = this.srvModified, + srvCreated = this.srvCreated, + utcOffset = this.utcOffset ?: 0, + subject = this.subject, + isReadOnly = this.isReadOnly ?: false, + isValid = this.isValid ?: true, + eventType = this.eventType, + notes = this.notes, + pumpId = this.pumpId, + endId = this.endId, + pumpType = this.pumpType, + pumpSerial = this.pumpSerial, + enteredinsulin = this.enteredinsulin, + duration = this.durationInMilliseconds ?: TimeUnit.MINUTES.toMillis(this.duration ?: 0L), + isEmulatingTempbasal = this.isEmulatingTempBasal + ) + } + } + + return null +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/networking/NSAuthInterceptor.kt b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NSAuthInterceptor.kt new file mode 100644 index 0000000000..a5dd72d87b --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NSAuthInterceptor.kt @@ -0,0 +1,68 @@ +package info.nightscout.sdk.networking + +import info.nightscout.sdk.exceptions.DateHeaderOutOfToleranceException +import info.nightscout.sdk.exceptions.InvalidAccessTokenException +import info.nightscout.sdk.networking.Status.MESSAGE_DATE_HEADER_OUT_OF_TOLERANCE +import info.nightscout.sdk.remotemodel.RemoteAuthResponse +import okhttp3.Interceptor +import okhttp3.Request +import okhttp3.Response +import retrofit2.Retrofit +import java.lang.System.currentTimeMillis + +internal class NSAuthInterceptor(private val refreshToken: String, private val retrofit: Retrofit) : + Interceptor { + + private var jwtToken = "" // the actual Bearer token + + @Suppress("MagicNumber") + override fun intercept(chain: Interceptor.Chain): Response { + + val originalRequest = chain.request() + val authenticationRequest = requestWithBearer(originalRequest) + val initialResponse = chain.proceed(authenticationRequest) + + return when (initialResponse.code) { + 403, 401 -> refreshTokenAndRetry(originalRequest, initialResponse, chain) + else -> initialResponse + } + } + + private fun requestWithBearer(originalRequest: Request): Request = originalRequest.newBuilder() + .addHeader("Date", currentTimeMillis().toString()) + .addHeader("Authorization", "Bearer $jwtToken") + .build() + + @Suppress("MagicNumber") + private fun refreshTokenAndRetry( + originalRequest: Request, + initialResponse: Response, + chain: Interceptor.Chain + ): Response { + + testCanRefresh(initialResponse) + + val authResponseResponse: retrofit2.Response? = retrofit + .create(NightscoutAuthRefreshService::class.java) + .refreshToken(refreshToken) + .execute() + + return when { + authResponseResponse == null -> initialResponse + authResponseResponse.code() in listOf(401, 403) -> throw InvalidAccessTokenException() + authResponseResponse.code() != 200 -> initialResponse + else -> { + authResponseResponse.body()?.token?.let { jwtToken = it } + val newAuthenticationRequest = requestWithBearer(originalRequest) + chain.proceed(newAuthenticationRequest) + } + } + } + + private fun testCanRefresh(initialResponse: Response) { + // Todo: use proper reason code once it is supplied by remote + if (initialResponse.body?.string()?.contains(MESSAGE_DATE_HEADER_OUT_OF_TOLERANCE) == true) { + throw DateHeaderOutOfToleranceException() + } + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/networking/NetworkStackBuilder.kt b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NetworkStackBuilder.kt new file mode 100644 index 0000000000..87d7e6ef4a --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NetworkStackBuilder.kt @@ -0,0 +1,93 @@ +package info.nightscout.sdk.networking + +import android.content.Context +import com.google.gson.Gson +import com.google.gson.GsonBuilder +import okhttp3.Cache +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.util.concurrent.TimeUnit + +internal object NetworkStackBuilder { + + @JvmSynthetic + internal fun getApi( + baseUrl: String, + context: Context, + accessToken: String, // refresh token + logging: Boolean = false + ): NightscoutRemoteService = getRetrofit( + baseUrl = baseUrl, + context = context, + refreshToken = accessToken, + logging = logging + ).create(NightscoutRemoteService::class.java) + + private fun getRetrofit( + baseUrl: String, + context: Context, + refreshToken: String, + logging: Boolean + ): Retrofit = + Retrofit.Builder() + .baseUrl("https://$baseUrl/api/") + .client( + getOkHttpClient( + context = context, + logging = logging, + refreshToken = refreshToken, + authRefreshRetrofit = getAuthRefreshRetrofit(baseUrl, context, logging) + ) + ) + .addConverterFactory(GsonConverterFactory.create(provideGson())) + .build() + + private fun getAuthRefreshRetrofit( + baseUrl: String, + context: Context, + logging: Boolean + ): Retrofit = + Retrofit.Builder() + .baseUrl("https://$baseUrl/api/") + .client(getAuthRefreshOkHttpClient(context = context, logging = logging)) + .addConverterFactory(GsonConverterFactory.create(provideGson())) + .build() + + private fun getOkHttpClient( + context: Context, + logging: Boolean, + refreshToken: String, + authRefreshRetrofit: Retrofit + ): OkHttpClient = OkHttpClient.Builder().run { + addInterceptor(NSAuthInterceptor(refreshToken, authRefreshRetrofit)) + commonOkHttpSetup(logging, context) + } + + private fun getAuthRefreshOkHttpClient( + context: Context, + logging: Boolean, + ): OkHttpClient = OkHttpClient.Builder().run { commonOkHttpSetup(logging, context) } + + private fun OkHttpClient.Builder.commonOkHttpSetup( + logging: Boolean, + context: Context + ): OkHttpClient { + if (logging) { + addNetworkInterceptor( + HttpLoggingInterceptor().also { it.level = HttpLoggingInterceptor.Level.BODY } + ) + } + cache(Cache(context.cacheDir, OK_HTTP_CACHE_SIZE)) + readTimeout(OK_HTTP_READ_TIMEOUT, TimeUnit.MILLISECONDS) + writeTimeout(OK_HTTP_WRITE_TIMEOUT, TimeUnit.MILLISECONDS) + return build() + } + + private fun provideGson(): Gson = GsonBuilder().create() + + private const val OK_HTTP_CACHE_SIZE = 10L * 1024 * 1024 + private const val OK_HTTP_READ_TIMEOUT = 60L * 1000 + private const val OK_HTTP_WRITE_TIMEOUT = 60L * 1000 +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutAuthRefreshService.kt b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutAuthRefreshService.kt new file mode 100644 index 0000000000..373de8e6a7 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutAuthRefreshService.kt @@ -0,0 +1,16 @@ +package info.nightscout.sdk.networking + +import info.nightscout.sdk.remotemodel.RemoteAuthResponse +import retrofit2.Call +import retrofit2.http.GET +import retrofit2.http.Path + +/** + * Created by adrian on 2019-01-04. + */ + +internal interface NightscoutAuthRefreshService { + + @GET("/api/v2/authorization/request/{refreshToken}") + fun refreshToken(@Path("refreshToken") refreshToken: String): Call +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutRemoteService.kt b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutRemoteService.kt new file mode 100644 index 0000000000..4619aef0c0 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/networking/NightscoutRemoteService.kt @@ -0,0 +1,51 @@ +package info.nightscout.sdk.networking + +import com.google.gson.JsonElement +import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import info.nightscout.sdk.remotemodel.NSResponse +import info.nightscout.sdk.remotemodel.RemoteEntry +import info.nightscout.sdk.remotemodel.RemoteStatusResponse +import info.nightscout.sdk.remotemodel.RemoteTreatment +import retrofit2.Response +import retrofit2.http.GET +import retrofit2.http.Path +import retrofit2.http.Query + +/** + * Created by adrian on 2019-12-23. + * + * https://github.com/nightscout/cgm-remote-monitor/blob/master/lib/api3/doc/tutorial.md + * + */ + +internal interface NightscoutRemoteService { + + @GET("v3/status") + // used to get the raw response for more error checking. E.g. to give the user better feedback after new settings. + suspend fun statusVerbose(): Response> + + @GET("v3/status") + suspend fun statusSimple(): NSResponse + + @GET("v3/entries") + suspend fun getEntries(): List + + @GET("v3/lastModified") + suspend fun lastModified(): Response> + + @GET("v3/entries?sort\$desc=date&type=sgv") + suspend fun getSgvs(): Response>> + + @GET("v3/entries") + suspend fun getSgvsNewerThan(@Query(value = "date\$gt", encoded = true) date: Long, @Query("limit") limit: Long): Response>> + + @GET("v3/entries/history/{from}") + suspend fun getSgvsModifiedSince(@Path("from") from: Long): Response>> + + @GET("v3/treatments/history/{from}") + suspend fun getTreatmentsModifiedSince(@Path("from") from: Long, @Query("limit") limit: Long): Response>> + + @GET("v3/devicestatus/history/{from}") + suspend fun getDeviceStatusModifiedSince(@Path("from") from: Long): Response>> +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/networking/Status.kt b/ns-sdk/src/main/java/info/nightscout/sdk/networking/Status.kt new file mode 100644 index 0000000000..d153d37931 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/networking/Status.kt @@ -0,0 +1,6 @@ +package info.nightscout.sdk.networking + +internal object Status { + + const val MESSAGE_DATE_HEADER_OUT_OF_TOLERANCE = "Date header out of tolerance" +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/LastModified.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/LastModified.kt new file mode 100644 index 0000000000..1f7b3344f4 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/LastModified.kt @@ -0,0 +1,23 @@ +package info.nightscout.sdk.remotemodel + +import com.google.gson.annotations.SerializedName +import kotlinx.serialization.Serializable + +/** + * Timestamp of last modification of every collection + * + **/ +@Serializable +data class LastModified( + @SerializedName("collections") val collections: Collections +) { + + @Serializable + data class Collections( + + @SerializedName("devicestatus") var devicestatus: Long, // devicestatus collection + @SerializedName("entries") var entries: Long, // entries collection + @SerializedName("profile") var profile: Long, // profile collection + @SerializedName("treatments") var treatments: Long // treatments collection + ) +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteAuthResponse.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteAuthResponse.kt new file mode 100644 index 0000000000..5e8a9fdb9c --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteAuthResponse.kt @@ -0,0 +1,3 @@ +package info.nightscout.sdk.remotemodel + +internal data class RemoteAuthResponse(val token: String, val iat: Long, val exp: Long) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteDeviceStatus.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteDeviceStatus.kt new file mode 100644 index 0000000000..26ff3364f0 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteDeviceStatus.kt @@ -0,0 +1,67 @@ +package info.nightscout.sdk.remotemodel + +import com.google.gson.annotations.SerializedName +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.json.JSONObject + +/** + * DeviceStatus coming from uploader or AAPS + * + **/ +@Serializable +data class RemoteDeviceStatus( + @SerializedName("identifier") val identifier: String?, // string Main addressing, required field that identifies document in the collection. The client should not create the identifier, the server automatically assigns it when the document is inserted. + @SerializedName("srvCreated") val srvCreated: Long?, // integer($int64) example: 1525383610088 The server's timestamp of document insertion into the database (Unix epoch in ms). This field appears only for documents which were inserted by API v3. + @SerializedName("srvModified") val srvModified: Long?, // integer($int64) example: 1525383610088 The server's timestamp of the last document modification in the database (Unix epoch in ms). This field appears only for documents which were somehow modified by API v3 (inserted, updated or deleted). + @SerializedName("created_at") val createdAt: String?, // string or string timestamp on previous version of api, in my examples, a lot of treatments don't have date, only created_at, some of them with string others with long... + @SerializedName("uploaderBattery") val uploaderBattery: Int?,// integer($int64) + @SerializedName("device") val device: String?, // "openaps://samsung SM-G970F" + + @SerializedName("uploader") val uploader: Uploader?, + @SerializedName("pump") val pump: Pump?, + @SerializedName("openaps") val openaps: OpenAps?, + @SerializedName("configuration") val configuration: Configuration? +) { + + @Serializable data class Pump( + @SerializedName("clock") val clock: String?, // timestamp in ISO + @SerializedName("reservoir") val reservoir: Double?, + @SerializedName("reservoir_display_override") val reservoirDisplayOverride: String?, + @SerializedName("battery") val battery: Battery?, + @SerializedName("status") val status: Status?, + @Contextual @SerializedName("extended") val extended: JSONObject? // Gson, content depending on pump driver + ) { + + @Serializable data class Battery( + @SerializedName("percent") val percent: Int?, + @SerializedName("voltage") val voltage: Double? + ) + + @Serializable data class Status( + @SerializedName("status") val status: String?, + @SerializedName("timestamp") val timestamp: String? + ) + } + + @Serializable data class OpenAps( + @Contextual @SerializedName("suggested") val suggested: JSONObject?, // Gson + @Contextual @SerializedName("enacted") val enacted: JSONObject?, // Gson + @Contextual @SerializedName("iob") val iob: JSONObject? // Gson + ) + + @Serializable data class Uploader( + @SerializedName("battery") val battery: Int?, + ) + + @Serializable data class Configuration( + @SerializedName("pump") val pump: String?, + @SerializedName("version") val version: String?, + @SerializedName("insulin") val insulin: Int?, + @SerializedName("sensitivity") val sensitivity: Int?, + @Contextual @SerializedName("insulinConfiguration") val insulinConfiguration: JSONObject?, + @Contextual @SerializedName("sensitivityConfiguration") val sensitivityConfiguration: JSONObject?, + @Contextual @SerializedName("overviewConfiguration") val overviewConfiguration: JSONObject?, + @Contextual @SerializedName("safetyConfiguration") val safetyConfiguration: JSONObject? + ) +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteEntry.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteEntry.kt new file mode 100644 index 0000000000..c4b3135579 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteEntry.kt @@ -0,0 +1,37 @@ +package info.nightscout.sdk.remotemodel + +import com.google.gson.annotations.SerializedName +import info.nightscout.sdk.localmodel.treatment.EventType + +/* +* Depending on the type, different other fields are present. +* Those technically need to be optional. +* +* On upload a sanity check still needs to be done to verify that all mandatory fields for that type are there. +* +* TODO: Find out all types with their optional and mandatory fields +* +* */ +internal data class RemoteEntry( + @SerializedName("type") val type: String, // sgv, mbg, cal, etc; Bolus type NORMAL, SMB, PRIMING + @SerializedName("sgv") val sgv: Double?, // number The glucose reading. (only available for sgv types) + @SerializedName("dateString") val dateString: String, + @SerializedName("date") val date: Long, // required ? TODO: date and dateString are redundant - are both needed? how to handle inconsistency then? Only expose one to clients? + @SerializedName("device") val device: String?, // The device from which the data originated (including serial number of the device, if it is relevant and safe). + @SerializedName("direction") val direction: String?, // TODO: what implicit convention for the directions exists? + @SerializedName("identifier") val identifier: String, + @SerializedName("srvModified") val srvModified: Long, + @SerializedName("srvCreated") val srvCreated: Long, + // Philoul Others fields below found in API v3 doc + // @SerializedName("app") val app : String, // TODO required ? Application or system in which the record was entered by human or device for the first time. + @SerializedName("utcOffset") val utcOffset: Long?, // Local UTC offset (timezone) of the event in minutes. This field can be set either directly by the client (in the incoming document) or it is + // automatically parsed from the date field. + @SerializedName("subject") val subject: String?, // Name of the security subject (within Nightscout scope) which has created the document. This field is automatically set by the server from the passed token or JWT. + @SerializedName("modifiedBy") val modifiedBy: String?, // Name of the security subject (within Nightscout scope) which has patched or deleted the document for the last time. This field is automatically set by the server. + @SerializedName("isValid") val isValid: Boolean?, // A flag set by the server only for deleted documents. This field appears only within history operation and for documents which were deleted by API v3 (and they always have a false value) + @SerializedName("isReadOnly") val isReadOnly: Boolean?, // A flag set by client that locks the document from any changes. Every document marked with isReadOnly=true is forever immutable and cannot even be deleted. + @SerializedName("noise") val noise: Int?, // 0 or 1 found in the export, I don't know if other values possible ? + @SerializedName("filtered") val filtered: Double?, // The raw filtered value directly from CGM transmitter. (only available for sgv types) + @SerializedName("unfiltered") val unfiltered: Double?, // The raw unfiltered value directly from CGM transmitter. (only available for sgv types) + @SerializedName("units") val units: String?, // The units for the glucose value, mg/dl or mmol/l. It is strongly recommended to fill in this field. +) diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteStatusResponse.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteStatusResponse.kt new file mode 100644 index 0000000000..15055f9051 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteStatusResponse.kt @@ -0,0 +1,47 @@ +package info.nightscout.sdk.remotemodel + +import com.google.gson.annotations.SerializedName + +internal data class NSResponse(val result: T?) + +internal data class RemoteStatusResponse( + @SerializedName("version") val version: String, + @SerializedName("apiVersion") val apiVersion: String, + @SerializedName("srvDate") val srvDate: Long, + @SerializedName("storage") val storage: RemoteStorage, + @SerializedName("apiPermissions") val apiPermissions: RemoteApiPermissions +) + +internal data class RemoteStorage( + @SerializedName("storage") val storage: String, + @SerializedName("version") val version: String +) + +internal data class RemoteApiPermissions( + @SerializedName("devicestatus") val deviceStatus: RemoteApiPermission, + @SerializedName("entries") val entries: RemoteApiPermission, + @SerializedName("food") val food: RemoteApiPermission, + @SerializedName("profile") val profile: RemoteApiPermission, + @SerializedName("settings") val settings: RemoteApiPermission, + @SerializedName("treatments") val treatments: RemoteApiPermission +) + +internal typealias RemoteApiPermission = String + +internal val RemoteApiPermission.create: Boolean + get() = this.contains('c') + +internal val RemoteApiPermission.read: Boolean + get() = this.contains('r') + +internal val RemoteApiPermission.update: Boolean + get() = this.contains('u') + +internal val RemoteApiPermission.delete: Boolean + get() = this.contains('d') + +internal val RemoteApiPermission.readCreate: Boolean + get() = this.read && this.create + +internal val RemoteApiPermission.full: Boolean + get() = this.create && this.read && this.update && this.delete diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteTreatment.kt b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteTreatment.kt new file mode 100644 index 0000000000..80929a2133 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/RemoteTreatment.kt @@ -0,0 +1,97 @@ +package info.nightscout.sdk.remotemodel + +import com.google.gson.Gson +import com.google.gson.annotations.SerializedName +import info.nightscout.sdk.localmodel.treatment.EventType +import org.joda.time.DateTime +import org.joda.time.format.ISODateTimeFormat +import org.json.JSONObject + +/* +* Depending on the type, different other fields are present. +* Those technically need to be optional. +* +* On upload a sanity check still needs to be done to verify that all mandatory fields for that type are there. +* +* TODO: Find out all types with their optional and mandatory fields +* +* */ +internal data class RemoteTreatment( + @SerializedName("identifier") val identifier: String, // string Main addressing, required field that identifies document in the collection. The client should not create the identifier, the server automatically assigns it when the document is inserted. + @SerializedName("date") val date: Long?, // integer($int64) or string required timestamp when the record or event occurred, you can choose from three input formats Unix epoch in milliseconds (1525383610088), Unix epoch in seconds (1525383610), ISO 8601 with optional timezone ('2018-05-03T21:40:10.088Z' or '2018-05-03T23:40:10.088+02:00') + @SerializedName("mills") val mills: Long?, // integer($int64) or string required timestamp when the record or event occurred, you can choose from three input formats Unix + @SerializedName("timestamp") val timestamp: Long?, // integer($int64) or string required timestamp when the record or event occurred, you can choose from three input formats Unix epoch in milliseconds (1525383610088), Unix epoch in seconds (1525383610), ISO 8601 with optional timezone ('2018-05-03T21:40:10.088Z' or '2018-05-03T23:40:10.088+02:00') + @SerializedName("created_at") val created_at: String, // integer($int64) or string timestamp on previous version of api, in my examples, a lot of treatments don't have date, only created_at, some of them with string others with long... + @SerializedName("utcOffset") val utcOffset: Long?, // integer Local UTC offset (timezone) of the event in minutes. This field can be set either directly by the client (in the incoming + // document) or it is automatically parsed from the date field. + // @SerializedName("app") val app : String, // TODO required ? Application or system in which the record was entered by human or device for the first time. + @SerializedName("device") val device: String?, // string The device from which the data originated (including serial number of the device, if it is relevant and safe). + @SerializedName("srvCreated") val srvCreated: Long, // integer($int64) example: 1525383610088 The server's timestamp of document insertion into the database (Unix epoch in ms). This field appears only for documents which were inserted by API v3. + @SerializedName("subject") val subject: String?, // string Name of the security subject (within Nightscout scope) which has created the document. This field is automatically set by the server from the passed token or JWT. + @SerializedName("srvModified") val srvModified: Long, // integer($int64) example: 1525383610088 The server's timestamp of the last document modification in the database (Unix epoch in ms). This field appears only for documents which were somehow modified by API v3 (inserted, updated or deleted). + @SerializedName("modifiedBy") val modifiedBy: String?, // string Name of the security subject (within Nightscout scope) which has patched or deleted the document for the last time. This field is automatically set by the server. + @SerializedName("isValid") val isValid: Boolean?, // boolean A flag set by the server only for deleted documents. This field appears only within history operation and for documents which were deleted by API v3 (and they always have a false value) + @SerializedName("isReadOnly") val isReadOnly: Boolean?, // boolean A flag set by client that locks the document from any changes. Every document marked with isReadOnly=true is forever immutable and cannot even be deleted. + @SerializedName("eventType") val eventType: EventType, // string "BG Check", "Snack Bolus", "Meal Bolus", "Correction Bolus", "Carb Correction", "Combo Bolus", "Announcement", "Note", "Question", "Exercise", "Site Change", "Sensor Start", "Sensor Change", "Pump Battery Change", "Insulin Change", "Temp Basal", "Profile Switch", "D.A.D. Alert", "Temporary Target", "OpenAPS Offline", "Bolus Wizard" + @SerializedName("glucose") val glucose: Double?, // double Current glucose + @SerializedName("glucoseType") val glucoseType: String?, // string example: "Sensor", "Finger", "Manual" + @SerializedName("units") val units: String?, // string The units for the glucose value, mg/dl or mmol/l. It is strongly recommended to fill in this field. + @SerializedName("carbs") val carbs: Double?, // number... Amount of carbs given. + @SerializedName("protein") val protein: Int?, // number... Amount of protein given. + @SerializedName("fat") val fat: Int?, // number... Amount of fat given. + @SerializedName("insulin") val insulin: Double?, // number... Amount of insulin, if any. + @SerializedName("duration") val duration: Long?, // number... Duration in minutes. + @SerializedName("durationInMilliseconds") val durationInMilliseconds: Long?, // number... Duration in milliseconds. + @SerializedName("preBolus") val preBolus: Int?, // number... How many minutes the bolus was given before the meal started. + @SerializedName("splitNow") val splitNow: Int?, // number... Immediate part of combo bolus (in percent). + @SerializedName("splitExt") val splitExt: Int?, // number... Extended part of combo bolus (in percent). + @SerializedName("percent") val percent: Double?, // number... Eventual basal change in percent. + @SerializedName("absolute") val absolute: Double?, // number... Eventual basal change in absolute value (insulin units per hour). + @SerializedName("targetTop") val targetTop: Double?, // number... Top limit of temporary target. + @SerializedName("targetBottom") val targetBottom: Double?, // number... Bottom limit of temporary target. + @SerializedName("profile") val profile: String?, // string Name of the profile to which the pump has been switched. + @SerializedName("reason") val reason: String?, // string For example the reason why the profile has been switched or why the temporary target has been set. + @SerializedName("notes") val notes: String?, // string Description/notes of treatment. + @SerializedName("enteredBy") val enteredBy: String?, // string Who entered the treatment. + + @SerializedName("endId") val endId: Long?, // long id of record which ended this + @SerializedName("pumpId") val pumpId: Long?, // long or "Meal Bolus", "Correction Bolus", "Combo Bolus" ex 4102 not sure if long or int + @SerializedName("pumpType") val pumpType: String?, // string "Meal Bolus", "Correction Bolus", "Combo Bolus" ex "ACCU_CHEK_INSIGHT_BLUETOOTH", + @SerializedName("pumpSerial") val pumpSerial: String?, // string "Meal Bolus", "Correction Bolus", "Combo Bolus" "33013206", + + // other fields found in examples but not in documentation + @SerializedName("profileJson") val profileJson: String?, // string "Profile Switch" ex json toString "{\"units\":\"mg\\/dl\",\"dia\":5,\"timezone\":\"Africa\\/Cairo\", + // \"sens\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":60},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":60},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":61.33333333333333},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":65.33333333333333},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":69.33333333333333},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":73.33333333333333},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":72},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":68},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":65.33333333333333},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":65.33333333333333}],\"carbratio\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":5.7333333333333325},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":7.333333333333333},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":6.666666666666666}],\"basal\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":0.5249999999999999},{\"time\":\"01:00\",\"timeAsSeconds\":3600,\"value\":0.585},{\"time\":\"02:00\",\"timeAsSeconds\":7200,\"value\":0.6375},{\"time\":\"03:00\",\"timeAsSeconds\":10800,\"value\":0.5625},{\"time\":\"04:00\",\"timeAsSeconds\":14400,\"value\":0.4575},{\"time\":\"05:00\",\"timeAsSeconds\":18000,\"value\":0.5175},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":0.48},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":0.51},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":0.48750000000000004},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":0.48},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":0.48750000000000004},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":0.5025000000000001},{\"time\":\"12:00\",\"timeAsSeconds\":43200,\"value\":0.5549999999999999},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":0.5700000000000001},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":0.5700000000000001},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":0.5775},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":0.51},{\"time\":\"17:00\",\"timeAsSeconds\":61200,\"value\":0.54},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":0.48750000000000004},{\"time\":\"19:00\",\"timeAsSeconds\":68400,\"value\":0.5249999999999999},{\"time\":\"20:00\",\"timeAsSeconds\":72000,\"value\":0.46499999999999997},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":0.46499999999999997},{\"time\":\"22:00\",\"timeAsSeconds\":79200,\"value\":0.43499999999999994},{\"time\":\"23:00\",\"timeAsSeconds\":82800,\"value\":0.41250000000000003}],\"target_low\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}],\"target_high\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}]}", + @SerializedName("originalProfileName") val originalProfileName: String?, // string "Effective Profile Switch" + @SerializedName("originalCustomizedName") val originalCustomizedName: String?, // string "Effective Profile Switch" + @SerializedName("originalTimeshift") val originalTimeshift: Long?, // long "Effective Profile Switch" + @SerializedName("originalPercentage") val originalPercentage: Int?, // int "Effective Profile Switch" + @SerializedName("originalDuration") val originalDuration: Long?, // long "Effective Profile Switch" + @SerializedName("originalEnd") val originalEnd: Long?, // long "Effective Profile Switch" + + @SerializedName("bolusCalculatorResult") val bolusCalculatorResult: String?, // string "Bolus Wizard" json toString ex "bolusCalculatorResult": "{\"basalIOB\":-0.247,\"bolusIOB\":-1.837,\"carbs\":45.0,\"carbsInsulin\":9.0,\"cob\":0.0,\"cobInsulin\":0.0,\"dateCreated\":1626202788810,\"glucoseDifference\":44.0,\"glucoseInsulin\":0.8979591836734694,\"glucoseTrend\":5.5,\"glucoseValue\":134.0,\"ic\":5.0,\"id\":331,\"interfaceIDs_backing\":{\"nightscoutId\":\"60ede2a4c574da0004a3869d\"},\"isValid\":true,\"isf\":49.0,\"note\":\"\",\"otherCorrection\":0.0,\"percentageCorrection\":90,\"profileName\":\"Tuned 13/01 90%Lyum\",\"superbolusInsulin\":0.0,\"targetBGHigh\":90.0,\"targetBGLow\":90.0,\"timestamp\":1626202783325,\"totalInsulin\":7.34,\"trendInsulin\":0.336734693877551,\"utcOffset\":7200000,\"version\":1,\"wasBasalIOBUsed\":true,\"wasBolusIOBUsed\":true,\"wasCOBUsed\":true,\"wasGlucoseUsed\":true,\"wasSuperbolusUsed\":false,\"wasTempTargetUsed\":false,\"wasTrendUsed\":true,\"wereCarbsUsed\":false}", + @SerializedName("type") val type: String?, // string "Meal Bolus", "Correction Bolus", "Combo Bolus", "Temp Basal" type of bolus "NORMAL", "SMB", "FAKE_EXTENDED" + @SerializedName("isSMB") val isSMB: Boolean, // boolean "Meal Bolus", "Correction Bolus", "Combo Bolus" + @SerializedName("enteredinsulin") val enteredinsulin: Double?, // number... "Combo Bolus" insulin is missing only enteredinsulin field found + @SerializedName("relative") val relative: Double?, // number... "Combo Bolus", "extendedEmulated" (not in doc see below) + @SerializedName("isEmulatingTempBasal") val isEmulatingTempBasal: Boolean, // boolean "Combo Bolus", "extendedEmulated" (not in doc see below) + @SerializedName("isAnnouncement") val isAnnouncement: Boolean, // boolean "Announcement" + @SerializedName("rate") val rate: Double?, // Double "Temp Basal" absolute rate (could be calculated with percent and profile information...) + @SerializedName("extendedEmulated") val extendedEmulated: RemoteTreatment?, // Gson of emulated EB + @SerializedName("timeshift") val timeshift: Long, // integer "Profile Switch" + @SerializedName("percentage") val percentage: Int?, // integer "Profile Switch" +) { + + fun timestamp(): Long { + return date ?: mills ?: timestamp ?: fromISODateString(created_at) + } + + private fun fromISODateString(isoDateString: String): Long = + try { + val parser = ISODateTimeFormat.dateTimeParser() + val dateTime = DateTime.parse(isoDateString, parser) + dateTime.toDate().time + } catch (e: Exception) { + 0L + } +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/examples.json b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/examples.json new file mode 100644 index 0000000000..87b19cad8b --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/remotemodel/examples.json @@ -0,0 +1,490 @@ +// Entry +{ + "device": "xDrip-Follower", + "date": 1549414398005, + "dateString": "2019-02-06T01:53:18.005+0100", + "sgv": 98, + "delta": -1.132, + "direction": "Flat", + "type": "sgv", + "filtered": 90336, + "unfiltered": 89712, + "rssi": 100, + "noise": 1, + "sysTime": "2019-02-06T01:53:18.005+0100", + "identifier": "5c5a3007e0196f4d3d9aeafc", + "srvModified": 1549414398005, + "srvCreated": 1549414398005 +}, + +// G6 AAPS +{ + "_id": "60bace9f51e8150004f0973a", + "device": "AndroidAPS-DexcomG6", + "date": 1622855221000, + "dateString": "2021-06-05T01:07:01.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", // DoubleDown, SingleDown, FortyFiveDown, Flat, FortyFiveUp, SingleUp, DoubleUp + "type": "sgv", + "created_at": "2021-06-05T01:08:47.234Z" +}, +// G6 DEXCOM APP Share +{ + "_id": "60cd4e7d5bcdeb30e43a248d", + "sgv": 90, + "date": 1624067551000, + "dateString": "2021-06-19T01:52:31.000Z", + "trend": 4, // 7 , 6 , 5 , 4 , 3 , 2 , 1 + "direction": "Flat", // DoubleDown, SingleDown, FortyFiveDown, Flat, FortyFiveUp, SingleUp, DoubleUp + "device": "share2", + "type": "sgv", + "utcOffset": 0, + "sysTime": "2021-06-19T01:52:31.000Z" +}, +// FSL1 xDrip +{ + "device": "AndroidAPS", + "date": 1588557121000, + "dateString": "2020-05-04T01:52:01Z", + "sgv": 76, + "direction": "Flat", // DoubleDown, SingleDown, FortyFiveDown, Flat, FortyFiveUp, SingleUp, DoubleUp + "type": "sgv", + "systime": "2020-05-04T01:52:01Z", + "utcOffset": 120 +}, +// LimiTTer xDrip +{ + "_id": "5ed06c9a0ea4dcb70fac6cc7", + "device": "xDrip-LimiTTer", + "date": 1590717591357, + "dateString": "2020-05-29T01:59:51.357Z", + "sgv": 114, + "delta": -2.942, + "direction": "Flat", + "type": "sgv", + "filtered": 127411.75515, + "unfiltered": 127411.75515, + "rssi": 100, + "noise": 1, + "sysTime": "2020-05-29T01:59:51.357Z", + "utcOffset": 120 +}, + +// API v3 requests for treatments +{ + "eventType": "BG Check", + "created_at": 1616966443000, + "units": "mg/dl", + "glucose": 57, + "NSCLIENT_ID": "1616966443000", + "identifier": "6060f32e9b9c5900045c858b", + "srvModified": 1616966443000, + "srvCreated": 1616966443000 +}, +{ + "eventType": "BG Check", + "created_at": 1617365936000, + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "notes": "Coucou", + "glucose": 94, + "glucoseType": "Finger", + "identifier": "606727c058f71500041e1ed3", + "srvModified": 1617365936000, + "srvCreated": 1617365936000 +}, +{ + "eventType": "Meal Bolus", + "carbs": 45, + "created_at": "2021-07-13T18:19:43.325Z", + "isValid": true, + "date": 1626200383325, + "identifier": "60ede2a4c574da0004a3869c", + "srvModified": 1626200383325, + "srvCreated": 1626200383325 +}, +{ + "eventType": "Meal Bolus", + "insulin": 8.1, + "created_at": "2021-07-13T11:25:12.664Z", + "date": 1626175512664, + "type": "NORMAL", + "isValid": true, + "isSMB": false, + "pumpId": 4102, + "pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", + "pumpSerial": "33013206", + "identifier": "60ed782dc574da0004a38595", + "srvModified": 1626175512664, + "srvCreated": 1626175512664 +}, +{ + "eventType": "Correction Bolus", + "insulin": 0.25, + "created_at": "2021-07-13T20:44:14.441Z", + "date": 1626209054441, + "type": "SMB", + "isValid": true, + "isSMB": true, + "pumpId": 4148, + "pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", + "pumpSerial": "33013206", + "identifier": "60edfb34c574da0004a386d4", + "srvModified": 1626209054441, + "srvCreated": 1626209054441 +},{ + "eventType": "Carb Correction", + "carbs": 5, + "created_at": "2021-06-17T09:00:34.000Z", + "isValid": true, + "date": 1623920434000, + "identifier": "60cb2f351a94d4000483b692", + "srvModified": 1623920434000, + "srvCreated": 1623920434000 +}, +{ +"created_at": "2021-05-28T19:46:43.851Z", +"enteredBy": "openaps://AndroidAPS", +"eventType": "Combo Bolus", +"duration": 5, +"splitNow": 0, +"splitExt": 100, +"enteredinsulin": 0.7890262726962469, +"relative": 8.893749414356174, +"isValid": true, +"isEmulatingTempBasal": false, +"pumpId": 4, +"pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", +"pumpSerial": "33010032", +"identifier": "60b148b419cf4300040b0195", +"srvModified": 1622231203851, +"srvCreated": 1622231203851 +}, +{ + "eventType": "Announcement", + "created_at": 1617350431592, + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "notes": "5g de glucides requis dans 40 min.", + "isAnnouncement": true, + "identifier": "6066cf2508a6ed0004b4ed44", + "srvModified": 1617350431592, + "srvCreated": 1617350431592 +}, +{ + "eventType": "Note", + "created_at": 1617023462485, + "units": "mg/dl", + "notes": "AndroidAPS started - Logicom Le Hola FR", + "identifier": "6061d20b17619800047216b2", + "srvModified": 1617023462485, + "srvCreated": 1617023462485 +}, +{ + "eventType": "Exercise", + "created_at": 1617373066000, + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "duration": 20, + "notes": "ten tab", + "identifier": "606727a658f71500041e1ed2", + "srvModified": 1617373066000, + "srvCreated": 1617373066000 +}, +{ + "eventType": "Exercise", + "isValid": true, + "created_at": "2021-07-09T18:15:22.000Z", + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "duration": 105, + "notes": "🏓", + "identifier": "60e8b223b98ea2000472cbb3", + "srvModified": 1625854522000, + "srvCreated": 1625854522000 +}, +{ + "eventType": "Site Change", + "created_at": 1616312250000, + "units": "mg/dl", + "notes": "", + "NSCLIENT_ID": "1616312250000", + "identifier": "6056f7c1bc2dc60004e75499", + "srvModified": 1616312250000, + "srvCreated": 1616312250000 +}, +{ + "eventType": "Sensor Change", + "created_at": 1617373059000, + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "identifier": "6067278d58f71500041e1ed1", + "srvModified": 1617373059000, + "srvCreated": 1617373059000 +}, +{ + "enteredBy": "AndroidAPS-DexcomG6", + "created_at": 1617799461000, + "eventType": "Sensor Change", + "NSCLIENT_ID": "1617961262771", + "identifier": "60702190403172000451e5dc", + "srvModified": 1617799461000, + "srvCreated": 1617799461000 +}, +{ + "eventType": "Pump Battery Change", + "created_at": 1616517575000, + "enteredBy": "AndroidAPS", + "units": "mg/dl", + "notes": "à peu près...", + "NSCLIENT_ID": "1616517575000", + "identifier": "605cbce3f9ed3b0004694ee8", + "srvModified": 1616517575000, + "srvCreated": 1616517575000 +}, +{ + "created_at": 1617576811000, + "eventType": "Pump Battery Change", + "NSCLIENT_ID": "1617577097394", + "glucoseType": "Manual", + "isValid": true, + "units": "mg/dl", + "identifier": "606a448d7c31f00004bb47ac", + "srvModified": 1617576811000, + "srvCreated": 1617576811000 +}, +{ + "eventType": "Insulin Change", + "created_at": 1616342559000, + "units": "mg/dl", + "notes": "Ajout manuel pour UE", + "NSCLIENT_ID": "1616342559000", + "identifier": "60576e6b5a34f900043e25f6", + "srvModified": 1616342559000, + "srvCreated": 1616342559000 +}, +{ + "created_at": "2021-07-13T20:44:12.891Z", + "enteredBy": "openaps://AndroidAPS", + "eventType": "Temp Basal", + "isValid": true, + "duration": 60, + "rate": 0, + "type": "NORMAL", + "absolute": 0, + "pumpId": 284835, + "pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", + "pumpSerial": "33013206", + "identifier": "60edfb34c574da0004a386d3", + "srvModified": 1626209052891, + "srvCreated": 1626209052891 +}, +{ + "created_at": "2021-07-13T20:40:29.896Z", + "enteredBy": "openaps://AndroidAPS", + "eventType": "Temp Basal", + "isValid": true, + "duration": 3, + "rate": 2.4391549295774646, + "type": "FAKE_EXTENDED", + "absolute": 2.4391549295774646, + "pumpId": 4147, + "pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", + "pumpSerial": "33013206", + "extendedEmulated": { + "created_at": "2021-07-13T20:40:29.896Z", + "enteredBy": "openaps://AndroidAPS", + "eventType": "Combo Bolus", + "duration": 3, + "splitNow": 0, + "splitExt": 100, + "enteredinsulin": 0.11, + "relative": 1.8591549295774648, + "isValid": true, + "isEmulatingTempBasal": true, + "pumpId": 4147, + "pumpType": "ACCU_CHEK_INSIGHT_BLUETOOTH", + "pumpSerial": "33013206" + }, + "identifier": "60edfa51c574da0004a386d0", + "srvModified": 1626208829896, + "srvCreated": 1626208829896 +}, +{ + "eventType": "OpenAPS Offline", + "created_at": 1616391934628, + "enteredBy": "openaps://AndroidAPS", + "units": "mg/dl", + "duration": 15, + "NSCLIENT_ID": "1616391934628", + "identifier": "60582f005a34f900043e2845", + "srvModified": 1616391934628, + "srvCreated": 1616391934628 +}, +{ + "created_at": "2021-06-26T13:36:47.000Z", + "enteredBy": "openaps://AndroidAPS", + "isValid": true, + "eventType": "Profile Switch", + "duration": 0, + "profile": "Tuned 13/01 90%Lyum", + "profileJson": "{\"units\":\"mg\\/dl\",\"dia\":5,\"timezone\":\"Africa\\/Cairo\",\"sens\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":45},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":45},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":46},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":49},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":52},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":55},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":54},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":51},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":49},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":49}],\"carbratio\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":4.3},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":5.5},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":5}],\"basal\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":0.7},{\"time\":\"01:00\",\"timeAsSeconds\":3600,\"value\":0.78},{\"time\":\"02:00\",\"timeAsSeconds\":7200,\"value\":0.85},{\"time\":\"03:00\",\"timeAsSeconds\":10800,\"value\":0.75},{\"time\":\"04:00\",\"timeAsSeconds\":14400,\"value\":0.61},{\"time\":\"05:00\",\"timeAsSeconds\":18000,\"value\":0.69},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":0.64},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":0.68},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":0.65},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":0.64},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":0.65},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":0.67},{\"time\":\"12:00\",\"timeAsSeconds\":43200,\"value\":0.74},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":0.76},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":0.76},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":0.77},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":0.68},{\"time\":\"17:00\",\"timeAsSeconds\":61200,\"value\":0.72},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":0.65},{\"time\":\"19:00\",\"timeAsSeconds\":68400,\"value\":0.7},{\"time\":\"20:00\",\"timeAsSeconds\":72000,\"value\":0.62},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":0.62},{\"time\":\"22:00\",\"timeAsSeconds\":79200,\"value\":0.58},{\"time\":\"23:00\",\"timeAsSeconds\":82800,\"value\":0.55}],\"target_low\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}],\"target_high\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}]}", + "timeshift": 0, + "percentage": 100, + "identifier": "60d72d80aec46a0004f95163", + "srvModified": 1624714607000, + "srvCreated": 1624714607000 +}, +{ + "created_at": "2021-06-13T07:20:33.000Z", + "enteredBy": "openaps://AndroidAPS", + "isValid": true, + "eventType": "Profile Switch", + "duration": 150, + "profile": "Tuned 13/01 90%Lyum(75%)", + "profileJson": "{\"units\":\"mg\\/dl\",\"dia\":5,\"timezone\":\"Africa\\/Cairo\",\"sens\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":60},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":60},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":61.33333333333333},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":65.33333333333333},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":69.33333333333333},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":73.33333333333333},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":72},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":68},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":65.33333333333333},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":65.33333333333333}],\"carbratio\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":5.7333333333333325},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":7.333333333333333},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":6.666666666666666}],\"basal\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":0.5249999999999999},{\"time\":\"01:00\",\"timeAsSeconds\":3600,\"value\":0.585},{\"time\":\"02:00\",\"timeAsSeconds\":7200,\"value\":0.6375},{\"time\":\"03:00\",\"timeAsSeconds\":10800,\"value\":0.5625},{\"time\":\"04:00\",\"timeAsSeconds\":14400,\"value\":0.4575},{\"time\":\"05:00\",\"timeAsSeconds\":18000,\"value\":0.5175},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":0.48},{\"time\":\"07:00\",\"timeAsSeconds\":25200,\"value\":0.51},{\"time\":\"08:00\",\"timeAsSeconds\":28800,\"value\":0.48750000000000004},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":0.48},{\"time\":\"10:00\",\"timeAsSeconds\":36000,\"value\":0.48750000000000004},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":0.5025000000000001},{\"time\":\"12:00\",\"timeAsSeconds\":43200,\"value\":0.5549999999999999},{\"time\":\"13:00\",\"timeAsSeconds\":46800,\"value\":0.5700000000000001},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":0.5700000000000001},{\"time\":\"15:00\",\"timeAsSeconds\":54000,\"value\":0.5775},{\"time\":\"16:00\",\"timeAsSeconds\":57600,\"value\":0.51},{\"time\":\"17:00\",\"timeAsSeconds\":61200,\"value\":0.54},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":0.48750000000000004},{\"time\":\"19:00\",\"timeAsSeconds\":68400,\"value\":0.5249999999999999},{\"time\":\"20:00\",\"timeAsSeconds\":72000,\"value\":0.46499999999999997},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":0.46499999999999997},{\"time\":\"22:00\",\"timeAsSeconds\":79200,\"value\":0.43499999999999994},{\"time\":\"23:00\",\"timeAsSeconds\":82800,\"value\":0.41250000000000003}],\"target_low\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}],\"target_high\":[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":100},{\"time\":\"06:00\",\"timeAsSeconds\":21600,\"value\":90},{\"time\":\"09:00\",\"timeAsSeconds\":32400,\"value\":100},{\"time\":\"11:00\",\"timeAsSeconds\":39600,\"value\":90},{\"time\":\"14:00\",\"timeAsSeconds\":50400,\"value\":100},{\"time\":\"18:00\",\"timeAsSeconds\":64800,\"value\":90},{\"time\":\"21:00\",\"timeAsSeconds\":75600,\"value\":100}]}", + "timeshift": 0, + "percentage": 100, + "identifier": "60c5b1f41b3715000420af27", + "srvModified": 1623568833000, + "srvCreated": 1623568833000 +}, +{ + "eventType": "Temporary Target", + "duration": 60, + "isValid": true, + "created_at": "2021-07-10T05:04:11.566Z", + "enteredBy": "AndroidAPS", + "reason": "Automation", + "targetBottom": 110, + "targetTop": 110, + "units": "mg/dl", + "identifier": "60e92a644fc2eb00045ece1b", + "srvModified": 1625893451566, + "srvCreated": 1625893451566 +}, +{ + "eventType": "Temporary Target", + "duration": 120, + "isValid": true, + "created_at": "2021-07-09T20:30:21.627Z", + "enteredBy": "AndroidAPS", + "reason": "Hypo", + "targetBottom": 140, + "targetTop": 140, + "units": "mg/dl", + "identifier": "60e8b1f2b98ea2000472cbb1", + "srvModified": 1625862621627, + "srvCreated": 1625862621627 +}, +{ + "eventType": "Bolus Wizard", + "created_at": "2021-07-13T18:59:43.325Z", + "isValid": true, + "bolusCalculatorResult": "{\"basalIOB\":-0.247,\"bolusIOB\":-1.837,\"carbs\":45.0,\"carbsInsulin\":9.0,\"cob\":0.0,\"cobInsulin\":0.0,\"dateCreated\":1626202788810,\"glucoseDifference\":44.0,\"glucoseInsulin\":0.8979591836734694,\"glucoseTrend\":5.5,\"glucoseValue\":134.0,\"ic\":5.0,\"id\":331,\"interfaceIDs_backing\":{\"nightscoutId\":\"60ede2a4c574da0004a3869d\"},\"isValid\":true,\"isf\":49.0,\"note\":\"\",\"otherCorrection\":0.0,\"percentageCorrection\":90,\"profileName\":\"Tuned 13/01 90%Lyum\",\"superbolusInsulin\":0.0,\"targetBGHigh\":90.0,\"targetBGLow\":90.0,\"timestamp\":1626202783325,\"totalInsulin\":7.34,\"trendInsulin\":0.336734693877551,\"utcOffset\":7200000,\"version\":1,\"wasBasalIOBUsed\":true,\"wasBolusIOBUsed\":true,\"wasCOBUsed\":true,\"wasGlucoseUsed\":true,\"wasSuperbolusUsed\":false,\"wasTempTargetUsed\":false,\"wasTrendUsed\":true,\"wereCarbsUsed\":false}", + "date": 1626202783325, + "glucose": 134, + "units": "mg/dl", + "notes": "", + "identifier": "60ede2a4c574da0004a3869d", + "srvModified": 1626202783325, + "srvCreated": 1626202783325 +}, + +DEVICE STATUS with configuration +--------------------------------- +{ + "_id": "635abf2069a34517e83768cd", + "created_at": "2022-10-27T17:25:49.730Z", + "device": "openaps://samsung SM-G970F", + "pump": { + "battery": { + "percent": 100 + }, + "status": { + "status": "normal", + "timestamp": "2022-10-27T17:16:11.504Z" + }, + "extended": { + "Version": "3.1.0.3-dev-c-nscv3-8da78d7351-2022.10.25-19:56", + "LastBolus": "10/27/22 18:40", + "LastBolusAmount": 0.35, + "TempBasalAbsoluteRate": 0, + "TempBasalStart": "10/27/22 18:50", + "TempBasalRemaining": 24, + "BaseBasalRate": 1, + "ActiveProfile": "LocalProfile1" + }, + "reservoir": 191, + "clock": "2022-10-27T17:25:49.759Z" + }, + "openaps": { + "suggested": { + "temp": "absolute", + "bg": 72, + "tick": -6, + "eventualBG": 4, + "snoozeBG": 4, + "predBGs": { + "IOB": [72, 61, 51, 42, 39, 39, 39, 39, 39, 39, 39, 39, 39] + }, + "COB": 0, + "IOB": 0.052, + "reason": "COB: 0, Dev: -66, BGI: -0.88, ISF: 2.0, Target: 6.0; BG 4.0<4.4, but 25m left and 0 ~ req 0U/hr: no action required", + "timestamp": "2022-10-27T17:25:49.726Z" + }, + "iob": { + "iob": 0.052, + "basaliob": 0.052, + "activity": 0.0049, + "time": "2022-10-27T17:25:49.726Z" + } + }, + "uploaderBattery": 100, + "configuration": { + "insulin": 5, + "insulinConfiguration": {}, + "sensitivity": 2, + "sensitivityConfiguration": { + "openapsama_min_5m_carbimpact": 10, + "absorption_cutoff": 4, + "autosens_max": 1.2, + "autosens_min": 0.7 + }, + "overviewConfiguration": { + "units": "mmol", + "eatingsoon_duration": 0, + "eatingsoon_target": 0, + "activity_duration": 0, + "activity_target": 0, + "hypo_duration": 0, + "hypo_target": 0, + "low_mark": 4, + "high_mark": 0, + "statuslights_cage_warning": 48, + "statuslights_cage_critical": 72, + "statuslights_iage_warning": 72, + "statuslights_iage_critical": 144, + "statuslights_sage_warning": 216, + "statuslights_sage_critical": 240, + "statuslights_sbat_warning": 25, + "statuslights_sbat_critical": 5, + "statuslights_bage_warning": 216, + "statuslights_bage_critical": 240, + "statuslights_res_warning": 80, + "statuslights_res_critical": 10, + "statuslights_bat_warning": 25, + "statuslights_bat_critical": 5, + "boluswizard_percentage": 60 + }, + "safetyConfiguration": { + "age": "teenage", + "treatmentssafety_maxbolus": 4, + "treatmentssafety_maxcarbs": 60 + }, + "pump": "DanaR", + "version": "3.1.0.3-dev-c-nscv3" + }, + "mills": 1666891549730 +} \ No newline at end of file diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/utils/CoroutineUtils.kt b/ns-sdk/src/main/java/info/nightscout/sdk/utils/CoroutineUtils.kt new file mode 100644 index 0000000000..9b6b777f13 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/utils/CoroutineUtils.kt @@ -0,0 +1,22 @@ +package info.nightscout.sdk.utils + +import kotlinx.coroutines.delay +import kotlin.reflect.KClass + +@Suppress("TooGenericExceptionCaught") +internal suspend fun retry( + numberOfRetries: Int, + delayBetweenRetries: Long, + excludedExceptions: List>, + block: suspend () -> T +): T { + repeat(numberOfRetries) { + try { + return block() + } catch (exception: Exception) { + if (exception::class in excludedExceptions) throw exception + } + delay(delayBetweenRetries) + } + return block() +} diff --git a/ns-sdk/src/main/java/info/nightscout/sdk/utils/ListUtils.kt b/ns-sdk/src/main/java/info/nightscout/sdk/utils/ListUtils.kt new file mode 100644 index 0000000000..12e326db36 --- /dev/null +++ b/ns-sdk/src/main/java/info/nightscout/sdk/utils/ListUtils.kt @@ -0,0 +1,4 @@ +package info.nightscout.sdk.utils + +@JvmSynthetic +internal fun List?.toNotNull(): List = this?.filterNotNull() ?: listOf() diff --git a/openhumans/build.gradle b/openhumans/build.gradle index 1d7f6b7f30..87b80dab73 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/plugins/build.gradle b/plugins/build.gradle index f75226f9a9..0a538ec21d 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -1,12 +1,15 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { namespace 'info.nightscout.plugins' diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 484cececce..a64f354b03 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -1,6 +1,5 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.database.AppRepository @@ -17,14 +16,15 @@ import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONObject @@ -41,6 +41,7 @@ open class AutotuneIob @Inject constructor( private val dateUtil: DateUtil, private val autotuneFS: AutotuneFS ) { + private var nsTreatments = ArrayList() private var dia: Double = Constants.defaultDIA var boluses: ArrayList = ArrayList() @@ -58,10 +59,10 @@ open class AutotuneIob @Inject constructor( nsTreatments.clear() meals.clear() boluses.clear() - tempBasals = ArrayList() + tempBasals = ArrayList() if (profileFunction.getProfile(from - range()) == null) return - initializeBgreadings(from, to) + initializeBgReadings(from, to) initializeTreatmentData(from - range(), to) initializeTempBasalData(from - range(), to, tunedProfile) initializeExtendedBolusData(from - range(), to, tunedProfile) @@ -87,14 +88,17 @@ open class AutotuneIob @Inject constructor( boluses = ArrayList(boluses.toList().sortedWith { o1: Bolus, o2: Bolus -> (o2.timestamp - o1.timestamp).toInt() }) } - private fun initializeBgreadings(from: Long, to: Long) { + private fun initializeBgReadings(from: Long, to: Long) { glucose = repository.compatGetBgReadingsDataFromTime(from, to, false).blockingGet() } //nsTreatment is used only for export data, meals is used in AutotunePrep private fun initializeTreatmentData(from: Long, to: Long) { val oldestBgDate = if (glucose.isNotEmpty()) glucose[glucose.size - 1].timestamp else from - aapsLogger.debug(LTag.AUTOTUNE, "Check BG date: BG Size: " + glucose.size + " OldestBG: " + dateUtil.dateAndTimeAndSecondsString(oldestBgDate) + " to: " + dateUtil.dateAndTimeAndSecondsString(to)) + aapsLogger.debug( + LTag.AUTOTUNE, + "Check BG date: BG Size: " + glucose.size + " OldestBG: " + dateUtil.dateAndTimeAndSecondsString(oldestBgDate) + " to: " + dateUtil.dateAndTimeAndSecondsString(to) + ) val tmpCarbs = repository.getCarbsDataFromTimeToTimeExpanded(from, to, false).blockingGet() aapsLogger.debug(LTag.AUTOTUNE, "Nb treatments after query: " + tmpCarbs.size) var nbCarbs = 0 @@ -170,7 +174,7 @@ open class AutotuneIob @Inject constructor( timestamp = newStart, rate = 100.0, duration = previousStart - newStart, - interfaceIDs_backing = InterfaceIDs(nightscoutId = "neutral_" + newStart.toString()), + interfaceIDs_backing = InterfaceIDs(nightscoutId = "neutral_$newStart"), type = TemporaryBasal.Type.NORMAL ) toSplittedTimestampTB(neutralTbr, tunedProfile) @@ -184,7 +188,7 @@ open class AutotuneIob @Inject constructor( timestamp = from, rate = 100.0, duration = previousStart - from, - interfaceIDs_backing = InterfaceIDs(nightscoutId = "neutral_" + from.toString()), + interfaceIDs_backing = InterfaceIDs(nightscoutId = "neutral_$from"), type = TemporaryBasal.Type.NORMAL ) toSplittedTimestampTB(neutralTbr, tunedProfile) @@ -202,7 +206,7 @@ open class AutotuneIob @Inject constructor( val endTimestamp = splittedTimestamp + splittedDuration while (splittedDuration > 0) { if (Profile.milliSecFromMidnight(splittedTimestamp) / cutInMilliSec == Profile.milliSecFromMidnight(endTimestamp) / cutInMilliSec) { - val newtb = TemporaryBasal( + val newTb = TemporaryBasal( isValid = true, isAbsolute = tb.isAbsolute, timestamp = splittedTimestamp, @@ -211,15 +215,15 @@ open class AutotuneIob @Inject constructor( interfaceIDs_backing = tb.interfaceIDs_backing, type = tb.type ) - tempBasals.add(newtb) - nsTreatments.add(NsTreatment(newtb)) + tempBasals.add(newTb) + nsTreatments.add(NsTreatment(newTb)) splittedDuration = 0 - val profile = profileFunction.getProfile(newtb.timestamp) ?:continue - boluses.addAll(convertToBoluses(newtb, profile, tunedProfile.profile)) // - // required for correct iob calculation with oref0 algo + val profile = profileFunction.getProfile(newTb.timestamp) ?: continue + boluses.addAll(convertToBoluses(newTb, profile, tunedProfile.profile)) // + // required for correct iob calculation with oref0 algo } else { val durationFilled = (cutInMilliSec - Profile.milliSecFromMidnight(splittedTimestamp) % cutInMilliSec) - val newtb = TemporaryBasal( + val newTb = TemporaryBasal( isValid = true, isAbsolute = tb.isAbsolute, timestamp = splittedTimestamp, @@ -228,20 +232,19 @@ open class AutotuneIob @Inject constructor( interfaceIDs_backing = tb.interfaceIDs_backing, type = tb.type ) - tempBasals.add(newtb) - nsTreatments.add(NsTreatment(newtb)) + tempBasals.add(newTb) + nsTreatments.add(NsTreatment(newTb)) splittedTimestamp += durationFilled splittedDuration -= durationFilled - val profile = profileFunction.getProfile(newtb.timestamp) ?:continue - boluses.addAll(convertToBoluses(newtb, profile, tunedProfile.profile)) // required for correct iob calculation with oref0 algo + val profile = profileFunction.getProfile(newTb.timestamp) ?: continue + boluses.addAll(convertToBoluses(newTb, profile, tunedProfile.profile)) // required for correct iob calculation with oref0 algo } } } } - open fun getIOB(time: Long, localInsulin: LocalInsulin): IobTotal { - return getCalculationToTimeTreatments(time, localInsulin).round() - } + open fun getIOB(time: Long, localInsulin: LocalInsulin): IobTotal = + getCalculationToTimeTreatments(time, localInsulin).round() private fun getCalculationToTimeTreatments(time: Long, localInsulin: LocalInsulin): IobTotal { val total = IobTotal(time) @@ -252,14 +255,19 @@ open class AutotuneIob @Inject constructor( if (t.timestamp > time || t.timestamp < time - localInsulin.duration) continue val tIOB = t.iobCalc(time, localInsulin) if (detailedLog) - log("iobCalc;${t.interfaceIDs.nightscoutId};$time;${t.timestamp};${tIOB.iobContrib};${tIOB.activityContrib};${dateUtil.dateAndTimeAndSecondsString(time)};${dateUtil.dateAndTimeAndSecondsString(t.timestamp)}") + log( + "iobCalc;${t.interfaceIDs.nightscoutId};$time;${t.timestamp};${tIOB.iobContrib};${tIOB.activityContrib};${dateUtil.dateAndTimeAndSecondsString(time)};${ + dateUtil.dateAndTimeAndSecondsString( + t.timestamp + ) + }" + ) total.iob += tIOB.iobContrib total.activity += tIOB.activityContrib } return total } - private fun convertToBoluses(eb: ExtendedBolus): MutableList { val result: MutableList = ArrayList() val aboutFiveMinIntervals = ceil(eb.duration / 5.0).toInt() @@ -285,11 +293,13 @@ open class AutotuneIob @Inject constructor( val realDuration = tbr.durationInMinutes val basalRate = profile.getBasal(tbr.timestamp) val tunedRate = tunedProfile.getBasal(tbr.timestamp) - val netBasalRate = Round.roundTo(if (tbr.isAbsolute) { - tbr.rate - tunedRate - } else { - tbr.rate / 100.0 * basalRate - tunedRate - }, 0.001) + val netBasalRate = Round.roundTo( + if (tbr.isAbsolute) { + tbr.rate - tunedRate + } else { + tbr.rate / 100.0 * basalRate - tunedRate + }, 0.001 + ) val aboutFiveMinIntervals = ceil(realDuration / 5.0).toInt() val tempBolusSpacing = realDuration / aboutFiveMinIntervals.toDouble() for (j in 0L until aboutFiveMinIntervals) { @@ -311,8 +321,8 @@ open class AutotuneIob @Inject constructor( @Synchronized fun glucoseToJSON(): String { val glucoseJson = JSONArray() - for (bgreading in glucose) - glucoseJson.put(bgreading.toJson(true, dateUtil)) + for (bgReading in glucose) + glucoseJson.put(bgReading.toJson(true, dateUtil)) return glucoseJson.toString(2) } @@ -368,7 +378,7 @@ open class AutotuneIob @Inject constructor( } fun toJson(): JSONObject? { - val cPjson = JSONObject() + val cpJson = JSONObject() return when (eventType) { TherapyEvent.Type.TEMPORARY_BASAL -> temporaryBasal?.let { tbr -> @@ -377,6 +387,7 @@ open class AutotuneIob @Inject constructor( tbr.toJson(true, it, dateUtil) } } + TherapyEvent.Type.COMBO_BOLUS -> extendedBolus?.let { ebr -> val profile = profileFunction.getProfile(ebr.timestamp) @@ -384,9 +395,10 @@ open class AutotuneIob @Inject constructor( ebr.toJson(true, it, dateUtil) } } + TherapyEvent.Type.CORRECTION_BOLUS -> bolusTreatment?.toJson(true, dateUtil) TherapyEvent.Type.CARBS_CORRECTION -> carbsTreatment?.toJson(true, dateUtil) - else -> cPjson + else -> cpJson } } } diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index d5c4e96f7e..489091dd06 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BuildHelper @@ -23,6 +22,7 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 6cd077fe99..e0c101320a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -7,9 +7,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.extensions.blockValueBySeconds -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile @@ -17,8 +15,10 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index e67e5f1d6d..0af83f741a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -11,10 +11,8 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TemporaryTarget @@ -29,32 +27,34 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword @@ -246,7 +246,7 @@ class SmsCommunicatorPlugin @Inject constructor( } fun processSms(receivedSms: Sms) { - if (!isEnabled(PluginType.GENERAL)) { + if (!isEnabled()) { aapsLogger.debug(LTag.SMS, "Ignoring SMS. Plugin disabled.") return } diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index c3877334ba..a443d545ab 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -111,7 +111,7 @@ class StatusLinePlugin @Inject constructor( private fun sendStatus() { var status = "" // sent once on disable val profile = profileFunction.getProfile() - if (isEnabled(PluginType.GENERAL) && profile != null) { + if (isEnabled() && profile != null) { status = buildStatusString(profile) } //sendData diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 175df21037..1821f8ddc2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.GlucoseUnit @@ -32,6 +31,7 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt new file mode 100644 index 0000000000..166d58dba8 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt @@ -0,0 +1,52 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject + +fun Bolus.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("eventType", if (type == Bolus.Type.SMB) TherapyEvent.Type.CORRECTION_BOLUS.text else TherapyEvent.Type.MEAL_BOLUS.text) + .put("insulin", amount) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("date", timestamp) + .put("type", type.name) + .put("notes", notes) + .put("isValid", isValid) + .put("isSMB", type == Bolus.Type.SMB).also { + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + +fun bolusFromJson(jsonObject: JSONObject): Bolus? { + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + val amount = JsonHelper.safeGetDoubleAllowNull(jsonObject, "insulin") ?: return null + val type = Bolus.Type.fromString(JsonHelper.safeGetString(jsonObject, "type")) + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + val notes = JsonHelper.safeGetStringAllowNull(jsonObject, "notes", null) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null + val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) + val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) + val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) + + if (timestamp == 0L) return null + if (amount == 0.0) return null + + return Bolus( + timestamp = timestamp, + amount = amount, + type = type, + notes = notes, + isValid = isValid, + ).also { + it.interfaceIDs.nightscoutId = id + it.interfaceIDs.pumpId = pumpId + it.interfaceIDs.pumpType = pumpType + it.interfaceIDs.pumpSerial = pumpSerial + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt similarity index 86% rename from core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt index fecf881479..3a09d8165f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Carbs @@ -22,19 +22,6 @@ fun Carbs.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } -/* - create fake object with nsID and isValid == false - */ -fun carbsFromNsIdForInvalidating(nsId: String): Carbs = - carbsFromJson( - JSONObject() - .put("mills", 1) - .put("carbs", -1.0) - .put("notes", null) - .put("_id", nsId) - .put("isValid", false) - )!! - fun carbsFromJson(jsonObject: JSONObject): Carbs? { val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null val duration = JsonHelper.safeGetLong(jsonObject, "duration") diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt index 517d12f81f..18e32b5dd3 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs @@ -6,6 +6,7 @@ import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt new file mode 100644 index 0000000000..a6bdf85da5 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt @@ -0,0 +1,74 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.extensions.toTemporaryBasal +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.plugins.sync.nsclient.extensions.toJson +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject + +fun ExtendedBolus.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = + if (isEmulatingTempBasal) + toTemporaryBasal(profile) + .toJson(isAdd, profile, dateUtil) + .put("extendedEmulated", toRealJson(isAdd, dateUtil)) + else toRealJson(isAdd, dateUtil) + +fun ExtendedBolus.toRealJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", "openaps://" + "AndroidAPS") + .put("eventType", TherapyEvent.Type.COMBO_BOLUS.text) + .put("duration", T.msecs(duration).mins()) + .put("durationInMilliseconds", duration) + .put("splitNow", 0) + .put("splitExt", 100) + .put("enteredinsulin", amount) + .put("relative", rate) + .put("isValid", isValid) + .put("isEmulatingTempBasal", isEmulatingTempBasal) + .also { + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + +fun extendedBolusFromJson(jsonObject: JSONObject): ExtendedBolus? { + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + if (JsonHelper.safeGetIntAllowNull(jsonObject, "splitNow") != 0) return null + if (JsonHelper.safeGetIntAllowNull(jsonObject, "splitExt") != 100) return null + val amount = JsonHelper.safeGetDoubleAllowNull(jsonObject, "enteredinsulin") ?: return null + val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration") ?: return null + val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + val isEmulatingTempBasal = JsonHelper.safeGetBoolean(jsonObject, "isEmulatingTempBasal", false) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null + val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) + val endPumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "endId", null) + val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) + val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) + + if (timestamp == 0L) return null + if (duration == 0L && durationInMilliseconds == 0L) return null + if (amount == 0.0) return null + + return ExtendedBolus( + timestamp = timestamp, + amount = amount, + duration = durationInMilliseconds ?: T.mins(duration).msecs(), + isEmulatingTempBasal = isEmulatingTempBasal, + isValid = isValid + ).also { + it.interfaceIDs.nightscoutId = id + it.interfaceIDs.pumpId = pumpId + it.interfaceIDs.endId = endPumpId + it.interfaceIDs.pumpType = pumpType + it.interfaceIDs.pumpSerial = pumpSerial + } +} \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt index c150fd643c..cc729cb1d4 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/OfflineEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun OfflineEvent.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt new file mode 100644 index 0000000000..58dd2466e7 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt @@ -0,0 +1,96 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.extensions.fromConstant +import info.nightscout.androidaps.utils.extensions.getCustomizedName +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject + +fun ProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("timeshift", timeshift) + .put("percentage", percentage) + .put("duration", T.msecs(duration).mins()) + .put("profile", getCustomizedName()) + .put("originalProfileName", profileName) + .put("originalDuration", duration) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", "openaps://" + "AndroidAPS") + .put("isValid", isValid) + .put("eventType", TherapyEvent.Type.PROFILE_SWITCH.text) + .also { // remove customization to store original profileJson in toPureNsJson call + timeshift = 0 + percentage = 100 + } + .put("profileJson", ProfileSealed.PS(this).toPureNsJson(dateUtil).toString()) + .also { + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + +/* NS PS +{ + "_id":"608ffa268db0676196a772d7", + "enteredBy":"undefined", + "eventType":"Profile Switch", + "duration":10, + "profile":"LocalProfile0", + "created_at":"2021-05-03T13:26:58.537Z", + "utcOffset":0, + "mills":1620048418537, + "mgdl":98 +} + */ +fun profileSwitchFromJson(jsonObject: JSONObject, dateUtil: DateUtil, activePlugin: ActivePlugin): ProfileSwitch? { + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + val duration = JsonHelper.safeGetLong(jsonObject, "duration") + val originalDuration = JsonHelper.safeGetLongAllowNull(jsonObject, "originalDuration") + val timeshift = JsonHelper.safeGetLong(jsonObject, "timeshift") + val percentage = JsonHelper.safeGetInt(jsonObject, "percentage", 100) + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) + val profileName = JsonHelper.safeGetStringAllowNull(jsonObject, "profile", null) ?: return null + val originalProfileName = JsonHelper.safeGetStringAllowNull(jsonObject, "originalProfileName", null) + val profileJson = JsonHelper.safeGetStringAllowNull(jsonObject, "profileJson", null) + val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) + val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) + val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) + + if (timestamp == 0L) return null + val pureProfile = + if (profileJson == null) { // entered through NS, no JSON attached + val profilePlugin = activePlugin.activeProfileSource + val store = profilePlugin.profile ?: return null + store.getSpecificProfile(profileName) ?: return null + } else pureProfileFromJson(JSONObject(profileJson), dateUtil) ?: return null + val profileSealed = ProfileSealed.Pure(pureProfile) + + return ProfileSwitch( + timestamp = timestamp, + basalBlocks = profileSealed.basalBlocks, + isfBlocks = profileSealed.isfBlocks, + icBlocks = profileSealed.icBlocks, + targetBlocks = profileSealed.targetBlocks, + glucoseUnit = ProfileSwitch.GlucoseUnit.fromConstant(profileSealed.units), + profileName = originalProfileName ?: profileName, + timeshift = timeshift, + percentage = percentage, + duration = originalDuration ?: T.mins(duration).msecs(), + insulinConfiguration = profileSealed.insulinConfiguration, + isValid = isValid + ).also { + it.interfaceIDs.nightscoutId = id + it.interfaceIDs.pumpId = pumpId + it.interfaceIDs.pumpType = pumpType + it.interfaceIDs.pumpSerial = pumpSerial + } +} diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt new file mode 100644 index 0000000000..92afb9d5c8 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt @@ -0,0 +1,74 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.androidaps.database.entities.TemporaryBasal.Type.Companion.fromString +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.extensions.convertedToAbsolute +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject + +fun TemporaryBasal.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", "openaps://" + "AndroidAPS") + .put("eventType", TherapyEvent.Type.TEMPORARY_BASAL.text) + .put("isValid", isValid) + .put("duration", T.msecs(duration).mins()) + .put("durationInMilliseconds", duration) // rounded duration leads to different basal IOB + .put("type", type.name) + .put("rate", convertedToAbsolute(timestamp, profile)) // generated by OpenAPS, for compatibility + .also { + if (isAbsolute) it.put("absolute", rate) + else it.put("percent", rate - 100) + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + +fun temporaryBasalFromJson(jsonObject: JSONObject): TemporaryBasal? { + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + val percent = JsonHelper.safeGetDoubleAllowNull(jsonObject, "percent") + val absolute = JsonHelper.safeGetDoubleAllowNull(jsonObject, "absolute") + val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration") ?: return null + val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") + val type = fromString(JsonHelper.safeGetString(jsonObject, "type")) + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null + val pumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "pumpId", null) + val endPumpId = JsonHelper.safeGetLongAllowNull(jsonObject, "endId", null) + val pumpType = InterfaceIDs.PumpType.fromString(JsonHelper.safeGetStringAllowNull(jsonObject, "pumpType", null)) + val pumpSerial = JsonHelper.safeGetStringAllowNull(jsonObject, "pumpSerial", null) + + val rate: Double + val isAbsolute: Boolean + if (absolute != null) { + rate = absolute + isAbsolute = true + } else if (percent != null) { + rate = percent + 100 + isAbsolute = false + } else return null + if (duration == 0L && durationInMilliseconds == null) return null + if (timestamp == 0L) return null + + return TemporaryBasal( + timestamp = timestamp, + rate = rate, + duration = durationInMilliseconds ?: T.mins(duration).msecs(), + type = type, + isAbsolute = isAbsolute, + isValid = isValid + ).also { + it.interfaceIDs.nightscoutId = id + it.interfaceIDs.pumpId = pumpId + it.interfaceIDs.endId = endPumpId + it.interfaceIDs.pumpType = pumpType + it.interfaceIDs.pumpSerial = pumpSerial + } +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt new file mode 100644 index 0000000000..f924c7c45c --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt @@ -0,0 +1,66 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject + +fun temporaryTargetFromJson(jsonObject: JSONObject): TemporaryTarget? { + val units = GlucoseUnit.fromText(JsonHelper.safeGetString(jsonObject, "units", Constants.MGDL)) + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + val duration = JsonHelper.safeGetLongAllowNull(jsonObject, "duration", null) ?: return null + val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") + var low = JsonHelper.safeGetDouble(jsonObject, "targetBottom") + low = Profile.toMgdl(low, units) + var high = JsonHelper.safeGetDouble(jsonObject, "targetTop") + high = Profile.toMgdl(high, units) + val reasonString = if (duration != 0L) JsonHelper.safeGetStringAllowNull(jsonObject, "reason", null) + ?: return null else "" + // this string can be localized from NS, it will not work in this case CUSTOM will be used + val reason = TemporaryTarget.Reason.fromString(reasonString) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + + if (timestamp == 0L) return null + + if (duration > 0L) { + // not ending event + if (low < Constants.MIN_TT_MGDL) return null + if (low > Constants.MAX_TT_MGDL) return null + if (high < Constants.MIN_TT_MGDL) return null + if (high > Constants.MAX_TT_MGDL) return null + if (low > high) return null + } + val tt = TemporaryTarget( + timestamp = timestamp, + duration = durationInMilliseconds ?: T.mins(duration).msecs(), + reason = reason, + lowTarget = low, + highTarget = high, + isValid = isValid + ) + tt.interfaceIDs.nightscoutId = id + return tt +} + +fun TemporaryTarget.toJson(isAdd: Boolean, units: GlucoseUnit, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("eventType", TherapyEvent.Type.TEMPORARY_TARGET.text) + .put("duration", T.msecs(duration).mins()) + .put("durationInMilliseconds", duration) + .put("isValid", isValid) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("timestamp", timestamp) + .put("enteredBy", "AndroidAPS").also { + if (lowTarget > 0) it + .put("reason", reason.text) + .put("targetBottom", Profile.fromMgdlToUnits(lowTarget, units)) + .put("targetTop", Profile.fromMgdlToUnits(highTarget, units)) + .put("units", units.asText) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt new file mode 100644 index 0000000000..1210bdd96c --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -0,0 +1,87 @@ +package info.nightscout.plugins.sync.nsclient.extensions + +import info.nightscout.androidaps.core.R +import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.JsonHelper +import org.json.JSONObject +import java.util.concurrent.TimeUnit + +fun TherapyEvent.age(useShortText: Boolean, rh: ResourceHelper, dateUtil: DateUtil): String { + val diff = dateUtil.computeDiff(timestamp, System.currentTimeMillis()) + var days = " " + rh.gs(R.string.days) + " " + var hours = " " + rh.gs(R.string.hours) + " " + if (useShortText) { + days = rh.gs(R.string.shortday) + hours = rh.gs(R.string.shorthour) + } + return diff[TimeUnit.DAYS].toString() + days + diff[TimeUnit.HOURS] + hours +} + +fun TherapyEvent.GlucoseUnit.toMainUnit(): GlucoseUnit = + if (this == TherapyEvent.GlucoseUnit.MGDL) GlucoseUnit.MGDL + else GlucoseUnit.MMOL + +/* + create fake object with nsID and isValid == false + */ + +fun therapyEventFromJson(jsonObject: JSONObject): TherapyEvent? { + val glucoseUnit = if (JsonHelper.safeGetString(jsonObject, "units", Constants.MGDL) == Constants.MGDL) TherapyEvent.GlucoseUnit.MGDL else TherapyEvent.GlucoseUnit.MMOL + val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null + val type = TherapyEvent.Type.fromString(JsonHelper.safeGetString(jsonObject, "eventType", TherapyEvent.Type.NONE.text)) + val duration = JsonHelper.safeGetLong(jsonObject, "duration") + val durationInMilliseconds = JsonHelper.safeGetLongAllowNull(jsonObject, "durationInMilliseconds") + val glucose = JsonHelper.safeGetDoubleAllowNull(jsonObject, "glucose") + val glucoseType = TherapyEvent.MeterType.fromString(JsonHelper.safeGetString(jsonObject, "glucoseType")) + val enteredBy = JsonHelper.safeGetStringAllowNull(jsonObject, "enteredBy", null) + val note = JsonHelper.safeGetStringAllowNull(jsonObject, "notes", null) + val id = JsonHelper.safeGetStringAllowNull(jsonObject, "_id", null) ?: return null + val isValid = JsonHelper.safeGetBoolean(jsonObject, "isValid", true) + + if (timestamp == 0L) return null + + val te = TherapyEvent( + timestamp = timestamp, + duration = durationInMilliseconds ?: T.mins(duration).msecs(), + glucoseUnit = glucoseUnit, + type = type, + glucose = glucose, + glucoseType = glucoseType, + enteredBy = enteredBy, + note = note, + isValid = isValid + ) + te.interfaceIDs.nightscoutId = id + return te +} + +fun TherapyEvent.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("eventType", type.text) + .put("isValid", isValid) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", enteredBy) + .put("units", if (glucoseUnit == TherapyEvent.GlucoseUnit.MGDL) Constants.MGDL else Constants.MMOL) + .also { + if (duration != 0L) it.put("duration", T.msecs(duration).mins()) + if (duration != 0L) it.put("durationInMilliseconds", duration) + if (note != null) it.put("notes", note) + if (glucose != null) it.put("glucose", glucose) + if (glucoseType != null) it.put("glucoseType", glucoseType!!.text) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (type == TherapyEvent.Type.ANNOUNCEMENT) it.put("isAnnouncement", true) + } + +fun List.isTherapyEventEvent5minBack(time: Long): Boolean { + for (event in this) { + if (event.timestamp <= time && event.timestamp > time - T.mins(5).msecs()) { + return true + } + } + return false +} diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 78bd435dc5..c8c0e6e0e3 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,15 +6,15 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index d1fd47f9bc..b89823c385 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index b0e76a4a93..2b95c5c310 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index d6ee4f06e1..dfcd01ae5c 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index ff7ca88e4e..a42d20830f 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 01aa0e3bd4..982a276f1c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionServi import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -22,15 +21,15 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.utils.Round -import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP @@ -70,14 +69,14 @@ class DanaRKoreanPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ - if (isEnabled(PluginType.PUMP)) { - val previousValue = useExtendedBoluses - useExtendedBoluses = sp.getBoolean(R.string.key_danar_useextended, false) - if (useExtendedBoluses != previousValue && pumpSync.expectedPumpState().extendedBolus != null) { - sExecutionService.extendedBolusStop() - } - } - }, fabricPrivacy::logException) + if (isEnabled()) { + val previousValue = useExtendedBoluses + useExtendedBoluses = sp.getBoolean(R.string.key_danar_useextended, false) + if (useExtendedBoluses != previousValue && pumpSync.expectedPumpState().extendedBolus != null) { + sExecutionService.extendedBolusStop() + } + } + }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventAppExit::class.java) .observeOn(aapsSchedulers.io) diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 7348f45bca..bc44f3af7c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -85,7 +85,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { .toObservable(EventPreferenceChange.class) .observeOn(aapsSchedulers.getIo()) .subscribe(event -> { - if (isEnabled(PluginType.PUMP)) { + if (isEnabled()) { boolean previousValue = useExtendedBoluses; useExtendedBoluses = sp.getBoolean(R.string.key_danar_useextended, false); diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c6422c2fa3..c2ae58502b 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 4b0c9c7502..746fc08c41 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index ba7d59b17f..b1a3540546 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index c036072701..4aa1f76d4b 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index ae89e54fdd..b117f5d123 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -1,8 +1,10 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index a2f71383c8..337bb98cbf 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index ba9c9049be..4c92c7eace 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -1,12 +1,14 @@ - -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index ca810fd435..c9f3cc718a 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -1,13 +1,16 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' -apply plugin: "io.gitlab.arturbosch.detekt" // TODO move to `subprojects` section in global build.gradle -apply plugin: "org.jlleitschuh.gradle.ktlint" // TODO move to `subprojects` section in global build.gradle +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' + id "io.gitlab.arturbosch.detekt" // TODO move to `subprojects` section in global build.gradle + id "org.jlleitschuh.gradle.ktlint" // TODO move to `subprojects` section in global build.gradle +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 86bc40cf90..7b36bb3f18 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index 2ffd366f4a..2c974a7c88 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index d0c2e070ea..eb5621dc5a 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -1,11 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/settings.gradle b/settings.gradle index b7634b6113..df262404ac 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,6 +7,7 @@ include ':app-wear-shared:shared' include ':app-wear-shared:shared-impl' include ':graphview' include ':libraries' +include ':ns-sdk' include ':ui' include ':implementation' include ':plugins' diff --git a/ui/build.gradle b/ui/build.gradle index 6abc4cbb62..f7ca3d31e6 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -1,13 +1,16 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" + android { namespace 'info.nightscout.ui' } diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 194de5288f..2108831e51 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -31,7 +31,6 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger @@ -41,6 +40,7 @@ import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index cb770001a5..bad94659fd 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -2,14 +2,18 @@ package info.nightscout.ui.activities.fragments import android.os.Bundle import android.util.SparseArray -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import androidx.core.util.forEach import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.ui.activities.fragments.TreatmentsCareportalFragment.RecyclerViewAdapter.TherapyEventsViewHolder import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry.Action @@ -17,21 +21,26 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateAAPSStartedTherapyEventTransaction import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTransaction -import info.nightscout.rx.events.EventNSClientRestart -import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.rx.bus.RxBus -import info.nightscout.androidaps.utils.* +import info.nightscout.androidaps.utils.ActionModeHelper +import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.T +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R +import info.nightscout.ui.activities.fragments.TreatmentsCareportalFragment.RecyclerViewAdapter.TherapyEventsViewHolder import info.nightscout.ui.databinding.TreatmentsCareportalFragmentBinding import info.nightscout.ui.databinding.TreatmentsCareportalItemBinding import io.reactivex.rxjava3.core.Completable diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 05bccb89f8..8e42550b37 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -25,26 +25,25 @@ import info.nightscout.androidaps.database.transactions.InvalidateProfileSwitchT import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.rx.events.EventLocalProfileChanged -import info.nightscout.rx.events.EventNSClientRestart -import info.nightscout.rx.events.EventProfileSwitchChanged -import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.androidaps.utils.extensions.getCustomizedName +import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsProfileSwitchFragment.RecyclerProfileViewAdapter.ProfileSwitchViewHolder diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index 3b01bc3e3a..c6a8686caf 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -29,7 +29,6 @@ import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger @@ -40,6 +39,7 @@ import info.nightscout.androidaps.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index 227b65753e..e9d7e5ffd6 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.ui.defaultProfile import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.DateUtil diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt index 72b50cb342..d98f68addd 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt @@ -2,7 +2,7 @@ package info.nightscout.ui.defaultProfile import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.DateUtil diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 8ce8319783..eb0a64bb8a 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -62,6 +62,7 @@ class CareDialog : DialogFragmentWithDate() { } private var options: EventType = EventType.BGCHECK + //private var valuesWithUnit = mutableListOf() private var valuesWithUnit = mutableListOf() @@ -88,8 +89,10 @@ class CareDialog : DialogFragmentWithDate() { savedInstanceState.putInt("options", options.ordinal) } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle?): View { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { onCreateViewGeneral() _binding = DialogCareBinding.inflate(inflater, container, false) return binding.root @@ -103,24 +106,28 @@ class CareDialog : DialogFragmentWithDate() { options = EventType.values()[savedInstanceState.getInt("options", 0)] } - binding.icon.setImageResource(when (options) { - EventType.BGCHECK -> R.drawable.ic_cp_bgcheck - EventType.SENSOR_INSERT -> R.drawable.ic_cp_cgm_insert - EventType.BATTERY_CHANGE -> R.drawable.ic_cp_pump_battery - EventType.NOTE -> R.drawable.ic_cp_note - EventType.EXERCISE -> R.drawable.ic_cp_exercise - EventType.QUESTION -> R.drawable.ic_cp_question - EventType.ANNOUNCEMENT -> R.drawable.ic_cp_announcement - }) - binding.title.text = rh.gs(when (options) { - EventType.BGCHECK -> R.string.careportal_bgcheck - EventType.SENSOR_INSERT -> R.string.careportal_cgmsensorinsert - EventType.BATTERY_CHANGE -> R.string.careportal_pumpbatterychange - EventType.NOTE -> R.string.careportal_note - EventType.EXERCISE -> R.string.careportal_exercise - EventType.QUESTION -> R.string.careportal_question - EventType.ANNOUNCEMENT -> R.string.careportal_announcement - }) + binding.icon.setImageResource( + when (options) { + EventType.BGCHECK -> R.drawable.ic_cp_bgcheck + EventType.SENSOR_INSERT -> R.drawable.ic_cp_cgm_insert + EventType.BATTERY_CHANGE -> R.drawable.ic_cp_pump_battery + EventType.NOTE -> R.drawable.ic_cp_note + EventType.EXERCISE -> R.drawable.ic_cp_exercise + EventType.QUESTION -> R.drawable.ic_cp_question + EventType.ANNOUNCEMENT -> R.drawable.ic_cp_announcement + } + ) + binding.title.text = rh.gs( + when (options) { + EventType.BGCHECK -> R.string.careportal_bgcheck + EventType.SENSOR_INSERT -> R.string.careportal_cgmsensorinsert + EventType.BATTERY_CHANGE -> R.string.careportal_pumpbatterychange + EventType.NOTE -> R.string.careportal_note + EventType.EXERCISE -> R.string.careportal_exercise + EventType.QUESTION -> R.string.careportal_question + EventType.ANNOUNCEMENT -> R.string.careportal_announcement + } + ) when (options) { EventType.QUESTION, @@ -157,15 +164,21 @@ class CareDialog : DialogFragmentWithDate() { if (profileFunction.getUnits() == GlucoseUnit.MMOL) { binding.bgUnits.text = rh.gs(R.string.mmol) - binding.bg.setParams(savedInstanceState?.getDouble("bg") - ?: bg, 2.0, 30.0, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok, bgTextWatcher) + binding.bg.setParams( + savedInstanceState?.getDouble("bg") + ?: bg, 2.0, 30.0, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok, bgTextWatcher + ) } else { binding.bgUnits.text = rh.gs(R.string.mgdl) - binding.bg.setParams(savedInstanceState?.getDouble("bg") - ?: bg, 36.0, 500.0, 1.0, DecimalFormat("0"), false, binding.okcancel.ok, bgTextWatcher) + binding.bg.setParams( + savedInstanceState?.getDouble("bg") + ?: bg, 36.0, 500.0, 1.0, DecimalFormat("0"), false, binding.okcancel.ok, bgTextWatcher + ) } - binding.duration.setParams(savedInstanceState?.getDouble("duration") - ?: 0.0, 0.0, Constants.MAX_PROFILE_SWITCH_DURATION, 10.0, DecimalFormat("0"), false, binding.okcancel.ok) + binding.duration.setParams( + savedInstanceState?.getDouble("duration") + ?: 0.0, 0.0, Constants.MAX_PROFILE_SWITCH_DURATION, 10.0, DecimalFormat("0"), false, binding.okcancel.ok + ) if (options == EventType.NOTE || options == EventType.QUESTION || options == EventType.ANNOUNCEMENT || options == EventType.EXERCISE) binding.notesLayout.root.visibility = View.VISIBLE // independent to preferences binding.bgLabel.labelFor = binding.bg.editTextId @@ -215,7 +228,7 @@ class CareDialog : DialogFragmentWithDate() { if (options == EventType.NOTE || options == EventType.EXERCISE) { actions.add(rh.gs(R.string.duration_label) + ": " + rh.gs(R.string.format_mins, binding.duration.value.toInt())) therapyEvent.duration = T.mins(binding.duration.value.toLong()).msecs() - valuesWithUnit.add(ValueWithUnit.Minute(binding.duration.value.toInt()).takeIf { !binding.duration.value.equals(0.0) } ) + valuesWithUnit.add(ValueWithUnit.Minute(binding.duration.value.toInt()).takeIf { !binding.duration.value.equals(0.0) }) } val notes = binding.notesLayout.notes.text.toString() if (notes.isNotEmpty()) { @@ -227,7 +240,7 @@ class CareDialog : DialogFragmentWithDate() { therapyEvent.enteredBy = enteredBy - val source = when (options) { + val source = when (options) { EventType.BGCHECK -> UserEntry.Sources.BgCheck EventType.SENSOR_INSERT -> UserEntry.Sources.SensorInsert EventType.BATTERY_CHANGE -> UserEntry.Sources.BatteryChange diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index c7cac95f15..4d93276d30 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -7,7 +7,6 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.BolusCalculatorResult import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson @@ -15,6 +14,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.interfaces.Constants import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogWizardinfoBinding import org.json.JSONObject diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 76169aff12..c8c0e6e0e3 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,16 +6,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.rx.bus.RxBus +import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/wear/build.gradle b/wear/build.gradle index 3fede2268c..4a0f6de6fa 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -10,11 +10,14 @@ buildscript { classpath 'com.hiya:jacoco-android:0.2' } } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-kapt' -apply plugin: 'kotlin-allopen' -apply plugin: 'com.hiya.jacoco-android' + +plugins { + id 'com.android.application' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/android_dependencies.gradle" From 821c77cdecf0644de516ca079fad148fe50cfdf9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 09:29:04 +0100 Subject: [PATCH 018/123] New Crowdin updates (#2166) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * Update source file strings.xml * Update source file strings.xml * Update source file strings.xml * Update source file strings.xml * New translations strings.xml (Romanian) * New translations strings.xml (French) * New translations strings.xml (Greek) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Hebrew) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Norwegian) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Turkish) * New translations strings.xml (Swedish) * New translations strings.xml (Slovak) * New translations strings.xml (Russian) * New translations strings.xml (Portuguese) * New translations strings.xml (Polish) * New translations strings.xml (Greek) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Irish) * New translations strings.xml (Romanian) * New translations strings.xml (Hebrew) * New translations strings.xml (Hungarian) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Romanian) * New translations strings.xml (French) * New translations strings.xml (Catalan) * New translations strings.xml (French) * New translations strings.xml (Russian) * New translations strings.xml (Serbian (Latin)) * New translations strings.xml (Croatian) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Turkish) * New translations strings.xml (Swedish) * New translations strings.xml (Slovak) * New translations strings.xml (Portuguese) * New translations strings.xml (Polish) * New translations strings.xml (Norwegian) * New translations strings.xml (Spanish) * New translations strings.xml (German) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Dutch) * New translations strings.xml (Lithuanian) * New translations strings.xml (Korean) * New translations strings.xml (Italian) * New translations strings.xml (Danish) * New translations strings.xml (Hebrew) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Turkish) * New translations strings.xml (Swedish) * New translations strings.xml (Slovak) * New translations strings.xml (Russian) * New translations strings.xml (Portuguese) * New translations strings.xml (Polish) * New translations strings.xml (Norwegian) * New translations strings.xml (Slovak) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * Update source file strings.xml * New translations strings.xml (French) * New translations strings.xml (Czech) * New translations strings.xml (Catalan) * New translations strings.xml (Bulgarian) * New translations strings.xml (Spanish) * New translations strings.xml (Romanian) * New translations strings.xml (Danish) * New translations strings.xml (Russian) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Norwegian) * New translations strings.xml (Slovak) * New translations strings.xml (Lithuanian) * New translations strings.xml (Swedish) * New translations strings.xml (Dutch) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (German) * New translations strings.xml (Hebrew) * New translations strings.xml (Turkish) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Spanish) * New translations strings.xml (Russian) * New translations strings.xml (Dutch) * New translations exam.xml (Dutch) * New translations objectives.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) --- app/src/main/res/values-af-rZA/strings.xml | 26 ---- app/src/main/res/values-bg-rBG/strings.xml | 33 ----- app/src/main/res/values-ca-rES/strings.xml | 20 --- app/src/main/res/values-cs-rCZ/strings.xml | 47 ------ app/src/main/res/values-da-rDK/strings.xml | 46 ------ app/src/main/res/values-de-rDE/strings.xml | 46 ------ app/src/main/res/values-el-rGR/strings.xml | 25 ---- app/src/main/res/values-es-rES/strings.xml | 49 +------ app/src/main/res/values-fr-rFR/strings.xml | 47 ------ app/src/main/res/values-it-rIT/strings.xml | 47 ------ app/src/main/res/values-iw-rIL/strings.xml | 46 ------ app/src/main/res/values-ko-rKR/strings.xml | 28 ---- app/src/main/res/values-lt-rLT/strings.xml | 31 ---- app/src/main/res/values-nl-rNL/exam.xml | 46 ++++++ app/src/main/res/values-nl-rNL/objectives.xml | 2 + app/src/main/res/values-nl-rNL/strings.xml | 64 +++------ app/src/main/res/values-no-rNO/strings.xml | 47 ------ app/src/main/res/values-pl-rPL/strings.xml | 33 ----- app/src/main/res/values-pt-rBR/strings.xml | 36 ----- app/src/main/res/values-pt-rPT/strings.xml | 31 ---- app/src/main/res/values-ro-rRO/strings.xml | 32 ----- app/src/main/res/values-ru-rRU/strings.xml | 47 ------ app/src/main/res/values-sk-rSK/strings.xml | 47 ------ app/src/main/res/values-sv-rSE/strings.xml | 31 ---- app/src/main/res/values-tr-rTR/strings.xml | 47 ------ app/src/main/res/values-zh-rCN/strings.xml | 46 ------ .../src/main/res/values-nl-rNL/strings.xml | 1 + core/src/main/res/values-bg-rBG/strings.xml | 10 -- core/src/main/res/values-ca-rES/strings.xml | 9 -- core/src/main/res/values-cs-rCZ/strings.xml | 10 -- core/src/main/res/values-da-rDK/strings.xml | 10 -- core/src/main/res/values-de-rDE/strings.xml | 10 -- core/src/main/res/values-es-rES/strings.xml | 38 +++-- core/src/main/res/values-fr-rFR/strings.xml | 19 ++- core/src/main/res/values-it-rIT/strings.xml | 10 -- core/src/main/res/values-iw-rIL/strings.xml | 10 -- core/src/main/res/values-ko-rKR/strings.xml | 10 -- core/src/main/res/values-lt-rLT/strings.xml | 10 -- core/src/main/res/values-nl-rNL/strings.xml | 42 ++++-- core/src/main/res/values-no-rNO/strings.xml | 10 -- core/src/main/res/values-pl-rPL/strings.xml | 10 -- core/src/main/res/values-pt-rBR/strings.xml | 9 -- core/src/main/res/values-pt-rPT/strings.xml | 10 -- core/src/main/res/values-ro-rRO/strings.xml | 10 -- core/src/main/res/values-ru-rRU/strings.xml | 10 -- core/src/main/res/values-sk-rSK/strings.xml | 19 ++- core/src/main/res/values-sv-rSE/strings.xml | 10 -- core/src/main/res/values-tr-rTR/strings.xml | 10 -- core/src/main/res/values-zh-rCN/strings.xml | 10 -- .../src/main/res/values-es-rES/strings.xml | 19 +++ .../src/main/res/values-nl-rNL/strings.xml | 26 ++++ .../src/main/res/values-nl-rNL/strings.xml | 1 + .../src/main/res/values-bg-rBG/strings.xml | 1 - .../src/main/res/values-ca-rES/strings.xml | 1 - .../src/main/res/values-cs-rCZ/strings.xml | 1 - .../src/main/res/values-da-rDK/strings.xml | 1 - .../src/main/res/values-de-rDE/strings.xml | 1 - .../src/main/res/values-es-rES/strings.xml | 1 - .../src/main/res/values-fr-rFR/strings.xml | 3 +- .../src/main/res/values-it-rIT/strings.xml | 1 - .../src/main/res/values-iw-rIL/strings.xml | 1 - .../src/main/res/values-ko-rKR/strings.xml | 1 - .../src/main/res/values-lt-rLT/strings.xml | 1 - .../src/main/res/values-nl-rNL/strings.xml | 49 ++++++- .../src/main/res/values-no-rNO/strings.xml | 1 - .../src/main/res/values-pl-rPL/strings.xml | 1 - .../src/main/res/values-pt-rBR/strings.xml | 1 - .../src/main/res/values-pt-rPT/strings.xml | 1 - .../src/main/res/values-ro-rRO/strings.xml | 1 - .../src/main/res/values-ru-rRU/strings.xml | 2 +- .../src/main/res/values-sk-rSK/strings.xml | 1 - .../src/main/res/values-sv-rSE/strings.xml | 1 - .../src/main/res/values-tr-rTR/strings.xml | 1 - .../src/main/res/values-zh-rCN/strings.xml | 1 - .../src/main/res/values-fr-rFR/strings.xml | 20 ++- .../src/main/res/values-nl-rNL/strings.xml | 134 +++++++++++++++++- ui/src/main/res/values-af-rZA/strings.xml | 2 + ui/src/main/res/values-bg-rBG/strings.xml | 2 + ui/src/main/res/values-ca-rES/strings.xml | 2 + ui/src/main/res/values-cs-rCZ/strings.xml | 2 + ui/src/main/res/values-da-rDK/strings.xml | 2 + ui/src/main/res/values-de-rDE/strings.xml | 2 + ui/src/main/res/values-el-rGR/strings.xml | 2 + ui/src/main/res/values-es-rES/strings.xml | 35 +++++ ui/src/main/res/values-fr-rFR/strings.xml | 41 ++++++ ui/src/main/res/values-ga-rIE/strings.xml | 2 + ui/src/main/res/values-hr-rHR/strings.xml | 2 + ui/src/main/res/values-hu-rHU/strings.xml | 2 + ui/src/main/res/values-it-rIT/strings.xml | 2 + ui/src/main/res/values-iw-rIL/strings.xml | 2 + ui/src/main/res/values-ko-rKR/strings.xml | 2 + ui/src/main/res/values-lt-rLT/strings.xml | 2 + ui/src/main/res/values-nl-rNL/strings.xml | 63 ++++++++ ui/src/main/res/values-no-rNO/strings.xml | 2 + ui/src/main/res/values-pl-rPL/strings.xml | 2 + ui/src/main/res/values-pt-rBR/strings.xml | 2 + ui/src/main/res/values-pt-rPT/strings.xml | 2 + ui/src/main/res/values-ro-rRO/strings.xml | 2 + ui/src/main/res/values-ru-rRU/strings.xml | 2 + ui/src/main/res/values-sk-rSK/strings.xml | 2 + ui/src/main/res/values-sr-rCS/strings.xml | 2 + ui/src/main/res/values-sv-rSE/strings.xml | 2 + ui/src/main/res/values-tr-rTR/strings.xml | 2 + ui/src/main/res/values-zh-rCN/strings.xml | 2 + 104 files changed, 582 insertions(+), 1177 deletions(-) diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index 2b49762687..3403fa87d3 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -28,18 +28,6 @@ Onvang BG waardes vanaf die 600SeriesAndroidUploader. Laai BG data af vanaf Nightscout Stoor alle behandelings wat gedoen was - Insulien: - Karbs: - IAB: - Totale IAB: - Totale IAB aktiwiteit: - Dur: - Verhouding: - Ins: - IAB: - Totale IOB: - TT - Corr Begin nou VIRTUELE POMP Vorige lopie @@ -74,7 +62,6 @@ Plugin is gedeaktiveer Beperkings skending Aanvaar nuwe tydelike basale: - Behandeling Verander jou insette! BG bron APS modus @@ -82,7 +69,6 @@ Oop lus Nuwe voorstel beskikbaar Weergawe van Nightscout nie ondersteun - Basale IAB TydelikeBasaal Verlengde Bolus Nightscout-weergawe: @@ -108,7 +94,6 @@ Geldig: Voeg by Wysig - Maaltyd Corr Aksies Pomp nie geïnisialiseer nie! @@ -132,7 +117,6 @@ Autosens data Skrip foutopspoor Gebruik autosens kenmerk - Skrap behandelings in die toekoms ACT CONF LUS @@ -191,8 +175,6 @@ Ontkoppel pomp vir 3 h Hervat Herverbind Pomp - KOB - Superbolus Log app begin na NS Begin toepassing weer om instellings toe te pas. Watter tipe insulien gebruik jy? @@ -361,7 +343,6 @@ Virtuele Pomp Pomp definisie Bolus: Stap =%1$s\nVerlengde Bolus: [stap%2$s, duur = =%3$smin -%4$sh]\nBasal: stap =%5$s\nTBR: %6$s (deur %7$s), duur =%8$smin -%9$sh\n%10$s - Ghoeroe-instellings Berekeninge is ingesluit in die ghoeroe verslag: Vertooninstellings Algemene instellings @@ -400,8 +381,6 @@ Herstel na verstek NSClient onklaar. Oorweeg om NS en NSClient te herlaai. Verkose APS modus - Totaal - Bereken Stuur vandag se loglêers aan ontwikkelaars saam met hierdie tyd. Onverwagte situasie. Minimale versoek verandering [%] Oop lus sal nuwe verandering versoek as die %. Verstek waarde is 20% @@ -425,12 +404,7 @@ Laai profiel veranderings, tydelike teikens op Laai BG toetse op 2h - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Projeksies - Prima diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 6d45ac761c..576b3b89e8 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -32,19 +32,6 @@ Изтегля стойности на КЗ от Nightscout Получаване на данни за КЗ от xDrip+. Записва всички процедури, които са били направени - Инсулин: - Вълехидрати: - IOB: - Общо IOB: - Общо активен IOB: - Прод.: - Съотношение: - Инс: - IOB: - Общо IOB: - Вр.цел - Корекция - IOB от болуси Старт сега ВИРТУАЛНА ПОМПА Последно изпълнение @@ -80,7 +67,6 @@ Модула е изключен Нарушено ограничение Приложи нов временен базал: - Болус Променете данните! Източник на данни за КЗ xDrip+ @@ -91,7 +77,6 @@ Има ново предложение Предложение Несъвместима версия на Nightscout - Базален IOB ВХ след Профил Временен базал @@ -138,7 +123,6 @@ Валиден от: Добави Редакция - Хранене Корекция Действия (ОПАСНО ЗА ДЕАКТИВИРАНЕ) Само качвай данни в NS @@ -167,8 +151,6 @@ Autosens данни От скрипта Използвайте функцията за Autosens - Презареди от NS - Изтрий записите в бъдещето ДЕЙСТВ КОНФ ЦИК @@ -242,9 +224,6 @@ 10 часа Възстанови Свържи помпа - Δ за 15мин - СОВ - Суперболус Записвай всяко стартиране на AndroidAPS в NS Рестартиране за да се приложат новите настройки. Кой тип на инсулин използвате? @@ -461,7 +440,6 @@ Виртуална помпа тип Описание на помпата Болус: Стъпка =%1$s\Удължен болус: [стъпка =%2$s, продължителност =%3$smin -%4$sh] \nБазал: стъпка =%5$s\ nTBR: %6$s (от %7$s), продължителност =%8$sмин -%9$sh\n%10$s - Настройки на съветник Изчисления, включени в резултата на съветника: Настройки за визуализация Основни настройки @@ -494,8 +472,6 @@ Когато се установи резистентност, намалява целевата глюкоза. Чувствителността увеличава целта Когато се установи чувствителност, повишаване на целевата глюкоза - Покажи невалидните - Скрий невалидните Премахни артикули Подреди артикули Открити са предишни настройки @@ -515,8 +491,6 @@ Възстанови настройките по подразбиране Грешка в NSClient. Рестартирайте Nightscout и NSClient Предпочитаният режим на APS - Общо - Калк Изпрати последните лог файлове на разработчиците. Непредвидена ситуация. Минимална стойност за промяна [%] AndroidAPS ще покаже запитването за промяна на базала само ако е по-голямо от тази стойност.(Стандартно 20%) @@ -548,17 +522,12 @@ Стартирай част от резултата в калкулатора [%] Калкулатора изчислява нужния инсулин, но само тази част ще бъде доставена. Полезно със SMB алгоритъма. Повишавам максималната стойност на базал, защото тя е по-ниска от най-високата в базалния профил - %1$s ISF: %2$.1f - %1$.0fгр Чувств: %2$.1f - %1$.1fгр Чувств: %2$.1f - %1$d %% Избрано: Единици Изчисти приключение Изчисти стартираните Искате ли да нулирате прогреса си? Изберете единиците, в които искате да работите - Създай нов профил копирайки този? Ниската граница на диапазона (графика) Високата граница на диапазона (графика) Невалидна стойност в % @@ -614,14 +583,12 @@ Меню на графиката Премахни филтъра Канюла - Потербителска настройка Използвай стойностите от вашето най-голямо хранен, с което обикновено се храните Електронна поща Настройки за поверителност Можете да посочите електронна поща, ако искате да бъдете уведомени за системни проблеми. Това не е автоматичен процес. Разработчиците ще се свържат с вас в случай на опасна ситуация. Пълна синхронизация Пълна синхронизация? Може да отнеме много часове и докато не приключи вие няма да виждате нови данни в NS. - Пълнене Синхронизация Профили, болуси, въглехидрати, и временни базали се изпращат към NS Изпратете данните към NS diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index d886968231..a9f864c87c 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -31,19 +31,6 @@ Descarrega dades de glucèmia des de Nightscout Rebre valors de glucèmia de xDrip+. Desa tots els tractaments realitzats - Insulina: - Carbs: - IOB: - IOB total: - Activitat total IOB: - Durada: - Ràtio: - Ins: - IOB: - IOB total: - OT - Corr - IOB Bolus Executar ara BOMBA VIRTUAL Última execució @@ -78,7 +65,6 @@ Plugin desactivat Violació de restriccions Acceptar nova basal temporal: - Tractament Modifiqueu les dades! Origen glucèmia xDrip+ @@ -89,7 +75,6 @@ Nova proposta disponible Proposta de carbs Versió no compatible de Nightscout - IOB Basal BasalTemp Bolus estès Versió de Nightscout: @@ -133,7 +118,6 @@ Vàlid: Afegir Editar - Àpat Corr Accions (PERILLÓS DESACTIVAR) Només enviar a NS @@ -145,8 +129,6 @@ Dades autosens Depurar script Utilitzar funció Autosens - Actualitzar des de NS - Eliminar tractaments en el futur ACC CONF LLAÇ @@ -176,8 +158,6 @@ 10 hores Reprendre Reconnectar bomba - COB - Superbolus Enregistrar l\'inici de l\'app a NS Sortint de l\'app per aplicar configuració. Quin tipus d\'insulina feu servir? diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index d4972dbf21..b842806566 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -34,19 +34,6 @@ Příjem glykémií z xDripu+. Ukládá všechny ošetření do databáze Zobrazování stavu a řízení AAPS z hodinek s WearOS. - Inzulín: - Sacharidy: - IOB: - Celkové IOB: - Celková aktivita IOB: - Trv: - Hodn: - Inz: - IOB: - Celkové IOB: - DC - Korekce - Bolusové IOB Spustit teď VIRTUÁLNÍ PUMPA Poslední spuštění @@ -85,7 +72,6 @@ Modul zakázán Mimo povolený rozsah Spustit nový dočasný bazál: - Bolus Změňte zadání! Zdroj glykémie Odkud má AAPS získávat glykémie? @@ -97,7 +83,6 @@ Dostupné nové doporučení Návrh sacharidů Nepodporovaná verze Nightscoutu - Bazální IOB Čas jídla Profil Dočasný bazál @@ -144,7 +129,6 @@ Platné: Přidat Upravit - Bolus Korekce Akce (NEBEZPEČNÉ ZAKÁZAT) Pouze odesílání do NS @@ -173,8 +157,6 @@ Data detekce senzitivity Ladící informace Používat autodetekci senzitivity - Aktualizovat z NS - Smazat události v budoucnosti AKCE KONF SMYČ @@ -248,9 +230,6 @@ 10 hodin Uvolnit Znovu připojit pumpu - 15min trend - COB - Superbolus Zaznamenávat spuštění aplikace do NS Ukončuji aplikaci, aby se nastavení projevilo. Jaký druh inzulínu používáte? @@ -475,7 +454,6 @@ Typ virtuální pumpy Definice pumpy Bolus: Krok =%1$s\nProdl. bolus: [Krok=%2$s, Délka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Délka=%8$smin-%9$sh\n%10$s - Nastavení wizardu Kalkulace použité ve výsledku wizardu: Nastavení zobrazení Obecné nastavení @@ -511,9 +489,6 @@ Je-li zjištěna rezistence, sníží nastavenou cílovou glykémii Citlivost zvyšuje cíl Je-li zjištěna vyšší citlivost, zvýší nastavenou cílovou glykémii - Odebrat záznamy spuštěné AAPS - Zobrazit neplatné - Skrýt zneplatněné Odstranit položky Seřadit položky Nalezeno uložené nastavení @@ -536,8 +511,6 @@ Obnovit výchozí Chyba NSClienta. Zvažte restart NS a NSClienta. Preferovaný režim APS - Výsledek - Kalk Odešlete dnešní soubory protokolů vývojářům spolu s tímto časem. Neočekávaná situace. Minimální změna pro výzvu [%] Otevřená smyčka vytvoří novou žádost o změnu pouze v případě, že změna je větší než tato hodnota. Výchozí hodnota je 20 % @@ -571,17 +544,12 @@ Podat tuto část z výsledku kalkulace [%] Kalkulátor provede výpočet, ale dodána je pouze tato část inzulínu. Výhodné při používání SMB algoritmu. Zvýšena hodnota maximálního bazálu, protože nastavení je nižší než Vaše maximální hodnota bazální profilu - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Vybráno: Jednotky Vymazat dokončeno Vymazat start Chcete resetovat začátek cíle? Můžete přijít o svůj pokrok. Vyberte jednotky, ve kterých chcete zobrazit hodnoty - Vytvořit z tohoto profilu nový profil? Spodní hodnota oblasti v rozsahu (pouze zobrazování) Horní hodnota oblasti v rozsahu (pouze zobrazování) Neplatný vstup % @@ -637,7 +605,6 @@ Možnosti grafu Vymazat filtr Kanyla - Vstup uživatele Použijte hodnoty pro největší jídlo, jaké obvykle jíte\n Tato e-identifikace bude připojena ke zprávám o pádech aplikace, abychom vás mohli kontaktovat v naléhavých případech. Je to dobrovolné. E-mailová adresa @@ -645,7 +612,6 @@ Pokud chcete být upozorněni na selhání aplikace, můžete zadat volitelně e-mailovou adresu. Toto není automatizovaná služba. Vývojáři vás budou kontaktovat v nebezpečných situacích. Plná synchronizace Úplná synchronizace? Může to trvat mnoho hodin a dokud neskončíte, nová data v NS neuvidíte. - Doplňování Synchronizace Profily, bolusy, sacharidy, dočasné bazály jsou nahrány do NS Nahrávat data do NS @@ -719,22 +685,9 @@ Neznámý příkaz k akci: Procentní podíl Výchozí nastavení aplikace - Zobrazit zneplatněné / odstraněné záznamy - Skrýt zneplatněné / odstraněné záznamy - Obnovit z Nightscoutu Odstranit zvolené položky - Vyberte pro odstranění - Změny profilu - Dočasné cíle - Sacharidy a bolusy - Opravdu chcete odstranit %1$d položku(y) - Žádné záznamy nejsou k dispozici - Skrýt smyčku - Zobrazit smyčku Vybráno: %1$d Seřadit - Zobrazit záznamy smyčky - Skrýt záznamy smyčky Stav smyčky Měřítko grafu Profil 1 diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 48f6be3fbd..a39169d9cf 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -33,19 +33,6 @@ Downloader BG data fra Nightscout Modtag BG-værdier fra xDrip+. Gemmer alle behandlinger, der er foretaget - Insulin: - Kulhydrater: - IOB: - Total IOB: - Total IOB aktivitet: - Tid: - Ratio: - Ins: - IOB: - Total IOB: - Midlertidig Mål - Korrektion - Bolus IOB Kør nu VIRTUEL PUMPE Sidst kørt @@ -81,7 +68,6 @@ Plugin deaktiveret Begrænsninger overtrådt Acceptér ny midlertidig basal: - Behandling Skift dit input! BG kilde xDrip+ @@ -92,7 +78,6 @@ Nyt forslag tilgængeligt Kulhydrat Forslag Ikke understøttet version af Nightscout - Basal IOB Kulhydrat tid Profil Midlertidig basal @@ -139,7 +124,6 @@ Gyldig: Tilføj Rediger - Måltid Korrektion Handlinger (FARLIG AT DEAKTIVERE) Kun NS upload @@ -168,8 +152,6 @@ Autosens data Script fejlfinding Brug Autosens funktion - Opdater fra NS - Fjern behandlinger i fremtiden AKT KONF LOOP @@ -243,9 +225,6 @@ 10 timer Genoptag Genforbind Pumpe - 15 min tendens - COB - Superbolus Log app-start til NS Afslutter applikationen for at anvende indstillinger. Hvilken type insulin bruger du? @@ -469,7 +448,6 @@ Virtuel pumpe type Pumpe Definition Bolus: Trin=%1$s\nForlænget Bolus: [Trin=%2$s, Varighed=%3$smin-%4$sh]\nBasal: Trin=%5$s\nTBR: %6$s (by %7$s), Varighed=%8$smin-%9$sh\n%10$s - Guide indstillinger Beregninger inkluderet i guide resultatet: Visningsindstillinger Generelle indstillinger @@ -502,8 +480,6 @@ Når der påvises resistens, sænkes målglukosen Følsomhed hæver midlertidige mål Når der påvises følsomhed, skal målglukosen hæves - Vis ugyldige - Skjul ugyldige Fjern elementer Sortér elementer Gemte indstillinger fundet @@ -525,8 +501,6 @@ Nulstil til standardindstillinger NSClient funktionsfejl. Overvej NS og NSClient genstart. Foretrukket APS-tilstand - I alt - Beregn Send dagens logfiler til udviklere sammen med denne tid. Uventet situation. Minimal anmodningsændring [%] Åben Loop vil kun foreslå ny ændringsanmodning, hvis ændringen er større end denne værdi i %. Standardværdien er 20% @@ -559,17 +533,12 @@ Afgiv denne del af bolusguidens resultat [%] Bolus guiden udfører beregning, men kun denne del af beregnet insulin leveres. Nyttig med SMB algoritme. Stigende max basal værdi, fordi indstillingen er lavere end din max basal i profil - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Valgt: Enheder Ryd færdigt Ryd startet Vil du nulstille objektiv start? Du kan miste dine fremskridt. Vælg enheder du vil vise værdier i - Opret ny profil fra denne profil? Nedre værdi for målområde (kun visning) Øvre værdi for målområde (kun visning) Ugyldig angivelse af % @@ -624,7 +593,6 @@ Diagrammenu Nulstil filter Kanyle - Bruger indtastning Brug værdien af den største mængde mad du plejer at indtage\n Denne identifikation vil blive vedhæftet til nedbrudsrapporter, så vi kan kontakte dig i hastende tilfælde. Det er valgfrit. E-mail adresse @@ -632,7 +600,6 @@ Du kan angive valgfri e-mail-adresse, hvis du ønsker at blive underrettet om app nedbrud. Dette er ikke en automatiseret tjeneste. Du vil blive kontaktet af udviklere i farlige situationer. Fuld synkronisering Fuld synkronisering? Det kan tage mange timer, og indtil du er færdig, vil du ikke se nye data i NS. - Klargør Synkronisering Profiler, bolusser, kulhydrater, midlertidige basaler uploades til NS Upload data til NS @@ -706,22 +673,9 @@ Ukendt kommando: Procentdel Program standard - Vis ugyldige / fjernede poster - Skjul ugyldige / fjernede poster - Opdater fra Nightscout Fjern valgte elementer - Vælg for at fjerne - Profil ændringer - Midlertidig mål - Kulhydrater og bolus - Er du sikker på, at du vil fjerne %1$d elementer? - Ingen poster tilgængelige - Skjul loop - Vis loop %1$d valgt Sortér - Vis loop poster - Skjul loop poster Loop status Graf skala Profil 1 diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 1457e6bbf1..3ff399ae3a 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -33,19 +33,6 @@ Lade Blutzuckerdaten von Nightscout Empfange Blutzuckerwerte von xDrip+. Speichert alle eingegebenen Behandlungen - Insulin: - Kohlenhydrate: - IOB: - Gesamt IOB: - Ges. IOB Aktivität: - Dauer: - Verhältnis: - Ins: - IOB: - Gesamt IOB: - TT - Korr - Bolus-IOB Ausführen VIRTUELLE PUMPE Letzte Ausführung @@ -81,7 +68,6 @@ Plugin ist deaktiviert Beschränkungen wurden verletzt oder Limit erreicht. Akzeptiere neue TBR: - Bolus Ändere deine Eingabe! BZ-Quelle xDrip+ @@ -92,7 +78,6 @@ Neue Empfehlung verfügbar Kohlenhydrate Vorschlag Nicht unterstützte Nightscout-Version - Basal-IOB KH-Zeit Profil TBR @@ -139,7 +124,6 @@ Gültigkeit: Hinzufügen Bearbeiten - Essensbolus Korr Aktionen (DEAKTIVIEREN GEFÄHRLICH) Zu NS nur hochladen @@ -168,8 +152,6 @@ Autosens-Daten Skript Debug Nutze Autosens - Mit NIghtscout-Daten aktualisieren - Lösche Behandlungen in der Zukunft AKT KONF LOOP @@ -243,9 +225,6 @@ 10 Std. Fortsetzen Pumpe erneut verbinden - 15 min Trend - COB - Superbolus Logge App-Start in Nightscout App wird beendet, um neue Einstellungen zu laden. Welchen Insulin-Typ verwendest Du? @@ -469,7 +448,6 @@ Typ der virtuellen Pumpe Pumpen-Definition Bolus: Schritt=%1$s\nVerzögerter Bolus: [Schritt=%2$s, Dauer=%3$smin-%4$sh]\nBasal: Schritt=%5$s\nTBR: %6$s (bei %7$s), Dauer=%8$smin-%9$sh\n%10$s - Wizard-Einstellungen Berechnungen, die im Assistenten berücksichtigt werden: Anzeigeeinstellungen Allgemeine Einstellungen @@ -502,8 +480,6 @@ Wenn Resistenz festgestellt wird, senke den Glukose-Zielwert Empfindlichkeit erhöht den Zielwert Wenn eine höhere Empfindlichkeit festgestellt wird, wird der Glukose-Zielwert erhöht. - Zeige Ungültige - Verstecke Ungültige Objekte entfernen Einträge sortieren Gespeicherte Einstellungen gefunden @@ -525,8 +501,6 @@ Auf Standardwerte zurücksetzen NSClient Störung. Ziehe einen Neustart von NS und NSClient in Betracht. Bevorzugter APS-Modus - Gesamt - Berech. Sende die heutigen Logdateien unter Angabe dieser Uhrzeit an die Entwickler. Unerwartetes Verhalten. Minimaler Wert zur Anfrage einer Änderung [%] @@ -560,17 +534,12 @@ Unerwartetes Verhalten. Abgabe von [%] des Ergebnisses des Bolus-Rechners Der Bolus-Rechner führt Berechnungen durch, aber nur dieser Teil der berechneten Insulin wird abgegeben. Nützlich mit SMB-Algorithmus. Der Wert max basal wird erhöht, weil Du ihn niedriger eingestellt hast als die höchste Basalrate in Deinem Profil. - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Ausgewählt: Einheiten Ziel erneut öffnen Ziel neu starten Möchtest Du den Start der Ziele zurücksetzen? Du verlierst Deine Fortschritte. Wähle die Einheit, in der die Werte angezeigt werden sollen. - Neues Profil auf Basis dieses Profils erstellen? Unterer Wert des Zielbereichs (nur Anzeige) Oberer Wert des Zielbereichs (nur Anzeige) Ungültige % Eingabe @@ -625,7 +594,6 @@ Unerwartetes Verhalten. Diagrammmenü Filter löschen Kanüle - Benutzereingabe Verwende die Werte der größten Mahlzeit, die Du normalerweise zu Dir nimmst\n Diese Identifikation wird an Absturzberichte angehängt, so dass wir Dich in dringenden Fällen kontaktieren können. Angabe ist optional. E‐Mail‐Adresse @@ -633,7 +601,6 @@ Unerwartetes Verhalten. Du kannst optional eine E-Mail-Adresse angeben, wenn Du bei Absturzberichten kontaktiert werden möchtest. Dies ist keine Automatik, Du wirst von den Entwicklern in gefährlichen Situationen kontaktiert. Vollständige Synchronisierung Vollständige Synchronisierung? Es kann viele Stunden dauern und bis zur Fertigstellung wirst du keine neuen Daten in NS sehen. - Füllen Synchronisierung Profile, Boli, Kohlenhydrate und temporäre Basalraten werden zu NS hochgeladen Daten zu NS hochladen @@ -707,22 +674,9 @@ Unerwartetes Verhalten. Unbekannter Actionbefehl: Prozentsatz Standardwert der Anwendung - Zeige ungültige / gelöschte Einträge - Verberge ungültige / gelöschte Einträge - Aktualisiere von Nightscout Ausgewähltes Objekt löschen - Zum Entfernen auswählen - Profilwechsel - Temporäre Ziele - Kohlenhydrate & Bolus - Sind Sie sicher, dass Sie diese(s) %1$d Element(e) löschen möchten? - Keine Datensätze verfügbar - Verberge Loop - Zeige Loop an %1$d ausgewählt Sortieren - Zeige Loop Datensätze - Verberge Loop Datensätze Loop Status Diagrammskala Profil 1 diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index 323d462e62..a9e2f72f26 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -28,18 +28,6 @@ Λάβετε τις τιμές BG από το 600SeriesAndroidUploader. Λήψη δεδομένων BG από Nightscout Σώζει όλες τις θεραπείες που έγιναν - Ινσουλίνη: - Υδατάνθρακες: - IOB: - Συνολική IOB: - Συνολική δραστηριότητα IOB: - Διάρκεια: - Αναλογία: - Ins: - IOB: - Συνολική IOB: - TT - Διόρθωση Έναρξη τώρα ΕΙΚΟΝΙΚΗ ΑΝΤΛΙΑ Τελευταίος Υπολογισμός @@ -75,7 +63,6 @@ Προσθήκη απενεργοποιημένη Παραβίαση Περιορισμών Αποδοχή νέου Προσ Ρυθμού: - Θεραπεία Αλλάξτε αυτό που εισάγατε! Πηγή BG Λειτουργία APS @@ -83,7 +70,6 @@ Ανοιχτό Κύκλωμα Νέα πρόταση διαθέσιμη Μη υποστηριζόμενη έκδοση Nightscout - Βασική ΙΟΒ Προσ Ρυθμός Εκτεταμμένο Bolus Έκδοση Nightscout: @@ -108,7 +94,6 @@ Ισχύς: Προσθήκη Διαμόρφωση - Γεύμα Διορθ Ενέργειες Η αντλία δεν έχει ρυθμιστεί! @@ -132,7 +117,6 @@ Δεδομένα Autosens Εντοπισμός σφαλμάτων δέσμης ενεργειών Χρήση του Autosens - Διαγραφή συμβάντων στο μέλλον ΔΡΑΣΗ Διαμόρφωση ΚΥΚΛΩΜΑ @@ -191,8 +175,6 @@ Αποσύνδεση αντλίας για 3h Επαναφορά Επανασύνδεση αντλίας - COB - Superbolus Η εφαρμογή καταγραφής ξεκινά από το NS Έξοδος από το application για την εφαρμογή των ρυθμίσεων Ποιο τύπο ινσουλίνης χρησιμοποιείτε; @@ -361,7 +343,6 @@ Τύπος εικονικής αντλίας Ορισμός Αντλίας Bolus: Άμεσο=%1$s\nΕκτεταμένο Bolus: [Άμεσο=%2$s, Διάρκεια=%3$smin-%4$sh]\nΒασικός: Άμεσο=%5$s\nTBR: %6$s (με %7$s), Διάρκεια=%8$smin-%9$sh\n%10$s - Ρυθμίσεις Γρήγορου Οδηγού Υπολογισμοί που περιλαμβάνονται στο αποτέλεσμα του γρήγορου οδηγού: Ρυθμίσεις Εμφάνισης Γενικές Ρυθμίσεις @@ -401,8 +382,6 @@ Επαναφορά προεπιλογών Δυσλειτουργία NSClient. Εξετάστε την επανεκκίνηση του NS και του NSClient. Προτιμώμενη λειτουργία APS - Σύνολο - Υπολογ Στείλτε τα αρχεία καταγραφής της ημέρας στους προγραμματιστές μαζί με αυτή τη φορά. Απροσδόκητη κατάσταση. Ελάχιστο αίτημα για αλλαγή [%] Το Ανοιχτό κύκλωμα θα εμφανίσει νέο μήνυμα αλλαγής μόνο αν η αλλαγή είναι μεγαλύτερη από αυτήν τη τιμή %. Προεπιλεγμένη τιμή 20% @@ -430,10 +409,6 @@ Χορήγηση του αποτελέσματος αυτού του μέρους του υπολογισμού bolus [%] Ο Υπολογισμός Bolus κάνει υπολογισμούς αλλά μόνο αυτό το μέρος της υπολογίσημης ινσουλίνης χορηγείται. Χρήσιμο με τον αλγόριθμο SMB. Αυξείστε την μέγιστη βασική τιμή, επειδή η ρύθμιση είναι χαμηλότερη από τη μέγιστη βασική στο προφίλ σας - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 2fe4050c76..235c4fb5c1 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -34,19 +34,6 @@ Recibir los valores de glucosa de xDrip+ Guarda todos los tratamientos que se realizaron Supervisar y controlar AAPS usando un reloj WearOS - Insulina: - Carbohidratos: - IOB: - IOB total: - Actividad total IOB: - Dur: - Ratio: - Ins: - IOB: - IOB Total: - OT - Corrección - Bolo IOB Ejecutar ahora BOMBA VIRTUAL Última acción @@ -85,7 +72,6 @@ El complemento está deshabilitado Violación de restricciones Aceptar nueva basal temporal: - Tratamiento ¡Cambiar datos! Origen de Glucosa ¿Desde dónde debería obtener AAPS los datos? @@ -97,7 +83,6 @@ Nueva propuesta disponible Sugerencia de carbohidratos Versión de Nightscout no soportada - Basal IOB Tiempo de absorción Perfil Basal temporal @@ -144,7 +129,6 @@ Validar: Añadir Editar - BOLO COMIDA Corrección Acciones (PELIGROSO DESHABILITAR) Sólo subida a Nightscout @@ -173,8 +157,6 @@ Datos Autosens Depurar script Usar la función Autosens - Actualizar desde Nightscout - Borrar tratamientos en el futuro ACC CONF LAZO @@ -248,9 +230,6 @@ 10 horas Reanudar Vuelva a conectar la bomba - Tendencia 15min - COB - Superbolo Registrar el inicio de la aplicación en Nightscout Saliendo de la aplicación para aplicar los ajustes. ¿Qué tipo de insulina estás utilizando? @@ -475,7 +454,6 @@ Bomba virtual Definición de la bomba Bolo: Paso =%1$s\nBolo Extendido: [paso =%2$s, Duración =%3$smin -%4$sh] \nBasal: Paso =%5$s\nTBR: %6$s ( %7$s), Duración =%8$sMin -%9$sh\n%10$s - Configuración del Asistente Cálculos incluidos en el resultado del asistente: Ajustes de pantalla Configuración general @@ -511,9 +489,6 @@ Cuando se detecta resistencia a la insulina, disminuye el objetivo de glucosa Sensibilidad aumenta el objetivo Cuando se detecta sensibilidad a la insulina, aumenta el objetivo de glucosa - Eliminar registros de inicio de AAPS - Mostrar invalidados - Ocultar invalidados Eliminar elementos Ordenar elementos Encontrados ajustes de configuración @@ -536,8 +511,6 @@ Restablecer valores predeterminados NSClient fallando. Considera reiniciar NS y NSClient. Modo preferido de APS - Total - Cálculo Enviar los archivos de registro de hoy a los desarrolladores. Situación inesperada. Valor mínimo de cambio [%] Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor @@ -571,17 +544,12 @@ Administrar esta parte del resultado del asistente de bolos [%] El asistente de bolos realiza el cálculo, pero solo se entrega esta parte de la insulina calculada. Útil con el algoritmo SMB. Aumentar el valor basal máximo porque el ajuste es inferior a tu base máxima en el perfil - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Seleccionado: Unidades Limpieza finalizada Limpieza iniciada ¿Desea reiniciar el objetivo? Puedes perder tu progreso. Seleccione las unidades en las que desea visualizar los valores - ¿Deseas crear nuevo perfil a partir de éste? Valor de glucosa baja (sólo visualización) Valor de glucosa alta (sólo visualización) Entrada % inválida @@ -631,12 +599,13 @@ Ejecutar alarma cuando es hora de comer ¡Hora de comer!\nEjecutar el asistente de bolo y calcular de nuevo. Habilitar recordatorio de bolo + Usa recordatorio de bolo más tarde con el asistente + (\"post-bolus\") ¡Carga de registros de errores desactivada! Gráfico Menú gráfico Borrar filtro Cánula - Entrada de usuario Usa los valores de la comida más grande que sueles comer\n Esta identificación se adjuntará a los informes de errores, para que podamos contactarte en casos urgentes. Es opcional. Dirección de Correo Electrónico @@ -644,7 +613,6 @@ Puedes proporcionar una dirección de correo electrónico opcional si quieres ser notificado sobre fallos de la aplicación. Este no es un servicio automatizado. Los desarrolladores se comunicarán contigo en situaciones peligrosas. Sincronización completa ¿Sincronización completa? Puede tardar muchas horas y hasta que termine no verás nuevos datos en Nightscout - CEBAR Sincronización Perfiles, bolos, carbohidratos y basales temporales se suben a Nightscout Subir datos a Nightscout @@ -718,22 +686,9 @@ Comando de acción desconocido: Porcentaje Aplicación por defecto - Mostrar registros eliminados o invalidados - Ocultar registros eliminados o invalidados - Actualizar de Nightscout Eliminar los elementos seleccionados - Selecciona para eliminar - Cambios de perfil - Objetivos temporales - Carbohidratos y bolos - ¿Estás seguro de que quieres eliminar %1$d elementos? - No hay registros disponibles - Ocultar lazo - Mostrar lazo %1$d selecionado Ordenar - Mostrar registros del lazo - Ocultar registros del lazo Estado del lazo Escala gráfica Perfil 1 diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 305d703f80..5924151562 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -34,19 +34,6 @@ Recevoir les glycémies depuis xDrip+. Enregistre tous les traitements qui ont été effectués Surveillez et contrôlez AAPS en utilisant votre montre WearOS. - Insuline: - Glucides : - IA: - IA Totale: - Activité IA Totale: - Dur: - Ratio: - Ins: - IA: - IA Totale : - TT - Corr. - IA Bolus Exécuter maintenant POMPE VIRTUELLE Dernière exécution @@ -85,7 +72,6 @@ Plugin désactivé Violation des restrictions Accepter nouveau basal temporaire : - Traitement Changez vos entrées ! Source des glycémies Quelle source de données doit être utilisée par AAPS ? @@ -97,7 +83,6 @@ Nouvelle recommendation disponible Suggestion de glucides Version incompatible de Nightscout - IA Basal Décalage horaire Profil Basal Temporaire @@ -145,7 +130,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Valide: Ajouter Éditer - Repas Corr. Actions (DÉSACTIVATION DANGEREUSE) Envoi NS uniquement @@ -174,8 +158,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Données Autosens Débogage du Script Utiliser la fonction Autosens - Actualiser depuis NS - Supprimer les futurs traitements ACT CONF BOUCLE @@ -249,9 +231,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S 10 heures Reprendre Rebrancher la pompe - Delta 15 min - GA - Superbolus Démarrage AAPS entré dans NS Sortir de l’application pour appliquer les nouveaux paramètres. Quel type d\'insuline utilisez-vous ? @@ -476,7 +455,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Type de pompe virtuelle Définition de pompe Bolus : Étape =%1$s\nExtended Bolus : [Étape =%2$s, Durée =%3$smin -%4$sh]\nBasal : Étape =%5$s\nTBR : %6$s (par %7$s), Durée =%8$smin -%9$sh\n%10$s - Paramètres assistant Calculs inclus dans le résultat de l’Assistant : Parametres d\'affichage Paramètres généraux @@ -512,9 +490,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Quand une résistance est détectée, baisse de la glycémie cible Sensibilité augmente la cible Quand une sensibilité est détectée, augmentation de la glycémie cible - Suppr. entrées \"Démarrage AAPS\" - Montrer les entrées invalides - Masquer les entrées invalides Supprimer des entrées Trier les objets Paramètres sauvegardés trouvés @@ -537,8 +512,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Réinitialiser les valeurs par défaut Dysfonctionnement NSClient. Redémarrez NS et NSClient. Mode APS préféré - Total - Calc Envoi des fichiers logs d\'aujourd\'hui aux développeurs avec l\'heure. Cas imprévu. Changement minimum [%] Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% @@ -572,17 +545,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Injecter ce pourcentage du bolus calculé par l’assistant [%] L\'assistant bolus effectue le calcul mais seulement ce pourcentage de l\'insuline calculée est délivré. Utile avec l\'algorithme SMB. Augmentation de la valeur du débit Basal max parce que ce paramètre est inférieur au débit Basal max de votre profil - %1$s SI: %2$.1f - %1$.0fg G/I: %2$.1f - %1$.1fg G/I: %2$.1f - %1$d%% Sélectionné : Unités Refaire l\'objectif Suppression démarrée Voulez-vous réinitialiser le début de l\'objectif ? Vous risquez de perdre vos progrès. Sélectionnez les unités dans lesquelles vous souhaitez afficher les valeurs - Créer un nouveau profil à partir de ce profil ? Valeur inférieure dans la plage (affichage uniquement) Valeur supérieure dans la plage (affichage uniquement) % saisi invalide @@ -638,7 +606,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Menu graphique Effacer le filtre Canule - Entrées utilisateur Utilisez les valeurs qui correspondent à vos plus gros repas\n Cette identification sera jointe aux rapports de plantage afin que nous puissions vous contacter en cas d\'urgence. Elle est facultative. Adresse e-mail @@ -646,7 +613,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Vous pouvez fournir une adresse e-mail facultative si vous voulez être informé des plantages de l\'application. Ce n\'est pas un service automatisé. Vous serez contacté par les développeurs dans des situations dangereuses. Synchronisation complète Synchronisation complète ? Cela peut prendre plusieurs heures et jusqu\'à la fin, vous ne verrez pas de nouvelles données sur NS. - Amorcer Synchronisation Profils, boluses, glucides, basals temporaires sont téléchargés vers NS Télécharger des données vers NS @@ -720,22 +686,9 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Commande inconnue : Pourcentage Application par défaut - Afficher les enregistrements invalidés / supprimés - Masquer les enregistrements invalidés / supprimés - Rafraîchir à partir de Nightscout Supprimer les entrées sélectionnées - Sélectionner pour suppression - Changements de profil - Cibles Temp - Glucides et bolus - Êtes-vous sûr de vouloir supprimer %1$d entrée(s) - Aucun enregistrement disponible - Masquer la boucle - Afficher les entrées boucle %1$d sélectionnée(s) Trier - Afficher les entrées de la boucle - Masquer les entrées de la boucle État de la boucle Échelle du graph. Profil 1 diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index ecc7ea8c1a..fe5cf491c1 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -34,19 +34,6 @@ Ricevi valori glicemia da xDrip+. Salva tutti i trattamenti che sono stati fatti Monitora e controlla AAPS usando il tuo smartwatch WearOS. - Insulina: - CHO: - IOB: - IOB totale: - Attività IOB totale: - Dur: - Rapporto: - Ins: - IOB: - IOB totale: - TT - Corr - IOB da bolo Esegui ora MICRO VIRTUALE Ultima esecuzione @@ -85,7 +72,6 @@ Il plugin è disabilitato Violazione dei vincoli Accetta nuova basale temporanea: - Trattamento Cambia il tuo input! Origine BG Da dove AAPS dovrebbe ottenere i suoi dati? @@ -97,7 +83,6 @@ Nuovo suggerimento disponibile Suggerimento CHO Versione non supportata di Nightscout - IOB da basale Offset CHO Profilo Basale temporanea @@ -144,7 +129,6 @@ Valido: Aggiungi Modifica - Pasto Corr Azioni Solo upload su NS (PERICOLOSO DISABILITARE) @@ -173,8 +157,6 @@ Dati autosens Script debug Usa la funzione Autosens - Aggiornamento da NS - Elimina trattamenti nel futuro AZN CONF LOOP @@ -248,9 +230,6 @@ 10 ore Riprendi Riconnetti micro - Trend di 15min - COB - Superbolo Registra l\'avvio dell\'app in NS Uscita dall\'applicazione per applicare le impostazioni. Quale tipo di insulina stai usando? @@ -475,7 +454,6 @@ Tipo micro virtuale Definizione micro Bolo: Step=%1$s\nBolo Esteso: [Step=%2$s, Durata=%3$smin-%4$sh]\nBasale: Step=%5$s\nTBR: %6$s (di %7$s), Durata=%8$smin-%9$sh\n%10$s - Impostazioni Calcolatore Calcoli inclusi nel risultato del Calcolatore: Impostazioni di visualizzazione Impostazioni generali @@ -511,9 +489,6 @@ Quando viene rilevata resistenza, ridurre la glicemia target La sensibilità aumenta il target Quando viene rilevata sensibilità, aumentare la glicemia target - Rimuovi le voci \"AAPS avviato\" - Mostra invalidato - Nascondi invalidato Rimuovi elementi Ordina elementi Trovate impostazioni memorizzate @@ -536,8 +511,6 @@ Ripristina valori predefiniti Malfunzionamento NSClient. Considera il riavvio di NS e NSClient. Modalità APS preferita - Totale - Calc Invia agli sviluppatori i file log di oggi e di questo momento. Situazione inaspettata. Richiesta minima di modifica [%] Il loop aperto mostrerà una nuova richiesta di modifica solo se la modifica è maggiore di questo valore in %. Il valore predefinito è 20% @@ -571,17 +544,12 @@ Eroga parte del risultato del calcolatore [%] Il calcolatore esegue il calcolo, ma solo questa parte dell\'insulina calcolata è erogata. Utile con algoritmo SMB. Aumento del valore max basale perché l\'impostazione è inferiore alla tua basale massima nel profilo - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Selezionato: Unità Cancella completamento Cancella avvio Vuoi resettare l\'avvio dell\'obiettivo? Potresti perdere i tuoi progressi. Seleziona le unità in cui vuoi visualizzare i valori - Creare un nuovo profilo da questo profilo? Valore più basso per l\'intervallo di visualizzazione dell\'area \"in range\" Valore più alto per l\'intervallo di visualizzazione dell\'area \"in range\" Inserimento % non valido @@ -636,7 +604,6 @@ Menu grafico Cancella filtro Cannula - Inserimento utente Usa i valori del cibo più abbondante che mangi di solito\n Questa identificazione verrà allegata ai rapporti sugli arresti anomali in modo che possiamo contattarti in casi urgenti. È facoltativo. Indirizzo email @@ -644,7 +611,6 @@ Puoi fornire un indirizzo e-mail opzionale se desideri essere avvisato in caso di arresti anomali dell\'app. Questo non è un servizio automatizzato. Sarai contattato dagli sviluppatori in situazioni pericolose. Sincronizzazione completa Sincronizzazione completa? Potrebbe richiedere molte ore e fino alla fine del processo non vedrai nuovi dati in NS. - Caricamento Sincronizzazione Profili, boli, CHO, basali temporanee vengono caricati su NS Carica dati su NS @@ -718,22 +684,9 @@ Comando sconosciuto: Percentuale Predefinito applicazione - Mostra record non validi/rimossi - Nascondi record non validi/rimossi - Aggiorna da Nightscout Rimuovi elementi selezionati - Seleziona per la rimozione - Modifiche al profilo - Target Temporanei - CHO e boli - Sicuro di voler rimuovere %1$d elementi - Nessun record disponibile - Nascondi loop - Mostra loop %1$d selezionati Ordina - Mostra record di loop - Nascondi record di loop Stato loop Scala del grafico Profilo 1 diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index d0d5d1c13f..25684b2747 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -33,19 +33,6 @@ הורדת ערכי סוכר בדם מ-Nightscout קבלת ערכי סוכר מ-xDrip. שמירת כלל הטיפולים שנעשו - אינסולין: - פחמימות: - אינסולין פעיל: - אינסולין פעיל כולל: - פעילות אינסולין פעיל כוללת: - משך: - יחס: - אינסולין: - IOB: - IBO כולל: - TT - תיקון - בולוס פעיל בצע משאבה וירטואלית ההפעלה האחרונה @@ -81,7 +68,6 @@ התוסף אינו זמין הפרת מגבלות אשר בזאלי זמני חדש: - טיפול שנה קלט! מקור ערכי הסוכר xDrip+ @@ -92,7 +78,6 @@ הצעה חדשה זמינה המלצת פחמימות גרסה לא נתמכת של Nightscout - בזאלי פעיל זמן פחמימות פרופיל בזאלי זמני @@ -139,7 +124,6 @@ תקף: הוספה עריכה - ארוחה תיקון פעולות (מסוכן להשבית) העלאה בלבד לנייטסקאוט @@ -168,8 +152,6 @@ נתוני חישוב רגישות אוטו\' תיקון באגים בסקריפט אפשר חישוב רגישות אוטומטי (Autosens) - רענון אירועים מנייטסקאוט - מחיקת טיפולים עתידיים ACT CONF לולאה @@ -243,9 +225,6 @@ 10 שעות חידוש חיבור משאבה מחדש - מגמת 15 דקות - פחמ\' פעילות - סופר בולוס רשום הפעלת AAPS ב-Nightscout יוצא מ-AAPS כדי להחיל הגדרות. באיזה סוג של אינסולין אתה משתמש? @@ -469,7 +448,6 @@ סוג משאבה וירטואלית הגדרת משאבה בולוס: צעד=%1$s\nבולוס ממושך: [צעד=%2$s, משך=%3$s מינ\'-%4$sש\']\nבזאלי: צעד=%5$s\nבזאלי זמני: %6$s (עם %7$s), משך=%8$s מינ\'-%9$sש\'\n%10$s - הגדרות אשף חישובים הכלולים בתוצאת האשף: הגדרות תצוגה הגדרות כלליות @@ -504,8 +482,6 @@ כשמזוהה תנגודת, הורד את ערך המטרה של הגלוקוז רגישות מעלה את ערך המטרה כשמזוהה רגישות, הגדל את ערך המטרה של הגלוקוז - הצג פסולים - הסתר פסולים הסר פריטים מיין פריטים נמצאו הגדרות שמורות @@ -527,8 +503,6 @@ אפס לברירת המחדל תקלה ב-NSClient. שקלו להפעיל את Nightscout ו-NSClient מחדש. מצב APS מועדף - סה\"כ - חישוב שלח קובצי יומן של היום למפתחים יחד עם זמן זה. מצב לא צפוי. מינימום לבקשה לשינוי [%] \'לולאה פתוחה\' תציג בקשת שינוי חדשה רק אם השינוי גדול מערך זה ב-%. ערך ברירת המחדל הוא 20% @@ -561,17 +535,12 @@ ספק את חלק זה מתוצאת אשף הבולוס [%] אשף הבולוס מבצע חישוב אך רק חלק זה של האינסולין המחושב מוזרק. שימושי בשימוש עם אלגוריתם SMB. מגדיל את ערך מקסימום הבזאלי מפני שהוא נמוך מערכו המרבי בפרופיל - %1$s פקטור הרגישות: %2$.1f - %1$.0f גר\' יחס פחמ\': %2$.1f - %1$.1f גר\' יחס פחמ\':%2$.1f - %1$d%% נבחר: יחידות ביטול השלמה ביטול התחלה האם ברצונכם לאפס את התחלת המשימה? אתם עלולים לאבד את התקדמותכם במשימה. בחרו את היחידות שבהן ברצונכם להציג ערכים - ליצור פרופיל מקומי חדש מפרופיל זה? ערך נמוך יותר באזור הטווח (הצגה בלבד) ערך גבוה יותר באזור הטווח (הצגה בלבד) רשומת אחוזים לא חוקית @@ -626,7 +595,6 @@ תפריט הגרף נקה סינון צינורית - קלט המשתמש השתמשו בערכים הגבוהים ביותר של מזונות שאתם אוכלים בדרך כלל\n אמצעי הזיהוי יצורף לדיווחי קריסה על מנת שנוכל ליצור קשר במקרים דחופים. אין זו חובה. כתובת דוא\"ל @@ -634,7 +602,6 @@ אם תרצו, תוכלו לספק כתובת דוא\"ל כדי לקבל דיווח על קריסות יישום. שירות זה אינו אוטומטי. המפתחים יצרו איתכם קשר במצבים מסוכנים. סינכרון מלא סנכרון מלא? זה ייקח שעות מרובות ולא תוכלו לראות נתונים חדשים בנייטסקאוט. - תיחול סינכרון פרופילים, בולוסים, פחמימות ומינונים בזאליים זמניים נטענים לנייטסקאוט טוען נתוני סוכר לנייטסקאוט @@ -706,22 +673,9 @@ פקודה לא ידועה: אחוזים ברירת המחדל של היישום - הצג רשומות מבוטלות\\מחוקות - הסתר רשומות מבוטלות\\מחוקות - רענן מנייטסקאוט הסר פריטים נבחרים - בחרו להסרה - שינויים בפרופיל - ערכי מטרה זמניים - פחמ\' ובולוס - האם אתם בטוחים שברצונכם להסיר %1$d פריטים? - אין רישומים זמינים - החבא לולאה - הצג לולאה %1$d נבחרו מיין - הצג רשומות לולאה - החבא רשומות לולאה סטטוס הלולאה קנה מידה של הגרף פרופיל 1 diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index ee2a04dc69..6e417deafc 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -31,18 +31,6 @@ Nightscout에서 다운로드하여 혈당값 받기 xDrip+에서 혈당값 받기 모든 관리를 저장합니다. - 인슐린: - 탄수화물: - IOB: - IOB 총량: - 활동 IOB 총량: - 기간: - 비율: - 인슐린: - IOB: - IOB 총량: - 임시목표 - 교정 지금 실행 가상 펌프 최근 실행 @@ -78,7 +66,6 @@ 플러그인이 사용불가능 합니다 제한 위반 새 임시Basal 적용: - 관리 입력값을 변경하세요! 혈당 출처 xDrip+ @@ -89,7 +76,6 @@ 새로운 제안이 있습니다 탄수화물 제안 지원하지 않는 Nightscout 버전입니다 - Basal IOB 임시Basal 확장 Bolus Nightscout 버전: @@ -134,7 +120,6 @@ 유효기간: 추가 수정 - Meal 교정주입 실행 (비활성화 시 위험함) NS에 업로드만 하기 @@ -162,8 +147,6 @@ Autosens 정보 스크립트 디버그 Autosens 기능 사용 - NS로부터 최신 정보로 업데이트 함. - 미래시점의 관리 삭제 ACT CONF LOOP @@ -236,8 +219,6 @@ 10시간 재실행 펌프 재연결 - COB - Superbolus 앱시작을 NS에 기록하기 설정을 적용하기위해 앱을 종료합니다. 어떤 종류의 인슐린을 사용합니까? @@ -449,7 +430,6 @@ 가성펌프 종류 펌프 정의 Bolus: 스텝=%1$s\n확장Bolus: [Step=%2$s, 기간=%3$s분-%4$s시]\nBasal: 스텝=%5$s\n임시Basal: %6$s (by %7$s), 기간=%8$s분-%9$s시\n%10$s - 마법사 설정 마법사 결과에 사용 된 계산: 화면 설정 일반 설정 @@ -496,8 +476,6 @@ 기본값으로 초기화 NSClient가 정상적으로 작동하지 않습니다. Nightscout와 NSClient를 재시작 해보세요. 선호하는 APS 모드 - 합계 - Calc 예상치 못한 상황 보고를 위해 오늘의 로그 파일을 개발자에게 전송합니다. 최소 요청 변화 [%] Open Loop가 %단위로 이 값보다 변화가 더 클 경우에만 새 변경 요청을 팝업합니다. 기본값은 20 %입니다 @@ -527,10 +505,6 @@ Bolus 마법사 결과의 이 부분 주입[%] Bolus 마법사는 계산을 수행하지만 계산된 인슐린의 이 부분만 주입됩니다. SMB 알고리즘에 유용합니다. 설정이 프로파일에서의 최대 Basal보다 낮은 이유로 최대 Basal을 올립니다 - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% 선택: 단위 완료 초기화 @@ -588,12 +562,10 @@ 차트 메뉴 필터 지우기 캐뉼라 - 사용자 항목 평소 섭취하는 가장 많은 양의 탄수화물 값을 사용하세요.\n 이메일 주소 개인정보 설정 어플의 충돌에 대해 통지를 받기 원하는 경우 선택적으로 이메일 주소를 제공할 수 있습니다. 이는 자동 지원 서비스는 아닙니다. 위험 상황에서 개발자들에게 연락이 올 것입니다. - 교체 동기화 프로파일, bolus, 탄수화물, 임시 basal이 NS에 업로드 됨 NS에 데이터 업로드하기 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 8ba911acd7..248371d406 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -31,19 +31,6 @@ Gauti kraujo gliukozės vertes iš Nightscout Gauti kraujo gliukozės reikšmes iš xDrip+. Išsaugoti visus terapijos pakeitimus - Insulinas: - AV: - AIO: - Visas AIO: - Bendro AIO aktyvumas: - Trukmė: - Santykis: - Ins: - AIO: - Visas AIO: - LT - Korekcija - Bolusų AIO Paleisti dabar Virtuali pompa Paskutinis veiksmas @@ -79,7 +66,6 @@ Įskiepis išjungtas Apribojimų pažeidimas Patvirtinti naują laikiną bazę: - Terapija Pakeiskite įvestus duomenis! Glikemijos šaltinis xDrip+ @@ -90,7 +76,6 @@ Gautas naujas pasiūlymas Angliavandenių pasiūlymas Nepalaikoma Nightscout versija - Bazės AIO AV laikas Profilis Laikina bazė @@ -137,7 +122,6 @@ Galioja: Pridėti Redaguoti - Maistas Korekcija Veiksmai (PAVOJINGA IŠJUNGTI) Tik įkeliama į NS @@ -165,8 +149,6 @@ Autosens duomenys Scenarijų derinimas Naudoti Autosens funkciją - Atnaujinti iš NS - Ištrinti ateities įrašus VEIKS KONF CIKLAS @@ -239,9 +221,6 @@ 10 val. Atnaujinti Prijungti pompą - 15 min tendencija - AAO - Superbolus Siųsti programos paleidimo žymę į NS Uždarant aplikaciją, taikyti nustatymus. Kokio tipo insuliną naudojate? @@ -456,7 +435,6 @@ Virtualios pompos tipas Pompos nustatymas Bolusas: Žingsnis=%1$s\nIštęstinis bolusas: [Žingsnis=%2$s, Trukmė=%3$smin-%4$sh]\nBazė: Žingsnis=%5$s\nLDB: %6$s (iš %7$s), Trukmė=%8$smin -%9$sh\n%10$s - Išmaniojo laikrodžio nustatymai Skaičiavimai, įtraukti į Patarėjo rezultatą: Ekrano nustatymai Bendrieji nustatymai @@ -506,8 +484,6 @@ Atkurti numatytuosius NSClient sutrikimas. Reikėtų paleisti iš naujo NS ir NSClient. Pageidaujamas DKS režimas - Viso - Skaič. Siųsti šios dienos žurnalo įrašus kūrėjams dabar. Netikėta situacija. Minimalaus pokyčio užklausa [%] Atviras Ciklas parodys naujų pakeitimų užklausą tik tada, kai pokytis bus didesnis nei ši vertė %. Numatytoji vertė yra 20% @@ -540,17 +516,12 @@ Suleisti šią boluso skaičiuoklės rezultato dalį [%] Boluso skaičiuoklė atlieka skaičiavimus, tačiau tik dalis apskaičiuoto insulino yra suleidžiama. Naudinga kartu su SMB algoritmu. Didinama maksimali valandinės bazės reikšmė, nes nustatytoji reikšmė yra mažesnė nei profilio maksimali val. bazės reikšmė - %1$s JIF: %2$.1f - %1$.0fg IA: %2$.1f - %1$.1fg IA: %2$.1f - %1$d%% Parinkta: Vienetai Išvalyti užbaigtus Išvalyti pradėtus Ar norite iš naujo nustatyti tikslų pradžią? Jūs galite prarasti jau pasiektus. Pasirinkite vienetus, kurių vertes norite parodyti - Kurti naują profilį iš šito profilio? Mažiausia tikslinės srities vertė (tik rodymui) Didžiausia tikslinės srities vertė (tik rodymui) Netinkamas % įrašas @@ -604,7 +575,6 @@ Grafiko meniu Valyti filtrą Kaniulė - Naudotojo įrašas Naudokite gausiausio patiekalo, kurį paprastai valgote, reikšmes\n Šis identifikatorius bus pridėtas prie gedimų ataskaitų, kad skubiais atvejais galėtume su jumis susisiekti. Jis neprivalomas. El. pašto adresas @@ -612,7 +582,6 @@ Nurodykite el. pašto adresą (neprivaloma), jei norite gauti informaciją apie programos strigimus. Tai nėra automatizuota paslauga. Kūrėjai susisieks esant pavojingoms situacijoms. Pilna sinchronizacija Vykdyti pilną sinchronizaciją? Tai gali užtrukti nemažai valandų ir kol ji nebus užbaigta, nematysite atnaujintų NS duomenų. - Užpildyti sistemą Sinchronizacija Profiliai, bolusai, angliavandeniai, laikinos bazės įkeltos į NS Įkelti duomenis į NS diff --git a/app/src/main/res/values-nl-rNL/exam.xml b/app/src/main/res/values-nl-rNL/exam.xml index 823f9a9ca4..b9bf4664ab 100644 --- a/app/src/main/res/values-nl-rNL/exam.xml +++ b/app/src/main/res/values-nl-rNL/exam.xml @@ -5,10 +5,12 @@ Je moet de waarde voor DIA in je profiel instellen. De minimumwaarde is 5 uur. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline + Als je er zeker van bent dat de waarde voor DIA die je in je pomp hebt gebruikt voor je AndroidAPS gebruikte, goed werkte, dan is het niet nodig om deze te wijzigen als je begint met loopen. Je moet voor jezelf de juiste waarde voor DIA bepalen. Hypo Tijdelijk streefdoel Wat is de belangrijkste reden om een tijdelijk hypo streefdoel in te stellen? Om te corrigeren voor hypo\'s veroorzaakt door onjuiste basaalstanden. + Om te voorkomen dat AndroidAPS overcorrigeert voor een bloedglucosestijging veroorzaakt door de snel werkende koolhydraten die gebruikt worden voor een hypo. Om te corrigeren voor een hypo veroorzaakt door inspanning. Om te voorkomen dat de bloedglucose te laag wordt als er al een tijdelijke basaalstand van 0% actief is. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html @@ -16,10 +18,15 @@ Thema: offline profiel NS-Profiel kan worden gebruikt, maar niet worden aangepast. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#profiel + Redenen voor het toepassen van \"Verbreek verbinding met pomp\" in AndroidAPS Wat moet er gebeuren wanneer pomp wordt losgekoppeld? Dit is onnodig omdat er geen isuline toegediend zal worden als de pomp fysiek losgekoppeld is. + Het zorgt ervoor dat AndroidAPS geen insuline meerekent die niet werd toegediend terwijl de pomp niet was aangesloten  Het zal de insulineafgifte niet stoppen als de pomp verbonden blijft. + Dit zet AndroidAPS in open-loopmodus. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#overige-instellingen + AAPS-instellingen + AAPS-instellingen Welke dingen kun je het beste doen om een back-up van je instellingen te maken? Je hoeft je instellingen niet te exporteren, zolang je ze ergens noteert. Exporteer je instellingen nadat je een doel hebt bereikt. @@ -33,6 +40,7 @@ https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#welke-spullen-moet-ik bij-me-hebben-voor-noodgevallen Ruis in CGM-metingen Wat moet er gebeuren als CGM-gegevens ruis vertonen? + Niets, AAPS lost het op. Schakel de closed loop uit om te voorkomen dat de closed loop over- of onderdoseert. Vervang sensoren die consequent ruis geven of inaccuraat zijn. Zorg dat je CGM-app de BG-gegevens vloeiend maakt. @@ -63,6 +71,7 @@ Eenmaal ingesteld en gevalideerd, hoeven deze waarden niet veranderd te worden in de loop der tijd. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#androidaps-instellingen Vereisten + Wat is minimaal nodig om AAPS in te stellen en te gebruiken? Goed geteste profielgegevens (Basaal, KH-ratio, ISF, DIA). Een computer waarop Android Studio is geïnstalleerd en geconfigureerd. Een geschikte telefoon. @@ -77,17 +86,25 @@ Een Smartwatch. Een geschikte CGM. Vereisten + Wat is minimaal nodig om AAPS in te stellen en te gebruiken? Gevalideerde informatie om een profiel op te zetten (ISF, I:C ratio, basaalstanden, DIA etc.). Een ondersteund Android apparaat (bijvoorbeeld een mobiele telefoon, volledig Android-horloge of een tablet). + AndroidAPS heeft een internetverbinding nodig om in closed-loopmodus te kunnen werken. Een ondersteunde CGM en geschikte app om bloedglucosewaarden te ontvangen op je telefoon/apparaat. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html + AAPS bijwerken Selecteer alle juiste antwoorden. Je moet Git geïnstalleerd en geconfigureerd hebben op je computer. + Wanneer nieuwe versies van AndroidAPS zijn uitgebracht, kunnen eerdere versies na een bepaalde tijd van afstand beperkt worden. Je moet de locatie van de keystore onthouden en dezelfde signing key gebruiken voor updates als bij je vorige installatie. Doe nooit een update als het systeem goed werkt. Als je moeite hebt met het bouwen van de apk, kun je een apk installeren die is gebouwd door een vriend. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#bijwerken-naar-een-nieuwe-versie Probleemoplossing + Waar kan je hulp zoeken voor AndroidAPS? + Je kunt om advies vragen in de AndroidAPS Users Facebookgroep. + Je moet de AndroidAPS documentatie lezen (en opnieuw lezen). + Je kunt om advies vragen en technische problemen inbrengen op het AndroidAP- kanaal op Discord. Je moet hulp vragen aan je behandelteam. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#problemen-oplossen https://www.facebook.com/groups/AndroidAPSUsers/ @@ -101,6 +118,7 @@ https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline Gevoeligheidsplugins Selecteer alle juiste antwoorden. + Gevoeligheidsplugins stellen AndroidAPS in staat om aan te passen aan tijdelijke of kortstondige veranderingen in insulinegevoeligheid (bijvoorbeeld hormonale veranderingen of problemen met insuline-opname bij de infuusplaats). Gevoeligheidsplugins bieden de gebruiker suggesties voor wijzigingen aan basaaalstanden, I:C ratio\'s en ISF die kunnen worden gebruikt om het profiel mee aan te passen. Het vastleggen van een canulewissel zet de Autosens-ratio terug naar 100%. Sommige van de plugins hebben configureerbare tijdbereiken die kunnen worden ingesteld door de gebruiker. @@ -110,11 +128,27 @@ Wat moet u doen als u een onjuiste hoeveelheid koolhydraten hebt ingevoerd? Verwijder het onjuiste record in Behandelingen en voer de juiste koolhydraten opnieuw in. Bolus met insuline met behulp van het infusieset uitvulmenu. + Doe niets – AndroidAPS zal de juiste aanpassingen maken. Bolus met insuline met behulp van de insuline (bolus) knop in het Overzicht. Insulinetoediening/-invoerfouten Wat moet je doen wanneer je minder insuline toegediend hebt gekregen dan de geschiedenis van de pomp suggereert, bijvoorbeeld vanwege een verstopping, een lekkende canule of door het vergeten de pomp opnieuw aan te koppelen na een douche?  Verwijder de insulinegegevens uit het Nightscout Careportal om deze uit de pompgeschiedenis te verwijderen. + Vergelijk de waarden in AndroidAPS en pompgeschiedenis (als de pomp dit ondersteunt). Bolus een deel van je berekende \'gemiste\' insuline door een injectiespuit/pen of door de uitvulfunctie te gebruiken. + Doe niets en laat AndroidAPS de ontstane hoge bloedglucosespiegel corrigeren. + Koolhydraten aan boord (COB) + Welke invloed heeft het wijzigen van de ISF waarde op COB berekeningen? + Verhoging van ISF zal de absorptie van koolhydraten vertragen + Verhoging van ISF zal de absorptie van koolhydraten versnellen + Verhoging van ISF heeft geen invloed op berekende koolhydraten absorptie + Welke invloed heeft het wijzigen van de IC waarde op COB berekeningen? + Verhoging van IC zal de absorptie van koolhydraten vertragen + Verhoging van IC zal de absorptie van koolhydraten versnellen + Verhoging van IC heeft geen invloed op berekende koolhydraten absorptie + Welke invloed heeft het wijzigen van het profiel percentage op COB berekeningen? + Instellen van een profiel op 150% zal de absorptie van koolhydraten vertragen + Instellen van een profiel op 150% zal de absorptie van koolhydraten versnellen + Instellen van profiel op 150% heeft geen invloed op berekende koolhydraten absorptie Insuline aan boord (IOB) De IOB-waarde wordt beïnvloed door eerdere tijdelijke basaalstanden. Een hoge tijdelijke basaal zal niet worden ingesteld wanneer je bloedsuiker onder het streefdoel ligt. @@ -123,20 +157,28 @@ Koolhydraatinvoer en bolussen Alleen grammen moeten worden gebruikt voor het schatten en opgeven van koolhydraten. Koolhydraten kunnen worden geregistreerd met behulp van een geschikt uitwisselingssysteem (bv. DAFNE \"CHO\" of Europese \"Bread Units\"). + AndroidAPS gebruikt een dynamisch model om koolhydraat \"verval\" te schatten en COB te berekenen. Als de bloedglucosespiegels buiten aanvaardbare waarden liggen (te laag of te hoog), kan de boluscalculator worden gebruikt om suggesties te doen voor koolhydraat-of insuline-correcties. https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u e-carbs Waarvoor kun je e-carbs (uigestelde koolhydraten) gebruiken? Om koolhydraten in de toekomst te plannen, mogelijk verdeeld over een interval (vergelijkbaar met een verlengde bolus die insuline over een interval verspreidt). + Voor het loggen van vrij ingenomen koolhydraten tbv. inspanning die je wilt verbergen voor AndroidAPS. + e-carbs (verdeeld in de toekomst) kunnen AndroidAPS helpen bij het omgaan met maaltijden met een hoog vet-/eiwitgehalte. Voor het vastleggen van reddingskoolhydraten die je gebruikt voor de behandeling van een lage bloedglucose.  https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Extended-Carbs.html Bewaking op afstand + Hoe kun je AndroidAPS (bijvoorbeeld voor je kind) op afstand monitoren? + AAPSClient app, Nightscout app en de Nightscout webpagina kunnen AAPS op afstand volgen. Met andere apps (bijv. Dexcom follow, xDrip in follow mode) kun je enkele gegevens (bijv. bloedglucose/sensorwaarden) op afstand volgen, maar deze gebruiken andere algoritmen en kunnen daardoor onjuiste IOB-of COB-waarden tonen. + Om AndroidAPS op afstand te kunnen volgen, is voor beide apparaten internettoegang noodzakelijk (bijvoorbeeld via Wi-Fi of mobiel netwerk). + AAPSClient gebruikt als een externe volger zal AAPS monitoren en geeft volledige controle. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Children/Children.html Insulinegevoeligheidsfactor (ISF) Het verhogen van de ISF-waarde zal leiden tot meer insulinetoediening om een dezelfde hoeveelheid koolhydraten te dekken. Het verlagen van de ISF-waarde leidt tot meer insulinetoediening om een verhoogde bloedglucose te corrigeren. Verhoging of verlaging van de ISF heeft geen effect op de insulinetoediening wanneer de bloedglucosespiegel lager is dan de streefwaarde. + ISF moet worden ingevoerd in je AndroidAPS-voorkeuren. Het wijzigen van de ISF-waarde in uw profiel is voldoende om de wijziging toe te passen. https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#insuline-gevoeligheids-factor-insulin-sensitivity-factor-ISF-mmol-l-E-of-mg-dl-E https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html @@ -163,6 +205,7 @@ Het BG streefdoel blijft ongewijzigd. De ISF-waarde wordt 20% hoger. Profielwissels + Als je 2 uur eerder opstaat dan normaal, hoe moet je AndroidAPS dan laten weten dat jouw dagschema is veranderd? Voer een profiel wissel uit met een tijdverschuiving van 2 Voer een profiel wissel uit met een tijdverschuiving van -2 Stel een Eet binnenkort Tijdelijk streefdoel in. @@ -170,6 +213,7 @@ https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html?highlight=profilewitch#tijd-verschuiving Aanpassen van profielen Basaalstanden, ISF, KH-ratio\'s, etc, moeten in profielen worden ingesteld. + Om veranderingen in je Nightscout Profiel te activeren, heeft je AAPS telefoon een actieve internetverbinding nodig. Een profiel bewerken is voldoende om eventuele wijzigingen door te voeren. Er kunnen meerdere profielen worden ingesteld en geselecteerd om tegemoet te komen aan veranderende omstandigheden (bijvoorbeeld hormonale veranderingen, shift werk-, weekdagen/weekendlevensstijl). https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html#goed-individueel-doserings-algoritme-voor-jouw-diabetesbehandeling @@ -179,4 +223,6 @@ Google Facebook Andere medicijnen. Lees de verklaring hieronder en vink het vakje aan om de verklaring te accepteren. + AndroidAPS vermindert de basaalstanden of stopt de insulinetoediening om de bloedsuiker te verhogen. Medicijnen in de klasse SGLT2-remmers (gliflozines) kunnen een stijging van bloedglucose voorkomen en kunnen daardoor een gevaarlijk insulinetekort veroorzaken dat leidt tot diabetische ketoacidose. +\nBekende merknamen zijn: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nIk verklaar dat ik dergelijke medicijnen niet zal gebruiken wanneer ik AndroidAPS gebruik, of dat ik de loop zal deactiveren voordat ik met deze medicijnen start. diff --git a/app/src/main/res/values-nl-rNL/objectives.xml b/app/src/main/res/values-nl-rNL/objectives.xml index f183c683c5..a54f6c68c6 100644 --- a/app/src/main/res/values-nl-rNL/objectives.xml +++ b/app/src/main/res/values-nl-rNL/objectives.xml @@ -25,6 +25,8 @@ Pomp status beschikbaar in NS Handmatige aanpassingen Voltooid: %1$s + Leer hoe AndroidAPS te gebruiken + Voer verschillende acties uit in AndroidAPS Stel profiel in op 90% voor 10 min (houd profielnaam lang ingedrukt op Overzicht scherm) Simuleer douchen. Ontkoppel de pomp voor 1u (houd Open Loop lang ingedrukt) ... en op dezelfde manier weer aankoppelen diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index b32e249ec4..fd44ce195e 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -33,19 +33,7 @@ Download BG waardes van Nightscout Ontvang BG waardes van xDrip+. Sla alle behandelingen op - Insuline: - Koolhydraten: - IOB: - Totale IOB: - Totale IOB activiteit: - Tijdsduur: - Ratio: - Ins: - IOB: - Totale IOB: - TT - Correctie - Bolus IOB + Monitor en bedien AAPS met uw WearOS horloge. Nu uitvoeren VIRTUELE POMP Laatste berekening @@ -65,7 +53,9 @@ Behandelingen Virtuele Pomp Pomp + Welke pomp wilt u gebruiken met AAPS? Profiel + Welk profiel moet AAPS gebruiken? APS Welk APS algoritme moet therapie aanpassingen maken? Algemeen @@ -73,6 +63,7 @@ Welke beperkingen worden toegepast? Beperkingen Loop + Gebruik dit om AAPS loop integratie te activeren. APS Berekening met toepassing van limieten Tijdelijk basaal gezet door pomp @@ -81,9 +72,9 @@ Plugin is gedeactiveerd In strijd met beperkingen Accepteer nieuw tijdelijk basaal: - Bolus Wijzig het ingegevene! BG bron + Waar moet de AAPS zijn gegevens vandaan halen? xDrip+ APS Mode Closed loop @@ -92,7 +83,6 @@ Nieuw voorstel beschikbaar Koolhydraten Voorstel Niet ondersteunde versie van Nightscout - Basaal IOB KH tijdsduur Profiel Tijdelijk basaal @@ -139,7 +129,6 @@ Beschikbaarheid: Voeg toe Wijzig - Maaltijd bolus Correctie Acties (GEVAARLIJK OM UIT TE SCHAKELEN) alleen NS upload @@ -168,8 +157,6 @@ Autosens gegevens Script debug Gebruik Autosens functie - Vernieuwen vanaf NS - Verwijder behandelingen in de toekomst ACT CONF LOOP @@ -243,9 +230,6 @@ 10 uur Hervatten Opnieuw verbinden met pomp - 15min trend - COB - Superbolus Log app start naar NS Sluiten van applicatie om instellingen bij te werken. Welk soort insuline gebruik je? @@ -307,6 +291,7 @@ Gemiddelde gevoeligheid Niet alle profielen zijn geladen! Waarden niet opgeslagen! + Schakel lokaal data delen met andere apps (zoals xDrip+) in. Schakel dit niet in als er meer dan één installatie van AAPS of NSClient zijn geinstalleerd! Activeer locaal delen. OpenAPS SMB Dynamische ISF @@ -469,7 +454,6 @@ Virtuele pomp Type Pomp definitie Bolus: Stap=%1$s\nExtended Bolus: [Stap=%2$s, Duur=%3$smin-%4$sh]\nBasaal: Stap=%5$s\nTBR: %6$s (by %7$s), Duur=%8$smin-%9$sh\n%10$s - Wizard instellingen Berekeningen inclusief in het resultaat van de wizard Scherm instellingen Algemene instellingen @@ -477,6 +461,7 @@ Welkom bij de wizard setup. Het zal je begeleiden door het setup-process\n Lees status De installatiewizard overslaan + Druk op de knop hieronder om AAPS basaalwijzigingen te laten voorstellen/uitvoeren Gevoeligheid plugin wordt gebruikt voor de detectie van de gevoeligheid en COB berekening. Voor meer info bezoek: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html NSClient zorgt voor verbinding met Nightscout. Je kunt dit deel nu overslaan, maar pas de Doelen afronden als je het hebt ingesteld. @@ -493,6 +478,8 @@ Ontvang BG waardes van Poctech app Glunovo Ontvang waardes van Glunovo app + Intelligo + Ontvang waarden van de Intelligo app Ontvang BG waardes van Tomato app (MiaoMiao apparaatje) Hoog tijdelijk streefdoel verhoogt gevoeligheid = 100]]> @@ -502,11 +489,10 @@ Wanneer insulineresistentie wordt gedetecteerd, wordt het BG streefdoel verlaagd Gevoeligheid verhoogt het doel Wanneer insulinegevoeligheid wordt gedetecteerd, wordt het BG streefdoel verhoogd - Toon ongeldig - Verberg ongeldig Items verwijderen Sorteer items Opgeslagen instellingen gevonden + Let op: als u activeert en verbinding maakt met een hardwarepomp, kopieert AndroidAPS de basale instellingen van het profiel naar de pomp en overschrijft de bestaande basaal snelheid die in de pomp is opgeslagen. Zorg ervoor dat u de juiste basaal instelling hebt in AndroidAPS. Als u niet zeker weet of niet wilt dat de basaal instellingen op uw pomp worden overschreven, drukt u op Annuleren en herhaalt u het overschakelen naar de pomp op een later tijdstip. Behandelingen data incompleet Onderhoudsinstellingen E-mail @@ -525,13 +511,12 @@ Terug naar standaardinstellingen NSClient werkt niet goed. Overweg een herstart van NS en NSClient. Voorkeur APS-modus - Totaal - Calc Logboekbestanden van vandaag verzenden aan ontwikkelaars samen met de onverwachte situatie. Minimale verzoek voor aanpassing [%] Open Loop zal alleen een wijzigingsverzoek tonen als de verandering groter is dan deze waarde in %. De standaard waarde is 20% == ∑ %1$s E Noteer sensor wissel in NS + Noteer automatisch \"Sensor Wissel\" in NS bij starten van sensor Tomato (MiaoMiao) Tomato Uw Tidepool login gebruikersnaam, normaliter uw e-mailadres @@ -559,17 +544,12 @@ Voer dit deel van het bolus wizard resultaat uit [%] Bolus wizard voert de berekening uit maar alleen dit deel van berekende insuline wordt geleverd. Handig in combinatie met het SMB algoritme. Verhogen van de maximale basaal waarde omdat de instelling lager is dan het maximum in het profiel - %1$s ISF: %2$.1f - %1$.0fg KH-ratio: %2$.1f - %1$.1fg KH-ratio: %2$.1f - %1$d%% Geselecteerd: Eenheden Voltooiing wissen Start wissen Wil je dit leerdoel opnieuw starten? Je kunt je voortgang verliezen. Selecteer eenheden waarin je waarden wilt weergeven - Nieuw profiel van dit profiel maken? Laagste waarde in bereik (alleen weergave) Hoogste waarde in bereik (alleen weergave) Ongeldig % invoer @@ -619,12 +599,12 @@ Start alarm wanneer het tijd is om te eten Tijd om te eten!\nVoer de boluswizard opnieuw uit. Bolus herinnering inschakelen + Gebruik herinnering om later te bolussen met de wizard (\"post-bolus\") Upload van crashrapporten is uitgeschakeld! Grafiek Grafiek menu Verwijder filter Canule - Gebruikersinvoer Gebruik de waarden van je grootste maaltijd die je gewoonlijk eet\n Deze identificatie wordt gekoppeld aan crashrapporten, zodat we contact met je kunnen opnemen in urgente gevallen. Het is optioneel. E-mailadres @@ -632,7 +612,6 @@ U kunt optioneel een e-mailadres opgeven als u op de hoogte wilt worden gebracht van applicatie crashes. Dit is geen geautomatiseerde service. De ontwikkelaars zullen contact met u opnemen bij gevaarlijke situaties. Volledige synchronisatie Volledige synchronisatie? Dit kan een aantal uren duren. Je ziet dan geen nieuwe gegevens in Nightscout. - Vullen Synchronisatie Profielen, bolussen, koolhydraten, tijdelijke basaal standen worden geupload naar NS Upload data naar NS @@ -706,22 +685,9 @@ Onbekend actie commando: Percentage Applicatie standaardwaarden - Toon ongeldig gemarkeerde / verwijderde records - Verberg ongeldig gemarkeerde / verwijderde records - Vernieuw vanaf Nightscout Geselecteerde items verwijderen - Selecteer om te verwijderen - Profiel wijzigingen - Tijdelijke streefdoelen - Koolhydraten en bolus - Weet je zeker dat je %1$d items wilt verwijderen - Geen records beschikbaar - Verberg loop - Toon loop %1$d geselecteerd Sorteren - Toon loop records - Verberg loop records Loop status Grafiek schaal Profiel 1 @@ -737,10 +703,16 @@ alleen op smartwatch alleen op telefoon sleepmodus + Zoeken GlucoRx Aidex Aidex Ontvang BG waarden van GlucoRx Aidex CGMS. Geblokkeerd door oplaad instellingen Geblokkeerd door verbindings instellingen + (Geen horloge verbonden) + Wijzig gevoeligheid en BG + Database opschonen + Wilt u de database opschonen?\nHet zal bijgehouden wijzigingen en historische gegevens ouder dan 3 maanden verwijderen. + Invoergegevens gewist diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 9d2da5a79d..5593901f91 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -34,19 +34,6 @@ Motta BS-verdier fra xDrip+. Lagre data om alle behandlinger som er utført Overvåke og kontrollere AAPS ved hjelp av WearOS-klokken. - Insulin: - Karbo: - IOB: - Total IOB: - Total IOB aktivitet: - Varighet: - Ratio: - Ins: - IOB: - Total IOB: - TT - Korr - Bolus IOB Utfør nå VIRTUELL PUMPE Siste beregning @@ -85,7 +72,6 @@ Plugin er deaktivert Brudd på begrensninger Aksepter ny temp basal: - Behandling Endre dine inndata! BS-kilde Hvor skal AAPS få sine data fra? @@ -97,7 +83,6 @@ Ny anbefaling tilgjengelig Karbo forslag Versjonen av Nightscout støttes ikke - Basal IOB Karbo-tid Profil Temp basal @@ -144,7 +129,6 @@ Gyldig: Legg til Rediger - Måltid Korreksjon Handlinger (FARLIG Å DEAKTIVERE) Kun NS opplasting @@ -173,8 +157,6 @@ Autosens-data Script feilsøking Bruk Autosens funksjon - Gjenoppfrisk fra NS - Slett fremtidige behandlinger ACT KONF LOOP @@ -248,9 +230,6 @@ 10 timer Gjenoppta Koble til pumpen - 15 min trend - COB - Superbolus Logg app-start til NS Avslutter appen for å aktivere innstillinger. Hvilken type insulin bruker du? @@ -475,7 +454,6 @@ Virtuell pumpetype Pumpedefinisjon Bolus: Step=%1$s\nForlenget bolus: [Step=%2$s, Varighet=%3$smin-%4$sh]\nBasal: Step=%5$s\nTBR: %6$s (av %7$s), Varighet=%8$smin-%9$sh\n%10$s - Veiviser innstillinger Beregninger inkludert i resultatet fra veiviseren: Visningsinnstillinger Generelle innstillinger @@ -511,9 +489,6 @@ Hvis resistens oppdages vil det redusere BS målverdi Sensitivitet øker BS målverdi Når systemet oppdager økt insulinsensitivitet, vil BS målverdi økes - Fjern oppføringer startet av AAPS - Vis ugyldige oppføringer - Skjul ugyldige oppføringer Fjern oppføringer Sorter elementer Lagrede innstillinger funnet @@ -536,8 +511,6 @@ Gjenopprett standardinnstillinger NSClient feil. Vurder omstart av NS og NSClient. Foretrukket APS modus - Total - Kalkyle Send dagens loggfiler til utviklere og med dette tidspunktet. Uventet situasjon. Minste endrings forespørsel [%] I åpen Loop modus vil AAPS be om en endring hvis forandringen er større enn denne verdien i %. Standard verdi er 20% @@ -571,17 +544,12 @@ Doser denne delen av bolus wizard resultat [%] Bolus veiviser utfører beregninger, men bare denne del av beregnet insulin leveres. Nyttig ved bruk av SMB algoritmen. Øker maks basaldose fordi innstillingen er lavere enn din maks basal i profilen - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Valgt: Enheter Sletting ferdig Sletting startet Ønsker du å omstarte læringsmålet? Du vil miste fullførte trinn. Velg enheter som du vil vise verdier i - Opprett ny profil fra denne profilen? Nedre verdi for målområdet (kun visning) Øvre verdi for målområdet (kun visning) Ugyldig % oppføring @@ -638,7 +606,6 @@ Diagram meny Nullstill filtre Kanyle - Bruker registrering Bruk verdiene for det største måltidet du normalt spiser\n Denne e-postadressen vedlegges krasjrapporter slik at vi kan kontakte deg i akutte tilfeller. Det er valgfritt. E-postadresse @@ -646,7 +613,6 @@ Du kan oppgi valgfri e-postadresse hvis du ønsker å bli varslet om krasj. Dette er ikke en automatisert tjeneste. Du vil bli kontaktet av utviklere ved farlige hendelser. Full synkronisering Full synkronisering? Dette kan ta mange timer og du ser ikke nye data i NS før dette er ferdig. - Prime Synkronisering Profiler, boluser, karbohydrater, midlertidige basaler lastes opp til NS Last opp data til NS @@ -720,22 +686,9 @@ Ukjent kommando: Prosent Standardverdi - Vis ugyldige / slettede registreringer - Skjul ugyldige / slettede registreringer - Oppdater fra Nightscout Fjern valgte elementer - Velg hva som skal fjernes - Profilendringer - Temp Target - Karbohydrater og bolus - Er du sikker på at du vil fjerne %1$d elementer - Ingen registreringer tilgjengelig - Skjul loop - Vis loop %1$d valgt Sorter - Vis loop registreringer - Skjul loop registreringer Loop status Diagram skala Profil 1 diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 293471aa5a..b33bbd0667 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -31,19 +31,6 @@ Pobieraj wartości BG z Nightscout Pobieraj wartości BG z xDrip+. Zapisuje wszystkie wykonane czynności leczenia - Insulina: - Węglow.: - IOB: - Całkowita IOB: - Aktywna IOB: - Czas: - Iloczyn: - Ins: - IOB: - Całkowita IOB: - TT - Poprawka - IOB z bolusów Uruchom teraz POMPA WIRTUALNA Ostatnie działanie @@ -79,7 +66,6 @@ Wtyczka jest wyłączona Naruszenie ograniczeń Akceptuj nową bazę tymczasową: - Terapia Zmień wprowadzone dane! Źródło BG xDrip+ @@ -90,7 +76,6 @@ Dostępna nowa sugestia Sugestia węglowodanów Niewspierana wersja Nightscout - IOB z bazy Czas węglow. Profil BazaTymczasowa @@ -137,7 +122,6 @@ Ważny: Dodaj Edytuj - Posiłek Korekta Akcje (NIEBEZPIECZNIE TO WYŁĄCZYĆ) tylko przesyłanie NS @@ -166,8 +150,6 @@ Dane Autosens Debugowanie skryptów Użyj funkcji Autosens - Odśwież z NS - Usuń zabiegi w przyszłości ACT CONF LOOP @@ -240,9 +222,6 @@ 10 godzin Wznów Połącz ponownie pompę - Trend 15 minutowy - COB - Superbolus Wyślij start app do NS Zamykanie aplikacji w celu wprowadzenia ustawień. Jakiego typu insuliny używasz? @@ -457,7 +436,6 @@ Pompa wirtualna Definicja Pompy Bolus: Krok =%1$s\nBolus Przedłużony: [krok =%2$s, czas trwania =%3$smin -%4$sh] \nBasal: krok =%5$s\nTBR: %6$s (przez %7$s), czas trwania =%8$smin -%9$sh\n%10$s - Ustawienia kreatora Obliczenia uwzględnione w wynikach kreatora: Ustawienia wyświetlania Ustawienia ogólne @@ -508,8 +486,6 @@ Przywróć ustawienia domyślne Usterka NSClient. Spróbuj zrestartować NS i NSClient. Preferowany tryb APS - Razem - Kalk Wyślij dzisiejsze pliki logów razem z datą i czasem do programistów. Nieoczekiwana sytuacja. Minimalna żądana zmiana [%] Otwarta pętla wprowadzi żądanie zmiany tylko w przypadku, gdy będzie ona większa niż ta wartość w %. Wartość domyślna to 20% @@ -542,17 +518,12 @@ Dostarcz tą część dawki insuliny z wyniku kalkulatora bolusa [%] Kreator bolusa wykonuje obliczenia, ale tylko ta część obliczonej dawki insuliny jest dostarczana. Pomocne z algorytmem SMB. Zwiększanie maksymalnej wartości bazowej ponieważ ustawienia są poniżej maxymalnej wartości bazy w profilu - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Wybrany: Jednostki Wyczyść skończone Wyczyść rozpoczęte Czy chcesz zresetować czas rozpoczęcia zadania? Możesz utracić postępy. Wybierz jednostki, w których chcesz wyświetlać wartości - Utworzyć nowy profil na bazie wybranego profilu? Dolna wartość zakresu docelowego (tylko do wyświetlania) Górna wartość zakresu docelowego (tylko do wyświetlania) Nieprawidłowa wartość procentowa @@ -607,7 +578,6 @@ Menu wykresu Wyczyść filtr Kaniula - Wpis użytkownika Użyj wartości największego jedzenia, które zazwyczaj zjadasz\n Ten identyfikator zostanie dołączony do raportu o błędzie aby umożliwić kontakt z tobą, w przypadku gdyby zaszła pilna konieczność. Jego podanie jest opcjonalne. Adres e-mail @@ -615,7 +585,6 @@ Możesz opcjonalnie podać adres e-mail, jeśli chcesz otrzymywać powiadomienia o awariach aplikacji. To nie jest usługa zautomatyzowana. W niebezpiecznych sytuacjach deweloperzy skontaktują się z Tobą. Pełna synchronizacja Wykonać pełną synchronizację? Może ona potrwać wiele godzin i aż do jej zakończenia nie zobaczysz nowych danych w NS. - Wypełnianie Synchronizacja Profile, bolusy, węglowodany, tymczasowe bazy są przesyłane do NS Prześlij dane do NS @@ -643,8 +612,6 @@ Niedostępne Usuń wybrane pozycje - Czy na pewno chcesz usunąć %1$d pozycji - Brak wpisów Wybrany %1$d Sortuj Zaloguj się diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 16a8ecc646..b9b056060c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -32,19 +32,6 @@ Downloads de dados de Glicose do Nightscout Receber valores de glicose do xDrip+. Salva todos os tratamentos que foram feitos - Insulina: - Carboidratos: - IOB: - IOB Total: - Atividade Total IOB: - Dur: - Rácio: - Ins: - IOB: - IOB Total: - TT - Corr - I.A de Bolus Executar agora BOMBA VIRTUAL Última execução @@ -80,7 +67,6 @@ Plugin está desativado Violação das restrições Aceitar nova basal temporária: - Tratamento Altere sua entrada! Fonte de BG xDrip+ @@ -91,7 +77,6 @@ Nova sugestão disponível Sugestão de Carbs Versão não suportada do Nightscout - IOB Basal Hora do carboidrato Perfil Basal Temporária @@ -138,7 +123,6 @@ Válido: Adicionar Editar - Refeição Correção Ações (PERIGOSO PARA DESATIVAR) somente upload para NS @@ -166,8 +150,6 @@ Dados Autosens Script debug Usar função Autosens - Atualizar de NS - Apagar tratamentos do futuro ACT CONF LOOP @@ -241,9 +223,6 @@ 10 horas Continuar Reconectar Bomba - Tendência 15 min - CA - Superbolus Registrar início do app no NS Saindo do app para aplicar as configurações. Que tipo de insulina está usando? @@ -432,7 +411,6 @@ Tipo da Bomba Virtual Definição da Bomba Bólus: Passo=%1$s\nBólus Estendido: [Passo=%2$s, Duração=%3$smin -%4$sh] \nBasal: Passo=%5$s\ nTBR: %6$s (por %7$s), Duração=%8$smin-%9$sh\n%10$s - Definições do Assistente Rápido Resultado cálculos incluídos no Assistente: Mostrar Configurações Configurações gerais @@ -478,8 +456,6 @@ Repor definições por defeito Erro de funcionamento do NSCliente. Pondere reiniciar o NS e NSCliente. Modo APS preferido - Total - Calc Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% @@ -512,16 +488,12 @@ Entregue esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é entregue. Útil com o algoritmo SMB. Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil - %1$s FSI: %2$.1f - %1$.0fg IC: %2$.1f - %1$d%% Seleccionado: Unidades Limpeza terminado Limpeza iniciado Deseja reiniciar o objetivo? Pode perder seu progresso. Seleccione as unidades em que deseja exibir os valores - Criar novo perfil local a partir deste perfil? Valor mais baixo da área de intervalo (apenas exibição) Valor mais alto da área de intervalo (apenas exibição) Entrada % inválida @@ -571,7 +543,6 @@ Disparar alarme quando for a hora de comer Hora de comer!\nAbra o assistente de bolus e faça o cálculo novamente. Ativar lembrete de bolus - Purgar/Preencher Perfis, bolus, carboidratos, basais temporários são enviados para NS Receber taxa basal temporária (TBT) e bolus estendido (e-bolus ou BE) Aceitar taxa basal temporária (TBT) e bolus estendido (BE) informados por outra instância @@ -610,14 +581,7 @@ CA desconhecido! Leitura de Glicemia faltando ou reinício recente do app? CA: %1$.0fg %2$.2fU Tendência 15min: %1$.2fU - Exibir registros invalidados / removidos - Ocultar registros invalidados / removidos - Atualizar do NS (Nightscout) - Nenhum registro disponível - Exibir loop Ordenar - Exibir registros do loop - Ocultar registros do loop Status do loop abrir configurações definir alarme temporizador de carboidrato diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 112ec38a4e..85bee3aab5 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -31,19 +31,6 @@ Descarrega dados Glicose do Nightscout Receber valores Glicose do xDrip+. Guarda todos os tratamentos que foram feitos - Insulina: - Hidratos: - IA: - IA Total: - Atividade Total da IA: - Dur: - Rácio: - Ins: - IA: - Total da IA: - AT - Corr - Bólus - IA Executar agora BOMBA VIRTUAL Última execução @@ -79,7 +66,6 @@ Plugin está desativado Violação das restrições Aceitar nova basal temporária: - Tratamento Altere o seu input! Fonte da Glicose xDrip+ @@ -90,7 +76,6 @@ Disponível nova sugestão Sugestão de Hidratos Versão sem suporte do Nightscout - Basal IA Hora dos Hidratos Perfil Basal Temporária @@ -137,7 +122,6 @@ Válido: Adicionar Editar - Refeição Corr Acções (PERIGOSO DESACTIVAR) Envio NS apenas @@ -165,8 +149,6 @@ Dados Autosens Script debug Utilizar função Autosens - Atualizar a partir do NS - Apagar tratamentos do futuro ACÇ CONF LOOP @@ -239,9 +221,6 @@ 10 horas Retomar Re-ligar a Bomba - Tendência 15 min - HCA - Superbólus Registar inicio da app no NS A sair da aplicação para aplicar as definições. Qual o tipo de insulina que está a utilizar? @@ -456,7 +435,6 @@ Tipo da Bomba Virtual Definição da Bomba Bólus: Passo=%1$s\nBólus Prolongado: [Passo=%2$s, Duração=%3$smin -%4$sh] \nBasal: Passo=%5$s\ nDBT: %6$s (por %7$s), Duração=%8$smin-%9$sh\n%10$s - Definições do Assistente Rápido Resultado cálculos incluídos no Assistente: Definições Ecrã Definições Gerais @@ -506,8 +484,6 @@ Repor definições por defeito Erro de funcionamento do ClienteNS. Pondere reiniciar o NS e ClienteNS. Modo APS preferido - Total - Calc Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança para uma nova basal temporária for superior a este valor em %. O valor padrão é 20% @@ -540,17 +516,12 @@ Administrar esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é administada. Útil com o algoritmo SMB. Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil - %1$s FSI: %2$.1f - %1$.0fg IHC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Seleccionado: Unidades Limpar terminado Limpar iniciado Deseja reiniciar o objectivo? Pode perder seu progresso. Seleccione as unidades em que deseja exibir os valores - Criar novo perfil local a partir deste perfil? Valor mais baixo da área de intervalo (apenas exibição) Valor mais alto da área de intervalo (apenas exibição) Entrada % inválida @@ -604,7 +575,6 @@ Menu do Gráfico Limpar filtros Cânula - Entrada de Utilizador Utilize valores da sua maior refeição que normalmente come\n Esta identificação será anexada aos relatórios de erro para que possamos contatá-lo em casos urgentes. É opcional. Endereço de email @@ -612,7 +582,6 @@ Opcionalmente pode fornecer um endereço de e-mail se quiser ser notificado sobre os erros da app. Este não é um serviço automatizado. Será contactado por desenvolvedores em situações perigosas. Sincronização completa Sincronização completa? Pode levar muitas horas até terminar e não irá ver dados novos no NS. - Purgar Sincronização Perfil, bolus, hidratos de carbono e basais temporárias são enviados para o NS Enviar dados para o NS diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 2e8d505fd0..e7f9e50cf2 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -31,19 +31,6 @@ Descarcă datele despre glicemii din Nightscout Primește valorile glicemiei din xDrip+. Salvează toate tratamentele făcute - Insulină: - Carbohidrați: - IOB: - IOB total: - Activitate total IOB: - Durată: - Raport: - Ins: - IOB: - IOB totală: - TT - Corecție - IOB bolus Execută POMPĂ VIRTUALĂ Ultima execuție @@ -79,7 +66,6 @@ Modul inactiv Încălcare a unei limite Acceptă noua bazală temporară: - Tratament Schimbați ceea ce ați introdus! Sursă glicemie xDrip+ @@ -90,7 +76,6 @@ O nouă sugestie este disponibilă Sugestie carbohidrați Versiune incompatibilă de Nightscout - IOB bazală Ora carbohidrați Profil Bazală temporară @@ -137,7 +122,6 @@ Valabil: Adaugă Editează - Masă Corecție Acțiuni (E PERICULOS SĂ DEZACTIVEZI) Doar încărcare în NS @@ -165,8 +149,6 @@ Date Autosens Depanare script Folosește opțiunea de autosensibilitate - Actualizează din NS - Ștergerea tratamentelor înregistrate în viitor ACT CONF BUCL @@ -239,9 +221,6 @@ 10 ore Restabilește Reconectaţi pompa - Tendință 15min - COB - Superbolus Înregistrează pornirea aplicației în NS Se iese din aplicație în vederea aplicării setărilor. Ce tip de insulină folosiți? @@ -456,7 +435,6 @@ Tipul pompei virtuale Definirea pompei Bolus: Pas=%1$s\nBolus Extins: [Pas=%2$s, Durată=%3$smin-%4$sh]\nBazală: Pas=%5$s\nRBT: %6$s (cu %7$s), Durată=%8$smin-%9$sh\n%10$s - Asistent setări Calcule incluse în rezultatul asistentului: Setări afișare Setări generale @@ -506,8 +484,6 @@ Resetare la setările implicite Funcționare incorectă a NSClient. Aveți în vedere un restart al NS și al NSClient. Modul APS preferat - Total - Calc Trimite înregistrările zilei de astăzi către dezvoltatori, împreună cu timpul curent. Situație neașteptată. Cerere de schimbare minimală [%] Bucla deschisă va afișa o nouă cerere de schimbare doar dacă nou valoare este mai mare cu %. Valoarea implicită este 20% @@ -540,17 +516,12 @@ Livrați doar partea aceasta din rezultatul sugerat de wizard [%] Wizard bolus face un calcul, dar numai o parte din insulina calculată este și livrată. Este mai eficient când se folosește cu algoritmul SMB. Se mărește valoarea bazalei maxime deoarece setarea este mai joasă decât bazala maximă din profil - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Selectat: Unități Șterge starea \"Terminat\" Șterge starea \"Început\" Doriți să reîncepeți obiectivul? Vă puteți pierde progresul. Selectați unitățile în care doriți să afișați valorile - Creați un profil nou din acest profil? Valoarea inferioară a intervalului țintă (doar afișare) Valoarea superioară a intervalului țintă (doar afișare) Intrare % invalidă @@ -604,7 +575,6 @@ Meniu diagramă Șterge filtru Canula - Înregistrare utilizator Folosește valorile corespunzătoarea celor mai mari mese pe care le ai de obicei\n Această identificare va fi atașată rapoartelor de eroare pentru a vă putea contacta în cazuri urgente. Este opționala. Adresă de e-mail @@ -612,7 +582,6 @@ Puteți furniza o adresă de e-mail opțională dacă doriți să fiți notificat despre erorile aplicației. Acesta nu este un serviciu automat. Veți fi contactat de dezvoltatori în situații periculoase. Sincronizare completă Sincronizare completă? Poate dura multe ore şi până la final nu veţi vedea date noi în NS. - Amorsare Sincronizare Profilurile, bolusurile, carbohidrații, bazalele temporare sunt încărcate în NS Încarcă date în NS @@ -639,7 +608,6 @@ Identificarea nu este setată în modul dezvoltator Nu este disponibil - Sigur vrei să elimini %1$d element(e) Sortează Autentificare diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 41348627fe..81c89d669b 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -34,19 +34,6 @@ Получать данные гликемии от xDrip+. Сохраняет все выполненные назначения Мониторить и контролировать AAPS при помощи часов WearOS. - инсулин: - углеводы: - IOB: активн инс - Общий IOB: - Общая активность IOB: - длит: - соотношение: - инсулин: - IOB: активный инсулин - общий IOB - TT - коррекция - болюс IOB выполнить сейчас ВИРТУАЛЬНАЯ ПОМПА последнее выполненное @@ -85,7 +72,6 @@ модуль не активен ограничение нарушено принять новый врем базал: - болюс измените введенные данные источник СК Откуда должен получать данные AAPS? @@ -97,7 +83,6 @@ есть новое предложение Предложены углеводы Неподдерживаемая версия Nightscout - базал IOB Подождать до еды профиль ВремБазал @@ -144,7 +129,6 @@ использовать до: добавить редактировать - болюс на еду коррекция действия (ОТКЛЮЧЕНИЕ ОПАСНО) Только загрузка в NS @@ -173,8 +157,6 @@ данные autosens отладка скрипта Пользоваться функцией Autosens - Обновить из NS - Удалить назначения из будущего ДЕЙСТВ КОНФ ЗЦ @@ -248,9 +230,6 @@ 10 часов возобновить Возобновить соединение с помпой - 15 мин тренд - активн углеводы - суперболюс Передать в NS запись о начале работы приложения выход из приложения для применения настроек Какой тип инсулина вы используете? @@ -475,7 +454,6 @@ Тип виртуальной помпы Определение помпы Болюс: Шаг =%1$s\n Пролонгированный Болюс: [Шаг =%2$s, Продолжительность =%3$sмин -%4$sh] \nБазал: Шаг =%5$s\n ВБС: %6$s (на %7$s), Продолжительность =%8$sмин -%9$sh\n%10$s - Параметры мастера настройки смарт-часов wear Расчеты, включены в результат мастера настройки смарт-часов wear: Параметры экрана Общие настройки wear @@ -511,9 +489,6 @@ При обнаружении сопротивляемости целевой уровень гликемии понижается Чувствительность поднимает цель При обнаружении чувствительности целевой уровень глюкозы повышается - Удалить начатые записи AAPS - Показать недействительные - Скрыть недействительные Удалить элементы Сортировать элементы Найдены сохраненные параметры @@ -536,8 +511,6 @@ Восстановить значения по умолчанию Некорректная работа NSClient. Возможно следует перезапустить NS и NSClient. Предпочитаемый режим APS - Итого - Кальк Отправьте файлы сегодняшнего лога разработчикам наряду с этим. Непредвиденная ситуация. Минимальный запрос на изменения [%] Алгоритм ИПЖ выдаст всплывающее окно с запросом на новые изменения, только если изменение больше, чем это значение в %. Значение по умолчанию — 20% @@ -571,17 +544,12 @@ Подать эту часть рекомендации мастера болюса [%] Мастер болюса выполняет расчет, но подана только эта часть рекомендуемого инсулина. Полезно с алгоритмом SMB. Повышаю максимальное значение базы т. к. оно меньше, чем максимальное значение в профиле - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Выбрано: Единицы Очистить завершенные Очистить начатые Хотите сбросить начатую цель? Можете потерять уже достигнутое. Выберите единицы, в которых вы хотите отображать значения - Создать новый локальный профиль из этого? Меньшее значение диапазона целевых значений (только для дисплея) Большее значение диапазона целевых значений (только для дисплея) Некорректный ввод % @@ -637,7 +605,6 @@ Меню графика Очистить фильтр Катетер помпы - Запись пользователя Введите максимальные значения вашего приема пищи \n Эта идентификация будет прикреплена к отчетам о сбоях, чтобы мы могли связаться с вами в экстренных случаях. Это опция. Адрес электронной почты @@ -645,7 +612,6 @@ Вы можете указать дополнительно адрес электронной почты, если хотите получать уведомления о сбоях приложения; что является не автоматизированной рассылкой, а способом связи с разработчиками в опасных ситуациях. Полная синхронизация Полная синхронизация? Это может занять много часов и до завершения вы не увидите новые данные в NS. - Заполнение инфузионной системы Синхронизация Профили, болюсы, углеводы, временные базалы закачиваются в NS Передать данные в NS @@ -719,22 +685,9 @@ Неизвестная команда: Процент По умолчанию приложения - Показать недействительные / удаленные записи - Скрыть недействительные / удаленные записи - Обновить из Nightscout Удалить выбранные элементы - Выберите для удаления - Изменение профиля - Временные цели - Углеводы и болюс - Вы уверены, что хотите удалить %1$d элементов - Нет доступных записей - Скрыть цикл - Показать цикл %1$d выбрано Сортировать - Показать записи цикла - Скрыть записи цикла Статус цикла Масштаб графика Профиль 1 diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index 014414419d..86f7f66751 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -34,19 +34,6 @@ Prijímať hodnoty glykémií z xDrip+. Ukladá všetky ošetrenia do databázy Zobrazovanie stavu a riadenie AndroidAPS z hodiniek s WearOS. - Inzulín: - Sacharidy: - IOB: - Celkový IOB: - Celková aktivita IOB: - Trv: - Pomer: - Inz: - IOB: - Celkový IOB: - TT - Korekcia - Bolusový IOB Spustiť teraz Virtuálna pumpa Posledné spustenie @@ -85,7 +72,6 @@ Modul je deaktivovaný Mimo povolený rozsah Povoliť nový dočasný bazál: - Bolus Zmeňte zadanie! Zdroj glykémie Odkiaľ má AndroidAPS získavať glykémie? @@ -97,7 +83,6 @@ Dostupné nové doporučenie Návrh sacharidov Nepodporovaná verzia Nighscoutu - Bazálny IOB Čas jedla Profil Dočasný bazál @@ -144,7 +129,6 @@ Platnosť: Pridať Upraviť - Bolus Korekcia Akcie (DEAKTIVOVANIE NEBEZPEČNÉ) Iba odosielanie do NS @@ -173,8 +157,6 @@ Dáta detekcie citlivosti Ladenie skriptu Použi automatickú detekciu citlivosti - Aktualizovať z NS - Zmazať ošetrenia v budúcnosti AKCIA KONF OKRUH @@ -248,9 +230,6 @@ 10 hodiny Pokračovať Znovu pripojiť pumpu - 15min trend - COB - Superbolus Zaznamenávať spustenie aplikácie do NS Zatváram aplikáciu, aby sa aplikovali nové nastavenia. Aký druh inzulínu používate? @@ -475,7 +454,6 @@ Typ virtuálnej pumpy Definícia pumpy Bolus: Krok =%1$s\nPredl. bolus: [Krok=%2$s, Dĺžka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Dĺžka=%8$smin-%9$sh\n%10$s - Nastavenie wizardu Kalkulácia použitá vo výsledku wizardu: Nastavenie zobrazenia Všeobecné nastavenia @@ -511,9 +489,6 @@ Ak je zistená rezistancia, znížiť cieľovú hladinu glykémie Citlivosť zvyšuje cieľ Ak je zistená vyššia citlivosť, zvýši cieľovú hladinu glykémie - Odstrániť všetky záznamy AAPS spustený - Zobraziť neplatné - Skryť zneplatnené Odstrániť položky Zoradiť položky Nájdené uložené nastavenia @@ -536,8 +511,6 @@ Obnoviť predvolené Chyba NSClienta. Zvážte reštart NS a NSClienta. Preferovaný režim APS - Spolu - Kalk Odošlite dnešné súbory protokolov vývojárom spolu s týmto časom. Neočakávaná situácia. Minimálna požiadavka na zmenu [%] Otvorený okruh vytvorí novú žiadosť o zmenu iba v prípade, že zmena je väčšia ako táto hodnota v %. Štandardná hodnota je 20% @@ -571,17 +544,12 @@ Podaj túto časť z výsledku kalkulácie [%] Bolusová kalkulačka urobí výpočet, ale iba táto časť vypočítaného inzulínu je podaná. Pomáha pri SMB algoritme. Zvýšenie maximálnej hodnoty bazálu, pretože nastavenie je nižšie, než je vaša maximálna hodnota bazálu v profile - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Vybrané: Jednotky Vymazanie dokončené Vymazanie začaté Chcete resetovať začiatok cieľa? Môžete prísť o svoj pokrok. Vyberte jednotky, v ktorých chcete zobraziť hodnoty - Vytvoriť z tohoto profilu nový lokálny profil? Spodná hodnota v oblasti cieľového rozsahu (iba zobrazovanie) Horná hodnota v oblasti cieľového rozsahu (iba zobrazovanie) Neplatný vstup % @@ -638,7 +606,6 @@ Grafové menu Vyčistiť filter Kanyla - Vstup používateľa Použite hodnoty pre najväčšie jedlo, aké obvykle jete\n Táto identifikácia bude priložená ku správam o zlyhaniach, aby sme Vás mohli v naliehavých prípadoch kontaktovať. Je to voliteľné. Emailová adresa @@ -646,7 +613,6 @@ Pokiaľ chcete byť upozornení na zlyhanie aplikácie, môžete zadať voliteľne e-mailovú adresu. Toto nie je automatizovaná služba. Vývojári vás budú kontaktovať v nebezpečných situáciách. Úplná synchronizácia Úplná synchronizácia? Môže to trvať niekoľko hodín a kým skončí, neuvidíte nové dáta v NS. - Plnenie Synchronizácia Profily, bolusy, sacharidy, dočasné bazály sú nahrávané do NS Nahrávať dáta do NS @@ -720,22 +686,9 @@ Neznámy príkaz k akcii: Percentuálny podiel Predvolené aplikáciou - Zobraziť zneplatnené / odstránené záznamy - Skryť zneplatnené / odstránené záznamy - Obnoviť z Nightscoutu Odstrániť vybrané položky - Vyberte pre odstránenie - Zmeny profilu - Dočasné ciele - Sacharidy a bolusy - Naozaj chcete odstrániť %1$d položku(y) - Nie sú k dispozícii žiadne záznamy - Skryť uzavretý okruh - Zobraziť uzavretý okruh Vybrané: %1$d Zoradiť - Zobraziť záznamy uzavretého okruhu - Skryť záznamy uzavretého okruhu Stav uzavretého okruhu Mierka grafu Profil 1 diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 345eb11401..bdc1c996a4 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -33,19 +33,6 @@ Eversense-appen. Ladda ner BG-data från Nightscout Ta emot BG-data från xDrip+. Spara alla behandlingar som gjorts - Insulin: - KH: - IOB: - IOB fr bolus: - Insulinaktivitet (5m): - Dur: - Tot: - Ins: - IOB: - IOB fr basal: - TT - Korrektion - Bolus IOB Utför nu Virtuell pump Senaste beräkning @@ -81,7 +68,6 @@ Eversense-appen. Insticksprogram inaktiverat Begränsning nådd Acceptera ny temp basal: - Behandling Ändra inmatning BG-källa xDrip+ @@ -92,7 +78,6 @@ Eversense-appen. Ny rekommendation tillgänglig KH-förslag Versionen av Nightscout stöds inte - IOB från basal KH-tid Profil Temp basal @@ -139,7 +124,6 @@ Eversense-appen. Giltig: Lägg till Ändra - Måltid Korrektion Åtgärder (INAKTIVERAD KAN MEDFÖRA FARA) NS-Endast uppladdning @@ -168,8 +152,6 @@ Eversense-appen. Autosensdata Debug Använd autosens - Uppdatera från NS - Ta bort behandlingar från framtiden Act Konf Loop @@ -243,9 +225,6 @@ Eversense-appen. 10 tim Återuppta Återanslut Pump - 15 min trend - COB - Superbolus Rapportera appstart till Nightscout Avslutar appen för att inställningarna ska läsas in. Vilken typ av insulin använder du? @@ -461,7 +440,6 @@ Eversense-appen. Typ av virtuell pump Pumpdefinition Bolus: Steg =%1$s\nFörlängd bolus: [Steg=%2$s, duration =%3$smin -%4$sh] \nBasal: Steg=%5$s\nTempbasal: %6$s (av %7$s), duration =%8$smin -%9$sh\n%10$s - Kalkylatorinställningar Kalkyler inkluderade i resultatet Visningsinställningar Generella inställningar @@ -511,8 +489,6 @@ Eversense-appen. Återställ standardinställningar Fel på NSClient. Överväg att starta om NSClient och Nightscout-webbplatsen. Föredraget APS-läge - Total - Kalkyl Skicka dagens loggfiler till utvecklarna tillsammans med denna datumstämpel. Oväntad situation. Minsta ändring som ger notifiering [%] I Open Loop-läge kommer AAPS bara att be om ändring ifall förändringen är större än detta värde. Standardvärdet är 20% @@ -545,17 +521,12 @@ Eversense-appen. Direkt bolus [%] Bolusguiden utför beräkningar, men endast denna del av beräknat insulin levereras. Användbar med SMB-algoritm. Ökar maximalt basaldos eftersom inställningen är lägre än din maximala basal i profilen - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% Valt: Enheter Rensa avslutade Rensa påbörjade Vill du starta om målet? Du kan förlora de steg du gjort hittills. Välj enheter du vill visa värden i - Skapa kopia av denna profil? Nedre värdet för målområde (endast visning) Övre värdet för målområde (endast visning) Ogiltig %-inmatning @@ -609,7 +580,6 @@ Eversense-appen. Diagrammeny Rensa filter Kanyl - Angivet av användare Använd värden för den största måltiden som du vanligen äter\n Den här mejladressen kommer att bifogas till kraschrapporter så att vi kan kontakta dig i brådskande fall. Det är frivilligt. E-postadress @@ -617,7 +587,6 @@ Eversense-appen. Du kan ange valfri e-postadress om du vill få meddelanden om appkrascher. Det här är ingen automatiserad tjänst. Du kommer att kontaktas av utvecklare i farliga situationer. Full synkronisering Full synkronisering? Det kan ta flera timmar du kommer inte att se nya data i NS förrän den är klar. - Förfyllning Synkronisering Profiler, bolus, kolhydrater och temp basaler laddas upp till NS Ladda upp data till NS diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index b939d84e1f..78c38f61d0 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -34,19 +34,6 @@ XDrip+\'ten KŞ değerlerini alır. Yapılan tüm tedavileri kaydeder WearOS saatinizi kullanarak AAPS\'yi izleyin ve kontrol edin. - İnsülin: - Karbonhidrat: - AİNS: - Toplam AİNS: - Toplam AİNS etkinliği: - Süre: - Oran: - İns: - AİNS: - Toplam AİNS: - GH - Düzeltme - Bolus AİNS Şimdi Çalıştır SANAL POMPA Son Çalıştırma @@ -85,7 +72,6 @@ Eklenti devre dışı Kısıtlamalar ihlali Yeni geçici bazal oranını kabul et: - Tedavi Girişinizi değiştirin! KŞ kaynağı AAPS verilerini nereden alsın? @@ -97,7 +83,6 @@ Yeni öneri mevcut Karbonhidrat Önerisi Nightscout\'un desteklenmeyen sürümü - Bazal AİNS Karb. zamanı Profil Geçici Bazal @@ -144,7 +129,6 @@ Geçerli: Ekle Düzenle - Ögün Düzeltme Eylemler (DEVRE DIŞI BIRAKILMASI TEHLİKELİ) Yalnızca NS yüklemelerinde @@ -173,8 +157,6 @@ Otoduyarlılık verileri Skriptte hata ayıkla Otoduyarlılık özelliğini kullan - NS\'tan yenile - İleri tarihli tedavileri sil EYLEM KONF DÖNGÜ @@ -249,9 +231,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d 10 Saat Devam et Pompayı tekrar bağla - 15 dk eğilim - AKRB - Süperbolus NS\'a uygulama başlangıcını kaydet Ayarları uygulamak için uygulamadan çıkılıyor. Hangi tür insülin kullanıyorsunuz? @@ -476,7 +455,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Sanal pompa tipi Pompa tanımı Bolus: Adım=%1$s\nYayma Bolus: [Adım=%2$s, Süre=%3$sdk-%4$ssa]\nBazal: Adım=%5$s\nTBR: %6$s (ile %7$s), Süre=%8$sdk-%9$ssa\n%10$s - Kurulum Sihirbazı Ayarları Sihirbaz sonucuna dahil edilen hesaplamalar: Görüntü Ayarları Genel Ayarlar @@ -512,9 +490,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Direnç tespit edildiğinde KŞ hedefini düşürün Duyarlılık hedefi yükseltir Hassasiyet tespit edildiğinde, KŞ hedefini yükseltin - AAPS tarafından başlatılmış girdileri kaldırın - Geçersiz olanları göster - Geçersiz olanları gizle Öğeleri kaldır Öğeleri sırala Saklanan ayarlar bulundu @@ -537,8 +512,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Varsayılanlara sıfırla NSClient arızası. NS ve NSClient yeniden başlatmayı düşünün. Tercih edilen APS modu - Toplam - Hesap Bu günün kayıt dosyalarını geliştiricilere gönderin. Beklenmedik bir durum. Minimum istek değişikliği [%] Açık Döngü, yalnızca değişiklik % cinsinden bu değerden büyükse yeni değişiklik isteğini açar. Varsayılan değer %20\'dir @@ -572,17 +545,12 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Bolus sihirbazı sonucunun bu kadarını ilet [%] Bolus sihirbazı hesaplamayı gerçekleştirir ancak hesaplanan insülinin yalnızca bu kısmı iletilir. SMB algoritması ile kullanışlıdır. Profilinizdeki maksimum bazal değeriniz düşük olduğu için maksimum bazal değeri artırma - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg Kİ: %2$.1f - %1$d%% Seçildi: Birim Komple tamamlandı Yeniden Başla Görevleri sıfırlamak istiyor musunuz? Tüm yaptıklarınızı kaybedeceksiniz. Değerleri görüntülemek istediğiniz birimleri seçin - Bu profilden yeni profil oluşturulsun mu? Aralıktan daha düşük değer (sadece görüntüle) Aralıktan daha yüksek değer (Sadece görüntüle) Geçersiz % giriş @@ -639,7 +607,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Grafik menüsü Filtreyi temizle Kanül - Kullanıcı girişi Genellikle yediğiniz en büyük yiyeceğin değerlerini kullanın\n Bu kimlik acil durumlarda sizinle iletişim kurabilmemiz için kilitlenme raporlarına eklenecektir. İsteğe bağlıdır. E-posta adresi @@ -647,7 +614,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Uygulama çökmeleri hakkında bilgilendirilmek istiyorsanız isteğe bağlı e-posta adresi sağlayabilirsiniz. Bu otomatik bir hizmet değildir. Tehlikeli durumlarda geliştiriciler sizinle iletişime geçecektir. Tam senkronizasyon Tam senkronizasyon? Birkaç saat sürebilir ve bitene kadar NS\'ta yeni veriler göremeyeceksiniz. - Doldur Senkronizasyon Profiller, boluslar, karbonhidratlar, geçici bazallar NS\'a yüklenir Verileri NS\'a yükleyin @@ -721,22 +687,9 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Bilinmeyen eylem komutu: Yüzde Uygulama varsayılanı - Geçersiz kılınan / kaldırılan kayıtları göster - Geçersiz kılınan / kaldırılan kayıtları gizle - Nightscout\'tan Yenile Seçili nesneleri kaldır - Silmek için seçin - Profil değişiklikleri - Geçici Hedefler - Karbonhidrat ve bolus - %1$d öğeyi kaldırmak istediğinizden emin misiniz - Kayıt mevcut değil - Döngüyü gizle - Döngüyü göster %1$d seçildi Sırala - Döngü kayıtlarını göster - Döngü kayıtlarını gizle Döngü durumu Grafik ölçeği Profil 1 diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 745f4f6812..5bba210bbd 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -32,19 +32,6 @@ 从 Nightscout 下载 血糖数据 从 xDrip+ 接收血糖值。 保存所做的所有治疗 - 胰岛素: - 碳水化合物: - IOB活性胰岛素: - 总 IOB: - 总IOB activity(活动): - Dur: - 比率: - Ins: - IOB活性胰岛素: - 总 IOB: - 临时目标 - 矫正值 - 大剂量活性胰岛素IOB 现在运行 虚拟泵 上一次运行 @@ -80,7 +67,6 @@ 插件已禁用 违反约束条件 接受新的临时基础率 - 治疗 更改您的输入! 血糖来源 xDrip+ @@ -91,7 +77,6 @@ 新的建议可用 碳水建议 不支持的 Nightscout 版本 - 基础 IOB 碳水时间 配置文件 临时基础 @@ -138,7 +123,6 @@ 有效: 添加 编辑 - 饮食 矫正 手动操作 (禁用很危险) NS仅上传 @@ -167,8 +151,6 @@ Autosens 数据 脚本调试 使用Autosens功能 - 从NS刷新 - 删除未来的治疗项 操作 配置 闭环 @@ -242,9 +224,6 @@ 10 小时 恢复 重新连接泵 - 15分钟 趋势 - 碳水 - 超级大剂量Superbolus 记录app启动事件到NS服务器 正在退出应用程序以应用设置。 你使用哪种类型的胰岛素? @@ -462,7 +441,6 @@ 虚拟泵类型 泵定义 大剂量: Step=%1$s\n扩展大剂量: [Step=%2$s, 持续时间=%3$smin-%4$sh]\n基础率: Step=%5$s\nTBR临时基础率: %6$s (by %7$s), 持续时间=%8$smin-%9$sh\n%10$s - 向导设置 包含在向导中的计算结果: 显示设置 常规设置 @@ -495,8 +473,6 @@ 当检测到胰岛素抵抗时,降低血糖的目标值。 敏感时提高目标 当检测到胰岛素敏感时,提高血糖的目标值。 - 显示无效项 - 隐藏失效项 删除项目 项目排序 发现曾经保存过的设置 @@ -516,8 +492,6 @@ 重置为默认值 NSClient故障。 考虑Nightscout和NSClient重启。 首选的APS模式 - 总计 - 计算 发送包括当前时间的今日的日志文件给开发者。描述一下意外情况 最小请求更改[%] 开环状态下,算法建议的基础率调整百分比大于此数值时,才会弹出更改建议。默认值为20% @@ -550,17 +524,12 @@ 输注大剂量向导结果的一部分[%] 大剂量向导执行计算,但只有这部分计算结果的胰岛素被输注。适用于SMB算法。 增加最大基础率,因为设置参数低于你配置文件中的最大基础率 - %1$s ISF: %2$.1f - %1$.0fg IC: %2$.1f - %1$.1fg IC: %2$.1f - %1$d%% 已选择: 单位 清除已完成 清除已启动 你想要重置已启动的目标? 你会失去已有的进度。 选择你想要的血糖显示单位。 - 是否复制这个配置文件的参数来创新一个新的配置文件? 血糖范围区域的下限值(仅显示,不影响算法) 血糖范围区域的上限值(仅显示,不影响算法) 输入的百分比无效 @@ -615,7 +584,6 @@ 图表菜单 清除筛选 输注导管 - 用户条目 \n选择您三餐的最大碳水值和最大胰岛素剂量\n 此项为选填信息,会附在反馈的崩溃报告中,以便我们在紧急情况下与您联系。 电子邮件地址 @@ -623,7 +591,6 @@ 如果你想得到应用程序重大缺陷的通知,你可以选择提供电子邮件地址、Facebook或Discord等信息。这不是一项自动化的服务。在可能存在危险时,开发人员才会联系您。 完全同步 完全同步数据? 这可能需要很长时间,在完成以前你将无法在NS中看到新数据。 - 充盈 同步 将用户配置,大剂量,碳水化合物,临时基础率的数据上传到NS网站 上传数据到NS网站 @@ -696,22 +663,9 @@ 未知操作命令: 百分比 应用程序预设 - 显示无效/已删除的记录 - 隐藏无效/已删除的记录 - 从 Nightscout 刷新 删除选中项? - 选择要删除的 - 配置文件更改 - 临时目标 - 碳水与大剂量 - 你确定要删除 %1$d 吗? - 当前暂无记录 - 隐藏闭环 - 显示闭环 已选中 %1$d 排序 - 显示闭环记录 - 隐藏闭环记录 闭环状态 图形缩放 配置文件 1 diff --git a/automation/src/main/res/values-nl-rNL/strings.xml b/automation/src/main/res/values-nl-rNL/strings.xml index 50803c38f9..a150d01cfa 100644 --- a/automation/src/main/res/values-nl-rNL/strings.xml +++ b/automation/src/main/res/values-nl-rNL/strings.xml @@ -121,4 +121,5 @@ Automatisering uitvoeren Regel toevoegen Verwijderen/sorteren + Stop met verwerken diff --git a/core/src/main/res/values-bg-rBG/strings.xml b/core/src/main/res/values-bg-rBG/strings.xml index 3a65f6b9a6..5aa99843f6 100644 --- a/core/src/main/res/values-bg-rBG/strings.xml +++ b/core/src/main/res/values-bg-rBG/strings.xml @@ -247,16 +247,6 @@ %1$dч:%2$dм Изключи за 5 минути - Формат на файла - Създаден на - Версия на AAPS - вариант - Име на пациента - Модел на телефона: - Криптиране - Нов формат - Нов формат (незащитен) - Непознат формат от преди %1$s от %1$s от преди по-малко от час diff --git a/core/src/main/res/values-ca-rES/strings.xml b/core/src/main/res/values-ca-rES/strings.xml index 33f85ff36b..1ef5270a5a 100644 --- a/core/src/main/res/values-ca-rES/strings.xml +++ b/core/src/main/res/values-ca-rES/strings.xml @@ -41,15 +41,6 @@ - Creat: - Versió d\'AAPS - Variant de compilació - Exportant nom del pacient del dispositiu - Exportant model del dispositiu - Encriptació d\'arxius - Format nou d\'encriptació - Nou format de debug (no encriptat) - Format d\'exportació desconegut Selecciona l\'arxiu a importar La configuració va ser creada amb una altra versió d\'AAPS (%1$s) i ara teniu la: %2$s.\n\nAlguns dels valors poden faltar o no ser vàlids - si us plau, comproveu la configuració després d\'importar. La configuració va ser creada en un altre dispositiu. No hi ha problema si esteu important des d\'un telèfon més antic/diferent però comproveu que la configuració importada és correcta! diff --git a/core/src/main/res/values-cs-rCZ/strings.xml b/core/src/main/res/values-cs-rCZ/strings.xml index 5da070c8d0..06388d2a06 100644 --- a/core/src/main/res/values-cs-rCZ/strings.xml +++ b/core/src/main/res/values-cs-rCZ/strings.xml @@ -276,16 +276,6 @@ %1$dh %2$dm Ztlumit na 5 minut - Formát souboru - Vytvořeno - Verze AAPS - Varianta sestavení - Jméno pacienta použité při exportu - Model zaříení použitý při exportu - Šifrování souboru - Nový zašifrovaný formát - Nový formát pro ladění (nešifrovaný) - Neznámý formát souboru exportováno před %1$s exportováno v %1$s exportováno před méně než hodinou diff --git a/core/src/main/res/values-da-rDK/strings.xml b/core/src/main/res/values-da-rDK/strings.xml index 5f20f52a94..f4c15c96cb 100644 --- a/core/src/main/res/values-da-rDK/strings.xml +++ b/core/src/main/res/values-da-rDK/strings.xml @@ -264,16 +264,6 @@ %1$dt %2$dm Lydløs i 5 minutter - Filformat - Oprettet den - AAPS Version - Build Variant - Eksporterer enhedens patientnavn - Eksporterer enhedsmodel - Filkryptering - Nyt krypteret format - Nyt debug format (ukrypteret) - Ukendt eksportformat eksporteret %1$s siden eksporteret ved %1$s eksporteret for mindre end time siden diff --git a/core/src/main/res/values-de-rDE/strings.xml b/core/src/main/res/values-de-rDE/strings.xml index cfa9dfc62b..e5c164936e 100644 --- a/core/src/main/res/values-de-rDE/strings.xml +++ b/core/src/main/res/values-de-rDE/strings.xml @@ -264,16 +264,6 @@ %1$dh %2$dm Stumm schalten für 5 Minuten - Dateiformat - Erstellt am - AAPS-Version - Build-Variante - Patientenname des exportierenden Geräts - Modell des exportierenden Geräts - Dateiverschlüsselung - Neues verschlüsseltes Format - Neues Debugformat (unverschlüsselt) - Unbekanntes Export-Format Vor %1$s Tagen exportiert am %1$s exportiert vor weniger als einer Stunde exportiert diff --git a/core/src/main/res/values-es-rES/strings.xml b/core/src/main/res/values-es-rES/strings.xml index 871cccd293..295a6d12b7 100644 --- a/core/src/main/res/values-es-rES/strings.xml +++ b/core/src/main/res/values-es-rES/strings.xml @@ -114,18 +114,41 @@ Añadir nuevo Añadir nuevo arriba Los datos proceden de una bomba diferente. Cambia el controlador de la bomba para resetear su estado. + BG + Calibración Ejecutar alarma en %1$d min El bolo reportó un error. Comprueba manualmente la cantidad real de insulina entregada + Recordatorio de bolo + Duración g Bomba parada Sin configurar Lazo suspendido + Flecha de tendencia + Auto sens + n/a + req + bajando rápido + bajando + bajando despacio + estable + subiendo lentamente + subiendo + subiendo rápido + ninguno + desconocido + alto + en rango + bajo + Promedio + TIR + Total TDD ]]> ELIMINAR ACTIVAR PERFIL reestablecer - Falta Cambio de Perfil. Haga un Cambio de Perfil o presione \"Activar perfil\" en PerfilLocal. - Perfil + Falta el Cambio de Perfil. Haga un Cambio de Perfil o presione \"Activar perfil\" en el PerfilLocal. + COB Limitando max basal rate a %1$.2f U/h debido a %2$s límite de la bomba @@ -253,16 +276,6 @@ %1$dhoras %2$dmin Silenciar por 5 minutos - Formato del archivo - Creado el - Versión de AAPS - Construir Variante - Exportar el nombre del paciente del dispositivo - Exportar modelo de dispositivo - Encriptación de archivos - Nuevo formato cifrado - Nuevo formato de depuración (sin cifrar) - Formato de exportación desconocido exportado hace %1$s exportado en %1$s exportado hace menos de una hora @@ -503,6 +516,7 @@ Se ha detectado otra ejecución de Autotune, ejecución cancelada La aplicación necesita permiso de bluetooth + Faltan permisos de SMS %1$d día %1$d días diff --git a/core/src/main/res/values-fr-rFR/strings.xml b/core/src/main/res/values-fr-rFR/strings.xml index a7b567525c..e7e5e98b64 100644 --- a/core/src/main/res/values-fr-rFR/strings.xml +++ b/core/src/main/res/values-fr-rFR/strings.xml @@ -149,6 +149,15 @@ réinitialiser ProfileSwitch manquant. S’il vous plaît faire un changement de profil ou appuyez sur « Activer le profil » dans le LocalProfile. Profil + Sélectionner pour suppression + Êtes-vous sûr de vouloir supprimer %1$d entrée(s) + Traitement + Créer un nouveau profil à partir de ce profil ? + Paramètres assistant + Delta 15 min + GA + IA Bolus + IA Basal Limiter le débit de basal max à %1$.2f U/h à cause de %2$s Limite de la pompe @@ -276,16 +285,6 @@ %1$dh%2$dm Muet pendant 5 minutes - Format de fichier - Créé le - Version d\'AAPS - Variante de Build - Export du nom du patient de l\'appareil - Export du modèle de l\'appareil - Cryptage du fichier - Nouveau format crypté - Nouveau format de débug (non crypté) - Format d\'export inconnu exporté il y a %1$s exporté à %1$s exporté il y a moins d\'une heure diff --git a/core/src/main/res/values-it-rIT/strings.xml b/core/src/main/res/values-it-rIT/strings.xml index 398c85c9d2..d19efcbefd 100644 --- a/core/src/main/res/values-it-rIT/strings.xml +++ b/core/src/main/res/values-it-rIT/strings.xml @@ -271,16 +271,6 @@ %1$dh %2$dm Muto per 5 minuti - Formato file - Creato: - Versione AAPS - Variante build - Esportazione nome dispositivo paziente - Esportazione modello dispositivo - Crittografia file - Nuovo formato crittografato - Nuovo formato di debug (non crittografato) - Formato esportazione sconosciuto esportato %1$s fa esportato: %1$s esportato meno di un\'ora fa diff --git a/core/src/main/res/values-iw-rIL/strings.xml b/core/src/main/res/values-iw-rIL/strings.xml index ab3a56cf1e..727cdd284f 100644 --- a/core/src/main/res/values-iw-rIL/strings.xml +++ b/core/src/main/res/values-iw-rIL/strings.xml @@ -244,16 +244,6 @@ %1$d ש\' %2$d דק\' השתקה ל-5 דקות - פורמט הקובץ - נוצר ב- - גרסת AAPS - גרסת בנייה - מייצא את שם מכשיר המטופל\\ת - מייצא את דגם המכשיר - הצפנת קבצים - פורמט הצפנה חדש - פורמט דיבאג חדש (בלתי מוצפן) - פורמט ייצוא לא ידוע יוצא לפני %1$s יוצא ב-%1$s יוצא לפני פחות משעה diff --git a/core/src/main/res/values-ko-rKR/strings.xml b/core/src/main/res/values-ko-rKR/strings.xml index 64f05cc43f..01c08ce12b 100644 --- a/core/src/main/res/values-ko-rKR/strings.xml +++ b/core/src/main/res/values-ko-rKR/strings.xml @@ -235,16 +235,6 @@ %1$d시 %2$d분 5분 동안 음소거 - 파일 형식 - 생성 일자 - AAPS 버전 - 다른 형식 빌드 - 장치의 환자 이름 내보내기 - 장치 모델 내보내기 - 파일 암호화 - 암호화된 새로운 형식 - 오류가 제거된 새로운 형식 (암호화되지 않음) - 알려지지 않은 내보내기 형식 %1$s 전에 내보내기 함 %1$s에 내보내기 함 내보내기 한지 1시간이 지나지 않았습니다. diff --git a/core/src/main/res/values-lt-rLT/strings.xml b/core/src/main/res/values-lt-rLT/strings.xml index 8a02fe8a0f..2317b22a6c 100644 --- a/core/src/main/res/values-lt-rLT/strings.xml +++ b/core/src/main/res/values-lt-rLT/strings.xml @@ -245,16 +245,6 @@ %1$dh %2$dm Nutildyti 5 minutėms - Failo formatas - Sukurta - AAPS versija - Versijos variantas - Eksportuojamas paciento vardas - Eksportuojamas prietaiso modelis - Failo šifravimas - Naujas šifruotas formatas - Naujas derinimo formatas (nešifruotas) - Nežinomas eksporto formatas eksportuota prieš %1$s eksportuota %1$s eksportuota mažiau nei prieš valandą diff --git a/core/src/main/res/values-nl-rNL/strings.xml b/core/src/main/res/values-nl-rNL/strings.xml index ac026009c6..23f325a72c 100644 --- a/core/src/main/res/values-nl-rNL/strings.xml +++ b/core/src/main/res/values-nl-rNL/strings.xml @@ -20,6 +20,7 @@ Verbinding verbroken Verbinding aan het verbreken Wachten op het loskoppelen + AAPS gestart %1$.1f E %1$.2f E %1$+.2f E @@ -30,6 +31,7 @@ %1$d minuten Pomp is bezig Pomp verbindingsstoring + Toegestane limiet bereikt Doelen Sluiten Even geduld a.u.b.… @@ -38,6 +40,7 @@ STOP INGEDRUKT Stop Koolhydraten + Ongeldig profiel! Geen profiel ingesteld ]]> Datum @@ -50,6 +53,7 @@ Duur van insuline activiteit Insuline - Koolhydraat ratio Insuline gevoeligheidsfactor + Basaalstand Bloedglucose doelwaarde Initialiseren... Serie nummer @@ -110,13 +114,18 @@ Voeg nieuw toe Voeg nieuw hierboven toe Data komt van een andere pomp. Wijzig de pomp driver om de pomp status te resetten. + BG + Kalibratie Start alarm over %1$d min Bolus fout geconstateerd. Controleer de daadwerkelijk toegediende hoeveelheid + Bolus herinnering + Tijdsduur g Pomp onderbreken Niet ingesteld Loop pauzeren Trendpijl + Autosens n/a nodig snel dalend @@ -131,12 +140,24 @@ hoog binnen bereik laag + Gemiddelde + TIR + TDD Totaal ]]> VERWIJDER Activeer profiel reset Profiel wissel ontbreekt. Doe aub een profiel wissel of duw op Activeer Profiel in het Lokale profiel. Profiel + Selecteer om te verwijderen + Weet je zeker dat je %1$d items wilt verwijderen + Behandeling + Nieuw profiel van dit profiel maken? + Wizard instellingen + 15min trend + COB + Bolus IOB + Basaal IOB Beperken van basaal tot max %1$.2f E/uur wegens de %2$s Pomp limiet @@ -163,6 +184,7 @@ PIN-codes komen niet overeen Basaalstanden niet ingesteld in hele uren: %1$s + Minimum basaalwaarde is vervangen door minimaal ondersteunde waarde: %1$s Basale waarde vervangen door maximale ondersteunde waarde: %1$s /E E/u @@ -243,6 +265,7 @@ Wachtend op resultaat SMB + %1$d g extra koolhydraten nodig binnen %2$d minuten Statistieken Cumulatieve TDD @@ -254,6 +277,7 @@ # Dagen Gewicht Mogelijks inaccuraat bij gebruik van bolussen om infusieset te vullen! + Data verouderd, druk op \"Vernieuwen\" Totaal basaal TBB * 2 @@ -261,16 +285,6 @@ %1$du %2$dm 5 minuten dempen - Bestandsformaat - Gemaakt op - AAPS versie - Build variant - Patiëntnaam van exporterend apparaat - Modelnaam/nr van exporterend apparaat - Bestandsversleuteling - Nieuwe versleutelde indeling - Nieuwe debug indeling (onversleuteld) - Onbekende export indeling %1$s geleden geëxporteerd geëxporteerd op %1$s minder dan een uur geleden geëxporteerd @@ -299,6 +313,7 @@ Versie %1$s is beschikbaar Versie %1$s verloopt op %2$s + Herstart je telefoon of herstart AndroidAPS vanuit de systeem instellingen a. u. b. \nanders zal AndroidAPS geen log mogelijkheid hebben (Dit is belangrijk om te controleren of de algoritmes correct werken)! M T @@ -379,6 +394,7 @@ EXPORTEER INSTELLINGEN IMPORT INSTELLINGEN RESET DATABASES + DATABASES OPSCHONEN EXPORTEER DATABASES IMPORT DATABASES OTP EXPORTEREN @@ -415,6 +431,7 @@ »%1$s« is buiten de harde limiet »%1$s« %2$.2f is buiten de harde limiet Basaal waarde + NSClient versie en AndroidAPS versie komen niet overeen. Update alsjeblieft. BOLUS %1$.2f E KOOLHYDRATEN %1$d gr @@ -502,8 +519,13 @@ Profiel %1$s bijwerken met Autotune Profiel? Profiel %1$s terugzetten met invoerprofiel? Profiel ongeldig + Autotune uitgevoerd zonder profiel wissel + Autotune uitgevoerd en profiel automatisch gewisseld Fout tijdens laatste Autotune uitvoeren + Een ander Autotune proces loopt nog, de uitvoering is geannuleerd + Applicatie heeft bluetooth toestemming nodig + Geen SMS bevoegdheid %1$d dag %1$d dagen diff --git a/core/src/main/res/values-no-rNO/strings.xml b/core/src/main/res/values-no-rNO/strings.xml index 342283ae1d..828da9a3c2 100644 --- a/core/src/main/res/values-no-rNO/strings.xml +++ b/core/src/main/res/values-no-rNO/strings.xml @@ -276,16 +276,6 @@ %1$dt %2$dm Demp i 5 minutter - Filformat - Opprettet den - AAPS versjon - Bygge variant - Eksporterer enhetens pasientnavn - Eksportere enhetsmodell - Fil kryptering - Nytt krypteringsformat - Nytt feilsøkingsformat (ukryptert) - Ukjent eksportformat eksportert for %1$s siden eksportert den %1$s eksportert for mindre enn time siden diff --git a/core/src/main/res/values-pl-rPL/strings.xml b/core/src/main/res/values-pl-rPL/strings.xml index 7756503eda..80f9eb6629 100644 --- a/core/src/main/res/values-pl-rPL/strings.xml +++ b/core/src/main/res/values-pl-rPL/strings.xml @@ -245,16 +245,6 @@ %1$dh %2$dm Wycisz na 5 minut - Format pliku - Data utworzenia - Wersja AAPS - Wariant kompilacji - Eksportowanie nazwy urządzenia pacjenta - Eksportowanie modelu urządzenia - Szyfrowanie pliku - Nowy zaszyfrowany format - Nowy format testowy (niezaszyfrowany) - Nieznany format eksportu wyeksportowano %1$s temu wyeksportowano w dniu %1$s wyeksportowano mniej niż godzinę temu diff --git a/core/src/main/res/values-pt-rBR/strings.xml b/core/src/main/res/values-pt-rBR/strings.xml index d5e22cbeae..cabc9b7715 100644 --- a/core/src/main/res/values-pt-rBR/strings.xml +++ b/core/src/main/res/values-pt-rBR/strings.xml @@ -196,15 +196,6 @@ Deteção de tempo - Criado em - Versão AAPS - Variante de Compilação - Exportando nome do paciente do dispositivo - Exportando modelo do dispositivo - Criptografia do arquivo - Novo formato de encriptação - Novo formato de depuração (não encriptado) - Formato de exportação desconhecido exportado %1$s atrás exportado há menos de uma hora Selecionar arquivo para importar diff --git a/core/src/main/res/values-pt-rPT/strings.xml b/core/src/main/res/values-pt-rPT/strings.xml index 323aa49380..178a69d7a0 100644 --- a/core/src/main/res/values-pt-rPT/strings.xml +++ b/core/src/main/res/values-pt-rPT/strings.xml @@ -231,16 +231,6 @@ %1$dh %2$dm Silenciar por 5 minutos - Formato do ficheiro - Criado em - Versão AAPS - Variante de Compilação - A exportar nome do paciente do dispositivo - A exportar modelo do dispositivo - Encriptação do Ficheiro - Novo formato de encriptação - Novo formato de depuração (não encriptado) - Formato de exportação desconhecido exportado há %1$s exportado às %1$s exportado há menos de uma hora diff --git a/core/src/main/res/values-ro-rRO/strings.xml b/core/src/main/res/values-ro-rRO/strings.xml index a7e65133eb..46acda25f6 100644 --- a/core/src/main/res/values-ro-rRO/strings.xml +++ b/core/src/main/res/values-ro-rRO/strings.xml @@ -246,16 +246,6 @@ %1$dh %2$dm Dezactivează pentru 5 minute - Format fișier - Creat la - Versiune AAPS - Versiune de build - Exporta numele dispozitivului pacientului - Exportarea modelului dispozitivului - Criptarea fișierului - Format nou criptat - Format nou pentru debug (necriptat) - Format de export necunoscut exportat cu %1$s în urmă exportat în data de %1$s exportat acum mai puțin de o ora diff --git a/core/src/main/res/values-ru-rRU/strings.xml b/core/src/main/res/values-ru-rRU/strings.xml index 459c82e51f..c489cbde41 100644 --- a/core/src/main/res/values-ru-rRU/strings.xml +++ b/core/src/main/res/values-ru-rRU/strings.xml @@ -275,16 +275,6 @@ %1$dч %2$dмин Отключить уведомления на 5 минут - Формат файла - Дата создания - Версия AAPS - Версия сборки - Имя пациента экспортируемого устройства - Модель экспортируемого устройства - Шифрование файла - Новый зашифрованный формат - Новый формат отладки (незашифрованный) - Неизвестный формат экспорта экспортировано %1$s назад экспортировано в %1$s экспортировано менее часа назад diff --git a/core/src/main/res/values-sk-rSK/strings.xml b/core/src/main/res/values-sk-rSK/strings.xml index 7f8eacf43c..51f35feda0 100644 --- a/core/src/main/res/values-sk-rSK/strings.xml +++ b/core/src/main/res/values-sk-rSK/strings.xml @@ -149,6 +149,15 @@ Resetovať Prepnutie profilu chýba. Vykonajte prepnutie profilu, alebo ho aktivujte na záložke lokálneho profilu. Profil + Vyberte pre odstránenie + Naozaj chcete odstrániť %1$d položiek + Ošetrenie + Vytvoriť z tohoto profilu nový profil? + Nastavenie sprievodcu + 15min trend + COB + Bolusový IOB + Bazálny IOB Max bazál obmedzený na %1$.2f JI/h: %2$s limit pumpy @@ -276,16 +285,6 @@ %1$dh %2$dm Stíšiť na 5 minút - Formát súboru - Vytvorené - Verzia AAPS - Verzia zostavy - Meno pacienta použité pri exporte - Model zariadenia použitý pri exporte - Šifrovanie súborov - Nový šifrovaný formát - Nový formát pre ladenie (nešifrovaný) - Neznámy formát exportu exportované pred %1$s exportované v %1$s exportované pred menej ako hodinou diff --git a/core/src/main/res/values-sv-rSE/strings.xml b/core/src/main/res/values-sv-rSE/strings.xml index 521ad3e814..25ebfe92d5 100644 --- a/core/src/main/res/values-sv-rSE/strings.xml +++ b/core/src/main/res/values-sv-rSE/strings.xml @@ -262,16 +262,6 @@ %1$dh %2$dm Tysta i 5 minuter - Filformat - Skapad - AAPS-version - Build-variant - Exporterar patientens namn - Exporterar enhetsmodell - · Filkryptering - Nytt krypterat format - Nytt debug-format (okrypterat) - Okänt exportformat exporterades för %1$s sedan exporterades %1$s exporterades för mindre än timme sedan diff --git a/core/src/main/res/values-tr-rTR/strings.xml b/core/src/main/res/values-tr-rTR/strings.xml index 12f5e9bcd2..3e0cd1ab48 100644 --- a/core/src/main/res/values-tr-rTR/strings.xml +++ b/core/src/main/res/values-tr-rTR/strings.xml @@ -275,16 +275,6 @@ %1$dsa %2$ddk 5 dakika sessize al - Dosya formatı - Oluşturuldu - AAPS Versiyonu - Yapı Varyantı - Cihaz hasta adını dışa aktarma - Cihaz modelini dışa aktarma - Dosya şifreleme - Yeni şifrelenmiş format - Yeni hata ayıklama formatı (şifrelenmemiş) - Bilinmeyen dışa aktarma formatı %1$s önce dışa aktarıldı %1$s\'de dışa aktarıldı bir süre önce dışa aktarıldı diff --git a/core/src/main/res/values-zh-rCN/strings.xml b/core/src/main/res/values-zh-rCN/strings.xml index d31f131164..3e706785bc 100644 --- a/core/src/main/res/values-zh-rCN/strings.xml +++ b/core/src/main/res/values-zh-rCN/strings.xml @@ -264,16 +264,6 @@ %1$dh %2$dm 静音 5 分钟 - 文件格式 - 创建于 - AAPS 版本 - 构建变体 - 导出设备的患者姓名 - 导出设备型号 - 文件加密密钥。 - 新的加密格式 - 新调试格式 (未加密) - 未知的导出格式 已导出 %1$s 导出 %1$s 不到 1 小时前更新过 diff --git a/implementation/src/main/res/values-es-rES/strings.xml b/implementation/src/main/res/values-es-rES/strings.xml index 7719ec803b..d804f74e57 100644 --- a/implementation/src/main/res/values-es-rES/strings.xml +++ b/implementation/src/main/res/values-es-rES/strings.xml @@ -1,7 +1,26 @@ + xDrip+ no se encuentra instalado + Calibración enviada a xDrip+ + BG + Faltan lecturas de glucosa + Hora de comer + Habilitar asistente de bolo + Asistente de bolo ¡Hora de comer!\nEjecutar el asistente de bolo y calcular de nuevo. Orden se esta efectuando en este momento Este dispositivo no parece soportar la optimización de la batería por medio de los ajustes - pueden ocurrir problemas de rendimiento. + Muy bajo + Bajo + Alto + Muy alto + Por debajo de + En rango + Por encima de + HbA1c: + Desviación estándar: %1$s + Datos detallados de 14 días + TIR Diurno + TIR Nocturno diff --git a/implementation/src/main/res/values-nl-rNL/strings.xml b/implementation/src/main/res/values-nl-rNL/strings.xml index 3bafc5ceb3..dcb09a9614 100644 --- a/implementation/src/main/res/values-nl-rNL/strings.xml +++ b/implementation/src/main/res/values-nl-rNL/strings.xml @@ -1,10 +1,36 @@ + xDrip+ niet geïnstalleerd + Kalibratie verzonden naar xDrip+ + BG Geen BG metingen + Tijd om te eten + Bolusadviseur inschakelen + Gebruik bij een hoge bloedglucose niet het resultaat van de wizard, maar een herinnering om later met eten te beginnen (\"pre-bolus\") + Bolusadviseur + Je hebt een hoge bloedglucose. In plaats van te eten, is het nu aan te raden om te wachten op een betere bloedglucose. Wil je nu een correctiebolus uitvoeren en je laten weten wanneer het tijd is om te eten? In dit geval worden er geen koolhydraten opgenomen en moet je de wizard opnieuw gebruiken wanneer we je er aan herinneren. Tijd om te bolussen!\nVoer de boluswizard uit en maak de berekening opnieuw. + Opdracht wordt nu uitgevoerd + Basaalwaarde onder minimum. Profiel niet ingesteld! Verzoek Toestemming + Voor een goede werking van %1$s moeten de accubesparingsopties zijn uitgeschakeld in de telefooninstellingen + Toepassing vereist systeemvenster machtiging voor meldingen + App heeft locatie toestemming nodig voor Bluetooth scan en WiFi identificatie + Applicatie heeft gegevens toestemming nodig om log bestanden op te slaan en instellingen te exporteren Fout bij het vragen van toestemming Dit apparaat lijkt geen ondersteuning te bieden voor whitelisten voor batterijoptimalisatie - u kunt prestatieproblemen ervaren. + Zeer laag + Laag + Hoog + Zeer hoog + Onder + Binnen bereik + Boven + HbA1c: + SD: %1$s + 14 dagen details + TIR overdag + TIR \'s nachts diff --git a/openhumans/src/main/res/values-nl-rNL/strings.xml b/openhumans/src/main/res/values-nl-rNL/strings.xml index 930035c759..9a35bba7e0 100644 --- a/openhumans/src/main/res/values-nl-rNL/strings.xml +++ b/openhumans/src/main/res/values-nl-rNL/strings.xml @@ -12,6 +12,7 @@ Alleen uploaden tijdens opladen Uploaden naar Open Humans… Open Humans notificaties + AndroidAPS is aan het uploaden naar Open Humans. Dit kan even duren. Je bent uitgelogd van Open Humans Klik hier om opnieuw in te loggen als dit niet opzettelijk was. Nu Uploaden diff --git a/plugins/src/main/res/values-bg-rBG/strings.xml b/plugins/src/main/res/values-bg-rBG/strings.xml index d276a8abf4..2e4e52d8d5 100644 --- a/plugins/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/src/main/res/values-bg-rBG/strings.xml @@ -144,7 +144,6 @@ И / Въгл Чувств Цел - Клонирай БАЗА Рекалкулирани използвани данни diff --git a/plugins/src/main/res/values-ca-rES/strings.xml b/plugins/src/main/res/values-ca-rES/strings.xml index 603e077fda..31b82fbdca 100644 --- a/plugins/src/main/res/values-ca-rES/strings.xml +++ b/plugins/src/main/res/values-ca-rES/strings.xml @@ -129,7 +129,6 @@ IC ISF OBJ - Duplicar BAS Dades recalculades utilitzades diff --git a/plugins/src/main/res/values-cs-rCZ/strings.xml b/plugins/src/main/res/values-cs-rCZ/strings.xml index 9266a93bd0..d81c5f2647 100644 --- a/plugins/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/src/main/res/values-cs-rCZ/strings.xml @@ -175,7 +175,6 @@ I:C ISF CÍL - Klonovat BAZ Použita přepočítaná data diff --git a/plugins/src/main/res/values-da-rDK/strings.xml b/plugins/src/main/res/values-da-rDK/strings.xml index 41c4944b83..73f6cea44a 100644 --- a/plugins/src/main/res/values-da-rDK/strings.xml +++ b/plugins/src/main/res/values-da-rDK/strings.xml @@ -142,7 +142,6 @@ IC ISF MÅL - Klon BAS Genberegnede data anvendt diff --git a/plugins/src/main/res/values-de-rDE/strings.xml b/plugins/src/main/res/values-de-rDE/strings.xml index 5d04b7b769..3e7c523db3 100644 --- a/plugins/src/main/res/values-de-rDE/strings.xml +++ b/plugins/src/main/res/values-de-rDE/strings.xml @@ -140,7 +140,6 @@ IC ISF ZIEL - Klonen BAS Verwendete Daten neu berechnet diff --git a/plugins/src/main/res/values-es-rES/strings.xml b/plugins/src/main/res/values-es-rES/strings.xml index a476bdcd55..2726aebefb 100644 --- a/plugins/src/main/res/values-es-rES/strings.xml +++ b/plugins/src/main/res/values-es-rES/strings.xml @@ -130,7 +130,6 @@ IC ISF OBJ - Clonar BAS diff --git a/plugins/src/main/res/values-fr-rFR/strings.xml b/plugins/src/main/res/values-fr-rFR/strings.xml index 894ad77db2..751a5ed863 100644 --- a/plugins/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/src/main/res/values-fr-rFR/strings.xml @@ -175,7 +175,6 @@ G/I SI CIBLE - Dupliquer BAS Données recalculées utilisées @@ -199,5 +198,5 @@ Pas encore terminé Temps écoulé - Mise en veille + Masquer diff --git a/plugins/src/main/res/values-it-rIT/strings.xml b/plugins/src/main/res/values-it-rIT/strings.xml index 73a23825f9..bbbf67018a 100644 --- a/plugins/src/main/res/values-it-rIT/strings.xml +++ b/plugins/src/main/res/values-it-rIT/strings.xml @@ -142,7 +142,6 @@ IC ISF TARG - Clona BAS Dati ricalcolati usati diff --git a/plugins/src/main/res/values-iw-rIL/strings.xml b/plugins/src/main/res/values-iw-rIL/strings.xml index be73bd89d0..40c3f0f521 100644 --- a/plugins/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/src/main/res/values-iw-rIL/strings.xml @@ -140,7 +140,6 @@ IC ISF ע\' מטרה - שכפול בזאלי משתמש בנתונים מחושבים מחדש diff --git a/plugins/src/main/res/values-ko-rKR/strings.xml b/plugins/src/main/res/values-ko-rKR/strings.xml index 2fa839c8e3..3d4089e62d 100644 --- a/plugins/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/src/main/res/values-ko-rKR/strings.xml @@ -121,7 +121,6 @@ IC ISF TARG - 복사 BAS diff --git a/plugins/src/main/res/values-lt-rLT/strings.xml b/plugins/src/main/res/values-lt-rLT/strings.xml index b4e397c32e..6f19eadd1b 100644 --- a/plugins/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/src/main/res/values-lt-rLT/strings.xml @@ -133,7 +133,6 @@ IA JIF TIKSLAS - Klonuoti VB Naudojami perskaičiuoti duomenys diff --git a/plugins/src/main/res/values-nl-rNL/strings.xml b/plugins/src/main/res/values-nl-rNL/strings.xml index ac26eca325..979e1779f9 100644 --- a/plugins/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/src/main/res/values-nl-rNL/strings.xml @@ -7,6 +7,7 @@ van de Authenticator-app voor: %1$s gevolgd door PIN Extra verplichte PIN aan einde van token Extra cijfers die je moet onthouden, en aan het eind van elk gegenereerd eenmalig wachtwoord moet toevoegen. + Authentificatie instellingen Te controleren code: OTP + PIN De verificatiecode bestaat uit 6 cijfers die worden afgebeeld door de Authenticator-app (bekend als OTP), gevolgd door 3 of meer cijfers van de verplichte PIN-code. @@ -18,12 +19,18 @@ Weet je zeker dat je het OTP-secret naar het klembord wilt kopiëren?\n\nJe hebt dit alleen nodig als je Authenticator-app problemen heeft met het scannen van QR-codes, als je het handmatig wilt invullen of als je een hardware OTP-token met een speciale app wilt configureren. OTP-secret (in Base32-formaat) is geëxporteerd en gekopieerd naar het klembord. Plak het in de Authenticator-app of de app van de hardware OTP-token! 1. Installeer Authenticator app + 2. Scan code om AndroidAPS OTP codes in te stellen 3. Test eenmalig wachtwoord (One Time Password) Reset Authentificatie Installeer de Authenticator-app op elke volger telefoon die RFC 6238 TOTP tokens ondersteunt. Populaire gratis apps zijn:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator + Door de authenticator opnieuw in te stellen maakt u alle reeds aangemaakte authenticatoren ongeldig. U moet ze opnieuw instellen! + Verkeerde code. Opdracht geannuleerd. + Time-out tijdens het wachten op het voltooien van de vorige pomp communicatie Gebruiker Geautoriseerde telefoon nummers +XXXXXXXXXX;+YYYYYYYYYY + Om een bolus van %1$.2fE te geven antwoord met de code %2$s + Om een maaltijd bolus van %1$.2fE te geven antwoord met de code %2$s Om tijdelijk streefdoel %1$s in te stellen antwoord met code %2$s Om tijdelijk streefdoel te annuleren antwoord met code %1$s Om de SMS Remote Service uit te zetten, antwoord met code %1$s. \n\nDenk er aan dat je deze alleen weer aan kunt zetten op de AAPS master smartphone. @@ -82,10 +89,18 @@ Ongeldige inhoud van het bericht Stuur SMS wanneer de pomp onbereikbaar is Melding pomp onbereikbaar + Verkeerde invoer + BG: + Laatste BG: Verschil: IOB: Bolus: Basaal: + %1$dmin geleden + Gepauzeerd (%1$d m) + Lezen van status mislukt + Profiel wissel aangemaakt + Tijdelijk basaal duur moet een veelvoud van %1$d minuten en groter dan 0 zijn. QR Code voor het instellen van een eenmalig wachtwoord DIA @@ -100,24 +115,54 @@ Piek Free-Peak Oref Snel-werkende Oref + Ultra-Rapid Oref DIA van %1$f te kort - %2$f wordt inplaats gebruikt! + Novorapid, Novolog, Humalog + Fiasp + xDrip+ Statuslijn (horloge) + xds Toon informatie over de Loop op jouw xDrip+ wijzerplaat. + Toon gedetailleerde IOB + Splits IOB in bolus en basaal op de watchface + Loop is uitgeschakeld + Toon BGI + Voeg BGI toe aan status lijn + xDrip+ Status (horloge) + Voeding + Toon de instellingen voor Voeding in Nightscout + Filter + Voeding + kJ + En + Prot + Vet Categorie Subcategorie + Bolus wizard + Kies donker, licht of volg het systeemthema + Kleurenschema + Donker thema + Licht thema + Gebruik systeem thema + Profiel LP Gebruik profiel(en) die je in AAPS aanmaakt en offline kunt gebruiken. nieuwe toevoegen aan lijst + Wilt u van profiel wisselen en gemaakte wijzigingen aan het huidige profiel negeren? + Huidige wijzigingen eerst opslaan of resetten + Huidige profiel verwijderen? Eenheden: Profielnaam ontbreekt Fout in IC waarden Fout in basaal waarden Fout in streefdoel Fout in ISF waarden + Profielnaam bevat punten.\nDit wordt niet ondersteund door NS.\nProfiel is niet geüpload naar NS. Ongeldig profiel %1$s niet geaccepteerd door NS Weergeven Foutmeldingen @@ -130,7 +175,6 @@ KH-ratio ISF DOEL - Dupliceren BAS Herberekende data gebruikt @@ -141,6 +185,7 @@ Omschakeling van zomer- of wintertijd in 24 uur of minder Omschakeling zomer/wintertijd minder dan 3 uur geleden - Gesloten Lus modus gedeactiveerd + Maak minstens %1$d MB vrij in interne opslag! Loop is uitgeschakeld! oude versie @@ -149,7 +194,9 @@ Nieuwe versie al zeker %1$d dagen beschikbaar! Terugval LGS na %2$d dagen, loop zal worden uitgeschakeld na %3$d dagen + Voltooid, goed gedaan! Nog niet voltooid Verstreken tijd + Sluimeren diff --git a/plugins/src/main/res/values-no-rNO/strings.xml b/plugins/src/main/res/values-no-rNO/strings.xml index db7a2ef5a3..f96f4f4781 100644 --- a/plugins/src/main/res/values-no-rNO/strings.xml +++ b/plugins/src/main/res/values-no-rNO/strings.xml @@ -156,7 +156,6 @@ IC ISF MÅL - Klon BAS Rekalkulerte siste data diff --git a/plugins/src/main/res/values-pl-rPL/strings.xml b/plugins/src/main/res/values-pl-rPL/strings.xml index d9bda04295..323d926d55 100644 --- a/plugins/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/src/main/res/values-pl-rPL/strings.xml @@ -130,7 +130,6 @@ IC ISF CEL - Sklonuj BAS Użyto przeliczonych wartości diff --git a/plugins/src/main/res/values-pt-rBR/strings.xml b/plugins/src/main/res/values-pt-rBR/strings.xml index 7475e73739..64498d8f54 100644 --- a/plugins/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/src/main/res/values-pt-rBR/strings.xml @@ -142,7 +142,6 @@ IC FSI ALV - Clonar BAS Dados recalculados foram utilizados diff --git a/plugins/src/main/res/values-pt-rPT/strings.xml b/plugins/src/main/res/values-pt-rPT/strings.xml index 4600636738..041334ec80 100644 --- a/plugins/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/src/main/res/values-pt-rPT/strings.xml @@ -129,7 +129,6 @@ IHC FSI ALV - Clone BAS Dados utilizados foram recalculados diff --git a/plugins/src/main/res/values-ro-rRO/strings.xml b/plugins/src/main/res/values-ro-rRO/strings.xml index 36dbd89c90..18f24dabd9 100644 --- a/plugins/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/src/main/res/values-ro-rRO/strings.xml @@ -130,7 +130,6 @@ IC ISF TARG - Clonează BZL Date recalculate utilizate diff --git a/plugins/src/main/res/values-ru-rRU/strings.xml b/plugins/src/main/res/values-ru-rRU/strings.xml index 9d48a6d4a6..bccf2d9f5d 100644 --- a/plugins/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/src/main/res/values-ru-rRU/strings.xml @@ -119,6 +119,7 @@ Показать информацию о работе алгоритма ИПЖ на экране смарт-часов xDrip+. + Показать разбивку IOB на болюсный и базальный IOB на часах Фильтр Еда @@ -155,7 +156,6 @@ IC углкоэф ГУ/инс ISF (чувствительность к инсулину) ЦЕЛЬ - Клонировать БАЗАЛ Используются пересчитанные данные diff --git a/plugins/src/main/res/values-sk-rSK/strings.xml b/plugins/src/main/res/values-sk-rSK/strings.xml index eaae0c125e..bf3ad3f88a 100644 --- a/plugins/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/src/main/res/values-sk-rSK/strings.xml @@ -175,7 +175,6 @@ I:C ISF CIEĽ - Klonovať BAZ Použité prepočítané dáta diff --git a/plugins/src/main/res/values-sv-rSE/strings.xml b/plugins/src/main/res/values-sv-rSE/strings.xml index d3b7868672..12494b8672 100644 --- a/plugins/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/src/main/res/values-sv-rSE/strings.xml @@ -133,7 +133,6 @@ IC ISF Mål - Kopiera BAS Omräknad data används diff --git a/plugins/src/main/res/values-tr-rTR/strings.xml b/plugins/src/main/res/values-tr-rTR/strings.xml index 2d796117cd..9eade1550a 100644 --- a/plugins/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/src/main/res/values-tr-rTR/strings.xml @@ -156,7 +156,6 @@ IC Karbonhidrat İnsülin Oranı IDF İnsülin Duyarlılık Faktörü HDF - Klon BAZ Kullanılan veriler yeniden hesaplandı diff --git a/plugins/src/main/res/values-zh-rCN/strings.xml b/plugins/src/main/res/values-zh-rCN/strings.xml index 1b5ddf76da..bf3e462e18 100644 --- a/plugins/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/src/main/res/values-zh-rCN/strings.xml @@ -139,7 +139,6 @@ IC ISF TARG - 克隆 基础率 重新计算的数据 diff --git a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml index bfa4b403c8..69d5792844 100644 --- a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml +++ b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml @@ -41,10 +41,11 @@ Annuler Erreur de communication pendant la suppression du Patch Pour la désactivation normale, appuyez sur «Réessayer».\nPour forcer la désactivation unilatéralement, appuyez sur «Supprimer». - Pour la désactivation normale, appuyez sur « Réessayer ». + Pour la désactivation normale, appuyez sur «Réessayer». Pour forcer la désactivation unilatéralement, appuyez sur «Supprimer». Désactiver manuellement l\'alarme du Patch Si le Patch est désactivé unilatéralement lors d\'une erreur de communication, le bip d\'alarme du patch peut ne pas s\'arrêter. + Dans ce cas, vous pouvez l\'arrêter complètement avec le trou de coupure d\'alarme sur le Patch comme décrit ci-dessous: 1. Retirez le patch de votre corps et décollez le ruban adhésif. 2. Utilisez un trombonne, enfoncez le dans le trou à côté du port de remplissage d\'insuline avec force. Remplissage de l\'insuline @@ -61,7 +62,24 @@ 3/6 Retirez le ruban adhésif, puis appuyez sur «Suivant». [Attention1] Si une aiguille s\'accroche, appuyez sur «Abandonner». + [Attention2] Si le patch est mouillé ou sale, ou que son ruban adhésif est plié, appuyez sur « Abandonner». + Coller le Patch 4/6 + Nettoyez et séchez le site d\'application, puis collez le patch sur la peau. + Vérifiez le site de la perfusion et appuyez sur «Démarrer la vérification de sécurité». + Démarrer la vérification de sécurité + Contrôle de sécurité… + 5/6 + Cela prend environ 30 secondes. + [Attention] Pour une utilisation sûre, n\'enlevez pas le cache de l\'Aiguille tant que le contrôle de sécurité n\'est pas terminé ! + Insertion de l\'aiguille + 6/6 + Faire pivoter le levier d\'action de l\'Aiguille de plus de 100° pour insérer l\'aiguille et ensuite faire pivoter complètement pour l\'enlever + Vérifiez s\'il y a 1 bip puis appuyez sur «Suivant». + Vérifiez s\'il y a 1 bip puis appuyez sur «Réessayer». + Activation du Patch terminée ! + Le programme \'%1$s\' a été activé. + Avertir lorsque le Patch approche de son heure d\'expiration.\nChangez l\'heure de rappel si nécessaire. Connection en cours Changement en cours Traitement en cours diff --git a/pump/eopatch/src/main/res/values-nl-rNL/strings.xml b/pump/eopatch/src/main/res/values-nl-rNL/strings.xml index 3ea04e700d..436c55e1dc 100644 --- a/pump/eopatch/src/main/res/values-nl-rNL/strings.xml +++ b/pump/eopatch/src/main/res/values-nl-rNL/strings.xml @@ -1,2 +1,134 @@ - + + EOPatch2 + EOP2 + Pomp integratie voor EOPatch2 / GlucoMen Day + Waarschuwingen + Laag reservoir waarschuwing + Patch houdbaarheid herinnering + Patch buzzer herinneringen + h:mm a + Bolus van %1$.2f E succesvol toegediend + BLE Status + Serienummer + Partijnummer + Ontwaak datum & tijd + Verlooptijd + Status + Basis basaalstand + Tijdelijke basaalstand + Totaal toegediend + Basaalstand in het profiel is minder dan 0,05 E/hr. EOPatch heeft een minimale injectie hoeveelheid van 0.5E p/u. Probeer het opnieuw na het instellen van het profiel op meer dan de minimale injectie eenheid. + Geen profiel geselecteerd. Selecteer een profiel en probeer het opnieuw. + dag + + + - + 30 min + 1 uur + 1 uur 30 min + 2 uur + \u0020 + Om naar nieuwe patch te wisselen moet de huidige patch verwijderd worden. Alle insuline toediening van Patch zal worden geannuleerd. + Het verwijderen van de patch is voltooid. + Patch is gedeactiveerd.\nVerwijder de patch.\nVerwijder de patch die op uw lichaam zit aangebracht. + Er wordt op dit. moment een bolus uitgevoerd. Weet je zeker dat je de insuline toediening wilt annuleren en de patch wilt verwijderen? + Er wordt op dit moment een bolus uitgevoerd. Weet je zeker dat je de insuline toediening wilt annuleren en de patch wilt verwijderen? + Er wordt op dit moment een bolus en een tijdelijk basaal uitgevoerd. Weet je zeker dat je de insuline toediening wilt annuleren en de patch wilt verwijderen? + Weet je zeker dat je een Patch wilt verwijderen? + Resterende insuline + Resterende tijd + Voltooien + Verwijder + Negeer Patch Communicatie fout tijdens het verwijderen + Voor normale deactivatie, druk op \'Opnieuw proberen\'.\nVoor unilaterale deactivering druk op \'Verwijderen\'. + Voor de normale deactivatie druk op \'Opnieuw proberen\'. + Voor unilaterale deactivering, Tik op \'Verwijderen\'. + Handmatig het alarm van Patch uitschakelen + Waneer unilateraal gedeactiveerd tijdens een communicatiefout, zal Patch mogelijk niet stoppen met piepen. + In dit geval kunt u dit volledig stopzetten door op de patch in de handmatige alarm poort te steken. Zoals hieronder aangegeven: + 1. Verwijder de Patch van je lichaam en verwijder de bevestigingstape. + 2. Gebruik een clip om krachtig in het gat naast de insuline vul poort te steken. + Insuline vullen + 1/6 + 1. + Vul een nieuwe patch met insuline op kamertemperatuur. Let op de hoek van de vul spuit. + 2. + Controleer op 1 piep. + Begin met koppelen + Patch koppelen + 2/6 + De nieuwe patch wordt gekoppeld.\nHoud de afstand tussen de patch en het slimme apparaat zo klein mogelijk + Bereid je voor om patch aan te brengen + 3/6 + Verwijder de plakker en druk op \'Volgende\'. + [Caution1] Als een naald uitsteekt tik dan op \'Verwijderen\'. + [Caution2] Als de Patch nat of vies is, of de applicatie tape gevouwen is, tik dan op \'Verwijderen\'. + Patch aanbrengen + 4/6 + Maak de applicatie plaats schoon en droog en breng de patch aan op de huid. + Controleer de infuusplek en druk vervolgens op \'Start veiligheidscontrole\'. + Start veiligheidscontrole + Veiligheidscontrole… + 5/6 + Het duurt ongeveer dertig seconden. + [Caution] Voor veilig gebruik, van de naald bedieningshendel afblijven en eerst de veiligheidscheck uitvoeren! + De naald inbrengen + 6/6 + Draai de naald bedieningshendel meer dan 100 ° om de naald in te brengen en draai daarna volledig om deze te verwijderen + Controleer op 1 piep en druk op \'Volgende\'. + Controleer op 1 piep en druk op \'Opnieuw proberen\'. + Patch activering voltooid! + Het programma \'%1$s\' is ingeschakeld. + Waarschuwt je wanneer de patch zijn einde houdbaarheid nadert.\nWijzig de herinneringstijd indien nodig. + Patch houdbaarheid Herinnering + Patch activatie herinnering + Patch activatie is niet afgerond.\n Doorgaan. + Patch communicatie check + Patch communicatie controleren… + Breng je \"smart device\" dichter bij de Patch. + Ga naar een andere locatie en probeer het opnieuw. + Communicatie Fout + Communicatie geslaagd + Verbonden met de Patch. + Koppeling annuleren + dagen +  E + Tot aan het uitstellen zal het leveren van de huidige Bolus & tijdelijk basaal worden geannuleerd. \n\nSnelheid : %1$s E/uur\nResterende tijd: %2$s\n& Insuline te gaan : %3$.2f E + Tot aan het uitstellen wordt de huidige geleverde bolus geannuleerd. \n\nInsuline om te gaan: %1$.2f E + Tijdens het uitstellen zal het momenteel afgeleverde tijdelijke basaal worden geannuleerd. \n\nRatio : %1$s E/uur\nResterende tijd: %2$s + Insuline toediening wordt uitgesteld. + Verwijder/wissel Patch + Activeer Patch + Patch verwijderen + Hervatten + Verwijder + Communicatie check + Onderbreken + Onderbroken + Wordt uitgevoerd + Annuleren + Bevestig + Alarm + Verbinden + Wijzigen + Verwerken + Opnieuw + [Caution] Verwijder de naaldop en plakkers NIET tot verdere instructies. + Weet je zeker dat je de huidige Patch wilt verwijderen? + Door onbevestigde bolus informatie, kan de bolus calculator niet gebruikt worden totdat %s.\n\nBen je er zeker van dat je de huidige patch wilt annuleren? + Naald inbreng fout. + Controleer of de richting van het gat links na het draaien van de hendel recht is en druk op \'Opnieuw proberen\'. + Druk op \'Verwijderen\' om de Patch te deactiveren. + Periode uitstel basaal + Insuline toediening hervatten + Uitstellen insuline is verlopen.\nDruk op \'Bevestigen\' om de insuline toediening te hervatten.\n\n[Caution]\nInsuline levering wordt niet hervat zolang je niet op \'Bevestigen\' klikt.\nAls je niet op \'Bevestigen\' klikt, kun je een ernstige hyper ontwikkelen. + Insuline toediening is uitgesteld. + Insulinetoediening is hervat. + Voltooien + resterende tijd: %1$s:%2$s + Volgende + Probeer opnieuw na patch communicatie controle. + Uitstellen mislukt. + Hervatten mislukt. + EEE d MMM, yyyy hh:mm a + diff --git a/ui/src/main/res/values-af-rZA/strings.xml b/ui/src/main/res/values-af-rZA/strings.xml index 146927d1d7..33df4da408 100644 --- a/ui/src/main/res/values-af-rZA/strings.xml +++ b/ui/src/main/res/values-af-rZA/strings.xml @@ -10,4 +10,6 @@ Statistiek + + diff --git a/ui/src/main/res/values-bg-rBG/strings.xml b/ui/src/main/res/values-bg-rBG/strings.xml index 675c7cb4bf..644eae90ce 100644 --- a/ui/src/main/res/values-bg-rBG/strings.xml +++ b/ui/src/main/res/values-bg-rBG/strings.xml @@ -20,4 +20,6 @@ Възраст Тегло + + diff --git a/ui/src/main/res/values-ca-rES/strings.xml b/ui/src/main/res/values-ca-rES/strings.xml index 51f873aaa6..59f9116b67 100644 --- a/ui/src/main/res/values-ca-rES/strings.xml +++ b/ui/src/main/res/values-ca-rES/strings.xml @@ -13,4 +13,6 @@ ID: Enviar + + diff --git a/ui/src/main/res/values-cs-rCZ/strings.xml b/ui/src/main/res/values-cs-rCZ/strings.xml index 90707a927b..c7c1278035 100644 --- a/ui/src/main/res/values-cs-rCZ/strings.xml +++ b/ui/src/main/res/values-cs-rCZ/strings.xml @@ -34,4 +34,6 @@ Jiné Glukoměr Senzor + + diff --git a/ui/src/main/res/values-da-rDK/strings.xml b/ui/src/main/res/values-da-rDK/strings.xml index 61399f9888..5630cccefd 100644 --- a/ui/src/main/res/values-da-rDK/strings.xml +++ b/ui/src/main/res/values-da-rDK/strings.xml @@ -20,4 +20,6 @@ Vægt Bemærk: Kun data synlige på denne skærm vil blive uploadet anonymt. ID tildeles til denne installation af AAPS. Du kan indsende data igen, hvis din hovedprofil bliver ændret, men lad det køre mindst en uge for at gøre resultatet synligt i tidsinterval. Din hjælp er værdsat. + + diff --git a/ui/src/main/res/values-de-rDE/strings.xml b/ui/src/main/res/values-de-rDE/strings.xml index 235d166cf0..35902ca1b4 100644 --- a/ui/src/main/res/values-de-rDE/strings.xml +++ b/ui/src/main/res/values-de-rDE/strings.xml @@ -18,4 +18,6 @@ Alter Gewicht + + diff --git a/ui/src/main/res/values-el-rGR/strings.xml b/ui/src/main/res/values-el-rGR/strings.xml index 9b26252640..f879c08682 100644 --- a/ui/src/main/res/values-el-rGR/strings.xml +++ b/ui/src/main/res/values-el-rGR/strings.xml @@ -10,4 +10,6 @@ Στατιστικά + + diff --git a/ui/src/main/res/values-es-rES/strings.xml b/ui/src/main/res/values-es-rES/strings.xml index 9b353d93d6..254c61f8e2 100644 --- a/ui/src/main/res/values-es-rES/strings.xml +++ b/ui/src/main/res/values-es-rES/strings.xml @@ -14,4 +14,39 @@ Nota: Sólo los datos visibles en esta pantalla se subirán de forma anónima. El ID es asignado a la instalación de AAPS. Puedes volver a enviar datos si cambias tu perfil principal, pero deja que se ejecute al menos durante una semana, para que el resultado del tiempo en rango sea visible. Agradecemos tu ayuda. + + %1$s ISF: %2$.1f + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + %1$d%% + Superbolo + Total + + No hay registros disponibles + Cálculo + IOB: + INVÁLIDO + Insulina: + Carbohidratos: + IOB total: + Duración: + Ins: + IOB: + IOB Total: + OT + Corrección + Comida + Objetivos temporales + Carbohidratos y bolos + Mostrar registros eliminados o invalidados + Ocultar registros eliminados o invalidados + Actualizar de Nightscout + Actualizar desde Nightscout + Mostrar invalidados + Ocultar invalidados + Eliminar registros de inicio de AAPS + Ocultar lazo + Mostrar lazo + Duplicar + Mostrar registros del lazo diff --git a/ui/src/main/res/values-fr-rFR/strings.xml b/ui/src/main/res/values-fr-rFR/strings.xml index 677d44ebc6..02322bb9fc 100644 --- a/ui/src/main/res/values-fr-rFR/strings.xml +++ b/ui/src/main/res/values-fr-rFR/strings.xml @@ -34,4 +34,45 @@ Autre Lecteur Capteur + + %1$s SI: %2$.1f + %1$.1fg G/I: %2$.1f + %1$.0fg G/I: %2$.1f + %1$d%% + Superbolus + Total + + Aucun enregistrement disponible + Calc + IA: + INVALIDE + Insuline: + Glucides: + IA Totale: + Activité IA Totale: + Dur: + Ratio: + Ins: + IA: + IA Totale: + CT + Corr. + Repas + Amorcer + Changements de profil + Cibles Temp + Glucides et bolus + Afficher les enregistrements invalidés / supprimés + Masquer les enregistrements invalidés / supprimés + Rafraîchir depuis Nightscout + Actualiser depuis NS + Montrer les entrées invalides + Masquer les entrées invalides + Suppr. entrées \"Démarrage AAPS\" + Masquer la boucle + Afficher les entrées boucle + Entrées utilisateur + Dupliquer + Afficher les entrées de la boucle + Masquer les entrées de la boucle diff --git a/ui/src/main/res/values-ga-rIE/strings.xml b/ui/src/main/res/values-ga-rIE/strings.xml index 80fe0368a0..a21b9a1524 100644 --- a/ui/src/main/res/values-ga-rIE/strings.xml +++ b/ui/src/main/res/values-ga-rIE/strings.xml @@ -4,4 +4,6 @@ + + diff --git a/ui/src/main/res/values-hr-rHR/strings.xml b/ui/src/main/res/values-hr-rHR/strings.xml index bdf8541ad6..d6d876a493 100644 --- a/ui/src/main/res/values-hr-rHR/strings.xml +++ b/ui/src/main/res/values-hr-rHR/strings.xml @@ -4,4 +4,6 @@ Napomena: Anonimno će se učitati samo podaci vidljivi na ovom zaslonu. ID je dodijeljen ovoj instalaciji AAPS-a. Možete ponovno poslati podatke ako se vaš glavni profil promijeni, ali pustite ga da radi barem tjedan dana kako bi rezultat bio vidljiv u određenom vremenskom rasponu. Cijenimo vašu pomoć. + + diff --git a/ui/src/main/res/values-hu-rHU/strings.xml b/ui/src/main/res/values-hu-rHU/strings.xml index 173f67cf6c..ecb30a96a4 100644 --- a/ui/src/main/res/values-hu-rHU/strings.xml +++ b/ui/src/main/res/values-hu-rHU/strings.xml @@ -5,4 +5,6 @@ Statisztikák Számítás folyamatban + + diff --git a/ui/src/main/res/values-it-rIT/strings.xml b/ui/src/main/res/values-it-rIT/strings.xml index 6042a03d26..45b9d76282 100644 --- a/ui/src/main/res/values-it-rIT/strings.xml +++ b/ui/src/main/res/values-it-rIT/strings.xml @@ -20,4 +20,6 @@ Peso Nota: solo i dati visibili su questa schermata verranno caricati (in modo anonimo). Un ID è assegnato a questa installazione di AAPS. Puoi inviare nuovamente i dati se il tuo profilo principale viene modificato, ma lascialo in esecuzione almeno per una settimana per rendere il risultato visibile nel time in range (TIR). Il tuo aiuto è apprezzato. + + diff --git a/ui/src/main/res/values-iw-rIL/strings.xml b/ui/src/main/res/values-iw-rIL/strings.xml index 45b0e2624e..d5977a6167 100644 --- a/ui/src/main/res/values-iw-rIL/strings.xml +++ b/ui/src/main/res/values-iw-rIL/strings.xml @@ -18,4 +18,6 @@ גיל משקל + + diff --git a/ui/src/main/res/values-ko-rKR/strings.xml b/ui/src/main/res/values-ko-rKR/strings.xml index 4b175cecfe..c4b9a76fd5 100644 --- a/ui/src/main/res/values-ko-rKR/strings.xml +++ b/ui/src/main/res/values-ko-rKR/strings.xml @@ -13,4 +13,6 @@ ID: 확인 + + diff --git a/ui/src/main/res/values-lt-rLT/strings.xml b/ui/src/main/res/values-lt-rLT/strings.xml index 75daf866db..482935a38d 100644 --- a/ui/src/main/res/values-lt-rLT/strings.xml +++ b/ui/src/main/res/values-lt-rLT/strings.xml @@ -17,4 +17,6 @@ Amžius Svoris + + diff --git a/ui/src/main/res/values-nl-rNL/strings.xml b/ui/src/main/res/values-nl-rNL/strings.xml index 72b84028c9..45146b3177 100644 --- a/ui/src/main/res/values-nl-rNL/strings.xml +++ b/ui/src/main/res/values-nl-rNL/strings.xml @@ -1,6 +1,10 @@ Geen actie geselecteerd, er zal niets uitgevoerd worden + Beperking toegepast! + Bolus limiet ingesteld + Koolhydraten beperking ingesteld + TT Dialoog geannuleerd Start inspanning TT Start binnenkort eten TT @@ -10,6 +14,65 @@ Herinner later te bolussen herinnering instellen + Configureer transparantie + AAPS widget + Activiteitsmonitor + Wil je de activiteitenstatistieken resetten? + Statistieken + Berekening wordt uitgevoerd + Ongeldige leeftijd ingevoerd + Ongeldige gewicht ingevoerd + ID: + Verzenden + Leeftijd + Gewicht + Meest voorkomende profiel: + Opmerking: Alleen gegevens die zichtbaar zijn op dit scherm worden anoniem geüpload. ID is toegewezen aan deze installatie van AAPS. U kunt gegevens opnieuw indienen als uw hoofdprofiel wordt gewijzigd, maar laat het ten minste een week draaien om resultaat zichtbaar te maken in de tijd in het bereik. Uw hulp wordt gewaardeerd. + Glucose type + Andere + Meter + Sensor + + %1$s ISF: %2$.1f + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + %1$d%% + Superbolus + Totaal + + Geen records beschikbaar + Calc + IOB: + Ongeldig + Insuline: + Koolhydraten: + Totale IOB: + Totale IOB activiteit: + Tijdsduur: + Ratio: + Ins: + IOB: + Totale IOB: + TT + Corr + Maaltijd + Vullen + Profiel wijzigingen + Tijdelijke streefdoelen + Koolhydraten en bolus + Toon ongeldig gemarkeerde / verwijderde records + Verberg ongeldig gemarkeerde / verwijderde records + Ververs vanaf Nightscout + Ververs van NS + Toon ongeldig + Verberg ongeldig + Verwijder AAPS is gestart items + Verberg loop + Toon loop + Gebruikersinvoer + Dupliceren + Toon loop records + Verberg loop records diff --git a/ui/src/main/res/values-no-rNO/strings.xml b/ui/src/main/res/values-no-rNO/strings.xml index 8b5fd87c8f..859ca8279b 100644 --- a/ui/src/main/res/values-no-rNO/strings.xml +++ b/ui/src/main/res/values-no-rNO/strings.xml @@ -25,4 +25,6 @@ Vekt Merk: Kun data synlig på denne skjermen vil bli anonymt lastet opp. ID er tilordnet denne installasjonen av AndroidAPS. Du kan sende inn data igjen hvis hovedprofilen din blir endret, men la den kjøre i minst en uke for å se effekten av resultatet i tidsperioden. Din hjelp blir verdsatt. + + diff --git a/ui/src/main/res/values-pl-rPL/strings.xml b/ui/src/main/res/values-pl-rPL/strings.xml index 045ff0c6a1..7be1ebb38f 100644 --- a/ui/src/main/res/values-pl-rPL/strings.xml +++ b/ui/src/main/res/values-pl-rPL/strings.xml @@ -16,4 +16,6 @@ Czas Waga + + diff --git a/ui/src/main/res/values-pt-rBR/strings.xml b/ui/src/main/res/values-pt-rBR/strings.xml index c86b6d3a2b..9fad612e0b 100644 --- a/ui/src/main/res/values-pt-rBR/strings.xml +++ b/ui/src/main/res/values-pt-rBR/strings.xml @@ -19,4 +19,6 @@ Peso Nota: Apenas os dados visíveis nesta tela serão enviados anonimamente. O ID é atribuído a esta instalação do AndroidAPS. Você pode enviar dados novamente se o perfil principal for alterado, mas deixe-o rodar pelo menos uma semana para tornar o resultado visível no intervalo de tempo. Sua ajuda é apreciada. + + diff --git a/ui/src/main/res/values-pt-rPT/strings.xml b/ui/src/main/res/values-pt-rPT/strings.xml index 78d682ec84..4f5e0cf288 100644 --- a/ui/src/main/res/values-pt-rPT/strings.xml +++ b/ui/src/main/res/values-pt-rPT/strings.xml @@ -14,4 +14,6 @@ ID: Enviar + + diff --git a/ui/src/main/res/values-ro-rRO/strings.xml b/ui/src/main/res/values-ro-rRO/strings.xml index 88375334d6..8b1e45e614 100644 --- a/ui/src/main/res/values-ro-rRO/strings.xml +++ b/ui/src/main/res/values-ro-rRO/strings.xml @@ -14,4 +14,6 @@ ID: Trimiteți + + diff --git a/ui/src/main/res/values-ru-rRU/strings.xml b/ui/src/main/res/values-ru-rRU/strings.xml index 02fc750a83..6c5d65ce39 100644 --- a/ui/src/main/res/values-ru-rRU/strings.xml +++ b/ui/src/main/res/values-ru-rRU/strings.xml @@ -25,4 +25,6 @@ Вес Примечание: Данные, видимые на этом экране, будут загружены анонимно. Для этой установки AAPS назначен идентификатор. Вы можете снова передать данные, если ваш основной профиль будет изменен, но пусть он работает по крайней мере в течение недели, чтобы результат был виден в динамике. Ваша помощь ценна. + + diff --git a/ui/src/main/res/values-sk-rSK/strings.xml b/ui/src/main/res/values-sk-rSK/strings.xml index 39f00c8623..0db43f44b9 100644 --- a/ui/src/main/res/values-sk-rSK/strings.xml +++ b/ui/src/main/res/values-sk-rSK/strings.xml @@ -34,4 +34,6 @@ Iné Glukomer Senzor + + diff --git a/ui/src/main/res/values-sr-rCS/strings.xml b/ui/src/main/res/values-sr-rCS/strings.xml index 5bce2c85f7..e92eaf702d 100644 --- a/ui/src/main/res/values-sr-rCS/strings.xml +++ b/ui/src/main/res/values-sr-rCS/strings.xml @@ -3,4 +3,6 @@ + + diff --git a/ui/src/main/res/values-sv-rSE/strings.xml b/ui/src/main/res/values-sv-rSE/strings.xml index 7a1fac12a5..691e1367db 100644 --- a/ui/src/main/res/values-sv-rSE/strings.xml +++ b/ui/src/main/res/values-sv-rSE/strings.xml @@ -17,4 +17,6 @@ Ålder Vikt + + diff --git a/ui/src/main/res/values-tr-rTR/strings.xml b/ui/src/main/res/values-tr-rTR/strings.xml index 06473b4d14..ae7f3c64b7 100644 --- a/ui/src/main/res/values-tr-rTR/strings.xml +++ b/ui/src/main/res/values-tr-rTR/strings.xml @@ -25,4 +25,6 @@ Ağırlık Not: Yalnızca bu ekranda görünen veriler anonim olarak yüklenecektir. Bu AAPS kurulumunda kimlik atanır. Ana profiliniz değişirse verileri tekrar gönderebilir, ancak sonuçların zaman içinde görünür olması için en az bir hafta çalışmasına izin verebilirsiniz. Yardımın takdire değer. + + diff --git a/ui/src/main/res/values-zh-rCN/strings.xml b/ui/src/main/res/values-zh-rCN/strings.xml index 57f4cc0412..474f775dec 100644 --- a/ui/src/main/res/values-zh-rCN/strings.xml +++ b/ui/src/main/res/values-zh-rCN/strings.xml @@ -18,4 +18,6 @@ 年龄 重量 + + From ed91df63410fe7d2d5a91984e81b9fcdd1b874c5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 11:08:14 +0100 Subject: [PATCH 019/123] add interfaces -> shared dependency (ResourceHelper) --- .../rx}/events/EventRefreshButtonState.kt | 2 +- .../shared/impl/di/SharedImplModule.kt | 8 ++++++- .../impl}/sharedPreferences/Delegates.kt | 3 ++- .../sharedPreferences/SPImplementation.kt | 3 ++- .../info/nightscout/shared/di/SharedModule.kt | 10 --------- .../extensions/PackageManagerExtension.kt | 2 +- .../extensions/UIUtils.kt | 2 +- .../interfaces/ResourceHelper.kt | 2 +- .../{androidaps => shared}/utils/DateUtil.kt | 8 +++---- .../{androidaps => shared}/utils/T.kt | 2 +- .../info/nightscout/androidaps/MainApp.kt | 4 ++-- .../activities/HistoryBrowseActivity.kt | 8 +++---- .../activities/HistoryBrowserData.kt | 4 ++-- .../activities/MyPreferenceFragment.kt | 2 +- .../activities/ProfileHelperActivity.kt | 6 ++--- .../nightscout/androidaps/di/AppComponent.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 4 ++-- .../androidaps/dialogs/ExtendedBolusDialog.kt | 2 +- .../androidaps/dialogs/FillDialog.kt | 2 +- .../androidaps/dialogs/InsulinDialog.kt | 6 ++--- .../androidaps/dialogs/LoopDialog.kt | 10 ++++----- .../androidaps/dialogs/NtpProgressDialog.kt | 2 +- .../androidaps/dialogs/ProfileSwitchDialog.kt | 6 ++--- .../androidaps/dialogs/TempBasalDialog.kt | 2 +- .../androidaps/dialogs/TempTargetDialog.kt | 2 +- .../androidaps/dialogs/TreatmentDialog.kt | 2 +- .../androidaps/dialogs/WizardDialog.kt | 8 +++---- .../androidaps/plugins/aps/OpenAPSFragment.kt | 4 ++-- .../plugins/aps/loop/LoopFragment.kt | 4 ++-- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 6 ++--- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 ++-- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 ++-- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 4 ++-- .../OpenAPSSMBDynamicISFPlugin.kt | 4 ++-- .../configBuilder/ConfigBuilderFragment.kt | 4 ++-- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../configBuilder/ProfileFunctionImpl.kt | 6 ++--- .../configBuilder/RunningConfiguration.kt | 2 +- .../objectives/ObjectivesFragment.kt | 4 ++-- .../objectives/ObjectivesPlugin.kt | 2 +- .../activities/ObjectivesExamDialog.kt | 6 ++--- .../objectives/objectives/Objective.kt | 6 ++--- .../objectives/objectives/Objective10.kt | 2 +- .../objectives/objectives/Objective3.kt | 2 +- .../objectives/objectives/Objective5.kt | 2 +- .../objectives/objectives/Objective6.kt | 2 +- .../objectives/objectives/Objective7.kt | 2 +- .../objectives/objectives/Objective9.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 4 ++-- .../general/actions/ActionsFragment.kt | 6 ++--- .../plugins/general/actions/ActionsPlugin.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 6 ++--- .../maintenance/ImportExportPrefsImpl.kt | 6 ++--- .../maintenance/MaintenanceFragment.kt | 4 ++-- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 8 +++---- .../plugins/general/overview/OverviewMenus.kt | 2 +- .../general/overview/OverviewPlugin.kt | 2 +- .../general/overview/StatusLightHandler.kt | 4 ++-- .../activities/QuickWizardListActivity.kt | 4 ++-- .../overview/dialogs/EditQuickWizardDialog.kt | 4 ++-- .../general/overview/graphData/GraphData.kt | 2 +- .../notifications/NotificationStore.kt | 4 ++-- .../notifications/NotificationWithAction.kt | 4 ++-- .../PersistentNotificationPlugin.kt | 2 +- .../plugins/general/wear/WearFragment.kt | 2 +- .../plugins/general/wear/WearPlugin.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 6 ++--- .../DataLayerListenerServiceMobile.kt | 2 +- .../IobCobCalculatorPlugin.kt | 6 ++--- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 6 ++--- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 6 ++--- .../plugins/pump/PumpSyncImplementation.kt | 6 ++--- .../pump/virtual/VirtualPumpFragment.kt | 6 ++--- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 6 ++--- .../sensitivity/AbstractSensitivityPlugin.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 4 ++-- .../sensitivity/SensitivityOref1Plugin.kt | 4 ++-- .../SensitivityWeightedAveragePlugin.kt | 4 ++-- .../androidaps/plugins/source/AidexPlugin.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 8 +++---- .../androidaps/plugins/source/DexcomPlugin.kt | 8 +++---- .../plugins/source/EversensePlugin.kt | 4 ++-- .../androidaps/plugins/source/GlimpPlugin.kt | 2 +- .../plugins/source/GlunovoPlugin.kt | 6 ++--- .../plugins/source/IntelligoPlugin.kt | 8 +++---- .../androidaps/plugins/source/MM640gPlugin.kt | 4 ++-- .../plugins/source/NSClientSourcePlugin.kt | 6 ++--- .../plugins/source/PoctechPlugin.kt | 2 +- .../plugins/source/RandomBgPlugin.kt | 4 ++-- .../androidaps/plugins/source/TomatoPlugin.kt | 2 +- .../androidaps/plugins/source/XdripPlugin.kt | 2 +- .../plugins/sync/nsShared/NSClientFragment.kt | 2 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 2 +- .../nsShared/events/EventNSClientStatus.kt | 2 +- .../DataSyncSelectorImplementation.kt | 2 +- .../sync/nsclient/NSClientAddUpdateWorker.kt | 2 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 2 +- .../sync/nsclient/NsClientReceiverDelegate.kt | 2 +- .../nsclient/data/NSDeviceStatusHandler.kt | 2 +- .../sync/nsclient/data/NSSettingsStatus.kt | 2 +- .../data/ProcessedDeviceStatusData.kt | 6 ++--- .../sync/nsclient/services/NSClientService.kt | 6 ++--- .../sync/nsclientV3/NSClientV3Plugin.kt | 6 ++--- .../EffectiveProfileSwitchExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 4 ++-- .../sync/nsclientV3/workers/LoadBgWorker.kt | 2 +- .../workers/LoadDeviceStatusWorker.kt | 4 ++-- .../workers/LoadTreatmentsWorker.kt | 2 +- .../workers/ProcessTreatmentsWorker.kt | 2 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 4 ++-- .../sync/tidepool/comm/TidepoolUploader.kt | 6 ++--- .../plugins/sync/tidepool/comm/UploadChunk.kt | 4 ++-- .../sync/tidepool/elements/BasalElement.kt | 2 +- .../sync/tidepool/elements/BaseElement.kt | 2 +- .../tidepool/elements/BloodGlucoseElement.kt | 2 +- .../sync/tidepool/elements/BolusElement.kt | 2 +- .../sync/tidepool/elements/ProfileElement.kt | 2 +- .../tidepool/elements/SensorGlucoseElement.kt | 2 +- .../sync/tidepool/elements/WizardElement.kt | 2 +- .../messages/OpenDatasetRequestMessage.kt | 4 ++-- .../plugins/sync/tidepool/utils/RateLimit.kt | 4 ++-- .../androidaps/receivers/KeepAliveWorker.kt | 6 ++--- .../androidaps/setupwizard/SWDefinition.kt | 2 +- .../androidaps/setupwizard/SWScreen.kt | 2 +- .../elements/SWEditEncryptedPassword.kt | 2 +- .../androidaps/setupwizard/elements/SWItem.kt | 2 +- .../nightscout/androidaps/utils/SntpClient.kt | 1 + .../alertDialogs/PrefImportSummaryDialog.kt | 2 +- .../alertDialogs/TwoMessagesAlertDialog.kt | 2 +- .../NotificationHolderImpl.kt | 2 +- .../utils/extensions/DeviceStatusExtension.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 6 ++--- .../utils/wizard/QuickWizardEntry.kt | 2 +- .../workflow/CalculationWorkflow.kt | 4 ++-- .../androidaps/workflow/LoadBgDataWorker.kt | 2 +- .../workflow/PrepareBasalDataWorker.kt | 2 +- .../workflow/PrepareBgDataWorker.kt | 2 +- .../workflow/PrepareBucketedDataWorker.kt | 2 +- .../PrepareIobAutosensGraphDataWorker.kt | 4 ++-- .../workflow/PreparePredictionsWorker.kt | 4 ++-- .../PrepareTemporaryTargetDataWorker.kt | 2 +- .../workflow/PrepareTreatmentsDataWorker.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../plugins/aps/loop/LoopPluginTest.kt | 4 ++-- .../configBuilder/ConfigBuilderPluginTest.kt | 2 +- .../objectives/ObjectivesPluginTest.kt | 4 ++-- .../maintenance/MaintenancePluginTest.kt | 2 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 4 ++-- .../AbstractSensitivityPluginTest.kt | 2 +- .../plugins/source/GlimpPluginTest.kt | 2 +- .../plugins/source/MM640GPluginTest.kt | 2 +- .../plugins/source/NSClientPluginTest.kt | 2 +- .../plugins/source/XdripPluginTest.kt | 2 +- .../nsclient/NsClientReceiverDelegateTest.kt | 2 +- .../androidaps/utils/SntpClientTest.kt | 1 + .../utils/wizard/BolusWizardTest.kt | 4 ++-- .../nightscout/automation/AutomationEvent.kt | 4 ++-- .../automation/AutomationFragment.kt | 4 ++-- .../nightscout/automation/AutomationPlugin.kt | 6 ++--- .../nightscout/automation/actions/Action.kt | 2 +- .../automation/actions/ActionAlarm.kt | 2 +- .../actions/ActionCarePortalEvent.kt | 4 ++-- .../automation/actions/ActionLoopResume.kt | 2 +- .../automation/actions/ActionProfileSwitch.kt | 2 +- .../automation/actions/ActionRunAutotune.kt | 2 +- .../actions/ActionStartTempTarget.kt | 2 +- .../actions/ActionStopTempTarget.kt | 2 +- .../dialogs/ChooseOperationDialog.kt | 2 +- .../automation/dialogs/EditEventDialog.kt | 2 +- .../automation/elements/Comparator.kt | 2 +- .../automation/elements/ComparatorConnect.kt | 2 +- .../automation/elements/ComparatorExists.kt | 2 +- .../elements/InputCarePortalMenu.kt | 2 +- .../automation/elements/InputDateTime.kt | 4 ++-- .../automation/elements/InputDelta.kt | 2 +- .../automation/elements/InputDropdownMenu.kt | 2 +- .../automation/elements/InputLocationMode.kt | 2 +- .../automation/elements/InputProfileName.kt | 2 +- .../automation/elements/InputTime.kt | 4 ++-- .../automation/elements/InputTimeRange.kt | 4 ++-- .../automation/elements/LabelWithElement.kt | 2 +- .../automation/elements/StaticLabel.kt | 2 +- .../automation/services/LocationService.kt | 2 +- .../nightscout/automation/triggers/Trigger.kt | 4 ++-- .../automation/triggers/TriggerConnector.kt | 2 +- .../automation/triggers/TriggerTime.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../automation/AutomationEventTest.kt | 2 +- .../automation/actions/ActionAlarmTest.kt | 4 ++-- .../actions/ActionNotificationTest.kt | 2 +- .../automation/actions/ActionsTestBase.kt | 2 +- .../triggers/TriggerRecurringTimeTest.kt | 2 +- .../automation/triggers/TriggerTimeTest.kt | 2 +- .../DaggerAppCompatActivityWithResult.kt | 2 +- .../nightscout/androidaps/data/IobTotal.kt | 2 +- .../androidaps/data/ProfileSealed.kt | 6 ++--- .../androidaps/data/PumpEnactResultImpl.kt | 2 +- .../nightscout/androidaps/di/CoreModule.kt | 2 +- .../androidaps/dialogs/BolusProgressDialog.kt | 2 +- .../dialogs/DialogFragmentWithDate.kt | 4 ++-- .../androidaps/dialogs/ErrorDialog.kt | 2 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 6 ++--- .../events/EventPreferenceChange.kt | 2 +- .../events/EventPumpStatusChanged.kt | 2 +- .../androidaps/events/EventStatus.kt | 2 +- .../androidaps/extensions/BlockExtension.kt | 4 ++-- .../BolusCalculatorResultExtension.kt | 2 +- .../androidaps/extensions/BolusExtension.kt | 2 +- .../extensions/EmptyRecyclerView.kt | 2 ++ .../extensions/ExtendedBolusExtension.kt | 4 ++-- .../extensions/GlucoseValueExtension.kt | 2 +- .../androidaps/extensions/HtmlString.kt | 2 +- .../androidaps/extensions/JSONObjectExt.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 4 ++-- .../extensions/PumpStateExtension.kt | 4 ++-- .../extensions/TemporaryBasalExtension.kt | 4 ++-- .../extensions/TemporaryTargetExtension.kt | 4 ++-- .../extensions/TotalDailyDoseExtension.kt | 4 ++-- .../androidaps/interfaces/PluginBase.kt | 1 + .../androidaps/interfaces/Profile.kt | 3 ++- .../androidaps/interfaces/ProfileStore.kt | 3 ++- .../androidaps/interfaces/PumpPluginBase.kt | 1 + .../androidaps/interfaces/stats/DexcomTIR.kt | 2 +- .../androidaps/interfaces/stats/TIR.kt | 4 ++-- .../androidaps/logging/UserEntryLogger.kt | 2 +- .../androidaps/plugins/aps/loop/APSResult.kt | 4 ++-- .../versionChecker/VersionCheckerUtils.kt | 6 ++--- .../maintenance/PrefFileListProvider.kt | 2 +- .../activities/PrefImportListActivity.kt | 2 +- .../formats/EncryptedPrefsFormat.kt | 2 +- .../plugins/general/overview/OverviewData.kt | 6 ++--- .../graphExtensions/BolusDataPoint.kt | 2 +- .../graphExtensions/CarbsDataPoint.kt | 2 +- .../EffectiveProfileSwitchDataPoint.kt | 4 ++-- .../graphExtensions/ExtendedBolusDataPoint.kt | 2 +- .../graphExtensions/GlucoseValueDataPoint.kt | 2 +- .../InMemoryGlucoseValueDataPoint.kt | 2 +- .../graphExtensions/TherapyEventDataPoint.kt | 2 +- .../iob/iobCobCalculator/AutosensDataStore.kt | 4 ++-- .../plugins/iob/iobCobCalculator/CobInfo.kt | 4 ++-- .../iobCobCalculator/GlucoseStatusProvider.kt | 2 +- .../iob/iobCobCalculator/data/AutosensData.kt | 4 ++-- .../plugins/pump/common/ble/BlePreCheck.kt | 2 +- .../bolusInfo/DetailedBolusInfoStorage.kt | 2 +- .../common/bolusInfo/TemporaryBasalStorage.kt | 2 +- .../plugins/pump/common/defs/PumpType.kt | 2 +- .../androidaps/queue/commands/Command.kt | 2 +- .../androidaps/services/AlarmSoundService.kt | 2 +- .../androidaps/utils/ActionModeHelper.kt | 2 +- .../androidaps/utils/DecimalFormatter.kt | 2 +- .../nightscout/androidaps/utils/HardLimits.kt | 2 +- .../nightscout/androidaps/utils/Translator.kt | 2 +- .../nightscout/androidaps/utils/WarnColors.kt | 2 +- .../androidaps/utils/alertDialogs/OKDialog.kt | 2 +- .../utils/alertDialogs/WarningDialog.kt | 2 +- .../utils/protection/BiometricCheck.kt | 2 +- .../utils/protection/ProtectionCheck.kt | 2 +- .../resources/ResourceHelperImplementation.kt | 2 +- .../androidaps/utils/ui/NumberPicker.kt | 2 +- .../androidaps/utils/ui/UIRunnable.kt | 2 +- .../androidaps/utils/ui/WeekdayPicker.kt | 2 +- .../userEntry/UserEntryPresentationHelper.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../androidaps/data/IobTotalTest.kt | 2 +- .../nightscout/androidaps/data/ProfileTest.kt | 4 ++-- .../extensions/BlockExtensionKtTest.kt | 2 +- .../VersionCheckerUtilsKtTest.kt | 4 ++-- .../formats/EncryptedPrefsFormatTest.kt | 2 +- .../iob/iobCalculator/GlucoseStatusTest.kt | 4 ++-- .../iobCobCalculator/AutosensDataStoreTest.kt | 4 ++-- .../androidaps/utils/DateUtilTest.kt | 4 +++- .../info/nightscout/androidaps/utils/TTest.kt | 1 + .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/BolusTimerImpl.kt | 2 +- .../implementation/CarbTimerImpl.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 6 ++--- .../implementation/TrendCalculatorImpl.kt | 4 ++-- .../implementation/XDripBroadcastImpl.kt | 4 ++-- .../queue/CommandQueueImplementation.kt | 4 ++-- .../implementation/queue/QueueThread.kt | 4 ++-- .../queue/commands/CommandReadStatus.kt | 2 +- .../queue/commands/CommandSMBBolus.kt | 4 ++-- .../queue/commands/CommandSetProfile.kt | 2 +- .../stats/DexcomTirCalculatorImpl.kt | 6 ++--- .../implementation/stats/DexcomTirImpl.kt | 2 +- .../implementation/stats/TddCalculatorImpl.kt | 6 ++--- .../implementation/stats/TirCalculatorImpl.kt | 6 ++--- .../implementation/stats/TirImpl.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../implementation/BolusTimerImplTest.kt | 4 ++-- .../implementation/CarbTimerImplTest.kt | 4 ++-- .../queue/CommandQueueImplementationTest.kt | 4 ++-- .../pump/insight/InsightAlertService.java | 2 +- .../pump/insight/LocalInsightFragment.java | 4 ++-- .../pump/insight/LocalInsightPlugin.java | 6 ++--- .../plugins/pump/insight/utils/AlertUtils.kt | 2 +- interfaces/build.gradle | 6 +++++ .../general/openhumans/OpenHumansUploader.kt | 2 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 6 ++--- .../constraints/dstHelper/DstHelperPlugin.kt | 4 ++-- .../phoneChecker/PhoneCheckerPlugin.kt | 2 +- .../SignatureVerifierPlugin.kt | 2 +- .../storage/StorageConstraintPlugin.kt | 2 +- .../versionChecker/VersionCheckerPlugin.kt | 4 ++-- .../plugins/general/autotune/AutotuneFS.kt | 2 +- .../general/autotune/AutotuneFragment.kt | 8 +++---- .../plugins/general/autotune/AutotuneIob.kt | 4 ++-- .../general/autotune/AutotunePlugin.kt | 6 ++--- .../plugins/general/autotune/AutotunePrep.kt | 4 ++-- .../general/autotune/data/ATProfile.kt | 6 ++--- .../plugins/general/autotune/data/BGDatum.kt | 4 ++-- .../plugins/general/autotune/data/CRDatum.kt | 2 +- .../general/autotune/data/PreppedGlucose.kt | 2 +- .../plugins/general/food/FoodFragment.kt | 4 ++-- .../plugins/general/food/FoodPlugin.kt | 2 +- .../general/smsCommunicator/AuthRequest.kt | 6 ++--- .../SmsCommunicatorFragment.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 6 ++--- .../smsCommunicator/otp/OneTimePassword.kt | 4 ++-- .../general/themes/ThemeSwitcherPlugin.kt | 2 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/ActivityGraph.kt | 2 +- .../plugins/insulin/InsulinFragment.kt | 2 +- .../plugins/insulin/InsulinLyumjevPlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 4 ++-- .../insulin/InsulinOrefFreePeakPlugin.kt | 2 +- .../insulin/InsulinOrefRapidActingPlugin.kt | 2 +- .../InsulinOrefUltraRapidActingPlugin.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 6 ++--- .../plugins/profile/ProfilePlugin.kt | 4 ++-- .../nsclient/extensions/BolusExtension.kt | 2 +- .../nsclient/extensions/CarbsExtension.kt | 2 +- .../EffectiveProfileSwitchExtension.kt | 2 +- .../extensions/ExtendedBolusExtension.kt | 4 ++-- .../extensions/OfflineEventExtension.kt | 4 ++-- .../extensions/ProfileSwitchExtension.kt | 4 ++-- .../extensions/TemporaryBasalExtension.kt | 4 ++-- .../extensions/TemporaryTargetExtension.kt | 4 ++-- .../extensions/TherapyEventExtension.kt | 6 ++--- .../nightscout/plugins/ui/TimeListEdit.java | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../BgQualityCheckPluginTest.kt | 6 ++--- .../dstHelper/DstHelperPluginTest.kt | 2 +- .../SignatureVerifierPluginTest.kt | 2 +- .../storage/StorageConstraintPluginTest.kt | 2 +- .../general/autotune/AutotuneCoreTest.kt | 4 ++-- .../general/autotune/AutotunePrepTest.kt | 4 ++-- .../smsCommunicator/AuthRequestTest.kt | 6 ++--- .../SmsCommunicatorPluginTest.kt | 4 ++-- .../insulin/InsulinLyumjevPluginTest.kt | 2 +- .../insulin/InsulinOrefBasePluginTest.kt | 2 +- .../insulin/InsulinOrefFreePeakPluginTest.kt | 2 +- .../InsulinOrefRapidActingPluginTest.kt | 2 +- .../InsulinOrefUltraRapidActingPluginTest.kt | 2 +- .../plugins/pump/combo/ComboFragment.kt | 6 ++--- .../plugins/pump/combo/ComboPlugin.java | 6 ++--- .../plugins/pump/combo/ComboPluginTest.kt | 4 ++-- .../androidaps/dana/DanaFragment.kt | 8 +++---- .../nightscout/androidaps/dana/DanaPump.kt | 4 ++-- .../dana/activities/DanaHistoryActivity.kt | 4 ++-- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../danaRKorean/DanaRKoreanPlugin.kt | 4 ++-- .../services/DanaRKoreanExecutionService.java | 6 ++--- .../androidaps/danaRv2/DanaRv2Plugin.java | 6 ++--- .../danaRv2/comm/MsgHistoryEventsV2.kt | 2 +- .../services/DanaRv2ExecutionService.java | 6 ++--- .../androidaps/danar/AbstractDanaRPlugin.java | 4 ++-- .../androidaps/danar/DanaRPlugin.java | 4 ++-- .../androidaps/danar/comm/MessageBase.kt | 4 ++-- .../androidaps/danar/comm/MsgHistoryAll.kt | 2 +- .../danar/comm/MsgStatusBolusExtended.kt | 2 +- .../danar/comm/MsgStatusTempBasal.kt | 2 +- .../AbstractDanaRExecutionService.java | 4 ++-- .../danar/services/DanaRExecutionService.java | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 4 ++-- .../danaR/comm/MsgStatusBolusExtendedTest.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 6 ++--- .../androidaps/danars/comm/DanaRSPacket.kt | 2 +- .../comm/DanaRSPacketAPSHistoryEvents.kt | 4 ++-- .../comm/DanaRSPacketBasalGetBasalRate.kt | 2 +- .../comm/DanaRSPacketBolusGetBolusOption.kt | 2 +- .../comm/DanaRSPacketBolusSetStepBolusStop.kt | 2 +- .../comm/DanaRSPacketGeneralGetPumpCheck.kt | 2 +- .../danars/comm/DanaRSPacketHistory.kt | 2 +- .../danars/comm/DanaRSPacketNotifyAlarm.kt | 2 +- .../DanaRSPacketNotifyDeliveryComplete.kt | 2 +- .../DanaRSPacketNotifyDeliveryRateDisplay.kt | 2 +- .../danars/dialogs/PairingProgressDialog.java | 2 +- .../androidaps/danars/services/BLEComm.kt | 6 ++--- .../danars/services/DanaRSService.kt | 6 ++--- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../androidaps/diaconn/DiaconnG8Fragment.kt | 6 ++--- .../androidaps/diaconn/DiaconnG8Plugin.kt | 6 ++--- .../androidaps/diaconn/DiaconnG8Pump.kt | 4 ++-- .../activities/DiaconnG8HistoryActivity.kt | 4 ++-- .../packet/BasalLimitInquireResponsePacket.kt | 2 +- .../BigAPSMainInfoInquireResponsePacket.kt | 2 +- .../packet/BigLogInquireResponsePacket.kt | 6 ++--- .../BigMainInfoInquireResponsePacket.kt | 2 +- .../diaconn/packet/DiaconnG8Packet.java | 2 +- .../IncarnationInquireResponsePacket.kt | 2 +- ...njectionExtendedBolusResultReportPacket.kt | 2 +- .../InjectionSnackResultReportPacket.kt | 2 +- .../packet/SerialNumInquireResponsePacket.kt | 2 +- .../diaconn/service/BLECommonService.kt | 2 +- .../diaconn/service/DiaconnG8Service.kt | 4 ++-- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 6 ++--- .../pump/eopatch/alarm/AlarmManager.kt | 4 ++-- .../pump/eopatch/ble/PatchManager.java | 4 ++-- .../pump/eopatch/ui/dialogs/AlarmDialog.kt | 2 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 22 +++++++++---------- .../eopatch/ui/viewmodel/EopatchViewModel.kt | 2 +- .../pump/medtronic/MedtronicFragment.kt | 8 +++---- .../pump/medtronic/MedtronicPumpPlugin.kt | 6 ++--- .../comm/ui/MedtronicUIPostprocessor.kt | 2 +- .../medtronic/data/MedtronicHistoryData.kt | 2 +- .../data/dto/RLHistoryItemMedtronic.kt | 2 +- .../dialog/MedtronicHistoryActivity.kt | 2 +- .../medtronic/driver/MedtronicPumpStatus.kt | 2 +- .../pump/medtronic/util/MedtronicUtil.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../common/fragment/ActionFragmentBase.kt | 2 +- .../common/fragment/WizardFragmentBase.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 6 ++--- .../dash/ui/DashPodManagementActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 4 ++-- .../action/DashInitializePodViewModel.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 2 +- .../plugins/pump/omnipod/dash/util/I8n.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 6 ++--- .../eros/data/RLHistoryItemOmnipod.java | 2 +- .../eros/manager/AapsOmnipodErosManager.java | 4 ++-- .../eros/ui/ErosPodHistoryActivity.java | 2 +- .../eros/ui/ErosPodManagementActivity.kt | 2 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 4 ++-- .../omnipod/eros/util/AapsOmnipodUtil.java | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 4 ++-- .../pump/common/ble/BondStateReceiver.kt | 2 +- .../pump/common/defs/PumpHistoryEntryGroup.kt | 2 +- .../driver/ble/PumpBLESelectorAbstract.kt | 2 +- .../common/driver/history/PumpHistoryEntry.kt | 2 +- .../pump/common/ui/PumpBLEConfigActivity.kt | 2 +- .../pump/common/ui/PumpHistoryActivity.kt | 2 +- .../plugins/pump/common/utils/StringUtil.java | 2 +- .../dialog/RileyLinkBLEConfigActivity.kt | 2 +- .../EventRileyLinkDeviceStatusChange.kt | 2 +- .../pump/common/hw/rileylink/ble/RFSpy.java | 2 +- .../ble/defs/RileyLinkEncodingType.java | 2 +- .../hw/rileylink/data/RLHistoryItem.java | 2 +- .../dialog/RileyLinkStatusGeneralFragment.kt | 4 ++-- .../dialog/RileyLinkStatusHistoryFragment.kt | 4 ++-- .../hw/rileylink/service/RileyLinkService.kt | 2 +- .../tasks/ResetRileyLinkConfigurationTask.kt | 2 +- .../service/tasks/WakeAndTuneTask.kt | 2 +- .../ui/activities/SurveyActivity.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- .../ui/activities/TreatmentsActivity.kt | 2 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 8 +++---- .../fragments/TreatmentsCareportalFragment.kt | 8 +++---- .../TreatmentsExtendedBolusesFragment.kt | 8 +++---- .../TreatmentsProfileSwitchFragment.kt | 8 +++---- .../fragments/TreatmentsTempTargetFragment.kt | 8 +++---- .../TreatmentsTemporaryBasalsFragment.kt | 8 +++---- .../fragments/TreatmentsUserEntryFragment.kt | 8 +++---- .../ui/defaultProfile/DefaultProfile.kt | 2 +- .../ui/defaultProfile/DefaultProfileDPV.kt | 2 +- .../ui/dialogs/CalibrationDialog.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 4 ++-- .../info/nightscout/ui/dialogs/CareDialog.kt | 4 ++-- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 4 ++-- .../nightscout/ui/utils/ActivityMonitor.kt | 6 ++--- .../java/info/nightscout/ui/widget/Widget.kt | 6 ++--- .../androidaps/TestBaseWithProfile.kt | 4 ++-- .../nightscout/androidaps/di/WearModule.kt | 2 +- .../actions/QuickSnoozeActivity.kt | 2 +- .../interaction/utils/Inevitable.kt | 2 +- .../interaction/utils/Persistence.kt | 2 +- .../watchfaces/DigitalStyleWatchface.kt | 2 +- .../watchfaces/utils/BaseWatchFace.kt | 6 ++--- .../watchfaces/utils/BgGraphBuilder.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- 486 files changed, 817 insertions(+), 802 deletions(-) rename {pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventRefreshButtonState.kt (62%) rename app-wear-shared/{shared/src/main/java/info/nightscout/shared => shared-impl/src/main/java/info/nightcout/shared/impl}/sharedPreferences/Delegates.kt (96%) rename app-wear-shared/{shared/src/main/java/info/nightscout/shared => shared-impl/src/main/java/info/nightcout/shared/impl}/sharedPreferences/SPImplementation.kt (98%) rename app-wear-shared/shared/src/main/java/info/nightscout/{androidaps => shared}/extensions/PackageManagerExtension.kt (96%) rename app-wear-shared/shared/src/main/java/info/nightscout/{androidaps => shared}/extensions/UIUtils.kt (87%) rename app-wear-shared/shared/src/main/java/info/nightscout/{androidaps => shared}/interfaces/ResourceHelper.kt (97%) rename app-wear-shared/shared/src/main/java/info/nightscout/{androidaps => shared}/utils/DateUtil.kt (98%) rename app-wear-shared/shared/src/main/java/info/nightscout/{androidaps => shared}/utils/T.kt (95%) diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshButtonState.kt similarity index 62% rename from pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshButtonState.kt index 401e40083f..109994ab2e 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRefreshButtonState.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventRefreshButtonState.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.common.events +package info.nightscout.rx.events import info.nightscout.rx.events.Event diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt index 38f8b32239..01f092c1fb 100644 --- a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt @@ -1,5 +1,7 @@ -package info.nightscout.rx.di +package info.nightcout.shared.impl.di +import android.content.Context +import androidx.preference.PreferenceManager import dagger.Module import dagger.Provides import info.nightcout.shared.impl.logging.LImpl @@ -13,6 +15,10 @@ import javax.inject.Singleton ) open class SharedImplModule { + @Provides + @Singleton + fun provideSharedPreferences(context: Context): SP = info.nightcout.shared.impl.sharedPreferences.SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) + @Provides @Singleton fun provideL(sp: SP): L = LImpl(sp) diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt similarity index 96% rename from app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt index a7f80f7128..9c88ce07d8 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/Delegates.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt @@ -1,5 +1,6 @@ -package info.nightscout.shared.sharedPreferences +package info.nightcout.shared.impl.sharedPreferences +import info.nightscout.shared.sharedPreferences.SP import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt similarity index 98% rename from app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt index 71ebc4808c..6e1763a819 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/shared/sharedPreferences/SPImplementation.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt @@ -1,10 +1,11 @@ -package info.nightscout.shared.sharedPreferences +package info.nightcout.shared.impl.sharedPreferences import android.annotation.SuppressLint import android.content.Context import android.content.SharedPreferences import androidx.annotation.StringRes import info.nightscout.shared.SafeParse +import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt index 51536f3d29..e5b7f70778 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/di/SharedModule.kt @@ -1,20 +1,10 @@ package info.nightscout.shared.di -import android.content.Context -import androidx.preference.PreferenceManager import dagger.Module -import dagger.Provides -import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.sharedPreferences.SPImplementation -import javax.inject.Singleton @Module( includes = [ ] ) open class SharedModule { - - @Provides - @Singleton - fun provideSharedPreferences(context: Context): SP = SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) } \ No newline at end of file diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/PackageManagerExtension.kt similarity index 96% rename from app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/PackageManagerExtension.kt index a1a37df5f3..003236cd9e 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/PackageManagerExtension.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/PackageManagerExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.shared.extensions import android.content.Intent import android.content.pm.PackageInfo diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/UIUtils.kt similarity index 87% rename from app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/UIUtils.kt index 874ce798e6..431db3162c 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/extensions/UIUtils.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/extensions/UIUtils.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.shared.extensions import android.os.Handler import android.os.Looper diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/interfaces/ResourceHelper.kt similarity index 97% rename from app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/interfaces/ResourceHelper.kt index b7371e967e..d17cda614e 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/interfaces/ResourceHelper.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/interfaces/ResourceHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.shared.interfaces import android.content.Context import android.content.res.AssetFileDescriptor diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/DateUtil.kt similarity index 98% rename from app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/DateUtil.kt index 64f169c193..1ed083888d 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/DateUtil.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/DateUtil.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.utils +package info.nightscout.shared.utils import android.content.Context import android.os.Build import androidx.annotation.RequiresApi import androidx.collection.LongSparseArray import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.R import info.nightscout.shared.SafeParse import org.apache.commons.lang3.time.DateUtils.isSameDay @@ -119,10 +119,10 @@ class DateUtil @Inject constructor(private val context: Context) { val beginOfToday = beginOfDay(now()) return if (mills < now()) // Past when { - mills > beginOfToday -> rh.gs(R.string.today) + mills > beginOfToday -> rh.gs(R.string.today) mills > beginOfToday - T.days(1).msecs() -> rh.gs(R.string.yesterday) mills > beginOfToday - T.days(7).msecs() -> dayAgo(mills, rh, true) - else -> day + else -> day } else // Future when { diff --git a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/T.kt b/app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/T.kt similarity index 95% rename from app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/T.kt rename to app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/T.kt index 6a0f540b28..d2dbe761f3 100644 --- a/app-wear-shared/shared/src/main/java/info/nightscout/androidaps/utils/T.kt +++ b/app-wear-shared/shared/src/main/java/info/nightscout/shared/utils/T.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.shared.utils @Suppress("SpellCheckingInspection") class T(val time: Long = 0L) { diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 8669daa0d7..b3068cce38 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -28,7 +28,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils @@ -40,7 +40,7 @@ import info.nightscout.androidaps.receivers.KeepAliveWorker import info.nightscout.androidaps.receivers.NetworkChangeReceiver import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.ProcessLifecycleListener import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index 11df4a9bf5..e5e409fbe9 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -13,18 +13,18 @@ import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.extensions.toVisibilityKeepSpace +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAutosensCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index b434c87629..da614de8cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -4,10 +4,10 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.workflow.CalculationWorkflow diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 759c30d795..ed0f7f6242 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -27,7 +27,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt index bbf79e13dd..f96c52231b 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt @@ -15,13 +15,13 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding import info.nightscout.androidaps.dialogs.ProfileViewerDialog -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.plugins.profile.ProfilePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index 7bf8b71f5c..e6789a9b8c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -25,7 +25,7 @@ import info.nightscout.automation.di.AutomationModule import info.nightscout.implementation.di.ImplementationModule import info.nightscout.plugins.di.PluginsModule import info.nightscout.rx.di.RxModule -import info.nightscout.rx.di.SharedImplModule +import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.shared.di.SharedModule import info.nightscout.ui.di.UiModule import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index df429cd091..e9d2a00a84 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -30,7 +30,7 @@ import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -47,7 +47,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorP import info.nightscout.androidaps.plugins.pump.PumpSyncImplementation import info.nightscout.androidaps.plugins.sync.nsclient.DataSyncSelectorImplementation import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index 5bc5f11a9c..fac792c765 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -17,7 +17,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index c6c27ae420..a92d423bb0 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -21,7 +21,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 48d020b7d7..a4920b99eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogInsulinBinding import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BolusTimer @@ -29,13 +29,13 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 2bf606bcc8..bc1bc5cb42 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -21,8 +21,8 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEven import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.databinding.DialogLoopBinding import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.extensions.runOnUiThread -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue @@ -34,13 +34,13 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt index 13a753f17f..5336b64407 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt @@ -8,7 +8,7 @@ import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.DialogBolusprogressBinding -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index e92f10d54c..379d769d54 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -19,17 +19,17 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogProfileswitchBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index d1589f1561..d7db5e0fee 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index 1bfd70b4a7..769fb7ed12 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.interfaces.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 40a432fe52..aa0d2b94ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 36df01c9bb..2cf3e9cb6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -25,8 +25,8 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.databinding.DialogWizardBinding import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.extensions.runOnUiThread -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraint @@ -35,8 +35,8 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt index 99d047eac1..335bb0eca1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt @@ -16,10 +16,10 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OpenapsFragmentBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.JSONFormatter import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index bc60f20f48..7eac530a47 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -16,10 +16,10 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 5a34e252df..f42529c2d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -41,7 +41,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui @@ -51,10 +51,10 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 14797d64db..d09b6c367f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -18,14 +18,14 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 825ae79077..3f2f6ff8f3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 5d70de8377..fe6bae54a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -20,14 +20,14 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.interfaces.aps.SMBDefaults diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 4440c3467e..54be09e70a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -15,14 +15,14 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 1581f7ed59..3883b1ad57 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -11,11 +11,11 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index ba1cd689fe..23335b1531 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -19,13 +19,13 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index c22ac4fbc5..d1f22fd2c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index cd028221c4..8b1c22c0fc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -12,12 +12,12 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt index 4d1db04996..ceb1e700ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index b3999456ba..d178ac41d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -23,14 +23,14 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding import info.nightscout.androidaps.databinding.ObjectivesItemBinding import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.setupwizard.events.EventSWUpdate -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.SntpClient diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index 94e02b782f..f7b39ecb05 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt index b647ed53b0..fc917ae093 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt @@ -7,13 +7,13 @@ import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ObjectivesExamFragmentBinding -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.Option -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.bus.RxBus import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt index 9929db80e8..830fb04c77 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt @@ -9,9 +9,9 @@ import androidx.annotation.StringRes import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import java.util.* import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt index 2a41557913..efbbc91a97 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T class Objective10(injector: HasAndroidInjector) : Objective(injector, "auto", R.string.objectives_auto_objective, R.string.objectives_auto_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt index 5a89f50ff9..36d6dc1e2b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import javax.inject.Inject @Suppress("SpellCheckingInspection") diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt index 8a5393fd5a..e570952c4a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import javax.inject.Inject @Suppress("SpellCheckingInspection") diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt index e15e5279a3..2999b02c49 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import javax.inject.Inject @Suppress("SpellCheckingInspection") diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt index 1f99b50164..57698d2fcb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T class Objective7(injector: HasAndroidInjector) : Objective(injector, "autosens", R.string.objectives_autosens_objective, R.string.objectives_autosens_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt index df9bbccafe..9ea48b4bf9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T class Objective9(injector: HasAndroidInjector) : Objective(injector, "smb", R.string.objectives_smb_objective, R.string.objectives_smb_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index 7713151d85..58aea81850 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -19,7 +19,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin @@ -27,7 +27,7 @@ import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDyn import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 9b1872ff3a..9a9f9d9db3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper @@ -33,13 +33,13 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.skins.SkinProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index cf2f611875..62a3d26dd8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 6a9e7a9307..4138355326 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -7,20 +7,20 @@ import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes -import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers +import info.nightscout.shared.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.Config diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index 94059fc847..c4d7ed5539 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -33,7 +33,7 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ImportExportPrefs -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError @@ -43,9 +43,9 @@ import info.nightscout.interfaces.data.maintenance.Prefs import info.nightscout.interfaces.data.maintenance.PrefsFormat import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 683922c9cd..b4688b4ec8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -16,13 +16,13 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.insight.database.InsightDatabase import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity import info.nightscout.androidaps.plugins.general.overview.OverviewData diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index 418624b6d4..a2753670e1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 00f0059ae1..68e24c07ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -46,8 +46,8 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.androidaps.extensions.runOnUiThread -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -59,7 +59,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification @@ -80,7 +80,7 @@ import info.nightscout.androidaps.plugins.source.XdripPlugin import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.skins.SkinProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index 055f579deb..e32fef0f32 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.R import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index fce3ed8ccd..6facf41961 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index 2ad816f816..c1ad2d89b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -11,10 +11,10 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index f19fd18d94..9e0a4fdbf6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -18,11 +18,11 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.databinding.OverviewQuickwizardlistActivityBinding import info.nightscout.androidaps.databinding.OverviewQuickwizardlistItemBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt index 94287c7701..b89c07ec32 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt @@ -13,8 +13,8 @@ import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewEditquickwizardDialogBinding import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.selectedItemPosition import info.nightscout.androidaps.utils.extensions.setEnableForChildren import info.nightscout.androidaps.utils.extensions.setSelection diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index 3c4355c26f..35e58e4ff0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -11,7 +11,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt index b30043ef3f..787d988091 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt @@ -17,10 +17,10 @@ import info.nightscout.androidaps.databinding.OverviewNotificationItemBinding import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt index 1aa1a7e0b1..2c8bd8c49a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.general.overview.notifications import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 6a46f13241..84476757f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -21,7 +21,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt index 37f6193315..d2bf545ca9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.databinding.WearFragmentBinding import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index ab221c3824..f0ebe5f9b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.rx.events.EventOverviewBolusProgress diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index dbb01a3e57..93ce00d453 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -33,7 +33,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint @@ -41,12 +41,12 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index da9390fddf..e8ddf0792e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -22,7 +22,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index de64470006..fb9f250a26 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -27,14 +27,14 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index b6fd44d7e2..a5913840a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification @@ -24,11 +24,11 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index b5c4aadb42..0709de9bb7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification @@ -22,11 +22,11 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt index 07588f3cb0..808a6cda76 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt @@ -32,14 +32,14 @@ import info.nightscout.androidaps.database.transactions.SyncTemporaryBasalWithTe import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt index 102d588ffa..dd1af9d626 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt @@ -12,11 +12,11 @@ import info.nightscout.androidaps.databinding.VirtualpumpFragmentBinding import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt index edf56a75ea..d7b24cabcb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -23,17 +23,17 @@ import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.InstanceId -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index f7586edf4b..27233787dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 2f3d6cd790..ebad2db295 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 8e56dd9433..2c0164e4e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 91cfd402ce..7e5b9b2bf2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -8,12 +8,12 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index 41ff71caa2..d0bb5b6ac1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt index 61b5f1ee7e..e155dd9bd3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt @@ -25,17 +25,17 @@ import info.nightscout.androidaps.databinding.BgsourceFragmentBinding import info.nightscout.androidaps.databinding.BgsourceItemBinding import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index 989704f72d..c1a9c3bebb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -18,20 +18,20 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.extensions.safeGetInstalledPackages +import info.nightscout.shared.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index 8b71e20ed0..712b1db606 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index c39c0a7628..5026cd4330 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index c167a7b742..51ce38808d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -17,12 +17,12 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 1844253adf..4393861eec 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -15,17 +15,17 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.extensions.safeGetInstalledPackages +import info.nightscout.shared.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index 0e4b508197..cad68c1ee8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt index 0fd10c3c76..bf803033aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt @@ -12,14 +12,14 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSgv import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index ab9da0a3eb..402e2d5f32 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index 2865dc34df..b94c25009b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index 584d650b79..06bffd9096 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 8f5e6eaabb..b2e19ed545 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt index 83823bf94b..4e1f003f0e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginFragment -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt index 3028832d48..fa139ebde4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt @@ -40,7 +40,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt index e83c862a99..0ed0d48916 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sync.nsShared.events import info.nightscout.androidaps.events.EventStatus import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class EventNSClientStatus(var text: String, val version: NsClient.Version) : EventStatus() { override fun getStatus(rh: ResourceHelper): String = text diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 0fe20d456f..92c544d2f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.plugins.sync.nsclient.extensions.toJson -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.toJson import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt index be311e750f..336d7b3d7a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.JsonHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt index 61a221f41f..7220ddc5c8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt index 3f1e92b68e..418b146987 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sync.nsclient import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt index 8a18a1d423..321117d679 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sync.nsclient.data import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt index a9686fff86..4665b6f477 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt index 4f69f66db6..6af1385cf0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.plugins.sync.nsclient.data import android.text.Spanned import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.APSResult -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt index ed2e809482..470a4162a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -44,9 +44,9 @@ import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandl import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T.Companion.mins +import info.nightscout.shared.utils.T.Companion.mins import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 3aeed76751..a4218cb84c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment @@ -30,9 +30,9 @@ import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadBgWorker import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadLastModificationWorker import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadStatusWorker -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt index a022d65380..2b97063c31 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.sync.nsclient.extensions.fromConstant import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt index 46652e8598..41f27cc3da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -4,8 +4,8 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt index 070be71a8a..e9736e6939 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt index 2f07cb139c..c4f528421a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewL import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandler import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import kotlinx.coroutines.runBlocking diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt index e7b98e3355..bf6f08a54e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import kotlinx.coroutines.runBlocking diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index e1c48c4eb7..d9448aa17d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporary import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporaryTarget import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTherapyEvent import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt index 74b342cb94..66bc129d46 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolUpda import info.nightscout.androidaps.plugins.sync.tidepool.utils.RateLimit import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt index 54472b090a..4221589884 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt @@ -6,15 +6,15 @@ import android.os.SystemClock import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthRequestMessage import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage import info.nightscout.androidaps.plugins.sync.tidepool.messages.OpenDatasetRequestMessage import info.nightscout.androidaps.plugins.sync.tidepool.messages.UploadReplyMessage -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt index 2085630b64..44cf474e28 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt @@ -15,8 +15,8 @@ import info.nightscout.androidaps.plugins.sync.tidepool.elements.SensorGlucoseEl import info.nightscout.androidaps.plugins.sync.tidepool.elements.WizardElement import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus import info.nightscout.androidaps.plugins.sync.tidepool.utils.GsonInstance -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt index f4efd137c9..a848e95566 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt @@ -4,7 +4,7 @@ import com.google.gson.annotations.Expose import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.extensions.convertedToAbsolute -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class BasalElement(tbr: TemporaryBasal, private val profile: Profile, dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt index 59df1bec63..d761a2cf70 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil open class BaseElement(timestamp: Long, uuid: String, dateUtil: DateUtil) { @Expose diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt index e753a72906..7679dc39cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt @@ -4,7 +4,7 @@ import com.google.gson.annotations.Expose import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.plugins.sync.nsclient.extensions.toMainUnit -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class BloodGlucoseElement(therapyEvent: TherapyEvent, dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt index 436468e30a..0a3f0d1683 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class BolusElement(bolus: Bolus, dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt index 96cc274dd4..827ff2ba65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class ProfileElement(ps: EffectiveProfileSwitch, serialNumber: String, dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt index 757a12ce39..250e08ce82 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class SensorGlucoseElement(bgReading: GlucoseValue, private val dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt index c2e1b724f5..af80c5b30a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import java.util.* class WizardElement(carbs: Carbs, dateUtil: DateUtil) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt index 2de5434727..25e89a7883 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import java.util.* class OpenDatasetRequestMessage(serialNumber: String, dateUtil: DateUtil) : BaseMessage() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt index 482c01797d..ab4fcdd0c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.sync.tidepool.utils -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 6c5563fff4..d53dce1d33 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -22,13 +22,13 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index da21e80294..8ec20dd32e 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt index bb82acec9a..d6c1d0b298 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.setupwizard import dagger.android.HasAndroidInjector import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import java.util.* import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt index 60886e0efc..5d9c5e71b6 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt @@ -11,7 +11,7 @@ import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.setupwizard.SWTextValidator import info.nightscout.androidaps.utils.CryptoUtil diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt index 9e703c1e52..1dcff122c5 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt @@ -8,7 +8,7 @@ import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt index 0499951dfd..475507b645 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.utils import android.os.SystemClock import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil import java.net.DatagramPacket import java.net.DatagramSocket import java.net.InetAddress diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt index 22d28f496a..cf7146d777 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt @@ -18,7 +18,7 @@ import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.R -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.interfaces.data.maintenance.Prefs import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.ToastUtils diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt index d4f2787538..320d358a49 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt @@ -10,7 +10,7 @@ import android.widget.TextView import androidx.annotation.DrawableRes import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.R -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread object TwoMessagesAlertDialog { diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt index 0ac1a14f2a..2ec4057baf 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt index ffc3ddc8ac..94abd15d4b 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject fun DeviceStatus.toJson(dateUtil: DateUtil): JSONObject = diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index af7cd0b09f..437c732f7e 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -32,15 +32,15 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index 732f37eece..e47af141cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper.safeGetInt import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt index 88de76bf7f..9adfdb307b 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt @@ -14,14 +14,14 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOref1Worker import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOrefWorker import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt index 0e012a45f5..213b808af0 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt @@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt index 909ea4929c..6f3c7c47fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt @@ -11,7 +11,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 7b27505a00..e801c228c8 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Point import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import java.util.ArrayList import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt index b51cbfece8..7cf1837afe 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt @@ -7,7 +7,7 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.InMemoryGlucoseValueDataPoint diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index e0bd34f1e3..5db55ebc88 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus @@ -27,7 +27,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index eb70bcc3e3..6d367d0943 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -17,7 +17,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Point import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import java.util.Calendar diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index 8de67bd294..dd2fca9b9b 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index a210c90cbe..91ba8bcf23 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.CarbsDataPoint @@ -25,7 +25,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.rx.bus.RxBus import javax.inject.Inject diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index d3aeee31d2..cb737bf581 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -12,8 +12,8 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import org.json.JSONObject diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 8b46cc47a2..bc8df4dc93 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -16,12 +16,12 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt index 9fbac0640b..62079d1ca3 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt index da937f0aa9..68e78b4bc4 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index 581d87d18c..c762397071 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt index ffef9af52b..660339d5f3 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -8,9 +8,9 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index 3c16455548..e3aa72718d 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt index 065a7d0d7f..e1736d5c3e 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt index 4c6a487343..eb92cb7f0c 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt index 86b83f649f..ff3f949df6 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt index cc6e66c095..a3e87ff9b3 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt index cd70af2694..f70a6aa7a1 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.sync.nsclient import android.content.Context import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState diff --git a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt index 04f0156e77..7ead71d03d 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.utils import info.nightscout.androidaps.TestBase +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index e309afb5c4..1b10aacabe 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -15,11 +15,11 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import org.junit.Assert import org.junit.Test diff --git a/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt b/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt index 3c431ebd34..3ad795dd31 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt @@ -1,8 +1,8 @@ package info.nightscout.automation import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionDummy import info.nightscout.automation.actions.ActionStopProcessing diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index ec5cb94394..0ce2afe3df 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -25,8 +25,8 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index d9f94c15ab..e4974b0eae 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm import info.nightscout.automation.actions.ActionCarePortalEvent diff --git a/automation/src/main/java/info/nightscout/automation/actions/Action.kt b/automation/src/main/java/info/nightscout/automation/actions/Action.kt index d7c300a101..0981e487ce 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/Action.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/Action.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.triggers.Trigger import info.nightscout.rx.logging.AAPSLogger diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 829315fbe9..c16a3662e1 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -6,7 +6,7 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index 876478db84..4a143b4f78 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -13,9 +13,9 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.automation.R import info.nightscout.automation.elements.InputCarePortalMenu import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index b72747d481..d7cf38427f 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index f65109c293..d556930ad1 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index aefccf54e7..ca2d1c1455 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Autotune import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index d2a13544e6..ffc9af51db 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index d31a3644e0..48a6637cc3 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt index bd56e331ce..632a853d30 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import android.widget.RadioButton import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.databinding.AutomationDialogChooseOperationBinding import info.nightscout.automation.triggers.TriggerConnector import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt index 1a27dd9821..72bcdfab9d 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt @@ -11,7 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationEvent diff --git a/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt b/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt index cfb63d1295..5ecd472a0c 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class Comparator(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt b/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt index bf638d1548..3627d455b0 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class ComparatorConnect(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt b/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt index 055ecc8e15..e3fca470da 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class ComparatorExists(private val rh: ResourceHelper, var value: Compare = Compare.EXISTS) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt b/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt index 8f18fbf49e..488e8e4b34 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt @@ -9,7 +9,7 @@ import android.widget.Spinner import androidx.annotation.DrawableRes import androidx.annotation.StringRes import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class InputCarePortalMenu(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt index 7fd3d9d3d6..b11f0d18f0 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt @@ -12,8 +12,8 @@ import androidx.fragment.app.FragmentManager import com.google.android.material.datepicker.MaterialDatePicker import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R import java.util.Calendar diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt index 4115111e38..2fd2eb2a7f 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt index f4faa23301..615a6346c0 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt @@ -6,7 +6,7 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class InputDropdownMenu(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt b/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt index 47f139f4c9..a165842004 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class InputLocationMode(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt b/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt index 47b17fe30e..6bb1108cc5 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt @@ -7,7 +7,7 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R class InputProfileName(private val rh: ResourceHelper, private val activePlugin: ActivePlugin, val name: String = "", private val addActive: Boolean = false) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt index e494f6fca7..851d71b4ab 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt @@ -12,8 +12,8 @@ import androidx.fragment.app.FragmentManager import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import java.util.Calendar diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt index 0f388e88b9..016fa92a05 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt @@ -13,8 +13,8 @@ import androidx.fragment.app.FragmentManager import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import java.util.Calendar diff --git a/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt b/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt index 4d6b72d35b..fa73ca5dc3 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt @@ -4,7 +4,7 @@ import android.graphics.Typeface import android.view.Gravity import android.widget.LinearLayout import android.widget.TextView -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class LabelWithElement( private val rh: ResourceHelper, diff --git a/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt b/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt index 03455053e4..530640d537 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt @@ -4,7 +4,7 @@ import android.graphics.Typeface import android.view.ViewGroup import android.widget.LinearLayout import android.widget.TextView -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R import info.nightscout.automation.triggers.Trigger diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt index bc0605515e..21f6b21732 100644 --- a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt +++ b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt @@ -18,7 +18,7 @@ import com.google.android.gms.location.LocationServices import dagger.android.DaggerService import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.automation.R import info.nightscout.automation.events.EventLocationChange import info.nightscout.rx.AapsSchedulers diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt index 36a6344d42..37c1f23d67 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt @@ -13,9 +13,9 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R import info.nightscout.automation.dialogs.ChooseTriggerDialog import info.nightscout.automation.events.EventTriggerChanged diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt index b530e73e4c..7753a38fa8 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt @@ -9,7 +9,7 @@ import android.widget.TextView import androidx.annotation.StringRes import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.androidaps.utils.ui.VerticalTextView import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt index d3fd18ad13..68d10e1118 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.automation.R import info.nightscout.automation.elements.InputDateTime import info.nightscout.automation.elements.LayoutBuilder diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index edb91245cc..85a097a29c 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,8 +10,8 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index cf100ba22f..1680787d1b 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType diff --git a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt index bcaecd4d82..091c95c61e 100644 --- a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionLoopEnable import info.nightscout.automation.actions.ActionStopProcessing diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 4c1eba61e9..a734eed337 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -5,9 +5,9 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 820f30ae6a..1b6c5f3c11 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputString diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 1f7066c548..8be9dca969 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileSource -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt index 420886e011..94ae1bc1ec 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.triggers import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt index f5c01adea5..bdab5ffc22 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import org.json.JSONException import org.json.JSONObject import org.junit.Assert diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index 80fc72fe81..6e1c050b97 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -7,7 +7,7 @@ import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ImportExportPrefs -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.permissions.OptimizationPermissionContract diff --git a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt index 609ae15925..3e8c0c383c 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.Round import org.json.JSONException import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index b6b8cd4216..3aaaee0120 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -20,12 +20,12 @@ import info.nightscout.androidaps.interfaces.Profile.Companion.secondsFromMidnig import info.nightscout.androidaps.interfaces.Profile.Companion.toMgdl import info.nightscout.androidaps.interfaces.Profile.ProfileValue import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import org.json.JSONArray import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt index 30e5f2f034..eed77b2044 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.data import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.data.PumpEnactResult diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt b/core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt index 52b08039e3..7609530279 100644 --- a/core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt +++ b/core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt @@ -5,7 +5,7 @@ import android.os.Build import android.telephony.SmsManager import dagger.Module import dagger.Provides -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.resources.ResourceHelperImplementation import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index 6214485f5e..0258993c5c 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.rx.events.EventOverviewBolusProgress diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt index 108a19fbfb..3417716d58 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt @@ -14,8 +14,8 @@ import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt index e1b9a95cf2..9b901f2814 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index e91acf1be7..4206dad71c 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -14,12 +14,12 @@ import info.nightscout.androidaps.core.databinding.DialogProfileviewerBinding import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.androidaps.utils.extensions.pureProfileFromJson diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt b/core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt index 8781fb5bab..edf853afe1 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt +++ b/core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.Event class EventPreferenceChange : Event { diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt b/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt index 935ef1d008..b8e251c0eb 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt +++ b/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.events import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class EventPumpStatusChanged : EventStatus { diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt b/core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt index 7536e9cd90..138787d662 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt +++ b/core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.Event // pass string to startup wizard diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt index 972a602573..013b1536eb 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 1073b543ba..001952e053 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.database.entities.BolusCalculatorResult import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 9727aa143f..34162b2368 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt b/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt index b9a8aba3c5..7601bc1f08 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt @@ -4,6 +4,8 @@ import android.content.Context import android.util.AttributeSet import android.view.View import androidx.recyclerview.widget.RecyclerView +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility class EmptyRecyclerView : RecyclerView { diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index daf803471a..619ae5c390 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -8,9 +8,9 @@ import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index 79d0faf2ad..d5c3be00b7 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt b/core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt index f22227f657..72df946cea 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.extensions import android.content.Context import androidx.annotation.AttrRes import androidx.annotation.ColorRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper fun String.formatBold(): String = "$this" diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt b/core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt index acbccbb4e5..4079c6bbe9 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index c4f297fc20..fd5b58556f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.targetBlockFromJsonArray import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import org.json.JSONObject import java.util.TimeZone diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt index 42bc522b74..755243fca2 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index e06ff75f4b..7553aa59f8 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max import kotlin.math.min diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index 4a221c85bc..fac501c109 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -4,8 +4,8 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.Constants import java.util.concurrent.TimeUnit diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt index cfe75f642f..fa5afa61c9 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt @@ -7,8 +7,8 @@ import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper val TotalDailyDose.total get() = if (totalAmount > 0) totalAmount else basalAmount + bolusAmount diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt index 08a4c28c58..37487cbca0 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt @@ -7,6 +7,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper /** * Created by mike on 09.06.2016. diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index 7bae1e82b1..2b08583a0a 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -2,13 +2,14 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.DateTime import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index 4909610ceb..364022fefc 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -4,13 +4,14 @@ import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index 27a013bc82..acf64b8d6c 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -6,6 +6,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper abstract class PumpPluginBase( pluginDescription: PluginDescription, diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt index 925b728ca2..580f4f23a1 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt @@ -4,7 +4,7 @@ import android.content.Context import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper interface DexcomTIR { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt index ba7b6a5a13..4cdfc13e64 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.interfaces.stats import android.content.Context import android.widget.TableRow -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil interface TIR { diff --git a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt index 458573003d..36f87e20ae 100644 --- a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt +++ b/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.UserEntryTransaction -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.userEntry.UserEntryMapper import info.nightscout.androidaps.utils.userEntry.ValueWithUnitMapper import info.nightscout.rx.AapsSchedulers diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 5f6d1521c1..837b39ca8f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index d297303d1c..f25cb683a0 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.constraints.versionChecker import android.os.Build import info.nightscout.androidaps.core.R import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index bbd9ad2157..fd4ee5aef2 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.* -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.data.maintenance.PrefMetadata import info.nightscout.interfaces.data.maintenance.PrefMetadataMap diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt index 9e9bef24fc..1534c51271 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.interfaces.locale.LocaleHelper -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class PrefImportListActivity : DaggerAppCompatActivity() { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt index a43c0bf29f..ac7b2a4323 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError import info.nightscout.interfaces.data.maintenance.PrefFormatError diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index a50b7805b3..0cbd49f33d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DeviationDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries @@ -30,9 +30,9 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import java.util.Calendar diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt index f70199cd44..de29e58319 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt @@ -4,7 +4,7 @@ import android.content.Context import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt index 6933771c62..ca9c3bcf7f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class CarbsDataPoint( val data: Carbs, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt index 57de803f7b..e17131a927 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T class EffectiveProfileSwitchDataPoint( val data: EffectiveProfileSwitch, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt index e6388038d8..19a9b037f4 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt @@ -4,7 +4,7 @@ import android.content.Context import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.extensions.toStringTotal -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class ExtendedBolusDataPoint( val data: ExtendedBolus, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index a243611044..ea5283a816 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DefaultValueHelper class GlucoseValueDataPoint( diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index 406ad9e221..cb507c5585 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.InMemoryGlucoseValue import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class InMemoryGlucoseValueDataPoint( val data: InMemoryGlucoseValue, diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index 4ee2f7ad7c..d1ca2efca4 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.Translator class TherapyEventDataPoint( diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt index a008aea3b6..56158ecff8 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt @@ -8,8 +8,8 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt index d37ec7f2c8..65e6ae87b9 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper /** All COB up to now, including carbs not yet processed by IobCob calculation. */ class CobInfo(val timestamp: Long, val displayCob: Double?, val futureCarbs: Double) { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt index 37a01b3d4d..522481c899 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import dagger.Reusable import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index c7d8bb9be2..798aa29f95 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -6,13 +6,13 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt index 6b82a07878..95cdceeac5 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt @@ -13,7 +13,7 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import info.nightscout.androidaps.core.R import info.nightscout.androidaps.extensions.safeEnable -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import javax.inject.Inject import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt index 97c7cd0641..4c97446250 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt index 615b4a660a..3d38653bf9 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt index 4d1688fa8c..251bc8930a 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.common.defs import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.pump.DoseSettings import info.nightscout.interfaces.pump.DoseStepSize diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index e28b739212..faba5a75a8 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt index 30c9b45cae..396e1ca8d0 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt +++ b/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt @@ -11,7 +11,7 @@ import android.os.Looper import dagger.android.DaggerService import info.nightscout.androidaps.core.R import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt index 460cd78344..97d023cca9 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt @@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper class ActionModeHelper(val rh: ResourceHelper, val activity: FragmentActivity?, val fragment: Fragment?) { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt b/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt index 864e0153ba..787be730c0 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat object DecimalFormatter { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt b/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt index 4fcee4fac4..c077c761be 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP diff --git a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt index 9248492ce4..601d64a0aa 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt b/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt index 58b3a439e1..b705d64e3c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt @@ -4,7 +4,7 @@ import android.widget.TextView import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isOlderThan -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt index 53b25b4a67..b7f53746c1 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt @@ -8,7 +8,7 @@ import android.text.Spanned import androidx.fragment.app.FragmentActivity import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread object OKDialog { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt index 1c72451ee3..8206f74ccb 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt @@ -7,7 +7,7 @@ import android.os.SystemClock import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread // if you need error dialog - duplicate to ErrorDialog and make it and use: AppThemeErrorDialog & R.drawable.ic_header_error instead diff --git a/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt b/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt index 16f32a7035..a9df635e47 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt @@ -5,7 +5,7 @@ import androidx.biometric.BiometricPrompt.* import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.core.R import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread import java.util.concurrent.Executors object BiometricCheck { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt b/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt index d8d1a57efd..b810fa8b56 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils.protection import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.sharedPreferences.SP import java.util.concurrent.TimeUnit import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt b/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt index 45f02d582b..d943766c3e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt @@ -14,7 +14,7 @@ import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.view.ContextThemeWrapper import androidx.core.content.ContextCompat import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import java.util.* import javax.inject.Inject diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt index cb0da420a1..b4a198f2ff 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt @@ -23,7 +23,7 @@ import android.widget.Button import android.widget.LinearLayout import info.nightscout.androidaps.core.R import info.nightscout.androidaps.core.databinding.NumberPickerLayoutBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse import java.text.NumberFormat diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt index 36f44f6693..d80d7bfb47 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.utils.ui -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread class UIRunnable (val runnable: Runnable) : Runnable { override fun run() { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt index b623b7514b..c5eaa9986b 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt @@ -7,7 +7,7 @@ import android.widget.Checkable import androidx.appcompat.widget.AppCompatCheckedTextView import androidx.constraintlayout.widget.ConstraintLayout import info.nightscout.androidaps.core.databinding.WeekdayPickerBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import java.util.* class WeekdayPicker constructor( diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index decec3f24f..7f76025588 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -12,11 +12,11 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.Translator -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject @Reusable diff --git a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 9eca1f7df5..aff38f1b2f 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits diff --git a/core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt b/core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt index c9c30b296a..84ae1fe96b 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index dbcf168193..15e14ff6ec 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config diff --git a/core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt b/core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt index 52525dec31..7d905537b8 100644 --- a/core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock import info.nightscout.androidaps.database.data.checkSanity -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt index 301e3083e9..e2a794e98d 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.contraints.versionChecker import android.content.Context import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.constraints.versionChecker.numericVersionPart import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert.assertArrayEquals diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt index ad8715b1a1..8813652ae9 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.utils.CryptoUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.data.maintenance.PrefFormatError import info.nightscout.interfaces.data.maintenance.PrefMetadata import info.nightscout.interfaces.data.maintenance.Prefs diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt index 20975c9654..f9d8736b23 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt @@ -7,8 +7,8 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.asRounded -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt index 5fbafb3419..bca9698cb6 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import android.content.Context import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt index 793aa2241b..16b0d92740 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt @@ -3,7 +3,9 @@ package info.nightscout.androidaps.utils import android.content.Context import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/core/src/test/java/info/nightscout/androidaps/utils/TTest.kt b/core/src/test/java/info/nightscout/androidaps/utils/TTest.kt index 7893ffda67..02da4b6b45 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/TTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/utils/TTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.utils +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Test import kotlin.math.abs diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 76e68a78bb..331cb2748a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.ToastUtils diff --git a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt index 19f4f1034b..291e3f8179 100644 --- a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector import info.nightscout.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.actions.ActionAlarm diff --git a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt index aa9675f2d6..a86d7388f4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt @@ -3,7 +3,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 5458fcd27b..e638859e77 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -12,14 +12,14 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt index bf715aef4d..1df309db04 100644 --- a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 55483637d3..1612da81f4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -5,10 +5,10 @@ import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.extensions.safeQueryBroadcastReceivers +import info.nightscout.shared.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.utils.ToastUtils diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 9131218c6c..fbc7dc8b4e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -23,13 +23,13 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.implementation.R diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 6c9080f423..100506e39d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.implementation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 280a915a7b..09a3f53eb9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index c007783d68..fb53e43d46 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -7,8 +7,8 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 49e03f51ad..3753ee0798 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index acf8280100..27496e697e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -6,12 +6,12 @@ import android.view.ViewGroup import android.widget.TableLayout import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt index 669fdc818c..314c9e63fc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt @@ -9,7 +9,7 @@ import android.widget.TextView import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR import info.nightscout.implementation.R import java.util.* diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index d791aec4c4..33b7d2c55c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -18,11 +18,11 @@ import info.nightscout.androidaps.extensions.toTableRowHeader import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.implementation.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index b580af9136..11bd1dd255 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -12,12 +12,12 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TIR import info.nightscout.androidaps.interfaces.stats.TirCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.implementation.R import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirImpl.kt index 7934d806ae..5974f9e35c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirImpl.kt @@ -5,9 +5,9 @@ import android.content.Context import android.view.Gravity import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TIR -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.implementation.R class TirImpl(override val date: Long, override val lowThreshold: Double, override val highThreshold: Double) : TIR { diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c8c0e6e0e3..e4d3ebdd2e 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index ffc6ddc293..77fa152724 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 887e3b9b2a..f266e3cdbe 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationPlugin diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 4700324718..dac7df5859 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -18,11 +18,11 @@ import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java index 457d8c8294..a3e25730b1 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/InsightAlertService.java @@ -39,7 +39,7 @@ import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_erro import info.nightscout.androidaps.plugins.pump.insight.utils.AlertUtils; import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator; import info.nightscout.interfaces.utils.HtmlHelper; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; public class InsightAlertService extends DaggerService implements InsightConnectionService.StateCallback { diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index 28ebf7228a..d1a1393ba2 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -32,10 +32,10 @@ import info.nightscout.androidaps.plugins.pump.insight.descriptors.InsightState; import info.nightscout.androidaps.plugins.pump.insight.descriptors.TotalDailyDose; import info.nightscout.androidaps.plugins.pump.insight.events.EventLocalInsightUpdateGUI; import info.nightscout.interfaces.queue.Callback; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.rx.AapsSchedulers; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index e935905d56..2520ae7c0a 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -51,7 +51,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -124,8 +124,8 @@ import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_erro import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_errors.NoActiveTBRToCanceLException; import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator; import info.nightscout.androidaps.plugins.pump.insight.utils.ParameterBlockUtil; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.DateUtil; +import info.nightscout.shared.utils.T; import info.nightscout.interfaces.Config; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.bus.RxBus; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/utils/AlertUtils.kt b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/utils/AlertUtils.kt index bb30687792..a2212a2cca 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/utils/AlertUtils.kt +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/utils/AlertUtils.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.insight.R import info.nightscout.androidaps.plugins.pump.insight.descriptors.Alert import info.nightscout.androidaps.plugins.pump.insight.descriptors.AlertCategory import info.nightscout.androidaps.plugins.pump.insight.descriptors.AlertType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat import javax.inject.Inject import javax.inject.Singleton diff --git a/interfaces/build.gradle b/interfaces/build.gradle index e94dcc4ac3..52c31537eb 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -17,6 +17,12 @@ android { } dependencies { + // I don't like this low level dependency but it helps + // to move more code to interface module + // database module is compiled longer anyway + // (ResourceHelper interface) + implementation project(':app-wear-shared:shared') + api "androidx.appcompat:appcompat:$appcompat_version" api "androidx.preference:preference-ktx:$preferencektx_version" diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index dda9fef80f..9512189fdf 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHStateDel import info.nightscout.androidaps.plugin.general.openhumans.ui.OHFragment import info.nightscout.androidaps.plugin.general.openhumans.ui.OHLoginActivity import info.nightscout.rx.bus.RxBus -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index bb9773edb6..cd38ec6446 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 11a002ecfa..a539bf15ec 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -8,9 +8,9 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index be363312e6..6284ad631a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 6edc7fce43..40f66c607c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index ea1288e4fc..c635cb094f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index 3565928ae2..c82e70556b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt index 317e1d5c07..1eb3d7addf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 54d3c47bb2..1fe426eb60 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -25,16 +25,16 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.dialogs.ProfileViewerDialog -import info.nightscout.androidaps.extensions.runOnUiThread -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index a64f354b03..b19aeb96c8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -17,8 +17,8 @@ import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.plugins.sync.nsclient.extensions.toJson -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 489091dd06..cf1477b2c4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -16,12 +16,12 @@ import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt index 4330cae601..0e6e88aada 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt @@ -4,10 +4,10 @@ import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.BGDatum diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index e0c101320a..5b6335cbc2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -13,9 +13,9 @@ import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.Round diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt index 176aaf9237..6be309eb58 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt @@ -2,8 +2,8 @@ package info.nightscout.plugins.general.autotune.data import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.entities.GlucoseValue.TrendArrow -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONException import org.json.JSONObject import java.util.TimeZone diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt index 44a802e5a4..698a8a4f02 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.general.autotune.data -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt index 6b5cc6fc27..ddc834902d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.general.autotune.data -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 5d043286f1..c0c314aed7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -17,9 +17,9 @@ import info.nightscout.androidaps.database.entities.Food import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.InvalidateFoodTransaction -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index dd0cad2bb4..bc009d3b1d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.extensions.foodFromJson import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index 1b04b2acfc..173bc37b12 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -5,10 +5,10 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index 606c213461..fcd2a46985 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.databinding.SmscommunicatorFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 0af83f741a..edf1532d2d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -36,16 +36,16 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt index 58bb086dc5..0a01fca02a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt @@ -5,8 +5,8 @@ import com.eatthepath.otp.HmacOneTimePasswordGenerator import com.google.common.io.BaseEncoding import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.plugins.R import info.nightscout.shared.sharedPreferences.SP import java.net.URLEncoder diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index ea657e2298..e8d6b4f171 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventThemeSwitch diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index a443d545ab..6b03ffee42 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt index 05cb3b1556..58679ba98a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt @@ -8,7 +8,7 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import java.util.* import kotlin.math.floor diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt index 15bbe3320d..2894c1cbee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.plugins.R import info.nightscout.plugins.databinding.InsulinFragmentBinding import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index 75da4030f2..1eec73b2ee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 4df7985223..b4a4b96399 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -10,11 +10,11 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index a577b737a2..e98300cb08 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.extensions.storeInt import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index 4a77ee382c..1fa1929cd4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index ac5b4e892d..43193fd712 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index fee013d37b..44eb25b9e4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -14,15 +14,15 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 1821f8ddc2..4092d333ac 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -21,11 +21,11 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt index 166d58dba8..3dd977809e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt index 3a09d8165f..3e588b8723 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt index 18e32b5dd3..144be220ed 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt index a6bdf85da5..03e45f2c1a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.plugins.sync.nsclient.extensions.toJson -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt index cc729cb1d4..704a47da3f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt @@ -3,8 +3,8 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt index 58dd2466e7..ac2b9378b3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt @@ -5,8 +5,8 @@ import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.androidaps.utils.extensions.pureProfileFromJson diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt index 92afb9d5c8..eb2cc38596 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.database.entities.TemporaryBasal.Type.Companio import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt index f924c7c45c..071985691a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt @@ -4,8 +4,8 @@ import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt index 1210bdd96c..cdffc5e7d6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java index aa6cf35307..6b6d7c35ff 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java +++ b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java @@ -24,7 +24,7 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.ui.NumberPicker; import info.nightscout.plugins.R; import info.nightscout.rx.logging.AAPSLogger; diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c8c0e6e0e3..e4d3ebdd2e 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index 6c995a118b..718322e5ec 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -6,11 +6,11 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt index fe7015c224..81bbc12a62 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt index ea6e1920c3..ba81af98bd 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt index ae25e436af..8118643c17 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index 1a6d091c15..8c3e3b9721 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -8,9 +8,9 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index e0bdb6ce8e..30fc5b19cb 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -15,9 +15,9 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt index 8e39332b8c..d1b19d7e47 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt @@ -5,12 +5,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.data.smsCommunicator.Sms -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.plugins.R import org.junit.Assert import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index ab9874ce19..3ef6e37b19 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -29,8 +29,8 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.plugins.R diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index 6f83ca556a..bd285c2499 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index e843fe725d..3d9e6a06c4 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index 3f94e05521..fb11a045dc 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index e8e6a65d20..20e20fd41f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index 102a8c66e0..72cd7b7702 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt index 48483f6168..dd0eaef99a 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt @@ -10,16 +10,16 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.combo.databinding.CombopumpFragmentBinding -import info.nightscout.androidaps.extensions.runOnUiThread +import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil.DisplayType import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 3008fc8c77..6864e05aa2 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -36,7 +36,7 @@ import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -56,9 +56,9 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpH import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.InstanceId; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.T; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 5e23612321..201bd5d29d 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -11,10 +11,10 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.PluginType import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 13fc02cb0f..5b82966aaf 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -16,19 +16,19 @@ import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Dana import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index 7162b20567..e45bcf669e 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -7,9 +7,9 @@ import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 943d570f06..b16b364224 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -23,10 +23,10 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index dfcd01ae5c..de8003dd46 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,8 +9,8 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 982a276f1c..b44f7a0ff7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.utils.Round diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 3cfe233a91..3e4cc125b7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -46,14 +46,14 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.DateUtil; +import info.nightscout.shared.utils.T; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventProfileSwitchChanged; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 2c93d50c34..d7aabc0c80 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -25,15 +25,15 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.T; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt index b95a2f85f0..2ac150f815 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.LTag import java.util.GregorianCalendar diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 117cf288af..db3d566fe1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -60,15 +60,15 @@ import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.DateUtil; +import info.nightscout.shared.utils.T; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventProfileSwitchChanged; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index c2c2865df0..17bbd983a7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -25,12 +25,12 @@ import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.interfaces.utils.Round; import info.nightscout.interfaces.PluginType; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index bc44f3af7c..0304cfc9d5 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -24,10 +24,10 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; import info.nightscout.interfaces.PluginType; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index 554815e734..e6e6b04a85 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -12,11 +12,11 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.CRC.getCrc16 -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt index 5a83ae6159..d72e00886b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgHistoryAll.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.database.DanaHistoryRecord -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt index ef288f8795..ad15de225f 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusBolusExtended.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.LTag import kotlin.math.abs import kotlin.math.floor diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt index 0f79a42c0c..18496f9114 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgStatusTempBasal.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.LTag import kotlin.math.abs import kotlin.math.floor diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index 20bf641486..a5c0c2bf43 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -45,11 +45,11 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index f35863c262..e925c11fbb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -52,7 +52,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c2ae58502b..2278cd9707 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,8 +10,8 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import org.json.JSONObject diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index ee4b61e091..3b57d248c8 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -16,9 +16,9 @@ import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgStatusBolusExtendedTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgStatusBolusExtendedTest.kt index 9f2390dc56..e471c7f4d9 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgStatusBolusExtendedTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgStatusBolusExtendedTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Test diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index b7181a8e97..7bf0b799b2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -38,11 +38,11 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt index 4a84198bd2..51347b1fd7 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import org.joda.time.DateTime import org.joda.time.IllegalInstantException diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt index 8f439820e3..64a4cad34f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt index afb6629307..44020f8244 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBasalGetBasalRate.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt index 10f626d2eb..8f3e92f751 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusGetBolusOption.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt index de45da70bf..0652069a99 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStop.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt index f78265cbc1..4416c29f44 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketGeneralGetPumpCheck.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt index d82d78d4a2..027955337d 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.database.DanaHistoryRecord import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt index 1ef25953ad..eee8ba10ae 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt index a35bd9aa16..bc884e87ec 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryComplete.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt index 3b72a73adc..3b99be1013 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryRateDisplay.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java index a2e326aeb2..9bc29513ec 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java @@ -19,7 +19,7 @@ import info.nightscout.androidaps.danars.R; import info.nightscout.androidaps.danars.activities.PairingHelperActivity; import info.nightscout.androidaps.danars.databinding.DanarsPairingProgressDialogBinding; import info.nightscout.androidaps.danars.events.EventDanaRSPairingSuccess; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 0760c138f4..7800ee4fe8 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -34,12 +34,12 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 24303fa75f..0fd5afdd5f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -66,15 +66,15 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index b1a3540546..e73715ea9d 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,8 +9,8 @@ import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index adb473c0b3..ec139af39d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -18,11 +18,11 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index e4b6bef366..2d6458daee 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType @@ -38,11 +38,11 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt index c9e8858ddd..b4a5b8a923 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.diaconn import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index f87835491c..1e08f22bff 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -20,10 +20,10 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt index 4bc89075c6..8080f46e95 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BasalLimitInquireResponsePacket.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt index 955f92b651..26c7289212 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigAPSMainInfoInquireResponsePacket.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index 67ea80049c..46fda8d2e8 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -40,15 +40,15 @@ import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_START_V3 import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_STOP_V3 import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.extensions.safeGetPackageInfo +import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt index 80f17adc73..7ea91b38cb 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java index 4eb1553dab..2e444948e5 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/DiaconnG8Packet.java @@ -6,7 +6,7 @@ import java.nio.ByteOrder; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt index 672a282f91..1419fe19eb 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/IncarnationInquireResponsePacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt index d085f1dcba..1d1b027b6f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionExtendedBolusResultReportPacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt index 75f3da2f43..9cb6753360 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/InjectionSnackResultReportPacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt index 25c2cf5814..495c903955 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/SerialNumInquireResponsePacket.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index 7c5d96534e..bdf6762e57 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 656b5dcadd..00950b50cc 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -56,7 +56,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification @@ -64,7 +64,7 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInf import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 5e8a021105..8ba4400a02 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType @@ -29,9 +29,9 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index edbb54eaf1..963dacd15c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -5,7 +5,7 @@ import android.content.Intent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType @@ -24,7 +24,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.AlarmCategory import info.nightscout.androidaps.plugins.pump.eopatch.event.EventEoPatchAlarm import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index cd6cc4e48f..c642ccb059 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; @@ -45,7 +45,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventCustomActionsChanged; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt index 83dcc69317..a70db271dc 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.databinding.DialogAlarmBinding import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 31998bea4c..5ccecbeebc 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -18,8 +18,8 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.UIEvent import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -218,14 +218,14 @@ class EopatchOverviewViewModel @Inject constructor( .subscribe({ response -> if (response.isSuccess) { var result = pumpSync.syncTemporaryBasalWithPumpId( - timestamp = dateUtil.now(), - rate = 0.0, - duration = T.mins((pauseDurationHour * 60).toLong()).msecs(), - isAbsolute = true, - type = PumpSync.TemporaryBasalType.PUMP_SUSPEND, - pumpId = dateUtil.now(), - pumpType = PumpType.EOFLOW_EOPATCH2, - pumpSerial = patchManager.patchConfig.patchSerialNumber + timestamp = dateUtil.now(), + rate = 0.0, + duration = T.mins((pauseDurationHour * 60).toLong()).msecs(), + isAbsolute = true, + type = PumpSync.TemporaryBasalType.PUMP_SUSPEND, + pumpId = dateUtil.now(), + pumpType = PumpType.EOFLOW_EOPATCH2, + pumpSerial = patchManager.patchConfig.patchSerialNumber ) aapsLogger.debug(LTag.PUMP, "syncTemporaryBasalWithPumpId: Result: $result") diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt index 0a1c000647..142d4fb646 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchViewModel.kt @@ -5,7 +5,7 @@ import androidx.annotation.StringRes import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.eopatch.CommonUtils import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.RxAction diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 41f99a6344..ecf2d789d5 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -13,9 +13,9 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState -import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState +import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -31,9 +31,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPu import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index d7a660b4ed..3ddb56fb23 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState +import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo @@ -63,7 +63,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.service.RileyLinkMedtro import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.isSame -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt index f9420e56ed..fe3605d41d 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUIPostprocessor.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.ui -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index 03708d1020..48909583e5 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/RLHistoryItemMedtronic.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/RLHistoryItemMedtronic.kt index 4cf5637b3f..e2664eec3d 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/RLHistoryItemMedtronic.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/RLHistoryItemMedtronic.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.LocalDateTime class RLHistoryItemMedtronic(private val medtronicCommandType: MedtronicCommandType) : diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/dialog/MedtronicHistoryActivity.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/dialog/MedtronicHistoryActivity.kt index 0ca333fd3b..38dd6fecbb 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/dialog/MedtronicHistoryActivity.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/dialog/MedtronicHistoryActivity.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup import info.nightscout.androidaps.plugins.pump.medtronic.R import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.data.MedtronicHistoryData -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import java.util.* import javax.inject.Inject diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt index 3af51d4f59..02de0e041f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.driver -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt index a5ffc9489a..140de43b9f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.util import com.google.gson.GsonBuilder -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index f7737a1881..eb308c26f6 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/ActionFragmentBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/ActionFragmentBase.kt index 2b8e628f81..7f2d426fff 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/ActionFragmentBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/ActionFragmentBase.kt @@ -10,7 +10,7 @@ import android.widget.TextView import androidx.annotation.LayoutRes import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.viewmodel.ActionViewModelBase -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility abstract class ActionFragmentBase : WizardFragmentBase() { diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/WizardFragmentBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/WizardFragmentBase.kt index 1781757032..f3e1140230 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/WizardFragmentBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/fragment/WizardFragmentBase.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.Omnipo import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonWizardProgressIndicationBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.activity.OmnipodWizardActivityBase import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.viewmodel.ViewModelBase -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import kotlin.math.roundToInt diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 02225773ac..21488681c3 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType @@ -61,12 +61,12 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.androidaps.queue.commands.Command import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.interfaces.PluginType import info.nightscout.rx.AapsSchedulers diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index affd5d1830..91af859843 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandPlayTestBeep diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 7f55f82acc..d7cbdffd91 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding @@ -35,7 +35,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index 4aee796fb5..d74f67a3fb 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -4,7 +4,7 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index ebfebcc328..89e39b1dae 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -7,7 +7,7 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/I8n.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/I8n.kt index 7f57283f56..08722c212f 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/I8n.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/I8n.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.util -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.omnipod.dash.R import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.FailedToConnectException import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.NotConnectedException diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index a13b9a54ce..be7b1de920 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -48,7 +48,7 @@ import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; @@ -98,11 +98,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUti import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.CustomCommand; import info.nightscout.androidaps.services.AlarmSoundService; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.T; import info.nightscout.interfaces.utils.TimeChangeType; import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/data/RLHistoryItemOmnipod.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/data/RLHistoryItemOmnipod.java index 46a04949bf..2ab8d95822 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/data/RLHistoryItemOmnipod.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/data/RLHistoryItemOmnipod.java @@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice; import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; public class RLHistoryItemOmnipod extends RLHistoryItem { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index ad792cbfa7..f9e9c28bd0 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -21,7 +21,7 @@ import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; @@ -75,7 +75,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.Ero import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; -import info.nightscout.androidaps.utils.T; +import info.nightscout.shared.utils.T; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.Event; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java index 530d2d0f2e..37d17be423 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java @@ -24,7 +24,7 @@ import javax.inject.Inject; import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index b9413319b3..1911a480e2 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -7,7 +7,7 @@ import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index bb9e1eea58..dac4584837 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -43,7 +43,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/util/AapsOmnipodUtil.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/util/AapsOmnipodUtil.java index 72df66c023..787b3487ad 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/util/AapsOmnipodUtil.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/util/AapsOmnipodUtil.java @@ -21,7 +21,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Al import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; /** * Created by andy on 4/8/19. diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index a5f8ebb2d2..4c7cc4be21 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -9,7 +9,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 90c352e943..49506fb4f0 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus @@ -30,7 +30,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt index 025133ba71..7d867a98c1 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BondStateReceiver.kt @@ -7,7 +7,7 @@ import androidx.annotation.StringRes import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.extensions.safeGetParcelableExtra -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.events.EventPumpConnectionParametersChanged import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpHistoryEntryGroup.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpHistoryEntryGroup.kt index 189353809a..f1aeda210b 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpHistoryEntryGroup.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpHistoryEntryGroup.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.defs import info.nightscout.androidaps.plugins.pump.common.R -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import kotlin.streams.toList /** diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt index 5142254dc0..55f62f0b6e 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/ble/PumpBLESelectorAbstract.kt @@ -5,7 +5,7 @@ import android.bluetooth.le.ScanFilter import android.bluetooth.le.ScanSettings import android.content.Context import android.widget.Toast -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelector import info.nightscout.rx.bus.RxBus diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/history/PumpHistoryEntry.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/history/PumpHistoryEntry.kt index 02e4e91b4c..abfd781c18 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/history/PumpHistoryEntry.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/driver/history/PumpHistoryEntry.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.driver.history import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper interface PumpHistoryEntry { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt index fadc2ff4cb..f1447053ac 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt @@ -22,7 +22,7 @@ import android.widget.BaseAdapter import android.widget.TextView import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.common.databinding.PumpBleConfigActivityBinding diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt index e262f9d3bd..b2625951d2 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt @@ -13,7 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.databinding.PumpHistoryActivityBinding import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java index 0f9986dce1..a2050a7273 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java @@ -8,7 +8,7 @@ import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.utils.DateUtil; +import info.nightscout.shared.utils.DateUtil; /** * Created by geoff on 4/28/15. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt index 60bff894fa..4ad796466b 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt @@ -28,7 +28,7 @@ import android.widget.Toast import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt index d0e45dc576..1e6cf11a25 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper open class EventRileyLinkDeviceStatusChange : EventStatus { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java index 3e178b101b..1350d03aab 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java @@ -12,7 +12,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/defs/RileyLinkEncodingType.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/defs/RileyLinkEncodingType.java index a6e0f11e30..6d8fdb163a 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/defs/RileyLinkEncodingType.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/defs/RileyLinkEncodingType.java @@ -4,7 +4,7 @@ import java.util.HashMap; import java.util.Map; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; public enum RileyLinkEncodingType { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java index fbc77b5fc4..74defd7a00 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java @@ -6,7 +6,7 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice; -import info.nightscout.androidaps.interfaces.ResourceHelper; +import info.nightscout.shared.interfaces.ResourceHelper; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt index 6a3ac9e78a..e82d3cec56 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt @@ -6,14 +6,14 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusGeneralBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import org.joda.time.LocalDateTime diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt index 63605c1a7e..6925a1783c 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusHistoryBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusHistoryItemBinding -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class RileyLinkStatusHistoryFragment : DaggerFragment() { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt index ebc8a04579..88293787e1 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt @@ -7,7 +7,7 @@ import android.content.Intent import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt index 79b7377df4..78c288c3d3 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ResetRileyLinkConfigurationTask.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshButtonState import javax.inject.Inject class ResetRileyLinkConfigurationTask(injector: HasAndroidInjector) : PumpTask(injector) { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt index b5ec03a89c..d69546de2c 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/WakeAndTuneTask.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.events.EventRefreshButtonState import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshButtonState import javax.inject.Inject class WakeAndTuneTask(injector: HasAndroidInjector) : PumpTask(injector) { diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index 047da675af..93eb2f35cb 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 7f29af0325..5dcc39a3ca 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP diff --git a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt index 5a955105eb..d297b7606f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt @@ -6,7 +6,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import com.google.android.material.tabs.TabLayout import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.ui.R diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 2108831e51..4b58fcd6f6 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -29,15 +29,15 @@ import info.nightscout.androidaps.database.transactions.InvalidateBolusTransacti import info.nightscout.androidaps.database.transactions.InvalidateCarbsTransaction import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.BuildHelper diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index bad94659fd..8fdac45234 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -21,13 +21,13 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateAAPSStartedTherapyEventTransaction import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTransaction -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index 13100ab5a2..87ffa156e9 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -21,16 +21,16 @@ import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusT import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 8e42550b37..6b513d45fc 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -25,14 +25,14 @@ import info.nightscout.androidaps.database.transactions.InvalidateProfileSwitchT import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.getCustomizedName diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index c6a8686caf..a2c45426b1 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -28,14 +28,14 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 28ab1beabd..331c1d000c 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -30,16 +30,16 @@ import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index 5b9a32a9f2..eab367c440 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -17,15 +17,15 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.rx.bus.RxBus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index e9d7e5ffd6..4c192e8a90 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.Round import org.json.JSONArray import org.json.JSONObject diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt index d98f68addd..7dd694b303 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONObject import java.util.* diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index a84546c8bf..b541f01211 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index e4ad8726b6..8909f5caa8 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -34,7 +34,7 @@ import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index eb0a64bb8a..33eceee057 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -21,11 +21,11 @@ import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index 4d93276d30..758a156c4c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -12,8 +12,8 @@ import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.Constants import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogWizardinfoBinding diff --git a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt b/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt index 7ba31693c0..e755c1dd59 100644 --- a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt +++ b/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt @@ -10,9 +10,9 @@ import android.view.ViewGroup import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil -import info.nightscout.androidaps.utils.T +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.shared.SafeParse import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index f9d173e6be..cbf78ae4e9 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -17,7 +17,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames @@ -28,12 +28,12 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ResourceHelper +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c8c0e6e0e3..e4d3ebdd2e 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config diff --git a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt index fb02384128..e36e0311f6 100644 --- a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt +++ b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt @@ -6,7 +6,7 @@ import dagger.Module import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Aaps import info.nightscout.rx.di.RxModule -import info.nightscout.rx.di.SharedImplModule +import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.shared.di.SharedModule @Suppress("unused") diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt index 7364404ecd..4fa2557ed6 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/QuickSnoozeActivity.kt @@ -8,7 +8,7 @@ import android.widget.Toast import dagger.android.DaggerActivity import info.nightscout.androidaps.R import info.nightscout.rx.events.EventWearToMobile -import info.nightscout.androidaps.extensions.safeGetPackageInfo +import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.rx.bus.RxBus import info.nightscout.rx.weardata.EventData import javax.inject.Inject diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt index ba79093eb7..e15958bc16 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Inevitable.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interaction.utils import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt index a208a5978e..b6e1868fde 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/Persistence.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interaction.utils -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt index ef11f9d22a..70e5a42670 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/DigitalStyleWatchface.kt @@ -12,7 +12,7 @@ import androidx.core.content.ContextCompat import androidx.viewbinding.ViewBinding import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityDigitalstyleBinding -import info.nightscout.androidaps.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.watchfaces.utils.BaseWatchFace import info.nightscout.rx.logging.LTag diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt index b392b82a55..a2a7399c1e 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BaseWatchFace.kt @@ -25,13 +25,13 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.RawDisplayData import info.nightscout.androidaps.events.EventWearPreferenceChange import info.nightscout.rx.events.EventWearToMobile -import info.nightscout.androidaps.extensions.toVisibility -import info.nightscout.androidaps.extensions.toVisibilityKeepSpace +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interaction.menus.MainMenuActivity import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.WearUtil import info.nightscout.rx.bus.RxBus -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt index a504c1e367..5cd8aa682a 100644 --- a/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt +++ b/wear/src/main/java/info/nightscout/androidaps/watchfaces/utils/BgGraphBuilder.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.watchfaces.utils import android.graphics.DashPathEffect import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.sharedPreferences.SP import info.nightscout.rx.weardata.EventData import info.nightscout.rx.weardata.EventData.SingleBg diff --git a/wear/src/test/java/info/nightscout/androidaps/TestBase.kt b/wear/src/test/java/info/nightscout/androidaps/TestBase.kt index ff0fdb621c..12adb1059f 100644 --- a/wear/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/wear/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.WearUtil import info.nightscout.androidaps.testing.mockers.WearUtilMocker import info.nightscout.androidaps.testing.mocks.SharedPreferencesMock -import info.nightscout.androidaps.utils.DateUtil +import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLoggerTest import info.nightscout.shared.sharedPreferences.SP import org.junit.Before From 936192b0deb2af59a8533d524ecdc11a8f3a9b74 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 12:17:53 +0100 Subject: [PATCH 020/123] resolve rireylink -> pump-common dependency --- app/build.gradle | 1 + pump/medtronic/build.gradle | 1 + .../pump/medtronic/MedtronicFragment.kt | 14 ++++++------- .../comm/MedtronicCommunicationManager.kt | 4 ++-- .../pump/medtronic/comm/MedtronicConverter.kt | 18 +++++++++------- .../comm/history/MedtronicHistoryDecoder.kt | 9 ++++---- .../comm/history/MedtronicHistoryEntry.kt | 4 ++-- .../medtronic/comm/history/RawHistoryPage.kt | 2 +- .../comm/history/cgms/CGMSHistoryEntry.kt | 2 +- .../cgms/MedtronicCGMSHistoryDecoder.kt | 2 +- .../pump/MedtronicPumpHistoryDecoder.kt | 14 ++++++------- .../comm/history/pump/PumpHistoryEntry.kt | 6 +++--- .../GetHistoryPageCarelinkMessageBody.kt | 2 +- .../medtronic/comm/message/MessageBody.kt | 2 +- .../medtronic/comm/message/PumpMessage.kt | 4 ++-- .../pump/medtronic/comm/ui/MedtronicUITask.kt | 8 ++++--- .../medtronic/data/MedtronicHistoryData.kt | 6 +++--- .../pump/medtronic/data/dto/BasalProfile.kt | 2 +- .../pump/medtronic/data/dto/BolusDTO.kt | 4 ++-- .../pump/medtronic/data/dto/DailyTotalsDTO.kt | 18 ++++++++-------- .../data/dto/PumpTimeStampedRecord.kt | 4 ++-- .../pump/medtronic/data/dto/TempBasalPair.kt | 2 +- .../pump/medtronic/di/MedtronicModule.kt | 2 +- .../medtronic/driver/MedtronicPumpStatus.kt | 4 ++-- .../service/RileyLinkMedtronicService.kt | 5 ++--- .../pump/medtronic/util/MedtronicUtil.kt | 6 +++--- .../info/nightscout/androidaps/TestBase.kt | 4 ++-- .../comm/MedtronicHistoryDataUTest.kt | 2 +- .../pump/MedtronicPumpHistoryDecoderUTest.kt | 2 +- pump/omnipod-eros/build.gradle | 1 + .../communication/message/OmnipodMessage.java | 2 +- .../communication/message/OmnipodPacket.java | 2 +- .../command/AcknowledgeAlertsCommand.java | 2 +- .../command/BasalScheduleExtraCommand.java | 3 ++- .../message/command/BeepConfigCommand.java | 2 +- .../message/command/BolusExtraCommand.java | 2 +- .../command/CancelDeliveryCommand.java | 2 +- .../command/ConfigureAlertsCommand.java | 2 +- .../message/command/DeactivatePodCommand.java | 2 +- .../message/command/FaultConfigCommand.java | 2 +- .../command/SetInsulinScheduleCommand.java | 2 +- .../message/command/SetupPodCommand.java | 2 +- .../command/TempBasalExtraCommand.java | 2 +- .../message/response/ErrorResponse.java | 2 +- .../message/response/StatusResponse.java | 2 +- .../message/response/VersionResponse.java | 2 +- .../response/podinfo/PodInfoActiveAlerts.java | 2 +- .../response/podinfo/PodInfoDataLog.java | 2 +- .../podinfo/PodInfoDetailedStatus.java | 2 +- .../podinfo/PodInfoOlderPulseLog.java | 2 +- .../podinfo/PodInfoRecentPulseLog.java | 2 +- .../response/podinfo/PodInfoResponse.java | 2 +- .../driver/definition/AlertConfiguration.java | 3 ++- .../driver/definition/ErrorEventInfo.java | 2 +- .../schedule/BasalDeliverySchedule.java | 2 +- .../definition/schedule/BasalTableEntry.java | 2 +- .../schedule/BolusDeliverySchedule.java | 2 +- .../driver/definition/schedule/RateEntry.java | 6 +++--- .../schedule/TempBasalDeliverySchedule.java | 2 +- .../exception/NotEnoughDataException.java | 2 +- .../eros/manager/AapsOmnipodErosManager.java | 14 ++++++------- .../OmnipodRileyLinkCommunicationManager.java | 4 ++-- .../service/RileyLinkOmnipodService.java | 2 +- .../BasalScheduleExtraCommandTest.java | 12 +++++------ .../command/BeepConfigCommandTest.java | 6 +++--- .../command/BolusExtraCommandTest.java | 6 +++--- .../command/CancelDeliveryCommandTest.java | 6 +++--- .../command/ConfigureAlertsCommandTest.java | 6 +++--- .../message/command/GetStatusCommandTest.java | 6 +++--- .../SetInsulinScheduleCommandTest.java | 6 +++--- .../message/command/SetupPodCommandTest.java | 6 +++--- .../command/TempBasalExtraCommandTest.java | 6 +++--- .../message/response/ErrorResponseTest.java | 12 +++++------ .../message/response/StatusResponseTest.java | 18 ++++++++-------- .../message/response/VersionResponseTest.java | 10 ++++----- .../podinfo/PodInfoActiveAlertsTest.java | 8 +++---- .../response/podinfo/PodInfoDataLogTest.java | 8 +++---- .../podinfo/PodInfoDetailedStatusTest.java | 18 ++++++++-------- ...PodInfoFaultAndInitializationTimeTest.java | 8 +++---- .../podinfo/PodInfoRecentPulseLogTest.java | 6 +++--- .../response/podinfo/PodInfoResponseTest.java | 14 ++++++------- .../pump/common/defs/PumpDriverState.kt | 4 +--- .../src/main/res/values/strings.xml | 8 ------- pump/pump-core/.gitignore | 1 + pump/pump-core/build.gradle | 20 ++++++++++++++++++ pump/pump-core/consumer-rules.pro | 0 pump/pump-core/proguard-rules.pro | 21 +++++++++++++++++++ pump/pump-core/src/main/AndroidManifest.xml | 4 ++++ .../pump/core}/defs/PumpDeviceState.kt | 4 ++-- .../nightscout/pump/core}/utils/ByteUtil.java | 2 +- .../pump/core}/utils/StringUtil.java | 18 +++++++--------- .../pump/core}/utils/ThreadUtil.java | 2 +- .../pump-core/src/main/res/values/strings.xml | 14 +++++++++++++ pump/rileylink/build.gradle | 1 + .../EventRileyLinkDeviceStatusChange.kt | 2 +- .../RileyLinkCommunicationManager.java | 4 ++-- .../pump/common/hw/rileylink/ble/RFSpy.java | 8 +++---- .../common/hw/rileylink/ble/RFSpyReader.kt | 4 ++-- .../common/hw/rileylink/ble/RileyLinkBLE.kt | 6 +++--- .../rileylink/ble/command/SendAndListen.java | 2 +- .../hw/rileylink/ble/data/RadioPacket.java | 2 +- .../hw/rileylink/ble/data/RadioResponse.java | 2 +- .../data/encoding/Encoding4b6bAbstract.java | 2 +- .../ble/data/encoding/Encoding4b6bGeoff.java | 2 +- .../hw/rileylink/ble/device/OrangeLinkImpl.kt | 2 +- .../hw/rileylink/data/RLHistoryItem.java | 2 +- .../dialog/RileyLinkStatusGeneralFragment.kt | 8 +++---- .../dialog/RileyLinkStatusHistoryFragment.kt | 4 ++-- .../hw/rileylink/service/RileyLinkService.kt | 4 ++-- .../ble/RFToolsParametrizedUTest.java | 2 +- settings.gradle | 1 + 111 files changed, 307 insertions(+), 252 deletions(-) create mode 100644 pump/pump-core/.gitignore create mode 100644 pump/pump-core/build.gradle create mode 100644 pump/pump-core/consumer-rules.pro create mode 100644 pump/pump-core/proguard-rules.pro create mode 100644 pump/pump-core/src/main/AndroidManifest.xml rename pump/{pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common => pump-core/src/main/java/info/nightscout/pump/core}/defs/PumpDeviceState.kt (83%) rename pump/{pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common => pump-core/src/main/java/info/nightscout/pump/core}/utils/ByteUtil.java (99%) rename pump/{pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common => pump-core/src/main/java/info/nightscout/pump/core}/utils/StringUtil.java (79%) rename pump/{pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common => pump-core/src/main/java/info/nightscout/pump/core}/utils/ThreadUtil.java (86%) create mode 100644 pump/pump-core/src/main/res/values/strings.xml diff --git a/app/build.gradle b/app/build.gradle index 45ae641bf4..3c04647ee4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -200,6 +200,7 @@ dependencies { implementation project(':insight') implementation project(':pump:medtronic') implementation project(':pump:pump-common') + implementation project(':pump:pump-core') implementation project(':pump:rileylink') implementation project(':pump:omnipod-common') implementation project(':pump:omnipod-eros') diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 337bb98cbf..ade2787122 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -21,6 +21,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') + implementation project(':pump:pump-core') implementation project(':pump:rileylink') implementation project(':interfaces') } diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index ecf2d789d5..57d90464c3 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -13,9 +13,6 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState -import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -29,19 +26,22 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.queue.Callback +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt index 537bd763da..0838bcda9d 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.os.SystemClock -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst @@ -10,7 +9,6 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Radi import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.RadioResponse import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RLMessageType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RawHistoryPage @@ -36,6 +34,8 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.createByteArray import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.getByteArrayFromUnsignedShort +import info.nightscout.pump.core.defs.PumpDeviceState +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.LTag import org.joda.time.LocalDateTime import java.util.Calendar diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt index 24d5a97115..acfe57893f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.PumpSettingDTO import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpConfigurationGroup import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import org.joda.time.IllegalFieldValueException @@ -119,8 +119,9 @@ class MedtronicConverter @Inject constructor( addSettingToMap("PCFG_MAX_BOLUS", "" + decodeMaxBolus(rd), PumpConfigurationGroup.Bolus, map) addSettingToMap( "PCFG_MAX_BASAL", "" - + decodeBasalInsulin(ByteUtil.makeUnsignedShort(rd[settingIndexMaxBasal].toInt(), - rd[settingIndexMaxBasal + 1].toInt())), PumpConfigurationGroup.Basal, map) + + decodeBasalInsulin( + ByteUtil.makeUnsignedShort(rd[settingIndexMaxBasal].toInt(), + rd[settingIndexMaxBasal + 1].toInt())), PumpConfigurationGroup.Basal, map) addSettingToMap("CFG_BASE_CLOCK_MODE", if (rd[settingIndexTimeDisplayFormat].toInt() == 0) "12h" else "24h", PumpConfigurationGroup.General, map) addSettingToMap("PCFG_BASAL_PROFILES_ENABLED", parseResultEnable(rd[10].toInt()), PumpConfigurationGroup.Basal, map) @@ -152,14 +153,15 @@ class MedtronicConverter @Inject constructor( addSettingToMap("PCFG_AUDIO_BOLUS_ENABLED", parseResultEnable(rd[2].toInt()), PumpConfigurationGroup.Bolus, map) if (rd[2].toInt() == 1) { addSettingToMap("PCFG_AUDIO_BOLUS_STEP_SIZE", "" + decodeBolusInsulin(ByteUtil.asUINT8(rd[3])), - PumpConfigurationGroup.Bolus, map) + PumpConfigurationGroup.Bolus, map) } addSettingToMap("PCFG_VARIABLE_BOLUS_ENABLED", parseResultEnable(rd[4].toInt()), PumpConfigurationGroup.Bolus, map) addSettingToMap("PCFG_MAX_BOLUS", "" + decodeMaxBolus(rd), PumpConfigurationGroup.Bolus, map) addSettingToMap( "PCFG_MAX_BASAL", "" - + decodeBasalInsulin(ByteUtil.makeUnsignedShort(rd[settingIndexMaxBasal].toInt(), - rd[settingIndexMaxBasal + 1].toInt())), PumpConfigurationGroup.Basal, map) + + decodeBasalInsulin( + ByteUtil.makeUnsignedShort(rd[settingIndexMaxBasal].toInt(), + rd[settingIndexMaxBasal + 1].toInt())), PumpConfigurationGroup.Basal, map) addSettingToMap("CFG_BASE_CLOCK_MODE", if (rd[settingIndexTimeDisplayFormat].toInt() == 0) "12h" else "24h", PumpConfigurationGroup.General, map) if (MedtronicDeviceType.isSameDevice(medtronicUtil.medtronicPumpModel, MedtronicDeviceType.Medtronic_523andHigher)) { @@ -201,7 +203,7 @@ class MedtronicConverter @Inject constructor( val map = decodeSettings512(rd) addSettingToMap("PCFG_MM_RESERVOIR_WARNING_TYPE_TIME", if (rd[18].toInt() != 0) "PCFG_MM_RESERVOIR_WARNING_TYPE_TIME" else "PCFG_MM_RESERVOIR_WARNING_TYPE_UNITS", PumpConfigurationGroup.Other, map) addSettingToMap("PCFG_MM_SRESERVOIR_WARNING_POINT", "" + ByteUtil.asUINT8(rd[19]), - PumpConfigurationGroup.Other, map) + PumpConfigurationGroup.Other, map) addSettingToMap("CFG_MM_KEYPAD_LOCKED", parseResultEnable(rd[20].toInt()), PumpConfigurationGroup.Other, map) if (MedtronicDeviceType.isSameDevice(medtronicUtil.medtronicPumpModel, MedtronicDeviceType.Medtronic_523andHigher)) { addSettingToMap("PCFG_BOLUS_SCROLL_STEP_SIZE", "" + rd[21], PumpConfigurationGroup.Bolus, map) diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt index 25da4499e1..55912956ee 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryDecoder.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import org.apache.commons.lang3.StringUtils @@ -16,7 +16,8 @@ import org.apache.commons.lang3.StringUtils */ abstract class MedtronicHistoryDecoder(var aapsLogger: AAPSLogger, var medtronicUtil: MedtronicUtil, - var bitUtils: ByteUtil) : MedtronicHistoryDecoderInterface { + var bitUtils: ByteUtil +) : MedtronicHistoryDecoderInterface { // STATISTICS (remove at later time or not) protected var statisticsEnabled = true @@ -112,7 +113,7 @@ abstract class MedtronicHistoryDecoder(var aapsLogge } fun getFormattedFloat(value: Float, decimals: Int): String { - return StringUtil.getFormatedValueUS(value, decimals) + return StringUtil.getFormattedValueUS(value, decimals) } } \ No newline at end of file diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryEntry.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryEntry.kt index 7a70667d51..d36cc0f031 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryEntry.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/MedtronicHistoryEntry.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history import com.google.gson.annotations.Expose -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.StringUtil /** * This file was taken from GGC - GNU Gluco Control (ggc.sourceforge.net), application for diabetes diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt index 330ce83f70..7e0d44aca2 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/RawHistoryPage.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.CRC import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import java.util.Arrays diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/CGMSHistoryEntry.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/CGMSHistoryEntry.kt index 82beed1655..43dbbaabd0 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/CGMSHistoryEntry.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/CGMSHistoryEntry.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.cgms -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryEntry +import info.nightscout.pump.core.utils.ByteUtil import org.apache.commons.lang3.StringUtils import org.joda.time.LocalDateTime diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt index 146c4ed6d5..00f3b89b89 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.cgms -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RecordDecodeStatus import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.cgms.CGMSHistoryEntryType.Companion.getByCode import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import okhttp3.internal.and diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt index e8babfcbe1..2e7166e986 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoder.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RecordDecodeStatus @@ -13,6 +12,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalPair import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpBolusType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import java.util.Locale @@ -426,15 +426,15 @@ class MedtronicPumpHistoryDecoder @Inject constructor( val data = entry.head if (MedtronicDeviceType.isSameDevice(medtronicUtil.medtronicPumpModel, MedtronicDeviceType.Medtronic_523andHigher)) { bolus = BolusDTO(atechDateTime = entry.atechDateTime, - requestedAmount = ByteUtil.toInt(data.get(0), data.get(1)) / 40.0, - deliveredAmount = ByteUtil.toInt(data.get(2), data.get(3)) / 40.0, - duration = data.get(6) * 30) + requestedAmount = ByteUtil.toInt(data.get(0), data.get(1)) / 40.0, + deliveredAmount = ByteUtil.toInt(data.get(2), data.get(3)) / 40.0, + duration = data.get(6) * 30) bolus.insulinOnBoard = ByteUtil.toInt(data.get(4), data.get(5)) / 40.0 } else { bolus = BolusDTO(atechDateTime = entry.atechDateTime, - requestedAmount = ByteUtil.asUINT8(data.get(0)) / 10.0, - deliveredAmount = ByteUtil.asUINT8(data.get(1)) / 10.0, - duration = ByteUtil.asUINT8(data.get(2)) * 30) + requestedAmount = ByteUtil.asUINT8(data.get(0)) / 10.0, + deliveredAmount = ByteUtil.asUINT8(data.get(1)) / 10.0, + duration = ByteUtil.asUINT8(data.get(2)) * 30) } bolus.bolusType = if (bolus.duration > 0) PumpBolusType.Extended else PumpBolusType.Normal entry.addDecodedData("Object", bolus) diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryEntry.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryEntry.kt index 2c7481fd73..777745b9d9 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryEntry.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/PumpHistoryEntry.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump import com.google.gson.annotations.Expose -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.MedtronicHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BolusDTO import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType -import java.util.* +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.StringUtil +import java.util.Objects /** * This file was taken from GGC - GNU Gluco Control (ggc.sourceforge.net), application for diabetes diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/GetHistoryPageCarelinkMessageBody.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/GetHistoryPageCarelinkMessageBody.kt index 574bbacc9f..f68b2cef57 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/GetHistoryPageCarelinkMessageBody.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/GetHistoryPageCarelinkMessageBody.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.message -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil +import info.nightscout.pump.core.utils.ByteUtil import kotlin.experimental.and /** diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/MessageBody.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/MessageBody.kt index 45bfdcf5de..a3f8c72aef 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/MessageBody.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/MessageBody.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.message -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil +import info.nightscout.pump.core.utils.ByteUtil /** * Created by geoff on 5/29/16. diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt index 9445ecda75..8f72780450 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/message/PumpMessage.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.message import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.RLMessage -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandType +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import kotlin.math.min @@ -62,7 +62,7 @@ class PumpMessage : RLMessage { } if (rxData.size > 5) { messageBody = MedtronicCommandType.constructMessageBody(commandType, - ByteUtil.substring(rxData, 5, rxData.size - 5)) + ByteUtil.substring(rxData, 5, rxData.size - 5)) } } diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt index 348d6acbf0..95dd6aadc0 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/ui/MedtronicUITask.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.ui import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry @@ -12,6 +11,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicUIRespons import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -155,10 +155,12 @@ class MedtronicUITask { postprocessor.postProcessData(this) } if (responseType === MedtronicUIResponseType.Invalid) { - rxBus.send(EventRileyLinkDeviceStatusChange(PumpDeviceState.ErrorWhenCommunicating, + rxBus.send(EventRileyLinkDeviceStatusChange( + PumpDeviceState.ErrorWhenCommunicating, "Unsupported command in MedtronicUITask")) } else if (responseType === MedtronicUIResponseType.Error) { - rxBus.send(EventRileyLinkDeviceStatusChange(PumpDeviceState.ErrorWhenCommunicating, + rxBus.send(EventRileyLinkDeviceStatusChange( + PumpDeviceState.ErrorWhenCommunicating, errorDescription)) } else { rxBus.send(EventMedtronicPumpValuesChanged()) diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index 48909583e5..6dae0651c7 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -6,16 +6,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryTBR import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.R import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry @@ -33,9 +30,12 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpBolusType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.bus.RxBus 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 org.apache.commons.lang3.StringUtils import org.joda.time.LocalDateTime diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt index dc22e76484..ccfb09aadb 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import com.google.gson.annotations.Expose import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import org.joda.time.Instant diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BolusDTO.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BolusDTO.kt index 2b738c34f0..2d051326b6 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BolusDTO.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BolusDTO.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import com.google.gson.annotations.Expose -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.defs.PumpBolusType +import info.nightscout.pump.core.utils.StringUtil /** * Application: GGC - GNU Gluco Control @@ -73,7 +73,7 @@ class BolusDTO constructor(atechDateTime: Long, } override fun getFormattedDecimal(value: Double): String { - return StringUtil.getFormatedValueUS(value, 2) + return StringUtil.getFormattedValueUS(value, 2) } val bolusKey: String diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/DailyTotalsDTO.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/DailyTotalsDTO.kt index a295c76aff..68a5e14b89 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/DailyTotalsDTO.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/DailyTotalsDTO.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto //import info.nightscout.androidaps.db.TDD import com.google.gson.annotations.Expose -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.StringUtil import org.apache.commons.lang3.builder.ToStringBuilder -import java.util.* +import java.util.Locale /** * Created by andy on 11/3/18. @@ -56,16 +56,16 @@ class DailyTotalsDTO(var entry: PumpHistoryEntry) { private var bolusCountCorr: Int? = null private fun setDisplayable() { if (insulinBasal == 0.0) { - entry.displayableValue = "Total Insulin: " + StringUtil.getFormatedValueUS(insulinTotal, 2) + entry.displayableValue = "Total Insulin: " + StringUtil.getFormattedValueUS(insulinTotal, 2) } else { - entry.displayableValue = ("Basal Insulin: " + StringUtil.getFormatedValueUS(insulinBasal, 2) - + ", Total Insulin: " + StringUtil.getFormatedValueUS(insulinTotal, 2)) + entry.displayableValue = ("Basal Insulin: " + StringUtil.getFormattedValueUS(insulinBasal, 2) + + ", Total Insulin: " + StringUtil.getFormattedValueUS(insulinTotal, 2)) } } private fun decodeEndResultsTotals(entry: PumpHistoryEntry) { val totals = ByteUtil.toInt(entry.head[0].toInt(), entry.head[1].toInt(), entry.head[2].toInt(), - entry.head[3].toInt(), ByteUtil.BitConversion.BIG_ENDIAN) * 0.025 + entry.head[3].toInt(), ByteUtil.BitConversion.BIG_ENDIAN) * 0.025 insulinTotal = totals entry.addDecodedData("Totals", totals) } @@ -80,8 +80,8 @@ class DailyTotalsDTO(var entry: PumpHistoryEntry) { val j1 = ByteUtil.toInt(data[i + 1], data[i]) val k1: Int = ByteUtil.toInt(data[i + 2], data[i + 1], data[i]) println(String.format(Locale.ENGLISH, - "index: %d, number=%d, del/40=%.3f, del/10=%.3f, singular=%d, sing_hex=%s", i, j, j / 40.0, j / 10.0, - data[i], ByteUtil.shortHexString(data[i]))) + "index: %d, number=%d, del/40=%.3f, del/10=%.3f, singular=%d, sing_hex=%s", i, j, j / 40.0, j / 10.0, + data[i], ByteUtil.shortHexString(data[i]))) println(String.format(Locale.ENGLISH, " number[k,j1,k1]=%d / %d /%d, del/40=%.3f, del/40=%.3f, del/40=%.3f", k, j1, k1, k / 40.0, j1 / 40.0, k1 / 40.0)) } diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/PumpTimeStampedRecord.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/PumpTimeStampedRecord.kt index 1f5cf7db0a..b62a5771fb 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/PumpTimeStampedRecord.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/PumpTimeStampedRecord.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil +import info.nightscout.pump.core.utils.StringUtil /** * Created by andy on 6/2/18. @@ -11,6 +11,6 @@ open class PumpTimeStampedRecord constructor(var atechDateTime: Long = 0) { // var atechDateTime: Long = 0 open fun getFormattedDecimal(value: Double): String? { - return StringUtil.getFormatedValueUS(value, decimalPrecission) + return StringUtil.getFormattedValueUS(value, decimalPrecission) } } \ No newline at end of file diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt index 902e4f410e..5c96e90983 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/TempBasalPair.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import java.util.Locale diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/di/MedtronicModule.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/di/MedtronicModule.kt index 0eebc3bd81..be41dacc47 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/di/MedtronicModule.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/di/MedtronicModule.kt @@ -3,13 +3,13 @@ package info.nightscout.androidaps.plugins.pump.medtronic.di import dagger.Module import dagger.Provides import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicFragment import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager import info.nightscout.androidaps.plugins.pump.medtronic.comm.ui.MedtronicUIComm import info.nightscout.androidaps.plugins.pump.medtronic.comm.ui.MedtronicUITask import info.nightscout.androidaps.plugins.pump.medtronic.dialog.MedtronicHistoryActivity import info.nightscout.androidaps.plugins.pump.medtronic.service.RileyLinkMedtronicService +import info.nightscout.pump.core.utils.ByteUtil @Module @Suppress("unused") diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt index 02de0e041f..8f0e046829 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt @@ -1,7 +1,5 @@ package info.nightscout.androidaps.plugins.pump.medtronic.driver -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil @@ -12,7 +10,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.BasalProfileStatus import info.nightscout.androidaps.plugins.pump.medtronic.defs.BatteryType import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import java.util.Calendar import java.util.GregorianCalendar diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt index 3e8b7024ba..121585fbff 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/service/RileyLinkMedtronicService.kt @@ -4,13 +4,11 @@ import android.content.Intent import android.content.res.Configuration import android.os.Binder import android.os.IBinder -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkTargetFrequency import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkService -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.R import info.nightscout.androidaps.plugins.pump.medtronic.comm.MedtronicCommunicationManager @@ -19,8 +17,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceTyp import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.defs.PumpDeviceState +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.LTag - import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt index 140de43b9f..fd6fea5981 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/util/MedtronicUtil.kt @@ -1,14 +1,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.util import com.google.gson.GsonBuilder -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.ClockDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.PumpSettingDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.RLHistoryItemMedtronic @@ -16,9 +13,12 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicCommandTy import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicNotificationType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.LocalTime import java.nio.ByteBuffer import java.nio.ByteOrder diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index eb308c26f6..914b874bd9 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -4,18 +4,18 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLoggerTest +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Rule diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt index 9a3975647a..1e624a3cbc 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.util.Log import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RawHistoryPage import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry @@ -13,6 +12,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceTyp import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.utils.serialisation.SealedClassHelper.gson +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus import org.junit.Before diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoderUTest.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoderUTest.kt index dea31405f6..b71a165e9d 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoderUTest.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/pump/MedtronicPumpHistoryDecoderUTest.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump //import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.RawHistoryPage import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.pump.core.utils.ByteUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 7b36bb3f18..46fba25214 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -32,6 +32,7 @@ dependencies { implementation project(':libraries') implementation project(':core') implementation project(':pump:pump-common') + implementation project(':pump:pump-core') implementation project(':pump:rileylink') implementation project(':pump:omnipod-common') implementation project(':interfaces') diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java index d8437851b3..e8993c6611 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodMessage.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.EnumSet; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.CancelDeliveryCommand; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command.GetStatusCommand; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryType; @@ -15,6 +14,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Po import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.CrcMismatchException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.MessageDecodingException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.NotEnoughDataException; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodPacket.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodPacket.java index 4d4d6d7d77..2dd6d61ac3 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodPacket.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/OmnipodPacket.java @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.RLMessage; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodCrc; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PacketType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.CrcMismatchException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.IllegalPacketTypeException; +import info.nightscout.pump.core.utils.ByteUtil; /** * Created by andy on 6/1/18. diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/AcknowledgeAlertsCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/AcknowledgeAlertsCommand.java index 9661957f6d..927401de21 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/AcknowledgeAlertsCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/AcknowledgeAlertsCommand.java @@ -4,11 +4,11 @@ import androidx.annotation.NonNull; import java.util.Collections; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSet; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class AcknowledgeAlertsCommand extends NonceResyncableMessageBlock { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommand.java index dd6f1f965a..9dc2b574ba 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommand.java @@ -1,17 +1,18 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; import androidx.annotation.NonNull; + import org.joda.time.Duration; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalSchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.RateEntry; +import info.nightscout.pump.core.utils.ByteUtil; public class BasalScheduleExtraCommand extends MessageBlock { private final boolean acknowledgementBeep; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommand.java index fd94fad4fc..d77d9d4801 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommand.java @@ -4,10 +4,10 @@ import androidx.annotation.NonNull; import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.BeepConfigType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class BeepConfigCommand extends MessageBlock { private final BeepConfigType beepType; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommand.java index 18fcd7b740..394b943d5e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommand.java @@ -2,10 +2,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; +import info.nightscout.pump.core.utils.ByteUtil; public class BolusExtraCommand extends MessageBlock { private final boolean acknowledgementBeep; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommand.java index 82066bf4b7..4991083fbd 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommand.java @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import java.util.EnumSet; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.BeepType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class CancelDeliveryCommand extends NonceResyncableMessageBlock { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommand.java index 82daa20180..27284a11a4 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommand.java @@ -4,10 +4,10 @@ import androidx.annotation.NonNull; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertConfiguration; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class ConfigureAlertsCommand extends NonceResyncableMessageBlock { private final List configurations; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/DeactivatePodCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/DeactivatePodCommand.java index c811970321..1c6427fd49 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/DeactivatePodCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/DeactivatePodCommand.java @@ -2,9 +2,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import androidx.annotation.NonNull; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class DeactivatePodCommand extends NonceResyncableMessageBlock { private int nonce; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/FaultConfigCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/FaultConfigCommand.java index dc8fcec55a..0cf2c6bde3 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/FaultConfigCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/FaultConfigCommand.java @@ -2,9 +2,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import androidx.annotation.NonNull; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class FaultConfigCommand extends NonceResyncableMessageBlock { private final byte tab5sub16; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommand.java index 68195c839e..44b8f46609 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommand.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.NonceResyncableMessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; @@ -12,6 +11,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.sc import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BolusDeliverySchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.DeliverySchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.TempBasalDeliverySchedule; +import info.nightscout.pump.core.utils.ByteUtil; public class SetInsulinScheduleCommand extends NonceResyncableMessageBlock { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommand.java index 689e7be301..43a82f4a2f 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommand.java @@ -2,9 +2,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import org.joda.time.DateTime; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; +import info.nightscout.pump.core.utils.ByteUtil; public class SetupPodCommand extends MessageBlock { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommand.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommand.java index 0a25712e56..c493100607 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommand.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommand.java @@ -5,11 +5,11 @@ import org.joda.time.Duration; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.RateEntry; +import info.nightscout.pump.core.utils.ByteUtil; public class TempBasalExtraCommand extends MessageBlock { private final boolean acknowledgementBeep; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponse.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponse.java index ebdab8f912..823646ec34 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponse.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponse.java @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import androidx.annotation.NonNull; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; public class ErrorResponse extends MessageBlock { public static final byte ERROR_RESPONSE_CODE_BAD_NONCE = (byte) 0x14; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponse.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponse.java index a844b52862..e922ef45b4 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponse.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponse.java @@ -5,13 +5,13 @@ import org.joda.time.Duration; import java.io.ByteArrayOutputStream; import java.io.IOException; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSet; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; public class StatusResponse extends MessageBlock implements StatusUpdatableResponse { private static final int MESSAGE_LENGTH = 10; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponse.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponse.java index 374f69d0cb..08ca3e393e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponse.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponse.java @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FirmwareVersion; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; public class VersionResponse extends MessageBlock { private static final int ASSIGN_ADDRESS_VERSION_RESPONSE_LENGTH = 0x15; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlerts.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlerts.java index 8ac03aa1a9..f2dac2d9a7 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlerts.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlerts.java @@ -5,10 +5,10 @@ import org.joda.time.Duration; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoActiveAlerts extends PodInfo { private static final int MINIMUM_MESSAGE_LENGTH = 11; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLog.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLog.java index aa2353df6f..2650b4bdf7 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLog.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLog.java @@ -6,9 +6,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoDataLog extends PodInfo { private static final int MINIMUM_MESSAGE_LENGTH = 8; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatus.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatus.java index 3a9dea9178..2fb56f6044 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatus.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatus.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communicatio import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.StatusUpdatableResponse; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSet; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; @@ -11,6 +10,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Fa import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoDetailedStatus extends PodInfo implements StatusUpdatableResponse { private static final int MINIMUM_MESSAGE_LENGTH = 21; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoOlderPulseLog.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoOlderPulseLog.java index b104fbc69d..84e632e0d9 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoOlderPulseLog.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoOlderPulseLog.java @@ -6,8 +6,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoOlderPulseLog extends PodInfo { private static final int MINIMUM_MESSAGE_LENGTH = 3; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLog.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLog.java index 8ca80ffe22..a5036c7d4c 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLog.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLog.java @@ -6,8 +6,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoRecentPulseLog extends PodInfo { private static final int MINIMUM_MESSAGE_LENGTH = 3; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponse.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponse.java index 20c2155477..1480d43f9a 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponse.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponse.java @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.MessageBlockType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoResponse extends MessageBlock { private final PodInfoType subType; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/AlertConfiguration.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/AlertConfiguration.java index c9518b0608..5451a18fd0 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/AlertConfiguration.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/AlertConfiguration.java @@ -1,9 +1,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition; import androidx.annotation.NonNull; + import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; public class AlertConfiguration { private final AlertType alertType; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/ErrorEventInfo.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/ErrorEventInfo.java index 2e4c4f9957..dd54d1b090 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/ErrorEventInfo.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/ErrorEventInfo.java @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; public final class ErrorEventInfo { private final boolean insulinStateTableCorruption; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalDeliverySchedule.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalDeliverySchedule.java index 56ee29c546..5103f8858e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalDeliverySchedule.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalDeliverySchedule.java @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.s import androidx.annotation.NonNull; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.IRawRepresentable; +import info.nightscout.pump.core.utils.ByteUtil; public class BasalDeliverySchedule extends DeliverySchedule implements IRawRepresentable { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalTableEntry.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalTableEntry.java index 5fbb5a20b1..4b9ef1588d 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalTableEntry.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BasalTableEntry.java @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.s import androidx.annotation.NonNull; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.IRawRepresentable; +import info.nightscout.pump.core.utils.ByteUtil; public class BasalTableEntry implements IRawRepresentable { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BolusDeliverySchedule.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BolusDeliverySchedule.java index a4c98cae00..e5bbf29634 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BolusDeliverySchedule.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/BolusDeliverySchedule.java @@ -4,9 +4,9 @@ import androidx.annotation.NonNull; import org.joda.time.Duration; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.IRawRepresentable; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; +import info.nightscout.pump.core.utils.ByteUtil; public class BolusDeliverySchedule extends DeliverySchedule implements IRawRepresentable { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/RateEntry.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/RateEntry.java index 150e32470d..24798e229b 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/RateEntry.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/RateEntry.java @@ -1,15 +1,15 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule; +import static info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants.BASAL_STEP_DURATION; + import org.joda.time.Duration; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.IRawRepresentable; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; - -import static info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants.BASAL_STEP_DURATION; +import info.nightscout.pump.core.utils.ByteUtil; public class RateEntry implements IRawRepresentable { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/TempBasalDeliverySchedule.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/TempBasalDeliverySchedule.java index 5fbf4b43b1..ca699991a2 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/TempBasalDeliverySchedule.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/definition/schedule/TempBasalDeliverySchedule.java @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.IRawRepresentable; +import info.nightscout.pump.core.utils.ByteUtil; public class TempBasalDeliverySchedule extends DeliverySchedule implements IRawRepresentable { diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/exception/NotEnoughDataException.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/exception/NotEnoughDataException.java index f656c706bc..bb3cb6ea8d 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/exception/NotEnoughDataException.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/exception/NotEnoughDataException.java @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; public class NotEnoughDataException extends OmnipodException { private final byte[] data; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index f9e9c28bd0..27f947f3ac 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -15,20 +15,14 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; -import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.OmnipodErosStorageKeys; @@ -75,14 +69,20 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.Ero import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; -import info.nightscout.shared.utils.T; +import info.nightscout.interfaces.ActivityNames; +import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.Event; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventRefreshOverview; 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.subjects.SingleSubject; @Singleton diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java index 676a9626bc..3e53b9da90 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/manager/OmnipodRileyLinkCommunicationManager.java @@ -8,12 +8,10 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RLMessageType; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkBLEError; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.action.OmnipodAction; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.MessageBlock; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.OmnipodMessage; @@ -43,6 +41,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.Ril import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.RileyLinkUnexpectedException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.exception.RileyLinkUnreachableException; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.manager.ErosPodStateManager; +import info.nightscout.pump.core.defs.PumpDeviceState; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.LTag; /** diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java index 8f7f9d3183..ccc51ca0fb 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/rileylink/service/RileyLinkOmnipodService.java @@ -9,7 +9,6 @@ import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType; @@ -20,6 +19,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugi import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; +import info.nightscout.pump.core.defs.PumpDeviceState; import info.nightscout.rx.logging.LTag; diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommandTest.java index 947df39bde..60733e458f 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BasalScheduleExtraCommandTest.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import org.joda.time.Duration; import org.junit.Test; @@ -7,15 +12,10 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalSchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalScheduleEntry; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.RateEntry; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import info.nightscout.pump.core.utils.ByteUtil; public class BasalScheduleExtraCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommandTest.java index a777c5d082..995301fe6c 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BeepConfigCommandTest.java @@ -1,12 +1,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.Duration; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.BeepConfigType; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class BeepConfigCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommandTest.java index f37f6f09c7..7faacf7797 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/BolusExtraCommandTest.java @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.Duration; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class BolusExtraCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommandTest.java index c97a199340..1d00d152df 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/CancelDeliveryCommandTest.java @@ -1,14 +1,14 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.junit.Test; import java.util.EnumSet; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.BeepType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryType; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class CancelDeliveryCommandTest { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommandTest.java index 8937911a03..7ad4116172 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/ConfigureAlertsCommandTest.java @@ -1,12 +1,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.Duration; import org.junit.Test; import java.util.Arrays; import java.util.Collections; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertConfiguration; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertType; @@ -14,8 +15,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.Be import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.BeepType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.TimerAlertTrigger; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.UnitsRemainingAlertTrigger; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class ConfigureAlertsCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/GetStatusCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/GetStatusCommandTest.java index 2a92300f1a..b1074bc967 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/GetStatusCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/GetStatusCommandTest.java @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class GetStatusCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommandTest.java index 03a0e3175e..c24f6822b2 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetInsulinScheduleCommandTest.java @@ -1,5 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.Duration; import org.junit.Test; @@ -7,12 +9,10 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalSchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalScheduleEntry; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BolusDeliverySchedule; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class SetInsulinScheduleCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommandTest.java index 07f91df881..439c7c2384 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/SetupPodCommandTest.java @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.DateTime; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class SetupPodCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommandTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommandTest.java index 69da4a64fc..6cc543ec9b 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommandTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/command/TempBasalExtraCommandTest.java @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.command; +import static org.junit.Assert.assertArrayEquals; + import org.joda.time.Duration; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; - -import static org.junit.Assert.assertArrayEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class TempBasalExtraCommandTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponseTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponseTest.java index c61e7fded3..94eed25065 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponseTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/ErrorResponseTest.java @@ -1,15 +1,15 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response; -import org.junit.Test; - -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; - import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import org.junit.Test; + +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; + public class ErrorResponseTest { @Test public void testGetRawData() { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponseTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponseTest.java index bbbc4d0a12..ac78f56da4 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponseTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/StatusResponseTest.java @@ -1,19 +1,19 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response; -import org.joda.time.Duration; -import org.junit.Test; - -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; - import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.joda.time.Duration; +import org.junit.Test; + +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.AlertSlot; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; + public class StatusResponseTest { // TODO add /extend tests diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponseTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponseTest.java index 0114d14fd6..d0bcb5b833 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponseTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/VersionResponseTest.java @@ -1,10 +1,5 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response; -import org.junit.Test; - -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; - import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -12,6 +7,11 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.junit.Test; + +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; + public class VersionResponseTest { @Test public void testRawDataAssignAddressVersionResponse() { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlertsTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlertsTest.java index 21468200e1..617824448f 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlertsTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoActiveAlertsTest.java @@ -1,14 +1,14 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.joda.time.Duration; import org.junit.Test; import java.util.List; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoActiveAlertsTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLogTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLogTest.java index b3b0dec638..91656418d6 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLogTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDataLogTest.java @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.joda.time.Duration; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoDataLogTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatusTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatusTest.java index fc451eda07..17f9f8c3aa 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatusTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoDetailedStatusTest.java @@ -1,19 +1,19 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; -import org.joda.time.Duration; -import org.junit.Test; - -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ErrorEventInfo; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import org.joda.time.Duration; +import org.junit.Test; + +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.DeliveryStatus; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ErrorEventInfo; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodProgressStatus; +import info.nightscout.pump.core.utils.ByteUtil; + // From https://github.com/ps2/rileylink_ios/blob/omnipod-testing/OmniKitTests/PodInfoTests.swift public class PodInfoDetailedStatusTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoFaultAndInitializationTimeTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoFaultAndInitializationTimeTest.java index 3cd87634f7..fe8a8a7c77 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoFaultAndInitializationTimeTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoFaultAndInitializationTimeTest.java @@ -1,15 +1,15 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.joda.time.DateTime; import org.joda.time.Duration; import org.junit.Assert; import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.FaultEventCode; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoFaultAndInitializationTimeTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLogTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLogTest.java index d499a4b4b0..b782385dea 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLogTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoRecentPulseLogTest.java @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; +import static org.junit.Assert.assertEquals; + import org.junit.Test; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; - -import static org.junit.Assert.assertEquals; +import info.nightscout.pump.core.utils.ByteUtil; public class PodInfoRecentPulseLogTest { @Test diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponseTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponseTest.java index df85b00d83..c420084fdb 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponseTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/message/response/podinfo/PodInfoResponseTest.java @@ -1,17 +1,15 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.communication.message.response.podinfo; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; - import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import org.junit.Assert; +import org.junit.Test; + +import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.PodInfoType; +import info.nightscout.pump.core.utils.ByteUtil; + public class PodInfoResponseTest { @Test public void testRawData() { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDriverState.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDriverState.kt index 6f6124005d..02cdfe1d32 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDriverState.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDriverState.kt @@ -15,11 +15,9 @@ enum class PumpDriverState(var resourceId: Int) { Ready(R.string.pump_status_ready), Busy(R.string.pump_status_busy), // Suspended(R.string.pump_status_suspended), // - Sleeping(R.string.pump_status_sleeping), ExecutingCommand(R.string.pump_status_executing_command), Disconnecting(R.string.disconnecting), - Disconnected(R.string.disconnected), - ErrorCommunicatingWithPump(R.string.pump_status_error_comm); + Disconnected(R.string.disconnected); fun isConnected(): Boolean = this == Connected || this == Initialized || this == Busy || this == Suspended fun isInitialized(): Boolean = this == Initialized || this == Busy || this == Suspended diff --git a/pump/pump-common/src/main/res/values/strings.xml b/pump/pump-common/src/main/res/values/strings.xml index d51c9755f6..e705e33005 100644 --- a/pump/pump-common/src/main/res/values/strings.xml +++ b/pump/pump-common/src/main/res/values/strings.xml @@ -11,14 +11,6 @@ - Never contacted - Waking up - Error with communication - Timeout on communication - Pump unreachable - Invalid configuration - Active - Sleeping Not initialized Initialized Encrypting communication diff --git a/pump/pump-core/.gitignore b/pump/pump-core/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/pump/pump-core/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/pump/pump-core/build.gradle b/pump/pump-core/build.gradle new file mode 100644 index 0000000000..eb744c9963 --- /dev/null +++ b/pump/pump-core/build.gradle @@ -0,0 +1,20 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/jacoco_global.gradle" +android { + namespace 'info.nightscout.pump.core' +} + +dependencies { + api "net.danlew:android.joda:$joda_version" +} diff --git a/pump/pump-core/consumer-rules.pro b/pump/pump-core/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pump/pump-core/proguard-rules.pro b/pump/pump-core/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/pump/pump-core/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/pump/pump-core/src/main/AndroidManifest.xml b/pump/pump-core/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/pump/pump-core/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDeviceState.kt b/pump/pump-core/src/main/java/info/nightscout/pump/core/defs/PumpDeviceState.kt similarity index 83% rename from pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDeviceState.kt rename to pump/pump-core/src/main/java/info/nightscout/pump/core/defs/PumpDeviceState.kt index 803d1a8902..9ebe3463e3 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpDeviceState.kt +++ b/pump/pump-core/src/main/java/info/nightscout/pump/core/defs/PumpDeviceState.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.pump.core.defs -import info.nightscout.androidaps.plugins.pump.common.R +import info.nightscout.pump.core.R enum class PumpDeviceState(var resourceId: Int) { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ByteUtil.java b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ByteUtil.java similarity index 99% rename from pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ByteUtil.java rename to pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ByteUtil.java index ac4f6d24af..fef889df2e 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ByteUtil.java +++ b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ByteUtil.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.common.utils; +package info.nightscout.pump.core.utils; import java.nio.ByteBuffer; import java.util.ArrayList; diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/StringUtil.java similarity index 79% rename from pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java rename to pump/pump-core/src/main/java/info/nightscout/pump/core/utils/StringUtil.java index a2050a7273..73e12d8d17 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/StringUtil.java +++ b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/StringUtil.java @@ -1,22 +1,19 @@ -package info.nightscout.androidaps.plugins.pump.common.utils; +package info.nightscout.pump.core.utils; import org.joda.time.LocalDateTime; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; -import info.nightscout.shared.utils.DateUtil; - /** * Created by geoff on 4/28/15. * modified by Andy */ public class StringUtil { - public static DecimalFormat[] DecimalFormaters = { + public static DecimalFormat[] DecimalFormatters = { new DecimalFormat("#0"), new DecimalFormat("#0.0"), new DecimalFormat("#0.00"), new DecimalFormat("#0.000")}; @@ -44,7 +41,7 @@ public class StringUtil { public static String testJoin() { - ArrayList ra = new ArrayList(); + ArrayList ra = new ArrayList<>(); ra.add("one"); ra.add("two"); ra.add("three"); @@ -69,8 +66,8 @@ public class StringUtil { } - public static String getFormatedValueUS(Number value, int decimals) { - return DecimalFormaters[decimals].format(value).replace(",", "."); + public static String getFormattedValueUS(Number value, int decimals) { + return DecimalFormatters[decimals].format(value).replace(",", "."); } @@ -85,9 +82,8 @@ public class StringUtil { } - public static String toDateTimeString(DateUtil dateUtil, LocalDateTime localDateTime) { - return dateUtil.dateAndTimeAndSecondsString(localDateTime.toDateTime().getMillis()); - //return localDateTime.toString("dd.MM.yyyy HH:mm:ss"); + public static String toDateTimeString(LocalDateTime localDateTime) { + return localDateTime.toString("dd.MM.yyyy HH:mm:ss"); } diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ThreadUtil.java b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ThreadUtil.java similarity index 86% rename from pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ThreadUtil.java rename to pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ThreadUtil.java index d1781da72a..66484701a9 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ThreadUtil.java +++ b/pump/pump-core/src/main/java/info/nightscout/pump/core/utils/ThreadUtil.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.common.utils; +package info.nightscout.pump.core.utils; /** * Created by geoff on 5/27/16. diff --git a/pump/pump-core/src/main/res/values/strings.xml b/pump/pump-core/src/main/res/values/strings.xml new file mode 100644 index 0000000000..d1ffb7471e --- /dev/null +++ b/pump/pump-core/src/main/res/values/strings.xml @@ -0,0 +1,14 @@ + + + + + Never contacted + Sleeping + Waking up + Active + Error with communication + Timeout on communication + Pump unreachable + Invalid configuration + + diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index eb5621dc5a..5d7e629096 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -20,5 +20,6 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') + implementation project(':pump:pump-core') implementation project(':interfaces') } diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt index 1e6cf11a25..efabc75863 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.common.events import info.nightscout.androidaps.events.EventStatus -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.shared.interfaces.ResourceHelper open class EventRileyLinkDeviceStatusChange : EventStatus { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java index 6bcc3dd689..341348d971 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java @@ -6,7 +6,6 @@ import javax.inject.Inject; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.FrequencyScanResults; @@ -21,8 +20,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.interfaces.utils.Round; +import info.nightscout.pump.core.defs.PumpDeviceState; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.sharedPreferences.SP; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java index 1350d03aab..388378d254 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpy.java @@ -12,7 +12,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil; @@ -32,13 +31,14 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.Rile import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkTargetFrequency; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operations.BLECommOperationResult; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil; -import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil; +import info.nightscout.pump.core.utils.ByteUtil; +import info.nightscout.pump.core.utils.StringUtil; +import info.nightscout.pump.core.utils.ThreadUtil; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventRefreshOverview; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.shared.sharedPreferences.SP; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt index c064653472..b56774e985 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFSpyReader.kt @@ -4,8 +4,8 @@ import android.os.SystemClock import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operations.BLECommOperationResult -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.ThreadUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import java.util.UUID diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt index 5e1103458f..d56184dc6a 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RileyLinkBLE.kt @@ -15,7 +15,6 @@ import android.content.pm.PackageManager import android.os.Build import android.os.SystemClock import androidx.core.content.ContextCompat -import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes @@ -28,8 +27,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operation import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil -import info.nightscout.androidaps.plugins.pump.common.utils.ThreadUtil +import info.nightscout.interfaces.Config +import info.nightscout.pump.core.utils.ByteUtil +import info.nightscout.pump.core.utils.ThreadUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/command/SendAndListen.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/command/SendAndListen.java index d0e4e6de74..159b792c0e 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/command/SendAndListen.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/command/SendAndListen.java @@ -10,7 +10,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Radi import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkCommandType; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkFirmwareVersion; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; public class SendAndListen extends RileyLinkCommand { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioPacket.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioPacket.java index ab7b5d6400..6486dd85ba 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioPacket.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioPacket.java @@ -6,8 +6,8 @@ import javax.inject.Inject; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.common.utils.CRC; +import info.nightscout.pump.core.utils.ByteUtil; /** * Created by geoff on 5/22/16. diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java index c04163dcec..1fbbc319cb 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/RadioResponse.java @@ -12,8 +12,8 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.Rile import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkCommandType; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkFirmwareVersion; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; import info.nightscout.androidaps.plugins.pump.common.utils.CRC; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java index ddde11e6b5..199120c9a3 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bAbstract.java @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.encoding; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.AAPSLogger; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java index 0b89d85a34..2def87cc09 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/data/encoding/Encoding4b6bGeoff.java @@ -6,7 +6,7 @@ import java.util.Locale; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkBLEError; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.logging.AAPSLogger; /** diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt index fd4aa416cb..25d9f91c78 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/device/OrangeLinkImpl.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLink import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.operations.BLECommOperationResult import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil +import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java index 74defd7a00..d916723cdf 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/data/RLHistoryItem.java @@ -2,10 +2,10 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data; import org.joda.time.LocalDateTime; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice; +import info.nightscout.pump.core.defs.PumpDeviceState; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt index e82d3cec56..beebdeed8f 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt @@ -6,16 +6,16 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusGeneralBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData -import info.nightscout.androidaps.plugins.pump.common.utils.StringUtil -import info.nightscout.shared.utils.DateUtil +import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.joda.time.LocalDateTime import javax.inject.Inject @@ -85,7 +85,7 @@ class RileyLinkStatusGeneralFragment : DaggerFragment() { } val lastConnectionTimeMillis = rileyLinkPumpDevice.lastConnectionTimeMillis if (lastConnectionTimeMillis == 0L) binding.lastDeviceContact.text = rh.gs(R.string.riley_link_ble_config_connected_never) - else binding.lastDeviceContact.text = StringUtil.toDateTimeString(dateUtil, LocalDateTime(lastConnectionTimeMillis)) + else binding.lastDeviceContact.text = StringUtil.toDateTimeString(LocalDateTime(lastConnectionTimeMillis)) } companion object { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt index 6925a1783c..8e66321068 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusHistoryFragment.kt @@ -7,14 +7,14 @@ import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusHistoryBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusHistoryItemBinding -import info.nightscout.shared.utils.DateUtil +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject class RileyLinkStatusHistoryFragment : DaggerFragment() { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt index 88293787e1..758b1686a3 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt @@ -7,8 +7,6 @@ import android.content.Intent import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpDeviceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil @@ -17,9 +15,11 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLink import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState +import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.bus.RxBus 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 java.util.Locale import javax.inject.Inject diff --git a/pump/rileylink/src/test/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFToolsParametrizedUTest.java b/pump/rileylink/src/test/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFToolsParametrizedUTest.java index 42ed577d43..5f7393d6bd 100644 --- a/pump/rileylink/src/test/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFToolsParametrizedUTest.java +++ b/pump/rileylink/src/test/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/ble/RFToolsParametrizedUTest.java @@ -11,7 +11,7 @@ import java.util.Arrays; import java.util.Collection; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.encoding.Encoding4b6bGeoff; -import info.nightscout.androidaps.plugins.pump.common.utils.ByteUtil; +import info.nightscout.pump.core.utils.ByteUtil; /** * Created by andy on 11/21/18. diff --git a/settings.gradle b/settings.gradle index df262404ac..3ab7a61408 100644 --- a/settings.gradle +++ b/settings.gradle @@ -24,6 +24,7 @@ include ':pump:omnipod-common' include ':pump:omnipod-eros' include ':pump:omnipod-dash' include ':pump:pump-common' +include ':pump:pump-core' include ':pump:rileylink' include ':openhumans' include ':automation' From 34320ad8ca10d791852176343d42ee87dd21116a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 17:34:47 +0100 Subject: [PATCH 021/123] sync -> plugins module --- app/src/main/AndroidManifest.xml | 6 +- .../nightscout/androidaps/MainActivity.kt | 12 +- .../info/nightscout/androidaps/MainApp.kt | 20 +- .../activities/MyPreferenceFragment.kt | 14 +- .../nightscout/androidaps/di/AppModule.kt | 34 +- .../androidaps/di/FragmentsModule.kt | 12 - .../androidaps/di/OverviewModule.kt | 2 +- .../androidaps/di/PluginsListModule.kt | 10 +- .../androidaps/di/ServicesModule.kt | 4 +- .../nightscout/androidaps/di/WorkersModule.kt | 24 -- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 10 +- .../configBuilder/ConfigBuilderPlugin.kt | 4 +- .../configBuilder/ProfileFunctionImpl.kt | 8 +- .../objectives/ObjectivesPlugin.kt | 6 +- .../objectives/objectives/Objective0.kt | 8 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 8 +- .../general/maintenance/MaintenancePlugin.kt | 6 +- .../general/overview/OverviewFragment.kt | 18 +- .../general/overview/OverviewPlugin.kt | 14 +- .../plugins/general/wear/WearFragment.kt | 4 +- .../wear/wearintegration/DataHandlerMobile.kt | 8 +- .../androidaps/plugins/source/AidexPlugin.kt | 13 +- .../androidaps/plugins/source/DexcomPlugin.kt | 15 +- .../plugins/source/EversensePlugin.kt | 9 +- .../androidaps/plugins/source/GlimpPlugin.kt | 7 +- .../plugins/source/GlunovoPlugin.kt | 13 +- .../plugins/source/IntelligoPlugin.kt | 15 +- .../androidaps/plugins/source/MM640gPlugin.kt | 11 +- .../plugins/source/PoctechPlugin.kt | 7 +- .../plugins/source/RandomBgPlugin.kt | 7 +- .../androidaps/plugins/source/TomatoPlugin.kt | 5 +- .../androidaps/plugins/source/XdripPlugin.kt | 7 +- .../androidaps/receivers/KeepAliveWorker.kt | 8 +- .../androidaps/setupwizard/SWDefinition.kt | 4 +- .../setupwizard/SetupWizardActivity.kt | 2 +- .../utils/extensions/TherapyEventExtension.kt | 12 - .../workflow/PreparePredictionsWorker.kt | 6 +- .../main/res/layout/dialog_extendedbolus.xml | 2 +- .../res/layout/smscommunicator_fragment.xml | 13 - app/src/main/res/values/arrays.xml | 32 -- app/src/main/res/values/objectives.xml | 2 - app/src/main/res/values/strings.xml | 223 +---------- app/src/main/res/xml/pref_alerts.xml | 2 +- .../interfaces/ConstraintsCheckerTest.kt | 3 +- .../plugins/aps/loop/LoopPluginTest.kt | 14 +- .../constraints/safety/SafetyPluginTest.kt | 6 +- .../maintenance/MaintenancePluginTest.kt | 4 +- .../plugins/source/NSClientPluginTest.kt | 1 + .../utils/wizard/BolusWizardTest.kt | 6 +- .../androidaps/events/EventNewBG.kt | 0 .../plugins/general/overview/OverviewData.kt | 10 +- core/src/main/res/values/strings.xml | 18 +- .../pump/PumpSyncImplementation.kt | 16 +- .../pump/insight/LocalInsightFragment.java | 10 +- insight/src/main/res/values/strings.xml | 1 - .../info/nightscout/interfaces/VirtualPump.kt | 5 + openhumans/src/main/res/values/strings.xml | 1 - plugins/build.gradle | 1 + plugins/src/main/AndroidManifest.xml | 6 + .../configBuilder/RunningConfiguration.kt | 6 +- .../nightscout/plugins/di/AutotuneModule.kt | 3 + .../nightscout/plugins/di/PluginsModule.kt | 5 +- .../nightscout/plugins/di/SourceModule.kt | 15 + .../info/nightscout/plugins/di/SyncModule.kt | 41 ++ .../plugins/di/VirtualPumpModule.kt | 12 + .../plugins/general/food/FoodFragment.kt | 6 +- .../DismissNotificationService.kt | 2 +- .../notifications/NotificationStore.kt | 14 +- .../notifications/NotificationWithAction.kt | 16 +- .../events/EventUpdateOverviewNotification.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 198 +++++----- .../pump/virtual/VirtualPumpFragment.kt | 22 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 41 +- .../events/EventVirtualPumpUpdateGui.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 32 +- .../plugins/source/NSClientSourcePlugin.kt | 18 +- .../plugins/sync/nsShared/NSClientFragment.kt | 31 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 12 +- .../nsShared/events/EventNSClientNewLog.kt | 2 +- .../nsShared/events/EventNSClientResend.kt | 2 +- .../nsShared/events/EventNSClientStatus.kt | 2 +- .../nsShared/events/EventNSClientUpdateGUI.kt | 2 +- .../DataSyncSelectorImplementation.kt | 8 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 32 +- .../sync/nsclient/NsClientReceiverDelegate.kt | 8 +- .../plugins/sync/nsclient/acks/NSAddAck.kt | 2 +- .../plugins/sync/nsclient/acks/NSAuthAck.kt | 2 +- .../plugins/sync/nsclient/acks/NSUpdateAck.kt | 2 +- .../plugins/sync/nsclient/data/AlarmAck.java | 2 +- .../plugins/sync/nsclient/data/NSAlarm.kt | 2 +- .../nsclient/data/NSDeviceStatusHandler.kt | 10 +- .../plugins/sync/nsclient/data/NSMbg.kt | 2 +- .../sync/nsclient/data/NSSettingsStatus.kt | 16 +- .../plugins/sync/nsclient/data/NSSgv.kt | 2 +- .../data/ProcessedDeviceStatusData.kt | 16 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 16 +- .../sync/nsclient/services/NSClientService.kt | 64 ++-- .../nsclient/workers}/NSClientAddAckWorker.kt | 8 +- .../workers}/NSClientAddUpdateWorker.kt | 14 +- .../nsclient/workers}/NSClientMbgWorker.kt | 10 +- .../workers}/NSClientUpdateRemoveAckWorker.kt | 6 +- .../sync/nsclientV3/NSClientV3Plugin.kt | 50 +-- .../BolusCalculatorResultExtension.kt | 2 +- .../nsclientV3/extensions/BolusExtension.kt | 2 +- .../nsclientV3/extensions/CarbsExtension.kt | 2 +- .../EffectiveProfileSwitchExtension.kt | 4 +- .../extensions/ExtendedBolusExtension.kt | 2 +- .../extensions/OfflineEventExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 6 +- .../extensions/TemporaryBasalExtension.kt | 2 +- .../extensions/TemporaryTargetExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 2 +- .../sync/nsclientV3/workers/LoadBgWorker.kt | 16 +- .../workers/LoadDeviceStatusWorker.kt | 12 +- .../workers/LoadLastModificationWorker.kt | 4 +- .../nsclientV3/workers/LoadStatusWorker.kt | 4 +- .../workers/LoadTreatmentsWorker.kt | 10 +- .../workers/ProcessTreatmentsWorker.kt | 30 +- .../plugins/sync/tidepool/TidepoolFragment.kt | 14 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 24 +- .../sync/tidepool/comm/InfoInterceptor.kt | 2 +- .../plugins/sync/tidepool/comm/Session.kt | 6 +- .../sync/tidepool/comm/TidepoolApiService.kt | 23 +- .../sync/tidepool/comm/TidepoolCallback.kt | 4 +- .../sync/tidepool/comm/TidepoolUploader.kt | 25 +- .../plugins/sync/tidepool/comm/UploadChunk.kt | 26 +- .../sync/tidepool/elements/BasalElement.kt | 6 +- .../sync/tidepool/elements/BaseElement.kt | 2 +- .../tidepool/elements/BloodGlucoseElement.kt | 7 +- .../sync/tidepool/elements/BolusElement.kt | 4 +- .../sync/tidepool/elements/ProfileElement.kt | 6 +- .../tidepool/elements/SensorGlucoseElement.kt | 5 +- .../sync/tidepool/elements/WizardElement.kt | 4 +- .../tidepool/events/EventTidepoolDoUpload.kt | 2 +- .../tidepool/events/EventTidepoolResetData.kt | 2 +- .../tidepool/events/EventTidepoolStatus.kt | 2 +- .../tidepool/events/EventTidepoolUpdateGUI.kt | 2 +- .../tidepool/messages/AuthReplyMessage.kt | 2 +- .../tidepool/messages/AuthRequestMessage.kt | 4 +- .../sync/tidepool/messages/BaseMessage.kt | 4 +- .../messages/CloseDatasetRequestMessage.kt | 2 +- .../tidepool/messages/DatasetReplyMessage.kt | 2 +- .../messages/OpenDatasetRequestMessage.kt | 11 +- .../tidepool/messages/UploadReplyMessage.kt | 2 +- .../sync/tidepool/utils/GsonInstance.kt | 2 +- .../plugins/sync/tidepool/utils/RateLimit.kt | 6 +- .../main/res/layout/ns_client_fragment.xml | 6 +- .../res/layout/overview_notification_item.xml | 0 .../src/main/res/layout/source_fragment.xml | 2 +- .../src/main/res/layout/source_item.xml | 0 .../src/main/res/layout/tidepool_fragment.xml | 0 .../main/res/layout/virtual_pump_fragment.xml | 14 +- .../src/main/res/raw/urgentalarm.mp3 | Bin plugins/src/main/res/values/arrays.xml | 32 ++ plugins/src/main/res/values/strings.xml | 356 +++++++++++++++--- .../src/main/res/xml/pref_bgsource.xml | 0 .../src/main/res/xml/pref_ns_client.xml | 46 +-- .../src/main/res/xml/pref_smscommunicator.xml | 10 +- .../src/main/res/xml/pref_tidepool.xml | 0 .../src/main/res/xml/pref_virtual_pump.xml | 4 +- .../SmsCommunicatorPluginTest.kt | 86 ++--- .../pump/virtual/VirtualPumpPluginUTest.kt | 10 +- .../nsclient/NsClientReceiverDelegateTest.kt | 6 +- .../plugins/sync/tidepool/comm/SessionTest.kt | 6 +- .../main/res/layout/combopump_fragment.xml | 2 +- .../src/main/res/layout/danar_fragment.xml | 4 +- .../main/res/layout/diaconn_g8_fragment.xml | 4 +- .../main/res/layout/medtronic_fragment.xml | 2 +- ui/src/main/res/values/strings.xml | 2 - 170 files changed, 1238 insertions(+), 1166 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt delete mode 100644 app/src/main/res/layout/smscommunicator_fragment.xml rename {app => core}/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt (100%) rename {app/src/main/java/info/nightscout/androidaps/plugins => implementation/src/main/java/info/nightscout/implementation}/pump/PumpSyncImplementation.kt (98%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/configBuilder/RunningConfiguration.kt (97%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/general/overview/notifications/DismissNotificationService.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/general/overview/notifications/NotificationStore.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/general/overview/notifications/NotificationWithAction.kt (84%) rename {app/src/main/java/info/nightscout/androidaps/plugins/general/overview => plugins/src/main/java/info/nightscout/plugins/general/overview/notifications}/events/EventUpdateOverviewNotification.kt (60%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/pump/virtual/VirtualPumpFragment.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/pump/virtual/VirtualPumpPlugin.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt (61%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/BGSourceFragment.kt (93%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/NSClientSourcePlugin.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/NSClientFragment.kt (86%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/StoreDataForDb.kt (99%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/events/EventNSClientNewLog.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/events/EventNSClientResend.kt (60%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/events/EventNSClientStatus.kt (83%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt (60%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/DataSyncSelectorImplementation.kt (99%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/NSClientPlugin.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/NsClientReceiverDelegate.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/acks/NSAddAck.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/acks/NSAuthAck.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/acks/NSUpdateAck.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/AlarmAck.java (73%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/NSAlarm.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/NSMbg.kt (87%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/NSSettingsStatus.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/NSSgv.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt (96%) rename {app/src/main/java/info/nightscout/androidaps/utils => plugins/src/main/java/info/nightscout/plugins/sync/nsclient}/extensions/DeviceStatusExtension.kt (99%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclient/services/NSClientService.kt (93%) rename {app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient => plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers}/NSClientAddAckWorker.kt (98%) rename {app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient => plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers}/NSClientAddUpdateWorker.kt (96%) rename {app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient => plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers}/NSClientMbgWorker.kt (83%) rename {app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient => plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers}/NSClientUpdateRemoveAckWorker.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/NSClientV3Plugin.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/BolusExtension.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/CarbsExtension.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/LoadBgWorker.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt (87%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt (93%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt (85%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/TidepoolFragment.kt (84%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/TidepoolPlugin.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/InfoInterceptor.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/Session.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/TidepoolApiService.kt (75%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/TidepoolCallback.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/TidepoolUploader.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/comm/UploadChunk.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/BasalElement.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/BaseElement.kt (91%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/BloodGlucoseElement.kt (93%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/BolusElement.kt (86%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/ProfileElement.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/SensorGlucoseElement.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/elements/WizardElement.kt (95%) rename {app/src/main/java/info/nightscout/androidaps/plugins/general => plugins/src/main/java/info/nightscout/plugins/sync}/tidepool/events/EventTidepoolDoUpload.kt (53%) rename {app/src/main/java/info/nightscout/androidaps/plugins/general => plugins/src/main/java/info/nightscout/plugins/sync}/tidepool/events/EventTidepoolResetData.kt (54%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/events/EventTidepoolStatus.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt (55%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/AuthReplyMessage.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/AuthRequestMessage.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/BaseMessage.kt (73%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt (68%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/DatasetReplyMessage.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/messages/UploadReplyMessage.kt (53%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/utils/GsonInstance.kt (86%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/sync/tidepool/utils/RateLimit.kt (93%) rename {app => plugins}/src/main/res/layout/ns_client_fragment.xml (95%) rename {app => plugins}/src/main/res/layout/overview_notification_item.xml (100%) rename app/src/main/res/layout/bgsource_fragment.xml => plugins/src/main/res/layout/source_fragment.xml (86%) rename app/src/main/res/layout/bgsource_item.xml => plugins/src/main/res/layout/source_item.xml (100%) rename {app => plugins}/src/main/res/layout/tidepool_fragment.xml (100%) rename app/src/main/res/layout/virtualpump_fragment.xml => plugins/src/main/res/layout/virtual_pump_fragment.xml (97%) rename {app => plugins}/src/main/res/raw/urgentalarm.mp3 (100%) rename {app => plugins}/src/main/res/xml/pref_bgsource.xml (100%) rename app/src/main/res/xml/pref_nsclientinternal.xml => plugins/src/main/res/xml/pref_ns_client.xml (85%) rename {app => plugins}/src/main/res/xml/pref_tidepool.xml (100%) rename app/src/main/res/xml/pref_virtualpump.xml => plugins/src/main/res/xml/pref_virtual_pump.xml (86%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/pump/virtual/VirtualPumpPluginUTest.kt (96%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt (98%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/sync/tidepool/comm/SessionTest.kt (80%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 93f9a92669..2ee878e272 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -171,16 +171,12 @@ android:scheme="wear" />
- diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 21f333dc60..c32028af81 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -40,28 +40,28 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest -import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index b3068cce38..0b49cf7551 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -23,30 +23,30 @@ import info.nightscout.androidaps.database.transactions.VersionChangeTransaction import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore import info.nightscout.androidaps.receivers.BTReceiver import info.nightscout.androidaps.receivers.ChargingStateReceiver import info.nightscout.androidaps.receivers.KeepAliveWorker import info.nightscout.androidaps.receivers.NetworkChangeReceiver import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.ProcessLifecycleListener +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.locale.LocaleHelper +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.general.overview.notifications.NotificationStore import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin 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 info.nightscout.ui.utils.ActivityMonitor import info.nightscout.ui.widget.Widget import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -124,7 +124,7 @@ class MainApp : DaggerApplication() { // log version disposable += repository.runTransaction(VersionChangeTransaction(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE, gitRemote, commitHash)).subscribe() // log app start - if (sp.getBoolean(R.string.key_ns_logappstartedevent, config.APS)) + if (sp.getBoolean(R.string.key_ns_log_app_started_event, config.APS)) disposable += repository .runTransaction( InsertIfNewByTimestampTherapyEventTransaction( @@ -214,8 +214,8 @@ class MainApp : DaggerApplication() { } sp.remove("ns_charginonly") } - if (!sp.contains(R.string.key_ns_logappstartedevent)) - sp.putBoolean(R.string.key_ns_logappstartedevent, config.APS) + if (!sp.contains(R.string.key_ns_log_app_started_event)) + sp.putBoolean(R.string.key_ns_log_app_started_event, config.APS) } override fun applicationInjector(): AndroidInjector { diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index ed0f7f6242..2ad9bdb92a 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,11 +23,9 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin @@ -41,7 +39,6 @@ import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin import info.nightscout.androidaps.plugins.pump.eopatch.EopatchPumpPlugin import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin @@ -53,10 +50,6 @@ import info.nightscout.androidaps.plugins.source.GlunovoPlugin import info.nightscout.androidaps.plugins.source.IntelligoPlugin import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin -import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.androidaps.utils.alertDialogs.OKDialog.show import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.BIOMETRIC @@ -64,13 +57,20 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionTyp import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.CUSTOM_PIN import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.NONE import info.nightscout.automation.AutomationPlugin +import info.nightscout.interfaces.Config import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin import info.nightscout.plugins.insulin.InsulinOrefFreePeakPlugin +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index e9d2a00a84..b0f83d2931 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -10,28 +10,17 @@ import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.Autotune -import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.NotificationHolder import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator @@ -44,18 +33,12 @@ import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.plugins.pump.PumpSyncImplementation -import info.nightscout.androidaps.plugins.sync.nsclient.DataSyncSelectorImplementation -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation -import info.nightscout.interfaces.storage.FileStorage -import info.nightscout.interfaces.storage.Storage import info.nightscout.implementation.AndroidPermissionImpl import info.nightscout.implementation.BolusTimerImpl import info.nightscout.implementation.CarbTimerImpl @@ -63,16 +46,33 @@ import info.nightscout.implementation.LocalAlertUtilsImpl import info.nightscout.implementation.TrendCalculatorImpl import info.nightscout.implementation.XDripBroadcastImpl import info.nightscout.implementation.constraints.ConstraintsImpl +import info.nightscout.implementation.pump.PumpSyncImplementation import info.nightscout.implementation.queue.CommandQueueImplementation import info.nightscout.implementation.stats.DexcomTirCalculatorImpl import info.nightscout.implementation.stats.TddCalculatorImpl import info.nightscout.implementation.stats.TirCalculatorImpl +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.Autotune +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.CarbTimer +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.storage.FileStorage +import info.nightscout.interfaces.storage.Storage import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin +import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Singleton @Suppress("unused") diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 5765478431..96d1ee7956 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -23,12 +23,7 @@ import info.nightscout.androidaps.plugins.general.maintenance.MaintenanceFragmen import info.nightscout.androidaps.plugins.general.overview.OverviewFragment import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.wear.WearFragment -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpFragment -import info.nightscout.androidaps.plugins.source.BGSourceFragment -import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment -import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolFragment import info.nightscout.androidaps.utils.protection.PasswordCheck -import info.nightscout.plugins.general.autotune.AutotuneFragment @Module @Suppress("unused") @@ -37,21 +32,14 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesPreferencesFragment(): MyPreferenceFragment @ContributesAndroidInjector abstract fun contributesActionsFragment(): ActionsFragment - @ContributesAndroidInjector abstract fun contributesAutotuneFragment(): AutotuneFragment - @ContributesAndroidInjector abstract fun contributesBGSourceFragment(): BGSourceFragment @ContributesAndroidInjector abstract fun contributesConfigBuilderFragment(): ConfigBuilderFragment @ContributesAndroidInjector abstract fun contributesObjectivesFragment(): ObjectivesFragment @ContributesAndroidInjector abstract fun contributesOpenAPSFragment(): OpenAPSFragment @ContributesAndroidInjector abstract fun contributesOverviewFragment(): OverviewFragment @ContributesAndroidInjector abstract fun contributesLoopFragment(): LoopFragment @ContributesAndroidInjector abstract fun contributesMaintenanceFragment(): MaintenanceFragment - @ContributesAndroidInjector abstract fun contributesNSClientFragment(): NSClientFragment @ContributesAndroidInjector abstract fun contributesWearFragment(): WearFragment - @ContributesAndroidInjector abstract fun contributesTidepoolFragment(): TidepoolFragment - - @ContributesAndroidInjector abstract fun contributesVirtualPumpFragment(): VirtualPumpFragment - @ContributesAndroidInjector abstract fun contributesEditQuickWizardDialog(): EditQuickWizardDialog @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog diff --git a/app/src/main/java/info/nightscout/androidaps/di/OverviewModule.kt b/app/src/main/java/info/nightscout/androidaps/di/OverviewModule.kt index 8bbc28a25d..f5f5706f2e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/OverviewModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/OverviewModule.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction +import info.nightscout.plugins.general.overview.notifications.NotificationWithAction @Module @Suppress("unused") diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index a8eecb1e3d..cd1083e8e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -31,7 +31,6 @@ import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin @@ -41,14 +40,10 @@ import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.plugins.source.GlunovoPlugin import info.nightscout.androidaps.plugins.source.IntelligoPlugin import info.nightscout.androidaps.plugins.source.MM640gPlugin -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.RandomBgPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin -import info.nightscout.androidaps.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.constraints.dstHelper.DstHelperPlugin @@ -65,6 +60,11 @@ import info.nightscout.plugins.insulin.InsulinOrefFreePeakPlugin import info.nightscout.plugins.insulin.InsulinOrefRapidActingPlugin import info.nightscout.plugins.insulin.InsulinOrefUltraRapidActingPlugin import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.plugins.sync.tidepool.TidepoolPlugin import javax.inject.Qualifier @Suppress("unused") diff --git a/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt index dab1c764e2..f1e5bd04fc 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/ServicesModule.kt @@ -2,12 +2,11 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService -import info.nightscout.androidaps.plugins.general.overview.notifications.DismissNotificationService import info.nightscout.androidaps.plugins.general.persistentNotification.DummyService import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobile import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.automation.services.LocationService +import info.nightscout.plugins.general.overview.notifications.DismissNotificationService @Module @Suppress("unused") @@ -17,6 +16,5 @@ abstract class ServicesModule { @ContributesAndroidInjector abstract fun contributesDismissNotificationService(): DismissNotificationService @ContributesAndroidInjector abstract fun contributesDummyService(): DummyService @ContributesAndroidInjector abstract fun contributesLocationService(): LocationService - @ContributesAndroidInjector abstract fun contributesNSClientService(): NSClientService @ContributesAndroidInjector abstract fun contributesWatchUpdaterService(): DataLayerListenerServiceMobile } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt b/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt index ad9b25c340..51f38b59c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/WorkersModule.kt @@ -8,21 +8,9 @@ import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.EversensePlugin import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.plugins.source.MM640gPlugin -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin import info.nightscout.androidaps.plugins.source.PoctechPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddAckWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddUpdateWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientMbgWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientUpdateRemoveAckWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadBgWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadDeviceStatusWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadLastModificationWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadStatusWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadTreatmentsWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.ProcessTreatmentsWorker import info.nightscout.plugins.profile.ProfilePlugin @Module @@ -36,19 +24,7 @@ abstract class WorkersModule { @ContributesAndroidInjector abstract fun contributesPoctechWorker(): PoctechPlugin.PoctechWorker @ContributesAndroidInjector abstract fun contributesTomatoWorker(): TomatoPlugin.TomatoWorker @ContributesAndroidInjector abstract fun contributesEversenseWorker(): EversensePlugin.EversenseWorker - @ContributesAndroidInjector abstract fun contributesNSClientSourceWorker(): NSClientSourcePlugin.NSClientSourceWorker @ContributesAndroidInjector abstract fun contributesNSProfileWorker(): ProfilePlugin.NSProfileWorker - @ContributesAndroidInjector abstract fun contributesNSClientWorker(): NSClientAddUpdateWorker - @ContributesAndroidInjector abstract fun contributesNSClientAddAckWorker(): NSClientAddAckWorker - @ContributesAndroidInjector abstract fun contributesNSClientUpdateRemoveAckWorker(): NSClientUpdateRemoveAckWorker - @ContributesAndroidInjector abstract fun contributesNSClientMbgWorker(): NSClientMbgWorker @ContributesAndroidInjector abstract fun contributesCsvExportWorker(): ImportExportPrefsImpl.CsvExportWorker @ContributesAndroidInjector abstract fun contributesAidexWorker(): AidexPlugin.AidexWorker - @ContributesAndroidInjector abstract fun contributesLoadStatusWorker(): LoadStatusWorker - @ContributesAndroidInjector abstract fun contributesLoadLastModificationWorker(): LoadLastModificationWorker - @ContributesAndroidInjector abstract fun contributesLoadBgWorker(): LoadBgWorker - @ContributesAndroidInjector abstract fun contributesStoreBgWorker(): StoreDataForDb.StoreBgWorker - @ContributesAndroidInjector abstract fun contributesTreatmentWorker(): LoadTreatmentsWorker - @ContributesAndroidInjector abstract fun contributesProcessTreatmentsWorker(): ProcessTreatmentsWorker - @ContributesAndroidInjector abstract fun contributesLoadDeviceStatusWorker(): LoadDeviceStatusWorker } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index f42529c2d7..f8378616b5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -41,20 +41,15 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config @@ -63,6 +58,8 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback +import info.nightscout.plugins.configBuilder.RunningConfiguration +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange @@ -71,7 +68,10 @@ import info.nightscout.rx.events.EventTempTargetChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index d1f22fd2c3..792c462992 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui @@ -29,6 +28,7 @@ import info.nightscout.rx.events.EventConfigBuilderChange import info.nightscout.rx.events.EventRebuildTabs 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 javax.inject.Inject import javax.inject.Singleton @@ -138,7 +138,7 @@ class ConfigBuilderPlugin @Inject constructor( // Ask when switching to physical pump plugin fun switchAllowed(changedPlugin: PluginBase, newState: Boolean, activity: FragmentActivity?, type: PluginType) { - if (changedPlugin.getType() == PluginType.PUMP && changedPlugin.name != rh.gs(R.string.virtualpump)) + if (changedPlugin.getType() == PluginType.PUMP && changedPlugin.name != rh.gs(R.string.virtual_pump)) confirmPumpPluginActivation(changedPlugin, newState, activity, type) else if (changedPlugin.getType() == PluginType.PUMP) { performPluginSwitch(changedPlugin, newState, type) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 8b1c22c0fc..26604d33ed 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -12,20 +12,20 @@ import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index f7b39ecb05..ab7f7ac337 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 @@ -22,6 +21,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton @@ -91,8 +91,8 @@ class ObjectivesPlugin @Inject constructor( objective.startedOn = 0 objective.accomplishedOn = 0 } - sp.putBoolean(R.string.key_ObjectivesbgIsAvailableInNS, false) - sp.putBoolean(R.string.key_ObjectivespumpStatusIsAvailableInNS, false) + sp.putBoolean(R.string.key_objectives_bg_is_available_in_ns, false) + sp.putBoolean(R.string.key_objectives_pump_status_is_available_in_ns, false) sp.putInt(R.string.key_ObjectivesmanualEnacts, 0) sp.putBoolean(R.string.key_objectiveuseprofileswitch, false) sp.putBoolean(R.string.key_objectiveusedisconnect, false) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt index 9071d4eda3..f14f96218b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import javax.inject.Inject class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R.string.objectives_0_objective, R.string.objectives_0_gate) { @@ -22,7 +22,7 @@ class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R init { tasks.add(object : Task(this, R.string.objectives_bgavailableinns) { override fun isCompleted(): Boolean { - return sp.getBoolean(R.string.key_ObjectivesbgIsAvailableInNS, false) + return sp.getBoolean(R.string.key_objectives_bg_is_available_in_ns, false) } }) tasks.add(object : Task(this, R.string.synchaswritepermission) { @@ -32,7 +32,7 @@ class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R }) tasks.add(object : Task(this, R.string.virtualpump_uploadstatus_title) { override fun isCompleted(): Boolean { - return sp.getBoolean(R.string.key_virtualpump_uploadstatus, false) + return sp.getBoolean(R.string.key_virtual_pump_upload_status, false) } override fun shouldBeIgnored(): Boolean { @@ -41,7 +41,7 @@ class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R }) tasks.add(object : Task(this, R.string.objectives_pumpstatusavailableinns) { override fun isCompleted(): Boolean { - return sp.getBoolean(R.string.key_ObjectivespumpStatusIsAvailableInNS, false) + return sp.getBoolean(R.string.key_objectives_pump_status_is_available_in_ns, false) } }) tasks.add(object : Task(this, R.string.hasbgdata) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 4138355326..71665179bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -7,25 +7,22 @@ import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes -import info.nightscout.shared.extensions.safeQueryBroadcastReceivers import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event @@ -33,6 +30,9 @@ import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.safeQueryBroadcastReceivers +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index a2753670e1..e1c3107515 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -7,15 +7,15 @@ import androidx.core.content.FileProvider import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import java.io.BufferedInputStream import java.io.BufferedOutputStream diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 68e24c07ea..6e2bbfe85e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -46,8 +46,6 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -59,7 +57,6 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification @@ -68,19 +65,14 @@ import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizar import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewIobCob -import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewSensitivity import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.skins.SkinProvider -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils @@ -95,6 +87,10 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin +import info.nightscout.plugins.general.overview.notifications.NotificationStore +import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange @@ -106,7 +102,11 @@ import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.events.EventTempTargetChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -505,7 +505,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList R.id.temp_target -> v.performClick() R.id.active_profile -> activity?.let { activity -> - if (loop.isDisconnected) OKDialog.show(activity, rh.gs(R.string.not_available_full), rh.gs(R.string.smscommunicator_pumpdisconnected)) + if (loop.isDisconnected) OKDialog.show(activity, rh.gs(R.string.not_available_full), rh.gs(R.string.smscommunicator_pump_disconnected)) else protectionCheck.queryProtection( activity, diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 6facf41961..a7b175c6a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -13,24 +13,24 @@ import info.nightscout.androidaps.extensions.putString import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Overview import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress -import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.general.overview.notifications.NotificationStore +import info.nightscout.plugins.general.overview.notifications.NotificationWithAction +import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt index d2bf545ca9..25b8a9287f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt @@ -6,13 +6,13 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.databinding.WearFragmentBinding -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 93ce00d453..5e339bb987 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -33,20 +33,16 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard @@ -54,13 +50,17 @@ import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.queue.Callback +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.dialogs.CarbsDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index d0bb5b6ac1..5e8c7282d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -5,22 +5,23 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index c1a9c3bebb..de50f72961 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -18,23 +18,24 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.shared.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.safeGetInstalledPackages +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index 712b1db606..aff6747a98 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -13,15 +13,16 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment 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 java.util.Arrays import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index 5026cd4330..76395f2cb3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -12,12 +12,13 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.plugins.source.BGSourceFragment 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 javax.inject.Inject import javax.inject.Singleton @@ -34,7 +35,7 @@ class GlimpPlugin @Inject constructor( .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_glimp) - .pluginName(R.string.Glimp) + .pluginName(R.string.glimp) .preferencesId(R.xml.pref_bgsource) .description(R.string.description_source_glimp), aapsLogger, rh, injector diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 51ce38808d..c1ed4e18d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -5,7 +5,6 @@ import android.net.Uri import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue @@ -15,17 +14,19 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 4393861eec..e937ddb23a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -7,7 +7,6 @@ import android.os.Handler import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue @@ -15,20 +14,22 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.shared.extensions.safeGetInstalledPackages import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.safeGetInstalledPackages +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index cad68c1ee8..a63d38d541 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -11,15 +11,16 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment 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 org.json.JSONArray import org.json.JSONException import javax.inject.Inject @@ -36,7 +37,7 @@ class MM640gPlugin @Inject constructor( .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_generic_cgm) - .pluginName(R.string.MM640g) + .pluginName(R.string.mm640g) .description(R.string.description_source_mm640g), aapsLogger, rh, injector ), BgSource { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 402e2d5f32..36460da7f6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -5,20 +5,21 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.utils.JsonHelper.safeGetString +import info.nightscout.plugins.source.BGSourceFragment 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 org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index b94c25009b..559c1a14e6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -10,17 +10,18 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.BGSourceFragment 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 import java.util.Calendar diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index 06bffd9096..50399cad2a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -11,12 +11,13 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.plugins.source.BGSourceFragment 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 javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index b2e19ed545..410b1266e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -11,13 +11,14 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index d53dce1d33..7619e086bc 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -22,21 +22,21 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged 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 info.nightscout.shared.utils.T import info.nightscout.ui.widget.Widget import java.util.concurrent.TimeUnit import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 8ec20dd32e..823e98c983 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -16,14 +16,12 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.androidaps.setupwizard.elements.SWBreak import info.nightscout.androidaps.setupwizard.elements.SWButton import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword @@ -47,7 +45,9 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginType import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 7431530e70..10c2a4af07 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -12,12 +12,12 @@ import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update +import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt b/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt deleted file mode 100644 index f11572cfd1..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/extensions/TherapyEventExtension.kt +++ /dev/null @@ -1,12 +0,0 @@ -package info.nightscout.androidaps.utils.extensions - -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSMbg - -fun therapyEventFromNsMbg(mbg: NSMbg) = - TherapyEvent( - type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, //convert Mbg to finger stick because is coming from "entries" collection - timestamp = mbg.date, - glucose = mbg.mbg, - glucoseUnit = TherapyEvent.GlucoseUnit.MGDL - ) diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 6d367d0943..812323f3fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -8,18 +8,18 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries -import info.nightscout.androidaps.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.shared.utils.T import info.nightscout.interfaces.Config +import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import java.util.Calendar import javax.inject.Inject import kotlin.math.ceil diff --git a/app/src/main/res/layout/dialog_extendedbolus.xml b/app/src/main/res/layout/dialog_extendedbolus.xml index c62642b775..4c12cc269b 100644 --- a/app/src/main/res/layout/dialog_extendedbolus.xml +++ b/app/src/main/res/layout/dialog_extendedbolus.xml @@ -31,7 +31,7 @@ android:layout_gravity="center" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" - android:text="@string/virtualpump_extendedbolus_label" + android:text="@string/extended_bolus_label" android:textAlignment="center" android:textAppearance="?android:attr/textAppearanceLarge" /> diff --git a/app/src/main/res/layout/smscommunicator_fragment.xml b/app/src/main/res/layout/smscommunicator_fragment.xml deleted file mode 100644 index 69a4af9c8e..0000000000 --- a/app/src/main/res/layout/smscommunicator_fragment.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 618523df4d..145f2d778e 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -92,38 +92,6 @@ @string/key_pregnant - - Generic AAPS - MDI - Accu-Chek Combo - Accu-Chek Spirit - Accu-Chek Insight - Accu-Chek Solo - Animas Ping - Animas Vibe - Cellnovo - DanaR - DanaR Korean - DanaRS - DanaRv2 - DanaI - Diaconn G8 - Eoflow Eopatch2 - Medtronic 512/712 - Medtronic 515/715 - Medtronic 522/722 - Medtronic 523/723 (Revel) - Medtronic 554/754 (Veo) - Medtronic 640G - Omnipod Dash - Omnipod Eros - Tandem t:slim - Tandem t:flex - Tandem t:slim G4 - Tandem t:slim X2 - YpsoPump - - 15 30 diff --git a/app/src/main/res/values/objectives.xml b/app/src/main/res/values/objectives.xml index 8e6823e3ef..ee8a34ee0e 100644 --- a/app/src/main/res/values/objectives.xml +++ b/app/src/main/res/values/objectives.xml @@ -8,8 +8,6 @@ ObjectivesLoopUsed ObjectivesScaleUsed objectives_request_code - ObjectivesbgIsAvailableInNS - ObjectivespumpStatusIsAvailableInNS ObjectivesmanualEnacts Start diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0287e1f58e..20f0948d4c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -32,25 +32,8 @@ smscommunicator protection absorption_category_settings - ns_temporary_target_last_sync - ns_glucose_value_last_sync - ns_food_last_sync - ns_therapy_event_last_sync bolussnooze_dia_divisor autosens_adjust_targets - ns_bolus_calculator_result_last_synced_id - ns_carbs_last_synced_id - ns_bolus_last_synced_id - ns_device_status_last_synced_id - ns_temporary_basal_last_synced_id - ns_extended_bolus_last_synced_id - profile_switch_last_synced_id - ns_effective_profile_switch_last_synced_id - ns_offline_event_last_synced_id - ns_profile_store_last_synced_timestamp - ns_sync_slow - nsclient_token - nsclientv2_lastmodified last_cleanup_run Treatments safety Max allowed bolus [U] @@ -66,26 +49,17 @@ Used for configuring the active plugins Learning program Activate or deactivate the implementation triggering the loop. - Synchronizes your data with Nightscout using v3 API - Synchronizes your data with Nightscout State of the algorithm in 2017 Most recent algorithm for advanced users Most recent algorithm for advanced users with dynamic/automatic ISF Displays the current state of your loop and buttons for most common actions Shows an ongoing notification with a short overview of what your loop is doing - Pump integration for pumps which don\'t have any driver yet (Open Loop) Sensitivity is calculated the same way like Oref0, but you can specify timeframe to the past. Minimal carb absorption is calculated from max carb absorption time from preferences. Sensitivity is calculated from 8h or 24h data in the past (using either which is more sensitive). Carbs (if not absorbed) are cut after time specified in preferences. Plugin also calculates UAM. Sensitivity is calculated as a weighted average from deviations. Newer deviations have higher weight. Minimal carb absorption is calculated from max carb absorption time from preferences. This algorithm is the fastest in following sensitivity changes. - Receive BG values from the patched Eversense app. - Receive BG values from Glimp. - Receive BG values from the 600SeriesAndroidUploader. - Downloads BG data from Nightscout - Receive BG values from xDrip+. Saves all treatments that were made Monitor and control AAPS using your WearOS watch. Run now - VIRTUAL PUMP Last run Input parameters Glucose status @@ -101,7 +75,6 @@ Config Builder Overview Treatments - Virtual Pump Pump Which pump would you like to use with AAPS? Profile @@ -127,14 +100,12 @@ Change your input! BG Source Where should AAPS gain it\'s data from? - xDrip+ APS Mode Closed Loop Open Loop Low Glucose Suspend New suggestion available Carbs Suggestion - Unsupported version of Nightscout Carb time Profile TempBasal @@ -202,7 +173,6 @@ Resend All Data Open Settings on Wear Basal rate - MM640g Ongoing Notification OLD DATA OpenAPS AMA @@ -216,7 +186,6 @@ OAPS DYNISF HOME - VPUMP TREAT OBJ WEAR @@ -235,33 +204,6 @@ Attention!\nNormally you do not have to change these values below. Please CLICK HERE and READ the text and make sure you UNDERSTAND it before change any of these values. http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html Executing - Virtual pump settings - Upload status to NS - NSClientV3 - NSV3 - NSClient - NSCI - URL: - Autoscroll - Restart - NSClient - Nightscout URL - Enter Your Nightscout URL - NS API secret - NS API secret - Enter NS API secret (min 12 chars) - NS access token - NS access token - Access token generated on NS admin page (min 17 chars) - Deliver now - Clear queue - Show queue - Queue: - Status: - Clear log - nsclientinternal_autoscroll - nsclientinternal_paused - NSCLIENT has no write permission. Wrong API secret? Wear settings not successful - please check phone Patient type @@ -274,7 +216,6 @@ Patient name Please provide patient name or nickname to differentiate among multiple setups I_understand - Glimp Suspend loop for 1h Suspend loop for 2h Suspend loop for 3h @@ -293,42 +234,11 @@ 10 hours Resume Reconnect Pump - Log app start to NS Exiting application to apply settings. Which type of insulin are you using? key_usersuperbolus Enable superbolus in wizard Enable superbolus functionality in wizard. Do not enable until you learn what it really does. IT MAY CAUSE INSULIN OVERDOSE IF USED BLINDLY! - show_statuslights - Show status lights on home screen - statuslights_cage_warning - Threshold warning canula age [h] - statuslights_cage_critical - Threshold critical canula age [h] - statuslights_iage_warning - Threshold warning insulin age [h] - statuslights_iage_critical - Threshold critical insulin age [h] - statuslights_sage_warning - Threshold warning sensor age [h] - statuslights_sage_critical - Threshold critical sensor age [h] - statuslights_sbat_warning - Threshold warning sensor battery level [%] - statuslights_sbat_critical - Threshold critical sensor battery level [%] - statuslights_bage_warning - Threshold warning pump battery age [h] - statuslights_bage_critical - Threshold critical pump battery age [h] - statuslights_res_warning - Threshold warning reservoir level [U] - statuslights_res_critical - Threshold critical reservoir level [U] - statuslights_bat_warning - Threshold warning pump battery level [%] - statuslights_bat_critical - Threshold critical pump battery level [%] PRED BAS DEV @@ -345,15 +255,15 @@ Pump battery age: level: - Alarm options + Alarm options ns_announcements ns_alarms - nsalarm_staledatavalue - nsalarm_urgent_staledatavalue + nsalarm_staledatavalue + nsalarm_urgent_staledatavalue Create notifications from NS alarms Create notifications from NS announcements - Stale data threshold [min] - Urgent stale data threshold [min] + Stale data threshold [min] + Urgent stale data threshold [min] Interval for autosens [h] Amount of hours in the past for sensitivity detection (carbs absorption time is excluded) openapsama_autosens_period @@ -367,16 +277,12 @@ Absorption settings Meal max absorption time [h] Time in hours where is expected all carbs from meal will be absorbed - OAPS - UPLD Keep screen on Prevent Android to turn screen off. It will consume lot of energy when not plugged to power outlet. By turning on Autosense feature remember to enter all eated carbs. Otherwise carbs deviations will be identified wrong as sensitivity change !! Sensitivity WeightedAverage Not all profiles loaded! Values not stored! - Enable broadcasts to other apps (like xDrip+). Do not enable if you have more than one instance of AAPS or AAPSClient installed! - Enable local Broadcasts. OpenAPS SMB Dynamic ISF DynISFAdjust @@ -404,20 +310,12 @@ Reuse %1$d%% %2$dh Controls from Watch Set Temp-Targets and enter Treatments from the watch. - raise_urgent_alarms_as_android_notification - Use system notifications for alerts and notifications Gradually increase the volume for alerts and notifications Local alerts Alert if no BG data is received Alert if pump is unreachable Pump unreachable threshold [min] Alert if carbs are required - Urgent Alarm - INFO - Eversense App (patched) - Upload BG data to NS - dexcomg5_nsupload - BG upload settings Show detailed delta Show delta with one more decimal place smbinterval @@ -428,10 +326,6 @@ carbsReqThreshold Minimum Carbs Required For Suggestion Minimum grams of carbs to display a carbs suggestion alert. Carbs suggestions below this number will not trigger a notification. - Send BG data to xDrip+ - In xDrip+ select 640g/Eversense data source - NSClient BG - NS BG BG calculation Bolus IOB calculation Basal IOB calculation @@ -487,12 +381,6 @@ History browser Notify on SMB Show SMB on the watch like a standard bolus. - Create announcements from errors - Create announcements from carbs required alerts - Create Nightscout announcement for error dialogs and local alerts (also viewable in Careportal under Treatments) - Create Nightscout announcements for carbs required alerts - ns_create_announcements_from_carbs_req - EVR Show the predictions on the watchface. Predictions Data Choices @@ -558,30 +446,12 @@ Second carbs increment Third carbs increment CGM - ns_cellular - ns_wifi - ns_wifi_ssids - ns_allowroaming - ns_battery - ns_charging - Use Cellular connection - Use WiFi connection - WiFi SSID - During charging - On battery - Connection settings - Allowed SSIDs (semicolon separated) - Allow connection in roaming always_use_shortavg Max autosens ratio Min autosens ratio Bolus snooze dia divisor Max daily safety multiplier Current basal safety multiplier - virtualpump_uploadstatus - Virtual Pump Type - Pump Definition - Bolus: Step=%1$s\nExtended Bolus: [Step=%2$s, Duration=%3$smin-%4$sh]\nBasal: Step=%5$s\nTBR: %6$s (by %7$s), Duration=%8$smin-%9$sh\n%10$s wearwizard_bg wearwizard_tt wearwizard_trend @@ -607,13 +477,6 @@ Open navigation Close navigation Plugin preferences - Poctech - Receive BG values from Poctech app - Glunovo - Receive values from Glunovo app - Intelligo - Receive values from Intelligo app - Receive BG values from Tomato app (MiaoMiao device) high_temptarget_raises_sensitivity low_temptarget_lowers_sensitivity High temptarget raises sensitivity @@ -650,7 +513,6 @@ Miscellaneous Log settings Reset to defaults - NSClient malfunction. Consider NS and NSClient restart. aps_mode Preferred APS mode Send today\'s log files to developers along with this time. Unexpected situation. @@ -661,41 +523,9 @@ dexcom_lognssensorchange Log sensor change to NS Create event \"Sensor Change\" in NS automatically on sensor start - Tomato (MiaoMiao) - Tomato - tidepool_username - tidepool_password - tidepool_dev_servers - tidepool_test_login - tidepool_only_while_charging - tidepool_only_while_unmetered - Your Tidepool login user name, normally your email address - Login User Name - Your Tidepool login password - Login Password - Test Tidepool Login - If enabled, uploads will go to https://int-app.tidepool.org instead of the regular https://app.tidepool.org/ - Use Integration (test) servers - Tidepool - TDP - Uploads data to Tidepool - tidepool_last_end - Upload CGM data - tidepool_upload_cgm - tidepool_upload_bolus - Upload treatments (insulin, carbs) - tidepool_upload_tbr - Upload temporary basals - tidepool_upload_profile - Upload profile switches, temp targets - tidepool_upload_bg - Upload BG tests smbmaxminutes uamsmbmaxminutes 2h - BYODA - BYODA - Receive BG values from the \'Build Your Own Dexcom App\'. COB vs IOB Bolus constraint applied: %1$.2f U to %2$.2f U !!!!! Slow carbs absorption detected: %2$d%% of time. Double check your calculation. COB can be overestimated thus more insulin could be given !!!!!]]> @@ -724,7 +554,6 @@ Show removed Clear queue? All data in queue will be lost! wear_detailed_delta - snoozedTo Use of Extended bolus feature will stop closed loop mode for the time of running extended bolus. Do you really want it? Closed loop disabled because of running Extended bolus Chart menu @@ -741,11 +570,6 @@ Absolute insulin Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. Current master password - Status lights - Copy settings from NS - statuslights_copy_ns - Copy NS settings (if exists)? - statuslights_overview_advanced Original skin Low Resolution skin Buttons are always displayed on bottom of screen @@ -781,34 +605,6 @@ Email address Privacy setting You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. - Full synchronization - Full synchronization? It may take many hours and until finish you\'ll not see new data in NS. - Synchronization - ns_upload - Profiles, boluses, carbs, temporary basals are uploaded to NS - Upload data to NS - Receive profile store - Synchronize profiles from NS profile editor - Receive temporary targets - Accept temporary targets entered through NS or NSClient - Receive profile switches - Accept profile switches entered through NS or NSClient - Receive APS offline events - Accept APS Offline events entered through NS or NSClient - Receive TBR and EB - Accept TBR and EB entered through another instance - Receive insulin - Accept insulin entered through NS or NSClient (it\'s not delivered, only calculated towards IOB) - Receive carbs - Accept carbs entered through NS or NSClient - ns_receive_tbr_eb - Receive therapy events - Accept therapy events (cannula, insulin, battery change etc) entered through NS or NSClient - ns_receive_cgm - Receive/backfill CGM data - Accept CGM data from NS - Run %s? - Slow down uploads BG data status Remove BG readings cannula age @@ -868,9 +664,6 @@ Graph scale Profile 1 Profile 2 - Login - Remove all - Reset start open settings set carb timer alarm All @@ -881,12 +674,6 @@ drag and drop handle Search - - GlucoRx Aidex - Aidex - Receive BG values from GlucoRx Aidex CGMS. - Blocked by charging options - Blocked by connectivity options (No Watch Connected) dynisf_adjust_sensitivity Adjust sensitivity and BG diff --git a/app/src/main/res/xml/pref_alerts.xml b/app/src/main/res/xml/pref_alerts.xml index 811a06b2e8..354489b0d5 100644 --- a/app/src/main/res/xml/pref_alerts.xml +++ b/app/src/main/res/xml/pref_alerts.xml @@ -18,7 +18,7 @@ android:dependency="@string/key_enable_missed_bg_readings_alert" android:inputType="number" android:key="@string/key_missed_bg_readings_threshold_minutes" - android:title="@string/nsalarm_staledatavalue_label" + android:title="@string/ns_alarm_stale_data_value_label" validate:maxNumber="10000" validate:minNumber="15" validate:testType="numericRange" /> diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index ecf9dbe9ab..944f21674a 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -25,7 +25,6 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.HardLimits @@ -34,13 +33,13 @@ import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before import org.junit.Test import org.mockito.Mock import org.mockito.Mockito.`when` -import java.util.* /** * Created by mike on 18.03.2018. diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index bc8df4dc93..1fda3795e0 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -8,23 +8,23 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.configBuilder.RunningConfiguration +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index 8fb19b3e95..4f60958f7c 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -2,22 +2,22 @@ package info.nightscout.androidaps.plugins.constraints.safety import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Constants +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index c762397071..170e402f99 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -5,9 +5,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.general.maintenance.LoggerUtils +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt index ff3f949df6..28f853bb34 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.Config +import info.nightscout.plugins.source.NSClientSourcePlugin import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 1b10aacabe..e483228007 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -15,12 +15,12 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpDescription -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.shared.utils.DateUtil +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt b/core/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt rename to core/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index 0cbd49f33d..c5b98edc1f 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -21,7 +21,6 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DeviationDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries @@ -30,11 +29,12 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import java.util.Calendar import javax.inject.Inject import javax.inject.Singleton @@ -170,10 +170,10 @@ class OverviewData @Inject constructor( fun temporaryBasalDialogText(iobCobCalculator: IobCobCalculator): String = profileFunction.getProfile()?.let { profile -> iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now())?.let { temporaryBasal -> - "${rh.gs(R.string.basebasalrate_label)}: ${rh.gs(R.string.pump_basebasalrate, profile.getBasal())}" + + "${rh.gs(R.string.base_basal_rate_label)}: ${rh.gs(R.string.pump_basebasalrate, profile.getBasal())}" + "\n" + rh.gs(R.string.tempbasal_label) + ": " + temporaryBasal.toStringFull(profile, dateUtil) } - ?: "${rh.gs(R.string.basebasalrate_label)}: ${rh.gs(R.string.pump_basebasalrate, profile.getBasal())}" + ?: "${rh.gs(R.string.base_basal_rate_label)}: ${rh.gs(R.string.pump_basebasalrate, profile.getBasal())}" } ?: rh.gs(R.string.value_unavailable_short) @DrawableRes fun temporaryBasalIcon(iobCobCalculator: IobCobCalculator): Int = diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 9a155e24e0..ddb8ad89fb 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -17,7 +17,6 @@ low_mark high_mark ns_create_announcements_from_errors - ns_logappstartedevent bt_watchdog bt_watchdog_last pump_unreachable_threshold @@ -48,7 +47,7 @@ openapsma_settings medtronic_settings danars_settings - nsclientinternal_settings + nsclientinternal_settings insight_local_settings data_choices_settings dexcom_settings @@ -154,9 +153,9 @@ Last connection Last bolus Daily units - Base basal rate + Base basal rate Temp basal - Extended bolus + Extended bolus Reservoir Pump history View profile @@ -251,6 +250,11 @@ COB Bolus IOB Basal IOB + %1$d%% + Paused + INVALID + Login + Upload now Limiting max basal rate to %1$.2f U/h because of %2$s @@ -656,6 +660,12 @@ Another run of Autotune is detected, run cancelled Application needs bluetooth permission + + raise_urgent_alarms_as_android_notification + Use system notifications for alerts and notifications + Urgent Alarm + INFO + Missing SMS permission diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt rename to implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 808a6cda76..7da5c0e0ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump +package info.nightscout.implementation.pump import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.DetailedBolusInfo @@ -32,18 +32,18 @@ import info.nightscout.androidaps.database.transactions.SyncTemporaryBasalWithTe import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.VirtualPump +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject @@ -79,7 +79,7 @@ class PumpSyncImplementation @Inject constructor( override fun verifyPumpIdentification(type: PumpType, serialNumber: String): Boolean { val storedType = sp.getString(R.string.key_active_pump_type, "") val storedSerial = sp.getString(R.string.key_active_pump_serial_number, "") - if (activePlugin.activePump is VirtualPumpPlugin) return true + if (activePlugin.activePump is VirtualPump) return true if (type.description == storedType && serialNumber == storedSerial) return true aapsLogger.debug(LTag.PUMP, "verifyPumpIdentification failed for $type $serialNumber") return false @@ -107,7 +107,7 @@ class PumpSyncImplementation @Inject constructor( return timestamp > dateUtil.now() - T.mins(1).msecs() // allow first record to be 1 min old } - if (activePlugin.activePump is VirtualPumpPlugin || (type.description == storedType && serialNumber == storedSerial && timestamp >= storedTimestamp)) { + if (activePlugin.activePump is VirtualPump || (type.description == storedType && serialNumber == storedSerial && timestamp >= storedTimestamp)) { // data match return true } diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index d1a1393ba2..f90414e021 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -22,7 +22,6 @@ import javax.inject.Inject; import dagger.android.support.DaggerFragment; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.rx.bus.RxBus; import info.nightscout.androidaps.plugins.pump.insight.app_layer.parameter_blocks.TBROverNotificationBlock; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBasalRate; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBolus; @@ -31,12 +30,13 @@ import info.nightscout.androidaps.plugins.pump.insight.descriptors.CartridgeStat import info.nightscout.androidaps.plugins.pump.insight.descriptors.InsightState; import info.nightscout.androidaps.plugins.pump.insight.descriptors.TotalDailyDose; import info.nightscout.androidaps.plugins.pump.insight.events.EventLocalInsightUpdateGUI; -import info.nightscout.interfaces.queue.Callback; -import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.shared.interfaces.ResourceHelper; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.AapsSchedulers; +import info.nightscout.rx.bus.RxBus; +import info.nightscout.shared.interfaces.ResourceHelper; +import info.nightscout.shared.utils.DateUtil; import io.reactivex.rxjava3.disposables.CompositeDisposable; public class LocalInsightFragment extends DaggerFragment implements View.OnClickListener { @@ -305,7 +305,7 @@ public class LocalInsightFragment extends DaggerFragment implements View.OnClick private void getBaseBasalRateItem(List statusItems) { if (localInsightPlugin.getActiveBasalRate() == null) return; ActiveBasalRate activeBasalRate = localInsightPlugin.getActiveBasalRate(); - statusItems.add(getStatusItem(rh.gs(R.string.basebasalrate_label), + statusItems.add(getStatusItem(rh.gs(R.string.base_basal_rate_label), DecimalFormatter.INSTANCE.to2Decimal(activeBasalRate.getActiveBasalRate()) + " U/h (" + activeBasalRate.getActiveBasalProfileName() + ")")); } diff --git a/insight/src/main/res/values/strings.xml b/insight/src/main/res/values/strings.xml index b8bef8b2e9..ece7a4902a 100644 --- a/insight/src/main/res/values/strings.xml +++ b/insight/src/main/res/values/strings.xml @@ -11,7 +11,6 @@ Stop pump Started Stopped - Paused Operating mode Pump integration for Accu-Chek Insight pumps Not inserted diff --git a/interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt b/interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt new file mode 100644 index 0000000000..73506746e1 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt @@ -0,0 +1,5 @@ +package info.nightscout.interfaces + +interface VirtualPump { + var fakeDataDetected: Boolean +} \ No newline at end of file diff --git a/openhumans/src/main/res/values/strings.xml b/openhumans/src/main/res/values/strings.xml index 496a82e868..646ff82672 100644 --- a/openhumans/src/main/res/values/strings.xml +++ b/openhumans/src/main/res/values/strings.xml @@ -16,7 +16,6 @@ AAPS is uploading to Open Humans. This may take a while. You have been signed out of Open Humans Click here to sign in again if this wasn\'t on purpose. - Upload now Next Welcome to Open Humans To setup data upload, click \'Next\'. diff --git a/plugins/build.gradle b/plugins/build.gradle index 0a538ec21d..7d421bcb4f 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -22,4 +22,5 @@ dependencies { implementation project(':graphview') implementation project(':core') implementation project(':interfaces') + implementation project(':ns-sdk') } \ No newline at end of file diff --git a/plugins/src/main/AndroidManifest.xml b/plugins/src/main/AndroidManifest.xml index 58a76272b2..4f28ee4e97 100644 --- a/plugins/src/main/AndroidManifest.xml +++ b/plugins/src/main/AndroidManifest.xml @@ -6,6 +6,8 @@ + + + \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt rename to plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index ceb1e700ce..55706a3a68 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.configBuilder +package info.nightscout.plugins.configBuilder import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ActivePlugin @@ -6,18 +6,18 @@ import info.nightscout.androidaps.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt index 36259705e0..7e0f512aaa 100644 --- a/plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt +++ b/plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt @@ -4,6 +4,7 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.plugins.general.autotune.AutotuneCore import info.nightscout.plugins.general.autotune.AutotuneFS +import info.nightscout.plugins.general.autotune.AutotuneFragment import info.nightscout.plugins.general.autotune.AutotuneIob import info.nightscout.plugins.general.autotune.AutotunePrep import info.nightscout.plugins.general.autotune.data.ATProfile @@ -14,6 +15,8 @@ import info.nightscout.plugins.general.autotune.data.PreppedGlucose @Module @Suppress("unused") abstract class AutotuneModule { + @ContributesAndroidInjector abstract fun contributesAutotuneFragment(): AutotuneFragment + @ContributesAndroidInjector abstract fun autoTunePrepInjector(): AutotunePrep @ContributesAndroidInjector abstract fun autoTuneIobInjector(): AutotuneIob @ContributesAndroidInjector abstract fun autoTuneCoreInjector(): AutotuneCore diff --git a/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt index 086dad48e1..57c9aae6e7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt +++ b/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt @@ -8,7 +8,10 @@ import dagger.Module FoodModule::class, SMSCommunicatorModule::class, AutotuneModule::class, - ProfileModule::class + ProfileModule::class, + SyncModule::class, + SourceModule::class, + VirtualPumpModule::class ] ) diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt new file mode 100644 index 0000000000..3a64db284c --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt @@ -0,0 +1,15 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.source.NSClientSourcePlugin + +@Module +@Suppress("unused") +abstract class SourceModule { + + @ContributesAndroidInjector abstract fun contributesBGSourceFragment(): BGSourceFragment + + @ContributesAndroidInjector abstract fun contributesNSClientSourceWorker(): NSClientSourcePlugin.NSClientSourceWorker +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt new file mode 100644 index 0000000000..59b6d8d0e3 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt @@ -0,0 +1,41 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.sync.nsShared.NSClientFragment +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsclient.services.NSClientService +import info.nightscout.plugins.sync.nsclient.workers.NSClientAddAckWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientAddUpdateWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientMbgWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientUpdateRemoveAckWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadBgWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadDeviceStatusWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadLastModificationWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadStatusWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadTreatmentsWorker +import info.nightscout.plugins.sync.nsclientV3.workers.ProcessTreatmentsWorker +import info.nightscout.plugins.sync.tidepool.TidepoolFragment + +@Module +@Suppress("unused") +abstract class SyncModule { + + @ContributesAndroidInjector abstract fun contributesNSClientFragment(): NSClientFragment + + @ContributesAndroidInjector abstract fun contributesNSClientService(): NSClientService + @ContributesAndroidInjector abstract fun contributesNSClientWorker(): NSClientAddUpdateWorker + @ContributesAndroidInjector abstract fun contributesNSClientAddAckWorker(): NSClientAddAckWorker + @ContributesAndroidInjector abstract fun contributesNSClientUpdateRemoveAckWorker(): NSClientUpdateRemoveAckWorker + @ContributesAndroidInjector abstract fun contributesNSClientMbgWorker(): NSClientMbgWorker + + @ContributesAndroidInjector abstract fun contributesLoadStatusWorker(): LoadStatusWorker + @ContributesAndroidInjector abstract fun contributesLoadLastModificationWorker(): LoadLastModificationWorker + @ContributesAndroidInjector abstract fun contributesLoadBgWorker(): LoadBgWorker + @ContributesAndroidInjector abstract fun contributesStoreBgWorker(): StoreDataForDb.StoreBgWorker + @ContributesAndroidInjector abstract fun contributesTreatmentWorker(): LoadTreatmentsWorker + @ContributesAndroidInjector abstract fun contributesProcessTreatmentsWorker(): ProcessTreatmentsWorker + @ContributesAndroidInjector abstract fun contributesLoadDeviceStatusWorker(): LoadDeviceStatusWorker + + @ContributesAndroidInjector abstract fun contributesTidepoolFragment(): TidepoolFragment +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt new file mode 100644 index 0000000000..6bff121485 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt @@ -0,0 +1,12 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.pump.virtual.VirtualPumpFragment + +@Module +@Suppress("unused") +abstract class VirtualPumpModule { + + @ContributesAndroidInjector abstract fun contributesVirtualPumpFragment(): VirtualPumpFragment +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index c0c314aed7..54b0bd1ca9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -190,11 +190,11 @@ class FoodFragment : DaggerFragment() { holder.binding.name.text = food.name holder.binding.portion.text = food.portion.toString() + food.unit holder.binding.carbs.text = food.carbs.toString() + rh.gs(R.string.shortgramm) - holder.binding.fat.text = rh.gs(R.string.shortfat) + ": " + food.fat + rh.gs(R.string.shortgramm) + holder.binding.fat.text = rh.gs(R.string.short_fat) + ": " + food.fat + rh.gs(R.string.shortgramm) holder.binding.fat.visibility = food.fat.isNotZero().toVisibility() - holder.binding.protein.text = rh.gs(R.string.shortprotein) + ": " + food.protein + rh.gs(R.string.shortgramm) + holder.binding.protein.text = rh.gs(R.string.short_protein) + ": " + food.protein + rh.gs(R.string.shortgramm) holder.binding.protein.visibility = food.protein.isNotZero().toVisibility() - holder.binding.energy.text = rh.gs(R.string.shortenergy) + ": " + food.energy + rh.gs(R.string.shortkilojoul) + holder.binding.energy.text = rh.gs(R.string.short_energy) + ": " + food.energy + rh.gs(R.string.short_kilo_joul) holder.binding.energy.visibility = food.energy.isNotZero().toVisibility() holder.binding.icRemove.tag = food holder.binding.icCalculator.tag = food diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt rename to plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt index ec0a87162d..6f1e4f6ba3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/DismissNotificationService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications +package info.nightscout.plugins.general.overview.notifications import android.content.Intent import dagger.android.DaggerIntentService diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt rename to plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt index 787d988091..105682c734 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationStore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications +package info.nightscout.plugins.general.overview.notifications import android.app.NotificationChannel import android.app.NotificationManager @@ -12,19 +12,19 @@ import android.view.View import android.view.ViewGroup import androidx.core.app.NotificationCompat import androidx.recyclerview.widget.RecyclerView -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.OverviewNotificationItemBinding import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IconsProvider -import info.nightscout.interfaces.NotificationHolder -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewNotification import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.OverviewNotificationItemBinding +import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification 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 java.util.Collections import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt similarity index 84% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt rename to plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt index 2c8bd8c49a..1e475059d1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt @@ -1,16 +1,16 @@ -package info.nightscout.androidaps.plugins.general.overview.notifications +package info.nightscout.plugins.general.overview.notifications import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.shared.utils.T import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.plugins.sync.nsclient.data.NSAlarm 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 javax.inject.Inject @Suppress("SpellCheckingInspection") @@ -64,9 +64,9 @@ class NotificationWithAction constructor( nsClientPlugin.handleClearAlarm(nsAlarm, 60 * 60 * 1000L) // Adding current time to snooze if we got staleData aapsLogger.debug(LTag.NOTIFICATION, "Notification text is: $text") - val msToSnooze = sp.getInt(R.string.key_nsalarm_staledatavalue, 15) * 60 * 1000L + val msToSnooze = sp.getInt(R.string.key_ns_alarm_stale_data_value, 15) * 60 * 1000L aapsLogger.debug(LTag.NOTIFICATION, "snooze nsalarm_staledatavalue in minutes is ${T.msecs(msToSnooze).mins()} currentTimeMillis is: ${System.currentTimeMillis()}") - sp.putLong(R.string.key_snoozedTo, System.currentTimeMillis() + msToSnooze) + sp.putLong(R.string.key_snoozed_to, System.currentTimeMillis() + msToSnooze) } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt similarity index 60% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt rename to plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt index f20816c0d7..5b12aea539 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventUpdateOverviewNotification.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.overview.events +package info.nightscout.plugins.general.overview.notifications.events import info.nightscout.rx.events.Event diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index edf1532d2d..46bcced601 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -158,23 +158,23 @@ class SmsCommunicatorPlugin @Inject constructor( val allowedNumbers = preferenceFragment.findPreference(rh.gs(R.string.key_smscommunicator_allowednumbers)) as EditTextPreference? ?: return if (!areMoreNumbers(allowedNumbers.text)) { - distance.title = (rh.gs(R.string.smscommunicator_remotebolusmindistance) + distance.title = (rh.gs(R.string.smscommunicator_remote_bolus_min_distance) + ".\n" - + rh.gs(R.string.smscommunicator_remotebolusmindistance_caveat)) + + rh.gs(R.string.smscommunicator_remote_bolus_min_distance_caveat)) distance.isEnabled = false } else { - distance.title = rh.gs(R.string.smscommunicator_remotebolusmindistance) + distance.title = rh.gs(R.string.smscommunicator_remote_bolus_min_distance) distance.isEnabled = true } allowedNumbers.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any -> if (!areMoreNumbers(newValue as String)) { distance.text = (Constants.remoteBolusMinDistance / (60 * 1000L)).toString() - distance.title = (rh.gs(R.string.smscommunicator_remotebolusmindistance) + distance.title = (rh.gs(R.string.smscommunicator_remote_bolus_min_distance) + ".\n" - + rh.gs(R.string.smscommunicator_remotebolusmindistance_caveat)) + + rh.gs(R.string.smscommunicator_remote_bolus_min_distance_caveat)) distance.isEnabled = false } else { - distance.title = rh.gs(R.string.smscommunicator_remotebolusmindistance) + distance.title = rh.gs(R.string.smscommunicator_remote_bolus_min_distance) distance.isEnabled = true } true @@ -275,7 +275,7 @@ class SmsCommunicatorPlugin @Inject constructor( else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "LOOP" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2 || divided.size == 3) processLOOP(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) @@ -284,50 +284,50 @@ class SmsCommunicatorPlugin @Inject constructor( else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "PUMP" -> - if (!remoteCommandsAllowed && divided.size > 1) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed && divided.size > 1) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size <= 3) processPUMP(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "PROFILE" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2 || divided.size == 3) processPROFILE(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "BASAL" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2 || divided.size == 3) processBASAL(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "EXTENDED" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2 || divided.size == 3) processEXTENDED(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "BOLUS" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (commandQueue.bolusInQueue()) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_another_bolus_in_queue))) - else if (divided.size == 2 && dateUtil.now() - lastRemoteBolusTime < minDistance) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotebolusnotallowed))) + else if (divided.size == 2 && dateUtil.now() - lastRemoteBolusTime < minDistance) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_bolus_not_allowed))) else if (divided.size == 2 && pump.isSuspended()) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.pumpsuspended))) else if (divided.size == 2 || divided.size == 3) processBOLUS(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "CARBS" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2 || divided.size == 3) processCARBS(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "CAL" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2) processCAL(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "TARGET" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2) processTARGET(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) "SMS" -> - if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remotecommandnotallowed))) + if (!remoteCommandsAllowed) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_remote_command_not_allowed))) else if (divided.size == 2) processSMS(divided, receivedSms) else sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) @@ -342,7 +342,7 @@ class SmsCommunicatorPlugin @Inject constructor( execute?.action(divided[0]) } else { messageToConfirm = null - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_unknowncommand))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_unknown_command))) } } } @@ -379,7 +379,7 @@ class SmsCommunicatorPlugin @Inject constructor( "DISABLE", "STOP" -> { if (loop.enabled) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_loopdisablereplywithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_loop_disable_reply_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false) { override fun run() { @@ -388,8 +388,8 @@ class SmsCommunicatorPlugin @Inject constructor( commandQueue.cancelTempBasal(true, object : Callback() { override fun run() { rxBus.send(EventRefreshOverview("SMS_LOOP_STOP")) - val replyText = rh.gs(R.string.smscommunicator_loophasbeendisabled) + " " + - rh.gs(if (result.success) R.string.smscommunicator_tempbasalcanceled else R.string.smscommunicator_tempbasalcancelfailed) + val replyText = rh.gs(R.string.smscommunicator_loop_has_been_disabled) + " " + + rh.gs(if (result.success) R.string.smscommunicator_tempbasal_canceled else R.string.smscommunicator_tempbasal_cancel_failed) sendSMS(Sms(receivedSms.phoneNumber, replyText)) } }) @@ -403,25 +403,25 @@ class SmsCommunicatorPlugin @Inject constructor( "ENABLE", "START" -> { if (!loop.enabled) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_loopenablereplywithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_loop_enable_reply_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false) { override fun run() { uel.log(Action.LOOP_ENABLED, Sources.SMS) loop.enabled = true - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loophasbeenenabled))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loop_has_been_enabled))) rxBus.send(EventRefreshOverview("SMS_LOOP_START")) } }) } else - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loopisenabled))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loop_is_enabled))) receivedSms.processed = true } "STATUS" -> { val reply = if (loop.enabled) { if (loop.isSuspended) rh.gs(R.string.sms_loop_suspended_for, loop.minutesToEndOfSuspend()) - else rh.gs(R.string.smscommunicator_loopisenabled) + else rh.gs(R.string.smscommunicator_loop_is_enabled) } else rh.gs(R.string.loopisdisabled) sendSMS(Sms(receivedSms.phoneNumber, reply)) @@ -430,7 +430,7 @@ class SmsCommunicatorPlugin @Inject constructor( "RESUME" -> { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_loopresumereplywithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_loop_resume_reply_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true) { override fun run() { @@ -445,13 +445,13 @@ class SmsCommunicatorPlugin @Inject constructor( commandQueue.cancelTempBasal(true, object : Callback() { override fun run() { if (!result.success) { - var replyText = rh.gs(R.string.smscommunicator_tempbasalfailed) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) } } }) - sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loopresumed))) + sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_loop_resumed))) } }) } @@ -463,11 +463,11 @@ class SmsCommunicatorPlugin @Inject constructor( duration = min(180, duration) if (duration == 0) { receivedSms.processed = true - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_wrongduration))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_wrong_duration))) return } else { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_suspendreplywithcode, duration, passCode) + val reply = rh.gs(R.string.smscommunicator_suspend_reply_with_code, duration, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, duration) { override fun run() { @@ -489,11 +489,11 @@ class SmsCommunicatorPlugin @Inject constructor( aapsLogger.error(LTag.DATABASE, "Error while saving OfflineEvent", it) }) rxBus.send(EventRefreshOverview("SMS_LOOP_SUSPENDED")) - val replyText = rh.gs(R.string.smscommunicator_loopsuspended) + " " + - rh.gs(if (result.success) R.string.smscommunicator_tempbasalcanceled else R.string.smscommunicator_tempbasalcancelfailed) + val replyText = rh.gs(R.string.smscommunicator_loop_suspended) + " " + + rh.gs(if (result.success) R.string.smscommunicator_tempbasal_canceled else R.string.smscommunicator_tempbasal_cancel_failed) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) } else { - var replyText = rh.gs(R.string.smscommunicator_tempbasalcancelfailed) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_cancel_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) } @@ -552,7 +552,7 @@ class SmsCommunicatorPlugin @Inject constructor( receivedSms.processed = true } else if ((divided.size == 2) && (divided[1].equals("CONNECT", ignoreCase = true))) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_pumpconnectwithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_pump_connect_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true) { override fun run() { @@ -560,7 +560,7 @@ class SmsCommunicatorPlugin @Inject constructor( commandQueue.cancelTempBasal(true, object : Callback() { override fun run() { if (!result.success) { - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_pumpconnectfail))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_pump_connect_fail))) } else { disposable += repository.runTransactionForResult(CancelCurrentOfflineEventIfAnyTransaction(dateUtil.now())) .subscribe({ result -> @@ -581,11 +581,11 @@ class SmsCommunicatorPlugin @Inject constructor( duration = min(120, duration) if (duration == 0) { receivedSms.processed = true - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_wrongduration))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_wrong_duration))) return } else { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_pumpdisconnectwithcode, duration, passCode) + val reply = rh.gs(R.string.smscommunicator_pump_disconnect_with_code, duration, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true) { override fun run() { @@ -593,7 +593,7 @@ class SmsCommunicatorPlugin @Inject constructor( val profile = profileFunction.getProfile() ?: return loop.goToZeroTemp(duration, profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("SMS_PUMP_DISCONNECT")) - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_pumpdisconnected))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.smscommunicator_pump_disconnected))) } }) } @@ -638,7 +638,7 @@ class SmsCommunicatorPlugin @Inject constructor( if (profile == null) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.noprofile))) else { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_profilereplywithcode, list[pIndex - 1], percentage, passCode) + val reply = rh.gs(R.string.smscommunicator_profile_reply_with_code, list[pIndex - 1], percentage, passCode) receivedSms.processed = true val finalPercentage = percentage messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, list[pIndex - 1] as String, finalPercentage) { @@ -664,27 +664,27 @@ class SmsCommunicatorPlugin @Inject constructor( private fun processBASAL(divided: Array, receivedSms: Sms) { if (divided[1].uppercase(Locale.getDefault()) == "CANCEL" || divided[1].uppercase(Locale.getDefault()) == "STOP") { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_basalstopreplywithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_basal_stop_reply_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true) { override fun run() { commandQueue.cancelTempBasal(true, object : Callback() { override fun run() { if (result.success) { - var replyText = rh.gs(R.string.smscommunicator_tempbasalcanceled) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_canceled) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalcanceled), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasalcanceled)) + Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_canceled), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasal_canceled)) ) } else { - var replyText = rh.gs(R.string.smscommunicator_tempbasalcancelfailed) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_cancel_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalcancelfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasalcancelfailed)) + Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_cancel_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasal_cancel_failed)) ) } } @@ -703,7 +703,7 @@ class SmsCommunicatorPlugin @Inject constructor( else { tempBasalPct = constraintChecker.applyBasalPercentConstraints(Constraint(tempBasalPct), profile).value() val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_basalpctreplywithcode, tempBasalPct, duration, passCode) + val reply = rh.gs(R.string.smscommunicator_basal_pct_reply_with_code, tempBasalPct, duration, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, tempBasalPct, duration) { override fun run() { @@ -711,8 +711,8 @@ class SmsCommunicatorPlugin @Inject constructor( override fun run() { if (result.success) { var replyText = - if (result.isPercent) rh.gs(R.string.smscommunicator_tempbasalset_percent, result.percent, result.duration) else rh.gs( - R.string.smscommunicator_tempbasalset, + if (result.isPercent) rh.gs(R.string.smscommunicator_tempbasal_set_percent, result.percent, result.duration) else rh.gs( + R.string.smscommunicator_tempbasal_set, result.absolute, result.duration ) @@ -721,24 +721,24 @@ class SmsCommunicatorPlugin @Inject constructor( if (result.isPercent) uel.log( Action.TEMP_BASAL, Sources.SMS, - activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalset_percent, result.percent, result.duration), + activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_set_percent, result.percent, result.duration), ValueWithUnit.Percent(result.percent), ValueWithUnit.Minute(result.duration) ) else uel.log( Action.TEMP_BASAL, Sources.SMS, - activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalset, result.absolute, result.duration), + activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_set, result.absolute, result.duration), ValueWithUnit.UnitPerHour(result.absolute), ValueWithUnit.Minute(result.duration) ) } else { - var replyText = rh.gs(R.string.smscommunicator_tempbasalfailed) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasalfailed)) + Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasal_failed)) ) } } @@ -758,22 +758,22 @@ class SmsCommunicatorPlugin @Inject constructor( else { tempBasal = constraintChecker.applyBasalConstraints(Constraint(tempBasal), profile).value() val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_basalreplywithcode, tempBasal, duration, passCode) + val reply = rh.gs(R.string.smscommunicator_basal_reply_with_code, tempBasal, duration, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, tempBasal, duration) { override fun run() { commandQueue.tempBasalAbsolute(aDouble(), secondInteger(), true, profile, PumpSync.TemporaryBasalType.NORMAL, object : Callback() { override fun run() { if (result.success) { - var replyText = if (result.isPercent) rh.gs(R.string.smscommunicator_tempbasalset_percent, result.percent, result.duration) - else rh.gs(R.string.smscommunicator_tempbasalset, result.absolute, result.duration) + var replyText = if (result.isPercent) rh.gs(R.string.smscommunicator_tempbasal_set_percent, result.percent, result.duration) + else rh.gs(R.string.smscommunicator_tempbasal_set, result.absolute, result.duration) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) if (result.isPercent) uel.log( Action.TEMP_BASAL, Sources.SMS, - activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalset_percent, result.percent, result.duration), + activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_set_percent, result.percent, result.duration), ValueWithUnit.Percent(result.percent), ValueWithUnit.Minute(result.duration) ) @@ -781,17 +781,17 @@ class SmsCommunicatorPlugin @Inject constructor( uel.log( Action.TEMP_BASAL, Sources.SMS, - activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalset, result.absolute, result.duration), + activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_set, result.absolute, result.duration), ValueWithUnit.UnitPerHour(result.absolute), ValueWithUnit.Minute(result.duration) ) } else { - var replyText = rh.gs(R.string.smscommunicator_tempbasalfailed) + var replyText = rh.gs(R.string.smscommunicator_tempbasal_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasalfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasalfailed)) + Action.TEMP_BASAL, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_tempbasal_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_tempbasal_failed)) ) } } @@ -805,23 +805,23 @@ class SmsCommunicatorPlugin @Inject constructor( private fun processEXTENDED(divided: Array, receivedSms: Sms) { if (divided[1].uppercase(Locale.getDefault()) == "CANCEL" || divided[1].uppercase(Locale.getDefault()) == "STOP") { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_extendedstopreplywithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_extended_stop_reply_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true) { override fun run() { commandQueue.cancelExtended(object : Callback() { override fun run() { if (result.success) { - var replyText = rh.gs(R.string.smscommunicator_extendedcanceled) + var replyText = rh.gs(R.string.smscommunicator_extended_canceled) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) } else { - var replyText = rh.gs(R.string.smscommunicator_extendedcancelfailed) + var replyText = rh.gs(R.string.smscommunicator_extended_cancel_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extendedcanceled), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_extendedcanceled)) + Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extended_canceled), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_extended_canceled)) ) } } @@ -837,14 +837,14 @@ class SmsCommunicatorPlugin @Inject constructor( if (extended == 0.0 || duration == 0) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) else { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_extendedreplywithcode, extended, duration, passCode) + val reply = rh.gs(R.string.smscommunicator_extended_reply_with_code, extended, duration, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, extended, duration) { override fun run() { commandQueue.extendedBolus(aDouble(), secondInteger(), object : Callback() { override fun run() { if (result.success) { - var replyText = rh.gs(R.string.smscommunicator_extendedset, aDouble, duration) + var replyText = rh.gs(R.string.smscommunicator_extended_set, aDouble, duration) if (config.APS) replyText += "\n" + rh.gs(R.string.loopsuspended) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) @@ -852,24 +852,24 @@ class SmsCommunicatorPlugin @Inject constructor( uel.log( Action.EXTENDED_BOLUS, Sources.SMS, - activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extendedset, aDouble, duration) + " / " + rh.gs(R.string.loopsuspended), + activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extended_set, aDouble, duration) + " / " + rh.gs(R.string.loopsuspended), ValueWithUnit.Insulin(aDouble ?: 0.0), ValueWithUnit.Minute(duration), ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.loopsuspended)) ) else uel.log( - Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extendedset, aDouble, duration), + Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extended_set, aDouble, duration), ValueWithUnit.Insulin(aDouble ?: 0.0), ValueWithUnit.Minute(duration) ) } else { - var replyText = rh.gs(R.string.smscommunicator_extendedfailed) + var replyText = rh.gs(R.string.smscommunicator_extended_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extendedfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_extendedfailed)) + Action.EXTENDED_BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_extended_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_extended_failed)) ) } } @@ -905,9 +905,9 @@ class SmsCommunicatorPlugin @Inject constructor( override fun run() { if (resultSuccess) { var replyText = if (isMeal) - rh.gs(R.string.smscommunicator_mealbolusdelivered, resultBolusDelivered) + rh.gs(R.string.smscommunicator_meal_bolus_delivered, resultBolusDelivered) else - rh.gs(R.string.smscommunicator_bolusdelivered, resultBolusDelivered) + rh.gs(R.string.smscommunicator_bolus_delivered, resultBolusDelivered) replyText += "\n" + activePlugin.activePump.shortStatus(true) lastRemoteBolusTime = dateUtil.now() if (isMeal) { @@ -944,18 +944,18 @@ class SmsCommunicatorPlugin @Inject constructor( val tt = if (currentProfile.units == GlucoseUnit.MMOL) { DecimalFormatter.to1Decimal(eatingSoonTT) } else DecimalFormatter.to0Decimal(eatingSoonTT) - replyText += "\n" + rh.gs(R.string.smscommunicator_mealbolusdelivered_tt, tt, eatingSoonTTDuration) + replyText += "\n" + rh.gs(R.string.smscommunicator_meal_bolus_delivered_tt, tt, eatingSoonTTDuration) } } sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) uel.log(Action.BOLUS, Sources.SMS, replyText) } else { - var replyText = rh.gs(R.string.smscommunicator_bolusfailed) + var replyText = rh.gs(R.string.smscommunicator_bolus_failed) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_bolusfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_bolusfailed)) + Action.BOLUS, Sources.SMS, activePlugin.activePump.shortStatus(true) + "\n" + rh.gs(R.string.smscommunicator_bolus_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_bolus_failed)) ) } } @@ -1000,7 +1000,7 @@ class SmsCommunicatorPlugin @Inject constructor( if (grams == 0) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.wrong_format))) else { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_carbsreplywithcode, grams, dateUtil.timeString(time), passCode) + val reply = rh.gs(R.string.smscommunicator_carbs_reply_with_code, grams, dateUtil.timeString(time), passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = true, grams, time) { override fun run() { @@ -1010,19 +1010,19 @@ class SmsCommunicatorPlugin @Inject constructor( commandQueue.bolus(detailedBolusInfo, object : Callback() { override fun run() { if (result.success) { - var replyText = rh.gs(R.string.smscommunicator_carbsset, anInteger) + var replyText = rh.gs(R.string.smscommunicator_carbs_set, anInteger) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.CARBS, Sources.SMS, activePlugin.activePump.shortStatus(true) + ": " + rh.gs(R.string.smscommunicator_carbsset, anInteger), + Action.CARBS, Sources.SMS, activePlugin.activePump.shortStatus(true) + ": " + rh.gs(R.string.smscommunicator_carbs_set, anInteger), ValueWithUnit.Gram(anInteger ?: 0) ) } else { - var replyText = rh.gs(R.string.smscommunicator_carbsfailed, anInteger) + var replyText = rh.gs(R.string.smscommunicator_carbs_failed, anInteger) replyText += "\n" + activePlugin.activePump.shortStatus(true) sendSMS(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.CARBS, Sources.SMS, activePlugin.activePump.shortStatus(true) + ": " + rh.gs(R.string.smscommunicator_carbsfailed, anInteger), + Action.CARBS, Sources.SMS, activePlugin.activePump.shortStatus(true) + ": " + rh.gs(R.string.smscommunicator_carbs_failed, anInteger), ValueWithUnit.Gram(anInteger ?: 0) ) } @@ -1040,7 +1040,7 @@ class SmsCommunicatorPlugin @Inject constructor( val isStop = divided[1].equals("STOP", ignoreCase = true) || divided[1].equals("CANCEL", ignoreCase = true) if (isMeal || isActivity || isHypo) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_temptargetwithcode, divided[1].uppercase(Locale.getDefault()), passCode) + val reply = rh.gs(R.string.smscommunicator_temptarget_with_code, divided[1].uppercase(Locale.getDefault()), passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false) { override fun run() { @@ -1110,7 +1110,7 @@ class SmsCommunicatorPlugin @Inject constructor( }) } else if (isStop) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_temptargetcancel, passCode) + val reply = rh.gs(R.string.smscommunicator_temptarget_cancel, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false) { override fun run() { @@ -1137,16 +1137,16 @@ class SmsCommunicatorPlugin @Inject constructor( || divided[1].equals("DISABLE", ignoreCase = true)) if (isStop) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_stopsmswithcode, passCode) + val reply = rh.gs(R.string.smscommunicator_stops_ns_with_code, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false) { override fun run() { sp.putBoolean(R.string.key_smscommunicator_remote_commands_allowed, false) - val replyText = rh.gs(R.string.smscommunicator_stoppedsms) + val replyText = rh.gs(R.string.smscommunicator_stopped_sms) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) uel.log( - Action.STOP_SMS, Sources.SMS, rh.gs(R.string.smscommunicator_stoppedsms), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_stoppedsms)) + Action.STOP_SMS, Sources.SMS, rh.gs(R.string.smscommunicator_stopped_sms), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_stopped_sms)) ) } }) @@ -1157,23 +1157,23 @@ class SmsCommunicatorPlugin @Inject constructor( val cal = SafeParse.stringToDouble(divided[1]) if (cal > 0.0) { val passCode = generatePassCode() - val reply = rh.gs(R.string.smscommunicator_calibrationreplywithcode, cal, passCode) + val reply = rh.gs(R.string.smscommunicator_calibration_reply_with_code, cal, passCode) receivedSms.processed = true messageToConfirm = AuthRequest(injector, receivedSms, reply, passCode, object : SmsAction(pumpCommand = false, cal) { override fun run() { val result = xDripBroadcast.sendCalibration(aDouble!!) val replyText = - if (result) rh.gs(R.string.smscommunicator_calibrationsent) else rh.gs(R.string.smscommunicator_calibrationfailed) + if (result) rh.gs(R.string.smscommunicator_calibration_sent) else rh.gs(R.string.smscommunicator_calibration_failed) sendSMSToAllNumbers(Sms(receivedSms.phoneNumber, replyText)) if (result) uel.log( - Action.CALIBRATION, Sources.SMS, rh.gs(R.string.smscommunicator_calibrationsent), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_calibrationsent)) + Action.CALIBRATION, Sources.SMS, rh.gs(R.string.smscommunicator_calibration_sent), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_calibration_sent)) ) else uel.log( - Action.CALIBRATION, Sources.SMS, rh.gs(R.string.smscommunicator_calibrationfailed), - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_calibrationfailed)) + Action.CALIBRATION, Sources.SMS, rh.gs(R.string.smscommunicator_calibration_failed), + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.smscommunicator_calibration_failed)) ) } }) @@ -1210,11 +1210,11 @@ class SmsCommunicatorPlugin @Inject constructor( messages.add(sms) } catch (e: IllegalArgumentException) { return if (e.message == "Invalid message body") { - val notification = Notification(Notification.INVALID_MESSAGE_BODY, rh.gs(R.string.smscommunicator_messagebody), Notification.NORMAL) + val notification = Notification(Notification.INVALID_MESSAGE_BODY, rh.gs(R.string.smscommunicator_message_body), Notification.NORMAL) rxBus.send(EventNewNotification(notification)) false } else { - val notification = Notification(Notification.INVALID_PHONE_NUMBER, rh.gs(R.string.smscommunicator_invalidphonennumber), Notification.NORMAL) + val notification = Notification(Notification.INVALID_PHONE_NUMBER, rh.gs(R.string.smscommunicator_invalid_phone_number), Notification.NORMAL) rxBus.send(EventNewNotification(notification)) false } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt index dd1af9d626..25234cee59 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.virtual +package info.nightscout.plugins.pump.virtual import android.os.Bundle import android.os.Handler @@ -7,20 +7,20 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.VirtualpumpFragmentBinding import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.VirtualPumpFragmentBinding +import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventTempBasalChange +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject @@ -41,14 +41,14 @@ class VirtualPumpFragment : DaggerFragment() { private lateinit var refreshLoop: Runnable private var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) - private var _binding: VirtualpumpFragmentBinding? = null + private var _binding: VirtualPumpFragmentBinding? = null // This property is only valid between onCreateView and // onDestroyView. private val binding get() = _binding!! override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = - VirtualpumpFragmentBinding.inflate(inflater, container, false).also { _binding = it }.root + VirtualPumpFragmentBinding.inflate(inflater, container, false).also { _binding = it }.root @Synchronized override fun onResume() { @@ -90,7 +90,7 @@ class VirtualPumpFragment : DaggerFragment() { private fun updateGui() { if (_binding == null) return val profile = profileFunction.getProfile() ?: return - binding.basabasalrate.text = rh.gs(R.string.pump_basebasalrate, virtualPumpPlugin.baseBasalRate) + binding.baseBasalRate.text = rh.gs(R.string.pump_basebasalrate, virtualPumpPlugin.baseBasalRate) binding.tempbasal.text = iobCobCalculator.getTempBasal(dateUtil.now())?.toStringFull(profile, dateUtil) ?: "" binding.extendedbolus.text = iobCobCalculator.getExtendedBolus(dateUtil.now())?.toStringFull(dateUtil) @@ -102,7 +102,7 @@ class VirtualPumpFragment : DaggerFragment() { val pumpType = virtualPumpPlugin.pumpType binding.type.text = pumpType?.description - binding.typeDef.text = pumpType?.getFullDescription(rh.gs(R.string.virtualpump_pump_def), pumpType.hasExtendedBasals(), rh) + binding.typeDef.text = pumpType?.getFullDescription(rh.gs(R.string.virtual_pump_pump_def), pumpType.hasExtendedBasals(), rh) binding.serialNumber.text = virtualPumpPlugin.serialNumber() } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index d7b24cabcb..5dad72b728 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -1,45 +1,46 @@ -package info.nightscout.androidaps.plugins.pump.virtual +package info.nightscout.plugins.pump.virtual import android.os.SystemClock import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.androidaps.plugins.pump.virtual.events.EventVirtualPumpUpdateGui -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.InstanceId -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.VirtualPump +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.interfaces.utils.TimeChangeType +import info.nightscout.plugins.R +import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventOverviewBolusProgress 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONException @@ -68,14 +69,14 @@ open class VirtualPumpPlugin @Inject constructor( .mainType(PluginType.PUMP) .fragmentClass(VirtualPumpFragment::class.java.name) .pluginIcon(R.drawable.ic_virtual_pump) - .pluginName(R.string.virtualpump) - .shortName(R.string.virtualpump_shortname) - .preferencesId(R.xml.pref_virtualpump) + .pluginName(R.string.virtual_pump) + .shortName(R.string.virtual_pump_shortname) + .preferencesId(R.xml.pref_virtual_pump) .description(R.string.description_pump_virtual) .setDefault() .neverVisible(config.NSCLIENT), injector, aapsLogger, rh, commandQueue -), Pump { +), Pump, VirtualPump { private val disposable = CompositeDisposable() var batteryPercent = 50 @@ -123,14 +124,14 @@ open class VirtualPumpPlugin @Inject constructor( override fun preprocessPreferences(preferenceFragment: PreferenceFragmentCompat) { super.preprocessPreferences(preferenceFragment) - val uploadStatus = preferenceFragment.findPreference(rh.gs(R.string.key_virtualpump_uploadstatus)) as SwitchPreference? + val uploadStatus = preferenceFragment.findPreference(rh.gs(R.string.key_virtual_pump_upload_status)) as SwitchPreference? ?: return uploadStatus.isVisible = !config.NSCLIENT } override val isFakingTempsByExtendedBoluses: Boolean get() = config.NSCLIENT && fakeDataDetected - var fakeDataDetected = false + override var fakeDataDetected = false override fun loadTDDs(): PumpEnactResult { //no result, could read DB in the future? return PumpEnactResultImpl(injector) @@ -340,7 +341,7 @@ open class VirtualPumpPlugin @Inject constructor( override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject { val now = System.currentTimeMillis() - if (!sp.getBoolean(R.string.key_virtualpump_uploadstatus, false)) { + if (!sp.getBoolean(R.string.key_virtual_pump_upload_status, false)) { return JSONObject() } val pump = JSONObject() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt similarity index 61% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt rename to plugins/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt index b5f08f2b2f..55457db925 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.pump.virtual.events +package info.nightscout.plugins.pump.virtual.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index e155dd9bd3..f4605abc85 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.os.Bundle import android.util.SparseArray @@ -14,33 +14,33 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction -import info.nightscout.androidaps.databinding.BgsourceFragmentBinding -import info.nightscout.androidaps.databinding.BgsourceItemBinding import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.SourceFragmentBinding +import info.nightscout.plugins.databinding.SourceItemBinding import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.concurrent.TimeUnit @@ -62,13 +62,13 @@ class BGSourceFragment : DaggerFragment(), MenuProvider { private val disposable = CompositeDisposable() private val millsToThePast = T.hours(36).msecs() private lateinit var actionHelper: ActionModeHelper - private var _binding: BgsourceFragmentBinding? = null + private var _binding: SourceFragmentBinding? = null // This property is only valid between onCreateView and onDestroyView. private val binding get() = _binding!! override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = - BgsourceFragmentBinding.inflate(inflater, container, false).also { + SourceFragmentBinding.inflate(inflater, container, false).also { _binding = it actionHelper = ActionModeHelper(rh, activity, this) actionHelper.setUpdateListHandler { binding.recyclerview.adapter?.notifyDataSetChanged() } @@ -130,7 +130,7 @@ class BGSourceFragment : DaggerFragment(), MenuProvider { inner class RecyclerViewAdapter internal constructor(private var glucoseValues: List) : RecyclerView.Adapter() { override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): GlucoseValuesViewHolder { - val v = LayoutInflater.from(viewGroup.context).inflate(R.layout.bgsource_item, viewGroup, false) + val v = LayoutInflater.from(viewGroup.context).inflate(R.layout.source_item, viewGroup, false) return GlucoseValuesViewHolder(v) } @@ -176,7 +176,7 @@ class BGSourceFragment : DaggerFragment(), MenuProvider { inner class GlucoseValuesViewHolder(view: View) : RecyclerView.ViewHolder(view) { - val binding = BgsourceItemBinding.bind(view) + val binding = SourceItemBinding.bind(view) } } @@ -195,13 +195,13 @@ class BGSourceFragment : DaggerFragment(), MenuProvider { val source = when ((activePlugin.activeBgSource as PluginBase).pluginDescription.pluginName) { R.string.dexcom_app_patched -> Sources.Dexcom R.string.eversense -> Sources.Eversense - R.string.Glimp -> Sources.Glimp - R.string.MM640g -> Sources.MM640g - R.string.nsclientbg -> Sources.NSClientSource + R.string.glimp -> Sources.Glimp + R.string.mm640g -> Sources.MM640g + R.string.ns_client_bg -> Sources.NSClientSource R.string.poctech -> Sources.PocTech R.string.tomato -> Sources.Tomato R.string.glunovo -> Sources.Glunovo - R.string.intelligo -> Sources.Intelligo + R.string.intelligo -> Sources.Intelligo R.string.xdrip -> Sources.Xdrip R.string.aidex -> Sources.Aidex else -> Sources.Unknown diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index bf803033aa..5cfd4cb35b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -1,34 +1,34 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSgv import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsclient.data.NSSgv import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.localmodel.entry.NSSgvV3 +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject import javax.inject.Inject @@ -45,8 +45,8 @@ class NSClientSourcePlugin @Inject constructor( .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_nsclient_bg) - .pluginName(R.string.nsclientbg) - .shortName(R.string.nsclientbgshort) + .pluginName(R.string.ns_client_bg) + .shortName(R.string.ns_client_bg_short) .description(R.string.description_source_ns_client), aapsLogger, rh, injector ), BgSource { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt similarity index 86% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index 4e1f003f0e..e2bb2515c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsShared +package info.nightscout.plugins.sync.nsShared import android.os.Bundle import android.os.Handler @@ -13,24 +13,25 @@ import android.widget.ScrollView import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.databinding.NsClientFragmentBinding import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase import info.nightscout.androidaps.interfaces.PluginFragment -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.BuildHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.NsClientFragmentBinding +import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -47,6 +48,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { @Inject lateinit var uel: UserEntryLogger @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var buildHelper: BuildHelper companion object { @@ -80,13 +82,13 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - binding.autoscroll.isChecked = sp.getBoolean(R.string.key_nsclientinternal_autoscroll, true) + binding.autoscroll.isChecked = sp.getBoolean(R.string.key_ns_client_autoscroll, true) binding.autoscroll.setOnCheckedChangeListener { _, isChecked -> - sp.putBoolean(R.string.key_nsclientinternal_autoscroll, isChecked) + sp.putBoolean(R.string.key_ns_client_autoscroll, isChecked) updateGui() } - binding.paused.isChecked = sp.getBoolean(R.string.key_nsclientinternal_paused, false) + binding.paused.isChecked = sp.getBoolean(R.string.key_ns_client_paused, false) binding.paused.setOnCheckedChangeListener { _, isChecked -> uel.log(if (isChecked) UserEntry.Action.NS_PAUSED else UserEntry.Action.NS_RESUME, UserEntry.Sources.NSClient) nsClientPlugin?.pause(isChecked) @@ -95,8 +97,9 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { } override fun onCreateMenu(menu: Menu, inflater: MenuInflater) { - menu.add(Menu.FIRST, ID_MENU_TEST, 0, "Test").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) - menu.add(Menu.FIRST, ID_MENU_CLEAR_LOG, 0, rh.gs(R.string.clearlog)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) + if (buildHelper.isUnfinishedMode()) + menu.add(Menu.FIRST, ID_MENU_TEST, 0, "Test").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) + menu.add(Menu.FIRST, ID_MENU_CLEAR_LOG, 0, rh.gs(R.string.clear_log)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_RESTART, 0, rh.gs(R.string.restart)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_SEND_NOW, 0, rh.gs(R.string.deliver_now)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_FULL_SYNC, 0, rh.gs(R.string.full_sync)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) @@ -123,7 +126,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { ID_MENU_FULL_SYNC -> { context?.let { context -> OKDialog.showConfirmation( - context, rh.gs(R.string.nsclientinternal), rh.gs(R.string.full_sync_comment), + context, rh.gs(R.string.ns_client), rh.gs(R.string.full_sync_comment), Runnable { nsClientPlugin?.resetToFullSync() } ) } @@ -154,9 +157,9 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { private fun updateGui() { if (_binding == null) return - binding.paused.isChecked = sp.getBoolean(R.string.key_nsclientinternal_paused, false) + binding.paused.isChecked = sp.getBoolean(R.string.key_ns_client_paused, false) binding.log.text = nsClientPlugin?.textLog() - if (sp.getBoolean(R.string.key_nsclientinternal_autoscroll, true)) binding.logScrollview.fullScroll(ScrollView.FOCUS_DOWN) + if (sp.getBoolean(R.string.key_ns_client_autoscroll, true)) binding.logScrollview.fullScroll(ScrollView.FOCUS_DOWN) binding.url.text = nsClientPlugin?.address binding.status.text = nsClientPlugin?.status val size = dataSyncSelector.queueSize() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index fa139ebde4..f4f0059d98 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.sync.nsShared +package info.nightscout.plugins.sync.nsShared import android.content.Context import android.os.SystemClock import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.BolusCalculatorResult @@ -37,13 +36,13 @@ import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification +import info.nightscout.plugins.R +import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -58,6 +57,7 @@ import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import java.util.concurrent.TimeUnit import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt index ecef80a645..a808d14a74 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientNewLog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsShared.events +package info.nightscout.plugins.sync.nsShared.events import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt similarity index 60% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt index 5c34cf5b68..506561809c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientResend.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsShared.events +package info.nightscout.plugins.sync.nsShared.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt similarity index 83% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt index 0ed0d48916..0fb562e43e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsShared.events +package info.nightscout.plugins.sync.nsShared.events import info.nightscout.androidaps.events.EventStatus import info.nightscout.androidaps.interfaces.NsClient diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt similarity index 60% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt index af08d1acaa..86578a7585 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsShared.events +package info.nightscout.plugins.sync.nsShared.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 92c544d2f1..2b85ca8620 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -1,6 +1,5 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus @@ -20,13 +19,14 @@ import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.plugins.sync.nsclient.extensions.toJson -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.toJson +import info.nightscout.plugins.R import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 7220ddc5c8..0c230c2a7d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient import android.content.ComponentName import android.content.Context @@ -12,21 +12,11 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI -import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientResend -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus -import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm -import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper @@ -35,6 +25,15 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.HtmlHelper.fromHtml +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.NSClientFragment +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsShared.events.EventNSClientResend +import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.plugins.sync.nsclient.services.NSClientService import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -42,6 +41,7 @@ import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange 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 io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -67,9 +67,9 @@ class NSClientPlugin @Inject constructor( .mainType(PluginType.SYNC) .fragmentClass(NSClientFragment::class.java.name) .pluginIcon(R.drawable.ic_nightscout_syncs) - .pluginName(R.string.nsclientinternal) - .shortName(R.string.nsclientinternal_shortname) - .preferencesId(R.xml.pref_nsclientinternal) + .pluginName(R.string.ns_client) + .shortName(R.string.ns_client_short_name) + .preferencesId(R.xml.pref_ns_client) .description(R.string.description_ns_client), aapsLogger, rh, injector ) { @@ -196,8 +196,8 @@ class NSClientPlugin @Inject constructor( } override fun pause(newState: Boolean) { - sp.putBoolean(R.string.key_nsclientinternal_paused, newState) - rxBus.send(EventPreferenceChange(rh, R.string.key_nsclientinternal_paused)) + sp.putBoolean(R.string.key_ns_client_paused, newState) + rxBus.send(EventPreferenceChange(rh, R.string.key_ns_client_paused)) } override val version: NsClient.Version diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt index 418b146987..f64bdc6174 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegate.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient -import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton @@ -67,7 +67,7 @@ class NsClientReceiverDelegate @Inject constructor( val newAllowedState = allowedChargingState && allowedNetworkState if (newAllowedState != allowed) { allowed = newAllowedState - rxBus.send(EventPreferenceChange(rh.gs(R.string.key_nsclientinternal_paused))) + rxBus.send(EventPreferenceChange(rh.gs(R.string.key_ns_client_paused))) } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt index 46a81ea2b3..0b68f3c8e9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAddAck.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.acks +package info.nightscout.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt index 8e9e85f4d5..d734e95a6f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSAuthAck.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.acks +package info.nightscout.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt index 87b5673dd4..fd07b22ce5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/acks/NSUpdateAck.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.acks +package info.nightscout.plugins.sync.nsclient.acks import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java index f24c79ed37..b9fa6ced88 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/AlarmAck.java +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data; +package info.nightscout.plugins.sync.nsclient.data; /** * Created by mike on 11.06.2017. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt index b9741e5915..3179751712 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSAlarm.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt index 321117d679..a710996e2c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.sdk.remotemodel.RemoteDeviceStatus import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton @@ -82,7 +82,7 @@ class NSDeviceStatusHandler @Inject constructor( updateDeviceData(nsDeviceStatus) updateOpenApsData(nsDeviceStatus) updateUploaderData(nsDeviceStatus) - nsDeviceStatus.pump?.let { sp.putBoolean(R.string.key_ObjectivespumpStatusIsAvailableInNS, true) } // Objective 0 + nsDeviceStatus.pump?.let { sp.putBoolean(R.string.key_objectives_pump_status_is_available_in_ns, true) } // Objective 0 if (config.NSCLIENT && !configurationDetected) nsDeviceStatus.configuration?.let { // copy configuration of Insulin and Sensitivity from main AAPS diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt index 90d0aae931..9ab9cecf28 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSMbg.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt index 4665b6f477..83acdf14c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSettingsStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt @@ -1,22 +1,22 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data import android.content.Context -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.interfaces.Config -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus 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 org.json.JSONException import org.json.JSONObject @@ -149,7 +149,7 @@ class NSSettingsStatus @Inject constructor( data = status aapsLogger.debug(LTag.NSCLIENT, "Got versions: Nightscout: ${getVersion()}") if (getVersionNum() < config.SUPPORTEDNSVERSION) { - val notification = Notification(Notification.OLD_NS, rh.gs(R.string.unsupportednsversion), Notification.NORMAL) + val notification = Notification(Notification.OLD_NS, rh.gs(R.string.unsupported_ns_version), Notification.NORMAL) rxBus.send(EventNewNotification(notification)) } else { rxBus.send(EventDismissNotification(Notification.OLD_NS)) @@ -246,7 +246,7 @@ class NSSettingsStatus @Inject constructor( uel.log(Action.NS_SETTINGS_COPIED, UserEntry.Sources.NSClient) } - if (context != null) OKDialog.showConfirmation(context, rh.gs(R.string.statuslights), rh.gs(R.string.copyexistingvalues), action) + if (context != null) OKDialog.showConfirmation(context, rh.gs(R.string.statuslights), rh.gs(R.string.copy_existing_values), action) else action.run() } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt index 9da2da982a..db934f5fe3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/NSSgv.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt index 6af1385cf0..a69507f64a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt @@ -1,16 +1,16 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.data +package info.nightscout.plugins.sync.nsclient.data import android.text.Spanned import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.APSResult -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.Round +import info.nightscout.plugins.R +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton @@ -145,9 +145,9 @@ class ProcessedDeviceStatusData @Inject constructor( // test warning level val level = when { - openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_urgent_staledatavalue, 31)).msecs() < dateUtil.now() -> Levels.URGENT - openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_nsalarm_staledatavalue, 16)).msecs() < dateUtil.now() -> Levels.WARN - else -> Levels.INFO + openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_ns_alarm_urgent_stale_data_value, 31)).msecs() < dateUtil.now() -> Levels.URGENT + openAPSData.clockSuggested + T.mins(sp.getLong(R.string.key_ns_alarm_stale_data_value, 16)).msecs() < dateUtil.now() -> Levels.WARN + else -> Levels.INFO } string.append("") if (openAPSData.clockSuggested != 0L) string.append(dateUtil.minAgo(rh, openAPSData.clockSuggested)).append(" ") diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index 94abd15d4b..f973198253 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.plugins.configBuilder.RunningConfiguration import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt index cdffc5e7d6..e7201d774c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -3,11 +3,12 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.plugins.sync.nsclient.data.NSMbg import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject import java.util.concurrent.TimeUnit @@ -26,10 +27,13 @@ fun TherapyEvent.GlucoseUnit.toMainUnit(): GlucoseUnit = if (this == TherapyEvent.GlucoseUnit.MGDL) GlucoseUnit.MGDL else GlucoseUnit.MMOL -/* - create fake object with nsID and isValid == false - */ - +fun therapyEventFromNsMbg(mbg: NSMbg) = + TherapyEvent( + type = TherapyEvent.Type.FINGER_STICK_BG_VALUE, //convert Mbg to finger stick because is coming from "entries" collection + timestamp = mbg.date, + glucose = mbg.mbg, + glucoseUnit = TherapyEvent.GlucoseUnit.MGDL + ) fun therapyEventFromJson(jsonObject: JSONObject): TherapyEvent? { val glucoseUnit = if (JsonHelper.safeGetString(jsonObject, "units", Constants.MGDL) == Constants.MGDL) TherapyEvent.GlucoseUnit.MGDL else TherapyEvent.GlucoseUnit.MMOL val timestamp = JsonHelper.safeGetLongAllowNull(jsonObject, "mills", null) ?: return null diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index 470a4162a5..c27ddd9b35 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient.services +package info.nightscout.plugins.sync.nsclient.services import android.annotation.SuppressLint import android.content.Context @@ -16,44 +16,41 @@ import com.google.gson.GsonBuilder import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationWithAction -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddAckWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientAddUpdateWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientMbgWorker -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientPlugin -import info.nightscout.androidaps.plugins.sync.nsclient.NSClientUpdateRemoveAckWorker -import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAddAck -import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAuthAck -import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSUpdateAck -import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandler -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSSettingsStatus -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T.Companion.mins import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull +import info.nightscout.plugins.R import info.nightscout.plugins.general.food.FoodPlugin +import info.nightscout.plugins.general.overview.notifications.NotificationWithAction import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.plugins.sync.nsclient.NSClientPlugin +import info.nightscout.plugins.sync.nsclient.acks.NSAddAck +import info.nightscout.plugins.sync.nsclient.acks.NSAuthAck +import info.nightscout.plugins.sync.nsclient.acks.NSUpdateAck +import info.nightscout.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.plugins.sync.nsclient.data.NSDeviceStatusHandler +import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus +import info.nightscout.plugins.sync.nsclient.workers.NSClientAddAckWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientAddUpdateWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientMbgWorker +import info.nightscout.plugins.sync.nsclient.workers.NSClientUpdateRemoveAckWorker +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit @@ -62,7 +59,10 @@ import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.remotemodel.RemoteDeviceStatus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T.Companion.mins import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import io.socket.client.IO @@ -144,7 +144,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { .subscribe({ event: EventPreferenceChange -> if (event.isChanged(rh, R.string.key_nsclientinternal_url) || event.isChanged(rh, R.string.key_nsclientinternal_api_secret) || - event.isChanged(rh, R.string.key_nsclientinternal_paused) + event.isChanged(rh, R.string.key_ns_client_paused) ) { latestDateInReceivedData = 0 destroy() @@ -221,7 +221,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { rxBus.send(EventNSClientNewLog("ERROR", "Write treatment permission not granted ", NsClient.Version.V1)) } if (!hasWriteAuth) { - val noWritePerm = Notification(Notification.NSCLIENT_NO_WRITE_PERMISSION, rh.gs(R.string.nowritepermission), Notification.URGENT) + val noWritePerm = Notification(Notification.NSCLIENT_NO_WRITE_PERMISSION, rh.gs(R.string.no_write_permission), Notification.URGENT) rxBus.send(EventNewNotification(noWritePerm)) } else { rxBus.send(EventDismissNotification(Notification.NSCLIENT_NO_WRITE_PERMISSION)) @@ -238,7 +238,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int = START_STICKY - fun initialize() { + private fun initialize() { dataCounter = 0 readPreferences() @Suppress("DEPRECATION") @@ -247,7 +247,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { if (!nsClientPlugin.isAllowed) { rxBus.send(EventNSClientNewLog("NSCLIENT", nsClientPlugin.blockingReason, NsClient.Version.V1)) rxBus.send(EventNSClientStatus(nsClientPlugin.blockingReason, NsClient.Version.V1)) - } else if (sp.getBoolean(R.string.key_nsclientinternal_paused, false)) { + } else if (sp.getBoolean(R.string.key_ns_client_paused, false)) { rxBus.send(EventNSClientNewLog("NSCLIENT", "paused", NsClient.Version.V1)) rxBus.send(EventNSClientStatus("Paused", NsClient.Version.V1)) } else if (!nsEnabled) { @@ -309,7 +309,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { } rxBus.send(EventNSClientNewLog("WATCHDOG", "connections in last " + WATCHDOG_INTERVAL_MINUTES + " minutes: " + reconnections.size + "/" + WATCHDOG_MAX_CONNECTIONS, NsClient.Version.V1)) if (reconnections.size >= WATCHDOG_MAX_CONNECTIONS) { - val n = Notification(Notification.NS_MALFUNCTION, rh.gs(R.string.nsmalfunction), Notification.URGENT) + val n = Notification(Notification.NS_MALFUNCTION, rh.gs(R.string.ns_malfunction), Notification.URGENT) rxBus.send(EventNewNotification(n)) rxBus.send(EventNSClientNewLog("WATCHDOG", "pausing for $WATCHDOG_RECONNECT_IN minutes", NsClient.Version.V1)) nsClientPlugin.pause(true) @@ -544,7 +544,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { if (sgvs.length() > 0) { rxBus.send(EventNSClientNewLog("DATA", "received " + sgvs.length() + " sgvs", NsClient.Version.V1)) // Objective0 - sp.putBoolean(R.string.key_ObjectivesbgIsAvailableInNS, true) + sp.putBoolean(R.string.key_objectives_bg_is_available_in_ns, true) dataWorkerStorage .beginUniqueWork( NSClientV3Plugin.JOB_NAME, @@ -646,7 +646,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { private fun handleAlarm(alarm: JSONObject) { val defaultVal = config.NSCLIENT if (sp.getBoolean(R.string.key_ns_alarms, defaultVal)) { - val snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L) + val snoozedTo = sp.getLong(R.string.key_snoozed_to, 0L) if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) { val nsAlarm = NSAlarm(alarm) val notification: Notification = NotificationWithAction(injector, nsAlarm) @@ -660,7 +660,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { private fun handleUrgentAlarm(alarm: JSONObject) { val defaultVal = config.NSCLIENT if (sp.getBoolean(R.string.key_ns_alarms, defaultVal)) { - val snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L) + val snoozedTo = sp.getLong(R.string.key_snoozed_to, 0L) if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) { val nsAlarm = NSAlarm(alarm) val notification: Notification = NotificationWithAction(injector, nsAlarm) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt index 65ecac8683..8878129b16 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient.workers import android.content.Context import android.os.SystemClock @@ -6,7 +6,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.DeviceStatus import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusCalculatorResultTransaction @@ -37,9 +36,10 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSAddAck import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsclient.acks.NSAddAck import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index 336d7b3d7a..18453033ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientAddUpdateWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -1,24 +1,23 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient.workers import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsclient.extensions.bolusFromJson import info.nightscout.plugins.sync.nsclient.extensions.carbsFromJson import info.nightscout.plugins.sync.nsclient.extensions.effectiveProfileSwitchFromJson @@ -33,6 +32,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject class NSClientAddUpdateWorker( @@ -50,7 +50,6 @@ class NSClientAddUpdateWorker( @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var rxBus: RxBus @Inject lateinit var uel: UserEntryLogger - @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin @Inject lateinit var xDripBroadcast: XDripBroadcast @Inject lateinit var storeDataForDb: StoreDataForDb @@ -100,7 +99,8 @@ class NSClientAddUpdateWorker( ebJson.put("mills", mills) json = ebJson eventType = JsonHelper.safeGetString(json, "eventType") - virtualPumpPlugin.fakeDataDetected = true + + activePlugin.activePump.let { if (it is VirtualPump) it.fakeDataDetected = true } } when { insulin > 0 || carbs > 0 -> Any() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt similarity index 83% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt index bf7e05fa60..033f1e2cc5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientMbgWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt @@ -1,16 +1,16 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient.workers import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSMbg import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.extensions.therapyEventFromNsMbg import info.nightscout.interfaces.Config +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsclient.data.NSMbg +import info.nightscout.plugins.sync.nsclient.extensions.therapyEventFromNsMbg import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt index df4f77f049..952d208407 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclient/NSClientUpdateRemoveAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient.workers import android.content.Context import androidx.work.Worker @@ -20,9 +20,9 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsclient.acks.NSUpdateAck import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsclient.acks.NSUpdateAck import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index a4218cb84c..353676cf46 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3 +package info.nightscout.plugins.sync.nsclientV3 import android.content.Context import android.os.Handler @@ -12,27 +12,11 @@ import androidx.work.OneTimeWorkRequest import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.NsClient import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientUpdateGUI -import info.nightscout.androidaps.plugins.sync.nsShared.NSClientFragment -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientResend -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientStatus -import info.nightscout.androidaps.plugins.sync.nsclient.NsClientReceiverDelegate -import info.nightscout.androidaps.plugins.sync.nsclient.data.AlarmAck -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSAlarm -import info.nightscout.androidaps.plugins.sync.nsclient.services.NSClientService -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadBgWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadLastModificationWorker -import info.nightscout.androidaps.plugins.sync.nsclientV3.workers.LoadStatusWorker -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config @@ -40,6 +24,19 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.NSClientFragment +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsShared.events.EventNSClientResend +import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus +import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI +import info.nightscout.plugins.sync.nsclient.NsClientReceiverDelegate +import info.nightscout.plugins.sync.nsclient.data.AlarmAck +import info.nightscout.plugins.sync.nsclient.data.NSAlarm +import info.nightscout.plugins.sync.nsclient.services.NSClientService +import info.nightscout.plugins.sync.nsclientV3.workers.LoadBgWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadLastModificationWorker +import info.nightscout.plugins.sync.nsclientV3.workers.LoadStatusWorker import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState @@ -49,7 +46,10 @@ import info.nightscout.rx.logging.LTag import info.nightscout.sdk.NSAndroidClientImpl import info.nightscout.sdk.interfaces.NSAndroidClient import info.nightscout.sdk.remotemodel.LastModified +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import kotlinx.serialization.decodeFromString @@ -77,9 +77,9 @@ class NSClientV3Plugin @Inject constructor( .mainType(PluginType.SYNC) .fragmentClass(NSClientFragment::class.java.name) .pluginIcon(R.drawable.ic_nightscout_syncs) - .pluginName(R.string.nsclientv3) - .shortName(R.string.nsclientv3_shortname) - .preferencesId(R.xml.pref_nsclientinternal) + .pluginName(R.string.ns_client_v3) + .shortName(R.string.ns_client_v3_short_name) + .preferencesId(R.xml.pref_ns_client) .description(R.string.description_ns_client_v3), aapsLogger, rh, injector ) { @@ -121,7 +121,7 @@ class NSClientV3Plugin @Inject constructor( lastFetched = Json.decodeFromString( sp.getString( - R.string.key_nsclientv2_lastmodified, + R.string.key_ns_client_v3_last_modified, Json.encodeToString( LastModified.serializer(), LastModified(LastModified.Collections(dateUtil.now() - maxAge, dateUtil.now() - maxAge, dateUtil.now() - maxAge, dateUtil.now() - maxAge)) @@ -135,7 +135,7 @@ class NSClientV3Plugin @Inject constructor( nsAndroidClient = NSAndroidClientImpl( baseUrl = sp.getString(R.string.key_nsclientinternal_url, "").lowercase().replace("https://", ""), - accessToken = sp.getString(R.string.key_nsclient_token, ""), + accessToken = sp.getString(R.string.key_ns_client_token, ""), context = context, logging = true ) @@ -236,8 +236,8 @@ class NSClientV3Plugin @Inject constructor( } override fun pause(newState: Boolean) { - sp.putBoolean(R.string.key_nsclientinternal_paused, newState) - rxBus.send(EventPreferenceChange(rh, R.string.key_nsclientinternal_paused)) + sp.putBoolean(R.string.key_ns_client_paused, newState) + rxBus.send(EventPreferenceChange(rh, R.string.key_ns_client_paused)) } override val version: NsClient.Version @@ -284,7 +284,7 @@ class NSClientV3Plugin @Inject constructor( } private fun storeLastFetched() { - sp.putString(R.string.key_nsclientv2_lastmodified, Json.encodeToString(LastModified.serializer(), lastFetched)) + sp.putString(R.string.key_ns_client_v3_last_modified, Json.encodeToString(LastModified.serializer(), lastFetched)) } fun test() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt index ddc6d88c84..a79c4988ec 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import com.google.gson.Gson import com.google.gson.JsonSyntaxException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt index 10f41e9343..bcd88ed1d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/BolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Bolus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt index 3c85c8de41..4dc2bdac3a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/CarbsExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.Carbs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt index 2b97063c31..dcc9102f07 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.sync.nsclient.extensions.fromConstant import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch +import info.nightscout.shared.utils.DateUtil fun NSEffectiveProfileSwitch.toEffectiveProfileSwitch(dateUtil: DateUtil): EffectiveProfileSwitch? { val pureProfile = pureProfileFromJson(profileJson, dateUtil) ?: return null diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt index 41966b4ccb..5a5c3e2303 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.ExtendedBolus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt index d237881d43..3bfa4ce2ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.OfflineEvent diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt index 41f27cc3da..8ed408fa57 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T fun NSProfileSwitch.toProfileSwitch(activePlugin: ActivePlugin, dateUtil: DateUtil): ProfileSwitch? { val pureProfile = diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt index 8735c78443..71dc0651d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.TemporaryBasal diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt index 22d1d62038..17445fe2bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.TemporaryTarget diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt index 4226fe79b8..ea94e4a770 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.extensions +package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.TherapyEvent diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt index e9736e6939..f6f577767f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadBgWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.ExistingWorkPolicy @@ -8,17 +8,17 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.source.NSClientSourcePlugin -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.plugins.R +import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import kotlinx.coroutines.runBlocking import javax.inject.Inject @@ -57,7 +57,7 @@ class LoadBgWorker( ) ) // Objective0 - sp.putBoolean(R.string.key_ObjectivesbgIsAvailableInNS, true) + sp.putBoolean(R.string.key_objectives_bg_is_available_in_ns, true) // Schedule processing of fetched data and continue of loading WorkManager.getInstance(context).beginUniqueWork( JOB_NAME, diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt index c4f528421a..d751339faf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.Worker @@ -6,14 +6,14 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsclient.data.NSDeviceStatusHandler -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsclient.data.NSDeviceStatusHandler +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import kotlinx.coroutines.runBlocking import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt index 62162e7367..d231df9543 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.logging.AAPSLogger import kotlinx.coroutines.runBlocking import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt index bdebb19219..0ffef7ffeb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.logging.AAPSLogger import kotlinx.coroutines.runBlocking import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt index bf6f08a54e..44c3a658ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.ExistingWorkPolicy @@ -9,13 +9,13 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsShared.events.EventNSClientNewLog -import info.nightscout.androidaps.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog +import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil import kotlinx.coroutines.runBlocking import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index d9448aa17d..981497f58a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -1,32 +1,30 @@ -package info.nightscout.androidaps.plugins.sync.nsclientV3.workers +package info.nightscout.plugins.sync.nsclientV3.workers import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.androidaps.plugins.sync.nsShared.StoreDataForDb -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toBolus -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toBolusCalculatorResult -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toCarbs -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toEffectiveProfileSwitch -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toExtendedBolus -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toOfflineEvent -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toProfileSwitch -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporaryBasal -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTemporaryTarget -import info.nightscout.androidaps.plugins.sync.nsclientV3.extensions.toTherapyEvent import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.nsShared.StoreDataForDb +import info.nightscout.plugins.sync.nsclientV3.extensions.toBolus +import info.nightscout.plugins.sync.nsclientV3.extensions.toBolusCalculatorResult +import info.nightscout.plugins.sync.nsclientV3.extensions.toCarbs +import info.nightscout.plugins.sync.nsclientV3.extensions.toEffectiveProfileSwitch +import info.nightscout.plugins.sync.nsclientV3.extensions.toExtendedBolus +import info.nightscout.plugins.sync.nsclientV3.extensions.toOfflineEvent +import info.nightscout.plugins.sync.nsclientV3.extensions.toProfileSwitch +import info.nightscout.plugins.sync.nsclientV3.extensions.toTemporaryBasal +import info.nightscout.plugins.sync.nsclientV3.extensions.toTemporaryTarget +import info.nightscout.plugins.sync.nsclientV3.extensions.toTherapyEvent import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -42,6 +40,7 @@ import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent import info.nightscout.sdk.localmodel.treatment.NSTreatment import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject class ProcessTreatmentsWorker( @@ -59,7 +58,6 @@ class ProcessTreatmentsWorker( @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var rxBus: RxBus @Inject lateinit var uel: UserEntryLogger - @Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin @Inject lateinit var xDripBroadcast: XDripBroadcast @Inject lateinit var storeDataForDb: StoreDataForDb diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt similarity index 84% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt index 4d13020853..2438b321a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool +package info.nightscout.plugins.sync.tidepool import android.os.Bundle import android.view.LayoutInflater @@ -6,13 +6,13 @@ import android.view.View import android.view.ViewGroup import android.widget.ScrollView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.TidepoolFragmentBinding -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData -import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolUpdateGUI import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.TidepoolFragmentBinding +import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolDoUpload +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolResetData +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolUpdateGUI import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index 66bc129d46..8081ad492e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -1,37 +1,37 @@ -package info.nightscout.androidaps.plugins.sync.tidepool +package info.nightscout.plugins.sync.tidepool import android.content.Context import android.text.Spanned import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sync -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolDoUpload -import info.nightscout.androidaps.plugins.general.tidepool.events.EventTidepoolResetData -import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader -import info.nightscout.androidaps.plugins.sync.tidepool.comm.UploadChunk -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolUpdateGUI -import info.nightscout.androidaps.plugins.sync.tidepool.utils.RateLimit import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.plugins.sync.tidepool.comm.UploadChunk +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolDoUpload +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolResetData +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolUpdateGUI +import info.nightscout.plugins.sync.tidepool.utils.RateLimit import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNetworkChange 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 import javax.inject.Inject @@ -67,7 +67,7 @@ class TidepoolPlugin @Inject constructor( private val listLog = ArrayList() var textLog: Spanned = HtmlHelper.fromHtml("") - @Suppress("RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS", "NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS", "UNNECESSARY_NOT_NULL_ASSERTION") + @Suppress("UNNECESSARY_NOT_NULL_ASSERTION") override fun onStart() { super.onStart() disposable += rxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt index 0f29e5233f..71987129f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/InfoInterceptor.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt index 6b3622851f..4c425899b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/Session.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.DatasetReplyMessage import okhttp3.Headers class Session(val authHeader: String?, diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt similarity index 75% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt index f9c0491e81..90c571b008 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolApiService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt @@ -1,20 +1,27 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.UploadReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.UploadReplyMessage import okhttp3.RequestBody import retrofit2.Call -import retrofit2.http.* +import retrofit2.http.Body +import retrofit2.http.DELETE +import retrofit2.http.GET +import retrofit2.http.Header +import retrofit2.http.Headers +import retrofit2.http.POST +import retrofit2.http.PUT +import retrofit2.http.Path +import retrofit2.http.Query const val SESSION_TOKEN_HEADER: String = "x-tidepool-session-token" interface TidepoolApiService { @Headers( - "User-Agent: AAPS- " + BuildConfig.VERSION_NAME, - "X-Tidepool-Client-Name: info.nightscout.androidaps" + BuildConfig.APPLICATION_ID, + "User-Agent: AAPS- " + "1.0", + "X-Tidepool-Client-Name: info.nightscout.androidaps", "X-Tidepool-Client-Version: 0.1.0" ) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt index 0e7334378b..9b06e3367a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolCallback.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt index 4221589884..630d7291e0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/TidepoolUploader.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt @@ -1,25 +1,24 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm import android.content.Context import android.os.PowerManager import android.os.SystemClock -import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthRequestMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.OpenDatasetRequestMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.UploadReplyMessage -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.AuthRequestMessage +import info.nightscout.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.OpenDatasetRequestMessage +import info.nightscout.plugins.sync.tidepool.messages.UploadReplyMessage import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.OkHttpClient import okhttp3.RequestBody.Companion.toRequestBody @@ -150,7 +149,7 @@ class TidepoolUploader @Inject constructor( // See if we already have an open data set to write to val datasetCall = session.service!!.getOpenDataSets( session.token!!, - session.authReply!!.userid!!, BuildConfig.APPLICATION_ID, 1 + session.authReply!!.userid!!, "AAPS", 1 ) datasetCall.enqueue(TidepoolCallback>(aapsLogger, rxBus, session, "Get Open Datasets", { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt index 44cf474e28..4f8056b8bd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/UploadChunk.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt @@ -1,26 +1,26 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.sync.tidepool.elements.BasalElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.BaseElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.BloodGlucoseElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.BolusElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.ProfileElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.SensorGlucoseElement -import info.nightscout.androidaps.plugins.sync.tidepool.elements.WizardElement -import info.nightscout.androidaps.plugins.sync.tidepool.events.EventTidepoolStatus -import info.nightscout.androidaps.plugins.sync.tidepool.utils.GsonInstance -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.plugins.R +import info.nightscout.plugins.sync.tidepool.elements.BasalElement +import info.nightscout.plugins.sync.tidepool.elements.BaseElement +import info.nightscout.plugins.sync.tidepool.elements.BloodGlucoseElement +import info.nightscout.plugins.sync.tidepool.elements.BolusElement +import info.nightscout.plugins.sync.tidepool.elements.ProfileElement +import info.nightscout.plugins.sync.tidepool.elements.SensorGlucoseElement +import info.nightscout.plugins.sync.tidepool.elements.WizardElement +import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus +import info.nightscout.plugins.sync.tidepool.utils.GsonInstance import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import java.util.LinkedList import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt index a848e95566..cc92b0ebe0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BasalElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.extensions.convertedToAbsolute +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.UUID class BasalElement(tbr: TemporaryBasal, private val profile: Profile, dateUtil: DateUtil) : BaseElement(tbr.timestamp, UUID.nameUUIDFromBytes(("AAPS-basal" + tbr.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt index d761a2cf70..c5bdc1057e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BaseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.shared.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt index 7679dc39cb..c4c919ccc3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BloodGlucoseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt @@ -1,11 +1,12 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.plugins.sync.nsclient.extensions.toMainUnit import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.LinkedList +import java.util.UUID class BloodGlucoseElement(therapyEvent: TherapyEvent, dateUtil: DateUtil) : BaseElement(therapyEvent.timestamp, UUID.nameUUIDFromBytes(("AAPS-bg" + therapyEvent.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt similarity index 86% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt index 0a3f0d1683..4918d735e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/BolusElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.UUID class BolusElement(bolus: Bolus, dateUtil: DateUtil) : BaseElement(bolus.timestamp, UUID.nameUUIDFromBytes(("AAPS-bolus" + bolus.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt index 827ff2ba65..f247ecbbf5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/ProfileElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.UUID class ProfileElement(ps: EffectiveProfileSwitch, serialNumber: String, dateUtil: DateUtil) : BaseElement(ps.timestamp, UUID.nameUUIDFromBytes(("AAPS-profile" + ps.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt index 250e08ce82..f7fb4ef6dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/SensorGlucoseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt @@ -1,9 +1,10 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.LinkedList +import java.util.UUID class SensorGlucoseElement(bgReading: GlucoseValue, private val dateUtil: DateUtil) : BaseElement(bgReading.timestamp, UUID.nameUUIDFromBytes(("AAPS-cgm" + bgReading.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt index af80c5b30a..b53252edc0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/elements/WizardElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.elements +package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.shared.utils.DateUtil -import java.util.* +import java.util.UUID class WizardElement(carbs: Carbs, dateUtil: DateUtil) : BaseElement(carbs.timestamp, UUID.nameUUIDFromBytes(("AAPS-wizard" + carbs.timestamp).toByteArray()).toString(), dateUtil) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt similarity index 53% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt index d97e354f1b..3d16c71169 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolDoUpload.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.events +package info.nightscout.plugins.sync.tidepool.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt similarity index 54% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt index 43ed9ff251..0c0762a1b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/tidepool/events/EventTidepoolResetData.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.tidepool.events +package info.nightscout.plugins.sync.tidepool.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt index 7addb83399..9b064661b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.events +package info.nightscout.plugins.sync.tidepool.events import info.nightscout.rx.events.Event import java.text.SimpleDateFormat diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt similarity index 55% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt index 7e6e2b796b..341e5a0cf9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.events +package info.nightscout.plugins.sync.tidepool.events import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt index 99edf8eeed..8713d91339 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthReplyMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt index afa62e5894..33428422de 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/AuthRequestMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import info.nightscout.shared.sharedPreferences.SP import okhttp3.Credentials diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt index b3ae854bf2..2c1df65ba5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/BaseMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages -import info.nightscout.androidaps.plugins.sync.tidepool.utils.GsonInstance +import info.nightscout.plugins.sync.tidepool.utils.GsonInstance import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.RequestBody import okhttp3.RequestBody.Companion.toRequestBody diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt similarity index 68% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt index 3bc3f5b670..586f96c438 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt index 295f917a24..7eed75c13a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/DatasetReplyMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages class DatasetReplyMessage { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt index 25e89a7883..5117af073c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages import com.google.gson.annotations.Expose -import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.plugins.sync.tidepool.comm.TidepoolUploader +import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import java.util.* +import java.util.TimeZone class OpenDatasetRequestMessage(serialNumber: String, dateUtil: DateUtil) : BaseMessage() { @@ -50,12 +49,12 @@ class OpenDatasetRequestMessage(serialNumber: String, dateUtil: DateUtil) : Base var timezone: String = TimeZone.getDefault().id @Expose - var version = BuildConfig.VERSION_NAME + var version = "1.0" inner class ClientInfo { @Expose - val name = BuildConfig.APPLICATION_ID + val name = "AAPS" @Expose val version = TidepoolUploader.VERSION diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt similarity index 53% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt index 459c63ec6e..ac40f05e5a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/messages/UploadReplyMessage.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.messages +package info.nightscout.plugins.sync.tidepool.messages class UploadReplyMessage { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt similarity index 86% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt index 5c383f3440..0801ece9dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/GsonInstance.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.utils +package info.nightscout.plugins.sync.tidepool.utils import com.google.gson.Gson import com.google.gson.GsonBuilder diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt rename to plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt index ab4fcdd0c9..a819ded98e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sync/tidepool/utils/RateLimit.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.utils +package info.nightscout.plugins.sync.tidepool.utils -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/res/layout/ns_client_fragment.xml b/plugins/src/main/res/layout/ns_client_fragment.xml similarity index 95% rename from app/src/main/res/layout/ns_client_fragment.xml rename to plugins/src/main/res/layout/ns_client_fragment.xml index 91016d058e..3a92d3f400 100644 --- a/app/src/main/res/layout/ns_client_fragment.xml +++ b/plugins/src/main/res/layout/ns_client_fragment.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".plugins.sync.nsShared.NSClientFragment"> + tools:context=".sync.nsShared.NSClientFragment"> + android:text="@string/ns_client_url" /> diff --git a/app/src/main/res/layout/overview_notification_item.xml b/plugins/src/main/res/layout/overview_notification_item.xml similarity index 100% rename from app/src/main/res/layout/overview_notification_item.xml rename to plugins/src/main/res/layout/overview_notification_item.xml diff --git a/app/src/main/res/layout/bgsource_fragment.xml b/plugins/src/main/res/layout/source_fragment.xml similarity index 86% rename from app/src/main/res/layout/bgsource_fragment.xml rename to plugins/src/main/res/layout/source_fragment.xml index beefd8120b..f56d3e838c 100644 --- a/app/src/main/res/layout/bgsource_fragment.xml +++ b/plugins/src/main/res/layout/source_fragment.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical" android:paddingTop="2dp" - tools:context="info.nightscout.androidaps.plugins.source.BGSourceFragment"> + tools:context=".source.BGSourceFragment"> + tools:context=".pump.virtual.VirtualPumpFragment"> @@ -46,7 +46,7 @@ tools:ignore="HardcodedText" /> @@ -323,7 +323,7 @@ android:layout_weight="1" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/virtualpump_type" + android:text="@string/virtual_pump_type" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -372,7 +372,7 @@ android:layout_weight="1" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/virtualpump_definition" + android:text="@string/virtual_pump_definition" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/app/src/main/res/raw/urgentalarm.mp3 b/plugins/src/main/res/raw/urgentalarm.mp3 similarity index 100% rename from app/src/main/res/raw/urgentalarm.mp3 rename to plugins/src/main/res/raw/urgentalarm.mp3 diff --git a/plugins/src/main/res/values/arrays.xml b/plugins/src/main/res/values/arrays.xml index 3360615473..0e75db8ee1 100644 --- a/plugins/src/main/res/values/arrays.xml +++ b/plugins/src/main/res/values/arrays.xml @@ -12,4 +12,36 @@ @string/value_system_theme + + Generic AAPS + MDI + Accu-Chek Combo + Accu-Chek Spirit + Accu-Chek Insight + Accu-Chek Solo + Animas Ping + Animas Vibe + Cellnovo + DanaR + DanaR Korean + DanaRS + DanaRv2 + DanaI + Diaconn G8 + Eoflow Eopatch2 + Medtronic 512/712 + Medtronic 515/715 + Medtronic 522/722 + Medtronic 523/723 (Revel) + Medtronic 554/754 (Veo) + Medtronic 640G + Omnipod Dash + Omnipod Eros + Tandem t:slim + Tandem t:flex + Tandem t:slim G4 + Tandem t:slim X2 + YpsoPump + + \ No newline at end of file diff --git a/plugins/src/main/res/values/strings.xml b/plugins/src/main/res/values/strings.xml index 1162ab96fb..2d89aa74db 100644 --- a/plugins/src/main/res/values/strings.xml +++ b/plugins/src/main/res/values/strings.xml @@ -39,64 +39,64 @@ +XXXXXXXXXX;+YYYYYYYYYY To deliver bolus %1$.2fU reply with code %2$s To deliver meal bolus %1$.2fU reply with code %2$s - To set the Temp Target %1$s reply with code %2$s - To cancel Temp Target reply with code %1$s - To disable the SMS Remote Service reply with code %1$s.\n\nKeep in mind that you\'ll able to reactivate it directly from the AAPS master smartphone only. - SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone. - To send calibration %1$.2f reply with code %2$s - Bolus failed - Minimum number of minutes that must elapse between one remote bolus and the next - How many minutes must elapse, at least, between one bolus and the next - For your safety, to edit this preference you need to add at least 2 phone numbers. - Bolus %1$.2f U delivered successfully - Meal Bolus %1$.2f U delivered successfully - Target %1$s for %2$d minutes + To set the Temp Target %1$s reply with code %2$s + To cancel Temp Target reply with code %1$s + To disable the SMS Remote Service reply with code %1$s.\n\nKeep in mind that you\'ll able to reactivate it directly from the AAPS master smartphone only. + SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone. + To send calibration %1$.2f reply with code %2$s + Bolus failed + Minimum number of minutes that must elapse between one remote bolus and the next + How many minutes must elapse, at least, between one bolus and the next + For your safety, to edit this preference you need to add at least 2 phone numbers. + Bolus %1$.2f U delivered successfully + Meal Bolus %1$.2f U delivered successfully + Target %1$s for %2$d minutes Target %1$s for %2$d minutes set successfully Temp Target canceled successfully - Allow remote commands via SMS - Loop has been disabled - Loop has been enabled - Loop is enabled - To connect pump reply with code %1$s - Connection to pump failed - To disconnect pump for %1$d minutes reply with code %2$s - Pump disconnected + Allow remote commands via SMS + Loop has been disabled + Loop has been enabled + Loop is enabled + To connect pump reply with code %1$s + Connection to pump failed + To disconnect pump for %1$d minutes reply with code %2$s + Pump disconnected Pump reconnected - Remote command is not allowed - Remote bolus not available. Try again later. - To start basal %1$.2f U/h for %2$d min reply with code %3$s - To switch profile to %1$s %2$d%% reply with code %3$s - To start extended bolus %1$.2f U for %2$d min reply with code %3$s - To enter %1$dg at %2$s reply with code %3$s - To start basal %1$d%% for %2$d min reply with code %3$s - To suspend loop for %1$d minutes reply with code %2$s - To resume loop reply with code %1$s - To enable loop reply with code %1$s - To disable loop reply with code %1$s - Temp basal %1$.2fU/h for %2$d min started successfully - Extended bolus %1$.2fU for %2$d min started successfully - Carbs %1$d g entered successfully - Entering %1$dg of carbs failed - Temp basal %1$d%% for %2$d min started successfully - Temp basal start failed - Extended bolus start failed - To stop temp basal reply with code %1$s - To stop extended bolus reply with code %1$s - Temp basal canceled - Extended bolus canceled - Canceling temp basal failed - Canceling extended bolus failed - Unknown command or wrong reply + Remote command is not allowed + Remote bolus not available. Try again later. + To start basal %1$.2f U/h for %2$d min reply with code %3$s + To switch profile to %1$s %2$d%% reply with code %3$s + To start extended bolus %1$.2f U for %2$d min reply with code %3$s + To enter %1$dg at %2$s reply with code %3$s + To start basal %1$d%% for %2$d min reply with code %3$s + To suspend loop for %1$d minutes reply with code %2$s + To resume loop reply with code %1$s + To enable loop reply with code %1$s + To disable loop reply with code %1$s + Temp basal %1$.2fU/h for %2$d min started successfully + Extended bolus %1$.2fU for %2$d min started successfully + Carbs %1$d g entered successfully + Entering %1$dg of carbs failed + Temp basal %1$d%% for %2$d min started successfully + Temp basal start failed + Extended bolus start failed + To stop temp basal reply with code %1$s + To stop extended bolus reply with code %1$s + Temp basal canceled + Extended bolus canceled + Canceling temp basal failed + Canceling extended bolus failed + Unknown command or wrong reply There is another bolus in queue. Try again later. - Wrong duration - Loop suspended - Loop resumed - Invalid SMS phone number - Calibration sent. Receiving must be enabled in xDrip+. - xDrip+ is not receiving calibrations - Invalid message body - Send SMS if unreachable pump event is triggered - Report pump unreachable + Wrong duration + Loop suspended + Loop resumed + Invalid SMS phone number + Calibration sent. Receiving must be enabled in xDrip+. + xDrip+ is not receiving calibrations + Invalid message body + Send SMS if unreachable pump event is triggered + Report pump unreachable Wrong format BG: Last BG: @@ -137,7 +137,7 @@ xdripstatus_showbgi xdripstatus_settings - + xDrip+ Statusline (watch) xds Show information about your loop on your xDrip+ watchface. @@ -153,10 +153,10 @@ Displays the food presets defined in Nightscout Filter Food - kJ - En - Pr - Fat + kJ + En + Pr + Fat Category Subcategory Calculator @@ -239,6 +239,244 @@ Time elapsed + statuslights_copy_ns + statuslights_overview_advanced + Snooze + Copy NS settings (if exists)? + show_statuslights + Show status lights on home screen + statuslights_cage_warning + Threshold warning cannula age [h] + statuslights_cage_critical + Threshold critical cannula age [h] + statuslights_iage_warning + Threshold warning insulin age [h] + statuslights_iage_critical + Threshold critical insulin age [h] + statuslights_sage_warning + Threshold warning sensor age [h] + statuslights_sage_critical + Threshold critical sensor age [h] + statuslights_sbat_warning + Threshold warning sensor battery level [%] + statuslights_sbat_critical + Threshold critical sensor battery level [%] + statuslights_bage_warning + Threshold warning pump battery age [h] + statuslights_bage_critical + Threshold critical pump battery age [h] + statuslights_res_warning + Threshold warning reservoir level [U] + statuslights_res_critical + Threshold critical reservoir level [U] + statuslights_bat_warning + Threshold warning pump battery level [%] + statuslights_bat_critical + Threshold critical pump battery level [%] + Status lights + Copy settings from NS + + + ns_client_autoscroll + ns_client_paused + ns_log_app_started_event + + NSCLIENT has no write permission. Wrong API secret? + NSClientV3 + NSV3 + NSClient + NSCI + URL: + Autoscroll + Restart + NSClient + Nightscout URL + Enter Your Nightscout URL + NS API secret + NS API secret + Enter NS API secret (min 12 chars) + NS access token + NS access token + Access token generated on NS admin page (min 17 chars) + Deliver now + Clear queue + Show queue + Queue: + Status: + Clear log + Full synchronization + Full synchronization? It may take many hours and until finish you\'ll not see new data in NS. + Synchronization + ns_upload + Profiles, boluses, carbs, temporary basals are uploaded to NS + Upload data to NS + Receive profile store + Synchronize profiles from NS profile editor + Receive temporary targets + Accept temporary targets entered through NS or NSClient + Receive profile switches + Accept profile switches entered through NS or NSClient + Receive APS offline events + Accept APS Offline events entered through NS or NSClient + Receive TBR and EB + Accept TBR and EB entered through another instance + Receive insulin + Accept insulin entered through NS or NSClient (it\'s not delivered, only calculated towards IOB) + Receive carbs + Accept carbs entered through NS or NSClient + ns_receive_tbr_eb + Receive therapy events + Accept therapy events (cannula, insulin, battery change etc) entered through NS or NSClient + ns_receive_cgm + Receive/backfill CGM data + Accept CGM data from NS + Run %s? + Slow down uploads + Alarm options + ns_announcements + ns_alarms + ns_alarm_stale_data_value + ns_alarm_urgent_stale_data_value + Create notifications from NS alarms + Create notifications from NS announcements + Stale data threshold [min] + Urgent stale data threshold [min] + Log app start to NS + Enable broadcasts to other apps (like xDrip+). Do not enable if you have more than one instance of AAPS or AAPSClient installed! + Enable local Broadcasts. + + + tidepool_username + tidepool_password + tidepool_dev_servers + tidepool_test_login + tidepool_only_while_charging + tidepool_only_while_unmetered + tidepool_last_end + tidepool_upload_profile + tidepool_upload_tbr + tidepool_upload_cgm + tidepool_upload_bolus + tidepool_upload_bg + + Your Tidepool login user name, normally your email address + Login User Name + Your Tidepool login password + Login Password + Test Tidepool Login + If enabled, uploads will go to https://int-app.tidepool.org instead of the regular https://app.tidepool.org/ + Use Integration (test) servers + Tidepool + TDP + Uploads data to Tidepool + Upload CGM data + Upload treatments (insulin, carbs) + Upload temporary basals + Upload profile switches, temp targets + Upload BG tests + Remove all + Reset start + + + virtualpump_uploadstatus + Virtual Pump Type + Pump Definition + Bolus: Step=%1$s\nExtended Bolus: [Step=%2$s, Duration=%3$smin-%4$sh]\nBasal: Step=%5$s\nTBR: %6$s (by %7$s), Duration=%8$smin-%9$sh\n%10$s + + Virtual Pump + VPUMP + Pump integration for pumps which don\'t have any driver yet (Open Loop) + VIRTUAL PUMP + Virtual pump settings + Upload status to NS + + + dexcomg5_nsupload + + NSClient BG + NS BG + Downloads BG data from Nightscout + xDrip+ + Receive BG values from xDrip+. + BYODA + BYODA + Receive BG values from the \'Build Your Own Dexcom App\'. + Eversense App (patched) + EVR + Receive BG values from the patched Eversense app. + Glimp + Receive BG values from Glimp. + MM640g + Receive BG values from the 600SeriesAndroidUploader. + Poctech + Receive BG values from Poctech app + Glunovo + Receive values from Glunovo app + Intelligo + Receive values from Intelligo app + Tomato (MiaoMiao) + Tomato + Receive BG values from Tomato app (MiaoMiao device) + GlucoRx Aidex + Aidex + Receive BG values from GlucoRx Aidex CGMS. + + Send BG data to xDrip+ + In xDrip+ select 640g/Eversense data source + Upload BG data to NS + BG upload settings + + + ns_temporary_target_last_sync + ns_glucose_value_last_sync + ns_food_last_sync + ns_therapy_event_last_sync + ns_bolus_calculator_result_last_synced_id + ns_carbs_last_synced_id + ns_bolus_last_synced_id + ns_device_status_last_synced_id + ns_temporary_basal_last_synced_id + ns_extended_bolus_last_synced_id + profile_switch_last_synced_id + ns_effective_profile_switch_last_synced_id + ns_offline_event_last_synced_id + ns_profile_store_last_synced_timestamp + ns_sync_slow + nsclient_token + key_ns_client_v3_last_modified + ns_create_announcements_from_carbs_req + ns_cellular + ns_wifi + ns_wifi_ssids + ns_allow_roaming + ns_battery + ns_charging + snoozedTo + + Use Cellular connection + Use WiFi connection + WiFi SSID + During charging + On battery + Connection settings + Allowed SSIDs (semicolon separated) + Allow connection in roaming + Create announcements from errors + Create announcements from carbs required alerts + Create Nightscout announcement for error dialogs and local alerts (also viewable in Careportal under Treatments) + Create Nightscout announcements for carbs required alerts + Synchronizes your data with Nightscout + Synchronizes your data with Nightscout using v3 API + Blocked by charging options + Blocked by connectivity options + Unsupported version of Nightscout + OAPS + UPLD + NSClient malfunction. Consider NS and NSClient restart. + + + ObjectivesbgIsAvailableInNS + ObjectivespumpStatusIsAvailableInNS \ No newline at end of file diff --git a/app/src/main/res/xml/pref_bgsource.xml b/plugins/src/main/res/xml/pref_bgsource.xml similarity index 100% rename from app/src/main/res/xml/pref_bgsource.xml rename to plugins/src/main/res/xml/pref_bgsource.xml diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/plugins/src/main/res/xml/pref_ns_client.xml similarity index 85% rename from app/src/main/res/xml/pref_nsclientinternal.xml rename to plugins/src/main/res/xml/pref_ns_client.xml index fff4e93e93..9f7cd5160a 100644 --- a/app/src/main/res/xml/pref_nsclientinternal.xml +++ b/plugins/src/main/res/xml/pref_ns_client.xml @@ -4,25 +4,25 @@ xmlns:validate="http://schemas.android.com/apk/res-auto"> @@ -30,7 +30,7 @@ android:dialogMessage="@string/nsclient_token_dialog_message" android:dialogTitle="@string/nsclient_token_dialog_title" android:inputType="textPassword" - android:key="@string/key_nsclient_token" + android:key="@string/key_ns_client_token" android:title="@string/nsclient_token_title" validate:minLength="17" validate:testType="minLength"/> @@ -107,8 +107,8 @@ > + android:key="@string/ns_alarm_options" + android:title="@string/ns_alarm_options"> @@ -135,11 +135,11 @@ android:defaultValue="31" android:digits="0123456789" android:inputType="number" - android:key="@string/key_nsalarm_urgent_staledatavalue" + android:key="@string/key_ns_alarm_urgent_stale_data_value" android:maxLines="20" android:selectAllOnFocus="true" android:singleLine="true" - android:title="@string/nsalarm_urgent_staledatavalue_label" + android:title="@string/ns_alarm_urgent_stale_data_value_label" validate:maxNumber="180" validate:minNumber="30" validate:testType="numericRange" /> @@ -147,8 +147,8 @@ + android:key="@string/connection_settings_title" + android:title="@string/connection_settings_title"> + android:title="@string/ns_allow_roaming" /> + android:summary="@string/ns_local_broadcasts" + android:title="@string/ns_local_broadcasts_title" /> + android:title="@string/smscommunicator_remote_commands_allowed" /> @@ -45,8 +45,8 @@ + android:summary="@string/smscommunicator_report_pump_unreachable_summary" + android:title="@string/smscommunicator_pump_unreachable" /> diff --git a/app/src/main/res/xml/pref_tidepool.xml b/plugins/src/main/res/xml/pref_tidepool.xml similarity index 100% rename from app/src/main/res/xml/pref_tidepool.xml rename to plugins/src/main/res/xml/pref_tidepool.xml diff --git a/app/src/main/res/xml/pref_virtualpump.xml b/plugins/src/main/res/xml/pref_virtual_pump.xml similarity index 86% rename from app/src/main/res/xml/pref_virtualpump.xml rename to plugins/src/main/res/xml/pref_virtual_pump.xml index ad1e0344fa..97212112a2 100644 --- a/app/src/main/res/xml/pref_virtualpump.xml +++ b/plugins/src/main/res/xml/pref_virtual_pump.xml @@ -12,11 +12,11 @@ android:entries="@array/virtualPumpTypes" android:entryValues="@array/virtualPumpTypes" android:key="@string/key_virtualpump_type" - android:title="@string/virtualpump_type" /> + android:title="@string/virtual_pump_type" /> diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 3ef6e37b19..32b55291b1 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -173,81 +173,81 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { `when`(otp.name()).thenReturn("User") `when`(otp.checkOTP(anyString())).thenReturn(OneTimePasswordValidationResult.OK) - `when`(rh.gs(R.string.smscommunicator_remotecommandnotallowed)).thenReturn("Remote command is not allowed") + `when`(rh.gs(R.string.smscommunicator_remote_command_not_allowed)).thenReturn("Remote command is not allowed") `when`(rh.gs(R.string.sms_wrong_code)).thenReturn("Wrong code. Command cancelled.") `when`(rh.gs(R.string.sms_iob)).thenReturn("IOB:") `when`(rh.gs(R.string.sms_last_bg)).thenReturn("Last BG:") `when`(rh.gs(R.string.sms_min_ago)).thenReturn("%1\$dmin ago") - `when`(rh.gs(R.string.smscommunicator_remotecommandnotallowed)).thenReturn("Remote command is not allowed") - `when`(rh.gs(R.string.smscommunicator_stopsmswithcode)).thenReturn("To disable the SMS Remote Service reply with code %1\$s.\\n\\nKeep in mind that you\\'ll able to reactivate it directly from the AAPS master smartphone only.") + `when`(rh.gs(R.string.smscommunicator_remote_command_not_allowed)).thenReturn("Remote command is not allowed") + `when`(rh.gs(R.string.smscommunicator_stops_ns_with_code)).thenReturn("To disable the SMS Remote Service reply with code %1\$s.\\n\\nKeep in mind that you\\'ll able to reactivate it directly from the AAPS master smartphone only.") `when`(rh.gs(R.string.smscommunicator_meal_bolus_reply_with_code)).thenReturn("To deliver meal bolus %1$.2fU reply with code %2\$s.") - `when`(rh.gs(R.string.smscommunicator_temptargetwithcode)).thenReturn("To set the Temp Target %1\$s reply with code %2\$s") - `when`(rh.gs(R.string.smscommunicator_temptargetcancel)).thenReturn("To cancel Temp Target reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_stoppedsms)).thenReturn("SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone.") + `when`(rh.gs(R.string.smscommunicator_temptarget_with_code)).thenReturn("To set the Temp Target %1\$s reply with code %2\$s") + `when`(rh.gs(R.string.smscommunicator_temptarget_cancel)).thenReturn("To cancel Temp Target reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_stopped_sms)).thenReturn("SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone.") `when`(rh.gs(R.string.smscommunicator_tt_set)).thenReturn("Target %1\$s for %2\$d minutes set successfully") `when`(rh.gs(R.string.smscommunicator_tt_canceled)).thenReturn("Temp Target canceled successfully") `when`(rh.gs(R.string.sms_loop_suspended_for)).thenReturn("Suspended (%1\$d m)") `when`(rh.gs(R.string.loopisdisabled)).thenReturn("Loop is disabled") - `when`(rh.gs(R.string.smscommunicator_loopisenabled)).thenReturn("Loop is enabled") + `when`(rh.gs(R.string.smscommunicator_loop_is_enabled)).thenReturn("Loop is enabled") `when`(rh.gs(R.string.wrong_format)).thenReturn("Wrong format") `when`(rh.gs(eq(R.string.sms_wrong_tbr_duration), ArgumentMatchers.any())).thenAnswer { i: InvocationOnMock -> "TBR duration must be a multiple of " + i.arguments[1] + " minutes and greater than " + "0." } - `when`(rh.gs(R.string.smscommunicator_loophasbeendisabled)).thenReturn("Loop has been disabled") - `when`(rh.gs(R.string.smscommunicator_loophasbeenenabled)).thenReturn("Loop has been enabled") - `when`(rh.gs(R.string.smscommunicator_tempbasalcanceled)).thenReturn("Temp basal canceled") - `when`(rh.gs(R.string.smscommunicator_loopresumed)).thenReturn("Loop resumed") - `when`(rh.gs(R.string.smscommunicator_wrongduration)).thenReturn("Wrong duration") - `when`(rh.gs(R.string.smscommunicator_suspendreplywithcode)).thenReturn("To suspend loop for %1\$d minutes reply with code %2\$s") - `when`(rh.gs(R.string.smscommunicator_loopsuspended)).thenReturn("Loop suspended") - `when`(rh.gs(R.string.smscommunicator_unknowncommand)).thenReturn("Unknown command or wrong reply") + `when`(rh.gs(R.string.smscommunicator_loop_has_been_disabled)).thenReturn("Loop has been disabled") + `when`(rh.gs(R.string.smscommunicator_loop_has_been_enabled)).thenReturn("Loop has been enabled") + `when`(rh.gs(R.string.smscommunicator_tempbasal_canceled)).thenReturn("Temp basal canceled") + `when`(rh.gs(R.string.smscommunicator_loop_resumed)).thenReturn("Loop resumed") + `when`(rh.gs(R.string.smscommunicator_wrong_duration)).thenReturn("Wrong duration") + `when`(rh.gs(R.string.smscommunicator_suspend_reply_with_code)).thenReturn("To suspend loop for %1\$d minutes reply with code %2\$s") + `when`(rh.gs(R.string.smscommunicator_loop_suspended)).thenReturn("Loop suspended") + `when`(rh.gs(R.string.smscommunicator_unknown_command)).thenReturn("Unknown command or wrong reply") `when`(rh.gs(R.string.notconfigured)).thenReturn("Not configured") - `when`(rh.gs(R.string.smscommunicator_profilereplywithcode)).thenReturn("To switch profile to %1\$s %2\$d%% reply with code %3\$s") + `when`(rh.gs(R.string.smscommunicator_profile_reply_with_code)).thenReturn("To switch profile to %1\$s %2\$d%% reply with code %3\$s") `when`(rh.gs(R.string.sms_profile_switch_created)).thenReturn("Profile switch created") - `when`(rh.gs(R.string.smscommunicator_basalstopreplywithcode)).thenReturn("To stop temp basal reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_basalpctreplywithcode)).thenReturn("To start basal %1\$d%% for %2\$d min reply with code %3\$s") - `when`(rh.gs(R.string.smscommunicator_tempbasalset_percent)).thenReturn("Temp basal %1\$d%% for %2\$d min started successfully") - `when`(rh.gs(R.string.smscommunicator_basalreplywithcode)).thenReturn("To start basal %1$.2fU/h for %2\$d min reply with code %3\$s") - `when`(rh.gs(R.string.smscommunicator_tempbasalset)).thenReturn("Temp basal %1$.2fU/h for %2\$d min started successfully") - `when`(rh.gs(R.string.smscommunicator_extendedstopreplywithcode)).thenReturn("To stop extended bolus reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_extendedcanceled)).thenReturn("Extended bolus canceled") - `when`(rh.gs(R.string.smscommunicator_extendedreplywithcode)).thenReturn("To start extended bolus %1$.2fU for %2\$d min reply with code %3\$s") - `when`(rh.gs(R.string.smscommunicator_extendedset)).thenReturn("Extended bolus %1$.2fU for %2\$d min started successfully") + `when`(rh.gs(R.string.smscommunicator_basal_stop_reply_with_code)).thenReturn("To stop temp basal reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_basal_pct_reply_with_code)).thenReturn("To start basal %1\$d%% for %2\$d min reply with code %3\$s") + `when`(rh.gs(R.string.smscommunicator_tempbasal_set_percent)).thenReturn("Temp basal %1\$d%% for %2\$d min started successfully") + `when`(rh.gs(R.string.smscommunicator_basal_reply_with_code)).thenReturn("To start basal %1$.2fU/h for %2\$d min reply with code %3\$s") + `when`(rh.gs(R.string.smscommunicator_tempbasal_set)).thenReturn("Temp basal %1$.2fU/h for %2\$d min started successfully") + `when`(rh.gs(R.string.smscommunicator_extended_stop_reply_with_code)).thenReturn("To stop extended bolus reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_extended_canceled)).thenReturn("Extended bolus canceled") + `when`(rh.gs(R.string.smscommunicator_extended_reply_with_code)).thenReturn("To start extended bolus %1$.2fU for %2\$d min reply with code %3\$s") + `when`(rh.gs(R.string.smscommunicator_extended_set)).thenReturn("Extended bolus %1$.2fU for %2\$d min started successfully") `when`(rh.gs(R.string.smscommunicator_bolus_reply_with_code)).thenReturn("To deliver bolus %1$.2fU reply with code %2\$s") - `when`(rh.gs(R.string.smscommunicator_bolusdelivered)).thenReturn("Bolus %1$.2fU delivered successfully") - `when`(rh.gs(R.string.smscommunicator_remotebolusnotallowed)).thenReturn("Remote bolus not available. Try again later.") - `when`(rh.gs(R.string.smscommunicator_calibrationreplywithcode)).thenReturn("To send calibration %1$.2f reply with code %2\$s") - `when`(rh.gs(R.string.smscommunicator_calibrationsent)).thenReturn("Calibration sent. Receiving must be enabled in xDrip.") - `when`(rh.gs(R.string.smscommunicator_carbsreplywithcode)).thenReturn("To enter %1\$dg at %2\$s reply with code %3\$s") - `when`(rh.gs(R.string.smscommunicator_carbsset)).thenReturn("Carbs %1\$dg entered successfully") + `when`(rh.gs(R.string.smscommunicator_bolus_delivered)).thenReturn("Bolus %1$.2fU delivered successfully") + `when`(rh.gs(R.string.smscommunicator_remote_bolus_not_allowed)).thenReturn("Remote bolus not available. Try again later.") + `when`(rh.gs(R.string.smscommunicator_calibration_reply_with_code)).thenReturn("To send calibration %1$.2f reply with code %2\$s") + `when`(rh.gs(R.string.smscommunicator_calibration_sent)).thenReturn("Calibration sent. Receiving must be enabled in xDrip.") + `when`(rh.gs(R.string.smscommunicator_carbs_reply_with_code)).thenReturn("To enter %1\$dg at %2\$s reply with code %3\$s") + `when`(rh.gs(R.string.smscommunicator_carbs_set)).thenReturn("Carbs %1\$dg entered successfully") `when`(rh.gs(R.string.noprofile)).thenReturn("No profile loaded from NS yet") `when`(rh.gs(R.string.pumpsuspended)).thenReturn("Pump suspended") `when`(rh.gs(R.string.sms_delta)).thenReturn("Delta:") `when`(rh.gs(R.string.sms_bolus)).thenReturn("Bolus:") `when`(rh.gs(R.string.sms_basal)).thenReturn("Basal:") `when`(rh.gs(R.string.cob)).thenReturn("COB") - `when`(rh.gs(R.string.smscommunicator_mealbolusdelivered)).thenReturn("Meal Bolus %1\$.2fU delivered successfully") - `when`(rh.gs(R.string.smscommunicator_mealbolusdelivered_tt)).thenReturn("Target %1\$s for %2\$d minutes") + `when`(rh.gs(R.string.smscommunicator_meal_bolus_delivered)).thenReturn("Meal Bolus %1\$.2fU delivered successfully") + `when`(rh.gs(R.string.smscommunicator_meal_bolus_delivered_tt)).thenReturn("Target %1\$s for %2\$d minutes") `when`(rh.gs(R.string.sms_actual_bg)).thenReturn("BG:") `when`(rh.gs(R.string.sms_last_bg)).thenReturn("Last BG:") - `when`(rh.gs(R.string.smscommunicator_loopdisablereplywithcode)).thenReturn("To disable loop reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_loopenablereplywithcode)).thenReturn("To enable loop reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_loopresumereplywithcode)).thenReturn("To resume loop reply with code %1\$s") - `when`(rh.gs(R.string.smscommunicator_pumpdisconnectwithcode)).thenReturn("To disconnect pump for %1d minutes reply with code %2\$s") - `when`(rh.gs(R.string.smscommunicator_pumpconnectwithcode)).thenReturn("To connect pump reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_loop_disable_reply_with_code)).thenReturn("To disable loop reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_loop_enable_reply_with_code)).thenReturn("To enable loop reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_loop_resume_reply_with_code)).thenReturn("To resume loop reply with code %1\$s") + `when`(rh.gs(R.string.smscommunicator_pump_disconnect_with_code)).thenReturn("To disconnect pump for %1d minutes reply with code %2\$s") + `when`(rh.gs(R.string.smscommunicator_pump_connect_with_code)).thenReturn("To connect pump reply with code %1\$s") `when`(rh.gs(R.string.smscommunicator_reconnect)).thenReturn("Pump reconnected") - `when`(rh.gs(R.string.smscommunicator_pumpconnectfail)).thenReturn("Connection to pump failed") - `when`(rh.gs(R.string.smscommunicator_pumpdisconnected)).thenReturn("Pump disconnected") + `when`(rh.gs(R.string.smscommunicator_pump_connect_fail)).thenReturn("Connection to pump failed") + `when`(rh.gs(R.string.smscommunicator_pump_disconnected)).thenReturn("Pump disconnected") `when`(rh.gs(R.string.smscommunicator_code_from_authenticator_for)).thenReturn("from Authenticator app for: %1\$s followed by PIN") `when`(rh.gs(R.string.patient_name_default)).thenReturn("User") `when`(rh.gs(R.string.invalidprofile)).thenReturn("Invalid profile !!!") `when`(rh.gs(R.string.sms)).thenReturn("SMS") `when`(rh.gsNotLocalised(R.string.loopsuspended)).thenReturn("Loop suspended") - `when`(rh.gsNotLocalised(R.string.smscommunicator_stoppedsms)).thenReturn("SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone.") + `when`(rh.gsNotLocalised(R.string.smscommunicator_stopped_sms)).thenReturn("SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone.") `when`(rh.gsNotLocalised(R.string.sms_profile_switch_created)).thenReturn("Profile switch created") - `when`(rh.gsNotLocalised(R.string.smscommunicator_tempbasalcanceled)).thenReturn("Temp basal canceled") - `when`(rh.gsNotLocalised(R.string.smscommunicator_calibrationsent)).thenReturn("Calibration sent. Receiving must be enabled in xDrip+.") + `when`(rh.gsNotLocalised(R.string.smscommunicator_tempbasal_canceled)).thenReturn("Temp basal canceled") + `when`(rh.gsNotLocalised(R.string.smscommunicator_calibration_sent)).thenReturn("Calibration sent. Receiving must be enabled in xDrip+.") `when`(rh.gsNotLocalised(R.string.smscommunicator_tt_canceled)).thenReturn("Temp Target canceled successfully") } diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt similarity index 96% rename from app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt rename to plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 660339d5f3..9d5eceb551 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -1,19 +1,19 @@ -package info.nightscout.androidaps.plugins.pump.virtual +package info.nightscout.plugins.pump.virtual import dagger.android.AndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.defs.PumpType -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt b/plugins/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt similarity index 98% rename from app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt rename to plugins/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt index f70a6aa7a1..9d3635d528 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt @@ -1,13 +1,13 @@ -package info.nightscout.androidaps.plugins.sync.nsclient +package info.nightscout.plugins.sync.nsclient import android.content.Context -import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt b/plugins/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt similarity index 80% rename from app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt rename to plugins/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt index 4d9f61fbe0..2d6175f3c0 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sync/tidepool/comm/SessionTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.sync.tidepool.comm +package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.plugins.sync.tidepool.messages.AuthReplyMessage -import info.nightscout.androidaps.plugins.sync.tidepool.messages.DatasetReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.AuthReplyMessage +import info.nightscout.plugins.sync.tidepool.messages.DatasetReplyMessage import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.Test diff --git a/pump/combo/src/main/res/layout/combopump_fragment.xml b/pump/combo/src/main/res/layout/combopump_fragment.xml index c8a812f256..e3b957c15a 100644 --- a/pump/combo/src/main/res/layout/combopump_fragment.xml +++ b/pump/combo/src/main/res/layout/combopump_fragment.xml @@ -317,7 +317,7 @@ android:layout_weight="1.5" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/basebasalrate_label" + android:text="@string/base_basal_rate_label" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/pump/dana/src/main/res/layout/danar_fragment.xml b/pump/dana/src/main/res/layout/danar_fragment.xml index af8086bb8d..fbc1d8814d 100644 --- a/pump/dana/src/main/res/layout/danar_fragment.xml +++ b/pump/dana/src/main/res/layout/danar_fragment.xml @@ -320,7 +320,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:paddingEnd="5dp" - android:text="@string/basebasalrate_label" + android:text="@string/base_basal_rate_label" android:textAlignment="viewEnd" android:textSize="14sp" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -416,7 +416,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:paddingEnd="5dp" - android:text="@string/virtualpump_extendedbolus_label" + android:text="@string/extended_bolus_label" android:textAlignment="viewEnd" android:textSize="14sp" tools:ignore="RtlSymmetry" /> diff --git a/pump/diaconn/src/main/res/layout/diaconn_g8_fragment.xml b/pump/diaconn/src/main/res/layout/diaconn_g8_fragment.xml index d7ed7049c7..3c82645cfd 100644 --- a/pump/diaconn/src/main/res/layout/diaconn_g8_fragment.xml +++ b/pump/diaconn/src/main/res/layout/diaconn_g8_fragment.xml @@ -348,7 +348,7 @@ android:layout_weight="1" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/basebasalrate_label" + android:text="@string/base_basal_rate_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -444,7 +444,7 @@ android:layout_weight="1" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/virtualpump_extendedbolus_label" + android:text="@string/extended_bolus_label" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/pump/medtronic/src/main/res/layout/medtronic_fragment.xml b/pump/medtronic/src/main/res/layout/medtronic_fragment.xml index 5af824b5c9..fe7d62f235 100644 --- a/pump/medtronic/src/main/res/layout/medtronic_fragment.xml +++ b/pump/medtronic/src/main/res/layout/medtronic_fragment.xml @@ -360,7 +360,7 @@ android:layout_weight="1.5" android:textAlignment="viewEnd" android:paddingEnd="5dp" - android:text="@string/basebasalrate_label" + android:text="@string/base_basal_rate_label" android:textSize="14sp" tools:ignore="RtlSymmetry" /> diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index d05a24345a..d70869f9d6 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -43,7 +43,6 @@ %1$s ISF: %2$.1f %1$.1fg IC: %2$.1f %1$.0fg IC: %2$.1f - %1$d%% Superbolus Total @@ -51,7 +50,6 @@ No records available Calc IOB: - INVALID Insulin: Carbs: Total IOB: From f43e0902966cfcde02e6179ee1711652ed278363 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 8 Nov 2022 21:17:46 +0100 Subject: [PATCH 022/123] move more to interfaces module --- .../nightscout/androidaps/MainActivity.kt | 4 +- .../info/nightscout/androidaps/MainApp.kt | 4 +- .../activities/MyPreferenceFragment.kt | 2 +- .../activities/SingleFragmentActivity.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 8 +- .../androidaps/di/PluginsListModule.kt | 2 +- .../androidaps/dialogs/ExtendedBolusDialog.kt | 2 +- .../androidaps/dialogs/FillDialog.kt | 2 +- .../androidaps/dialogs/InsulinDialog.kt | 4 +- .../androidaps/dialogs/LoopDialog.kt | 10 +- .../androidaps/dialogs/TempBasalDialog.kt | 4 +- .../androidaps/dialogs/TempTargetDialog.kt | 2 +- .../androidaps/dialogs/TreatmentDialog.kt | 2 +- .../androidaps/dialogs/WizardDialog.kt | 4 +- .../plugins/aps/loop/LoopFragment.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 6 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 2 +- .../configBuilder/ConfigBuilderFragment.kt | 5 +- .../configBuilder/ConfigBuilderPlugin.kt | 6 +- .../plugins/configBuilder/PluginStore.kt | 8 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../objectives/ObjectivesPlugin.kt | 4 +- .../objectives/objectives/Objective0.kt | 2 +- .../objectives/objectives/Objective5.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 6 +- .../plugins/general/actions/ActionsPlugin.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../maintenance/ImportExportPrefsImpl.kt | 2 +- .../maintenance/MaintenanceFragment.kt | 2 +- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 8 +- .../general/overview/OverviewPlugin.kt | 4 +- .../general/overview/StatusLightHandler.kt | 2 +- .../general/overview/graphData/GraphData.kt | 2 +- .../PersistentNotificationPlugin.kt | 4 +- .../plugins/general/wear/WearPlugin.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 6 +- .../IobCobCalculatorPlugin.kt | 2 +- .../sensitivity/AbstractSensitivityPlugin.kt | 2 +- .../androidaps/plugins/source/AidexPlugin.kt | 2 +- .../androidaps/plugins/source/DexcomPlugin.kt | 2 +- .../plugins/source/EversensePlugin.kt | 2 +- .../androidaps/plugins/source/GlimpPlugin.kt | 2 +- .../plugins/source/GlunovoPlugin.kt | 2 +- .../plugins/source/IntelligoPlugin.kt | 2 +- .../androidaps/plugins/source/MM640gPlugin.kt | 2 +- .../plugins/source/PoctechPlugin.kt | 2 +- .../plugins/source/RandomBgPlugin.kt | 2 +- .../androidaps/plugins/source/TomatoPlugin.kt | 2 +- .../androidaps/plugins/source/XdripPlugin.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 4 +- .../elements/SWEditNumberWithUnits.kt | 2 +- .../setupwizard/elements/SWPlugin.kt | 2 +- .../NotificationHolderImpl.kt | 2 +- .../resources/IconsProviderImplementation.kt | 2 +- .../androidaps/utils/tabs/TabPageAdapter.kt | 4 +- .../androidaps/utils/wizard/BolusWizard.kt | 6 +- .../utils/wizard/QuickWizardEntry.kt | 2 +- .../workflow/PrepareBgDataWorker.kt | 2 +- .../workflow/PrepareTreatmentsDataWorker.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../interfaces/ConstraintsCheckerTest.kt | 3 + .../plugins/aps/loop/LoopPluginTest.kt | 2 +- .../objectives/ObjectivesPluginTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 4 +- .../utils/wizard/BolusWizardTest.kt | 6 +- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 4 +- .../automation/actions/ActionLoopResume.kt | 2 +- .../actions/ActionStartTempTarget.kt | 2 +- .../nightscout/automation/elements/InputBg.kt | 2 +- .../automation/elements/InputTempTarget.kt | 2 +- .../automation/triggers/TriggerBg.kt | 2 +- .../automation/triggers/TriggerDelta.kt | 2 +- .../triggers/TriggerTempTargetValue.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../automation/AutomationEventTest.kt | 2 +- .../actions/ActionCarePortalEventTest.kt | 2 +- .../actions/ActionStartTempTargetTest.kt | 2 +- .../automation/actions/ActionsTestBase.kt | 8 +- .../automation/elements/InputBgTest.kt | 2 +- .../elements/InputTempTargetTest.kt | 2 +- .../automation/triggers/TriggerBgTest.kt | 2 +- .../automation/triggers/TriggerDeltaTest.kt | 2 +- .../triggers/TriggerTempTargetValueTest.kt | 2 +- .../DaggerAppCompatActivityWithResult.kt | 2 +- .../androidaps/data/DetailedBolusInfo.kt | 2 +- .../androidaps/data/ProfileSealed.kt | 2 +- .../nightscout/androidaps/data/PureProfile.kt | 2 +- .../extensions/GlucoseValueExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 2 +- .../extensions/PumpTypeExtension.kt | 121 ++++++++++++ .../extensions/TemporaryTargetExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 2 +- .../androidaps/interfaces/ActivePlugin.kt | 4 + .../androidaps/interfaces/Constraints.kt | 1 + .../nightscout/androidaps/interfaces/Loop.kt | 1 + .../androidaps/interfaces/Profile.kt | 1 + .../androidaps/interfaces/ProfileFunction.kt | 1 + .../nightscout/androidaps/interfaces/Pump.kt | 5 +- .../androidaps/interfaces/PumpPluginBase.kt | 1 + .../androidaps/interfaces/PumpSync.kt | 2 +- .../androidaps/plugins/aps/loop/APSResult.kt | 4 +- .../versionChecker/VersionCheckerUtils.kt | 1 + .../graphExtensions/GlucoseValueDataPoint.kt | 2 +- .../InMemoryGlucoseValueDataPoint.kt | 2 +- .../androidaps/utils/DefaultValueHelper.kt | 2 +- .../utils/ui/TargetBgProfileGraph.kt | 2 +- .../userEntry/UserEntryPresentationHelper.kt | 36 ++-- core/src/main/res/values/strings.xml | 3 - .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../androidaps/data/ConstraintTest.kt | 2 +- .../nightscout/androidaps/data/ProfileTest.kt | 2 +- .../interfaces/PumpDescriptionTest.kt | 3 +- .../plugins/aps/loop/APSResultTest.kt | 4 +- .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/BolusTimerImpl.kt | 2 +- .../implementation/CarbTimerImpl.kt | 2 +- .../implementation/XDripBroadcastImpl.kt | 2 +- .../constraints/ConstraintsImpl.kt | 2 +- .../pump/PumpSyncImplementation.kt | 7 +- .../queue/CommandQueueImplementation.kt | 2 +- .../queue/commands/CommandLoadEvents.kt | 2 +- .../queue/commands/CommandLoadHistory.kt | 2 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../queue/commands/CommandSetUserSettings.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../implementation/BolusTimerImplTest.kt | 2 +- .../implementation/CarbTimerImplTest.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 2 +- .../implementation/queue/QueueThreadTest.kt | 4 +- .../pump/insight/LocalInsightPlugin.java | 6 +- interfaces/build.gradle | 3 +- .../nightscout}/interfaces/ConfigBuilder.kt | 4 +- .../info/nightscout}/interfaces/Constraint.kt | 2 +- .../java/info/nightscout}/interfaces/Dana.kt | 2 +- .../nightscout}/interfaces/GlucoseUnit.kt | 4 +- .../nightscout}/interfaces/IconsProvider.kt | 2 +- .../interfaces/ImportExportPrefs.kt | 2 +- .../info/nightscout}/interfaces/NsClient.kt | 2 +- .../info/nightscout}/interfaces/Overview.kt | 3 +- .../info/nightscout}/interfaces/PluginBase.kt | 4 +- .../nightscout}/interfaces/PluginFragment.kt | 2 +- .../info/nightscout/interfaces/PluginType.kt | 2 +- .../java/info/nightscout}/interfaces/Sync.kt | 2 +- .../versionChecker/AllowedVersions.kt | 2 +- .../interfaces/pump}/PumpDescription.kt | 6 +- .../nightscout/interfaces/pump}/PumpType.kt | 177 ++++++------------ interfaces/src/main/res/values/strings.xml | 3 + .../general/openhumans/OpenHumansUploader.kt | 2 +- .../configBuilder/RunningConfiguration.kt | 6 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 4 +- .../constraints/dstHelper/DstHelperPlugin.kt | 4 +- .../phoneChecker/PhoneCheckerPlugin.kt | 2 +- .../SignatureVerifierPlugin.kt | 4 +- .../storage/StorageConstraintPlugin.kt | 4 +- .../versionChecker/VersionCheckerPlugin.kt | 4 +- .../general/autotune/AutotuneFragment.kt | 2 +- .../general/autotune/AutotunePlugin.kt | 2 +- .../general/autotune/data/ATProfile.kt | 2 +- .../plugins/general/food/FoodPlugin.kt | 2 +- .../notifications/NotificationStore.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 6 +- .../general/themes/ThemeSwitcherPlugin.kt | 2 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 4 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 4 +- .../plugins/source/BGSourceFragment.kt | 2 +- .../plugins/source/NSClientSourcePlugin.kt | 2 +- .../plugins/sync/nsShared/NSClientFragment.kt | 6 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 2 +- .../nsShared/events/EventNSClientNewLog.kt | 2 +- .../nsShared/events/EventNSClientStatus.kt | 2 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 6 +- .../nsclient/data/NSDeviceStatusHandler.kt | 2 +- .../EffectiveProfileSwitchExtension.kt | 2 +- .../extensions/TemporaryTargetExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 2 +- .../sync/nsclient/services/NSClientService.kt | 2 +- .../nsclient/workers/NSClientAddAckWorker.kt | 2 +- .../workers/NSClientUpdateRemoveAckWorker.kt | 2 +- .../sync/nsclientV3/NSClientV3Plugin.kt | 6 +- .../sync/nsclientV3/workers/LoadBgWorker.kt | 2 +- .../workers/LoadDeviceStatusWorker.kt | 2 +- .../workers/LoadTreatmentsWorker.kt | 2 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../BgQualityCheckPluginTest.kt | 2 +- .../storage/StorageConstraintPluginTest.kt | 2 +- .../versionChecker/AllowedVersionsTest.kt | 2 +- .../general/autotune/AutotuneCoreTest.kt | 2 +- .../general/autotune/AutotunePrepTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 8 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 6 +- .../plugins/pump/combo/ComboPluginTest.kt | 2 +- .../androidaps/dana/DanaFragment.kt | 4 +- .../nightscout/androidaps/dana/DanaPump.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 2 +- .../activities/DanaUserOptionsActivity.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 4 +- .../services/DanaRKoreanExecutionService.java | 2 +- .../androidaps/danaRv2/DanaRv2Plugin.java | 4 +- .../danaRv2/comm/MsgHistoryEventsV2.kt | 2 +- .../services/DanaRv2ExecutionService.java | 2 +- .../androidaps/danar/AbstractDanaRPlugin.java | 6 +- .../androidaps/danar/DanaRPlugin.java | 5 +- .../androidaps/danar/comm/MessageBase.kt | 2 +- .../androidaps/danar/comm/MsgBolusStart.kt | 2 +- .../danar/comm/MsgBolusStartWithSpeed.kt | 2 +- .../danar/comm/MsgSetExtendedBolusStart.kt | 2 +- .../danar/services/DanaRExecutionService.java | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 2 +- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 2 +- .../pump/danaR/comm/MessageHashTableRTest.kt | 2 +- .../pump/danaR/comm/MsgBolusStartTest.kt | 2 +- .../danaR/comm/MsgBolusStartWithSpeedTest.kt | 2 +- .../comm/MsgSetExtendedBolusStartTest.kt | 2 +- .../pump/danaR/comm/MsgSettingBasalTest.kt | 2 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 2 +- .../comm/MessageHashTableRKoreanTest.kt | 2 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 2 +- .../danaRv2/comm/MessageHashTableRv2Test.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 8 +- .../comm/DanaRSPacketBolusSet24CIRCFArray.kt | 2 +- .../DanaRSPacketBolusSetStepBolusStart.kt | 2 +- .../androidaps/danars/DanaRSPluginTest.kt | 2 +- .../danars/comm/DanaRsMessageHashTableTest.kt | 2 +- .../DanaRsPacketBolusSetStepBolusStartTest.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 6 +- .../packet/BigLogInquireResponsePacket.kt | 4 +- .../BigMainInfoInquireResponsePacket.kt | 4 +- .../diaconn/service/DiaconnG8Service.kt | 2 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 4 +- .../pump/eopatch/alarm/AlarmManager.kt | 2 +- .../pump/eopatch/ble/PatchManager.java | 2 +- .../pump/eopatch/ble/PatchManagerImpl.java | 2 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 2 +- .../comm/MedtronicCommunicationManager.kt | 2 +- .../pump/medtronic/comm/MedtronicConverter.kt | 2 +- .../medtronic/data/MedtronicHistoryData.kt | 2 +- .../pump/medtronic/data/dto/BasalProfile.kt | 2 +- .../medtronic/driver/MedtronicPumpStatus.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 4 +- .../omnipod/dash/ui/DashPodHistoryActivity.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 2 +- .../pump/omnipod/dash/util/Functions.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 4 +- .../eros/manager/AapsOmnipodErosManager.java | 2 +- .../eros/ui/ErosPodHistoryActivity.java | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 4 +- .../plugins/pump/common/data/PumpStatus.kt | 2 +- .../plugins/pump/common/sync/PumpDbEntry.kt | 10 +- .../common/sync/PumpSyncEntriesCreator.java | 2 +- .../plugins/pump/common/utils/ProfileUtil.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../ui/defaultProfile/DefaultProfile.kt | 2 +- .../ui/defaultProfile/DefaultProfileDPV.kt | 2 +- .../ui/dialogs/CalibrationDialog.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 4 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 2 +- .../java/info/nightscout/ui/widget/Widget.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 4 +- .../ui/defaultProfile/DefaultProfileTest.kt | 2 +- 276 files changed, 589 insertions(+), 517 deletions(-) create mode 100644 core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/ConfigBuilder.kt (65%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Constraint.kt (98%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Dana.kt (89%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/GlucoseUnit.kt (70%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/IconsProvider.kt (65%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/ImportExportPrefs.kt (92%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/NsClient.kt (94%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Overview.kt (91%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/PluginBase.kt (96%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/PluginFragment.kt (55%) rename {core/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/Sync.kt (69%) rename {core/src/main/java/info/nightscout/androidaps/plugins => interfaces/src/main/java/info/nightscout/interfaces}/constraints/versionChecker/AllowedVersions.kt (95%) rename {core/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpDescription.kt (95%) rename {core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpType.kt (73%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index c32028af81..d7a3b07112 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -41,9 +41,9 @@ import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 0b49cf7551..7999cebb51 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -23,8 +23,8 @@ import info.nightscout.androidaps.database.transactions.VersionChangeTransaction import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector -import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 2ad9bdb92a..375a4db0d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader diff --git a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt index 404e9c2aa9..29a3d92568 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt @@ -6,7 +6,7 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.ProtectionCheck diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index b0f83d2931..9ee673a0f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -11,14 +11,14 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.IconsProvider -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.IconsProvider +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.TrendCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index cd1083e8e2..a879517549 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index fac792c765..45d260c25c 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index a92d423bb0..9896c9612b 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index a4920b99eb..a16c9cf0ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -24,9 +24,9 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index bc1bc5cb42..af9a28ce5f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -26,14 +26,14 @@ import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin @@ -191,7 +191,7 @@ class LoopDialog : DaggerDialogFragment() { binding.overviewReconnect.visibility = View.VISIBLE } - !(loop as PluginBase).isEnabled() -> { + !(loop as PluginBase).isEnabled() -> { binding.overviewLoop.visibility = View.VISIBLE binding.overviewEnable.visibility = View.VISIBLE binding.overviewDisable.visibility = View.GONE diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index d7db5e0fee..30babfb9fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index 769fb7ed12..cf5a27bff2 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTa import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogTemptargetBinding import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index aa0d2b94ba..3dce3b467d 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 2cf3e9cb6e..4848fdf97f 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -29,9 +29,9 @@ import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index 7eac530a47..ace1bb1bca 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -14,7 +14,7 @@ import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Loop import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index f8378616b5..b92011ad2d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -31,15 +31,15 @@ import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 22b462ee1f..2ab1bad396 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index d09b6c367f..cb2dee0959 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -9,11 +9,11 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 3f2f6ff8f3..506fe73044 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index fe6bae54a5..18c28bbf39 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -11,11 +11,11 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 54be09e70a..87acf2fde3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index 23335b1531..6592622cc3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -23,7 +23,7 @@ import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui @@ -135,7 +135,8 @@ class ConfigBuilderFragment : DaggerFragment() { inner class PluginViewHolder internal constructor(private val fragment: ConfigBuilderFragment, private val pluginType: PluginType, - private val plugin: PluginBase) { + private val plugin: PluginBase + ) { @Suppress("InflateParams") val baseView: LinearLayout = fragment.layoutInflater.inflate(R.layout.configbuilder_single_plugin, null) as LinearLayout diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 792c462992..494903f745 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index a800d7e8b1..6c8c218555 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -5,13 +5,13 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.Overview -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.interfaces.Sync import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.Safety diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 26604d33ed..4602046b05 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.transactions.InsertOrUpdateProfileSwitch import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index ab7f7ac337..4dcb5e0308 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.plugins.constraints.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt index f14f96218b..8adfac1242 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt index e570952c4a..5d2ef6aa1e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index 58aea81850..f1f0da7ed2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -11,14 +11,14 @@ import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index 62a3d26dd8..900e6745c0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.actions import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 71665179bf..6c92c637f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index c4d7ed5539..aa32565319 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -32,7 +32,7 @@ import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index b4688b4ec8..a16f2ff3bb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.insight.database.InsightDatabase import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index e1c3107515..4d4f1ba2e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -7,7 +7,7 @@ import androidx.core.content.FileProvider import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 6e2bbfe85e..13a468702b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -49,12 +49,12 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator @@ -68,7 +68,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewSensitivity import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index a7b175c6a3..cc9f7f862b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.extensions.putString import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString -import info.nightscout.androidaps.interfaces.Overview -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index c1ad2d89b3..1f05372d6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.plugins.sync.nsclient.extensions.age import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index 35e58e4ff0..76708ccbae 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -9,7 +9,7 @@ import com.jjoe64.graphview.series.LineGraphSeries import com.jjoe64.graphview.series.Series import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 84476757f5..e9ef441e86 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index f0ebe5f9b7..1c6f577901 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 5e339bb987..efde04f06b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -25,12 +25,12 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index fb9f250a26..a22318da4f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -22,7 +22,7 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index 27233787dd..f513893abd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index 5e8c7282d3..0d16097b67 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.interfaces.BuildHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index de50f72961..fcc9ba66a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index aff6747a98..48bf1c7e09 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index 76395f2cb3..a7563fd1b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index c1ed4e18d4..e23d50ac7b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index e937ddb23a..cf7c7c6c9c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index a63d38d541..08b9a9cafc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 36460da7f6..474ac21e5c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index 559c1a14e6..462fed8b35 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.BuildHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index 50399cad2a..d49f2f9c95 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 410b1266e7..787ab8bec8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 7619e086bc..0282023c88 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 823e98c983..3d3c4e1980 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt index b8a1520bda..249617102f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt @@ -7,7 +7,7 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.setupwizard.SWNumberValidator diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index 0f9afd9240..5083051cc7 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -9,7 +9,7 @@ import android.widget.RadioGroup import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt index 2ec4057baf..9ca879b894 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt @@ -10,7 +10,7 @@ import androidx.core.app.NotificationCompat import androidx.core.app.TaskStackBuilder import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt index fac0b48c0e..e8e72dc8cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils.resources import info.nightscout.androidaps.R import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.interfaces.IconsProvider import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt index 90d3bd65bd..eb3c6239cc 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.utils.tabs import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter -import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginFragment +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginFragment import java.util.* class TabPageAdapter(private val activity: AppCompatActivity) : FragmentStateAdapter(activity) { diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 437c732f7e..27c4e76709 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -23,14 +23,14 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index e47af141cf..d0ef9fb08c 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index e801c228c8..4754c975d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -6,7 +6,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index 91ba8bcf23..fb4d069430 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 526446dbf4..6d317c2037 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 944f21674a..534c4c313c 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -32,7 +32,10 @@ import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 1fda3795e0..f5987cef9f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt index 68e78b4bc4..6ac486a489 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index 4f60958f7c..bcbaa1a06b 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index e483228007..0e83d9f605 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -7,14 +7,14 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index e4974b0eae..bec9e6395c 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 9c92ee2893..e8b4121028 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 43ffb38316..fb691a50fa 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -5,9 +5,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index d7cf38427f..4a98b8105c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index ffc9af51db..012941df62 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt index ec3057b453..6a161e14f2 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt index c6bb945bee..391a54812e 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt index 2e6e2a9b04..6b18739c2e 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt index b06ba2d997..9b3ab2402e 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index 9bff4e0834..cf8ec87ac6 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -5,7 +5,7 @@ import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 1680787d1b..deebd4bb08 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -4,15 +4,15 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject diff --git a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt index 091c95c61e..529094192f 100644 --- a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.actions.Action diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt index fe60db4f81..39cef728f3 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.elements.InputCarePortalMenu import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt index 7973d30ed6..2232f77f26 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 8be9dca969..f0f8b5a72c 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -8,11 +8,11 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileSource diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt b/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt index c30f473d11..785a0d9d60 100644 --- a/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt +++ b/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.elements -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.triggers.TriggerTestBase import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt index 569a23d4b6..76c0b544da 100644 --- a/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt @@ -1,6 +1,6 @@ package info.nightscout.automation.elements -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.triggers.TriggerTestBase import org.junit.Assert import org.junit.Test diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt index 3e2565f11b..98296a35c1 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.elements.Comparator import org.json.JSONObject import org.junit.Assert diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt index cd09279d92..13ad7c396b 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDelta.DeltaType diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt index fe75e777a1..bbff8ede27 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import io.reactivex.rxjava3.core.Single diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index 6e1c050b97..90e2fe706f 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -6,7 +6,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt index 361278a03d..8fd8fcfaab 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.database.transactions.InsertOrUpdateBolusTransaction import info.nightscout.androidaps.database.transactions.InsertOrUpdateCarbsTransaction -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType class DetailedBolusInfo { diff --git a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index 3aaaee0120..07b27916c1 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.extensions.shiftTargetBlock import info.nightscout.androidaps.extensions.targetBlockValueBySeconds import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Profile.Companion.secondsFromMidnight import info.nightscout.androidaps.interfaces.Profile.Companion.toMgdl diff --git a/core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt b/core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt index bda738327c..cad67c56e7 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt +++ b/core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.data import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import org.json.JSONObject import java.util.* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index d5c3be00b7..808ae79d6f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.interfaces.Constants import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index fd5b58556f..8c41a81e4f 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.targetBlockFromJsonArray -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.interfaces.utils.JsonHelper diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt new file mode 100644 index 0000000000..d6b4c13d3b --- /dev/null +++ b/core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt @@ -0,0 +1,121 @@ +package info.nightscout.androidaps.extensions + +import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.androidaps.database.entities.UserEntry +import info.nightscout.interfaces.pump.PumpType + +fun PumpType.Companion.fromDbSource(s: UserEntry.Sources): PumpType.Source = + when (s) { + UserEntry.Sources.Dana -> PumpType.Source.Dana + UserEntry.Sources.DanaR -> PumpType.Source.DanaR + UserEntry.Sources.DanaRC -> PumpType.Source.DanaRC + UserEntry.Sources.DanaRv2 -> PumpType.Source.DanaRv2 + UserEntry.Sources.DanaRS -> PumpType.Source.DanaRS + UserEntry.Sources.DanaI -> PumpType.Source.DanaI + UserEntry.Sources.DiaconnG8 -> PumpType.Source.DiaconnG8 + UserEntry.Sources.Insight -> PumpType.Source.Insight + UserEntry.Sources.Combo -> PumpType.Source.Combo + UserEntry.Sources.Medtronic -> PumpType.Source.Medtronic + UserEntry.Sources.Omnipod -> PumpType.Source.Omnipod + UserEntry.Sources.OmnipodEros -> PumpType.Source.OmnipodEros + UserEntry.Sources.OmnipodDash -> PumpType.Source.OmnipodDash + UserEntry.Sources.EOPatch2 -> PumpType.Source.EOPatch2 + UserEntry.Sources.MDI -> PumpType.Source.MDI + UserEntry.Sources.VirtualPump -> PumpType.Source.VirtualPump + else -> PumpType.Source.Unknown + } + +fun PumpType.Companion.fromDbPumpType(pt: InterfaceIDs.PumpType): PumpType = + when (pt) { + InterfaceIDs.PumpType.GENERIC_AAPS -> PumpType.GENERIC_AAPS + InterfaceIDs.PumpType.CELLNOVO -> PumpType.CELLNOVO + InterfaceIDs.PumpType.ACCU_CHEK_COMBO -> PumpType.ACCU_CHEK_COMBO + InterfaceIDs.PumpType.ACCU_CHEK_SPIRIT -> PumpType.ACCU_CHEK_SPIRIT + InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT -> PumpType.ACCU_CHEK_INSIGHT_VIRTUAL + InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT_BLUETOOTH -> PumpType.ACCU_CHEK_INSIGHT + InterfaceIDs.PumpType.ACCU_CHEK_SOLO -> PumpType.ACCU_CHEK_SOLO + InterfaceIDs.PumpType.ANIMAS_VIBE -> PumpType.ANIMAS_VIBE + InterfaceIDs.PumpType.ANIMAS_PING -> PumpType.ANIMAS_PING + InterfaceIDs.PumpType.DANA_R -> PumpType.DANA_R + InterfaceIDs.PumpType.DANA_R_KOREAN -> PumpType.DANA_R_KOREAN + InterfaceIDs.PumpType.DANA_RS -> PumpType.DANA_RS + InterfaceIDs.PumpType.DANA_RS_KOREAN -> PumpType.DANA_RS_KOREAN + InterfaceIDs.PumpType.DANA_RV2 -> PumpType.DANA_RV2 + InterfaceIDs.PumpType.DANA_I -> PumpType.DANA_I + InterfaceIDs.PumpType.OMNIPOD_EROS -> PumpType.OMNIPOD_EROS + InterfaceIDs.PumpType.OMNIPOD_DASH -> PumpType.OMNIPOD_DASH + InterfaceIDs.PumpType.MEDTRONIC_512_517 -> PumpType.MEDTRONIC_512_712 + InterfaceIDs.PumpType.MEDTRONIC_515_715 -> PumpType.MEDTRONIC_515_715 + InterfaceIDs.PumpType.MEDTRONIC_522_722 -> PumpType.MEDTRONIC_522_722 + InterfaceIDs.PumpType.MEDTRONIC_523_723_REVEL -> PumpType.MEDTRONIC_523_723_REVEL + InterfaceIDs.PumpType.MEDTRONIC_554_754_VEO -> PumpType.MEDTRONIC_554_754_VEO + InterfaceIDs.PumpType.MEDTRONIC_640G -> PumpType.MEDTRONIC_640G + InterfaceIDs.PumpType.TANDEM_T_SLIM -> PumpType.TANDEM_T_SLIM + InterfaceIDs.PumpType.TANDEM_T_SLIM_G4 -> PumpType.TANDEM_T_SLIM_G4 + InterfaceIDs.PumpType.TANDEM_T_FLEX -> PumpType.TANDEM_T_FLEX + InterfaceIDs.PumpType.TANDEM_T_SLIM_X2 -> PumpType.TANDEM_T_SLIM_X2 + InterfaceIDs.PumpType.YPSOPUMP -> PumpType.YPSOPUMP + InterfaceIDs.PumpType.MDI -> PumpType.MDI + InterfaceIDs.PumpType.USER -> PumpType.USER + InterfaceIDs.PumpType.DIACONN_G8 -> PumpType.DIACONN_G8 + InterfaceIDs.PumpType.EOPATCH2 -> PumpType.EOFLOW_EOPATCH2 + InterfaceIDs.PumpType.CACHE -> PumpType.CACHE + } + +fun PumpType.Source.toDbSource(): UserEntry.Sources = + when (this) { + PumpType.Source.Dana -> UserEntry.Sources.Dana + PumpType.Source.DanaR -> UserEntry.Sources.DanaR + PumpType.Source.DanaRC -> UserEntry.Sources.DanaRC + PumpType.Source.DanaRv2 -> UserEntry.Sources.DanaRv2 + PumpType.Source.DanaRS -> UserEntry.Sources.DanaRS + PumpType.Source.DanaI -> UserEntry.Sources.DanaI + PumpType.Source.DiaconnG8 -> UserEntry.Sources.DiaconnG8 + PumpType.Source.Insight -> UserEntry.Sources.Insight + PumpType.Source.Combo -> UserEntry.Sources.Combo + PumpType.Source.Medtronic -> UserEntry.Sources.Medtronic + PumpType.Source.Omnipod -> UserEntry.Sources.Omnipod + PumpType.Source.OmnipodEros -> UserEntry.Sources.OmnipodEros + PumpType.Source.OmnipodDash -> UserEntry.Sources.OmnipodDash + PumpType.Source.EOPatch2 -> UserEntry.Sources.EOPatch2 + PumpType.Source.MDI -> UserEntry.Sources.MDI + PumpType.Source.VirtualPump -> UserEntry.Sources.VirtualPump + else -> UserEntry.Sources.Unknown + } + +fun PumpType.toDbPumpType(): InterfaceIDs.PumpType = + when (this) { + PumpType.GENERIC_AAPS -> InterfaceIDs.PumpType.GENERIC_AAPS + PumpType.CELLNOVO -> InterfaceIDs.PumpType.CELLNOVO + PumpType.ACCU_CHEK_COMBO -> InterfaceIDs.PumpType.ACCU_CHEK_COMBO + PumpType.ACCU_CHEK_SPIRIT -> InterfaceIDs.PumpType.ACCU_CHEK_SPIRIT + PumpType.ACCU_CHEK_INSIGHT_VIRTUAL -> InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT + PumpType.ACCU_CHEK_INSIGHT -> InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT_BLUETOOTH + PumpType.ACCU_CHEK_SOLO -> InterfaceIDs.PumpType.ACCU_CHEK_SOLO + PumpType.ANIMAS_VIBE -> InterfaceIDs.PumpType.ANIMAS_VIBE + PumpType.ANIMAS_PING -> InterfaceIDs.PumpType.ANIMAS_PING + PumpType.DANA_R -> InterfaceIDs.PumpType.DANA_R + PumpType.DANA_R_KOREAN -> InterfaceIDs.PumpType.DANA_R_KOREAN + PumpType.DANA_RS -> InterfaceIDs.PumpType.DANA_RS + PumpType.DANA_RS_KOREAN -> InterfaceIDs.PumpType.DANA_RS_KOREAN + PumpType.DANA_RV2 -> InterfaceIDs.PumpType.DANA_RV2 + PumpType.DANA_I -> InterfaceIDs.PumpType.DANA_I + PumpType.OMNIPOD_EROS -> InterfaceIDs.PumpType.OMNIPOD_EROS + PumpType.OMNIPOD_DASH -> InterfaceIDs.PumpType.OMNIPOD_DASH + PumpType.MEDTRONIC_512_712 -> InterfaceIDs.PumpType.MEDTRONIC_512_517 + PumpType.MEDTRONIC_515_715 -> InterfaceIDs.PumpType.MEDTRONIC_515_715 + PumpType.MEDTRONIC_522_722 -> InterfaceIDs.PumpType.MEDTRONIC_522_722 + PumpType.MEDTRONIC_523_723_REVEL -> InterfaceIDs.PumpType.MEDTRONIC_523_723_REVEL + PumpType.MEDTRONIC_554_754_VEO -> InterfaceIDs.PumpType.MEDTRONIC_554_754_VEO + PumpType.MEDTRONIC_640G -> InterfaceIDs.PumpType.MEDTRONIC_640G + PumpType.TANDEM_T_SLIM -> InterfaceIDs.PumpType.TANDEM_T_SLIM + PumpType.TANDEM_T_SLIM_G4 -> InterfaceIDs.PumpType.TANDEM_T_SLIM_G4 + PumpType.TANDEM_T_FLEX -> InterfaceIDs.PumpType.TANDEM_T_FLEX + PumpType.TANDEM_T_SLIM_X2 -> InterfaceIDs.PumpType.TANDEM_T_SLIM_X2 + PumpType.YPSOPUMP -> InterfaceIDs.PumpType.YPSOPUMP + PumpType.MDI -> InterfaceIDs.PumpType.MDI + PumpType.USER -> InterfaceIDs.PumpType.USER + PumpType.DIACONN_G8 -> InterfaceIDs.PumpType.DIACONN_G8 + PumpType.EOFLOW_EOPATCH2 -> InterfaceIDs.PumpType.EOPATCH2 + PumpType.CACHE -> InterfaceIDs.PumpType.CACHE + } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index fac501c109..8e4e3f8998 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index 18350b849d..66330481a8 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit fun TherapyEvent.isOlderThan(hours: Double): Boolean { return getHoursFromStart() > hours diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 5165d90c2d..7a05ba6088 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -1,7 +1,11 @@ package info.nightscout.androidaps.interfaces +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.Safety +import info.nightscout.interfaces.Sync import java.util.* interface ActivePlugin { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt index 0084721142..d799b40c82 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint /** * Constraints interface diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 732d53b856..3523c8a16b 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.interfaces.Constraint interface Loop { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index 2b08583a0a..2fba1bfdae 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -8,6 +8,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.DateTime diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt index b28dd06f3d..e0d3dd46e2 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.interfaces.GlucoseUnit interface ProfileFunction { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index 8d0758340c..c1f06346e8 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -1,13 +1,14 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.utils.TimeChangeType -import info.nightscout.interfaces.pump.ManufacturerType import org.json.JSONObject /** diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index acf64b8d6c..32d42efefd 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.core.R +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt index a81d3fda36..a137bb5ec8 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType /** * This interface allows pump drivers to push data changes (creation and update of treatments, temporary basals and extended boluses) back to AAPS-core. diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 837b39ca8f..f8414ac217 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -8,11 +8,11 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index f25cb683a0..c0b656bed7 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -7,6 +7,7 @@ import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.interfaces.constraints.versionChecker.AllowedVersions import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index ea5283a816..e6e6968ef6 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -4,7 +4,7 @@ import android.content.Context import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index cb507c5585..59b26025e7 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -4,7 +4,7 @@ import android.content.Context import info.nightscout.interfaces.Constants import info.nightscout.androidaps.core.R import info.nightscout.androidaps.data.InMemoryGlucoseValue -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt index 9bd8a63849..27c49d87a8 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.sharedPreferences.SP diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt index def0b4809e..c10ead7998 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DoubleDataPoint diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index 7f76025588..ed075845d1 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.ColorGroup import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.utils.DateUtil @@ -153,23 +153,23 @@ class UserEntryPresentationHelper @Inject constructor( } private fun getCsvHeader() = rh.gs(R.string.ue_csv_header, - csvString(R.string.ue_timestamp), - csvString(R.string.date), - csvString(R.string.ue_utc_offset), - csvString(R.string.ue_action), - csvString(R.string.eventtype), - csvString(R.string.ue_source), - csvString(R.string.careportal_note), - csvString(R.string.ue_string), - csvString(R.string.event_time_label), - csvString(if (profileFunction.getUnits() == GlucoseUnit.MGDL) R.string.mgdl else R.string.mmol), - csvString(R.string.shortgram), - csvString(R.string.insulin_unit_shortname), - csvString(R.string.profile_ins_units_per_hour), - csvString(R.string.shortpercent), - csvString(R.string.shorthour), - csvString(R.string.shortminute), - csvString(R.string.ue_none) + csvString(R.string.ue_timestamp), + csvString(R.string.date), + csvString(R.string.ue_utc_offset), + csvString(R.string.ue_action), + csvString(R.string.eventtype), + csvString(R.string.ue_source), + csvString(R.string.careportal_note), + csvString(R.string.ue_string), + csvString(R.string.event_time_label), + csvString(if (profileFunction.getUnits() == GlucoseUnit.MGDL) R.string.mgdl else R.string.mmol), + csvString(R.string.shortgram), + csvString(R.string.insulin_unit_shortname), + csvString(R.string.profile_ins_units_per_hour), + csvString(R.string.shortpercent), + csvString(R.string.shorthour), + csvString(R.string.shortminute), + csvString(R.string.ue_none) ) + "\n" private fun getCsvEntry(entry: UserEntry): String { diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index ddb8ad89fb..44760211ae 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -295,9 +295,6 @@ Start profile %1$d%% for %2$d min - - * Only discrete values no ranges are supported as granularity for basal/bolus in virtual pump. - Cancel temp basal Let temp basal run diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 526446dbf4..6d317c2037 100644 --- a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt index b702ea05bd..e427d91bd9 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.data import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index 15e14ff6ec..9a37dfbe8e 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt b/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt index c99b0b2c55..f46f2e0daa 100644 --- a/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt @@ -1,8 +1,9 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.pump.PumpCapability +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.interfaces.pump.PumpTempBasalType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import org.junit.Assert import org.junit.Test diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index 3393d68436..2b03644c96 100644 --- a/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -4,10 +4,10 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert import org.junit.Before diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 331cb2748a..0aac8b3ccc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -17,7 +17,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.notifications.Notification diff --git a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt index 291e3f8179..315fee99a9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/BolusTimerImpl.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector import info.nightscout.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin diff --git a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt index a86d7388f4..c30797a6b9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector import info.nightscout.interfaces.CarbTimer -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationEvent diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 1612da81f4..6bfb75ed6c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -6,7 +6,7 @@ import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.shared.extensions.safeQueryBroadcastReceivers -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast diff --git a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt index 5d0557798d..4d1edd7c7a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.constraints import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 7da5c0e0ef..403d1469c7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -29,12 +29,15 @@ import info.nightscout.androidaps.database.transactions.SyncPumpExtendedBolusTra import info.nightscout.androidaps.database.transactions.SyncPumpTemporaryBasalTransaction import info.nightscout.androidaps.database.transactions.SyncPumpTotalDailyDoseTransaction import info.nightscout.androidaps.database.transactions.SyncTemporaryBasalWithTempIdTransaction +import info.nightscout.androidaps.extensions.fromDbPumpType +import info.nightscout.androidaps.extensions.toDbPumpType +import info.nightscout.androidaps.extensions.toDbSource import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus @@ -271,7 +274,7 @@ class PumpSyncImplementation @Inject constructor( pumpSerial = pumpSerial ) ) - uel.log(UserEntry.Action.CAREPORTAL, pumpType.source, note, ValueWithUnit.Timestamp(timestamp), ValueWithUnit.TherapyEventType(type.toDBbEventType())) + uel.log(UserEntry.Action.CAREPORTAL, pumpType.source.toDbSource(), note, ValueWithUnit.Timestamp(timestamp), ValueWithUnit.TherapyEventType(type.toDBbEventType())) repository.runTransactionForResult(InsertIfNewByTimestampTherapyEventTransaction(therapyEvent)) .doOnError { aapsLogger.error(LTag.DATABASE, "Error while saving TherapyEvent", it) diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index fbc7dc8b4e..b0393e8115 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index 59240eb6c4..9d7150c09e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.interfaces.Dana import info.nightscout.interfaces.Diaconn import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index bbbd3b270b..fb804b716e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.interfaces.Dana import info.nightscout.interfaces.Diaconn import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 3753ee0798..d0169bb2db 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 437fdb8cca..a027b01d3f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.interfaces.Dana import info.nightscout.interfaces.Diaconn import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 526446dbf4..6d317c2037 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index 77fa152724..acfd1d5a8c 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index f266e3cdbe..861d0b9a59 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index dac7df5859..09de233ff3 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index aa40f998c1..4a57c089d5 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -11,8 +11,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.queue.commands.Command diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 2520ae7c0a..01d07e6819 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -40,14 +40,14 @@ import info.nightscout.androidaps.insight.database.InsightHistoryOffset; import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.interfaces.Insight; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; @@ -57,7 +57,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.HistoryReadingDirection; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.ReadHistoryEventsMessage; diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 52c31537eb..59108b8319 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -20,8 +20,9 @@ dependencies { // I don't like this low level dependency but it helps // to move more code to interface module // database module is compiled longer anyway - // (ResourceHelper interface) + // (ResourceHelper, AAPSLogger interface) implementation project(':app-wear-shared:shared') + implementation project(':app-wear-shared:rx') api "androidx.appcompat:appcompat:$appcompat_version" api "androidx.preference:preference-ktx:$preferencektx_version" diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt similarity index 65% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt index 107fbf3e93..352b657ac8 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ConfigBuilder.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt @@ -1,6 +1,4 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.interfaces.PluginType +package info.nightscout.interfaces interface ConfigBuilder { fun initialize() diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraint.kt b/interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Constraint.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt index 9fa1c8091f..a030b41874 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraint.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt b/interfaces/src/main/java/info/nightscout/interfaces/Dana.kt similarity index 89% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Dana.kt index 3d8e9f0ef4..0e1fe8db35 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Dana.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Dana.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import info.nightscout.interfaces.data.PumpEnactResult diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt b/interfaces/src/main/java/info/nightscout/interfaces/GlucoseUnit.kt similarity index 70% rename from core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt rename to interfaces/src/main/java/info/nightscout/interfaces/GlucoseUnit.kt index 016ddd5553..9ecfbc6ad2 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/GlucoseUnit.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/GlucoseUnit.kt @@ -1,6 +1,4 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.interfaces.Constants +package info.nightscout.interfaces enum class GlucoseUnit(val asText: String) { MGDL(Constants.MGDL), diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/IconsProvider.kt b/interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt similarity index 65% rename from core/src/main/java/info/nightscout/androidaps/interfaces/IconsProvider.kt rename to interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt index a80fecee2c..8bb8b4b2a0 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/IconsProvider.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface IconsProvider { fun getIcon(): Int diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt b/interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt similarity index 92% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt index aabfda8524..19996bd1b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/ImportExportPrefs.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt b/interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt similarity index 94% rename from core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt rename to interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt index 4380940eb0..d24ee84c66 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/NsClient.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import android.text.Spanned import org.json.JSONObject diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt b/interfaces/src/main/java/info/nightscout/interfaces/Overview.kt similarity index 91% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Overview.kt index e69ede6122..47c33a3f89 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Overview.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Overview.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import androidx.annotation.StringRes -import info.nightscout.interfaces.ConfigExportImport import info.nightscout.rx.bus.RxBus interface Overview : ConfigExportImport { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt rename to interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt index 37487cbca0..f0534edb8a 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt @@ -1,10 +1,8 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt similarity index 55% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt rename to interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt index 9bb570850e..1bd0bb628d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PluginFragment.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface PluginFragment { var plugin: PluginBase? diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt index f57b33b863..7060741f00 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt @@ -3,7 +3,7 @@ package info.nightscout.interfaces /** * Main plugin type * - * set by [info.nightscout.androidaps.interfaces.PluginDescription.mainType] + * set by [info.nightscout.interfaces.PluginDescription.mainType] */ enum class PluginType { GENERAL, SENSITIVITY, PROFILE, APS, PUMP, CONSTRAINTS, LOOP, BGSOURCE, INSULIN, SYNC diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt b/interfaces/src/main/java/info/nightscout/interfaces/Sync.kt similarity index 69% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt rename to interfaces/src/main/java/info/nightscout/interfaces/Sync.kt index 8139182f52..6cb0ba3233 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/Sync.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Sync.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces interface Sync { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/AllowedVersions.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/versionChecker/AllowedVersions.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/AllowedVersions.kt rename to interfaces/src/main/java/info/nightscout/interfaces/constraints/versionChecker/AllowedVersions.kt index 9cf779cfe2..9f4010f86c 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/AllowedVersions.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/versionChecker/AllowedVersions.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.constraints.versionChecker +package info.nightscout.interfaces.constraints.versionChecker import org.joda.time.LocalDate import org.json.JSONArray diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt index 6e703a11cf..093cfa6756 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpDescription.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt @@ -1,8 +1,4 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.interfaces.pump.PumpCapability -import info.nightscout.interfaces.pump.PumpTempBasalType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +package info.nightscout.interfaces.pump class PumpDescription() { diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt similarity index 73% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt index 251bc8930a..047bbbdcd0 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt @@ -1,15 +1,8 @@ -package info.nightscout.androidaps.plugins.pump.common.defs +package info.nightscout.interfaces.pump -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.R import info.nightscout.interfaces.utils.Round -import info.nightscout.interfaces.pump.DoseSettings -import info.nightscout.interfaces.pump.DoseStepSize -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpCapability -import info.nightscout.interfaces.pump.PumpTempBasalType +import info.nightscout.shared.interfaces.ResourceHelper import kotlin.math.min @Suppress("unused") @@ -61,7 +54,7 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = DoseStepSize.ComboBasal, pumpCapability = PumpCapability.ComboCapabilities, - source = Sources.Combo, + source = Source.Combo, supportBatteryLevel = false ), ACCU_CHEK_SPIRIT( @@ -109,7 +102,7 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = DoseStepSize.InsightBasal, pumpCapability = PumpCapability.InsightCapabilities, - source = Sources.Insight + source = Source.Insight ), ACCU_CHEK_SOLO( description = "Accu-Chek Solo", @@ -159,7 +152,7 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = null, pumpCapability = PumpCapability.DanaCapabilities, - source = Sources.DanaR + source = Source.DanaR ), DANA_R_KOREAN( description = "DanaR Korean", @@ -175,7 +168,7 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = null, pumpCapability = PumpCapability.DanaCapabilities, - source = Sources.DanaRC + source = Source.DanaRC ), DANA_RS( description = "DanaRS", @@ -191,11 +184,11 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = null, pumpCapability = PumpCapability.DanaWithHistoryCapabilities, - source = Sources.DanaRS + source = Source.DanaRS ), DANA_RS_KOREAN(description = "DanaRSKorean", model = "DanaRSKorean", parent = DANA_RS), - DANA_I(description = "DanaI", model = "DanaI", parent = DANA_RS, source = Sources.DanaI), - DANA_RV2(description = "DanaRv2", model = "DanaRv2", parent = DANA_RS, source = Sources.DanaRv2), + DANA_I(description = "DanaI", model = "DanaI", parent = DANA_RS, source = Source.DanaI), + DANA_RV2(description = "DanaRv2", model = "DanaRv2", parent = DANA_RS, source = Source.DanaRv2), OMNIPOD_EROS( description = "Omnipod Eros", manufacturer = ManufacturerType.Insulet, @@ -216,7 +209,7 @@ enum class PumpType { maxReservoirReading = 50, useHardwareLink = true, supportBatteryLevel = false, - source = Sources.OmnipodEros + source = Source.OmnipodEros ), OMNIPOD_DASH( description = "Omnipod Dash", @@ -252,7 +245,7 @@ enum class PumpType { baseBasalStep = 0.05, baseBasalSpecialSteps = null, pumpCapability = PumpCapability.MedtronicCapabilities, - source = Sources.Medtronic + source = Source.Medtronic ), MEDTRONIC_515_715( description = "Medtronic 515/715", @@ -278,7 +271,7 @@ enum class PumpType { baseBasalStep = 0.025, baseBasalSpecialSteps = DoseStepSize.MedtronicVeoBasal, pumpCapability = PumpCapability.MedtronicCapabilities, - source = Sources.Medtronic + source = Source.Medtronic ), MEDTRONIC_554_754_VEO(description = "Medtronic 554/754 (Veo)", model = "554/754 (Veo)", parent = MEDTRONIC_523_723_REVEL), MEDTRONIC_640G( @@ -350,7 +343,7 @@ enum class PumpType { tbrSettings = DoseSettings(1.0, 15, 24 * 60, 0.0, 500.0), extendedBolusSettings = DoseSettings(0.1, 15, 12 * 60, 0.1), pumpCapability = PumpCapability.MDI, - source = Sources.MDI + source = Source.MDI ), // Not real, cached value @@ -376,26 +369,29 @@ enum class PumpType { baseBasalStep = 0.01, baseBasalSpecialSteps = null, pumpCapability = PumpCapability.DiaconnCapabilities, - source = Sources.DiaconnG8), - + source = Source.DiaconnG8 + ), + //EOPatch Pump - EOFLOW_EOPATCH2(description = "Eoflow Eopatch2", - manufacturer = ManufacturerType.Eoflow, - model = "Eopatch", - bolusSize = 0.05, - specialBolusSize = null, - extendedBolusSettings = DoseSettings(0.05, 30, 8 * 60, 0.05, 25.0), - pumpTempBasalType = PumpTempBasalType.Absolute, - tbrSettings = DoseSettings(0.05, 30, 12 * 60, 0.0, 15.0), - specialBasalDurations = PumpCapability.BasalRate_Duration30minAllowed, - baseBasalMinValue = 0.05, - baseBasalMaxValue = 15.0, - baseBasalStep = 0.05, - baseBasalSpecialSteps = null, - pumpCapability = PumpCapability.EopatchCapabilities, - isPatchPump = true, - maxReservoirReading = 50, - source = Sources.EOPatch2); + EOFLOW_EOPATCH2( + description = "Eoflow Eopatch2", + manufacturer = ManufacturerType.Eoflow, + model = "Eopatch", + bolusSize = 0.05, + specialBolusSize = null, + extendedBolusSettings = DoseSettings(0.05, 30, 8 * 60, 0.05, 25.0), + pumpTempBasalType = PumpTempBasalType.Absolute, + tbrSettings = DoseSettings(0.05, 30, 12 * 60, 0.0, 15.0), + specialBasalDurations = PumpCapability.BasalRate_Duration30minAllowed, + baseBasalMinValue = 0.05, + baseBasalMaxValue = 15.0, + baseBasalStep = 0.05, + baseBasalSpecialSteps = null, + pumpCapability = PumpCapability.EopatchCapabilities, + isPatchPump = true, + maxReservoirReading = 50, + source = Source.EOPatch2 + ); val description: String var manufacturer: ManufacturerType? = null @@ -445,52 +441,36 @@ enum class PumpType { var useHardwareLink = false private set private var parent: PumpType? = null - val source: Sources + val source: Source + + enum class Source { + Dana, + DanaR, + DanaRC, + DanaRv2, + DanaRS, + DanaI, + DiaconnG8, + Insight, + Combo, + Medtronic, + Omnipod, + OmnipodEros, + OmnipodDash, + EOPatch2, + MDI, + VirtualPump, + Unknown + } companion object { fun getByDescription(desc: String): PumpType = values().firstOrNull { it.description == desc } ?: GENERIC_AAPS - fun fromDbPumpType(pt: InterfaceIDs.PumpType): PumpType = - when (pt) { - InterfaceIDs.PumpType.GENERIC_AAPS -> GENERIC_AAPS - InterfaceIDs.PumpType.CELLNOVO -> CELLNOVO - InterfaceIDs.PumpType.ACCU_CHEK_COMBO -> ACCU_CHEK_COMBO - InterfaceIDs.PumpType.ACCU_CHEK_SPIRIT -> ACCU_CHEK_SPIRIT - InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT -> ACCU_CHEK_INSIGHT_VIRTUAL - InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT_BLUETOOTH -> ACCU_CHEK_INSIGHT - InterfaceIDs.PumpType.ACCU_CHEK_SOLO -> ACCU_CHEK_SOLO - InterfaceIDs.PumpType.ANIMAS_VIBE -> ANIMAS_VIBE - InterfaceIDs.PumpType.ANIMAS_PING -> ANIMAS_PING - InterfaceIDs.PumpType.DANA_R -> DANA_R - InterfaceIDs.PumpType.DANA_R_KOREAN -> DANA_R_KOREAN - InterfaceIDs.PumpType.DANA_RS -> DANA_RS - InterfaceIDs.PumpType.DANA_RS_KOREAN -> DANA_RS_KOREAN - InterfaceIDs.PumpType.DANA_RV2 -> DANA_RV2 - InterfaceIDs.PumpType.DANA_I -> DANA_I - InterfaceIDs.PumpType.OMNIPOD_EROS -> OMNIPOD_EROS - InterfaceIDs.PumpType.OMNIPOD_DASH -> OMNIPOD_DASH - InterfaceIDs.PumpType.MEDTRONIC_512_517 -> MEDTRONIC_512_712 - InterfaceIDs.PumpType.MEDTRONIC_515_715 -> MEDTRONIC_515_715 - InterfaceIDs.PumpType.MEDTRONIC_522_722 -> MEDTRONIC_522_722 - InterfaceIDs.PumpType.MEDTRONIC_523_723_REVEL -> MEDTRONIC_523_723_REVEL - InterfaceIDs.PumpType.MEDTRONIC_554_754_VEO -> MEDTRONIC_554_754_VEO - InterfaceIDs.PumpType.MEDTRONIC_640G -> MEDTRONIC_640G - InterfaceIDs.PumpType.TANDEM_T_SLIM -> TANDEM_T_SLIM - InterfaceIDs.PumpType.TANDEM_T_SLIM_G4 -> TANDEM_T_SLIM_G4 - InterfaceIDs.PumpType.TANDEM_T_FLEX -> TANDEM_T_FLEX - InterfaceIDs.PumpType.TANDEM_T_SLIM_X2 -> TANDEM_T_SLIM_X2 - InterfaceIDs.PumpType.YPSOPUMP -> YPSOPUMP - InterfaceIDs.PumpType.MDI -> MDI - InterfaceIDs.PumpType.USER -> USER - InterfaceIDs.PumpType.DIACONN_G8 -> DIACONN_G8 - InterfaceIDs.PumpType.EOPATCH2 -> EOFLOW_EOPATCH2 - InterfaceIDs.PumpType.CACHE -> CACHE - } } - constructor(description: String, model: String, parent: PumpType, pumpCapability: PumpCapability? = null, source: Sources? = null) { + constructor(description: String, model: String, parent: PumpType, pumpCapability: PumpCapability? = null, source: Source? = null) { this.description = description this.parent = parent this.source = source ?: parent.source @@ -518,7 +498,7 @@ enum class PumpType { maxReservoirReading: Int = 50, supportBatteryLevel: Boolean = true, useHardwareLink: Boolean = false, - source: Sources = Sources.VirtualPump + source: Source = Source.VirtualPump ) { this.description = description this.manufacturer = manufacturer @@ -585,41 +565,4 @@ enum class PumpType { ?: baseBasalStep ) } - - fun toDbPumpType(): InterfaceIDs.PumpType = - when (this) { - GENERIC_AAPS -> InterfaceIDs.PumpType.GENERIC_AAPS - CELLNOVO -> InterfaceIDs.PumpType.CELLNOVO - ACCU_CHEK_COMBO -> InterfaceIDs.PumpType.ACCU_CHEK_COMBO - ACCU_CHEK_SPIRIT -> InterfaceIDs.PumpType.ACCU_CHEK_SPIRIT - ACCU_CHEK_INSIGHT_VIRTUAL -> InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT - ACCU_CHEK_INSIGHT -> InterfaceIDs.PumpType.ACCU_CHEK_INSIGHT_BLUETOOTH - ACCU_CHEK_SOLO -> InterfaceIDs.PumpType.ACCU_CHEK_SOLO - ANIMAS_VIBE -> InterfaceIDs.PumpType.ANIMAS_VIBE - ANIMAS_PING -> InterfaceIDs.PumpType.ANIMAS_PING - DANA_R -> InterfaceIDs.PumpType.DANA_R - DANA_R_KOREAN -> InterfaceIDs.PumpType.DANA_R_KOREAN - DANA_RS -> InterfaceIDs.PumpType.DANA_RS - DANA_RS_KOREAN -> InterfaceIDs.PumpType.DANA_RS_KOREAN - DANA_RV2 -> InterfaceIDs.PumpType.DANA_RV2 - DANA_I -> InterfaceIDs.PumpType.DANA_I - OMNIPOD_EROS -> InterfaceIDs.PumpType.OMNIPOD_EROS - OMNIPOD_DASH -> InterfaceIDs.PumpType.OMNIPOD_DASH - MEDTRONIC_512_712 -> InterfaceIDs.PumpType.MEDTRONIC_512_517 - MEDTRONIC_515_715 -> InterfaceIDs.PumpType.MEDTRONIC_515_715 - MEDTRONIC_522_722 -> InterfaceIDs.PumpType.MEDTRONIC_522_722 - MEDTRONIC_523_723_REVEL -> InterfaceIDs.PumpType.MEDTRONIC_523_723_REVEL - MEDTRONIC_554_754_VEO -> InterfaceIDs.PumpType.MEDTRONIC_554_754_VEO - MEDTRONIC_640G -> InterfaceIDs.PumpType.MEDTRONIC_640G - TANDEM_T_SLIM -> InterfaceIDs.PumpType.TANDEM_T_SLIM - TANDEM_T_SLIM_G4 -> InterfaceIDs.PumpType.TANDEM_T_SLIM_G4 - TANDEM_T_FLEX -> InterfaceIDs.PumpType.TANDEM_T_FLEX - TANDEM_T_SLIM_X2 -> InterfaceIDs.PumpType.TANDEM_T_SLIM_X2 - YPSOPUMP -> InterfaceIDs.PumpType.YPSOPUMP - MDI -> InterfaceIDs.PumpType.MDI - USER -> InterfaceIDs.PumpType.USER - DIACONN_G8 -> InterfaceIDs.PumpType.DIACONN_G8 - EOFLOW_EOPATCH2 -> InterfaceIDs.PumpType.EOPATCH2 - CACHE -> InterfaceIDs.PumpType.CACHE - } -} +} \ No newline at end of file diff --git a/interfaces/src/main/res/values/strings.xml b/interfaces/src/main/res/values/strings.xml index aba75400d9..03219bda89 100644 --- a/interfaces/src/main/res/values/strings.xml +++ b/interfaces/src/main/res/values/strings.xml @@ -15,4 +15,7 @@ language + + * Only discrete values no ranges are supported as granularity for basal/bolus in virtual pump. + diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index 9512189fdf..dc5788bee6 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.interfaces.TraceableDBEntry import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.rx.logging.AAPSLogger import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index 55706a3a68..bb018bda28 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -2,13 +2,13 @@ package info.nightscout.plugins.configBuilder import info.nightscout.androidaps.core.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index cd38ec6446..f3875cc2cd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index a539bf15ec..53690ec3ae 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -2,10 +2,10 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index 6284ad631a..c5ee79edd8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -5,7 +5,7 @@ import android.os.Build import com.scottyab.rootbeer.RootBeer import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 40f66c607c..258f248f3d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -5,9 +5,9 @@ import android.content.pm.PackageManager import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index c635cb094f..b71f025c06 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -5,9 +5,9 @@ import android.os.StatFs import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index c82e70556b..52a80549f3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.constraints.versionChecker import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 1fe426eb60..07037437f9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -28,7 +28,7 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index cf1477b2c4..ffd4f5545f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 5b6335cbc2..6b4e4b6594 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index bc009d3b1d..1a154ef176 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.Food import info.nightscout.androidaps.database.transactions.SyncNsFoodTransaction import info.nightscout.androidaps.extensions.foodFromJson -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt index 105682c734..3caa3d3903 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt @@ -13,7 +13,7 @@ import android.view.ViewGroup import androidx.core.app.NotificationCompat import androidx.recyclerview.widget.RecyclerView import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IconsProvider +import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 46bcced601..e8f7c6acd6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -27,12 +27,12 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index e8d6b4f171..86e00294bf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -6,7 +6,7 @@ import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 6b03ffee42..824c9dbc13 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index b4a4b96399..8999ce4d78 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index 44eb25b9e4..e5c63c6df1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 4092d333ac..361914fc60 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 5dad72b728..016cf57de4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -15,11 +15,11 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.InstanceId import info.nightscout.interfaces.Config diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index f4605abc85..77a3f3df4b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index 5cfd4cb35b..46658494b0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.PluginBase +import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index e2bb2515c3..64a76e27ca 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -16,9 +16,9 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.PluginFragment +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index f4f0059d98..a0161b55ff 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -32,7 +32,7 @@ import info.nightscout.androidaps.database.transactions.SyncNsTemporaryTargetTra import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction import info.nightscout.androidaps.database.transactions.UserEntryTransaction import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt index a808d14a74..203531a68b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.sync.nsShared.events -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.rx.events.Event import java.text.SimpleDateFormat import java.util.Locale diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt index 0fb562e43e..68e0958394 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsShared.events import info.nightscout.androidaps.events.EventStatus -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.shared.interfaces.ResourceHelper class EventNSClientStatus(var text: String, val version: NsClient.Version) : EventStatus() { diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 0c230c2a7d..96dcdfbacd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -14,9 +14,9 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.Sync import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt index a710996e2c..e0205828a6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.sync.nsclient.data -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.Config import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt index 144be220ed..5c0c6929eb 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InterfaceIDs import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt index 071985691a..601edffeab 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt index e7201d774c..edb2e4ab77 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.core.R import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.sync.nsclient.data.NSMbg diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index c27ddd9b35..e5887e21e7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -19,7 +19,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.DataWorkerStorage diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt index 8878129b16..aa9fcd4bed 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt @@ -35,7 +35,7 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt index 952d208407..056b0870c3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.acks.NSUpdateAck diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 353676cf46..ceb462d5c1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -13,9 +13,9 @@ import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.NsClient -import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.Sync import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.BuildHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt index f6f577767f..937f56a258 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -8,7 +8,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.plugins.R import info.nightscout.plugins.source.NSClientSourcePlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt index d751339faf..265372776a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.data.NSDeviceStatusHandler diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt index 44c3a658ef..997bd7bab5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt @@ -8,7 +8,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.NsClient +import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index 8081ad492e..f42290a305 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -7,8 +7,8 @@ import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.PluginBase -import info.nightscout.androidaps.interfaces.Sync +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.Sync import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 526446dbf4..6d317c2037 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index 718322e5ec..f883b67ba8 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt index 8118643c17..64cd79fa8d 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.constraints.storage import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt index df02799812..cffea50d55 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.constraints.versionChecker -import info.nightscout.androidaps.plugins.constraints.versionChecker.AllowedVersions +import info.nightscout.interfaces.constraints.versionChecker.AllowedVersions import org.joda.time.LocalDate import org.json.JSONArray import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index 8c3e3b9721..a6ab41e52b 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.T diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 30fc5b19cb..8e2efcd58e 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.shiftBlock -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 32b55291b1..9b6ec2df22 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -16,18 +16,18 @@ import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTe import info.nightscout.androidaps.database.transactions.Transaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileSource -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 9d5eceb551..1c0fbcb153 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.plugins.R diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 6864e05aa2..1a886cd10c 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -27,13 +27,13 @@ import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; @@ -55,7 +55,7 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistory; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.InstanceId; import info.nightscout.shared.utils.T; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 201bd5d29d..c70ea97120 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 5b82966aaf..8fdd2a7429 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -20,11 +20,11 @@ import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.interfaces.Dana import info.nightscout.androidaps.interfaces.Pump import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index e45bcf669e..a8ab56ba04 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.shared.utils.T diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index b16b364224..a6a1dc7531 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index 02afdb9609..0f187cae8e 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBindi import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index b44f7a0ff7..be0cde9827 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -15,13 +15,13 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.interfaces.data.PumpEnactResult diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 3e4cc125b7..b976c5516e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -50,7 +50,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.shared.utils.DateUtil; import info.nightscout.shared.utils.T; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index d7aabc0c80..737b5f6f53 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -21,7 +21,7 @@ import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; @@ -29,7 +29,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt index 2ac150f815..692d81d004 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.T import info.nightscout.rx.logging.LTag import java.util.GregorianCalendar diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index db3d566fe1..8f16467156 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -64,7 +64,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.shared.utils.DateUtil; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 17bbd983a7..50037a8eb5 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -16,13 +16,13 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Dana; +import info.nightscout.interfaces.Dana; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 0304cfc9d5..a8968809ae 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -20,17 +20,16 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; -import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index e6e6b04a85..0475485fe9 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageOriginalNames.getName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt index c58098684a..d920a16c19 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt index e5fefdc791..9c82f2682d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt index ac9735ac6a..126bf34b9e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index e925c11fbb..da21a175c8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -56,7 +56,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 2caee076ef..32d027eaff 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index d68a7e0db5..27db7e5408 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index 3b57d248c8..1965551c0c 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ConfigBuilder +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt index 1a080a0d10..7f3557ca5d 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MessageHashTableR -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt index 2b00d74b25..9a404ddf22 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgBolusStart -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt index 0421e408b9..f3d7917092 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgBolusStartWithSpeed -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt index 8d0ff919d7..7ce268f28e 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgSetExtendedBolusStart -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt index b4380177cb..00cbdcd754 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgSettingBasal -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index 1f49efa241..e0f7cebf4c 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt index 3d23027a0e..9c053d2990 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean.comm import info.nightscout.androidaps.danaRKorean.comm.MessageHashTableRKorean -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.pump.danaR.comm.DanaRTestBase import org.junit.Assert import org.junit.Test diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index d059f24212..b8ea019892 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt index 2b5fa5d957..815fef0d08 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.danaRv2.comm import info.nightscout.androidaps.danaRv2.comm.MessageHashTableRv2 import info.nightscout.androidaps.danaRv2.comm.MsgStatusAPS_v2 import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.pump.danaR.comm.DanaRTestBase import org.junit.Assert import org.junit.Test diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 7bf0b799b2..93b0d7a7e2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -19,14 +19,14 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Dana +import info.nightscout.interfaces.Dana import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper @@ -37,7 +37,7 @@ import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt index 847840582e..528c1cfb31 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.rx.logging.LTag diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt index 38611f78d4..8821e375e4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index 458976386f..7e7504cb76 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt index bf0e31b6a4..0d3147c3e1 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import org.junit.Assert import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt index cfdd79d1b2..2830b3f4fc 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt @@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 2d6458daee..1fea57bb3a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -17,14 +17,14 @@ import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.Diaconn import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper @@ -37,7 +37,7 @@ import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.FabricPrivacy diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index 46fda8d2e8..1e3dbcdc15 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -42,12 +42,12 @@ import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt index 7ea91b38cb..0a13886f76 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt @@ -4,9 +4,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 00950b50cc..5b8abc171f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -61,7 +61,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.shared.utils.DateUtil diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 8ba4400a02..30055959ab 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper @@ -20,7 +20,7 @@ import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index 963dacd15c..3521fc2489 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus import info.nightscout.androidaps.plugins.pump.eopatch.R diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index c642ccb059..c381fa1224 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index ce1f5bf130..3c3b93b119 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -35,7 +35,7 @@ import javax.inject.Singleton; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ActivateTask; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 5ccecbeebc..166b261687 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.Transformations import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 3ddb56fb23..d7477803ad 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -27,7 +27,7 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt index 0838bcda9d..703a2c5c16 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.os.SystemClock -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt index acfe57893f..27dbf08dd2 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.PumpSettingDTO diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index 6dae0651c7..eb9b886bbc 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryTBR diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt index ccfb09aadb..b420030fde 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import com.google.gson.annotations.Expose -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt index 8f0e046829..fb3dd00804 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.driver -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 21488681c3..6eff10b3eb 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper @@ -29,7 +29,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt index 140d36479b..893dd59b67 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt @@ -13,7 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 89e39b1dae..c5f038025c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt index 1c2d69e41e..f4f95f7f03 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.util import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram import java.util.* import kotlin.math.roundToInt diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index be7b1de920..a627f4d4cc 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -45,7 +45,7 @@ import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; @@ -54,7 +54,7 @@ import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 27f947f3ac..ac72260156 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -21,7 +21,7 @@ import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java index 37d17be423..c50760d2e5 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java @@ -26,7 +26,7 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 4c7cc4be21..8cf44d746e 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 49506fb4f0..492827ab9a 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType @@ -27,7 +27,7 @@ import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.shared.utils.DateUtil diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt index 9c4ea272d9..d1b1f40fc9 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.data import info.nightscout.androidaps.plugins.pump.common.defs.PumpRunningState -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import java.util.* /** diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt index e208a22d6e..d2ae0a4616 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.sync import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType // data class PumpDbEntry constructor(var temporaryId: Long, // var date: Long, @@ -59,10 +59,10 @@ data class PumpDbEntryBolus(override var temporaryId: Long, var bolusType: DetailedBolusInfo.BolusType) : PumpDbEntry { constructor(temporaryId: Long, - date: Long, - pumpType: PumpType, - serialNumber: String, - detailedBolusInfo: DetailedBolusInfo) : this(temporaryId, date, pumpType, serialNumber, null, + date: Long, + pumpType: PumpType, + serialNumber: String, + detailedBolusInfo: DetailedBolusInfo) : this(temporaryId, date, pumpType, serialNumber, null, detailedBolusInfo.insulin, detailedBolusInfo.carbs, detailedBolusInfo.bolusType) diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java index 1ba73df0bb..40d409938f 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.sync; -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType; +import info.nightscout.interfaces.pump.PumpType; public interface PumpSyncEntriesCreator { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt index f5100096dc..bf6f2f7045 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.utils import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Profile.ProfileValue -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import java.util.* object ProfileUtil { diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 5dcc39a3ca..eef0a09e79 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.shared.utils.T diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index eab367c440..fbcc9eabbe 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ImportExportPrefs +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index 4c192e8a90..a3d4033636 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -2,7 +2,7 @@ package info.nightscout.ui.defaultProfile import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.Round diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt index 7dd694b303..af3bf2b95c 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt @@ -3,7 +3,7 @@ package info.nightscout.ui.defaultProfile import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.shared.utils.DateUtil import org.json.JSONArray diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index b541f01211..072760124b 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 8909f5caa8..6e468daacc 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -21,8 +21,8 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraint -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 33eceee057..862d85184d 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index cbf78ae4e9..6694f86066 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 526446dbf4..6d317c2037 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -6,10 +6,10 @@ import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpDescription +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.androidaps.plugins.pump.common.defs.PumpType +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/ui/src/test/java/info/nightscout/ui/defaultProfile/DefaultProfileTest.kt b/ui/src/test/java/info/nightscout/ui/defaultProfile/DefaultProfileTest.kt index d24fcd4cbc..e84e0b4e77 100644 --- a/ui/src/test/java/info/nightscout/ui/defaultProfile/DefaultProfileTest.kt +++ b/ui/src/test/java/info/nightscout/ui/defaultProfile/DefaultProfileTest.kt @@ -2,7 +2,7 @@ package info.nightscout.ui.defaultProfile import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.GlucoseUnit +import info.nightscout.interfaces.GlucoseUnit import org.junit.Assert.assertEquals import org.junit.Test From 14816fca504974ef4dd85242cb4a1583a83cc8e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 08:01:33 +0000 Subject: [PATCH 023/123] chore(deps): bump org.jetbrains.kotlin.android from 1.7.20 to 1.7.21 Bumps org.jetbrains.kotlin.android from 1.7.20 to 1.7.21. --- updated-dependencies: - dependency-name: org.jetbrains.kotlin.android dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c4af65575f..6b341ed50d 100644 --- a/build.gradle +++ b/build.gradle @@ -70,7 +70,7 @@ plugins { id "io.gitlab.arturbosch.detekt" version "1.21.0" id "org.jlleitschuh.gradle.ktlint" version "11.0.0" id 'org.barfuin.gradle.jacocolog' version '2.0.0' - id 'org.jetbrains.kotlin.android' version '1.7.20' apply false + id 'org.jetbrains.kotlin.android' version '1.7.21' apply false } allprojects { From 1c95cb107d66ce384d7e9aca961513a3d4d1c1d8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 10:48:59 +0100 Subject: [PATCH 024/123] WeekDayPicker -> automations --- automation/build.gradle | 3 +++ .../info/nightscout/automation/elements/InputWeekDay.kt | 2 +- .../java/info/nightscout/automation}/ui/WeekdayPicker.kt | 6 +++--- .../src/main/res/drawable/weekday_circle_brackground.xml | 0 .../src/main/res/drawable/weekend_circle_brackground.xml | 0 .../src/main/res/layout/weekday_picker.xml | 0 automation/src/main/res/values/strings.xml | 9 +++++++++ core/src/main/res/values/strings.xml | 9 --------- 8 files changed, 16 insertions(+), 13 deletions(-) rename {core/src/main/java/info/nightscout/androidaps/utils => automation/src/main/java/info/nightscout/automation}/ui/WeekdayPicker.kt (95%) rename {core => automation}/src/main/res/drawable/weekday_circle_brackground.xml (100%) rename {core => automation}/src/main/res/drawable/weekend_circle_brackground.xml (100%) rename {core => automation}/src/main/res/layout/weekday_picker.xml (100%) diff --git a/automation/build.gradle b/automation/build.gradle index 320fffc2b2..0b7f76f4f4 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -11,6 +11,7 @@ apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" + android { namespace 'info.nightscout.automation' } @@ -22,4 +23,6 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') + + api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" } \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt b/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt index 4f761687e5..e63e5acb21 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.elements import android.widget.LinearLayout import androidx.annotation.StringRes -import info.nightscout.androidaps.utils.ui.WeekdayPicker +import info.nightscout.automation.ui.WeekdayPicker import info.nightscout.automation.R import java.util.Calendar diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt b/automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt rename to automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt index c5eaa9986b..4b86c01ac5 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/WeekdayPicker.kt +++ b/automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.automation.ui import android.content.Context import android.util.AttributeSet @@ -6,9 +6,9 @@ import android.view.LayoutInflater import android.widget.Checkable import androidx.appcompat.widget.AppCompatCheckedTextView import androidx.constraintlayout.widget.ConstraintLayout -import info.nightscout.androidaps.core.databinding.WeekdayPickerBinding +import info.nightscout.automation.databinding.WeekdayPickerBinding import info.nightscout.shared.extensions.toVisibility -import java.util.* +import java.util.Calendar class WeekdayPicker constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 diff --git a/core/src/main/res/drawable/weekday_circle_brackground.xml b/automation/src/main/res/drawable/weekday_circle_brackground.xml similarity index 100% rename from core/src/main/res/drawable/weekday_circle_brackground.xml rename to automation/src/main/res/drawable/weekday_circle_brackground.xml diff --git a/core/src/main/res/drawable/weekend_circle_brackground.xml b/automation/src/main/res/drawable/weekend_circle_brackground.xml similarity index 100% rename from core/src/main/res/drawable/weekend_circle_brackground.xml rename to automation/src/main/res/drawable/weekend_circle_brackground.xml diff --git a/core/src/main/res/layout/weekday_picker.xml b/automation/src/main/res/layout/weekday_picker.xml similarity index 100% rename from core/src/main/res/layout/weekday_picker.xml rename to automation/src/main/res/layout/weekday_picker.xml diff --git a/automation/src/main/res/values/strings.xml b/automation/src/main/res/values/strings.xml index 62883c0dc6..73f6fa9b0d 100644 --- a/automation/src/main/res/values/strings.xml +++ b/automation/src/main/res/values/strings.xml @@ -126,4 +126,13 @@ Remove/sort Stop processing + + M + T + W + T + F + S + S + \ No newline at end of file diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 44760211ae..441a580345 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -434,15 +434,6 @@ Please reboot your phone or restart AAPS from the System Settings \notherwise Android APS will not have logging (important to track and verify that the algorithms are working correctly)! - - M - T - W - T - F - S - S - BOLUS BOLUS CALCULATOR From efd4d43a50d133ceff439176b3c1a0e9e993d2c7 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 12:20:03 +0100 Subject: [PATCH 025/123] build.gradle optimization --- app-wear-shared/rx/build.gradle | 1 - app-wear-shared/shared-impl/build.gradle | 2 - app/build.gradle | 14 ++- .../utils/buildHelper/ConfigImpl.kt | 2 + .../automation/actions/ActionAlarm.kt | 4 +- core/android_module_dependencies.gradle | 2 - core/build.gradle | 71 +++++++++++++- core/core_dependencies.gradle | 96 ------------------- .../extensions/HexByteArrayConversion.kt | 2 +- .../maintenance/PrefFileListProvider.kt | 12 +-- .../implementation/AndroidPermissionImpl.kt | 22 ++--- .../implementation/queue/QueueThread.kt | 2 +- .../java/info/nightscout/interfaces/Config.kt | 1 + openhumans/build.gradle | 3 + plugins/build.gradle | 24 +++++ pump/danars/build.gradle | 6 ++ pump/diaconn/build.gradle | 8 +- .../cgms/MedtronicCGMSHistoryDecoder.kt | 6 +- pump/omnipod-common/build.gradle | 3 + .../ui/activities/SurveyActivity.kt | 9 +- wear/build.gradle | 2 - 21 files changed, 149 insertions(+), 143 deletions(-) delete mode 100644 core/core_dependencies.gradle diff --git a/app-wear-shared/rx/build.gradle b/app-wear-shared/rx/build.gradle index feff93f500..1b00eee9b4 100644 --- a/app-wear-shared/rx/build.gradle +++ b/app-wear-shared/rx/build.gradle @@ -9,7 +9,6 @@ plugins { apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/app-wear-shared/shared-impl/build.gradle b/app-wear-shared/shared-impl/build.gradle index ada8320490..04dcfe1d45 100644 --- a/app-wear-shared/shared-impl/build.gradle +++ b/app-wear-shared/shared-impl/build.gradle @@ -9,8 +9,6 @@ plugins { apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -//apply from: "${project.rootDir}/core/test_dependencies.gradle" -//apply from: "${project.rootDir}/core/jacoco_global.gradle" android { diff --git a/app/build.gradle b/app/build.gradle index 3c04647ee4..2107271ee5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -213,12 +213,18 @@ dependencies { /* Dagger2 - We are going to use dagger.android which includes * support for Activity and fragment injection so we need to include * the following dependencies */ - annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" - annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version" - - /* Dagger2 - default dependency */ kapt "com.google.dagger:dagger-compiler:$dagger_version" + + // MainApp + api "com.uber.rxdogtag2:rxdogtag:2.0.1" + + // Overview + api 'com.google.android.flexbox:flexbox:3.0.0' + + // APS + api 'org.mozilla:rhino:1.7.14' + } apply from: "${project.rootDir}/core/test_dependencies.gradle" diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt index 3e6df9efe7..cb78a6cbf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.utils.buildHelper import android.os.Build import info.nightscout.androidaps.BuildConfig +import info.nightscout.androidaps.R import info.nightscout.interfaces.Config import javax.inject.Inject import javax.inject.Singleton @@ -20,4 +21,5 @@ class ConfigImpl @Inject constructor() : Config { override val currentDeviceModelString = Build.MANUFACTURER + " " + Build.MODEL + " (" + Build.DEVICE + ")" + override val appName: Int = R.string.app_name } \ No newline at end of file diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index c16a3662e1..98932c95e4 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -13,6 +13,7 @@ import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.json.JSONObject import javax.inject.Inject @@ -23,6 +24,7 @@ class ActionAlarm(injector: HasAndroidInjector) : Action(injector) { @Inject lateinit var context: Context @Inject lateinit var dateUtil: DateUtil @Inject lateinit var timerUtil: TimerUtil + @Inject lateinit var config: Config var text = InputString() @@ -38,7 +40,7 @@ class ActionAlarm(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { timerUtil.scheduleReminder(10, text.value.takeIf { it.isNotBlank() } - ?: rh.gs(R.string.app_name)) + ?: rh.gs(config.appName)) callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() } diff --git a/core/android_module_dependencies.gradle b/core/android_module_dependencies.gradle index bcc7585a61..df27afb3fb 100644 --- a/core/android_module_dependencies.gradle +++ b/core/android_module_dependencies.gradle @@ -23,8 +23,6 @@ android { } dependencies { - annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" - annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" diff --git a/core/build.gradle b/core/build.gradle index 9e6e9006c2..e1c2733b7a 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -7,7 +7,6 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: 'core_dependencies.gradle' apply from: "${project.rootDir}/core/android_dependencies.gradle" apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/allopen_dependencies.gradle" @@ -20,6 +19,76 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':interfaces') + + api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutines_version" + api "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutines_version" + + api "androidx.activity:activity-ktx:$activity_version" + api "androidx.appcompat:appcompat:$appcompat_version" + + api 'androidx.biometric:biometric:1.1.0' + + api "androidx.browser:browser:1.4.0" + api 'androidx.cardview:cardview:1.0.0' + api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" + api "androidx.core:core-ktx:$core_version" + api "androidx.fragment:fragment-ktx:$fragmentktx_version" + api 'androidx.legacy:legacy-support-v13:1.0.0' + api 'androidx.legacy:legacy-support-v4:1.0.0' + api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" + api "androidx.lifecycle:lifecycle-process:$lifecycle_version" + api "androidx.navigation:navigation-fragment-ktx:$nav_version" + api "androidx.navigation:navigation-runtime-ktx:$nav_version" + api "androidx.navigation:navigation-ui-ktx:$nav_version" + api 'androidx.percentlayout:percentlayout:1.0.0' + api "androidx.preference:preference-ktx:$preferencektx_version" + api 'androidx.recyclerview:recyclerview:1.2.1' + + api 'androidx.gridlayout:gridlayout:1.0.0' + + api "com.google.android.material:material:$material_version" + + api "com.google.dagger:dagger-android:$dagger_version" + api "com.google.dagger:dagger-android-support:$dagger_version" + + api "com.google.android.gms:play-services-wearable:$play_services_wearable_version" + api "com.google.android.gms:play-services-location:$play_services_location_version" + + api 'com.google.guava:guava:31.1-jre' + + api "androidx.work:work-rxjava3:$work_version" + + + //Firebase + api platform('com.google.firebase:firebase-bom:30.5.0') + api "com.google.firebase:firebase-analytics-ktx" + api "com.google.firebase:firebase-crashlytics-ktx" + // StatsActivity not in use now + // api "com.google.firebase:firebase-messaging-ktx" + // api 'com.google.firebase:firebase-auth-ktx' + // api 'com.google.firebase:firebase-database-ktx' + + + //CryptoUtil + api 'com.madgag.spongycastle:core:1.58.0.0' + api "com.google.crypto.tink:tink-android:$tink_version" + + // pumpCommon + api "com.google.code.gson:gson:$gson_version" + + //WorkManager + api "androidx.work:work-runtime:$work_version" + api "androidx.work:work-runtime-ktx:$work_version" +// api "androidx.work:work-rxjava3:$work_version" + api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' + + + api "commons-codec:commons-codec:$commonscodec_version" + } android { diff --git a/core/core_dependencies.gradle b/core/core_dependencies.gradle deleted file mode 100644 index 60ef09a37d..0000000000 --- a/core/core_dependencies.gradle +++ /dev/null @@ -1,96 +0,0 @@ -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - - api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutines_version" - api "androidx.core:core-ktx:$core_version" - api 'androidx.legacy:legacy-support-v13:1.0.0' - api 'androidx.legacy:legacy-support-v4:1.0.0' - api "androidx.appcompat:appcompat:$appcompat_version" - api "androidx.preference:preference-ktx:$preferencektx_version" - api 'androidx.biometric:biometric:1.1.0' - api "androidx.browser:browser:1.4.0" - api "androidx.activity:activity-ktx:$activity_version" - api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" - api "androidx.lifecycle:lifecycle-process:$lifecycle_version" - api 'androidx.cardview:cardview:1.0.0' - api 'androidx.recyclerview:recyclerview:1.2.1' - api 'androidx.gridlayout:gridlayout:1.0.0' - api 'androidx.percentlayout:percentlayout:1.0.0' - api "com.google.android.material:material:$material_version" - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - //Firebase - api platform('com.google.firebase:firebase-bom:30.5.0') - api "com.google.firebase:firebase-analytics-ktx" - api "com.google.firebase:firebase-crashlytics-ktx" - api "com.google.firebase:firebase-messaging-ktx" - api 'com.google.firebase:firebase-auth-ktx' - api 'com.google.firebase:firebase-database-ktx' - - //RxBus - api "io.reactivex.rxjava3:rxjava:$rxjava_version" - api "io.reactivex.rxjava3:rxkotlin:$rxkotlin_version" - api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" - api "org.apache.commons:commons-lang3:$commonslang3_version" - api "commons-codec:commons-codec:$commonscodec_version" - api "com.uber.rxdogtag2:rxdogtag:2.0.1" - - //CryptoUtil - api 'com.madgag.spongycastle:core:1.58.0.0' - api "com.google.crypto.tink:tink-android:$tink_version" - - //db - api "com.j256.ormlite:ormlite-core:$ormLite_version" - api "com.j256.ormlite:ormlite-android:$ormLite_version" - - // pumpCommon - api "com.google.code.gson:gson:$gson_version" - - //WorkManager - api "androidx.work:work-runtime:$work_version" - api "androidx.work:work-runtime-ktx:$work_version" - api "androidx.work:work-rxjava3:$work_version" - api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' - - // new for tidepool - api "com.squareup.okhttp3:okhttp:$okhttp3_version" - api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" - api "com.squareup.retrofit2:retrofit:$retrofit2_version" - api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" - api "com.squareup.retrofit2:converter-gson:$retrofit2_version" - - api "androidx.fragment:fragment-ktx:$fragmentktx_version" - api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" - api "androidx.navigation:navigation-runtime-ktx:$nav_version" - api "androidx.navigation:navigation-fragment-ktx:$nav_version" - api "androidx.navigation:navigation-ui-ktx:$nav_version" - - api "com.google.android.gms:play-services-wearable:$play_services_wearable_version" - api "com.google.android.gms:play-services-location:$play_services_location_version" - - api 'com.google.android.flexbox:flexbox:3.0.0' - api("io.socket:socket.io-client:1.0.0") { - // excluding org.json which is provided by Android - exclude group: "org.json", module: "json" - } - - api 'com.google.guava:guava:31.1-jre' - - api 'org.mozilla:rhino:1.7.14' - - api 'com.github.kenglxn.QRGen:android:2.6.0' - api 'com.eatthepath:java-otp:0.3.1' - - api "commons-codec:commons-codec:$commonscodec_version" - - // Phone checker - // updating to 0.0.9 prevents AAPS from build - api 'com.scottyab:rootbeer-lib:0.0.8' -} diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt b/core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt index 5f846581ae..71f6c92835 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt @@ -23,7 +23,7 @@ fun String.hexStringToByteArray(): ByteArray { val result = ByteArray(length / 2) val lowerCased = this.lowercase(Locale.getDefault()) - for (i in 0 until length step 2) { + for (i in indices step 2) { val firstIndex = HEX_CHARS.indexOf(lowerCased[i]) val secondIndex = HEX_CHARS.indexOf(lowerCased[i + 1]) diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index fd4ee5aef2..79aabc5acc 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -4,17 +4,17 @@ import android.content.Context import android.os.Environment import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.core.R -import info.nightscout.interfaces.Config import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils -import info.nightscout.androidaps.plugins.general.maintenance.formats.* -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.storage.Storage +import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat +import info.nightscout.interfaces.Config import info.nightscout.interfaces.data.maintenance.PrefMetadata import info.nightscout.interfaces.data.maintenance.PrefMetadataMap import info.nightscout.interfaces.data.maintenance.PrefsFile import info.nightscout.interfaces.data.maintenance.PrefsImportDir import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey import info.nightscout.interfaces.data.maintenance.PrefsStatus +import info.nightscout.interfaces.storage.Storage +import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.DateTime import org.joda.time.Days import org.joda.time.Hours @@ -94,10 +94,6 @@ class PrefFileListProvider @Inject constructor( return checkMetadata(encryptedPrefsFormat.loadMetadata(contents)) } - @Suppress("unused") fun legacyFile(): File { - return File(path, rh.gs(R.string.app_name) + "Preferences") - } - fun ensureExportDirExists(): File { if (!aapsPath.exists()) { aapsPath.mkdirs() diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 0aac8b3ccc..38d00cf57a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -13,26 +13,24 @@ import android.os.PowerManager import android.provider.Settings import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity -import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.PluginBase -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.rx.bus.RxBus +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton @Singleton class AndroidPermissionImpl @Inject constructor( - val rh: ResourceHelper, - val rxBus: RxBus, - val injector: HasAndroidInjector, - val activePlugin: ActivePlugin + private val rh: ResourceHelper, + private val activePlugin: ActivePlugin, + private val config: Config ) : AndroidPermission { private var permissionBatteryOptimizationFailed = false @@ -129,7 +127,7 @@ class AndroidPermissionImpl @Inject constructor( if (permissionNotGranted(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)) activePlugin.activeOverview.addNotification( id = Notification.PERMISSION_BATTERY, - text = rh.gs(R.string.need_whitelisting, rh.gs(R.string.app_name)), + text = rh.gs(R.string.need_whitelisting, rh.gs(config.appName)), level = Notification.URGENT, actionButtonId = R.string.request ) { askForPermission(activity, arrayOf(Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)) } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 100506e39d..c6756137cd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -40,7 +40,7 @@ class QueueThread internal constructor( private var mWakeLock: PowerManager.WakeLock? = null init { - mWakeLock = (context.getSystemService(Context.POWER_SERVICE) as PowerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, rh.gs(R.string.app_name) + ":QueueThread") + mWakeLock = (context.getSystemService(Context.POWER_SERVICE) as PowerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, rh.gs(config.appName) + ":QueueThread") } override fun run() { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt index a13b87991b..d21a2b8281 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt @@ -11,4 +11,5 @@ interface Config { val VERSION_NAME: String val DEBUG: Boolean val currentDeviceModelString : String + val appName: Int } \ No newline at end of file diff --git a/openhumans/build.gradle b/openhumans/build.gradle index 87b80dab73..797ea3d9d3 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -22,4 +22,7 @@ dependencies { implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + + api "com.squareup.okhttp3:okhttp:$okhttp3_version" + api "com.squareup.retrofit2:retrofit:$retrofit2_version" } \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/build.gradle index 7d421bcb4f..b14ffeda51 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -23,4 +23,28 @@ dependencies { implementation project(':core') implementation project(':interfaces') implementation project(':ns-sdk') + + // Actions + api 'androidx.gridlayout:gridlayout:1.0.0' + + // NSClient, Tidepool + api("io.socket:socket.io-client:1.0.0") { + // excluding org.json which is provided by Android + exclude group: "org.json", module: "json" + } + api "com.squareup.okhttp3:okhttp:$okhttp3_version" + api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" +// api "com.squareup.retrofit2:retrofit:$retrofit2_version" + api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" + api "com.squareup.retrofit2:converter-gson:$retrofit2_version" + + + // Phone checker + // updating to 0.0.9 prevents AAPS from build + api 'com.scottyab:rootbeer-lib:0.0.8' + + //SmsCommunicator + api 'com.eatthepath:java-otp:0.3.1' + api 'com.github.kenglxn.QRGen:android:2.6.0' + } \ No newline at end of file diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 746fc08c41..b2150687f9 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -22,6 +22,12 @@ android { moduleName "BleCommandUtil" } } + + sourceSets { + main { + jniLibs.srcDirs = ['src/main/jniLibs'] + } + } } dependencies { diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index 4aa1f76d4b..bb1b4ad234 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -26,14 +26,18 @@ android { } dependencies { - implementation project(':libraries') - implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':libraries') implementation project(':interfaces') + implementation project(':core') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" api "androidx.room:room-rxjava3:$room_version" kapt "androidx.room:room-compiler:$room_version" + + api "com.squareup.okhttp3:okhttp:$okhttp3_version" + api "com.squareup.retrofit2:retrofit:$retrofit2_version" + api "com.squareup.retrofit2:converter-gson:$retrofit2_version" } \ No newline at end of file diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt index 00f3b89b89..4b59a5bc51 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/history/cgms/MedtronicCGMSHistoryDecoder.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag -import okhttp3.internal.and import org.joda.time.LocalDateTime import java.util.Arrays @@ -190,10 +189,9 @@ class MedtronicCGMSHistoryDecoder constructor( } private fun decodeCalBGForGH(entry: CGMSHistoryEntry) { - val amount: Int = entry.getRawDataByIndex(3) and 32 shl 3 or entry.getRawDataByIndexInt(5) + val amount: Int = entry.getRawDataByIndex(3).toInt() and 32 shl 3 or entry.getRawDataByIndexInt(5) // - val originType: String - originType = when (entry.getRawDataByIndexInt(3) shr 5 and 3) { + val originType: String = when (entry.getRawDataByIndexInt(3) shr 5 and 3) { 0x00 -> "rf" else -> "unknown" } diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index 4c92c7eace..eb2d92e808 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -11,6 +11,7 @@ apply from: "${project.rootDir}/core/android_module_dependencies.gradle" apply from: "${project.rootDir}/core/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/test_dependencies.gradle" apply from: "${project.rootDir}/core/jacoco_global.gradle" + android { namespace 'info.nightscout.androidaps.plugins.pump.omnipod.common' } @@ -21,4 +22,6 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') + + api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index 93eb2f35cb..a2ba838417 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -2,19 +2,15 @@ package info.nightscout.ui.activities import android.os.Bundle import android.widget.ArrayAdapter -import com.google.firebase.auth.FirebaseAuth -import com.google.firebase.database.FirebaseDatabase import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse -import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivitySurveyBinding import info.nightscout.ui.defaultProfile.DefaultProfile @@ -92,7 +88,7 @@ class SurveyActivity : NoSplashAppCompatActivity() { val specificProfile = profileStore.getSpecificProfile(profileName) r.profileJson = specificProfile.toString() - +/* val auth = FirebaseAuth.getInstance() auth.signInAnonymously() .addOnCompleteListener(this) { task -> @@ -110,6 +106,7 @@ class SurveyActivity : NoSplashAppCompatActivity() { // ... } + */ finish() } } diff --git a/wear/build.gradle b/wear/build.gradle index 4a0f6de6fa..f6545564b1 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -127,8 +127,6 @@ dependencies { implementation "com.google.dagger:dagger-android:$dagger_version" implementation "com.google.dagger:dagger-android-support:$dagger_version" - annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" - annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" } From 6cc67e52a45d9dbed77f2e21ebd504ef3b7b1fc4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 13:30:48 +0100 Subject: [PATCH 026/123] core -> core-main --- app-wear-shared/rx/build.gradle | 6 +- app-wear-shared/shared-impl/build.gradle | 4 +- app-wear-shared/shared/build.gradle | 10 +- app/build.gradle | 8 +- .../info/nightscout/androidaps/MainApp.kt | 2 +- .../androidaps/dialogs/NtpProgressDialog.kt | 4 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../NotificationHolderImpl.kt | 2 +- automation/build.gradle | 12 +- .../automation/actions/ActionAlarmTest.kt | 8 +- .../actions/ActionCarePortalEventTest.kt | 6 +- .../actions/ActionLoopDisableTest.kt | 4 +- .../actions/ActionLoopEnableTest.kt | 4 +- .../actions/ActionLoopResumeTest.kt | 4 +- .../actions/ActionLoopSuspendTest.kt | 4 +- .../actions/ActionNotificationTest.kt | 6 +- .../actions/ActionProfileSwitchPercentTest.kt | 4 +- .../actions/ActionProfileSwitchTest.kt | 8 +- .../actions/ActionStartTempTargetTest.kt | 2 +- .../automation/actions/ActionsTestBase.kt | 4 +- .../automation/elements/StaticLabelTest.kt | 4 +- .../triggers/TriggerAutosensValueTest.kt | 4 +- .../triggers/TriggerBTDeviceTest.kt | 2 +- .../automation/triggers/TriggerBgTest.kt | 2 +- .../triggers/TriggerBolusAgoTest.kt | 2 +- .../automation/triggers/TriggerCOBTest.kt | 2 +- .../triggers/TriggerProfilePercentTest.kt | 2 +- .../triggers/TriggerPumpLastConnectionTest.kt | 2 +- .../triggers/TriggerTimeRangeTest.kt | 2 +- .../automation/triggers/TriggerTimeTest.kt | 4 +- .../triggers/TriggerWifiSsidTest.kt | 2 +- core/{ => core-main}/.gitignore | 0 .../allopen_dependencies.gradle | 0 .../android_dependencies.gradle | 0 .../android_module_dependencies.gradle | 0 core/{ => core-main}/build.gradle | 12 +- core/{ => core-main}/consumer-rules.pro | 0 core/{ => core-main}/jacoco_global.gradle | 0 core/{ => core-main}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 0 .../DaggerAppCompatActivityWithResult.kt | 2 +- .../activities/DialogAppCompatActivity.kt | 0 .../activities/NoSplashAppCompatActivity.kt | 2 +- .../androidaps/data/DetailedBolusInfo.kt | 0 .../androidaps/data/InMemoryGlucoseValue.kt | 0 .../nightscout/androidaps/data/IobTotal.kt | 0 .../androidaps/data/LocalInsulin.kt | 0 .../androidaps/data/ProfileSealed.kt | 2 +- .../androidaps/data/PumpEnactResultImpl.kt | 2 +- .../nightscout/androidaps/data/PureProfile.kt | 0 .../info/nightscout/androidaps/data/Sms.kt | 0 .../androidaps/di/CoreDataClassesModule.kt | 0 .../androidaps/di/CoreFragmentsModule.kt | 0 .../nightscout/androidaps/di/CoreModule.kt | 0 .../androidaps/di/CoreReceiversModule.kt | 0 .../androidaps/di/StaticInjector.kt | 0 .../androidaps/di/ValidatorsModule.kt | 0 .../androidaps/dialogs/BolusProgressDialog.kt | 4 +- .../dialogs/DialogFragmentWithDate.kt | 2 +- .../androidaps/dialogs/ErrorDialog.kt | 4 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 4 +- .../EventEffectiveProfileSwitchChanged.kt | 0 .../androidaps/events/EventNewBG.kt | 0 .../androidaps/events/EventNewHistoryData.kt | 0 .../events/EventPreferenceChange.kt | 0 .../events/EventPumpStatusChanged.kt | 2 +- .../androidaps/events/EventStatus.kt | 0 .../androidaps/extensions/BlockExtension.kt | 0 .../extensions/BluetoothAdapterExtension.kt | 0 .../BolusCalculatorResultExtension.kt | 0 .../androidaps/extensions/BolusExtension.kt | 0 .../androidaps/extensions/Concurrency.kt | 0 .../extensions/EmptyRecyclerView.kt | 182 ++--- .../extensions/ExtendedBolusExtension.kt | 0 .../androidaps/extensions/FoodExtension.kt | 0 .../extensions/GlucoseValueExtension.kt | 0 .../extensions/HexByteArrayConversion.kt | 0 .../androidaps/extensions/HtmlString.kt | 0 .../androidaps/extensions/IntentExtension.kt | 0 .../androidaps/extensions/JSONObjectExt.kt | 0 .../extensions/ProfileSwitchExtension.kt | 0 .../extensions/PumpStateExtension.kt | 0 .../extensions/PumpTypeExtension.kt | 0 .../extensions/TemporaryBasalExtension.kt | 0 .../extensions/TemporaryTargetExtension.kt | 2 +- .../extensions/TherapyEventExtension.kt | 0 .../extensions/TotalDailyDoseExtension.kt | 2 +- .../androidaps/extensions/TrendArrowIcon.kt | 2 +- .../androidaps/extensions/UserEntryExt.kt | 2 +- .../nightscout/androidaps/interfaces/APS.kt | 0 .../androidaps/interfaces/ActivePlugin.kt | 0 .../androidaps/interfaces/BgSource.kt | 0 .../androidaps/interfaces/CommandQueue.kt | 0 .../androidaps/interfaces/Constraints.kt | 0 .../androidaps/interfaces/DataSyncSelector.kt | 0 .../DetermineBasalAdapterInterface.kt | 0 .../androidaps/interfaces/Insulin.kt | 0 .../androidaps/interfaces/IobCobCalculator.kt | 0 .../nightscout/androidaps/interfaces/Loop.kt | 0 .../androidaps/interfaces/Profile.kt | 0 .../androidaps/interfaces/ProfileFunction.kt | 0 .../androidaps/interfaces/ProfileSource.kt | 0 .../androidaps/interfaces/ProfileStore.kt | 0 .../nightscout/androidaps/interfaces/Pump.kt | 0 .../androidaps/interfaces/PumpPluginBase.kt | 2 +- .../androidaps/interfaces/PumpSync.kt | 0 .../androidaps/interfaces/Sensitivity.kt | 0 .../androidaps/interfaces/TrendCalculator.kt | 0 .../androidaps/interfaces/XDripBroadcast.kt | 0 .../androidaps/interfaces/stats/DexcomTIR.kt | 0 .../interfaces/stats/DexcomTirCalculator.kt | 0 .../androidaps/interfaces/stats/TIR.kt | 0 .../interfaces/stats/TddCalculator.kt | 0 .../interfaces/stats/TirCalculator.kt | 0 .../androidaps/logging/UserEntryLogger.kt | 0 .../androidaps/plugins/aps/loop/APSResult.kt | 2 +- .../versionChecker/VersionCheckerUtils.kt | 2 +- .../maintenance/PrefFileListProvider.kt | 2 +- .../general/maintenance/PrefsFileContract.kt | 0 .../activities/PrefImportListActivity.kt | 6 +- .../formats/EncryptedPrefsFormat.kt | 2 +- .../plugins/general/overview/OverviewData.kt | 2 +- .../EventDismissBolusProgressIfRunning.kt | 0 .../events/EventDismissNotification.kt | 0 .../overview/events/EventNewNotification.kt | 0 .../graphExtensions/AreaGraphSeries.java | 0 .../graphExtensions/BolusDataPoint.kt | 2 +- .../graphExtensions/CarbsDataPoint.kt | 2 +- .../DataPointWithLabelInterface.kt | 0 .../graphExtensions/DeviationDataPoint.kt | 0 .../graphExtensions/DoubleDataPoint.kt | 0 .../EffectiveProfileSwitchDataPoint.kt | 2 +- .../graphExtensions/ExtendedBolusDataPoint.kt | 2 +- .../graphExtensions/FixedLineGraphSeries.java | 0 .../graphExtensions/GlucoseValueDataPoint.kt | 2 +- .../InMemoryGlucoseValueDataPoint.kt | 2 +- .../PointsWithLabelGraphSeries.java | 2 +- .../general/overview/graphExtensions/Scale.kt | 0 .../graphExtensions/ScaledDataPoint.kt | 0 .../graphExtensions/TherapyEventDataPoint.kt | 2 +- .../TimeAsXAxisLabelFormatter.java | 0 .../iob/iobCobCalculator/AutosensDataStore.kt | 0 .../iob/iobCobCalculator/AutosensResult.kt | 0 .../plugins/iob/iobCobCalculator/BasalData.kt | 0 .../plugins/iob/iobCobCalculator/CobInfo.kt | 2 +- .../iob/iobCobCalculator/GlucoseStatus.kt | 0 .../iobCobCalculator/GlucoseStatusProvider.kt | 0 .../iob/iobCobCalculator/data/AutosensData.kt | 2 +- .../events/EventBucketedDataCreated.kt | 0 .../plugins/pump/common/ble/BlePreCheck.kt | 2 +- .../bolusInfo/DetailedBolusInfoStorage.kt | 0 .../common/bolusInfo/TemporaryBasalStorage.kt | 0 .../pump/common/utils/DateTimeUtil.java | 0 .../androidaps/queue/commands/Command.kt | 2 +- .../androidaps/receivers/DataWorkerStorage.kt | 0 .../androidaps/receivers/Intents.kt | 0 .../receivers/NetworkChangeReceiver.kt | 0 .../receivers/ReceiverStatusStore.kt | 0 .../androidaps/services/AlarmSoundService.kt | 2 +- .../services/AlarmSoundServiceHelper.kt | 0 .../androidaps/utils/ActionModeHelper.kt | 370 +++++----- .../nightscout/androidaps/utils/CryptoUtil.kt | 252 +++---- .../androidaps/utils/DecimalFormatter.kt | 2 +- .../androidaps/utils/DefaultValueHelper.kt | 2 +- .../androidaps/utils/FabricPrivacy.kt | 2 +- .../nightscout/androidaps/utils/HardLimits.kt | 2 +- .../nightscout/androidaps/utils/InstanceId.kt | 0 .../nightscout/androidaps/utils/ToastUtils.kt | 2 +- .../nightscout/androidaps/utils/Translator.kt | 2 +- .../nightscout/androidaps/utils/WarnColors.kt | 2 +- .../utils/alertDialogs/AlertDialogHelper.kt | 2 +- .../androidaps/utils/alertDialogs/OKDialog.kt | 2 +- .../utils/alertDialogs/WarningDialog.kt | 2 +- .../utils/protection/BiometricCheck.kt | 2 +- .../utils/protection/PasswordCheck.kt | 2 +- .../utils/protection/ProtectionCheck.kt | 2 +- .../resources/ResourceHelperExtensions.kt | 0 .../resources/ResourceHelperImplementation.kt | 2 +- .../utils/serialisation/SealedClassHelper.kt | 0 .../serialisation/ValueWithUnitSerialiser.kt | 0 .../textValidator/DefaultEditTextValidator.kt | 2 +- .../utils/textValidator/EditTextValidator.kt | 0 .../ValidatingEditTextPreference.kt | 2 +- .../validators/AlphaNumericValidator.kt | 0 .../validators/AlphaValidator.kt | 0 .../textValidator/validators/AndValidator.kt | 0 .../validators/BgRangeValidator.kt | 0 .../validators/CreditCardValidator.kt | 0 .../textValidator/validators/DateValidator.kt | 0 .../validators/DigitLengthRangeValidator.kt | 0 .../validators/DomainValidator.kt | 0 .../validators/DummyValidator.kt | 0 .../validators/EmailValidator.kt | 0 .../validators/EmptyValidator.kt | 0 .../validators/FloatNumericRangeValidator.kt | 0 .../validators/HttpsUrlValidator.kt | 0 .../validators/IpAddressValidator.kt | 0 .../validators/MinDigitLengthValidator.kt | 0 .../validators/MultiPhoneValidator.kt | 0 .../validators/MultiValidator.kt | 0 .../textValidator/validators/NotValidator.kt | 0 .../validators/NumericRangeValidator.kt | 0 .../validators/NumericValidator.kt | 0 .../textValidator/validators/OrValidator.kt | 0 .../validators/PatternValidator.kt | 0 .../validators/PersonFullNameValidator.kt | 0 .../validators/PersonNameValidator.kt | 0 .../validators/PhoneValidator.kt | 0 .../validators/PinStrengthValidator.kt | 0 .../validators/RegexpValidator.kt | 0 .../validators/SameValueValidator.kt | 0 .../textValidator/validators/Validator.kt | 0 .../validators/WebUrlValidator.kt | 0 .../androidaps/utils/ui/BasalProfileGraph.kt | 2 +- .../utils/ui/BluetoothDevicePreference.kt | 2 +- .../utils/ui/DigitsKeyListenerWithComma.java | 0 .../androidaps/utils/ui/IcProfileGraph.kt | 2 +- .../androidaps/utils/ui/IsfProfileGraph.kt | 2 +- .../utils/ui/MinutesNumberPicker.kt | 2 +- .../androidaps/utils/ui/NumberPicker.kt | 4 +- .../utils/ui/NumberPickerVertical.kt | 2 +- .../utils/ui/NumberPickerViewAdapter.kt | 72 +- .../androidaps/utils/ui/SingleClickButton.kt | 2 +- .../utils/ui/TargetBgProfileGraph.kt | 2 +- .../androidaps/utils/ui/UIRunnable.kt | 0 .../androidaps/utils/ui/VerticalTextView.kt | 0 .../utils/userEntry/UserEntryMapper.kt | 0 .../userEntry/UserEntryPresentationHelper.kt | 2 +- .../utils/userEntry/ValueWithUnitMapper.kt | 0 .../res/color/day_selection_background.xml | 0 .../color/mtrl_btn_bg_color_selector_grey.xml | 0 .../drawable-hdpi/background_input_border.xml | 0 .../src/main/res/drawable-hdpi/dialog.xml | 0 .../main/res/drawable-hdpi/dialog_header.xml | 0 .../res/drawable-hdpi/toast_border_ok.xml | 0 .../main/res/drawable/alert_border_error.xml | 0 .../res/drawable/alert_border_warning.xml | 0 .../src/main/res/drawable/anim_carbs.xml | 0 .../src/main/res/drawable/ic_aaps.xml | 0 .../res/drawable/ic_access_alarm_24dp.xml | 0 .../src/main/res/drawable/ic_action.xml | 0 .../main/res/drawable/ic_actions_refill.xml | 0 .../ic_actions_start_extended_bolus.xml | 0 .../drawable/ic_actions_starttempbasal.xml | 0 .../src/main/res/drawable/ic_add.xml | 0 .../src/main/res/drawable/ic_automation.xml | 0 .../src/main/res/drawable/ic_autotune.xml | 0 .../src/main/res/drawable/ic_blooddrop_48.xml | 0 .../res/drawable/ic_bluetooth_white_48dp.xml | 0 .../src/main/res/drawable/ic_bolus.xml | 0 .../src/main/res/drawable/ic_calculator.xml | 0 .../src/main/res/drawable/ic_calibration.xml | 0 .../main/res/drawable/ic_check_while_48dp.xml | 0 .../src/main/res/drawable/ic_clone.xml | 0 .../src/main/res/drawable/ic_close.xml | 0 .../src/main/res/drawable/ic_cogs.xml | 0 .../src/main/res/drawable/ic_combo_128.xml | 0 .../main/res/drawable/ic_compare_profiles.xml | 0 .../main/res/drawable/ic_cp_announcement.xml | 0 .../main/res/drawable/ic_cp_basal_no_tbr.xml | 0 .../res/drawable/ic_cp_basal_tbr_high.xml | 0 .../main/res/drawable/ic_cp_basal_tbr_low.xml | 0 .../src/main/res/drawable/ic_cp_bgcheck.xml | 0 .../main/res/drawable/ic_cp_bolus_carbs.xml | 0 .../res/drawable/ic_cp_bolus_carbs_red.xml | 0 .../main/res/drawable/ic_cp_cgm_insert.xml | 0 .../src/main/res/drawable/ic_cp_exercise.xml | 0 .../src/main/res/drawable/ic_cp_note.xml | 0 .../main/res/drawable/ic_cp_pump_battery.xml | 0 .../main/res/drawable/ic_cp_pump_canula.xml | 0 .../src/main/res/drawable/ic_cp_question.xml | 0 .../src/main/res/drawable/ic_cp_stats.xml | 0 .../src/main/res/drawable/ic_danai_128.xml | 0 .../main/res/drawable/ic_danar_useropt.xml | 0 .../src/main/res/drawable/ic_danarprofile.xml | 0 .../src/main/res/drawable/ic_danars_128.xml | 0 .../src/main/res/drawable/ic_danarstats.xml | 0 .../src/main/res/drawable/ic_dexcom_g6.xml | 0 .../src/main/res/drawable/ic_diaconn_g8.xml | 0 .../src/main/res/drawable/ic_doubledown.xml | 0 .../src/main/res/drawable/ic_doubleup.xml | 0 .../src/main/res/drawable/ic_eopatch2_128.xml | 0 .../main/res/drawable/ic_error_red_48dp.xml | 0 .../src/main/res/drawable/ic_eversense.xml | 0 .../src/main/res/drawable/ic_flat.xml | 0 .../src/main/res/drawable/ic_food.xml | 0 .../main/res/drawable/ic_fortyfivedown.xml | 0 .../src/main/res/drawable/ic_fortyfiveup.xml | 0 .../src/main/res/drawable/ic_generic_cgm.xml | 0 .../src/main/res/drawable/ic_generic_icon.xml | 0 .../src/main/res/drawable/ic_glimp.xml | 0 .../src/main/res/drawable/ic_glunovo.xml | 0 .../src/main/res/drawable/ic_graduation.xml | 0 .../src/main/res/drawable/ic_header_key.xml | 0 .../main/res/drawable/ic_header_warning.xml | 0 .../src/main/res/drawable/ic_home.xml | 0 .../src/main/res/drawable/ic_home_profile.xml | 0 .../src/main/res/drawable/ic_ict.xml | 0 .../src/main/res/drawable/ic_insight_128.xml | 0 .../src/main/res/drawable/ic_insulin.xml | 0 .../src/main/res/drawable/ic_intelligo.xml | 0 .../src/main/res/drawable/ic_invalid.xml | 0 .../main/res/drawable/ic_local_profile.xml | 0 .../src/main/res/drawable/ic_local_save.xml | 0 .../src/main/res/drawable/ic_loop_closed.xml | 0 .../main/res/drawable/ic_loop_closed_off.xml | 0 .../res/drawable/ic_loop_closed_white.xml | 0 .../src/main/res/drawable/ic_maintenance.xml | 0 .../src/main/res/drawable/ic_minus.xml | 0 .../res/drawable/ic_nightscout_profile.xml | 0 .../main/res/drawable/ic_nightscout_syncs.xml | 0 .../src/main/res/drawable/ic_notif_aaps.xml | 0 .../src/main/res/drawable/ic_nsclient_bg.xml | 0 .../res/drawable/ic_patch_pump_outline.xml | 0 .../src/main/res/drawable/ic_plus.xml | 0 .../src/main/res/drawable/ic_poctech.xml | 0 .../src/main/res/drawable/ic_pod_128.xml | 0 .../src/main/res/drawable/ic_pump_history.xml | 0 .../src/main/res/drawable/ic_quick_wizard.xml | 0 .../src/main/res/drawable/ic_refresh.xml | 0 .../src/main/res/drawable/ic_remove.xml | 0 .../main/res/drawable/ic_ribbon_profile.xml | 0 .../src/main/res/drawable/ic_sensor.xml | 0 .../src/main/res/drawable/ic_singledown.xml | 0 .../src/main/res/drawable/ic_singleup.xml | 0 .../src/main/res/drawable/ic_smartphone.xml | 0 .../src/main/res/drawable/ic_sms.xml | 0 .../src/main/res/drawable/ic_sort.xml | 0 .../ic_swap_vert_black_48dp_green.xml | 0 .../main/res/drawable/ic_temptarget_high.xml | 0 .../src/main/res/drawable/ic_toast_check.xml | 0 .../res/drawable/ic_toast_delete_confirm.xml | 0 .../src/main/res/drawable/ic_toast_error.xml | 0 .../src/main/res/drawable/ic_toast_info.xml | 0 .../src/main/res/drawable/ic_toast_warn.xml | 0 .../src/main/res/drawable/ic_trash.xml | 0 .../main/res/drawable/ic_trash_outline.xml | 0 .../src/main/res/drawable/ic_treatments.xml | 0 .../drawable/ic_trending_flat_white_48dp.xml | 0 .../src/main/res/drawable/ic_veo.xml | 0 .../src/main/res/drawable/ic_veo_128.xml | 0 .../src/main/res/drawable/ic_virtual_pump.xml | 0 .../src/main/res/drawable/ic_watch.xml | 0 .../src/main/res/drawable/ic_x_swap_vert.xml | 0 .../main/res/drawable/icon_insulin_carbs.xml | 0 .../src/main/res/drawable/launch_screen.xml | 0 .../drawable/material_button_background.xml | 0 .../res/drawable/material_button_selected.xml | 0 .../src/main/res/drawable/pillborder.xml | 0 .../src/main/res/drawable/splash_icon.png | Bin .../src/main/res/layout/close.xml | 0 .../src/main/res/layout/datetime.xml | 0 .../res/layout/dialog_alert_custom_title.xml | 0 .../main/res/layout/dialog_bolusprogress.xml | 0 .../src/main/res/layout/dialog_error.xml | 0 .../main/res/layout/dialog_profileviewer.xml | 0 .../maintenance_import_list_activity.xml | 0 .../layout/maintenance_import_list_item.xml | 0 .../src/main/res/layout/notes.xml | 0 .../main/res/layout/number_picker_layout.xml | 0 .../layout/number_picker_layout_vertical.xml | 0 .../src/main/res/layout/okcancel.xml | 0 .../src/main/res/layout/passwordprompt.xml | 0 .../src/main/res/layout/spinner_centered.xml | 0 .../src/main/res/layout/toast.xml | 0 .../src/main/res/menu/menu_actions.xml | 38 +- .../main/res/menu/menu_delete_selection.xml | 0 .../src/main/res/raw/alarm.mp3 | Bin .../src/main/res/raw/boluserror.mp3 | Bin .../src/main/res/raw/error.mp3 | Bin .../src/main/res/values-af-rZA/protection.xml | 0 .../src/main/res/values-af-rZA/strings.xml | 0 .../src/main/res/values-af-rZA/validator.xml | 0 .../src/main/res/values-ar-rSA/protection.xml | 0 .../src/main/res/values-ar-rSA/strings.xml | 0 .../src/main/res/values-bg-rBG/protection.xml | 0 .../src/main/res/values-bg-rBG/strings.xml | 0 .../src/main/res/values-bg-rBG/validator.xml | 0 .../src/main/res/values-ca-rES/strings.xml | 0 .../src/main/res/values-ca-rES/validator.xml | 0 .../src/main/res/values-cs-rCZ/protection.xml | 0 .../src/main/res/values-cs-rCZ/strings.xml | 0 .../src/main/res/values-cs-rCZ/validator.xml | 0 .../src/main/res/values-cy-rGB/protection.xml | 0 .../src/main/res/values-cy-rGB/strings.xml | 0 .../src/main/res/values-da-rDK/strings.xml | 0 .../src/main/res/values-da-rDK/validator.xml | 0 .../src/main/res/values-de-rDE/protection.xml | 0 .../src/main/res/values-de-rDE/strings.xml | 0 .../src/main/res/values-de-rDE/validator.xml | 0 .../src/main/res/values-el-rGR/protection.xml | 0 .../src/main/res/values-el-rGR/strings.xml | 0 .../src/main/res/values-el-rGR/validator.xml | 0 .../src/main/res/values-es-rES/protection.xml | 0 .../src/main/res/values-es-rES/strings.xml | 0 .../src/main/res/values-es-rES/validator.xml | 0 .../src/main/res/values-fi-rFI/protection.xml | 0 .../src/main/res/values-fi-rFI/strings.xml | 0 .../src/main/res/values-fr-rFR/protection.xml | 0 .../src/main/res/values-fr-rFR/strings.xml | 0 .../src/main/res/values-fr-rFR/validator.xml | 0 .../src/main/res/values-ga-rIE/protection.xml | 0 .../src/main/res/values-ga-rIE/strings.xml | 0 .../src/main/res/values-ga-rIE/validator.xml | 0 .../src/main/res/values-hr-rHR/protection.xml | 0 .../src/main/res/values-hr-rHR/strings.xml | 0 .../src/main/res/values-hr-rHR/validator.xml | 0 .../src/main/res/values-hu-rHU/strings.xml | 0 .../src/main/res/values-hu-rHU/validator.xml | 0 .../src/main/res/values-it-rIT/protection.xml | 0 .../src/main/res/values-it-rIT/strings.xml | 0 .../src/main/res/values-it-rIT/validator.xml | 0 .../src/main/res/values-iw-rIL/protection.xml | 0 .../src/main/res/values-iw-rIL/strings.xml | 0 .../src/main/res/values-iw-rIL/validator.xml | 0 .../src/main/res/values-ja-rJP/protection.xml | 0 .../src/main/res/values-ja-rJP/strings.xml | 0 .../src/main/res/values-ko-rKR/protection.xml | 0 .../src/main/res/values-ko-rKR/strings.xml | 0 .../src/main/res/values-ko-rKR/validator.xml | 0 .../src/main/res/values-lt-rLT/protection.xml | 0 .../src/main/res/values-lt-rLT/strings.xml | 0 .../src/main/res/values-lt-rLT/validator.xml | 0 .../src/main/res/values-night/colors.xml | 0 .../src/main/res/values-night/styles.xml | 0 .../src/main/res/values-nl-rNL/protection.xml | 0 .../src/main/res/values-nl-rNL/strings.xml | 0 .../src/main/res/values-nl-rNL/validator.xml | 0 .../src/main/res/values-no-rNO/strings.xml | 0 .../src/main/res/values-no-rNO/validator.xml | 0 .../src/main/res/values-pl-rPL/protection.xml | 0 .../src/main/res/values-pl-rPL/strings.xml | 0 .../src/main/res/values-pl-rPL/validator.xml | 0 .../src/main/res/values-pt-rBR/protection.xml | 0 .../src/main/res/values-pt-rBR/strings.xml | 0 .../src/main/res/values-pt-rBR/validator.xml | 0 .../src/main/res/values-pt-rPT/protection.xml | 0 .../src/main/res/values-pt-rPT/strings.xml | 0 .../src/main/res/values-pt-rPT/validator.xml | 0 .../src/main/res/values-ro-rRO/protection.xml | 0 .../src/main/res/values-ro-rRO/strings.xml | 0 .../src/main/res/values-ro-rRO/validator.xml | 0 .../src/main/res/values-ru-rRU/protection.xml | 0 .../src/main/res/values-ru-rRU/strings.xml | 0 .../src/main/res/values-ru-rRU/validator.xml | 0 .../src/main/res/values-sk-rSK/protection.xml | 0 .../src/main/res/values-sk-rSK/strings.xml | 0 .../src/main/res/values-sk-rSK/validator.xml | 0 .../src/main/res/values-sl-rSI/protection.xml | 0 .../src/main/res/values-sl-rSI/strings.xml | 0 .../src/main/res/values-sl-rSI/validator.xml | 0 .../src/main/res/values-sr-rCS/strings.xml | 0 .../src/main/res/values-sr-rCS/validator.xml | 0 .../src/main/res/values-sv-rSE/protection.xml | 0 .../src/main/res/values-sv-rSE/strings.xml | 0 .../src/main/res/values-sv-rSE/validator.xml | 0 .../src/main/res/values-ta-rIN/strings.xml | 0 .../src/main/res/values-ta-rIN/validator.xml | 0 .../src/main/res/values-tr-rTR/protection.xml | 0 .../src/main/res/values-tr-rTR/strings.xml | 0 .../src/main/res/values-tr-rTR/validator.xml | 0 .../src/main/res/values-zh-rCN/protection.xml | 0 .../src/main/res/values-zh-rCN/strings.xml | 0 .../src/main/res/values-zh-rCN/validator.xml | 0 .../src/main/res/values/attrs.xml | 0 .../src/main/res/values/colors.xml | 0 .../src/main/res/values/dimens.xml | 0 .../src/main/res/values/fet_attrs.xml | 0 .../src/main/res/values/protection.xml | 49 ++ .../core-main/src/main/res/values/strings.xml | 673 ++++++++++++++++++ .../src/main/res/values/styles.xml | 0 .../src/main/res/values/validator.xml | 30 + .../info/nightscout/androidaps/TestBase.kt | 0 .../androidaps/TestBaseWithProfile.kt | 0 .../nightscout/androidaps/TestPumpPlugin.kt | 0 .../androidaps/data/ConstraintTest.kt | 0 .../androidaps/data/DetailedBolusInfoTest.kt | 0 .../nightscout/androidaps/data/IobTest.kt | 0 .../androidaps/data/IobTotalTest.kt | 0 .../androidaps/data/MealDataTest.kt | 0 .../nightscout/androidaps/data/ProfileTest.kt | 2 +- .../androidaps/data/PumpEnactResultTest.kt | 2 +- .../extensions/BlockExtensionKtTest.kt | 0 .../interfaces/PluginDescriptionTest.kt | 0 .../androidaps/interfaces/ProfileStoreTest.kt | 0 .../interfaces/PumpDescriptionTest.kt | 0 .../plugins/aps/loop/APSResultTest.kt | 0 .../VersionCheckerUtilsKtTest.kt | 0 .../formats/EncryptedPrefsFormatTest.kt | 0 .../formats/SingleStringStorage.kt | 0 .../iob/iobCalculator/GlucoseStatusTest.kt | 0 .../iobCobCalculator/AutosensDataStoreTest.kt | 0 .../bolusInfo/DetailedBolusInfoStorageTest.kt | 0 .../bolusInfo/TemporaryBasalStorageTest.kt | 0 .../pump/common/utils/DateTimeUtilUTest.java | 0 .../androidaps/utils/CryptoUtilTest.kt | 0 .../androidaps/utils/DateUtilTest.kt | 2 +- .../androidaps/utils/DecimalFormatterTest.kt | 0 .../androidaps/utils/JsonHelperTest.kt | 0 .../androidaps/utils/MidnightTimeTest.kt | 0 .../nightscout/androidaps/utils/RoundTest.kt | 0 .../androidaps/utils/StringUtilsTest.kt | 0 .../info/nightscout/androidaps/utils/TTest.kt | 0 .../ValueWithUnitSerialiserTest.kt | 0 core/{ => core-main}/test_dependencies.gradle | 0 core/src/main/res/values/protection.xml | 46 -- core/src/main/res/values/strings.xml | 670 ----------------- core/src/main/res/values/validator.xml | 27 - database/build.gradle | 4 +- graphview/build.gradle | 2 +- implementation/build.gradle | 12 +- .../implementation/TrendCalculatorImpl.kt | 2 +- .../pump/PumpSyncImplementation.kt | 2 +- insight/build.gradle | 12 +- interfaces/build.gradle | 4 +- ns-sdk/build.gradle | 6 +- openhumans/build.gradle | 12 +- plugins/build.gradle | 12 +- .../configBuilder/RunningConfiguration.kt | 2 +- .../general/autotune/data/ATProfile.kt | 2 +- .../extensions/TherapyEventExtension.kt | 2 +- pump/combo/build.gradle | 12 +- pump/dana/build.gradle | 12 +- pump/danar/build.gradle | 12 +- pump/danars/build.gradle | 12 +- .../danars/activities/BLEScanActivity.kt | 8 +- .../androidaps/danars/services/BLEComm.kt | 2 +- pump/diaconn/build.gradle | 12 +- .../activities/DiaconnG8BLEScanActivity.kt | 4 +- .../diaconn/service/BLECommonService.kt | 2 +- pump/eopatch/build.gradle | 10 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 8 +- .../pump/eopatch/ui/AlarmHelperActivity.kt | 2 +- .../pump/eopatch/ui/DialogHelperActivity.kt | 2 +- .../plugins/pump/eopatch/ui/EoBaseActivity.kt | 2 +- .../pump/eopatch/ui/dialogs/AlarmDialog.kt | 2 +- pump/medtronic/build.gradle | 12 +- pump/omnipod-common/build.gradle | 12 +- pump/omnipod-dash/build.gradle | 12 +- pump/omnipod-eros/build.gradle | 12 +- pump/pump-common/build.gradle | 12 +- pump/pump-core/build.gradle | 10 +- pump/rileylink/build.gradle | 12 +- settings.gradle | 2 +- ui/build.gradle | 10 +- .../ui/activities/ErrorHelperActivity.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- wear/build.gradle | 6 +- 548 files changed, 1489 insertions(+), 1480 deletions(-) rename core/{ => core-main}/.gitignore (100%) rename core/{ => core-main}/allopen_dependencies.gradle (100%) rename core/{ => core-main}/android_dependencies.gradle (100%) rename core/{ => core-main}/android_module_dependencies.gradle (100%) rename core/{ => core-main}/build.gradle (89%) rename core/{ => core-main}/consumer-rules.pro (100%) rename core/{ => core-main}/jacoco_global.gradle (100%) rename core/{ => core-main}/proguard-rules.pro (100%) rename core/{ => core-main}/src/main/AndroidManifest.xml (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/IobTotal.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/PureProfile.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/data/Sms.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/CoreModule.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/events/EventStatus.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/BluetoothAdapterExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/Concurrency.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/IntentExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt (95%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt (94%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/APS.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt (95%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTirCalculator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/interfaces/stats/TirCalculator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/AreaGraphSeries.java (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt (95%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DataPointWithLabelInterface.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DeviationDataPoint.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DoubleDataPoint.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt (95%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/FixedLineGraphSeries.java (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/Scale.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ScaledDataPoint.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TimeAsXAxisLabelFormatter.java (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/DateTimeUtil.java (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/receivers/Intents.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/Translator.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/EditTextValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaNumericValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AndValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/CreditCardValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DateValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DigitLengthRangeValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DomainValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DummyValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmailValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmptyValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/FloatNumericRangeValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/HttpsUrlValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/IpAddressValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MinDigitLengthValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiPhoneValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NotValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericRangeValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/OrValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PatternValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonFullNameValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonNameValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PhoneValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PinStrengthValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/RegexpValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/SameValueValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/Validator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/WebUrlValidator.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt (97%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt (98%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt (85%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt (88%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt (96%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt (100%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt (99%) rename core/{ => core-main}/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt (100%) rename core/{ => core-main}/src/main/res/color/day_selection_background.xml (100%) rename core/{ => core-main}/src/main/res/color/mtrl_btn_bg_color_selector_grey.xml (100%) rename core/{ => core-main}/src/main/res/drawable-hdpi/background_input_border.xml (100%) rename core/{ => core-main}/src/main/res/drawable-hdpi/dialog.xml (100%) rename core/{ => core-main}/src/main/res/drawable-hdpi/dialog_header.xml (100%) rename core/{ => core-main}/src/main/res/drawable-hdpi/toast_border_ok.xml (100%) rename core/{ => core-main}/src/main/res/drawable/alert_border_error.xml (100%) rename core/{ => core-main}/src/main/res/drawable/alert_border_warning.xml (100%) rename core/{ => core-main}/src/main/res/drawable/anim_carbs.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_aaps.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_access_alarm_24dp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_action.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_actions_refill.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_actions_start_extended_bolus.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_actions_starttempbasal.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_add.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_automation.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_autotune.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_blooddrop_48.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_bluetooth_white_48dp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_bolus.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_calculator.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_calibration.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_check_while_48dp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_clone.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_close.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cogs.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_combo_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_compare_profiles.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_announcement.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_basal_no_tbr.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_basal_tbr_high.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_basal_tbr_low.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_bgcheck.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_bolus_carbs.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_bolus_carbs_red.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_cgm_insert.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_exercise.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_note.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_pump_battery.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_pump_canula.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_question.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_cp_stats.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_danai_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_danar_useropt.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_danarprofile.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_danars_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_danarstats.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_dexcom_g6.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_diaconn_g8.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_doubledown.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_doubleup.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_eopatch2_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_error_red_48dp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_eversense.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_flat.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_food.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_fortyfivedown.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_fortyfiveup.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_generic_cgm.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_generic_icon.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_glimp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_glunovo.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_graduation.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_header_key.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_header_warning.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_home.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_home_profile.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_ict.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_insight_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_insulin.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_intelligo.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_invalid.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_local_profile.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_local_save.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_loop_closed.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_loop_closed_off.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_loop_closed_white.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_maintenance.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_minus.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_nightscout_profile.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_nightscout_syncs.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_notif_aaps.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_nsclient_bg.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_patch_pump_outline.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_plus.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_poctech.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_pod_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_pump_history.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_quick_wizard.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_refresh.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_remove.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_ribbon_profile.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_sensor.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_singledown.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_singleup.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_smartphone.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_sms.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_sort.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_temptarget_high.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_toast_check.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_toast_delete_confirm.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_toast_error.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_toast_info.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_toast_warn.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_trash.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_trash_outline.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_treatments.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_trending_flat_white_48dp.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_veo.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_veo_128.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_virtual_pump.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_watch.xml (100%) rename core/{ => core-main}/src/main/res/drawable/ic_x_swap_vert.xml (100%) rename core/{ => core-main}/src/main/res/drawable/icon_insulin_carbs.xml (100%) rename core/{ => core-main}/src/main/res/drawable/launch_screen.xml (100%) rename core/{ => core-main}/src/main/res/drawable/material_button_background.xml (100%) rename core/{ => core-main}/src/main/res/drawable/material_button_selected.xml (100%) rename core/{ => core-main}/src/main/res/drawable/pillborder.xml (100%) rename core/{ => core-main}/src/main/res/drawable/splash_icon.png (100%) rename core/{ => core-main}/src/main/res/layout/close.xml (100%) rename core/{ => core-main}/src/main/res/layout/datetime.xml (100%) rename core/{ => core-main}/src/main/res/layout/dialog_alert_custom_title.xml (100%) rename core/{ => core-main}/src/main/res/layout/dialog_bolusprogress.xml (100%) rename core/{ => core-main}/src/main/res/layout/dialog_error.xml (100%) rename core/{ => core-main}/src/main/res/layout/dialog_profileviewer.xml (100%) rename core/{ => core-main}/src/main/res/layout/maintenance_import_list_activity.xml (100%) rename core/{ => core-main}/src/main/res/layout/maintenance_import_list_item.xml (100%) rename core/{ => core-main}/src/main/res/layout/notes.xml (100%) rename core/{ => core-main}/src/main/res/layout/number_picker_layout.xml (100%) rename core/{ => core-main}/src/main/res/layout/number_picker_layout_vertical.xml (100%) rename core/{ => core-main}/src/main/res/layout/okcancel.xml (100%) rename core/{ => core-main}/src/main/res/layout/passwordprompt.xml (100%) rename core/{ => core-main}/src/main/res/layout/spinner_centered.xml (100%) rename core/{ => core-main}/src/main/res/layout/toast.xml (100%) rename core/{ => core-main}/src/main/res/menu/menu_actions.xml (96%) rename core/{ => core-main}/src/main/res/menu/menu_delete_selection.xml (100%) rename core/{ => core-main}/src/main/res/raw/alarm.mp3 (100%) rename core/{ => core-main}/src/main/res/raw/boluserror.mp3 (100%) rename core/{ => core-main}/src/main/res/raw/error.mp3 (100%) rename core/{ => core-main}/src/main/res/values-af-rZA/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-af-rZA/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-af-rZA/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ar-rSA/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ar-rSA/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-bg-rBG/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-bg-rBG/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-bg-rBG/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ca-rES/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ca-rES/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-cs-rCZ/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-cs-rCZ/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-cs-rCZ/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-cy-rGB/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-cy-rGB/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-da-rDK/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-da-rDK/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-de-rDE/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-de-rDE/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-de-rDE/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-el-rGR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-el-rGR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-el-rGR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-es-rES/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-es-rES/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-es-rES/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-fi-rFI/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-fi-rFI/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-fr-rFR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-fr-rFR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-fr-rFR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ga-rIE/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ga-rIE/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ga-rIE/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-hr-rHR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-hr-rHR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-hr-rHR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-hu-rHU/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-hu-rHU/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-it-rIT/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-it-rIT/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-it-rIT/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-iw-rIL/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-iw-rIL/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-iw-rIL/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ja-rJP/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ja-rJP/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ko-rKR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ko-rKR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ko-rKR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-lt-rLT/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-lt-rLT/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-lt-rLT/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-night/colors.xml (100%) rename core/{ => core-main}/src/main/res/values-night/styles.xml (100%) rename core/{ => core-main}/src/main/res/values-nl-rNL/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-nl-rNL/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-nl-rNL/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-no-rNO/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-no-rNO/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-pl-rPL/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-pl-rPL/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-pl-rPL/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rBR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rBR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rBR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rPT/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rPT/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-pt-rPT/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ro-rRO/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ro-rRO/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ro-rRO/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ru-rRU/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-ru-rRU/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ru-rRU/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-sk-rSK/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-sk-rSK/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-sk-rSK/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-sl-rSI/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-sl-rSI/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-sl-rSI/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-sr-rCS/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-sr-rCS/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-sv-rSE/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-sv-rSE/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-sv-rSE/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-ta-rIN/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-ta-rIN/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-tr-rTR/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-tr-rTR/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-tr-rTR/validator.xml (100%) rename core/{ => core-main}/src/main/res/values-zh-rCN/protection.xml (100%) rename core/{ => core-main}/src/main/res/values-zh-rCN/strings.xml (100%) rename core/{ => core-main}/src/main/res/values-zh-rCN/validator.xml (100%) rename core/{ => core-main}/src/main/res/values/attrs.xml (100%) rename core/{ => core-main}/src/main/res/values/colors.xml (100%) rename core/{ => core-main}/src/main/res/values/dimens.xml (100%) rename core/{ => core-main}/src/main/res/values/fet_attrs.xml (100%) create mode 100644 core/core-main/src/main/res/values/protection.xml create mode 100644 core/core-main/src/main/res/values/strings.xml rename core/{ => core-main}/src/main/res/values/styles.xml (100%) create mode 100644 core/core-main/src/main/res/values/validator.xml rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/TestBase.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/IobTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt (99%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt (99%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt (98%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/TTest.kt (100%) rename core/{ => core-main}/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt (100%) rename core/{ => core-main}/test_dependencies.gradle (100%) diff --git a/app-wear-shared/rx/build.gradle b/app-wear-shared/rx/build.gradle index 1b00eee9b4..6a22f8ff1f 100644 --- a/app-wear-shared/rx/build.gradle +++ b/app-wear-shared/rx/build.gradle @@ -7,9 +7,9 @@ plugins { id 'kotlinx-serialization' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { diff --git a/app-wear-shared/shared-impl/build.gradle b/app-wear-shared/shared-impl/build.gradle index 04dcfe1d45..8d49bea8d6 100644 --- a/app-wear-shared/shared-impl/build.gradle +++ b/app-wear-shared/shared-impl/build.gradle @@ -7,8 +7,8 @@ plugins { id 'kotlinx-serialization' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" android { diff --git a/app-wear-shared/shared/build.gradle b/app-wear-shared/shared/build.gradle index 8556ce1965..0c1a53de8a 100644 --- a/app-wear-shared/shared/build.gradle +++ b/app-wear-shared/shared/build.gradle @@ -7,11 +7,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { diff --git a/app/build.gradle b/app/build.gradle index 2107271ee5..6c3d114856 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ plugins { id 'com.google.firebase.crashlytics' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" repositories { mavenCentral() @@ -185,7 +185,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') - implementation project(':core') + implementation project(':core:core-main') implementation project(':interfaces') implementation project(':ui') implementation project(':plugins') @@ -227,7 +227,7 @@ dependencies { } -apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" /* diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 7999cebb51..f5ff42cd2d 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -130,7 +130,7 @@ class MainApp : DaggerApplication() { InsertIfNewByTimestampTherapyEventTransaction( timestamp = dateUtil.now(), type = TherapyEvent.Type.NOTE, - note = rh.get().gs(info.nightscout.androidaps.core.R.string.androidaps_start) + " - " + Build.MANUFACTURER + " " + Build.MODEL, + note = rh.get().gs(info.nightscout.core.main.R.string.androidaps_start) + " - " + Build.MANUFACTURER + " " + Build.MODEL, glucoseUnit = TherapyEvent.GlucoseUnit.MGDL ) ) diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt index 5336b64407..0c067964ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt @@ -6,8 +6,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.DialogBolusprogressBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogBolusprogressBinding import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 4602046b05..d18e935800 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt index 9ca879b894..a0ddbacf5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt @@ -9,7 +9,7 @@ import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.TaskStackBuilder import info.nightscout.androidaps.MainActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/build.gradle b/automation/build.gradle index 0b7f76f4f4..c7f2486120 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.automation' @@ -18,7 +18,7 @@ android { dependencies { implementation project(':graphview') - implementation project(':core') + implementation project(':core:core-main') implementation project(':database') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index a734eed337..5cee80adf0 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -45,15 +45,15 @@ class ActionAlarmTest : TestBase() { @Before fun setup() { - `when`(rh.gs(info.nightscout.androidaps.core.R.string.ok)).thenReturn("OK") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.alarm)).thenReturn("Alarm") + `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(rh.gs(info.nightscout.core.main.R.string.alarm)).thenReturn("Alarm") `when`(rh.gs(ArgumentMatchers.eq(R.string.alarm_message), ArgumentMatchers.anyString())).thenReturn("Alarm: %s") sut = ActionAlarm(injector) } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.alarm, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.alarm, sut.friendlyName()) } @Test fun shortDescriptionTest() { @@ -62,7 +62,7 @@ class ActionAlarmTest : TestBase() { } @Test fun iconTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.drawable.ic_access_alarm_24dp, sut.icon()) + Assert.assertEquals(info.nightscout.core.main.R.drawable.ic_access_alarm_24dp, sut.icon()) } @Test fun doActionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt index 39cef728f3..61bebe6282 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt @@ -23,7 +23,7 @@ class ActionCarePortalEventTest : ActionsTestBase() { `when`(sp.getString(ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn("AAPS") `when`( rh.gs( - ArgumentMatchers.eq(info.nightscout.androidaps.core.R.string.careportal_note_message), + ArgumentMatchers.eq(info.nightscout.core.main.R.string.careportal_note_message), ArgumentMatchers.anyString() ) ).thenReturn("Note : %s") @@ -40,7 +40,7 @@ class ActionCarePortalEventTest : ActionsTestBase() { } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.careportal, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.careportal, sut.friendlyName()) } @Test fun shortDescriptionTest() { @@ -48,7 +48,7 @@ class ActionCarePortalEventTest : ActionsTestBase() { } @Test fun iconTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.drawable.ic_cp_note, sut.icon()) + Assert.assertEquals(info.nightscout.core.main.R.drawable.ic_cp_note, sut.icon()) } @Test fun doActionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt index bd2e39f48e..4d9679164d 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt @@ -18,7 +18,7 @@ class ActionLoopDisableTest : ActionsTestBase() { fun setup() { testPumpPlugin.pumpDescription.isTempBasalCapable = true - `when`(rh.gs(info.nightscout.androidaps.core.R.string.disableloop)).thenReturn("Disable loop") + `when`(rh.gs(info.nightscout.core.main.R.string.disableloop)).thenReturn("Disable loop") `when`(rh.gs(R.string.alreadydisabled)).thenReturn("Disable loop") sut = ActionLoopDisable(injector) @@ -26,7 +26,7 @@ class ActionLoopDisableTest : ActionsTestBase() { @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.disableloop, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.disableloop, sut.friendlyName()) } @Test diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt index 5d7b09a612..f353efeb29 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt @@ -17,14 +17,14 @@ class ActionLoopEnableTest : ActionsTestBase() { fun setup() { testPumpPlugin.pumpDescription.isTempBasalCapable = true - `when`(rh.gs(info.nightscout.androidaps.core.R.string.enableloop)).thenReturn("Enable loop") + `when`(rh.gs(info.nightscout.core.main.R.string.enableloop)).thenReturn("Enable loop") `when`(rh.gs(R.string.alreadyenabled)).thenReturn("Already enabled") sut = ActionLoopEnable(injector) } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.enableloop, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.enableloop, sut.friendlyName()) } @Test fun shortDescriptionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt index 6bfb258359..da7e057b1a 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt @@ -18,14 +18,14 @@ class ActionLoopResumeTest : ActionsTestBase() { @Before fun setup() { - `when`(rh.gs(info.nightscout.androidaps.core.R.string.resumeloop)).thenReturn("Resume loop") + `when`(rh.gs(info.nightscout.core.main.R.string.resumeloop)).thenReturn("Resume loop") `when`(rh.gs(R.string.notsuspended)).thenReturn("Not suspended") sut = ActionLoopResume(injector) } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.resumeloop, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.resumeloop, sut.friendlyName()) } @Test fun shortDescriptionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt index 38526d0f3a..22a8d204c6 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt @@ -17,7 +17,7 @@ class ActionLoopSuspendTest : ActionsTestBase() { @Before fun setup() { - `when`(rh.gs(info.nightscout.androidaps.core.R.string.suspendloop)).thenReturn("Suspend loop") + `when`(rh.gs(info.nightscout.core.main.R.string.suspendloop)).thenReturn("Suspend loop") `when`(rh.gs(ArgumentMatchers.eq(R.string.suspendloopforXmin), ArgumentMatchers.anyInt())).thenReturn("Suspend loop for %d min") `when`(rh.gs(R.string.alreadysuspended)).thenReturn("Already suspended") @@ -25,7 +25,7 @@ class ActionLoopSuspendTest : ActionsTestBase() { } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.suspendloop, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.suspendloop, sut.friendlyName()) } @Test fun shortDescriptionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 1b6c5f3c11..9b5084943b 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -43,8 +43,8 @@ class ActionNotificationTest : TestBase() { @Before fun setup() { - `when`(rh.gs(info.nightscout.androidaps.core.R.string.ok)).thenReturn("OK") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.notification)).thenReturn("Notification") + `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(rh.gs(info.nightscout.core.main.R.string.notification)).thenReturn("Notification") `when`( rh.gs( ArgumentMatchers.eq(R.string.notification_message), @@ -58,7 +58,7 @@ class ActionNotificationTest : TestBase() { } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.notification, sut.friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.notification, sut.friendlyName()) } @Test fun shortDescriptionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt index 6d535ec8f5..f65294c664 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt @@ -18,7 +18,7 @@ class ActionProfileSwitchPercentTest : ActionsTestBase() { fun setup() { `when`(rh.gs(R.string.startprofileforever)).thenReturn("Start profile %d%%") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.startprofile)).thenReturn("Start profile %d%% for %d min") + `when`(rh.gs(info.nightscout.core.main.R.string.startprofile)).thenReturn("Start profile %d%% for %d min") sut = ActionProfileSwitchPercent(injector) } @@ -34,7 +34,7 @@ class ActionProfileSwitchPercentTest : ActionsTestBase() { } @Test fun iconTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.drawable.ic_actions_profileswitch, sut.icon()) + Assert.assertEquals(info.nightscout.core.main.R.drawable.ic_actions_profileswitch, sut.icon()) } @Test fun doActionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt index efefe49f18..ae0b862b72 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt @@ -23,9 +23,9 @@ class ActionProfileSwitchTest : ActionsTestBase() { `when`(rh.gs(R.string.profilename)).thenReturn("Change profile to") `when`(rh.gs(ArgumentMatchers.eq(R.string.changengetoprofilename), ArgumentMatchers.anyString())).thenReturn("Change profile to %s") `when`(rh.gs(R.string.alreadyset)).thenReturn("Already set") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.notexists)).thenReturn("not exists") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.error_field_must_not_be_empty)).thenReturn("The field must not be empty") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.noprofile)).thenReturn("No profile loaded from NS yet") + `when`(rh.gs(info.nightscout.core.main.R.string.notexists)).thenReturn("not exists") + `when`(rh.gs(info.nightscout.core.main.R.string.error_field_must_not_be_empty)).thenReturn("The field must not be empty") + `when`(rh.gs(info.nightscout.core.main.R.string.noprofile)).thenReturn("No profile loaded from NS yet") sut = ActionProfileSwitch(injector) } @@ -107,6 +107,6 @@ class ActionProfileSwitchTest : ActionsTestBase() { } @Test fun iconTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.drawable.ic_actions_profileswitch, sut.icon()) + Assert.assertEquals(info.nightscout.core.main.R.drawable.ic_actions_profileswitch, sut.icon()) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt index 2232f77f26..9959e3f08d 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt @@ -38,7 +38,7 @@ class ActionStartTempTargetTest : ActionsTestBase() { } @Test fun iconTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.drawable.ic_temptarget_high, sut.icon()) + Assert.assertEquals(info.nightscout.core.main.R.drawable.ic_temptarget_high, sut.icon()) } @Test fun doActionTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index f0f8b5a72c..771befbe00 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -180,7 +180,7 @@ ActionsTestBase : TestBaseWithProfile() { `when`(activePlugin.activeProfileSource).thenReturn(profilePlugin) `when`(profilePlugin.profile).thenReturn(getValidProfileStore()) - `when`(rh.gs(info.nightscout.androidaps.core.R.string.ok)).thenReturn("OK") - `when`(rh.gs(info.nightscout.androidaps.core.R.string.error)).thenReturn("Error") + `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(rh.gs(info.nightscout.core.main.R.string.error)).thenReturn("Error") } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt b/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt index 64a9058643..a67f8470c6 100644 --- a/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt +++ b/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt @@ -11,8 +11,8 @@ class StaticLabelTest : TriggerTestBase() { @Test fun constructor() { var sl = StaticLabel(rh, "any", TriggerDummy(injector)) Assert.assertEquals("any", sl.label) - `when`(rh.gs(info.nightscout.androidaps.core.R.string.pumplimit)).thenReturn("pump limit") - sl = StaticLabel(rh, info.nightscout.androidaps.core.R.string.pumplimit, TriggerDummy(injector)) + `when`(rh.gs(info.nightscout.core.main.R.string.pumplimit)).thenReturn("pump limit") + sl = StaticLabel(rh, info.nightscout.core.main.R.string.pumplimit, TriggerDummy(injector)) Assert.assertEquals("pump limit", sl.label) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt index e054fd2f8c..8c51fbf35a 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt @@ -16,8 +16,8 @@ class TriggerAutosensValueTest : TriggerTestBase() { var now = 1514766900000L @Test fun shouldRunTest() { - `when`(sp.getDouble(Mockito.eq(info.nightscout.androidaps.core.R.string.key_openapsama_autosens_max), ArgumentMatchers.anyDouble())).thenReturn(1.2) - `when`(sp.getDouble(Mockito.eq(info.nightscout.androidaps.core.R.string.key_openapsama_autosens_min), ArgumentMatchers.anyDouble())).thenReturn(0.7) + `when`(sp.getDouble(Mockito.eq(info.nightscout.core.main.R.string.key_openapsama_autosens_max), ArgumentMatchers.anyDouble())).thenReturn(1.2) + `when`(sp.getDouble(Mockito.eq(info.nightscout.core.main.R.string.key_openapsama_autosens_min), ArgumentMatchers.anyDouble())).thenReturn(0.7) `when`(autosensDataStore.getLastAutosensData(anyObject(), anyObject(), anyObject())).thenReturn(generateAutosensData()) var t = TriggerAutosensValue(injector) t.autosens.value = 110.0 diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt index c717c94d4f..c37dcb33ec 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt @@ -33,7 +33,7 @@ class TriggerBTDeviceTest : TriggerTestBase() { @Test fun icon() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_bluetooth_white_48dp), TriggerBTDevice(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_bluetooth_white_48dp), TriggerBTDevice(injector).icon()) } @Test fun duplicate() { diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt index 98296a35c1..da9cf0d5b2 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt @@ -76,7 +76,7 @@ class TriggerBgTest : TriggerTestBase() { @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_cp_bgcheck), TriggerBg(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_cp_bgcheck), TriggerBg(injector).icon()) } private fun generateOneCurrentRecordBgData(): List { diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt index f2d2322a5f..30eff00a5a 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt @@ -94,6 +94,6 @@ class TriggerBolusAgoTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_bolus), TriggerBolusAgo(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_bolus), TriggerBolusAgo(injector).icon()) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt index 7e7d3634b1..5d362d3657 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt @@ -61,7 +61,7 @@ class TriggerCOBTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_cp_bolus_carbs), TriggerCOB(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_cp_bolus_carbs), TriggerCOB(injector).icon()) } fun generateCobInfo(): CobInfo { diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt index 961e624221..6006fc7ed5 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt @@ -60,7 +60,7 @@ class TriggerProfilePercentTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_actions_profileswitch), TriggerProfilePercent(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_actions_profileswitch), TriggerProfilePercent(injector).icon()) } @Test fun friendlyNameTest() { diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt index bbb6ad5173..b29c0bde46 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt @@ -61,7 +61,7 @@ class TriggerPumpLastConnectionTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_remove), TriggerPumpLastConnection(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_remove), TriggerPumpLastConnection(injector).icon()) } @Test fun friendlyNameTest() { diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt index f6268a57aa..636af3e650 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt @@ -65,6 +65,6 @@ class TriggerTimeRangeTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_access_alarm_24dp), TriggerTimeRange(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_access_alarm_24dp), TriggerTimeRange(injector).icon()) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt index bdab5ffc22..27fbd804bc 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt @@ -48,7 +48,7 @@ class TriggerTimeTest : TriggerTestBase() { } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.time, TriggerTime(injector).friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.time, TriggerTime(injector).friendlyName()) } @Test fun friendlyDescriptionTest() { @@ -56,6 +56,6 @@ class TriggerTimeTest : TriggerTestBase() { } @Test fun iconTest() { - Assert.assertEquals(Optional.of(info.nightscout.androidaps.core.R.drawable.ic_access_alarm_24dp), TriggerTime(injector).icon()) + Assert.assertEquals(Optional.of(info.nightscout.core.main.R.drawable.ic_access_alarm_24dp), TriggerTime(injector).icon()) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt index c7b8968427..ad114e9432 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt @@ -65,7 +65,7 @@ class TriggerWifiSsidTest : TriggerTestBase() { } @Test fun friendlyNameTest() { - Assert.assertEquals(info.nightscout.androidaps.core.R.string.ns_wifi_ssids, TriggerWifiSsid(injector).friendlyName()) + Assert.assertEquals(info.nightscout.core.main.R.string.ns_wifi_ssids, TriggerWifiSsid(injector).friendlyName()) } @Test fun friendlyDescriptionTest() { diff --git a/core/.gitignore b/core/core-main/.gitignore similarity index 100% rename from core/.gitignore rename to core/core-main/.gitignore diff --git a/core/allopen_dependencies.gradle b/core/core-main/allopen_dependencies.gradle similarity index 100% rename from core/allopen_dependencies.gradle rename to core/core-main/allopen_dependencies.gradle diff --git a/core/android_dependencies.gradle b/core/core-main/android_dependencies.gradle similarity index 100% rename from core/android_dependencies.gradle rename to core/core-main/android_dependencies.gradle diff --git a/core/android_module_dependencies.gradle b/core/core-main/android_module_dependencies.gradle similarity index 100% rename from core/android_module_dependencies.gradle rename to core/core-main/android_module_dependencies.gradle diff --git a/core/build.gradle b/core/core-main/build.gradle similarity index 89% rename from core/build.gradle rename to core/core-main/build.gradle index e1c2733b7a..a9c7b2c2bc 100644 --- a/core/build.gradle +++ b/core/core-main/build.gradle @@ -7,11 +7,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" dependencies { implementation project(':graphview') @@ -92,5 +92,5 @@ dependencies { } android { - namespace 'info.nightscout.androidaps.core' + namespace 'info.nightscout.core.main' } diff --git a/core/consumer-rules.pro b/core/core-main/consumer-rules.pro similarity index 100% rename from core/consumer-rules.pro rename to core/core-main/consumer-rules.pro diff --git a/core/jacoco_global.gradle b/core/core-main/jacoco_global.gradle similarity index 100% rename from core/jacoco_global.gradle rename to core/core-main/jacoco_global.gradle diff --git a/core/proguard-rules.pro b/core/core-main/proguard-rules.pro similarity index 100% rename from core/proguard-rules.pro rename to core/core-main/proguard-rules.pro diff --git a/core/src/main/AndroidManifest.xml b/core/core-main/src/main/AndroidManifest.xml similarity index 100% rename from core/src/main/AndroidManifest.xml rename to core/core-main/src/main/AndroidManifest.xml diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index 90e2fe706f..b4d6d72760 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -5,7 +5,7 @@ import android.content.pm.PackageManager import androidx.activity.result.contract.ActivityResultContracts import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract diff --git a/core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/activities/DialogAppCompatActivity.kt diff --git a/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt index c08dd5a6d9..7962fb0127 100644 --- a/core/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/activities/NoSplashAppCompatActivity.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.activities import android.content.Context import android.os.Bundle -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventThemeSwitch diff --git a/core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt diff --git a/core/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt diff --git a/core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/IobTotal.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt diff --git a/core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt diff --git a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index 07b27916c1..2ffeeaaebf 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.data -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.database.data.TargetBlock import info.nightscout.androidaps.database.embedments.InsulinConfiguration diff --git a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt index eed77b2044..d3249b9959 100644 --- a/core/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.data import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.utils.Round diff --git a/core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/PureProfile.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt diff --git a/core/src/main/java/info/nightscout/androidaps/data/Sms.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/data/Sms.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/CoreModule.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt diff --git a/core/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index 0258993c5c..873714cfe7 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -9,8 +9,8 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.DialogBolusprogressBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogBolusprogressBinding import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPumpStatusChanged diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt index 3417716d58..d9a175484a 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/DialogFragmentWithDate.kt @@ -13,7 +13,7 @@ import com.google.android.material.datepicker.MaterialDatePicker import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.utils.DateUtil import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt index 9b901f2814..2faf1346d7 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt @@ -12,8 +12,8 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.DialogErrorBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogErrorBinding import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 4206dad71c..83500f2793 100644 --- a/core/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -9,8 +9,8 @@ import android.view.Window import android.view.WindowManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.DialogProfileviewerBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogProfileviewerBinding import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt index b8e251c0eb..0f4b7dbb08 100644 --- a/core/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper class EventPumpStatusChanged : EventStatus { diff --git a/core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/events/EventStatus.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BluetoothAdapterExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BluetoothAdapterExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/BluetoothAdapterExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/BluetoothAdapterExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/Concurrency.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/Concurrency.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/Concurrency.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/Concurrency.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt index 7601bc1f08..6bb2afac9b 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt @@ -1,91 +1,91 @@ -package info.nightscout.androidaps.extensions - -import android.content.Context -import android.util.AttributeSet -import android.view.View -import androidx.recyclerview.widget.RecyclerView -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.shared.extensions.toVisibility - -class EmptyRecyclerView : RecyclerView { - - private var mEmptyView: View? = null - private var mLoadingView: View? = null - private var mIsLoading = true - - constructor(context: Context) : super(context) - constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) - constructor(context: Context, attrs: AttributeSet?, defStyle: Int) : super(context, attrs, defStyle) - - private fun updateEmptyView() { - runOnUiThread { - val isEmpty = !mIsLoading && (adapter == null || adapter?.itemCount == 0) - visibility = isEmpty.not().toVisibility() - mEmptyView?.visibility = isEmpty.toVisibility() - } - } - - private fun updateLoadingView() { - runOnUiThread { - mLoadingView?.visibility = mIsLoading.toVisibility() - } - } - - private val observer: AdapterDataObserver = object : AdapterDataObserver() { - override fun onChanged() { - super.onChanged() - updateEmptyView() - } - - override fun onItemRangeInserted(positionStart: Int, itemCount: Int) { - super.onItemRangeInserted(positionStart, itemCount) - updateEmptyView() - } - - override fun onItemRangeRemoved(positionStart: Int, itemCount: Int) { - super.onItemRangeRemoved(positionStart, itemCount) - updateEmptyView() - } - } - - override fun setAdapter(adapter: Adapter<*>?) { - val oldAdapter = getAdapter() - super.setAdapter(adapter) - update(oldAdapter, adapter) - } - - override fun swapAdapter(adapter: Adapter<*>?, removeAndRecycleExistingViews: Boolean) { - val oldAdapter = getAdapter() - super.swapAdapter(adapter, removeAndRecycleExistingViews) - update(oldAdapter, adapter) - } - - var emptyView: View? - get() = mEmptyView - set(view) { - mEmptyView = view - updateEmptyView() - } - - var loadingView: View? - get() = mLoadingView - set(view) { - mLoadingView = view - updateLoadingView() - } - - var isLoading: Boolean - get() = mIsLoading - set(loading) { - mIsLoading = loading - updateLoadingView() - } - - private fun update(oldAdapter: Adapter<*>?, newAdapter: Adapter<*>?) { - oldAdapter?.unregisterAdapterDataObserver(observer) - newAdapter?.registerAdapterDataObserver(observer) - updateEmptyView() - isLoading = false - updateLoadingView() - } -} +package info.nightscout.androidaps.extensions + +import android.content.Context +import android.util.AttributeSet +import android.view.View +import androidx.recyclerview.widget.RecyclerView +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility + +class EmptyRecyclerView : RecyclerView { + + private var mEmptyView: View? = null + private var mLoadingView: View? = null + private var mIsLoading = true + + constructor(context: Context) : super(context) + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + constructor(context: Context, attrs: AttributeSet?, defStyle: Int) : super(context, attrs, defStyle) + + private fun updateEmptyView() { + runOnUiThread { + val isEmpty = !mIsLoading && (adapter == null || adapter?.itemCount == 0) + visibility = isEmpty.not().toVisibility() + mEmptyView?.visibility = isEmpty.toVisibility() + } + } + + private fun updateLoadingView() { + runOnUiThread { + mLoadingView?.visibility = mIsLoading.toVisibility() + } + } + + private val observer: AdapterDataObserver = object : AdapterDataObserver() { + override fun onChanged() { + super.onChanged() + updateEmptyView() + } + + override fun onItemRangeInserted(positionStart: Int, itemCount: Int) { + super.onItemRangeInserted(positionStart, itemCount) + updateEmptyView() + } + + override fun onItemRangeRemoved(positionStart: Int, itemCount: Int) { + super.onItemRangeRemoved(positionStart, itemCount) + updateEmptyView() + } + } + + override fun setAdapter(adapter: Adapter<*>?) { + val oldAdapter = getAdapter() + super.setAdapter(adapter) + update(oldAdapter, adapter) + } + + override fun swapAdapter(adapter: Adapter<*>?, removeAndRecycleExistingViews: Boolean) { + val oldAdapter = getAdapter() + super.swapAdapter(adapter, removeAndRecycleExistingViews) + update(oldAdapter, adapter) + } + + var emptyView: View? + get() = mEmptyView + set(view) { + mEmptyView = view + updateEmptyView() + } + + var loadingView: View? + get() = mLoadingView + set(view) { + mLoadingView = view + updateLoadingView() + } + + var isLoading: Boolean + get() = mIsLoading + set(loading) { + mIsLoading = loading + updateLoadingView() + } + + private fun update(oldAdapter: Adapter<*>?, newAdapter: Adapter<*>?) { + oldAdapter?.unregisterAdapterDataObserver(observer) + newAdapter?.registerAdapterDataObserver(observer) + updateEmptyView() + isLoading = false + updateLoadingView() + } +} diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/HexByteArrayConversion.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/HtmlString.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/IntentExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/IntentExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/IntentExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/IntentExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/JSONObjectExt.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index 8e4e3f8998..763505043a 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt index fa5afa61c9..417daeaefb 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt @@ -5,7 +5,7 @@ import android.content.Context import android.view.Gravity import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.TotalDailyDose import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt index 01fbcbe91a..1331e7c4c5 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.GlucoseValue fun GlucoseValue.TrendArrow.directionToIcon(): Int { diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt similarity index 94% rename from core/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt index 2e5c75787f..f766b727f0 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.UserEntry.* fun ColorGroup.colorId(): Int { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/APS.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/APS.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index 32d42efefd..f9744b0681 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTirCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTirCalculator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTirCalculator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTirCalculator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TIR.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/stats/TirCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TirCalculator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/interfaces/stats/TirCalculator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TirCalculator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index f8414ac217..5820ea7c86 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.aps.loop import android.text.Spanned import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.convertedToAbsolute diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index c0b656bed7..1c7980e542 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.constraints.versionChecker import android.os.Build -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.Config import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index 79aabc5acc..67a8a3f3e3 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.content.Context import android.os.Environment import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat import info.nightscout.interfaces.Config diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt index 1534c51271..b01410c029 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt @@ -11,9 +11,9 @@ import androidx.fragment.app.FragmentActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.MaintenanceImportListActivityBinding -import info.nightscout.androidaps.core.databinding.MaintenanceImportListItemBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.MaintenanceImportListActivityBinding +import info.nightscout.core.main.databinding.MaintenanceImportListItemBinding import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.interfaces.data.maintenance.PrefsFile import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt index ac7b2a4323..80fb603c22 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index c5b98edc1f..894d572117 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -7,7 +7,7 @@ import androidx.annotation.DrawableRes import com.jjoe64.graphview.series.BarGraphSeries import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissNotification.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventNewNotification.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/AreaGraphSeries.java b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/AreaGraphSeries.java similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/AreaGraphSeries.java rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/AreaGraphSeries.java diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt index de29e58319..e457c921f7 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt index ca9c3bcf7f..9290e87b5e 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DataPointWithLabelInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DataPointWithLabelInterface.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DataPointWithLabelInterface.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DataPointWithLabelInterface.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DeviationDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DeviationDataPoint.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DeviationDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DeviationDataPoint.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DoubleDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DoubleDataPoint.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DoubleDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/DoubleDataPoint.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt index e17131a927..05f3dcbe89 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.T diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt similarity index 95% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt index 19a9b037f4..00ad4ce522 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.extensions.toStringTotal import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/FixedLineGraphSeries.java b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/FixedLineGraphSeries.java similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/FixedLineGraphSeries.java rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/FixedLineGraphSeries.java diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index e6e6968ef6..433183be52 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index 59b26025e7..58ea6df7b6 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.InMemoryGlucoseValue import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java index 1edec982f5..8347de420b 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/PointsWithLabelGraphSeries.java @@ -17,7 +17,7 @@ import com.jjoe64.graphview.series.BaseSeries; import java.util.Iterator; -import info.nightscout.androidaps.core.R; +import info.nightscout.core.main.R; /** * Series that plots the data as points. diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/Scale.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/Scale.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/Scale.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/Scale.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ScaledDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ScaledDataPoint.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ScaledDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ScaledDataPoint.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index d1ca2efca4..44a9af4aa9 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TimeAsXAxisLabelFormatter.java b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TimeAsXAxisLabelFormatter.java similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TimeAsXAxisLabelFormatter.java rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TimeAsXAxisLabelFormatter.java diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt index 65e6ae87b9..59151086ff 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index 798aa29f95..d24d58611e 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.data import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt index 95cdceeac5..026b20030d 100644 --- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt @@ -11,7 +11,7 @@ import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/DateTimeUtil.java b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/DateTimeUtil.java similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/DateTimeUtil.java rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/DateTimeUtil.java diff --git a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index faba5a75a8..652d04c773 100644 --- a/core/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.database.AppRepository import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/receivers/DataWorkerStorage.kt diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/Intents.kt b/core/core-main/src/main/java/info/nightscout/androidaps/receivers/Intents.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/receivers/Intents.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/receivers/Intents.kt diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt b/core/core-main/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.kt diff --git a/core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/receivers/ReceiverStatusStore.kt diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt b/core/core-main/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt index 396e1ca8d0..f16e684a4b 100644 --- a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.kt @@ -9,7 +9,7 @@ import android.os.Handler import android.os.IBinder import android.os.Looper import dagger.android.DaggerService -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.NotificationHolder import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.logging.AAPSLogger diff --git a/core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/services/AlarmSoundServiceHelper.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt index 97d023cca9..01aafc2a4d 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ActionModeHelper.kt @@ -1,185 +1,185 @@ -package info.nightscout.androidaps.utils - -import android.util.SparseArray -import android.view.ActionMode -import android.view.Menu -import android.view.MenuInflater -import android.view.MenuItem -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentActivity -import info.nightscout.androidaps.core.R - -import info.nightscout.shared.interfaces.ResourceHelper - -class ActionModeHelper(val rh: ResourceHelper, val activity: FragmentActivity?, val fragment: Fragment?) { - - var enableSort = false - private var selectedItems: SparseArray = SparseArray() - private var actionMode: ActionMode? = null - private var removeActionMode: ActionMode? = null - private var sortActionMode: ActionMode? = null - private var onRemove: ((selectedItems: SparseArray) -> Unit)? = null - private var onUpdate: (() -> Unit)? = null - - private val inSingleFragment: Boolean - get() { - val parentClass = this.activity?.let { it::class.simpleName } - return parentClass == "SingleFragmentActivity" - } - - private val enableRemove: Boolean - get() = onRemove != null - - val isNoAction: Boolean - get() = actionMode == null && removeActionMode == null && sortActionMode == null - - val isSorting: Boolean - get() = sortActionMode != null - - val isRemoving: Boolean - get() = removeActionMode != null - - fun onOptionsItemSelected(item: MenuItem): Boolean { - return when (item.itemId) { - R.id.nav_remove_items -> { - removeActionMode = activity?.startActionMode(RemoveActionModeCallback()) - true - } - - R.id.nav_sort_items -> { - sortActionMode = activity?.startActionMode(SortActionModeCallback()) - true - } - - else -> false - } - } - - fun updateSelection(position: Int, item: T, selected: Boolean) { - if (selected) { - selectedItems.put(position, item) - } else { - selectedItems.remove(position) - } - removeActionMode?.title = rh.gs(R.string.count_selected, selectedItems.size()) - } - - fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { - if (inSingleFragment) { - inflater.inflate(R.menu.menu_actions, menu) - } else if (fragment?.isResumed == true) { - menu.add(Menu.FIRST, R.id.nav_remove_items, 0, rh.gs(R.string.remove_items)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) - menu.add(Menu.FIRST, R.id.nav_sort_items, 0, rh.gs(R.string.sort_items)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) - menu.setGroupDividerEnabled(true) - } - } - - fun onPrepareOptionsMenu(menu: Menu) { - menu.findItem(R.id.nav_remove_items)?.isVisible = enableRemove - menu.findItem(R.id.nav_sort_items)?.isVisible = enableSort - } - - fun startAction(): Boolean { - if (isNoAction) { - actionMode = activity?.startActionMode(ActionModeCallback()) - return true - } - return false - } - - fun startRemove(): Boolean { - if (removeActionMode == null) { - removeActionMode = activity?.startActionMode(RemoveActionModeCallback()) - return true - } - return false - } - - fun isSelected(position: Int) = - selectedItems.get(position) != null - - fun setOnRemoveHandler(onRemove: (selectedItems: SparseArray) -> Unit) { - this.onRemove = onRemove - } - - fun setUpdateListHandler(onUpdate: () -> Unit) { - this.onUpdate = onUpdate - } - - fun finish() { - actionMode?.finish() - removeActionMode?.finish() - sortActionMode?.finish() - } - - private inner class ActionModeCallback : ActionMode.Callback { - - override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { - mode.title = activity?.title - mode.menuInflater.inflate(R.menu.menu_actions, menu) - onUpdate?.let { it() } - return true - } - - override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false - - override fun onActionItemClicked(mode: ActionMode, item: MenuItem) = - onOptionsItemSelected(item) - - override fun onDestroyActionMode(mode: ActionMode?) { - actionMode = null - } - } - - private inner class SortActionModeCallback : ActionMode.Callback { - - override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { - mode.title = rh.gs(R.string.sort_label) - onUpdate?.let { it() } - return true - } - - override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false - - override fun onActionItemClicked(mode: ActionMode, item: MenuItem) = false - - override fun onDestroyActionMode(mode: ActionMode?) { - sortActionMode = null - onUpdate?.let { it() } - } - } - - private inner class RemoveActionModeCallback : ActionMode.Callback { - - override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { - mode.menuInflater.inflate(R.menu.menu_delete_selection, menu) - selectedItems.clear() - mode.title = rh.gs(R.string.count_selected, selectedItems.size()) - onUpdate?.let { it() } - return true - } - - override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false - - override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { - return when (item.itemId) { - R.id.remove_selected -> { - if (selectedItems.size() > 0) { - onRemove?.let { it(selectedItems) } - } else { - finish() - } - true - } - - else -> false - } - } - - override fun onDestroyActionMode(mode: ActionMode?) { - removeActionMode = null - onUpdate?.let { it() } - } - } - -} +package info.nightscout.androidaps.utils + +import android.util.SparseArray +import android.view.ActionMode +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import info.nightscout.core.main.R + +import info.nightscout.shared.interfaces.ResourceHelper + +class ActionModeHelper(val rh: ResourceHelper, val activity: FragmentActivity?, val fragment: Fragment?) { + + var enableSort = false + private var selectedItems: SparseArray = SparseArray() + private var actionMode: ActionMode? = null + private var removeActionMode: ActionMode? = null + private var sortActionMode: ActionMode? = null + private var onRemove: ((selectedItems: SparseArray) -> Unit)? = null + private var onUpdate: (() -> Unit)? = null + + private val inSingleFragment: Boolean + get() { + val parentClass = this.activity?.let { it::class.simpleName } + return parentClass == "SingleFragmentActivity" + } + + private val enableRemove: Boolean + get() = onRemove != null + + val isNoAction: Boolean + get() = actionMode == null && removeActionMode == null && sortActionMode == null + + val isSorting: Boolean + get() = sortActionMode != null + + val isRemoving: Boolean + get() = removeActionMode != null + + fun onOptionsItemSelected(item: MenuItem): Boolean { + return when (item.itemId) { + R.id.nav_remove_items -> { + removeActionMode = activity?.startActionMode(RemoveActionModeCallback()) + true + } + + R.id.nav_sort_items -> { + sortActionMode = activity?.startActionMode(SortActionModeCallback()) + true + } + + else -> false + } + } + + fun updateSelection(position: Int, item: T, selected: Boolean) { + if (selected) { + selectedItems.put(position, item) + } else { + selectedItems.remove(position) + } + removeActionMode?.title = rh.gs(R.string.count_selected, selectedItems.size()) + } + + fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { + if (inSingleFragment) { + inflater.inflate(R.menu.menu_actions, menu) + } else if (fragment?.isResumed == true) { + menu.add(Menu.FIRST, R.id.nav_remove_items, 0, rh.gs(R.string.remove_items)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) + menu.add(Menu.FIRST, R.id.nav_sort_items, 0, rh.gs(R.string.sort_items)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) + menu.setGroupDividerEnabled(true) + } + } + + fun onPrepareOptionsMenu(menu: Menu) { + menu.findItem(R.id.nav_remove_items)?.isVisible = enableRemove + menu.findItem(R.id.nav_sort_items)?.isVisible = enableSort + } + + fun startAction(): Boolean { + if (isNoAction) { + actionMode = activity?.startActionMode(ActionModeCallback()) + return true + } + return false + } + + fun startRemove(): Boolean { + if (removeActionMode == null) { + removeActionMode = activity?.startActionMode(RemoveActionModeCallback()) + return true + } + return false + } + + fun isSelected(position: Int) = + selectedItems.get(position) != null + + fun setOnRemoveHandler(onRemove: (selectedItems: SparseArray) -> Unit) { + this.onRemove = onRemove + } + + fun setUpdateListHandler(onUpdate: () -> Unit) { + this.onUpdate = onUpdate + } + + fun finish() { + actionMode?.finish() + removeActionMode?.finish() + sortActionMode?.finish() + } + + private inner class ActionModeCallback : ActionMode.Callback { + + override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { + mode.title = activity?.title + mode.menuInflater.inflate(R.menu.menu_actions, menu) + onUpdate?.let { it() } + return true + } + + override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false + + override fun onActionItemClicked(mode: ActionMode, item: MenuItem) = + onOptionsItemSelected(item) + + override fun onDestroyActionMode(mode: ActionMode?) { + actionMode = null + } + } + + private inner class SortActionModeCallback : ActionMode.Callback { + + override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { + mode.title = rh.gs(R.string.sort_label) + onUpdate?.let { it() } + return true + } + + override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false + + override fun onActionItemClicked(mode: ActionMode, item: MenuItem) = false + + override fun onDestroyActionMode(mode: ActionMode?) { + sortActionMode = null + onUpdate?.let { it() } + } + } + + private inner class RemoveActionModeCallback : ActionMode.Callback { + + override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { + mode.menuInflater.inflate(R.menu.menu_delete_selection, menu) + selectedItems.clear() + mode.title = rh.gs(R.string.count_selected, selectedItems.size()) + onUpdate?.let { it() } + return true + } + + override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?) = false + + override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { + return when (item.itemId) { + R.id.remove_selected -> { + if (selectedItems.size() > 0) { + onRemove?.let { it(selectedItems) } + } else { + finish() + } + true + } + + else -> false + } + } + + override fun onDestroyActionMode(mode: ActionMode?) { + removeActionMode = null + onUpdate?.let { it() } + } + } + +} diff --git a/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt index 18beeac298..7146746b1d 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/CryptoUtil.kt @@ -1,127 +1,127 @@ -package info.nightscout.androidaps.utils - -import info.nightscout.androidaps.extensions.toHex -import info.nightscout.rx.logging.AAPSLogger -import org.spongycastle.util.encoders.Base64 -import java.nio.ByteBuffer -import java.security.MessageDigest -import java.security.SecureRandom -import java.security.spec.KeySpec -import javax.crypto.Cipher -import javax.crypto.Mac -import javax.crypto.SecretKey -import javax.crypto.SecretKeyFactory -import javax.crypto.spec.GCMParameterSpec -import javax.crypto.spec.PBEKeySpec -import javax.crypto.spec.SecretKeySpec -import javax.inject.Inject -import javax.inject.Singleton - -@Suppress("SpellCheckingInspection") -@Singleton -class CryptoUtil @Inject constructor( - val aapsLogger: AAPSLogger -) { - - companion object { - private const val IV_LENGTH_BYTE = 12 - private const val TAG_LENGTH_BIT = 128 - private const val AES_KEY_SIZE_BIT = 256 - private const val PBKDF2_ITERATIONS = 50000 // check delays it cause on real device - private const val SALT_SIZE_BYTE = 32 - } - - private val secureRandom: SecureRandom = SecureRandom() - var lastException: Exception? = null - - fun sha256(source: String): String { - val digest = MessageDigest.getInstance("SHA-256") - val hashRaw = digest.digest(source.toByteArray()) - return hashRaw.toHex() - } - - fun hmac256(str: String, secret: String): String { - val sha256HMAC = Mac.getInstance("HmacSHA256") - val secretKey = SecretKeySpec(secret.toByteArray(), "HmacSHA256") - sha256HMAC.init(secretKey) - return sha256HMAC.doFinal(str.toByteArray()).toHex() - } - - private fun prepCipherKey(passPhrase: String, salt: ByteArray, iterationCount: Int = PBKDF2_ITERATIONS, keyStrength: Int = AES_KEY_SIZE_BIT): SecretKeySpec { - val factory: SecretKeyFactory = SecretKeyFactory.getInstance("PBKDF2withHmacSHA1") - val spec: KeySpec = PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount, keyStrength) - val tmp: SecretKey = factory.generateSecret(spec) - return SecretKeySpec(tmp.encoded, "AES") - } - - fun mineSalt(len: Int = SALT_SIZE_BYTE): ByteArray { - val salt = ByteArray(len) - secureRandom.nextBytes(salt) - return salt - } - - fun encrypt(passPhrase: String, salt: ByteArray, rawData: String): String? { - val iv: ByteArray? - val encrypted: ByteArray? - return try { - lastException = null - iv = ByteArray(IV_LENGTH_BYTE) - secureRandom.nextBytes(iv) - val cipherEnc: Cipher = Cipher.getInstance("AES/GCM/NoPadding") - cipherEnc.init(Cipher.ENCRYPT_MODE, prepCipherKey(passPhrase, salt), GCMParameterSpec(TAG_LENGTH_BIT, iv)) - encrypted = cipherEnc.doFinal(rawData.toByteArray()) ?: return null - val byteBuffer: ByteBuffer = ByteBuffer.allocate(1 + iv.size + encrypted.size) - byteBuffer.put(iv.size.toByte()) - byteBuffer.put(iv) - byteBuffer.put(encrypted) - String(Base64.encode(byteBuffer.array())) - } catch (e: Exception) { - lastException = e - aapsLogger.error("Encryption failed due to technical exception: $e") - null - } - } - - fun decrypt(passPhrase: String, salt: ByteArray, encryptedData: String): String? { - val iv: ByteArray? - val encrypted: ByteArray? - return try { - lastException = null - val byteBuffer = ByteBuffer.wrap(Base64.decode(encryptedData)) - val ivLength = byteBuffer.get().toInt() - iv = ByteArray(ivLength) - byteBuffer[iv] - encrypted = ByteArray(byteBuffer.remaining()) - byteBuffer[encrypted] - val cipherDec: Cipher = Cipher.getInstance("AES/GCM/NoPadding") - cipherDec.init(Cipher.DECRYPT_MODE, prepCipherKey(passPhrase, salt), GCMParameterSpec(TAG_LENGTH_BIT, iv)) - val dec = cipherDec.doFinal(encrypted) - String(dec) - } catch (e: Exception) { - lastException = e - aapsLogger.error("Decryption failed due to technical exception: $e") - null - } - } - - fun checkPassword(password: String, referenceHash: String): Boolean { - return if (referenceHash.startsWith("hmac:")) { - val hashSegments = referenceHash.split(":") - if (hashSegments.size != 3) - return false - return hmac256(password, hashSegments[1]) == hashSegments[2] - } else { - password == referenceHash - } - } - - fun hashPassword(password: String): String { - return if (!password.startsWith("hmac:")) { - val salt = mineSalt().toHex() - return "hmac:${salt}:${hmac256(password, salt)}" - } else { - password - } - } - +package info.nightscout.androidaps.utils + +import info.nightscout.androidaps.extensions.toHex +import info.nightscout.rx.logging.AAPSLogger +import org.spongycastle.util.encoders.Base64 +import java.nio.ByteBuffer +import java.security.MessageDigest +import java.security.SecureRandom +import java.security.spec.KeySpec +import javax.crypto.Cipher +import javax.crypto.Mac +import javax.crypto.SecretKey +import javax.crypto.SecretKeyFactory +import javax.crypto.spec.GCMParameterSpec +import javax.crypto.spec.PBEKeySpec +import javax.crypto.spec.SecretKeySpec +import javax.inject.Inject +import javax.inject.Singleton + +@Suppress("SpellCheckingInspection") +@Singleton +class CryptoUtil @Inject constructor( + val aapsLogger: AAPSLogger +) { + + companion object { + private const val IV_LENGTH_BYTE = 12 + private const val TAG_LENGTH_BIT = 128 + private const val AES_KEY_SIZE_BIT = 256 + private const val PBKDF2_ITERATIONS = 50000 // check delays it cause on real device + private const val SALT_SIZE_BYTE = 32 + } + + private val secureRandom: SecureRandom = SecureRandom() + var lastException: Exception? = null + + fun sha256(source: String): String { + val digest = MessageDigest.getInstance("SHA-256") + val hashRaw = digest.digest(source.toByteArray()) + return hashRaw.toHex() + } + + fun hmac256(str: String, secret: String): String { + val sha256HMAC = Mac.getInstance("HmacSHA256") + val secretKey = SecretKeySpec(secret.toByteArray(), "HmacSHA256") + sha256HMAC.init(secretKey) + return sha256HMAC.doFinal(str.toByteArray()).toHex() + } + + private fun prepCipherKey(passPhrase: String, salt: ByteArray, iterationCount: Int = PBKDF2_ITERATIONS, keyStrength: Int = AES_KEY_SIZE_BIT): SecretKeySpec { + val factory: SecretKeyFactory = SecretKeyFactory.getInstance("PBKDF2withHmacSHA1") + val spec: KeySpec = PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount, keyStrength) + val tmp: SecretKey = factory.generateSecret(spec) + return SecretKeySpec(tmp.encoded, "AES") + } + + fun mineSalt(len: Int = SALT_SIZE_BYTE): ByteArray { + val salt = ByteArray(len) + secureRandom.nextBytes(salt) + return salt + } + + fun encrypt(passPhrase: String, salt: ByteArray, rawData: String): String? { + val iv: ByteArray? + val encrypted: ByteArray? + return try { + lastException = null + iv = ByteArray(IV_LENGTH_BYTE) + secureRandom.nextBytes(iv) + val cipherEnc: Cipher = Cipher.getInstance("AES/GCM/NoPadding") + cipherEnc.init(Cipher.ENCRYPT_MODE, prepCipherKey(passPhrase, salt), GCMParameterSpec(TAG_LENGTH_BIT, iv)) + encrypted = cipherEnc.doFinal(rawData.toByteArray()) ?: return null + val byteBuffer: ByteBuffer = ByteBuffer.allocate(1 + iv.size + encrypted.size) + byteBuffer.put(iv.size.toByte()) + byteBuffer.put(iv) + byteBuffer.put(encrypted) + String(Base64.encode(byteBuffer.array())) + } catch (e: Exception) { + lastException = e + aapsLogger.error("Encryption failed due to technical exception: $e") + null + } + } + + fun decrypt(passPhrase: String, salt: ByteArray, encryptedData: String): String? { + val iv: ByteArray? + val encrypted: ByteArray? + return try { + lastException = null + val byteBuffer = ByteBuffer.wrap(Base64.decode(encryptedData)) + val ivLength = byteBuffer.get().toInt() + iv = ByteArray(ivLength) + byteBuffer[iv] + encrypted = ByteArray(byteBuffer.remaining()) + byteBuffer[encrypted] + val cipherDec: Cipher = Cipher.getInstance("AES/GCM/NoPadding") + cipherDec.init(Cipher.DECRYPT_MODE, prepCipherKey(passPhrase, salt), GCMParameterSpec(TAG_LENGTH_BIT, iv)) + val dec = cipherDec.doFinal(encrypted) + String(dec) + } catch (e: Exception) { + lastException = e + aapsLogger.error("Decryption failed due to technical exception: $e") + null + } + } + + fun checkPassword(password: String, referenceHash: String): Boolean { + return if (referenceHash.startsWith("hmac:")) { + val hashSegments = referenceHash.split(":") + if (hashSegments.size != 3) + return false + return hmac256(password, hashSegments[1]) == hashSegments[2] + } else { + password == referenceHash + } + } + + fun hashPassword(password: String): String { + return if (!password.startsWith("hmac:")) { + val salt = mineSalt().toHex() + return "hmac:${salt}:${hmac256(password, salt)}" + } else { + password + } + } + } \ No newline at end of file diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt index 787be730c0..811888d85e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.utils -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Pump import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt index 27c49d87a8..b346feaffc 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt index 1b9cc5b517..8d3f433c62 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt @@ -6,7 +6,7 @@ import com.google.firebase.analytics.ktx.analytics import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.ktx.Firebase import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt index c077c761be..42f95d4e2c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils import android.content.Context import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt index 4cff217013..deb391ed0c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt @@ -12,7 +12,7 @@ import android.widget.Toast import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.appcompat.view.ContextThemeWrapper -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.utils.resources.getThemeColor diff --git a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/Translator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt index 601d64a0aa..86eadfbda1 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.utils -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.database.entities.TemporaryTarget import info.nightscout.androidaps.database.entities.TherapyEvent diff --git a/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt index b705d64e3c..5567bf256c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils import android.widget.TextView -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isOlderThan import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt index fd68b96034..f839a8fd57 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt @@ -10,7 +10,7 @@ import androidx.annotation.LayoutRes import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R object AlertDialogHelper { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt index b7f53746c1..b613bfc76e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt @@ -7,7 +7,7 @@ import android.os.SystemClock import android.text.Spanned import androidx.fragment.app.FragmentActivity import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.extensions.runOnUiThread object OKDialog { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt index 8206f74ccb..85df84f366 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt @@ -6,7 +6,7 @@ import android.content.DialogInterface import android.os.SystemClock import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.extensions.runOnUiThread // if you need error dialog - duplicate to ErrorDialog and make it and use: AppThemeErrorDialog & R.drawable.ic_header_error instead diff --git a/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt index a9df635e47..31be63bbb5 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils.protection import androidx.biometric.BiometricPrompt import androidx.biometric.BiometricPrompt.* import androidx.fragment.app.FragmentActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.extensions.runOnUiThread import java.util.concurrent.Executors diff --git a/core/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt index 24b67debb7..18d6f68b2f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt @@ -12,7 +12,7 @@ import android.widget.EditText import android.widget.TextView import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.utils.CryptoUtil diff --git a/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt index b810fa8b56..27fb7c29f9 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/ProtectionCheck.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils.protection import androidx.fragment.app.FragmentActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.sharedPreferences.SP import java.util.concurrent.TimeUnit diff --git a/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt index d943766c3e..ea58448e7c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt @@ -13,7 +13,7 @@ import androidx.annotation.* import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.view.ContextThemeWrapper import androidx.core.content.ContextCompat -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.FabricPrivacy import java.util.* diff --git a/core/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt index 26d108b25f..16bbc77974 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt @@ -7,7 +7,7 @@ import android.text.TextWatcher import android.widget.EditText import com.google.android.material.textfield.TextInputLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.textValidator.validators.* diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/EditTextValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/EditTextValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/EditTextValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/EditTextValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt index 5ebdd6dbfa..354ad7daab 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import androidx.preference.EditTextPreference import androidx.preference.PreferenceViewHolder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.SafeParse diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaNumericValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaNumericValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaNumericValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaNumericValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AlphaValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AndValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AndValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AndValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/AndValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/CreditCardValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/CreditCardValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/CreditCardValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/CreditCardValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DateValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DateValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DateValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DateValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DigitLengthRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DigitLengthRangeValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DigitLengthRangeValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DigitLengthRangeValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DomainValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DomainValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DomainValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DomainValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DummyValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DummyValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DummyValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/DummyValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmailValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmailValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmailValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmailValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmptyValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmptyValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmptyValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/EmptyValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/FloatNumericRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/FloatNumericRangeValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/FloatNumericRangeValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/FloatNumericRangeValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/HttpsUrlValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/HttpsUrlValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/HttpsUrlValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/HttpsUrlValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/IpAddressValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/IpAddressValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/IpAddressValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/IpAddressValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MinDigitLengthValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MinDigitLengthValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MinDigitLengthValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MinDigitLengthValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiPhoneValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiPhoneValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiPhoneValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiPhoneValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/MultiValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NotValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NotValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NotValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NotValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericRangeValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericRangeValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericRangeValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/NumericValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/OrValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/OrValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/OrValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/OrValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PatternValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PatternValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PatternValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PatternValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonFullNameValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonFullNameValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonFullNameValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonFullNameValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonNameValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonNameValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonNameValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PersonNameValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PhoneValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PhoneValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PhoneValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PhoneValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PinStrengthValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PinStrengthValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PinStrengthValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/PinStrengthValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/RegexpValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/RegexpValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/RegexpValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/RegexpValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/SameValueValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/SameValueValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/SameValueValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/SameValueValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/Validator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/Validator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/Validator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/Validator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/WebUrlValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/WebUrlValidator.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/WebUrlValidator.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/WebUrlValidator.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt index 15a5a86449..1517b19d39 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt @@ -6,7 +6,7 @@ import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt similarity index 97% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt index 20bbfd38a0..00d3e0d556 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt @@ -9,7 +9,7 @@ import android.os.Build import android.util.AttributeSet import androidx.core.app.ActivityCompat import androidx.preference.ListPreference -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.utils.ToastUtils import java.util.* diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt index e70b7b0da2..4af96b9f65 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt @@ -6,7 +6,7 @@ import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt similarity index 98% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt index fae4aa98e8..3906db112e 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt @@ -6,7 +6,7 @@ import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt index aa2575d996..04a14700ea 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils.ui import android.content.Context import android.util.AttributeSet import android.widget.Button -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import java.text.DecimalFormat class MinutesNumberPicker constructor(context: Context, attrs: AttributeSet? = null) : NumberPicker(context, attrs) { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt index b4a198f2ff..3f93fdeae2 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt @@ -21,8 +21,8 @@ import android.view.accessibility.AccessibilityManager import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.LinearLayout -import info.nightscout.androidaps.core.R -import info.nightscout.androidaps.core.databinding.NumberPickerLayoutBinding +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.NumberPickerLayoutBinding import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt similarity index 85% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt index ec94040cdb..94745da4d5 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils.ui import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import info.nightscout.androidaps.core.databinding.NumberPickerLayoutVerticalBinding +import info.nightscout.core.main.databinding.NumberPickerLayoutVerticalBinding class NumberPickerVertical(context: Context, attrs: AttributeSet? = null) : NumberPicker(context, attrs) { diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt similarity index 88% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt index 43ab2e2f72..30a648165c 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt @@ -1,36 +1,36 @@ -package info.nightscout.androidaps.utils.ui - -import info.nightscout.androidaps.core.databinding.NumberPickerLayoutBinding -import info.nightscout.androidaps.core.databinding.NumberPickerLayoutVerticalBinding - -/** - * NumberPickerViewAdapter binds both NumberPickerLayoutBinding and NumberPickerLayoutVerticalBinding shared attributes to one common view adapter. - * Requires at least one of the ViewBinding as a parameter. Recommended to use the factory object to create the binding. - */ -class NumberPickerViewAdapter( - val nH: NumberPickerLayoutBinding?, - val nV: NumberPickerLayoutVerticalBinding?, -) { - - init { - if (nH == null && nV == null) { - throw IllegalArgumentException("Require at least on Binding parameter") - } - } - - val editText = nH?.display ?: nV?.display ?: throw IllegalArgumentException("Missing require View Binding parameter display") - val minusButton = nH?.decrement ?: nV?.decrement ?: throw IllegalArgumentException("require at least on Binding parameter decrement") - val plusButton = nH?.increment ?: nV?.increment ?: throw IllegalArgumentException("require at least on Binding parameter increment") - var textInputLayout = nH?.textInputLayout ?: nV?.textInputLayout ?: throw IllegalArgumentException("require at least on Binding parameter textInputLayout") - - companion object { - - fun getBinding(bindLayout: NumberPickerLayoutBinding): NumberPickerViewAdapter { - return NumberPickerViewAdapter(bindLayout, null) - } - - fun getBinding(bindLayout: NumberPickerLayoutVerticalBinding): NumberPickerViewAdapter { - return NumberPickerViewAdapter(null, bindLayout) - } - } -} +package info.nightscout.androidaps.utils.ui + +import info.nightscout.core.main.databinding.NumberPickerLayoutBinding +import info.nightscout.core.main.databinding.NumberPickerLayoutVerticalBinding + +/** + * NumberPickerViewAdapter binds both NumberPickerLayoutBinding and NumberPickerLayoutVerticalBinding shared attributes to one common view adapter. + * Requires at least one of the ViewBinding as a parameter. Recommended to use the factory object to create the binding. + */ +class NumberPickerViewAdapter( + val nH: NumberPickerLayoutBinding?, + val nV: NumberPickerLayoutVerticalBinding?, +) { + + init { + if (nH == null && nV == null) { + throw IllegalArgumentException("Require at least on Binding parameter") + } + } + + val editText = nH?.display ?: nV?.display ?: throw IllegalArgumentException("Missing require View Binding parameter display") + val minusButton = nH?.decrement ?: nV?.decrement ?: throw IllegalArgumentException("require at least on Binding parameter decrement") + val plusButton = nH?.increment ?: nV?.increment ?: throw IllegalArgumentException("require at least on Binding parameter increment") + var textInputLayout = nH?.textInputLayout ?: nV?.textInputLayout ?: throw IllegalArgumentException("require at least on Binding parameter textInputLayout") + + companion object { + + fun getBinding(bindLayout: NumberPickerLayoutBinding): NumberPickerViewAdapter { + return NumberPickerViewAdapter(bindLayout, null) + } + + fun getBinding(bindLayout: NumberPickerLayoutVerticalBinding): NumberPickerViewAdapter { + return NumberPickerViewAdapter(null, bindLayout) + } + } +} diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt similarity index 96% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt index 8fa18c3e67..996a22a30f 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils.ui import android.content.Context import android.util.AttributeSet import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt index c10ead7998..f2feee5ed9 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt @@ -4,7 +4,7 @@ import android.content.Context import android.util.AttributeSet import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt similarity index 99% rename from core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index ed075845d1..cc6cc86028 100644 --- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.utils.userEntry import android.text.Spanned import dagger.Reusable import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.ColorGroup diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt similarity index 100% rename from core/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt diff --git a/core/src/main/res/color/day_selection_background.xml b/core/core-main/src/main/res/color/day_selection_background.xml similarity index 100% rename from core/src/main/res/color/day_selection_background.xml rename to core/core-main/src/main/res/color/day_selection_background.xml diff --git a/core/src/main/res/color/mtrl_btn_bg_color_selector_grey.xml b/core/core-main/src/main/res/color/mtrl_btn_bg_color_selector_grey.xml similarity index 100% rename from core/src/main/res/color/mtrl_btn_bg_color_selector_grey.xml rename to core/core-main/src/main/res/color/mtrl_btn_bg_color_selector_grey.xml diff --git a/core/src/main/res/drawable-hdpi/background_input_border.xml b/core/core-main/src/main/res/drawable-hdpi/background_input_border.xml similarity index 100% rename from core/src/main/res/drawable-hdpi/background_input_border.xml rename to core/core-main/src/main/res/drawable-hdpi/background_input_border.xml diff --git a/core/src/main/res/drawable-hdpi/dialog.xml b/core/core-main/src/main/res/drawable-hdpi/dialog.xml similarity index 100% rename from core/src/main/res/drawable-hdpi/dialog.xml rename to core/core-main/src/main/res/drawable-hdpi/dialog.xml diff --git a/core/src/main/res/drawable-hdpi/dialog_header.xml b/core/core-main/src/main/res/drawable-hdpi/dialog_header.xml similarity index 100% rename from core/src/main/res/drawable-hdpi/dialog_header.xml rename to core/core-main/src/main/res/drawable-hdpi/dialog_header.xml diff --git a/core/src/main/res/drawable-hdpi/toast_border_ok.xml b/core/core-main/src/main/res/drawable-hdpi/toast_border_ok.xml similarity index 100% rename from core/src/main/res/drawable-hdpi/toast_border_ok.xml rename to core/core-main/src/main/res/drawable-hdpi/toast_border_ok.xml diff --git a/core/src/main/res/drawable/alert_border_error.xml b/core/core-main/src/main/res/drawable/alert_border_error.xml similarity index 100% rename from core/src/main/res/drawable/alert_border_error.xml rename to core/core-main/src/main/res/drawable/alert_border_error.xml diff --git a/core/src/main/res/drawable/alert_border_warning.xml b/core/core-main/src/main/res/drawable/alert_border_warning.xml similarity index 100% rename from core/src/main/res/drawable/alert_border_warning.xml rename to core/core-main/src/main/res/drawable/alert_border_warning.xml diff --git a/core/src/main/res/drawable/anim_carbs.xml b/core/core-main/src/main/res/drawable/anim_carbs.xml similarity index 100% rename from core/src/main/res/drawable/anim_carbs.xml rename to core/core-main/src/main/res/drawable/anim_carbs.xml diff --git a/core/src/main/res/drawable/ic_aaps.xml b/core/core-main/src/main/res/drawable/ic_aaps.xml similarity index 100% rename from core/src/main/res/drawable/ic_aaps.xml rename to core/core-main/src/main/res/drawable/ic_aaps.xml diff --git a/core/src/main/res/drawable/ic_access_alarm_24dp.xml b/core/core-main/src/main/res/drawable/ic_access_alarm_24dp.xml similarity index 100% rename from core/src/main/res/drawable/ic_access_alarm_24dp.xml rename to core/core-main/src/main/res/drawable/ic_access_alarm_24dp.xml diff --git a/core/src/main/res/drawable/ic_action.xml b/core/core-main/src/main/res/drawable/ic_action.xml similarity index 100% rename from core/src/main/res/drawable/ic_action.xml rename to core/core-main/src/main/res/drawable/ic_action.xml diff --git a/core/src/main/res/drawable/ic_actions_refill.xml b/core/core-main/src/main/res/drawable/ic_actions_refill.xml similarity index 100% rename from core/src/main/res/drawable/ic_actions_refill.xml rename to core/core-main/src/main/res/drawable/ic_actions_refill.xml diff --git a/core/src/main/res/drawable/ic_actions_start_extended_bolus.xml b/core/core-main/src/main/res/drawable/ic_actions_start_extended_bolus.xml similarity index 100% rename from core/src/main/res/drawable/ic_actions_start_extended_bolus.xml rename to core/core-main/src/main/res/drawable/ic_actions_start_extended_bolus.xml diff --git a/core/src/main/res/drawable/ic_actions_starttempbasal.xml b/core/core-main/src/main/res/drawable/ic_actions_starttempbasal.xml similarity index 100% rename from core/src/main/res/drawable/ic_actions_starttempbasal.xml rename to core/core-main/src/main/res/drawable/ic_actions_starttempbasal.xml diff --git a/core/src/main/res/drawable/ic_add.xml b/core/core-main/src/main/res/drawable/ic_add.xml similarity index 100% rename from core/src/main/res/drawable/ic_add.xml rename to core/core-main/src/main/res/drawable/ic_add.xml diff --git a/core/src/main/res/drawable/ic_automation.xml b/core/core-main/src/main/res/drawable/ic_automation.xml similarity index 100% rename from core/src/main/res/drawable/ic_automation.xml rename to core/core-main/src/main/res/drawable/ic_automation.xml diff --git a/core/src/main/res/drawable/ic_autotune.xml b/core/core-main/src/main/res/drawable/ic_autotune.xml similarity index 100% rename from core/src/main/res/drawable/ic_autotune.xml rename to core/core-main/src/main/res/drawable/ic_autotune.xml diff --git a/core/src/main/res/drawable/ic_blooddrop_48.xml b/core/core-main/src/main/res/drawable/ic_blooddrop_48.xml similarity index 100% rename from core/src/main/res/drawable/ic_blooddrop_48.xml rename to core/core-main/src/main/res/drawable/ic_blooddrop_48.xml diff --git a/core/src/main/res/drawable/ic_bluetooth_white_48dp.xml b/core/core-main/src/main/res/drawable/ic_bluetooth_white_48dp.xml similarity index 100% rename from core/src/main/res/drawable/ic_bluetooth_white_48dp.xml rename to core/core-main/src/main/res/drawable/ic_bluetooth_white_48dp.xml diff --git a/core/src/main/res/drawable/ic_bolus.xml b/core/core-main/src/main/res/drawable/ic_bolus.xml similarity index 100% rename from core/src/main/res/drawable/ic_bolus.xml rename to core/core-main/src/main/res/drawable/ic_bolus.xml diff --git a/core/src/main/res/drawable/ic_calculator.xml b/core/core-main/src/main/res/drawable/ic_calculator.xml similarity index 100% rename from core/src/main/res/drawable/ic_calculator.xml rename to core/core-main/src/main/res/drawable/ic_calculator.xml diff --git a/core/src/main/res/drawable/ic_calibration.xml b/core/core-main/src/main/res/drawable/ic_calibration.xml similarity index 100% rename from core/src/main/res/drawable/ic_calibration.xml rename to core/core-main/src/main/res/drawable/ic_calibration.xml diff --git a/core/src/main/res/drawable/ic_check_while_48dp.xml b/core/core-main/src/main/res/drawable/ic_check_while_48dp.xml similarity index 100% rename from core/src/main/res/drawable/ic_check_while_48dp.xml rename to core/core-main/src/main/res/drawable/ic_check_while_48dp.xml diff --git a/core/src/main/res/drawable/ic_clone.xml b/core/core-main/src/main/res/drawable/ic_clone.xml similarity index 100% rename from core/src/main/res/drawable/ic_clone.xml rename to core/core-main/src/main/res/drawable/ic_clone.xml diff --git a/core/src/main/res/drawable/ic_close.xml b/core/core-main/src/main/res/drawable/ic_close.xml similarity index 100% rename from core/src/main/res/drawable/ic_close.xml rename to core/core-main/src/main/res/drawable/ic_close.xml diff --git a/core/src/main/res/drawable/ic_cogs.xml b/core/core-main/src/main/res/drawable/ic_cogs.xml similarity index 100% rename from core/src/main/res/drawable/ic_cogs.xml rename to core/core-main/src/main/res/drawable/ic_cogs.xml diff --git a/core/src/main/res/drawable/ic_combo_128.xml b/core/core-main/src/main/res/drawable/ic_combo_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_combo_128.xml rename to core/core-main/src/main/res/drawable/ic_combo_128.xml diff --git a/core/src/main/res/drawable/ic_compare_profiles.xml b/core/core-main/src/main/res/drawable/ic_compare_profiles.xml similarity index 100% rename from core/src/main/res/drawable/ic_compare_profiles.xml rename to core/core-main/src/main/res/drawable/ic_compare_profiles.xml diff --git a/core/src/main/res/drawable/ic_cp_announcement.xml b/core/core-main/src/main/res/drawable/ic_cp_announcement.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_announcement.xml rename to core/core-main/src/main/res/drawable/ic_cp_announcement.xml diff --git a/core/src/main/res/drawable/ic_cp_basal_no_tbr.xml b/core/core-main/src/main/res/drawable/ic_cp_basal_no_tbr.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_basal_no_tbr.xml rename to core/core-main/src/main/res/drawable/ic_cp_basal_no_tbr.xml diff --git a/core/src/main/res/drawable/ic_cp_basal_tbr_high.xml b/core/core-main/src/main/res/drawable/ic_cp_basal_tbr_high.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_basal_tbr_high.xml rename to core/core-main/src/main/res/drawable/ic_cp_basal_tbr_high.xml diff --git a/core/src/main/res/drawable/ic_cp_basal_tbr_low.xml b/core/core-main/src/main/res/drawable/ic_cp_basal_tbr_low.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_basal_tbr_low.xml rename to core/core-main/src/main/res/drawable/ic_cp_basal_tbr_low.xml diff --git a/core/src/main/res/drawable/ic_cp_bgcheck.xml b/core/core-main/src/main/res/drawable/ic_cp_bgcheck.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_bgcheck.xml rename to core/core-main/src/main/res/drawable/ic_cp_bgcheck.xml diff --git a/core/src/main/res/drawable/ic_cp_bolus_carbs.xml b/core/core-main/src/main/res/drawable/ic_cp_bolus_carbs.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_bolus_carbs.xml rename to core/core-main/src/main/res/drawable/ic_cp_bolus_carbs.xml diff --git a/core/src/main/res/drawable/ic_cp_bolus_carbs_red.xml b/core/core-main/src/main/res/drawable/ic_cp_bolus_carbs_red.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_bolus_carbs_red.xml rename to core/core-main/src/main/res/drawable/ic_cp_bolus_carbs_red.xml diff --git a/core/src/main/res/drawable/ic_cp_cgm_insert.xml b/core/core-main/src/main/res/drawable/ic_cp_cgm_insert.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_cgm_insert.xml rename to core/core-main/src/main/res/drawable/ic_cp_cgm_insert.xml diff --git a/core/src/main/res/drawable/ic_cp_exercise.xml b/core/core-main/src/main/res/drawable/ic_cp_exercise.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_exercise.xml rename to core/core-main/src/main/res/drawable/ic_cp_exercise.xml diff --git a/core/src/main/res/drawable/ic_cp_note.xml b/core/core-main/src/main/res/drawable/ic_cp_note.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_note.xml rename to core/core-main/src/main/res/drawable/ic_cp_note.xml diff --git a/core/src/main/res/drawable/ic_cp_pump_battery.xml b/core/core-main/src/main/res/drawable/ic_cp_pump_battery.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_pump_battery.xml rename to core/core-main/src/main/res/drawable/ic_cp_pump_battery.xml diff --git a/core/src/main/res/drawable/ic_cp_pump_canula.xml b/core/core-main/src/main/res/drawable/ic_cp_pump_canula.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_pump_canula.xml rename to core/core-main/src/main/res/drawable/ic_cp_pump_canula.xml diff --git a/core/src/main/res/drawable/ic_cp_question.xml b/core/core-main/src/main/res/drawable/ic_cp_question.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_question.xml rename to core/core-main/src/main/res/drawable/ic_cp_question.xml diff --git a/core/src/main/res/drawable/ic_cp_stats.xml b/core/core-main/src/main/res/drawable/ic_cp_stats.xml similarity index 100% rename from core/src/main/res/drawable/ic_cp_stats.xml rename to core/core-main/src/main/res/drawable/ic_cp_stats.xml diff --git a/core/src/main/res/drawable/ic_danai_128.xml b/core/core-main/src/main/res/drawable/ic_danai_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_danai_128.xml rename to core/core-main/src/main/res/drawable/ic_danai_128.xml diff --git a/core/src/main/res/drawable/ic_danar_useropt.xml b/core/core-main/src/main/res/drawable/ic_danar_useropt.xml similarity index 100% rename from core/src/main/res/drawable/ic_danar_useropt.xml rename to core/core-main/src/main/res/drawable/ic_danar_useropt.xml diff --git a/core/src/main/res/drawable/ic_danarprofile.xml b/core/core-main/src/main/res/drawable/ic_danarprofile.xml similarity index 100% rename from core/src/main/res/drawable/ic_danarprofile.xml rename to core/core-main/src/main/res/drawable/ic_danarprofile.xml diff --git a/core/src/main/res/drawable/ic_danars_128.xml b/core/core-main/src/main/res/drawable/ic_danars_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_danars_128.xml rename to core/core-main/src/main/res/drawable/ic_danars_128.xml diff --git a/core/src/main/res/drawable/ic_danarstats.xml b/core/core-main/src/main/res/drawable/ic_danarstats.xml similarity index 100% rename from core/src/main/res/drawable/ic_danarstats.xml rename to core/core-main/src/main/res/drawable/ic_danarstats.xml diff --git a/core/src/main/res/drawable/ic_dexcom_g6.xml b/core/core-main/src/main/res/drawable/ic_dexcom_g6.xml similarity index 100% rename from core/src/main/res/drawable/ic_dexcom_g6.xml rename to core/core-main/src/main/res/drawable/ic_dexcom_g6.xml diff --git a/core/src/main/res/drawable/ic_diaconn_g8.xml b/core/core-main/src/main/res/drawable/ic_diaconn_g8.xml similarity index 100% rename from core/src/main/res/drawable/ic_diaconn_g8.xml rename to core/core-main/src/main/res/drawable/ic_diaconn_g8.xml diff --git a/core/src/main/res/drawable/ic_doubledown.xml b/core/core-main/src/main/res/drawable/ic_doubledown.xml similarity index 100% rename from core/src/main/res/drawable/ic_doubledown.xml rename to core/core-main/src/main/res/drawable/ic_doubledown.xml diff --git a/core/src/main/res/drawable/ic_doubleup.xml b/core/core-main/src/main/res/drawable/ic_doubleup.xml similarity index 100% rename from core/src/main/res/drawable/ic_doubleup.xml rename to core/core-main/src/main/res/drawable/ic_doubleup.xml diff --git a/core/src/main/res/drawable/ic_eopatch2_128.xml b/core/core-main/src/main/res/drawable/ic_eopatch2_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_eopatch2_128.xml rename to core/core-main/src/main/res/drawable/ic_eopatch2_128.xml diff --git a/core/src/main/res/drawable/ic_error_red_48dp.xml b/core/core-main/src/main/res/drawable/ic_error_red_48dp.xml similarity index 100% rename from core/src/main/res/drawable/ic_error_red_48dp.xml rename to core/core-main/src/main/res/drawable/ic_error_red_48dp.xml diff --git a/core/src/main/res/drawable/ic_eversense.xml b/core/core-main/src/main/res/drawable/ic_eversense.xml similarity index 100% rename from core/src/main/res/drawable/ic_eversense.xml rename to core/core-main/src/main/res/drawable/ic_eversense.xml diff --git a/core/src/main/res/drawable/ic_flat.xml b/core/core-main/src/main/res/drawable/ic_flat.xml similarity index 100% rename from core/src/main/res/drawable/ic_flat.xml rename to core/core-main/src/main/res/drawable/ic_flat.xml diff --git a/core/src/main/res/drawable/ic_food.xml b/core/core-main/src/main/res/drawable/ic_food.xml similarity index 100% rename from core/src/main/res/drawable/ic_food.xml rename to core/core-main/src/main/res/drawable/ic_food.xml diff --git a/core/src/main/res/drawable/ic_fortyfivedown.xml b/core/core-main/src/main/res/drawable/ic_fortyfivedown.xml similarity index 100% rename from core/src/main/res/drawable/ic_fortyfivedown.xml rename to core/core-main/src/main/res/drawable/ic_fortyfivedown.xml diff --git a/core/src/main/res/drawable/ic_fortyfiveup.xml b/core/core-main/src/main/res/drawable/ic_fortyfiveup.xml similarity index 100% rename from core/src/main/res/drawable/ic_fortyfiveup.xml rename to core/core-main/src/main/res/drawable/ic_fortyfiveup.xml diff --git a/core/src/main/res/drawable/ic_generic_cgm.xml b/core/core-main/src/main/res/drawable/ic_generic_cgm.xml similarity index 100% rename from core/src/main/res/drawable/ic_generic_cgm.xml rename to core/core-main/src/main/res/drawable/ic_generic_cgm.xml diff --git a/core/src/main/res/drawable/ic_generic_icon.xml b/core/core-main/src/main/res/drawable/ic_generic_icon.xml similarity index 100% rename from core/src/main/res/drawable/ic_generic_icon.xml rename to core/core-main/src/main/res/drawable/ic_generic_icon.xml diff --git a/core/src/main/res/drawable/ic_glimp.xml b/core/core-main/src/main/res/drawable/ic_glimp.xml similarity index 100% rename from core/src/main/res/drawable/ic_glimp.xml rename to core/core-main/src/main/res/drawable/ic_glimp.xml diff --git a/core/src/main/res/drawable/ic_glunovo.xml b/core/core-main/src/main/res/drawable/ic_glunovo.xml similarity index 100% rename from core/src/main/res/drawable/ic_glunovo.xml rename to core/core-main/src/main/res/drawable/ic_glunovo.xml diff --git a/core/src/main/res/drawable/ic_graduation.xml b/core/core-main/src/main/res/drawable/ic_graduation.xml similarity index 100% rename from core/src/main/res/drawable/ic_graduation.xml rename to core/core-main/src/main/res/drawable/ic_graduation.xml diff --git a/core/src/main/res/drawable/ic_header_key.xml b/core/core-main/src/main/res/drawable/ic_header_key.xml similarity index 100% rename from core/src/main/res/drawable/ic_header_key.xml rename to core/core-main/src/main/res/drawable/ic_header_key.xml diff --git a/core/src/main/res/drawable/ic_header_warning.xml b/core/core-main/src/main/res/drawable/ic_header_warning.xml similarity index 100% rename from core/src/main/res/drawable/ic_header_warning.xml rename to core/core-main/src/main/res/drawable/ic_header_warning.xml diff --git a/core/src/main/res/drawable/ic_home.xml b/core/core-main/src/main/res/drawable/ic_home.xml similarity index 100% rename from core/src/main/res/drawable/ic_home.xml rename to core/core-main/src/main/res/drawable/ic_home.xml diff --git a/core/src/main/res/drawable/ic_home_profile.xml b/core/core-main/src/main/res/drawable/ic_home_profile.xml similarity index 100% rename from core/src/main/res/drawable/ic_home_profile.xml rename to core/core-main/src/main/res/drawable/ic_home_profile.xml diff --git a/core/src/main/res/drawable/ic_ict.xml b/core/core-main/src/main/res/drawable/ic_ict.xml similarity index 100% rename from core/src/main/res/drawable/ic_ict.xml rename to core/core-main/src/main/res/drawable/ic_ict.xml diff --git a/core/src/main/res/drawable/ic_insight_128.xml b/core/core-main/src/main/res/drawable/ic_insight_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_insight_128.xml rename to core/core-main/src/main/res/drawable/ic_insight_128.xml diff --git a/core/src/main/res/drawable/ic_insulin.xml b/core/core-main/src/main/res/drawable/ic_insulin.xml similarity index 100% rename from core/src/main/res/drawable/ic_insulin.xml rename to core/core-main/src/main/res/drawable/ic_insulin.xml diff --git a/core/src/main/res/drawable/ic_intelligo.xml b/core/core-main/src/main/res/drawable/ic_intelligo.xml similarity index 100% rename from core/src/main/res/drawable/ic_intelligo.xml rename to core/core-main/src/main/res/drawable/ic_intelligo.xml diff --git a/core/src/main/res/drawable/ic_invalid.xml b/core/core-main/src/main/res/drawable/ic_invalid.xml similarity index 100% rename from core/src/main/res/drawable/ic_invalid.xml rename to core/core-main/src/main/res/drawable/ic_invalid.xml diff --git a/core/src/main/res/drawable/ic_local_profile.xml b/core/core-main/src/main/res/drawable/ic_local_profile.xml similarity index 100% rename from core/src/main/res/drawable/ic_local_profile.xml rename to core/core-main/src/main/res/drawable/ic_local_profile.xml diff --git a/core/src/main/res/drawable/ic_local_save.xml b/core/core-main/src/main/res/drawable/ic_local_save.xml similarity index 100% rename from core/src/main/res/drawable/ic_local_save.xml rename to core/core-main/src/main/res/drawable/ic_local_save.xml diff --git a/core/src/main/res/drawable/ic_loop_closed.xml b/core/core-main/src/main/res/drawable/ic_loop_closed.xml similarity index 100% rename from core/src/main/res/drawable/ic_loop_closed.xml rename to core/core-main/src/main/res/drawable/ic_loop_closed.xml diff --git a/core/src/main/res/drawable/ic_loop_closed_off.xml b/core/core-main/src/main/res/drawable/ic_loop_closed_off.xml similarity index 100% rename from core/src/main/res/drawable/ic_loop_closed_off.xml rename to core/core-main/src/main/res/drawable/ic_loop_closed_off.xml diff --git a/core/src/main/res/drawable/ic_loop_closed_white.xml b/core/core-main/src/main/res/drawable/ic_loop_closed_white.xml similarity index 100% rename from core/src/main/res/drawable/ic_loop_closed_white.xml rename to core/core-main/src/main/res/drawable/ic_loop_closed_white.xml diff --git a/core/src/main/res/drawable/ic_maintenance.xml b/core/core-main/src/main/res/drawable/ic_maintenance.xml similarity index 100% rename from core/src/main/res/drawable/ic_maintenance.xml rename to core/core-main/src/main/res/drawable/ic_maintenance.xml diff --git a/core/src/main/res/drawable/ic_minus.xml b/core/core-main/src/main/res/drawable/ic_minus.xml similarity index 100% rename from core/src/main/res/drawable/ic_minus.xml rename to core/core-main/src/main/res/drawable/ic_minus.xml diff --git a/core/src/main/res/drawable/ic_nightscout_profile.xml b/core/core-main/src/main/res/drawable/ic_nightscout_profile.xml similarity index 100% rename from core/src/main/res/drawable/ic_nightscout_profile.xml rename to core/core-main/src/main/res/drawable/ic_nightscout_profile.xml diff --git a/core/src/main/res/drawable/ic_nightscout_syncs.xml b/core/core-main/src/main/res/drawable/ic_nightscout_syncs.xml similarity index 100% rename from core/src/main/res/drawable/ic_nightscout_syncs.xml rename to core/core-main/src/main/res/drawable/ic_nightscout_syncs.xml diff --git a/core/src/main/res/drawable/ic_notif_aaps.xml b/core/core-main/src/main/res/drawable/ic_notif_aaps.xml similarity index 100% rename from core/src/main/res/drawable/ic_notif_aaps.xml rename to core/core-main/src/main/res/drawable/ic_notif_aaps.xml diff --git a/core/src/main/res/drawable/ic_nsclient_bg.xml b/core/core-main/src/main/res/drawable/ic_nsclient_bg.xml similarity index 100% rename from core/src/main/res/drawable/ic_nsclient_bg.xml rename to core/core-main/src/main/res/drawable/ic_nsclient_bg.xml diff --git a/core/src/main/res/drawable/ic_patch_pump_outline.xml b/core/core-main/src/main/res/drawable/ic_patch_pump_outline.xml similarity index 100% rename from core/src/main/res/drawable/ic_patch_pump_outline.xml rename to core/core-main/src/main/res/drawable/ic_patch_pump_outline.xml diff --git a/core/src/main/res/drawable/ic_plus.xml b/core/core-main/src/main/res/drawable/ic_plus.xml similarity index 100% rename from core/src/main/res/drawable/ic_plus.xml rename to core/core-main/src/main/res/drawable/ic_plus.xml diff --git a/core/src/main/res/drawable/ic_poctech.xml b/core/core-main/src/main/res/drawable/ic_poctech.xml similarity index 100% rename from core/src/main/res/drawable/ic_poctech.xml rename to core/core-main/src/main/res/drawable/ic_poctech.xml diff --git a/core/src/main/res/drawable/ic_pod_128.xml b/core/core-main/src/main/res/drawable/ic_pod_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_pod_128.xml rename to core/core-main/src/main/res/drawable/ic_pod_128.xml diff --git a/core/src/main/res/drawable/ic_pump_history.xml b/core/core-main/src/main/res/drawable/ic_pump_history.xml similarity index 100% rename from core/src/main/res/drawable/ic_pump_history.xml rename to core/core-main/src/main/res/drawable/ic_pump_history.xml diff --git a/core/src/main/res/drawable/ic_quick_wizard.xml b/core/core-main/src/main/res/drawable/ic_quick_wizard.xml similarity index 100% rename from core/src/main/res/drawable/ic_quick_wizard.xml rename to core/core-main/src/main/res/drawable/ic_quick_wizard.xml diff --git a/core/src/main/res/drawable/ic_refresh.xml b/core/core-main/src/main/res/drawable/ic_refresh.xml similarity index 100% rename from core/src/main/res/drawable/ic_refresh.xml rename to core/core-main/src/main/res/drawable/ic_refresh.xml diff --git a/core/src/main/res/drawable/ic_remove.xml b/core/core-main/src/main/res/drawable/ic_remove.xml similarity index 100% rename from core/src/main/res/drawable/ic_remove.xml rename to core/core-main/src/main/res/drawable/ic_remove.xml diff --git a/core/src/main/res/drawable/ic_ribbon_profile.xml b/core/core-main/src/main/res/drawable/ic_ribbon_profile.xml similarity index 100% rename from core/src/main/res/drawable/ic_ribbon_profile.xml rename to core/core-main/src/main/res/drawable/ic_ribbon_profile.xml diff --git a/core/src/main/res/drawable/ic_sensor.xml b/core/core-main/src/main/res/drawable/ic_sensor.xml similarity index 100% rename from core/src/main/res/drawable/ic_sensor.xml rename to core/core-main/src/main/res/drawable/ic_sensor.xml diff --git a/core/src/main/res/drawable/ic_singledown.xml b/core/core-main/src/main/res/drawable/ic_singledown.xml similarity index 100% rename from core/src/main/res/drawable/ic_singledown.xml rename to core/core-main/src/main/res/drawable/ic_singledown.xml diff --git a/core/src/main/res/drawable/ic_singleup.xml b/core/core-main/src/main/res/drawable/ic_singleup.xml similarity index 100% rename from core/src/main/res/drawable/ic_singleup.xml rename to core/core-main/src/main/res/drawable/ic_singleup.xml diff --git a/core/src/main/res/drawable/ic_smartphone.xml b/core/core-main/src/main/res/drawable/ic_smartphone.xml similarity index 100% rename from core/src/main/res/drawable/ic_smartphone.xml rename to core/core-main/src/main/res/drawable/ic_smartphone.xml diff --git a/core/src/main/res/drawable/ic_sms.xml b/core/core-main/src/main/res/drawable/ic_sms.xml similarity index 100% rename from core/src/main/res/drawable/ic_sms.xml rename to core/core-main/src/main/res/drawable/ic_sms.xml diff --git a/core/src/main/res/drawable/ic_sort.xml b/core/core-main/src/main/res/drawable/ic_sort.xml similarity index 100% rename from core/src/main/res/drawable/ic_sort.xml rename to core/core-main/src/main/res/drawable/ic_sort.xml diff --git a/core/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml b/core/core-main/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml similarity index 100% rename from core/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml rename to core/core-main/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml diff --git a/core/src/main/res/drawable/ic_temptarget_high.xml b/core/core-main/src/main/res/drawable/ic_temptarget_high.xml similarity index 100% rename from core/src/main/res/drawable/ic_temptarget_high.xml rename to core/core-main/src/main/res/drawable/ic_temptarget_high.xml diff --git a/core/src/main/res/drawable/ic_toast_check.xml b/core/core-main/src/main/res/drawable/ic_toast_check.xml similarity index 100% rename from core/src/main/res/drawable/ic_toast_check.xml rename to core/core-main/src/main/res/drawable/ic_toast_check.xml diff --git a/core/src/main/res/drawable/ic_toast_delete_confirm.xml b/core/core-main/src/main/res/drawable/ic_toast_delete_confirm.xml similarity index 100% rename from core/src/main/res/drawable/ic_toast_delete_confirm.xml rename to core/core-main/src/main/res/drawable/ic_toast_delete_confirm.xml diff --git a/core/src/main/res/drawable/ic_toast_error.xml b/core/core-main/src/main/res/drawable/ic_toast_error.xml similarity index 100% rename from core/src/main/res/drawable/ic_toast_error.xml rename to core/core-main/src/main/res/drawable/ic_toast_error.xml diff --git a/core/src/main/res/drawable/ic_toast_info.xml b/core/core-main/src/main/res/drawable/ic_toast_info.xml similarity index 100% rename from core/src/main/res/drawable/ic_toast_info.xml rename to core/core-main/src/main/res/drawable/ic_toast_info.xml diff --git a/core/src/main/res/drawable/ic_toast_warn.xml b/core/core-main/src/main/res/drawable/ic_toast_warn.xml similarity index 100% rename from core/src/main/res/drawable/ic_toast_warn.xml rename to core/core-main/src/main/res/drawable/ic_toast_warn.xml diff --git a/core/src/main/res/drawable/ic_trash.xml b/core/core-main/src/main/res/drawable/ic_trash.xml similarity index 100% rename from core/src/main/res/drawable/ic_trash.xml rename to core/core-main/src/main/res/drawable/ic_trash.xml diff --git a/core/src/main/res/drawable/ic_trash_outline.xml b/core/core-main/src/main/res/drawable/ic_trash_outline.xml similarity index 100% rename from core/src/main/res/drawable/ic_trash_outline.xml rename to core/core-main/src/main/res/drawable/ic_trash_outline.xml diff --git a/core/src/main/res/drawable/ic_treatments.xml b/core/core-main/src/main/res/drawable/ic_treatments.xml similarity index 100% rename from core/src/main/res/drawable/ic_treatments.xml rename to core/core-main/src/main/res/drawable/ic_treatments.xml diff --git a/core/src/main/res/drawable/ic_trending_flat_white_48dp.xml b/core/core-main/src/main/res/drawable/ic_trending_flat_white_48dp.xml similarity index 100% rename from core/src/main/res/drawable/ic_trending_flat_white_48dp.xml rename to core/core-main/src/main/res/drawable/ic_trending_flat_white_48dp.xml diff --git a/core/src/main/res/drawable/ic_veo.xml b/core/core-main/src/main/res/drawable/ic_veo.xml similarity index 100% rename from core/src/main/res/drawable/ic_veo.xml rename to core/core-main/src/main/res/drawable/ic_veo.xml diff --git a/core/src/main/res/drawable/ic_veo_128.xml b/core/core-main/src/main/res/drawable/ic_veo_128.xml similarity index 100% rename from core/src/main/res/drawable/ic_veo_128.xml rename to core/core-main/src/main/res/drawable/ic_veo_128.xml diff --git a/core/src/main/res/drawable/ic_virtual_pump.xml b/core/core-main/src/main/res/drawable/ic_virtual_pump.xml similarity index 100% rename from core/src/main/res/drawable/ic_virtual_pump.xml rename to core/core-main/src/main/res/drawable/ic_virtual_pump.xml diff --git a/core/src/main/res/drawable/ic_watch.xml b/core/core-main/src/main/res/drawable/ic_watch.xml similarity index 100% rename from core/src/main/res/drawable/ic_watch.xml rename to core/core-main/src/main/res/drawable/ic_watch.xml diff --git a/core/src/main/res/drawable/ic_x_swap_vert.xml b/core/core-main/src/main/res/drawable/ic_x_swap_vert.xml similarity index 100% rename from core/src/main/res/drawable/ic_x_swap_vert.xml rename to core/core-main/src/main/res/drawable/ic_x_swap_vert.xml diff --git a/core/src/main/res/drawable/icon_insulin_carbs.xml b/core/core-main/src/main/res/drawable/icon_insulin_carbs.xml similarity index 100% rename from core/src/main/res/drawable/icon_insulin_carbs.xml rename to core/core-main/src/main/res/drawable/icon_insulin_carbs.xml diff --git a/core/src/main/res/drawable/launch_screen.xml b/core/core-main/src/main/res/drawable/launch_screen.xml similarity index 100% rename from core/src/main/res/drawable/launch_screen.xml rename to core/core-main/src/main/res/drawable/launch_screen.xml diff --git a/core/src/main/res/drawable/material_button_background.xml b/core/core-main/src/main/res/drawable/material_button_background.xml similarity index 100% rename from core/src/main/res/drawable/material_button_background.xml rename to core/core-main/src/main/res/drawable/material_button_background.xml diff --git a/core/src/main/res/drawable/material_button_selected.xml b/core/core-main/src/main/res/drawable/material_button_selected.xml similarity index 100% rename from core/src/main/res/drawable/material_button_selected.xml rename to core/core-main/src/main/res/drawable/material_button_selected.xml diff --git a/core/src/main/res/drawable/pillborder.xml b/core/core-main/src/main/res/drawable/pillborder.xml similarity index 100% rename from core/src/main/res/drawable/pillborder.xml rename to core/core-main/src/main/res/drawable/pillborder.xml diff --git a/core/src/main/res/drawable/splash_icon.png b/core/core-main/src/main/res/drawable/splash_icon.png similarity index 100% rename from core/src/main/res/drawable/splash_icon.png rename to core/core-main/src/main/res/drawable/splash_icon.png diff --git a/core/src/main/res/layout/close.xml b/core/core-main/src/main/res/layout/close.xml similarity index 100% rename from core/src/main/res/layout/close.xml rename to core/core-main/src/main/res/layout/close.xml diff --git a/core/src/main/res/layout/datetime.xml b/core/core-main/src/main/res/layout/datetime.xml similarity index 100% rename from core/src/main/res/layout/datetime.xml rename to core/core-main/src/main/res/layout/datetime.xml diff --git a/core/src/main/res/layout/dialog_alert_custom_title.xml b/core/core-main/src/main/res/layout/dialog_alert_custom_title.xml similarity index 100% rename from core/src/main/res/layout/dialog_alert_custom_title.xml rename to core/core-main/src/main/res/layout/dialog_alert_custom_title.xml diff --git a/core/src/main/res/layout/dialog_bolusprogress.xml b/core/core-main/src/main/res/layout/dialog_bolusprogress.xml similarity index 100% rename from core/src/main/res/layout/dialog_bolusprogress.xml rename to core/core-main/src/main/res/layout/dialog_bolusprogress.xml diff --git a/core/src/main/res/layout/dialog_error.xml b/core/core-main/src/main/res/layout/dialog_error.xml similarity index 100% rename from core/src/main/res/layout/dialog_error.xml rename to core/core-main/src/main/res/layout/dialog_error.xml diff --git a/core/src/main/res/layout/dialog_profileviewer.xml b/core/core-main/src/main/res/layout/dialog_profileviewer.xml similarity index 100% rename from core/src/main/res/layout/dialog_profileviewer.xml rename to core/core-main/src/main/res/layout/dialog_profileviewer.xml diff --git a/core/src/main/res/layout/maintenance_import_list_activity.xml b/core/core-main/src/main/res/layout/maintenance_import_list_activity.xml similarity index 100% rename from core/src/main/res/layout/maintenance_import_list_activity.xml rename to core/core-main/src/main/res/layout/maintenance_import_list_activity.xml diff --git a/core/src/main/res/layout/maintenance_import_list_item.xml b/core/core-main/src/main/res/layout/maintenance_import_list_item.xml similarity index 100% rename from core/src/main/res/layout/maintenance_import_list_item.xml rename to core/core-main/src/main/res/layout/maintenance_import_list_item.xml diff --git a/core/src/main/res/layout/notes.xml b/core/core-main/src/main/res/layout/notes.xml similarity index 100% rename from core/src/main/res/layout/notes.xml rename to core/core-main/src/main/res/layout/notes.xml diff --git a/core/src/main/res/layout/number_picker_layout.xml b/core/core-main/src/main/res/layout/number_picker_layout.xml similarity index 100% rename from core/src/main/res/layout/number_picker_layout.xml rename to core/core-main/src/main/res/layout/number_picker_layout.xml diff --git a/core/src/main/res/layout/number_picker_layout_vertical.xml b/core/core-main/src/main/res/layout/number_picker_layout_vertical.xml similarity index 100% rename from core/src/main/res/layout/number_picker_layout_vertical.xml rename to core/core-main/src/main/res/layout/number_picker_layout_vertical.xml diff --git a/core/src/main/res/layout/okcancel.xml b/core/core-main/src/main/res/layout/okcancel.xml similarity index 100% rename from core/src/main/res/layout/okcancel.xml rename to core/core-main/src/main/res/layout/okcancel.xml diff --git a/core/src/main/res/layout/passwordprompt.xml b/core/core-main/src/main/res/layout/passwordprompt.xml similarity index 100% rename from core/src/main/res/layout/passwordprompt.xml rename to core/core-main/src/main/res/layout/passwordprompt.xml diff --git a/core/src/main/res/layout/spinner_centered.xml b/core/core-main/src/main/res/layout/spinner_centered.xml similarity index 100% rename from core/src/main/res/layout/spinner_centered.xml rename to core/core-main/src/main/res/layout/spinner_centered.xml diff --git a/core/src/main/res/layout/toast.xml b/core/core-main/src/main/res/layout/toast.xml similarity index 100% rename from core/src/main/res/layout/toast.xml rename to core/core-main/src/main/res/layout/toast.xml diff --git a/core/src/main/res/menu/menu_actions.xml b/core/core-main/src/main/res/menu/menu_actions.xml similarity index 96% rename from core/src/main/res/menu/menu_actions.xml rename to core/core-main/src/main/res/menu/menu_actions.xml index 798c6a5da2..05dc8da163 100644 --- a/core/src/main/res/menu/menu_actions.xml +++ b/core/core-main/src/main/res/menu/menu_actions.xml @@ -1,19 +1,19 @@ -

- - - - - - + + + + + + + diff --git a/core/src/main/res/menu/menu_delete_selection.xml b/core/core-main/src/main/res/menu/menu_delete_selection.xml similarity index 100% rename from core/src/main/res/menu/menu_delete_selection.xml rename to core/core-main/src/main/res/menu/menu_delete_selection.xml diff --git a/core/src/main/res/raw/alarm.mp3 b/core/core-main/src/main/res/raw/alarm.mp3 similarity index 100% rename from core/src/main/res/raw/alarm.mp3 rename to core/core-main/src/main/res/raw/alarm.mp3 diff --git a/core/src/main/res/raw/boluserror.mp3 b/core/core-main/src/main/res/raw/boluserror.mp3 similarity index 100% rename from core/src/main/res/raw/boluserror.mp3 rename to core/core-main/src/main/res/raw/boluserror.mp3 diff --git a/core/src/main/res/raw/error.mp3 b/core/core-main/src/main/res/raw/error.mp3 similarity index 100% rename from core/src/main/res/raw/error.mp3 rename to core/core-main/src/main/res/raw/error.mp3 diff --git a/core/src/main/res/values-af-rZA/protection.xml b/core/core-main/src/main/res/values-af-rZA/protection.xml similarity index 100% rename from core/src/main/res/values-af-rZA/protection.xml rename to core/core-main/src/main/res/values-af-rZA/protection.xml diff --git a/core/src/main/res/values-af-rZA/strings.xml b/core/core-main/src/main/res/values-af-rZA/strings.xml similarity index 100% rename from core/src/main/res/values-af-rZA/strings.xml rename to core/core-main/src/main/res/values-af-rZA/strings.xml diff --git a/core/src/main/res/values-af-rZA/validator.xml b/core/core-main/src/main/res/values-af-rZA/validator.xml similarity index 100% rename from core/src/main/res/values-af-rZA/validator.xml rename to core/core-main/src/main/res/values-af-rZA/validator.xml diff --git a/core/src/main/res/values-ar-rSA/protection.xml b/core/core-main/src/main/res/values-ar-rSA/protection.xml similarity index 100% rename from core/src/main/res/values-ar-rSA/protection.xml rename to core/core-main/src/main/res/values-ar-rSA/protection.xml diff --git a/core/src/main/res/values-ar-rSA/strings.xml b/core/core-main/src/main/res/values-ar-rSA/strings.xml similarity index 100% rename from core/src/main/res/values-ar-rSA/strings.xml rename to core/core-main/src/main/res/values-ar-rSA/strings.xml diff --git a/core/src/main/res/values-bg-rBG/protection.xml b/core/core-main/src/main/res/values-bg-rBG/protection.xml similarity index 100% rename from core/src/main/res/values-bg-rBG/protection.xml rename to core/core-main/src/main/res/values-bg-rBG/protection.xml diff --git a/core/src/main/res/values-bg-rBG/strings.xml b/core/core-main/src/main/res/values-bg-rBG/strings.xml similarity index 100% rename from core/src/main/res/values-bg-rBG/strings.xml rename to core/core-main/src/main/res/values-bg-rBG/strings.xml diff --git a/core/src/main/res/values-bg-rBG/validator.xml b/core/core-main/src/main/res/values-bg-rBG/validator.xml similarity index 100% rename from core/src/main/res/values-bg-rBG/validator.xml rename to core/core-main/src/main/res/values-bg-rBG/validator.xml diff --git a/core/src/main/res/values-ca-rES/strings.xml b/core/core-main/src/main/res/values-ca-rES/strings.xml similarity index 100% rename from core/src/main/res/values-ca-rES/strings.xml rename to core/core-main/src/main/res/values-ca-rES/strings.xml diff --git a/core/src/main/res/values-ca-rES/validator.xml b/core/core-main/src/main/res/values-ca-rES/validator.xml similarity index 100% rename from core/src/main/res/values-ca-rES/validator.xml rename to core/core-main/src/main/res/values-ca-rES/validator.xml diff --git a/core/src/main/res/values-cs-rCZ/protection.xml b/core/core-main/src/main/res/values-cs-rCZ/protection.xml similarity index 100% rename from core/src/main/res/values-cs-rCZ/protection.xml rename to core/core-main/src/main/res/values-cs-rCZ/protection.xml diff --git a/core/src/main/res/values-cs-rCZ/strings.xml b/core/core-main/src/main/res/values-cs-rCZ/strings.xml similarity index 100% rename from core/src/main/res/values-cs-rCZ/strings.xml rename to core/core-main/src/main/res/values-cs-rCZ/strings.xml diff --git a/core/src/main/res/values-cs-rCZ/validator.xml b/core/core-main/src/main/res/values-cs-rCZ/validator.xml similarity index 100% rename from core/src/main/res/values-cs-rCZ/validator.xml rename to core/core-main/src/main/res/values-cs-rCZ/validator.xml diff --git a/core/src/main/res/values-cy-rGB/protection.xml b/core/core-main/src/main/res/values-cy-rGB/protection.xml similarity index 100% rename from core/src/main/res/values-cy-rGB/protection.xml rename to core/core-main/src/main/res/values-cy-rGB/protection.xml diff --git a/core/src/main/res/values-cy-rGB/strings.xml b/core/core-main/src/main/res/values-cy-rGB/strings.xml similarity index 100% rename from core/src/main/res/values-cy-rGB/strings.xml rename to core/core-main/src/main/res/values-cy-rGB/strings.xml diff --git a/core/src/main/res/values-da-rDK/strings.xml b/core/core-main/src/main/res/values-da-rDK/strings.xml similarity index 100% rename from core/src/main/res/values-da-rDK/strings.xml rename to core/core-main/src/main/res/values-da-rDK/strings.xml diff --git a/core/src/main/res/values-da-rDK/validator.xml b/core/core-main/src/main/res/values-da-rDK/validator.xml similarity index 100% rename from core/src/main/res/values-da-rDK/validator.xml rename to core/core-main/src/main/res/values-da-rDK/validator.xml diff --git a/core/src/main/res/values-de-rDE/protection.xml b/core/core-main/src/main/res/values-de-rDE/protection.xml similarity index 100% rename from core/src/main/res/values-de-rDE/protection.xml rename to core/core-main/src/main/res/values-de-rDE/protection.xml diff --git a/core/src/main/res/values-de-rDE/strings.xml b/core/core-main/src/main/res/values-de-rDE/strings.xml similarity index 100% rename from core/src/main/res/values-de-rDE/strings.xml rename to core/core-main/src/main/res/values-de-rDE/strings.xml diff --git a/core/src/main/res/values-de-rDE/validator.xml b/core/core-main/src/main/res/values-de-rDE/validator.xml similarity index 100% rename from core/src/main/res/values-de-rDE/validator.xml rename to core/core-main/src/main/res/values-de-rDE/validator.xml diff --git a/core/src/main/res/values-el-rGR/protection.xml b/core/core-main/src/main/res/values-el-rGR/protection.xml similarity index 100% rename from core/src/main/res/values-el-rGR/protection.xml rename to core/core-main/src/main/res/values-el-rGR/protection.xml diff --git a/core/src/main/res/values-el-rGR/strings.xml b/core/core-main/src/main/res/values-el-rGR/strings.xml similarity index 100% rename from core/src/main/res/values-el-rGR/strings.xml rename to core/core-main/src/main/res/values-el-rGR/strings.xml diff --git a/core/src/main/res/values-el-rGR/validator.xml b/core/core-main/src/main/res/values-el-rGR/validator.xml similarity index 100% rename from core/src/main/res/values-el-rGR/validator.xml rename to core/core-main/src/main/res/values-el-rGR/validator.xml diff --git a/core/src/main/res/values-es-rES/protection.xml b/core/core-main/src/main/res/values-es-rES/protection.xml similarity index 100% rename from core/src/main/res/values-es-rES/protection.xml rename to core/core-main/src/main/res/values-es-rES/protection.xml diff --git a/core/src/main/res/values-es-rES/strings.xml b/core/core-main/src/main/res/values-es-rES/strings.xml similarity index 100% rename from core/src/main/res/values-es-rES/strings.xml rename to core/core-main/src/main/res/values-es-rES/strings.xml diff --git a/core/src/main/res/values-es-rES/validator.xml b/core/core-main/src/main/res/values-es-rES/validator.xml similarity index 100% rename from core/src/main/res/values-es-rES/validator.xml rename to core/core-main/src/main/res/values-es-rES/validator.xml diff --git a/core/src/main/res/values-fi-rFI/protection.xml b/core/core-main/src/main/res/values-fi-rFI/protection.xml similarity index 100% rename from core/src/main/res/values-fi-rFI/protection.xml rename to core/core-main/src/main/res/values-fi-rFI/protection.xml diff --git a/core/src/main/res/values-fi-rFI/strings.xml b/core/core-main/src/main/res/values-fi-rFI/strings.xml similarity index 100% rename from core/src/main/res/values-fi-rFI/strings.xml rename to core/core-main/src/main/res/values-fi-rFI/strings.xml diff --git a/core/src/main/res/values-fr-rFR/protection.xml b/core/core-main/src/main/res/values-fr-rFR/protection.xml similarity index 100% rename from core/src/main/res/values-fr-rFR/protection.xml rename to core/core-main/src/main/res/values-fr-rFR/protection.xml diff --git a/core/src/main/res/values-fr-rFR/strings.xml b/core/core-main/src/main/res/values-fr-rFR/strings.xml similarity index 100% rename from core/src/main/res/values-fr-rFR/strings.xml rename to core/core-main/src/main/res/values-fr-rFR/strings.xml diff --git a/core/src/main/res/values-fr-rFR/validator.xml b/core/core-main/src/main/res/values-fr-rFR/validator.xml similarity index 100% rename from core/src/main/res/values-fr-rFR/validator.xml rename to core/core-main/src/main/res/values-fr-rFR/validator.xml diff --git a/core/src/main/res/values-ga-rIE/protection.xml b/core/core-main/src/main/res/values-ga-rIE/protection.xml similarity index 100% rename from core/src/main/res/values-ga-rIE/protection.xml rename to core/core-main/src/main/res/values-ga-rIE/protection.xml diff --git a/core/src/main/res/values-ga-rIE/strings.xml b/core/core-main/src/main/res/values-ga-rIE/strings.xml similarity index 100% rename from core/src/main/res/values-ga-rIE/strings.xml rename to core/core-main/src/main/res/values-ga-rIE/strings.xml diff --git a/core/src/main/res/values-ga-rIE/validator.xml b/core/core-main/src/main/res/values-ga-rIE/validator.xml similarity index 100% rename from core/src/main/res/values-ga-rIE/validator.xml rename to core/core-main/src/main/res/values-ga-rIE/validator.xml diff --git a/core/src/main/res/values-hr-rHR/protection.xml b/core/core-main/src/main/res/values-hr-rHR/protection.xml similarity index 100% rename from core/src/main/res/values-hr-rHR/protection.xml rename to core/core-main/src/main/res/values-hr-rHR/protection.xml diff --git a/core/src/main/res/values-hr-rHR/strings.xml b/core/core-main/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from core/src/main/res/values-hr-rHR/strings.xml rename to core/core-main/src/main/res/values-hr-rHR/strings.xml diff --git a/core/src/main/res/values-hr-rHR/validator.xml b/core/core-main/src/main/res/values-hr-rHR/validator.xml similarity index 100% rename from core/src/main/res/values-hr-rHR/validator.xml rename to core/core-main/src/main/res/values-hr-rHR/validator.xml diff --git a/core/src/main/res/values-hu-rHU/strings.xml b/core/core-main/src/main/res/values-hu-rHU/strings.xml similarity index 100% rename from core/src/main/res/values-hu-rHU/strings.xml rename to core/core-main/src/main/res/values-hu-rHU/strings.xml diff --git a/core/src/main/res/values-hu-rHU/validator.xml b/core/core-main/src/main/res/values-hu-rHU/validator.xml similarity index 100% rename from core/src/main/res/values-hu-rHU/validator.xml rename to core/core-main/src/main/res/values-hu-rHU/validator.xml diff --git a/core/src/main/res/values-it-rIT/protection.xml b/core/core-main/src/main/res/values-it-rIT/protection.xml similarity index 100% rename from core/src/main/res/values-it-rIT/protection.xml rename to core/core-main/src/main/res/values-it-rIT/protection.xml diff --git a/core/src/main/res/values-it-rIT/strings.xml b/core/core-main/src/main/res/values-it-rIT/strings.xml similarity index 100% rename from core/src/main/res/values-it-rIT/strings.xml rename to core/core-main/src/main/res/values-it-rIT/strings.xml diff --git a/core/src/main/res/values-it-rIT/validator.xml b/core/core-main/src/main/res/values-it-rIT/validator.xml similarity index 100% rename from core/src/main/res/values-it-rIT/validator.xml rename to core/core-main/src/main/res/values-it-rIT/validator.xml diff --git a/core/src/main/res/values-iw-rIL/protection.xml b/core/core-main/src/main/res/values-iw-rIL/protection.xml similarity index 100% rename from core/src/main/res/values-iw-rIL/protection.xml rename to core/core-main/src/main/res/values-iw-rIL/protection.xml diff --git a/core/src/main/res/values-iw-rIL/strings.xml b/core/core-main/src/main/res/values-iw-rIL/strings.xml similarity index 100% rename from core/src/main/res/values-iw-rIL/strings.xml rename to core/core-main/src/main/res/values-iw-rIL/strings.xml diff --git a/core/src/main/res/values-iw-rIL/validator.xml b/core/core-main/src/main/res/values-iw-rIL/validator.xml similarity index 100% rename from core/src/main/res/values-iw-rIL/validator.xml rename to core/core-main/src/main/res/values-iw-rIL/validator.xml diff --git a/core/src/main/res/values-ja-rJP/protection.xml b/core/core-main/src/main/res/values-ja-rJP/protection.xml similarity index 100% rename from core/src/main/res/values-ja-rJP/protection.xml rename to core/core-main/src/main/res/values-ja-rJP/protection.xml diff --git a/core/src/main/res/values-ja-rJP/strings.xml b/core/core-main/src/main/res/values-ja-rJP/strings.xml similarity index 100% rename from core/src/main/res/values-ja-rJP/strings.xml rename to core/core-main/src/main/res/values-ja-rJP/strings.xml diff --git a/core/src/main/res/values-ko-rKR/protection.xml b/core/core-main/src/main/res/values-ko-rKR/protection.xml similarity index 100% rename from core/src/main/res/values-ko-rKR/protection.xml rename to core/core-main/src/main/res/values-ko-rKR/protection.xml diff --git a/core/src/main/res/values-ko-rKR/strings.xml b/core/core-main/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from core/src/main/res/values-ko-rKR/strings.xml rename to core/core-main/src/main/res/values-ko-rKR/strings.xml diff --git a/core/src/main/res/values-ko-rKR/validator.xml b/core/core-main/src/main/res/values-ko-rKR/validator.xml similarity index 100% rename from core/src/main/res/values-ko-rKR/validator.xml rename to core/core-main/src/main/res/values-ko-rKR/validator.xml diff --git a/core/src/main/res/values-lt-rLT/protection.xml b/core/core-main/src/main/res/values-lt-rLT/protection.xml similarity index 100% rename from core/src/main/res/values-lt-rLT/protection.xml rename to core/core-main/src/main/res/values-lt-rLT/protection.xml diff --git a/core/src/main/res/values-lt-rLT/strings.xml b/core/core-main/src/main/res/values-lt-rLT/strings.xml similarity index 100% rename from core/src/main/res/values-lt-rLT/strings.xml rename to core/core-main/src/main/res/values-lt-rLT/strings.xml diff --git a/core/src/main/res/values-lt-rLT/validator.xml b/core/core-main/src/main/res/values-lt-rLT/validator.xml similarity index 100% rename from core/src/main/res/values-lt-rLT/validator.xml rename to core/core-main/src/main/res/values-lt-rLT/validator.xml diff --git a/core/src/main/res/values-night/colors.xml b/core/core-main/src/main/res/values-night/colors.xml similarity index 100% rename from core/src/main/res/values-night/colors.xml rename to core/core-main/src/main/res/values-night/colors.xml diff --git a/core/src/main/res/values-night/styles.xml b/core/core-main/src/main/res/values-night/styles.xml similarity index 100% rename from core/src/main/res/values-night/styles.xml rename to core/core-main/src/main/res/values-night/styles.xml diff --git a/core/src/main/res/values-nl-rNL/protection.xml b/core/core-main/src/main/res/values-nl-rNL/protection.xml similarity index 100% rename from core/src/main/res/values-nl-rNL/protection.xml rename to core/core-main/src/main/res/values-nl-rNL/protection.xml diff --git a/core/src/main/res/values-nl-rNL/strings.xml b/core/core-main/src/main/res/values-nl-rNL/strings.xml similarity index 100% rename from core/src/main/res/values-nl-rNL/strings.xml rename to core/core-main/src/main/res/values-nl-rNL/strings.xml diff --git a/core/src/main/res/values-nl-rNL/validator.xml b/core/core-main/src/main/res/values-nl-rNL/validator.xml similarity index 100% rename from core/src/main/res/values-nl-rNL/validator.xml rename to core/core-main/src/main/res/values-nl-rNL/validator.xml diff --git a/core/src/main/res/values-no-rNO/strings.xml b/core/core-main/src/main/res/values-no-rNO/strings.xml similarity index 100% rename from core/src/main/res/values-no-rNO/strings.xml rename to core/core-main/src/main/res/values-no-rNO/strings.xml diff --git a/core/src/main/res/values-no-rNO/validator.xml b/core/core-main/src/main/res/values-no-rNO/validator.xml similarity index 100% rename from core/src/main/res/values-no-rNO/validator.xml rename to core/core-main/src/main/res/values-no-rNO/validator.xml diff --git a/core/src/main/res/values-pl-rPL/protection.xml b/core/core-main/src/main/res/values-pl-rPL/protection.xml similarity index 100% rename from core/src/main/res/values-pl-rPL/protection.xml rename to core/core-main/src/main/res/values-pl-rPL/protection.xml diff --git a/core/src/main/res/values-pl-rPL/strings.xml b/core/core-main/src/main/res/values-pl-rPL/strings.xml similarity index 100% rename from core/src/main/res/values-pl-rPL/strings.xml rename to core/core-main/src/main/res/values-pl-rPL/strings.xml diff --git a/core/src/main/res/values-pl-rPL/validator.xml b/core/core-main/src/main/res/values-pl-rPL/validator.xml similarity index 100% rename from core/src/main/res/values-pl-rPL/validator.xml rename to core/core-main/src/main/res/values-pl-rPL/validator.xml diff --git a/core/src/main/res/values-pt-rBR/protection.xml b/core/core-main/src/main/res/values-pt-rBR/protection.xml similarity index 100% rename from core/src/main/res/values-pt-rBR/protection.xml rename to core/core-main/src/main/res/values-pt-rBR/protection.xml diff --git a/core/src/main/res/values-pt-rBR/strings.xml b/core/core-main/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from core/src/main/res/values-pt-rBR/strings.xml rename to core/core-main/src/main/res/values-pt-rBR/strings.xml diff --git a/core/src/main/res/values-pt-rBR/validator.xml b/core/core-main/src/main/res/values-pt-rBR/validator.xml similarity index 100% rename from core/src/main/res/values-pt-rBR/validator.xml rename to core/core-main/src/main/res/values-pt-rBR/validator.xml diff --git a/core/src/main/res/values-pt-rPT/protection.xml b/core/core-main/src/main/res/values-pt-rPT/protection.xml similarity index 100% rename from core/src/main/res/values-pt-rPT/protection.xml rename to core/core-main/src/main/res/values-pt-rPT/protection.xml diff --git a/core/src/main/res/values-pt-rPT/strings.xml b/core/core-main/src/main/res/values-pt-rPT/strings.xml similarity index 100% rename from core/src/main/res/values-pt-rPT/strings.xml rename to core/core-main/src/main/res/values-pt-rPT/strings.xml diff --git a/core/src/main/res/values-pt-rPT/validator.xml b/core/core-main/src/main/res/values-pt-rPT/validator.xml similarity index 100% rename from core/src/main/res/values-pt-rPT/validator.xml rename to core/core-main/src/main/res/values-pt-rPT/validator.xml diff --git a/core/src/main/res/values-ro-rRO/protection.xml b/core/core-main/src/main/res/values-ro-rRO/protection.xml similarity index 100% rename from core/src/main/res/values-ro-rRO/protection.xml rename to core/core-main/src/main/res/values-ro-rRO/protection.xml diff --git a/core/src/main/res/values-ro-rRO/strings.xml b/core/core-main/src/main/res/values-ro-rRO/strings.xml similarity index 100% rename from core/src/main/res/values-ro-rRO/strings.xml rename to core/core-main/src/main/res/values-ro-rRO/strings.xml diff --git a/core/src/main/res/values-ro-rRO/validator.xml b/core/core-main/src/main/res/values-ro-rRO/validator.xml similarity index 100% rename from core/src/main/res/values-ro-rRO/validator.xml rename to core/core-main/src/main/res/values-ro-rRO/validator.xml diff --git a/core/src/main/res/values-ru-rRU/protection.xml b/core/core-main/src/main/res/values-ru-rRU/protection.xml similarity index 100% rename from core/src/main/res/values-ru-rRU/protection.xml rename to core/core-main/src/main/res/values-ru-rRU/protection.xml diff --git a/core/src/main/res/values-ru-rRU/strings.xml b/core/core-main/src/main/res/values-ru-rRU/strings.xml similarity index 100% rename from core/src/main/res/values-ru-rRU/strings.xml rename to core/core-main/src/main/res/values-ru-rRU/strings.xml diff --git a/core/src/main/res/values-ru-rRU/validator.xml b/core/core-main/src/main/res/values-ru-rRU/validator.xml similarity index 100% rename from core/src/main/res/values-ru-rRU/validator.xml rename to core/core-main/src/main/res/values-ru-rRU/validator.xml diff --git a/core/src/main/res/values-sk-rSK/protection.xml b/core/core-main/src/main/res/values-sk-rSK/protection.xml similarity index 100% rename from core/src/main/res/values-sk-rSK/protection.xml rename to core/core-main/src/main/res/values-sk-rSK/protection.xml diff --git a/core/src/main/res/values-sk-rSK/strings.xml b/core/core-main/src/main/res/values-sk-rSK/strings.xml similarity index 100% rename from core/src/main/res/values-sk-rSK/strings.xml rename to core/core-main/src/main/res/values-sk-rSK/strings.xml diff --git a/core/src/main/res/values-sk-rSK/validator.xml b/core/core-main/src/main/res/values-sk-rSK/validator.xml similarity index 100% rename from core/src/main/res/values-sk-rSK/validator.xml rename to core/core-main/src/main/res/values-sk-rSK/validator.xml diff --git a/core/src/main/res/values-sl-rSI/protection.xml b/core/core-main/src/main/res/values-sl-rSI/protection.xml similarity index 100% rename from core/src/main/res/values-sl-rSI/protection.xml rename to core/core-main/src/main/res/values-sl-rSI/protection.xml diff --git a/core/src/main/res/values-sl-rSI/strings.xml b/core/core-main/src/main/res/values-sl-rSI/strings.xml similarity index 100% rename from core/src/main/res/values-sl-rSI/strings.xml rename to core/core-main/src/main/res/values-sl-rSI/strings.xml diff --git a/core/src/main/res/values-sl-rSI/validator.xml b/core/core-main/src/main/res/values-sl-rSI/validator.xml similarity index 100% rename from core/src/main/res/values-sl-rSI/validator.xml rename to core/core-main/src/main/res/values-sl-rSI/validator.xml diff --git a/core/src/main/res/values-sr-rCS/strings.xml b/core/core-main/src/main/res/values-sr-rCS/strings.xml similarity index 100% rename from core/src/main/res/values-sr-rCS/strings.xml rename to core/core-main/src/main/res/values-sr-rCS/strings.xml diff --git a/core/src/main/res/values-sr-rCS/validator.xml b/core/core-main/src/main/res/values-sr-rCS/validator.xml similarity index 100% rename from core/src/main/res/values-sr-rCS/validator.xml rename to core/core-main/src/main/res/values-sr-rCS/validator.xml diff --git a/core/src/main/res/values-sv-rSE/protection.xml b/core/core-main/src/main/res/values-sv-rSE/protection.xml similarity index 100% rename from core/src/main/res/values-sv-rSE/protection.xml rename to core/core-main/src/main/res/values-sv-rSE/protection.xml diff --git a/core/src/main/res/values-sv-rSE/strings.xml b/core/core-main/src/main/res/values-sv-rSE/strings.xml similarity index 100% rename from core/src/main/res/values-sv-rSE/strings.xml rename to core/core-main/src/main/res/values-sv-rSE/strings.xml diff --git a/core/src/main/res/values-sv-rSE/validator.xml b/core/core-main/src/main/res/values-sv-rSE/validator.xml similarity index 100% rename from core/src/main/res/values-sv-rSE/validator.xml rename to core/core-main/src/main/res/values-sv-rSE/validator.xml diff --git a/core/src/main/res/values-ta-rIN/strings.xml b/core/core-main/src/main/res/values-ta-rIN/strings.xml similarity index 100% rename from core/src/main/res/values-ta-rIN/strings.xml rename to core/core-main/src/main/res/values-ta-rIN/strings.xml diff --git a/core/src/main/res/values-ta-rIN/validator.xml b/core/core-main/src/main/res/values-ta-rIN/validator.xml similarity index 100% rename from core/src/main/res/values-ta-rIN/validator.xml rename to core/core-main/src/main/res/values-ta-rIN/validator.xml diff --git a/core/src/main/res/values-tr-rTR/protection.xml b/core/core-main/src/main/res/values-tr-rTR/protection.xml similarity index 100% rename from core/src/main/res/values-tr-rTR/protection.xml rename to core/core-main/src/main/res/values-tr-rTR/protection.xml diff --git a/core/src/main/res/values-tr-rTR/strings.xml b/core/core-main/src/main/res/values-tr-rTR/strings.xml similarity index 100% rename from core/src/main/res/values-tr-rTR/strings.xml rename to core/core-main/src/main/res/values-tr-rTR/strings.xml diff --git a/core/src/main/res/values-tr-rTR/validator.xml b/core/core-main/src/main/res/values-tr-rTR/validator.xml similarity index 100% rename from core/src/main/res/values-tr-rTR/validator.xml rename to core/core-main/src/main/res/values-tr-rTR/validator.xml diff --git a/core/src/main/res/values-zh-rCN/protection.xml b/core/core-main/src/main/res/values-zh-rCN/protection.xml similarity index 100% rename from core/src/main/res/values-zh-rCN/protection.xml rename to core/core-main/src/main/res/values-zh-rCN/protection.xml diff --git a/core/src/main/res/values-zh-rCN/strings.xml b/core/core-main/src/main/res/values-zh-rCN/strings.xml similarity index 100% rename from core/src/main/res/values-zh-rCN/strings.xml rename to core/core-main/src/main/res/values-zh-rCN/strings.xml diff --git a/core/src/main/res/values-zh-rCN/validator.xml b/core/core-main/src/main/res/values-zh-rCN/validator.xml similarity index 100% rename from core/src/main/res/values-zh-rCN/validator.xml rename to core/core-main/src/main/res/values-zh-rCN/validator.xml diff --git a/core/src/main/res/values/attrs.xml b/core/core-main/src/main/res/values/attrs.xml similarity index 100% rename from core/src/main/res/values/attrs.xml rename to core/core-main/src/main/res/values/attrs.xml diff --git a/core/src/main/res/values/colors.xml b/core/core-main/src/main/res/values/colors.xml similarity index 100% rename from core/src/main/res/values/colors.xml rename to core/core-main/src/main/res/values/colors.xml diff --git a/core/src/main/res/values/dimens.xml b/core/core-main/src/main/res/values/dimens.xml similarity index 100% rename from core/src/main/res/values/dimens.xml rename to core/core-main/src/main/res/values/dimens.xml diff --git a/core/src/main/res/values/fet_attrs.xml b/core/core-main/src/main/res/values/fet_attrs.xml similarity index 100% rename from core/src/main/res/values/fet_attrs.xml rename to core/core-main/src/main/res/values/fet_attrs.xml diff --git a/core/core-main/src/main/res/values/protection.xml b/core/core-main/src/main/res/values/protection.xml new file mode 100644 index 0000000000..9f6c0e279b --- /dev/null +++ b/core/core-main/src/main/res/values/protection.xml @@ -0,0 +1,49 @@ + + + Authentication required + Place your finger on the fingerprint reader to verify your identity + Settings protection + Application protection + Bolus protection + Master password + Settings password + Settings PIN + Application password + Application PIN + Bolus password + Bolus PIN + Password and PIN retention [s] + Time before the password or PIN should be entered + Unlock settings + Biometric + Custom password + Custom PIN + No protection + Protection + Master password is not set!\n\nPlease set your Master password in Preferences (%1$s → %2$s) + Unsecure Fallback + In order to be effective, biometric protection needs a master password set for fallback.\n\nPlease set a master password! + + Password set! + PIN set! + Password not set + PIN not set + Password not changed + PIN not changed + Password cleared! + PIN cleared! + Enter password here + Enter PIN here + + master_password + settings_password + settings_pin + application_password + application_pin + bolus_password + bolus_pin + settings_protection + application_protection + bolus_protection + protection_timeout + diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml new file mode 100644 index 0000000000..441a580345 --- /dev/null +++ b/core/core-main/src/main/res/values/strings.xml @@ -0,0 +1,673 @@ + + + + enable_fabric2 + units + loop_openmode_min_change + absorption_maxtime + openapsama_min_5m_carbimpact + absorption_cutoff + danar_useextended + eatingsoon_duration + eatingsoon_target + activity_duration + activity_target + hypo_duration + hypo_target + low_mark + high_mark + ns_create_announcements_from_errors + bt_watchdog + bt_watchdog_last + pump_unreachable_threshold + missed_bg_readings_threshold + gradually_increase_notification_volume + virtualpump_type + QuickWizard + wearcontrol + units_mgdl + show_notes_entry_dialogs + autosens_max + autosens_min + treatmentssafety_maxcarbs + bgsource_upload_settings + localalert_settings + wear_settings + configbuilder_general_settings + maintenance_settings + smscommunicator_settings + openapssmb_settings + treatmentssafety_settings + loop_settings + virtualpump_settings + pump_settings + tidepool_settings + absorption_settings + overview_settings + openapsma_settings + medtronic_settings + danars_settings + nsclientinternal_settings + insight_local_settings + data_choices_settings + dexcom_settings + active_pump_change_timestamp + active_pump_type + active_pump_serial_number + age + child + teenage + adult + resistantadult + pregnant + app_expiration + use_dark_mode + insulin_oref_peak + autotune_auto + categorize_uam_as_basal + autotune_tune_insulin_curve + autotune_default_tune_days + autotune_circadian_ic_isf + autotune_additional_log + key_autotune_plugin + key_autotune_last_run + dexcomg5_xdripupload + nsclient_localbroadcasts + use_bolus_reminder + carbs_button_increment_1 + carbs_button_increment_2 + carbs_button_increment_3 + enable_pump_unreachable_alert + enable_missed_bg_readings + enable_carbs_required_alert_local + smscommunicator_report_pump_unreachable + rangetodisplay + local_profile_last_change + ns_receive_profile_store + nsclientinternal_url + nsclientinternal_api_secret + ns_receive_insulin + ns_receive_carbs + ns_receive_therapy_events + ns_receive_profile_switch + ns_receive_offline_event + ns_receive_temp_target + + + Refresh + Error + Save + Not set + Failed to update basal profile + Basal profile in pump updated + Invalid input data + Tempbasal delivery error + Going to deliver %1$.2f U + Waiting for pump + Connecting for %1$d s + Delivering %1$.2f U + Handshaking + Connecting + Connected + Disconnected + Disconnecting + Waiting for disconnection + AAPS started + %1$.1f U + %1$.2f U + %1$+.2f U + %1$d g + %1$.0f / %2$d U + %1$.2f U/h + %1$.2f h + %1$d mins + Pump is busy + Pump connection error + Allowed limit reached + Objectives + Close + Please wait… + Mute + Reload + STOP PRESSED + Stop + Carbs + Invalid profile! + NO PROFILE SET + ]]> + Date + Units + DIA + IC + ISF + Basal + Target + Duration of Insulin Action + Insulin to Carb ratio + Insulin Sensitivity Factor + Basal rate + Blood Glucose Target + Initializing ... + Serial number + Battery + Last connection + Last bolus + Daily units + Base basal rate + Temp basal + Extended bolus + Reservoir + Pump history + View profile + Event type + mg/dl + mmol/l + g + % + Advanced Settings + Bluetooth + BT Watchdog + Switches off the phone\'s bluetooth for one second if no connection to the pump is possible. This may help on some phones where the bluetooth stack freezes. + Pairing + Yes + No + LOOP DISABLED BY CONSTRAINTS + Bolus %1$.2f U delivered successfully + OK + No valid basal rate read from pump + Limiting max IOB to %1$.1f U because of %2$s + unsafe usage + Pump unreachable + Extended bolus + Pump time updated + Exit + Remove record + Loop is disabled + Alarm + Disable loop + Enable loop + Resume loop + Suspend loop + Duration [min] + Notification + No profile loaded from NS yet + exists + not exists + Glucose + IOB + COB + Name: + Time + WiFi SSID + Loading … + Event time + Notes + Remove + Add new + Add new above + Data is coming from different pump. Change pump driver to reset pump state. + BG + Calibration + Run alarm in %1$d min + Bolus reported an error. Manually check real delivered amount + Bolus reminder + Duration + g + Pump suspended + Not configured + Loop suspended + Trend arrow + Auto sens + n/a + req + falling rapidly + falling + falling slowly + stable + rising slowly + rising + rising rapidly + none + unknown + high + in range + low + Average + TIR + TDD Total + ]]> + REMOVE + Activate profile + reset + ProfileSwitch missing. Please do a profile switch or press \"Activate Profile\" in the LocalProfile. + Profile + Select for removal + Are you sure you want to remove %1$d items + Treatment + Create new profile from this profile? + Wizard Settings + 15min trend + COB + Bolus IOB + Basal IOB + %1$d%% + Paused + INVALID + Login + Upload now + + + Limiting max basal rate to %1$.2f U/h because of %2$s + pump limit + Limiting max percent rate to %1$d%% because of %2$s + it must be positive value + Limiting bolus to %1$.1f U because of %2$s + Pump not initialized, profile not set! + + + Confirmation + Message + OK + Cancel + DISMISS + + + Bluetooth Low Energy not supported. + Bluetooth Low Energy not supported or device not paired. + Bluetooth not enabled. + Location Is Not Enabled + For Bluetooth discovery to work on newer devices, location must be enabled. AAPS does not track your location and it can be disabled after pairing is successful. + + + Wrong password + Wrong PIN + Passwords don\'t match + PINs don\'t match + + + Basal values not aligned to hours: %1$s + Basal value replaced by minimum supported value: %1$s + Basal value replaced by maximum supported value: %1$s + /U + U/h + g/U + + + Start profile %1$d%% for %2$d min + + + Cancel temp basal + Let temp basal run + Rate + Duration + Reason + No change requested + + + Invalid profile: %1$s + + + %1$d min + + + Careportal + BG Check + Manual BG or Calibration + Announcement + Note + Question + Exercise + Announcement : %1$s + Note : %1$s + Question : %1$s + Exercise : %1$s + Pump Site Change + CGM Sensor Insert + CGM Sensor Start + CGM Sensor Stop + D.A.D. Alert + Insulin Cartridge Change + Profile switch + Snack Bolus + Meal Bolus + Correction Bolus + Combo Bolus + Temp Basal Start + Temp Basal End + Carbs correction + OpenAPS Offline + Pump Battery Change + Temporary target + Temporary target value + Temporary target cancel + Bolus wizard + Finger + Sensor + Manual + unknown + Eating Soon + Hypo + Activity + Wear + Automation + Custom + Pump + Loop + NS + Record + Reading pump history + Pump icon + + + Connection timed out + + + Enacted + Comment + Success + Percent + Absolute + Insulin + U + Waiting for result + SMB + + + %1$d g additional carbs required within %2$d minutes + + + Stats + Cumulative TDD + Exponentially Weighted TDD + Basal + Bolus + TDD + Ratio + # Days + Weight + Possibly inaccurate if using boluses for priming/filling! + Old data, please press "RELOAD" + Total Base Basal + TBB * 2 + + + Time detection + %1$dh %2$dm + + Mute for 5 minutes + + + exported %1$s ago + exported at %1$s + exported less than hour ago + in directory: %1$s + Select file to import + Preferences were created with different variant of AAPS (%1$s) while you have: %2$s.\n\nSome settings may be missing or invalid - after importing please check and update your preferences. + Preferences were created on a different device. It is OK if you are importing from older/different phone, but make sure imported preferences are correct! + You are using the outdated legacy format from old versions of AAPS, which is not secure! Only use it as a last resort, if you do not have an export in current, JSON format. + Imported preferences are already %1$s days old! Maybe you have more up-to-date preferences or you choose the wrong file? Remember to export preferences regularly! + Invalid date-time format! + Preferences from different minor version of application. It is OK if you are importing after upgrade, but check after import if preferences are still correct! + Preferences from different major version of application. Major versions differ significantly and may have incompatible preferences! Make sure after import that preferences are still correct! + Settings file tampered + Settings file is secure + Using not secure, unencrypted settings format + JSON format error, missing required field (format, content, metadata or security) + Decryption error, the given password cannot decrypt the file + File checksum (hash) missing, cannot verify the authenticity of settings! + File was modified after export! + Decryption error, parsing preferences failed! + Decryption error, the provided password is invalid or settings file was modified! It may happen that the imported file was exported with a different Master password. + Missing encryption configuration, settings format is invalid! + Unsupported or not specified encryption algorithm! + + + last_time_this_version_detected + last_versionchecker_warning + last_expired_version_checker_warning + last_versionchecker_plugin_waring + last_revoked_certs_check + We have detected that you are running an invalid version. Loop disabled! + Version %1$s available + Version %1$s expire on %2$s + + + Please reboot your phone or restart AAPS from the System Settings \notherwise Android APS will not have logging (important to track and verify that the algorithms are working correctly)! + + + BOLUS + BOLUS CALCULATOR + BOLUS ADVISOR + EXTENDED BOLUS + SUPERBOLUS TBR + CARBS + EXTENDED CARBS + TEMP BASAL + TEMP TARGET + NEW PROFILE + CLONE PROFILE + STORE PROFILE + PROFILE SWITCH + PROFILE SWITCH CLONED + CLOSED LOOP MODE + LGS LOOP MODE + OPEN LOOP MODE + LOOP DISABLED + LOOP ENABLED + RECONNECT + DISCONNECT + RESUME + SUSPEND + HW PUMP ALLOWED + CLEAR PAIRING KEYS + ACCEPTS TEMP BASAL + CANCEL TEMP BASAL + CANCEL BOLUS + CANCEL EXTENDED BOLUS + CANCEL TEMP TARGET + CAREPORTAL + SITE CHANGE + RESERVOIR CHANGE + CALIBRATION + PRIME BOLUS + TREATMENT + CAREPORTAL NS REFRESH + PROFILE SWITCH NS REFRESH + TREATMENTS NS REFRESH + TEMP TARGET NS REFRESH + AUTOMATION REMOVED + BG REMOVED + CAREPORTAL REMOVED + BOLUS REMOVED + CARBS REMOVED + TEMP BASAL REMOVED + EXTENDED BOLUS REMOVED + FOOD + FOOD REMOVED + PROFILE REMOVED + PROFILE SWITCH REMOVED + RESTART EVENTS REMOVED + TREATMENT REMOVED + TEMP TARGET REMOVED + NS PAUSED + NS RESUME + NS QUEUE CLEARED + NS SETTINGS COPIED + ERROR DIALOG OK + ERROR DIALOG MUTE + ERROR DIALOG MUTE 5MIN + OBJECTIVE STARTED + OBJECTIVE UNSTARTED + OBJECTIVES SKIPPED + STAT RESET + DELETE LOGS + DELETE FUTURE TREATMENTS + Delete future treatments + EXPORT SETTINGS + IMPORT SETTINGS + RESET DATABASES + CLEANUP DATABASES + EXPORT DATABASES + IMPORT DATABASES + OTP EXPORT + OTP RESET + STOP SMS + EXPORT USER ENTRIES + START AAPS + EXIT AAPS + PLUGIN ENABLED + PLUGIN DISABLED + UNKNOWN + String + Source + UTC Offset + Action + Timestamp + No Unit + Export User Entries to Excel (csv) + "%1$s;%2$s;%3$s;%4$s;%5$s;%6$s;%7$s;%8$s;%9$s;%10$s;%11$s;%12$s;%13$s;%14$s;%15$s;%16$s;%17$s" + LOOP CHANGED + LOOP REMOVED + OTHER + + + Profile low target + Profile high target + Temporary target bottom value + Temporary target top value + Temporary target value + Profile DIA value + Profile sensitivity value + Maximal profile basal value + Current basal value + Profile carbs ratio value + %1$.2f limited to %2$.2f + »%1$s« is out of hard limits + »%1$s« %2$.2f is out of hard limits + Basal value + AAPSClient version doesn\'t match AAPS version. Please update. + + + BOLUS %1$.2f U + CARBS %1$d g + EXTENDED BOLUS %1$.2f U %2$d min + LOAD EVENTS + LOAD HISTORY %1$d + LOAD TDDs + SET PROFILE + SET USER SETTINGS + SMB BOLUS %1$.2f U + START PUMP + STOP PUMP + TEMP BASAL %1$.2f U/h %2$d min + TEMP BASAL %1$d%% %2$d min + INSIGHT SET TBR OVER NOTIFICATION + READSTATUS %1$s + KeepAlive. Status outdated. + KeepAlive. Basal outdated. + SMS + Clicked connect to pump + Pump driver changed. + Pump driver change. + Device changed + Clicked refresh + Scheduled Status Refresh + Unconfirmed command + Requested by user + User request + Bolus OK + Pump paired + Insight Refresh Button + decrement %1$s by %2$s + increment %1$s by %2$s + %1$.0f%% + Basal + Basal % + %1$d selected + Sort + Remove Items + Sort Items + Remove Selected Items + file + user + + + Autotune + Help for potential adjustments of profile (ISF, carb ratio, and basal rates) + AT + Autotune settings + Automation Switch Profile + If enabled, Autotune will automatically update and switch to input profile after calculation from an automation rule. + Categorize UAM as basal + Enable only if you have reliably entered all carbs eaten, with this option sudden rises seen by Autotune will be used to recommend changes to the basal rate. + Tune insulin curve + Enable only if you use free peak. This option will tune peak and DIA durations + Number of days of data + Apply average result in circadian IC/ISF + Autotune will not tune circadian variations, this option only apply the average tuning of IC and ISF to your circadian input profile + Include more log information for debugging + Switch on only if requested by dev to send more log information to help debugging Autotune plugin + Default number of days of data to be processed by Autotune (up to 30) + Tuned + Profile : + Tune days : + Last run : + Warning : + Select profile to tune + Selected profile has %1$d IC values. Autotune will use %2$.2f g/U + Selected profile has %1$d ISF values. Autotune will use %2$.1f %3$s/U + Error in input data, try to run again autotune or reduce the number of days + Autotune calculation started, please be patient + Check the results carefully before using it! + Partial result day %1$d / %2$d tuned + Result: %1$s + Param + % + Missing + Autotune profile %1$s + Run Autotune + Check input profile + Compare profiles + Copy to local profile + Update input profile + Revert input profile + Create a new local profile from this Autotune Profile? + Update %1$s profile with Autotune Profile? + Revert %1$s profile with Input Profile? + Profile invalid + |Param|Profile|Tuned|%/Miss.\n + +------------------------------------------\n + | %1$4.4s |\t%2$d |\t%3$d |\n + | %1$4.4s |\t%2$3.1f |\t%3$3.1f |\n + | %1$4.4s | %2$3.3f |\t%3$3.3f |\n + |\t%1$02.0f\t| %2$3.3f |%3$3.3f\t| %5$.0f%% / %4$d\n + |\t∑\t|\t%1$3.1f |\t%2$3.1f |\n + Autotune ran without profile switch + Autotune ran and profile automatically switched + Error during last Autotune run + Another run of Autotune is detected, run cancelled + Application needs bluetooth permission + + + raise_urgent_alarms_as_android_notification + Use system notifications for alerts and notifications + Urgent Alarm + INFO + + + Missing SMS permission + + + %1$d day + %1$d days + + + %1$d hour + %1$d hours + + + %1$d minute + %1$d minutes + + + diff --git a/core/src/main/res/values/styles.xml b/core/core-main/src/main/res/values/styles.xml similarity index 100% rename from core/src/main/res/values/styles.xml rename to core/core-main/src/main/res/values/styles.xml diff --git a/core/core-main/src/main/res/values/validator.xml b/core/core-main/src/main/res/values/validator.xml new file mode 100644 index 0000000000..4de9c5fab1 --- /dev/null +++ b/core/core-main/src/main/res/values/validator.xml @@ -0,0 +1,30 @@ + + + Only numeric digits are allowed. + Only numeric digits within the range %1$s - %2$s are allowed. + This field cannot contain any special character + Only standard letters are allowed + The field must not be empty + Email address not valid + Credit card number is not valid + Phone number not valid + Domain name not valid + IP Address not valid + Web Url is not valid + Not a valid first or last name. + Not a valid full name. + Format not valid + Must be 4 digit number + Must be 6 digit number + Must be 12 characters of ABCDEF0123456789 + Must be 8 characters of ABCDEF0123456789 + Must be 4 characters of ABCDEF0123456789 + Not a minimum length + Pin should be 3 to 6 digits, not same or in series + + ^\\d{4} + ^[A-F0-9]{12}$ + ^[A-F0-9]{8}$ + ^[A-F0-9]{4}$ + + \ No newline at end of file diff --git a/core/src/test/java/info/nightscout/androidaps/TestBase.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBase.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/TestBase.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/TestBase.kt diff --git a/core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt diff --git a/core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/IobTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/data/IobTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt similarity index 99% rename from core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index 9a37dfbe8e..4fd5150895 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.GlucoseUnit diff --git a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt similarity index 99% rename from core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index b759a68d3c..ae1da713f6 100644 --- a/core/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.data import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.interfaces.data.PumpEnactResult import org.json.JSONObject import org.junit.Assert diff --git a/core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/SingleStringStorage.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java b/core/core-main/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java rename to core/core-main/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java diff --git a/core/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt similarity index 98% rename from core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt index 16b0d92740..584236da62 100644 --- a/core/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/core/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/TTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/TTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/TTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/TTest.kt diff --git a/core/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt similarity index 100% rename from core/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt diff --git a/core/test_dependencies.gradle b/core/core-main/test_dependencies.gradle similarity index 100% rename from core/test_dependencies.gradle rename to core/core-main/test_dependencies.gradle diff --git a/core/src/main/res/values/protection.xml b/core/src/main/res/values/protection.xml index 9f6c0e279b..045e125f3d 100644 --- a/core/src/main/res/values/protection.xml +++ b/core/src/main/res/values/protection.xml @@ -1,49 +1,3 @@ - Authentication required - Place your finger on the fingerprint reader to verify your identity - Settings protection - Application protection - Bolus protection - Master password - Settings password - Settings PIN - Application password - Application PIN - Bolus password - Bolus PIN - Password and PIN retention [s] - Time before the password or PIN should be entered - Unlock settings - Biometric - Custom password - Custom PIN - No protection - Protection - Master password is not set!\n\nPlease set your Master password in Preferences (%1$s → %2$s) - Unsecure Fallback - In order to be effective, biometric protection needs a master password set for fallback.\n\nPlease set a master password! - - Password set! - PIN set! - Password not set - PIN not set - Password not changed - PIN not changed - Password cleared! - PIN cleared! - Enter password here - Enter PIN here - - master_password - settings_password - settings_pin - application_password - application_pin - bolus_password - bolus_pin - settings_protection - application_protection - bolus_protection - protection_timeout diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 441a580345..045e125f3d 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -1,673 +1,3 @@ - - enable_fabric2 - units - loop_openmode_min_change - absorption_maxtime - openapsama_min_5m_carbimpact - absorption_cutoff - danar_useextended - eatingsoon_duration - eatingsoon_target - activity_duration - activity_target - hypo_duration - hypo_target - low_mark - high_mark - ns_create_announcements_from_errors - bt_watchdog - bt_watchdog_last - pump_unreachable_threshold - missed_bg_readings_threshold - gradually_increase_notification_volume - virtualpump_type - QuickWizard - wearcontrol - units_mgdl - show_notes_entry_dialogs - autosens_max - autosens_min - treatmentssafety_maxcarbs - bgsource_upload_settings - localalert_settings - wear_settings - configbuilder_general_settings - maintenance_settings - smscommunicator_settings - openapssmb_settings - treatmentssafety_settings - loop_settings - virtualpump_settings - pump_settings - tidepool_settings - absorption_settings - overview_settings - openapsma_settings - medtronic_settings - danars_settings - nsclientinternal_settings - insight_local_settings - data_choices_settings - dexcom_settings - active_pump_change_timestamp - active_pump_type - active_pump_serial_number - age - child - teenage - adult - resistantadult - pregnant - app_expiration - use_dark_mode - insulin_oref_peak - autotune_auto - categorize_uam_as_basal - autotune_tune_insulin_curve - autotune_default_tune_days - autotune_circadian_ic_isf - autotune_additional_log - key_autotune_plugin - key_autotune_last_run - dexcomg5_xdripupload - nsclient_localbroadcasts - use_bolus_reminder - carbs_button_increment_1 - carbs_button_increment_2 - carbs_button_increment_3 - enable_pump_unreachable_alert - enable_missed_bg_readings - enable_carbs_required_alert_local - smscommunicator_report_pump_unreachable - rangetodisplay - local_profile_last_change - ns_receive_profile_store - nsclientinternal_url - nsclientinternal_api_secret - ns_receive_insulin - ns_receive_carbs - ns_receive_therapy_events - ns_receive_profile_switch - ns_receive_offline_event - ns_receive_temp_target - - - Refresh - Error - Save - Not set - Failed to update basal profile - Basal profile in pump updated - Invalid input data - Tempbasal delivery error - Going to deliver %1$.2f U - Waiting for pump - Connecting for %1$d s - Delivering %1$.2f U - Handshaking - Connecting - Connected - Disconnected - Disconnecting - Waiting for disconnection - AAPS started - %1$.1f U - %1$.2f U - %1$+.2f U - %1$d g - %1$.0f / %2$d U - %1$.2f U/h - %1$.2f h - %1$d mins - Pump is busy - Pump connection error - Allowed limit reached - Objectives - Close - Please wait… - Mute - Reload - STOP PRESSED - Stop - Carbs - Invalid profile! - NO PROFILE SET - ]]> - Date - Units - DIA - IC - ISF - Basal - Target - Duration of Insulin Action - Insulin to Carb ratio - Insulin Sensitivity Factor - Basal rate - Blood Glucose Target - Initializing ... - Serial number - Battery - Last connection - Last bolus - Daily units - Base basal rate - Temp basal - Extended bolus - Reservoir - Pump history - View profile - Event type - mg/dl - mmol/l - g - % - Advanced Settings - Bluetooth - BT Watchdog - Switches off the phone\'s bluetooth for one second if no connection to the pump is possible. This may help on some phones where the bluetooth stack freezes. - Pairing - Yes - No - LOOP DISABLED BY CONSTRAINTS - Bolus %1$.2f U delivered successfully - OK - No valid basal rate read from pump - Limiting max IOB to %1$.1f U because of %2$s - unsafe usage - Pump unreachable - Extended bolus - Pump time updated - Exit - Remove record - Loop is disabled - Alarm - Disable loop - Enable loop - Resume loop - Suspend loop - Duration [min] - Notification - No profile loaded from NS yet - exists - not exists - Glucose - IOB - COB - Name: - Time - WiFi SSID - Loading … - Event time - Notes - Remove - Add new - Add new above - Data is coming from different pump. Change pump driver to reset pump state. - BG - Calibration - Run alarm in %1$d min - Bolus reported an error. Manually check real delivered amount - Bolus reminder - Duration - g - Pump suspended - Not configured - Loop suspended - Trend arrow - Auto sens - n/a - req - falling rapidly - falling - falling slowly - stable - rising slowly - rising - rising rapidly - none - unknown - high - in range - low - Average - TIR - TDD Total - ]]> - REMOVE - Activate profile - reset - ProfileSwitch missing. Please do a profile switch or press \"Activate Profile\" in the LocalProfile. - Profile - Select for removal - Are you sure you want to remove %1$d items - Treatment - Create new profile from this profile? - Wizard Settings - 15min trend - COB - Bolus IOB - Basal IOB - %1$d%% - Paused - INVALID - Login - Upload now - - - Limiting max basal rate to %1$.2f U/h because of %2$s - pump limit - Limiting max percent rate to %1$d%% because of %2$s - it must be positive value - Limiting bolus to %1$.1f U because of %2$s - Pump not initialized, profile not set! - - - Confirmation - Message - OK - Cancel - DISMISS - - - Bluetooth Low Energy not supported. - Bluetooth Low Energy not supported or device not paired. - Bluetooth not enabled. - Location Is Not Enabled - For Bluetooth discovery to work on newer devices, location must be enabled. AAPS does not track your location and it can be disabled after pairing is successful. - - - Wrong password - Wrong PIN - Passwords don\'t match - PINs don\'t match - - - Basal values not aligned to hours: %1$s - Basal value replaced by minimum supported value: %1$s - Basal value replaced by maximum supported value: %1$s - /U - U/h - g/U - - - Start profile %1$d%% for %2$d min - - - Cancel temp basal - Let temp basal run - Rate - Duration - Reason - No change requested - - - Invalid profile: %1$s - - - %1$d min - - - Careportal - BG Check - Manual BG or Calibration - Announcement - Note - Question - Exercise - Announcement : %1$s - Note : %1$s - Question : %1$s - Exercise : %1$s - Pump Site Change - CGM Sensor Insert - CGM Sensor Start - CGM Sensor Stop - D.A.D. Alert - Insulin Cartridge Change - Profile switch - Snack Bolus - Meal Bolus - Correction Bolus - Combo Bolus - Temp Basal Start - Temp Basal End - Carbs correction - OpenAPS Offline - Pump Battery Change - Temporary target - Temporary target value - Temporary target cancel - Bolus wizard - Finger - Sensor - Manual - unknown - Eating Soon - Hypo - Activity - Wear - Automation - Custom - Pump - Loop - NS - Record - Reading pump history - Pump icon - - - Connection timed out - - - Enacted - Comment - Success - Percent - Absolute - Insulin - U - Waiting for result - SMB - - - %1$d g additional carbs required within %2$d minutes - - - Stats - Cumulative TDD - Exponentially Weighted TDD - Basal - Bolus - TDD - Ratio - # Days - Weight - Possibly inaccurate if using boluses for priming/filling! - Old data, please press "RELOAD" - Total Base Basal - TBB * 2 - - - Time detection - %1$dh %2$dm - - Mute for 5 minutes - - - exported %1$s ago - exported at %1$s - exported less than hour ago - in directory: %1$s - Select file to import - Preferences were created with different variant of AAPS (%1$s) while you have: %2$s.\n\nSome settings may be missing or invalid - after importing please check and update your preferences. - Preferences were created on a different device. It is OK if you are importing from older/different phone, but make sure imported preferences are correct! - You are using the outdated legacy format from old versions of AAPS, which is not secure! Only use it as a last resort, if you do not have an export in current, JSON format. - Imported preferences are already %1$s days old! Maybe you have more up-to-date preferences or you choose the wrong file? Remember to export preferences regularly! - Invalid date-time format! - Preferences from different minor version of application. It is OK if you are importing after upgrade, but check after import if preferences are still correct! - Preferences from different major version of application. Major versions differ significantly and may have incompatible preferences! Make sure after import that preferences are still correct! - Settings file tampered - Settings file is secure - Using not secure, unencrypted settings format - JSON format error, missing required field (format, content, metadata or security) - Decryption error, the given password cannot decrypt the file - File checksum (hash) missing, cannot verify the authenticity of settings! - File was modified after export! - Decryption error, parsing preferences failed! - Decryption error, the provided password is invalid or settings file was modified! It may happen that the imported file was exported with a different Master password. - Missing encryption configuration, settings format is invalid! - Unsupported or not specified encryption algorithm! - - - last_time_this_version_detected - last_versionchecker_warning - last_expired_version_checker_warning - last_versionchecker_plugin_waring - last_revoked_certs_check - We have detected that you are running an invalid version. Loop disabled! - Version %1$s available - Version %1$s expire on %2$s - - - Please reboot your phone or restart AAPS from the System Settings \notherwise Android APS will not have logging (important to track and verify that the algorithms are working correctly)! - - - BOLUS - BOLUS CALCULATOR - BOLUS ADVISOR - EXTENDED BOLUS - SUPERBOLUS TBR - CARBS - EXTENDED CARBS - TEMP BASAL - TEMP TARGET - NEW PROFILE - CLONE PROFILE - STORE PROFILE - PROFILE SWITCH - PROFILE SWITCH CLONED - CLOSED LOOP MODE - LGS LOOP MODE - OPEN LOOP MODE - LOOP DISABLED - LOOP ENABLED - RECONNECT - DISCONNECT - RESUME - SUSPEND - HW PUMP ALLOWED - CLEAR PAIRING KEYS - ACCEPTS TEMP BASAL - CANCEL TEMP BASAL - CANCEL BOLUS - CANCEL EXTENDED BOLUS - CANCEL TEMP TARGET - CAREPORTAL - SITE CHANGE - RESERVOIR CHANGE - CALIBRATION - PRIME BOLUS - TREATMENT - CAREPORTAL NS REFRESH - PROFILE SWITCH NS REFRESH - TREATMENTS NS REFRESH - TEMP TARGET NS REFRESH - AUTOMATION REMOVED - BG REMOVED - CAREPORTAL REMOVED - BOLUS REMOVED - CARBS REMOVED - TEMP BASAL REMOVED - EXTENDED BOLUS REMOVED - FOOD - FOOD REMOVED - PROFILE REMOVED - PROFILE SWITCH REMOVED - RESTART EVENTS REMOVED - TREATMENT REMOVED - TEMP TARGET REMOVED - NS PAUSED - NS RESUME - NS QUEUE CLEARED - NS SETTINGS COPIED - ERROR DIALOG OK - ERROR DIALOG MUTE - ERROR DIALOG MUTE 5MIN - OBJECTIVE STARTED - OBJECTIVE UNSTARTED - OBJECTIVES SKIPPED - STAT RESET - DELETE LOGS - DELETE FUTURE TREATMENTS - Delete future treatments - EXPORT SETTINGS - IMPORT SETTINGS - RESET DATABASES - CLEANUP DATABASES - EXPORT DATABASES - IMPORT DATABASES - OTP EXPORT - OTP RESET - STOP SMS - EXPORT USER ENTRIES - START AAPS - EXIT AAPS - PLUGIN ENABLED - PLUGIN DISABLED - UNKNOWN - String - Source - UTC Offset - Action - Timestamp - No Unit - Export User Entries to Excel (csv) - "%1$s;%2$s;%3$s;%4$s;%5$s;%6$s;%7$s;%8$s;%9$s;%10$s;%11$s;%12$s;%13$s;%14$s;%15$s;%16$s;%17$s" - LOOP CHANGED - LOOP REMOVED - OTHER - - - Profile low target - Profile high target - Temporary target bottom value - Temporary target top value - Temporary target value - Profile DIA value - Profile sensitivity value - Maximal profile basal value - Current basal value - Profile carbs ratio value - %1$.2f limited to %2$.2f - »%1$s« is out of hard limits - »%1$s« %2$.2f is out of hard limits - Basal value - AAPSClient version doesn\'t match AAPS version. Please update. - - - BOLUS %1$.2f U - CARBS %1$d g - EXTENDED BOLUS %1$.2f U %2$d min - LOAD EVENTS - LOAD HISTORY %1$d - LOAD TDDs - SET PROFILE - SET USER SETTINGS - SMB BOLUS %1$.2f U - START PUMP - STOP PUMP - TEMP BASAL %1$.2f U/h %2$d min - TEMP BASAL %1$d%% %2$d min - INSIGHT SET TBR OVER NOTIFICATION - READSTATUS %1$s - KeepAlive. Status outdated. - KeepAlive. Basal outdated. - SMS - Clicked connect to pump - Pump driver changed. - Pump driver change. - Device changed - Clicked refresh - Scheduled Status Refresh - Unconfirmed command - Requested by user - User request - Bolus OK - Pump paired - Insight Refresh Button - decrement %1$s by %2$s - increment %1$s by %2$s - %1$.0f%% - Basal - Basal % - %1$d selected - Sort - Remove Items - Sort Items - Remove Selected Items - file - user - - - Autotune - Help for potential adjustments of profile (ISF, carb ratio, and basal rates) - AT - Autotune settings - Automation Switch Profile - If enabled, Autotune will automatically update and switch to input profile after calculation from an automation rule. - Categorize UAM as basal - Enable only if you have reliably entered all carbs eaten, with this option sudden rises seen by Autotune will be used to recommend changes to the basal rate. - Tune insulin curve - Enable only if you use free peak. This option will tune peak and DIA durations - Number of days of data - Apply average result in circadian IC/ISF - Autotune will not tune circadian variations, this option only apply the average tuning of IC and ISF to your circadian input profile - Include more log information for debugging - Switch on only if requested by dev to send more log information to help debugging Autotune plugin - Default number of days of data to be processed by Autotune (up to 30) - Tuned - Profile : - Tune days : - Last run : - Warning : - Select profile to tune - Selected profile has %1$d IC values. Autotune will use %2$.2f g/U - Selected profile has %1$d ISF values. Autotune will use %2$.1f %3$s/U - Error in input data, try to run again autotune or reduce the number of days - Autotune calculation started, please be patient - Check the results carefully before using it! - Partial result day %1$d / %2$d tuned - Result: %1$s - Param - % - Missing - Autotune profile %1$s - Run Autotune - Check input profile - Compare profiles - Copy to local profile - Update input profile - Revert input profile - Create a new local profile from this Autotune Profile? - Update %1$s profile with Autotune Profile? - Revert %1$s profile with Input Profile? - Profile invalid - |Param|Profile|Tuned|%/Miss.\n - +------------------------------------------\n - | %1$4.4s |\t%2$d |\t%3$d |\n - | %1$4.4s |\t%2$3.1f |\t%3$3.1f |\n - | %1$4.4s | %2$3.3f |\t%3$3.3f |\n - |\t%1$02.0f\t| %2$3.3f |%3$3.3f\t| %5$.0f%% / %4$d\n - |\t∑\t|\t%1$3.1f |\t%2$3.1f |\n - Autotune ran without profile switch - Autotune ran and profile automatically switched - Error during last Autotune run - Another run of Autotune is detected, run cancelled - Application needs bluetooth permission - - - raise_urgent_alarms_as_android_notification - Use system notifications for alerts and notifications - Urgent Alarm - INFO - - - Missing SMS permission - - - %1$d day - %1$d days - - - %1$d hour - %1$d hours - - - %1$d minute - %1$d minutes - - diff --git a/core/src/main/res/values/validator.xml b/core/src/main/res/values/validator.xml index 4de9c5fab1..55344e5192 100644 --- a/core/src/main/res/values/validator.xml +++ b/core/src/main/res/values/validator.xml @@ -1,30 +1,3 @@ - Only numeric digits are allowed. - Only numeric digits within the range %1$s - %2$s are allowed. - This field cannot contain any special character - Only standard letters are allowed - The field must not be empty - Email address not valid - Credit card number is not valid - Phone number not valid - Domain name not valid - IP Address not valid - Web Url is not valid - Not a valid first or last name. - Not a valid full name. - Format not valid - Must be 4 digit number - Must be 6 digit number - Must be 12 characters of ABCDEF0123456789 - Must be 8 characters of ABCDEF0123456789 - Must be 4 characters of ABCDEF0123456789 - Not a minimum length - Pin should be 3 to 6 digits, not same or in series - - ^\\d{4} - ^[A-F0-9]{12}$ - ^[A-F0-9]{8}$ - ^[A-F0-9]{4}$ - \ No newline at end of file diff --git a/database/build.gradle b/database/build.gradle index 82b79ab3f9..3b45869b87 100644 --- a/database/build.gradle +++ b/database/build.gradle @@ -6,8 +6,8 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" android { diff --git a/graphview/build.gradle b/graphview/build.gradle index a7e69d8d3e..a5f62389b7 100644 --- a/graphview/build.gradle +++ b/graphview/build.gradle @@ -4,7 +4,7 @@ plugins { id 'kotlin-kapt' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" android { diff --git a/implementation/build.gradle b/implementation/build.gradle index c7648b67ef..5cc3ef317d 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -6,17 +6,17 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.implementation' } dependencies { - implementation project(':core') + implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') diff --git a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt index 1df309db04..05799ef818 100644 --- a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt @@ -1,6 +1,6 @@ package info.nightscout.implementation -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 403d1469c7..59e55dcaca 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,6 +1,6 @@ package info.nightscout.implementation.pump -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper diff --git a/insight/build.gradle b/insight/build.gradle index 55feaf304e..7cf99ebb59 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { @@ -27,7 +27,7 @@ android { dependencies { - implementation project(':core') + implementation project(':core:core-main') implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 59108b8319..3e5bcf62be 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -8,8 +8,8 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" android { diff --git a/ns-sdk/build.gradle b/ns-sdk/build.gradle index d8c4d43bd3..7156942277 100644 --- a/ns-sdk/build.gradle +++ b/ns-sdk/build.gradle @@ -5,9 +5,9 @@ plugins { id 'kotlinx-serialization' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" android { namespace 'info.nightscout.sdk' diff --git a/openhumans/build.gradle b/openhumans/build.gradle index 797ea3d9d3..5e9a0b01f2 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -6,18 +6,18 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugin.general.openhumans' } dependencies { - implementation project(':core') + implementation project(':core:core-main') implementation project(':database') implementation project(':interfaces') implementation project(':app-wear-shared:rx') diff --git a/plugins/build.gradle b/plugins/build.gradle index b14ffeda51..9a6b3b6c7a 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.plugins' } @@ -20,7 +20,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':graphview') - implementation project(':core') + implementation project(':core:core-main') implementation project(':interfaces') implementation project(':ns-sdk') diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index bb018bda28..54652d33fd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.configBuilder -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 6b4e4b6594..326a9bcb8d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.general.autotune.data import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt index edb2e4ab77..ce2bf354e8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.Constants diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index b89823c385..42fcb70cfe 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -6,18 +6,18 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.combo' } dependencies { implementation project(':libraries') - implementation project(':core') + implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index 2b95c5c310..0d2f194186 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { @@ -27,7 +27,7 @@ android { dependencies { implementation project(':libraries') - implementation project(':core') + implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index a42d20830f..06808b1162 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.danar' } @@ -18,7 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:dana') implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index b2150687f9..5628f1e947 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { ndkVersion "21.1.6352462" @@ -31,7 +31,7 @@ android { } dependencies { - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:dana') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt index a6cface7dc..96ab578ecc 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt @@ -66,7 +66,7 @@ class BLEScanActivity : NoSplashAppCompatActivity() { bluetoothAdapter?.safeEnable() startScan() } else { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) } } @@ -82,7 +82,7 @@ class BLEScanActivity : NoSplashAppCompatActivity() { } catch (ignore: IllegalStateException) { } // ignore BT not on } else { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) } private fun stopScan() = @@ -92,7 +92,7 @@ class BLEScanActivity : NoSplashAppCompatActivity() { } catch (ignore: IllegalStateException) { } // ignore BT not on } else { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) } @SuppressLint("MissingPermission") @@ -153,7 +153,7 @@ class BLEScanActivity : NoSplashAppCompatActivity() { item.device.createBond() rxBus.send(EventDanaRSDeviceChange()) } else { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) } finish() } diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 7800ee4fe8..42ebdf60d6 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -106,7 +106,7 @@ class BLEComm @Inject internal constructor( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && ActivityCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED ) { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) aapsLogger.error(LTag.PUMPBTCOMM, "missing permission: $from") return false } diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index bb1b4ad234..e8dfecc216 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { @@ -30,7 +30,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':interfaces') - implementation project(':core') + implementation project(':core:core-main') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt index 1dc392ba5b..8bf851e9c9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt @@ -73,7 +73,7 @@ class DiaconnG8BLEScanActivity : NoSplashAppCompatActivity() { startScan() } } else { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) } } @@ -112,7 +112,7 @@ class DiaconnG8BLEScanActivity : NoSplashAppCompatActivity() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED ) { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) return } if (device == null || device.name == null || device.name == "") { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index bdf6762e57..821b72c64a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -89,7 +89,7 @@ class BLECommonService @Inject internal constructor( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && ActivityCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED ) { - ToastUtils.errorToast(context, context.getString(info.nightscout.androidaps.core.R.string.needconnectpermission)) + ToastUtils.errorToast(context, context.getString(info.nightscout.core.main.R.string.needconnectpermission)) aapsLogger.error(LTag.PUMPBTCOMM, "missing permission: $from") return false } diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 5ecc00dce6..dd99534517 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -6,10 +6,10 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugins.pump.eopatch' @@ -25,7 +25,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') - implementation project(':core') + implementation project(':core:core-main') implementation project(':interfaces') //RxAndroidBle diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 30055959ab..6c70dd41d8 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -320,7 +320,7 @@ class EopatchPumpPlugin @Inject constructor( patchManager.addBolusToHistory(detailedBolusInfo) return PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(0.0) - .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.androidaps.core.R.string.ok)) + .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.core.main.R.string.ok)) } } @@ -421,7 +421,7 @@ class EopatchPumpPlugin @Inject constructor( .map { PumpEnactResultImpl(injector).success(true).enacted(true) } .onErrorReturnItem( PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() } @@ -458,7 +458,7 @@ class EopatchPumpPlugin @Inject constructor( .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( PumpEnactResultImpl(injector).success(false).enacted(false) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() } @@ -479,7 +479,7 @@ class EopatchPumpPlugin @Inject constructor( .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( PumpEnactResultImpl(injector).success(false).enacted(false) - .comment(rh.gs(info.nightscout.androidaps.core.R.string.error)) + .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() } else { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt index 3fa5f1eedc..69f6086c4e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/AlarmHelperActivity.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ui import android.os.Bundle import androidx.appcompat.app.AlertDialog import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode import info.nightscout.androidaps.plugins.pump.eopatch.event.EventDialog import info.nightscout.androidaps.plugins.pump.eopatch.event.EventProgressDialog diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/DialogHelperActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/DialogHelperActivity.kt index 5751066837..294b0eca79 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/DialogHelperActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/DialogHelperActivity.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ui import android.os.Bundle import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs.ActivationNotCompleteDialog class DialogHelperActivity : DialogAppCompatActivity() { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt index 4a349c175e..d197239f5c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EoBaseActivity.kt @@ -8,7 +8,7 @@ import androidx.databinding.DataBindingUtil import androidx.databinding.ViewDataBinding import androidx.lifecycle.ViewModelProvider import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.pump.eopatch.dagger.EopatchPluginQualifier import info.nightscout.rx.AapsSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt index a70db271dc..d5b824b01a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/AlarmDialog.kt @@ -10,7 +10,7 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmProcess import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmProcess diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index ade2787122..7873cba6e7 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugins.pump.medtronic' } @@ -19,7 +19,7 @@ dependencies { implementation project(':libraries') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':pump:rileylink') diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index eb2d92e808..e445bc5d99 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugins.pump.omnipod.common' @@ -18,7 +18,7 @@ android { dependencies { implementation project(':libraries') - implementation project(':core') + implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index c9f3cc718a..0fd002ff78 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -8,11 +8,11 @@ plugins { id "org.jlleitschuh.gradle.ktlint" // TODO move to `subprojects` section in global build.gradle } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" detekt { // TODO move to `subprojects` section in global build.gradle toolVersion = "1.15.0-RC2" @@ -37,7 +37,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':libraries') - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:pump-common') implementation project(':pump:omnipod-common') implementation project(':interfaces') diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 46fba25214..9e7f496a67 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { @@ -30,7 +30,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':libraries') - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':pump:rileylink') diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index 2c974a7c88..a5bdc109f9 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -6,17 +6,17 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugins.pump.common' } dependencies { - implementation project(':core') + implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/pump-core/build.gradle b/pump/pump-core/build.gradle index eb744c9963..05256720e0 100644 --- a/pump/pump-core/build.gradle +++ b/pump/pump-core/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.pump.core' } diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 5d7e629096..68cd0ebdd4 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -6,11 +6,11 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/allopen_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.androidaps.plugins.pump.common.hw.rileylink' } @@ -18,7 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':core') + implementation project(':core:core-main') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':interfaces') diff --git a/settings.gradle b/settings.gradle index 3ab7a61408..44e623fd1d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ include ':app' include ':wear' include ':database' -include ':core' +include ':core:core-main' include ':app-wear-shared:rx' include ':app-wear-shared:shared' include ':app-wear-shared:shared-impl' diff --git a/ui/build.gradle b/ui/build.gradle index f7ca3d31e6..431f59397b 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -6,10 +6,10 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/android_module_dependencies.gradle" -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.ui' @@ -21,6 +21,6 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') - implementation project(':core') + implementation project(':core:core-main') implementation project(':interfaces') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt index 4acf51ae66..e45d57feea 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.os.Bundle import androidx.annotation.RawRes import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.dialogs.ErrorDialog diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index eef0a09e79..9411291005 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,7 +15,7 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.core.R +import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TotalDailyDose import info.nightscout.rx.events.EventDanaRSyncStatus diff --git a/wear/build.gradle b/wear/build.gradle index f6545564b1..2a5e427588 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -19,9 +19,9 @@ plugins { id 'com.hiya.jacoco-android' } -apply from: "${project.rootDir}/core/test_dependencies.gradle" -apply from: "${project.rootDir}/core/android_dependencies.gradle" -apply from: "${project.rootDir}/core/jacoco_global.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" def generateGitBuild = { -> From be4dbc65522275ea148af53080212057c2b6e9a9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 12:31:58 +0000 Subject: [PATCH 027/123] chore(deps): bump rxandroid from 3.0.0 to 3.0.1 Bumps [rxandroid](https://github.com/ReactiveX/RxAndroid) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/ReactiveX/RxAndroid/releases) - [Changelog](https://github.com/ReactiveX/RxAndroid/blob/3.x/CHANGES.md) - [Commits](https://github.com/ReactiveX/RxAndroid/compare/3.0.0...3.0.1) --- updated-dependencies: - dependency-name: io.reactivex.rxjava3:rxandroid dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c4af65575f..ace8da77fc 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { kotlin_version = '1.7.20' core_version = '1.9.0' rxjava_version = '3.1.5' - rxandroid_version = '3.0.0' + rxandroid_version = '3.0.1' rxkotlin_version = '3.0.1' room_version = '2.4.3' lifecycle_version = '2.5.1' From 62cdbdc41a1d939b277cbba3313e63d124ec7d09 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 14:48:08 +0100 Subject: [PATCH 028/123] Update Crowdin configuration file --- crowdin.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crowdin.yml b/crowdin.yml index 0be1fc856d..6e8a4d5bb0 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -11,8 +11,9 @@ files: translation: /app/src/main/res/values-%android_code%/protection.xml - source: /core/src/main/res/values/validator.xml translation: /core/src/main/res/values-%android_code%/validator.xml - - source: /core/src/main/res/values/strings.xml - translation: /core/src/main/res/values-%android_code%/strings.xml + - source: /core/core-main/src/main/res/values/strings.xml + translation: /core/core-main/src/main/res/values-%android_code%/strings.xml + translate_attributes: 0 - source: /shared/src/main/res/values/strings.xml translation: /shared/src/main/res/values-%android_code%/strings.xml - source: /pump/combo/src/main/res/values/strings.xml From 1041de39c888fde93a515cf25c40d2c7b7c2e2ce Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 15:56:59 +0100 Subject: [PATCH 029/123] core-fabric module --- app/build.gradle | 1 + .../nightscout/androidaps/MainActivity.kt | 6 +-- .../activities/HistoryBrowseActivity.kt | 12 ++--- .../activities/HistoryBrowserData.kt | 6 +-- .../activities/ProfileHelperActivity.kt | 8 ++-- .../nightscout/androidaps/di/AppModule.kt | 10 ++-- .../androidaps/dialogs/LoopDialog.kt | 26 +++++------ .../androidaps/dialogs/NtpProgressDialog.kt | 4 +- .../androidaps/dialogs/WizardDialog.kt | 20 ++++---- .../androidaps/plugins/aps/OpenAPSFragment.kt | 6 +-- .../plugins/aps/loop/LoopFragment.kt | 8 ++-- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 8 ++-- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 14 +++--- .../configBuilder/ConfigBuilderFragment.kt | 12 ++--- .../configBuilder/ProfileFunctionImpl.kt | 6 +-- .../objectives/ObjectivesFragment.kt | 8 ++-- .../general/actions/ActionsFragment.kt | 18 ++++---- .../dataBroadcaster/DataBroadcastPlugin.kt | 4 +- .../maintenance/MaintenanceFragment.kt | 10 ++-- .../general/overview/OverviewFragment.kt | 10 ++-- .../plugins/general/overview/OverviewMenus.kt | 6 +-- .../general/overview/OverviewPlugin.kt | 6 +-- .../activities/QuickWizardListActivity.kt | 10 ++-- .../persistentNotification/DummyService.kt | 2 +- .../PersistentNotificationPlugin.kt | 16 +++---- .../plugins/general/wear/WearFragment.kt | 2 +- .../plugins/general/wear/WearPlugin.kt | 14 +++--- .../wear/wearintegration/DataHandlerMobile.kt | 8 ++-- .../DataLayerListenerServiceMobile.kt | 6 +-- .../IobCobCalculatorPlugin.kt | 24 +++++----- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 16 +++---- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 16 +++---- .../plugins/source/GlunovoPlugin.kt | 4 +- .../plugins/source/IntelligoPlugin.kt | 4 +- .../androidaps/receivers/KeepAliveWorker.kt | 4 +- .../setupwizard/SetupWizardActivity.kt | 2 +- .../workflow/CalculationWorkflow.kt | 6 +-- .../androidaps/TestBaseWithProfile.kt | 8 ++-- .../plugins/aps/loop/LoopPluginTest.kt | 4 +- automation/build.gradle | 1 + .../automation/AutomationFragment.kt | 14 +++--- .../nightscout/automation/AutomationPlugin.kt | 18 ++++---- .../automation/dialogs/EditEventDialog.kt | 4 +- .../automation/dialogs/EditTriggerDialog.kt | 2 +- .../automation/services/LocationService.kt | 6 +-- .../androidaps/TestBaseWithProfile.kt | 10 ++-- core/core-main/build.gradle | 10 ---- .../nightscout/androidaps/di/CoreModule.kt | 8 ---- .../androidaps/dialogs/BolusProgressDialog.kt | 46 +++++++++---------- core/core-main/src/main/res/values/colors.xml | 5 -- .../core-main/src/main/res/values/strings.xml | 1 - .../androidaps/TestBaseWithProfile.kt | 6 +-- core/fabric/.gitignore | 1 + core/fabric/build.gradle | 34 ++++++++++++++ core/fabric/consumer-rules.pro | 0 core/fabric/proguard-rules.pro | 21 +++++++++ .../src/main/AndroidManifest.xml} | 5 +- .../nightscout/core/fabric}/FabricPrivacy.kt | 3 +- .../nightscout/core/fabric}/InstanceId.kt | 2 +- core/fabric/src/main/res/values/strings.xml | 4 ++ core/src/main/res/values/protection.xml | 3 -- core/src/main/res/values/strings.xml | 3 -- implementation/build.gradle | 3 +- .../implementation/di/ImplementationModule.kt | 12 ++++- .../queue/CommandQueueImplementation.kt | 8 ++-- .../resources/ResourceHelperImpl.kt | 16 +++++-- .../androidaps/TestBaseWithProfile.kt | 6 +-- .../implementation/BolusTimerImplTest.kt | 10 ++-- .../implementation/CarbTimerImplTest.kt | 12 ++--- .../queue/CommandQueueImplementationTest.kt | 16 +++---- insight/build.gradle | 1 + .../pump/insight/LocalInsightFragment.java | 2 +- interfaces/src/main/res/values/colors.xml | 8 ++++ plugins/build.gradle | 3 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 12 ++--- .../general/autotune/AutotuneFragment.kt | 16 +++---- .../plugins/general/food/FoodFragment.kt | 8 ++-- .../SmsCommunicatorFragment.kt | 6 +-- .../smsCommunicator/SmsCommunicatorPlugin.kt | 14 +++--- .../activities/SmsCommunicatorOtpActivity.kt | 4 +- .../xdripStatusline/StatusLinePlugin.kt | 10 ++-- .../plugins/profile/ProfileFragment.kt | 14 +++--- .../pump/virtual/VirtualPumpFragment.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 9 ++-- .../plugins/source/BGSourceFragment.kt | 4 +- .../plugins/sync/nsShared/NSClientFragment.kt | 8 ++-- .../plugins/sync/nsclient/NSClientPlugin.kt | 8 ++-- .../sync/nsclient/services/NSClientService.kt | 4 +- .../sync/nsclientV3/NSClientV3Plugin.kt | 8 ++-- .../plugins/sync/tidepool/TidepoolFragment.kt | 2 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 6 +-- .../androidaps/TestBaseWithProfile.kt | 6 +-- .../BgQualityCheckPluginTest.kt | 10 ++-- .../pump/virtual/VirtualPumpPluginUTest.kt | 4 +- pump/combo/build.gradle | 1 + .../plugins/pump/combo/ComboFragment.kt | 10 ++-- .../plugins/pump/combo/ComboPlugin.java | 28 +++++------ pump/dana/build.gradle | 1 + .../androidaps/dana/DanaFragment.kt | 18 ++++---- .../dana/activities/DanaHistoryActivity.kt | 10 ++-- .../activities/DanaUserOptionsActivity.kt | 6 +-- .../androidaps/TestBaseWithProfile.kt | 10 ++-- pump/danar/build.gradle | 1 + .../danaRKorean/DanaRKoreanPlugin.kt | 10 ++-- .../androidaps/danaRv2/DanaRv2Plugin.java | 14 +++--- .../androidaps/danar/DanaRPlugin.java | 12 ++--- .../AbstractDanaRExecutionService.java | 12 ++--- .../androidaps/TestBaseWithProfile.kt | 8 ++-- pump/danars/build.gradle | 1 + .../androidaps/danars/DanaRSPlugin.kt | 28 +++++------ .../danars/activities/EnterPinActivity.kt | 2 +- .../danars/dialogs/PairingProgressDialog.java | 4 +- .../danars/services/DanaRSService.kt | 18 ++++---- .../androidaps/TestBaseWithProfile.kt | 10 ++-- pump/diaconn/build.gradle | 1 + .../androidaps/diaconn/DiaconnG8Fragment.kt | 12 ++--- .../androidaps/diaconn/DiaconnG8Plugin.kt | 32 ++++++------- .../activities/DiaconnG8HistoryActivity.kt | 8 ++-- .../DiaconnG8UserOptionsActivity.kt | 7 ++- .../diaconn/service/DiaconnG8Service.kt | 18 ++++---- pump/eopatch/build.gradle | 1 + .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 30 ++++++------ .../pump/eopatch/alarm/AlarmManager.kt | 10 ++-- pump/medtronic/build.gradle | 1 + .../pump/medtronic/MedtronicFragment.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 26 +++++------ pump/omnipod-dash/build.gradle | 1 + .../omnipod/dash/OmnipodDashPumpPlugin.kt | 34 +++++++------- .../dash/ui/DashPodManagementActivity.kt | 10 ++-- .../dash/ui/OmnipodDashOverviewFragment.kt | 18 ++++---- .../action/DashInsertCannulaViewModel.kt | 10 ++-- pump/omnipod-eros/build.gradle | 1 + .../omnipod/eros/OmnipodErosPumpPlugin.java | 30 ++++++------ .../eros/ui/ErosPodManagementActivity.kt | 12 ++--- .../eros/ui/OmnipodErosOverviewFragment.kt | 16 +++---- pump/pump-common/build.gradle | 1 + .../plugins/pump/common/PumpPluginAbstract.kt | 18 ++++---- settings.gradle | 1 + ui/build.gradle | 1 + .../nightscout/ui/activities/StatsActivity.kt | 2 +- .../ui/activities/SurveyActivity.kt | 5 +- .../ui/activities/TDDStatsActivity.kt | 8 ++-- .../fragments/TreatmentsBolusCarbsFragment.kt | 10 ++-- .../fragments/TreatmentsCareportalFragment.kt | 10 ++-- .../TreatmentsExtendedBolusesFragment.kt | 24 ++++++---- .../TreatmentsProfileSwitchFragment.kt | 10 ++-- .../fragments/TreatmentsTempTargetFragment.kt | 10 ++-- .../TreatmentsTemporaryBasalsFragment.kt | 15 +++--- .../fragments/TreatmentsUserEntryFragment.kt | 16 +++---- .../androidaps/TestBaseWithProfile.kt | 6 +-- 150 files changed, 750 insertions(+), 685 deletions(-) create mode 100644 core/fabric/.gitignore create mode 100644 core/fabric/build.gradle create mode 100644 core/fabric/consumer-rules.pro create mode 100644 core/fabric/proguard-rules.pro rename core/{src/main/res/values/validator.xml => fabric/src/main/AndroidManifest.xml} (61%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils => fabric/src/main/java/info/nightscout/core/fabric}/FabricPrivacy.kt (98%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils => fabric/src/main/java/info/nightscout/core/fabric}/InstanceId.kt (86%) create mode 100644 core/fabric/src/main/res/values/strings.xml delete mode 100644 core/src/main/res/values/protection.xml delete mode 100644 core/src/main/res/values/strings.xml rename core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt => implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt (89%) create mode 100644 interfaces/src/main/res/values/colors.xml diff --git a/app/build.gradle b/app/build.gradle index 6c3d114856..aaacccb505 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -186,6 +186,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':interfaces') implementation project(':ui') implementation project(':plugins') diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index d7a3b07112..a6ab0792d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -41,23 +41,23 @@ import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.setupwizard.SetupWizardActivity -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.IconsProvider +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index e5e409fbe9..e41cde7d3a 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -13,25 +13,25 @@ import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.shared.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventCustomCalculationFinished import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventScale import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.extensions.toVisibilityKeepSpace +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Calendar diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index da614de8cd..cc2410960c 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -4,17 +4,17 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt index f96c52231b..2069def3d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt @@ -15,18 +15,18 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding import info.nightscout.androidaps.dialogs.ProfileViewerDialog -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventLocalProfileChanged +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.defaultProfile.DefaultProfile import info.nightscout.ui.defaultProfile.DefaultProfileDPV import io.reactivex.rxjava3.core.Single diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 9ee673a0f0..51e139b8e1 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -11,14 +11,10 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.interfaces.IconsProvider -import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.TrendCalculator @@ -33,12 +29,12 @@ import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.implementation.AndroidPermissionImpl import info.nightscout.implementation.BolusTimerImpl import info.nightscout.implementation.CarbTimerImpl @@ -58,8 +54,12 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.IconsProvider +import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.storage.FileStorage import info.nightscout.interfaces.storage.Storage diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index af9a28ce5f..ec9e2a8aab 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -21,35 +21,35 @@ import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEven import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.databinding.DialogLoopBinding import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt index 0c067964ab..675dc279d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt @@ -6,15 +6,15 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.core.main.databinding.DialogBolusprogressBinding -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNtpStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 4848fdf97f..4bdbc87c4a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -18,40 +18,40 @@ import android.widget.CompoundButton import androidx.fragment.app.FragmentManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.databinding.DialogWizardBinding import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.androidaps.utils.wizard.BolusWizard +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt index 335bb0eca1..c94121a79d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt @@ -16,16 +16,16 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OpenapsFragmentBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.JSONFormatter +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONArray diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index ace1bb1bca..f83e248508 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -14,18 +14,18 @@ import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index b92011ad2d..2b7a5ebc0c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -31,15 +31,12 @@ import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui @@ -48,15 +45,18 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotifi import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.buildDeviceStatus +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index cb2dee0959..66ba2dc1ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -9,30 +9,30 @@ import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONException import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index 6592622cc3..623286d1b9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -19,20 +19,20 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui +import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRebuildTabs +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index d18e935800..edcaae518e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.core.main.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper @@ -8,15 +7,16 @@ import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.database.transactions.InsertOrUpdateProfileSwitch import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.fromConstant +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.main.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index d178ac41d0..4ecba0e9f4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -23,23 +23,23 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding import info.nightscout.androidaps.databinding.ObjectivesItemBinding import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.setupwizard.events.EventSWUpdate -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.SntpClient import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNtpStatus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 9a9f9d9db3..587dce9633 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -24,27 +24,24 @@ import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.skins.SkinProvider -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventCustomActionsChanged @@ -53,7 +50,10 @@ import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.activities.TDDStatsActivity import info.nightscout.ui.dialogs.CareDialog import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 6c92c637f0..0a25f69a2a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -11,15 +11,15 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index a16f2ff3bb..5f63e54276 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -16,27 +16,27 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.insight.database.InsightDatabase import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryDatabase -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ImportExportPrefs +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 13a468702b..1f5ea937df 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -49,12 +49,9 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator @@ -68,13 +65,11 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewSensitivity import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.source.DexcomPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -82,9 +77,14 @@ import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.general.overview.notifications.NotificationStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index e32fef0f32..c19acdccab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -12,15 +12,15 @@ import androidx.annotation.StringRes import androidx.appcompat.widget.PopupMenu import com.google.gson.Gson import info.nightscout.androidaps.R +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventScale import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index cc9f7f862b..06e1c044bb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -13,15 +13,15 @@ import info.nightscout.androidaps.extensions.putString import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString -import info.nightscout.interfaces.Overview -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.general.overview.notifications.NotificationStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index 9e0a4fdbf6..58f63598c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -18,21 +18,21 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.databinding.OverviewQuickwizardlistActivityBinding import info.nightscout.androidaps.databinding.OverviewQuickwizardlistItemBinding -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.androidaps.utils.wizard.QuickWizard +import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter import info.nightscout.interfaces.dragHelpers.OnStartDragListener import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback -import info.nightscout.androidaps.utils.wizard.QuickWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt index 69e856b6d0..b125f38770 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/DummyService.kt @@ -6,8 +6,8 @@ import android.content.Intent import android.os.Binder import android.os.IBinder import dagger.android.DaggerService +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index e9ef441e86..28933ed660 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -7,30 +7,30 @@ import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt index 25b8a9287f..a95cb4f671 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.databinding.WearFragmentBinding -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index 1c6f577901..c5cb2570f7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -4,22 +4,22 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventPreferenceChange +import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui +import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning +import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile +import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile -import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index efde04f06b..f879060531 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -25,12 +25,9 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator @@ -41,14 +38,17 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index e8ddf0792e..0af169d2e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -18,22 +18,22 @@ import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.rx.weardata.EventData +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index a22318da4f..867f81ad66 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -2,11 +2,9 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus @@ -22,27 +20,29 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.plugins.general.overview.OverviewData +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.OverviewData -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.data.MealData import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.utils.T -import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventConfigBuilderChange 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONArray diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index a5913840a8..e8e3f5144e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -6,36 +6,36 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler -import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished 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 info.nightscout.shared.utils.T import java.util.Calendar import java.util.GregorianCalendar import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index 0709de9bb7..8f2868beaf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -6,34 +6,34 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.Profiler -import info.nightscout.shared.utils.T import info.nightscout.androidaps.workflow.CalculationWorkflow +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished 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 info.nightscout.shared.utils.T import javax.inject.Inject import kotlin.math.abs import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index e23d50ac7b..41f78e2dc7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index cf7c7c6c9c..74cd9c4d9a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -15,11 +15,11 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 0282023c88..9aab525609 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -20,14 +20,14 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.buildDeviceStatus +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.PluginBase import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 10c2a4af07..8e6f5882bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -14,8 +14,8 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.androidaps.setupwizard.events.EventSWUpdate -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.locale.LocaleHelper.update import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt index 9adfdb307b..b734ecc19d 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt @@ -14,15 +14,13 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOref1Worker import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOrefWorker import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event @@ -31,6 +29,8 @@ import info.nightscout.rx.events.EventOfflineChange import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index cb737bf581..693e5b0a30 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,16 +6,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.embedments.InsulinConfiguration import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index f5987cef9f..f478c59f20 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -12,13 +12,13 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/automation/build.gradle b/automation/build.gradle index c7f2486120..e34784b81f 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -19,6 +19,7 @@ android { dependencies { implementation project(':graphview') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':database') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index 0ce2afe3df..29239c18e2 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -25,24 +25,24 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter -import info.nightscout.interfaces.dragHelpers.OnStartDragListener -import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback import info.nightscout.automation.databinding.AutomationEventItemBinding import info.nightscout.automation.databinding.AutomationFragmentBinding import info.nightscout.automation.dialogs.EditEventDialog import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.triggers.TriggerConnector +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter +import info.nightscout.interfaces.dragHelpers.OnStartDragListener +import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index bec9e6395c..0042eb21e8 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -8,17 +8,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm import info.nightscout.automation.actions.ActionCarePortalEvent @@ -52,6 +43,12 @@ import info.nightscout.automation.triggers.TriggerTempTargetValue import info.nightscout.automation.triggers.TriggerTime import info.nightscout.automation.triggers.TriggerTimeRange import info.nightscout.automation.triggers.TriggerWifiSsid +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventBTChange @@ -59,7 +56,10 @@ import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONArray diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt index 72bcdfab9d..8684bacef0 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt @@ -11,8 +11,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin @@ -24,8 +22,10 @@ import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateAction import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.events.EventAutomationUpdateTrigger +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.extensions.toVisibility import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt index 5d7bd3cc27..1d3d73de47 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt @@ -6,7 +6,6 @@ import android.view.View import android.view.ViewGroup import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.automation.databinding.AutomationDialogEditTriggerBinding import info.nightscout.automation.events.EventAutomationUpdateTrigger import info.nightscout.automation.events.EventTriggerChanged @@ -15,6 +14,7 @@ import info.nightscout.automation.events.EventTriggerRemove import info.nightscout.automation.triggers.Trigger import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.automation.triggers.TriggerDummy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt index 21f6b21732..04319d01cc 100644 --- a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt +++ b/automation/src/main/java/info/nightscout/automation/services/LocationService.kt @@ -16,17 +16,17 @@ import android.os.IBinder import androidx.core.app.ActivityCompat import com.google.android.gms.location.LocationServices import dagger.android.DaggerService -import info.nightscout.interfaces.NotificationHolder -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.automation.R import info.nightscout.automation.events.EventLocationChange +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.NotificationHolder import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 85a097a29c..d954e24b51 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,17 +4,17 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore +import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index a9c7b2c2bc..a001098465 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -63,16 +63,6 @@ dependencies { api "androidx.work:work-rxjava3:$work_version" - //Firebase - api platform('com.google.firebase:firebase-bom:30.5.0') - api "com.google.firebase:firebase-analytics-ktx" - api "com.google.firebase:firebase-crashlytics-ktx" - // StatsActivity not in use now - // api "com.google.firebase:firebase-messaging-ktx" - // api 'com.google.firebase:firebase-auth-ktx' - // api 'com.google.firebase:firebase-database-ktx' - - //CryptoUtil api 'com.madgag.spongycastle:core:1.58.0.0' api "com.google.crypto.tink:tink-android:$tink_version" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt index 7609530279..bb79bc7e9e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt @@ -5,10 +5,6 @@ import android.os.Build import android.telephony.SmsManager import dagger.Module import dagger.Provides -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.resources.ResourceHelperImplementation -import javax.inject.Singleton @Module( includes = [ @@ -20,10 +16,6 @@ import javax.inject.Singleton ) open class CoreModule { - @Provides - @Singleton - fun provideResources(context: Context, fabricPrivacy: FabricPrivacy): ResourceHelper = ResourceHelperImplementation(context, fabricPrivacy) - @Suppress("DEPRECATION") @Provides fun smsManager(context: Context): SmsManager? = diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index 873714cfe7..f78e1986b1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -9,21 +9,20 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.core.main.R -import info.nightscout.core.main.databinding.DialogBolusprogressBinding import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogBolusprogressBinding import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject @@ -34,7 +33,6 @@ class BolusProgressDialog : DaggerDialogFragment() { @Inject lateinit var rxBus: RxBus @Inject lateinit var rh: ResourceHelper @Inject lateinit var commandQueue: CommandQueue - @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var uel: UserEntryLogger @@ -122,30 +120,30 @@ class BolusProgressDialog : DaggerDialogFragment() { disposable += rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ binding.status.text = it.getStatus(rh) }, fabricPrivacy::logException) + .subscribe { binding.status.text = it.getStatus(rh) } disposable += rxBus .toObservable(EventDismissBolusProgressIfRunning::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ - aapsLogger.debug(LTag.PUMP, "Running id $id. Close request id ${it.id}") - if (it.id == null || it.id == id) - if (running) dismiss() - }, fabricPrivacy::logException) + .subscribe { + aapsLogger.debug(LTag.PUMP, "Running id $id. Close request id ${it.id}") + if (it.id == null || it.id == id) + if (running) dismiss() + } disposable += rxBus .toObservable(EventOverviewBolusProgress::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ - if (it.t?.id == id) { - aapsLogger.debug(LTag.UI, "Status: ${it.status} Percent: ${it.percent}") - binding.status.text = it.status - binding.progressbar.progress = it.percent - if (it.percent == 100) { - binding.stop.visibility = View.INVISIBLE - scheduleDismiss() - } - state = it.status - } - }, fabricPrivacy::logException) + .subscribe { + if (it.t?.id == id) { + aapsLogger.debug(LTag.UI, "Status: ${it.status} Percent: ${it.percent}") + binding.status.text = it.status + binding.progressbar.progress = it.percent + if (it.percent == 100) { + binding.stop.visibility = View.INVISIBLE + scheduleDismiss() + } + state = it.status + } + } } override fun dismiss() { diff --git a/core/core-main/src/main/res/values/colors.xml b/core/core-main/src/main/res/values/colors.xml index e83c322785..888bcbc062 100644 --- a/core/core-main/src/main/res/values/colors.xml +++ b/core/core-main/src/main/res/values/colors.xml @@ -143,11 +143,6 @@ #00000000 - - #66BB6A - #FF8C00 - #FF5555 - #666666 #000000 diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 441a580345..8a6823005f 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -1,7 +1,6 @@ - enable_fabric2 units loop_openmode_min_change absorption_maxtime diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index aff38f1b2f..d59c1efa9d 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -9,15 +9,15 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/core/fabric/.gitignore b/core/fabric/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/core/fabric/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/core/fabric/build.gradle b/core/fabric/build.gradle new file mode 100644 index 0000000000..df0915c06c --- /dev/null +++ b/core/fabric/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" + +android { + + namespace 'info.nightscout.core.fabric' +} + +dependencies { + + implementation project(':interfaces') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + + //Firebase + api platform('com.google.firebase:firebase-bom:30.5.0') + api "com.google.firebase:firebase-analytics-ktx" + api "com.google.firebase:firebase-crashlytics-ktx" + // StatsActivity not in use now + // api "com.google.firebase:firebase-messaging-ktx" + // api 'com.google.firebase:firebase-auth-ktx' + // api 'com.google.firebase:firebase-database-ktx' +} \ No newline at end of file diff --git a/core/fabric/consumer-rules.pro b/core/fabric/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/core/fabric/proguard-rules.pro b/core/fabric/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/core/fabric/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/core/src/main/res/values/validator.xml b/core/fabric/src/main/AndroidManifest.xml similarity index 61% rename from core/src/main/res/values/validator.xml rename to core/fabric/src/main/AndroidManifest.xml index 55344e5192..44008a4332 100644 --- a/core/src/main/res/values/validator.xml +++ b/core/fabric/src/main/AndroidManifest.xml @@ -1,3 +1,4 @@ - - \ No newline at end of file + + + \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt b/core/fabric/src/main/java/info/nightscout/core/fabric/FabricPrivacy.kt similarity index 98% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt rename to core/fabric/src/main/java/info/nightscout/core/fabric/FabricPrivacy.kt index 8d3f433c62..916756c53a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.kt +++ b/core/fabric/src/main/java/info/nightscout/core/fabric/FabricPrivacy.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.core.fabric import android.os.Bundle import com.google.firebase.analytics.FirebaseAnalytics @@ -6,7 +6,6 @@ import com.google.firebase.analytics.ktx.analytics import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.ktx.Firebase import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.core.main.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt b/core/fabric/src/main/java/info/nightscout/core/fabric/InstanceId.kt similarity index 86% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt rename to core/fabric/src/main/java/info/nightscout/core/fabric/InstanceId.kt index a5cd3187f0..5eff95ff18 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/InstanceId.kt +++ b/core/fabric/src/main/java/info/nightscout/core/fabric/InstanceId.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils +package info.nightscout.core.fabric import com.google.firebase.installations.FirebaseInstallations diff --git a/core/fabric/src/main/res/values/strings.xml b/core/fabric/src/main/res/values/strings.xml new file mode 100644 index 0000000000..3ad8e4ea03 --- /dev/null +++ b/core/fabric/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + enable_fabric2 + \ No newline at end of file diff --git a/core/src/main/res/values/protection.xml b/core/src/main/res/values/protection.xml deleted file mode 100644 index 045e125f3d..0000000000 --- a/core/src/main/res/values/protection.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml deleted file mode 100644 index 045e125f3d..0000000000 --- a/core/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/implementation/build.gradle b/implementation/build.gradle index 5cc3ef317d..9f8d8e7a7c 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -16,10 +16,11 @@ android { } dependencies { - implementation project(':core:core-main') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':automation') implementation project(':interfaces') + implementation project(':core:core-main') + implementation project(':core:fabric') } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt index 8c1a38101c..1ebf7218dd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt +++ b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt @@ -1,6 +1,11 @@ package info.nightscout.implementation.di +import android.content.Context import dagger.Module +import dagger.Provides +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.shared.interfaces.ResourceHelper +import javax.inject.Singleton @Module( includes = [ @@ -9,4 +14,9 @@ import dagger.Module ) @Suppress("unused") -abstract class ImplementationModule \ No newline at end of file +open class ImplementationModule { + @Provides + @Singleton + fun provideResources(context: Context, fabricPrivacy: FabricPrivacy): ResourceHelper = + info.nightscout.implementation.resources.ResourceHelperImpl(context, fabricPrivacy) +} \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index b0393e8115..c4b984e8a4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -18,20 +18,17 @@ import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.getCustomizedName +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus @@ -54,6 +51,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback @@ -65,7 +63,9 @@ import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.events.EventProfileSwitchChanged 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 io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import io.reactivex.rxjava3.kotlin.subscribeBy diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt similarity index 89% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt rename to implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt index ea58448e7c..9893ba50cf 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.resources +package info.nightscout.implementation.resources import android.annotation.SuppressLint import android.content.Context @@ -9,20 +9,26 @@ import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.drawable.Drawable import android.util.DisplayMetrics -import androidx.annotation.* +import androidx.annotation.ArrayRes +import androidx.annotation.BoolRes +import androidx.annotation.ColorRes +import androidx.annotation.DrawableRes +import androidx.annotation.PluralsRes +import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.view.ContextThemeWrapper import androidx.core.content.ContextCompat +import info.nightscout.androidaps.utils.resources.getThemeColor +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import java.util.* +import java.util.Locale import javax.inject.Inject /** * Created by adrian on 2019-12-23. */ -class ResourceHelperImplementation @Inject constructor(var context: Context, private val fabricPrivacy: FabricPrivacy) : ResourceHelper { +class ResourceHelperImpl @Inject constructor(var context: Context, private val fabricPrivacy: FabricPrivacy) : ResourceHelper { override fun updateContext(ctx: Context?) { ctx?.let { context = it } diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index e4d3ebdd2e..693e5b0a30 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,12 +10,12 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index acfd1d5a8c..96cf5a9926 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -5,19 +5,19 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 861d0b9a59..e2d4ffcd90 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -5,20 +5,20 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 09de233ff3..5fde100e47 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -12,30 +12,30 @@ import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.ValueWrapper import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCustomCommand import info.nightscout.implementation.queue.commands.CommandExtendedBolus import info.nightscout.implementation.queue.commands.CommandLoadHistory import info.nightscout.implementation.queue.commands.CommandTempBasalPercent +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.core.Single import org.junit.Assert import org.junit.Before diff --git a/insight/build.gradle b/insight/build.gradle index 7cf99ebb59..6e5bc131cc 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -28,6 +28,7 @@ android { dependencies { implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index f90414e021..9e8e2907c1 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -31,7 +31,7 @@ import info.nightscout.androidaps.plugins.pump.insight.descriptors.InsightState; import info.nightscout.androidaps.plugins.pump.insight.descriptors.TotalDailyDose; import info.nightscout.androidaps.plugins.pump.insight.events.EventLocalInsightUpdateGUI; import info.nightscout.androidaps.utils.DecimalFormatter; -import info.nightscout.androidaps.utils.FabricPrivacy; +import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/interfaces/src/main/res/values/colors.xml b/interfaces/src/main/res/values/colors.xml new file mode 100644 index 0000000000..6a01b0f440 --- /dev/null +++ b/interfaces/src/main/res/values/colors.xml @@ -0,0 +1,8 @@ + + + + #66BB6A + #FF8C00 + #FF5555 + + \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/build.gradle index 9a6b3b6c7a..1c771254e2 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -21,6 +21,7 @@ dependencies { implementation project(':database') implementation project(':graphview') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':interfaces') implementation project(':ns-sdk') @@ -34,7 +35,7 @@ dependencies { } api "com.squareup.okhttp3:okhttp:$okhttp3_version" api "com.squareup.okhttp3:logging-interceptor:$okhttp3_version" -// api "com.squareup.retrofit2:retrofit:$retrofit2_version" + //api "com.squareup.retrofit2:retrofit:$retrofit2_version" api "com.squareup.retrofit2:adapter-rxjava3:$retrofit2_version" api "com.squareup.retrofit2:converter-gson:$retrofit2_version" diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index f3875cc2cd..993b6ebdd2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -1,22 +1,22 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 07037437f9..7020d10943 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -19,26 +19,22 @@ import android.widget.TableRow import android.widget.TextView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.dialogs.ProfileViewerDialog -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round -import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.plugins.R import info.nightscout.plugins.databinding.AutotuneFragmentBinding import info.nightscout.plugins.general.autotune.data.ATProfile @@ -48,7 +44,11 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.shared.SafeParse +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 54b0bd1ca9..7a57274a65 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -17,14 +17,12 @@ import info.nightscout.androidaps.database.entities.Food import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.transactions.InvalidateFoodTransaction -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.interfaces.ActivityNames -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames import info.nightscout.plugins.R import info.nightscout.plugins.databinding.FoodFragmentBinding import info.nightscout.plugins.databinding.FoodItemBinding @@ -33,6 +31,8 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventFoodDatabaseChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index fcd2a46985..8709b172e9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -5,15 +5,15 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.databinding.SmscommunicatorFragmentBinding import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Collections diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index e8f7c6acd6..48d0084c44 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -27,28 +27,25 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.SmsCommunicator @@ -65,7 +62,10 @@ import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.apache.commons.lang3.StringUtils diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index a11d9d6d03..33a53bf472 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -15,11 +15,11 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SmscommunicatorActivityOtpBinding import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 824c9dbc13..936b78fd40 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -8,14 +8,13 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -27,6 +26,7 @@ import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.events.EventTreatmentChange import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index e5c63c6df1..141c97d3de 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -10,24 +10,21 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.plugins.R import info.nightscout.plugins.databinding.ProfileFragmentBinding import info.nightscout.plugins.ui.TimeListEdit @@ -37,6 +34,9 @@ import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.math.RoundingMode diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt index 25234cee59..cc6bb57714 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt @@ -10,7 +10,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.plugins.R import info.nightscout.plugins.databinding.VirtualPumpFragmentBinding import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 016cf57de4..9ab739ee3f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -15,13 +15,10 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.InstanceId +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType @@ -29,6 +26,8 @@ import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui @@ -384,7 +383,7 @@ open class VirtualPumpPlugin @Inject constructor( override fun model(): PumpType = pumpDescription.pumpType - override fun serialNumber(): String = InstanceId.instanceId + override fun serialNumber(): String = info.nightscout.core.fabric.InstanceId.instanceId override fun shortStatus(veryShort: Boolean): String = "Virtual Pump" diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index 77a3f3df4b..bbd9fa5650 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -24,12 +24,12 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.PluginBase import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SourceFragmentBinding import info.nightscout.plugins.databinding.SourceItemBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index 64a76e27ca..9f15c82c92 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -16,13 +16,13 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginFragment -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.interfaces.BuildHelper import info.nightscout.plugins.R import info.nightscout.plugins.databinding.NsClientFragmentBinding import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 96dcdfbacd..6590746f28 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -14,16 +14,16 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.Sync -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.Sync import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.NSClientFragment diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index e5887e21e7..5f604a7199 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -19,13 +19,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index ceb462d5c1..b45e2c0e01 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -13,16 +13,16 @@ import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.Sync -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.Sync import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.NSClientFragment diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt index 2438b321a8..6d53ad1691 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import android.widget.ScrollView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.plugins.R import info.nightscout.plugins.databinding.TidepoolFragmentBinding import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index f42290a305..2bdcaab27c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -7,14 +7,14 @@ import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.Sync import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.Sync import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index e4d3ebdd2e..693e5b0a30 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,12 +10,12 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index f883b67ba8..ed30a2a16e 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -4,15 +4,15 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 1c0fbcb153..4905016c15 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.PumpType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index 42fcb70cfe..835e9aafd9 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -18,6 +18,7 @@ android { dependencies { implementation project(':libraries') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt index dd0eaef99a..6b3a1edb1f 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt @@ -10,19 +10,19 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.combo.databinding.CombopumpFragmentBinding -import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil.DisplayType import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 1a886cd10c..5c2a8f8831 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.combo; -import android.content.Context; import android.os.SystemClock; import androidx.annotation.NonNull; @@ -23,25 +22,17 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.interfaces.notifications.Notification; import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BasalProfile; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.BolusProgressReporter; @@ -55,17 +46,25 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistory; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; -import info.nightscout.interfaces.pump.PumpType; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.androidaps.utils.InstanceId; -import info.nightscout.shared.utils.T; +import info.nightscout.core.fabric.InstanceId; +import info.nightscout.interfaces.Constraint; +import info.nightscout.interfaces.PluginDescription; import info.nightscout.interfaces.PluginType; +import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.ManufacturerType; +import info.nightscout.interfaces.pump.PumpDescription; +import info.nightscout.interfaces.pump.PumpType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventRefreshOverview; 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 info.nightscout.shared.utils.T; /** * Driver for the Roche Accu-Chek Combo pump, using the ruffy app for BT communication. @@ -96,7 +95,6 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { private final SP sp; private RxBus rxBus; private final CommandQueue commandQueue; - private final Context context; private final PumpSync pumpSync; private final DateUtil dateUtil; private final RuffyCommands ruffyScripter; @@ -152,7 +150,6 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { ProfileFunction profileFunction, SP sp, CommandQueue commandQueue, - Context context, PumpSync pumpSync, DateUtil dateUtil, RuffyScripter ruffyScripter @@ -171,7 +168,6 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { this.profileFunction = profileFunction; this.sp = sp; this.commandQueue = commandQueue; - this.context = context; this.pumpSync = pumpSync; this.dateUtil = dateUtil; this.ruffyScripter = ruffyScripter; diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index 0d2f194186..44a7cb416f 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -28,6 +28,7 @@ android { dependencies { implementation project(':libraries') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 8fdd2a7429..e284fa66c8 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -16,31 +16,31 @@ import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Dana import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Dana +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index a6a1dc7531..758db789a5 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -8,7 +8,6 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.comm.RecordTypes @@ -21,15 +20,16 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index 0f187cae8e..d59ebb424f 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -2,17 +2,17 @@ package info.nightscout.androidaps.dana.activities import android.content.Context import android.os.Bundle -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.logging.LTag diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index de8003dd46..9231da44ec 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,17 +3,17 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore +import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 06808b1162..2cdabf540c 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -19,6 +19,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':pump:dana') implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index be0cde9827..d4f99224f8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -15,16 +15,14 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -32,7 +30,9 @@ import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventOverviewBolusProgress 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 io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject import javax.inject.Singleton diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 737b5f6f53..ae88a17e18 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -17,29 +17,29 @@ import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; +import info.nightscout.core.fabric.FabricPrivacy; +import info.nightscout.interfaces.Constraint; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.pump.PumpType; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; -import info.nightscout.shared.utils.T; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.events.EventOverviewBolusProgress; 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 info.nightscout.shared.utils.T; import io.reactivex.rxjava3.disposables.CompositeDisposable; @Singleton diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index a8968809ae..9e1eae94a9 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -15,27 +15,27 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.core.fabric.FabricPrivacy; +import info.nightscout.interfaces.Constraint; +import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.pump.PumpType; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; +import info.nightscout.rx.events.EventOverviewBolusProgress; 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 io.reactivex.rxjava3.disposables.CompositeDisposable; @Singleton diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index a5c0c2bf43..1791ccce0b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -39,26 +39,26 @@ import info.nightscout.androidaps.danar.comm.MsgHistoryRefill; import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.androidaps.utils.ToastUtils; +import info.nightscout.core.fabric.FabricPrivacy; +import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.notifications.Notification; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; import info.nightscout.rx.events.EventBTChange; +import info.nightscout.rx.events.EventOverviewBolusProgress; 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 io.reactivex.rxjava3.disposables.CompositeDisposable; /** diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 2278cd9707..6a8937c4af 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,16 +4,16 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 5628f1e947..27215a116c 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -32,6 +32,7 @@ android { dependencies { implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':pump:dana') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 93b0d7a7e2..6d5ffdd808 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -14,44 +14,44 @@ import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.Dana +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventOverviewBolusProgress 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONException diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt index a6ea3fd30d..bc2986c2e4 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.danars.databinding.DanarsEnterPinActivityBindi import info.nightscout.androidaps.danars.services.BLEComm import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.hexStringToByteArray -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.textValidator.DefaultEditTextValidator import info.nightscout.androidaps.utils.textValidator.EditTextValidator +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java index 9bc29513ec..19ee210b56 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/dialogs/PairingProgressDialog.java @@ -19,10 +19,10 @@ import info.nightscout.androidaps.danars.R; import info.nightscout.androidaps.danars.activities.PairingHelperActivity; import info.nightscout.androidaps.danars.databinding.DanarsPairingProgressDialogBinding; import info.nightscout.androidaps.danars.events.EventDanaRSPairingSuccess; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.androidaps.utils.FabricPrivacy; +import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; +import info.nightscout.shared.interfaces.ResourceHelper; import io.reactivex.rxjava3.disposables.CompositeDisposable; diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 0fd5afdd5f..01ff1567be 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -8,7 +8,6 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.events.EventDanaRNewStatus @@ -55,34 +54,35 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetUserOption import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.events.EventProfileSwitchChanged 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.joda.time.DateTime diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index e73715ea9d..27d702dd8a 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,17 +3,17 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore +import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Config +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.rx.bus.RxBus import org.json.JSONObject import org.junit.Before import org.mockito.Mock diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index e8dfecc216..0f899fc708 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -30,6 +30,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':interfaces') + implementation project(':core:fabric') implementation project(':core:core-main') api "androidx.room:room-ktx:$room_version" diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index ec139af39d..5c7738a7c4 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -15,23 +15,23 @@ import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.WarnColors +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.events.EventTempBasalChange 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 1fea57bb3a..6857f3036e 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -10,48 +10,48 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.Diaconn -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.Diaconn +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventOverviewBolusProgress 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import org.json.JSONException import org.json.JSONObject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 1e08f22bff..3d6dd0cda2 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -19,12 +19,12 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index 6c4e978ec7..49b8f8418f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -10,13 +10,12 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.databinding.DiaconnG8UserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import java.text.DecimalFormat diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 5b8abc171f..3d2c3405ef 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -8,8 +8,6 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.diaconn.DiaconnG8Pump @@ -50,30 +48,32 @@ import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage +import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.events.EventProfileSwitchChanged 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 io.reactivex.rxjava3.disposables.CompositeDisposable import org.joda.time.DateTime import org.joda.time.DateTimeZone diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index dd99534517..e8c8b6a3f7 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -26,6 +26,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':interfaces') //RxAndroidBle diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 6c70dd41d8..9970889317 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -3,24 +3,14 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager @@ -28,17 +18,27 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.BolusExDuration import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal -import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T -import info.nightscout.interfaces.utils.TimeChangeType +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.functions.Consumer import io.reactivex.rxjava3.subjects.BehaviorSubject diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index 3521fc2489..219cb88236 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -5,10 +5,7 @@ import android.content.Intent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus import info.nightscout.androidaps.plugins.pump.eopatch.R @@ -24,13 +21,16 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.AlarmCategory import info.nightscout.androidaps.plugins.pump.eopatch.event.EventEoPatchAlarm import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus 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 io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 7873cba6e7..7df54d4cfb 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -24,4 +24,5 @@ dependencies { implementation project(':pump:pump-core') implementation project(':pump:rileylink') implementation project(':interfaces') + implementation project(path: ':core:fabric') } diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 57d90464c3..f747d48f85 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -26,9 +26,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.queue.Callback import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index d7477803ad..6c45c97847 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -8,27 +8,17 @@ import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo @@ -63,16 +53,26 @@ import info.nightscout.androidaps.plugins.pump.medtronic.service.RileyLinkMedtro import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.isSame -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.TimeChangeType +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.rx.events.EventRefreshOverview 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 org.joda.time.LocalDateTime import java.util.Calendar import java.util.GregorianCalendar diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 0fd002ff78..7d43659091 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -38,6 +38,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':pump:pump-common') implementation project(':pump:omnipod-common') implementation project(':interfaces') diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 6eff10b3eb..70546aa3fe 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -6,30 +6,19 @@ import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod @@ -60,23 +49,34 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.OmnipodDashOvervi import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.interfaces.queue.CustomCommand -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T -import info.nightscout.interfaces.utils.TimeChangeType +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.utils.Round +import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventTempBasalChange 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index 91af859843..ac8018229d 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -5,8 +5,6 @@ import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandPlayTestBeep import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.PodActivationWizardActivity @@ -16,11 +14,13 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activation.DashPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivation.DashPodDeactivationWizardActivity -import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.shared.extensions.toVisibility import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index d7cbdffd91..a1c4702eb2 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -9,15 +9,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewPodInfoBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandHandleTimeChange @@ -33,16 +28,21 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.apache.commons.lang3.StringUtils diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index c5f038025c..016313ed48 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -3,14 +3,10 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R @@ -23,11 +19,15 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.Resolve import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus 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 io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 9e7f496a67..c486f714d4 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':libraries') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':pump:rileylink') diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index a627f4d4cc..80c8001410 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -35,26 +35,17 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.ManufacturerType; -import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst; @@ -95,16 +86,22 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.service.Ri import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.OmnipodErosOverviewFragment; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; +import info.nightscout.androidaps.services.AlarmSoundService; +import info.nightscout.androidaps.utils.DecimalFormatter; +import info.nightscout.core.fabric.FabricPrivacy; +import info.nightscout.interfaces.ActivityNames; +import info.nightscout.interfaces.PluginDescription; +import info.nightscout.interfaces.PluginType; +import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.ManufacturerType; +import info.nightscout.interfaces.pump.PumpDescription; +import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.CustomCommand; -import info.nightscout.androidaps.services.AlarmSoundService; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.androidaps.utils.DecimalFormatter; -import info.nightscout.androidaps.utils.FabricPrivacy; import info.nightscout.interfaces.utils.Round; -import info.nightscout.shared.utils.T; import info.nightscout.interfaces.utils.TimeChangeType; -import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; @@ -112,7 +109,10 @@ import info.nightscout.rx.events.EventAppInitialized; import info.nightscout.rx.events.EventRefreshOverview; 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 info.nightscout.shared.utils.T; import io.reactivex.rxjava3.disposables.CompositeDisposable; /** diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index 1911a480e2..aefc980840 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -7,9 +7,6 @@ import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusActivity @@ -28,12 +25,15 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandReadPulseLog import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activation.ErosPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivation.ErosPodDeactivationWizardActivity -import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.shared.extensions.toVisibility import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index dac4584837..e41288b454 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -9,14 +9,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -41,16 +37,20 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandGetPodStatus import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil -import info.nightscout.interfaces.queue.Callback -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventQueueChanged +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.apache.commons.lang3.StringUtils diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index a5bdc109f9..e80f89e88a 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -17,6 +17,7 @@ android { dependencies { implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 492827ab9a..b07988cb07 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -7,7 +7,6 @@ import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -15,32 +14,33 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal -import info.nightscout.androidaps.utils.FabricPrivacy +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventCustomActionsChanged +import info.nightscout.rx.events.EventOverviewBolusProgress 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 io.reactivex.rxjava3.disposables.CompositeDisposable import org.json.JSONException import org.json.JSONObject diff --git a/settings.gradle b/settings.gradle index 44e623fd1d..2547623dd4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,6 +2,7 @@ include ':app' include ':wear' include ':database' include ':core:core-main' +include ':core:fabric' include ':app-wear-shared:rx' include ':app-wear-shared:shared' include ':app-wear-shared:shared-impl' diff --git a/ui/build.gradle b/ui/build.gradle index 431f59397b..23491ad85b 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -22,5 +22,6 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core:core-main') + implementation project(':core:fabric') implementation project(':interfaces') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 3e4c485afe..4e1933517f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityStatsBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index a2ba838417..73d40f1253 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -7,7 +7,6 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.utils.InstanceId import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.shared.SafeParse import info.nightscout.shared.utils.DateUtil @@ -31,7 +30,7 @@ class SurveyActivity : NoSplashAppCompatActivity() { binding = ActivitySurveyBinding.inflate(layoutInflater) setContentView(binding.root) - binding.id.text = InstanceId.instanceId + binding.id.text = info.nightscout.core.fabric.InstanceId.instanceId val profileStore = activePlugin.activeProfileSource.profile val profileList = profileStore?.getProfileList() ?: return @@ -70,7 +69,7 @@ class SurveyActivity : NoSplashAppCompatActivity() { binding.submit.setOnClickListener { val r = FirebaseRecord() - r.id = InstanceId.instanceId + r.id = info.nightscout.core.fabric.InstanceId.instanceId r.age = SafeParse.stringToInt(binding.age.text.toString()) r.weight = SafeParse.stringToInt(binding.weight.text.toString()) if (r.age < 1 || r.age > 120) { diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 9411291005..c716e7dab4 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,22 +15,22 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.core.main.R import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.main.R import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.T import info.nightscout.ui.databinding.ActivityTddStatsBinding import io.reactivex.rxjava3.disposables.CompositeDisposable import java.text.DateFormat diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 4b58fcd6f6..91d375a83e 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -29,17 +29,13 @@ import info.nightscout.androidaps.database.transactions.InvalidateBolusTransacti import info.nightscout.androidaps.database.transactions.InvalidateCarbsTransaction import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -47,7 +43,11 @@ import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.events.EventTreatmentChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsBolusCarbsFragmentBinding import info.nightscout.ui.databinding.TreatmentsBolusCarbsItemBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 8fdac45234..20c633edc4 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -21,16 +21,12 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.transactions.InvalidateAAPSStartedTherapyEventTransaction import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTransaction -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -38,7 +34,11 @@ import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsCareportalFragment.RecyclerViewAdapter.TherapyEventsViewHolder import info.nightscout.ui.databinding.TreatmentsCareportalFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index 87ffa156e9..bdc86cc466 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -3,14 +3,18 @@ package info.nightscout.ui.activities.fragments import android.annotation.SuppressLint import android.os.Bundle import android.util.SparseArray -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import androidx.core.util.forEach import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.ui.activities.fragments.TreatmentsExtendedBolusesFragment.RecyclerViewAdapter.ExtendedBolusesViewHolder import info.nightscout.androidaps.database.AppRepository import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.database.entities.UserEntry.Action @@ -18,26 +22,26 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction -import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R +import info.nightscout.ui.activities.fragments.TreatmentsExtendedBolusesFragment.RecyclerViewAdapter.ExtendedBolusesViewHolder import info.nightscout.ui.databinding.TreatmentsExtendedbolusFragmentBinding import info.nightscout.ui.databinding.TreatmentsExtendedbolusItemBinding import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 6b513d45fc..4761dfbb33 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -25,17 +25,13 @@ import info.nightscout.androidaps.database.transactions.InvalidateProfileSwitchT import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.getCustomizedName +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -44,7 +40,11 @@ import info.nightscout.rx.events.EventNSClientRestart import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsProfileSwitchFragment.RecyclerProfileViewAdapter.ProfileSwitchViewHolder import info.nightscout.ui.databinding.TreatmentsProfileswitchFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index a2c45426b1..e56ab42886 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -28,17 +28,13 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -47,7 +43,11 @@ import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.events.EventTempTargetChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsTempTargetFragment.RecyclerViewAdapter.TempTargetsViewHolder import info.nightscout.ui.databinding.TreatmentsTemptargetFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 331c1d000c..2a5298df25 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -26,26 +26,25 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalTransaction -import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.rx.bus.RxBus import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsTemporaryBasalsFragment.RecyclerViewAdapter.TempBasalsViewHolder import info.nightscout.ui.databinding.TreatmentsTempbasalsFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index fbcc9eabbe..60e7a27fd5 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -17,19 +17,19 @@ import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.rx.bus.RxBus -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.rx.AapsSchedulers import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.ImportExportPrefs +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.databinding.TreatmentsUserEntryFragmentBinding import info.nightscout.ui.databinding.TreatmentsUserEntryItemBinding diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index e4d3ebdd2e..693e5b0a30 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -10,12 +10,12 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.FabricPrivacy import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Before import org.mockito.ArgumentMatchers.anyDouble From f870a747967f269b69104a023d549b492826040b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 16:49:36 +0100 Subject: [PATCH 030/123] :database:impl --- app/build.gradle | 2 +- automation/build.gradle | 2 +- core/core-main/build.gradle | 2 +- database/{ => impl}/.gitignore | 0 database/{ => impl}/build.gradle | 0 database/{ => impl}/consumer-rules.pro | 0 database/{ => impl}/proguard-rules.pro | 0 .../info.nightscout.androidaps.database.AppDatabase/1.json | 0 .../info.nightscout.androidaps.database.AppDatabase/10.json | 0 .../info.nightscout.androidaps.database.AppDatabase/11.json | 0 .../info.nightscout.androidaps.database.AppDatabase/12.json | 0 .../info.nightscout.androidaps.database.AppDatabase/14.json | 0 .../info.nightscout.androidaps.database.AppDatabase/15.json | 0 .../info.nightscout.androidaps.database.AppDatabase/16.json | 0 .../info.nightscout.androidaps.database.AppDatabase/18.json | 0 .../info.nightscout.androidaps.database.AppDatabase/2.json | 0 .../info.nightscout.androidaps.database.AppDatabase/20.json | 0 .../info.nightscout.androidaps.database.AppDatabase/21.json | 0 .../info.nightscout.androidaps.database.AppDatabase/22.json | 0 .../info.nightscout.androidaps.database.AppDatabase/4.json | 0 .../info.nightscout.androidaps.database.AppDatabase/5.json | 0 .../info.nightscout.androidaps.database.AppDatabase/6.json | 0 .../info.nightscout.androidaps.database.AppDatabase/7.json | 0 .../info.nightscout.androidaps.database.AppDatabase/8.json | 0 .../info.nightscout.androidaps.database.AppDatabase/9.json | 0 .../info/nightscout/androidaps/annotations/DbOpenForTesting.kt | 0 database/{ => impl}/src/main/AndroidManifest.xml | 0 .../java/info/nightscout/androidaps/database/AppDatabase.kt | 0 .../java/info/nightscout/androidaps/database/AppRepository.kt | 0 .../main/java/info/nightscout/androidaps/database/Converters.kt | 0 .../java/info/nightscout/androidaps/database/DatabaseModule.kt | 0 .../info/nightscout/androidaps/database/DelegatedAppDatabase.kt | 0 .../main/java/info/nightscout/androidaps/database/TableNames.kt | 0 .../info/nightscout/androidaps/database/daos/APSResultDao.kt | 0 .../nightscout/androidaps/database/daos/APSResultLinkDao.kt | 0 .../androidaps/database/daos/BolusCalculatorResultDao.kt | 0 .../java/info/nightscout/androidaps/database/daos/BolusDao.kt | 0 .../java/info/nightscout/androidaps/database/daos/CarbsDao.kt | 0 .../info/nightscout/androidaps/database/daos/DeviceStatusDao.kt | 0 .../androidaps/database/daos/EffectiveProfileSwitchDao.kt | 0 .../nightscout/androidaps/database/daos/ExtendedBolusDao.kt | 0 .../java/info/nightscout/androidaps/database/daos/FoodDao.kt | 0 .../info/nightscout/androidaps/database/daos/GlucoseValueDao.kt | 0 .../androidaps/database/daos/MultiwaveBolusLinkDao.kt | 0 .../info/nightscout/androidaps/database/daos/OfflineEventDao.kt | 0 .../nightscout/androidaps/database/daos/PreferenceChangeDao.kt | 0 .../nightscout/androidaps/database/daos/ProfileSwitchDao.kt | 0 .../nightscout/androidaps/database/daos/TemporaryBasalDao.kt | 0 .../nightscout/androidaps/database/daos/TemporaryTargetDao.kt | 0 .../info/nightscout/androidaps/database/daos/TherapyEventDao.kt | 0 .../nightscout/androidaps/database/daos/TotalDailyDoseDao.kt | 0 .../info/nightscout/androidaps/database/daos/TraceableDao.kt | 0 .../info/nightscout/androidaps/database/daos/UserEntryDao.kt | 0 .../nightscout/androidaps/database/daos/VersionChangeDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedAPSResultDao.kt | 0 .../database/daos/delegated/DelegatedAPSResultLinkDao.kt | 0 .../daos/delegated/DelegatedBolusCalculatorResultDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedBolusDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedCarbsDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedDao.kt | 0 .../database/daos/delegated/DelegatedDeviceStatusDao.kt | 0 .../daos/delegated/DelegatedEffectiveProfileSwitchDao.kt | 0 .../database/daos/delegated/DelegatedExtendedBolusDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedFoodDao.kt | 0 .../database/daos/delegated/DelegatedGlucoseValueDao.kt | 0 .../database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt | 0 .../database/daos/delegated/DelegatedOfflineEventDao.kt | 0 .../database/daos/delegated/DelegatedPreferenceChangeDao.kt | 0 .../database/daos/delegated/DelegatedProfileSwitchDao.kt | 0 .../database/daos/delegated/DelegatedTemporaryBasalDao.kt | 0 .../database/daos/delegated/DelegatedTemporaryTargetDao.kt | 0 .../database/daos/delegated/DelegatedTherapyEventDao.kt | 0 .../database/daos/delegated/DelegatedTotalDailyDoseDao.kt | 0 .../androidaps/database/daos/delegated/DelegatedUserEntryDao.kt | 0 .../database/daos/delegated/DelegatedVersionChangeDao.kt | 0 .../database/daos/workaround/ProfileSwitchDaoWorkaround.java | 0 .../database/daos/workaround/TraceableDaoWorkaround.java | 0 .../androidaps/database/daos/workaround/package-info.java | 0 .../main/java/info/nightscout/androidaps/database/data/Block.kt | 0 .../java/info/nightscout/androidaps/database/data/NewEntries.kt | 0 .../info/nightscout/androidaps/database/data/TargetBlock.kt | 0 .../androidaps/database/embedments/InsulinConfiguration.kt | 0 .../nightscout/androidaps/database/embedments/InterfaceIDs.kt | 0 .../info/nightscout/androidaps/database/entities/APSResult.kt | 0 .../nightscout/androidaps/database/entities/APSResultLink.kt | 0 .../java/info/nightscout/androidaps/database/entities/Bolus.kt | 0 .../androidaps/database/entities/BolusCalculatorResult.kt | 0 .../java/info/nightscout/androidaps/database/entities/Carbs.kt | 0 .../nightscout/androidaps/database/entities/DeviceStatus.kt | 0 .../androidaps/database/entities/EffectiveProfileSwitch.kt | 0 .../nightscout/androidaps/database/entities/ExtendedBolus.kt | 0 .../java/info/nightscout/androidaps/database/entities/Food.kt | 0 .../nightscout/androidaps/database/entities/GlucoseValue.kt | 0 .../androidaps/database/entities/MultiwaveBolusLink.kt | 0 .../nightscout/androidaps/database/entities/OfflineEvent.kt | 0 .../nightscout/androidaps/database/entities/PreferenceChange.kt | 0 .../nightscout/androidaps/database/entities/ProfileSwitch.kt | 0 .../nightscout/androidaps/database/entities/TemporaryBasal.kt | 0 .../nightscout/androidaps/database/entities/TemporaryTarget.kt | 0 .../nightscout/androidaps/database/entities/TherapyEvent.kt | 0 .../nightscout/androidaps/database/entities/TotalDailyDose.kt | 0 .../info/nightscout/androidaps/database/entities/UserEntry.kt | 0 .../nightscout/androidaps/database/entities/ValueWithUnit.kt | 0 .../nightscout/androidaps/database/entities/VersionChange.kt | 0 .../info/nightscout/androidaps/database/interfaces/DBEntry.kt | 0 .../androidaps/database/interfaces/DBEntryWithDuration.kt | 0 .../androidaps/database/interfaces/DBEntryWithTime.kt | 0 .../database/interfaces/DBEntryWithTimeAndDuration.kt | 0 .../androidaps/database/interfaces/TraceableDBEntry.kt | 0 .../androidaps/database/serialisation/SealedClassHelper.kt | 0 .../transactions/CancelCurrentOfflineEventIfAnyTransaction.kt | 0 .../CancelCurrentTemporaryTargetIfAnyTransaction.kt | 0 .../androidaps/database/transactions/CgmSourceTransaction.kt | 0 .../androidaps/database/transactions/CutCarbsTransaction.kt | 0 .../InsertAndCancelCurrentOfflineEventTransaction.kt | 0 .../InsertAndCancelCurrentTemporaryTargetTransaction.kt | 0 .../database/transactions/InsertBolusWithTempIdTransaction.kt | 0 .../database/transactions/InsertGlucoseValueTransaction.kt | 0 .../transactions/InsertIfNewByTimestampCarbsTransaction.kt | 0 .../InsertIfNewByTimestampTherapyEventTransaction.kt | 0 .../InsertOrUpdateBolusCalculatorResultTransaction.kt | 0 .../database/transactions/InsertOrUpdateBolusTransaction.kt | 0 .../database/transactions/InsertOrUpdateCarbsTransaction.kt | 0 .../database/transactions/InsertOrUpdateFoodTransaction.kt | 0 .../database/transactions/InsertOrUpdateProfileSwitch.kt | 0 .../transactions/InsertTemporaryBasalWithTempIdTransaction.kt | 0 .../transactions/InsertTherapyEventAnnouncementTransaction.kt | 0 .../InvalidateAAPSStartedTherapyEventTransaction.kt | 0 .../transactions/InvalidateBolusCalculatorResultTransaction.kt | 0 .../database/transactions/InvalidateBolusTransaction.kt | 0 .../database/transactions/InvalidateCarbsTransaction.kt | 0 .../database/transactions/InvalidateExtendedBolusTransaction.kt | 0 .../database/transactions/InvalidateFoodTransaction.kt | 0 .../database/transactions/InvalidateGlucoseValueTransaction.kt | 0 .../transactions/InvalidateNsIdProfileSwitchTransaction.kt | 0 .../database/transactions/InvalidateOfflineEventTransaction.kt | 0 .../database/transactions/InvalidateProfileSwitchTransaction.kt | 0 .../transactions/InvalidateTemporaryBasalTransaction.kt | 0 .../InvalidateTemporaryBasalTransactionWithPumpId.kt | 0 .../InvalidateTemporaryBasalWithTempIdTransaction.kt | 0 .../transactions/InvalidateTemporaryTargetTransaction.kt | 0 .../database/transactions/InvalidateTherapyEventTransaction.kt | 0 .../database/transactions/SyncBolusWithTempIdTransaction.kt | 0 .../transactions/SyncNsBolusCalculatorResultTransaction.kt | 0 .../androidaps/database/transactions/SyncNsBolusTransaction.kt | 0 .../androidaps/database/transactions/SyncNsCarbsTransaction.kt | 0 .../transactions/SyncNsEffectiveProfileSwitchTransaction.kt | 0 .../database/transactions/SyncNsExtendedBolusTransaction.kt | 0 .../androidaps/database/transactions/SyncNsFoodTransaction.kt | 0 .../database/transactions/SyncNsOfflineEventTransaction.kt | 0 .../database/transactions/SyncNsProfileSwitchTransaction.kt | 0 .../database/transactions/SyncNsTemporaryBasalTransaction.kt | 0 .../database/transactions/SyncNsTemporaryTargetTransaction.kt | 0 .../database/transactions/SyncNsTherapyEventTransaction.kt | 0 .../database/transactions/SyncPumpBolusTransaction.kt | 0 .../transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt | 0 .../SyncPumpCancelTemporaryBasalIfAnyTransaction.kt | 0 .../database/transactions/SyncPumpExtendedBolusTransaction.kt | 0 .../database/transactions/SyncPumpTemporaryBasalTransaction.kt | 0 .../database/transactions/SyncPumpTotalDailyDoseTransaction.kt | 0 .../transactions/SyncTemporaryBasalWithTempIdTransaction.kt | 0 .../nightscout/androidaps/database/transactions/Transaction.kt | 0 .../database/transactions/UpdateGlucoseValueTransaction.kt | 0 .../transactions/UpdateNsIdBolusCalculatorResultTransaction.kt | 0 .../database/transactions/UpdateNsIdBolusTransaction.kt | 0 .../database/transactions/UpdateNsIdCarbsTransaction.kt | 0 .../database/transactions/UpdateNsIdDeviceStatusTransaction.kt | 0 .../transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt | 0 .../database/transactions/UpdateNsIdExtendedBolusTransaction.kt | 0 .../database/transactions/UpdateNsIdFoodTransaction.kt | 0 .../database/transactions/UpdateNsIdGlucoseValueTransaction.kt | 0 .../database/transactions/UpdateNsIdOfflineEventTransaction.kt | 0 .../database/transactions/UpdateNsIdProfileSwitchTransaction.kt | 0 .../transactions/UpdateNsIdTemporaryBasalTransaction.kt | 0 .../transactions/UpdateNsIdTemporaryTargetTransaction.kt | 0 .../database/transactions/UpdateNsIdTherapyEventTransaction.kt | 0 .../androidaps/database/transactions/UserEntryTransaction.kt | 0 .../database/transactions/VersionChangeTransaction.kt | 0 .../info/nightscout/androidaps/annotations/DbOpenForTesting.kt | 0 implementation/build.gradle | 2 +- openhumans/build.gradle | 2 +- plugins/build.gradle | 2 +- pump/eopatch/build.gradle | 2 +- pump/omnipod-dash/build.gradle | 2 +- pump/omnipod-eros/build.gradle | 2 +- settings.gradle | 2 +- ui/build.gradle | 2 +- 187 files changed, 11 insertions(+), 11 deletions(-) rename database/{ => impl}/.gitignore (100%) rename database/{ => impl}/build.gradle (100%) rename database/{ => impl}/consumer-rules.pro (100%) rename database/{ => impl}/proguard-rules.pro (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/1.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/10.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/11.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/12.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/14.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/15.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/16.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/18.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/2.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/20.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/21.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/22.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/4.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/5.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/6.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/7.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/8.json (100%) rename database/{ => impl}/schemas/info.nightscout.androidaps.database.AppDatabase/9.json (100%) rename database/{ => impl}/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt (100%) rename database/{ => impl}/src/main/AndroidManifest.xml (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/AppRepository.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/Converters.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/TableNames.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/data/Block.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/Food.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt (100%) rename database/{ => impl}/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt (100%) rename database/{ => impl}/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt (100%) diff --git a/app/build.gradle b/app/build.gradle index aaacccb505..7fb11a0e7d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -191,7 +191,7 @@ dependencies { implementation project(':ui') implementation project(':plugins') implementation project(':implementation') - implementation project(':database') + implementation project(':database:impl') implementation project(':pump:combo') implementation project(':pump:dana') implementation project(':pump:danars') diff --git a/automation/build.gradle b/automation/build.gradle index e34784b81f..b19cd3347b 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -20,7 +20,7 @@ dependencies { implementation project(':graphview') implementation project(':core:core-main') implementation project(':core:fabric') - implementation project(':database') + implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':interfaces') diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index a001098465..45cb57f011 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -17,7 +17,7 @@ dependencies { implementation project(':graphview') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':database') + implementation project(':database:impl') implementation project(':interfaces') api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" diff --git a/database/.gitignore b/database/impl/.gitignore similarity index 100% rename from database/.gitignore rename to database/impl/.gitignore diff --git a/database/build.gradle b/database/impl/build.gradle similarity index 100% rename from database/build.gradle rename to database/impl/build.gradle diff --git a/database/consumer-rules.pro b/database/impl/consumer-rules.pro similarity index 100% rename from database/consumer-rules.pro rename to database/impl/consumer-rules.pro diff --git a/database/proguard-rules.pro b/database/impl/proguard-rules.pro similarity index 100% rename from database/proguard-rules.pro rename to database/impl/proguard-rules.pro diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/1.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/1.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/1.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/1.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/10.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/10.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/10.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/10.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/11.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/11.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/11.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/11.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/12.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/12.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/12.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/12.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/14.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/14.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/14.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/14.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/15.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/15.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/15.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/15.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/16.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/16.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/16.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/16.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/18.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/18.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/18.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/18.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/2.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/2.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/2.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/2.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/20.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/20.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/20.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/20.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/21.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/21.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/21.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/21.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/22.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/22.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/22.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/22.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/4.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/4.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/4.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/4.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/5.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/5.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/5.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/5.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/6.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/6.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/6.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/6.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/7.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/7.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/7.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/7.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/8.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/8.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/8.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/8.json diff --git a/database/schemas/info.nightscout.androidaps.database.AppDatabase/9.json b/database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/9.json similarity index 100% rename from database/schemas/info.nightscout.androidaps.database.AppDatabase/9.json rename to database/impl/schemas/info.nightscout.androidaps.database.AppDatabase/9.json diff --git a/database/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt b/database/impl/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt similarity index 100% rename from database/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt rename to database/impl/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt diff --git a/database/src/main/AndroidManifest.xml b/database/impl/src/main/AndroidManifest.xml similarity index 100% rename from database/src/main/AndroidManifest.xml rename to database/impl/src/main/AndroidManifest.xml diff --git a/database/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/AppRepository.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/AppRepository.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/AppRepository.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/AppRepository.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/Converters.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/Converters.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/Converters.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/Converters.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/TableNames.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/TableNames.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/TableNames.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/TableNames.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java diff --git a/database/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java rename to database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java diff --git a/database/src/main/java/info/nightscout/androidaps/database/data/Block.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/data/Block.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/data/Block.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/data/Block.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/Food.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Food.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/Food.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/Food.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt diff --git a/database/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt similarity index 100% rename from database/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt rename to database/impl/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt diff --git a/database/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt b/database/impl/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt similarity index 100% rename from database/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt rename to database/impl/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt diff --git a/implementation/build.gradle b/implementation/build.gradle index 9f8d8e7a7c..21b9282f74 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -18,7 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':database') + implementation project(':database:impl') implementation project(':automation') implementation project(':interfaces') implementation project(':core:core-main') diff --git a/openhumans/build.gradle b/openhumans/build.gradle index 5e9a0b01f2..e6736d3ad3 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -18,7 +18,7 @@ android { dependencies { implementation project(':core:core-main') - implementation project(':database') + implementation project(':database:impl') implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/plugins/build.gradle b/plugins/build.gradle index 1c771254e2..2578589722 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -18,7 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':database') + implementation project(':database:impl') implementation project(':graphview') implementation project(':core:core-main') implementation project(':core:fabric') diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index e8c8b6a3f7..e78198d09d 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -24,7 +24,7 @@ dependencies { implementation project(':libraries') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':database') + implementation project(':database:impl') implementation project(':core:core-main') implementation project(':core:fabric') implementation project(':interfaces') diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 7d43659091..141bc8d846 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -33,7 +33,7 @@ android { } dependencies { - implementation project(':database') + implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':libraries') diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index c486f714d4..cbf0d8cb7e 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -26,7 +26,7 @@ android { } dependencies { - implementation project(':database') + implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':libraries') diff --git a/settings.gradle b/settings.gradle index 2547623dd4..32c50837b6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,6 @@ include ':app' include ':wear' -include ':database' +include ':database:impl' include ':core:core-main' include ':core:fabric' include ':app-wear-shared:rx' diff --git a/ui/build.gradle b/ui/build.gradle index 23491ad85b..1d4809a88c 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -20,7 +20,7 @@ dependencies { implementation project(':graphview') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') - implementation project(':database') + implementation project(':database:impl') implementation project(':core:core-main') implementation project(':core:fabric') implementation project(':interfaces') From 253601980d8d61a3b227b00a82a39b106ec22b7b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 9 Nov 2022 23:28:48 +0100 Subject: [PATCH 031/123] :database:entities --- app/build.gradle | 2 + .../nightscout/androidaps/MainActivity.kt | 4 +- .../info/nightscout/androidaps/MainApp.kt | 14 +-- .../activities/HistoryBrowserData.kt | 2 +- .../activities/ProfileHelperActivity.kt | 4 +- .../androidaps/db/CompatDBHelper.kt | 24 ++--- .../nightscout/androidaps/di/AppComponent.kt | 4 +- .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/dialogs/ExtendedBolusDialog.kt | 16 +-- .../androidaps/dialogs/FillDialog.kt | 22 ++--- .../androidaps/dialogs/InsulinDialog.kt | 32 +++--- .../androidaps/dialogs/LoopDialog.kt | 14 +-- .../androidaps/dialogs/ProfileSwitchDialog.kt | 24 ++--- .../androidaps/dialogs/TempBasalDialog.kt | 26 ++--- .../androidaps/dialogs/TempTargetDialog.kt | 37 +++---- .../androidaps/dialogs/TreatmentDialog.kt | 32 +++--- .../androidaps/dialogs/WizardDialog.kt | 4 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 16 +-- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 2 +- .../OpenAPSSMBDynamicISFPlugin.kt | 2 +- .../configBuilder/ConfigBuilderPlugin.kt | 12 +-- .../configBuilder/ProfileFunctionImpl.kt | 8 +- .../objectives/ObjectivesFragment.kt | 6 +- .../objectives/objectives/Objective0.kt | 4 +- .../general/actions/ActionsFragment.kt | 8 +- .../maintenance/ImportExportPrefsImpl.kt | 40 ++++---- .../maintenance/MaintenanceFragment.kt | 6 +- .../general/overview/OverviewFragment.kt | 8 +- .../general/overview/StatusLightHandler.kt | 14 +-- .../wear/wearintegration/DataHandlerMobile.kt | 24 ++--- .../DataLayerListenerServiceMobile.kt | 2 +- .../IobCobCalculatorPlugin.kt | 12 +-- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 4 +- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 10 +- .../sensitivity/SensitivityOref1Plugin.kt | 10 +- .../SensitivityWeightedAveragePlugin.kt | 10 +- .../androidaps/plugins/source/AidexPlugin.kt | 8 +- .../androidaps/plugins/source/DexcomPlugin.kt | 18 ++-- .../plugins/source/EversensePlugin.kt | 12 +-- .../androidaps/plugins/source/GlimpPlugin.kt | 8 +- .../plugins/source/GlunovoPlugin.kt | 12 +-- .../plugins/source/IntelligoPlugin.kt | 12 +-- .../androidaps/plugins/source/MM640gPlugin.kt | 8 +- .../plugins/source/PoctechPlugin.kt | 8 +- .../plugins/source/RandomBgPlugin.kt | 8 +- .../androidaps/plugins/source/TomatoPlugin.kt | 8 +- .../androidaps/plugins/source/XdripPlugin.kt | 8 +- .../androidaps/receivers/KeepAliveWorker.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 38 +++---- .../utils/wizard/QuickWizardEntry.kt | 10 +- .../androidaps/workflow/LoadBgDataWorker.kt | 2 +- .../workflow/PrepareBgDataWorker.kt | 2 +- .../PrepareIobAutosensGraphDataWorker.kt | 4 +- .../workflow/PreparePredictionsWorker.kt | 2 +- .../PrepareTemporaryTargetDataWorker.kt | 4 +- .../workflow/PrepareTreatmentsDataWorker.kt | 14 +-- .../androidaps/TestBaseWithProfile.kt | 4 +- .../interfaces/ConstraintsCheckerTest.kt | 2 +- .../plugins/aps/loop/LoopPluginTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 2 +- automation/build.gradle | 1 + .../automation/AutomationFragment.kt | 4 +- .../actions/ActionCarePortalEvent.kt | 19 ++-- .../automation/actions/ActionLoopDisable.kt | 10 +- .../automation/actions/ActionLoopEnable.kt | 10 +- .../automation/actions/ActionLoopResume.kt | 14 +-- .../automation/actions/ActionLoopSuspend.kt | 10 +- .../automation/actions/ActionNotification.kt | 4 +- .../automation/actions/ActionProfileSwitch.kt | 13 ++- .../actions/ActionProfileSwitchPercent.kt | 11 +-- .../actions/ActionStartTempTarget.kt | 25 +++-- .../actions/ActionStopTempTarget.kt | 13 ++- .../elements/InputCarePortalMenu.kt | 4 +- .../nightscout/automation/triggers/Trigger.kt | 2 +- .../automation/triggers/TriggerBolusAgo.kt | 9 +- .../automation/triggers/TriggerTempTarget.kt | 2 +- .../triggers/TriggerTempTargetValue.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../actions/ActionCarePortalEventTest.kt | 4 +- .../actions/ActionLoopResumeTest.kt | 8 +- .../actions/ActionNotificationTest.kt | 6 +- .../actions/ActionStartTempTargetTest.kt | 10 +- .../actions/ActionStopTempTargetTest.kt | 8 +- .../automation/actions/ActionsTestBase.kt | 14 +-- .../automation/triggers/TriggerBgTest.kt | 4 +- .../triggers/TriggerBolusAgoTest.kt | 4 +- .../automation/triggers/TriggerDeltaTest.kt | 4 +- .../triggers/TriggerTempTargetValueTest.kt | 6 +- core/core-main/build.gradle | 1 + .../androidaps/data/DetailedBolusInfo.kt | 12 +-- .../androidaps/data/InMemoryGlucoseValue.kt | 2 +- .../androidaps/data/LocalInsulin.kt | 2 +- .../androidaps/data/ProfileSealed.kt | 26 ++--- .../nightscout/androidaps/data/PureProfile.kt | 6 +- .../androidaps/dialogs/BolusProgressDialog.kt | 4 +- .../androidaps/dialogs/ErrorDialog.kt | 10 +- .../androidaps/dialogs/ProfileViewerDialog.kt | 4 +- .../EventEffectiveProfileSwitchChanged.kt | 2 +- .../androidaps/events/EventNewBG.kt | 2 +- .../androidaps/events/EventNewHistoryData.kt | 2 +- .../androidaps/extensions/BlockExtension.kt | 4 +- .../BolusCalculatorResultExtension.kt | 7 +- .../androidaps/extensions/BolusExtension.kt | 9 +- .../extensions/ExtendedBolusExtension.kt | 16 +-- .../androidaps/extensions/FoodExtension.kt | 2 +- .../extensions/GlucoseValueExtension.kt | 4 +- .../extensions/ProfileSwitchExtension.kt | 8 +- .../extensions/PumpTypeExtension.kt | 4 +- .../extensions/TemporaryBasalExtension.kt | 8 +- .../extensions/TemporaryTargetExtension.kt | 10 +- .../extensions/TherapyEventExtension.kt | 2 +- .../extensions/TotalDailyDoseExtension.kt | 4 +- .../androidaps/extensions/TrendArrowIcon.kt | 2 +- .../androidaps/extensions/UserEntryExt.kt | 2 +- .../androidaps/interfaces/BgSource.kt | 2 +- .../androidaps/interfaces/DataSyncSelector.kt | 15 ++- .../androidaps/interfaces/Insulin.kt | 6 +- .../androidaps/interfaces/IobCobCalculator.kt | 6 +- .../nightscout/androidaps/interfaces/Loop.kt | 4 +- .../androidaps/interfaces/ProfileFunction.kt | 2 +- .../androidaps/interfaces/PumpSync.kt | 2 +- .../androidaps/interfaces/TrendCalculator.kt | 2 +- .../androidaps/interfaces/XDripBroadcast.kt | 2 +- .../interfaces/stats/TddCalculator.kt | 2 +- .../androidaps/logging/UserEntryLogger.kt | 12 +-- .../androidaps/plugins/aps/loop/APSResult.kt | 13 ++- .../plugins/general/overview/OverviewData.kt | 10 +- .../graphExtensions/BolusDataPoint.kt | 6 +- .../graphExtensions/CarbsDataPoint.kt | 2 +- .../EffectiveProfileSwitchDataPoint.kt | 2 +- .../graphExtensions/ExtendedBolusDataPoint.kt | 4 +- .../graphExtensions/GlucoseValueDataPoint.kt | 10 +- .../graphExtensions/TherapyEventDataPoint.kt | 8 +- .../iob/iobCobCalculator/AutosensDataStore.kt | 8 +- .../iob/iobCobCalculator/data/AutosensData.kt | 12 +-- .../androidaps/queue/commands/Command.kt | 2 +- .../nightscout/androidaps/utils/HardLimits.kt | 4 +- .../nightscout/androidaps/utils/Translator.kt | 12 +-- .../nightscout/androidaps/utils/WarnColors.kt | 4 +- ...rialiser.kt => ValueWithUnitSerializer.kt} | 11 ++- .../utils/userEntry/UserEntryMapper.kt | 2 +- .../userEntry/UserEntryPresentationHelper.kt | 20 ++-- .../utils/userEntry/ValueWithUnitMapper.kt | 6 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../androidaps/data/DetailedBolusInfoTest.kt | 6 +- .../nightscout/androidaps/data/ProfileTest.kt | 2 +- .../extensions/BlockExtensionKtTest.kt | 6 +- .../plugins/aps/loop/APSResultTest.kt | 4 +- .../iob/iobCalculator/GlucoseStatusTest.kt | 3 +- .../iobCobCalculator/AutosensDataStoreTest.kt | 3 +- ...Test.kt => ValueWithUnitSerializerTest.kt} | 12 +-- database/entities/.gitignore | 1 + database/entities/build.gradle | 30 ++++++ database/entities/consumer-rules.pro | 0 database/entities/proguard-rules.pro | 21 ++++ .../entities/src/main/AndroidManifest.xml | 4 + .../database/entities/APSResult.kt | 21 ++-- .../database/entities/APSResultLink.kt | 45 +++++++++ .../nightscout}/database/entities/Bolus.kt | 13 ++- .../entities/BolusCalculatorResult.kt | 11 +-- .../nightscout}/database/entities/Carbs.kt | 15 ++- .../database/entities/DeviceStatus.kt | 13 ++- .../entities/EffectiveProfileSwitch.kt | 17 ++-- .../database/entities/ExtendedBolus.kt | 11 +-- .../nightscout}/database/entities/Food.kt | 7 +- .../database/entities/GlucoseValue.kt | 11 +-- .../database/entities/MultiwaveBolusLink.kt | 40 ++++++++ .../database/entities/OfflineEvent.kt | 11 +-- .../database/entities/PreferenceChange.kt | 7 +- .../database/entities/ProfileSwitch.kt | 17 ++-- .../database/entities}/TableNames.kt | 2 +- .../database/entities/TemporaryBasal.kt | 15 ++- .../database/entities/TemporaryTarget.kt | 18 +--- .../database/entities/TherapyEvent.kt | 9 +- .../database/entities/TotalDailyDose.kt | 15 ++- .../database/entities/UserEntry.kt | 11 +-- .../database/entities/ValueWithUnit.kt | 38 +++---- .../database/entities/VersionChange.kt | 7 +- .../database/entities}/data/Block.kt | 2 +- .../database/entities/data/NewEntries.kt | 39 ++++++++ .../database/entities}/data/TargetBlock.kt | 2 +- .../embedments/InsulinConfiguration.kt | 2 +- .../entities}/embedments/InterfaceIDs.kt | 2 +- .../database/entities/interfaces/DBEntry.kt | 5 + .../interfaces/DBEntryWithDuration.kt | 2 +- .../entities}/interfaces/DBEntryWithTime.kt | 2 +- .../interfaces/DBEntryWithTimeAndDuration.kt | 2 +- .../entities}/interfaces/TraceableDBEntry.kt | 4 +- database/impl/build.gradle | 4 +- .../annotations/DbOpenForTesting.kt | 4 +- .../androidaps/database/AppDatabase.kt | 61 ------------ .../database/DelegatedAppDatabase.kt | 31 ------ .../delegated/DelegatedDeviceStatusDao.kt | 6 -- .../androidaps/database/data/NewEntries.kt | 23 ----- .../database/entities/APSResultLink.kt | 42 -------- .../database/entities/MultiwaveBolusLink.kt | 37 ------- .../androidaps/database/interfaces/DBEntry.kt | 5 - .../serialisation/SealedClassHelper.kt | 52 ---------- .../nightscout/database/impl/AppDatabase.kt | 99 +++++++++++++++++++ .../impl}/AppRepository.kt | 30 ++++-- .../database => database/impl}/Converters.kt | 35 ++++--- .../impl}/DatabaseModule.kt | 2 +- .../database/impl/DelegatedAppDatabase.kt | 68 +++++++++++++ .../impl}/daos/APSResultDao.kt | 6 +- .../impl}/daos/APSResultLinkDao.kt | 8 +- .../impl}/daos/BolusCalculatorResultDao.kt | 6 +- .../impl}/daos/BolusDao.kt | 8 +- .../impl}/daos/CarbsDao.kt | 6 +- .../impl}/daos/DeviceStatusDao.kt | 6 +- .../impl}/daos/EffectiveProfileSwitchDao.kt | 6 +- .../impl}/daos/ExtendedBolusDao.kt | 8 +- .../impl}/daos/FoodDao.kt | 6 +- .../impl}/daos/GlucoseValueDao.kt | 6 +- .../impl}/daos/MultiwaveBolusLinkDao.kt | 6 +- .../impl}/daos/OfflineEventDao.kt | 6 +- .../impl}/daos/PreferenceChangeDao.kt | 6 +- .../impl}/daos/ProfileSwitchDao.kt | 11 +-- .../impl}/daos/TemporaryBasalDao.kt | 8 +- .../impl}/daos/TemporaryTargetDao.kt | 6 +- .../impl}/daos/TherapyEventDao.kt | 6 +- .../impl}/daos/TotalDailyDoseDao.kt | 8 +- .../impl}/daos/TraceableDao.kt | 7 +- .../impl}/daos/UserEntryDao.kt | 8 +- .../impl}/daos/VersionChangeDao.kt | 6 +- .../daos/delegated/DelegatedAPSResultDao.kt | 8 +- .../delegated/DelegatedAPSResultLinkDao.kt | 8 +- .../DelegatedBolusCalculatorResultDao.kt | 8 +- .../impl}/daos/delegated/DelegatedBolusDao.kt | 8 +- .../impl}/daos/delegated/DelegatedCarbsDao.kt | 8 +- .../impl}/daos/delegated/DelegatedDao.kt | 4 +- .../delegated/DelegatedDeviceStatusDao.kt | 6 ++ .../DelegatedEffectiveProfileSwitchDao.kt | 8 +- .../delegated/DelegatedExtendedBolusDao.kt | 8 +- .../impl}/daos/delegated/DelegatedFoodDao.kt | 8 +- .../delegated/DelegatedGlucoseValueDao.kt | 8 +- .../DelegatedMultiwaveBolusLinkDao.kt | 8 +- .../delegated/DelegatedOfflineEventDao.kt | 8 +- .../delegated/DelegatedPreferenceChangeDao.kt | 8 +- .../delegated/DelegatedProfileSwitchDao.kt | 8 +- .../delegated/DelegatedTemporaryBasalDao.kt | 8 +- .../delegated/DelegatedTemporaryTargetDao.kt | 8 +- .../delegated/DelegatedTherapyEventDao.kt | 8 +- .../delegated/DelegatedTotalDailyDoseDao.kt | 8 +- .../daos/delegated/DelegatedUserEntryDao.kt | 8 +- .../delegated/DelegatedVersionChangeDao.kt | 8 +- .../ProfileSwitchDaoWorkaround.java | 10 +- .../workaround/TraceableDaoWorkaround.java | 8 +- .../impl}/daos/workaround/package-info.java | 2 +- .../impl}/serialisation/SealedClassHelper.kt | 2 +- ...ncelCurrentOfflineEventIfAnyTransaction.kt | 6 +- ...lCurrentTemporaryTargetIfAnyTransaction.kt | 6 +- .../transactions/CgmSourceTransaction.kt | 7 +- .../impl}/transactions/CutCarbsTransaction.kt | 6 +- ...AndCancelCurrentOfflineEventTransaction.kt | 6 +- ...CancelCurrentTemporaryTargetTransaction.kt | 6 +- .../InsertBolusWithTempIdTransaction.kt | 4 +- .../InsertGlucoseValueTransaction.kt | 4 +- .../InsertIfNewByTimestampCarbsTransaction.kt | 12 ++- ...IfNewByTimestampTherapyEventTransaction.kt | 4 +- ...rUpdateBolusCalculatorResultTransaction.kt | 5 +- .../InsertOrUpdateBolusTransaction.kt | 14 +-- .../InsertOrUpdateCarbsTransaction.kt | 12 ++- .../InsertOrUpdateFoodTransaction.kt | 4 +- .../InsertOrUpdateProfileSwitch.kt | 4 +- ...sertTemporaryBasalWithTempIdTransaction.kt | 4 +- ...sertTherapyEventAnnouncementTransaction.kt | 6 +- ...idateAAPSStartedTherapyEventTransaction.kt | 4 +- ...alidateBolusCalculatorResultTransaction.kt | 4 +- .../InvalidateBolusTransaction.kt | 4 +- .../InvalidateCarbsTransaction.kt | 4 +- .../InvalidateExtendedBolusTransaction.kt | 4 +- .../transactions/InvalidateFoodTransaction.kt | 2 +- .../InvalidateGlucoseValueTransaction.kt | 4 +- .../InvalidateNsIdProfileSwitchTransaction.kt | 5 +- .../InvalidateOfflineEventTransaction.kt | 2 +- .../InvalidateProfileSwitchTransaction.kt | 4 +- .../InvalidateTemporaryBasalTransaction.kt | 4 +- ...dateTemporaryBasalTransactionWithPumpId.kt | 6 +- ...dateTemporaryBasalWithTempIdTransaction.kt | 4 +- .../InvalidateTemporaryTargetTransaction.kt | 2 +- .../InvalidateTherapyEventTransaction.kt | 4 +- .../SyncBolusWithTempIdTransaction.kt | 4 +- .../SyncNsBolusCalculatorResultTransaction.kt | 4 +- .../transactions/SyncNsBolusTransaction.kt | 4 +- .../transactions/SyncNsCarbsTransaction.kt | 4 +- ...SyncNsEffectiveProfileSwitchTransaction.kt | 4 +- .../SyncNsExtendedBolusTransaction.kt | 6 +- .../transactions/SyncNsFoodTransaction.kt | 4 +- .../SyncNsOfflineEventTransaction.kt | 6 +- .../SyncNsProfileSwitchTransaction.kt | 4 +- .../SyncNsTemporaryBasalTransaction.kt | 6 +- .../SyncNsTemporaryTargetTransaction.kt | 6 +- .../SyncNsTherapyEventTransaction.kt | 4 +- .../transactions/SyncPumpBolusTransaction.kt | 4 +- ...PumpCancelExtendedBolusIfAnyTransaction.kt | 8 +- ...umpCancelTemporaryBasalIfAnyTransaction.kt | 10 +- .../SyncPumpExtendedBolusTransaction.kt | 6 +- .../SyncPumpTemporaryBasalTransaction.kt | 8 +- .../SyncPumpTotalDailyDoseTransaction.kt | 4 +- ...SyncTemporaryBasalWithTempIdTransaction.kt | 4 +- .../impl}/transactions/Transaction.kt | 4 +- .../UpdateGlucoseValueTransaction.kt | 4 +- ...ateNsIdBolusCalculatorResultTransaction.kt | 4 +- .../UpdateNsIdBolusTransaction.kt | 4 +- .../UpdateNsIdCarbsTransaction.kt | 4 +- .../UpdateNsIdDeviceStatusTransaction.kt | 4 +- ...teNsIdEffectiveProfileSwitchTransaction.kt | 4 +- .../UpdateNsIdExtendedBolusTransaction.kt | 4 +- .../transactions/UpdateNsIdFoodTransaction.kt | 4 +- .../UpdateNsIdGlucoseValueTransaction.kt | 4 +- .../UpdateNsIdOfflineEventTransaction.kt | 4 +- .../UpdateNsIdProfileSwitchTransaction.kt | 4 +- .../UpdateNsIdTemporaryBasalTransaction.kt | 4 +- .../UpdateNsIdTemporaryTargetTransaction.kt | 4 +- .../UpdateNsIdTherapyEventTransaction.kt | 4 +- .../transactions/UserEntryTransaction.kt | 10 +- .../transactions/VersionChangeTransaction.kt | 11 ++- implementation/build.gradle | 1 + .../implementation/LocalAlertUtilsImpl.kt | 28 +++--- .../implementation/TrendCalculatorImpl.kt | 8 +- .../implementation/XDripBroadcastImpl.kt | 9 +- .../pump/PumpSyncImplementation.kt | 58 +++++------ .../queue/CommandQueueImplementation.kt | 10 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../stats/DexcomTirCalculatorImpl.kt | 2 +- .../implementation/stats/TddCalculatorImpl.kt | 19 ++-- .../implementation/stats/TirCalculatorImpl.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../queue/CommandQueueImplementationTest.kt | 6 +- .../implementation/queue/QueueThreadTest.kt | 2 +- openhumans/build.gradle | 1 + .../general/openhumans/OpenHumansUploader.kt | 26 +++-- plugins/build.gradle | 1 + .../general/autotune/AutotuneFragment.kt | 4 +- .../plugins/general/autotune/AutotuneIob.kt | 22 ++--- .../general/autotune/AutotunePlugin.kt | 22 ++--- .../plugins/general/autotune/AutotunePrep.kt | 10 +- .../general/autotune/data/ATProfile.kt | 12 +-- .../plugins/general/autotune/data/BGDatum.kt | 4 +- .../plugins/general/food/FoodFragment.kt | 10 +- .../plugins/general/food/FoodPlugin.kt | 10 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 20 ++-- .../activities/SmsCommunicatorOtpActivity.kt | 4 +- .../plugins/insulin/ActivityGraph.kt | 3 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 18 ++-- .../plugins/profile/ProfileFragment.kt | 4 +- .../plugins/source/BGSourceFragment.kt | 12 +-- .../plugins/source/NSClientSourcePlugin.kt | 8 +- .../plugins/sync/nsShared/NSClientFragment.kt | 2 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 68 ++++++------- .../DataSyncSelectorImplementation.kt | 30 +++--- .../sync/nsclient/data/NSSettingsStatus.kt | 4 +- .../nsclient/extensions/BolusExtension.kt | 9 +- .../nsclient/extensions/CarbsExtension.kt | 9 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../EffectiveProfileSwitchExtension.kt | 11 +-- .../extensions/ExtendedBolusExtension.kt | 10 +- .../extensions/OfflineEventExtension.kt | 9 +- .../extensions/ProfileSwitchExtension.kt | 11 +-- .../extensions/TemporaryBasalExtension.kt | 11 +-- .../extensions/TemporaryTargetExtension.kt | 11 +-- .../extensions/TherapyEventExtension.kt | 4 +- .../sync/nsclient/services/NSClientService.kt | 2 +- .../nsclient/workers/NSClientAddAckWorker.kt | 34 +++---- .../workers/NSClientAddUpdateWorker.kt | 4 +- .../workers/NSClientUpdateRemoveAckWorker.kt | 2 +- .../BolusCalculatorResultExtension.kt | 2 +- .../nsclientV3/extensions/BolusExtension.kt | 4 +- .../nsclientV3/extensions/CarbsExtension.kt | 4 +- .../EffectiveProfileSwitchExtension.kt | 4 +- .../extensions/ExtendedBolusExtension.kt | 4 +- .../extensions/OfflineEventExtension.kt | 4 +- .../extensions/ProfileSwitchExtension.kt | 4 +- .../extensions/TemporaryBasalExtension.kt | 4 +- .../extensions/TemporaryTargetExtension.kt | 4 +- .../extensions/TherapyEventExtension.kt | 4 +- .../workers/ProcessTreatmentsWorker.kt | 2 +- .../plugins/sync/tidepool/comm/UploadChunk.kt | 6 +- .../sync/tidepool/elements/BasalElement.kt | 2 +- .../tidepool/elements/BloodGlucoseElement.kt | 2 +- .../sync/tidepool/elements/BolusElement.kt | 2 +- .../sync/tidepool/elements/ProfileElement.kt | 2 +- .../tidepool/elements/SensorGlucoseElement.kt | 2 +- .../sync/tidepool/elements/WizardElement.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../BgQualityCheckPluginTest.kt | 2 +- .../general/autotune/AutotuneCoreTest.kt | 8 +- .../general/autotune/AutotunePrepTest.kt | 18 ++-- .../SmsCommunicatorPluginTest.kt | 28 +++--- .../insulin/InsulinOrefBasePluginTest.kt | 8 +- pump/eopatch/build.gradle | 1 + pump/omnipod-dash/build.gradle | 1 + pump/omnipod-eros/build.gradle | 1 + settings.gradle | 1 + ui/build.gradle | 1 + .../ui/activities/ErrorHelperActivity.kt | 4 +- .../nightscout/ui/activities/StatsActivity.kt | 4 +- .../ui/activities/TDDStatsActivity.kt | 4 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 22 ++--- .../fragments/TreatmentsCareportalFragment.kt | 14 +-- .../TreatmentsExtendedBolusesFragment.kt | 14 +-- .../TreatmentsProfileSwitchFragment.kt | 10 +- .../fragments/TreatmentsTempTargetFragment.kt | 16 +-- .../TreatmentsTemporaryBasalsFragment.kt | 20 ++-- .../fragments/TreatmentsUserEntryFragment.kt | 8 +- .../ui/dialogs/CalibrationDialog.kt | 18 ++-- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 33 +++---- .../info/nightscout/ui/dialogs/CareDialog.kt | 21 ++-- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 4 +- .../java/info/nightscout/ui/widget/Widget.kt | 19 ++-- .../androidaps/TestBaseWithProfile.kt | 4 +- 414 files changed, 1983 insertions(+), 1863 deletions(-) rename core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/{ValueWithUnitSerialiser.kt => ValueWithUnitSerializer.kt} (55%) rename core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/{ValueWithUnitSerialiserTest.kt => ValueWithUnitSerializerTest.kt} (63%) create mode 100644 database/entities/.gitignore create mode 100644 database/entities/build.gradle create mode 100644 database/entities/consumer-rules.pro create mode 100644 database/entities/proguard-rules.pro create mode 100644 database/entities/src/main/AndroidManifest.xml rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/APSResult.kt (66%) create mode 100644 database/entities/src/main/java/info/nightscout/database/entities/APSResultLink.kt rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/Bolus.kt (83%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/BolusCalculatorResult.kt (91%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/Carbs.kt (79%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/DeviceStatus.kt (78%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/EffectiveProfileSwitch.kt (82%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/ExtendedBolus.kt (84%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/Food.kt (91%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/GlucoseValue.kt (92%) create mode 100644 database/entities/src/main/java/info/nightscout/database/entities/MultiwaveBolusLink.kt rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/OfflineEvent.kt (84%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/PreferenceChange.kt (62%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/ProfileSwitch.kt (81%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/TableNames.kt (95%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/TemporaryBasal.kt (84%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/TemporaryTarget.kt (78%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/TherapyEvent.kt (93%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/TotalDailyDose.kt (75%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/UserEntry.kt (96%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/ValueWithUnit.kt (62%) rename database/{impl/src/main/java/info/nightscout/androidaps => entities/src/main/java/info/nightscout}/database/entities/VersionChange.kt (66%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/data/Block.kt (82%) create mode 100644 database/entities/src/main/java/info/nightscout/database/entities/data/NewEntries.kt rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/data/TargetBlock.kt (84%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/embedments/InsulinConfiguration.kt (75%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/embedments/InterfaceIDs.kt (96%) create mode 100644 database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntry.kt rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/interfaces/DBEntryWithDuration.kt (68%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/interfaces/DBEntryWithTime.kt (58%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/interfaces/DBEntryWithTimeAndDuration.kt (87%) rename database/{impl/src/main/java/info/nightscout/androidaps/database => entities/src/main/java/info/nightscout/database/entities}/interfaces/TraceableDBEntry.kt (84%) rename database/impl/src/debug/java/info/nightscout/{androidaps => database}/annotations/DbOpenForTesting.kt (80%) delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt delete mode 100644 database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt create mode 100644 database/impl/src/main/java/info/nightscout/database/impl/AppDatabase.kt rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/AppRepository.kt (97%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/Converters.kt (83%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/DatabaseModule.kt (99%) create mode 100644 database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/APSResultDao.kt (82%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/APSResultLinkDao.kt (77%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/BolusCalculatorResultDao.kt (93%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/BolusDao.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/CarbsDao.kt (96%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/DeviceStatusDao.kt (89%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/EffectiveProfileSwitchDao.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/ExtendedBolusDao.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/FoodDao.kt (90%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/GlucoseValueDao.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/MultiwaveBolusLinkDao.kt (82%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/OfflineEventDao.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/PreferenceChangeDao.kt (74%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/ProfileSwitchDao.kt (91%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/TemporaryBasalDao.kt (95%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/TemporaryTargetDao.kt (93%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/TherapyEventDao.kt (95%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/TotalDailyDoseDao.kt (89%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/TraceableDao.kt (87%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/UserEntryDao.kt (77%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/VersionChangeDao.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedAPSResultDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedAPSResultLinkDao.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedBolusCalculatorResultDao.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedBolusDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedCarbsDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedDao.kt (55%) create mode 100644 database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDeviceStatusDao.kt rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedExtendedBolusDao.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedFoodDao.kt (62%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedGlucoseValueDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedOfflineEventDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedPreferenceChangeDao.kt (55%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedProfileSwitchDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedTemporaryBasalDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedTemporaryTargetDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedTherapyEventDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedTotalDailyDoseDao.kt (63%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedUserEntryDao.kt (52%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/delegated/DelegatedVersionChangeDao.kt (54%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/workaround/ProfileSwitchDaoWorkaround.java (60%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/workaround/TraceableDaoWorkaround.java (71%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/daos/workaround/package-info.java (74%) rename {core/core-main/src/main/java/info/nightscout/androidaps/utils => database/impl/src/main/java/info/nightscout/database/impl}/serialisation/SealedClassHelper.kt (97%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/CgmSourceTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/CutCarbsTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt (84%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt (86%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertBolusWithTempIdTransaction.kt (88%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertGlucoseValueTransaction.kt (64%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertIfNewByTimestampCarbsTransaction.kt (82%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt (90%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt (82%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertOrUpdateBolusTransaction.kt (81%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertOrUpdateCarbsTransaction.kt (83%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertOrUpdateFoodTransaction.kt (86%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertOrUpdateProfileSwitch.kt (86%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertTemporaryBasalWithTempIdTransaction.kt (88%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InsertTherapyEventAnnouncementTransaction.kt (86%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateBolusCalculatorResultTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateBolusTransaction.kt (83%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateCarbsTransaction.kt (83%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateExtendedBolusTransaction.kt (84%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateFoodTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateGlucoseValueTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateNsIdProfileSwitchTransaction.kt (77%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateOfflineEventTransaction.kt (87%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateProfileSwitchTransaction.kt (84%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateTemporaryBasalTransaction.kt (84%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt (80%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt (85%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateTemporaryTargetTransaction.kt (87%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/InvalidateTherapyEventTransaction.kt (84%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncBolusWithTempIdTransaction.kt (90%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsBolusCalculatorResultTransaction.kt (93%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsBolusTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsCarbsTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsEffectiveProfileSwitchTransaction.kt (93%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsExtendedBolusTransaction.kt (95%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsFoodTransaction.kt (91%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsOfflineEventTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsProfileSwitchTransaction.kt (93%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsTemporaryBasalTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsTemporaryTargetTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncNsTherapyEventTransaction.kt (94%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpBolusTransaction.kt (92%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt (82%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpExtendedBolusTransaction.kt (92%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpTemporaryBasalTransaction.kt (90%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncPumpTotalDailyDoseTransaction.kt (92%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/SyncTemporaryBasalWithTempIdTransaction.kt (91%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/Transaction.kt (69%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateGlucoseValueTransaction.kt (65%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt (80%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdBolusTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdCarbsTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdDeviceStatusTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt (80%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdExtendedBolusTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdFoodTransaction.kt (78%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdGlucoseValueTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdOfflineEventTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdProfileSwitchTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdTemporaryBasalTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdTemporaryTargetTransaction.kt (80%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UpdateNsIdTherapyEventTransaction.kt (79%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/UserEntryTransaction.kt (69%) rename database/impl/src/main/java/info/nightscout/{androidaps/database => database/impl}/transactions/VersionChangeTransaction.kt (77%) diff --git a/app/build.gradle b/app/build.gradle index 7fb11a0e7d..49cdffb837 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -191,6 +191,8 @@ dependencies { implementation project(':ui') implementation project(':plugins') implementation project(':implementation') + implementation project(':database:entities') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':pump:combo') implementation project(':pump:dana') diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index a6ab0792d6..7d74e8e14d 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -35,8 +35,6 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.ProfileHelperActivity import info.nightscout.androidaps.activities.SingleFragmentActivity -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -53,6 +51,8 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index f5ff42cd2d..758a5fedc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -15,16 +15,12 @@ import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import dagger.android.AndroidInjector import dagger.android.DaggerApplication -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction -import info.nightscout.androidaps.database.transactions.VersionChangeTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.transactions.VersionChangeTransaction import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector -import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils @@ -35,9 +31,13 @@ import info.nightscout.androidaps.receivers.NetworkChangeReceiver import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.ProcessLifecycleListener +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.general.overview.notifications.NotificationStore diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index cc2410960c..f1adf86de2 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.activities import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt index 2069def3d6..a666b777c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt @@ -11,8 +11,7 @@ import com.google.common.collect.Lists import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin @@ -21,6 +20,7 @@ import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventLocalProfileChanged diff --git a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt b/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt index 6240ad62de..ae715ad866 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt +++ b/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt @@ -1,21 +1,21 @@ package info.nightscout.androidaps.db import android.content.Context -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventFoodDatabaseChanged diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index e6789a9b8c..0d598198f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -4,13 +4,13 @@ import dagger.BindsInstance import dagger.Component import dagger.android.AndroidInjectionModule import dagger.android.AndroidInjector +import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.combo.di.ComboModule import info.nightscout.androidaps.dana.di.DanaHistoryModule import info.nightscout.androidaps.dana.di.DanaModule import info.nightscout.androidaps.danar.di.DanaRModule import info.nightscout.androidaps.danars.di.DanaRSModule -import info.nightscout.androidaps.database.DatabaseModule import info.nightscout.androidaps.diaconn.di.DiaconnG8Module import info.nightscout.androidaps.insight.di.InsightDatabaseModule import info.nightscout.androidaps.insight.di.InsightModule @@ -22,10 +22,10 @@ import info.nightscout.androidaps.plugins.pump.medtronic.di.MedtronicModule import info.nightscout.androidaps.plugins.pump.omnipod.dash.di.OmnipodDashModule import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule import info.nightscout.automation.di.AutomationModule +import info.nightscout.database.impl.DatabaseModule import info.nightscout.implementation.di.ImplementationModule import info.nightscout.plugins.di.PluginsModule import info.nightscout.rx.di.RxModule -import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.shared.di.SharedModule import info.nightscout.ui.di.UiModule import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 51e139b8e1..bf2d90a912 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -7,7 +7,7 @@ import dagger.Module import dagger.Provides import dagger.android.HasAndroidInjector import info.nightscout.androidaps.MainApp -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index 45d260c25c..45e2d14775 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -7,26 +7,26 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.DialogExtendedbolusBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 9896c9612b..08bec3cf63 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -8,30 +8,30 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.databinding.DialogFillBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.LinkedList diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index a16c9cf0ef..85ce90fa01 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -10,39 +10,39 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogInsulinBinding import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index ec9e2a8aab..5ce44dc903 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -12,13 +12,9 @@ import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.databinding.DialogLoopBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -33,6 +29,10 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constraint diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index 379d769d54..cda87b566e 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -9,33 +9,33 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogProfileswitchBinding -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index 30babfb9fa..4cc9372866 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -7,29 +7,29 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.DialogTempbasalBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject @@ -137,13 +137,13 @@ class TempBasalDialog : DialogFragmentWithDate() { } if (isPercentPump) { uel.log(Action.TEMP_BASAL, Sources.TempBasalDialog, - ValueWithUnit.Percent(percent), - ValueWithUnit.Minute(durationInMinutes)) + ValueWithUnit.Percent(percent), + ValueWithUnit.Minute(durationInMinutes)) commandQueue.tempBasalPercent(percent, durationInMinutes, true, profile, PumpSync.TemporaryBasalType.NORMAL, callback) } else { uel.log(Action.TEMP_BASAL, Sources.TempBasalDialog, - ValueWithUnit.Insulin(absolute), - ValueWithUnit.Minute(durationInMinutes)) + ValueWithUnit.Insulin(absolute), + ValueWithUnit.Minute(durationInMinutes)) commandQueue.tempBasalAbsolute(absolute, durationInMinutes, true, profile, PumpSync.TemporaryBasalType.NORMAL, callback) } }) diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index cf5a27bff2..244625183b 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -8,31 +8,30 @@ import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner import com.google.common.collect.Lists -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogTemptargetBinding import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -184,10 +183,14 @@ class TempTargetDialog : DialogFragmentWithDate() { OKDialog.showConfirmation(activity, rh.gs(R.string.careportal_temporarytarget), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { val units = profileFunction.getUnits() when(reason) { - rh.gs(R.string.eatingsoon) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.EATING_SOON), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.activity) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.ACTIVITY), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.hypo) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.HYPOGLYCEMIA), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.manual) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.CUSTOM), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) + rh.gs(R.string.eatingsoon) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.EATING_SOON), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) + rh.gs(R.string.activity) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.ACTIVITY), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) + rh.gs(R.string.hypo) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.HYPOGLYCEMIA), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) + rh.gs(R.string.manual) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.CUSTOM), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) rh.gs(R.string.stoptemptarget) -> uel.log(Action.CANCEL_TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }) } if (target == 0.0 || duration == 0) { diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 3dce3b467d..5d899aaa02 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -10,29 +10,29 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.DialogTreatmentBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -156,10 +156,10 @@ class TreatmentDialog : DialogFragmentWithDate() { detailedBolusInfo.context = context if (recordOnlyChecked) { uel.log(action, Sources.TreatmentDialog, if (insulinAfterConstraints != 0.0) rh.gs(R.string.record) else "", - ValueWithUnit.Timestamp(detailedBolusInfo.timestamp).takeIf { eventTimeChanged }, - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.record)).takeIf { insulinAfterConstraints != 0.0 }, - ValueWithUnit.Insulin(insulinAfterConstraints).takeIf { insulinAfterConstraints != 0.0 }, - ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) + ValueWithUnit.Timestamp(detailedBolusInfo.timestamp).takeIf { eventTimeChanged }, + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.record)).takeIf { insulinAfterConstraints != 0.0 }, + ValueWithUnit.Insulin(insulinAfterConstraints).takeIf { insulinAfterConstraints != 0.0 }, + ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) if (detailedBolusInfo.insulin > 0) disposable += repository.runTransactionForResult(detailedBolusInfo.insertBolusTransaction()) .subscribe( @@ -175,8 +175,8 @@ class TreatmentDialog : DialogFragmentWithDate() { } else { if (detailedBolusInfo.insulin > 0) { uel.log(action, Sources.TreatmentDialog, - ValueWithUnit.Insulin(insulinAfterConstraints), - ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) + ValueWithUnit.Insulin(insulinAfterConstraints), + ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) commandQueue.bolus(detailedBolusInfo, object : Callback() { override fun run() { if (!result.success) { diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index 4bdbc87c4a..f0af37c084 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -20,8 +20,8 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.databinding.DialogWizardBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 2b7a5ebc0c..f5d71a1f49 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -18,14 +18,10 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -48,6 +44,10 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 66ba2dc1ce..26e2f972d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -4,8 +4,8 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 18c28bbf39..fd1c4c8e0f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -6,8 +6,8 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 87acf2fde3..e9d5687b6a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal import info.nightscout.interfaces.data.MealData -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 3883b1ad57..995ecdffca 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Constraints diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 494903f745..923f18cfa2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -3,16 +3,10 @@ package info.nightscout.androidaps.plugins.configBuilder import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync @@ -20,6 +14,12 @@ import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index edcaae518e..67790fcef0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,10 +1,9 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.transactions.InsertOrUpdateProfileSwitch +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertOrUpdateProfileSwitch import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile @@ -14,6 +13,7 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R +import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index 4ecba0e9f4..0be07d510c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -17,9 +17,6 @@ import androidx.recyclerview.widget.LinearSmoothScroller import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding import info.nightscout.androidaps.databinding.ObjectivesItemBinding import info.nightscout.androidaps.dialogs.NtpProgressDialog @@ -32,6 +29,9 @@ import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.SntpClient import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt index 8adfac1242..45c6a41f79 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 587dce9633..445925b8aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -12,10 +12,8 @@ import androidx.core.content.ContextCompat import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.databinding.ActionsFragmentBinding import info.nightscout.androidaps.dialogs.ExtendedBolusDialog import info.nightscout.androidaps.dialogs.FillDialog @@ -37,6 +35,8 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index aa32565319..5b3203fa67 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -24,42 +24,42 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.activities.PreferencesActivity -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.ImportExportPrefs -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat -import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError -import info.nightscout.interfaces.data.maintenance.PrefIOError -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.Prefs -import info.nightscout.interfaces.data.maintenance.PrefsFormat -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.alertDialogs.TwoMessagesAlertDialog import info.nightscout.androidaps.utils.alertDialogs.WarningDialog import info.nightscout.androidaps.utils.protection.PasswordCheck -import info.nightscout.interfaces.storage.Storage import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.ImportExportPrefs +import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError +import info.nightscout.interfaces.data.maintenance.PrefIOError +import info.nightscout.interfaces.data.maintenance.PrefMetadata +import info.nightscout.interfaces.data.maintenance.Prefs import info.nightscout.interfaces.data.maintenance.PrefsFile +import info.nightscout.interfaces.data.maintenance.PrefsFormat +import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.data.maintenance.PrefsStatus +import info.nightscout.interfaces.storage.Storage +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit 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 info.nightscout.shared.utils.T import java.io.File import java.io.FileNotFoundException import java.io.IOException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 5f63e54276..ce64fb49e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -10,9 +10,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.dana.database.DanaHistoryDatabase -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.events.EventPreferenceChange @@ -29,6 +27,8 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 1f5ea937df..9edba3b27b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -29,10 +29,7 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog @@ -78,6 +75,9 @@ import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index 1f05372d6e..7d41714441 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -3,19 +3,19 @@ package info.nightscout.androidaps.plugins.general.overview import android.widget.TextView import androidx.annotation.StringRes import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.plugins.sync.nsclient.extensions.age +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.pump.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.plugins.sync.nsclient.extensions.age import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index f879060531..965ddc4426 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -5,18 +5,10 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.interfaces.end -import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort @@ -44,6 +36,14 @@ import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.Constraint diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index 0af169d2e4..b8331cea44 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -16,7 +16,7 @@ import com.google.android.gms.wearable.Wearable import com.google.android.gms.wearable.WearableListenerService import dagger.android.AndroidInjection import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 867f81ad66..36175e3412 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -5,12 +5,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData @@ -27,6 +23,10 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index e8e3f5144e..0da991feee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -7,8 +7,8 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index 8f2868beaf..7c463efc71 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -7,7 +7,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index ebad2db295..66614fc3a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -3,24 +3,24 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile 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 org.json.JSONException import org.json.JSONObject import java.util.Arrays diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 2c0164e4e8..bba17187b8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -3,25 +3,25 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile 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 org.json.JSONException import org.json.JSONObject import java.util.Arrays diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 7e5b9b2bf2..377c0ac213 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -4,23 +4,23 @@ import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType +import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack 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 org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index 0d16097b67..c2952c2453 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -6,16 +6,16 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index fcc9ba66a7..78d2cf94ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -9,23 +9,23 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index 48bf1c7e09..abf984eadd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -6,15 +6,15 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index a7563fd1b4..659ff06446 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -7,12 +7,12 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 41f78e2dc7..4f91486fac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -6,16 +6,16 @@ import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 74cd9c4d9a..7b30df2780 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -8,16 +8,16 @@ import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index 08b9a9cafc..f4f29ba3c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -6,13 +6,13 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 474ac21e5c..00ffd09c3f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -6,13 +6,13 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.JsonHelper.safeGetString diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index 462fed8b35..c293e1e3c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -5,14 +5,14 @@ import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index d49f2f9c95..4c6afa72b9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -6,12 +6,12 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index 787ab8bec8..ba89e19878 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -6,13 +6,13 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.plugins.source.BGSourceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 9aab525609..0e79e2697c 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -15,7 +15,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 27c4e76709..f0c350bc21 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -6,47 +6,47 @@ import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertOrUpdateBolusCalculatorResultTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertOrUpdateBolusCalculatorResultTransaction import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.CarbTimer +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.LinkedList diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index d0ef9fb08c..47b1b0cd60 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -2,21 +2,21 @@ package info.nightscout.androidaps.utils.wizard import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.utils.JsonHelper.safeGetInt import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.json.JSONException import org.json.JSONObject import java.util.UUID diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt index 213b808af0..6f8d816454 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.shared.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 4754c975d3..4a9e1146dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 5db55ebc88..0ee562bcce 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -11,8 +11,8 @@ import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 812323f3fe..9b61629a65 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index dd2fca9b9b..eada8b4423 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -8,8 +8,8 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index fb4d069430..ed3829557a 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -5,14 +5,10 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.CarbsDataPoint @@ -24,10 +20,14 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Thera import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.Translator +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import javax.inject.Inject class PrepareTreatmentsDataWorker( diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 693e5b0a30..6e2012ecd1 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,14 +4,14 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 534c4c313c..0aa5358c57 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index f478c59f20..6e43a490ca 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -6,7 +6,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index bcbaa1a06b..a4d6fd6682 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints diff --git a/automation/build.gradle b/automation/build.gradle index b19cd3347b..773f670e36 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':graphview') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index 29239c18e2..c1c606a002 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -23,8 +23,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -35,6 +33,8 @@ import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter import info.nightscout.interfaces.dragHelpers.OnStartDragListener import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index 4a143b4f78..d9448b3dc5 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -3,28 +3,27 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.shared.utils.T import info.nightscout.automation.R import info.nightscout.automation.elements.InputCarePortalMenu import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index e8b4121028..79a48efc99 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -3,16 +3,16 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.automation.R +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index fb691a50fa..1a6e5bf0e7 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -3,15 +3,15 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.automation.R +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.interfaces.queue.Callback -import info.nightscout.automation.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index 4a98b8105c..5e28a525f4 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -3,19 +3,19 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index d7f6d46e48..3aed698e76 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -4,17 +4,17 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index d240cc4670..3b08d91c72 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -4,8 +4,8 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.NotificationUserMessage import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index d556930ad1..9162401897 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -4,21 +4,20 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 935e4de072..32ebcde01c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -4,13 +4,8 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDuration @@ -18,8 +13,12 @@ import info.nightscout.automation.elements.InputPercent import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.triggers.TriggerProfilePercent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 012941df62..a391b07170 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -3,24 +3,14 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists import info.nightscout.automation.elements.InputDuration @@ -28,8 +18,17 @@ import info.nightscout.automation.elements.InputTempTarget import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.triggers.TriggerTempTarget +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import org.json.JSONObject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index 48a6637cc3..c2f8ef349a 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -2,16 +2,15 @@ package info.nightscout.automation.actions import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt b/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt index 488e8e4b34..cffb628db0 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt @@ -8,9 +8,9 @@ import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.shared.interfaces.ResourceHelper class InputCarePortalMenu(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt index 37c1f23d67..d8a963b6db 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt @@ -9,7 +9,7 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt index e7a5aa3439..a9c2f57870 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt @@ -3,18 +3,17 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.JsonHelper.safeGetString +import info.nightscout.database.impl.ValueWrapper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.LTag - import org.json.JSONObject class TriggerBolusAgo(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt index fe401a4eee..8d0884a9fc 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index cf8ec87ac6..de161f96ab 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -4,7 +4,7 @@ import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.utils.JsonHelper diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index d954e24b51..19b9e62b99 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt index 61bebe6282..4491760ba6 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction -import info.nightscout.androidaps.database.transactions.Transaction +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.elements.InputCarePortalMenu diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt index da7e057b1a..dc953fbbed 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt @@ -1,10 +1,10 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.interfaces.queue.Callback +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.automation.R +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.queue.Callback import io.reactivex.rxjava3.core.Single import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 9b5084943b..2c0ab3b5dc 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -4,9 +4,9 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.database.transactions.Transaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt index 9959e3f08d..dc5f7f78cd 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt @@ -1,13 +1,13 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.queue.Callback +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputTempTarget +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.queue.Callback import io.reactivex.rxjava3.core.Single import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt index 8d2d889766..f56ea7ae3f 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt @@ -1,10 +1,10 @@ package info.nightscout.automation.actions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.androidaps.database.transactions.Transaction -import info.nightscout.interfaces.queue.Callback +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.automation.R +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.queue.Callback import io.reactivex.rxjava3.core.Single import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 771befbe00..c77e943724 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -5,22 +5,22 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.interfaces.ProfileSource +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.automation.triggers.Trigger +import info.nightscout.database.entities.OfflineEvent import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileSource -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.automation.triggers.Trigger import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.mockito.Mock diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt index da9cf0d5b2..c761573b75 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt @@ -1,9 +1,9 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.elements.Comparator +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.GlucoseUnit import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt index 30eff00a5a..78e69b7322 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt @@ -1,9 +1,9 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.impl.ValueWrapper import info.nightscout.automation.elements.Comparator +import info.nightscout.database.entities.Bolus import io.reactivex.rxjava3.core.Single import org.json.JSONException import org.json.JSONObject diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt index 13ad7c396b..50007685a7 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt @@ -1,11 +1,11 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDelta.DeltaType +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.GlucoseUnit import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt index bbff8ede27..393e231a47 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt @@ -1,11 +1,11 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.database.impl.ValueWrapper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.GlucoseUnit import io.reactivex.rxjava3.core.Single import org.json.JSONObject import org.junit.Assert diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index 45cb57f011..5b2afde88d 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -17,6 +17,7 @@ dependencies { implementation project(':graphview') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':interfaces') diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt index 8fd8fcfaab..74c62f0fb3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.data import android.content.Context import com.google.gson.Gson -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.transactions.InsertOrUpdateBolusTransaction -import info.nightscout.androidaps.database.transactions.InsertOrUpdateCarbsTransaction +import info.nightscout.database.impl.transactions.InsertOrUpdateBolusTransaction +import info.nightscout.database.impl.transactions.InsertOrUpdateCarbsTransaction +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.pump.PumpType class DetailedBolusInfo { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt index 00a89d48db..040a191bf6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.data -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue class InMemoryGlucoseValue constructor(var timestamp: Long = 0L, var value: Double = 0.0, var interpolated: Boolean = false) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt index 92c1b2e607..df103f7fdd 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.data -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.data.Iob import kotlin.math.exp import kotlin.math.pow diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index 2ffeeaaebf..feb2c409e8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -1,32 +1,32 @@ package info.nightscout.androidaps.data -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.extensions.highTargetBlockValueBySeconds import info.nightscout.androidaps.extensions.lowTargetBlockValueBySeconds import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.extensions.shiftTargetBlock import info.nightscout.androidaps.extensions.targetBlockValueBySeconds -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Profile.Companion.secondsFromMidnight import info.nightscout.androidaps.interfaces.Profile.Companion.toMgdl import info.nightscout.androidaps.interfaces.Profile.ProfileValue import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.utils.T +import info.nightscout.core.main.R +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject import java.text.DecimalFormat diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt index cad67c56e7..112640e877 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.data -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock import info.nightscout.interfaces.GlucoseUnit import org.json.JSONObject -import java.util.* +import java.util.TimeZone class PureProfile( var jsonObject: JSONObject, // source json data (must correspond to the rest of the profile) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index f78e1986b1..1ae58f23c0 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -9,14 +9,14 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.core.main.R import info.nightscout.core.main.databinding.DialogBolusprogressBinding +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventOverviewBolusProgress diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt index 2faf1346d7..23e5067f88 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ErrorDialog.kt @@ -12,14 +12,14 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.core.main.R -import info.nightscout.core.main.databinding.DialogErrorBinding -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.services.AlarmSoundServiceHelper -import info.nightscout.shared.utils.T +import info.nightscout.core.main.R +import info.nightscout.core.main.databinding.DialogErrorBinding +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.T import javax.inject.Inject class ErrorDialog : DaggerDialogFragment() { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index 83500f2793..b4f4ea79b1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -12,8 +12,8 @@ import dagger.android.support.DaggerDialogFragment import info.nightscout.core.main.R import info.nightscout.core.main.databinding.DialogProfileviewerBinding import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt index e81bba9c71..f162cfd51c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventEffectiveProfileSwitchChanged.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.rx.events.Event class EventEffectiveProfileSwitchChanged(effectiveProfileSwitch: EffectiveProfileSwitch?) : Event() { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt index ae23b56a05..8760bde63f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewBG.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue import info.nightscout.rx.events.EventLoop class EventNewBG(val glucoseValue: GlucoseValue?) : EventLoop() \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt index cf13925bb6..317b04d049 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventNewHistoryData.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.events -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue import info.nightscout.rx.events.Event import org.joda.time.DateTime import org.joda.time.format.DateTimeFormat diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt index 013b1536eb..0a8be6f26a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BlockExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.json.JSONArray diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 001952e053..3703192377 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -2,17 +2,16 @@ package info.nightscout.androidaps.extensions import com.google.gson.Gson import com.google.gson.JsonSyntaxException -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject fun BolusCalculatorResult.toJson(isAdd: Boolean, dateUtil: DateUtil, profileFunction: ProfileFunction): JSONObject = JSONObject() - .put("eventType", TherapyEvent.Type.BOLUS_WIZARD.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.BOLUS_WIZARD.text) .put("created_at", dateUtil.toISOString(timestamp)) .put("isValid", isValid) .put("bolusCalculatorResult", Gson().toJson(this)) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 34162b2368..af0a005fad 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -1,15 +1,10 @@ package info.nightscout.androidaps.extensions -import info.nightscout.interfaces.data.Iob import info.nightscout.androidaps.data.LocalInsulin -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import org.json.JSONObject +import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.data.Iob fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index 619ae5c390..5651f1e0a8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.end +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max @@ -43,7 +43,7 @@ fun ExtendedBolus.toTemporaryBasal(profile: Profile): TemporaryBasal = isAbsolute = true, isValid = isValid, interfaceIDs_backing = interfaceIDs_backing, - type = TemporaryBasal.Type.FAKE_EXTENDED + type = info.nightscout.database.entities.TemporaryBasal.Type.FAKE_EXTENDED ) fun ExtendedBolus.iobCalc(time: Long, profile: Profile, insulinInterface: Insulin): IobTotal { @@ -62,7 +62,7 @@ fun ExtendedBolus.iobCalc(time: Long, profile: Profile, insulinInterface: Insuli val tempBolusPart = Bolus( timestamp = calcDate, amount = tempBolusSize, - type = Bolus.Type.NORMAL + type = info.nightscout.database.entities.Bolus.Type.NORMAL ) val aIOB = insulinInterface.iobCalcForTreatment(tempBolusPart, time, dia) result.iob += aIOB.iobContrib @@ -110,7 +110,7 @@ fun ExtendedBolus.iobCalc( val tempBolusPart = Bolus( timestamp = calcDate, amount = tempBolusSize, - type = Bolus.Type.NORMAL + type = info.nightscout.database.entities.Bolus.Type.NORMAL ) val aIOB = insulinInterface.iobCalcForTreatment(tempBolusPart, time, dia) result.iob += aIOB.iobContrib diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt index c77c73a607..f48f8b1bc3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.database.entities.Food +import info.nightscout.database.entities.Food import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index 808ae79d6f..97f62fa922 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.extensions +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DecimalFormatter import org.json.JSONObject fun GlucoseValue.valueToUnits(units: GlucoseUnit): Double = diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index 8c41a81e4f..e4b873ac12 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps.utils.extensions -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.targetBlockFromJsonArray -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.json.JSONObject import java.util.TimeZone diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt index d6b4c13d3b..0514020c57 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.pump.PumpType fun PumpType.Companion.fromDbSource(s: UserEntry.Sources): PumpType.Source = diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 7553aa59f8..1e546136db 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.end +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index 763505043a..0ff7e6cdd8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.extensions -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.main.R +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.Constants import java.util.concurrent.TimeUnit fun TemporaryTarget.isInProgress(dateUtil: DateUtil): Boolean = diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index 66330481a8..9ea429cc47 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.GlucoseUnit fun TherapyEvent.isOlderThan(hours: Double): Boolean { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt index 417daeaefb..f4b8301ad1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt @@ -6,9 +6,9 @@ import android.view.Gravity import android.widget.TableRow import android.widget.TextView import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.TotalDailyDose import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil val TotalDailyDose.total get() = if (totalAmount > 0) totalAmount else basalAmount + bolusAmount diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt index 1331e7c4c5..5b852690f8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TrendArrowIcon.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue fun GlucoseValue.TrendArrow.directionToIcon(): Int { return when { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt index f766b727f0..3c52968d4f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.UserEntry.* +import info.nightscout.database.entities.UserEntry.ColorGroup fun ColorGroup.colorId(): Int { return when (this) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt index 91e4638353..9a8eab4ba5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue interface BgSource { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt index bf215d0229..01018c833a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt @@ -1,7 +1,18 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.database.entities.DeviceStatus -import info.nightscout.androidaps.database.entities.* +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent import org.json.JSONObject interface DataSyncSelector { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt index 0fcd641363..d5f59886e2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.interfaces.data.Iob -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.ConfigExportImport +import info.nightscout.interfaces.data.Iob interface Insulin : ConfigExportImport { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index 9578f50cd0..df24dd5f67 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.BasalData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.data.MealData import org.json.JSONArray interface IobCobCalculator { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 3523c8a16b..47ca978fc3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.interfaces.data.PumpEnactResult -import info.nightscout.androidaps.database.entities.OfflineEvent import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.database.entities.OfflineEvent import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.data.PumpEnactResult interface Loop { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt index e0d3dd46e2..fe1109cf19 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.GlucoseUnit interface ProfileFunction { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt index a137bb5ec8..3dde921289 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal import info.nightscout.interfaces.pump.PumpType /** diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt index 0235f355a3..41834b2937 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue /** * Convert BG direction value to trend arrow or calculate it if not provided diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt index 2cd6782c8b..009a062754 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue import org.json.JSONArray import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt index f8da1e0c74..dbe37c5233 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/TddCalculator.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.interfaces.stats import android.content.Context import android.util.LongSparseArray import android.widget.TableLayout -import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.database.entities.TotalDailyDose interface TddCalculator { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt index 36f87e20ae..1d34a47ac7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt @@ -1,16 +1,16 @@ package info.nightscout.androidaps.logging import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.UserEntryTransaction -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.UserEntryTransaction import info.nightscout.androidaps.utils.userEntry.UserEntryMapper import info.nightscout.androidaps.utils.userEntry.ValueWithUnitMapper +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 5820ea7c86..f1c9096f8b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -2,25 +2,24 @@ package info.nightscout.androidaps.plugins.aps.loop import android.text.Spanned import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.main.R +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml 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 org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index 894d572117..dd4c076fc1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -7,12 +7,9 @@ import androidx.annotation.DrawableRes import com.jjoe64.graphview.series.BarGraphSeries import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.core.main.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.extensions.toStringFull @@ -30,6 +27,9 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.core.main.R +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TemporaryTarget import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt index e457c921f7..00f5ae946d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.core.main.R +import info.nightscout.database.entities.Bolus +import info.nightscout.shared.interfaces.ResourceHelper class BolusDataPoint( val data: Bolus, diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt index 9290e87b5e..c2a25ab4dc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/CarbsDataPoint.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs import info.nightscout.shared.interfaces.ResourceHelper class CarbsDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt index 05f3dcbe89..0e465db304 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/EffectiveProfileSwitchDataPoint.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.T diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt index 00ad4ce522..6a950bb0cc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/ExtendedBolusDataPoint.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.ExtendedBolus import info.nightscout.androidaps.extensions.toStringTotal +import info.nightscout.core.main.R +import info.nightscout.database.entities.ExtendedBolus import info.nightscout.shared.interfaces.ResourceHelper class ExtendedBolusDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index 433183be52..a5cef52fcd 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.interfaces.Constants -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.core.main.R +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.shared.interfaces.ResourceHelper class GlucoseValueDataPoint( val data: GlucoseValue, diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index 44a9af4aa9..916cf8c9fb 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.interfaces.Constants -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.Translator +import info.nightscout.core.main.R +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.Constants +import info.nightscout.shared.interfaces.ResourceHelper class TherapyEventDataPoint( val data: TherapyEvent, diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt index 56158ecff8..cf78d672d6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt @@ -4,15 +4,15 @@ import androidx.collection.LongSparseArray import androidx.collection.size import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.InMemoryGlucoseValue -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.database.entities.GlucoseValue import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import kotlin.math.abs import kotlin.math.roundToLong diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index d24d58611e..4416a32f03 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -2,20 +2,20 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.data import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.Carbs import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.shared.utils.DateUtil +import info.nightscout.core.main.R +import info.nightscout.database.entities.Carbs +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.SMBDefaults 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 java.util.Locale import javax.inject.Inject import kotlin.math.min diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index 652d04c773..7e78cf60d0 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.core.main.R import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt index 42f95d4e2c..de39a4ef78 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.utils import android.content.Context import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.core.main.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt index 86eadfbda1..0a8ee44dde 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.utils import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt index 5567bf256c..5788becbb7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.utils import android.widget.TextView -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.isOlderThan +import info.nightscout.core.main.R +import info.nightscout.database.entities.TherapyEvent import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt similarity index 55% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt index 42db084ddc..f2167eb2a3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiser.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt @@ -1,8 +1,11 @@ package info.nightscout.androidaps.utils.serialisation -import info.nightscout.androidaps.database.entities.ValueWithUnit +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.serialisation.SealedClassHelper -object ValueWithUnitSerialiser { +object ValueWithUnitSerializer { fun toSealedClassJson(list: List): String = list.map(::ValueWithUnitWrapper) .let(SealedClassHelper.gson::toJson) @@ -11,4 +14,6 @@ object ValueWithUnitSerialiser { .fromJson>(string).map { it.wrapped } private class ValueWithUnitWrapper(val wrapped: ValueWithUnit) -} \ No newline at end of file +} + +inline fun Gson.fromJson(json: String): T = fromJson(json, object : TypeToken() {}.type) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt index da402ac9ee..5833281465 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.utils.userEntry -import info.nightscout.androidaps.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry class UserEntryMapper { enum class Action (val db: UserEntry.Action) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index cc6cc86028..b2f5da37e4 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -2,21 +2,21 @@ package info.nightscout.androidaps.utils.userEntry import android.text.Spanned import dagger.Reusable -import info.nightscout.interfaces.Constants -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.ColorGroup -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.Translator +import info.nightscout.core.main.R +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.ColorGroup +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject @Reusable diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt index 53834d3166..73f7b57b6b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.utils.userEntry +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.ValueWithUnit sealed class ValueWithUnitMapper { //I use a sealed class because of StringResource that contains a listOf as second parameter diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index d59c1efa9d..201d744fbf 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt index 2e37734b64..8a47986297 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.TherapyEvent import org.apache.commons.lang3.builder.EqualsBuilder import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index 4fd5150895..c85e1fc21a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -5,7 +5,7 @@ import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.core.main.R -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt index 7d905537b8..8d3dbd1e2e 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.data.checkSanity +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.entities.data.checkSanity import info.nightscout.shared.utils.T import org.junit.Assert diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index 2b03644c96..5e9f4108ec 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.plugins.aps.loop import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt index f9d8736b23..c024b526a4 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.plugins.iob.iobCalculator import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.asRounded +import info.nightscout.database.entities.GlucoseValue import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.junit.Assert @@ -14,7 +14,6 @@ import org.junit.Before import org.junit.Test import org.mockito.Mock import org.mockito.Mockito.`when` -import java.util.* /** * Created by mike on 26.03.2018. diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt index bca9698cb6..22475eccb1 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt @@ -2,14 +2,13 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.junit.Assert import org.junit.Before import org.junit.Test import org.mockito.Mock -import java.util.* class AutosensDataStoreTest : TestBase() { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt similarity index 63% rename from core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt rename to core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt index 16123cf67b..7fdbaada58 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerialiserTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.utils.serialisation -import info.nightscout.androidaps.database.entities.ValueWithUnit +import info.nightscout.database.entities.ValueWithUnit import org.junit.Assert import org.junit.Test -internal class ValueWithUnitSerialiserTest { +internal class ValueWithUnitSerializerTest { @Test fun testSerialisationDeserization() { @@ -15,8 +15,8 @@ internal class ValueWithUnitSerialiserTest { ValueWithUnit.UNKNOWN ) - val serialized = ValueWithUnitSerialiser.toSealedClassJson(list) - val deserialized = ValueWithUnitSerialiser.fromJson(serialized) + val serialized = ValueWithUnitSerializer.toSealedClassJson(list) + val deserialized = ValueWithUnitSerializer.fromJson(serialized) Assert.assertEquals(3, list.size) Assert.assertEquals(list, deserialized) @@ -27,8 +27,8 @@ internal class ValueWithUnitSerialiserTest { val list = listOf() - val serialized = ValueWithUnitSerialiser.toSealedClassJson(list) - val deserialized = ValueWithUnitSerialiser.fromJson(serialized) + val serialized = ValueWithUnitSerializer.toSealedClassJson(list) + val deserialized = ValueWithUnitSerializer.fromJson(serialized) Assert.assertEquals(0, list.size) Assert.assertEquals(list, deserialized) diff --git a/database/entities/.gitignore b/database/entities/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/database/entities/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/database/entities/build.gradle b/database/entities/build.gradle new file mode 100644 index 0000000000..6a551950b7 --- /dev/null +++ b/database/entities/build.gradle @@ -0,0 +1,30 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" + +android { + + namespace 'info.nightscout.database.entities' +} + +dependencies { + api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + + api "androidx.core:core-ktx:$core_version" + + kapt "androidx.room:room-compiler:$room_version" + api "androidx.room:room-ktx:$room_version" + +} + +allOpen { + // allows mocking for classes w/o directly opening them for release builds + annotation 'info.nightscout.androidaps.annotations.DbOpenForTesting' +} \ No newline at end of file diff --git a/database/entities/consumer-rules.pro b/database/entities/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/database/entities/proguard-rules.pro b/database/entities/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/database/entities/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/database/entities/src/main/AndroidManifest.xml b/database/entities/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/database/entities/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt b/database/entities/src/main/java/info/nightscout/database/entities/APSResult.kt similarity index 66% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt rename to database/entities/src/main/java/info/nightscout/database/entities/APSResult.kt index 42ef8e7dac..0f3f1ce826 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResult.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/APSResult.kt @@ -1,17 +1,20 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities -import androidx.room.* -import info.nightscout.androidaps.database.TABLE_APS_RESULTS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry +import androidx.room.Embedded +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.Index +import androidx.room.PrimaryKey +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry import java.util.TimeZone @Entity(tableName = TABLE_APS_RESULTS, foreignKeys = [ForeignKey( - entity = APSResult::class, - parentColumns = ["id"], - childColumns = ["referenceId"])], + entity = APSResult::class, + parentColumns = ["id"], + childColumns = ["referenceId"])], indices = [Index("referenceId"), Index("timestamp")]) data class APSResult( @PrimaryKey(autoGenerate = true) diff --git a/database/entities/src/main/java/info/nightscout/database/entities/APSResultLink.kt b/database/entities/src/main/java/info/nightscout/database/entities/APSResultLink.kt new file mode 100644 index 0000000000..8a3ae8a08f --- /dev/null +++ b/database/entities/src/main/java/info/nightscout/database/entities/APSResultLink.kt @@ -0,0 +1,45 @@ +package info.nightscout.database.entities + +import androidx.room.Embedded +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.Index +import androidx.room.PrimaryKey +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.TraceableDBEntry + +@Entity(tableName = TABLE_APS_RESULT_LINKS, + foreignKeys = [ForeignKey( + entity = APSResult::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("apsResultId")), ForeignKey( + + entity = Bolus::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("smbId")), ForeignKey( + + entity = TemporaryBasal::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("tbrId")), ForeignKey( + + entity = APSResultLink::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("referenceId"))], + indices = [Index("referenceId"), Index("apsResultId"), + Index("smbId"), Index("tbrId")]) +data class APSResultLink( + @PrimaryKey(autoGenerate = true) + override var id: Long = 0, + override var version: Int = 0, + override var dateCreated: Long = -1, + override var isValid: Boolean = true, + override var referenceId: Long? = null, + @Embedded + override var interfaceIDs_backing: InterfaceIDs? = null, + var apsResultId: Long, + var smbId: Long? = null, + var tbrId: Long? = null +) : TraceableDBEntry { + override val foreignKeysValid: Boolean + get() = super.foreignKeysValid && apsResultId != 0L && smbId != 0L && tbrId != 0L +} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt b/database/entities/src/main/java/info/nightscout/database/entities/Bolus.kt similarity index 83% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt rename to database/entities/src/main/java/info/nightscout/database/entities/Bolus.kt index 1feec1c287..93a0cf0d5e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Bolus.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/Bolus.kt @@ -1,16 +1,15 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_BOLUSES -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_BOLUSES, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt b/database/entities/src/main/java/info/nightscout/database/entities/BolusCalculatorResult.kt similarity index 91% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt rename to database/entities/src/main/java/info/nightscout/database/entities/BolusCalculatorResult.kt index 681addd996..d7cf88dc6f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/BolusCalculatorResult.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/BolusCalculatorResult.kt @@ -1,15 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_BOLUS_CALCULATOR_RESULTS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_BOLUS_CALCULATOR_RESULTS, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt b/database/entities/src/main/java/info/nightscout/database/entities/Carbs.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt rename to database/entities/src/main/java/info/nightscout/database/entities/Carbs.kt index 9d55e4ad6c..704869b38e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Carbs.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/Carbs.kt @@ -1,22 +1,21 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_CARBS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity(tableName = TABLE_CARBS, - foreignKeys = [ForeignKey( + foreignKeys = [ForeignKey( entity = Carbs::class, parentColumns = ["id"], childColumns = ["referenceId"])], - indices = [ + indices = [ Index("id"), Index("isValid"), Index("nightscoutId"), diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt b/database/entities/src/main/java/info/nightscout/database/entities/DeviceStatus.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt rename to database/entities/src/main/java/info/nightscout/database/entities/DeviceStatus.kt index 516be6f9ce..8555052e95 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/DeviceStatus.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/DeviceStatus.kt @@ -1,17 +1,16 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_DEVICE_STATUS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import java.util.TimeZone @Entity(tableName = TABLE_DEVICE_STATUS, - foreignKeys = [], - indices = [ + foreignKeys = [], + indices = [ Index("id"), Index("nightscoutId"), Index("timestamp") diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt b/database/entities/src/main/java/info/nightscout/database/entities/EffectiveProfileSwitch.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt rename to database/entities/src/main/java/info/nightscout/database/entities/EffectiveProfileSwitch.kt index 969a67c4f0..6d0bd8b5d1 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/EffectiveProfileSwitch.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/EffectiveProfileSwitch.kt @@ -1,18 +1,17 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_EFFECTIVE_PROFILE_SWITCHES -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_EFFECTIVE_PROFILE_SWITCHES, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt b/database/entities/src/main/java/info/nightscout/database/entities/ExtendedBolus.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt rename to database/entities/src/main/java/info/nightscout/database/entities/ExtendedBolus.kt index f8ec3f52b4..b8989ac08e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ExtendedBolus.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/ExtendedBolus.kt @@ -1,15 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_EXTENDED_BOLUSES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_EXTENDED_BOLUSES, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Food.kt b/database/entities/src/main/java/info/nightscout/database/entities/Food.kt similarity index 91% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/Food.kt rename to database/entities/src/main/java/info/nightscout/database/entities/Food.kt index 50a9601899..693fa07f61 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/Food.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/Food.kt @@ -1,13 +1,12 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_FOODS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.TraceableDBEntry @Entity( tableName = TABLE_FOODS, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt b/database/entities/src/main/java/info/nightscout/database/entities/GlucoseValue.kt similarity index 92% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt rename to database/entities/src/main/java/info/nightscout/database/entities/GlucoseValue.kt index 7a0e008e49..24d5efaf8d 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/GlucoseValue.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/GlucoseValue.kt @@ -1,15 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_GLUCOSE_VALUES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_GLUCOSE_VALUES, diff --git a/database/entities/src/main/java/info/nightscout/database/entities/MultiwaveBolusLink.kt b/database/entities/src/main/java/info/nightscout/database/entities/MultiwaveBolusLink.kt new file mode 100644 index 0000000000..8057d40588 --- /dev/null +++ b/database/entities/src/main/java/info/nightscout/database/entities/MultiwaveBolusLink.kt @@ -0,0 +1,40 @@ +package info.nightscout.database.entities + +import androidx.room.Embedded +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.Index +import androidx.room.PrimaryKey +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.TraceableDBEntry + +@Entity(tableName = TABLE_MULTIWAVE_BOLUS_LINKS, + foreignKeys = [ForeignKey( + entity = Bolus::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("bolusId")), ForeignKey( + + entity = ExtendedBolus::class, + parentColumns = arrayOf("id"), + childColumns = arrayOf("extendedBolusId")), ForeignKey( + + entity = MultiwaveBolusLink::class, + parentColumns = ["id"], + childColumns = ["referenceId"])], + indices = [Index("referenceId"), Index("bolusId"), + Index("extendedBolusId")]) +data class MultiwaveBolusLink( + @PrimaryKey(autoGenerate = true) + override var id: Long = 0, + override var version: Int = 0, + override var dateCreated: Long = -1, + override var isValid: Boolean = true, + override var referenceId: Long? = null, + @Embedded + override var interfaceIDs_backing: InterfaceIDs? = null, + var bolusId: Long, + var extendedBolusId: Long +) : TraceableDBEntry { + override val foreignKeysValid: Boolean + get() = super.foreignKeysValid && bolusId != 0L && bolusId != 0L && extendedBolusId != 0L +} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt b/database/entities/src/main/java/info/nightscout/database/entities/OfflineEvent.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt rename to database/entities/src/main/java/info/nightscout/database/entities/OfflineEvent.kt index d4f83b4737..3ba6a14b14 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/OfflineEvent.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/OfflineEvent.kt @@ -1,15 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_OFFLINE_EVENTS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_OFFLINE_EVENTS, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt b/database/entities/src/main/java/info/nightscout/database/entities/PreferenceChange.kt similarity index 62% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt rename to database/entities/src/main/java/info/nightscout/database/entities/PreferenceChange.kt index 8ff67ccb71..e4d56964c6 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/PreferenceChange.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/PreferenceChange.kt @@ -1,10 +1,9 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Entity import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_PREFERENCE_CHANGES -import info.nightscout.androidaps.database.interfaces.DBEntry -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.DBEntry +import info.nightscout.database.entities.interfaces.DBEntryWithTime import java.util.TimeZone @Entity(tableName = TABLE_PREFERENCE_CHANGES) diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt b/database/entities/src/main/java/info/nightscout/database/entities/ProfileSwitch.kt similarity index 81% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt rename to database/entities/src/main/java/info/nightscout/database/entities/ProfileSwitch.kt index dfda513382..ed541a3c7a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ProfileSwitch.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/ProfileSwitch.kt @@ -1,18 +1,17 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_PROFILE_SWITCHES -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_PROFILE_SWITCHES, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/TableNames.kt b/database/entities/src/main/java/info/nightscout/database/entities/TableNames.kt similarity index 95% rename from database/impl/src/main/java/info/nightscout/androidaps/database/TableNames.kt rename to database/entities/src/main/java/info/nightscout/database/entities/TableNames.kt index 6cfc7e1de0..f174622d05 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/TableNames.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/TableNames.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database +package info.nightscout.database.entities const val TABLE_APS_RESULTS = "apsResults" const val TABLE_APS_RESULT_LINKS = "apsResultLinks" diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt b/database/entities/src/main/java/info/nightscout/database/entities/TemporaryBasal.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt rename to database/entities/src/main/java/info/nightscout/database/entities/TemporaryBasal.kt index 8133f33635..dd6c2a9c1b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryBasal.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/TemporaryBasal.kt @@ -1,22 +1,21 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_TEMPORARY_BASALS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity(tableName = TABLE_TEMPORARY_BASALS, - foreignKeys = [ForeignKey( + foreignKeys = [ForeignKey( entity = TemporaryBasal::class, parentColumns = ["id"], childColumns = ["referenceId"])], - indices = [ + indices = [ Index("id"), Index("isValid"), Index("nightscoutId"), diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt b/database/entities/src/main/java/info/nightscout/database/entities/TemporaryTarget.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt rename to database/entities/src/main/java/info/nightscout/database/entities/TemporaryTarget.kt index a818a78904..9289561503 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TemporaryTarget.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/TemporaryTarget.kt @@ -1,16 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import com.google.gson.annotations.SerializedName -import info.nightscout.androidaps.database.TABLE_TEMPORARY_TARGETS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity( tableName = TABLE_TEMPORARY_TARGETS, @@ -63,17 +61,11 @@ data class TemporaryTarget( interfaceIDs.nightscoutId != null enum class Reason(val text: String) { - @SerializedName("Custom") CUSTOM("Custom"), - @SerializedName("Hypo") HYPOGLYCEMIA("Hypo"), - @SerializedName("Activity") ACTIVITY("Activity"), - @SerializedName("Eating Soon") EATING_SOON("Eating Soon"), - @SerializedName("Automation") AUTOMATION("Automation"), - @SerializedName("Wear") WEAR("Wear") ; diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt b/database/entities/src/main/java/info/nightscout/database/entities/TherapyEvent.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt rename to database/entities/src/main/java/info/nightscout/database/entities/TherapyEvent.kt index 57361f0e33..b2bf0aac9c 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TherapyEvent.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/TherapyEvent.kt @@ -1,14 +1,13 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_THERAPY_EVENTS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTimeAndDuration -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTimeAndDuration +import info.nightscout.database.entities.interfaces.TraceableDBEntry import java.util.TimeZone @Entity( diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt b/database/entities/src/main/java/info/nightscout/database/entities/TotalDailyDose.kt similarity index 75% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt rename to database/entities/src/main/java/info/nightscout/database/entities/TotalDailyDose.kt index 2426147b54..dda1a5b8a5 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/TotalDailyDose.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/TotalDailyDose.kt @@ -1,22 +1,21 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Embedded import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_TOTAL_DAILY_DOSES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry -import java.util.* +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import java.util.TimeZone @Entity(tableName = TABLE_TOTAL_DAILY_DOSES, - foreignKeys = [ForeignKey( + foreignKeys = [ForeignKey( entity = TotalDailyDose::class, parentColumns = ["id"], childColumns = ["referenceId"])], - indices = [ + indices = [ Index("id"), Index("pumpId"), Index("pumpType"), diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt b/database/entities/src/main/java/info/nightscout/database/entities/UserEntry.kt similarity index 96% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt rename to database/entities/src/main/java/info/nightscout/database/entities/UserEntry.kt index 4dd0942fac..c91244ead4 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/UserEntry.kt @@ -1,15 +1,14 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Entity import androidx.room.Index import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_USER_ENTRY -import info.nightscout.androidaps.database.interfaces.DBEntry -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime -import java.util.* +import info.nightscout.database.entities.interfaces.DBEntry +import info.nightscout.database.entities.interfaces.DBEntryWithTime +import java.util.TimeZone @Entity(tableName = TABLE_USER_ENTRY, - indices = [ + indices = [ Index("source"), Index("timestamp") ]) diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt b/database/entities/src/main/java/info/nightscout/database/entities/ValueWithUnit.kt similarity index 62% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt rename to database/entities/src/main/java/info/nightscout/database/entities/ValueWithUnit.kt index 55709888f7..b0f17f0b9e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/ValueWithUnit.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/ValueWithUnit.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities sealed class ValueWithUnit { @@ -36,22 +36,22 @@ sealed class ValueWithUnit { fun value(): Any? { return when(this) { - is Gram -> this.value - is Hour -> this.value - is Insulin -> this.value - is Mgdl -> this.value - is Minute -> this.value - is Mmoll -> this.value - is Percent -> this.value - is SimpleInt -> this.value - is SimpleString -> this.value + is Gram -> this.value + is Hour -> this.value + is Insulin -> this.value + is Mgdl -> this.value + is Minute -> this.value + is Mmoll -> this.value + is Percent -> this.value + is SimpleInt -> this.value + is SimpleString -> this.value is TherapyEventMeterType -> this.value - is TherapyEventTTReason -> this.value - is OfflineEventReason -> this.value - is TherapyEventType -> this.value - is Timestamp -> this.value - is UnitPerHour -> this.value - UNKNOWN -> null + is TherapyEventTTReason -> this.value + is OfflineEventReason -> this.value + is TherapyEventType -> this.value + is Timestamp -> this.value + is UnitPerHour -> this.value + UNKNOWN -> null } } companion object { @@ -60,9 +60,9 @@ sealed class ValueWithUnit { const val MMOL = "mmol" fun fromGlucoseUnit(value: Double, string: String): ValueWithUnit? = when (string) { - MGDL, "mgdl" -> Mgdl(value) - MMOL, "mmol/l" -> Mmoll(value) - else -> null + MGDL, "mgdl" -> Mgdl(value) + MMOL, "mmol/l" -> Mmoll(value) + else -> null } } } diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt b/database/entities/src/main/java/info/nightscout/database/entities/VersionChange.kt similarity index 66% rename from database/impl/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt rename to database/entities/src/main/java/info/nightscout/database/entities/VersionChange.kt index 83ca1ccc40..7fc3470246 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/VersionChange.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/VersionChange.kt @@ -1,10 +1,9 @@ -package info.nightscout.androidaps.database.entities +package info.nightscout.database.entities import androidx.room.Entity import androidx.room.PrimaryKey -import info.nightscout.androidaps.database.TABLE_VERSION_CHANGES -import info.nightscout.androidaps.database.interfaces.DBEntry -import info.nightscout.androidaps.database.interfaces.DBEntryWithTime +import info.nightscout.database.entities.interfaces.DBEntry +import info.nightscout.database.entities.interfaces.DBEntryWithTime import java.util.TimeZone @Entity(tableName = TABLE_VERSION_CHANGES) diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/data/Block.kt b/database/entities/src/main/java/info/nightscout/database/entities/data/Block.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/data/Block.kt rename to database/entities/src/main/java/info/nightscout/database/entities/data/Block.kt index 0b4a98b5c1..473f524d39 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/data/Block.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/data/Block.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.data +package info.nightscout.database.entities.data import java.util.concurrent.TimeUnit diff --git a/database/entities/src/main/java/info/nightscout/database/entities/data/NewEntries.kt b/database/entities/src/main/java/info/nightscout/database/entities/data/NewEntries.kt new file mode 100644 index 0000000000..b714a18d14 --- /dev/null +++ b/database/entities/src/main/java/info/nightscout/database/entities/data/NewEntries.kt @@ -0,0 +1,39 @@ +package info.nightscout.database.entities.data + +import info.nightscout.database.entities.APSResult +import info.nightscout.database.entities.APSResultLink +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.MultiwaveBolusLink +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.PreferenceChange +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.VersionChange + +data class NewEntries( + val apsResults: List, + val apsResultLinks: List, + val bolusCalculatorResults: List, + val boluses: List, + val carbs: List, + val effectiveProfileSwitches: List, + val extendedBoluses: List, + val glucoseValues: List, + val multiwaveBolusLinks: List, + val offlineEvents: List, + val preferencesChanges: List, + val profileSwitches: List, + val temporaryBasals: List, + val temporaryTarget: List, + val therapyEvents: List, + val totalDailyDoses: List, + val versionChanges: List +) \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt b/database/entities/src/main/java/info/nightscout/database/entities/data/TargetBlock.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt rename to database/entities/src/main/java/info/nightscout/database/entities/data/TargetBlock.kt index 4c95fba75f..22572eca16 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/data/TargetBlock.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/data/TargetBlock.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.data +package info.nightscout.database.entities.data import java.util.concurrent.TimeUnit diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt b/database/entities/src/main/java/info/nightscout/database/entities/embedments/InsulinConfiguration.kt similarity index 75% rename from database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt rename to database/entities/src/main/java/info/nightscout/database/entities/embedments/InsulinConfiguration.kt index e6c8a1a437..98d74cc10e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InsulinConfiguration.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/embedments/InsulinConfiguration.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.embedments +package info.nightscout.database.entities.embedments data class InsulinConfiguration( var insulinLabel: String, diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt b/database/entities/src/main/java/info/nightscout/database/entities/embedments/InterfaceIDs.kt similarity index 96% rename from database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt rename to database/entities/src/main/java/info/nightscout/database/entities/embedments/InterfaceIDs.kt index 44452c9a44..5f78da4e8c 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/embedments/InterfaceIDs.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/embedments/InterfaceIDs.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.embedments +package info.nightscout.database.entities.embedments data class InterfaceIDs( var nightscoutSystemId: String? = null, diff --git a/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntry.kt b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntry.kt new file mode 100644 index 0000000000..ac327c6b40 --- /dev/null +++ b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntry.kt @@ -0,0 +1,5 @@ +package info.nightscout.database.entities.interfaces + +interface DBEntry { + var id: Long +} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithDuration.kt similarity index 68% rename from database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt rename to database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithDuration.kt index 469ec17d6d..34c4f053ff 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithDuration.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithDuration.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.interfaces +package info.nightscout.database.entities.interfaces interface DBEntryWithDuration { var duration: Long diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTime.kt similarity index 58% rename from database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt rename to database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTime.kt index 103942fcf0..bae0a704e8 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTime.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTime.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.interfaces +package info.nightscout.database.entities.interfaces interface DBEntryWithTime { var timestamp: Long diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTimeAndDuration.kt similarity index 87% rename from database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt rename to database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTimeAndDuration.kt index 475cd01f5d..ef7408c0e6 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntryWithTimeAndDuration.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/DBEntryWithTimeAndDuration.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.interfaces +package info.nightscout.database.entities.interfaces import kotlin.math.min diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/TraceableDBEntry.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt rename to database/entities/src/main/java/info/nightscout/database/entities/interfaces/TraceableDBEntry.kt index ad4679cea3..63e83bd822 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/TraceableDBEntry.kt +++ b/database/entities/src/main/java/info/nightscout/database/entities/interfaces/TraceableDBEntry.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.interfaces +package info.nightscout.database.entities.interfaces -import info.nightscout.androidaps.database.embedments.InterfaceIDs +import info.nightscout.database.entities.embedments.InterfaceIDs interface TraceableDBEntry: DBEntry { var version: Int diff --git a/database/impl/build.gradle b/database/impl/build.gradle index 3b45869b87..39b78acc17 100644 --- a/database/impl/build.gradle +++ b/database/impl/build.gradle @@ -11,7 +11,7 @@ apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradl android { - namespace 'info.nightscout.androidaps.database' + namespace 'info.nightscout.database.impl' defaultConfig { kapt { arguments { @@ -23,6 +23,8 @@ android { } dependencies { + implementation project(':database:entities') + api "androidx.core:core-ktx:$core_version" api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" diff --git a/database/impl/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt b/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt similarity index 80% rename from database/impl/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt rename to database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt index deca64872c..df0ea6bc13 100644 --- a/database/impl/src/debug/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt +++ b/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.annotations +package info.nightscout.database.annotations /** * This is the actual annotation that makes the class open. Don't use it directly, only through [DbOpenForTesting] @@ -10,6 +10,6 @@ annotation class DbOpenClass /** * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. */ -@DbOpenClass +@info.nightscout.database.annotations.DbOpenClass @Target(AnnotationTarget.CLASS) annotation class DbOpenForTesting \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt deleted file mode 100644 index 58fc350cec..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/AppDatabase.kt +++ /dev/null @@ -1,61 +0,0 @@ -package info.nightscout.androidaps.database - -import androidx.room.Database -import androidx.room.RoomDatabase -import androidx.room.TypeConverters -import info.nightscout.androidaps.database.daos.* -import info.nightscout.androidaps.database.entities.* - -const val DATABASE_VERSION = 22 - -@Database(version = DATABASE_VERSION, - entities = [APSResult::class, Bolus::class, BolusCalculatorResult::class, Carbs::class, - EffectiveProfileSwitch::class, ExtendedBolus::class, GlucoseValue::class, ProfileSwitch::class, - TemporaryBasal::class, TemporaryTarget::class, TherapyEvent::class, TotalDailyDose::class, APSResultLink::class, - MultiwaveBolusLink::class, PreferenceChange::class, VersionChange::class, UserEntry::class, - Food::class, DeviceStatus::class, OfflineEvent::class], - exportSchema = true) -@TypeConverters(Converters::class) -internal abstract class AppDatabase : RoomDatabase() { - - abstract val glucoseValueDao: GlucoseValueDao - - abstract val therapyEventDao: TherapyEventDao - - abstract val temporaryBasalDao: TemporaryBasalDao - - abstract val bolusDao: BolusDao - - abstract val extendedBolusDao: ExtendedBolusDao - - abstract val multiwaveBolusLinkDao: MultiwaveBolusLinkDao - - abstract val totalDailyDoseDao: TotalDailyDoseDao - - abstract val carbsDao: CarbsDao - - abstract val temporaryTargetDao: TemporaryTargetDao - - abstract val apsResultLinkDao: APSResultLinkDao - - abstract val bolusCalculatorResultDao: BolusCalculatorResultDao - - abstract val effectiveProfileSwitchDao: EffectiveProfileSwitchDao - - abstract val profileSwitchDao: ProfileSwitchDao - - abstract val apsResultDao: APSResultDao - - abstract val versionChangeDao: VersionChangeDao - - abstract val userEntryDao: UserEntryDao - - abstract val preferenceChangeDao: PreferenceChangeDao - - abstract val foodDao: FoodDao - - abstract val deviceStatusDao: DeviceStatusDao - - abstract val offlineEventDao: OfflineEventDao - -} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt deleted file mode 100644 index f436dc99e7..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/DelegatedAppDatabase.kt +++ /dev/null @@ -1,31 +0,0 @@ -package info.nightscout.androidaps.database - -import info.nightscout.androidaps.database.daos.* -import info.nightscout.androidaps.database.daos.delegated.* -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.interfaces.DBEntry - -internal class DelegatedAppDatabase(val changes: MutableList, val database: AppDatabase) { - - val glucoseValueDao: GlucoseValueDao = DelegatedGlucoseValueDao(changes, database.glucoseValueDao) - val therapyEventDao: TherapyEventDao = DelegatedTherapyEventDao(changes, database.therapyEventDao) - val temporaryBasalDao: TemporaryBasalDao = DelegatedTemporaryBasalDao(changes, database.temporaryBasalDao) - val bolusDao: BolusDao = DelegatedBolusDao(changes, database.bolusDao) - val extendedBolusDao: ExtendedBolusDao = DelegatedExtendedExtendedBolusDao(changes, database.extendedBolusDao) - val multiwaveBolusLinkDao: MultiwaveBolusLinkDao = DelegatedMultiwaveBolusLinkDao(changes, database.multiwaveBolusLinkDao) - val totalDailyDoseDao: TotalDailyDoseDao = DelegatedTotalDailyDoseDao(changes, database.totalDailyDoseDao) - val carbsDao: CarbsDao = DelegatedCarbsDao(changes, database.carbsDao) - val temporaryTargetDao: TemporaryTargetDao = DelegatedTemporaryTargetDao(changes, database.temporaryTargetDao) - val apsResultLinkDao: APSResultLinkDao = DelegatedAPSResultLinkLinkDao(changes, database.apsResultLinkDao) - val bolusCalculatorResultDao: BolusCalculatorResultDao = DelegatedBolusCalculatorResultDao(changes, database.bolusCalculatorResultDao) - val effectiveProfileSwitchDao: EffectiveProfileSwitchDao = DelegatedEffectiveProfileSwitchDao(changes, database.effectiveProfileSwitchDao) - val profileSwitchDao: ProfileSwitchDao = DelegatedProfileSwitchDao(changes, database.profileSwitchDao) - val apsResultDao: APSResultDao = DelegatedAPSResultDao(changes, database.apsResultDao) - val versionChangeDao: VersionChangeDao = DelegatedVersionChangeDao(changes, database.versionChangeDao) - val userEntryDao: UserEntryDao = DelegatedUserEntryDao(changes, database.userEntryDao) - val preferenceChangeDao: PreferenceChangeDao = DelegatedPreferenceChangeDao(changes, database.preferenceChangeDao) - val foodDao: FoodDao = DelegatedFoodDao(changes, database.foodDao) - val deviceStatusDao: DeviceStatusDao = DelegatedDeviceStatusDao(changes, database.deviceStatusDao) - val offlineEventDao: OfflineEventDao = DelegatedOfflineEventDao(changes, database.offlineEventDao) - fun clearAllTables() = database.clearAllTables() -} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt deleted file mode 100644 index 1d798ef546..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDeviceStatusDao.kt +++ /dev/null @@ -1,6 +0,0 @@ -package info.nightscout.androidaps.database.daos.delegated - -import info.nightscout.androidaps.database.daos.DeviceStatusDao -import info.nightscout.androidaps.database.interfaces.DBEntry - -internal class DelegatedDeviceStatusDao(changes: MutableList, private val dao: DeviceStatusDao) : DelegatedDao(changes), DeviceStatusDao by dao \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt deleted file mode 100644 index e951f37de2..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/data/NewEntries.kt +++ /dev/null @@ -1,23 +0,0 @@ -package info.nightscout.androidaps.database.data - -import info.nightscout.androidaps.database.entities.* - -data class NewEntries( - val apsResults: List, - val apsResultLinks: List, - val bolusCalculatorResults: List, - val boluses: List, - val carbs: List, - val effectiveProfileSwitches: List, - val extendedBoluses: List, - val glucoseValues: List, - val multiwaveBolusLinks: List, - val offlineEvents: List, - val preferencesChanges: List, - val profileSwitches: List, - val temporaryBasals: List, - val temporaryTarget: List, - val therapyEvents: List, - val totalDailyDoses: List, - val versionChanges: List -) \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt deleted file mode 100644 index 8fed1f9578..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/APSResultLink.kt +++ /dev/null @@ -1,42 +0,0 @@ -package info.nightscout.androidaps.database.entities - -import androidx.room.* -import info.nightscout.androidaps.database.TABLE_APS_RESULT_LINKS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry - -@Entity(tableName = TABLE_APS_RESULT_LINKS, - foreignKeys = [ForeignKey( - entity = APSResult::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("apsResultId")), ForeignKey( - - entity = Bolus::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("smbId")), ForeignKey( - - entity = TemporaryBasal::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("tbrId")), ForeignKey( - - entity = APSResultLink::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("referenceId"))], - indices = [Index("referenceId"), Index("apsResultId"), - Index("smbId"), Index("tbrId")]) -data class APSResultLink( - @PrimaryKey(autoGenerate = true) - override var id: Long = 0, - override var version: Int = 0, - override var dateCreated: Long = -1, - override var isValid: Boolean = true, - override var referenceId: Long? = null, - @Embedded - override var interfaceIDs_backing: InterfaceIDs? = null, - var apsResultId: Long, - var smbId: Long? = null, - var tbrId: Long? = null -) : TraceableDBEntry { - override val foreignKeysValid: Boolean - get() = super.foreignKeysValid && apsResultId != 0L && smbId != 0L && tbrId != 0L -} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt deleted file mode 100644 index e8fbf135e0..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/entities/MultiwaveBolusLink.kt +++ /dev/null @@ -1,37 +0,0 @@ -package info.nightscout.androidaps.database.entities - -import androidx.room.* -import info.nightscout.androidaps.database.TABLE_MULTIWAVE_BOLUS_LINKS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry - -@Entity(tableName = TABLE_MULTIWAVE_BOLUS_LINKS, - foreignKeys = [ForeignKey( - entity = Bolus::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("bolusId")), ForeignKey( - - entity = ExtendedBolus::class, - parentColumns = arrayOf("id"), - childColumns = arrayOf("extendedBolusId")), ForeignKey( - - entity = MultiwaveBolusLink::class, - parentColumns = ["id"], - childColumns = ["referenceId"])], - indices = [Index("referenceId"), Index("bolusId"), - Index("extendedBolusId")]) -data class MultiwaveBolusLink( - @PrimaryKey(autoGenerate = true) - override var id: Long = 0, - override var version: Int = 0, - override var dateCreated: Long = -1, - override var isValid: Boolean = true, - override var referenceId: Long? = null, - @Embedded - override var interfaceIDs_backing: InterfaceIDs? = null, - var bolusId: Long, - var extendedBolusId: Long -) : TraceableDBEntry { - override val foreignKeysValid: Boolean - get() = super.foreignKeysValid && bolusId != 0L && bolusId != 0L && extendedBolusId != 0L -} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt deleted file mode 100644 index f6c01287a6..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/interfaces/DBEntry.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.database.interfaces - -interface DBEntry { - var id: Long -} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt b/database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt deleted file mode 100644 index 704819908e..0000000000 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/serialisation/SealedClassHelper.kt +++ /dev/null @@ -1,52 +0,0 @@ -package info.nightscout.androidaps.database.serialisation - -import com.google.gson.Gson -import com.google.gson.GsonBuilder -import com.google.gson.TypeAdapter -import com.google.gson.TypeAdapterFactory -import com.google.gson.reflect.TypeToken -import com.google.gson.stream.JsonReader -import com.google.gson.stream.JsonWriter -import kotlin.jvm.internal.Reflection -import kotlin.reflect.KClass - -object SealedClassHelper { - - val gson: Gson = GsonBuilder().registerTypeAdapterFactory( - object : TypeAdapterFactory { - override fun create(gson: Gson, type: TypeToken): TypeAdapter { - val kClass = Reflection.getOrCreateKotlinClass(type.rawType) - return if (kClass.sealedSubclasses.any()) { - SealedClassTypeAdapter(kClass, gson) - } else - gson.getDelegateAdapter(this, type) - } - }).create() - - private class SealedClassTypeAdapter(private val kClass: KClass, val gson: Gson) : TypeAdapter() { - - override fun read(jsonReader: JsonReader): T? { - jsonReader.beginObject() - val nextName = jsonReader.nextName() - val innerClass = kClass.sealedSubclasses.firstOrNull { it.simpleName == nextName } - ?: throw Exception("$nextName is not a child of the sealed class ${kClass.qualifiedName}") - val x = gson.fromJson(jsonReader, innerClass.javaObjectType) - jsonReader.endObject() - // if there a static object, actually return that - @Suppress("UNCHECKED_CAST") - return innerClass.objectInstance as T? ?: x - } - - override fun write(out: JsonWriter, value: T) { - val jsonString = gson.toJson(value) - val name = value.javaClass.canonicalName - if (name != null) { - out.beginObject() - out.name(name.splitToSequence(".").last()).jsonValue(jsonString) - out.endObject() - } - } - } -} - -inline fun Gson.fromJson(json: String): T = fromJson(json, object : TypeToken() {}.type) diff --git a/database/impl/src/main/java/info/nightscout/database/impl/AppDatabase.kt b/database/impl/src/main/java/info/nightscout/database/impl/AppDatabase.kt new file mode 100644 index 0000000000..228c3cfa10 --- /dev/null +++ b/database/impl/src/main/java/info/nightscout/database/impl/AppDatabase.kt @@ -0,0 +1,99 @@ +package info.nightscout.database.impl + +import androidx.room.Database +import androidx.room.RoomDatabase +import androidx.room.TypeConverters +import info.nightscout.database.impl.daos.APSResultDao +import info.nightscout.database.impl.daos.APSResultLinkDao +import info.nightscout.database.impl.daos.BolusCalculatorResultDao +import info.nightscout.database.impl.daos.BolusDao +import info.nightscout.database.impl.daos.CarbsDao +import info.nightscout.database.impl.daos.DeviceStatusDao +import info.nightscout.database.impl.daos.EffectiveProfileSwitchDao +import info.nightscout.database.impl.daos.ExtendedBolusDao +import info.nightscout.database.impl.daos.FoodDao +import info.nightscout.database.impl.daos.GlucoseValueDao +import info.nightscout.database.impl.daos.MultiwaveBolusLinkDao +import info.nightscout.database.impl.daos.OfflineEventDao +import info.nightscout.database.impl.daos.PreferenceChangeDao +import info.nightscout.database.impl.daos.ProfileSwitchDao +import info.nightscout.database.impl.daos.TemporaryBasalDao +import info.nightscout.database.impl.daos.TemporaryTargetDao +import info.nightscout.database.impl.daos.TherapyEventDao +import info.nightscout.database.impl.daos.TotalDailyDoseDao +import info.nightscout.database.impl.daos.UserEntryDao +import info.nightscout.database.impl.daos.VersionChangeDao +import info.nightscout.database.entities.APSResult +import info.nightscout.database.entities.APSResultLink +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.MultiwaveBolusLink +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.PreferenceChange +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.VersionChange + +const val DATABASE_VERSION = 22 + +@Database(version = DATABASE_VERSION, + entities = [APSResult::class, Bolus::class, BolusCalculatorResult::class, Carbs::class, + EffectiveProfileSwitch::class, ExtendedBolus::class, GlucoseValue::class, ProfileSwitch::class, + TemporaryBasal::class, TemporaryTarget::class, TherapyEvent::class, TotalDailyDose::class, APSResultLink::class, + MultiwaveBolusLink::class, PreferenceChange::class, VersionChange::class, UserEntry::class, + Food::class, DeviceStatus::class, OfflineEvent::class], + exportSchema = true) +@TypeConverters(Converters::class) +internal abstract class AppDatabase : RoomDatabase() { + + abstract val glucoseValueDao: GlucoseValueDao + + abstract val therapyEventDao: TherapyEventDao + + abstract val temporaryBasalDao: TemporaryBasalDao + + abstract val bolusDao: BolusDao + + abstract val extendedBolusDao: ExtendedBolusDao + + abstract val multiwaveBolusLinkDao: MultiwaveBolusLinkDao + + abstract val totalDailyDoseDao: TotalDailyDoseDao + + abstract val carbsDao: CarbsDao + + abstract val temporaryTargetDao: TemporaryTargetDao + + abstract val apsResultLinkDao: APSResultLinkDao + + abstract val bolusCalculatorResultDao: BolusCalculatorResultDao + + abstract val effectiveProfileSwitchDao: EffectiveProfileSwitchDao + + abstract val profileSwitchDao: ProfileSwitchDao + + abstract val apsResultDao: APSResultDao + + abstract val versionChangeDao: VersionChangeDao + + abstract val userEntryDao: UserEntryDao + + abstract val preferenceChangeDao: PreferenceChangeDao + + abstract val foodDao: FoodDao + + abstract val deviceStatusDao: DeviceStatusDao + + abstract val offlineEventDao: OfflineEventDao + +} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/AppRepository.kt b/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt similarity index 97% rename from database/impl/src/main/java/info/nightscout/androidaps/database/AppRepository.kt rename to database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt index 1019581b80..1ad180b93b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/AppRepository.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt @@ -1,25 +1,37 @@ -package info.nightscout.androidaps.database +package info.nightscout.database.impl -import info.nightscout.androidaps.annotations.DbOpenForTesting -import info.nightscout.androidaps.database.data.NewEntries -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.* -import info.nightscout.androidaps.database.interfaces.DBEntry -import info.nightscout.androidaps.database.transactions.Transaction +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.data.NewEntries +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.DBEntry +import info.nightscout.database.impl.transactions.Transaction import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.subjects.PublishSubject -import java.lang.StringBuilder import java.util.concurrent.Callable import java.util.concurrent.TimeUnit import javax.inject.Inject import javax.inject.Singleton import kotlin.math.roundToInt -@DbOpenForTesting +@info.nightscout.database.annotations.DbOpenForTesting @Singleton class AppRepository @Inject internal constructor( internal val database: AppDatabase ) { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/Converters.kt b/database/impl/src/main/java/info/nightscout/database/impl/Converters.kt similarity index 83% rename from database/impl/src/main/java/info/nightscout/androidaps/database/Converters.kt rename to database/impl/src/main/java/info/nightscout/database/impl/Converters.kt index 371976cc5c..39d80b5d14 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/Converters.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/Converters.kt @@ -1,14 +1,23 @@ -package info.nightscout.androidaps.database +package info.nightscout.database.impl import androidx.room.TypeConverter -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.* -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.serialisation.SealedClassHelper -import info.nightscout.androidaps.database.serialisation.fromJson +import info.nightscout.database.entities.APSResult +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.impl.serialisation.SealedClassHelper +import info.nightscout.database.impl.serialisation.fromJson import org.json.JSONArray import org.json.JSONObject @@ -176,9 +185,11 @@ class Converters { val list = mutableListOf() for (i in 0 until jsonArray.length()) { val jsonObject = jsonArray.getJSONObject(i) - list.add(TargetBlock(jsonObject.getLong("duration"), - jsonObject.getDouble("lowTarget"), - jsonObject.getDouble("highTarget"))) + list.add( + TargetBlock(jsonObject.getLong("duration"), + jsonObject.getDouble("lowTarget"), + jsonObject.getDouble("highTarget")) + ) } return list } diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt b/database/impl/src/main/java/info/nightscout/database/impl/DatabaseModule.kt similarity index 99% rename from database/impl/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt rename to database/impl/src/main/java/info/nightscout/database/impl/DatabaseModule.kt index a7093c55bb..b04411bafc 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/DatabaseModule.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/DatabaseModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database +package info.nightscout.database.impl import android.content.Context import androidx.room.Room diff --git a/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt b/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt new file mode 100644 index 0000000000..ad6ecf8430 --- /dev/null +++ b/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt @@ -0,0 +1,68 @@ +package info.nightscout.database.impl + +import info.nightscout.database.impl.daos.APSResultDao +import info.nightscout.database.impl.daos.APSResultLinkDao +import info.nightscout.database.impl.daos.BolusCalculatorResultDao +import info.nightscout.database.impl.daos.BolusDao +import info.nightscout.database.impl.daos.CarbsDao +import info.nightscout.database.impl.daos.DeviceStatusDao +import info.nightscout.database.impl.daos.EffectiveProfileSwitchDao +import info.nightscout.database.impl.daos.ExtendedBolusDao +import info.nightscout.database.impl.daos.FoodDao +import info.nightscout.database.impl.daos.GlucoseValueDao +import info.nightscout.database.impl.daos.MultiwaveBolusLinkDao +import info.nightscout.database.impl.daos.OfflineEventDao +import info.nightscout.database.impl.daos.PreferenceChangeDao +import info.nightscout.database.impl.daos.ProfileSwitchDao +import info.nightscout.database.impl.daos.TemporaryBasalDao +import info.nightscout.database.impl.daos.TemporaryTargetDao +import info.nightscout.database.impl.daos.TherapyEventDao +import info.nightscout.database.impl.daos.TotalDailyDoseDao +import info.nightscout.database.impl.daos.UserEntryDao +import info.nightscout.database.impl.daos.VersionChangeDao +import info.nightscout.database.impl.daos.delegated.DelegatedAPSResultDao +import info.nightscout.database.impl.daos.delegated.DelegatedAPSResultLinkLinkDao +import info.nightscout.database.impl.daos.delegated.DelegatedBolusCalculatorResultDao +import info.nightscout.database.impl.daos.delegated.DelegatedBolusDao +import info.nightscout.database.impl.daos.delegated.DelegatedCarbsDao +import info.nightscout.database.impl.daos.delegated.DelegatedDeviceStatusDao +import info.nightscout.database.impl.daos.delegated.DelegatedEffectiveProfileSwitchDao +import info.nightscout.database.impl.daos.delegated.DelegatedExtendedExtendedBolusDao +import info.nightscout.database.impl.daos.delegated.DelegatedFoodDao +import info.nightscout.database.impl.daos.delegated.DelegatedGlucoseValueDao +import info.nightscout.database.impl.daos.delegated.DelegatedMultiwaveBolusLinkDao +import info.nightscout.database.impl.daos.delegated.DelegatedOfflineEventDao +import info.nightscout.database.impl.daos.delegated.DelegatedPreferenceChangeDao +import info.nightscout.database.impl.daos.delegated.DelegatedProfileSwitchDao +import info.nightscout.database.impl.daos.delegated.DelegatedTemporaryBasalDao +import info.nightscout.database.impl.daos.delegated.DelegatedTemporaryTargetDao +import info.nightscout.database.impl.daos.delegated.DelegatedTherapyEventDao +import info.nightscout.database.impl.daos.delegated.DelegatedTotalDailyDoseDao +import info.nightscout.database.impl.daos.delegated.DelegatedUserEntryDao +import info.nightscout.database.impl.daos.delegated.DelegatedVersionChangeDao +import info.nightscout.database.entities.interfaces.DBEntry + +internal class DelegatedAppDatabase(val changes: MutableList, val database: AppDatabase) { + + val glucoseValueDao: GlucoseValueDao = DelegatedGlucoseValueDao(changes, database.glucoseValueDao) + val therapyEventDao: TherapyEventDao = DelegatedTherapyEventDao(changes, database.therapyEventDao) + val temporaryBasalDao: TemporaryBasalDao = DelegatedTemporaryBasalDao(changes, database.temporaryBasalDao) + val bolusDao: BolusDao = DelegatedBolusDao(changes, database.bolusDao) + val extendedBolusDao: ExtendedBolusDao = DelegatedExtendedExtendedBolusDao(changes, database.extendedBolusDao) + val multiwaveBolusLinkDao: MultiwaveBolusLinkDao = DelegatedMultiwaveBolusLinkDao(changes, database.multiwaveBolusLinkDao) + val totalDailyDoseDao: TotalDailyDoseDao = DelegatedTotalDailyDoseDao(changes, database.totalDailyDoseDao) + val carbsDao: CarbsDao = DelegatedCarbsDao(changes, database.carbsDao) + val temporaryTargetDao: TemporaryTargetDao = DelegatedTemporaryTargetDao(changes, database.temporaryTargetDao) + val apsResultLinkDao: APSResultLinkDao = DelegatedAPSResultLinkLinkDao(changes, database.apsResultLinkDao) + val bolusCalculatorResultDao: BolusCalculatorResultDao = DelegatedBolusCalculatorResultDao(changes, database.bolusCalculatorResultDao) + val effectiveProfileSwitchDao: EffectiveProfileSwitchDao = DelegatedEffectiveProfileSwitchDao(changes, database.effectiveProfileSwitchDao) + val profileSwitchDao: ProfileSwitchDao = DelegatedProfileSwitchDao(changes, database.profileSwitchDao) + val apsResultDao: APSResultDao = DelegatedAPSResultDao(changes, database.apsResultDao) + val versionChangeDao: VersionChangeDao = DelegatedVersionChangeDao(changes, database.versionChangeDao) + val userEntryDao: UserEntryDao = DelegatedUserEntryDao(changes, database.userEntryDao) + val preferenceChangeDao: PreferenceChangeDao = DelegatedPreferenceChangeDao(changes, database.preferenceChangeDao) + val foodDao: FoodDao = DelegatedFoodDao(changes, database.foodDao) + val deviceStatusDao: DeviceStatusDao = DelegatedDeviceStatusDao(changes, database.deviceStatusDao) + val offlineEventDao: OfflineEventDao = DelegatedOfflineEventDao(changes, database.offlineEventDao) + fun clearAllTables() = database.clearAllTables() +} \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultDao.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultDao.kt index 2958ba90db..c16a81486f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_APS_RESULTS -import info.nightscout.androidaps.database.entities.APSResult +import info.nightscout.database.entities.APSResult +import info.nightscout.database.entities.TABLE_APS_RESULTS @Suppress("FunctionName") @Dao diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultLinkDao.kt similarity index 77% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultLinkDao.kt index 1b0568c917..31c99be5ad 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/APSResultLinkDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/APSResultLinkDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_APS_RESULTS -import info.nightscout.androidaps.database.TABLE_APS_RESULT_LINKS -import info.nightscout.androidaps.database.entities.APSResultLink +import info.nightscout.database.entities.APSResultLink +import info.nightscout.database.entities.TABLE_APS_RESULTS +import info.nightscout.database.entities.TABLE_APS_RESULT_LINKS @Dao internal interface APSResultLinkDao : TraceableDao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/BolusCalculatorResultDao.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/BolusCalculatorResultDao.kt index 05554208c8..b2432d2ada 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusCalculatorResultDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/BolusCalculatorResultDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_BOLUS_CALCULATOR_RESULTS -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.TABLE_BOLUS_CALCULATOR_RESULTS import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/BolusDao.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/BolusDao.kt index c1a35fac28..df1a9c7d2f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/BolusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/BolusDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_BOLUSES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.TABLE_BOLUSES +import info.nightscout.database.entities.embedments.InterfaceIDs import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/CarbsDao.kt similarity index 96% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/CarbsDao.kt index 53bd6c789b..7cf52a10d8 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/CarbsDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/CarbsDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_CARBS -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.TABLE_CARBS import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/DeviceStatusDao.kt similarity index 89% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/DeviceStatusDao.kt index addf3e2f21..35627f67c6 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/DeviceStatusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/DeviceStatusDao.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Insert import androidx.room.Query import androidx.room.Update -import info.nightscout.androidaps.database.TABLE_DEVICE_STATUS -import info.nightscout.androidaps.database.entities.DeviceStatus +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.database.entities.TABLE_DEVICE_STATUS import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/EffectiveProfileSwitchDao.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/EffectiveProfileSwitchDao.kt index aeeb9d1066..5fa4b6b233 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/EffectiveProfileSwitchDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/EffectiveProfileSwitchDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_EFFECTIVE_PROFILE_SWITCHES -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.TABLE_EFFECTIVE_PROFILE_SWITCHES import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/ExtendedBolusDao.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/ExtendedBolusDao.kt index 84a9aa4557..65ea850580 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ExtendedBolusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/ExtendedBolusDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_EXTENDED_BOLUSES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TABLE_EXTENDED_BOLUSES +import info.nightscout.database.entities.embedments.InterfaceIDs import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/FoodDao.kt similarity index 90% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/FoodDao.kt index 492f02329e..fc3d85989b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/FoodDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/FoodDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_FOODS -import info.nightscout.androidaps.database.entities.Food +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.TABLE_FOODS import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/GlucoseValueDao.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/GlucoseValueDao.kt index 02687b0a7d..f30847c410 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/GlucoseValueDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/GlucoseValueDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_GLUCOSE_VALUES -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TABLE_GLUCOSE_VALUES import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/MultiwaveBolusLinkDao.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/MultiwaveBolusLinkDao.kt index 0bdb02b863..26a8cfad20 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/MultiwaveBolusLinkDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/MultiwaveBolusLinkDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_MULTIWAVE_BOLUS_LINKS -import info.nightscout.androidaps.database.entities.MultiwaveBolusLink +import info.nightscout.database.entities.MultiwaveBolusLink +import info.nightscout.database.entities.TABLE_MULTIWAVE_BOLUS_LINKS @Dao internal interface MultiwaveBolusLinkDao : TraceableDao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/OfflineEventDao.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/OfflineEventDao.kt index d8ce6c88a3..06bcf84542 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/OfflineEventDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/OfflineEventDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_OFFLINE_EVENTS -import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.TABLE_OFFLINE_EVENTS import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/PreferenceChangeDao.kt similarity index 74% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/PreferenceChangeDao.kt index a617e254e3..60896ddcbd 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/PreferenceChangeDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/PreferenceChangeDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Insert import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_PREFERENCE_CHANGES -import info.nightscout.androidaps.database.entities.PreferenceChange +import info.nightscout.database.entities.PreferenceChange +import info.nightscout.database.entities.TABLE_PREFERENCE_CHANGES @Dao interface PreferenceChangeDao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/ProfileSwitchDao.kt similarity index 91% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/ProfileSwitchDao.kt index ca994c6ccf..a15d7e1315 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/ProfileSwitchDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/ProfileSwitchDao.kt @@ -1,16 +1,15 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_PROFILE_SWITCHES -import info.nightscout.androidaps.database.daos.workaround.ProfileSwitchDaoWorkaround -import info.nightscout.androidaps.database.data.checkSanity -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TABLE_PROFILE_SWITCHES +import info.nightscout.database.entities.data.checkSanity import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single @Dao -internal interface ProfileSwitchDao : ProfileSwitchDaoWorkaround { +internal interface ProfileSwitchDao : info.nightscout.database.impl.daos.workaround.ProfileSwitchDaoWorkaround { @Query("SELECT * FROM $TABLE_PROFILE_SWITCHES WHERE id = :id") override fun findById(id: Long): ProfileSwitch? diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryBasalDao.kt similarity index 95% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryBasalDao.kt index 40a84e90c5..88865ce2e8 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryBasalDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryBasalDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_TEMPORARY_BASALS -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TABLE_TEMPORARY_BASALS +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.embedments.InterfaceIDs import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryTargetDao.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryTargetDao.kt index c002085377..f123ecd975 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TemporaryTargetDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/TemporaryTargetDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_TEMPORARY_TARGETS -import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.database.entities.TABLE_TEMPORARY_TARGETS +import info.nightscout.database.entities.TemporaryTarget import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/TherapyEventDao.kt similarity index 95% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/TherapyEventDao.kt index 4a170f7fae..8150021416 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TherapyEventDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/TherapyEventDao.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_THERAPY_EVENTS -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TABLE_THERAPY_EVENTS +import info.nightscout.database.entities.TherapyEvent import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/TotalDailyDoseDao.kt similarity index 89% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/TotalDailyDoseDao.kt index f630a6ef20..35eaac29e5 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TotalDailyDoseDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/TotalDailyDoseDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_TOTAL_DAILY_DOSES -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.database.entities.TABLE_TOTAL_DAILY_DOSES +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.embedments.InterfaceIDs import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.core.Single diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/TraceableDao.kt similarity index 87% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/TraceableDao.kt index 080987c185..f0e753c035 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/TraceableDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/TraceableDao.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Insert import androidx.room.Update -import info.nightscout.androidaps.database.daos.workaround.TraceableDaoWorkaround -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry +import info.nightscout.database.entities.interfaces.TraceableDBEntry -internal interface TraceableDao : TraceableDaoWorkaround { +internal interface TraceableDao : info.nightscout.database.impl.daos.workaround.TraceableDaoWorkaround { fun findById(id: Long): T? diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/UserEntryDao.kt similarity index 77% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/UserEntryDao.kt index a5f1979c35..9af90ad9aa 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/UserEntryDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/UserEntryDao.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Insert import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_USER_ENTRY -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.database.entities.TABLE_USER_ENTRY +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Sources import io.reactivex.rxjava3.core.Single @Dao diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/VersionChangeDao.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/VersionChangeDao.kt index c691981c50..a93e00b812 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/VersionChangeDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/VersionChangeDao.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos +package info.nightscout.database.impl.daos import androidx.room.Dao import androidx.room.Insert import androidx.room.Query -import info.nightscout.androidaps.database.TABLE_VERSION_CHANGES -import info.nightscout.androidaps.database.entities.VersionChange +import info.nightscout.database.entities.TABLE_VERSION_CHANGES +import info.nightscout.database.entities.VersionChange @Dao interface VersionChangeDao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultDao.kt index ffe6180770..e99f80efd7 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.APSResultDao -import info.nightscout.androidaps.database.entities.APSResult -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.entities.APSResult +import info.nightscout.database.entities.interfaces.DBEntry +import info.nightscout.database.impl.daos.APSResultDao internal class DelegatedAPSResultDao(changes: MutableList, private val dao: APSResultDao) : DelegatedDao(changes), APSResultDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt index 2152d3f9f0..a165536fcd 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedAPSResultLinkDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.APSResultLinkDao -import info.nightscout.androidaps.database.entities.APSResultLink -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.APSResultLinkDao +import info.nightscout.database.entities.APSResultLink +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedAPSResultLinkLinkDao(changes: MutableList, private val dao: APSResultLinkDao) : DelegatedDao(changes), APSResultLinkDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusCalculatorResultDao.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusCalculatorResultDao.kt index 40e92dcb04..0a6817a3c3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusCalculatorResultDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusCalculatorResultDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.BolusCalculatorResultDao -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.BolusCalculatorResultDao +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedBolusCalculatorResultDao(changes: MutableList, private val dao: BolusCalculatorResultDao) : DelegatedDao(changes), BolusCalculatorResultDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusDao.kt index 67afec9e18..d35b0f38ce 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedBolusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedBolusDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.BolusDao -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.BolusDao +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedBolusDao(changes: MutableList, private val dao: BolusDao) : DelegatedDao(changes), BolusDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedCarbsDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedCarbsDao.kt index 0a2da34a05..58bb4f809e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedCarbsDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedCarbsDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.CarbsDao -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.CarbsDao +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedCarbsDao(changes: MutableList, private val dao: CarbsDao) : DelegatedDao(changes), CarbsDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDao.kt similarity index 55% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDao.kt index ff5fe9ba64..2c22734e97 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDao.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.entities.interfaces.DBEntry /** * A DAO that adds updated or inserted entries to a list diff --git a/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDeviceStatusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDeviceStatusDao.kt new file mode 100644 index 0000000000..cc11ece89c --- /dev/null +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedDeviceStatusDao.kt @@ -0,0 +1,6 @@ +package info.nightscout.database.impl.daos.delegated + +import info.nightscout.database.impl.daos.DeviceStatusDao +import info.nightscout.database.entities.interfaces.DBEntry + +internal class DelegatedDeviceStatusDao(changes: MutableList, private val dao: DeviceStatusDao) : DelegatedDao(changes), DeviceStatusDao by dao \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt index 6516ffbc6c..4180653fdc 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedEffectiveProfileSwitchDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.EffectiveProfileSwitchDao -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.EffectiveProfileSwitchDao +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedEffectiveProfileSwitchDao(changes: MutableList, private val dao: EffectiveProfileSwitchDao) : DelegatedDao(changes), EffectiveProfileSwitchDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt index fa3a6369fd..76e89815dd 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedExtendedBolusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.ExtendedBolusDao -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.ExtendedBolusDao +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedExtendedExtendedBolusDao(changes: MutableList, private val dao: ExtendedBolusDao) : DelegatedDao(changes), ExtendedBolusDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedFoodDao.kt similarity index 62% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedFoodDao.kt index 2d37a3e5be..d78aac0fa8 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedFoodDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedFoodDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.FoodDao -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.FoodDao +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedFoodDao(changes: MutableList, private val dao: FoodDao) : DelegatedDao(changes), FoodDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedGlucoseValueDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedGlucoseValueDao.kt index d16e84ebc5..e2eec39c07 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedGlucoseValueDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedGlucoseValueDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.GlucoseValueDao -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.GlucoseValueDao +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedGlucoseValueDao(changes: MutableList, private val dao: GlucoseValueDao) : DelegatedDao(changes), GlucoseValueDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt index fd6079a146..c4263e79d9 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedMultiwaveBolusLinkDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.MultiwaveBolusLinkDao -import info.nightscout.androidaps.database.entities.MultiwaveBolusLink -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.MultiwaveBolusLinkDao +import info.nightscout.database.entities.MultiwaveBolusLink +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedMultiwaveBolusLinkDao(changes: MutableList, private val dao: MultiwaveBolusLinkDao) : DelegatedDao(changes), MultiwaveBolusLinkDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedOfflineEventDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedOfflineEventDao.kt index fc2bc94c30..bd25c6afdc 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedOfflineEventDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedOfflineEventDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.OfflineEventDao -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.OfflineEventDao +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedOfflineEventDao(changes: MutableList, private val dao: OfflineEventDao) : DelegatedDao(changes), OfflineEventDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedPreferenceChangeDao.kt similarity index 55% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedPreferenceChangeDao.kt index 97ba761423..37210a727f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedPreferenceChangeDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedPreferenceChangeDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.PreferenceChangeDao -import info.nightscout.androidaps.database.entities.PreferenceChange -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.PreferenceChangeDao +import info.nightscout.database.entities.PreferenceChange +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedPreferenceChangeDao(changes: MutableList, private val dao: PreferenceChangeDao) : DelegatedDao(changes), PreferenceChangeDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedProfileSwitchDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedProfileSwitchDao.kt index 11ded9ccdc..4d22152451 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedProfileSwitchDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedProfileSwitchDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.ProfileSwitchDao -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.ProfileSwitchDao +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedProfileSwitchDao(changes: MutableList, private val dao: ProfileSwitchDao) : DelegatedDao(changes), ProfileSwitchDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryBasalDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryBasalDao.kt index c48ca004cb..13ef3fe130 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryBasalDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryBasalDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.TemporaryBasalDao -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.TemporaryBasalDao +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedTemporaryBasalDao(changes: MutableList, private val dao: TemporaryBasalDao) : DelegatedDao(changes), TemporaryBasalDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryTargetDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryTargetDao.kt index a3cba800f5..9b0b0307c3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTemporaryTargetDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTemporaryTargetDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.TemporaryTargetDao -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.TemporaryTargetDao +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedTemporaryTargetDao(changes: MutableList, private val dao: TemporaryTargetDao) : DelegatedDao(changes), TemporaryTargetDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTherapyEventDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTherapyEventDao.kt index 767edd50a9..099d043f4f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTherapyEventDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTherapyEventDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.TherapyEventDao -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.TherapyEventDao +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedTherapyEventDao(changes: MutableList, private val dao: TherapyEventDao) : DelegatedDao(changes), TherapyEventDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTotalDailyDoseDao.kt similarity index 63% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTotalDailyDoseDao.kt index 95bc5ab108..f69e83e6f9 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedTotalDailyDoseDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedTotalDailyDoseDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.TotalDailyDoseDao -import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.TotalDailyDoseDao +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedTotalDailyDoseDao(changes: MutableList, private val dao: TotalDailyDoseDao) : DelegatedDao(changes), TotalDailyDoseDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedUserEntryDao.kt similarity index 52% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedUserEntryDao.kt index b0b8eb4c19..9faed2f2c0 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedUserEntryDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedUserEntryDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.UserEntryDao -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.UserEntryDao +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedUserEntryDao(changes: MutableList, private val dao: UserEntryDao) : DelegatedDao(changes), UserEntryDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedVersionChangeDao.kt similarity index 54% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt rename to database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedVersionChangeDao.kt index 81a5ecb799..4f2564efa9 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/delegated/DelegatedVersionChangeDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedVersionChangeDao.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.daos.delegated +package info.nightscout.database.impl.daos.delegated -import info.nightscout.androidaps.database.daos.VersionChangeDao -import info.nightscout.androidaps.database.entities.VersionChange -import info.nightscout.androidaps.database.interfaces.DBEntry +import info.nightscout.database.impl.daos.VersionChangeDao +import info.nightscout.database.entities.VersionChange +import info.nightscout.database.entities.interfaces.DBEntry internal class DelegatedVersionChangeDao(changes: MutableList, private val dao: VersionChangeDao) : DelegatedDao(changes), VersionChangeDao by dao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/ProfileSwitchDaoWorkaround.java similarity index 60% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java rename to database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/ProfileSwitchDaoWorkaround.java index 9a817ff215..04fc586e06 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/ProfileSwitchDaoWorkaround.java +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/ProfileSwitchDaoWorkaround.java @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.database.daos.workaround; +package info.nightscout.database.impl.daos.workaround; import androidx.room.Transaction; -import info.nightscout.androidaps.database.daos.ProfileSwitchDao; -import info.nightscout.androidaps.database.daos.ProfileSwitchDaoKt; -import info.nightscout.androidaps.database.daos.TraceableDao; -import info.nightscout.androidaps.database.entities.ProfileSwitch; +import info.nightscout.database.impl.daos.ProfileSwitchDaoKt; +import info.nightscout.database.entities.ProfileSwitch; +import info.nightscout.database.impl.daos.ProfileSwitchDao; +import info.nightscout.database.impl.daos.TraceableDao; public interface ProfileSwitchDaoWorkaround extends TraceableDao { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/TraceableDaoWorkaround.java similarity index 71% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java rename to database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/TraceableDaoWorkaround.java index 0e2540d088..355d750a9d 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/TraceableDaoWorkaround.java +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/TraceableDaoWorkaround.java @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.database.daos.workaround; +package info.nightscout.database.impl.daos.workaround; import androidx.room.Transaction; -import info.nightscout.androidaps.database.daos.TraceableDao; -import info.nightscout.androidaps.database.daos.TraceableDaoKt; -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry; +import info.nightscout.database.impl.daos.TraceableDaoKt; +import info.nightscout.database.entities.interfaces.TraceableDBEntry; +import info.nightscout.database.impl.daos.TraceableDao; // keep in java, it's easier public interface TraceableDaoWorkaround { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/package-info.java similarity index 74% rename from database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java rename to database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/package-info.java index 089581be3b..5269c8bd8c 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/daos/workaround/package-info.java +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/workaround/package-info.java @@ -2,4 +2,4 @@ * Workarounds until Kotlin is able to properly translate interface default methods while annotation processing. * See https://youtrack.jetbrains.com/issue/KT-25960 */ -package info.nightscout.androidaps.database.daos.workaround; \ No newline at end of file +package info.nightscout.database.impl.daos.workaround; \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt b/database/impl/src/main/java/info/nightscout/database/impl/serialisation/SealedClassHelper.kt similarity index 97% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt rename to database/impl/src/main/java/info/nightscout/database/impl/serialisation/SealedClassHelper.kt index a3fd471bd2..3ef63cbaa4 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/SealedClassHelper.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/serialisation/SealedClassHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.serialisation +package info.nightscout.database.impl.serialisation import com.google.gson.Gson import com.google.gson.GsonBuilder diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt index 6d5e1c1794..a7e1144d48 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentOfflineEventIfAnyTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.interfaces.end class CancelCurrentOfflineEventIfAnyTransaction( val timestamp: Long diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt index f2d65145c2..79ee6841b3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CancelCurrentTemporaryTargetIfAnyTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.interfaces.end class CancelCurrentTemporaryTargetIfAnyTransaction( val timestamp: Long diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CgmSourceTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/CgmSourceTransaction.kt index 939ebbe817..1f3070a319 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CgmSourceTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CgmSourceTransaction.kt @@ -1,8 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TherapyEvent /** * Inserts data from a CGM source into the database diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CutCarbsTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/CutCarbsTransaction.kt index 90637de496..8b789e3434 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/CutCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/CutCarbsTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.interfaces.end import kotlin.math.roundToInt class CutCarbsTransaction(val id: Long, val end: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt index f4dd63fe81..2b49d95e37 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentOfflineEventTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.interfaces.end class InsertAndCancelCurrentOfflineEventTransaction( val offlineEvent: OfflineEvent diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt similarity index 86% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt index 87867309b6..687c27442b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertAndCancelCurrentTemporaryTargetTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.interfaces.end class InsertAndCancelCurrentTemporaryTargetTransaction( val temporaryTarget: TemporaryTarget diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertBolusWithTempIdTransaction.kt similarity index 88% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertBolusWithTempIdTransaction.kt index 2b7ad086ac..3096e8c943 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertBolusWithTempIdTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertBolusWithTempIdTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus /** * Creates or updates the Bolus from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertGlucoseValueTransaction.kt similarity index 64% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertGlucoseValueTransaction.kt index b75c4a3928..3c0c8215c2 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertGlucoseValueTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertGlucoseValueTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue /** * Creates the GlucoseValue diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampCarbsTransaction.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampCarbsTransaction.kt index 9fed606fde..5d2cdfe2a1 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampCarbsTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.embedments.InterfaceIDs /** * Creates Carbs if record doesn't exist @@ -15,12 +15,14 @@ class InsertIfNewByTimestampCarbsTransaction( amount: Double, duration: Long, interfaceIDs_backing: InterfaceIDs? = null - ) : this(Carbs( + ) : this( + Carbs( timestamp = timestamp, amount = amount, duration = duration, interfaceIDs_backing = interfaceIDs_backing - )) + ) + ) override fun run(): TransactionResult { val result = TransactionResult() diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt similarity index 90% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt index d283f0c6ca..1214595809 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertIfNewByTimestampTherapyEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent class InsertIfNewByTimestampTherapyEventTransaction( val therapyEvent: TherapyEvent diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt index dfef194370..0f4fee61d5 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusCalculatorResultTransaction.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult /** * Creates or updates the BolusCalculatorResult diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusTransaction.kt similarity index 81% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusTransaction.kt index 25fe10c062..9d3d2ff894 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateBolusTransaction.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.database.entities.embedments.InterfaceIDs /** * Creates or updates the Bolus @@ -19,7 +19,8 @@ class InsertOrUpdateBolusTransaction( isBasalInsulin: Boolean = false, insulinConfiguration: InsulinConfiguration? = null, interfaceIDs_backing: InterfaceIDs? = null - ) : this(Bolus( + ) : this( + Bolus( timestamp = timestamp, amount = amount, type = type, @@ -27,7 +28,8 @@ class InsertOrUpdateBolusTransaction( isBasalInsulin = isBasalInsulin, insulinConfiguration = insulinConfiguration, interfaceIDs_backing = interfaceIDs_backing - )) + ) + ) override fun run(): TransactionResult { val result = TransactionResult() diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateCarbsTransaction.kt similarity index 83% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateCarbsTransaction.kt index 8f84cfb0ec..57d58dfb67 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateCarbsTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.embedments.InterfaceIDs /** * Creates or updates the Carbs @@ -16,13 +16,15 @@ class InsertOrUpdateCarbsTransaction( duration: Long, notes: String, interfaceIDs_backing: InterfaceIDs? = null - ) : this(Carbs( + ) : this( + Carbs( timestamp = timestamp, amount = amount, duration = duration, notes = notes, interfaceIDs_backing = interfaceIDs_backing - )) + ) + ) override fun run(): TransactionResult { val result = TransactionResult() diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateFoodTransaction.kt similarity index 86% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateFoodTransaction.kt index 7de6457542..e72bcb51db 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateFoodTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateFoodTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Food +import info.nightscout.database.entities.Food /** * Inserts or updates the Food diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateProfileSwitch.kt similarity index 86% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateProfileSwitch.kt index 3a12a58e21..c420df5d69 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertOrUpdateProfileSwitch.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertOrUpdateProfileSwitch.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch class InsertOrUpdateProfileSwitch(val profileSwitch: ProfileSwitch) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTemporaryBasalWithTempIdTransaction.kt similarity index 88% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTemporaryBasalWithTempIdTransaction.kt index 27f931bcd9..9c94e62042 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTemporaryBasalWithTempIdTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTemporaryBasalWithTempIdTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal /** * Creates or updates the TemporaryBasal from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTherapyEventAnnouncementTransaction.kt similarity index 86% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTherapyEventAnnouncementTransaction.kt index fe9f4196f7..dca1c8afb2 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InsertTherapyEventAnnouncementTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InsertTherapyEventAnnouncementTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.embedments.InterfaceIDs class InsertTherapyEventAnnouncementTransaction( val therapyEvent: TherapyEvent diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt index 2a152c408c..1c7ddc8c0e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateAAPSStartedTherapyEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent class InvalidateAAPSStartedTherapyEventTransaction(private val note: String) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusCalculatorResultTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusCalculatorResultTransaction.kt index 968efee665..e44afd114e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusCalculatorResultTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusCalculatorResultTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult class InvalidateBolusCalculatorResultTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusTransaction.kt similarity index 83% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusTransaction.kt index ac2dcad063..5f70905c5f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus class InvalidateBolusTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateCarbsTransaction.kt similarity index 83% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateCarbsTransaction.kt index 9e9b373a33..ef9eabbe91 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateCarbsTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs class InvalidateCarbsTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateExtendedBolusTransaction.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateExtendedBolusTransaction.kt index 7f28f09acf..b262c53627 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateExtendedBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateExtendedBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.database.entities.ExtendedBolus class InvalidateExtendedBolusTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateFoodTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateFoodTransaction.kt index a1f7b545e9..3074b16f11 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateFoodTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateFoodTransaction.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions class InvalidateFoodTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateGlucoseValueTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateGlucoseValueTransaction.kt index 91669d5e70..77a6fd97ae 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateGlucoseValueTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateGlucoseValueTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue /** * Invalidates the GlucoseValue with the specified id diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateNsIdProfileSwitchTransaction.kt similarity index 77% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateNsIdProfileSwitchTransaction.kt index 67cb703cc6..b70912bca3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateNsIdProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateNsIdProfileSwitchTransaction.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch class InvalidateNsIdProfileSwitchTransaction(val nsId: String) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateOfflineEventTransaction.kt similarity index 87% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateOfflineEventTransaction.kt index 9db9b8e84a..51cf8fc424 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateOfflineEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateOfflineEventTransaction.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions class InvalidateOfflineEventTransaction(val id: Long) : Transaction() { override fun run() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateProfileSwitchTransaction.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateProfileSwitchTransaction.kt index f51f46d106..f5089694fd 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateProfileSwitchTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch class InvalidateProfileSwitchTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransaction.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransaction.kt index 5fcc6d90be..143fa2a92a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal class InvalidateTemporaryBasalTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt similarity index 80% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt index 558731b28c..d4ed06050e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.embedments.InterfaceIDs class InvalidateTemporaryBasalTransactionWithPumpId(val pumpId: Long, val pumpType: InterfaceIDs.PumpType, val pumpSerial: diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt similarity index 85% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt index 1e1afaf4d8..9056ea96db 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalWithTempIdTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal class InvalidateTemporaryBasalWithTempIdTransaction(val tempId: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryTargetTransaction.kt similarity index 87% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryTargetTransaction.kt index 7109fbf672..043889f543 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTemporaryTargetTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryTargetTransaction.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions class InvalidateTemporaryTargetTransaction(val id: Long) : Transaction() { override fun run() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTherapyEventTransaction.kt similarity index 84% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTherapyEventTransaction.kt index 3368d05996..2cf2319a3a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/InvalidateTherapyEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTherapyEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent class InvalidateTherapyEventTransaction(val id: Long) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncBolusWithTempIdTransaction.kt similarity index 90% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncBolusWithTempIdTransaction.kt index 99449f5ce7..46624928d1 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncBolusWithTempIdTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncBolusWithTempIdTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus /** * Creates or updates the Bolus from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusCalculatorResultTransaction.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusCalculatorResultTransaction.kt index bc9d4b0c07..c81cdaaadc 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusCalculatorResultTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusCalculatorResultTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult /** * Sync the BolusCalculatorResult from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusTransaction.kt index a7f1c8b7f4..4098dc194a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus /** * Sync the Bolus from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsCarbsTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsCarbsTransaction.kt index 5e3bb60d94..f633bd1108 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsCarbsTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs /** * Sync the carbs from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsEffectiveProfileSwitchTransaction.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsEffectiveProfileSwitchTransaction.kt index 81d264e79a..18f0c87203 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsEffectiveProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsEffectiveProfileSwitchTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.EffectiveProfileSwitch /** * Sync the EffectiveProfileSwitch from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsExtendedBolusTransaction.kt similarity index 95% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsExtendedBolusTransaction.kt index cd8f3accd1..7e13f94415 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsExtendedBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsExtendedBolusTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.interfaces.end import kotlin.math.abs /** diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsFoodTransaction.kt similarity index 91% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsFoodTransaction.kt index 0ed3d70d93..33c1f68eb1 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsFoodTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsFoodTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Food +import info.nightscout.database.entities.Food /** * Sync the TherapyEvents from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsOfflineEventTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsOfflineEventTransaction.kt index e787c591f3..44c142177e 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsOfflineEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsOfflineEventTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.interfaces.end import kotlin.math.abs /** diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsProfileSwitchTransaction.kt similarity index 93% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsProfileSwitchTransaction.kt index e11f5ebad0..33e90ecb9b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsProfileSwitchTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch /** * Sync the ProfileSwitch from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryBasalTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryBasalTransaction.kt index 1789102029..7f78c1a968 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryBasalTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryBasalTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.end import kotlin.math.abs /** diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryTargetTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryTargetTransaction.kt index d3fcb29cf1..f01d90e425 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTemporaryTargetTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTemporaryTargetTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.interfaces.end import kotlin.math.abs /** diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTherapyEventTransaction.kt similarity index 94% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTherapyEventTransaction.kt index f0fa5104c1..cd0c1e37e4 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncNsTherapyEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncNsTherapyEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent /** * Sync the TherapyEvents from NS diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpBolusTransaction.kt similarity index 92% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpBolusTransaction.kt index c7ff85ba21..7063fb0db3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus /** * Creates or updates the Bolus from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt similarity index 82% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt index 5553a7b1b1..e22e819d7a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelExtendedBolusIfAnyTransaction.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.end class SyncPumpCancelExtendedBolusIfAnyTransaction( private val timestamp: Long, private val endPumpId: Long, private val pumpType: InterfaceIDs.PumpType, private val pumpSerial: String diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt index c66ab184e5..2523adbe18 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpCancelTemporaryBasalIfAnyTransaction.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.entities.interfaces.end class SyncPumpCancelTemporaryBasalIfAnyTransaction( private val timestamp: Long, private val endPumpId: Long, private val pumpType: InterfaceIDs.PumpType, private val pumpSerial: String @@ -27,6 +27,6 @@ class SyncPumpCancelTemporaryBasalIfAnyTransaction( class TransactionResult { - val updated = mutableListOf>() + val updated = mutableListOf>() } } \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpExtendedBolusTransaction.kt similarity index 92% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpExtendedBolusTransaction.kt index ac73ba74ef..2f93d98b13 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpExtendedBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpExtendedBolusTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.interfaces.end /** * Creates or updates the extended bolus from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTemporaryBasalTransaction.kt similarity index 90% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTemporaryBasalTransaction.kt index cee4092633..fc8abfe8e0 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTemporaryBasalTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTemporaryBasalTransaction.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.interfaces.end /** * Creates or updates the Temporary basal from pump synchronization @@ -50,6 +50,6 @@ class SyncPumpTemporaryBasalTransaction( class TransactionResult { val inserted = mutableListOf() - val updated = mutableListOf>() + val updated = mutableListOf>() } } \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTotalDailyDoseTransaction.kt similarity index 92% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTotalDailyDoseTransaction.kt index 805d1cabb2..0321099227 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncPumpTotalDailyDoseTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncPumpTotalDailyDoseTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.database.entities.TotalDailyDose /** * Creates or updates the TotalDailyDose from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncTemporaryBasalWithTempIdTransaction.kt similarity index 91% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncTemporaryBasalWithTempIdTransaction.kt index 93a2e86ef8..b08f64f961 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/SyncTemporaryBasalWithTempIdTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/SyncTemporaryBasalWithTempIdTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal /** * Creates or updates the TemporaryBasal from pump synchronization diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/Transaction.kt similarity index 69% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/Transaction.kt index 36d07a9926..3ba635334f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/Transaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/Transaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.DelegatedAppDatabase +import info.nightscout.database.impl.DelegatedAppDatabase /** * Base class for database transactions diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateGlucoseValueTransaction.kt similarity index 65% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateGlucoseValueTransaction.kt index 8d6ce188be..3ffa9fad5a 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateGlucoseValueTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateGlucoseValueTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue /** * Updates the GlucoseValue diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt similarity index 80% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt index b824e1b4f4..99c9329a9c 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusCalculatorResultTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult class UpdateNsIdBolusCalculatorResultTransaction(val bolusCalculatorResult: BolusCalculatorResult) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusTransaction.kt index 2504545419..1075094e0b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus class UpdateNsIdBolusTransaction(val bolus: Bolus) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdCarbsTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdCarbsTransaction.kt index 9595fd3a17..2c6ae614e3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdCarbsTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdCarbsTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs class UpdateNsIdCarbsTransaction(val carbs: Carbs) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdDeviceStatusTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdDeviceStatusTransaction.kt index 159992ba5f..fc582722a3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdDeviceStatusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdDeviceStatusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.DeviceStatus +import info.nightscout.database.entities.DeviceStatus class UpdateNsIdDeviceStatusTransaction(val deviceStatus: DeviceStatus) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt similarity index 80% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt index 027bf61b3a..d76205f75b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdEffectiveProfileSwitchTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.EffectiveProfileSwitch class UpdateNsIdEffectiveProfileSwitchTransaction(val effectiveProfileSwitch: EffectiveProfileSwitch) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdExtendedBolusTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdExtendedBolusTransaction.kt index cc174ad734..6d070a6516 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdExtendedBolusTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdExtendedBolusTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.database.entities.ExtendedBolus class UpdateNsIdExtendedBolusTransaction(val bolus: ExtendedBolus) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdFoodTransaction.kt similarity index 78% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdFoodTransaction.kt index 78179c8cb8..f35b5a3efe 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdFoodTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdFoodTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.Food +import info.nightscout.database.entities.Food class UpdateNsIdFoodTransaction(val food: Food) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdGlucoseValueTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdGlucoseValueTransaction.kt index 3b43b92943..eb047a377b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdGlucoseValueTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdGlucoseValueTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue class UpdateNsIdGlucoseValueTransaction(val glucoseValue: GlucoseValue) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdOfflineEventTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdOfflineEventTransaction.kt index 3da1b26ce7..48f8676d44 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdOfflineEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdOfflineEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.database.entities.OfflineEvent class UpdateNsIdOfflineEventTransaction(val offlineEvent: OfflineEvent) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdProfileSwitchTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdProfileSwitchTransaction.kt index 368a66dc3f..b8886ed610 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdProfileSwitchTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdProfileSwitchTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.ProfileSwitch +import info.nightscout.database.entities.ProfileSwitch class UpdateNsIdProfileSwitchTransaction(val profileSwitch: ProfileSwitch) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryBasalTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryBasalTransaction.kt index 571f3da027..1daa83442f 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryBasalTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryBasalTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal class UpdateNsIdTemporaryBasalTransaction(val temporaryBasal: TemporaryBasal) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryTargetTransaction.kt similarity index 80% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryTargetTransaction.kt index 28bd4211d6..0b4a369708 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTemporaryTargetTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTemporaryTargetTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.database.entities.TemporaryTarget class UpdateNsIdTemporaryTargetTransaction(val temporaryTarget: TemporaryTarget) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTherapyEventTransaction.kt similarity index 79% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTherapyEventTransaction.kt index 0f04c6f81d..e310f1c1d3 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UpdateNsIdTherapyEventTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UpdateNsIdTherapyEventTransaction.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent class UpdateNsIdTherapyEventTransaction(val therapyEvent: TherapyEvent) : Transaction() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UserEntryTransaction.kt similarity index 69% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/UserEntryTransaction.kt index 6443041f2c..72e52ab313 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/UserEntryTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/UserEntryTransaction.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit class UserEntryTransaction(private val entries: List) : Transaction>() { diff --git a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/VersionChangeTransaction.kt similarity index 77% rename from database/impl/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt rename to database/impl/src/main/java/info/nightscout/database/impl/transactions/VersionChangeTransaction.kt index ade887647f..b1a7dcab4b 100644 --- a/database/impl/src/main/java/info/nightscout/androidaps/database/transactions/VersionChangeTransaction.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/VersionChangeTransaction.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.database.transactions +package info.nightscout.database.impl.transactions -import info.nightscout.androidaps.database.entities.VersionChange -import java.util.* +import info.nightscout.database.entities.VersionChange class VersionChangeTransaction( private val versionName: String, @@ -16,13 +15,15 @@ class VersionChangeTransaction( || current.versionCode != versionCode || current.gitRemote != gitRemote || current.commitHash != commitHash) { - database.versionChangeDao.insert(VersionChange( + database.versionChangeDao.insert( + VersionChange( timestamp = System.currentTimeMillis(), versionCode = versionCode, versionName = versionName, gitRemote = gitRemote, commitHash = commitHash - )) + ) + ) } } diff --git a/implementation/build.gradle b/implementation/build.gradle index 21b9282f74..12b853240a 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -18,6 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':automation') implementation project(':interfaces') diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index e638859e77..587270034b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -1,29 +1,29 @@ package info.nightscout.implementation -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.notifications.Notification -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt index 05799ef818..e446a7059c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation -import info.nightscout.core.main.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.TrendCalculator +import info.nightscout.core.main.R +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 6bfb75ed6c..993f5185b9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -4,17 +4,16 @@ import android.content.Context import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.shared.extensions.safeQueryBroadcastReceivers -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.extensions.safeQueryBroadcastReceivers +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 59e55dcaca..8ab7ace961 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,34 +1,24 @@ package info.nightscout.implementation.pump -import info.nightscout.core.main.R import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.TotalDailyDose -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertBolusWithTempIdTransaction -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampCarbsTransaction -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction -import info.nightscout.androidaps.database.transactions.InsertTemporaryBasalWithTempIdTransaction -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalTransaction -import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalTransactionWithPumpId -import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalWithTempIdTransaction -import info.nightscout.androidaps.database.transactions.SyncBolusWithTempIdTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpCancelExtendedBolusIfAnyTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpCancelTemporaryBasalIfAnyTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpExtendedBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpTemporaryBasalTransaction -import info.nightscout.androidaps.database.transactions.SyncPumpTotalDailyDoseTransaction -import info.nightscout.androidaps.database.transactions.SyncTemporaryBasalWithTempIdTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertBolusWithTempIdTransaction +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampCarbsTransaction +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.transactions.InsertTemporaryBasalWithTempIdTransaction +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransactionWithPumpId +import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalWithTempIdTransaction +import info.nightscout.database.impl.transactions.SyncBolusWithTempIdTransaction +import info.nightscout.database.impl.transactions.SyncPumpBolusTransaction +import info.nightscout.database.impl.transactions.SyncPumpCancelExtendedBolusIfAnyTransaction +import info.nightscout.database.impl.transactions.SyncPumpCancelTemporaryBasalIfAnyTransaction +import info.nightscout.database.impl.transactions.SyncPumpExtendedBolusTransaction +import info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction +import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction import info.nightscout.androidaps.extensions.fromDbPumpType import info.nightscout.androidaps.extensions.toDbPumpType import info.nightscout.androidaps.extensions.toDbSource @@ -37,9 +27,19 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.core.main.R +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpType import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index c4b984e8a4..014996b3ee 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -10,11 +10,8 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -29,6 +26,9 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.interfaces.end import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index d0169bb2db..bc37d95512 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.ValueWrapper +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Config diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index 27496e697e..8f62064ced 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -4,7 +4,7 @@ import android.annotation.SuppressLint import android.content.Context import android.view.ViewGroup import android.widget.TableLayout -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index 33b7d2c55c..5731f6aab9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -8,25 +8,24 @@ import android.view.ViewGroup import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.toTableRow import info.nightscout.androidaps.extensions.toTableRowHeader import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.utils.T +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.implementation.R +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index 11bd1dd255..9c62357b90 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -9,7 +9,7 @@ import android.view.ViewGroup import android.widget.TableLayout import android.widget.TextView import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 693e5b0a30..6e2012ecd1 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,14 +4,14 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 5fde100e47..6767efaba0 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -8,15 +8,15 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.Bolus import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCustomCommand diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index 4a57c089d5..415f774342 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -6,7 +6,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission diff --git a/openhumans/build.gradle b/openhumans/build.gradle index e6736d3ad3..a2b03cecaa 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -18,6 +18,7 @@ android { dependencies { implementation project(':core:core-main') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':interfaces') implementation project(':app-wear-shared:rx') diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index dc5788bee6..59ac4b7fa4 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -9,21 +9,29 @@ import android.util.DisplayMetrics import android.view.WindowManager import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import androidx.work.* +import androidx.work.BackoffPolicy +import androidx.work.Constraints +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.ExistingWorkPolicy +import androidx.work.ForegroundInfo +import androidx.work.NetworkType +import androidx.work.OneTimeWorkRequestBuilder +import androidx.work.PeriodicWorkRequestBuilder +import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.interfaces.TraceableDBEntry +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.rx.logging.AAPSLogger import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHStateDelegate import info.nightscout.androidaps.plugin.general.openhumans.ui.OHFragment import info.nightscout.androidaps.plugin.general.openhumans.ui.OHLoginActivity +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.interfaces.TraceableDBEntry +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginDescription import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -36,7 +44,9 @@ import org.json.JSONObject import java.io.ByteArrayOutputStream import java.security.MessageDigest import java.text.SimpleDateFormat -import java.util.* +import java.util.Locale +import java.util.TimeZone +import java.util.UUID import java.util.concurrent.TimeUnit import java.util.zip.ZipEntry import java.util.zip.ZipOutputStream diff --git a/plugins/build.gradle b/plugins/build.gradle index 2578589722..b2a00d7926 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -18,6 +18,7 @@ android { dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':graphview') implementation project(':core:core-main') diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 7020d10943..4f8fd1a4ab 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -21,8 +21,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile @@ -31,6 +29,8 @@ import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.MidnightTime diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index b19aeb96c8..70f3611d92 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -2,30 +2,30 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.plugins.sync.nsclient.extensions.toJson -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.Constants import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index ffd4f5545f..9043b0605e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -4,25 +4,22 @@ import android.view.View import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Autotune -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.shared.utils.DateUtil +import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Autotune +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.PluginDescription +import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.utils.T -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose @@ -32,7 +29,10 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged 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 info.nightscout.shared.utils.T import org.json.JSONException import org.json.JSONObject import java.util.TimeZone diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt index 0e6e88aada..37792897b3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt @@ -1,13 +1,11 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.data.LocalInsulin -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.BGDatum @@ -16,6 +14,8 @@ import info.nightscout.plugins.general.autotune.data.DiaDeviation import info.nightscout.plugins.general.autotune.data.PeakDeviation import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 326a9bcb8d..3148854abf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -1,27 +1,27 @@ package info.nightscout.plugins.general.autotune.data import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.data.Block import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.main.R +import info.nightscout.database.entities.data.Block import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt index 6be309eb58..a9337d87ff 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.general.autotune.data -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.GlucoseValue.TrendArrow +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue.TrendArrow import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.json.JSONException diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 7a57274a65..9327ed76d0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -12,16 +12,16 @@ import android.widget.ArrayAdapter import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.transactions.InvalidateFoodTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateFoodTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ActivityNames import info.nightscout.plugins.R import info.nightscout.plugins.databinding.FoodFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index 1a154ef176..cafe8e9c0e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -5,19 +5,19 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.transactions.SyncNsFoodTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.SyncNsFoodTransaction import info.nightscout.androidaps.extensions.foodFromJson +import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.Food import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R 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 org.json.JSONObject import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 48d0084c44..3ae44eb019 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -13,16 +13,11 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.database.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin @@ -41,6 +36,11 @@ import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.Constraint diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index 33a53bf472..41cd2a3ace 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -13,12 +13,12 @@ import android.view.WindowManager import com.google.common.primitives.Ints.min import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.SmsCommunicator import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SmscommunicatorActivityOtpBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt index 58679ba98a..7a1c3321db 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt @@ -6,10 +6,9 @@ import android.util.AttributeSet import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.database.entities.Bolus import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.database.entities.Bolus import info.nightscout.shared.utils.T -import java.util.* import kotlin.math.floor class ActivityGraph : GraphView { diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 8999ce4d78..3fac0105ab 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -1,23 +1,23 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.Iob -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.interfaces.data.Iob import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import kotlin.math.exp import kotlin.math.pow diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index 141c97d3de..c9c41de409 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -11,8 +11,6 @@ import android.widget.ArrayAdapter import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction @@ -22,6 +20,8 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index bbd9fa5650..dcb28c108c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -14,12 +14,8 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InvalidateGlucoseValueTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString @@ -29,6 +25,10 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.PluginBase import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SourceFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index 46658494b0..a82ce7769b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -5,16 +5,16 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Config +import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index 9f15c82c92..f1b792a522 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -13,12 +13,12 @@ import android.widget.ScrollView import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.entities.UserEntry import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.PluginBase diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index a0161b55ff..99c60525e3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -5,39 +5,39 @@ import android.os.SystemClock import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CgmSourceTransaction -import info.nightscout.androidaps.database.transactions.SyncNsBolusCalculatorResultTransaction -import info.nightscout.androidaps.database.transactions.SyncNsBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncNsCarbsTransaction -import info.nightscout.androidaps.database.transactions.SyncNsEffectiveProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.SyncNsExtendedBolusTransaction -import info.nightscout.androidaps.database.transactions.SyncNsOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.SyncNsProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTemporaryBasalTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTemporaryTargetTransaction -import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction -import info.nightscout.androidaps.database.transactions.UserEntryTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.SyncNsBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.SyncNsBolusTransaction +import info.nightscout.database.impl.transactions.SyncNsCarbsTransaction +import info.nightscout.database.impl.transactions.SyncNsEffectiveProfileSwitchTransaction +import info.nightscout.database.impl.transactions.SyncNsExtendedBolusTransaction +import info.nightscout.database.impl.transactions.SyncNsOfflineEventTransaction +import info.nightscout.database.impl.transactions.SyncNsProfileSwitchTransaction +import info.nightscout.database.impl.transactions.SyncNsTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.SyncNsTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.SyncNsTherapyEventTransaction +import info.nightscout.database.impl.transactions.UserEntryTransaction import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.notifications.Notification import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin @@ -521,9 +521,10 @@ class StoreDataForDb @Inject constructor( UserEntryTransaction.Entry( dateUtil.now(), action, UserEntry.Sources.NSClient, therapyEvent.note ?: "", - listOf(ValueWithUnit.Timestamp(therapyEvent.timestamp), - ValueWithUnit.TherapyEventType(therapyEvent.type), - ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) + listOf( + ValueWithUnit.Timestamp(therapyEvent.timestamp), + ValueWithUnit.TherapyEventType(therapyEvent.type), + ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) ) ) aapsLogger.debug(LTag.DATABASE, "Inserted TherapyEvent $therapyEvent") @@ -534,9 +535,10 @@ class StoreDataForDb @Inject constructor( UserEntryTransaction.Entry( dateUtil.now(), UserEntry.Action.CAREPORTAL_REMOVED, UserEntry.Sources.NSClient, therapyEvent.note ?: "", - listOf(ValueWithUnit.Timestamp(therapyEvent.timestamp), - ValueWithUnit.TherapyEventType(therapyEvent.type), - ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) + listOf( + ValueWithUnit.Timestamp(therapyEvent.timestamp), + ValueWithUnit.TherapyEventType(therapyEvent.type), + ValueWithUnit.fromGlucoseUnit(therapyEvent.glucose ?: 0.0, therapyEvent.glucoseUnit.toString).takeIf { therapyEvent.glucose != null }) ) ) aapsLogger.debug(LTag.DATABASE, "Invalidated TherapyEvent $therapyEvent") diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 2b85ca8620..1871cdff35 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -1,25 +1,25 @@ package info.nightscout.plugins.sync.nsclient -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.DeviceStatus -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.Food -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.extensions.toJson +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.Food +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.TherapyEvent import info.nightscout.plugins.R import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsclient.extensions.toJson diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt index 83acdf14c2..cd727653e3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt @@ -2,13 +2,13 @@ package info.nightscout.plugins.sync.nsclient.data import android.content.Context import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Action import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Action import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt index 3dd977809e..54bd29fa90 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt @@ -1,15 +1,14 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject fun Bolus.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() - .put("eventType", if (type == Bolus.Type.SMB) TherapyEvent.Type.CORRECTION_BOLUS.text else TherapyEvent.Type.MEAL_BOLUS.text) + .put("eventType", if (type == Bolus.Type.SMB) info.nightscout.database.entities.TherapyEvent.Type.CORRECTION_BOLUS.text else info.nightscout.database.entities.TherapyEvent.Type.MEAL_BOLUS.text) .put("insulin", amount) .put("created_at", dateUtil.toISOString(timestamp)) .put("date", timestamp) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt index 3e588b8723..4ca0a041d4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt @@ -1,15 +1,14 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject fun Carbs.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() - .put("eventType", if (amount < 12) TherapyEvent.Type.CARBS_CORRECTION.text else TherapyEvent.Type.MEAL_BOLUS.text) + .put("eventType", if (amount < 12) info.nightscout.database.entities.TherapyEvent.Type.CARBS_CORRECTION.text else info.nightscout.database.entities.TherapyEvent.Type.MEAL_BOLUS.text) .put("carbs", amount) .put("notes", notes) .put("created_at", dateUtil.toISOString(timestamp)) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index f973198253..93acb73248 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.utils.extensions import android.os.Build -import info.nightscout.androidaps.database.entities.DeviceStatus import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.database.entities.DeviceStatus import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt index 5c0c6929eb..d4f0702c3b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt @@ -1,13 +1,12 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject fun EffectiveProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = @@ -15,7 +14,7 @@ fun EffectiveProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObjec .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") .put("isValid", isValid) - .put("eventType", TherapyEvent.Type.NOTE.text) // move to separate collection when available in NS + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.NOTE.text) // move to separate collection when available in NS .put("profileJson", ProfileSealed.EPS(this).toPureNsJson(dateUtil).toString()) .put("originalProfileName", originalProfileName) .put("originalCustomizedName", originalCustomizedName) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt index 03e45f2c1a..72803e5e17 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt @@ -1,14 +1,12 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.plugins.sync.nsclient.extensions.toJson +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun ExtendedBolus.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = @@ -22,7 +20,7 @@ fun ExtendedBolus.toRealJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") - .put("eventType", TherapyEvent.Type.COMBO_BOLUS.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.COMBO_BOLUS.text) .put("duration", T.msecs(duration).mins()) .put("durationInMilliseconds", duration) .put("splitNow", 0) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt index 704a47da3f..dcfca67c87 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt @@ -1,18 +1,17 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.OfflineEvent -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun OfflineEvent.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") - .put("eventType", TherapyEvent.Type.APS_OFFLINE.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.APS_OFFLINE.text) .put("isValid", isValid) .put("duration", T.msecs(duration).mins()) .put("durationInMilliseconds", duration) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt index ac2b9378b3..03efb14c17 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt @@ -1,16 +1,15 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ProfileSwitch -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONObject fun ProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = @@ -24,7 +23,7 @@ fun ProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") .put("isValid", isValid) - .put("eventType", TherapyEvent.Type.PROFILE_SWITCH.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.PROFILE_SWITCH.text) .also { // remove customization to store original profileJson in toPureNsJson call timeshift = 0 percentage = 100 diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt index eb2cc38596..25e6c352d3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt @@ -1,21 +1,20 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.TemporaryBasal.Type.Companion.fromString -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal.Type.Companion.fromString +import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun TemporaryBasal.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") - .put("eventType", TherapyEvent.Type.TEMPORARY_BASAL.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.TEMPORARY_BASAL.text) .put("isValid", isValid) .put("duration", T.msecs(duration).mins()) .put("durationInMilliseconds", duration) // rounded duration leads to different basal IOB diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt index 601edffeab..6034f4d930 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt @@ -1,13 +1,12 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject fun temporaryTargetFromJson(jsonObject: JSONObject): TemporaryTarget? { @@ -50,7 +49,7 @@ fun temporaryTargetFromJson(jsonObject: JSONObject): TemporaryTarget? { fun TemporaryTarget.toJson(isAdd: Boolean, units: GlucoseUnit, dateUtil: DateUtil): JSONObject = JSONObject() - .put("eventType", TherapyEvent.Type.TEMPORARY_TARGET.text) + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.TEMPORARY_TARGET.text) .put("duration", T.msecs(duration).mins()) .put("durationInMilliseconds", duration) .put("isValid", isValid) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt index ce2bf354e8..a3bab73543 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.core.main.R -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.sync.nsclient.data.NSMbg import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index 5f604a7199..0c5ff7bd2f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -16,7 +16,7 @@ import com.google.gson.GsonBuilder import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt index aa9fcd4bed..6fa6f7ed50 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt @@ -6,21 +6,20 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.DeviceStatus -import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusCalculatorResultTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdCarbsTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdDeviceStatusTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdEffectiveProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdExtendedBolusTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdFoodTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdGlucoseValueTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdProfileSwitchTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryBasalTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryTargetTransaction -import info.nightscout.androidaps.database.transactions.UpdateNsIdTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.UpdateNsIdBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdBolusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdCarbsTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdDeviceStatusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdEffectiveProfileSwitchTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdExtendedBolusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdFoodTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdGlucoseValueTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdOfflineEventTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdProfileSwitchTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTherapyEventTransaction import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult @@ -35,8 +34,9 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.DeviceStatus +import info.nightscout.interfaces.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.acks.NSAddAck @@ -278,7 +278,7 @@ class NSClientAddAckWorker( dataSyncSelector.processChangedEffectiveProfileSwitchesCompat() } - is DeviceStatus -> { + is DeviceStatus -> { val deviceStatus = ack.originalObject deviceStatus.interfaceIDs.nightscoutId = ack.id repository.runTransactionForResult(UpdateNsIdDeviceStatusTransaction(deviceStatus)) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index 18453033ef..1ccae0ac76 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -5,13 +5,13 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.VirtualPump diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt index 056b0870c3..5b73bcbec9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt index a79c4988ec..8104579e72 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import com.google.gson.Gson import com.google.gson.JsonSyntaxException -import info.nightscout.androidaps.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.sdk.localmodel.treatment.NSBolusWizard fun NSBolusWizard.toBolusCalculatorResult(): BolusCalculatorResult? = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt index bcd88ed1d5..23746cd94c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSBolus fun NSBolus.toBolus(): Bolus = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt index 4dc2bdac3a..25fed82df8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSCarbs fun NSCarbs.toCarbs(): Carbs = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt index dcc9102f07..28c5db62d5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.plugins.sync.nsclient.extensions.fromConstant import info.nightscout.sdk.localmodel.treatment.NSEffectiveProfileSwitch import info.nightscout.shared.utils.DateUtil diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt index 5a5c3e2303..c2dfeaa81b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ExtendedBolus +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSExtendedBolus fun NSExtendedBolus.toExtendedBolus(): ExtendedBolus = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt index 3bfa4ce2ba..0c1bd0151c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.OfflineEvent +import info.nightscout.database.entities.OfflineEvent +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSOfflineEvent fun NSOfflineEvent.toOfflineEvent(): OfflineEvent = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt index 8ed408fa57..2be54849db 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.ProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt index 71dc0651d7..78463fd7a2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSTemporaryBasal fun NSTemporaryBasal.toTemporaryBasal(): TemporaryBasal = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt index 17445fe2bf..066ea18e19 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TemporaryTarget +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSTemporaryTarget fun NSTemporaryTarget.toTemporaryTarget(): TemporaryTarget = diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt index ea94e4a770..b6e7644ade 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions -import info.nightscout.androidaps.database.embedments.InterfaceIDs -import info.nightscout.androidaps.database.entities.TherapyEvent +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.entry.NsUnits import info.nightscout.sdk.localmodel.treatment.EventType import info.nightscout.sdk.localmodel.treatment.NSTherapyEvent diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index 981497f58a..b8dbc5c553 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -5,7 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.database.AppRepository +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt index 4f8056b8bd..bf07c91769 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch -import info.nightscout.androidaps.database.entities.TemporaryBasal +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.TemporaryBasal import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.elements.BasalElement import info.nightscout.plugins.sync.tidepool.elements.BaseElement diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt index cc92b0ebe0..b8788db10f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.database.entities.TemporaryBasal import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.database.entities.TemporaryBasal import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt index c4c919ccc3..8ff50b4757 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt @@ -1,8 +1,8 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.database.entities.TherapyEvent import info.nightscout.plugins.sync.nsclient.extensions.toMainUnit import info.nightscout.shared.utils.DateUtil import java.util.LinkedList diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt index 4918d735e8..f25ff9868d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.database.entities.Bolus +import info.nightscout.database.entities.Bolus import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt index f247ecbbf5..5bb9a5b151 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt @@ -2,8 +2,8 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt index f7fb4ef6dd..c7cea855d7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.entities.GlucoseValue import info.nightscout.shared.utils.DateUtil import java.util.LinkedList import java.util.UUID diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt index b53252edc0..603e443add 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt @@ -1,8 +1,8 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 693e5b0a30..6e2012ecd1 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,14 +4,14 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index ed30a2a16e..96a9d91b02 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -3,10 +3,10 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.database.entities.GlucoseValue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constraint import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index a6ab41e52b..fb9a4946c9 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -5,16 +5,16 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 8e2efcd58e..26785eebbe 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -6,23 +6,23 @@ import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.data.Block -import info.nightscout.androidaps.database.data.TargetBlock -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.shiftBlock -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.entities.data.Block +import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.shared.utils.T import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONArray import org.json.JSONObject import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 9b6ec2df22..cf18f7b6e9 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -3,40 +3,40 @@ package info.nightscout.plugins.general.smsCommunicator import android.telephony.SmsManager import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.GlucoseValue -import info.nightscout.androidaps.database.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.androidaps.database.transactions.Transaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileSource -import info.nightscout.interfaces.pump.PumpDescription import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.pump.PumpType -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.core.Single import org.junit.Assert import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 3d9e6a06c4..3df05ad905 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -2,15 +2,15 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index e78198d09d..9018ca694a 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -24,6 +24,7 @@ dependencies { implementation project(':libraries') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':core:core-main') implementation project(':core:fabric') diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 141bc8d846..de98f59aff 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -33,6 +33,7 @@ android { } dependencies { + implementation project(':database:entities') implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index cbf0d8cb7e..f786ed4281 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -26,6 +26,7 @@ android { } dependencies { + implementation project(':database:entities') implementation project(':database:impl') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/settings.gradle b/settings.gradle index 32c50837b6..ed3443202c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,6 @@ include ':app' include ':wear' +include ':database:entities' include ':database:impl' include ':core:core-main' include ':core:fabric' diff --git a/ui/build.gradle b/ui/build.gradle index 1d4809a88c..354d748ae2 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':graphview') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':database:entities') implementation project(':database:impl') implementation project(':core:core-main') implementation project(':core:fabric') diff --git a/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt index e45d57feea..968b2c13fe 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ErrorHelperActivity.kt @@ -6,8 +6,8 @@ import android.os.Bundle import androidx.annotation.RawRes import info.nightscout.androidaps.activities.DialogAppCompatActivity import info.nightscout.core.main.R -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.dialogs.ErrorDialog import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.shared.sharedPreferences.SP diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 4e1933517f..14fe7b7a77 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -4,14 +4,14 @@ import android.annotation.SuppressLint import android.os.Bundle import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityStatsBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index c716e7dab4..f2d6d404fe 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,8 +15,7 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TotalDailyDose +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.interfaces.ActivePlugin @@ -24,6 +23,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R +import info.nightscout.database.entities.TotalDailyDose import info.nightscout.interfaces.pump.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 91d375a83e..5dcbcb9f68 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -16,17 +16,11 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.Bolus -import info.nightscout.androidaps.database.entities.BolusCalculatorResult -import info.nightscout.androidaps.database.entities.Carbs -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.CutCarbsTransaction -import info.nightscout.androidaps.database.transactions.InvalidateBolusCalculatorResultTransaction -import info.nightscout.androidaps.database.transactions.InvalidateBolusTransaction -import info.nightscout.androidaps.database.transactions.InvalidateCarbsTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CutCarbsTransaction +import info.nightscout.database.impl.transactions.InvalidateBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.InvalidateBolusTransaction +import info.nightscout.database.impl.transactions.InvalidateCarbsTransaction import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.interfaces.ActivePlugin @@ -36,6 +30,12 @@ import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 20c633edc4..9ae4c2e714 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -14,19 +14,19 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InvalidateAAPSStartedTherapyEventTransaction -import info.nightscout.androidaps.database.transactions.InvalidateTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateAAPSStartedTherapyEventTransaction +import info.nightscout.database.impl.transactions.InvalidateTherapyEventTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index bdc86cc466..4ccfcc74d0 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -15,13 +15,8 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.interfaces.end -import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.interfaces.ActivePlugin @@ -31,6 +26,11 @@ import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.interfaces.end import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 4761dfbb33..878f8187f3 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -17,11 +17,8 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InvalidateProfileSwitchTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData @@ -32,6 +29,9 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index e56ab42886..020ed558c6 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -15,14 +15,9 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.interfaces.end -import info.nightscout.androidaps.database.transactions.InvalidateTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InvalidateTemporaryTargetTransaction import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.friendlyDescription @@ -35,6 +30,11 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 2a5298df25..84c10618b8 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -16,16 +16,10 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.IobTotal -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.ValueWrapper -import info.nightscout.androidaps.database.entities.ExtendedBolus -import info.nightscout.androidaps.database.entities.TemporaryBasal -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.interfaces.end -import info.nightscout.androidaps.database.transactions.InvalidateExtendedBolusTransaction -import info.nightscout.androidaps.database.transactions.InvalidateTemporaryBasalTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction +import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal @@ -36,6 +30,12 @@ import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.interfaces.end import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventTempBasalChange diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index 60e7a27fd5..b719e71300 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -12,10 +12,7 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -23,6 +20,9 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index 072760124b..dc9e12f41f 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -6,23 +6,23 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import dagger.android.HasAndroidInjector -import info.nightscout.ui.R -import info.nightscout.ui.databinding.DialogCalibrationBinding -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogCalibrationBinding import java.text.DecimalFormat -import java.util.* +import java.util.LinkedList import javax.inject.Inject class CalibrationDialog : DialogFragmentWithDate() { diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 6e468daacc..9ee87d9378 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -9,38 +9,37 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TemporaryTarget -import info.nightscout.androidaps.database.entities.UserEntry.Action -import info.nightscout.androidaps.database.entities.UserEntry.Sources -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry.Action +import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.CarbTimer +import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogCarbsBinding import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 862d85184d..a64eccf599 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -10,26 +10,25 @@ import android.view.ViewGroup import androidx.annotation.StringRes import com.google.common.base.Joiner import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.database.AppRepository -import info.nightscout.androidaps.database.entities.TherapyEvent -import info.nightscout.androidaps.database.entities.UserEntry -import info.nightscout.androidaps.database.entities.ValueWithUnit -import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogCareBinding import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index 758a156c4c..93734121ab 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -7,14 +7,14 @@ import android.view.ViewGroup import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.database.entities.BolusCalculatorResult import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.interfaces.Constants import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.Constants import info.nightscout.ui.R import info.nightscout.ui.databinding.DialogWizardinfoBinding import org.json.JSONObject diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 6694f86066..2ca80b0d34 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -13,31 +13,30 @@ import android.os.HandlerThread import android.view.View import android.widget.RemoteViews import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.interfaces.end import info.nightscout.androidaps.extensions.directionToIcon -import info.nightscout.shared.extensions.toVisibility import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.Config import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.TrendCalculator -import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.R import java.util.Locale import javax.inject.Inject diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 693e5b0a30..6e2012ecd1 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,14 +4,14 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.database.embedments.InsulinConfiguration -import info.nightscout.androidaps.database.entities.EffectiveProfileSwitch import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper From e49feeb736eabb6b64484ccf025d559432f02dcc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 22:30:12 +0000 Subject: [PATCH 032/123] chore(deps): bump kotlin_version from 1.7.20 to 1.7.21 Bumps `kotlin_version` from 1.7.20 to 1.7.21. Updates `kotlin-gradle-plugin` from 1.7.20 to 1.7.21 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.21/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.20...v1.7.21) Updates `kotlin-allopen` from 1.7.20 to 1.7.21 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.21/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.20...v1.7.21) Updates `kotlin-serialization` from 1.7.20 to 1.7.21 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.21/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.20...v1.7.21) Updates `kotlin-stdlib-jdk8` from 1.7.20 to 1.7.21 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.21/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.20...v1.7.21) Updates `kotlin-reflect` from 1.7.20 to 1.7.21 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.21/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.20...v1.7.21) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin:kotlin-allopen dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin:kotlin-serialization dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk8 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin:kotlin-reflect dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c4af65575f..bff6402cc5 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = '1.7.20' + kotlin_version = '1.7.21' core_version = '1.9.0' rxjava_version = '3.1.5' rxandroid_version = '3.0.0' From 6d2c0ed5aaa115495a74734d0a69baee49ec1a69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 08:01:39 +0000 Subject: [PATCH 033/123] chore(deps): bump firebase-bom from 30.5.0 to 31.0.2 Bumps firebase-bom from 30.5.0 to 31.0.2. --- updated-dependencies: - dependency-name: com.google.firebase:firebase-bom dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- core/fabric/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/fabric/build.gradle b/core/fabric/build.gradle index df0915c06c..e7229db4cb 100644 --- a/core/fabric/build.gradle +++ b/core/fabric/build.gradle @@ -24,7 +24,7 @@ dependencies { implementation project(':app-wear-shared:shared') //Firebase - api platform('com.google.firebase:firebase-bom:30.5.0') + api platform('com.google.firebase:firebase-bom:31.0.2') api "com.google.firebase:firebase-analytics-ktx" api "com.google.firebase:firebase-crashlytics-ktx" // StatsActivity not in use now From 5f0701d7ba85d33794faf9d21744e1f59f6d3c27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 08:01:51 +0000 Subject: [PATCH 034/123] chore(deps): bump rxandroid from 3.0.1 to 3.0.2 Bumps [rxandroid](https://github.com/ReactiveX/RxAndroid) from 3.0.1 to 3.0.2. - [Release notes](https://github.com/ReactiveX/RxAndroid/releases) - [Changelog](https://github.com/ReactiveX/RxAndroid/blob/3.x/CHANGES.md) - [Commits](https://github.com/ReactiveX/RxAndroid/compare/3.0.1...3.0.2) --- updated-dependencies: - dependency-name: io.reactivex.rxjava3:rxandroid dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7b491b8202..4133317d57 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { kotlin_version = '1.7.21' core_version = '1.9.0' rxjava_version = '3.1.5' - rxandroid_version = '3.0.1' + rxandroid_version = '3.0.2' rxkotlin_version = '3.0.1' room_version = '2.4.3' lifecycle_version = '2.5.1' From 886dc6d0a4551ae9e5cbffd1542963f173902e0e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 09:40:49 +0100 Subject: [PATCH 035/123] DetailedBolusInfo -> interfaces --- .../androidaps/dialogs/FillDialog.kt | 2 +- .../androidaps/dialogs/InsulinDialog.kt | 7 ++--- .../androidaps/dialogs/LoopDialog.kt | 2 +- .../androidaps/dialogs/TempBasalDialog.kt | 2 +- .../androidaps/dialogs/TreatmentDialog.kt | 6 +++-- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 4 +-- .../constraints/safety/SafetyPlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 2 +- .../general/overview/StatusLightHandler.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 4 +-- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- .../interfaces/ConstraintsCheckerTest.kt | 2 +- .../plugins/aps/loop/LoopPluginTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 2 +- .../utils/wizard/BolusWizardTest.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- build.gradle | 2 +- .../androidaps/interfaces/CommandQueue.kt | 2 +- .../nightscout/androidaps/interfaces/Pump.kt | 8 +++--- .../androidaps/interfaces/PumpSync.kt | 4 +-- .../androidaps/plugins/aps/loop/APSResult.kt | 2 +- .../bolusInfo/DetailedBolusInfoStorage.kt | 5 ++-- .../DetailedBolusInfoExtension.kt | 26 +++++++++++++++++++ .../pumpExtensions}/PumpStateExtension.kt | 5 ++-- .../pumpExtensions}/PumpTypeExtension.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- .../androidaps/data/DetailedBolusInfoTest.kt | 3 +++ .../interfaces/PumpDescriptionTest.kt | 8 +++--- .../plugins/aps/loop/APSResultTest.kt | 2 +- .../bolusInfo/DetailedBolusInfoStorageTest.kt | 2 +- .../pump/PumpSyncImplementation.kt | 4 +-- .../queue/CommandQueueImplementation.kt | 3 ++- .../queue/commands/CommandBolus.kt | 2 +- .../queue/commands/CommandSMBBolus.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- .../queue/CommandQueueImplementationTest.kt | 2 +- .../implementation/queue/QueueThreadTest.kt | 2 +- .../pump/insight/LocalInsightPlugin.java | 8 +++--- interfaces/build.gradle | 1 + .../interfaces/pump}/DetailedBolusInfo.kt | 25 ++---------------- .../pump/{ => defs}/DoseSettings.kt | 2 +- .../pump/{ => defs}/DoseStepSize.kt | 17 +++++++----- .../pump/{ => defs}/ManufacturerType.kt | 2 +- .../pump/{ => defs}/PumpCapability.kt | 2 +- .../pump/{ => defs}/PumpDescription.kt | 2 +- .../pump/{ => defs}/PumpTempBasalType.kt | 2 +- .../interfaces/pump/{ => defs}/PumpType.kt | 2 +- .../{FileStrorage.kt => FileStorage.kt} | 0 .../configBuilder/RunningConfiguration.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 8 +++--- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- .../SmsCommunicatorPluginTest.kt | 4 +-- .../pump/virtual/VirtualPumpPluginUTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 8 +++--- .../androidaps/dana/DanaFragment.kt | 2 +- .../nightscout/androidaps/dana/DanaPump.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 2 +- .../activities/DanaUserOptionsActivity.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 4 +-- .../services/DanaRKoreanExecutionService.java | 2 +- .../androidaps/danaRv2/DanaRv2Plugin.java | 4 +-- .../danaRv2/comm/MsgHistoryEventsV2.kt | 2 +- .../services/DanaRv2ExecutionService.java | 2 +- .../androidaps/danar/AbstractDanaRPlugin.java | 4 +-- .../androidaps/danar/DanaRPlugin.java | 4 +-- .../danar/services/DanaRExecutionService.java | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- .../pump/danaR/comm/MsgSettingBasalTest.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 8 +++--- .../comm/DanaRSPacketAPSHistoryEvents.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 8 +++--- .../packet/BigLogInquireResponsePacket.kt | 6 ++--- .../BigMainInfoInquireResponsePacket.kt | 4 +-- .../diaconn/service/DiaconnG8Service.kt | 2 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 8 +++--- .../pump/eopatch/alarm/AlarmManager.kt | 2 +- .../pump/eopatch/ble/IPatchManager.java | 2 +- .../pump/eopatch/ble/PatchManager.java | 4 +-- .../pump/eopatch/ble/PatchManagerImpl.java | 4 +-- .../eopatch/ble/task/StartCalcBolusTask.java | 2 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 6 ++--- .../comm/MedtronicCommunicationManager.kt | 2 +- .../pump/medtronic/comm/MedtronicConverter.kt | 2 +- .../medtronic/data/MedtronicHistoryData.kt | 4 +-- .../pump/medtronic/data/dto/BasalProfile.kt | 2 +- .../medtronic/driver/MedtronicPumpStatus.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 8 +++--- .../pod/state/OmnipodDashPodStateManager.kt | 2 +- .../state/OmnipodDashPodStateManagerImpl.kt | 2 +- .../pump/omnipod/dash/history/data/Record.kt | 4 +-- .../omnipod/dash/ui/DashPodHistoryActivity.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 4 +-- .../pump/omnipod/dash/util/Functions.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 11 ++++---- .../eros/manager/AapsOmnipodErosManager.java | 7 ++--- .../eros/ui/ErosPodHistoryActivity.java | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 8 +++--- .../plugins/pump/common/data/PumpStatus.kt | 2 +- .../plugins/pump/common/sync/PumpDbEntry.kt | 13 +++++----- .../common/sync/PumpSyncEntriesCreator.java | 2 +- .../pump/common/sync/PumpSyncStorage.kt | 2 +- .../plugins/pump/common/utils/ProfileUtil.kt | 2 +- .../tasks/InitializePumpManagerTask.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- .../ui/elements}/EmptyRecyclerView.kt | 2 +- .../treatments_bolus_carbs_fragment.xml | 2 +- .../layout/treatments_careportal_fragment.xml | 2 +- .../treatments_extendedbolus_fragment.xml | 2 +- .../treatments_profileswitch_fragment.xml | 2 +- .../layout/treatments_tempbasals_fragment.xml | 2 +- .../layout/treatments_temptarget_fragment.xml | 2 +- .../layout/treatments_user_entry_fragment.xml | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 8 +++--- 118 files changed, 249 insertions(+), 228 deletions(-) create mode 100644 core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt rename core/core-main/src/main/java/info/nightscout/{androidaps/extensions => core/pumpExtensions}/PumpStateExtension.kt (95%) rename core/core-main/src/main/java/info/nightscout/{androidaps/extensions => core/pumpExtensions}/PumpTypeExtension.kt (99%) rename {core/core-main/src/main/java/info/nightscout/androidaps/data => interfaces/src/main/java/info/nightscout/interfaces/pump}/DetailedBolusInfo.kt (82%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/DoseSettings.kt (77%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/DoseStepSize.kt (84%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/ManufacturerType.kt (86%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/PumpCapability.kt (98%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/PumpDescription.kt (99%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/PumpTempBasalType.kt (57%) rename interfaces/src/main/java/info/nightscout/interfaces/pump/{ => defs}/PumpType.kt (99%) rename interfaces/src/main/java/info/nightscout/interfaces/storage/{FileStrorage.kt => FileStorage.kt} (100%) rename {core/core-main/src/main/java/info/nightscout/androidaps/extensions => ui/src/main/java/info/nightscout/ui/elements}/EmptyRecyclerView.kt (98%) diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 08bec3cf63..13d6b4970a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -7,7 +7,7 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.databinding.DialogFillBinding diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 85ce90fa01..4da736be18 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -9,9 +9,6 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogInsulinBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin @@ -27,15 +24,19 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 5ce44dc903..73d6a1c4e1 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -38,7 +38,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index 4cc9372866..ed6322fbc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -24,7 +24,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 5d899aaa02..397a10bbe0 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -9,8 +9,6 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.DialogTreatmentBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin @@ -22,12 +20,16 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.pumpExtensions.insertBolusTransaction +import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index f5d71a1f49..d19e234bc2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper @@ -56,7 +56,7 @@ import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index f1f0da7ed2..a1c5025ef8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -18,7 +18,7 @@ import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 9edba3b27b..2bf9222da3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -84,7 +84,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.general.overview.notifications.NotificationStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt index 7d41714441..f503b2090a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Config -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.plugins.sync.nsclient.extensions.age import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 965ddc4426..4e89584e82 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -4,7 +4,7 @@ import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index f0c350bc21..d60de392db 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -5,7 +5,7 @@ import android.text.Spanned import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertOrUpdateBolusCalculatorResultTransaction import info.nightscout.androidaps.extensions.formatColor @@ -35,7 +35,7 @@ import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 6d317c2037..257a6c9c02 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 0aa5358c57..d580768504 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -35,7 +35,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 6e43a490ca..4f23e8ab06 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -18,7 +18,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index a4d6fd6682..bcc97f28eb 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -8,7 +8,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 0e83d9f605..7efdc68d4c 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index deebd4bb08..b367dbc15c 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,18 +1,18 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger import org.json.JSONObject diff --git a/build.gradle b/build.gradle index 7b491b8202..870fdd0d11 100644 --- a/build.gradle +++ b/build.gradle @@ -70,7 +70,7 @@ plugins { id "io.gitlab.arturbosch.detekt" version "1.21.0" id "org.jlleitschuh.gradle.ktlint" version "11.0.0" id 'org.barfuin.gradle.jacocolog' version '2.0.0' - id 'org.jetbrains.kotlin.android' version '1.7.21' apply false + id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false } allprojects { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt index 672a825cdb..20cf7988e3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import android.text.Spanned -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.interfaces.queue.CustomCommand diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index c1f06346e8..ed84388ac4 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.DetailedBolusInfo -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.data.PumpEnactResult -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.queue.CustomCommand diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt index 3dde921289..4d5d7907a3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.entities.TemporaryBasal -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType /** * This interface allows pump drivers to push data changes (creation and update of treatments, temporary basals and extended boluses) back to AAPS-core. diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index f1c9096f8b..598bfe2953 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt index 4c97446250..e9579764c2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.core.pumpExtensions.toJsonString +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -19,7 +20,7 @@ class DetailedBolusInfoStorage @Inject constructor( @Synchronized fun add(detailedBolusInfo: DetailedBolusInfo) { - aapsLogger.debug("Stored bolus info: $detailedBolusInfo") + aapsLogger.debug("Stored bolus info: ${detailedBolusInfo.toJsonString()}") store.add(detailedBolusInfo) } diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt new file mode 100644 index 0000000000..2bf38f8193 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt @@ -0,0 +1,26 @@ +package info.nightscout.core.pumpExtensions + +import com.google.gson.Gson +import info.nightscout.database.impl.transactions.InsertOrUpdateBolusTransaction +import info.nightscout.database.impl.transactions.InsertOrUpdateCarbsTransaction +import info.nightscout.interfaces.pump.DetailedBolusInfo + +fun DetailedBolusInfo.insertCarbsTransaction(): InsertOrUpdateCarbsTransaction { + if (carbs == 0.0) throw IllegalStateException("carbs == 0.0") + return InsertOrUpdateCarbsTransaction(createCarbs()!!) +} + +fun DetailedBolusInfo.insertBolusTransaction(): InsertOrUpdateBolusTransaction { + if (insulin == 0.0) throw IllegalStateException("insulin == 0.0") + return InsertOrUpdateBolusTransaction(createBolus()!!) +} + +fun DetailedBolusInfo.toJsonString(): String = Gson().toJson(this) + +// Cannot access Companion extension from java so create common +fun DetailedBolusInfo.fromJsonString(json: String): DetailedBolusInfo = + Gson().fromJson(json, DetailedBolusInfo::class.java) + + + + diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt similarity index 95% rename from core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt index 755243fca2..b4d6bce4bc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpStateExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt @@ -2,9 +2,8 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil import kotlin.math.max @@ -56,7 +55,7 @@ fun PumpSync.PumpState.ExtendedBolus.getPassedDurationToTimeInMinutes(time: Long ((min(time, end) - timestamp) / 60.0 / 1000).roundToInt() fun PumpSync.PumpState.ExtendedBolus.toStringFull(dateUtil: DateUtil): String = - "E " + to2Decimal(rate) + "U/h @" + + "E " + DecimalFormatter.to2Decimal(rate) + "U/h @" + dateUtil.timeString(timestamp) + " " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + T.msecs(duration).mins() + "min" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt similarity index 99% rename from core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt index 0514020c57..f423372b92 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/PumpTypeExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.extensions import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.embedments.InterfaceIDs -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType fun PumpType.Companion.fromDbSource(s: UserEntry.Sources): PumpType.Source = when (s) { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 6d317c2037..257a6c9c02 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt index 8a47986297..1ad9c94645 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt @@ -2,9 +2,12 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase +import info.nightscout.core.pumpExtensions.fromJsonString +import info.nightscout.core.pumpExtensions.toJsonString import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.pump.DetailedBolusInfo import org.apache.commons.lang3.builder.EqualsBuilder import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt index f46f2e0daa..e845e45d73 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.interfaces.pump.PumpCapability -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpTempBasalType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpCapability +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpTempBasalType +import info.nightscout.interfaces.pump.defs.PumpType import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index 5e9f4108ec..a3b08207e6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.entities.TemporaryBasal import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert import org.junit.Before diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt index e6d0c7ac4e..1bec2f8fcc 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/DetailedBolusInfoStorageTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.pump.bolusInfo import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import org.junit.Assert.assertEquals import org.junit.Assert.assertNull diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 8ab7ace961..462e3c3115 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,6 +1,6 @@ package info.nightscout.implementation.pump -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.InsertBolusWithTempIdTransaction @@ -39,7 +39,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 014996b3ee..6c4186909f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -7,12 +7,13 @@ import android.text.Spanned import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.dialogs.BolusProgressDialog +import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index f2835e0849..b29702ebea 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index fb53e43d46..1504be8a80 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 6d317c2037..257a6c9c02 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 6767efaba0..33ea916bbf 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -6,7 +6,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index 415f774342..30ce88d798 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -12,7 +12,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.queue.commands.Command diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 01d07e6819..f4e20c86ac 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.insight.R; @@ -47,17 +47,17 @@ import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.PumpDescription; +import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.ManufacturerType; +import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.HistoryReadingDirection; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.ReadHistoryEventsMessage; diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 3e5bcf62be..99cb129e22 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -23,6 +23,7 @@ dependencies { // (ResourceHelper, AAPSLogger interface) implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:rx') + implementation project(':database:entities') api "androidx.appcompat:appcompat:$appcompat_version" api "androidx.preference:preference-ktx:$preferencektx_version" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt similarity index 82% rename from core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt index 74c62f0fb3..7e3f67e63b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt @@ -1,14 +1,11 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.pump import android.content.Context -import com.google.gson.Gson -import info.nightscout.database.impl.transactions.InsertOrUpdateBolusTransaction -import info.nightscout.database.impl.transactions.InsertOrUpdateCarbsTransaction import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.TherapyEvent -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType class DetailedBolusInfo { @@ -120,19 +117,6 @@ class DetailedBolusInfo { ) else null - fun insertCarbsTransaction(): InsertOrUpdateCarbsTransaction { - if (carbs == 0.0) throw IllegalStateException("carbs == 0.0") - return InsertOrUpdateCarbsTransaction(createCarbs()!!) - } - - fun insertBolusTransaction(): InsertOrUpdateBolusTransaction { - if (insulin == 0.0) throw IllegalStateException("insulin == 0.0") - return InsertOrUpdateBolusTransaction(createBolus()!!) - } - - fun toJsonString(): String = - Gson().toJson(this) - fun copy(): DetailedBolusInfo { val n = DetailedBolusInfo() n.insulin = insulin @@ -159,11 +143,6 @@ class DetailedBolusInfo { return n } - override fun toString(): String = toJsonString() - companion object { - - fun fromJsonString(json: String): DetailedBolusInfo = - Gson().fromJson(json, DetailedBolusInfo::class.java) } } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseSettings.kt similarity index 77% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseSettings.kt index 5a6193a7fd..2447c3d99f 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseSettings.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseSettings.kt @@ -1,3 +1,3 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs class DoseSettings constructor(val step: Double, val durationStep: Int, val maxDuration: Int, val minDose: Double, val maxDose: Double = Double.MAX_VALUE) \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseStepSize.kt similarity index 84% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseStepSize.kt index d414146cca..ba48c0b716 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/DoseStepSize.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/DoseStepSize.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs import java.util.Locale @@ -7,24 +7,29 @@ enum class DoseStepSize(private val entries: Array) { ComboBasal(arrayOf( DoseStepSizeEntry(0.0, 1.0, 0.01), DoseStepSizeEntry(1.0, 10.0, 0.05), - DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.1))), + DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.1) + )), InsightBolus(arrayOf( DoseStepSizeEntry(0.0, 2.0, 0.05), DoseStepSizeEntry(2.0, 5.0, 0.1), DoseStepSizeEntry(5.0, 10.0, 0.2), - DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.5))), + DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.5) + )), InsightBasal(arrayOf( DoseStepSizeEntry(0.0, 5.0, 0.01), - DoseStepSizeEntry(5.0, Double.MAX_VALUE, 0.1))), + DoseStepSizeEntry(5.0, Double.MAX_VALUE, 0.1) + )), MedtronicVeoBasal(arrayOf( DoseStepSizeEntry(0.0, 1.0, 0.025), DoseStepSizeEntry(1.0, 10.0, 0.05), - DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.1))), + DoseStepSizeEntry(10.0, Double.MAX_VALUE, 0.1) + )), YpsopumpBasal(arrayOf( DoseStepSizeEntry(0.0, 1.0, 0.01), DoseStepSizeEntry(1.0, 2.0, 0.02), DoseStepSizeEntry(2.0, 15.0, 0.1), - DoseStepSizeEntry(15.0, 40.0, 0.5)) + DoseStepSizeEntry(15.0, 40.0, 0.5) + ) ); fun getStepSizeForAmount(amount: Double): Double { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/ManufacturerType.kt similarity index 86% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/ManufacturerType.kt index fd197fee3d..ddecad988c 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/ManufacturerType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/ManufacturerType.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs enum class ManufacturerType(val description: String) { AAPS("AAPS"), diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpCapability.kt similarity index 98% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpCapability.kt index e8b58042c9..ed9620a818 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpCapability.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpCapability.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs enum class PumpCapability { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpDescription.kt similarity index 99% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpDescription.kt index 093cfa6756..f3a8e68ce7 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpDescription.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpDescription.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs class PumpDescription() { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpTempBasalType.kt similarity index 57% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpTempBasalType.kt index 101b685432..49eacfda89 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpTempBasalType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpTempBasalType.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs enum class PumpTempBasalType { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpType.kt similarity index 99% rename from interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpType.kt index 047bbbdcd0..30163c9ddf 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/defs/PumpType.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.pump +package info.nightscout.interfaces.pump.defs import info.nightscout.interfaces.R import info.nightscout.interfaces.utils.Round diff --git a/interfaces/src/main/java/info/nightscout/interfaces/storage/FileStrorage.kt b/interfaces/src/main/java/info/nightscout/interfaces/storage/FileStorage.kt similarity index 100% rename from interfaces/src/main/java/info/nightscout/interfaces/storage/FileStrorage.kt rename to interfaces/src/main/java/info/nightscout/interfaces/storage/FileStorage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index 54652d33fd..f6e997f5bb 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -8,7 +8,7 @@ import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.Config import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 3ae44eb019..b1a9c2f03f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -12,7 +12,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 9ab739ee3f..f4c9728d2c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -4,7 +4,7 @@ import android.os.SystemClock import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange @@ -25,9 +25,9 @@ import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 6d317c2037..257a6c9c02 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index cf18f7b6e9..eedd871589 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -28,8 +28,8 @@ import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.smsCommunicator.Sms -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 4905016c15..d2a3b94414 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 5c2a8f8831..e1c785ef2e 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -21,7 +21,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -52,9 +52,9 @@ import info.nightscout.interfaces.PluginDescription; import info.nightscout.interfaces.PluginType; import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.ManufacturerType; -import info.nightscout.interfaces.pump.PumpDescription; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.ManufacturerType; +import info.nightscout.interfaces.pump.defs.PumpDescription; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index e284fa66c8..9d548b19f0 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index a8ab56ba04..9e359cca39 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.shared.utils.T diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 758db789a5..c4d9a8dc29 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index d59ebb424f..31eacc0867 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventInitializationChanged diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index d4f99224f8..16659fb8e6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionService import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -22,7 +22,7 @@ import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.data.PumpEnactResult -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index b976c5516e..41658f5a24 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -50,7 +50,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.shared.utils.DateUtil; import info.nightscout.shared.utils.T; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index ae88a17e18..3b370f91cf 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -16,7 +16,7 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -28,7 +28,7 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalSt import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.Constraint; import info.nightscout.interfaces.data.PumpEnactResult; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt index 692d81d004..dcc08e521e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt @@ -5,7 +5,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.shared.utils.T import info.nightscout.rx.logging.LTag import java.util.GregorianCalendar diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 8f16467156..d1bfa31449 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -64,7 +64,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.shared.utils.DateUtil; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 50037a8eb5..bb17c5aa31 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -22,11 +22,11 @@ import info.nightscout.interfaces.Dana; import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.PumpDescription; +import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.ManufacturerType; +import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.notifications.Notification; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 9e1eae94a9..f4170805d9 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -14,7 +14,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -25,7 +25,7 @@ import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.Constraint; import info.nightscout.interfaces.data.PumpEnactResult; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index da21a175c8..9ca9e5720d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -56,7 +56,7 @@ import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 32d027eaff..df7e553b7b 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt index 00cbdcd754..226da3f35d 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgSettingBasal -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 6d5ffdd808..d228207688 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -37,9 +37,9 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt index 64a4cad34f..f844000096 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 6857f3036e..8c99c3021d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -9,7 +9,7 @@ import android.text.format.DateFormat import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service @@ -35,9 +35,9 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.utils.Round diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index 1e3dbcdc15..b3ccc3a82a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.api.ApiResponse @@ -42,12 +42,12 @@ import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt index 0a13886f76..cf2b93eb6a 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigMainInfoInquireResponsePacket.kt @@ -4,9 +4,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.interfaces.pump.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import org.joda.time.DateTime diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 3d2c3405ef..279e1ab710 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -61,7 +61,7 @@ import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 9970889317..77a03b7cec 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue @@ -23,9 +23,9 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.queue.CustomCommand diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index 219cb88236..ae422e51c9 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -23,7 +23,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/IPatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/IPatchManager.java index 1cd9b5eef2..9d5c5c8dbb 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/IPatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/IPatchManager.java @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.BleConnectionState; import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.PatchSelfTestResult; import info.nightscout.androidaps.plugins.pump.eopatch.core.scan.ScanList; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index c381fa1224..c9b870d70a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -8,14 +8,14 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index 3c3b93b119..2a50545bbb 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -33,9 +33,9 @@ import javax.crypto.KeyAgreement; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ActivateTask; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java index d27729eea5..a6a5b58a14 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StartCalcBolusTask.java @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ble.task; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BolusStart; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BolusResponse; import info.nightscout.rx.logging.LTag; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 166b261687..26e8d27b61 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.Transformations import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 6c45c97847..1e37bd6d98 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -7,7 +7,7 @@ import android.os.IBinder import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -59,8 +59,8 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.utils.TimeChangeType diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt index 703a2c5c16..4a2a20d407 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicCommunicationManager.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm import android.os.SystemClock -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt index 27dbf08dd2..91a08ae3e5 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicConverter.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.comm -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BasalProfile import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.BatteryStatusDTO import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.PumpSettingDTO diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index eb9b886bbc..eb034fb824 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data import com.google.gson.Gson import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryTBR diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt index b420030fde..19e557a96f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/dto/BasalProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data.dto import com.google.gson.annotations.Expose -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt index fb3dd00804..13b96f1b89 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/driver/MedtronicPumpStatus.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.driver -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.data.RLHistoryItem diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 70546aa3fe..4df111bcc9 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -5,7 +5,7 @@ import android.os.Handler import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -57,9 +57,9 @@ import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.queue.CustomCommand diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManager.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManager.kt index e09fa9cf56..05efe00d2a 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManager.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManager.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.pair.PairResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.* diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt index 179b1004f4..b28bbc8036 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/pod/state/OmnipodDashPodStateManagerImpl.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state import android.os.SystemClock import com.google.gson.Gson -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.plugins.pump.omnipod.dash.EventOmnipodDashPumpValuesChanged import info.nightscout.androidaps.plugins.pump.omnipod.dash.R import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.Id diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt index f129ab292d..3e2f28ed39 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.interfaces.Profile sealed class Record @@ -25,7 +25,7 @@ enum class BolusType { fun fromBolusInfoBolusType(type: DetailedBolusInfo.BolusType): BolusType { return when (type) { DetailedBolusInfo.BolusType.SMB -> SMB - else -> DEFAULT + else -> DEFAULT } } } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt index 893dd59b67..b6971c0c1b 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodHistoryActivity.kt @@ -13,7 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 016313ed48..45ce5dc07a 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync @@ -22,7 +22,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBas import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt index f4f95f7f03..59c5f28119 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.util import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram import java.util.* import kotlin.math.roundToInt diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 80c8001410..c808ce0162 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -34,7 +34,8 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; +import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -94,9 +95,9 @@ import info.nightscout.interfaces.PluginDescription; import info.nightscout.interfaces.PluginType; import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.ManufacturerType; -import info.nightscout.interfaces.pump.PumpDescription; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.ManufacturerType; +import info.nightscout.interfaces.pump.defs.PumpDescription; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.CustomCommand; @@ -366,7 +367,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley String activeBolusString = sp.getString(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS, ""); aapsLogger.warn(LTag.PUMP, "Found active bolus in SP: {}. Adding Treatment.", activeBolusString); try { - aapsOmnipodErosManager.addBolusToHistory(DetailedBolusInfo.Companion.fromJsonString(activeBolusString)); + aapsOmnipodErosManager.addBolusToHistory(DetailedBolusInfoExtensionKt.fromJsonString(new DetailedBolusInfo(), activeBolusString)); } catch (Exception ex) { aapsLogger.error(LTag.PUMP, "Failed to add active bolus to history", ex); } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index ac72260156..9511e6fd61 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -14,14 +14,12 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.interfaces.pump.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; @@ -69,9 +67,12 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.Ero import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; +import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.ActivityNames; import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; @@ -426,7 +427,7 @@ public class AapsOmnipodErosManager { // // I discussed this with the AAPS team but nobody seems to care so we're stuck with this ugly workaround for now try { - sp.putString(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS, detailedBolusInfo.toJsonString()); + sp.putString(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS, DetailedBolusInfoExtensionKt.toJsonString(detailedBolusInfo)); aapsLogger.debug(LTag.PUMP, "Stored active bolus to SP for recovery"); } catch (Exception ex) { aapsLogger.error(LTag.PUMP, "Failed to store active bolus to SP", ex); diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java index c50760d2e5..1d6f816f83 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java @@ -26,7 +26,7 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 8cf44d746e..41926f97d0 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index b07988cb07..42275f8ca3 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -6,7 +6,7 @@ import android.content.ServiceConnection import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -28,9 +28,9 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.PluginDescription import info.nightscout.interfaces.data.PumpEnactResult -import info.nightscout.interfaces.pump.ManufacturerType -import info.nightscout.interfaces.pump.PumpDescription -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt index d1b1f40fc9..8bcd1816ae 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/data/PumpStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.data import info.nightscout.androidaps.plugins.pump.common.defs.PumpRunningState -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import java.util.* /** diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt index d2ae0a4616..5212bd1567 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.sync -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType // data class PumpDbEntry constructor(var temporaryId: Long, // var date: Long, @@ -62,10 +62,11 @@ data class PumpDbEntryBolus(override var temporaryId: Long, date: Long, pumpType: PumpType, serialNumber: String, - detailedBolusInfo: DetailedBolusInfo) : this(temporaryId, date, pumpType, serialNumber, null, - detailedBolusInfo.insulin, - detailedBolusInfo.carbs, - detailedBolusInfo.bolusType) + detailedBolusInfo: DetailedBolusInfo + ) : this(temporaryId, date, pumpType, serialNumber, null, + detailedBolusInfo.insulin, + detailedBolusInfo.carbs, + detailedBolusInfo.bolusType) } diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java index 40d409938f..7682e0993d 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncEntriesCreator.java @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.pump.common.sync; -import info.nightscout.interfaces.pump.PumpType; +import info.nightscout.interfaces.pump.defs.PumpType; public interface PumpSyncEntriesCreator { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt index a45ab5b8cf..c6adc55e4d 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.sync import com.thoughtworks.xstream.XStream import com.thoughtworks.xstream.security.AnyTypePermission -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt index bf6f2f7045..5dbb5bef04 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.utils import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Profile.ProfileValue -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import java.util.* object ProfileUtil { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt index bc5c44b674..4b17eff0f1 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/InitializePumpManagerTask.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.task import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.ManufacturerType +import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkTargetFrequency diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index f2d6d404fe..3e6cb5a87f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -24,7 +24,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.TotalDailyDose -import info.nightscout.interfaces.pump.PumpType +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 9ee87d9378..b407ea9ccb 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -8,7 +8,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner -import info.nightscout.androidaps.data.DetailedBolusInfo +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt b/ui/src/main/java/info/nightscout/ui/elements/EmptyRecyclerView.kt similarity index 98% rename from core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt rename to ui/src/main/java/info/nightscout/ui/elements/EmptyRecyclerView.kt index 6bb2afac9b..a44252a0ca 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/EmptyRecyclerView.kt +++ b/ui/src/main/java/info/nightscout/ui/elements/EmptyRecyclerView.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.ui.elements import android.content.Context import android.util.AttributeSet diff --git a/ui/src/main/res/layout/treatments_bolus_carbs_fragment.xml b/ui/src/main/res/layout/treatments_bolus_carbs_fragment.xml index 3628148475..30c3c21f66 100644 --- a/ui/src/main/res/layout/treatments_bolus_carbs_fragment.xml +++ b/ui/src/main/res/layout/treatments_bolus_carbs_fragment.xml @@ -23,7 +23,7 @@ android:textAppearance="@style/TextAppearance.AppCompat.Body1" android:visibility="gone" /> - - - - - - - Date: Thu, 10 Nov 2022 11:30:33 +0100 Subject: [PATCH 036/123] fix tests --- .../interfaces/ConstraintsCheckerTest.kt | 8 +- .../automation/actions/ActionAlarmTest.kt | 3 + .../core/pumpExtensions/PumpTypeExtension.kt | 2 +- .../src/main/res/values-night/colors.xml | 13 - core/core-main/src/main/res/values/colors.xml | 8 - .../androidaps/TestBaseWithProfile.kt | 4 +- .../androidaps/data/DetailedBolusInfoTest.kt | 4 +- .../22.json | 3694 +++++++++++++++++ .../pump/PumpSyncImplementation.kt | 6 +- .../interfaces/pump/DetailedBolusInfo.kt | 17 +- .../src/main/res/values-night/colors.xml | 17 + interfaces/src/main/res/values/colors.xml | 8 + .../plugins/pump/combo/ComboPluginTest.kt | 14 +- pump/medtronic/build.gradle | 1 + .../comm/MedtronicHistoryDataUTest.kt | 4 +- 15 files changed, 3747 insertions(+), 56 deletions(-) create mode 100644 database/impl/schemas/info.nightscout.database.impl.AppDatabase/22.json create mode 100644 interfaces/src/main/res/values-night/colors.xml diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index d580768504..52a89ecaec 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -8,10 +8,8 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper -import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin @@ -30,6 +28,7 @@ import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl +import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constraint @@ -58,7 +57,6 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { @Mock lateinit var glimpPlugin: GlimpPlugin @Mock lateinit var sensitivityOref1Plugin: SensitivityOref1Plugin @Mock lateinit var profiler: Profiler - @Mock lateinit var uel: UserEntryLogger @Mock lateinit var fileListProvider: PrefFileListProvider @Mock lateinit var repository: AppRepository @Mock lateinit var pumpSync: PumpSync @@ -80,7 +78,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { private lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin private lateinit var hardLimits: HardLimits - val injector = HasAndroidInjector { + private val injector = HasAndroidInjector { AndroidInjector { if (it is Objective) { it.sp = sp @@ -135,7 +133,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { danaPump = DanaPump(aapsLogger, sp, dateUtil, injector) hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config) - comboPlugin = ComboPlugin(injector, aapsLogger, rxBus, rh, profileFunction, sp, commandQueue, context, pumpSync, dateUtil, ruffyScripter) + comboPlugin = ComboPlugin(injector, aapsLogger, rxBus, rh, profileFunction, sp, commandQueue, pumpSync, dateUtil, ruffyScripter) danaRPlugin = DanaRPlugin(injector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, activePlugin, sp, commandQueue, danaPump, dateUtil, fabricPrivacy, pumpSync) danaRSPlugin = DanaRSPlugin( diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 5cee80adf0..550e8d1a80 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -11,6 +11,7 @@ import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import org.junit.Assert import org.junit.Before @@ -26,6 +27,7 @@ class ActionAlarmTest : TestBase() { @Mock lateinit var context: Context @Mock lateinit var timerUtil: TimerUtil @Mock lateinit var dateUtil: DateUtil + @Mock lateinit var config: Config private lateinit var sut: ActionAlarm var injector: HasAndroidInjector = HasAndroidInjector { @@ -36,6 +38,7 @@ class ActionAlarmTest : TestBase() { it.context = context it.timerUtil = timerUtil it.dateUtil = dateUtil + it.config = config } if (it is PumpEnactResultImpl) { it.rh = rh diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt index f423372b92..b1c4ae590f 100644 --- a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.core.pumpExtensions import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.embedments.InterfaceIDs diff --git a/core/core-main/src/main/res/values-night/colors.xml b/core/core-main/src/main/res/values-night/colors.xml index 3821d1e840..fe833baab0 100644 --- a/core/core-main/src/main/res/values-night/colors.xml +++ b/core/core-main/src/main/res/values-night/colors.xml @@ -107,14 +107,6 @@ #009705 - - #666666 - #000000 - #77dd77 - #ff0400 - #FF8C00 - #03A9F4 - #1A000000 #33000000 @@ -141,11 +133,6 @@ #00000000 - - #77dd77 - #FF8C00 - #FF5555 - #BBBBBB #FFFFFF diff --git a/core/core-main/src/main/res/values/colors.xml b/core/core-main/src/main/res/values/colors.xml index 888bcbc062..86f1a39470 100644 --- a/core/core-main/src/main/res/values/colors.xml +++ b/core/core-main/src/main/res/values/colors.xml @@ -109,14 +109,6 @@ #009705 - - #666666 - #000000 - #77dd77 - #ff0400 - #FF8C00 - #03A9F4 - #1A000000 #33000000 diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 201d744fbf..30c77bf184 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,7 +4,6 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction @@ -12,7 +11,7 @@ import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson -import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper @@ -28,7 +27,6 @@ open class TestBaseWithProfile : TestBase() { @Mock lateinit var activePluginProvider: ActivePlugin @Mock lateinit var rh: ResourceHelper - @Mock lateinit var fabricPrivacy: FabricPrivacy @Mock lateinit var profileFunction: ProfileFunction @Mock lateinit var defaultValueHelper: DefaultValueHelper @Mock lateinit var dateUtil: DateUtil diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt index 1ad9c94645..fa57cb2b1a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt @@ -19,7 +19,7 @@ class DetailedBolusInfoTest : TestBase() { @Test fun toStringShouldBeOverloaded() { val detailedBolusInfo = DetailedBolusInfo() - Assert.assertEquals(true, detailedBolusInfo.toString().contains("insulin")) + Assert.assertEquals(true, detailedBolusInfo.toJsonString().contains("insulin")) } @Test fun copyShouldCopyAllProperties() { @@ -36,7 +36,7 @@ class DetailedBolusInfoTest : TestBase() { detailedBolusInfo.context = context detailedBolusInfo.eventType = DetailedBolusInfo.EventType.BOLUS_WIZARD val serialized = detailedBolusInfo.toJsonString() - val deserialized = DetailedBolusInfo.fromJsonString(serialized) + val deserialized = DetailedBolusInfo().fromJsonString(serialized) Assert.assertEquals(1L, deserialized.bolusCalculatorResult?.timestamp) Assert.assertEquals(DetailedBolusInfo.EventType.BOLUS_WIZARD, deserialized.eventType) // Context should be excluded diff --git a/database/impl/schemas/info.nightscout.database.impl.AppDatabase/22.json b/database/impl/schemas/info.nightscout.database.impl.AppDatabase/22.json new file mode 100644 index 0000000000..b35d3cc1e8 --- /dev/null +++ b/database/impl/schemas/info.nightscout.database.impl.AppDatabase/22.json @@ -0,0 +1,3694 @@ +{ + "formatVersion": 1, + "database": { + "version": 22, + "identityHash": "09121464fb795b3c37bb1c2c2c3ea481", + "entities": [ + { + "tableName": "apsResults", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `algorithm` TEXT NOT NULL, `glucoseStatusJson` TEXT NOT NULL, `currentTempJson` TEXT NOT NULL, `iobDataJson` TEXT NOT NULL, `profileJson` TEXT NOT NULL, `autosensDataJson` TEXT, `mealDataJson` TEXT NOT NULL, `isMicroBolusAllowed` INTEGER, `resultJson` TEXT NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `apsResults`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "algorithm", + "columnName": "algorithm", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "glucoseStatusJson", + "columnName": "glucoseStatusJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "currentTempJson", + "columnName": "currentTempJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "iobDataJson", + "columnName": "iobDataJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "profileJson", + "columnName": "profileJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "autosensDataJson", + "columnName": "autosensDataJson", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mealDataJson", + "columnName": "mealDataJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isMicroBolusAllowed", + "columnName": "isMicroBolusAllowed", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "resultJson", + "columnName": "resultJson", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_apsResults_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResults_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_apsResults_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResults_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "apsResults", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "boluses", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `amount` REAL NOT NULL, `type` TEXT NOT NULL, `notes` TEXT, `isBasalInsulin` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, `insulinLabel` TEXT, `insulinEndTime` INTEGER, `peak` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `boluses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "amount", + "columnName": "amount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "type", + "columnName": "type", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "notes", + "columnName": "notes", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isBasalInsulin", + "columnName": "isBasalInsulin", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "insulinConfiguration.insulinLabel", + "columnName": "insulinLabel", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "insulinConfiguration.insulinEndTime", + "columnName": "insulinEndTime", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "insulinConfiguration.peak", + "columnName": "peak", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_boluses_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_boluses_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_boluses_temporaryId", + "unique": false, + "columnNames": [ + "temporaryId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_temporaryId` ON `${TABLE_NAME}` (`temporaryId`)" + }, + { + "name": "index_boluses_pumpId", + "unique": false, + "columnNames": [ + "pumpId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_pumpId` ON `${TABLE_NAME}` (`pumpId`)" + }, + { + "name": "index_boluses_pumpSerial", + "unique": false, + "columnNames": [ + "pumpSerial" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_pumpSerial` ON `${TABLE_NAME}` (`pumpSerial`)" + }, + { + "name": "index_boluses_pumpType", + "unique": false, + "columnNames": [ + "pumpType" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_pumpType` ON `${TABLE_NAME}` (`pumpType`)" + }, + { + "name": "index_boluses_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_boluses_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_boluses_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "boluses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "bolusCalculatorResults", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `targetBGLow` REAL NOT NULL, `targetBGHigh` REAL NOT NULL, `isf` REAL NOT NULL, `ic` REAL NOT NULL, `bolusIOB` REAL NOT NULL, `wasBolusIOBUsed` INTEGER NOT NULL, `basalIOB` REAL NOT NULL, `wasBasalIOBUsed` INTEGER NOT NULL, `glucoseValue` REAL NOT NULL, `wasGlucoseUsed` INTEGER NOT NULL, `glucoseDifference` REAL NOT NULL, `glucoseInsulin` REAL NOT NULL, `glucoseTrend` REAL NOT NULL, `wasTrendUsed` INTEGER NOT NULL, `trendInsulin` REAL NOT NULL, `cob` REAL NOT NULL, `wasCOBUsed` INTEGER NOT NULL, `cobInsulin` REAL NOT NULL, `carbs` REAL NOT NULL, `wereCarbsUsed` INTEGER NOT NULL, `carbsInsulin` REAL NOT NULL, `otherCorrection` REAL NOT NULL, `wasSuperbolusUsed` INTEGER NOT NULL, `superbolusInsulin` REAL NOT NULL, `wasTempTargetUsed` INTEGER NOT NULL, `totalInsulin` REAL NOT NULL, `percentageCorrection` INTEGER NOT NULL, `profileName` TEXT NOT NULL, `note` TEXT NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `bolusCalculatorResults`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "targetBGLow", + "columnName": "targetBGLow", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "targetBGHigh", + "columnName": "targetBGHigh", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "isf", + "columnName": "isf", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "ic", + "columnName": "ic", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "bolusIOB", + "columnName": "bolusIOB", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasBolusIOBUsed", + "columnName": "wasBolusIOBUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "basalIOB", + "columnName": "basalIOB", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasBasalIOBUsed", + "columnName": "wasBasalIOBUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "glucoseValue", + "columnName": "glucoseValue", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasGlucoseUsed", + "columnName": "wasGlucoseUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "glucoseDifference", + "columnName": "glucoseDifference", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "glucoseInsulin", + "columnName": "glucoseInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "glucoseTrend", + "columnName": "glucoseTrend", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasTrendUsed", + "columnName": "wasTrendUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "trendInsulin", + "columnName": "trendInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "cob", + "columnName": "cob", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasCOBUsed", + "columnName": "wasCOBUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "cobInsulin", + "columnName": "cobInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "carbs", + "columnName": "carbs", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wereCarbsUsed", + "columnName": "wereCarbsUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "carbsInsulin", + "columnName": "carbsInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "otherCorrection", + "columnName": "otherCorrection", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasSuperbolusUsed", + "columnName": "wasSuperbolusUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "superbolusInsulin", + "columnName": "superbolusInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "wasTempTargetUsed", + "columnName": "wasTempTargetUsed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "totalInsulin", + "columnName": "totalInsulin", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "percentageCorrection", + "columnName": "percentageCorrection", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "profileName", + "columnName": "profileName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "note", + "columnName": "note", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_bolusCalculatorResults_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_bolusCalculatorResults_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_bolusCalculatorResults_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_bolusCalculatorResults_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + }, + { + "name": "index_bolusCalculatorResults_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_bolusCalculatorResults_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_bolusCalculatorResults_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_bolusCalculatorResults_isValid` ON `${TABLE_NAME}` (`isValid`)" + } + ], + "foreignKeys": [ + { + "table": "bolusCalculatorResults", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "carbs", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `amount` REAL NOT NULL, `notes` TEXT, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `carbs`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "amount", + "columnName": "amount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "notes", + "columnName": "notes", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_carbs_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_carbs_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_carbs_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_carbs_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_carbs_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_carbs_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_carbs_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_carbs_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_carbs_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_carbs_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "carbs", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "effectiveProfileSwitches", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `basalBlocks` TEXT NOT NULL, `isfBlocks` TEXT NOT NULL, `icBlocks` TEXT NOT NULL, `targetBlocks` TEXT NOT NULL, `glucoseUnit` TEXT NOT NULL, `originalProfileName` TEXT NOT NULL, `originalCustomizedName` TEXT NOT NULL, `originalTimeshift` INTEGER NOT NULL, `originalPercentage` INTEGER NOT NULL, `originalDuration` INTEGER NOT NULL, `originalEnd` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, `insulinLabel` TEXT NOT NULL, `insulinEndTime` INTEGER NOT NULL, `peak` INTEGER NOT NULL, FOREIGN KEY(`referenceId`) REFERENCES `effectiveProfileSwitches`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "basalBlocks", + "columnName": "basalBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isfBlocks", + "columnName": "isfBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "icBlocks", + "columnName": "icBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "targetBlocks", + "columnName": "targetBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "glucoseUnit", + "columnName": "glucoseUnit", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "originalProfileName", + "columnName": "originalProfileName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "originalCustomizedName", + "columnName": "originalCustomizedName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "originalTimeshift", + "columnName": "originalTimeshift", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "originalPercentage", + "columnName": "originalPercentage", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "originalDuration", + "columnName": "originalDuration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "originalEnd", + "columnName": "originalEnd", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "insulinConfiguration.insulinLabel", + "columnName": "insulinLabel", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "insulinConfiguration.insulinEndTime", + "columnName": "insulinEndTime", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "insulinConfiguration.peak", + "columnName": "peak", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_effectiveProfileSwitches_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_effectiveProfileSwitches_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_effectiveProfileSwitches_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_effectiveProfileSwitches_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_effectiveProfileSwitches_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_effectiveProfileSwitches_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + }, + { + "name": "index_effectiveProfileSwitches_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_effectiveProfileSwitches_isValid` ON `${TABLE_NAME}` (`isValid`)" + } + ], + "foreignKeys": [ + { + "table": "effectiveProfileSwitches", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "extendedBoluses", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `amount` REAL NOT NULL, `isEmulatingTempBasal` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `extendedBoluses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "amount", + "columnName": "amount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "isEmulatingTempBasal", + "columnName": "isEmulatingTempBasal", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_extendedBoluses_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_extendedBoluses_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_extendedBoluses_endId", + "unique": false, + "columnNames": [ + "endId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_endId` ON `${TABLE_NAME}` (`endId`)" + }, + { + "name": "index_extendedBoluses_pumpSerial", + "unique": false, + "columnNames": [ + "pumpSerial" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_pumpSerial` ON `${TABLE_NAME}` (`pumpSerial`)" + }, + { + "name": "index_extendedBoluses_pumpId", + "unique": false, + "columnNames": [ + "pumpId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_pumpId` ON `${TABLE_NAME}` (`pumpId`)" + }, + { + "name": "index_extendedBoluses_pumpType", + "unique": false, + "columnNames": [ + "pumpType" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_pumpType` ON `${TABLE_NAME}` (`pumpType`)" + }, + { + "name": "index_extendedBoluses_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_extendedBoluses_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_extendedBoluses_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "extendedBoluses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "glucoseValues", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `raw` REAL, `value` REAL NOT NULL, `trendArrow` TEXT NOT NULL, `noise` REAL, `sourceSensor` TEXT NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `glucoseValues`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "raw", + "columnName": "raw", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "value", + "columnName": "value", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "trendArrow", + "columnName": "trendArrow", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "noise", + "columnName": "noise", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "sourceSensor", + "columnName": "sourceSensor", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_glucoseValues_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_glucoseValues_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_glucoseValues_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_glucoseValues_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_glucoseValues_sourceSensor", + "unique": false, + "columnNames": [ + "sourceSensor" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_glucoseValues_sourceSensor` ON `${TABLE_NAME}` (`sourceSensor`)" + }, + { + "name": "index_glucoseValues_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_glucoseValues_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_glucoseValues_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_glucoseValues_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "glucoseValues", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "profileSwitches", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `basalBlocks` TEXT NOT NULL, `isfBlocks` TEXT NOT NULL, `icBlocks` TEXT NOT NULL, `targetBlocks` TEXT NOT NULL, `glucoseUnit` TEXT NOT NULL, `profileName` TEXT NOT NULL, `timeshift` INTEGER NOT NULL, `percentage` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, `insulinLabel` TEXT NOT NULL, `insulinEndTime` INTEGER NOT NULL, `peak` INTEGER NOT NULL, FOREIGN KEY(`referenceId`) REFERENCES `profileSwitches`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "basalBlocks", + "columnName": "basalBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isfBlocks", + "columnName": "isfBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "icBlocks", + "columnName": "icBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "targetBlocks", + "columnName": "targetBlocks", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "glucoseUnit", + "columnName": "glucoseUnit", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "profileName", + "columnName": "profileName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "timeshift", + "columnName": "timeshift", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "percentage", + "columnName": "percentage", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "insulinConfiguration.insulinLabel", + "columnName": "insulinLabel", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "insulinConfiguration.insulinEndTime", + "columnName": "insulinEndTime", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "insulinConfiguration.peak", + "columnName": "peak", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_profileSwitches_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_profileSwitches_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_profileSwitches_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_profileSwitches_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + }, + { + "name": "index_profileSwitches_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_profileSwitches_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_profileSwitches_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_profileSwitches_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_profileSwitches_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_profileSwitches_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + } + ], + "foreignKeys": [ + { + "table": "profileSwitches", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "temporaryBasals", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `type` TEXT NOT NULL, `isAbsolute` INTEGER NOT NULL, `rate` REAL NOT NULL, `duration` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `temporaryBasals`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "type", + "columnName": "type", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isAbsolute", + "columnName": "isAbsolute", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "rate", + "columnName": "rate", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_temporaryBasals_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_temporaryBasals_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_temporaryBasals_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_temporaryBasals_pumpType", + "unique": false, + "columnNames": [ + "pumpType" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_pumpType` ON `${TABLE_NAME}` (`pumpType`)" + }, + { + "name": "index_temporaryBasals_endId", + "unique": false, + "columnNames": [ + "endId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_endId` ON `${TABLE_NAME}` (`endId`)" + }, + { + "name": "index_temporaryBasals_pumpSerial", + "unique": false, + "columnNames": [ + "pumpSerial" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_pumpSerial` ON `${TABLE_NAME}` (`pumpSerial`)" + }, + { + "name": "index_temporaryBasals_temporaryId", + "unique": false, + "columnNames": [ + "temporaryId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_temporaryId` ON `${TABLE_NAME}` (`temporaryId`)" + }, + { + "name": "index_temporaryBasals_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_temporaryBasals_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryBasals_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "temporaryBasals", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "temporaryTargets", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `reason` TEXT NOT NULL, `highTarget` REAL NOT NULL, `lowTarget` REAL NOT NULL, `duration` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `temporaryTargets`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reason", + "columnName": "reason", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "highTarget", + "columnName": "highTarget", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "lowTarget", + "columnName": "lowTarget", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_temporaryTargets_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryTargets_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_temporaryTargets_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryTargets_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_temporaryTargets_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryTargets_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_temporaryTargets_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryTargets_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_temporaryTargets_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_temporaryTargets_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "temporaryTargets", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "therapyEvents", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `type` TEXT NOT NULL, `note` TEXT, `enteredBy` TEXT, `glucose` REAL, `glucoseType` TEXT, `glucoseUnit` TEXT NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `therapyEvents`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "type", + "columnName": "type", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "note", + "columnName": "note", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "enteredBy", + "columnName": "enteredBy", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "glucose", + "columnName": "glucose", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "glucoseType", + "columnName": "glucoseType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "glucoseUnit", + "columnName": "glucoseUnit", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_therapyEvents_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_therapyEvents_type", + "unique": false, + "columnNames": [ + "type" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_type` ON `${TABLE_NAME}` (`type`)" + }, + { + "name": "index_therapyEvents_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_therapyEvents_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_therapyEvents_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_therapyEvents_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_therapyEvents_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "therapyEvents", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "totalDailyDoses", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `basalAmount` REAL NOT NULL, `bolusAmount` REAL NOT NULL, `totalAmount` REAL NOT NULL, `carbs` REAL NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `totalDailyDoses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "basalAmount", + "columnName": "basalAmount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "bolusAmount", + "columnName": "bolusAmount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "totalAmount", + "columnName": "totalAmount", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "carbs", + "columnName": "carbs", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_totalDailyDoses_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_totalDailyDoses_pumpId", + "unique": false, + "columnNames": [ + "pumpId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_pumpId` ON `${TABLE_NAME}` (`pumpId`)" + }, + { + "name": "index_totalDailyDoses_pumpType", + "unique": false, + "columnNames": [ + "pumpType" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_pumpType` ON `${TABLE_NAME}` (`pumpType`)" + }, + { + "name": "index_totalDailyDoses_pumpSerial", + "unique": false, + "columnNames": [ + "pumpSerial" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_pumpSerial` ON `${TABLE_NAME}` (`pumpSerial`)" + }, + { + "name": "index_totalDailyDoses_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_totalDailyDoses_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_totalDailyDoses_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_totalDailyDoses_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "totalDailyDoses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "apsResultLinks", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `apsResultId` INTEGER NOT NULL, `smbId` INTEGER, `tbrId` INTEGER, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`apsResultId`) REFERENCES `apsResults`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`smbId`) REFERENCES `boluses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`tbrId`) REFERENCES `temporaryBasals`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`referenceId`) REFERENCES `apsResultLinks`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "apsResultId", + "columnName": "apsResultId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "smbId", + "columnName": "smbId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "tbrId", + "columnName": "tbrId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_apsResultLinks_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResultLinks_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_apsResultLinks_apsResultId", + "unique": false, + "columnNames": [ + "apsResultId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResultLinks_apsResultId` ON `${TABLE_NAME}` (`apsResultId`)" + }, + { + "name": "index_apsResultLinks_smbId", + "unique": false, + "columnNames": [ + "smbId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResultLinks_smbId` ON `${TABLE_NAME}` (`smbId`)" + }, + { + "name": "index_apsResultLinks_tbrId", + "unique": false, + "columnNames": [ + "tbrId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_apsResultLinks_tbrId` ON `${TABLE_NAME}` (`tbrId`)" + } + ], + "foreignKeys": [ + { + "table": "apsResults", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "apsResultId" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "boluses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "smbId" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "temporaryBasals", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "tbrId" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "apsResultLinks", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "multiwaveBolusLinks", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `bolusId` INTEGER NOT NULL, `extendedBolusId` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`bolusId`) REFERENCES `boluses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`extendedBolusId`) REFERENCES `extendedBoluses`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`referenceId`) REFERENCES `multiwaveBolusLinks`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "bolusId", + "columnName": "bolusId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "extendedBolusId", + "columnName": "extendedBolusId", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_multiwaveBolusLinks_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_multiwaveBolusLinks_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_multiwaveBolusLinks_bolusId", + "unique": false, + "columnNames": [ + "bolusId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_multiwaveBolusLinks_bolusId` ON `${TABLE_NAME}` (`bolusId`)" + }, + { + "name": "index_multiwaveBolusLinks_extendedBolusId", + "unique": false, + "columnNames": [ + "extendedBolusId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_multiwaveBolusLinks_extendedBolusId` ON `${TABLE_NAME}` (`extendedBolusId`)" + } + ], + "foreignKeys": [ + { + "table": "boluses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "bolusId" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "extendedBoluses", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "extendedBolusId" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "multiwaveBolusLinks", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "preferenceChanges", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `key` TEXT NOT NULL, `value` TEXT)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "key", + "columnName": "key", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "value", + "columnName": "value", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "versionChanges", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `versionCode` INTEGER NOT NULL, `versionName` TEXT NOT NULL, `gitRemote` TEXT, `commitHash` TEXT)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "versionCode", + "columnName": "versionCode", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "versionName", + "columnName": "versionName", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "gitRemote", + "columnName": "gitRemote", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "commitHash", + "columnName": "commitHash", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "userEntry", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `action` TEXT NOT NULL, `source` TEXT NOT NULL, `note` TEXT NOT NULL, `values` TEXT NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "action", + "columnName": "action", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "source", + "columnName": "source", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "note", + "columnName": "note", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "values", + "columnName": "values", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_userEntry_source", + "unique": false, + "columnNames": [ + "source" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_userEntry_source` ON `${TABLE_NAME}` (`source`)" + }, + { + "name": "index_userEntry_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_userEntry_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "foods", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `name` TEXT NOT NULL, `category` TEXT, `subCategory` TEXT, `portion` REAL NOT NULL, `carbs` INTEGER NOT NULL, `fat` INTEGER, `protein` INTEGER, `energy` INTEGER, `unit` TEXT NOT NULL, `gi` INTEGER, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `foods`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "category", + "columnName": "category", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "subCategory", + "columnName": "subCategory", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "portion", + "columnName": "portion", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "carbs", + "columnName": "carbs", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "fat", + "columnName": "fat", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "protein", + "columnName": "protein", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "energy", + "columnName": "energy", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "unit", + "columnName": "unit", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "gi", + "columnName": "gi", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_foods_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_foods_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_foods_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_foods_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_foods_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_foods_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_foods_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_foods_isValid` ON `${TABLE_NAME}` (`isValid`)" + } + ], + "foreignKeys": [ + { + "table": "foods", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "deviceStatus", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `device` TEXT, `pump` TEXT, `enacted` TEXT, `suggested` TEXT, `iob` TEXT, `uploaderBattery` INTEGER NOT NULL, `configuration` TEXT, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "device", + "columnName": "device", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "pump", + "columnName": "pump", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "enacted", + "columnName": "enacted", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "suggested", + "columnName": "suggested", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "iob", + "columnName": "iob", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "uploaderBattery", + "columnName": "uploaderBattery", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "configuration", + "columnName": "configuration", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_deviceStatus_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_deviceStatus_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_deviceStatus_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_deviceStatus_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_deviceStatus_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_deviceStatus_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "offlineEvents", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `version` INTEGER NOT NULL, `dateCreated` INTEGER NOT NULL, `isValid` INTEGER NOT NULL, `referenceId` INTEGER, `timestamp` INTEGER NOT NULL, `utcOffset` INTEGER NOT NULL, `reason` TEXT NOT NULL, `duration` INTEGER NOT NULL, `nightscoutSystemId` TEXT, `nightscoutId` TEXT, `pumpType` TEXT, `pumpSerial` TEXT, `temporaryId` INTEGER, `pumpId` INTEGER, `startId` INTEGER, `endId` INTEGER, FOREIGN KEY(`referenceId`) REFERENCES `offlineEvents`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "version", + "columnName": "version", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dateCreated", + "columnName": "dateCreated", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isValid", + "columnName": "isValid", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "referenceId", + "columnName": "referenceId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "utcOffset", + "columnName": "utcOffset", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reason", + "columnName": "reason", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutSystemId", + "columnName": "nightscoutSystemId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.nightscoutId", + "columnName": "nightscoutId", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpType", + "columnName": "pumpType", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpSerial", + "columnName": "pumpSerial", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.temporaryId", + "columnName": "temporaryId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.pumpId", + "columnName": "pumpId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.startId", + "columnName": "startId", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "interfaceIDs_backing.endId", + "columnName": "endId", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_offlineEvents_id", + "unique": false, + "columnNames": [ + "id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_offlineEvents_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_offlineEvents_isValid", + "unique": false, + "columnNames": [ + "isValid" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_offlineEvents_isValid` ON `${TABLE_NAME}` (`isValid`)" + }, + { + "name": "index_offlineEvents_nightscoutId", + "unique": false, + "columnNames": [ + "nightscoutId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_offlineEvents_nightscoutId` ON `${TABLE_NAME}` (`nightscoutId`)" + }, + { + "name": "index_offlineEvents_referenceId", + "unique": false, + "columnNames": [ + "referenceId" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_offlineEvents_referenceId` ON `${TABLE_NAME}` (`referenceId`)" + }, + { + "name": "index_offlineEvents_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_offlineEvents_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "offlineEvents", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "referenceId" + ], + "referencedColumns": [ + "id" + ] + } + ] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '09121464fb795b3c37bb1c2c2c3ea481')" + ] + } +} \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 462e3c3115..fc34dcd06f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -19,9 +19,9 @@ import info.nightscout.database.impl.transactions.SyncPumpExtendedBolusTransacti import info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransaction import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction -import info.nightscout.androidaps.extensions.fromDbPumpType -import info.nightscout.androidaps.extensions.toDbPumpType -import info.nightscout.androidaps.extensions.toDbSource +import info.nightscout.core.pumpExtensions.fromDbPumpType +import info.nightscout.core.pumpExtensions.toDbPumpType +import info.nightscout.core.pumpExtensions.toDbSource import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt index 7e3f67e63b..2b00ecaa18 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/DetailedBolusInfo.kt @@ -76,14 +76,14 @@ class DetailedBolusInfo { fun toDBbEventType(): TherapyEvent.Type = when (this) { - MEAL_BOLUS -> TherapyEvent.Type.MEAL_BOLUS - BOLUS_WIZARD -> TherapyEvent.Type.BOLUS_WIZARD - CORRECTION_BOLUS -> TherapyEvent.Type.CORRECTION_BOLUS - CARBS_CORRECTION -> TherapyEvent.Type.CARBS_CORRECTION - CANNULA_CHANGE -> TherapyEvent.Type.CANNULA_CHANGE - INSULIN_CHANGE -> TherapyEvent.Type.INSULIN_CHANGE + MEAL_BOLUS -> TherapyEvent.Type.MEAL_BOLUS + BOLUS_WIZARD -> TherapyEvent.Type.BOLUS_WIZARD + CORRECTION_BOLUS -> TherapyEvent.Type.CORRECTION_BOLUS + CARBS_CORRECTION -> TherapyEvent.Type.CARBS_CORRECTION + CANNULA_CHANGE -> TherapyEvent.Type.CANNULA_CHANGE + INSULIN_CHANGE -> TherapyEvent.Type.INSULIN_CHANGE PUMP_BATTERY_CHANGE -> TherapyEvent.Type.PUMP_BATTERY_CHANGE - NOTE -> TherapyEvent.Type.NOTE + NOTE -> TherapyEvent.Type.NOTE } } @@ -142,7 +142,4 @@ class DetailedBolusInfo { n.carbsTimestamp = carbsTimestamp return n } - - companion object { - } } \ No newline at end of file diff --git a/interfaces/src/main/res/values-night/colors.xml b/interfaces/src/main/res/values-night/colors.xml new file mode 100644 index 0000000000..8190c564c2 --- /dev/null +++ b/interfaces/src/main/res/values-night/colors.xml @@ -0,0 +1,17 @@ + + + + + #77dd77 + #FF8C00 + #FF5555 + + + #666666 + #000000 + #77dd77 + #ff0400 + #FF8C00 + #03A9F4 + + diff --git a/interfaces/src/main/res/values/colors.xml b/interfaces/src/main/res/values/colors.xml index 6a01b0f440..3f06959c5b 100644 --- a/interfaces/src/main/res/values/colors.xml +++ b/interfaces/src/main/res/values/colors.xml @@ -5,4 +5,12 @@ #FF8C00 #FF5555 + + #666666 + #000000 + #77dd77 + #ff0400 + #FF8C00 + #03A9F4 +
\ No newline at end of file diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index c70ea97120..c2e1c933fb 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -1,23 +1,21 @@ package info.nightscout.androidaps.plugins.pump.combo -import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.PluginType import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test @@ -28,15 +26,13 @@ class ComboPluginTest : TestBase() { @Mock lateinit var rh: ResourceHelper @Mock lateinit var profileFunction: ProfileFunction - @Mock lateinit var activePlugin: ActivePlugin @Mock lateinit var commandQueue: CommandQueue @Mock lateinit var pumpSync: PumpSync @Mock lateinit var sp: SP - @Mock lateinit var context: Context @Mock lateinit var dateUtil: DateUtil @Mock lateinit var ruffyScripter: RuffyScripter - val injector = HasAndroidInjector { + private val injector = HasAndroidInjector { AndroidInjector { if (it is PumpEnactResultImpl) { it.rh = rh @@ -50,7 +46,7 @@ class ComboPluginTest : TestBase() { fun prepareMocks() { `when`(rh.gs(R.string.novalidbasalrate)).thenReturn("No valid basal rate read from pump") `when`(rh.gs(R.string.combo_pump_unsupported_operation)).thenReturn("Requested operation not supported by pump") - comboPlugin = ComboPlugin(injector, aapsLogger, RxBus(aapsSchedulers, aapsLogger), rh, profileFunction, sp, commandQueue, context, pumpSync, dateUtil, ruffyScripter) + comboPlugin = ComboPlugin(injector, aapsLogger, RxBus(aapsSchedulers, aapsLogger), rh, profileFunction, sp, commandQueue, pumpSync, dateUtil, ruffyScripter) } @Test diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 7df54d4cfb..c651f67256 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -25,4 +25,5 @@ dependencies { implementation project(':pump:rileylink') implementation project(':interfaces') implementation project(path: ':core:fabric') + testImplementation project(path: ':database:impl') } diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt index 1e624a3cbc..c000c7d138 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/plugins/pump/medtronic/comm/MedtronicHistoryDataUTest.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.data.dto.TempBasalProce import info.nightscout.androidaps.plugins.pump.medtronic.defs.MedtronicDeviceType import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpStatus import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.utils.serialisation.SealedClassHelper.gson +import info.nightscout.database.impl.serialisation.SealedClassHelper import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus @@ -139,7 +139,7 @@ class MedtronicHistoryDataUTest : TestBase() { println("PumpHistoryEntries: getFilteredItems: " + tbrs.size) - println("PumpHistoryEntries: getRewindItems: $rewindRecords.size : " + gson.toJson(rewindRecords)) + println("PumpHistoryEntries: getRewindItems: $rewindRecords.size : " + SealedClassHelper.gson.toJson(rewindRecords)) val processList: MutableList = medtronicHistoryData.createTBRProcessList(tbrs) From 61b0dba46576afb3b05bc09588981b9b330edcce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 10:33:43 +0000 Subject: [PATCH 037/123] chore(deps): bump material from 1.6.1 to 1.7.0 Bumps [material](https://github.com/material-components/material-components-android) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/material-components/material-components-android/releases) - [Commits](https://github.com/material-components/material-components-android/compare/1.6.1...1.7.0) --- updated-dependencies: - dependency-name: com.google.android.material:material dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 870fdd0d11..50f9b2eac8 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { gson_version = '2.10' nav_version = '2.4.2' appcompat_version = '1.5.1' - material_version = '1.6.1' + material_version = '1.7.0' constraintlayout_version = '2.1.4' preferencektx_version = '1.2.0' commonslang3_version = '3.12.0' From a57907a236aa423ae886df35a98664300bdf8f60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:16:10 +0000 Subject: [PATCH 038/123] chore(deps): bump nav_version from 2.4.2 to 2.5.3 Bumps `nav_version` from 2.4.2 to 2.5.3. Updates `navigation-fragment-ktx` from 2.4.2 to 2.5.3 Updates `navigation-runtime-ktx` from 2.4.2 to 2.5.3 Updates `navigation-ui-ktx` from 2.4.2 to 2.5.3 --- updated-dependencies: - dependency-name: androidx.navigation:navigation-fragment-ktx dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: androidx.navigation:navigation-runtime-ktx dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: androidx.navigation:navigation-ui-ktx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ff1e084228..1046468f87 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ buildscript { fragmentktx_version = '1.4.1' ormLite_version = '4.46' gson_version = '2.10' - nav_version = '2.4.2' + nav_version = '2.5.3' appcompat_version = '1.5.1' material_version = '1.7.0' constraintlayout_version = '2.1.4' From 6161a0e5a27152e099b12fdd54269707293377be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:16:39 +0000 Subject: [PATCH 039/123] chore(deps): bump okhttp3_version from 4.9.0 to 4.10.0 Bumps `okhttp3_version` from 4.9.0 to 4.10.0. Updates `okhttp` from 4.9.0 to 4.10.0 - [Release notes](https://github.com/square/okhttp/releases) - [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md) - [Commits](https://github.com/square/okhttp/compare/parent-4.9.0...parent-4.10.0) Updates `logging-interceptor` from 4.9.0 to 4.10.0 - [Release notes](https://github.com/square/okhttp/releases) - [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md) - [Commits](https://github.com/square/okhttp/compare/parent-4.9.0...parent-4.10.0) --- updated-dependencies: - dependency-name: com.squareup.okhttp3:okhttp dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: com.squareup.okhttp3:logging-interceptor dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ff1e084228..fab4002701 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ buildscript { mockito_version = '4.4.0' dexmaker_version = '1.2' retrofit2_version = '2.9.0' - okhttp3_version = '4.9.0' + okhttp3_version = '4.10.0' byteBuddy_version = '1.12.8' androidx_junit_version = '1.1.3' From ed973aaefb094b5e016d055be77774bca5f75b86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:17:13 +0000 Subject: [PATCH 040/123] chore(deps): bump tink-android from 1.5.0 to 1.7.0 Bumps [tink-android](https://github.com/google/tink) from 1.5.0 to 1.7.0. - [Release notes](https://github.com/google/tink/releases) - [Commits](https://github.com/google/tink/compare/v1.5.0...v1.7.0) --- updated-dependencies: - dependency-name: com.google.crypto.tink:tink-android dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ff1e084228..38d787a667 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ buildscript { commonscodec_version = '1.15' jodatime_version = '2.10.14' work_version = '2.7.1' - tink_version = '1.5.0' + tink_version = '1.7.0' json_version = '20220320' serialization_version = '1.4.1' joda_version = '2.12.1' From 29ecb1444911206e035f56bd5170aff1c569abed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:17:43 +0000 Subject: [PATCH 041/123] chore(deps): bump fragment-ktx from 1.4.1 to 1.5.4 Bumps fragment-ktx from 1.4.1 to 1.5.4. --- updated-dependencies: - dependency-name: androidx.fragment:fragment-ktx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ff1e084228..803dd635aa 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { dagger_version = '2.44' coroutines_version = '1.6.4' activity_version = '1.4.0' - fragmentktx_version = '1.4.1' + fragmentktx_version = '1.5.4' ormLite_version = '4.46' gson_version = '2.10' nav_version = '2.4.2' From 85f85e388f7935f4fb6fe6155d3f0f5226f129a1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 14:01:14 +0100 Subject: [PATCH 042/123] move to interfaces --- .../nightscout/androidaps/MainActivity.kt | 6 +-- .../info/nightscout/androidaps/MainApp.kt | 8 ++-- .../activities/MyPreferenceFragment.kt | 2 +- .../activities/SingleFragmentActivity.kt | 4 +- .../nightscout/androidaps/di/AppModule.kt | 14 +++---- .../androidaps/di/PluginsListModule.kt | 2 +- .../androidaps/dialogs/ExtendedBolusDialog.kt | 4 +- .../androidaps/dialogs/FillDialog.kt | 10 ++--- .../androidaps/dialogs/InsulinDialog.kt | 4 +- .../androidaps/dialogs/LoopDialog.kt | 14 +++---- .../androidaps/dialogs/TempBasalDialog.kt | 4 +- .../androidaps/dialogs/TreatmentDialog.kt | 4 +- .../androidaps/dialogs/WizardDialog.kt | 6 +-- .../implementations/ActivityNamesImpl.kt | 2 +- .../plugins/aps/loop/LoopFragment.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 20 +++++----- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 6 +-- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 12 +++--- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 6 +-- .../aps/openAPSSMB/DetermineBasalResultSMB.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 16 ++++---- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 12 +++--- .../configBuilder/ConfigBuilderFragment.kt | 4 +- .../configBuilder/ConfigBuilderPlugin.kt | 8 ++-- .../plugins/configBuilder/PluginStore.kt | 12 +++--- .../objectives/ObjectivesPlugin.kt | 8 ++-- .../objectives/objectives/Objective0.kt | 6 +-- .../objectives/objectives/Objective5.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 22 +++++----- .../general/actions/ActionsFragment.kt | 6 +-- .../plugins/general/actions/ActionsPlugin.kt | 8 ++-- .../dataBroadcaster/DataBroadcastPlugin.kt | 6 +-- .../maintenance/ImportExportPrefsImpl.kt | 20 +++++----- .../maintenance/MaintenanceFragment.kt | 4 +- .../general/maintenance/MaintenancePlugin.kt | 6 +-- .../general/overview/OverviewFragment.kt | 6 +-- .../general/overview/OverviewPlugin.kt | 6 +-- .../PersistentNotificationPlugin.kt | 8 ++-- .../plugins/general/wear/WearPlugin.kt | 6 +-- .../wear/wearintegration/DataHandlerMobile.kt | 14 +++---- .../IobCobCalculatorPlugin.kt | 12 +++--- .../sensitivity/AbstractSensitivityPlugin.kt | 6 +-- .../sensitivity/SensitivityAAPSPlugin.kt | 6 +-- .../sensitivity/SensitivityOref1Plugin.kt | 6 +-- .../SensitivityWeightedAveragePlugin.kt | 6 +-- .../androidaps/plugins/source/AidexPlugin.kt | 10 ++--- .../androidaps/plugins/source/DexcomPlugin.kt | 12 +++--- .../plugins/source/EversensePlugin.kt | 12 +++--- .../androidaps/plugins/source/GlimpPlugin.kt | 10 ++--- .../plugins/source/GlunovoPlugin.kt | 10 ++--- .../plugins/source/IntelligoPlugin.kt | 10 ++--- .../androidaps/plugins/source/MM640gPlugin.kt | 10 ++--- .../plugins/source/PoctechPlugin.kt | 10 ++--- .../plugins/source/RandomBgPlugin.kt | 10 ++--- .../androidaps/plugins/source/TomatoPlugin.kt | 10 ++--- .../androidaps/plugins/source/XdripPlugin.kt | 10 ++--- .../androidaps/receivers/KeepAliveWorker.kt | 4 +- .../androidaps/setupwizard/SWDefinition.kt | 6 +-- .../setupwizard/elements/SWPlugin.kt | 4 +- .../alertDialogs/PrefImportSummaryDialog.kt | 8 ++-- .../NotificationHolderImpl.kt | 2 +- .../resources/IconsProviderImplementation.kt | 2 +- .../androidaps/utils/tabs/TabPageAdapter.kt | 5 +-- .../androidaps/utils/wizard/BolusWizard.kt | 12 +++--- .../utils/wizard/QuickWizardEntry.kt | 6 +-- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- .../interfaces/ConstraintsCheckerTest.kt | 6 +-- .../plugins/aps/loop/LoopPluginTest.kt | 6 +-- .../objectives/ObjectivesPluginTest.kt | 8 ++-- .../constraints/safety/SafetyPluginTest.kt | 6 +-- .../AbstractSensitivityPluginTest.kt | 4 +- .../utils/wizard/BolusWizardTest.kt | 6 +-- .../nightscout/automation/AutomationPlugin.kt | 6 +-- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 4 +- .../automation/actions/ActionRunAutotune.kt | 9 ++--- .../automation/actions/ActionSendSMS.kt | 6 +-- .../nightscout/androidaps/TestPumpPlugin.kt | 12 +++--- .../actions/ActionLoopDisableTest.kt | 4 +- .../actions/ActionLoopEnableTest.kt | 4 +- .../automation/actions/ActionsTestBase.kt | 8 ++-- .../automation/triggers/TriggerTestBase.kt | 2 +- .../DaggerAppCompatActivityWithResult.kt | 6 +-- .../androidaps/data/LocalInsulin.kt | 2 +- .../androidaps/data/PumpEnactResultImpl.kt | 6 +-- .../androidaps/extensions/BolusExtension.kt | 2 +- .../androidaps/interfaces/ActivePlugin.kt | 11 +++-- .../androidaps/interfaces/Constraints.kt | 2 +- .../DetermineBasalAdapterInterface.kt | 2 +- .../androidaps/interfaces/Insulin.kt | 2 +- .../androidaps/interfaces/IobCobCalculator.kt | 2 +- .../nightscout/androidaps/interfaces/Loop.kt | 4 +- .../nightscout/androidaps/interfaces/Pump.kt | 8 ++-- .../androidaps/interfaces/PumpPluginBase.kt | 6 +-- .../androidaps/plugins/aps/loop/APSResult.kt | 2 +- .../maintenance/PrefFileListProvider.kt | 14 +++---- .../general/maintenance/PrefsFileContract.kt | 2 +- .../activities/PrefImportListActivity.kt | 10 ++--- .../formats/EncryptedPrefsFormat.kt | 26 ++++++------ .../EventDismissBolusProgressIfRunning.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- .../androidaps/data/ConstraintTest.kt | 2 +- .../nightscout/androidaps/data/IobTest.kt | 2 +- .../androidaps/data/MealDataTest.kt | 2 +- .../androidaps/data/PumpEnactResultTest.kt | 2 +- .../interfaces/PluginDescriptionTest.kt | 4 +- .../plugins/aps/loop/APSResultTest.kt | 2 +- .../formats/EncryptedPrefsFormatTest.kt | 13 +++--- .../implementation/AndroidPermissionImpl.kt | 4 +- .../implementation/LocalAlertUtilsImpl.kt | 8 ++-- .../constraints/ConstraintsImpl.kt | 2 +- .../pump/PumpSyncImplementation.kt | 40 +++++++++---------- .../queue/CommandQueueImplementation.kt | 14 +++---- .../CommandInsightSetTBROverNotification.kt | 4 +- .../queue/commands/CommandLoadEvents.kt | 7 ++-- .../queue/commands/CommandLoadHistory.kt | 7 ++-- .../queue/commands/CommandSMBBolus.kt | 11 +++-- .../queue/commands/CommandSetProfile.kt | 13 +++--- .../queue/commands/CommandSetUserSettings.kt | 7 ++-- .../queue/commands/CommandStartPump.kt | 4 +- .../queue/commands/CommandStopPump.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- .../queue/CommandQueueImplementationTest.kt | 10 ++--- .../implementation/queue/QueueThreadTest.kt | 14 +++---- .../pump/insight/LocalInsightPlugin.java | 28 ++++++------- .../interfaces/AndroidPermission.kt | 1 + .../nightscout/interfaces/ConfigBuilder.kt | 3 ++ .../java/info/nightscout/interfaces/Safety.kt | 3 -- .../{ => aps}/VariableSensitivityResult.kt | 2 +- .../interfaces/{ => autotune}/Autotune.kt | 2 +- .../{ => constraints}/Constraint.kt | 2 +- .../interfaces/constraints/Safety.kt | 5 +++ .../interfaces/{data => iob}/Iob.kt | 2 +- .../interfaces/{data => iob}/MealData.kt | 2 +- .../{ => maintenance}/ImportExportPrefs.kt | 3 +- .../{data => }/maintenance/PrefsFile.kt | 2 +- .../{data => }/maintenance/PrefsFormat.kt | 4 +- .../{data => }/maintenance/PrefsImportDir.kt | 2 +- .../interfaces/{ => plugin}/PluginBase.kt | 2 +- .../{ => plugin}/PluginDescription.kt | 2 +- .../interfaces/{ => plugin}/PluginFragment.kt | 2 +- .../interfaces/{ => plugin}/PluginType.kt | 2 +- .../nightscout/interfaces/{ => pump}/Dana.kt | 4 +- .../interfaces/{ => pump}/Diaconn.kt | 4 +- .../interfaces/{ => pump}/Insight.kt | 4 +- .../{data => pump}/PumpEnactResult.kt | 2 +- .../interfaces/{ => pump}/VirtualPump.kt | 2 +- .../nightscout/interfaces/queue/Callback.kt | 2 +- .../{data => }/smsCommunicator/Sms.kt | 2 +- .../{ => smsCommunicator}/SmsCommunicator.kt | 4 +- .../interfaces/{ => sync}/NsClient.kt | 2 +- .../nightscout/interfaces/{ => sync}/Sync.kt | 2 +- .../interfaces/{ => ui}/ActivityNames.kt | 4 +- .../interfaces/{ => ui}/IconsProvider.kt | 2 +- .../general/openhumans/OpenHumansUploader.kt | 9 +++-- .../configBuilder/RunningConfiguration.kt | 10 ++--- .../bgQualityCheck/BgQualityCheckPlugin.kt | 8 ++-- .../constraints/dstHelper/DstHelperPlugin.kt | 13 +++--- .../phoneChecker/PhoneCheckerPlugin.kt | 8 ++-- .../SignatureVerifierPlugin.kt | 10 ++--- .../storage/StorageConstraintPlugin.kt | 12 +++--- .../versionChecker/VersionCheckerPlugin.kt | 14 +++---- .../general/autotune/AutotunePlugin.kt | 8 ++-- .../plugins/general/food/FoodFragment.kt | 6 +-- .../plugins/general/food/FoodPlugin.kt | 10 ++--- .../notifications/NotificationStore.kt | 2 +- .../general/smsCommunicator/AuthRequest.kt | 12 +++--- .../SmsCommunicatorFragment.kt | 4 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 24 +++++------ .../activities/SmsCommunicatorOtpActivity.kt | 2 +- .../general/themes/ThemeSwitcherPlugin.kt | 8 ++-- .../xdripStatusline/StatusLinePlugin.kt | 6 +-- .../plugins/insulin/InsulinOrefBasePlugin.kt | 8 ++-- .../plugins/profile/ProfileFragment.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 20 +++++----- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 10 ++--- .../plugins/source/BGSourceFragment.kt | 6 +-- .../plugins/source/NSClientSourcePlugin.kt | 10 ++--- .../plugins/sync/nsShared/NSClientFragment.kt | 6 +-- .../plugins/sync/nsShared/StoreDataForDb.kt | 28 ++++++------- .../nsShared/events/EventNSClientNewLog.kt | 2 +- .../nsShared/events/EventNSClientStatus.kt | 2 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 10 ++--- .../nsclient/data/NSDeviceStatusHandler.kt | 2 +- .../sync/nsclient/services/NSClientService.kt | 4 +- .../nsclient/workers/NSClientAddAckWorker.kt | 30 +++++++------- .../workers/NSClientAddUpdateWorker.kt | 4 +- .../workers/NSClientUpdateRemoveAckWorker.kt | 4 +- .../sync/nsclientV3/NSClientV3Plugin.kt | 10 ++--- .../sync/nsclientV3/workers/LoadBgWorker.kt | 2 +- .../workers/LoadDeviceStatusWorker.kt | 2 +- .../workers/LoadTreatmentsWorker.kt | 2 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 8 ++-- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- .../BgQualityCheckPluginTest.kt | 2 +- .../storage/StorageConstraintPluginTest.kt | 4 +- .../smsCommunicator/AuthRequestTest.kt | 10 ++--- .../SmsCommunicatorPluginTest.kt | 16 ++++---- .../general/smsCommunicator/SmsTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 10 ++--- .../plugins/pump/combo/ComboPluginTest.kt | 4 +- .../androidaps/dana/DanaFragment.kt | 4 +- .../activities/DanaUserOptionsActivity.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 6 +-- .../comm/MsgInitConnStatusTime_k.kt | 2 +- .../services/DanaRKoreanExecutionService.java | 16 ++++---- .../androidaps/danaRv2/DanaRv2Plugin.java | 6 +-- .../danaRv2/comm/MsgCheckValue_v2.kt | 2 +- .../services/DanaRv2ExecutionService.java | 16 ++++---- .../androidaps/danar/AbstractDanaRPlugin.java | 20 +++++----- .../androidaps/danar/DanaRPlugin.java | 6 +-- .../androidaps/danar/comm/MsgBolusStart.kt | 2 +- .../danar/comm/MsgBolusStartWithSpeed.kt | 2 +- .../danar/comm/MsgInitConnStatusTime.kt | 2 +- .../danar/comm/MsgSetExtendedBolusStart.kt | 2 +- .../AbstractDanaRExecutionService.java | 2 +- .../danar/services/DanaRExecutionService.java | 10 ++--- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- .../plugins/pump/danaR/DanaRPluginTest.kt | 8 ++-- .../pump/danaR/comm/MessageHashTableRTest.kt | 2 +- .../pump/danaR/comm/MsgBolusStartTest.kt | 2 +- .../danaR/comm/MsgBolusStartWithSpeedTest.kt | 2 +- .../comm/MsgSetExtendedBolusStartTest.kt | 2 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 8 ++-- .../comm/MessageHashTableRKoreanTest.kt | 2 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 8 ++-- .../danaRv2/comm/MessageHashTableRv2Test.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 12 +++--- .../DanaRSPacketBolusSetStepBolusStart.kt | 2 +- .../danars/services/DanaRSService.kt | 4 +- .../androidaps/danars/DanaRSPluginTest.kt | 8 ++-- .../danars/comm/DanaRsMessageHashTableTest.kt | 2 +- .../DanaRsPacketBolusSetStepBolusStartTest.kt | 4 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 16 ++++---- .../DiaconnG8UserOptionsActivity.kt | 2 +- .../diaconn/service/BLECommonService.kt | 4 +- .../diaconn/service/DiaconnG8Service.kt | 4 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 12 +++--- .../pump/medtronic/MedtronicPumpPlugin.kt | 14 +++---- .../common/viewmodel/ActionViewModelBase.kt | 3 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 14 +++---- .../dash/ui/DashPodManagementActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../action/DashInitializePodViewModel.kt | 5 +-- .../action/DashInsertCannulaViewModel.kt | 4 +- .../action/DashDeactivatePodViewModel.kt | 4 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 14 +++---- .../eros/manager/AapsOmnipodErosManager.java | 4 +- .../eros/ui/ErosPodManagementActivity.kt | 2 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 2 +- .../action/ErosInitializePodViewModel.kt | 2 +- .../action/ErosInsertCannulaViewModel.kt | 2 +- .../action/ErosDeactivatePodViewModel.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 6 +-- .../plugins/pump/common/PumpPluginAbstract.kt | 6 +-- .../fragments/TreatmentsUserEntryFragment.kt | 4 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 10 ++--- .../java/info/nightscout/ui/widget/Widget.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +-- 260 files changed, 858 insertions(+), 872 deletions(-) delete mode 100644 interfaces/src/main/java/info/nightscout/interfaces/Safety.kt rename interfaces/src/main/java/info/nightscout/interfaces/{ => aps}/VariableSensitivityResult.kt (64%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => autotune}/Autotune.kt (82%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => constraints}/Constraint.kt (98%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/constraints/Safety.kt rename interfaces/src/main/java/info/nightscout/interfaces/{data => iob}/Iob.kt (96%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => iob}/MealData.kt (85%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => maintenance}/ImportExportPrefs.kt (84%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => }/maintenance/PrefsFile.kt (87%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => }/maintenance/PrefsFormat.kt (94%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => }/maintenance/PrefsImportDir.kt (52%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => plugin}/PluginBase.kt (99%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => plugin}/PluginDescription.kt (98%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => plugin}/PluginFragment.kt (57%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => plugin}/PluginType.kt (83%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => pump}/Dana.kt (78%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => pump}/Diaconn.kt (61%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => pump}/Insight.kt (64%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => pump}/PumpEnactResult.kt (97%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => pump}/VirtualPump.kt (60%) rename interfaces/src/main/java/info/nightscout/interfaces/{data => }/smsCommunicator/Sms.kt (94%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => smsCommunicator}/SmsCommunicator.kt (62%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => sync}/NsClient.kt (94%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => sync}/Sync.kt (72%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => ui}/ActivityNames.kt (96%) rename interfaces/src/main/java/info/nightscout/interfaces/{ => ui}/IconsProvider.kt (69%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 7d74e8e14d..4d01447407 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -56,10 +56,10 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.IconsProvider -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.locale.LocaleHelper +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 758a5fedc8..5be051f1d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -15,9 +15,6 @@ import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import dagger.android.AndroidInjector import dagger.android.DaggerApplication -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction -import info.nightscout.database.impl.transactions.VersionChangeTransaction import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector @@ -33,13 +30,16 @@ import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.ProcessLifecycleListener import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.database.impl.transactions.VersionChangeTransaction import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils -import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.general.overview.notifications.NotificationStore import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 375a4db0d6..b50279df35 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,7 +23,6 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader @@ -58,6 +57,7 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionTyp import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.NONE import info.nightscout.automation.AutomationPlugin import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt index 29a3d92568..c3d19e1e83 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.kt @@ -6,10 +6,10 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import info.nightscout.androidaps.R -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.interfaces.locale.LocaleHelper +import info.nightscout.interfaces.plugin.PluginBase import javax.inject.Inject class SingleFragmentActivity : DaggerAppCompatActivityWithResult() { diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index bf2d90a912..af89d8eca5 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -7,7 +7,6 @@ import dagger.Module import dagger.Provides import dagger.android.HasAndroidInjector import info.nightscout.androidaps.MainApp -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -35,6 +34,7 @@ import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.AndroidPermissionImpl import info.nightscout.implementation.BolusTimerImpl import info.nightscout.implementation.CarbTimerImpl @@ -47,22 +47,22 @@ import info.nightscout.implementation.queue.CommandQueueImplementation import info.nightscout.implementation.stats.DexcomTirCalculatorImpl import info.nightscout.implementation.stats.TddCalculatorImpl import info.nightscout.implementation.stats.TirCalculatorImpl -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.IconsProvider -import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.NotificationHolder -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.storage.FileStorage import info.nightscout.interfaces.storage.Storage +import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index a879517549..7f6fb53b2e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -9,7 +9,6 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin @@ -45,6 +44,7 @@ import info.nightscout.androidaps.plugins.source.RandomBgPlugin import info.nightscout.androidaps.plugins.source.TomatoPlugin import info.nightscout.androidaps.plugins.source.XdripPlugin import info.nightscout.automation.AutomationPlugin +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.constraints.dstHelper.DstHelperPlugin import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt index 45e2d14775..6625dc84fd 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BO import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 13d6b4970a..88f887a40a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -7,9 +7,6 @@ import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.R -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.databinding.DialogFillBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin @@ -25,9 +22,12 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.Constraint +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 4da736be18..36e10be75a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -31,13 +31,13 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt index 73d6a1c4e1..8a28a6f4bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/LoopDialog.kt @@ -12,9 +12,6 @@ import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.androidaps.databinding.DialogLoopBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -33,13 +30,16 @@ import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index ed6322fbc8..779eb8a0fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -22,10 +22,10 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BO import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt index 397a10bbe0..9f92ef79db 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt @@ -26,11 +26,11 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index f0af37c084..ec8f92fc63 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -20,8 +20,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.databinding.DialogWizardBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits @@ -36,9 +34,11 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 41670112cf..307ab4bf13 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.WizardDialog -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.services.AlarmSoundService +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity import info.nightscout.ui.activities.TDDStatsActivity diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index f83e248508..2f58cff830 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index d19e234bc2..c015aa4a30 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -16,12 +16,7 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -48,16 +43,21 @@ import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 2ab1bad396..6a49eb3514 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -3,21 +3,21 @@ package info.nightscout.androidaps.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.MealData import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 26e2f972d2..acfd94599e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -4,8 +4,6 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin @@ -23,10 +21,12 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 506fe73044..573c11de72 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -3,26 +3,26 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.MealData import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt index 59784e761e..12440368a9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.VariableSensitivityResult import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.interfaces.aps.VariableSensitivityResult import info.nightscout.rx.logging.LTag import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index fd1c4c8e0f..36b0777cf3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -6,36 +6,36 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus 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 javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index e9d5687b6a..d5ce9e2c5e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -3,31 +3,31 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index 623286d1b9..a8bce40daf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -26,8 +26,8 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PR import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRebuildTabs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 923f18cfa2..6d444dcb8b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -18,10 +18,10 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.NsClient import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized import info.nightscout.rx.events.EventConfigBuilderChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 6c8c218555..2db9134fcb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -5,16 +5,16 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.Overview -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.interfaces.Sync import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.Safety +import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.NsClient +import info.nightscout.interfaces.sync.Sync import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt index 4dcb5e0308..1982d8db17 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -3,9 +3,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 @@ -18,8 +16,10 @@ import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Obje import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective7 import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective9 import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt index 45c6a41f79..7dc1002b3e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt index 5d2ef6aa1e..cbbc6f1467 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index a1c5025ef8..a742ff3ed2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -9,31 +9,31 @@ import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.pump.defs.PumpDescription -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.Safety import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 445925b8aa..08b6179ebc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -12,8 +12,6 @@ import androidx.core.content.ContextCompat import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.databinding.ActionsFragmentBinding import info.nightscout.androidaps.dialogs.ExtendedBolusDialog import info.nightscout.androidaps.dialogs.FillDialog @@ -37,11 +35,13 @@ import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventCustomActionsChanged diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt index 900e6745c0..e7cfb73cba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.general.actions import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 0a25f69a2a..9fe2ab032b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -19,9 +19,9 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index 5b3203fa67..b7cf24b42c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -24,7 +24,6 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.activities.PreferencesActivity -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat @@ -38,18 +37,19 @@ import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.ImportExportPrefs -import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError -import info.nightscout.interfaces.data.maintenance.PrefIOError -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.Prefs -import info.nightscout.interfaces.data.maintenance.PrefsFile -import info.nightscout.interfaces.data.maintenance.PrefsFormat -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus +import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.maintenance.PrefFileNotFoundError +import info.nightscout.interfaces.maintenance.PrefIOError +import info.nightscout.interfaces.maintenance.PrefMetadata +import info.nightscout.interfaces.maintenance.Prefs +import info.nightscout.interfaces.maintenance.PrefsFile +import info.nightscout.interfaces.maintenance.PrefsFormat +import info.nightscout.interfaces.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index ce64fb49e3..c0675bc702 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -10,7 +10,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.dana.database.DanaHistoryDatabase -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.events.EventPreferenceChange @@ -29,7 +28,8 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PR import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.interfaces.ImportExportPrefs +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index 4d4f1ba2e4..a9724212aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -7,11 +7,11 @@ import androidx.core.content.FileProvider import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R -import info.nightscout.interfaces.PluginBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 2bf9222da3..de3ce9b3c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -29,7 +29,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog @@ -78,12 +77,13 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 06e1c044bb..783e182d9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -21,9 +21,9 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.general.overview.notifications.NotificationStore import info.nightscout.plugins.general.overview.notifications.NotificationWithAction import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 28933ed660..99dfdd038c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -19,11 +19,11 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index c5cb2570f7..3b7884ae42 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -9,9 +9,9 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBo import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 4e89584e82..d08374f055 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -4,11 +4,6 @@ import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort @@ -44,11 +39,16 @@ import info.nightscout.database.entities.TotalDailyDose import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 36175e3412..33997f9a7e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -5,8 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.IobTotal -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData @@ -27,11 +25,13 @@ import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.MealData +import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index f513893abd..fb7d67c40b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -2,16 +2,16 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import kotlin.math.max import kotlin.math.min diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 66614fc3a3..8992a77d47 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType @@ -11,9 +10,10 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index bba17187b8..811c4d6128 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType @@ -11,10 +10,11 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 377c0ac213..58b3450fd3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -4,7 +4,6 @@ import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType @@ -12,9 +11,10 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt index c2952c2453..97ba39dfd3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt @@ -6,18 +6,18 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index 78d2cf94ef..0c1a7996e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -9,9 +9,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction -import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.Profile @@ -24,10 +21,13 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt index abf984eadd..873ecf3f75 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt @@ -6,17 +6,17 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TherapyEvent -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt index 659ff06446..51d63091de 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt @@ -7,14 +7,14 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt index 4f91486fac..4bd03f5ac6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt @@ -6,8 +6,6 @@ import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger @@ -16,10 +14,12 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt index 7b30df2780..60a4654986 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt @@ -8,8 +8,6 @@ import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger @@ -18,10 +16,12 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt index f4f29ba3c7..31e5146dcc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt @@ -6,15 +6,15 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt index 00ffd09c3f..26c519f3c6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt @@ -6,15 +6,15 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt index c293e1e3c7..fb00a23db6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt @@ -5,16 +5,16 @@ import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt index 4c6afa72b9..cffbb6b902 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt @@ -6,14 +6,14 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt index ba89e19878..edab93336c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt @@ -6,15 +6,15 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 0e79e2697c..b3d91ddb14 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -15,7 +15,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -25,9 +24,10 @@ import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils -import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 3d3c4e1980..6b2c504f9b 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -13,8 +13,6 @@ import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.ImportExportPrefs import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment @@ -41,8 +39,10 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index 5083051cc7..abcfa73e3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -9,12 +9,12 @@ import android.widget.RadioGroup import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.setupwizard.SWDefinition import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.events.EventConfigBuilderChange import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt index cf7146d777..6f592f763c 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt @@ -18,11 +18,11 @@ import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.R -import info.nightscout.shared.extensions.runOnUiThread -import info.nightscout.interfaces.data.maintenance.Prefs -import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.androidaps.utils.ToastUtils -import java.util.* +import info.nightscout.interfaces.maintenance.Prefs +import info.nightscout.interfaces.maintenance.PrefsStatus +import info.nightscout.shared.extensions.runOnUiThread +import java.util.LinkedList object PrefImportSummaryDialog { diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt index a0ddbacf5b..458ca453ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt @@ -10,8 +10,8 @@ import androidx.core.app.NotificationCompat import androidx.core.app.TaskStackBuilder import info.nightscout.androidaps.MainActivity import info.nightscout.core.main.R -import info.nightscout.interfaces.IconsProvider import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt index e8e72dc8cf..43686c1945 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.utils.resources import info.nightscout.androidaps.R import info.nightscout.interfaces.Config -import info.nightscout.interfaces.IconsProvider +import info.nightscout.interfaces.ui.IconsProvider import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt index eb3c6239cc..404093e3c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt @@ -3,9 +3,8 @@ package info.nightscout.androidaps.utils.tabs import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginFragment -import java.util.* +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginFragment class TabPageAdapter(private val activity: AppCompatActivity) : FragmentStateAdapter(activity) { diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index d60de392db..9e687bcfac 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -5,9 +5,6 @@ import android.text.Spanned import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertOrUpdateBolusCalculatorResultTransaction import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString @@ -29,14 +26,17 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertOrUpdateBolusCalculatorResultTransaction import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index 47b1b0cd60..a90d319b71 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -2,8 +2,6 @@ package info.nightscout.androidaps.utils.wizard import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop @@ -11,7 +9,9 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.PluginBase +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.utils.JsonHelper.safeGetInt import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 257a6c9c02..7829779b22 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 52a89ecaec..25181580dd 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -31,9 +31,9 @@ import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 4f23e8ab06..312d63248a 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -6,7 +6,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints @@ -15,10 +14,11 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt index 6ac486a489..7a6ec7a912 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -5,13 +5,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index bcc97f28eb..104488dc83 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -4,19 +4,19 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index e3aa72718d..d6ea838f24 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 7efdc68d4c..5f837ab3cd 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -7,16 +7,16 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 0042eb21e8..1398789af1 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -45,9 +45,9 @@ import info.nightscout.automation.triggers.TriggerTimeRange import info.nightscout.automation.triggers.TriggerWifiSsid import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 79a48efc99..8109f0e2a6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -10,8 +10,8 @@ import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 1a6e5bf0e7..6b6c838f42 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -9,8 +9,8 @@ import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index ca2d1c1455..f30ed453c9 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -5,18 +5,17 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Autotune import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index 45c23849bc..26450f611e 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -3,13 +3,13 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator +import info.nightscout.interfaces.utils.JsonHelper import org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index b367dbc15c..8b70132d3f 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,20 +1,20 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject @Suppress("MemberVisibilityCanBePrivate") diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt index 4d9679164d..ecdcc68d5d 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt @@ -1,8 +1,8 @@ package info.nightscout.automation.actions -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.queue.Callback import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt index f353efeb29..7b750a0a7b 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt @@ -1,8 +1,8 @@ package info.nightscout.automation.actions -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.queue.Callback import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index c77e943724..9b32804c91 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt index 7afa0f0b49..a253920eaa 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.interfaces.PluginDescription import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LastLocationDataContainer +import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP import org.junit.Before diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index b4d6d72760..a59cfa061d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -5,14 +5,14 @@ import android.content.pm.PackageManager import androidx.activity.result.contract.ActivityResultContracts import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.core.main.R -import info.nightscout.interfaces.ImportExportPrefs -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.main.R +import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.permissions.OptimizationPermissionContract import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject open class DaggerAppCompatActivityWithResult : DaggerAppCompatActivity() { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt index df103f7fdd..e276084525 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.data import info.nightscout.database.entities.Bolus -import info.nightscout.interfaces.data.Iob +import info.nightscout.interfaces.iob.Iob import kotlin.math.exp import kotlin.math.pow diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt index d3249b9959..3080bae1d8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.data import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.main.R +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.utils.Round -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index af0a005fad..f2ef7b6bdb 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -4,7 +4,7 @@ import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.database.entities.Bolus -import info.nightscout.interfaces.data.Iob +import info.nightscout.interfaces.iob.Iob fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 7a05ba6088..e3ecd0741a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -1,12 +1,11 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.Overview -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.Safety -import info.nightscout.interfaces.Sync -import java.util.* +import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.NsClient +import info.nightscout.interfaces.sync.Sync interface ActivePlugin { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt index d799b40c82..ea0a4a1394 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint /** * Constraints interface diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt index 882eafb46c..2ace25add1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.data.IobTotal -import info.nightscout.interfaces.data.MealData import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.interfaces.iob.MealData interface DetermineBasalAdapterInterface { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt index d5f59886e2..5c5ffdd6b2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.ConfigExportImport -import info.nightscout.interfaces.data.Iob +import info.nightscout.interfaces.iob.Iob interface Insulin : ConfigExportImport { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index df24dd5f67..3f497a0134 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal -import info.nightscout.interfaces.data.MealData +import info.nightscout.interfaces.iob.MealData import org.json.JSONArray interface IobCobCalculator { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 47ca978fc3..9e39f10357 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.database.entities.OfflineEvent -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.PumpEnactResult interface Loop { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt index ed84388ac4..8a669ca254 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.interfaces.data.PumpEnactResult -import info.nightscout.interfaces.pump.defs.ManufacturerType -import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt index f9744b0681..fefc8aecc9 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.interfaces import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.core.main.R -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 598bfe2953..7c5b8ca53c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index 67a8a3f3e3..bd85f8f809 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -3,16 +3,16 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.content.Context import android.os.Environment import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.core.main.R import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat +import info.nightscout.core.main.R import info.nightscout.interfaces.Config -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.PrefMetadataMap -import info.nightscout.interfaces.data.maintenance.PrefsFile -import info.nightscout.interfaces.data.maintenance.PrefsImportDir -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus +import info.nightscout.interfaces.maintenance.PrefMetadata +import info.nightscout.interfaces.maintenance.PrefMetadataMap +import info.nightscout.interfaces.maintenance.PrefsFile +import info.nightscout.interfaces.maintenance.PrefsImportDir +import info.nightscout.interfaces.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.interfaces.storage.Storage import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.DateTime diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt index 817235649f..cafbd1173b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefsFileContract.kt @@ -6,7 +6,7 @@ import androidx.activity.result.contract.ActivityResultContract import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.extensions.safeGetParcelableExtra import info.nightscout.androidaps.plugins.general.maintenance.activities.PrefImportListActivity -import info.nightscout.interfaces.data.maintenance.PrefsFile +import info.nightscout.interfaces.maintenance.PrefsFile class PrefsFileContract : ActivityResultContract() { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt index b01410c029..767ac658ef 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/activities/PrefImportListActivity.kt @@ -11,15 +11,15 @@ import androidx.fragment.app.FragmentActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerAppCompatActivity +import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider +import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract import info.nightscout.core.main.R import info.nightscout.core.main.databinding.MaintenanceImportListActivityBinding import info.nightscout.core.main.databinding.MaintenanceImportListItemBinding -import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider -import info.nightscout.interfaces.data.maintenance.PrefsFile -import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus import info.nightscout.interfaces.locale.LocaleHelper +import info.nightscout.interfaces.maintenance.PrefsFile +import info.nightscout.interfaces.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt index 80fb603c22..383038e5e2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormat.kt @@ -1,26 +1,26 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats -import info.nightscout.core.main.R -import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.extensions.toHex -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.androidaps.utils.CryptoUtil +import info.nightscout.core.main.R +import info.nightscout.interfaces.maintenance.PrefFileNotFoundError +import info.nightscout.interfaces.maintenance.PrefFormatError +import info.nightscout.interfaces.maintenance.PrefIOError +import info.nightscout.interfaces.maintenance.PrefMetadata +import info.nightscout.interfaces.maintenance.PrefMetadataMap +import info.nightscout.interfaces.maintenance.Prefs +import info.nightscout.interfaces.maintenance.PrefsFormat +import info.nightscout.interfaces.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.interfaces.storage.Storage -import info.nightscout.interfaces.data.maintenance.PrefFileNotFoundError -import info.nightscout.interfaces.data.maintenance.PrefFormatError -import info.nightscout.interfaces.data.maintenance.PrefIOError -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.PrefMetadataMap -import info.nightscout.interfaces.data.maintenance.Prefs -import info.nightscout.interfaces.data.maintenance.PrefsFormat -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONException import org.json.JSONObject import java.io.File import java.io.FileNotFoundException import java.io.IOException -import java.util.* +import java.util.LinkedList import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt index 177bdbde9e..0bde74e952 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/events/EventDismissBolusProgressIfRunning.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.events -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.events.Event class EventDismissBolusProgressIfRunning(val result: PumpEnactResult?, val id: Long?) : Event() \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 257a6c9c02..7829779b22 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt index e427d91bd9..215ce818e1 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.data import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt index 412d46f5f5..d36845c822 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTest.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.data -import info.nightscout.interfaces.data.Iob +import info.nightscout.interfaces.iob.Iob import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt index 80d8c79ac7..49c3aeb2a1 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.data -import info.nightscout.interfaces.data.MealData +import info.nightscout.interfaces.iob.MealData import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index ae1da713f6..fb47551e69 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.core.main.R -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.PumpEnactResult import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt index 1b8670cc1c..1fa246105a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.interfaces import androidx.fragment.app.Fragment -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index a3b08207e6..fe9df82e40 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.entities.TemporaryBasal -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt index 8813652ae9..63a1f3862f 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/formats/EncryptedPrefsFormatTest.kt @@ -2,14 +2,13 @@ package info.nightscout.androidaps.plugins.general.maintenance.formats import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.utils.CryptoUtil +import info.nightscout.interfaces.maintenance.PrefFormatError +import info.nightscout.interfaces.maintenance.PrefMetadata +import info.nightscout.interfaces.maintenance.Prefs +import info.nightscout.interfaces.maintenance.PrefsFormat +import info.nightscout.interfaces.maintenance.PrefsMetadataKey +import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.data.maintenance.PrefFormatError -import info.nightscout.interfaces.data.maintenance.PrefMetadata -import info.nightscout.interfaces.data.maintenance.Prefs -import info.nightscout.interfaces.data.maintenance.PrefsFormat -import info.nightscout.interfaces.data.maintenance.PrefsMetadataKey -import info.nightscout.interfaces.data.maintenance.PrefsStatus -import info.nightscout.shared.sharedPreferences.SP import org.hamcrest.CoreMatchers import org.junit.Assert import org.junit.Assume diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 38d00cf57a..7da34cedf5 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -19,9 +19,9 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 587270034b..46ef41b774 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -1,8 +1,5 @@ package info.nightscout.implementation -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -12,11 +9,14 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.LocalAlertUtils -import info.nightscout.interfaces.SmsCommunicator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt index 4d1edd7c7a..f1f7e5a011 100644 --- a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation.constraints import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.interfaces.constraints.Constraint import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index fc34dcd06f..1afa3c168b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,6 +1,23 @@ package info.nightscout.implementation.pump -import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.core.main.R +import info.nightscout.core.pumpExtensions.fromDbPumpType +import info.nightscout.core.pumpExtensions.toDbPumpType +import info.nightscout.core.pumpExtensions.toDbSource +import info.nightscout.database.entities.Bolus +import info.nightscout.database.entities.Carbs +import info.nightscout.database.entities.ExtendedBolus +import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.InsertBolusWithTempIdTransaction @@ -19,26 +36,9 @@ import info.nightscout.database.impl.transactions.SyncPumpExtendedBolusTransacti import info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransaction import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction -import info.nightscout.core.pumpExtensions.fromDbPumpType -import info.nightscout.core.pumpExtensions.toDbPumpType -import info.nightscout.core.pumpExtensions.toDbSource -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.core.main.R -import info.nightscout.database.entities.Bolus -import info.nightscout.database.entities.Carbs -import info.nightscout.database.entities.ExtendedBolus -import info.nightscout.database.entities.TemporaryBasal -import info.nightscout.database.entities.TherapyEvent -import info.nightscout.database.entities.TotalDailyDose -import info.nightscout.database.entities.UserEntry -import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.database.entities.embedments.InterfaceIDs -import info.nightscout.interfaces.VirtualPump import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 6c4186909f..6ed3b595ec 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -7,13 +7,9 @@ import android.text.Spanned import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints @@ -27,9 +23,12 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCancelExtendedBolus @@ -48,15 +47,16 @@ import info.nightscout.implementation.queue.commands.CommandStartPump import info.nightscout.implementation.queue.commands.CommandStopPump import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.implementation.queue.commands.CommandTempBasalPercent -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index 805cd565b2..4fe4b8c174 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -2,10 +2,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Insight -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.queue.Callback import javax.inject.Inject class CommandInsightSetTBROverNotification constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index 9d7150c09e..c2927375d4 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -2,13 +2,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.Diaconn -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Dana +import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandLoadEvents( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index fb804b716e..128d7df3bd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -2,13 +2,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.Diaconn -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Dana +import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandLoadHistory( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 1504be8a80..5c51ac8bc6 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -1,17 +1,16 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.implementation.R -import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandSMBBolus( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index bc37d95512..6e5f8618fb 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -2,19 +2,18 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject class CommandSetProfile constructor( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index a027b01d3f..2ccb6a1a76 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -2,13 +2,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.Diaconn -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Dana +import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandSetUserSettings( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 58d8d699b5..3f4863dbbb 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -2,10 +2,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Insight -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.queue.Callback import javax.inject.Inject class CommandStartPump( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index e618791d06..e2c64a1031 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -2,10 +2,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Insight -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.queue.Callback import javax.inject.Inject class CommandStopPump( diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 257a6c9c02..7829779b22 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 33ea916bbf..532b7dee34 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -6,10 +6,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction @@ -17,19 +14,22 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Bolus +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandBolus import info.nightscout.implementation.queue.commands.CommandCustomCommand import info.nightscout.implementation.queue.commands.CommandExtendedBolus import info.nightscout.implementation.queue.commands.CommandLoadHistory import info.nightscout.implementation.queue.commands.CommandTempBasalPercent -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index 30ce88d798..0ee309ab82 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -6,18 +6,18 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.pump.defs.PumpDescription -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index f4e20c86ac..1d96b532f0 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -30,8 +30,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.interfaces.pump.DetailedBolusInfo; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.insight.database.InsightBolusID; @@ -40,24 +38,15 @@ import info.nightscout.androidaps.insight.database.InsightHistoryOffset; import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.interfaces.Insight; -import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.HistoryReadingDirection; import info.nightscout.androidaps.plugins.pump.insight.app_layer.history.ReadHistoryEventsMessage; @@ -124,16 +113,27 @@ import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_erro import info.nightscout.androidaps.plugins.pump.insight.exceptions.app_layer_errors.NoActiveTBRToCanceLException; import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator; import info.nightscout.androidaps.plugins.pump.insight.utils.ParameterBlockUtil; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.shared.utils.T; import info.nightscout.interfaces.Config; -import info.nightscout.interfaces.PluginType; +import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.PluginDescription; +import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.Insight; +import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.defs.ManufacturerType; +import info.nightscout.interfaces.pump.defs.PumpDescription; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventRefreshOverview; 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 info.nightscout.shared.utils.T; @Singleton public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, Constraints, diff --git a/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt b/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt index 5cf3b3c10d..675d1936ea 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/AndroidPermission.kt @@ -2,6 +2,7 @@ package info.nightscout.interfaces import android.content.Context import androidx.fragment.app.FragmentActivity +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator interface AndroidPermission { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt index 352b657ac8..ef64088a84 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt @@ -1,5 +1,8 @@ package info.nightscout.interfaces +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginType + interface ConfigBuilder { fun initialize() fun storeSettings(from: String) diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt b/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt deleted file mode 100644 index 7418f4ce87..0000000000 --- a/interfaces/src/main/java/info/nightscout/interfaces/Safety.kt +++ /dev/null @@ -1,3 +0,0 @@ -package info.nightscout.interfaces - -interface Safety : ConfigExportImport \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/VariableSensitivityResult.kt similarity index 64% rename from interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/VariableSensitivityResult.kt index c34196d5f7..9e851d8241 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/VariableSensitivityResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/VariableSensitivityResult.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.aps interface VariableSensitivityResult { var variableSens: Double? diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt b/interfaces/src/main/java/info/nightscout/interfaces/autotune/Autotune.kt similarity index 82% rename from interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt rename to interfaces/src/main/java/info/nightscout/interfaces/autotune/Autotune.kt index bf80da51e3..40aba6f8d3 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Autotune.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/autotune/Autotune.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.autotune interface Autotune { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraint.kt similarity index 98% rename from interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt rename to interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraint.kt index a030b41874..a332b9328d 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Constraint.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraint.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.constraints import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/interfaces/src/main/java/info/nightscout/interfaces/constraints/Safety.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Safety.kt new file mode 100644 index 0000000000..277d6ba07c --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Safety.kt @@ -0,0 +1,5 @@ +package info.nightscout.interfaces.constraints + +import info.nightscout.interfaces.ConfigExportImport + +interface Safety : ConfigExportImport \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/Iob.kt similarity index 96% rename from interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt rename to interfaces/src/main/java/info/nightscout/interfaces/iob/Iob.kt index c8ac1e5908..fdbd0e0cd0 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/Iob.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/Iob.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data +package info.nightscout.interfaces.iob class Iob { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/MealData.kt similarity index 85% rename from interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt rename to interfaces/src/main/java/info/nightscout/interfaces/iob/MealData.kt index 39feaba54e..1f43ee9678 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/MealData.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/MealData.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data +package info.nightscout.interfaces.iob class MealData { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/ImportExportPrefs.kt similarity index 84% rename from interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt rename to interfaces/src/main/java/info/nightscout/interfaces/maintenance/ImportExportPrefs.kt index 19996bd1b6..18ea0f32d3 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ImportExportPrefs.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/ImportExportPrefs.kt @@ -1,8 +1,7 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.maintenance import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity -import info.nightscout.interfaces.data.maintenance.PrefsFile interface ImportExportPrefs { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFile.kt similarity index 87% rename from interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt rename to interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFile.kt index d3f32e4464..77d205bb0d 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFile.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFile.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data.maintenance +package info.nightscout.interfaces.maintenance import android.os.Parcelable import kotlinx.parcelize.Parcelize diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFormat.kt similarity index 94% rename from interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt rename to interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFormat.kt index 33dfb513aa..4fbfa1a262 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsFormat.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsFormat.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data.maintenance +package info.nightscout.interfaces.maintenance import android.content.Context import android.os.Parcelable @@ -40,7 +40,7 @@ enum class PrefsMetadataKey(val key: String, @DrawableRes val icon: Int, @String FILE_FORMAT -> when (value) { PrefsFormat.FORMAT_KEY_ENC -> context.getString(R.string.metadata_format_new) PrefsFormat.FORMAT_KEY_NOENC -> context.getString(R.string.metadata_format_debug) - else -> context.getString(R.string.metadata_format_other) + else -> context.getString(R.string.metadata_format_other) } CREATED_AT -> value.replace("T", " ").replace("Z", " (UTC)") else -> value diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsImportDir.kt similarity index 52% rename from interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt rename to interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsImportDir.kt index 3b8fa1f84b..eddfc99b5d 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/maintenance/PrefsImportDir.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/maintenance/PrefsImportDir.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data.maintenance +package info.nightscout.interfaces.maintenance enum class PrefsImportDir { ROOT_DIR, diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginBase.kt similarity index 99% rename from interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt rename to interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginBase.kt index f0534edb8a..bc61cb95a4 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginBase.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginBase.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.plugin import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginDescription.kt similarity index 98% rename from interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt rename to interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginDescription.kt index e2bdc514b5..af5418d15c 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginDescription.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginDescription.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.plugin import info.nightscout.interfaces.annotations.InterfacesOpenForTesting diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginFragment.kt similarity index 57% rename from interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt rename to interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginFragment.kt index 1bd0bb628d..0b10db8c2c 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginFragment.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.plugin interface PluginFragment { var plugin: PluginBase? diff --git a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginType.kt similarity index 83% rename from interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt rename to interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginType.kt index 7060741f00..8b900ea2b6 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/PluginType.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/PluginType.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.plugin /** * Main plugin type diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Dana.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/Dana.kt similarity index 78% rename from interfaces/src/main/java/info/nightscout/interfaces/Dana.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/Dana.kt index 0e1fe8db35..0a578aabeb 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Dana.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/Dana.kt @@ -1,6 +1,4 @@ -package info.nightscout.interfaces - -import info.nightscout.interfaces.data.PumpEnactResult +package info.nightscout.interfaces.pump /** * Functionality supported by Dana* pumps only diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/Diaconn.kt similarity index 61% rename from interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/Diaconn.kt index 31a4c8d741..3e45d7dd8a 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Diaconn.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/Diaconn.kt @@ -1,6 +1,4 @@ -package info.nightscout.interfaces - -import info.nightscout.interfaces.data.PumpEnactResult +package info.nightscout.interfaces.pump interface Diaconn { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Insight.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/Insight.kt similarity index 64% rename from interfaces/src/main/java/info/nightscout/interfaces/Insight.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/Insight.kt index 7b4ad61cb6..6349b6c5ac 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Insight.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/Insight.kt @@ -1,6 +1,4 @@ -package info.nightscout.interfaces - -import info.nightscout.interfaces.data.PumpEnactResult +package info.nightscout.interfaces.pump interface Insight { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt similarity index 97% rename from interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt index fa7aa7c081..e73ba889a2 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/PumpEnactResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data +package info.nightscout.interfaces.pump import org.json.JSONObject diff --git a/interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/VirtualPump.kt similarity index 60% rename from interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/VirtualPump.kt index 73506746e1..2e785096e2 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/VirtualPump.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/VirtualPump.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.pump interface VirtualPump { var fakeDataDetected: Boolean diff --git a/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt b/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt index 1caedf9aca..1f76e17009 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/queue/Callback.kt @@ -1,6 +1,6 @@ package info.nightscout.interfaces.queue -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.pump.PumpEnactResult abstract class Callback : Runnable { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt b/interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/Sms.kt similarity index 94% rename from interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt rename to interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/Sms.kt index bee9dd4ddc..2224347a93 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/data/smsCommunicator/Sms.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/Sms.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces.data.smsCommunicator +package info.nightscout.interfaces.smsCommunicator import android.telephony.SmsMessage diff --git a/interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt b/interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/SmsCommunicator.kt similarity index 62% rename from interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt rename to interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/SmsCommunicator.kt index 419bf80daf..a699169598 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/SmsCommunicator.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/smsCommunicator/SmsCommunicator.kt @@ -1,6 +1,4 @@ -package info.nightscout.interfaces - -import info.nightscout.interfaces.data.smsCommunicator.Sms +package info.nightscout.interfaces.smsCommunicator interface SmsCommunicator { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt b/interfaces/src/main/java/info/nightscout/interfaces/sync/NsClient.kt similarity index 94% rename from interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt rename to interfaces/src/main/java/info/nightscout/interfaces/sync/NsClient.kt index d24ee84c66..763d6a610f 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/NsClient.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/sync/NsClient.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.sync import android.text.Spanned import org.json.JSONObject diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Sync.kt b/interfaces/src/main/java/info/nightscout/interfaces/sync/Sync.kt similarity index 72% rename from interfaces/src/main/java/info/nightscout/interfaces/Sync.kt rename to interfaces/src/main/java/info/nightscout/interfaces/sync/Sync.kt index 6cb0ba3233..c98703081e 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Sync.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/sync/Sync.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.sync interface Sync { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt similarity index 96% rename from interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index e7c167e043..f1d53938f1 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -1,8 +1,8 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.ui -import androidx.fragment.app.FragmentManager import android.content.Context import androidx.annotation.RawRes +import androidx.fragment.app.FragmentManager /** * Interface to use activities located in different modules diff --git a/interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/IconsProvider.kt similarity index 69% rename from interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt rename to interfaces/src/main/java/info/nightscout/interfaces/ui/IconsProvider.kt index 8bb8b4b2a0..552bc18253 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/IconsProvider.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/IconsProvider.kt @@ -1,4 +1,4 @@ -package info.nightscout.interfaces +package info.nightscout.interfaces.ui interface IconsProvider { fun getIcon(): Int diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt index 59ac4b7fa4..feeaa05b28 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt @@ -19,7 +19,6 @@ import androidx.work.OneTimeWorkRequestBuilder import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate @@ -28,8 +27,10 @@ import info.nightscout.androidaps.plugin.general.openhumans.ui.OHFragment import info.nightscout.androidaps.plugin.general.openhumans.ui.OHLoginActivity import info.nightscout.database.entities.data.Block import info.nightscout.database.entities.interfaces.TraceableDBEntry -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper @@ -68,7 +69,7 @@ class OpenHumansUploader @Inject internal constructor( private val rxBus: RxBus ) : PluginBase( PluginDescription() - .mainType(info.nightscout.interfaces.PluginType.GENERAL) + .mainType(PluginType.GENERAL) .pluginIcon(R.drawable.open_humans_white) .pluginName(R.string.open_humans) .shortName(R.string.open_humans_short) diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index f6e997f5bb..f7433dbe4d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,17 +1,17 @@ package info.nightscout.plugins.configBuilder -import info.nightscout.core.main.R import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Insulin -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.core.main.R import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index 993b6ebdd2..e91fa10f2e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -5,10 +5,10 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 53690ec3ae..8ee4dd0a71 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -2,20 +2,19 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R 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 java.util.Calendar import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index c5ee79edd8..37bfa3c01d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -5,12 +5,12 @@ import android.os.Build import com.scottyab.rootbeer.RootBeer import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index 258f248f3d..a3f9521d00 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -5,17 +5,17 @@ import android.content.pm.PackageManager import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.spongycastle.util.encoders.Hex import java.io.ByteArrayOutputStream diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index b71f025c06..a0f6337a8e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -3,20 +3,20 @@ package info.nightscout.plugins.constraints.storage import android.os.Environment import android.os.StatFs import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index 52a80549f3..0e1ea16d5b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -1,21 +1,21 @@ package info.nightscout.plugins.constraints.versionChecker import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import java.util.concurrent.TimeUnit import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 9043b0605e..1398243b9b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -13,11 +13,11 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.Autotune import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 9327ed76d0..5aceb5a85d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -12,8 +12,6 @@ import android.widget.ArrayAdapter import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InvalidateFoodTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -22,7 +20,9 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Food import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateFoodTransaction +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.R import info.nightscout.plugins.databinding.FoodFragmentBinding import info.nightscout.plugins.databinding.FoodItemBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt index cafe8e9c0e..cb29c791b7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt @@ -5,14 +5,14 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.SyncNsFoodTransaction import info.nightscout.androidaps.extensions.foodFromJson import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.Food -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.SyncNsFoodTransaction +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt index 3caa3d3903..35de937bba 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt @@ -13,10 +13,10 @@ import android.view.ViewGroup import androidx.core.app.NotificationCompat import androidx.recyclerview.widget.RecyclerView import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.IconsProvider import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.plugins.R import info.nightscout.plugins.databinding.OverviewNotificationItemBinding import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index 173bc37b12..8eea5d6237 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -2,18 +2,18 @@ package info.nightscout.plugins.general.smsCommunicator import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.data.smsCommunicator.Sms import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject class AuthRequest internal constructor( diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt index 8709b172e9..88ae48bd4f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt @@ -6,8 +6,8 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.databinding.SmscommunicatorFragmentBinding import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index b1a9c2f03f..acb267c4c1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -12,12 +12,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin @@ -41,17 +35,23 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.SmsCommunicator -import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.events.EventSmsCommunicatorUpdateGui import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index 41cd2a3ace..293537f26a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SmscommunicatorActivityOtpBinding import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index 86e00294bf..66a6035d5c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -6,14 +6,14 @@ import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventThemeSwitch import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 936b78fd40..9d19e6c95c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -12,9 +12,9 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 3fac0105ab..bee4df0a77 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -8,11 +8,11 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.Iob +import info.nightscout.interfaces.iob.Iob import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index c9c41de409..cd17c2fd8d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -22,9 +22,9 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.R import info.nightscout.plugins.databinding.ProfileFragmentBinding import info.nightscout.plugins.ui.TimeListEdit diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 361914fc60..10427a1a9e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -6,39 +6,39 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.ProfileStore -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.XDripBroadcast -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.rx.events.EventProfileStoreChanged 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 org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index f4c9728d2c..3048694003 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -4,7 +4,6 @@ import android.os.SystemClock import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange @@ -20,11 +19,12 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.VirtualPump -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index dcb28c108c..252c9624fe 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -14,8 +14,6 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString @@ -29,7 +27,9 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.PluginBase +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SourceFragmentBinding import info.nightscout.plugins.databinding.SourceItemBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index a82ce7769b..81da15e4d9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -5,19 +5,19 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Config -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsclient.data.NSSgv diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index f1b792a522..5ad00e1e8b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginFragment +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginFragment +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.databinding.NsClientFragmentBinding import info.nightscout.plugins.sync.nsShared.events.EventNSClientUpdateGUI diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index 99c60525e3..d54871a809 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -5,19 +5,6 @@ import android.os.SystemClock import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CgmSourceTransaction -import info.nightscout.database.impl.transactions.SyncNsBolusCalculatorResultTransaction -import info.nightscout.database.impl.transactions.SyncNsBolusTransaction -import info.nightscout.database.impl.transactions.SyncNsCarbsTransaction -import info.nightscout.database.impl.transactions.SyncNsEffectiveProfileSwitchTransaction -import info.nightscout.database.impl.transactions.SyncNsExtendedBolusTransaction -import info.nightscout.database.impl.transactions.SyncNsOfflineEventTransaction -import info.nightscout.database.impl.transactions.SyncNsProfileSwitchTransaction -import info.nightscout.database.impl.transactions.SyncNsTemporaryBasalTransaction -import info.nightscout.database.impl.transactions.SyncNsTemporaryTargetTransaction -import info.nightscout.database.impl.transactions.SyncNsTherapyEventTransaction -import info.nightscout.database.impl.transactions.UserEntryTransaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger @@ -35,10 +22,23 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.database.impl.transactions.SyncNsBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.SyncNsBolusTransaction +import info.nightscout.database.impl.transactions.SyncNsCarbsTransaction +import info.nightscout.database.impl.transactions.SyncNsEffectiveProfileSwitchTransaction +import info.nightscout.database.impl.transactions.SyncNsExtendedBolusTransaction +import info.nightscout.database.impl.transactions.SyncNsOfflineEventTransaction +import info.nightscout.database.impl.transactions.SyncNsProfileSwitchTransaction +import info.nightscout.database.impl.transactions.SyncNsTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.SyncNsTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.SyncNsTherapyEventTransaction +import info.nightscout.database.impl.transactions.UserEntryTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.plugins.source.NSClientSourcePlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt index 203531a68b..bdc98f1463 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt @@ -1,6 +1,6 @@ package info.nightscout.plugins.sync.nsShared.events -import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.sync.NsClient import info.nightscout.rx.events.Event import java.text.SimpleDateFormat import java.util.Locale diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt index 68e0958394..c16495dc8f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsShared.events import info.nightscout.androidaps.events.EventStatus -import info.nightscout.interfaces.NsClient +import info.nightscout.interfaces.sync.NsClient import info.nightscout.shared.interfaces.ResourceHelper class EventNSClientStatus(var text: String, val version: NsClient.Version) : EventStatus() { diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 6590746f28..3bd035618b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -19,11 +19,11 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.Sync +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.NsClient +import info.nightscout.interfaces.sync.Sync import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.NSClientFragment diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt index e0205828a6..dfbb7bfca4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclient.data -import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.Config +import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index 0c5ff7bd2f..9cc36898e6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -16,17 +16,17 @@ import com.google.gson.GsonBuilder import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.NsClient import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt index 6fa6f7ed50..64064b6cb4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt @@ -6,20 +6,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.UpdateNsIdBolusCalculatorResultTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdBolusTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdCarbsTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdDeviceStatusTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdEffectiveProfileSwitchTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdExtendedBolusTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdFoodTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdGlucoseValueTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdOfflineEventTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdProfileSwitchTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryBasalTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryTargetTransaction -import info.nightscout.database.impl.transactions.UpdateNsIdTherapyEventTransaction import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult @@ -36,7 +22,21 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarge import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.DeviceStatus -import info.nightscout.interfaces.NsClient +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.UpdateNsIdBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdBolusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdCarbsTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdDeviceStatusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdEffectiveProfileSwitchTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdExtendedBolusTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdFoodTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdGlucoseValueTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdOfflineEventTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdProfileSwitchTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryBasalTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.UpdateNsIdTherapyEventTransaction +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.acks.NSAddAck diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index 1ccae0ac76..eb3a30a3e5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -5,16 +5,16 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.interfaces.VirtualPump +import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.StoreDataForDb diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt index 5b73bcbec9..b6c1e48806 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult @@ -19,8 +18,9 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.acks.NSUpdateAck import info.nightscout.rx.AapsSchedulers diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index b45e2c0e01..bd8e8cf1b6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -18,11 +18,11 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.NsClient -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.Sync +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.NsClient +import info.nightscout.interfaces.sync.Sync import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.NSClientFragment diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt index 937f56a258..be6e4606fc 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt @@ -8,8 +8,8 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.source.NSClientSourcePlugin import info.nightscout.plugins.sync.nsShared.StoreDataForDb diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt index 265372776a..3f985178a8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt @@ -5,8 +5,8 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.data.NSDeviceStatusHandler import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt index 997bd7bab5..8c44b303b2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt @@ -8,8 +8,8 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.NsClient import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index 2bdcaab27c..cb8c7d4fed 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -11,10 +11,10 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.PluginBase -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.Sync +import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.Sync import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 257a6c9c02..7829779b22 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index 96a9d91b02..b56f18ef4a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.GlucoseValue -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt index 64cd79fa8d..8eb0e6427a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt @@ -3,10 +3,10 @@ package info.nightscout.plugins.constraints.storage import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.Constraint -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt index d1b19d7e47..d60e0e9084 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt @@ -2,16 +2,16 @@ package info.nightscout.plugins.general.smsCommunicator import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.data.smsCommunicator.Sms -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.SmsCommunicator +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.SmsCommunicator +import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.plugins.R import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index eedd871589..61fa6f3c8b 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -7,11 +7,6 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.database.impl.transactions.Transaction import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints @@ -23,14 +18,19 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.smsCommunicator.Sms import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePasswordValidationResult diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt index 6b4a9cb796..32037c6d04 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.general.smsCommunicator import android.telephony.SmsMessage import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.data.smsCommunicator.Sms +import info.nightscout.interfaces.smsCommunicator.Sms import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index e1c785ef2e..8fdc98efea 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -21,7 +21,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; -import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -47,11 +46,12 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpH import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; import info.nightscout.core.fabric.InstanceId; -import info.nightscout.interfaces.Constraint; -import info.nightscout.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; -import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.PluginDescription; +import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index c2e1c933fb..4aaafda1e6 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginType +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 9d548b19f0..f407361604 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -25,9 +25,9 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.Dana +import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index 31eacc0867..b182f56320 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBindi import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 16659fb8e6..0de5d14033 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionService import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin @@ -20,8 +19,9 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt index d4db1502d1..105e16bc48 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/comm/MsgInitConnStatusTime_k.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.danaRKorean.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 41658f5a24..ca98c27fb0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -8,7 +8,6 @@ import java.io.IOException; import javax.inject.Inject; -import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -37,7 +36,6 @@ import info.nightscout.androidaps.danar.comm.MsgSettingShippingInfo; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -46,19 +44,21 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; -import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.shared.utils.T; +import info.nightscout.interfaces.Constants; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; +import info.nightscout.shared.interfaces.ResourceHelper; +import info.nightscout.shared.utils.DateUtil; +import info.nightscout.shared.utils.T; public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { @Inject AAPSLogger aapsLogger; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 3b370f91cf..dd79780492 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -16,7 +16,6 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; -import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -26,8 +25,9 @@ import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.core.fabric.FabricPrivacy; -import info.nightscout.interfaces.Constraint; -import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt index 0869ee08d3..50cdf256b3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgCheckValue_v2.kt @@ -4,9 +4,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index d1bfa31449..d7311d4bd5 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -10,7 +10,6 @@ import java.io.IOException; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -49,32 +48,33 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.interfaces.ActivityNames; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.queue.commands.Command; +import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; -import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.shared.utils.DateUtil; -import info.nightscout.shared.utils.T; +import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; 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 info.nightscout.shared.utils.T; public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { @Inject HasAndroidInjector injector; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index bb17c5aa31..655e5573a4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -10,36 +10,36 @@ import info.nightscout.androidaps.dana.DanaFragment; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.interfaces.Constraint; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.interfaces.Dana; -import info.nightscout.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.interfaces.notifications.Notification; -import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.DecimalFormatter; +import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.PluginDescription; +import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.pump.Dana; +import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.defs.ManufacturerType; +import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.utils.Round; -import info.nightscout.interfaces.PluginType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventConfigBuilderChange; 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 io.reactivex.rxjava3.disposables.CompositeDisposable; /** diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index f4170805d9..dc03bb6aa0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -14,7 +14,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; -import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -23,8 +22,9 @@ import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.core.fabric.FabricPrivacy; -import info.nightscout.interfaces.Constraint; -import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt index d920a16c19..d22424bed1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStart.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt index 9c82f2682d..caa86a6b6b 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgBolusStartWithSpeed.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt index 4b8c1631fe..a965466572 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgInitConnStatusTime.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danar.R -import info.nightscout.interfaces.PluginType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt index 126bf34b9e..3bfc0a5aad 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MsgSetExtendedBolusStart.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.danar.comm import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index 1791ccce0b..e318218720 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -47,8 +47,8 @@ import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.core.fabric.FabricPrivacy; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index 9ca9e5720d..f31c154d06 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -9,7 +9,6 @@ import java.io.IOException; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.interfaces.Constants; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.events.EventDanaRNewStatus; import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin; @@ -44,7 +43,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatus; import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; @@ -52,18 +50,20 @@ import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.queue.commands.Command; +import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; +import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.shared.sharedPreferences.SP; public class DanaRExecutionService extends AbstractDanaRExecutionService { diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index df7e553b7b..687981b742 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index 27db7e5408..987c8c2c19 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -2,16 +2,16 @@ package info.nightscout.androidaps.plugins.pump.danaR import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt index 7f3557ca5d..1277865b0c 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MessageHashTableR -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt index 9a404ddf22..5c437e4fa9 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgBolusStart -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt index f3d7917092..0660d978af 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStartWithSpeedTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgBolusStartWithSpeed -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt index 7ce268f28e..ff068be94c 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStartTest.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm import info.nightscout.androidaps.danar.comm.MsgSetExtendedBolusStart -import info.nightscout.interfaces.Constraint +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index e0f7cebf4c..62af1423b6 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -2,16 +2,16 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt index 9c053d2990..cb0d8752cc 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean.comm import info.nightscout.androidaps.danaRKorean.comm.MessageHashTableRKorean -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.pump.danaR.comm.DanaRTestBase +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index b8ea019892..9d2ea27f0a 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -2,18 +2,18 @@ package info.nightscout.androidaps.plugins.pump.danaRv2 import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Test diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt index 815fef0d08..782c123942 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2Test.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.pump.danaRv2.comm import info.nightscout.androidaps.danaRv2.comm.MessageHashTableRv2 import info.nightscout.androidaps.danaRv2.comm.MsgStatusAPS_v2 import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.plugins.pump.danaR.comm.DanaRTestBase +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mockito.`when` diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index d228207688..4a11212c12 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -31,12 +30,13 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalSt import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.Dana -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.Dana +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt index 8821e375e4..4df7ee77c9 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 01ff1567be..3f7679c154 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -66,11 +66,11 @@ import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index 7e7504cb76..f8ecf62623 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -2,14 +2,14 @@ package info.nightscout.androidaps.danars import android.content.Context import dagger.android.AndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.PluginType -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt index 0d3147c3e1..8c04713b61 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.Constraint import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt index 2830b3f4fc..9def3f4307 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt @@ -6,11 +6,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Constraint -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.constraints.Constraint import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 5c7738a7c4..6f68542f21 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 8c99c3021d..e81abac241 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -9,7 +9,6 @@ import android.text.format.DateFormat import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service @@ -29,17 +28,18 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalSt import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.Constraint -import info.nightscout.interfaces.Diaconn -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index 49b8f8418f..f572989f6c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index 821b72c64a..dc355d6366 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -28,12 +28,12 @@ import info.nightscout.androidaps.diaconn.packet.InsulinLackReportPacket import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis -import info.nightscout.interfaces.ActivityNames -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import java.util.UUID import java.util.concurrent.ScheduledFuture import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 279e1ab710..a459bdeb53 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -57,12 +57,12 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 77a03b7cec..b512cc0884 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue @@ -19,15 +18,16 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 1e37bd6d98..ccafc41165 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -7,7 +7,6 @@ import android.os.IBinder import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -54,15 +53,16 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.isSame import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.pump.defs.ManufacturerType -import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index 61cd019ef0..e15fdd5660 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -3,12 +3,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common. import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 4df111bcc9..72074e1868 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -5,7 +5,6 @@ import android.os.Handler import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -52,17 +51,18 @@ import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.PluginType -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.actions.CustomAction +import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.interfaces.pump.actions.CustomAction -import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.queue.CustomCommand +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index ac8018229d..920fd9402d 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -16,8 +16,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activation import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivation.DashPodDeactivationWizardActivity import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.extensions.toVisibility diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index a1c4702eb2..292f304cb2 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -32,11 +32,11 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventQueueChanged diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index d74f67a3fb..87317ea555 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -2,9 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R @@ -15,10 +13,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.DashHistory import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.InitialResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.ResolvedResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers 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 io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 45ce5dc07a..d3223f513e 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.PumpSync @@ -20,8 +19,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt index dee5b59d53..bde420b990 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt @@ -2,14 +2,14 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification -import info.nightscout.interfaces.notifications.Notification import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index c808ce0162..c74d233ee9 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -34,8 +34,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; -import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -90,17 +88,19 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUti import info.nightscout.androidaps.services.AlarmSoundService; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.core.fabric.FabricPrivacy; -import info.nightscout.interfaces.ActivityNames; -import info.nightscout.interfaces.PluginDescription; -import info.nightscout.interfaces.PluginType; -import info.nightscout.interfaces.data.PumpEnactResult; +import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.PluginDescription; +import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; -import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.CustomCommand; +import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.interfaces.utils.Round; import info.nightscout.interfaces.utils.TimeChangeType; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 9511e6fd61..a5adbaa938 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -68,11 +68,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.Om import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; -import info.nightscout.interfaces.ActivityNames; -import info.nightscout.interfaces.data.PumpEnactResult; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.pump.core.utils.ByteUtil; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index aefc980840..d9870bbff6 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -28,9 +28,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivati import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.extensions.toVisibility diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index e41288b454..5e1e03f96a 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -41,10 +41,10 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventQueueChanged diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt index 6dddc8120f..fd48ae35fc 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInitializePodViewModel.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsErosPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt index 84bd6add79..60cc0048ea 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsErosPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt index 2fb49cdc22..b18d831771 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 41926f97d0..f45c47b3f3 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -5,17 +5,17 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import org.joda.time.DateTimeZone import org.joda.time.tz.UTCProvider import org.junit.Assert diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 42275f8ca3..bbe9267e45 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -6,7 +6,6 @@ import android.content.ServiceConnection import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -26,8 +25,9 @@ import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.PluginDescription -import info.nightscout.interfaces.data.PumpEnactResult +import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index b719e71300..f182e681f0 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -12,7 +12,6 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -23,7 +22,8 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.interfaces.ImportExportPrefs +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.extensions.toVisibility diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index b407ea9ccb..891af79f93 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -8,9 +8,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.CommandQueue @@ -30,12 +27,15 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.ActivityNames +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer -import info.nightscout.interfaces.Constraint import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 2ca80b0d34..32ecd1c3c1 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -26,11 +26,11 @@ import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.entities.interfaces.end -import info.nightscout.interfaces.ActivityNames import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.VariableSensitivityResult +import info.nightscout.interfaces.aps.VariableSensitivityResult +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.toVisibility diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 257a6c9c02..7829779b22 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.data.PumpEnactResult import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.TimeChangeType import org.json.JSONObject From 96a99fc0dbda9aeaade3a9f30e7b156494c4d2cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 13:05:37 +0000 Subject: [PATCH 043/123] chore(deps): bump play-services-location from 20.0.0 to 21.0.1 Bumps play-services-location from 20.0.0 to 21.0.1. --- updated-dependencies: - dependency-name: com.google.android.gms:play-services-location dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2aa7c8b230..aadd30e3e1 100644 --- a/build.gradle +++ b/build.gradle @@ -44,7 +44,7 @@ buildscript { wearable_version = '2.9.0' play_services_wearable_version = '17.1.0' - play_services_location_version = '20.0.0' + play_services_location_version = '21.0.1' } repositories { google() From 821fe884da030292f1f934aa6acce3f4b4028f02 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 14:23:13 +0100 Subject: [PATCH 044/123] update rootbeer lib --- interfaces/build.gradle | 1 - plugins/build.gradle | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/interfaces/build.gradle b/interfaces/build.gradle index 99cb129e22..996cf6c443 100644 --- a/interfaces/build.gradle +++ b/interfaces/build.gradle @@ -26,7 +26,6 @@ dependencies { implementation project(':database:entities') api "androidx.appcompat:appcompat:$appcompat_version" - api "androidx.preference:preference-ktx:$preferencektx_version" // Dagger api "com.google.dagger:dagger:$dagger_version" diff --git a/plugins/build.gradle b/plugins/build.gradle index b2a00d7926..bb31fcebbe 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -42,8 +42,7 @@ dependencies { // Phone checker - // updating to 0.0.9 prevents AAPS from build - api 'com.scottyab:rootbeer-lib:0.0.8' + api 'com.scottyab:rootbeer-lib:0.1.0' //SmsCommunicator api 'com.eatthepath:java-otp:0.3.1' From d0a240b4175d6f3d9b13079341e98aa436ededc5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 14:54:51 +0100 Subject: [PATCH 045/123] IobTotal -> interfaces --- .../androidaps/dialogs/WizardDialog.kt | 1 + .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 2 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 1 + .../PersistentNotificationPlugin.kt | 1 + .../wear/wearintegration/DataHandlerMobile.kt | 1 + .../IobCobCalculatorPlugin.kt | 7 +- .../androidaps/utils/wizard/BolusWizard.kt | 1 + .../utils/wizard/QuickWizardEntry.kt | 1 + .../PrepareIobAutosensGraphDataWorker.kt | 88 +++++++---- .../utils/wizard/BolusWizardTest.kt | 2 +- .../automation/triggers/TriggerIobTest.kt | 2 +- .../nightscout/androidaps/data/IobTotal.kt | 143 ------------------ .../extensions/ExtendedBolusExtension.kt | 2 +- .../extensions/TemporaryBasalExtension.kt | 2 +- .../DetermineBasalAdapterInterface.kt | 2 +- .../androidaps/interfaces/IobCobCalculator.kt | 2 +- .../androidaps/plugins/aps/loop/APSResult.kt | 2 +- .../plugins/general/overview/OverviewData.kt | 7 +- .../InMemoryGlucoseValueDataPoint.kt | 8 +- .../iob/iobCobCalculator/AutosensDataStore.kt | 4 +- .../nightscout/core/iob/IobTotalExtension.kt | 103 +++++++++++++ .../androidaps/data/IobTotalTest.kt | 1 + .../interfaces/iob}/InMemoryGlucoseValue.kt | 2 +- .../nightscout/interfaces/iob/IobTotal.kt | 19 +++ .../plugins/general/autotune/AutotuneIob.kt | 5 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 1 + .../xdripStatusline/StatusLinePlugin.kt | 1 + .../extensions/DeviceStatusExtension.kt | 1 + .../general/autotune/AutotunePrepTest.kt | 4 +- .../SmsCommunicatorPluginTest.kt | 2 +- .../TreatmentsTemporaryBasalsFragment.kt | 10 +- 33 files changed, 231 insertions(+), 201 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt create mode 100644 core/core-main/src/main/java/info/nightscout/core/iob/IobTotalExtension.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/data => interfaces/src/main/java/info/nightscout/interfaces/iob}/InMemoryGlucoseValue.kt (89%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/iob/IobTotal.kt diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index ec8f92fc63..c61990bc68 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -34,6 +34,7 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 6a49eb3514..a3e2380f62 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -17,6 +16,7 @@ import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 573c11de72..c6b152bbc1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -18,6 +17,7 @@ import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index d5ce9e2c5e..6bf251e708 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -20,6 +19,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 9fe2ab032b..634ef7dc2d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -18,6 +18,7 @@ import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 99dfdd038c..1917e67088 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -18,6 +18,7 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.interfaces.Constants import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index d08374f055..24485ea475 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -31,6 +31,7 @@ import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryBasal diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 33997f9a7e..d7d0efa5f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -4,7 +4,6 @@ import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData @@ -21,6 +20,11 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.combine +import info.nightscout.core.iob.copy +import info.nightscout.core.iob.determineBasalJson +import info.nightscout.core.iob.plus +import info.nightscout.core.iob.round import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal @@ -28,6 +32,7 @@ import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 9e687bcfac..4d2566a139 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -20,6 +20,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.iob.round import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.TemporaryTarget diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index a90d319b71..3ea31569ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -8,6 +8,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.core.iob.round import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 0ee562bcce..a2d3b6ed61 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -10,13 +10,8 @@ import com.jjoe64.graphview.series.BarGraphSeries import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.data.IobTotal -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -27,11 +22,18 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.iob.combine +import info.nightscout.core.iob.copy +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import kotlin.math.abs import kotlin.math.max @@ -51,9 +53,10 @@ class PrepareIobAutosensGraphDataWorker( @Inject lateinit var repository: AppRepository @Inject lateinit var rxBus: RxBus var ctx: Context + init { (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) - ctx = rh.getThemedCtx(context) + ctx = rh.getThemedCtx(context) } class PrepareIobAutosensData( @@ -61,6 +64,37 @@ class PrepareIobAutosensGraphDataWorker( val overviewData: OverviewData ) + class IobTotalDataPoint(time: Long) : IobTotal(time), DataPointWithLabelInterface { + + constructor(i: IobTotal) : this(i.time) { + iob = i.iob + activity = i.activity + bolussnooze = i.bolussnooze + basaliob = i.basaliob + netbasalinsulin = i.netbasalinsulin + hightempinsulin = i.hightempinsulin + lastBolusTime = i.lastBolusTime + iobWithZeroTemp = i.iobWithZeroTemp?.copy() + netInsulin = i.netInsulin + extendedBolusInsulin = i.extendedBolusInsulin + } + + private var color = 0 + override fun getX(): Double = time.toDouble() + override fun getY(): Double = iob + override fun setY(y: Double) {} + override val label = "" + override val duration = 0L + override val shape = PointsWithLabelGraphSeries.Shape.IOB_PREDICTION + override val size = 0.5f + + override fun color(context: Context?): Int = color + fun setColor(color: Int): IobTotalDataPoint { + this.color = color + return this + } + } + override fun doWork(): Result { val data = dataWorkerStorage.pickupObject(inputData.getLong(DataWorkerStorage.STORE_KEY, -1)) as PrepareIobAutosensData? ?: return Result.failure(workDataOf("Error" to "missing input data")) @@ -157,15 +191,15 @@ class PrepareIobAutosensGraphDataWorker( // DEVIATIONS if (autosensData != null) { - var color = rh.gac( ctx, R.attr.deviationBlackColor) // "=" + var color = rh.gac(ctx, R.attr.deviationBlackColor) // "=" if (autosensData.type == "" || autosensData.type == "non-meal") { - if (autosensData.pastSensitivity == "C") color = rh.gac( ctx, R.attr.deviationGreyColor) - if (autosensData.pastSensitivity == "+") color = rh.gac( ctx, R.attr.deviationGreenColor) - if (autosensData.pastSensitivity == "-") color = rh.gac( ctx, R.attr.deviationRedColor) + if (autosensData.pastSensitivity == "C") color = rh.gac(ctx, R.attr.deviationGreyColor) + if (autosensData.pastSensitivity == "+") color = rh.gac(ctx, R.attr.deviationGreenColor) + if (autosensData.pastSensitivity == "-") color = rh.gac(ctx, R.attr.deviationRedColor) } else if (autosensData.type == "uam") { - color = rh.gac( ctx, R.attr.uamColor) + color = rh.gac(ctx, R.attr.uamColor) } else if (autosensData.type == "csf") { - color = rh.gac( ctx, R.attr.deviationGreyColor) + color = rh.gac(ctx, R.attr.deviationGreyColor) } devArray.add(DeviationDataPoint(time.toDouble(), autosensData.deviation, color, data.overviewData.devScale)) data.overviewData.maxDevValueFound = maxOf(data.overviewData.maxDevValueFound, abs(autosensData.deviation), abs(bgi)) @@ -191,14 +225,14 @@ class PrepareIobAutosensGraphDataWorker( // IOB data.overviewData.iobSeries = FixedLineGraphSeries(Array(iobArray.size) { i -> iobArray[i] }).also { it.isDrawBackground = true - it.backgroundColor = -0x7f000001 and rh.gac( ctx, R.attr.iobColor) //50% - it.color = rh.gac( ctx, R.attr.iobColor) + it.backgroundColor = -0x7f000001 and rh.gac(ctx, R.attr.iobColor) //50% + it.color = rh.gac(ctx, R.attr.iobColor) it.thickness = 3 } data.overviewData.absIobSeries = FixedLineGraphSeries(Array(absIobArray.size) { i -> absIobArray[i] }).also { it.isDrawBackground = true - it.backgroundColor = -0x7f000001 and rh.gac( ctx, R.attr.iobColor) //50% - it.color = rh.gac( ctx, R.attr.iobColor) + it.backgroundColor = -0x7f000001 and rh.gac(ctx, R.attr.iobColor) //50% + it.color = rh.gac(ctx, R.attr.iobColor) it.thickness = 3 } @@ -209,7 +243,7 @@ class PrepareIobAutosensGraphDataWorker( val iobPrediction: MutableList = ArrayList() val iobPredictionArray = data.iobCobCalculator.calculateIobArrayForSMB(lastAutosensResult, SMBDefaults.exercise_mode, SMBDefaults.half_basal_exercise_target, isTempTarget) for (i in iobPredictionArray) { - iobPrediction.add(i.setColor(rh.gac( ctx, R.attr.iobPredASColor))) + iobPrediction.add(IobTotalDataPoint(i).setColor(rh.gac(ctx, R.attr.iobPredASColor))) data.overviewData.maxIobValueFound = max(data.overviewData.maxIobValueFound, abs(i.iob)) } data.overviewData.iobPredictions1Series = PointsWithLabelGraphSeries(Array(iobPrediction.size) { i -> iobPrediction[i] }) @@ -221,8 +255,8 @@ class PrepareIobAutosensGraphDataWorker( // COB data.overviewData.cobSeries = FixedLineGraphSeries(Array(cobArray.size) { i -> cobArray[i] }).also { it.isDrawBackground = true - it.backgroundColor = -0x7f000001 and rh.gac( ctx, R.attr.cobColor) //50% - it.color = rh.gac( ctx, R.attr.cobColor) + it.backgroundColor = -0x7f000001 and rh.gac(ctx, R.attr.cobColor) //50% + it.color = rh.gac(ctx, R.attr.cobColor) it.thickness = 3 } data.overviewData.cobMinFailOverSeries = PointsWithLabelGraphSeries(Array(minFailOverActiveList.size) { i -> minFailOverActiveList[i] }) @@ -230,7 +264,7 @@ class PrepareIobAutosensGraphDataWorker( // ACTIVITY data.overviewData.activitySeries = FixedLineGraphSeries(Array(actArrayHist.size) { i -> actArrayHist[i] }).also { it.isDrawBackground = false - it.color = rh.gac( ctx, R.attr.activityColor) + it.color = rh.gac(ctx, R.attr.activityColor) it.thickness = 3 } data.overviewData.activityPredictionSeries = FixedLineGraphSeries(Array(actArrayPrediction.size) { i -> actArrayPrediction[i] }).also { @@ -238,14 +272,14 @@ class PrepareIobAutosensGraphDataWorker( paint.style = Paint.Style.STROKE paint.strokeWidth = 3f paint.pathEffect = DashPathEffect(floatArrayOf(4f, 4f), 0f) - paint.color = rh.gac( ctx, R.attr.activityColor) + paint.color = rh.gac(ctx, R.attr.activityColor) }) } // BGI data.overviewData.minusBgiSeries = FixedLineGraphSeries(Array(bgiArrayHist.size) { i -> bgiArrayHist[i] }).also { it.isDrawBackground = false - it.color = rh.gac( ctx, R.attr.bgiColor) + it.color = rh.gac(ctx, R.attr.bgiColor) it.thickness = 3 } data.overviewData.minusBgiHistSeries = FixedLineGraphSeries(Array(bgiArrayPrediction.size) { i -> bgiArrayPrediction[i] }).also { @@ -253,7 +287,7 @@ class PrepareIobAutosensGraphDataWorker( paint.style = Paint.Style.STROKE paint.strokeWidth = 3f paint.pathEffect = DashPathEffect(floatArrayOf(4f, 4f), 0f) - paint.color = rh.gac( ctx, R.attr.bgiColor) + paint.color = rh.gac(ctx, R.attr.bgiColor) }) } @@ -264,17 +298,17 @@ class PrepareIobAutosensGraphDataWorker( // RATIO data.overviewData.ratioSeries = LineGraphSeries(Array(ratioArray.size) { i -> ratioArray[i] }).also { - it.color = rh.gac( ctx, R.attr.ratioColor) + it.color = rh.gac(ctx, R.attr.ratioColor) it.thickness = 3 } // DEV SLOPE data.overviewData.dsMaxSeries = LineGraphSeries(Array(dsMaxArray.size) { i -> dsMaxArray[i] }).also { - it.color = rh.gac( ctx, R.attr.devSlopePosColor) + it.color = rh.gac(ctx, R.attr.devSlopePosColor) it.thickness = 3 } data.overviewData.dsMinSeries = LineGraphSeries(Array(dsMinArray.size) { i -> dsMinArray[i] }).also { - it.color = rh.gac( ctx, R.attr.devSlopeNegColor) + it.color = rh.gac(ctx, R.attr.devSlopeNegColor) it.thickness = 3 } rxBus.send(EventIobCalculationProgress(CalculationWorkflow.ProgressData.PREPARE_IOB_AUTOSENS_DATA, 100, null)) diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 5f837ab3cd..f3482a95a3 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -4,7 +4,6 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints @@ -16,6 +15,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt index d5b7d746c1..32033a643d 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt @@ -1,9 +1,9 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.data.IobTotal import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator +import info.nightscout.interfaces.iob.IobTotal import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt deleted file mode 100644 index 3e8c0c383c..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/IobTotal.kt +++ /dev/null @@ -1,143 +0,0 @@ -package info.nightscout.androidaps.data - -import android.content.Context -import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface -import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.Round -import org.json.JSONException -import org.json.JSONObject - -@Suppress("SpellCheckingInspection") -class IobTotal(val time: Long) : DataPointWithLabelInterface { - - var iob = 0.0 - var activity = 0.0 - var bolussnooze = 0.0 - var basaliob = 0.0 - var netbasalinsulin = 0.0 - var hightempinsulin = 0.0 - - // oref1 - var lastBolusTime: Long = 0 - var iobWithZeroTemp: IobTotal? = null - var netInsulin = 0.0 // for calculations from temp basals only - var extendedBolusInsulin = 0.0 // total insulin for extended bolus - fun copy(): IobTotal { - val i = IobTotal(time) - i.iob = iob - i.activity = activity - i.bolussnooze = bolussnooze - i.basaliob = basaliob - i.netbasalinsulin = netbasalinsulin - i.hightempinsulin = hightempinsulin - i.lastBolusTime = lastBolusTime - i.iobWithZeroTemp = iobWithZeroTemp?.copy() - i.netInsulin = netInsulin - i.extendedBolusInsulin = extendedBolusInsulin - return i - } - - operator fun plus(other: IobTotal): IobTotal { - iob += other.iob - activity += other.activity - bolussnooze += other.bolussnooze - basaliob += other.basaliob - netbasalinsulin += other.netbasalinsulin - hightempinsulin += other.hightempinsulin - netInsulin += other.netInsulin - extendedBolusInsulin += other.extendedBolusInsulin - return this - } - - fun round(): IobTotal { - iob = Round.roundTo(iob, 0.001) - activity = Round.roundTo(activity, 0.0001) - bolussnooze = Round.roundTo(bolussnooze, 0.0001) - basaliob = Round.roundTo(basaliob, 0.001) - netbasalinsulin = Round.roundTo(netbasalinsulin, 0.001) - hightempinsulin = Round.roundTo(hightempinsulin, 0.001) - netInsulin = Round.roundTo(netInsulin, 0.001) - extendedBolusInsulin = Round.roundTo(extendedBolusInsulin, 0.001) - return this - } - - fun json(dateUtil: DateUtil): JSONObject { - val json = JSONObject() - try { - json.put("iob", iob) - json.put("basaliob", basaliob) - json.put("activity", activity) - json.put("time", dateUtil.toISOString(time)) - } catch (ignored: JSONException) { - } - return json - } - - fun determineBasalJson(dateUtil: DateUtil): JSONObject { - val json = JSONObject() - try { - json.put("iob", iob) - json.put("basaliob", basaliob) - json.put("bolussnooze", bolussnooze) - json.put("activity", activity) - json.put("lastBolusTime", lastBolusTime) - json.put("time", dateUtil.toISOString(time)) - /* - - This is requested by SMB determine_basal but by based on Scott's info - it's MDT specific safety check only - It's causing rounding issues in determine_basal - - JSONObject lastTemp = new JSONObject(); - lastTemp.put("date", lastTempDate); - lastTemp.put("rate", lastTempRate); - lastTemp.put("duration", lastTempDuration); - json.put("lastTemp", lastTemp); - */ - if (iobWithZeroTemp != null) { - val iwzt = iobWithZeroTemp!!.determineBasalJson(dateUtil) - json.put("iobWithZeroTemp", iwzt) - } - } catch (ignored: JSONException) { - } - return json - } - - // DataPoint interface - private var color = 0 - override fun getX(): Double = time.toDouble() - override fun getY(): Double = iob - override fun setY(y: Double) {} - override val label = "" - override val duration = 0L - override val shape = PointsWithLabelGraphSeries.Shape.IOB_PREDICTION - override val size = 0.5f - - override fun color(context: Context?): Int { - return color - } - - fun setColor(color: Int): IobTotal { - this.color = color - return this - } - - companion object { - - fun combine(bolusIOB: IobTotal, basalIob: IobTotal): IobTotal { - val result = IobTotal(bolusIOB.time) - result.iob = bolusIOB.iob + basalIob.basaliob - result.activity = bolusIOB.activity + basalIob.activity - result.bolussnooze = bolusIOB.bolussnooze - result.basaliob = bolusIOB.basaliob + basalIob.basaliob - result.netbasalinsulin = bolusIOB.netbasalinsulin + basalIob.netbasalinsulin - result.hightempinsulin = basalIob.hightempinsulin + bolusIOB.hightempinsulin - result.netInsulin = basalIob.netInsulin + bolusIOB.netInsulin - result.extendedBolusInsulin = basalIob.extendedBolusInsulin + bolusIOB.extendedBolusInsulin - result.lastBolusTime = bolusIOB.lastBolusTime - result.iobWithZeroTemp = basalIob.iobWithZeroTemp - return result - } - } -} diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index 5651f1e0a8..c0838d5cb7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult @@ -9,6 +8,7 @@ import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 1e546136db..229b6e3d01 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult @@ -9,6 +8,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt index 2ace25add1..c9038b209c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData interface DetermineBasalAdapterInterface { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index 3f497a0134..0d9a3d41bc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.BasalData @@ -8,6 +7,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import org.json.JSONArray diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 7c5b8ca53c..82591b0af5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.aps.loop import android.text.Spanned import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.interfaces.ActivePlugin @@ -13,6 +12,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index dd4c076fc1..19ff66a822 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -7,9 +7,6 @@ import androidx.annotation.DrawableRes import com.jjoe64.graphview.series.BarGraphSeries import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.data.IobTotal -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.extensions.toStringFull @@ -27,9 +24,13 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.core.iob.round import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index 58ea6df7b6..beb081c4ac 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.interfaces.Constants -import info.nightscout.core.main.R -import info.nightscout.androidaps.data.InMemoryGlucoseValue -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.main.R +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.iob.InMemoryGlucoseValue import info.nightscout.shared.interfaces.ResourceHelper class InMemoryGlucoseValueDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt index cf78d672d6..1e05ddc5fc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import androidx.collection.LongSparseArray import androidx.collection.size import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.InMemoryGlucoseValue -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.iob.InMemoryGlucoseValue import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/core/core-main/src/main/java/info/nightscout/core/iob/IobTotalExtension.kt b/core/core-main/src/main/java/info/nightscout/core/iob/IobTotalExtension.kt new file mode 100644 index 0000000000..cd8c3b2041 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/iob/IobTotalExtension.kt @@ -0,0 +1,103 @@ +package info.nightscout.core.iob + +import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.utils.Round +import info.nightscout.shared.utils.DateUtil +import org.json.JSONException +import org.json.JSONObject + +fun IobTotal.copy(): IobTotal { + val i = IobTotal(time) + i.iob = iob + i.activity = activity + i.bolussnooze = bolussnooze + i.basaliob = basaliob + i.netbasalinsulin = netbasalinsulin + i.hightempinsulin = hightempinsulin + i.lastBolusTime = lastBolusTime + i.iobWithZeroTemp = iobWithZeroTemp?.copy() + i.netInsulin = netInsulin + i.extendedBolusInsulin = extendedBolusInsulin + return i +} + +operator fun IobTotal.plus(other: IobTotal): IobTotal { + iob += other.iob + activity += other.activity + bolussnooze += other.bolussnooze + basaliob += other.basaliob + netbasalinsulin += other.netbasalinsulin + hightempinsulin += other.hightempinsulin + netInsulin += other.netInsulin + extendedBolusInsulin += other.extendedBolusInsulin + return this +} + +fun IobTotal.round(): IobTotal { + iob = Round.roundTo(iob, 0.001) + activity = Round.roundTo(activity, 0.0001) + bolussnooze = Round.roundTo(bolussnooze, 0.0001) + basaliob = Round.roundTo(basaliob, 0.001) + netbasalinsulin = Round.roundTo(netbasalinsulin, 0.001) + hightempinsulin = Round.roundTo(hightempinsulin, 0.001) + netInsulin = Round.roundTo(netInsulin, 0.001) + extendedBolusInsulin = Round.roundTo(extendedBolusInsulin, 0.001) + return this +} + +fun IobTotal.json(dateUtil: DateUtil): JSONObject { + val json = JSONObject() + try { + json.put("iob", iob) + json.put("basaliob", basaliob) + json.put("activity", activity) + json.put("time", dateUtil.toISOString(time)) + } catch (ignored: JSONException) { + } + return json +} + +fun IobTotal.determineBasalJson(dateUtil: DateUtil): JSONObject { + val json = JSONObject() + try { + json.put("iob", iob) + json.put("basaliob", basaliob) + json.put("bolussnooze", bolussnooze) + json.put("activity", activity) + json.put("lastBolusTime", lastBolusTime) + json.put("time", dateUtil.toISOString(time)) + /* + + This is requested by SMB determine_basal but by based on Scott's info + it's MDT specific safety check only + It's causing rounding issues in determine_basal + + JSONObject lastTemp = new JSONObject(); + lastTemp.put("date", lastTempDate); + lastTemp.put("rate", lastTempRate); + lastTemp.put("duration", lastTempDuration); + json.put("lastTemp", lastTemp); + */ + if (iobWithZeroTemp != null) { + val iwzt = iobWithZeroTemp!!.determineBasalJson(dateUtil) + json.put("iobWithZeroTemp", iwzt) + } + } catch (ignored: JSONException) { + } + return json +} + +fun IobTotal.Companion.combine(bolusIOB: IobTotal, basalIob: IobTotal): IobTotal { + val result = IobTotal(bolusIOB.time) + result.iob = bolusIOB.iob + basalIob.basaliob + result.activity = bolusIOB.activity + basalIob.activity + result.bolussnooze = bolusIOB.bolussnooze + result.basaliob = bolusIOB.basaliob + basalIob.basaliob + result.netbasalinsulin = bolusIOB.netbasalinsulin + basalIob.netbasalinsulin + result.hightempinsulin = basalIob.hightempinsulin + bolusIOB.hightempinsulin + result.netInsulin = basalIob.netInsulin + bolusIOB.netInsulin + result.extendedBolusInsulin = basalIob.extendedBolusInsulin + bolusIOB.extendedBolusInsulin + result.lastBolusTime = bolusIOB.lastBolusTime + result.iobWithZeroTemp = basalIob.iobWithZeroTemp + return result +} diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt index 84ae1fe96b..8855905c53 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/InMemoryGlucoseValue.kt similarity index 89% rename from core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt rename to interfaces/src/main/java/info/nightscout/interfaces/iob/InMemoryGlucoseValue.kt index 040a191bf6..502936840b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/InMemoryGlucoseValue.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/InMemoryGlucoseValue.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.iob import info.nightscout.database.entities.GlucoseValue diff --git a/interfaces/src/main/java/info/nightscout/interfaces/iob/IobTotal.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/IobTotal.kt new file mode 100644 index 0000000000..b15f4210c2 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/IobTotal.kt @@ -0,0 +1,19 @@ +package info.nightscout.interfaces.iob + +@Suppress("SpellCheckingInspection") +open class IobTotal(val time: Long) { + + var iob = 0.0 + var activity = 0.0 + var bolussnooze = 0.0 + var basaliob = 0.0 + var netbasalinsulin = 0.0 + var hightempinsulin = 0.0 + + // oref1 + var lastBolusTime: Long = 0 + var iobWithZeroTemp: IobTotal? = null + var netInsulin = 0.0 // for calculations from temp basals only + var extendedBolusInsulin = 0.0 // total insulin for extended bolus + companion object +} diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 70f3611d92..999a0cf25d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -1,14 +1,13 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.iob.round import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.ExtendedBolus @@ -16,7 +15,9 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index acb267c4c1..edb9100927 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -30,6 +30,7 @@ import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 9d19e6c95c..b8b441de59 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -12,6 +12,7 @@ import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.round import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index 93acb73248..3650f605e4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -6,6 +6,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.receivers.ReceiverStatusStore +import info.nightscout.core.iob.json import info.nightscout.database.entities.DeviceStatus import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.shared.utils.DateUtil diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 26785eebbe..ef8b98136a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -2,11 +2,9 @@ package info.nightscout.plugins.general.autotune import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.database.entities.Bolus @@ -14,7 +12,9 @@ import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.data.Block import info.nightscout.database.entities.data.TargetBlock +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 61fa6f3c8b..6f9dd15f6f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -5,7 +5,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.IobTotal import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -26,6 +25,7 @@ import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 84c10618b8..82eede23eb 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -15,11 +15,6 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.data.IobTotal -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction -import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal @@ -36,6 +31,11 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction +import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction +import info.nightscout.interfaces.iob.IobTotal import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventTempBasalChange From 0442a9ae5b3bb6454798f37193710aefcfec4721 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 14:58:53 +0100 Subject: [PATCH 046/123] LocalInsulin -> autotune --- .../nightscout/androidaps/extensions/BolusExtension.kt | 7 ------- .../nightscout/plugins/general/autotune/AutotuneCore.kt | 4 ++-- .../plugins/general/autotune/AutotuneFragment.kt | 2 +- .../nightscout/plugins/general/autotune/AutotuneIob.kt | 9 +++++++-- .../plugins/general/autotune/AutotunePlugin.kt | 2 +- .../nightscout/plugins/general/autotune/AutotunePrep.kt | 2 +- .../plugins/general/autotune/data/ATProfile.kt | 1 - .../plugins/general/autotune}/data/LocalInsulin.kt | 2 +- .../plugins/general/autotune/AutotuneCoreTest.kt | 2 +- .../plugins/general/autotune/AutotunePrepTest.kt | 2 +- 10 files changed, 15 insertions(+), 18 deletions(-) rename {core/core-main/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins/general/autotune}/data/LocalInsulin.kt (96%) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index f2ef7b6bdb..3ff4d80b33 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.database.entities.Bolus @@ -10,10 +9,4 @@ fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() val insulinInterface: Insulin = activePlugin.activeInsulin return insulinInterface.iobCalcForTreatment(this, time, dia) -} - -// Add specific calculation for Autotune (reference localInsulin for Peak/dia) -fun Bolus.iobCalc(time: Long, localInsulin: LocalInsulin): Iob { - if (!isValid || type == Bolus.Type.PRIMING ) return Iob() - return localInsulin.iobCalcForTreatment(this, time) } \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt index 4f8d3f531d..e43eca07cf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt @@ -1,13 +1,13 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.plugins.utils.Percentile import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import java.util.Calendar import javax.inject.Inject import javax.inject.Singleton import kotlin.math.max diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 4f8fd1a4ab..6912e3eb9f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -19,7 +19,6 @@ import android.widget.TableRow import android.widget.TextView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin @@ -38,6 +37,7 @@ import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.databinding.AutotuneFragmentBinding import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 999a0cf25d..cfc929c823 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -1,8 +1,6 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.extensions.durationInMinutes -import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.Profile @@ -17,10 +15,12 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.iob.Iob import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -247,6 +247,11 @@ open class AutotuneIob @Inject constructor( open fun getIOB(time: Long, localInsulin: LocalInsulin): IobTotal = getCalculationToTimeTreatments(time, localInsulin).round() + // Add specific calculation for Autotune (reference localInsulin for Peak/dia) + fun Bolus.iobCalc(time: Long, localInsulin: LocalInsulin): Iob { + if (!isValid || type == Bolus.Type.PRIMING ) return Iob() + return localInsulin.iobCalcForTreatment(this, time) + } private fun getCalculationToTimeTreatments(time: Long, localInsulin: LocalInsulin): IobTotal { val total = IobTotal(time) val detailedLog = sp.getBoolean(R.string.key_autotune_additional_log, false) diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 1398243b9b..93bb41e5b9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -2,7 +2,6 @@ package info.nightscout.plugins.general.autotune import android.view.View import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Insulin @@ -22,6 +21,7 @@ import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui import info.nightscout.plugins.profile.ProfilePlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt index 37792897b3..4a02eb820d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt @@ -1,6 +1,5 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.GlucoseValue @@ -11,6 +10,7 @@ import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.BGDatum import info.nightscout.plugins.general.autotune.data.CRDatum import info.nightscout.plugins.general.autotune.data.DiaDeviation +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PeakDeviation import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.shared.sharedPreferences.SP diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 3148854abf..7ee238986e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.general.autotune.data import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockValueBySeconds diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt similarity index 96% rename from core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt rename to plugins/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt index e276084525..5f4770d0d9 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/LocalInsulin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.plugins.general.autotune.data import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.iob.Iob diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index fb9a4946c9..71910b1fd7 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -2,7 +2,6 @@ package info.nightscout.plugins.general.autotune import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.database.entities.data.Block @@ -11,6 +10,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index ef8b98136a..400405ed3c 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -2,7 +2,6 @@ package info.nightscout.plugins.general.autotune import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.data.LocalInsulin import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.shiftBlock @@ -18,6 +17,7 @@ import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile +import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP From cca40b960673bbfc0a897c1227f3208527ea9b04 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 15:26:28 +0100 Subject: [PATCH 047/123] move to interfaces --- .../androidaps/activities/ProfileHelperActivity.kt | 4 ++-- .../plugins/configBuilder/ConfigBuilderPlugin.kt | 2 +- .../androidaps/plugins/configBuilder/PluginStore.kt | 2 +- .../info/nightscout/androidaps/data/ProfileSealed.kt | 1 + .../main/java/info/nightscout/androidaps/data/Sms.kt | 2 -- .../nightscout/androidaps/extensions/BolusExtension.kt | 2 +- .../androidaps/extensions/ExtendedBolusExtension.kt | 2 +- .../androidaps/extensions/ProfileSwitchExtension.kt | 2 +- .../androidaps/extensions/TemporaryBasalExtension.kt | 2 +- .../nightscout/androidaps/interfaces/ActivePlugin.kt | 1 + .../info/nightscout/androidaps/interfaces/Profile.kt | 8 ++++---- .../nightscout/androidaps/interfaces/ProfileSource.kt | 2 +- .../nightscout/androidaps/interfaces/ProfileStore.kt | 4 ++-- .../info/nightscout/androidaps/data/IobTotalTest.kt | 10 ++++++++-- .../androidaps/interfaces/ProfileStoreTest.kt | 3 +-- .../info/nightscout/interfaces/insulin}/Insulin.kt | 2 +- .../info/nightscout/interfaces/profile}/PureProfile.kt | 2 +- .../plugins/configBuilder/RunningConfiguration.kt | 2 +- .../plugins/general/autotune/AutotunePlugin.kt | 2 +- .../plugins/general/autotune/data/ATProfile.kt | 4 ++-- .../info/nightscout/plugins/insulin/ActivityGraph.kt | 2 +- .../nightscout/plugins/insulin/InsulinLyumjevPlugin.kt | 6 +++--- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../plugins/insulin/InsulinOrefFreePeakPlugin.kt | 6 +++--- .../plugins/insulin/InsulinOrefRapidActingPlugin.kt | 6 +++--- .../insulin/InsulinOrefUltraRapidActingPlugin.kt | 6 +++--- .../info/nightscout/plugins/profile/ProfilePlugin.kt | 2 +- .../plugins/general/autotune/AutotuneCoreTest.kt | 2 +- .../plugins/general/autotune/AutotunePrepTest.kt | 2 +- .../plugins/insulin/InsulinLyumjevPluginTest.kt | 6 +++--- .../plugins/insulin/InsulinOrefBasePluginTest.kt | 2 +- .../plugins/insulin/InsulinOrefFreePeakPluginTest.kt | 6 +++--- .../insulin/InsulinOrefRapidActingPluginTest.kt | 6 +++--- .../insulin/InsulinOrefUltraRapidActingPluginTest.kt | 6 +++--- .../nightscout/ui/defaultProfile/DefaultProfile.kt | 10 ++++++---- .../nightscout/ui/defaultProfile/DefaultProfileDPV.kt | 7 ++++--- 36 files changed, 72 insertions(+), 64 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/insulin}/Insulin.kt (95%) rename {core/core-main/src/main/java/info/nightscout/androidaps/data => interfaces/src/main/java/info/nightscout/interfaces/profile}/PureProfile.kt (92%) diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt index a666b777c7..29bfbb5acb 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt @@ -10,8 +10,6 @@ import com.google.android.material.tabs.TabLayout import com.google.common.collect.Lists import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin @@ -21,6 +19,8 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventLocalProfileChanged diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 6d444dcb8b..0d9959f35d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync @@ -18,6 +17,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 2db9134fcb..54799844d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump @@ -11,6 +10,7 @@ import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.sync.NsClient diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index feb2c409e8..1e0e2f4d11 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -23,6 +23,7 @@ import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt deleted file mode 100644 index f252fa6ef7..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/Sms.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.data - diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 3ff4d80b33..1354b7a890 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.extensions import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.Iob fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index c0838d5cb7..a1582d04ae 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal @@ -8,6 +7,7 @@ import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index e4b873ac12..33f9243544 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.utils.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.targetBlockFromJsonArray import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 229b6e3d01..a8b4e56c16 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,6 +1,5 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal @@ -8,6 +7,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index e3ecd0741a..ff457dfa41 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Overview import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.sync.NsClient diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index 2fba1bfdae..d8ee302e25 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -1,16 +1,16 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.data.PureProfile -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.interfaces.utils.Round import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.PureProfile +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.joda.time.DateTime import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt index 55a51588b1..cd7b621c7d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.data.PureProfile +import info.nightscout.interfaces.profile.PureProfile import org.json.JSONArray interface ProfileSource { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt index 364022fefc..d5d940cf30 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt @@ -3,15 +3,15 @@ package info.nightscout.androidaps.interfaces import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONException import org.json.JSONObject import javax.inject.Inject diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt index 8855905c53..497fe194c6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt @@ -2,6 +2,12 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase +import info.nightscout.core.iob.combine +import info.nightscout.core.iob.copy +import info.nightscout.core.iob.determineBasalJson +import info.nightscout.core.iob.json +import info.nightscout.core.iob.plus +import info.nightscout.core.iob.round import info.nightscout.interfaces.iob.IobTotal import info.nightscout.shared.utils.DateUtil import org.junit.Assert @@ -14,8 +20,8 @@ class IobTotalTest : TestBase() { @Mock lateinit var context: Context - lateinit var dateUtil: DateUtil - var now = 0L + private lateinit var dateUtil: DateUtil + private var now = 0L @Before fun prepare() { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt index 3c9b826862..d880e0905f 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt @@ -1,8 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.data.PureProfile -import org.json.JSONObject +import info.nightscout.interfaces.profile.PureProfile import org.junit.Assert import org.junit.Test diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt b/interfaces/src/main/java/info/nightscout/interfaces/insulin/Insulin.kt similarity index 95% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt rename to interfaces/src/main/java/info/nightscout/interfaces/insulin/Insulin.kt index 5c5ffdd6b2..eca31317b8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Insulin.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/insulin/Insulin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.insulin import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/PureProfile.kt similarity index 92% rename from core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt rename to interfaces/src/main/java/info/nightscout/interfaces/profile/PureProfile.kt index 112640e877..ef9ffffa66 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PureProfile.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/PureProfile.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.data +package info.nightscout.interfaces.profile import info.nightscout.database.entities.data.Block import info.nightscout.database.entities.data.TargetBlock diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index f7433dbe4d..d63acfd0d6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,13 +1,13 @@ package info.nightscout.plugins.configBuilder import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpType diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 93bb41e5b9..3f796a26af 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -4,7 +4,6 @@ import android.view.View import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore @@ -14,6 +13,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 7ee238986e..2ab6cf945f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -2,10 +2,8 @@ package info.nightscout.plugins.general.autotune.data import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.ProfileStore @@ -14,6 +12,8 @@ import info.nightscout.core.main.R import info.nightscout.database.entities.data.Block import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.SafeParse diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt index 7a1c3321db..beb9055f23 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt @@ -6,8 +6,8 @@ import android.util.AttributeSet import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.shared.utils.T import kotlin.math.floor diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index 1eec73b2ee..059169e2e1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index bee4df0a77..5300a7e885 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -1,13 +1,13 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.Iob import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index e98300cb08..903d6143ab 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -3,14 +3,14 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.storeInt -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONObject import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index 1fa1929cd4..fdbd18f2db 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index 43193fd712..740d21eae6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -1,14 +1,14 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 10427a1a9e..c49635672c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -8,7 +8,6 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile @@ -29,6 +28,7 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index 71910b1fd7..66b3c4a597 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -3,10 +3,10 @@ package info.nightscout.plugins.general.autotune import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile import info.nightscout.database.entities.data.Block import info.nightscout.database.entities.data.TargetBlock import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 400405ed3c..d571db34fa 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -3,7 +3,6 @@ package info.nightscout.plugins.general.autotune import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PureProfile import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.database.entities.Bolus @@ -14,6 +13,7 @@ import info.nightscout.database.entities.data.TargetBlock import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index bd285c2499..04ea3c601f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -2,14 +2,14 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 3df05ad905..712a324645 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -2,12 +2,12 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index fb11a045dc..b637b05f7b 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -3,13 +3,13 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert.assertEquals import org.junit.Before diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index 20e20fd41f..19821a2fc5 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -2,14 +2,14 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index 72cd7b7702..7ca00cd442 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -2,14 +2,14 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.interfaces.Insulin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.utils.HardLimits +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.insulin.Insulin import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Rule diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index a3d4033636..1fd363c373 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -1,14 +1,16 @@ package info.nightscout.ui.defaultProfile -import info.nightscout.androidaps.data.PureProfile +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round +import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONObject -import java.util.* +import java.util.Locale +import java.util.TimeZone +import java.util.TreeMap import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt index af3bf2b95c..9d0f0ea1fb 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt @@ -1,14 +1,15 @@ package info.nightscout.ui.defaultProfile import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PureProfile +import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.interfaces.profile.PureProfile import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONObject -import java.util.* +import java.util.Locale +import java.util.TimeZone import javax.inject.Inject import javax.inject.Singleton From c31bfc7c23fa86d3fe8b176a0ac3d826bf5f8527 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 16:55:18 +0100 Subject: [PATCH 048/123] move profiles to interfaces --- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../plugins/configBuilder/PluginStore.kt | 2 +- .../configBuilder/ProfileFunctionImpl.kt | 8 ++++---- .../utils/wizard/QuickWizardEntry.kt | 11 +++++++++- .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../androidaps/data/QuickWizardTest.kt | 12 ++++++++--- .../androidaps/TestBaseWithProfile.kt | 7 ++++--- .../automation/actions/ActionsTestBase.kt | 2 +- .../androidaps/di/CoreDataClassesModule.kt | 4 ++-- .../androidaps/interfaces/ActivePlugin.kt | 1 + .../androidaps/interfaces/Profile.kt | 3 +-- .../androidaps/interfaces/ProfileFunction.kt | 8 +------- .../profile/ProfileStoreObject.kt} | 20 ++++++++++--------- .../androidaps/TestBaseWithProfile.kt | 11 +++++----- .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../interfaces/profile}/ProfileSource.kt | 3 +-- .../interfaces/profile/ProfileStore.kt | 15 ++++++++++++++ .../general/autotune/AutotuneFragment.kt | 7 ++++--- .../general/autotune/AutotunePlugin.kt | 4 ++-- .../general/autotune/data/ATProfile.kt | 5 +++-- .../plugins/profile/ProfilePlugin.kt | 13 ++++++------ .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../SmsCommunicatorPluginTest.kt | 2 +- .../nightscout/androidaps/dana/DanaPump.kt | 15 +++++++------- .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../androidaps/TestBaseWithProfile.kt | 5 +++-- .../androidaps/TestBaseWithProfile.kt | 5 +++-- 28 files changed, 114 insertions(+), 76 deletions(-) rename core/core-main/src/main/java/info/nightscout/{androidaps/interfaces/ProfileStore.kt => core/profile/ProfileStoreObject.kt} (81%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/profile}/ProfileSource.kt (91%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileStore.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 0d9959f35d..15bb96ffa4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity @@ -21,6 +20,7 @@ import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 54799844d5..eb0b3330f7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -4,7 +4,6 @@ import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config @@ -13,6 +12,7 @@ import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 67790fcef0..149e56f8c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -1,22 +1,22 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.InsertOrUpdateProfileSwitch import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.ProfileSwitch +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InsertOrUpdateProfileSwitch import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index 3ea31569ea..5e7a90f72c 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.utils.wizard import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R +import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop @@ -34,6 +35,14 @@ class QuickWizardEntry @Inject constructor(private val injector: HasAndroidInjec @Inject lateinit var dateUtil: DateUtil @Inject lateinit var glucoseStatusProvider: GlucoseStatusProvider + // for mock + @OpenForTesting + class Time { + fun secondsFromMidnight(): Int = Profile.secondsFromMidnight() + + } + var time = Time() + lateinit var storage: JSONObject var position: Int = -1 @@ -96,7 +105,7 @@ class QuickWizardEntry @Inject constructor(private val injector: HasAndroidInjec return this } - fun isActive(): Boolean = profileFunction.secondsFromMidnight() >= validFrom() && profileFunction.secondsFromMidnight() <= validTo() && forDevice(DEVICE_PHONE) + fun isActive(): Boolean = time.secondsFromMidnight() >= validFrom() && time.secondsFromMidnight() <= validTo() && forDevice(DEVICE_PHONE) fun doCalc(profile: Profile, profileName: String, lastBG: GlucoseValue, _synchronized: Boolean): BolusWizard { val dbRecord = repository.getTemporaryTargetActiveAt(dateUtil.now()).blockingGet() diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 6e2012ecd1..c02f09ecf8 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,13 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -172,6 +173,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt index 08d00db6eb..00674a1841 100644 --- a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.sharedPreferences.SP import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.junit.Assert import org.junit.Before @@ -28,13 +28,19 @@ class QuickWizardTest : TestBase() { "\"useBG\":0,\"useCOB\":0,\"useBolusIOB\":1,\"useBasalIOB\":2,\"useTrend\":0,\"useSuperBolus\":0,\"useTemptarget\":0}" private var array: JSONArray = JSONArray("[$data1,$data2]") - val injector = HasAndroidInjector { + class MockedTime : QuickWizardEntry.Time() { + override fun secondsFromMidnight() = 0 + } + private val mockedTime = MockedTime() + + private val injector = HasAndroidInjector { AndroidInjector { if (it is QuickWizardEntry) { it.aapsLogger = aapsLogger it.sp = sp it.profileFunction = profileFunction it.loop = loop + it.time = mockedTime } } } @@ -43,7 +49,7 @@ class QuickWizardTest : TestBase() { @Before fun mock() { - `when`(profileFunction.secondsFromMidnight()).thenReturn(0) + `when`(sp.getString(R.string.key_quickwizard, "[]")).thenReturn("[]") quickWizard = QuickWizard(sp, injector) } diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 19b9e62b99..5f625e2741 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,15 +3,16 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -56,6 +57,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 9b32804c91..1900ec73bd 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -9,7 +9,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent @@ -18,6 +17,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index ea01e8ee27..a913c09a03 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.core.profile.ProfileStoreObject @Module @Suppress("unused") @@ -15,5 +15,5 @@ abstract class CoreDataClassesModule { @ContributesAndroidInjector abstract fun apsResultInjector(): APSResult @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensData - @ContributesAndroidInjector abstract fun profileStoreInjector(): ProfileStore + @ContributesAndroidInjector abstract fun profileStoreInjector(): ProfileStoreObject } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index ff457dfa41..ab17476e41 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -5,6 +5,7 @@ import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt index d8ee302e25..8435ac7026 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt @@ -152,8 +152,7 @@ interface Profile { } fun milliSecFromMidnight(date: Long): Long { - val passed = DateTime(date).millisOfDay.toLong() - return passed + return DateTime(date).millisOfDay.toLong() } /* * Units conversion diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt index fe1109cf19..29d7dbef52 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileStore interface ProfileFunction { @@ -89,11 +90,4 @@ interface ProfileFunction { * @return true if profile switch is created */ fun createProfileSwitch(durationInMinutes: Int, percentage: Int, timeShiftInHours: Int): Boolean - - /* - * Midnight time conversion - * (here as well for easy mock) - */ - fun secondsFromMidnight(): Int = Profile.secondsFromMidnight() - fun secondsFromMidnight(date: Long): Int = Profile.secondsFromMidnight(date) } \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt similarity index 81% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt rename to core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt index d5d940cf30..2c6b42118e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileStore.kt +++ b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt @@ -1,11 +1,13 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.core.profile import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus @@ -16,7 +18,7 @@ import org.json.JSONException import org.json.JSONObject import javax.inject.Inject -class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val dateUtil: DateUtil) { +class ProfileStoreObject(val injector: HasAndroidInjector, override val data: JSONObject, val dateUtil: DateUtil) : ProfileStore { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var activePlugin: ActivePlugin @@ -42,7 +44,7 @@ class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val d return null } - fun getStartDate(): Long { + override fun getStartDate(): Long { val iso = JsonHelper.safeGetString(data, "startDate") ?: return 0 return try { dateUtil.fromISODateString(iso) @@ -51,15 +53,15 @@ class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val d } } - fun getDefaultProfile(): PureProfile? = getDefaultProfileName()?.let { getSpecificProfile(it) } - fun getDefaultProfileJson(): JSONObject? = getDefaultProfileName()?.let { getSpecificProfileJson(it) } + override fun getDefaultProfile(): PureProfile? = getDefaultProfileName()?.let { getSpecificProfile(it) } + override fun getDefaultProfileJson(): JSONObject? = getDefaultProfileName()?.let { getSpecificProfileJson(it) } - fun getDefaultProfileName(): String? { + override fun getDefaultProfileName(): String? { val defaultProfileName = data.optString("defaultProfile") return if (defaultProfileName.isNotEmpty()) getStore()?.has(defaultProfileName)?.let { defaultProfileName } else null } - fun getProfileList(): ArrayList { + override fun getProfileList(): ArrayList { val ret = ArrayList() getStore()?.keys()?.let { keys -> while (keys.hasNext()) { @@ -71,7 +73,7 @@ class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val d } @Synchronized - fun getSpecificProfile(profileName: String): PureProfile? { + override fun getSpecificProfile(profileName: String): PureProfile? { var profile: PureProfile? = null val units = JsonHelper.safeGetStringAllowNull(data, "units", storeUnits()) getStore()?.let { store -> @@ -96,7 +98,7 @@ class ProfileStore(val injector: HasAndroidInjector, val data: JSONObject, val d return null } - val allProfilesValid: Boolean + override val allProfilesValid: Boolean get() = getProfileList() .asSequence() .map { profileName -> getSpecificProfile(profileName.toString()) } diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 30c77bf184..eef46d8a41 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,13 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP @@ -41,7 +42,7 @@ open class TestBaseWithProfile : TestBase() { val profileInjector = HasAndroidInjector { AndroidInjector { - if (it is ProfileStore) { + if (it is ProfileStoreObject) { it.aapsLogger = aapsLogger it.activePlugin = activePluginProvider it.config = config @@ -77,7 +78,7 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } fun getInvalidProfileStore1(): ProfileStore { @@ -86,7 +87,7 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(invalidProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } fun getInvalidProfileStore2(): ProfileStore { @@ -96,6 +97,6 @@ open class TestBaseWithProfile : TestBase() { store.put("invalid", JSONObject(invalidProfileJSON)) json.put("defaultProfile", TESTPROFILENAME + "invalid") json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 6e2012ecd1..c02f09ecf8 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,13 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -172,6 +173,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt similarity index 91% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt rename to interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt index cd7b621c7d..618db557c5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileSource.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.profile import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.profile.PureProfile import org.json.JSONArray interface ProfileSource { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileStore.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileStore.kt new file mode 100644 index 0000000000..43174e6af6 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileStore.kt @@ -0,0 +1,15 @@ +package info.nightscout.interfaces.profile + +import org.json.JSONObject + +interface ProfileStore { + val data: JSONObject + + fun getStartDate(): Long + fun getDefaultProfile(): PureProfile? + fun getDefaultProfileJson(): JSONObject? + fun getDefaultProfileName(): String? + fun getProfileList(): ArrayList + fun getSpecificProfile(profileName: String): PureProfile? + val allProfilesValid: Boolean +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 6912e3eb9f..bad815109a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -24,14 +24,15 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R @@ -96,7 +97,7 @@ class AutotuneFragment : DaggerFragment() { if (autotunePlugin.lastNbDays.isEmpty()) autotunePlugin.lastNbDays = sp.getInt(R.string.key_autotune_default_tune_days, 5).toString() val defaultValue = sp.getInt(R.string.key_autotune_default_tune_days, 5).toDouble() - profileStore = activePlugin.activeProfileSource.profile ?: ProfileStore(injector, JSONObject(), dateUtil) + profileStore = activePlugin.activeProfileSource.profile ?: ProfileStoreObject(injector, JSONObject(), dateUtil) profileName = if (binding.profileList.text.toString() == rh.gs(R.string.active)) "" else binding.profileList.text.toString() profileFunction.getProfile()?.let { currentProfile -> profile = ATProfile(profileStore.getSpecificProfile(profileName)?.let { ProfileSealed.Pure(it) } ?: currentProfile, LocalInsulin(""), injector) @@ -297,7 +298,7 @@ class AutotuneFragment : DaggerFragment() { @Synchronized private fun updateGui() { _binding ?: return - profileStore = activePlugin.activeProfileSource.profile ?: ProfileStore(injector, JSONObject(), dateUtil) + profileStore = activePlugin.activeProfileSource.profile ?: ProfileStoreObject(injector, JSONObject(), dateUtil) profileName = if (binding.profileList.text.toString() == rh.gs(R.string.active)) "" else binding.profileList.text.toString() profileFunction.getProfile()?.let { currentProfile -> profile = ATProfile(profileStore.getSpecificProfile(profileName)?.let { ProfileSealed.Pure(it) } ?: currentProfile, LocalInsulin(""), injector) diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 3f796a26af..ef577a1e64 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper @@ -325,7 +325,7 @@ class AutotunePlugin @Inject constructor( fun updateProfile(newProfile: ATProfile?) { if (newProfile == null) return val circadian = sp.getBoolean(R.string.key_autotune_circadian_ic_isf, false) - val profileStore = activePlugin.activeProfileSource.profile ?: ProfileStore(injector, JSONObject(), dateUtil) + val profileStore = activePlugin.activeProfileSource.profile ?: ProfileStoreObject(injector, JSONObject(), dateUtil) val profileList: ArrayList = profileStore.getProfileList() var indexLocalProfile = -1 for (p in profileList.indices) diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 2ab6cf945f..bd24b36cf0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -6,13 +6,14 @@ import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.main.R +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.data.Block import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus @@ -177,7 +178,7 @@ class ATProfile(profile: Profile, var localInsulin: LocalInsulin, val injector: json.put("defaultProfile", profilename) json.put("store", store) json.put("startDate", dateUtil.toISOAsUTC(dateUtil.now())) - profileStore = ProfileStore(injector, json, dateUtil) + profileStore = ProfileStoreObject(injector, json, dateUtil) } catch (e: JSONException) { } return profileStore diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index c49635672c..1a2ad4d0a2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -12,8 +12,6 @@ import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileSource -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter @@ -21,6 +19,7 @@ import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit @@ -28,6 +27,8 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R @@ -72,7 +73,7 @@ class ProfilePlugin @Inject constructor( aapsLogger, rh, injector ), ProfileSource { - private var rawProfile: ProfileStore? = null + private var rawProfile: ProfileStoreObject? = null private val defaultArray = "[{\"time\":\"00:00\",\"timeAsSeconds\":0,\"value\":0}]" @@ -388,7 +389,7 @@ class ProfilePlugin @Inject constructor( isEdited = false } - fun createProfileStore(): ProfileStore { + fun createProfileStore(): ProfileStoreObject { val json = JSONObject() val store = JSONObject() @@ -417,7 +418,7 @@ class ProfilePlugin @Inject constructor( aapsLogger.error("Unhandled exception", e) } - return ProfileStore(injector, json, dateUtil) + return ProfileStoreObject(injector, json, dateUtil) } override val profile: ProfileStore? @@ -453,7 +454,7 @@ class ProfilePlugin @Inject constructor( ?: return Result.failure(workDataOf("Error" to "missing input data")) xDripBroadcast.sendProfile(profileJson) if (sp.getBoolean(R.string.key_ns_receive_profile_store, true) || config.NSCLIENT) { - val store = ProfileStore(injector, profileJson, dateUtil) + val store = ProfileStoreObject(injector, profileJson, dateUtil) val createdAt = store.getStartDate() val lastLocalChange = sp.getLong(R.string.key_local_profile_last_change, 0) aapsLogger.debug(LTag.PROFILE, "Received profileStore: createdAt: $createdAt Local last modification: $lastLocalChange") diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 6e2012ecd1..c02f09ecf8 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,13 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -172,6 +173,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 6f9dd15f6f..f792b94d68 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore @@ -27,6 +26,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index 9e359cca39..81965fc034 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -1,18 +1,19 @@ package info.nightscout.androidaps.dana import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.shared.utils.T +import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.joda.time.DateTime import org.joda.time.DateTimeZone import org.json.JSONArray @@ -380,7 +381,7 @@ class DanaPump @Inject constructor( } catch (e: Exception) { return null } - return ProfileStore(injector, json, dateUtil) + return ProfileStoreObject(injector, json, dateUtil) } return null } diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 9231da44ec..01315c2b72 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,11 +6,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -58,6 +59,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 6a8937c4af..c166eb31dc 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,10 +7,11 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -152,6 +153,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 27d702dd8a..2d798bb73f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,11 +6,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -54,6 +55,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 6e2012ecd1..c02f09ecf8 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,13 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.ProfileStore import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -172,6 +173,6 @@ open class TestBaseWithProfile : TestBase() { store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) json.put("defaultProfile", TESTPROFILENAME) json.put("store", store) - return ProfileStore(profileInjector, json, dateUtil) + return ProfileStoreObject(profileInjector, json, dateUtil) } } From 73f876a45da78a5b5246b66207f2aa11e3e886be Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 19:27:04 +0100 Subject: [PATCH 049/123] move to interfaces --- .../activities/MyPreferenceFragment.kt | 3 +- .../nightscout/androidaps/di/AppModule.kt | 4 +- .../androidaps/dialogs/InsulinDialog.kt | 3 +- .../androidaps/dialogs/ProfileSwitchDialog.kt | 9 +- .../androidaps/dialogs/TempBasalDialog.kt | 2 +- .../androidaps/dialogs/TempTargetDialog.kt | 12 +- .../androidaps/dialogs/WizardDialog.kt | 4 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 6 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 5 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 5 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 3 +- .../OpenAPSSMBDynamicISFPlugin.kt | 10 +- .../configBuilder/ConfigBuilderPlugin.kt | 4 +- .../plugins/configBuilder/PluginStore.kt | 2 +- .../configBuilder/ProfileFunctionImpl.kt | 6 +- .../constraints/safety/SafetyPlugin.kt | 4 +- .../maintenance/MaintenanceFragment.kt | 2 +- .../general/overview/OverviewFragment.kt | 5 +- .../PersistentNotificationPlugin.kt | 3 +- .../wear/wearintegration/DataHandlerMobile.kt | 7 +- .../IobCobCalculatorPlugin.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 5 +- .../sensitivity/SensitivityOref1Plugin.kt | 5 +- .../SensitivityWeightedAveragePlugin.kt | 5 +- .../androidaps/plugins/source/DexcomPlugin.kt | 3 +- .../receivers/TimeDateOrTZChangeReceiver.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 2 +- .../elements/SWEditNumberWithUnits.kt | 7 +- .../utils/extensions/DoubleToSignedString.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 6 +- .../utils/wizard/QuickWizardEntry.kt | 3 +- .../workflow/PrepareBgDataWorker.kt | 8 +- .../PrepareTemporaryTargetDataWorker.kt | 9 +- .../workflow/PrepareTreatmentsDataWorker.kt | 5 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../interfaces/ConstraintsCheckerTest.kt | 6 +- .../configBuilder/ConfigBuilderPluginTest.kt | 4 +- .../constraints/safety/SafetyPluginTest.kt | 43 ++-- .../utils/wizard/BolusWizardTest.kt | 2 +- .../actions/ActionStartTempTarget.kt | 7 +- .../automation/elements/InputTime.kt | 7 +- .../automation/elements/InputTimeRange.kt | 7 +- .../automation/triggers/TriggerBg.kt | 10 +- .../automation/triggers/TriggerDelta.kt | 10 +- .../triggers/TriggerRecurringTime.kt | 8 +- .../triggers/TriggerTempTargetValue.kt | 12 +- .../automation/triggers/TriggerTimeRange.kt | 8 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../automation/actions/ActionsTestBase.kt | 2 +- .../androidaps/data/ProfileSealed.kt | 111 ++++----- .../androidaps/dialogs/ProfileViewerDialog.kt | 22 +- .../BolusCalculatorResultExtension.kt | 3 +- .../extensions/ExtendedBolusExtension.kt | 10 +- .../extensions/GlucoseValueExtension.kt | 1 + .../extensions/ProfileSwitchExtension.kt | 8 +- .../extensions/TemporaryBasalExtension.kt | 13 +- .../extensions/TemporaryTargetExtension.kt | 3 +- .../androidaps/interfaces/ActivePlugin.kt | 1 + .../androidaps/interfaces/CommandQueue.kt | 6 +- .../androidaps/interfaces/Constraints.kt | 1 + .../DetermineBasalAdapterInterface.kt | 1 + .../androidaps/interfaces/IobCobCalculator.kt | 1 + .../nightscout/androidaps/interfaces/Loop.kt | 1 + .../androidaps/interfaces/Profile.kt | 212 ------------------ .../androidaps/interfaces/ProfileFunction.kt | 1 + .../graphExtensions/GlucoseValueDataPoint.kt | 3 +- .../graphExtensions/TherapyEventDataPoint.kt | 4 +- .../common/bolusInfo/TemporaryBasalStorage.kt | 4 +- .../androidaps/utils/DecimalFormatter.kt | 2 +- .../androidaps/utils/DefaultValueHelper.kt | 9 +- .../textValidator/DefaultEditTextValidator.kt | 35 ++- .../ValidatingEditTextPreference.kt | 6 +- .../validators/BgRangeValidator.kt | 3 +- .../androidaps/utils/ui/BasalProfileGraph.kt | 2 +- .../androidaps/utils/ui/IcProfileGraph.kt | 2 +- .../androidaps/utils/ui/IsfProfileGraph.kt | 3 +- .../utils/ui/TargetBgProfileGraph.kt | 7 +- .../userEntry/UserEntryPresentationHelper.kt | 3 +- .../core/profile/ProfileExtension.kt | 80 +++++++ .../core/profile/ProfileStoreObject.kt | 4 +- .../core/pumpExtensions/PumpStateExtension.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 9 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../nightscout/androidaps/data/ProfileTest.kt | 25 ++- .../bolusInfo/TemporaryBasalStorageTest.kt | 2 +- .../implementation/HardLimitsImpl.kt | 36 +-- .../constraints/ConstraintsImpl.kt | 2 +- .../implementation/di/ImplementationModule.kt | 15 +- .../pump/PumpSyncImplementation.kt | 2 +- .../queue/CommandQueueImplementation.kt | 6 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../commands/CommandTempBasalAbsolute.kt | 7 +- .../queue/commands/CommandTempBasalPercent.kt | 7 +- .../implementation/stats/DexcomTirImpl.kt | 10 +- .../implementation/stats/TirCalculatorImpl.kt | 15 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../queue/CommandQueueImplementationTest.kt | 2 +- .../implementation/queue/QueueThreadTest.kt | 2 +- .../pump/insight/LocalInsightPlugin.java | 8 +- .../activities/InsightPairingActivity.java | 4 +- .../nightscout/interfaces/profile/Profile.kt | 138 ++++++++++++ .../info/nightscout/interfaces/pump}/Pump.kt | 11 +- .../nightscout/interfaces/pump}/PumpSync.kt | 16 +- .../nightscout/interfaces/utils/HardLimits.kt | 47 ++++ .../configBuilder/RunningConfiguration.kt | 2 +- .../general/autotune/AutotuneFragment.kt | 3 +- .../plugins/general/autotune/AutotuneIob.kt | 5 +- .../general/autotune/AutotunePlugin.kt | 4 +- .../general/autotune/data/ATProfile.kt | 6 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 7 +- .../xdripStatusline/StatusLinePlugin.kt | 3 +- .../plugins/insulin/InsulinLyumjevPlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../insulin/InsulinOrefFreePeakPlugin.kt | 2 +- .../insulin/InsulinOrefRapidActingPlugin.kt | 2 +- .../InsulinOrefUltraRapidActingPlugin.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 5 +- .../plugins/profile/ProfilePlugin.kt | 7 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 6 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../EffectiveProfileSwitchExtension.kt | 2 +- .../extensions/ExtendedBolusExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 6 +- .../extensions/TemporaryBasalExtension.kt | 2 +- .../extensions/TemporaryTargetExtension.kt | 4 +- .../EffectiveProfileSwitchExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 4 +- .../sync/tidepool/elements/BasalElement.kt | 2 +- .../tidepool/elements/BloodGlucoseElement.kt | 3 +- .../sync/tidepool/elements/ProfileElement.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../insulin/InsulinLyumjevPluginTest.kt | 2 +- .../insulin/InsulinOrefBasePluginTest.kt | 2 +- .../insulin/InsulinOrefFreePeakPluginTest.kt | 2 +- .../InsulinOrefRapidActingPluginTest.kt | 2 +- .../InsulinOrefUltraRapidActingPluginTest.kt | 2 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 6 +- .../plugins/pump/combo/ComboPluginTest.kt | 2 +- .../androidaps/dana/DanaFragment.kt | 2 +- .../nightscout/androidaps/dana/DanaPump.kt | 4 +- .../dana/activities/DanaHistoryActivity.kt | 3 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../danaRKorean/DanaRKoreanPlugin.kt | 6 +- .../services/DanaRKoreanExecutionService.java | 4 +- .../androidaps/danaRv2/DanaRv2Plugin.java | 4 +- .../services/DanaRv2ExecutionService.java | 6 +- .../androidaps/danar/AbstractDanaRPlugin.java | 6 +- .../androidaps/danar/DanaRPlugin.java | 4 +- .../androidaps/danar/comm/MessageBase.kt | 8 +- .../AbstractDanaRExecutionService.java | 4 +- .../danar/services/DanaRExecutionService.java | 4 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 2 +- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 8 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 2 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 6 +- .../comm/DanaRSPacketAPSHistoryEvents.kt | 8 +- .../comm/DanaRSPacketBolusSet24CIRCFArray.kt | 3 +- .../danars/comm/DanaRSPacketHistory.kt | 4 +- .../danars/comm/DanaRSPacketNotifyAlarm.kt | 4 +- .../androidaps/danars/services/BLEComm.kt | 10 +- .../danars/services/DanaRSService.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../androidaps/danars/DanaRSPluginTest.kt | 2 +- .../comm/DanaRsPacketApsHistoryEventsTest.kt | 5 +- .../DanaRsPacketBolusSetStepBolusStartTest.kt | 2 +- .../comm/DanaRsPacketNotifyAlarmTest.kt | 2 +- ...naRsPacketNotifyDeliveryRateDisplayTest.kt | 4 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 6 +- .../androidaps/diaconn/DiaconnG8Pump.kt | 10 +- .../packet/BigLogInquireResponsePacket.kt | 12 +- .../diaconn/service/DiaconnG8Service.kt | 4 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 6 +- .../pump/eopatch/alarm/AlarmManager.kt | 2 +- .../pump/eopatch/ble/PatchManager.java | 10 +- .../pump/eopatch/ble/PatchManagerImpl.java | 6 +- .../ble/task/InternalSuspendedTask.java | 4 +- .../pump/eopatch/ble/task/PauseBasalTask.java | 4 +- .../pump/eopatch/ble/task/StopBasalTask.java | 4 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 10 +- .../pump/eopatch/vo/NormalBasalManager.kt | 4 +- .../pump/medtronic/MedtronicFragment.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 8 +- .../medtronic/data/MedtronicHistoryData.kt | 6 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 6 +- .../pump/omnipod/dash/history/data/Record.kt | 2 +- .../dash/history/database/Converters.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 2 +- .../pump/omnipod/dash/util/Functions.kt | 5 +- .../pump/omnipod/dash/util/FunctionsTest.kt | 4 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 6 +- .../eros/manager/AapsOmnipodErosManager.java | 4 +- .../eros/ui/ErosPodHistoryActivity.java | 6 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 4 +- .../AapsOmnipodErosManagerTest.java | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 8 +- .../pump/common/di/PumpCommonModule.kt | 2 +- .../plugins/pump/common/sync/PumpDbEntry.kt | 2 +- .../pump/common/sync/PumpSyncStorage.kt | 2 +- .../plugins/pump/common/utils/ProfileUtil.kt | 6 +- .../TreatmentsProfileSwitchFragment.kt | 6 +- .../ui/defaultProfile/DefaultProfile.kt | 20 +- .../ui/defaultProfile/DefaultProfileDPV.kt | 6 +- .../ui/dialogs/CalibrationDialog.kt | 4 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 3 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 8 +- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 4 +- .../java/info/nightscout/ui/widget/Widget.kt | 5 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/TestPumpPlugin.kt | 6 +- 221 files changed, 971 insertions(+), 771 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt create mode 100644 core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt rename core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt => implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt (76%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/profile/Profile.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/pump}/Pump.kt (96%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpSync.kt (96%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/utils/HardLimits.kt diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index b50279df35..be0c389c45 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,7 +23,6 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin @@ -56,8 +55,10 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionTyp import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.CUSTOM_PIN import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.NONE import info.nightscout.automation.AutomationPlugin +import info.nightscout.core.profile.toCurrentUnits import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index af89d8eca5..c061af79f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator @@ -28,7 +27,6 @@ import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl @@ -58,11 +56,13 @@ import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.storage.FileStorage import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index 36e10be75a..ccb5ca7e61 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter @@ -24,6 +23,7 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.profile.toMgdl import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action @@ -35,6 +35,7 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt index cda87b566e..76247624be 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt @@ -11,25 +11,26 @@ import android.widget.ArrayAdapter import com.google.common.base.Joiner import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogProfileswitchBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt index 779eb8a0fe..4f3e3b6e39 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -23,6 +22,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt index 244625183b..b96fb82424 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt @@ -9,13 +9,8 @@ import android.widget.ArrayAdapter import com.google.common.base.Joiner import com.google.common.collect.Lists import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.databinding.DialogTemptargetBinding import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper @@ -23,12 +18,19 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.profile.toCurrentUnitsString +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt index c61990bc68..9a2bee2930 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt @@ -26,7 +26,6 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -35,11 +34,14 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BO import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round +import info.nightscout.core.profile.toMgdl +import info.nightscout.core.profile.toUnitsString import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index c015aa4a30..4edc518e93 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -26,9 +26,7 @@ import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui @@ -36,7 +34,6 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotifi import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.OfflineEvent @@ -54,10 +51,13 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index a3e2380f62..7182964b34 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult @@ -18,6 +17,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index acfd94599e..592c2fe9ed 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui @@ -18,15 +17,17 @@ import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index c6b152bbc1..0fa6f92983 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -9,7 +9,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult @@ -19,6 +18,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 36b0777cf3..784ef4cf24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -12,7 +12,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui @@ -20,8 +19,8 @@ import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.SMBDefaults @@ -29,6 +28,8 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 6bf251e708..007c969883 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -9,18 +9,19 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus +import info.nightscout.core.profile.toMgdl import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 995ecdffca..2b58e004fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -4,23 +4,23 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.BuildHelper import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 15bb96ffa4..8f42e3e4df 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -6,8 +6,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui @@ -21,6 +19,8 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.sync.NsClient import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index eb0b3330f7..d4f05982cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -4,7 +4,6 @@ import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview @@ -13,6 +12,7 @@ import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 149e56f8c1..a09d1bb413 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -2,11 +2,9 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged +import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.extensions.fromConstant import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.ProfileSwitch @@ -16,7 +14,9 @@ import info.nightscout.database.impl.transactions.InsertOrUpdateProfileSwitch import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt index a742ff3ed2..771bf8c230 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt @@ -11,14 +11,12 @@ import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint @@ -27,7 +25,9 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index c0675bc702..d2fcb899e6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.insight.database.InsightDatabase import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity import info.nightscout.androidaps.plugins.general.overview.OverviewData @@ -30,6 +29,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index de3ce9b3c2..a5bbeba151 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -48,7 +48,6 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger @@ -74,6 +73,9 @@ import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.toSignedUnitsString +import info.nightscout.core.profile.toTargetRangeString +import info.nightscout.core.profile.toUnits import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.interfaces.end @@ -84,6 +86,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 1917e67088..6e3e986393 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -13,17 +13,18 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round +import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.interfaces.Constants import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 24485ea475..c829b5f68d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger @@ -25,13 +24,15 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toMgdl +import info.nightscout.core.profile.toTargetRangeString import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryBasal @@ -49,8 +50,10 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index d7d0efa5f2..f06afc3710 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData @@ -37,6 +36,7 @@ import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 8992a77d47..ab6f045d3e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -3,17 +3,18 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 811c4d6128..328e89013a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -3,18 +3,19 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 58b3450fd3..708fb9f59a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -4,17 +4,18 @@ import androidx.collection.LongSparseArray import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.extensions.isPSEvent5minBack +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt index 0c1a7996e8..787c687a65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt @@ -11,11 +11,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.core.profile.unit import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action @@ -28,6 +28,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt index bceeef2eea..cf9f5cdf83 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt @@ -5,7 +5,7 @@ import android.content.Intent import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.BundleLogger diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 6b2c504f9b..ba39419230 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -35,7 +35,6 @@ import info.nightscout.androidaps.setupwizard.elements.SWPreference import info.nightscout.androidaps.setupwizard.elements.SWRadioButton import info.nightscout.androidaps.setupwizard.events.EventSWUpdate import info.nightscout.androidaps.utils.CryptoUtil -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config @@ -43,6 +42,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constants import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt index 249617102f..70bcec7e22 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt @@ -7,12 +7,13 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.setupwizard.SWNumberValidator -import info.nightscout.shared.SafeParse import info.nightscout.androidaps.utils.ui.NumberPicker +import info.nightscout.core.profile.toCurrentUnits +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import info.nightscout.shared.SafeParse import java.text.DecimalFormat import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt index bbad911a7c..1298115a00 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils.extensions -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.interfaces.pump.Pump fun Double.toSignedString(pump: Pump): String { val formatted = DecimalFormatter.toPumpSupportedBolus(this, pump) diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 4d2566a139..68d20dcaa9 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -13,14 +13,14 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.iob.round +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.TemporaryTarget @@ -34,7 +34,9 @@ import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt index 5e7a90f72c..b7147cd474 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt @@ -6,14 +6,15 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.round +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper.safeGetInt import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 4a9e1146dc..5a5427b0da 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -5,10 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -16,9 +13,12 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Gluco import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import info.nightscout.shared.interfaces.ResourceHelper -import java.util.ArrayList import javax.inject.Inject class PrepareBgDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index eada8b4423..1f48c5306d 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -8,17 +8,18 @@ import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.profile.Profile import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index ed3829557a..307dd774cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -5,9 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint @@ -21,9 +19,12 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.Translator +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c02f09ecf8..7f76f71a53 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,10 +4,10 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7829779b22..7262510558 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 25181580dd..0c80960576 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -25,7 +25,6 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalSt import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.database.impl.AppRepository @@ -34,7 +33,9 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert @@ -63,6 +64,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { @Mock lateinit var insightDatabaseDao: InsightDatabaseDao @Mock lateinit var ruffyScripter: RuffyScripter @Mock lateinit var buildHelper: BuildHelper + @Mock lateinit var hardLimits: HardLimits private lateinit var danaPump: DanaPump private lateinit var insightDbHelper: InsightDbHelper @@ -76,7 +78,6 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { private lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin private lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin private lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin - private lateinit var hardLimits: HardLimits private val injector = HasAndroidInjector { AndroidInjector { @@ -131,7 +132,6 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { insightDbHelper = InsightDbHelper(insightDatabaseDao) danaPump = DanaPump(aapsLogger, sp, dateUtil, injector) - hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config) comboPlugin = ComboPlugin(injector, aapsLogger, rxBus, rh, profileFunction, sp, commandQueue, pumpSync, dateUtil, ruffyScripter) danaRPlugin = DanaRPlugin(injector, aapsLogger, aapsSchedulers, rxBus, context, rh, constraintChecker, activePlugin, sp, commandQueue, danaPump, dateUtil, fabricPrivacy, pumpSync) diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt index 62079d1ca3..86c9c174c8 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt @@ -4,10 +4,10 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index 104488dc83..d8b4cc425e 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -11,12 +11,12 @@ import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.source.GlimpPlugin -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert @@ -38,8 +38,8 @@ class SafetyPluginTest : TestBaseWithProfile() { @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var glimpPlugin: GlimpPlugin @Mock lateinit var repository: AppRepository + @Mock lateinit var hardLimits: HardLimits - private lateinit var hardLimits: HardLimits private lateinit var safetyPlugin: SafetyPlugin val injector = HasAndroidInjector { AndroidInjector { } } @@ -69,11 +69,12 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(activePlugin.activePump).thenReturn(virtualPumpPlugin) `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) - hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) `when`(config.APS).thenReturn(true) - safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, openAPSAMAPlugin, openAPSSMBPlugin, openAPSSMBDynamicISFPlugin, sensitivityOref1Plugin, activePlugin, - hardLimits, buildHelper, - iobCobCalculator, config, dateUtil) + safetyPlugin = SafetyPlugin( + injector, aapsLogger, rh, sp, rxBus, constraintChecker, openAPSAMAPlugin, openAPSSMBPlugin, openAPSSMBDynamicISFPlugin, sensitivityOref1Plugin, activePlugin, + hardLimits, buildHelper, + iobCobCalculator, config, dateUtil + ) } @Test fun pumpDescriptionShouldLimitLoopInvocation() { @@ -135,12 +136,14 @@ class SafetyPluginTest : TestBaseWithProfile() { val c = Constraint(Constants.REALLYHIGHBASALRATE) safetyPlugin.applyBasalConstraints(c, validProfile) Assert.assertEquals(1.0, c.value(), 0.01) - Assert.assertEquals(""" + Assert.assertEquals( + """ Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences Safety: Limiting max basal rate to 4.00 U/h because of max basal multiplier Safety: Limiting max basal rate to 3.00 U/h because of max daily basal multiplier Safety: Limiting max basal rate to 2.00 U/h because of hard limit - """.trimIndent(), c.getReasons(aapsLogger)) + """.trimIndent(), c.getReasons(aapsLogger) + ) Assert.assertEquals("Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences", c.getMostLimitedReasons(aapsLogger)) } @@ -149,10 +152,12 @@ class SafetyPluginTest : TestBaseWithProfile() { val d = Constraint(-0.5) safetyPlugin.applyBasalConstraints(d, validProfile) Assert.assertEquals(0.0, d.value(), 0.01) - Assert.assertEquals(""" + Assert.assertEquals( + """ Safety: Limiting max basal rate to 0.00 U/h because of it must be positive value Safety: Increasing max basal value because setting is lower than your max basal in profile - """.trimIndent(), d.getReasons(aapsLogger)) + """.trimIndent(), d.getReasons(aapsLogger) + ) } @Test fun percentBasalRateShouldBeLimited() { @@ -164,7 +169,8 @@ class SafetyPluginTest : TestBaseWithProfile() { val i = Constraint(Constants.REALLYHIGHPERCENTBASALRATE) safetyPlugin.applyBasalPercentConstraints(i, validProfile) Assert.assertEquals(100, i.value()) - Assert.assertEquals(""" + Assert.assertEquals( + """ Safety: Percent rate 1111111% recalculated to 11111.11 U/h with current basal 1.00 U/h Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences Safety: Limiting max basal rate to 4.00 U/h because of max basal multiplier @@ -172,7 +178,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Safety: Limiting max basal rate to 2.00 U/h because of hard limit Safety: Limiting max percent rate to 100% because of pump limit Safety: Limiting max basal rate to 500.00 U/h because of pump limit - """.trimIndent(), i.getReasons(aapsLogger)) + """.trimIndent(), i.getReasons(aapsLogger) + ) Assert.assertEquals("Safety: Limiting max percent rate to 100% because of pump limit", i.getMostLimitedReasons(aapsLogger)) } @@ -181,12 +188,14 @@ class SafetyPluginTest : TestBaseWithProfile() { val i = Constraint(-22) safetyPlugin.applyBasalPercentConstraints(i, validProfile) Assert.assertEquals(0, i.value()) - Assert.assertEquals(""" + Assert.assertEquals( + """ Safety: Percent rate -22% recalculated to -0.22 U/h with current basal 1.00 U/h Safety: Limiting max basal rate to 0.00 U/h because of it must be positive value Safety: Increasing max basal value because setting is lower than your max basal in profile Safety: Limiting max percent rate to 0% because of pump limit - """.trimIndent(), i.getReasons(aapsLogger)) + """.trimIndent(), i.getReasons(aapsLogger) + ) Assert.assertEquals("Safety: Limiting max percent rate to 0% because of pump limit", i.getMostLimitedReasons(aapsLogger)) } @@ -196,10 +205,12 @@ class SafetyPluginTest : TestBaseWithProfile() { var d = Constraint(Constants.REALLYHIGHBOLUS) d = safetyPlugin.applyBolusConstraints(d) Assert.assertEquals(3.0, d.value(), 0.01) - Assert.assertEquals(""" + Assert.assertEquals( + """ Safety: Limiting bolus to 3.0 U because of max value in preferences Safety: Limiting bolus to 5.0 U because of hard limit - """.trimIndent(), d.getReasons(aapsLogger)) + """.trimIndent(), d.getReasons(aapsLogger) + ) Assert.assertEquals("Safety: Limiting bolus to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) } diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index f3482a95a3..8415a14be6 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -9,13 +9,13 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index a391b07170..b901ae1f91 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -4,11 +4,8 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -18,12 +15,16 @@ import info.nightscout.automation.elements.InputTempTarget import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.triggers.TriggerTempTarget +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt index 851d71b4ab..3afe0cc273 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt @@ -11,11 +11,12 @@ import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.FragmentManager import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.automation.R +import info.nightscout.core.profile.secondsFromMidnight +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.automation.R import java.util.Calendar class InputTime(private val rh: ResourceHelper, private val dateUtil: DateUtil) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt index 016fa92a05..585f9036b1 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt @@ -12,11 +12,12 @@ import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.FragmentManager import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.automation.R +import info.nightscout.core.profile.secondsFromMidnight +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.automation.R import java.util.Calendar class InputTimeRange(private val rh: ResourceHelper, private val dateUtil: DateUtil) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt index 6b18739c2e..dc56e2c18b 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt @@ -3,18 +3,18 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputBg import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.profile.toMgdl +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - import org.json.JSONObject class TriggerBg(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt index 9b3ab2402e..f7d75769f6 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt @@ -3,10 +3,6 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputDelta @@ -14,8 +10,12 @@ import info.nightscout.automation.elements.InputDelta.DeltaType import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.profile.toMgdl +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - import org.json.JSONObject import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt index 97206e1b9a..170598ec8a 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt @@ -3,16 +3,16 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import info.nightscout.automation.elements.InputTime import info.nightscout.automation.elements.InputWeekDay import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.profile.secondsFromMidnight +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.logging.LTag - import org.json.JSONObject import java.util.Calendar import java.util.Objects diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt index de161f96ab..9459564f2e 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt @@ -3,19 +3,19 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.Constants -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import info.nightscout.automation.elements.InputBg import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.profile.toMgdl +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag - import org.json.JSONObject class TriggerTempTargetValue(injector: HasAndroidInjector) : Trigger(injector) { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt index 92506c3ce1..d8638df250 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt @@ -3,15 +3,15 @@ package info.nightscout.automation.triggers import android.widget.LinearLayout import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.utils.JsonHelper.safeGetInt -import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.automation.R import info.nightscout.automation.elements.InputTimeRange import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.profile.secondsFromMidnight +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.JsonHelper.safeGetInt +import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.logging.LTag - import org.json.JSONObject // Trigger for time range ( from 10:00AM till 13:00PM ) diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 5f625e2741..e6428b4bee 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,15 +3,15 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 8b70132d3f..f906d1b5ff 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 1900ec73bd..dee897a5ad 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent @@ -17,6 +16,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt index 1e0e2f4d11..1701cb47db 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/ProfileSealed.kt @@ -6,14 +6,10 @@ import info.nightscout.androidaps.extensions.lowTargetBlockValueBySeconds import info.nightscout.androidaps.extensions.shiftBlock import info.nightscout.androidaps.extensions.shiftTargetBlock import info.nightscout.androidaps.extensions.targetBlockValueBySeconds -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Profile.Companion.secondsFromMidnight -import info.nightscout.androidaps.interfaces.Profile.Companion.toMgdl -import info.nightscout.androidaps.interfaces.Profile.ProfileValue -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.core.main.R +import info.nightscout.core.profile.secondsFromMidnight +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.data.Block @@ -23,7 +19,11 @@ import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.Profile.ProfileValue import info.nightscout.interfaces.profile.PureProfile +import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -161,14 +161,14 @@ sealed class ProfileSealed( break } for (isf in isfBlocks) - if (!hardLimits.isInRange(toMgdl(isf.amount * 100.0 / percentage, units), HardLimits.MIN_ISF, HardLimits.MAX_ISF)) { + if (!hardLimits.isInRange(Profile.toMgdl(isf.amount * 100.0 / percentage, units), HardLimits.MIN_ISF, HardLimits.MAX_ISF)) { validityCheck.isValid = false validityCheck.reasons.add(rh.gs(R.string.value_out_of_hard_limits, rh.gs(R.string.profile_sensitivity_value), isf.amount * 100.0 / percentage)) break } for (target in targetBlocks) { if (!hardLimits.isInRange( - toMgdl(target.lowTarget, units), + Profile.toMgdl(target.lowTarget, units), HardLimits.VERY_HARD_LIMIT_MIN_BG[0], HardLimits.VERY_HARD_LIMIT_MIN_BG[1] ) @@ -178,7 +178,7 @@ sealed class ProfileSealed( break } if (!hardLimits.isInRange( - toMgdl(target.highTarget, units), + Profile.toMgdl(target.highTarget, units), HardLimits.VERY_HARD_LIMIT_MAX_BG[0], HardLimits.VERY_HARD_LIMIT_MAX_BG[1] ) @@ -214,11 +214,11 @@ sealed class ProfileSealed( override fun isEqual(profile: Profile): Boolean { for (hour in 0..23) { val seconds = T.hours(hour.toLong()).secs().toInt() - if (getBasalTimeFromMidnight(seconds) != profile.getBasalTimeFromMidnight(seconds)) return false - if (getIsfMgdlTimeFromMidnight(seconds) != profile.getIsfMgdlTimeFromMidnight(seconds)) return false - if (getIcTimeFromMidnight(seconds) != profile.getIcTimeFromMidnight(seconds)) return false - if (getTargetLowMgdlTimeFromMidnight(seconds) != profile.getTargetLowMgdlTimeFromMidnight(seconds)) return false - if (getTargetHighMgdlTimeFromMidnight(seconds) != profile.getTargetHighMgdlTimeFromMidnight(seconds)) return false + if (getBasalTimeFromMidnight(seconds) != profile.getBasalTimeFromMidnight(seconds)) return false + if (getIsfMgdlTimeFromMidnight(seconds) != profile.getIsfMgdlTimeFromMidnight(seconds)) return false + if (getIcTimeFromMidnight(seconds) != profile.getIcTimeFromMidnight(seconds)) return false + if (getTargetLowMgdlTimeFromMidnight(seconds) != profile.getTargetLowMgdlTimeFromMidnight(seconds)) return false + if (getTargetHighMgdlTimeFromMidnight(seconds) != profile.getTargetHighMgdlTimeFromMidnight(seconds)) return false } if (dia != profile.dia) return false if ((profile is EPS) && profileName != profile.value.originalProfileName) return false // handle profile name change too @@ -228,29 +228,33 @@ sealed class ProfileSealed( override val percentage: Int get() = pct - override fun getBasal(): Double = basalBlocks.blockValueBySeconds(secondsFromMidnight(), percentage / 100.0, timeshift) - override fun getBasal(timestamp: Long): Double = basalBlocks.blockValueBySeconds(secondsFromMidnight(timestamp), percentage / 100.0, timeshift) - override fun getIc(): Double = icBlocks.blockValueBySeconds(secondsFromMidnight(), 100.0 / percentage, timeshift) - override fun getIc(timestamp: Long): Double = icBlocks.blockValueBySeconds(secondsFromMidnight(timestamp), 100.0 / percentage, timeshift) - override fun getIsfMgdl(): Double = toMgdl(isfBlocks.blockValueBySeconds(secondsFromMidnight(), 100.0 / percentage, timeshift), units) - override fun getIsfMgdl(timestamp: Long): Double = toMgdl(isfBlocks.blockValueBySeconds(secondsFromMidnight(timestamp), 100.0 / percentage, timeshift), units) - override fun getTargetMgdl(): Double = toMgdl(targetBlocks.targetBlockValueBySeconds(secondsFromMidnight(), timeshift), units) - override fun getTargetLowMgdl(): Double = toMgdl(targetBlocks.lowTargetBlockValueBySeconds(secondsFromMidnight(), timeshift), units) - override fun getTargetLowMgdl(timestamp: Long): Double = toMgdl(targetBlocks.lowTargetBlockValueBySeconds(secondsFromMidnight(timestamp), timeshift), units) - override fun getTargetHighMgdl(): Double = toMgdl(targetBlocks.highTargetBlockValueBySeconds(secondsFromMidnight(), timeshift), units) - override fun getTargetHighMgdl(timestamp: Long): Double = toMgdl(targetBlocks.highTargetBlockValueBySeconds(secondsFromMidnight(timestamp), timeshift), units) + override fun getBasal(): Double = basalBlocks.blockValueBySeconds(Profile.secondsFromMidnight(), percentage / 100.0, timeshift) + override fun getBasal(timestamp: Long): Double = basalBlocks.blockValueBySeconds(Profile.secondsFromMidnight(timestamp), percentage / 100.0, timeshift) + override fun getIc(): Double = icBlocks.blockValueBySeconds(Profile.secondsFromMidnight(), 100.0 / percentage, timeshift) + override fun getIc(timestamp: Long): Double = icBlocks.blockValueBySeconds(Profile.secondsFromMidnight(timestamp), 100.0 / percentage, timeshift) + override fun getIsfMgdl(): Double = Profile.toMgdl(isfBlocks.blockValueBySeconds(Profile.secondsFromMidnight(), 100.0 / percentage, timeshift), units) + override fun getIsfMgdl(timestamp: Long): Double = Profile.toMgdl(isfBlocks.blockValueBySeconds(Profile.secondsFromMidnight(timestamp), 100.0 / percentage, timeshift), units) + override fun getTargetMgdl(): Double = Profile.toMgdl(targetBlocks.targetBlockValueBySeconds(Profile.secondsFromMidnight(), timeshift), units) + override fun getTargetLowMgdl(): Double = Profile.toMgdl(targetBlocks.lowTargetBlockValueBySeconds(Profile.secondsFromMidnight(), timeshift), units) + override fun getTargetLowMgdl(timestamp: Long): Double = Profile.toMgdl(targetBlocks.lowTargetBlockValueBySeconds(Profile.secondsFromMidnight(timestamp), timeshift), units) + override fun getTargetHighMgdl(): Double = Profile.toMgdl(targetBlocks.highTargetBlockValueBySeconds(Profile.secondsFromMidnight(), timeshift), units) + override fun getTargetHighMgdl(timestamp: Long): Double = Profile.toMgdl(targetBlocks.highTargetBlockValueBySeconds(Profile.secondsFromMidnight(timestamp), timeshift), units) override fun getBasalTimeFromMidnight(timeAsSeconds: Int): Double = basalBlocks.blockValueBySeconds(timeAsSeconds, percentage / 100.0, timeshift) override fun getIcTimeFromMidnight(timeAsSeconds: Int): Double = icBlocks.blockValueBySeconds(timeAsSeconds, 100.0 / percentage, timeshift) fun getIsfTimeFromMidnight(timeAsSeconds: Int): Double = isfBlocks.blockValueBySeconds(timeAsSeconds, 100.0 / percentage, timeshift) - override fun getIsfMgdlTimeFromMidnight(timeAsSeconds: Int): Double = toMgdl(isfBlocks.blockValueBySeconds(timeAsSeconds, 100.0 / percentage, timeshift), units) - override fun getTargetLowMgdlTimeFromMidnight(timeAsSeconds: Int): Double = toMgdl(targetBlocks.lowTargetBlockValueBySeconds(timeAsSeconds, timeshift), units) + override fun getIsfMgdlTimeFromMidnight(timeAsSeconds: Int): Double = Profile.toMgdl(isfBlocks.blockValueBySeconds(timeAsSeconds, 100.0 / percentage, timeshift), units) + override fun getTargetLowMgdlTimeFromMidnight(timeAsSeconds: Int): Double = Profile.toMgdl(targetBlocks.lowTargetBlockValueBySeconds(timeAsSeconds, timeshift), units) private fun getTargetLowTimeFromMidnight(timeAsSeconds: Int): Double = targetBlocks.lowTargetBlockValueBySeconds(timeAsSeconds, timeshift) private fun getTargetHighTimeFromMidnight(timeAsSeconds: Int): Double = targetBlocks.highTargetBlockValueBySeconds(timeAsSeconds, timeshift) - override fun getTargetHighMgdlTimeFromMidnight(timeAsSeconds: Int): Double = toMgdl(targetBlocks.highTargetBlockValueBySeconds(timeAsSeconds, timeshift), units) + override fun getTargetHighMgdlTimeFromMidnight(timeAsSeconds: Int): Double = Profile.toMgdl(targetBlocks.highTargetBlockValueBySeconds(timeAsSeconds, timeshift), units) override fun getIcList(rh: ResourceHelper, dateUtil: DateUtil): String = getValuesList(icBlocks, 100.0 / percentage, DecimalFormat("0.0"), rh.gs(R.string.profile_carbs_per_unit), dateUtil) - override fun getIsfList(rh: ResourceHelper, dateUtil: DateUtil): String = getValuesList(isfBlocks, 100.0 / percentage, DecimalFormat("0.0"), units.asText + rh.gs(R.string.profile_per_unit), dateUtil) - override fun getBasalList(rh: ResourceHelper, dateUtil: DateUtil): String = getValuesList(basalBlocks, percentage / 100.0, DecimalFormat("0.00"), rh.gs(R.string.profile_ins_units_per_hour), dateUtil) + override fun getIsfList(rh: ResourceHelper, dateUtil: DateUtil): String = + getValuesList(isfBlocks, 100.0 / percentage, DecimalFormat("0.0"), units.asText + rh.gs(R.string.profile_per_unit), dateUtil) + + override fun getBasalList(rh: ResourceHelper, dateUtil: DateUtil): String = + getValuesList(basalBlocks, percentage / 100.0, DecimalFormat("0.00"), rh.gs(R.string.profile_ins_units_per_hour), dateUtil) + override fun getTargetList(rh: ResourceHelper, dateUtil: DateUtil): String = getTargetValuesList(targetBlocks, DecimalFormat("0.0"), units.asText, dateUtil) override fun convertToNonCustomizedProfile(dateUtil: DateUtil): PureProfile = @@ -278,10 +282,11 @@ sealed class ProfileSealed( val sens = JSONArray() var elapsedHours = 0L isfBlocks.forEach { - sens.put(JSONObject() - .put("time", DecimalFormat("00").format(elapsedHours) + ":00") - .put("timeAsSeconds", T.hours(elapsedHours).secs()) - .put("value", getIsfTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) + sens.put( + JSONObject() + .put("time", DecimalFormat("00").format(elapsedHours) + ":00") + .put("timeAsSeconds", T.hours(elapsedHours).secs()) + .put("value", getIsfTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) ) elapsedHours += T.msecs(it.duration).hours() } @@ -289,10 +294,11 @@ sealed class ProfileSealed( val carbratio = JSONArray() elapsedHours = 0L icBlocks.forEach { - carbratio.put(JSONObject() - .put("time", DecimalFormat("00").format(elapsedHours) + ":00") - .put("timeAsSeconds", T.hours(elapsedHours).secs()) - .put("value", getIcTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) + carbratio.put( + JSONObject() + .put("time", DecimalFormat("00").format(elapsedHours) + ":00") + .put("timeAsSeconds", T.hours(elapsedHours).secs()) + .put("value", getIcTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) ) elapsedHours += T.msecs(it.duration).hours() } @@ -300,10 +306,11 @@ sealed class ProfileSealed( val basal = JSONArray() elapsedHours = 0L basalBlocks.forEach { - basal.put(JSONObject() - .put("time", DecimalFormat("00").format(elapsedHours) + ":00") - .put("timeAsSeconds", T.hours(elapsedHours).secs()) - .put("value", getBasalTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) + basal.put( + JSONObject() + .put("time", DecimalFormat("00").format(elapsedHours) + ":00") + .put("timeAsSeconds", T.hours(elapsedHours).secs()) + .put("value", getBasalTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) ) elapsedHours += T.msecs(it.duration).hours() } @@ -312,15 +319,17 @@ sealed class ProfileSealed( val targetHigh = JSONArray() elapsedHours = 0L targetBlocks.forEach { - targetLow.put(JSONObject() - .put("time", DecimalFormat("00").format(elapsedHours) + ":00") - .put("timeAsSeconds", T.hours(elapsedHours).secs()) - .put("value", getTargetLowTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) + targetLow.put( + JSONObject() + .put("time", DecimalFormat("00").format(elapsedHours) + ":00") + .put("timeAsSeconds", T.hours(elapsedHours).secs()) + .put("value", getTargetLowTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) ) - targetHigh.put(JSONObject() - .put("time", DecimalFormat("00").format(elapsedHours) + ":00") - .put("timeAsSeconds", T.hours(elapsedHours).secs()) - .put("value", getTargetHighTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) + targetHigh.put( + JSONObject() + .put("time", DecimalFormat("00").format(elapsedHours) + ":00") + .put("timeAsSeconds", T.hours(elapsedHours).secs()) + .put("value", getTargetHighTimeFromMidnight(T.hours(elapsedHours).secs().toInt())) ) elapsedHours += T.msecs(it.duration).hours() } @@ -351,7 +360,7 @@ sealed class ProfileSealed( val ret = Array(shifted.size) { ProfileValue(0, 0.0) } var elapsed = 0 for (index in shifted.indices) { - ret[index] = ProfileValue(elapsed, toMgdl(shifted[index].amount, units)) + ret[index] = ProfileValue(elapsed, Profile.toMgdl(shifted[index].amount, units)) elapsed += T.msecs(shifted[index].duration).secs().toInt() } return ret diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt index b4f4ea79b1..4d41ee73af 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt @@ -9,24 +9,26 @@ import android.view.Window import android.view.WindowManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment +import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.getCustomizedName +import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.core.main.databinding.DialogProfileviewerBinding -import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toUnitsString import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.extensions.getCustomizedName -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import java.text.DecimalFormat import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 3703192377..2c3949aa3e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -2,9 +2,10 @@ package info.nightscout.androidaps.extensions import com.google.gson.Gson import com.google.gson.JsonSyntaxException -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.entities.BolusCalculatorResult +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index a1582d04ae..eefc4c13e9 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil @@ -24,13 +24,13 @@ val ExtendedBolus.plannedRemainingMinutes: Int get() = max(round((end - System.currentTimeMillis()) / 1000.0 / 60).toInt(), 0) fun ExtendedBolus.toStringFull(dateUtil: DateUtil): String = - "E " + to2Decimal(rate) + "U/h @" + dateUtil.timeString(timestamp) + + "E " + DecimalFormatter.to2Decimal(rate) + "U/h @" + dateUtil.timeString(timestamp) + " " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + T.msecs(duration).mins() + "min" fun ExtendedBolus.toStringMedium(dateUtil: DateUtil): String = - to2Decimal(rate) + "U/h " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + T.msecs(duration).mins() + "'" + DecimalFormatter.to2Decimal(rate) + "U/h " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + T.msecs(duration).mins() + "'" -fun ExtendedBolus.toStringTotal(): String = "${to2Decimal(amount)}U ( ${to2Decimal(rate)} U/h )" +fun ExtendedBolus.toStringTotal(): String = "${DecimalFormatter.to2Decimal(amount)}U ( ${DecimalFormatter.to2Decimal(rate)} U/h )" fun ExtendedBolus.getPassedDurationToTimeInMinutes(time: Long): Int = ((min(time, end) - timestamp) / 60.0 / 1000).roundToInt() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index 97f62fa922..ec7e2d2bc2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.extensions + import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constants diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index 33f9243544..15f8dc1969 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -1,9 +1,7 @@ -package info.nightscout.androidaps.utils.extensions +package info.nightscout.androidaps.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.extensions.blockFromJsonArray -import info.nightscout.androidaps.extensions.targetBlockFromJsonArray -import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit @@ -29,7 +27,7 @@ fun List.isPSEvent5minBack(time: Long): Boolean { fun ProfileSwitch.getCustomizedName(): String { var name: String = profileName if (Constants.LOCAL_PROFILE == name) { - name = to2Decimal(ProfileSealed.PS(this).percentageBasalSum()) + "U " + name = DecimalFormatter.to2Decimal(ProfileSealed.PS(this).percentageBasalSum()) + "U " } if (timeshift != 0L || percentage != 100) { name += "($percentage%" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index a8b4e56c16..125839b5af 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,14 +1,13 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal -import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal +import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil @@ -38,13 +37,13 @@ val TemporaryBasal.durationInMinutes fun TemporaryBasal.toStringFull(profile: Profile, dateUtil: DateUtil): String { return when { type == TemporaryBasal.Type.FAKE_EXTENDED -> { - to2Decimal(rate) + "U/h (" + to2Decimal(netExtendedRate(profile)) + "E) @" + + DecimalFormatter.to2Decimal(rate) + "U/h (" + DecimalFormatter.to2Decimal(netExtendedRate(profile)) + "E) @" + dateUtil.timeString(timestamp) + " " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + durationInMinutes + "'" } isAbsolute -> { - to2Decimal(rate) + "U/h @" + + DecimalFormatter.to2Decimal(rate) + "U/h @" + dateUtil.timeString(timestamp) + " " + getPassedDurationToTimeInMinutes(dateUtil.now()) + "/" + durationInMinutes + "'" } @@ -58,8 +57,8 @@ fun TemporaryBasal.toStringFull(profile: Profile, dateUtil: DateUtil): String { } fun TemporaryBasal.toStringShort(): String = - if (isAbsolute || type == TemporaryBasal.Type.FAKE_EXTENDED) to2Decimal(rate) + "U/h" - else "${to0Decimal(rate)}%" + if (isAbsolute || type == TemporaryBasal.Type.FAKE_EXTENDED) DecimalFormatter.to2Decimal(rate) + "U/h" + else "${DecimalFormatter.to0Decimal(rate)}%" fun TemporaryBasal.iobCalc(time: Long, profile: Profile, insulinInterface: Insulin): IobTotal { val result = IobTotal(time) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index 0ff7e6cdd8..0bc5b8d78e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -1,11 +1,12 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R +import info.nightscout.core.profile.toTargetRangeString import info.nightscout.database.entities.TemporaryTarget import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import java.util.concurrent.TimeUnit diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index ab17476e41..04b2f35a7e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -6,6 +6,7 @@ import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt index 20cf7988e3..c9a1060d4a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt @@ -1,9 +1,11 @@ package info.nightscout.androidaps.interfaces import android.text.Spanned -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand interface CommandQueue { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt index ea0a4a1394..deddfeda8e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile /** * Constraints interface diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt index c9038b209c..3a65caa9a7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt @@ -4,6 +4,7 @@ import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile interface DetermineBasalAdapterInterface { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index 0d9a3d41bc..558118c85b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -9,6 +9,7 @@ import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile import org.json.JSONArray interface IobCobCalculator { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 9e39f10357..94cd92b9b5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.database.entities.OfflineEvent import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpEnactResult interface Loop { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt deleted file mode 100644 index 8435ac7026..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Profile.kt +++ /dev/null @@ -1,212 +0,0 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal -import info.nightscout.androidaps.utils.DecimalFormatter.to1Decimal -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.profile.PureProfile -import info.nightscout.interfaces.utils.Round -import info.nightscout.rx.bus.RxBus -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import org.joda.time.DateTime -import org.json.JSONObject - -interface Profile { - - class ValidityCheck(var isValid: Boolean = true, val reasons: ArrayList = arrayListOf()) - - fun isValid(from: String, pump: Pump, config: Config, rh: ResourceHelper, rxBus: RxBus, hardLimits: HardLimits, sendNotifications: Boolean): ValidityCheck - - /** - * Units used for ISF & target - */ - val units: GlucoseUnit - - //@Deprecated("Replace in favor of accessing InsulinProfile") - val dia: Double - - val percentage: Int - - /** - * Timeshift modifier of base profile in hours - */ - val timeshift: Int - - /** - * is equal to another profile? - */ - fun isEqual(profile: Profile): Boolean - - /** - * Basal value according to "now" - */ - fun getBasal(): Double - - /** - * Basal value according to timestamp - */ - fun getBasal(timestamp: Long): Double - - /** - * I:C value according to "now" - */ - fun getIc(): Double - - /** - * I:C value according to timestamp - */ - fun getIc(timestamp: Long): Double - - /** - * ISF value according to "now"" in MGDL - */ - fun getIsfMgdl(): Double - - /** - * ISF value according to timestamp in MGDL - */ - fun getIsfMgdl(timestamp: Long): Double - - /** - * Average target value according to "now" in MGDL - */ - fun getTargetMgdl(): Double - fun getTargetLowMgdl(): Double - fun getTargetLowMgdl(timestamp: Long): Double - fun getTargetHighMgdl(): Double - fun getTargetHighMgdl(timestamp: Long): Double - - /** - * Basal value according to elapsed seconds from midnight - */ - fun getBasalTimeFromMidnight(timeAsSeconds: Int): Double - - /** - * I:C value according to elapsed seconds from midnight - */ - fun getIcTimeFromMidnight(timeAsSeconds: Int): Double - - /** - * ISF value according to elapsed seconds from midnight - */ - fun getIsfMgdlTimeFromMidnight(timeAsSeconds: Int): Double - - /** - * Low target value according to elapsed seconds from midnight - */ - fun getTargetLowMgdlTimeFromMidnight(timeAsSeconds: Int): Double - - /** - * High target value according to elapsed seconds from midnight in MGDL - */ - fun getTargetHighMgdlTimeFromMidnight(timeAsSeconds: Int): Double - - fun getIcList(rh: ResourceHelper, dateUtil: DateUtil): String - fun getIsfList(rh: ResourceHelper, dateUtil: DateUtil): String - fun getBasalList(rh: ResourceHelper, dateUtil: DateUtil): String - fun getTargetList(rh: ResourceHelper, dateUtil: DateUtil): String - - fun convertToNonCustomizedProfile(dateUtil: DateUtil): PureProfile - fun toPureNsJson(dateUtil: DateUtil): JSONObject - fun getMaxDailyBasal(): Double - fun baseBasalSum(): Double - fun percentageBasalSum(): Double - - fun getBasalValues(): Array - fun getIcsValues(): Array - fun getIsfsMgdlValues(): Array - fun getSingleTargetsMgdl(): Array - - open class ProfileValue(var timeAsSeconds: Int, var value: Double) { - - override fun equals(other: Any?): Boolean { - if (other !is ProfileValue) { - return false - } - return timeAsSeconds == other.timeAsSeconds && Round.isSame(value, other.value) - } - - override fun hashCode(): Int { - var result = timeAsSeconds - result = 31 * result + value.hashCode() - return result - } - } - - companion object { - - /* - * Midnight time conversion - */ - fun secondsFromMidnight(): Int { - val passed = DateTime().millisOfDay.toLong() - return (passed / 1000).toInt() - } - - fun secondsFromMidnight(date: Long): Int { - val passed = DateTime(date).millisOfDay.toLong() - return (passed / 1000).toInt() - } - - fun milliSecFromMidnight(date: Long): Long { - return DateTime(date).millisOfDay.toLong() - } - /* - * Units conversion - */ - - fun fromMgdlToUnits(value: Double, units: GlucoseUnit): Double = - if (units == GlucoseUnit.MGDL) value else value * Constants.MGDL_TO_MMOLL - - fun fromMmolToUnits(value: Double, units: GlucoseUnit): Double = - if (units == GlucoseUnit.MMOL) value else value * Constants.MMOLL_TO_MGDL - - fun toUnits(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): Double = - if (units == GlucoseUnit.MGDL) valueInMgdl else valueInMmol - - fun toUnitsString(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): String = - if (units == GlucoseUnit.MGDL) to0Decimal(valueInMgdl) else to1Decimal(valueInMmol) - - fun toSignedUnitsString(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): String = - if (units == GlucoseUnit.MGDL) (if (valueInMgdl > 0) "+" else "") + to0Decimal(valueInMgdl) - else (if (valueInMmol > 0) "+" else "") + to1Decimal(valueInMmol) - - fun isMgdl(anyBg: Double) = anyBg >= 39 - fun isMmol(anyBg: Double) = anyBg < 39 - fun unit(anyBg: Double) = if (isMgdl(anyBg)) GlucoseUnit.MGDL else GlucoseUnit.MMOL - - fun toCurrentUnits(profileFunction: ProfileFunction, anyBg: Double): Double = - if (isMmol(anyBg)) fromMmolToUnits(anyBg, profileFunction.getUnits()) - else fromMgdlToUnits(anyBg, profileFunction.getUnits()) - - fun toCurrentUnits(units: GlucoseUnit, anyBg: Double): Double = - if (isMmol(anyBg)) fromMmolToUnits(anyBg, units) - else fromMgdlToUnits(anyBg, units) - - fun toCurrentUnitsString(profileFunction: ProfileFunction, anyBg: Double): String = - if (isMmol(anyBg)) toUnitsString(anyBg * Constants.MMOLL_TO_MGDL, anyBg, profileFunction.getUnits()) - else toUnitsString(anyBg, anyBg * Constants.MGDL_TO_MMOLL, profileFunction.getUnits()) - - fun toMgdl(value: Double): Double = - if (isMgdl(value)) value else value * Constants.MMOLL_TO_MGDL - - fun toMgdl(value: Double, units: GlucoseUnit): Double = - if (units == GlucoseUnit.MGDL) value else value * Constants.MMOLL_TO_MGDL - - fun toMmol(value: Double, units: GlucoseUnit): Double = - if (units == GlucoseUnit.MGDL) value * Constants.MGDL_TO_MMOLL else value - - // targets are stored in mg/dl but profile vary - fun toTargetRangeString(low: Double, high: Double, sourceUnits: GlucoseUnit, units: GlucoseUnit): String { - val lowMgdl = toMgdl(low, sourceUnits) - val highMgdl = toMgdl(high, sourceUnits) - val lowMmol = toMmol(low, sourceUnits) - val highMmol = toMmol(high, sourceUnits) - return if (low == high) toUnitsString(lowMgdl, lowMmol, units) else toUnitsString(lowMgdl, lowMmol, units) + " - " + toUnitsString(highMgdl, highMmol, units) - } - - } -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt index 29d7dbef52..49eac5acaf 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore interface ProfileFunction { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index a5cef52fcd..4c96f1fd2f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -1,13 +1,14 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.main.R +import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.interfaces.ResourceHelper class GlucoseValueDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index 916cf8c9fb..dbd2e31de6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -1,12 +1,14 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.Translator import info.nightscout.core.main.R +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toUnits import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.interfaces.ResourceHelper class TherapyEventDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt index 3d38653bf9..45f9561110 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/TemporaryBasalStorage.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton import kotlin.math.abs diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt index 811888d85e..438e55f274 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DecimalFormatter.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.utils import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Pump +import info.nightscout.interfaces.pump.Pump import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt index b346feaffc..13b9922535 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt @@ -1,11 +1,12 @@ package info.nightscout.androidaps.utils -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.core.main.R -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.main.R +import info.nightscout.core.profile.toCurrentUnits +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt index 16bbc77974..44ebd8a998 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt @@ -7,10 +7,37 @@ import android.text.TextWatcher import android.widget.EditText import com.google.android.material.textfield.TextInputLayout import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.textValidator.validators.* +import info.nightscout.androidaps.utils.textValidator.validators.AlphaNumericValidator +import info.nightscout.androidaps.utils.textValidator.validators.AlphaValidator +import info.nightscout.androidaps.utils.textValidator.validators.AndValidator +import info.nightscout.androidaps.utils.textValidator.validators.BgRangeValidator +import info.nightscout.androidaps.utils.textValidator.validators.CreditCardValidator +import info.nightscout.androidaps.utils.textValidator.validators.DateValidator +import info.nightscout.androidaps.utils.textValidator.validators.DomainValidator +import info.nightscout.androidaps.utils.textValidator.validators.DummyValidator +import info.nightscout.androidaps.utils.textValidator.validators.EmailValidator +import info.nightscout.androidaps.utils.textValidator.validators.EmptyValidator +import info.nightscout.androidaps.utils.textValidator.validators.FloatNumericRangeValidator +import info.nightscout.androidaps.utils.textValidator.validators.HttpsUrlValidator +import info.nightscout.androidaps.utils.textValidator.validators.IpAddressValidator +import info.nightscout.androidaps.utils.textValidator.validators.MinDigitLengthValidator +import info.nightscout.androidaps.utils.textValidator.validators.MultiPhoneValidator +import info.nightscout.androidaps.utils.textValidator.validators.MultiValidator +import info.nightscout.androidaps.utils.textValidator.validators.NotValidator +import info.nightscout.androidaps.utils.textValidator.validators.NumericRangeValidator +import info.nightscout.androidaps.utils.textValidator.validators.NumericValidator +import info.nightscout.androidaps.utils.textValidator.validators.OrValidator +import info.nightscout.androidaps.utils.textValidator.validators.PersonFullNameValidator +import info.nightscout.androidaps.utils.textValidator.validators.PersonNameValidator +import info.nightscout.androidaps.utils.textValidator.validators.PhoneValidator +import info.nightscout.androidaps.utils.textValidator.validators.PinStrengthValidator +import info.nightscout.androidaps.utils.textValidator.validators.RegexpValidator +import info.nightscout.androidaps.utils.textValidator.validators.Validator +import info.nightscout.androidaps.utils.textValidator.validators.WebUrlValidator +import info.nightscout.core.main.R +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.interfaces.profile.Profile import javax.inject.Inject @Suppress("SpellCheckingInspection") @@ -110,7 +137,7 @@ class DefaultEditTextValidator : EditTextValidator { defaultEmptyErrorString = context.getString(R.string.error_field_must_not_be_empty) setEmptyErrorString(emptyErrorStringDef) mValidator = AndValidator() - val toAdd: Validator = + val toAdd: Validator = when (testType) { EditTextValidator.TEST_NOCHECK -> DummyValidator() EditTextValidator.TEST_ALPHA -> AlphaValidator(if (TextUtils.isEmpty(testErrorString)) context.getString(R.string.error_only_standard_letters_are_allowed) else testErrorString) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt index 354ad7daab..af7f37b0f1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt @@ -5,9 +5,11 @@ import android.util.AttributeSet import androidx.preference.EditTextPreference import androidx.preference.PreferenceViewHolder import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.main.R +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toMgdl +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.SafeParse import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt index 33915141f8..9a716193a6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt @@ -1,8 +1,9 @@ package info.nightscout.androidaps.utils.textValidator.validators import android.widget.EditText -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.interfaces.profile.Profile class BgRangeValidator(_customErrorMessage: String?, private val min: Int, private val max: Int, private val profileFunction: ProfileFunction) : Validator(_customErrorMessage) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt index 1517b19d39..a6072fec6c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BasalProfileGraph.kt @@ -7,7 +7,7 @@ import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt index 4af96b9f65..e04eceb4ee 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IcProfileGraph.kt @@ -7,7 +7,7 @@ import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt index 3906db112e..3dde0ec2fe 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/IsfProfileGraph.kt @@ -7,7 +7,8 @@ import com.jjoe64.graphview.GraphView import com.jjoe64.graphview.series.DataPoint import com.jjoe64.graphview.series.LineGraphSeries import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt index f2feee5ed9..55e90c4012 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/TargetBgProfileGraph.kt @@ -4,11 +4,12 @@ import android.content.Context import android.util.AttributeSet import com.jjoe64.graphview.DefaultLabelFormatter import com.jjoe64.graphview.GraphView -import info.nightscout.core.main.R -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DoubleDataPoint +import info.nightscout.core.main.R +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import java.text.NumberFormat import kotlin.math.max diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index b2f5da37e4..2de85ac78d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.utils.userEntry import android.text.Spanned import dagger.Reusable -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.Translator import info.nightscout.core.main.R +import info.nightscout.core.profile.toUnitsString import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.ColorGroup @@ -14,6 +14,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt new file mode 100644 index 0000000000..60d1157328 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt @@ -0,0 +1,80 @@ +package info.nightscout.core.profile + +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import org.joda.time.DateTime + +/* + * Midnight time conversion + */ +fun Profile.Companion.secondsFromMidnight(): Int { + val passed = DateTime().millisOfDay.toLong() + return (passed / 1000).toInt() +} + +fun Profile.Companion.secondsFromMidnight(date: Long): Int { + val passed = DateTime(date).millisOfDay.toLong() + return (passed / 1000).toInt() +} + +fun Profile.Companion.milliSecFromMidnight(date: Long): Long { + return DateTime(date).millisOfDay.toLong() +} +/* + * Units conversion + */ + +fun Profile.Companion.fromMgdlToUnits(value: Double, units: GlucoseUnit): Double = + if (units == GlucoseUnit.MGDL) value else value * Constants.MGDL_TO_MMOLL + +fun Profile.Companion.fromMmolToUnits(value: Double, units: GlucoseUnit): Double = + if (units == GlucoseUnit.MMOL) value else value * Constants.MMOLL_TO_MGDL + +fun Profile.Companion.toUnits(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): Double = + if (units == GlucoseUnit.MGDL) valueInMgdl else valueInMmol + +fun Profile.Companion.toUnitsString(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): String = + if (units == GlucoseUnit.MGDL) DecimalFormatter.to0Decimal(valueInMgdl) else DecimalFormatter.to1Decimal(valueInMmol) + +fun Profile.Companion.toSignedUnitsString(valueInMgdl: Double, valueInMmol: Double, units: GlucoseUnit): String = + if (units == GlucoseUnit.MGDL) (if (valueInMgdl > 0) "+" else "") + DecimalFormatter.to0Decimal(valueInMgdl) + else (if (valueInMmol > 0) "+" else "") + DecimalFormatter.to1Decimal(valueInMmol) + +fun Profile.Companion.isMgdl(anyBg: Double) = anyBg >= 39 +fun Profile.Companion.isMmol(anyBg: Double) = anyBg < 39 +fun Profile.Companion.unit(anyBg: Double) = if (isMgdl(anyBg)) GlucoseUnit.MGDL else GlucoseUnit.MMOL + +fun Profile.Companion.toCurrentUnits(profileFunction: ProfileFunction, anyBg: Double): Double = + if (isMmol(anyBg)) fromMmolToUnits(anyBg, profileFunction.getUnits()) + else fromMgdlToUnits(anyBg, profileFunction.getUnits()) + +fun Profile.Companion.toCurrentUnits(units: GlucoseUnit, anyBg: Double): Double = + if (isMmol(anyBg)) fromMmolToUnits(anyBg, units) + else fromMgdlToUnits(anyBg, units) + +fun Profile.Companion.toCurrentUnitsString(profileFunction: ProfileFunction, anyBg: Double): String = + if (isMmol(anyBg)) toUnitsString(anyBg * Constants.MMOLL_TO_MGDL, anyBg, profileFunction.getUnits()) + else toUnitsString(anyBg, anyBg * Constants.MGDL_TO_MMOLL, profileFunction.getUnits()) + +fun Profile.Companion.toMgdl(value: Double): Double = + if (isMgdl(value)) value else value * Constants.MMOLL_TO_MGDL + +fun Profile.Companion.toMgdl(value: Double, units: GlucoseUnit): Double = + if (units == GlucoseUnit.MGDL) value else value * Constants.MMOLL_TO_MGDL + +fun Profile.Companion.toMmol(value: Double, units: GlucoseUnit): Double = + if (units == GlucoseUnit.MGDL) value * Constants.MGDL_TO_MMOLL else value + +// targets are stored in mg/dl but profile vary +fun Profile.Companion.toTargetRangeString(low: Double, high: Double, sourceUnits: GlucoseUnit, units: GlucoseUnit): String { + val lowMgdl = toMgdl(low, sourceUnits) + val highMgdl = toMgdl(high, sourceUnits) + val lowMmol = toMmol(low, sourceUnits) + val highMmol = toMmol(high, sourceUnits) + return if (low == high) toUnitsString(lowMgdl, lowMmol, units) + else toUnitsString(lowMgdl, lowMmol, units) + " - " + toUnitsString(highMgdl, highMmol, units) +} + diff --git a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt index 2c6b42118e..d66ebcba86 100644 --- a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt +++ b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt @@ -3,12 +3,12 @@ package info.nightscout.core.profile import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt index b4d6bce4bc..f82adc569b 100644 --- a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import kotlin.math.ceil diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index eef46d8a41..ce9a00c156 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,16 +4,16 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP @@ -35,6 +35,7 @@ open class TestBaseWithProfile : TestBase() { @Mock lateinit var sp: SP @Mock lateinit var context: Context @Mock lateinit var repository: AppRepository + @Mock lateinit var hardLimits: HardLimits lateinit var testPumpPlugin: TestPumpPlugin @@ -48,7 +49,7 @@ open class TestBaseWithProfile : TestBase() { it.config = config it.rh = rh it.rxBus = rxBus - it.hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) + it.hardLimits = hardLimits } } } diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7829779b22..7262510558 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index c85e1fc21a..ef5d3a8899 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -4,19 +4,25 @@ import android.content.Context import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.core.main.R -import info.nightscout.database.impl.AppRepository +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.HardLimits -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.core.main.R +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toMgdl +import info.nightscout.core.profile.toMmol +import info.nightscout.core.profile.toTargetRangeString +import info.nightscout.core.profile.toUnits +import info.nightscout.core.profile.toUnitsString +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Assert import org.junit.Before @@ -38,11 +44,11 @@ class ProfileTest : TestBase() { @Mock lateinit var config: Config @Mock lateinit var sp: SP @Mock lateinit var repository: AppRepository + @Mock lateinit var hardLimits: HardLimits private lateinit var rxBus: RxBus private lateinit var dateUtil: DateUtil private lateinit var testPumpPlugin: TestPumpPlugin - private lateinit var hardLimits: HardLimits private var okProfile = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}]," + "\"sens\":[{\"time\":\"00:00\",\"value\":\"6\"},{\"time\":\"2:00\",\"value\":\"6.2\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"0.1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"target_high\":[{\"time\":\"00:00\",\"value\":\"5\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" @@ -64,7 +70,6 @@ class ProfileTest : TestBase() { testPumpPlugin = TestPumpPlugin { AndroidInjector { } } dateUtil = DateUtil(context) rxBus = RxBus(TestAapsSchedulers(), aapsLogger) - hardLimits = HardLimits(aapsLogger, rxBus, sp, rh, context, repository) `when`(activePluginProvider.activePump).thenReturn(testPumpPlugin) `when`(rh.gs(R.string.profile_per_unit)).thenReturn("/U") `when`(rh.gs(R.string.profile_carbs_per_unit)).thenReturn("g/U") diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt index d54568e4ae..dbec87ad2a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/pump/bolusInfo/TemporaryBasalStorageTest.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.pump.bolusInfo import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.Before diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt b/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt similarity index 76% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt rename to implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt index de39a4ef78..f1641ef0e5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/HardLimits.kt +++ b/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt @@ -1,13 +1,15 @@ -package info.nightscout.androidaps.utils +package info.nightscout.implementation import android.content.Context import info.nightscout.androidaps.annotations.OpenForTesting +import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.main.R import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -18,14 +20,14 @@ import kotlin.math.min @OpenForTesting @Singleton -class HardLimits @Inject constructor( +class HardLimitsImpl @Inject constructor( private val aapsLogger: AAPSLogger, private val rxBus: RxBus, private val sp: SP, private val rh: ResourceHelper, private val context: Context, private val repository: AppRepository -) { +) : HardLimits { private val disposable = CompositeDisposable() @@ -70,26 +72,26 @@ class HardLimits @Inject constructor( rh.gs(R.string.key_adult) -> ADULT rh.gs(R.string.key_resistantadult) -> RESISTANT_ADULT rh.gs(R.string.key_pregnant) -> PREGNANT - else -> ADULT + else -> ADULT } - fun maxBolus(): Double = MAX_BOLUS[loadAge()] - fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] - fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] - fun maxBasal(): Double = MAX_BASAL[loadAge()] - fun minDia(): Double = MIN_DIA[loadAge()] - fun maxDia(): Double = MAX_DIA[loadAge()] - fun minIC(): Double = MIN_IC[loadAge()] - fun maxIC(): Double = MAX_IC[loadAge()] + override fun maxBolus(): Double = MAX_BOLUS[loadAge()] + override fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] + override fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] + override fun maxBasal(): Double = MAX_BASAL[loadAge()] + override fun minDia(): Double = MIN_DIA[loadAge()] + override fun maxDia(): Double = MAX_DIA[loadAge()] + override fun minIC(): Double = MIN_IC[loadAge()] + override fun maxIC(): Double = MAX_IC[loadAge()] // safety checks - fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = - value == verifyHardLimits(value, valueName, lowLimit, highLimit) + override fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = + value == verifyHardLimits(value, valueName, lowLimit, highLimit) - fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = + override fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = value in lowLimit..highLimit - fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { + override fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { var newValue = value if (newValue < lowLimit || newValue > highLimit) { newValue = max(newValue, lowLimit) diff --git a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt index f1f7e5a011..5fdd617c2e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.constraints import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt index 1ebf7218dd..e6cf6101c2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt +++ b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt @@ -4,7 +4,14 @@ import android.content.Context import dagger.Module import dagger.Provides import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository +import info.nightscout.implementation.HardLimitsImpl +import info.nightscout.implementation.resources.ResourceHelperImpl +import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.sharedPreferences.SP import javax.inject.Singleton @Module( @@ -15,8 +22,14 @@ import javax.inject.Singleton @Suppress("unused") open class ImplementationModule { + @Provides @Singleton fun provideResources(context: Context, fabricPrivacy: FabricPrivacy): ResourceHelper = - info.nightscout.implementation.resources.ResourceHelperImpl(context, fabricPrivacy) + ResourceHelperImpl(context, fabricPrivacy) + + @Provides + @Singleton + fun provideHardLimits(aapsLogger: AAPSLogger, rxBus: RxBus, sp: SP, rh: ResourceHelper, context: Context, repository: AppRepository): HardLimits = + HardLimitsImpl(aapsLogger, rxBus, sp, rh, context, repository) } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 1afa3c168b..4d71325c0a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -2,7 +2,6 @@ package info.nightscout.implementation.pump import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R @@ -38,6 +37,7 @@ import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransact import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 6ed3b595ec..c6e5a7d41f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -10,18 +10,16 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.dialogs.BolusProgressDialog +import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.queue.commands.Command.CommandType -import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.database.entities.EffectiveProfileSwitch @@ -52,8 +50,10 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.ui.ActivityNames diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 6e5f8618fb..d7164e8c8c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -4,12 +4,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.queue.commands.Command import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index f9d3077b1f..fa1bcf0b22 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -2,13 +2,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandTempBasalAbsolute( diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index 0d7d287ca6..cf01966ccc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -2,13 +2,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandTempBasalPercent( diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt index 314c9e63fc..7e2e15fa7a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt @@ -6,13 +6,15 @@ import android.graphics.Typeface import android.view.Gravity import android.widget.TableRow import android.widget.TextView -import info.nightscout.interfaces.Constants -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR +import info.nightscout.core.profile.toCurrentUnitsString +import info.nightscout.core.profile.toUnitsString import info.nightscout.implementation.R -import java.util.* +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile +import info.nightscout.shared.interfaces.ResourceHelper +import java.util.Calendar import kotlin.math.pow import kotlin.math.roundToInt import kotlin.math.sqrt diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index 9c62357b90..7958695c4f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -8,17 +8,18 @@ import android.view.Gravity import android.view.ViewGroup import android.widget.TableLayout import android.widget.TextView -import info.nightscout.interfaces.Constants -import info.nightscout.database.impl.AppRepository -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.TIR import info.nightscout.androidaps.interfaces.stats.TirCalculator -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.utils.T +import info.nightscout.core.profile.toCurrentUnitsString +import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.utils.MidnightTime +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c02f09ecf8..7f76f71a53 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,10 +4,10 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7829779b22..7262510558 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 532b7dee34..593c8397ae 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Bolus @@ -27,6 +26,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.ui.ActivityNames diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index 0ee309ab82..eab716d753 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.queue.commands.Command import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R @@ -16,6 +15,7 @@ import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.sharedPreferences.SP diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index 1d96b532f0..ed44fd4789 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -39,12 +39,8 @@ import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpPluginBase; -import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.androidaps.interfaces.PumpSync.PumpState.TemporaryBasal; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; @@ -118,9 +114,13 @@ import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.Insight; +import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.pump.PumpSync.PumpState.TemporaryBasal; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java index fda0450c1f..b72bfc3589 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/activities/InsightPairingActivity.java @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.insight.activities; -import info.nightscout.androidaps.extensions.BluetoothAdapterExtensionKt; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; @@ -34,13 +33,14 @@ import java.util.List; import javax.inject.Inject; import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; +import info.nightscout.androidaps.extensions.BluetoothAdapterExtensionKt; import info.nightscout.androidaps.extensions.IntentExtensionKt; import info.nightscout.androidaps.insight.R; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck; import info.nightscout.androidaps.plugins.pump.insight.connection_service.InsightConnectionService; import info.nightscout.androidaps.plugins.pump.insight.descriptors.InsightState; import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator; +import info.nightscout.interfaces.pump.PumpSync; public class InsightPairingActivity extends NoSplashAppCompatActivity implements InsightConnectionService.StateCallback, View.OnClickListener, InsightConnectionService.ExceptionCallback { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/profile/Profile.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/Profile.kt new file mode 100644 index 0000000000..2c380a0158 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/Profile.kt @@ -0,0 +1,138 @@ +package info.nightscout.interfaces.profile + +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.interfaces.utils.Round +import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import org.json.JSONObject + +interface Profile { + + class ValidityCheck(var isValid: Boolean = true, val reasons: ArrayList = arrayListOf()) + + fun isValid(from: String, pump: Pump, config: Config, rh: ResourceHelper, rxBus: RxBus, hardLimits: HardLimits, sendNotifications: Boolean): ValidityCheck + + /** + * Units used for ISF & target + */ + val units: GlucoseUnit + + //@Deprecated("Replace in favor of accessing InsulinProfile") + val dia: Double + + val percentage: Int + + /** + * Timeshift modifier of base profile in hours + */ + val timeshift: Int + + /** + * is equal to another profile? + */ + fun isEqual(profile: Profile): Boolean + + /** + * Basal value according to "now" + */ + fun getBasal(): Double + + /** + * Basal value according to timestamp + */ + fun getBasal(timestamp: Long): Double + + /** + * I:C value according to "now" + */ + fun getIc(): Double + + /** + * I:C value according to timestamp + */ + fun getIc(timestamp: Long): Double + + /** + * ISF value according to "now"" in MGDL + */ + fun getIsfMgdl(): Double + + /** + * ISF value according to timestamp in MGDL + */ + fun getIsfMgdl(timestamp: Long): Double + + /** + * Average target value according to "now" in MGDL + */ + fun getTargetMgdl(): Double + fun getTargetLowMgdl(): Double + fun getTargetLowMgdl(timestamp: Long): Double + fun getTargetHighMgdl(): Double + fun getTargetHighMgdl(timestamp: Long): Double + + /** + * Basal value according to elapsed seconds from midnight + */ + fun getBasalTimeFromMidnight(timeAsSeconds: Int): Double + + /** + * I:C value according to elapsed seconds from midnight + */ + fun getIcTimeFromMidnight(timeAsSeconds: Int): Double + + /** + * ISF value according to elapsed seconds from midnight + */ + fun getIsfMgdlTimeFromMidnight(timeAsSeconds: Int): Double + + /** + * Low target value according to elapsed seconds from midnight + */ + fun getTargetLowMgdlTimeFromMidnight(timeAsSeconds: Int): Double + + /** + * High target value according to elapsed seconds from midnight in MGDL + */ + fun getTargetHighMgdlTimeFromMidnight(timeAsSeconds: Int): Double + + fun getIcList(rh: ResourceHelper, dateUtil: DateUtil): String + fun getIsfList(rh: ResourceHelper, dateUtil: DateUtil): String + fun getBasalList(rh: ResourceHelper, dateUtil: DateUtil): String + fun getTargetList(rh: ResourceHelper, dateUtil: DateUtil): String + + fun convertToNonCustomizedProfile(dateUtil: DateUtil): PureProfile + fun toPureNsJson(dateUtil: DateUtil): JSONObject + fun getMaxDailyBasal(): Double + fun baseBasalSum(): Double + fun percentageBasalSum(): Double + + fun getBasalValues(): Array + fun getIcsValues(): Array + fun getIsfsMgdlValues(): Array + fun getSingleTargetsMgdl(): Array + + open class ProfileValue(var timeAsSeconds: Int, var value: Double) { + + override fun equals(other: Any?): Boolean { + if (other !is ProfileValue) { + return false + } + return timeAsSeconds == other.timeAsSeconds && Round.isSame(value, other.value) + } + + override fun hashCode(): Int { + var result = timeAsSeconds + result = 31 * result + value.hashCode() + return result + } + } + + companion object { + + } +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt similarity index 96% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt index 8a669ca254..7ab5ecebf6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Pump.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.pump -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType @@ -13,7 +12,7 @@ import org.json.JSONObject /** * This interface defines the communication from AAPS-core to pump drivers. - * Pump drivers communicate data changes back to AAPS-core using [info.nightscout.androidaps.interfaces.PumpSync]. + * Pump drivers communicate data changes back to AAPS-core using [info.nightscout.interfaces.pump.PumpSync]. * * Created by mike on 04.06.2016. */ @@ -202,7 +201,7 @@ interface Pump { /** * Pump model * - * If new model is covered by driver, model and it's capabilities must be added to [info.nightscout.androidaps.plugins.pump.common.defs.PumpType] + * If new model is covered by driver, model and it's capabilities must be added to [info.nightscout.interfaces.pump.defs.PumpType] * * @return PumpType */ @@ -258,7 +257,7 @@ interface Pump { /** * Executes a custom queued command - * See [CommandQueue.customCommand] for queuing a custom command. + * See [info.nightscout.interfaces.queue.CustomCommand] for queuing a custom command. * * @param customCommand the custom command to be executed * @return PumpEnactResult that represents the command execution result diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpSync.kt similarity index 96% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpSync.kt index 4d5d7907a3..a0b5b23c36 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpSync.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpSync.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.pump -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpType /** @@ -268,7 +268,7 @@ interface PumpSync { * if db record already has endPumpId assigned by [syncStopTemporaryBasalWithPumpId] other updates * are ignored * - * see [info.nightscout.androidaps.database.transactions.SyncPumpTemporaryBasalTransaction] + * see [info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransaction] * * @param timestamp timestamp of event from pump history * @param rate TBR rate in U/h or % (value of 100% is equal to no TBR) @@ -298,7 +298,7 @@ interface PumpSync { * endPumpId is stored to running record * If db record doesn't exist data is ignored and false returned * - * see [info.nightscout.androidaps.database.transactions.SyncPumpCancelTemporaryBasalIfAnyTransaction] + * see [info.nightscout.database.impl.transactions.SyncPumpCancelTemporaryBasalIfAnyTransaction] * * @param timestamp timestamp of event from pump history * @param endPumpId pump id of ending event from history @@ -332,7 +332,7 @@ interface PumpSync { * @param pumpSerial pump serial number * @return true if new record is created * - * see [info.nightscout.androidaps.database.transactions.InsertTemporaryBasalWithTempIdTransaction] + * see [info.nightscout.database.impl.transactions.InsertTemporaryBasalWithTempIdTransaction] **/ fun addTemporaryBasalWithTempId(timestamp: Long, rate: Double, duration: Long, isAbsolute: Boolean, tempId: Long, type: TemporaryBasalType, pumpType: PumpType, pumpSerial: String): Boolean @@ -424,7 +424,7 @@ interface PumpSync { * If db record doesn't exist, new record is created. * isValid field is preserved * - * see [info.nightscout.androidaps.database.transactions.SyncPumpExtendedBolusTransaction] + * see [info.nightscout.database.impl.transactions.SyncPumpExtendedBolusTransaction] * * @param timestamp timestamp of event from pump history * @param amount EB total amount in U @@ -452,7 +452,7 @@ interface PumpSync { * endPumpId is stored to running record * If db record doesn't exist data is ignored and false returned * - * see [info.nightscout.androidaps.database.transactions.SyncPumpCancelExtendedBolusIfAnyTransaction] + * see [info.nightscout.database.impl.transactions.SyncPumpCancelExtendedBolusIfAnyTransaction] * * @param timestamp timestamp of event from pump history * @param endPumpId pump id of ending event from history @@ -477,7 +477,7 @@ interface PumpSync { * isValid field is preserved * If db record doesn't exist, new record is created. * - * see [info.nightscout.androidaps.database.transactions.SyncPumpTotalDailyDoseTransaction] + * see [info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction] * * @param timestamp timestamp of event from pump history * @param bolusAmount bolus part diff --git a/interfaces/src/main/java/info/nightscout/interfaces/utils/HardLimits.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/HardLimits.kt new file mode 100644 index 0000000000..b957d08f9d --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/HardLimits.kt @@ -0,0 +1,47 @@ +package info.nightscout.interfaces.utils + +interface HardLimits { + companion object { + + // Very Hard Limits Ranges + // First value is the Lowest and second value is the Highest a Limit can define + val VERY_HARD_LIMIT_MIN_BG = doubleArrayOf(80.0, 180.0) + val VERY_HARD_LIMIT_MAX_BG = doubleArrayOf(90.0, 200.0) + val VERY_HARD_LIMIT_TARGET_BG = doubleArrayOf(80.0, 200.0) + + // Very Hard Limits Ranges for Temp Targets + val VERY_HARD_LIMIT_TEMP_MIN_BG = intArrayOf(72, 180) + val VERY_HARD_LIMIT_TEMP_MAX_BG = intArrayOf(72, 270) + val VERY_HARD_LIMIT_TEMP_TARGET_BG = intArrayOf(72, 200) + val MIN_DIA = doubleArrayOf(5.0, 5.0, 5.0, 5.0, 5.0) + val MAX_DIA = doubleArrayOf(9.0, 9.0, 9.0, 9.0, 10.0) + val MIN_IC = doubleArrayOf(2.0, 2.0, 2.0, 2.0, 0.3) + val MAX_IC = doubleArrayOf(100.0, 100.0, 100.0, 100.0, 100.0) + const val MIN_ISF = 2.0 // mgdl + const val MAX_ISF = 1000.0 // mgdl + val MAX_IOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0, 25.0) + val MAX_IOB_SMB = doubleArrayOf(7.0, 13.0, 22.0, 30.0, 70.0) + val MAX_BASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0, 25.0) + + //LGS Hard limits + //No IOB at all + const val MAX_IOB_LGS = 0.0 + } + + fun maxBolus(): Double + fun maxIobAMA(): Double + fun maxIobSMB(): Double + fun maxBasal(): Double + fun minDia(): Double + fun maxDia(): Double + fun minIC(): Double + fun maxIC(): Double + + // safety checks + fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean + + fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean + + fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double + +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index d63acfd0d6..3313a5ed2b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.configBuilder import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R @@ -10,6 +9,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index bad815109a..6d2cbc2b51 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -22,16 +22,17 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index cfc929c823..a3fa051a41 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.iob.round +import info.nightscout.core.profile.milliSecFromMidnight import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.ExtendedBolus @@ -17,6 +17,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.iob.Iob import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile @@ -248,7 +249,7 @@ open class AutotuneIob @Inject constructor( getCalculationToTimeTreatments(time, localInsulin).round() // Add specific calculation for Autotune (reference localInsulin for Peak/dia) - fun Bolus.iobCalc(time: Long, localInsulin: LocalInsulin): Iob { + private fun Bolus.iobCalc(time: Long, localInsulin: LocalInsulin): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() return localInsulin.iobCalcForTreatment(this, time) } diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index ef577a1e64..aa2a88d82d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -3,11 +3,10 @@ package info.nightscout.plugins.general.autotune import android.view.View import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit @@ -17,6 +16,7 @@ import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index bd24b36cf0..e31f73f07f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -3,16 +3,18 @@ package info.nightscout.plugins.general.autotune.data import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockValueBySeconds +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.main.R import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.data.Block import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index edb9100927..dff5adfdac 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -19,9 +19,7 @@ import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -31,6 +29,9 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round +import info.nightscout.core.profile.toCurrentUnits +import info.nightscout.core.profile.toMgdl +import info.nightscout.core.profile.toUnitsString import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action @@ -49,7 +50,9 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.smsCommunicator.Sms import info.nightscout.interfaces.smsCommunicator.SmsCommunicator diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index b8b441de59..df31c42eb1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -8,14 +8,15 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index 059169e2e1..cf35817824 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 5300a7e885..144e744760 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -3,7 +3,6 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config @@ -13,6 +12,7 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index 903d6143ab..8712ed9b70 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -4,9 +4,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index fdbd18f2db..d2d7cb4cba 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index 740d21eae6..d2c9cf1dbf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index cd17c2fd8d..b4ad2ce3f8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -12,19 +12,20 @@ import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.plugins.databinding.ProfileFragmentBinding import info.nightscout.plugins.ui.TimeListEdit diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 1a2ad4d0a2..18fb8a515c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -9,17 +9,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockFromJsonArray +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.core.profile.toMgdl import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit @@ -27,9 +26,11 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 3048694003..b69576ffed 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -11,19 +11,19 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index 3650f605e4..ef7ca96b17 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -4,10 +4,10 @@ import android.os.Build import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.iob.json import info.nightscout.database.entities.DeviceStatus +import info.nightscout.interfaces.pump.Pump import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt index d4f0702c3b..a425516909 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.GlucoseUnit diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt index 72803e5e17..d114bfa013 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt index 03efb14c17..d6742dd030 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.fromConstant +import info.nightscout.androidaps.extensions.getCustomizedName +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.extensions.fromConstant -import info.nightscout.androidaps.utils.extensions.getCustomizedName -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.interfaces.utils.JsonHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt index 25e6c352d3..e9e36b708c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.sync.nsclient.extensions import info.nightscout.androidaps.extensions.convertedToAbsolute -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.TemporaryBasal.Type.Companion.fromString import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt index 6034f4d930..32c2139919 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt @@ -1,9 +1,11 @@ package info.nightscout.plugins.sync.nsclient.extensions -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt index 28c5db62d5..372819492d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.plugins.sync.nsclient.extensions.fromConstant diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt index 2be54849db..4e4f6d5279 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.fromConstant +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.extensions.fromConstant -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt index b8788db10f..0f4fba4d62 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt @@ -2,8 +2,8 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.extensions.convertedToAbsolute -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt index 8ff50b4757..f5b71fe307 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt @@ -1,8 +1,9 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.sync.nsclient.extensions.toMainUnit import info.nightscout.shared.utils.DateUtil import java.util.LinkedList diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt index 5bb9a5b151..1cbd5196d6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt @@ -2,8 +2,8 @@ package info.nightscout.plugins.sync.tidepool.elements import com.google.gson.annotations.Expose import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.interfaces.profile.Profile import info.nightscout.plugins.sync.tidepool.comm.TidepoolUploader import info.nightscout.shared.utils.DateUtil import java.util.UUID diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c02f09ecf8..7f76f71a53 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,10 +4,10 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7829779b22..7262510558 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index 04ea3c601f..24733b6d1a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 712a324645..5de54b5ab1 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -3,11 +3,11 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index b637b05f7b..e152836e10 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -4,9 +4,9 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index 19821a2fc5..e2dae7c718 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index 7ca00cd442..adb34b1a60 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.HardLimits import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index d2a3b94414..52e32bf728 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -5,9 +5,9 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 8fdc98efea..4ab39258e2 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -25,11 +25,8 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpPluginBase; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI; @@ -50,8 +47,11 @@ import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 4aaafda1e6..1ed35f96cf 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index f407361604..0b742be32b 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -18,7 +18,6 @@ import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -26,6 +25,7 @@ import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.pump.Dana +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt index 81965fc034..5a437bab4a 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaPump.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.dana import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index c4d9a8dc29..934178aacf 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -18,11 +18,12 @@ import info.nightscout.androidaps.dana.databinding.DanarHistoryItemBinding import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.toUnitsString import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.AapsSchedulers diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 01315c2b72..a21705c778 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,14 +3,14 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 0de5d14033..96648a6732 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -15,13 +15,13 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.PumpSync.TemporaryBasalType import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index ca98c27fb0..c0f4e68047 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -41,14 +41,14 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index dd79780492..628e54b924 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -20,14 +20,14 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index d7311d4bd5..5c6a6736b3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -53,15 +53,15 @@ import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.Pump; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.profile.Profile; +import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.ui.ActivityNames; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 655e5573a4..85a25603e3 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -16,10 +16,7 @@ import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpPluginBase; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.DecimalFormatter; @@ -27,8 +24,11 @@ import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.Dana; +import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.utils.Round; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index dc03bb6aa0..537681ceff 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -19,12 +19,12 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index 0475485fe9..5b06a7e2d7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -9,17 +9,17 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageOriginalNames.getName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.CRC.getCrc16 -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.joda.time.DateTime import org.joda.time.IllegalInstantException import java.nio.charset.StandardCharsets diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index e318218720..acd88f4884 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -42,13 +42,13 @@ import info.nightscout.androidaps.danar.comm.MsgPCCommStop; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index f31c154d06..f5b84790e2 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -47,14 +47,14 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c166eb31dc..2449a74ece 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,10 +4,10 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 687981b742..188b00af02 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index 987c8c2c19..455e2589f3 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -8,10 +8,10 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index 1965551c0c..4161765c37 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -12,15 +12,15 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.ConfigBuilder import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Before import org.mockito.ArgumentMatchers import org.mockito.Mock diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index 62af1423b6..bbfcd78acb 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -8,10 +8,10 @@ import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index 9d2ea27f0a..b96a51caf8 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -8,12 +8,12 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 4a11212c12..579497f341 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -18,11 +18,8 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage @@ -34,9 +31,12 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt index f844000096..6303fad958 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -4,16 +4,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus 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 org.joda.time.DateTime import org.joda.time.DateTimeZone import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt index 528c1cfb31..29d8427ad6 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSet24CIRCFArray.kt @@ -3,8 +3,9 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption +import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.Profile +import info.nightscout.interfaces.profile.Profile import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt index 027955337d..4c47477fb2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketHistory.kt @@ -5,11 +5,11 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.dana.database.DanaHistoryRecord import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.T import org.joda.time.DateTime import java.util.Calendar import java.util.GregorianCalendar diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt index eee8ba10ae..5cbf132187 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyAlarm.kt @@ -4,12 +4,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class DanaRSPacketNotifyAlarm( diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 42ebdf60d6..1f0d5a758b 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -33,18 +33,18 @@ import info.nightscout.androidaps.danars.events.EventDanaRSPairingSuccess import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import java.util.UUID import java.util.concurrent.ScheduledFuture import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 3f7679c154..d27da919f8 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -60,15 +60,15 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 2d798bb73f..38b8ac51a5 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -3,14 +3,14 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index f8ecf62623..ee4ba8dac1 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -4,12 +4,12 @@ import android.content.Context import dagger.android.AndroidInjector import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt index 4c0b6c4dd0..52d2787c96 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt @@ -5,13 +5,14 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert import org.junit.Test import org.mockito.Mock -import java.util.* +import java.util.Calendar +import java.util.GregorianCalendar class DanaRsPacketApsHistoryEventsTest : DanaRSTestBase() { diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt index 9def3f4307..b701360855 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyAlarmTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyAlarmTest.kt index fabe947464..34829cddaa 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyAlarmTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyAlarmTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danars.comm import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt index 176520b296..1b93481e28 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 6f68542f21..1f6627d1c1 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -16,9 +16,9 @@ import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index e81abac241..e92abc56aa 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -16,11 +16,8 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage @@ -32,9 +29,12 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt index b4a5b8a923..bd82ee2759 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Pump.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.diaconn -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.rx.events.EventOverviewBolusProgress -import info.nightscout.shared.utils.DateUtil import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton import kotlin.math.max diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index b3ccc3a82a..58002742cd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.diaconn.packet import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.api.ApiResponse @@ -40,18 +39,19 @@ import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_START_V3 import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_STOP_V3 import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.pump.defs.PumpDescription -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.shared.utils.T import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag +import info.nightscout.shared.extensions.safeGetPackageInfo +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.T import org.apache.commons.lang3.time.DateUtils import org.joda.time.DateTime import retrofit2.Call diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index a459bdeb53..41aed8c4f7 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -50,16 +50,16 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index b512cc0884..81e5b51e58 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -5,10 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -21,8 +18,11 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index ae422e51c9..c1d60ca9f0 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -4,7 +4,6 @@ import android.content.Context import android.content.Intent import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus @@ -23,6 +22,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index c9b870d70a..66540edcd1 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -8,14 +8,10 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.shared.interfaces.ResourceHelper; -import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; @@ -45,13 +41,17 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; -import info.nightscout.shared.utils.DateUtil; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventCustomActionsChanged; import info.nightscout.rx.events.EventRefreshOverview; import info.nightscout.rx.logging.AAPSLogger; +import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.shared.sharedPreferences.SP; +import info.nightscout.shared.utils.DateUtil; import io.reactivex.rxjava3.core.Maybe; import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Single; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index 2a50545bbb..5b23fea22b 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -33,9 +33,6 @@ import javax.crypto.KeyAgreement; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.interfaces.pump.DetailedBolusInfo; -import info.nightscout.androidaps.interfaces.PumpSync; -import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ActivateTask; @@ -93,6 +90,9 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; +import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java index 8bf552accb..a1c3c8c3c7 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java @@ -8,13 +8,13 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetInternalSuspendTime; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchInternalSuspendTimeResponse; -import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java index 90cde768ca..cd8893019e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java @@ -10,7 +10,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; @@ -18,9 +17,10 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalPause; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; -import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java index 6ef8cab40f..083f7fc636 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java @@ -8,14 +8,14 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; -import info.nightscout.interfaces.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; +import info.nightscout.interfaces.pump.PumpSync; +import info.nightscout.interfaces.queue.Callback; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 26e8d27b61..15b1308e95 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -4,9 +4,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager @@ -18,11 +15,14 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.UIEvent import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable import java.util.Calendar diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/vo/NormalBasalManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/vo/NormalBasalManager.kt index fe85271de9..4cab76e286 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/vo/NormalBasalManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/vo/NormalBasalManager.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.pump.eopatch.vo -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.pump.eopatch.CommonUtils import info.nightscout.androidaps.plugins.pump.eopatch.GsonHelper -import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys import info.nightscout.androidaps.plugins.pump.eopatch.code.BasalStatus +import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.subjects.BehaviorSubject diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index f747d48f85..8e830eaa84 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -12,7 +12,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -29,6 +28,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index ccafc41165..2788116016 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -10,10 +10,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus @@ -56,8 +52,12 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.PumpSync.TemporaryBasalType import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index eb034fb824..d00bd435a7 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -3,11 +3,8 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data import com.google.gson.Gson import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryTBR @@ -31,6 +28,9 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index 914b874bd9..3392cc7a7e 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -3,13 +3,13 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.TestAapsSchedulers diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 72074e1868..e6096d5ea9 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -11,11 +11,8 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil @@ -54,8 +51,11 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt index 3e2f28ed39..7ccd408b1b 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/data/Record.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.Profile sealed class Record diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/database/Converters.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/database/Converters.kt index 5f90d9b7c8..7c984afab4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/database/Converters.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/history/database/Converters.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database import androidx.room.TypeConverter import com.google.gson.GsonBuilder -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.BolusType import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.InitialResult import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.ResolvedResult +import info.nightscout.interfaces.profile.Profile class Converters { diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index d3223f513e..420f7abc04 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -4,7 +4,6 @@ import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel @@ -22,6 +21,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt index 59c5f28119..f601c63c51 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/Functions.kt @@ -1,9 +1,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.util -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram -import java.util.* +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.defs.PumpType import kotlin.math.roundToInt fun mapProfileToBasalProgram(profile: Profile): BasalProgram { diff --git a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/FunctionsTest.kt b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/FunctionsTest.kt index 03dfebdbe0..1cd65f2d52 100644 --- a/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/FunctionsTest.kt +++ b/pump/omnipod-dash/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/util/FunctionsTest.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.util -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Profile.ProfileValue import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.BasalProgram +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.Profile.ProfileValue import org.junit.Assert import org.junit.Assert.assertEquals import org.junit.Test diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index c74d233ee9..10a1741c82 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -38,11 +38,8 @@ import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.Pump; import info.nightscout.androidaps.interfaces.PumpPluginBase; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; @@ -92,8 +89,11 @@ import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index a5adbaa938..bfd2576754 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -16,8 +16,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.PumpEnactResultImpl; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.androidaps.interfaces.PumpSync; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; @@ -69,8 +67,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.pump.core.utils.ByteUtil; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java index 1d6f816f83..9c6a6170cc 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodHistoryActivity.java @@ -23,10 +23,7 @@ import java.util.List; import javax.inject.Inject; import info.nightscout.androidaps.activities.NoSplashAppCompatActivity; -import info.nightscout.androidaps.interfaces.Profile; -import info.nightscout.shared.interfaces.ResourceHelper; import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup; -import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; import info.nightscout.androidaps.plugins.pump.common.utils.ProfileUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.R; @@ -34,8 +31,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.definition.PodHistor import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.ErosHistory; import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryRecordEntity; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; +import info.nightscout.interfaces.profile.Profile; +import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; +import info.nightscout.shared.interfaces.ResourceHelper; public class ErosPodHistoryActivity extends NoSplashAppCompatActivity { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index f45c47b3f3..9361ab1fcd 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -6,11 +6,11 @@ import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.TestAapsSchedulers diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/AapsOmnipodErosManagerTest.java b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/AapsOmnipodErosManagerTest.java index 487c24861c..0083504166 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/AapsOmnipodErosManagerTest.java +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/driver/communication/AapsOmnipodErosManagerTest.java @@ -10,10 +10,10 @@ import org.junit.Test; import java.util.List; -import info.nightscout.androidaps.interfaces.Profile; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalSchedule; import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.schedule.BasalScheduleEntry; import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager; +import info.nightscout.interfaces.profile.Profile; public class AapsOmnipodErosManagerTest { diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index bbe9267e45..25a7421f11 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -13,11 +13,7 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump import info.nightscout.androidaps.interfaces.PumpPluginBase -import info.nightscout.androidaps.interfaces.PumpSync -import info.nightscout.androidaps.interfaces.PumpSync.TemporaryBasalType import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs @@ -26,8 +22,12 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.plugin.PluginDescription +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.PumpSync.TemporaryBasalType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt index e18c7070f6..aec51092f8 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/PumpCommonModule.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.plugins.pump.common.di import dagger.Module import dagger.Provides -import info.nightscout.androidaps.interfaces.PumpSync import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP import javax.inject.Singleton diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt index 5212bd1567..fd720626b5 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpDbEntry.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.sync import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType // data class PumpDbEntry constructor(var temporaryId: Long, diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt index c6adc55e4d..cac90a3158 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/sync/PumpSyncStorage.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.common.sync import com.thoughtworks.xstream.XStream import com.thoughtworks.xstream.security.AnyTypePermission import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt index 5dbb5bef04..b4a1a14a7e 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/utils/ProfileUtil.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.plugins.pump.common.utils -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Profile.ProfileValue +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.Profile.ProfileValue import info.nightscout.interfaces.pump.defs.PumpType -import java.util.* +import java.util.Locale object ProfileUtil { diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 878f8187f3..9ec3f45056 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -17,21 +17,21 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData +import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.extensions.getCustomizedName import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt index 1fd363c373..30015a6999 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfile.kt @@ -1,8 +1,10 @@ package info.nightscout.ui.defaultProfile -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.fromMmolToUnits import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round import info.nightscout.shared.utils.DateUtil @@ -157,13 +159,13 @@ class DefaultProfile @Inject constructor(val dateUtil: DateUtil) { private fun singleValueArrayFromMmolToUnits(value: Double, sample: Array, units: GlucoseUnit): JSONArray { val array = JSONArray() - array.put(JSONObject().put("time", "00:00").put("value", Profile.fromMmolToUnits(value + sample[0],units)).put("timeAsSeconds", 0 * 3600)) - array.put(JSONObject().put("time", "06:00").put("value", Profile.fromMmolToUnits(value + sample[1],units)).put("timeAsSeconds", 6 * 3600)) - array.put(JSONObject().put("time", "09:00").put("value", Profile.fromMmolToUnits(value + sample[2],units)).put("timeAsSeconds", 9 * 3600)) - array.put(JSONObject().put("time", "11:00").put("value", Profile.fromMmolToUnits(value + sample[3],units)).put("timeAsSeconds", 11 * 3600)) - array.put(JSONObject().put("time", "14:00").put("value", Profile.fromMmolToUnits(value + sample[4],units)).put("timeAsSeconds", 14 * 3600)) - array.put(JSONObject().put("time", "16:00").put("value", Profile.fromMmolToUnits(value + sample[5],units)).put("timeAsSeconds", 16 * 3600)) - array.put(JSONObject().put("time", "19:00").put("value", Profile.fromMmolToUnits(value + sample[6],units)).put("timeAsSeconds", 19 * 3600)) + array.put(JSONObject().put("time", "00:00").put("value", Profile.fromMmolToUnits(value + sample[0], units)).put("timeAsSeconds", 0 * 3600)) + array.put(JSONObject().put("time", "06:00").put("value", Profile.fromMmolToUnits(value + sample[1], units)).put("timeAsSeconds", 6 * 3600)) + array.put(JSONObject().put("time", "09:00").put("value", Profile.fromMmolToUnits(value + sample[2], units)).put("timeAsSeconds", 9 * 3600)) + array.put(JSONObject().put("time", "11:00").put("value", Profile.fromMmolToUnits(value + sample[3], units)).put("timeAsSeconds", 11 * 3600)) + array.put(JSONObject().put("time", "14:00").put("value", Profile.fromMmolToUnits(value + sample[4], units)).put("timeAsSeconds", 14 * 3600)) + array.put(JSONObject().put("time", "16:00").put("value", Profile.fromMmolToUnits(value + sample[5], units)).put("timeAsSeconds", 16 * 3600)) + array.put(JSONObject().put("time", "19:00").put("value", Profile.fromMmolToUnits(value + sample[6], units)).put("timeAsSeconds", 19 * 3600)) return array } } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt index 9d0f0ea1fb..df77b8c459 100644 --- a/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt +++ b/ui/src/main/java/info/nightscout/ui/defaultProfile/DefaultProfileDPV.kt @@ -1,9 +1,11 @@ package info.nightscout.ui.defaultProfile import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson +import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.fromMmolToUnits import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.PureProfile import info.nightscout.shared.utils.DateUtil import org.json.JSONArray diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index dc9e12f41f..527641deb5 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -7,16 +7,18 @@ import android.view.ViewGroup import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.ui.R diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 891af79f93..dab7c3eaf6 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -23,6 +22,7 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS +import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources @@ -33,6 +33,7 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index a64eccf599..5454e2cae3 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -10,21 +10,23 @@ import android.view.ViewGroup import androidx.annotation.StringRes import com.google.common.base.Joiner import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Translator import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index 93734121ab..24a9471216 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -9,10 +9,12 @@ import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.core.profile.toUnits +import info.nightscout.core.profile.toUnitsString import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.profile.Profile import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.R diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 32ecd1c3c1..aff7ef8b8a 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -20,16 +20,19 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Profile import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.core.profile.toSignedUnitsString +import info.nightscout.core.profile.toTargetRangeString +import info.nightscout.core.profile.toUnits import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.VariableSensitivityResult +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c02f09ecf8..7f76f71a53 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,10 +4,10 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.extensions.pureProfileFromJson import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7829779b22..7262510558 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -2,11 +2,11 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultImpl -import info.nightscout.androidaps.interfaces.Profile -import info.nightscout.androidaps.interfaces.Pump -import info.nightscout.androidaps.interfaces.PumpSync +import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType From 4aa128896af0c04746d31707977a15a37ba08ce6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 10 Nov 2022 20:37:02 +0100 Subject: [PATCH 050/123] fix tests --- .../nightscout/androidaps/HardLimitsMock.kt | 84 +++++++++++++++++++ .../interfaces/ConstraintsCheckerTest.kt | 4 +- .../constraints/safety/SafetyPluginTest.kt | 4 +- .../nightscout/androidaps/HardLimitsMock.kt | 84 +++++++++++++++++++ .../androidaps/TestBaseWithProfile.kt | 7 +- .../nightscout/androidaps/data/ProfileTest.kt | 6 +- 6 files changed, 181 insertions(+), 8 deletions(-) create mode 100644 app/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt create mode 100644 core/core-main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt diff --git a/app/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt b/app/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt new file mode 100644 index 0000000000..db6fc5800a --- /dev/null +++ b/app/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt @@ -0,0 +1,84 @@ +package info.nightscout.androidaps + +import info.nightscout.core.main.R +import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject +import kotlin.math.max +import kotlin.math.min + +class HardLimitsMock @Inject constructor( + private val sp: SP, + private val rh: ResourceHelper +) : HardLimits { + + companion object { + + private const val CHILD = 0 + private const val TEENAGE = 1 + private const val ADULT = 2 + private const val RESISTANT_ADULT = 3 + private const val PREGNANT = 4 + private val MAX_BOLUS = doubleArrayOf(5.0, 10.0, 17.0, 25.0, 60.0) + + // Very Hard Limits Ranges + // First value is the Lowest and second value is the Highest a Limit can define + val VERY_HARD_LIMIT_MIN_BG = doubleArrayOf(80.0, 180.0) + val VERY_HARD_LIMIT_MAX_BG = doubleArrayOf(90.0, 200.0) + val VERY_HARD_LIMIT_TARGET_BG = doubleArrayOf(80.0, 200.0) + + // Very Hard Limits Ranges for Temp Targets + val VERY_HARD_LIMIT_TEMP_MIN_BG = intArrayOf(72, 180) + val VERY_HARD_LIMIT_TEMP_MAX_BG = intArrayOf(72, 270) + val VERY_HARD_LIMIT_TEMP_TARGET_BG = intArrayOf(72, 200) + val MIN_DIA = doubleArrayOf(5.0, 5.0, 5.0, 5.0, 5.0) + val MAX_DIA = doubleArrayOf(9.0, 9.0, 9.0, 9.0, 10.0) + val MIN_IC = doubleArrayOf(2.0, 2.0, 2.0, 2.0, 0.3) + val MAX_IC = doubleArrayOf(100.0, 100.0, 100.0, 100.0, 100.0) + const val MIN_ISF = 2.0 // mgdl + const val MAX_ISF = 1000.0 // mgdl + val MAX_IOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0, 25.0) + val MAX_IOB_SMB = doubleArrayOf(7.0, 13.0, 22.0, 30.0, 70.0) + val MAX_BASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0, 25.0) + + //LGS Hard limits + //No IOB at all + const val MAX_IOB_LGS = 0.0 + + } + + private fun loadAge(): Int = when (sp.getString(R.string.key_age, "")) { + rh.gs(R.string.key_child) -> CHILD + rh.gs(R.string.key_teenage) -> TEENAGE + rh.gs(R.string.key_adult) -> ADULT + rh.gs(R.string.key_resistantadult) -> RESISTANT_ADULT + rh.gs(R.string.key_pregnant) -> PREGNANT + else -> ADULT + } + + override fun maxBolus(): Double = MAX_BOLUS[loadAge()] + override fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] + override fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] + override fun maxBasal(): Double = MAX_BASAL[loadAge()] + override fun minDia(): Double = MIN_DIA[loadAge()] + override fun maxDia(): Double = MAX_DIA[loadAge()] + override fun minIC(): Double = MIN_IC[loadAge()] + override fun maxIC(): Double = MAX_IC[loadAge()] + + // safety checks + override fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = + value == verifyHardLimits(value, valueName, lowLimit, highLimit) + + override fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = + value in lowLimit..highLimit + + override fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { + var newValue = value + if (newValue < lowLimit || newValue > highLimit) { + newValue = max(newValue, lowLimit) + newValue = min(newValue, highLimit) + } + return newValue + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 0c80960576..6899bf5912 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.interfaces import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump @@ -64,8 +65,8 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { @Mock lateinit var insightDatabaseDao: InsightDatabaseDao @Mock lateinit var ruffyScripter: RuffyScripter @Mock lateinit var buildHelper: BuildHelper - @Mock lateinit var hardLimits: HardLimits + private lateinit var hardLimits: HardLimits private lateinit var danaPump: DanaPump private lateinit var insightDbHelper: InsightDbHelper private lateinit var constraintChecker: ConstraintsImpl @@ -130,6 +131,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { val glucoseStatusProvider = GlucoseStatusProvider(aapsLogger = aapsLogger, iobCobCalculator = iobCobCalculator, dateUtil = dateUtil) + hardLimits = HardLimitsMock(sp, rh) insightDbHelper = InsightDbHelper(insightDatabaseDao) danaPump = DanaPump(aapsLogger, sp, dateUtil, injector) objectivesPlugin = ObjectivesPlugin(injector, aapsLogger, rh, activePlugin, sp, config) diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index d8b4cc425e..c06d39f562 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.safety import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.interfaces.ActivePlugin @@ -38,8 +39,8 @@ class SafetyPluginTest : TestBaseWithProfile() { @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var glimpPlugin: GlimpPlugin @Mock lateinit var repository: AppRepository - @Mock lateinit var hardLimits: HardLimits + private lateinit var hardLimits: HardLimits private lateinit var safetyPlugin: SafetyPlugin val injector = HasAndroidInjector { AndroidInjector { } } @@ -70,6 +71,7 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(activePlugin.activePump).thenReturn(virtualPumpPlugin) `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) `when`(config.APS).thenReturn(true) + hardLimits = HardLimitsMock(sp, rh) safetyPlugin = SafetyPlugin( injector, aapsLogger, rh, sp, rxBus, constraintChecker, openAPSAMAPlugin, openAPSSMBPlugin, openAPSSMBDynamicISFPlugin, sensitivityOref1Plugin, activePlugin, hardLimits, buildHelper, diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt b/core/core-main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt new file mode 100644 index 0000000000..db6fc5800a --- /dev/null +++ b/core/core-main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt @@ -0,0 +1,84 @@ +package info.nightscout.androidaps + +import info.nightscout.core.main.R +import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject +import kotlin.math.max +import kotlin.math.min + +class HardLimitsMock @Inject constructor( + private val sp: SP, + private val rh: ResourceHelper +) : HardLimits { + + companion object { + + private const val CHILD = 0 + private const val TEENAGE = 1 + private const val ADULT = 2 + private const val RESISTANT_ADULT = 3 + private const val PREGNANT = 4 + private val MAX_BOLUS = doubleArrayOf(5.0, 10.0, 17.0, 25.0, 60.0) + + // Very Hard Limits Ranges + // First value is the Lowest and second value is the Highest a Limit can define + val VERY_HARD_LIMIT_MIN_BG = doubleArrayOf(80.0, 180.0) + val VERY_HARD_LIMIT_MAX_BG = doubleArrayOf(90.0, 200.0) + val VERY_HARD_LIMIT_TARGET_BG = doubleArrayOf(80.0, 200.0) + + // Very Hard Limits Ranges for Temp Targets + val VERY_HARD_LIMIT_TEMP_MIN_BG = intArrayOf(72, 180) + val VERY_HARD_LIMIT_TEMP_MAX_BG = intArrayOf(72, 270) + val VERY_HARD_LIMIT_TEMP_TARGET_BG = intArrayOf(72, 200) + val MIN_DIA = doubleArrayOf(5.0, 5.0, 5.0, 5.0, 5.0) + val MAX_DIA = doubleArrayOf(9.0, 9.0, 9.0, 9.0, 10.0) + val MIN_IC = doubleArrayOf(2.0, 2.0, 2.0, 2.0, 0.3) + val MAX_IC = doubleArrayOf(100.0, 100.0, 100.0, 100.0, 100.0) + const val MIN_ISF = 2.0 // mgdl + const val MAX_ISF = 1000.0 // mgdl + val MAX_IOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0, 25.0) + val MAX_IOB_SMB = doubleArrayOf(7.0, 13.0, 22.0, 30.0, 70.0) + val MAX_BASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0, 25.0) + + //LGS Hard limits + //No IOB at all + const val MAX_IOB_LGS = 0.0 + + } + + private fun loadAge(): Int = when (sp.getString(R.string.key_age, "")) { + rh.gs(R.string.key_child) -> CHILD + rh.gs(R.string.key_teenage) -> TEENAGE + rh.gs(R.string.key_adult) -> ADULT + rh.gs(R.string.key_resistantadult) -> RESISTANT_ADULT + rh.gs(R.string.key_pregnant) -> PREGNANT + else -> ADULT + } + + override fun maxBolus(): Double = MAX_BOLUS[loadAge()] + override fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] + override fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] + override fun maxBasal(): Double = MAX_BASAL[loadAge()] + override fun minDia(): Double = MIN_DIA[loadAge()] + override fun maxDia(): Double = MAX_DIA[loadAge()] + override fun minIC(): Double = MIN_IC[loadAge()] + override fun maxIC(): Double = MAX_IC[loadAge()] + + // safety checks + override fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = + value == verifyHardLimits(value, valueName, lowLimit, highLimit) + + override fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = + value in lowLimit..highLimit + + override fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { + var newValue = value + if (newValue < lowLimit || newValue > highLimit) { + newValue = max(newValue, lowLimit) + newValue = min(newValue, highLimit) + } + return newValue + } +} \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index ce9a00c156..7fba26ef5a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -21,7 +21,7 @@ import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import org.junit.Before import org.mockito.Mock -import org.mockito.Mockito +import org.mockito.Mockito.`when` @Suppress("SpellCheckingInspection") open class TestBaseWithProfile : TestBase() { @@ -35,8 +35,8 @@ open class TestBaseWithProfile : TestBase() { @Mock lateinit var sp: SP @Mock lateinit var context: Context @Mock lateinit var repository: AppRepository - @Mock lateinit var hardLimits: HardLimits + private lateinit var hardLimits: HardLimits lateinit var testPumpPlugin: TestPumpPlugin val rxBus = RxBus(aapsSchedulers, aapsLogger) @@ -70,7 +70,8 @@ open class TestBaseWithProfile : TestBase() { "\"target_high\":[{\"time\":\"00:00\",\"value\":\"7\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" validProfile = ProfileSealed.Pure(pureProfileFromJson(JSONObject(validProfileJSON), dateUtil)!!) testPumpPlugin = TestPumpPlugin(profileInjector) - Mockito.`when`(activePluginProvider.activePump).thenReturn(testPumpPlugin) + `when`(activePluginProvider.activePump).thenReturn(testPumpPlugin) + hardLimits = HardLimitsMock(sp, rh) } fun getValidProfileStore(): ProfileStore { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index ef5d3a8899..36dceb7c76 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.data import android.content.Context import dagger.android.AndroidInjector +import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.extensions.pureProfileFromJson @@ -13,7 +14,6 @@ import info.nightscout.core.profile.toMmol import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits import info.nightscout.core.profile.toUnitsString -import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile @@ -43,9 +43,8 @@ class ProfileTest : TestBase() { @Mock lateinit var context: Context @Mock lateinit var config: Config @Mock lateinit var sp: SP - @Mock lateinit var repository: AppRepository - @Mock lateinit var hardLimits: HardLimits + private lateinit var hardLimits: HardLimits private lateinit var rxBus: RxBus private lateinit var dateUtil: DateUtil private lateinit var testPumpPlugin: TestPumpPlugin @@ -70,6 +69,7 @@ class ProfileTest : TestBase() { testPumpPlugin = TestPumpPlugin { AndroidInjector { } } dateUtil = DateUtil(context) rxBus = RxBus(TestAapsSchedulers(), aapsLogger) + hardLimits = HardLimitsMock(sp, rh) `when`(activePluginProvider.activePump).thenReturn(testPumpPlugin) `when`(rh.gs(R.string.profile_per_unit)).thenReturn("/U") `when`(rh.gs(R.string.profile_carbs_per_unit)).thenReturn("g/U") From 9d14db71c7dd9d47a6c0205307432ba97b7778e7 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 08:31:19 +0100 Subject: [PATCH 051/123] Eopatch: fix pairing --- .../pump/eopatch/ble/PatchManager.java | 135 +++++++++--------- .../pump/eopatch/ble/PatchManagerImpl.java | 8 -- .../pump/eopatch/ui/EopatchActivity.kt | 1 - 3 files changed, 69 insertions(+), 75 deletions(-) diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index cd6cc4e48f..d481472611 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -82,40 +82,41 @@ public class PatchManager implements IPatchManager { private Disposable mConnectingDisposable = null; @Inject - public PatchManager() {} + public PatchManager() { + } @Inject void onInit() { patchScanner = new PatchScanner(context); mCompositeDisposable.add(observePatchConnectionState() - .subscribe(bleConnectionState -> { - switch (bleConnectionState) { - case DISCONNECTED: - rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTED)); - rxBus.send(new EventRefreshOverview("Eopatch connection state: " + bleConnectionState.name(), true)); - rxBus.send(new EventCustomActionsChanged()); - stopObservingConnection(); - break; + .subscribe(bleConnectionState -> { + switch (bleConnectionState) { + case DISCONNECTED: + rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTED)); + rxBus.send(new EventRefreshOverview("Eopatch connection state: " + bleConnectionState.name(), true)); + rxBus.send(new EventCustomActionsChanged()); + stopObservingConnection(); + break; - case CONNECTED: - rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTED)); - rxBus.send(new EventRefreshOverview("Eopatch connection state: " + bleConnectionState.name(), true)); - rxBus.send(new EventCustomActionsChanged()); - stopObservingConnection(); - break; + case CONNECTED: + rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTED)); + rxBus.send(new EventRefreshOverview("Eopatch connection state: " + bleConnectionState.name(), true)); + rxBus.send(new EventCustomActionsChanged()); + stopObservingConnection(); + break; - case CONNECTING: - mConnectingDisposable = Observable.interval(0, 1, TimeUnit.SECONDS) - .observeOn(aapsSchedulers.getMain()) - .takeUntil(n -> getPatchConnectionState().isConnected() || n > 10 * 60) - .subscribe(n -> rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTING, n.intValue()))); - break; + case CONNECTING: + mConnectingDisposable = Observable.interval(0, 1, TimeUnit.SECONDS) + .observeOn(aapsSchedulers.getMain()) + .takeUntil(n -> getPatchConnectionState().isConnected() || n > 10 * 60) + .subscribe(n -> rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTING, n.intValue()))); + break; - default: - stopObservingConnection(); - } - }) + default: + stopObservingConnection(); + } + }) ); mCompositeDisposable.add(rxBus .toObservable(EventPatchActivationNotComplete.class) @@ -137,8 +138,8 @@ public class PatchManager implements IPatchManager { setConnection(); } - private void stopObservingConnection(){ - if(mConnectingDisposable != null) { + private void stopObservingConnection() { + if (mConnectingDisposable != null) { mConnectingDisposable.dispose(); mConnectingDisposable = null; } @@ -216,7 +217,7 @@ public class PatchManager implements IPatchManager { @Override public void setConnection() { - if(pm.getPatchConfig().hasMacAddress()){ + if (pm.getPatchConfig().hasMacAddress()) { patchManager.updateMacAddress(pm.getPatchConfig().getMacAddress(), false); } } @@ -256,24 +257,26 @@ public class PatchManager implements IPatchManager { public Single patchActivation(long timeout) { return patchManager.patchActivation(timeout) .doOnSuccess(success -> { -// if (success) { -// pumpSync.insertTherapyEventIfNewWithTimestamp( -// getPatchConfig().getPatchWakeupTimestamp(), -// DetailedBolusInfo.EventType.CANNULA_CHANGE, -// null, -// null, -// PumpType.EOFLOW_EOPATCH2, -// getPatchConfig().getPatchSerialNumber() -// ); -// pumpSync.insertTherapyEventIfNewWithTimestamp( -// getPatchConfig().getPatchWakeupTimestamp(), -// DetailedBolusInfo.EventType.INSULIN_CHANGE, -// null, -// null, -// PumpType.EOFLOW_EOPATCH2, -// getPatchConfig().getPatchSerialNumber() -// ); -// } + if (success) { + pumpSync.connectNewPump(true); + Thread.sleep(1000); + pumpSync.insertTherapyEventIfNewWithTimestamp( + System.currentTimeMillis(), + DetailedBolusInfo.EventType.CANNULA_CHANGE, + null, + null, + PumpType.EOFLOW_EOPATCH2, + getPatchConfig().getPatchSerialNumber() + ); + pumpSync.insertTherapyEventIfNewWithTimestamp( + System.currentTimeMillis(), + DetailedBolusInfo.EventType.INSULIN_CHANGE, + null, + null, + PumpType.EOFLOW_EOPATCH2, + getPatchConfig().getPatchSerialNumber() + ); + } }); } @@ -328,7 +331,7 @@ public class PatchManager implements IPatchManager { } - public Single stopComboBolus(){ + public Single stopComboBolus() { return patchManager.stopComboBolus(); } @@ -363,7 +366,7 @@ public class PatchManager implements IPatchManager { public void addBolusToHistory(DetailedBolusInfo originalDetailedBolusInfo) { DetailedBolusInfo detailedBolusInfo = originalDetailedBolusInfo.copy(); - if(detailedBolusInfo.insulin > 0) { + if (detailedBolusInfo.insulin > 0) { pumpSync.syncBolusWithPumpId( detailedBolusInfo.timestamp, detailedBolusInfo.insulin, @@ -387,7 +390,7 @@ public class PatchManager implements IPatchManager { @Override public void changeBuzzerSetting() { boolean buzzer = sp.getBoolean(SettingKeys.Companion.getBUZZER_REMINDERS(), false); - if(pm.getPatchConfig().getInfoReminder() != buzzer) { + if (pm.getPatchConfig().getInfoReminder() != buzzer) { if (isActivated()) { mCompositeDisposable.add(infoReminderSet(buzzer) .observeOn(aapsSchedulers.getMain()) @@ -407,23 +410,23 @@ public class PatchManager implements IPatchManager { int doseUnit = sp.getInt(SettingKeys.Companion.getLOW_RESERVOIR_REMINDERS(), 0); int hours = sp.getInt(SettingKeys.Companion.getEXPIRATION_REMINDERS(), 0); PatchConfig pc = pm.getPatchConfig(); - if(pc.getLowReservoirAlertAmount() != doseUnit || pc.getPatchExpireAlertTime() != hours) { + if (pc.getLowReservoirAlertAmount() != doseUnit || pc.getPatchExpireAlertTime() != hours) { if (isActivated()) { mCompositeDisposable.add(setLowReservoir(doseUnit, hours) - .observeOn(aapsSchedulers.getMain()) - .doOnSubscribe(disposable -> { - if(pc.getPatchExpireAlertTime() != hours){ - Maybe.just(AlarmCode.B000) - .flatMap(alarmCode -> alarmRegistry.remove(alarmCode)) - .flatMap(alarmCode -> alarmRegistry.add(alarmCode, (pc.getExpireTimestamp() - System.currentTimeMillis() - TimeUnit.HOURS.toMillis(hours)), false)) - .subscribe(); - } - }) - .subscribe(patchBooleanResponse -> { - pc.setLowReservoirAlertAmount(doseUnit); - pc.setPatchExpireAlertTime(hours); - pm.flushPatchConfig(); - })); + .observeOn(aapsSchedulers.getMain()) + .doOnSubscribe(disposable -> { + if (pc.getPatchExpireAlertTime() != hours) { + Maybe.just(AlarmCode.B000) + .flatMap(alarmCode -> alarmRegistry.remove(alarmCode)) + .flatMap(alarmCode -> alarmRegistry.add(alarmCode, (pc.getExpireTimestamp() - System.currentTimeMillis() - TimeUnit.HOURS.toMillis(hours)), false)) + .subscribe(); + } + }) + .subscribe(patchBooleanResponse -> { + pc.setLowReservoirAlertAmount(doseUnit); + pc.setPatchExpireAlertTime(hours); + pm.flushPatchConfig(); + })); } else { pc.setLowReservoirAlertAmount(doseUnit); pc.setPatchExpireAlertTime(hours); @@ -433,8 +436,8 @@ public class PatchManager implements IPatchManager { } @Override - public void checkActivationProcess(){ - if(getPatchConfig().getLifecycleEvent().isSubStepRunning() + public void checkActivationProcess() { + if (getPatchConfig().getLifecycleEvent().isSubStepRunning() && !pm.getAlarms().isOccurring(AlarmCode.A005) && !pm.getAlarms().isOccurring(AlarmCode.A020)) { rxAction.runOnMainThread(() -> rxBus.send(new EventPatchActivationNotComplete())); diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java index ce1f5bf130..4f305dc66a 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManagerImpl.java @@ -382,14 +382,6 @@ public class PatchManagerImpl { if (success) { TaskBase.enqueue(TaskFunc.LOW_RESERVOIR); TaskBase.enqueue(TaskFunc.INFO_REMINDER); - pumpSync.connectNewPump(true); - pumpSync.insertTherapyEventIfNewWithTimestamp( - System.currentTimeMillis(), - DetailedBolusInfo.EventType.INSULIN_CHANGE, - null, - null, - PumpType.EOFLOW_EOPATCH2, - null); } }); } diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt index d700a87a82..9c80b230f4 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt @@ -278,7 +278,6 @@ class EopatchActivity : EoBaseActivity() { this@EopatchActivity.finish() } start() - return } } From 18204d06b99c46a373fbf956a7bcaa706eda0ad5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 09:04:37 +0100 Subject: [PATCH 052/123] ProfileHelperActivity -> ui --- app/src/main/AndroidManifest.xml | 5 ----- .../info/nightscout/androidaps/MainActivity.kt | 2 +- .../androidaps/di/ActivitiesModule.kt | 2 -- app/src/main/res/values/strings.xml | 15 --------------- ui/src/main/AndroidManifest.xml | 4 ++++ .../ui}/activities/ProfileHelperActivity.kt | 15 +++++++-------- .../main/java/info/nightscout/ui/di/UiModule.kt | 2 ++ .../main/res/layout/activity_profilehelper.xml | 2 +- ui/src/main/res/values/strings.xml | 17 +++++++++++++++++ 9 files changed, 32 insertions(+), 32 deletions(-) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/activities/ProfileHelperActivity.kt (97%) rename {app => ui}/src/main/res/layout/activity_profilehelper.xml (99%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2ee878e272..f774245935 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -86,11 +86,6 @@ android:name=".activities.HistoryBrowseActivity" android:exported="false" android:theme="@style/AppTheme" /> - - Deliver this part of bolus wizard result [%] Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. Increasing max basal value because setting is lower than your max basal in profile - Selected: Units wizard_calculation_visible wizard_correction_percent @@ -545,7 +544,6 @@ wear_showbgi Lower value of in range area (display only) Higher value of in range area (display only) - Invalid % entry Random BG Generate random BG data (Demo mode only) BG @@ -576,17 +574,6 @@ Large display skin Skin - Compare profiles - Profile helper - Default profile - Current profile - Available profile - Profile type - Age: %1$.0f TDD: %2$.0f U - Age: %1$.0f TDD: %2$.0f U %3$d%% - Age: %1$.0f Weight: %2$.0f kg - % of basal - DPV Default profile RileyLink status: Unable to create profile. Profile is invalid. Don\'t kill my app? @@ -662,8 +649,6 @@ Sort Loop status Graph scale - Profile 1 - Profile 2 open settings set carb timer alarm All diff --git a/ui/src/main/AndroidManifest.xml b/ui/src/main/AndroidManifest.xml index 655b7388cb..1f5c3c5f46 100644 --- a/ui/src/main/AndroidManifest.xml +++ b/ui/src/main/AndroidManifest.xml @@ -47,6 +47,10 @@ android:name="info.nightscout.ui.activities.TreatmentsActivity" android:exported="false" android:theme="@style/AppTheme" /> + diff --git a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt rename to ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index 29bfbb5acb..fa47e2b9ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.activities +package info.nightscout.ui.activities import android.annotation.SuppressLint import android.os.Bundle @@ -8,9 +8,8 @@ import android.widget.ArrayAdapter import android.widget.TextView import com.google.android.material.tabs.TabLayout import com.google.common.collect.Lists -import info.nightscout.androidaps.R +import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction @@ -21,12 +20,13 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.profile.PureProfile -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T +import info.nightscout.ui.R +import info.nightscout.ui.databinding.ActivityProfilehelperBinding import info.nightscout.ui.defaultProfile.DefaultProfile import info.nightscout.ui.defaultProfile.DefaultProfileDPV import io.reactivex.rxjava3.core.Single @@ -41,7 +41,6 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var defaultProfile: DefaultProfile @Inject lateinit var defaultProfileDPV: DefaultProfileDPV - @Inject lateinit var profilePlugin: ProfilePlugin @Inject lateinit var dateUtil: DateUtil @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var repository: AppRepository @@ -135,8 +134,8 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { else defaultProfileDPV.profile(age, tdd, pct / 100.0, profileFunction.getUnits()) profile?.let { OKDialog.showConfirmation(this, rh.gs(R.string.careportal_profileswitch), rh.gs(R.string.copytolocalprofile), Runnable { - profilePlugin.addProfile( - profilePlugin.copyFrom( + activePlugin.activeProfileSource.addProfile( + activePlugin.activeProfileSource.copyFrom( it, "DefaultProfile " + dateUtil.dateAndTimeAndSecondsString(dateUtil.now()) .replace(".", "/") @@ -315,4 +314,4 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { super.onPause() disposable.clear() } -} +} \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index c7c43c22ba..ae386942e8 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -4,6 +4,7 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity +import info.nightscout.ui.activities.ProfileHelperActivity import info.nightscout.ui.activities.StatsActivity import info.nightscout.ui.activities.SurveyActivity import info.nightscout.ui.activities.TDDStatsActivity @@ -35,6 +36,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesStatsActivity(): StatsActivity @ContributesAndroidInjector abstract fun contributesSurveyActivity(): SurveyActivity @ContributesAndroidInjector abstract fun contributesTreatmentsActivity(): TreatmentsActivity + @ContributesAndroidInjector abstract fun contributesProfileHelperActivityActivity(): ProfileHelperActivity @ContributesAndroidInjector abstract fun contributesTreatmentsBolusFragment(): TreatmentsBolusCarbsFragment @ContributesAndroidInjector abstract fun contributesTreatmentsTemporaryBasalsFragment(): TreatmentsTemporaryBasalsFragment diff --git a/app/src/main/res/layout/activity_profilehelper.xml b/ui/src/main/res/layout/activity_profilehelper.xml similarity index 99% rename from app/src/main/res/layout/activity_profilehelper.xml rename to ui/src/main/res/layout/activity_profilehelper.xml index c5749de48f..8f2094ebdc 100644 --- a/app/src/main/res/layout/activity_profilehelper.xml +++ b/ui/src/main/res/layout/activity_profilehelper.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".activities.ProfileHelperActivity"> + tools:context="info.nightscout.ui.activities.ProfileHelperActivity"> Show loop records Hide loop records + + Profile 1 + Profile 2 + Profile type + % of basal + Selected: + Compare profiles + Profile helper + Default profile + Current profile + Available profile + Age: %1$.0f TDD: %2$.0f U + Age: %1$.0f TDD: %2$.0f U %3$d%% + Age: %1$.0f Weight: %2$.0f kg + DPV Default profile + Invalid % entry + From 2758bd02a12819814d4da3058308ce65f015aadb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Nov 2022 08:06:45 +0000 Subject: [PATCH 053/123] chore(deps): bump activity-ktx from 1.4.0 to 1.6.1 Bumps activity-ktx from 1.4.0 to 1.6.1. --- updated-dependencies: - dependency-name: androidx.activity:activity-ktx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8d47930c26..a60887f821 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { lifecycle_version = '2.5.1' dagger_version = '2.44' coroutines_version = '1.6.4' - activity_version = '1.4.0' + activity_version = '1.6.1' fragmentktx_version = '1.5.4' ormLite_version = '4.46' gson_version = '2.10' From e4ccc78a7d96a87e26c3742ebd5ed719ab353aa5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 09:38:36 +0100 Subject: [PATCH 054/123] ProfileViewerDialog -> ui --- .../implementations/ActivityNamesImpl.kt | 16 ++++- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 4 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../general/overview/OverviewFragment.kt | 14 ++--- .../PersistentNotificationPlugin.kt | 2 +- .../androidaps/di/CoreFragmentsModule.kt | 3 - .../core-main/src/main/res/values/strings.xml | 4 +- .../nightscout/interfaces/ui/ActivityNames.kt | 8 +++ .../general/autotune/AutotuneFragment.kt | 37 ++++++------ .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 +- .../androidaps/dana/DanaFragment.kt | 19 +++--- .../ui/activities/ProfileHelperActivity.kt | 5 +- .../ui/activities/SurveyActivity.kt | 22 ++++--- .../TreatmentsProfileSwitchFragment.kt | 7 ++- .../java/info/nightscout/ui/di/UiModule.kt | 2 + .../ui}/dialogs/ProfileViewerDialog.kt | 58 +++++++++---------- .../main/res/layout/dialog_profileviewer.xml | 16 ++--- 19 files changed, 121 insertions(+), 110 deletions(-) rename {core/core-main/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/ProfileViewerDialog.kt (88%) rename {core/core-main => ui}/src/main/res/layout/dialog_profileviewer.xml (97%) diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 307ab4bf13..c5e52dbf43 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -14,6 +14,7 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity import info.nightscout.ui.activities.TDDStatsActivity +import info.nightscout.ui.dialogs.ProfileViewerDialog import javax.inject.Inject class ActivityNamesImpl @Inject constructor() : ActivityNames { @@ -24,7 +25,6 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { override val bolusProgressHelperActivity: Class<*> = BolusProgressHelperActivity::class.java override val singleFragmentActivity: Class<*> = SingleFragmentActivity::class.java - override fun runAlarm(ctx: Context, status: String, title: String, @RawRes soundId: Int) { val i = Intent(ctx, errorHelperActivity) i.putExtra(AlarmSoundService.SOUND_ID, soundId) @@ -49,4 +49,18 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { .also { it.arguments = Bundle().also { bundle -> bundle.putString("profileName", profileName) } } .show(fragmentManager, "ProfileSwitchDialog") } + + override fun runProfileViewerDialog(fragmentManager: FragmentManager, time: Long, mode: ActivityNames.Mode, customProfile: String?, customProfilename: String?, customProfile2: String?) { + ProfileViewerDialog() + .also { + it.arguments = Bundle().also { bundle -> + bundle.putLong("time", time) + bundle.putInt("mode", mode.ordinal) + bundle.putString("customProfile", customProfile) + bundle.putString("customProfileName", customProfilename) + bundle.putString("customProfile2", customProfile2) + } + } + .show(fragmentManager, "ProfileSwitchDialog") + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 4edc518e93..9de27b1751 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -237,8 +237,8 @@ class LoopPlugin @Inject constructor( if (!isEnabled(PluginType.LOOP)) return val profile = profileFunction.getProfile() if (profile == null || !profileFunction.isProfileValid("Loop")) { - aapsLogger.debug(LTag.APS, rh.gs(R.string.noprofileset)) - rxBus.send(EventLoopSetLastRunGui(rh.gs(R.string.noprofileset))) + aapsLogger.debug(LTag.APS, rh.gs(R.string.no_profile_set)) + rxBus.send(EventLoopSetLastRunGui(rh.gs(R.string.no_profile_set))) return } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 592c2fe9ed..b880fa7f5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -97,8 +97,8 @@ class OpenAPSAMAPlugin @Inject constructor( val profile = profileFunction.getProfile() val pump = activePlugin.activePump if (profile == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.noprofileset))) - aapsLogger.debug(LTag.APS, rh.gs(R.string.noprofileset)) + rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.no_profile_set))) + aapsLogger.debug(LTag.APS, rh.gs(R.string.no_profile_set)) return } if (!isEnabled()) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 784ef4cf24..483f22b3b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -106,8 +106,8 @@ class OpenAPSSMBPlugin @Inject constructor( val profile = profileFunction.getProfile() val pump = activePlugin.activePump if (profile == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.noprofileset))) - aapsLogger.debug(LTag.APS, rh.gs(R.string.noprofileset)) + rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.no_profile_set))) + aapsLogger.debug(LTag.APS, rh.gs(R.string.no_profile_set)) return } if (!isEnabled()) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index a09d1bb413..c991199e57 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -73,7 +73,7 @@ class ProfileFunctionImpl @Inject constructor( getProfileName(System.currentTimeMillis(), customized = true, showRemainingTime = true) fun getProfileName(time: Long, customized: Boolean, showRemainingTime: Boolean): String { - var profileName = rh.gs(R.string.noprofileset) + var profileName = rh.gs(R.string.no_profile_set) val profileSwitch = repository.getEffectiveProfileSwitchActiveAt(time).blockingGet() if (profileSwitch is ValueWrapper.Existing) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index a5bbeba151..edbd00df16 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -33,7 +33,6 @@ import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.TreatmentDialog import info.nightscout.androidaps.dialogs.WizardDialog @@ -88,6 +87,7 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.general.overview.notifications.NotificationStore @@ -157,6 +157,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList @Inject lateinit var overviewData: OverviewData @Inject lateinit var automationPlugin: AutomationPlugin @Inject lateinit var bgQualityCheckPlugin: BgQualityCheckPlugin + @Inject lateinit var activityNames: ActivityNames private val disposable = CompositeDisposable() @@ -403,12 +404,11 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList UIRunnable { if (isAdded) TempTargetDialog().show(childFragmentManager, "Overview") }) R.id.active_profile -> { - ProfileViewerDialog().also { pvd -> - pvd.arguments = Bundle().also { - it.putLong("time", dateUtil.now()) - it.putInt("mode", ProfileViewerDialog.Mode.RUNNING_PROFILE.ordinal) - } - }.show(childFragmentManager, "ProfileViewDialog") + activityNames.runProfileViewerDialog( + childFragmentManager, + dateUtil.now(), + ActivityNames.Mode.RUNNING_PROFILE + ) } R.id.cgm_button -> { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 6e3e986393..36b7c7eb00 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -194,7 +194,7 @@ class PersistentNotificationPlugin @Inject constructor( unreadConversationBuilder.addMessage(line3aa) /// End Android Auto } else { - line1 = rh.gs(R.string.noprofileset) + line1 = rh.gs(R.string.no_profile_set) } val builder = NotificationCompat.Builder(context, notificationHolder.channelID) builder.setOngoing(true) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt index acdb351b18..cd37905343 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt @@ -4,7 +4,6 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.dialogs.ErrorDialog -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.plugins.general.maintenance.activities.PrefImportListActivity import info.nightscout.androidaps.utils.ui.SingleClickButton @@ -15,8 +14,6 @@ abstract class CoreFragmentsModule { @ContributesAndroidInjector abstract fun contributesPrefImportListActivity(): PrefImportListActivity @ContributesAndroidInjector abstract fun contributesBolusProgressDialog(): BolusProgressDialog @ContributesAndroidInjector abstract fun contributesErrorDialog(): ErrorDialog - @ContributesAndroidInjector abstract fun contributesProfileViewerDialog(): ProfileViewerDialog - @ContributesAndroidInjector abstract fun contributesSingleClickButton(): SingleClickButton } diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 8a6823005f..109022b62d 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -131,8 +131,8 @@ STOP PRESSED Stop Carbs - Invalid profile! - NO PROFILE SET + Invalid profile! + NO PROFILE SET ]]> Date Units diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index f1d53938f1..feac287d00 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -26,4 +26,12 @@ interface ActivityNames { fun runAlarm(ctx: Context, status: String, title: String, @RawRes soundId: Int = 0) fun runWizard(fragmentManager: FragmentManager, carbs: Int, name: String) fun runProfileSwitchDialog(fragmentManager: FragmentManager, profileName: String?) + + enum class Mode(val i: Int) { + RUNNING_PROFILE(1), + CUSTOM_PROFILE(2), + DB_PROFILE(3), + PROFILE_COMPARE(4) + } + fun runProfileViewerDialog(fragmentManager: FragmentManager, time: Long, mode: Mode, customProfile: String?= null, customProfileName: String? = null, customProfile2: String? = null) } \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 6d2cbc2b51..5a78aafbbe 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -20,7 +20,6 @@ import android.widget.TextView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -34,6 +33,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R @@ -72,6 +72,7 @@ class AutotuneFragment : DaggerFragment() { @Inject lateinit var rxBus: RxBus @Inject lateinit var injector: HasAndroidInjector @Inject lateinit var aapsSchedulers: AapsSchedulers + @Inject lateinit var activityNames: ActivityNames private var disposable: CompositeDisposable = CompositeDisposable() private var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) @@ -200,15 +201,13 @@ class AutotuneFragment : DaggerFragment() { } } pumpProfile?.let { - ProfileViewerDialog().also { pvd -> - pvd.arguments = Bundle().also { - it.putLong("time", dateUtil.now()) - it.putInt("mode", ProfileViewerDialog.Mode.CUSTOM_PROFILE.ordinal) - it.putString("customProfile", pumpProfile.profile.toPureNsJson(dateUtil).toString()) - it.putString("customProfileUnits", profileFunction.getUnits().asText) - it.putString("customProfileName", pumpProfile.profilename) - } - }.show(childFragmentManager, "ProfileViewDialog") + activityNames.runProfileViewerDialog( + fragmentManager = childFragmentManager, + time = dateUtil.now(), + mode = ActivityNames.Mode.CUSTOM_PROFILE, + customProfile = pumpProfile.profile.toPureNsJson(dateUtil).toString(), + customProfileName = pumpProfile.profilename + ) } } @@ -216,16 +215,14 @@ class AutotuneFragment : DaggerFragment() { val pumpProfile = autotunePlugin.pumpProfile val circadian = sp.getBoolean(R.string.key_autotune_circadian_ic_isf, false) val tunedProfile = if (circadian) autotunePlugin.tunedProfile?.circadianProfile else autotunePlugin.tunedProfile?.profile - ProfileViewerDialog().also { pvd -> - pvd.arguments = Bundle().also { - it.putLong("time", dateUtil.now()) - it.putInt("mode", ProfileViewerDialog.Mode.PROFILE_COMPARE.ordinal) - it.putString("customProfile", pumpProfile.profile.toPureNsJson(dateUtil).toString()) - it.putString("customProfile2", tunedProfile?.toPureNsJson(dateUtil).toString()) - it.putString("customProfileUnits", profileFunction.getUnits().asText) - it.putString("customProfileName", pumpProfile.profilename + "\n" + rh.gs(R.string.autotune_tunedprofile_name)) - } - }.show(childFragmentManager, "ProfileViewDialog") + activityNames.runProfileViewerDialog( + fragmentManager = childFragmentManager, + time = dateUtil.now(), + mode = ActivityNames.Mode.PROFILE_COMPARE, + customProfile = pumpProfile.profile.toPureNsJson(dateUtil).toString(), + customProfileName = pumpProfile.profilename + "\n" + rh.gs(R.string.autotune_tunedprofile_name), + customProfile2 = tunedProfile?.toPureNsJson(dateUtil).toString() + ) } binding.autotuneProfileswitch.setOnClickListener { diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index dff5adfdac..9f4119edd7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -620,7 +620,7 @@ class SmsCommunicatorPlugin @Inject constructor( if (divided[1].uppercase(Locale.getDefault()) == "STATUS") { sendSMS(Sms(receivedSms.phoneNumber, profileName)) } else if (divided[1].uppercase(Locale.getDefault()) == "LIST") { - if (list.isEmpty()) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.invalidprofile))) + if (list.isEmpty()) sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.invalid_profile))) else { var reply = "" for (i in list.indices) { @@ -655,7 +655,7 @@ class SmsCommunicatorPlugin @Inject constructor( ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.sms_profile_switch_created)) ) } else { - sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.invalidprofile))) + sendSMS(Sms(receivedSms.phoneNumber, rh.gs(R.string.invalid_profile))) } } }) diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 0b742be32b..2007faee04 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.dana.activities.DanaHistoryActivity import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -98,15 +97,13 @@ class DanaFragment : DaggerFragment() { ?: return@setOnClickListener val profileName = danaPump.createConvertedProfile()?.getDefaultProfileName() ?: return@setOnClickListener - ProfileViewerDialog().also { pvd -> - pvd.arguments = Bundle().also { args -> - args.putLong("time", dateUtil.now()) - args.putInt("mode", ProfileViewerDialog.Mode.CUSTOM_PROFILE.ordinal) - args.putString("customProfile", profile.toString()) - args.putString("customProfileName", profileName) - } - - }.show(childFragmentManager, "ProfileViewDialog") + activityNames.runProfileViewerDialog( + fragmentManager = childFragmentManager, + time = dateUtil.now(), + mode = ActivityNames.Mode.CUSTOM_PROFILE, + customProfile = profile.toString(), + customProfileName = profileName + ) } binding.stats.setOnClickListener { startActivity(Intent(context, activityNames.tddStatsActivity)) } binding.userOptions.setOnClickListener { startActivity(Intent(context, DanaUserOptionsActivity::class.java)) } @@ -160,8 +157,10 @@ class DanaFragment : DaggerFragment() { pumpStatusIcon = when (it.status) { EventPumpStatusChanged.Status.CONNECTING -> "{fa-bluetooth-b spin} ${it.secondsElapsed}s" + EventPumpStatusChanged.Status.CONNECTED -> "{fa-bluetooth}" + EventPumpStatusChanged.Status.DISCONNECTED -> "{fa-bluetooth-b}" diff --git a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index fa47e2b9ff..5a4706c8d6 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -10,7 +10,6 @@ import com.google.android.material.tabs.TabLayout import com.google.common.collect.Lists import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator @@ -20,6 +19,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.profile.PureProfile +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.shared.extensions.toVisibility @@ -29,6 +29,7 @@ import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityProfilehelperBinding import info.nightscout.ui.defaultProfile.DefaultProfile import info.nightscout.ui.defaultProfile.DefaultProfileDPV +import info.nightscout.ui.dialogs.ProfileViewerDialog import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -215,7 +216,7 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { ProfileViewerDialog().also { pvd -> pvd.arguments = Bundle().also { it.putLong("time", dateUtil.now()) - it.putInt("mode", ProfileViewerDialog.Mode.PROFILE_COMPARE.ordinal) + it.putInt("mode", ActivityNames.Mode.PROFILE_COMPARE.ordinal) it.putString("customProfile", profile0.jsonObject.toString()) it.putString("customProfile2", profile1.jsonObject.toString()) it.putString( diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index 73d40f1253..9aa6565f74 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -3,11 +3,10 @@ package info.nightscout.ui.activities import android.os.Bundle import android.widget.ArrayAdapter import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.SafeParse import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.R @@ -18,10 +17,10 @@ import javax.inject.Inject class SurveyActivity : NoSplashAppCompatActivity() { @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var tddCalculator: TddCalculator @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var defaultProfile: DefaultProfile @Inject lateinit var dateUtil: DateUtil + @Inject lateinit var activityNames: ActivityNames private lateinit var binding: ActivitySurveyBinding @@ -54,15 +53,14 @@ class SurveyActivity : NoSplashAppCompatActivity() { } profileFunction.getProfile()?.let { runningProfile -> defaultProfile.profile(age, tdd, weight, profileFunction.getUnits())?.let { profile -> - ProfileViewerDialog().also { pvd -> - pvd.arguments = Bundle().also { - it.putLong("time", dateUtil.now()) - it.putInt("mode", ProfileViewerDialog.Mode.PROFILE_COMPARE.ordinal) - it.putString("customProfile", runningProfile.toPureNsJson(dateUtil).toString()) - it.putString("customProfile2", profile.jsonObject.toString()) - it.putString("customProfileName", "Age: $age TDD: $tdd Weight: $weight") - } - }.show(supportFragmentManager, "ProfileViewDialog") + activityNames.runProfileViewerDialog( + fragmentManager = supportFragmentManager, + time = dateUtil.now(), + mode = ActivityNames.Mode.PROFILE_COMPARE, + customProfile = runningProfile.toPureNsJson(dateUtil).toString(), + customProfileName = "Age: $age TDD: $tdd Weight: $weight", + customProfile2 = profile.jsonObject.toString() + ) } } } diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 9ec3f45056..7e1e142aea 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -17,7 +17,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.dialogs.ProfileViewerDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.getCustomizedName @@ -33,6 +32,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged @@ -49,6 +49,7 @@ import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsProfileSwitchFragment.RecyclerProfileViewAdapter.ProfileSwitchViewHolder import info.nightscout.ui.databinding.TreatmentsProfileswitchFragmentBinding import info.nightscout.ui.databinding.TreatmentsProfileswitchItemBinding +import info.nightscout.ui.dialogs.ProfileViewerDialog import io.reactivex.rxjava3.core.Completable import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -261,7 +262,7 @@ class TreatmentsProfileSwitchFragment : DaggerFragment(), MenuProvider { ProfileViewerDialog().also { pvd -> pvd.arguments = Bundle().also { args -> args.putLong("time", (it.tag as ProfileSealed).timestamp) - args.putInt("mode", ProfileViewerDialog.Mode.RUNNING_PROFILE.ordinal) + args.putInt("mode", ActivityNames.Mode.RUNNING_PROFILE.ordinal) } pvd.show(childFragmentManager, "ProfileViewDialog") } @@ -270,7 +271,7 @@ class TreatmentsProfileSwitchFragment : DaggerFragment(), MenuProvider { ProfileViewerDialog().also { pvd -> pvd.arguments = Bundle().also { args -> args.putLong("time", (it.tag as ProfileSealed).timestamp) - args.putInt("mode", ProfileViewerDialog.Mode.RUNNING_PROFILE.ordinal) + args.putInt("mode", ActivityNames.Mode.RUNNING_PROFILE.ordinal) } pvd.show(childFragmentManager, "ProfileViewDialog") } diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index ae386942e8..2d87682a8b 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -19,6 +19,7 @@ import info.nightscout.ui.activities.fragments.TreatmentsUserEntryFragment import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.ui.dialogs.CareDialog +import info.nightscout.ui.dialogs.ProfileViewerDialog import info.nightscout.ui.dialogs.WizardInfoDialog @Module @@ -29,6 +30,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesCarbsDialog(): CarbsDialog @ContributesAndroidInjector abstract fun contributesCareDialog(): CareDialog @ContributesAndroidInjector abstract fun contributesWizardInfoDialog(): WizardInfoDialog + @ContributesAndroidInjector abstract fun contributesProfileViewerDialog(): ProfileViewerDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt similarity index 88% rename from core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt index 4d41ee73af..e522261ef8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/ProfileViewerDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.os.Bundle import android.text.Spanned @@ -15,7 +15,6 @@ import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R -import info.nightscout.core.main.databinding.DialogProfileviewerBinding import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toUnitsString import info.nightscout.database.impl.AppRepository @@ -23,12 +22,14 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil +import info.nightscout.ui.databinding.DialogProfileviewerBinding import org.json.JSONObject import java.text.DecimalFormat import javax.inject.Inject @@ -47,14 +48,7 @@ class ProfileViewerDialog : DaggerDialogFragment() { private var time: Long = 0 - enum class Mode(val i: Int) { - RUNNING_PROFILE(1), - CUSTOM_PROFILE(2), - DB_PROFILE(3), - PROFILE_COMPARE(4) - } - - private var mode: Mode = Mode.RUNNING_PROFILE + private var mode: ActivityNames.Mode = ActivityNames.Mode.RUNNING_PROFILE private var customProfileJson: String = "" private var customProfileJson2: String = "" private var customProfileName: String = "" @@ -72,10 +66,10 @@ class ProfileViewerDialog : DaggerDialogFragment() { // load data from bundle (savedInstanceState ?: arguments)?.let { bundle -> time = bundle.getLong("time", 0) - mode = Mode.values()[bundle.getInt("mode", Mode.RUNNING_PROFILE.ordinal)] + mode = ActivityNames.Mode.values()[bundle.getInt("mode", ActivityNames.Mode.RUNNING_PROFILE.ordinal)] customProfileJson = bundle.getString("customProfile", "") customProfileName = bundle.getString("customProfileName", "") - if (mode == Mode.PROFILE_COMPARE) + if (mode == ActivityNames.Mode.PROFILE_COMPARE) customProfileJson2 = bundle.getString("customProfile2", "") } @@ -98,7 +92,7 @@ class ProfileViewerDialog : DaggerDialogFragment() { val profileName: String? val date: String? when (mode) { - Mode.RUNNING_PROFILE -> { + ActivityNames.Mode.RUNNING_PROFILE -> { val eps = repository.getEffectiveProfileSwitchActiveAt(time).blockingGet() if (eps !is ValueWrapper.Existing) { dismiss() @@ -108,45 +102,45 @@ class ProfileViewerDialog : DaggerDialogFragment() { profile2 = null profileName = eps.value.originalCustomizedName date = dateUtil.dateAndTimeString(eps.value.timestamp) - binding.datelayout.visibility = View.VISIBLE + binding.dateLayout.visibility = View.VISIBLE } - Mode.CUSTOM_PROFILE -> { + ActivityNames.Mode.CUSTOM_PROFILE -> { profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it) } profile2 = null profileName = customProfileName date = "" - binding.datelayout.visibility = View.GONE + binding.dateLayout.visibility = View.GONE } - Mode.PROFILE_COMPARE -> { + ActivityNames.Mode.PROFILE_COMPARE -> { profile = pureProfileFromJson(JSONObject(customProfileJson), dateUtil)?.let { ProfileSealed.Pure(it) } profile2 = pureProfileFromJson(JSONObject(customProfileJson2), dateUtil)?.let { ProfileSealed.Pure(it) } profileName = customProfileName binding.headerIcon.setImageResource(R.drawable.ic_compare_profiles) date = "" - binding.datelayout.visibility = View.GONE + binding.dateLayout.visibility = View.GONE } - Mode.DB_PROFILE -> { + ActivityNames.Mode.DB_PROFILE -> { //val profileList = databaseHelper.getProfileSwitchData(time, true) val profileList = repository.getAllProfileSwitches().blockingGet() profile = if (profileList.isNotEmpty()) ProfileSealed.PS(profileList[0]) else null profile2 = null profileName = if (profileList.isNotEmpty()) profileList[0].getCustomizedName() else null date = if (profileList.isNotEmpty()) dateUtil.dateAndTimeString(profileList[0].timestamp) else null - binding.datelayout.visibility = View.VISIBLE + binding.dateLayout.visibility = View.VISIBLE } } - binding.noprofile.visibility = View.VISIBLE + binding.noProfile.visibility = View.VISIBLE - if (mode == Mode.PROFILE_COMPARE) + if (mode == ActivityNames.Mode.PROFILE_COMPARE) profile?.let { profile1 -> profile2?.let { profile2 -> binding.units.text = profileFunction.getUnits().asText binding.dia.text = HtmlHelper.fromHtml(formatColors("", profile1.dia, profile2.dia, DecimalFormat("0.00"), rh.gs(R.string.shorthour))) val profileNames = profileName!!.split("\n").toTypedArray() - binding.activeprofile.text = HtmlHelper.fromHtml(formatColors(profileNames[0], profileNames[1])) + binding.activeProfile.text = HtmlHelper.fromHtml(formatColors(profileNames[0], profileNames[1])) binding.date.text = date binding.ic.text = ics(profile1, profile2) binding.isf.text = isfs(profile1, profile2) @@ -158,16 +152,16 @@ class ProfileViewerDialog : DaggerDialogFragment() { binding.targetGraph.show(profile1, profile2) } - binding.noprofile.visibility = View.GONE + binding.noProfile.visibility = View.GONE val validity = profile1.isValid("ProfileViewDialog", activePlugin.activePump, config, rh, rxBus, hardLimits, false) - binding.invalidprofile.text = rh.gs(R.string.invalidprofile) + "\n" + validity.reasons.joinToString(separator = "\n") - binding.invalidprofile.visibility = validity.isValid.not().toVisibility() + binding.invalidProfile.text = rh.gs(R.string.invalid_profile) + "\n" + validity.reasons.joinToString(separator = "\n") + binding.invalidProfile.visibility = validity.isValid.not().toVisibility() } else profile?.let { binding.units.text = it.units.asText binding.dia.text = rh.gs(R.string.format_hours, it.dia) - binding.activeprofile.text = profileName + binding.activeProfile.text = profileName binding.date.text = date binding.ic.text = it.getIcList(rh, dateUtil) binding.isf.text = it.getIsfList(rh, dateUtil) @@ -178,10 +172,10 @@ class ProfileViewerDialog : DaggerDialogFragment() { binding.icGraph.show(it) binding.targetGraph.show(it) - binding.noprofile.visibility = View.GONE + binding.noProfile.visibility = View.GONE val validity = it.isValid("ProfileViewDialog", activePlugin.activePump, config, rh, rxBus, hardLimits, false) - binding.invalidprofile.text = rh.gs(R.string.invalidprofile) + "\n" + validity.reasons.joinToString(separator = "\n") - binding.invalidprofile.visibility = validity.isValid.not().toVisibility() + binding.invalidProfile.text = rh.gs(R.string.invalid_profile) + "\n" + validity.reasons.joinToString(separator = "\n") + binding.invalidProfile.visibility = validity.isValid.not().toVisibility() } } @@ -196,7 +190,7 @@ class ProfileViewerDialog : DaggerDialogFragment() { bundle.putInt("mode", mode.ordinal) bundle.putString("customProfile", customProfileJson) bundle.putString("customProfileName", customProfileName) - if (mode == Mode.PROFILE_COMPARE) + if (mode == ActivityNames.Mode.PROFILE_COMPARE) bundle.putString("customProfile2", customProfileJson2) } @@ -323,4 +317,4 @@ class ProfileViewerDialog : DaggerDialogFragment() { } return HtmlHelper.fromHtml(s.delete(s.length - 4, s.length).toString()) } -} +} \ No newline at end of file diff --git a/core/core-main/src/main/res/layout/dialog_profileviewer.xml b/ui/src/main/res/layout/dialog_profileviewer.xml similarity index 97% rename from core/core-main/src/main/res/layout/dialog_profileviewer.xml rename to ui/src/main/res/layout/dialog_profileviewer.xml index 9443131400..8b16417c24 100644 --- a/core/core-main/src/main/res/layout/dialog_profileviewer.xml +++ b/ui/src/main/res/layout/dialog_profileviewer.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:focusableInTouchMode="true" - tools:context="info.nightscout.androidaps.dialogs.ProfileViewerDialog"> + tools:context=".dialogs.ProfileViewerDialog"> Date: Fri, 11 Nov 2022 09:43:07 +0100 Subject: [PATCH 055/123] rename --- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 24 +++--- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../interfaces/ConstraintsCheckerTest.kt | 4 +- .../automation/actions/ActionAlarm.kt | 4 +- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 6 +- .../automation/actions/ActionLoopResume.kt | 6 +- .../automation/actions/ActionLoopSuspend.kt | 6 +- .../automation/actions/ActionNotification.kt | 4 +- .../automation/actions/ActionProfileSwitch.kt | 12 +-- .../actions/ActionProfileSwitchPercent.kt | 6 +- .../automation/actions/ActionRunAutotune.kt | 6 +- .../automation/actions/ActionSendSMS.kt | 4 +- .../actions/ActionStartTempTarget.kt | 6 +- .../actions/ActionStopProcessing.kt | 4 +- .../actions/ActionStopTempTarget.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../automation/actions/ActionAlarmTest.kt | 4 +- .../actions/ActionNotificationTest.kt | 4 +- .../automation/actions/ActionsTestBase.kt | 4 +- ...ResultImpl.kt => PumpEnactResultObject.kt} | 26 +++---- .../androidaps/di/CoreDataClassesModule.kt | 4 +- .../androidaps/queue/commands/Command.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../androidaps/data/PumpEnactResultTest.kt | 54 ++++++------- .../queue/CommandQueueImplementation.kt | 20 ++--- .../queue/commands/CommandReadStatus.kt | 4 +- .../queue/commands/CommandSMBBolus.kt | 6 +- .../queue/commands/CommandSetProfile.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../queue/CommandQueueImplementationTest.kt | 4 +- .../pump/insight/LocalInsightPlugin.java | 26 +++---- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 18 ++--- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../SmsCommunicatorPluginTest.kt | 18 ++--- .../plugins/pump/combo/ComboPlugin.java | 64 +++++++-------- .../plugins/pump/combo/ComboPluginTest.kt | 4 +- .../danaRKorean/DanaRKoreanPlugin.kt | 22 +++--- .../androidaps/danaRv2/DanaRv2Plugin.java | 18 ++--- .../services/DanaRv2ExecutionService.java | 12 +-- .../androidaps/danar/AbstractDanaRPlugin.java | 10 +-- .../androidaps/danar/DanaRPlugin.java | 14 ++-- .../AbstractDanaRExecutionService.java | 4 +- .../danar/services/DanaRExecutionService.java | 6 +- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- .../androidaps/danars/DanaRSPlugin.kt | 30 +++---- .../danars/services/DanaRSService.kt | 10 +-- .../androidaps/diaconn/DiaconnG8Plugin.kt | 20 ++--- .../diaconn/service/DiaconnG8Service.kt | 8 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 54 ++++++------- .../pump/medtronic/MedtronicPumpPlugin.kt | 44 +++++------ .../common/viewmodel/ActionViewModelBase.kt | 4 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 42 +++++----- .../action/DashInitializePodViewModel.kt | 6 +- .../action/DashInsertCannulaViewModel.kt | 6 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 24 +++--- .../eros/manager/AapsOmnipodErosManager.java | 78 +++++++++---------- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 4 +- .../plugins/pump/common/PumpPluginAbstract.kt | 8 +- .../nightscout/androidaps/TestPumpPlugin.kt | 18 ++--- 60 files changed, 459 insertions(+), 459 deletions(-) rename core/core-main/src/main/java/info/nightscout/androidaps/data/{PumpEnactResultImpl.kt => PumpEnactResultObject.kt} (84%) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 9de27b1751..9c7785e6a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -382,7 +382,7 @@ class LoopPlugin @Inject constructor( if (resultAfterConstraints.isChangeRequested && !commandQueue.bolusInQueue() ) { - val waiting = PumpEnactResultImpl(injector) + val waiting = PumpEnactResultObject(injector) waiting.queued = true if (resultAfterConstraints.tempBasalRequested) lastRun.tbrSetByPump = waiting if (resultAfterConstraints.bolusRequested()) lastRun.smbSetByPump = waiting @@ -533,18 +533,18 @@ class LoopPlugin @Inject constructor( */ private fun applyTBRRequest(request: APSResult, profile: Profile, callback: Callback?) { if (!request.tempBasalRequested) { - callback?.result(PumpEnactResultImpl(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() + callback?.result(PumpEnactResultObject(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() return } val pump = activePlugin.activePump if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applyAPSRequest: $request") @@ -558,7 +558,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResultImpl(injector).absolute(request.rate).duration(0) + PumpEnactResultObject(injector).absolute(request.rate).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -571,7 +571,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResultImpl(injector).percent(request.percent).duration(0) + PumpEnactResultObject(injector).percent(request.percent).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -582,7 +582,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResultImpl(injector).percent(request.percent) + PumpEnactResultObject(injector).percent(request.percent) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -605,7 +605,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResultImpl(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) + PumpEnactResultObject(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -631,7 +631,7 @@ class LoopPlugin @Inject constructor( if (lastBolusTime != 0L && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { aapsLogger.debug(LTag.APS, "SMB requested but still in 3 min interval") callback?.result( - PumpEnactResultImpl(injector) + PumpEnactResultObject(injector) .comment(R.string.smb_frequency_exceeded) .enacted(false).success(false) )?.run() @@ -639,12 +639,12 @@ class LoopPlugin @Inject constructor( } if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResultImpl(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applySMBRequest: $request") diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7262510558..a9a3c5461e 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 6899bf5912..9869734697 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin @@ -86,7 +86,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { it.sp = sp it.dateUtil = dateUtil } - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 98932c95e4..6d7f399882 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -4,7 +4,7 @@ import android.content.Context import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.queue.Callback import info.nightscout.shared.utils.DateUtil import info.nightscout.interfaces.utils.JsonHelper @@ -41,7 +41,7 @@ class ActionAlarm(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { timerUtil.scheduleReminder(10, text.value.takeIf { it.isNotBlank() } ?: rh.gs(config.appName)) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 8109f0e2a6..26cdde49f1 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger @@ -41,7 +41,7 @@ class ActionLoopDisable(injector: HasAndroidInjector) : Action(injector) { } }) } else { - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadydisabled)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadydisabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 6b6c838f42..6f5a1488af 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -33,9 +33,9 @@ class ActionLoopEnable(injector: HasAndroidInjector) : Action(injector) { configBuilder.storeSettings("ActionLoopEnable") rxBus.send(EventRefreshOverview("ActionLoopEnable")) uel.log(UserEntry.Action.LOOP_ENABLED, Sources.Automation, title) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadyenabled)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadyenabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index 5e28a525f4..add84aeefa 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.androidaps.interfaces.Loop @@ -45,9 +45,9 @@ class ActionLoopResume(injector: HasAndroidInjector) : Action(injector) { }) rxBus.send(EventRefreshOverview("ActionLoopResume")) uel.log(UserEntry.Action.RESUME, Sources.Automation, title) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.notsuspended)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.notsuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index 3aed698e76..ed1fa27fed 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -40,9 +40,9 @@ class ActionLoopSuspend(injector: HasAndroidInjector) : Action(injector) { UserEntry.Action.SUSPEND, Sources.Automation, title + ": " + rh.gs(R.string.suspendloopforXmin, minutes.getMinutes()), ValueWithUnit.Minute(minutes.getMinutes()) ) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadysuspended)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadysuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index 3b08d91c72..61e1c7d758 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -39,7 +39,7 @@ class ActionNotification(injector: HasAndroidInjector) : Action(injector) { rxBus.send(EventNewNotification(notification)) disposable += repository.runTransaction(InsertTherapyEventAnnouncementTransaction(text.value)).subscribe() rxBus.send(EventRefreshOverview("ActionNotification")) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 9162401897..423bd64e30 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -39,23 +39,23 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { //Check for uninitialized profileName if (inputProfileName.value == "") { aapsLogger.error(LTag.AUTOMATION, "Selected profile not initialized") - callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() return } if (profileFunction.getProfile() == null) { aapsLogger.error(LTag.AUTOMATION, "ProfileFunctions not initialized") - callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.noprofile)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.noprofile)).run() return } if (inputProfileName.value == activeProfileName) { aapsLogger.debug(LTag.AUTOMATION, "Profile is already switched") - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.alreadyset)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadyset)).run() return } val profileStore = activePlugin.activeProfileSource.profile ?: return if (profileStore.getSpecificProfile(inputProfileName.value) == null) { aapsLogger.error(LTag.AUTOMATION, "Selected profile does not exist! - ${inputProfileName.value}") - callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.notexists)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.notexists)).run() return } uel.log( @@ -64,7 +64,7 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Percent(100) ) val result = profileFunction.createProfileSwitch(profileStore, inputProfileName.value, 0, 100, 0, dateUtil.now()) - callback.result(PumpEnactResultImpl(injector).success(result).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(result).comment(R.string.ok)).run() } override fun generateDialog(root: LinearLayout) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 32ebcde01c..39a2d789ac 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -50,10 +50,10 @@ class ActionProfileSwitchPercent(injector: HasAndroidInjector) : Action(injector ValueWithUnit.Percent(pct.value.toInt()), ValueWithUnit.Minute(duration.value) ) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } else { aapsLogger.error(LTag.AUTOMATION, "Final profile not valid") - callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.ok)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index f30ed453c9..99de417372 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.automation.R @@ -48,11 +48,11 @@ class ActionRunAutotune(injector: HasAndroidInjector) : Action(injector) { message = R.string.autotune_run_with_error aapsLogger.error(LTag.AUTOMATION, "Error during Autotune Run") } - callback.result(PumpEnactResultImpl(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() + callback.result(PumpEnactResultObject(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() } else { message = R.string.autotune_run_cancelled aapsLogger.debug(LTag.AUTOMATION, "Autotune run detected, Autotune Run Cancelled") - callback.result(PumpEnactResultImpl(injector).success(false).comment(message)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(message)).run() } }.start() return diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index 26450f611e..a0b584abdd 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -2,7 +2,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement @@ -25,7 +25,7 @@ class ActionSendSMS(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { val result = smsCommunicator.sendNotificationToAllNumbers(text.value) - callback.result(PumpEnactResultImpl(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() + callback.result(PumpEnactResultObject(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() } override fun isValid(): Boolean = text.value.isNotEmpty() diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index b901ae1f91..81b2db0d45 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction @@ -69,10 +69,10 @@ class ActionStartTempTarget(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Mgdl(tt().highTarget).takeIf { tt().lowTarget != tt().highTarget }, ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt().duration).toInt()) ) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - callback.result(PumpEnactResultImpl(injector).success(false).comment(R.string.error)).run() + callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.error)).run() }) } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt index ea95976bf7..7cbdcb341b 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import com.google.gson.JsonObject import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import org.json.JSONObject @@ -17,7 +17,7 @@ class ActionStopProcessing(injector: HasAndroidInjector) : Action(injector) { override fun isValid(): Boolean = true override fun doAction(callback: Callback) { - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index c2f8ef349a..eeb847b8ae 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.logging.UserEntryLogger @@ -35,7 +35,7 @@ class ActionStopTempTarget(injector: HasAndroidInjector) : Action(injector) { }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) }) - callback.result(PumpEnactResultImpl(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() } override fun isValid(): Boolean = true diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index f906d1b5ff..1dff8d299d 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile @@ -56,31 +56,31 @@ class TestPumpPlugin( override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl( + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject( injector ).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} override fun specialEnableCondition(): Boolean = specialEnable diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 550e8d1a80..26a649f992 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.shared.utils.DateUtil @@ -40,7 +40,7 @@ class ActionAlarmTest : TestBase() { it.dateUtil = dateUtil it.config = config } - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 2c0ab3b5dc..897e2c7e42 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -3,7 +3,7 @@ package info.nightscout.automation.actions import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.database.impl.transactions.Transaction @@ -35,7 +35,7 @@ class ActionNotificationTest : TestBase() { it.rxBus = rxBus it.repository = repository } - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index dee897a5ad..a0ce979777 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop @@ -157,7 +157,7 @@ ActionsTestBase : TestBaseWithProfile() { if (it is ActionStopProcessing) { it.rh = rh } - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } if (it is Trigger) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt similarity index 84% rename from core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt index 3080bae1d8..26a4bcbbf6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultImpl.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt @@ -9,7 +9,7 @@ import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import javax.inject.Inject -class PumpEnactResultImpl(injector: HasAndroidInjector) : PumpEnactResult { +class PumpEnactResultObject(injector: HasAndroidInjector) : PumpEnactResult { @Inject lateinit var rh: ResourceHelper @@ -33,18 +33,18 @@ class PumpEnactResultImpl(injector: HasAndroidInjector) : PumpEnactResult { override var carbsDelivered = 0.0 // real value of delivered carbs override var queued = false - override fun success(success: Boolean): PumpEnactResultImpl = this.also { this.success = success } - override fun enacted(enacted: Boolean): PumpEnactResultImpl = this.also { it.enacted = enacted } - override fun comment(comment: String): PumpEnactResultImpl = this.also { it.comment = comment } - override fun comment(comment: Int): PumpEnactResultImpl = this.also { it.comment = rh.gs(comment) } - override fun duration(duration: Int): PumpEnactResultImpl = this.also { it.duration = duration } - override fun absolute(absolute: Double): PumpEnactResultImpl = this.also { it.absolute = absolute } - override fun percent(percent: Int): PumpEnactResultImpl = this.also { it.percent = percent } - override fun isPercent(isPercent: Boolean): PumpEnactResultImpl = this.also { it.isPercent = isPercent } - override fun isTempCancel(isTempCancel: Boolean): PumpEnactResultImpl = this.also { it.isTempCancel = isTempCancel } - override fun bolusDelivered(bolusDelivered: Double): PumpEnactResultImpl = this.also { it.bolusDelivered = bolusDelivered } - override fun carbsDelivered(carbsDelivered: Double): PumpEnactResultImpl = this.also { it.carbsDelivered = carbsDelivered } - override fun queued(queued: Boolean): PumpEnactResultImpl = this.also { it.queued = queued } + override fun success(success: Boolean): PumpEnactResultObject = this.also { this.success = success } + override fun enacted(enacted: Boolean): PumpEnactResultObject = this.also { it.enacted = enacted } + override fun comment(comment: String): PumpEnactResultObject = this.also { it.comment = comment } + override fun comment(comment: Int): PumpEnactResultObject = this.also { it.comment = rh.gs(comment) } + override fun duration(duration: Int): PumpEnactResultObject = this.also { it.duration = duration } + override fun absolute(absolute: Double): PumpEnactResultObject = this.also { it.absolute = absolute } + override fun percent(percent: Int): PumpEnactResultObject = this.also { it.percent = percent } + override fun isPercent(isPercent: Boolean): PumpEnactResultObject = this.also { it.isPercent = isPercent } + override fun isTempCancel(isTempCancel: Boolean): PumpEnactResultObject = this.also { it.isTempCancel = isTempCancel } + override fun bolusDelivered(bolusDelivered: Double): PumpEnactResultObject = this.also { it.bolusDelivered = bolusDelivered } + override fun carbsDelivered(carbsDelivered: Double): PumpEnactResultObject = this.also { it.carbsDelivered = carbsDelivered } + override fun queued(queued: Boolean): PumpEnactResultObject = this.also { it.queued = queued } override fun log(): String { return "Success: " + success + diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index a913c09a03..c282f9e869 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.core.profile.ProfileStoreObject @@ -11,7 +11,7 @@ import info.nightscout.core.profile.ProfileStoreObject @Suppress("unused") abstract class CoreDataClassesModule { - @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultImpl + @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultObject @ContributesAndroidInjector abstract fun apsResultInjector(): APSResult @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensData diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index 7e78cf60d0..20ebdcb05d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.core.main.R -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback @@ -48,7 +48,7 @@ abstract class Command( abstract fun log(): String fun cancel() { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = false result.comment = rh.gs(R.string.connectiontimedout) aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7262510558..a9a3c5461e 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index fb47551e69..8b79d49a37 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -16,7 +16,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { private val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } @@ -37,84 +37,84 @@ class PumpEnactResultTest : TestBaseWithProfile() { } @Test fun successTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.success(true) Assert.assertEquals(true, per.success) } @Test fun enactedTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.enacted(true) Assert.assertEquals(true, per.enacted) } @Test fun commentTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.comment("SomeComment") Assert.assertEquals("SomeComment", per.comment) } @Test fun durationTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.duration(10) Assert.assertEquals(10, per.duration.toLong()) } @Test fun absoluteTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.absolute(11.0) Assert.assertEquals(11.0, per.absolute, 0.01) } @Test fun percentTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.percent(10) Assert.assertEquals(10, per.percent) } @Test fun isPercentTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.isPercent(true) Assert.assertEquals(true, per.isPercent) } @Test fun isTempCancelTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.isTempCancel(true) Assert.assertEquals(true, per.isTempCancel) } @Test fun bolusDeliveredTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.bolusDelivered(11.0) Assert.assertEquals(11.0, per.bolusDelivered, 0.01) } @Test fun carbsDeliveredTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.carbsDelivered(11.0) Assert.assertEquals(11.0, per.carbsDelivered, 0.01) } @Test fun queuedTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) per.queued(true) Assert.assertEquals(true, per.queued) } @Test fun logTest() { - val per = PumpEnactResultImpl(injector) + val per = PumpEnactResultObject(injector) Assert.assertEquals( "Success: false Enacted: false Comment: Duration: -1 Absolute: -1.0 Percent: -1 IsPercent: false IsTempCancel: false bolusDelivered: 0.0 carbsDelivered: 0.0 Queued: false", @@ -123,7 +123,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { } @Test fun toStringTest() { - var per = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") Assert.assertEquals( """ Success: false @@ -132,7 +132,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Insulin: 10.0 U """.trimIndent(), per.toString() ) - per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals( """ Success: false @@ -141,7 +141,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Cancel temp basal """.trimIndent(), per.toString() ) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals( """ Success: false @@ -151,7 +151,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Percent: 90% """.trimIndent(), per.toString() ) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals( """ Success: false @@ -161,7 +161,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Absolute: 1.0 U/h """.trimIndent(), per.toString() ) - per = PumpEnactResultImpl(injector).enacted(false).comment("AAA") + per = PumpEnactResultObject(injector).enacted(false).comment("AAA") Assert.assertEquals( """ Success: false @@ -172,31 +172,31 @@ class PumpEnactResultTest : TestBaseWithProfile() { @Test fun toHtmlTest() { - var per: PumpEnactResult = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per: PumpEnactResult = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
SMB: 10.0 U", per.toHtml()) - per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Cancel temp basal", per.toHtml()) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 20 min
Percent: 90%", per.toHtml()) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 30 min
Absolute: 1.00 U/h", per.toHtml()) - per = PumpEnactResultImpl(injector).enacted(false).comment("AAA") + per = PumpEnactResultObject(injector).enacted(false).comment("AAA") Assert.assertEquals("Success: false
Comment: AAA", per.toHtml()) } @Test fun jsonTest() { var o: JSONObject? - var per: PumpEnactResult = PumpEnactResultImpl(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per: PumpEnactResult = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"smb\":10}", o, false) - per = PumpEnactResultImpl(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0,\"duration\":0}", o, false) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0.9,\"duration\":20}", o, false) - per = PumpEnactResultImpl(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":1,\"duration\":30}", o, false) } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index c6e5a7d41f..9ec92c0377 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -8,7 +8,7 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin @@ -147,7 +147,7 @@ class CommandQueueImplementation @Inject constructor( } private fun executingNowError(): PumpEnactResult = - PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.executing_right_now) + PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.executing_right_now) override fun isRunning(type: CommandType): Boolean = performing?.commandType == type @@ -270,12 +270,12 @@ class CommandQueueImplementation @Inject constructor( .subscribeBy( onSuccess = { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted carbs $it") } - callback?.result(PumpEnactResultImpl(injector).enacted(false).success(true))?.run() + callback?.result(PumpEnactResultObject(injector).enacted(false).success(true))?.run() }, onError = { aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) - callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() } ) } @@ -292,13 +292,13 @@ class CommandQueueImplementation @Inject constructor( if (type == CommandType.SMB_BOLUS) { if (bolusInQueue()) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting SMB since a bolus is queue/running") - callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() return false } val lastBolusTime = repository.getLastBolusRecord()?.timestamp ?: 0L if (detailedBolusInfo.lastKnownBolusTime < lastBolusTime) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting bolus, another bolus was issued since request time") - callback?.result(PumpEnactResultImpl(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() return false } removeAll(CommandType.SMB_BOLUS) @@ -351,7 +351,7 @@ class CommandQueueImplementation @Inject constructor( @Synchronized override fun cancelAllBoluses(id: Long?) { if (!isRunning(CommandType.BOLUS)) { - rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResultImpl(injector).success(true).enacted(false), id)) + rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResultObject(injector).success(true).enacted(false), id)) } removeAll(CommandType.BOLUS) removeAll(CommandType.SMB_BOLUS) @@ -435,12 +435,12 @@ class CommandQueueImplementation @Inject constructor( override fun setProfile(profile: Profile, hasNsId: Boolean, callback: Callback?): Boolean { if (isRunning(CommandType.BASAL_PROFILE)) { aapsLogger.debug(LTag.PUMPQUEUE, "Command is already executed") - callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() return false } if (isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set") - callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() return false } // Compare with pump limits @@ -449,7 +449,7 @@ class CommandQueueImplementation @Inject constructor( if (basalValue.value < activePlugin.activePump.pumpDescription.basalMinimumRate) { val notification = Notification(Notification.BASAL_VALUE_BELOW_MINIMUM, rh.gs(R.string.basal_value_below_minimum), Notification.URGENT) rxBus.send(EventNewNotification(notification)) - callback?.result(PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() + callback?.result(PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() return false } } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 09a3f53eb9..eecc6de25d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.queue.Callback @@ -26,7 +26,7 @@ class CommandReadStatus( localAlertUtils.notifyPumpStatusRead() aapsLogger.debug(LTag.PUMPQUEUE, "CommandReadStatus executed. Reason: $reason") val pump = activePlugin.activePump - val result = PumpEnactResultImpl(injector).success(false) + val result = PumpEnactResultObject(injector).success(false) val lastConnection = pump.lastDataTime() if (lastConnection > System.currentTimeMillis() - T.mins(1).msecs()) result.success(true) callback?.result(result)?.run() diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 5c51ac8bc6..8353083118 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -28,11 +28,11 @@ class CommandSMBBolus( aapsLogger.debug(LTag.PUMPQUEUE, "Last bolus: $lastBolusTime ${dateUtil.dateAndTimeAndSecondsString(lastBolusTime)}") if (lastBolusTime != 0L && lastBolusTime + T.mins(3).msecs() > dateUtil.now()) { aapsLogger.debug(LTag.PUMPQUEUE, "SMB requested but still in 3 min interval") - r = PumpEnactResultImpl(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") + r = PumpEnactResultObject(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") } else if (detailedBolusInfo.deliverAtTheLatest != 0L && detailedBolusInfo.deliverAtTheLatest + T.mins(1).msecs() > System.currentTimeMillis()) { r = activePlugin.activePump.deliverTreatment(detailedBolusInfo) } else { - r = PumpEnactResultImpl(injector).enacted(false).success(false).comment("SMB request too old") + r = PumpEnactResultObject(injector).enacted(false).success(false).comment("SMB request too old") aapsLogger.debug(LTag.PUMPQUEUE, "SMB bolus canceled. deliverAt: " + dateUtil.dateAndTimeString(detailedBolusInfo.deliverAtTheLatest)) } aapsLogger.debug(LTag.PUMPQUEUE, "Result success: ${r.success} enacted: ${r.enacted}") diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index d7164e8c8c..5d73868598 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.queue.commands.Command @@ -32,7 +32,7 @@ class CommandSetProfile constructor( override fun execute() { if (commandQueue.isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set. profile: $profile") - callback?.result(PumpEnactResultImpl(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() return } val r = activePlugin.activePump.setNewBasalProfile(profile) diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7262510558..a9a3c5461e 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 593c8397ae..361f2367fb 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -6,7 +6,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction @@ -105,7 +105,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { if (it is CommandLoadHistory) { it.activePlugin = activePlugin } - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index ed44fd4789..f7498c24e8 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -30,7 +30,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.insight.database.InsightBolusID; import info.nightscout.androidaps.insight.database.InsightDbHelper; @@ -475,7 +475,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setNewBasalProfile(Profile profile) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); List profileBlocks = new ArrayList<>(); for (int i = 0; i < profile.getBasalValues().length; i++) { @@ -575,7 +575,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, if (detailedBolusInfo.insulin == 0 || detailedBolusInfo.carbs > 0) { throw new IllegalArgumentException(detailedBolusInfo.toString(), new Exception()); } - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); double insulin = Math.round(detailedBolusInfo.insulin / 0.01) * 0.01; if (insulin > 0) { try { @@ -691,7 +691,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (activeBasalRate == null) return result; if (activeBasalRate.getActiveBasalRate() == 0) return result; double percent = 100D / activeBasalRate.getActiveBasalRate() * absoluteRate; @@ -741,7 +741,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); percent = (int) Math.round(((double) percent) / 10d) * 10; if (percent == 100) return cancelTempBasal(true); else if (percent > 250) percent = 250; @@ -797,7 +797,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setExtendedBolusOnly(Double insulin, Integer durationInMinutes, boolean disableVibration) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); try { DeliverBolusMessage bolusMessage = new DeliverBolusMessage(); bolusMessage.setBolusType(BolusType.EXTENDED); @@ -829,7 +829,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult cancelTempBasal(boolean enforceNew) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); PumpEnactResult cancelEBResult = null; if (isFakingTempsByExtendedBoluses()) cancelEBResult = cancelExtendedBolusOnly(); PumpEnactResult cancelTBRResult = cancelTempBasalOnly(); @@ -850,7 +850,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelTempBasalOnly() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); try { alertService.ignore(AlertType.WARNING_36); connectionService.requestMessage(new CancelTBRMessage()).await(); @@ -893,7 +893,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelExtendedBolusOnly() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); try { for (ActiveBolus activeBolus : activeBoluses) { if (activeBolus.getBolusType() == BolusType.EXTENDED || activeBolus.getBolusType() == BolusType.MULTIWAVE) { @@ -1012,7 +1012,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult stopPump() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STOPPED); @@ -1034,7 +1034,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult startPump() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STARTED); @@ -1056,7 +1056,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setTBROverNotification(boolean enabled) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); boolean valueBefore = tbrOverNotificationBlock.isEnabled(); tbrOverNotificationBlock.setEnabled(enabled); try { @@ -1119,7 +1119,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult loadTDDs() { - return new PumpEnactResultImpl(getInjector()).success(true); + return new PumpEnactResultObject(getInjector()).success(true); } private void readHistory() { diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index b69576ffed..964e189a74 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -4,7 +4,7 @@ import android.os.SystemClock import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -133,7 +133,7 @@ open class VirtualPumpPlugin @Inject constructor( override var fakeDataDetected = false override fun loadTDDs(): PumpEnactResult { //no result, could read DB in the future? - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) } override fun isInitialized(): Boolean = true @@ -158,7 +158,7 @@ open class VirtualPumpPlugin @Inject constructor( lastDataTime = System.currentTimeMillis() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) // Do nothing here. we are using database profile - return PumpEnactResultImpl(injector).success(true).enacted(true) + return PumpEnactResultObject(injector).success(true).enacted(true) } override fun isThisProfileSet(profile: Profile): Boolean = pumpSync.expectedPumpState().profile?.isEqual(profile) ?: false @@ -175,7 +175,7 @@ open class VirtualPumpPlugin @Inject constructor( get() = batteryPercent override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) .success(true) .bolusDelivered(detailedBolusInfo.insulin) .carbsDelivered(detailedBolusInfo.carbs) @@ -191,7 +191,7 @@ open class VirtualPumpPlugin @Inject constructor( rxBus.send(bolusingEvent) delivering += 0.1 if (BolusProgressDialog.stopPressed) - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(false) .enacted(false) .comment(rh.gs(R.string.stoppressed)) @@ -226,7 +226,7 @@ open class VirtualPumpPlugin @Inject constructor( override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = true result.enacted = true result.isTempCancel = false @@ -250,7 +250,7 @@ open class VirtualPumpPlugin @Inject constructor( } override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = true result.enacted = true result.percent = percent @@ -299,7 +299,7 @@ open class VirtualPumpPlugin @Inject constructor( } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = true result.isTempCancel = true result.comment = rh.gs(R.string.virtualpump_resultok) @@ -319,7 +319,7 @@ open class VirtualPumpPlugin @Inject constructor( } override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (pumpSync.expectedPumpState().extendedBolus != null) { pumpSync.syncStopExtendedBolusWithPumpId( timestamp = dateUtil.now(), diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7262510558..a9a3c5461e 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index f792b94d68..4fb8f57992 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraints @@ -70,7 +70,7 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { var injector: HasAndroidInjector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } if (it is AuthRequest) { @@ -113,45 +113,45 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { smsCommunicatorPlugin.setPluginEnabled(PluginType.GENERAL, true) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultImpl(injector).success(true) + callback.result = PumpEnactResultObject(injector).success(true) callback.run() null }.`when`(commandQueue).cancelTempBasal(ArgumentMatchers.anyBoolean(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(0) - callback.result = PumpEnactResultImpl(injector).success(true) + callback.result = PumpEnactResultObject(injector).success(true) callback.run() null }.`when`(commandQueue).cancelExtended(ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultImpl(injector).success(true) + callback.result = PumpEnactResultObject(injector).success(true) callback.run() null }.`when`(commandQueue).readStatus(ArgumentMatchers.anyString(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultImpl(injector).success(true).bolusDelivered(1.0) + callback.result = PumpEnactResultObject(injector).success(true).bolusDelivered(1.0) callback.run() null }.`when`(commandQueue).bolus(anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResultImpl(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultObject(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue) .tempBasalPercent(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResultImpl(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultObject(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue) .tempBasalAbsolute(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(2) - callback.result = PumpEnactResultImpl(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResultObject(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue).extendedBolus(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.any(Callback::class.java)) diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 4ab39258e2..6cf45672df 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -21,7 +21,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; @@ -177,7 +177,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @Override protected void onStart() { super.onStart(); - OPERATION_NOT_SUPPORTED = new PumpEnactResultImpl(getInjector()) + OPERATION_NOT_SUPPORTED = new PumpEnactResultObject(getInjector()) .success(false).enacted(false).comment(R.string.combo_pump_unsupported_operation); } @@ -264,7 +264,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().error("setNewBasalProfile not initialized"); Notification notification = new Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, getRh().gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); } BasalProfile requestedBasalProfile = convertProfileToComboProfile(profile); @@ -272,12 +272,12 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //dismiss previously "FAILED" overview notifications rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); rxBus.send(new EventDismissNotification(Notification.FAILED_UPDATE_PROFILE)); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } CommandResult stateResult = runCommand(null, 1, ruffyScripter::readPumpState); if (stateResult.state.unsafeUsageDetected == PumpState.UNSUPPORTED_BASAL_RATE_PROFILE) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); } CommandResult setResult = runCommand(getRh().gs(R.string.combo_activity_setting_basal_profile), 2, @@ -285,7 +285,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (!setResult.success) { Notification notification = new Notification(Notification.FAILED_UPDATE_PROFILE, getRh().gs(R.string.failedupdatebasalprofile), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); } pump.basalProfile = requestedBasalProfile; @@ -296,7 +296,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //issue success notification Notification notification = new Notification(Notification.PROFILE_SET_OK, getRh().gs(R.string.profile_set_ok), Notification.INFO, 60); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(true); + return new PumpEnactResultObject(getInjector()).success(true).enacted(true); } @Override @@ -509,16 +509,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // check pump is ready and all pump bolus records are known CommandResult stateResult = runCommand(null, 2, () -> ruffyScripter.readQuickInfo(1)); if (!stateResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } if (stateResult.reservoirLevel != -1 && stateResult.reservoirLevel - 0.5 < detailedBolusInfo.insulin) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_reservoir_level_insufficient_for_bolus); } // the commands above ensured a connection was made, which updated this field if (pumpHistoryChanged) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_bolus_rejected_due_to_pump_history_change); } @@ -531,7 +531,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (Math.abs(previousBolus.amount - detailedBolusInfo.insulin) < 0.01 && previousBolus.timestamp + 60 * 1000 > System.currentTimeMillis()) { getAapsLogger().debug(LTag.PUMP, "Bolus request rejected, same bolus was successfully delivered very recently"); - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.bolus_frequency_exceeded); } @@ -544,10 +544,10 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { while (previousBolus.timestamp == timeCheckResult.state.pumpTime && maxWaitTimeout > System.currentTimeMillis()) { if (cancelBolus) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } if (!timeCheckResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } getAapsLogger().debug(LTag.PUMP, "Waiting for pump clock to advance for the next unused bolus record timestamp"); @@ -561,7 +561,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } if (cancelBolus) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } EventOverviewBolusProgress.Treatment treatment = new EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); @@ -581,7 +581,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // (reads 2 records to update `recentBoluses` further down) CommandResult postBolusStateResult = runCommand(null, 3, () -> ruffyScripter.readQuickInfo(2)); if (!postBolusStateResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_bolus_verification_failed); } Bolus lastPumpBolus = postBolusStateResult.history != null && !postBolusStateResult.history.bolusHistory.isEmpty() @@ -591,9 +591,9 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // no bolus delivered? if (lastPumpBolus == null || lastPumpBolus.equals(previousBolus)) { if (cancelBolus) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } else { - return new PumpEnactResultImpl(getInjector()) + return new PumpEnactResultObject(getInjector()) .success(false) .enacted(false) .comment(R.string.combo_error_no_bolus_delivered); @@ -602,7 +602,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // at least some insulin delivered, so add it to treatments if (!addBolusToTreatments(detailedBolusInfo, lastPumpBolus)) - return new PumpEnactResultImpl(getInjector()).success(false).enacted(true) + return new PumpEnactResultObject(getInjector()).success(false).enacted(true) .comment(R.string.combo_error_updating_treatment_record); // check pump bolus record has a sane timestamp @@ -619,16 +619,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // only a partial bolus was delivered if (Math.abs(lastPumpBolus.amount - detailedBolusInfo.insulin) > 0.01) { if (cancelBolus) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(true); + return new PumpEnactResultObject(getInjector()).success(true).enacted(true); } - return new PumpEnactResultImpl(getInjector()).success(false).enacted(true) + return new PumpEnactResultObject(getInjector()).success(false).enacted(true) .comment(getRh().gs(R.string.combo_error_partial_bolus_delivered, lastPumpBolus.amount, detailedBolusInfo.insulin)); } // full bolus was delivered successfully incrementBolusCount(); - return new PumpEnactResultImpl(getInjector()) + return new PumpEnactResultObject(getInjector()) .success(true) .enacted(lastPumpBolus.amount > 0) .bolusDelivered(lastPumpBolus.amount) @@ -729,7 +729,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().debug(LTag.PUMP, "setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); if (pumpHistoryChanged && percent > 110) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false) .comment(R.string.combo_high_temp_rejected_due_to_pump_history_changes); } @@ -755,7 +755,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { CommandResult commandResult = runCommand(getRh().gs(R.string.combo_pump_action_setting_tbr, percent, durationInMinutes), 3, () -> ruffyScripter.setTbr(finalAdjustedPercent, durationInMinutes)); if (!commandResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false); } PumpState state = commandResult.state; @@ -781,7 +781,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } incrementTbrCount(); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(true).isPercent(true) + return new PumpEnactResultObject(getInjector()).success(true).enacted(true).isPercent(true) .percent(state.tbrPercent).duration(state.tbrRemainingDuration); } @@ -805,15 +805,15 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (enforceNew) { CommandResult stateResult = runCommand(getRh().gs(R.string.combo_pump_action_refreshing), 2, ruffyScripter::readPumpState); if (!stateResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false); } if (!stateResult.state.tbrActive) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: hard-cancelling TBR since force requested"); CommandResult cancelResult = runCommand(getRh().gs(R.string.combo_pump_action_cancelling_tbr), 2, ruffyScripter::cancelTbr); if (!cancelResult.success) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false); } if (!cancelResult.state.tbrActive) { pumpSync.syncStopTemporaryBasalWithPumpId( @@ -823,19 +823,19 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { PumpType.ACCU_CHEK_COMBO, serialNumber() ); - return new PumpEnactResultImpl(getInjector()).isTempCancel(true).success(true).enacted(true); + return new PumpEnactResultObject(getInjector()).isTempCancel(true).success(true).enacted(true); } else { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false); } } else if (activeTemp == null) { - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } else if ((activeTemp.getRate() >= 90 && activeTemp.getRate() <= 110) && PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) <= 15) { // Let fake neutral temp keep run (see below) // Note that since this runs on the queue a connection is opened regardless, but this // case doesn't occur all that often, so it's not worth optimizing (1.3k SetTBR vs 4 cancelTBR). getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(true) + return new PumpEnactResultObject(getInjector()).success(true).enacted(true) .comment("cancelTempBasal skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); @@ -1361,7 +1361,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @NonNull @Override public PumpEnactResult loadTDDs() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(readHistory(new PumpHistoryRequest().tddHistory(PumpHistoryRequest.FULL))); if (result.getSuccess()) { List tdds = pump.tddHistory; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 1ed35f96cf..f87a4c502f 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter @@ -34,7 +34,7 @@ class ComboPluginTest : TestBase() { private val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultImpl) { + if (it is PumpEnactResultObject) { it.rh = rh } } diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 96648a6732..c3890efe07 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -10,7 +10,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionService import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -134,7 +134,7 @@ class DanaRKoreanPlugin @Inject constructor( detailedBolusInfo.insulin, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.carbsTimestamp ?: detailedBolusInfo.timestamp, t ) - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success(connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep) .bolusDelivered(t.insulin) if (!result.success) result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.insulin, danaPump.bolusStartErrorCode)) else result.comment(R.string.ok) @@ -151,7 +151,7 @@ class DanaRKoreanPlugin @Inject constructor( ) result } else { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success(false).bolusDelivered(0.0).carbsDelivered(0.0).comment(R.string.invalidinput) aapsLogger.error("deliverTreatment: Invalid input") result @@ -191,7 +191,7 @@ class DanaRKoreanPlugin @Inject constructor( return cancelRealTempBasal() } aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return PumpEnactResultImpl(injector).success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) + return PumpEnactResultObject(injector).success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) } if (doLowTemp || doHighTemp) { // If extended in progress @@ -212,7 +212,7 @@ class DanaRKoreanPlugin @Inject constructor( cancelTempBasal(true) } else { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return PumpEnactResultImpl(injector).success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) + return PumpEnactResultObject(injector).success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) } } } @@ -251,7 +251,7 @@ class DanaRKoreanPlugin @Inject constructor( if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAbsoluteRate - extendedRateToSet) < pumpDescription.extendedBolusStep) { // correct extended already set aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct extended already set") - return PumpEnactResultImpl(injector).success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false) + return PumpEnactResultObject(injector).success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false) .isTempCancel(false) } @@ -269,7 +269,7 @@ class DanaRKoreanPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - return PumpEnactResultImpl(injector).success(false).comment("Internal error") + return PumpEnactResultObject(injector).success(false).comment("Internal error") } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { @@ -277,7 +277,7 @@ class DanaRKoreanPlugin @Inject constructor( if (danaPump.isExtendedInProgress && useExtendedBoluses) { return cancelExtendedBolus() } - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true) return result } @@ -285,7 +285,7 @@ class DanaRKoreanPlugin @Inject constructor( override fun model(): PumpType = PumpType.DANA_R_KOREAN private fun cancelRealTempBasal(): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (danaPump.isTempBasalInProgress) { sExecutionService.tempBasalStop() if (!danaPump.isTempBasalInProgress) { @@ -304,6 +304,6 @@ class DanaRKoreanPlugin @Inject constructor( return result } - override fun loadEvents(): PumpEnactResult = PumpEnactResultImpl(injector) // no history, not needed - override fun setUserOptions(): PumpEnactResult = PumpEnactResultImpl(injector) + override fun loadEvents(): PumpEnactResult = PumpEnactResultObject(injector) // no history, not needed + override fun setUserOptions(): PumpEnactResult = PumpEnactResultObject(injector) } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 628e54b924..1009d1321c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -16,7 +16,7 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.interfaces.Constraints; @@ -190,7 +190,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, carbTimeStamp, t); - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -203,7 +203,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { // remove carbs because it's get from history separately return result; } else { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -223,7 +223,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); absoluteRate = constraintChecker.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -290,7 +290,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -324,7 +324,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private PumpEnactResult setHighTempBasalPercent(Integer percent, int durationInMinutes) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); boolean connectionOK = sExecutionService.highTempBasal(percent, durationInMinutes); if (connectionOK && pump.isTempBasalInProgress() && pump.getTempBasalPercent() == percent) { result.enacted(true).success(true).comment(R.string.ok).isTempCancel(false).duration(pump.getTempBasalRemainingMin()).percent(pump.getTempBasalPercent()).isPercent(true); @@ -338,7 +338,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelTempBasal(boolean force) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); result.enacted(true).isTempCancel(true); @@ -357,7 +357,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < pumpDescription.getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -390,7 +390,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); result.enacted(true).success(!danaPump.isExtendedInProgress()).isTempCancel(true); diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 5c6a6736b3..1aa8f49d40 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -48,7 +48,7 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -430,14 +430,14 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult loadEvents() { if (!danaRv2Plugin.isInitialized()) { - PumpEnactResult result = new PumpEnactResultImpl(injector).success(false); + PumpEnactResult result = new PumpEnactResultObject(injector).success(false); result.comment("pump not initialized"); return result; } if (!isConnected()) - return new PumpEnactResultImpl(injector).success(false); + return new PumpEnactResultObject(injector).success(false); SystemClock.sleep(300); MsgHistoryEventsV2 msg = new MsgHistoryEventsV2(injector, danaPump.lastHistoryFetched); aapsLogger.debug(LTag.PUMP, "Loading event history from: " + dateUtil.dateAndTimeString(danaPump.lastHistoryFetched)); @@ -452,7 +452,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { else danaPump.lastHistoryFetched = 0; danaPump.setLastConnection(System.currentTimeMillis()); - return new PumpEnactResultImpl(injector).success(true); + return new PumpEnactResultObject(injector).success(true); } public boolean updateBasalsInPump(final Profile profile) { @@ -471,12 +471,12 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResultImpl(injector).success(false); + return new PumpEnactResultObject(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResultImpl(injector).success(!msg.getFailed()); + return new PumpEnactResultObject(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 85a25603e3..706e7307bb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -10,7 +10,7 @@ import info.nightscout.androidaps.dana.DanaFragment; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; @@ -136,7 +136,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump // Pump interface @NonNull @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (sExecutionService == null) { getAapsLogger().error("setNewBasalProfile sExecutionService is null"); @@ -216,7 +216,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -269,7 +269,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < getPumpDescription().getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -320,7 +320,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); if (!danaPump.isExtendedInProgress()) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 537681ceff..d40c5b5cfd 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -14,7 +14,7 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -165,7 +165,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.getCarbsTimestamp() != null ? detailedBolusInfo.getCarbsTimestamp() : detailedBolusInfo.timestamp, t); - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -193,7 +193,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { serialNumber()); return result; } else { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -205,7 +205,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { // Recheck pump status if older than 30 min //This should not be needed while using queue because connection should be done before calling this - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); absoluteRate = constraints.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -327,7 +327,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (danaPump.isExtendedInProgress() && useExtendedBoluses) { return cancelExtendedBolus(); } - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true); return result; } @@ -338,7 +338,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { } private PumpEnactResult cancelRealTempBasal() { - PumpEnactResult result = new PumpEnactResultImpl(getInjector()); + PumpEnactResult result = new PumpEnactResultObject(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); if (!danaPump.isTempBasalInProgress()) { @@ -360,7 +360,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult loadEvents() { - return new PumpEnactResultImpl(getInjector()); // no history, not needed + return new PumpEnactResultObject(getInjector()); // no history, not needed } @NonNull @Override diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index acd88f4884..e96282a156 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -39,7 +39,7 @@ import info.nightscout.androidaps.danar.comm.MsgHistoryRefill; import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -242,7 +242,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } public PumpEnactResult loadHistory(byte type) { - PumpEnactResult result = new PumpEnactResultImpl(injector); + PumpEnactResult result = new PumpEnactResultObject(injector); if (!isConnected()) return result; MessageBase msg = null; switch (type) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index f5b84790e2..77198b0c6a 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -43,7 +43,7 @@ import info.nightscout.androidaps.danar.comm.MsgStatus; import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -397,11 +397,11 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResultImpl(injector).success(false); + return new PumpEnactResultObject(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResultImpl(injector).success(!msg.getFailed()); + return new PumpEnactResultObject(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 188b00af02..31100c9f18 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,26 +44,26 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 579497f341..9567537275 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.CommandQueue @@ -186,15 +186,15 @@ class DanaRSPlugin @Inject constructor( // DanaR interface override fun loadHistory(type: Byte): PumpEnactResult { - return danaRSService?.loadHistory(type) ?: PumpEnactResultImpl(injector).success(false) + return danaRSService?.loadHistory(type) ?: PumpEnactResultObject(injector).success(false) } override fun loadEvents(): PumpEnactResult { - return danaRSService?.loadEvents() ?: PumpEnactResultImpl(injector).success(false) + return danaRSService?.loadEvents() ?: PumpEnactResultObject(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return danaRSService?.setUserSettings() ?: PumpEnactResultImpl(injector).success(false) + return danaRSService?.setUserSettings() ?: PumpEnactResultObject(injector).success(false) } // Constraints interface @@ -229,7 +229,7 @@ class DanaRSPlugin @Inject constructor( danaRSService?.isConnected ?: false || danaRSService?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (!isInitialized()) { aapsLogger.error("setNewBasalProfile not initialized") val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) @@ -305,7 +305,7 @@ class DanaRSPlugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = danaRSService?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs @@ -322,7 +322,7 @@ class DanaRSPlugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -364,7 +364,7 @@ class DanaRSPlugin @Inject constructor( return cancelTempBasal(false) } aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(true) .enacted(false) .percent(100) @@ -379,7 +379,7 @@ class DanaRSPlugin @Inject constructor( if (danaPump.tempBasalPercent == percentRate && danaPump.tempBasalRemainingMin > 4) { if (!enforceNew) { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(true) .percent(percentRate) .enacted(false) @@ -407,14 +407,14 @@ class DanaRSPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(false) .comment("Internal error") } @Synchronized override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) var percentAfterConstraint = constraintChecker.applyBasalPercentConstraints(Constraint(percent), profile).value() if (percentAfterConstraint < 0) { result.isTempCancel = false @@ -463,7 +463,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized private fun setHighTempBasalPercent(percent: Int): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) val connectionOK = danaRSService?.highTempBasal(percent) ?: false if (connectionOK && danaPump.isTempBasalInProgress && danaPump.tempBasalPercent == percent) { result.enacted = true @@ -489,7 +489,7 @@ class DanaRSPlugin @Inject constructor( // needs to be rounded val durationInHalfHours = max(durationInMinutes / 30, 1) insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false result.success = true @@ -524,7 +524,7 @@ class DanaRSPlugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (danaPump.isTempBasalInProgress) { danaRSService?.tempBasalStop() result.success = !danaPump.isTempBasalInProgress @@ -541,7 +541,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (danaPump.isExtendedInProgress) { danaRSService?.extendedBolusStop() result.success = !danaPump.isExtendedInProgress diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index d27da919f8..48fa98a280 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -54,7 +54,7 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetUserOption import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin @@ -261,7 +261,7 @@ class DanaRSService : DaggerService() { fun loadEvents(): PumpEnactResult { if (!danaRSPlugin.isInitialized()) { - val result = PumpEnactResultImpl(injector).success(false) + val result = PumpEnactResultObject(injector).success(false) result.comment = "pump not initialized" return result } @@ -283,13 +283,13 @@ class DanaRSService : DaggerService() { rxBus.send(EventPumpStatusChanged(rh.gs(R.string.gettingpumpstatus))) sendMessage(DanaRSPacketGeneralInitialScreenInformation(injector)) danaPump.lastConnection = System.currentTimeMillis() - return PumpEnactResultImpl(injector).success(msg.success()) + return PumpEnactResultObject(injector).success(msg.success()) } fun setUserSettings(): PumpEnactResult { val message = DanaRSPacketOptionSetUserOption(injector) sendMessage(message) - return PumpEnactResultImpl(injector).success(message.success()) + return PumpEnactResultObject(injector).success(message.success()) } fun bolus(insulin: Double, carbs: Int, carbTime: Long, t: EventOverviewBolusProgress.Treatment): Boolean { @@ -499,7 +499,7 @@ class DanaRSService : DaggerService() { } fun loadHistory(type: Byte): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (!isConnected) return result var msg: DanaRSPacketHistory? = null when (type) { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index e92abc56aa..7d51d92365 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -9,7 +9,7 @@ import android.text.format.DateFormat import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -174,11 +174,11 @@ class DiaconnG8Plugin @Inject constructor( // Diaconn Pump Interface override fun loadHistory(): PumpEnactResult { - return diaconnG8Service?.loadHistory() ?: PumpEnactResultImpl(injector).success(false) + return diaconnG8Service?.loadHistory() ?: PumpEnactResultObject(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return diaconnG8Service?.setUserSettings() ?: PumpEnactResultImpl(injector).success(false) + return diaconnG8Service?.setUserSettings() ?: PumpEnactResultObject(injector).success(false) } // Constraints interface @@ -213,7 +213,7 @@ class DiaconnG8Plugin @Inject constructor( diaconnG8Service?.isConnected ?: false || diaconnG8Service?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (!isInitialized()) { val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) rxBus.send(EventNewNotification(notification)) @@ -277,7 +277,7 @@ class DiaconnG8Plugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = diaconnG8Service?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = connectionOK result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs @@ -289,7 +289,7 @@ class DiaconnG8Plugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -306,7 +306,7 @@ class DiaconnG8Plugin @Inject constructor( // This is called from APS @Synchronized override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) val absoluteAfterConstrain = constraintChecker.applyBasalConstraints(Constraint(absoluteRate), profile).value() val doTempOff = baseBasalRate - absoluteAfterConstrain == 0.0 val doLowTemp = absoluteAfterConstrain < baseBasalRate @@ -397,7 +397,7 @@ class DiaconnG8Plugin @Inject constructor( var insulinAfterConstraint = constraintChecker.applyExtendedBolusConstraints(Constraint(insulin)).value() // needs to be rounded insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (diaconnG8Pump.isExtendedInProgress && abs(diaconnG8Pump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false @@ -435,7 +435,7 @@ class DiaconnG8Plugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (diaconnG8Pump.isTempBasalInProgress) { diaconnG8Service?.tempBasalStop() result.success = !diaconnG8Pump.isTempBasalInProgress @@ -453,7 +453,7 @@ class DiaconnG8Plugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) if (diaconnG8Pump.isExtendedInProgress) { diaconnG8Service?.extendedBolusStop() result.success = !diaconnG8Pump.isExtendedInProgress diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 41aed8c4f7..6889faab7f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -8,7 +8,7 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R @@ -269,7 +269,7 @@ class DiaconnG8Service : DaggerService() { fun loadHistory(): PumpEnactResult { if (!diaconnG8Plugin.isInitialized()) { - val result = PumpEnactResultImpl(injector).success(false) + val result = PumpEnactResultObject(injector).success(false) result.comment = "pump not initialized" return result } @@ -279,7 +279,7 @@ class DiaconnG8Service : DaggerService() { sendMessage(IncarnationInquirePacket(injector)) } - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) var apsLastLogNum = 9999 var apsWrappingCount = -1 // get saved last loginfo @@ -421,7 +421,7 @@ class DiaconnG8Service : DaggerService() { } fun setUserSettings(): PumpEnactResult { - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) val msg: DiaconnG8Packet = when (diaconnG8Pump.setUserOptionType) { DiaconnG8Pump.ALARM -> SoundSettingPacket(injector, diaconnG8Pump.beepAndAlarm, diaconnG8Pump.alarmIntesity) diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 81e5b51e58..ba2526902c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.PumpPluginBase @@ -177,7 +177,7 @@ class EopatchPumpPlugin @Inject constructor( mLastDataTime = System.currentTimeMillis() if (patchManager.isActivated) { if (patchManager.patchState.isTempBasalActive || patchManager.patchState.isBolusActive) { - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) } else { var isSuccess: Boolean? = null val result: BehaviorSubject = BehaviorSubject.create() @@ -205,16 +205,16 @@ class EopatchPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess ?: false}") if (isSuccess == true) { rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResultImpl(injector).success(true).enacted(true) + return PumpEnactResultObject(injector).success(true).enacted(true) } else { - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) } } } else { preferenceManager.getNormalBasalManager().setNormalBasal(profile) preferenceManager.flushNormalBasalManager() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResultImpl(injector).success(true).enacted(true) + return PumpEnactResultObject(injector).success(true).enacted(true) } } @@ -264,7 +264,7 @@ class EopatchPumpPlugin @Inject constructor( if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment") - return PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + return PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) .comment(rh.gs(R.string.invalidinput)) } else if (detailedBolusInfo.insulin > 0.0) { var isSuccess = true @@ -311,15 +311,15 @@ class EopatchPumpPlugin @Inject constructor( disposable.dispose() return if (isSuccess) - PumpEnactResultImpl(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) + PumpEnactResultObject(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) else - PumpEnactResultImpl(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) + PumpEnactResultObject(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) } else { // no bolus required, carb only treatment patchManager.addBolusToHistory(detailedBolusInfo) - return PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(0.0) + return PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(0.0) .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.core.main.R.string.ok)) } } @@ -357,15 +357,15 @@ class EopatchPumpPlugin @Inject constructor( ) aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - tbrCurrent:${readTBR()}") } - .map { PumpEnactResultImpl(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } + .map { PumpEnactResultObject(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } .onErrorReturnItem( - PumpEnactResultImpl(injector).success(false).enacted(false) + PumpEnactResultObject(injector).success(false).enacted(false) .comment("Internal error") ) .blockingGet() } else { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - normal basal is not active") - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) } } @@ -390,15 +390,15 @@ class EopatchPumpPlugin @Inject constructor( ) aapsLogger.info(LTag.PUMP, "setTempBasalPercent - tbrCurrent:${readTBR()}") } - .map { PumpEnactResultImpl(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } + .map { PumpEnactResultObject(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } .onErrorReturnItem( - PumpEnactResultImpl(injector).success(false).enacted(false) + PumpEnactResultObject(injector).success(false).enacted(false) .comment("Internal error") ) .blockingGet() } else { aapsLogger.info(LTag.PUMP, "setTempBasalPercent - normal basal is not active") - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) } } @@ -418,9 +418,9 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResultImpl(injector).success(true).enacted(true) } + .map { PumpEnactResultObject(injector).success(true).enacted(true) } .onErrorReturnItem( - PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0) + PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -431,14 +431,14 @@ class EopatchPumpPlugin @Inject constructor( if (tbrCurrent == null) { aapsLogger.debug(LTag.PUMP, "cancelTempBasal - TBR already false.") - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } if (!patchManager.patchState.isTempBasalActive) { return if (pumpSync.expectedPumpState().temporaryBasal != null) { - PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) + PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } else - PumpEnactResultImpl(injector).success(true).isTempCancel(true) + PumpEnactResultObject(injector).success(true).isTempCancel(true) } return patchManager.stopTempBasal() @@ -455,9 +455,9 @@ class EopatchPumpPlugin @Inject constructor( .doOnError { aapsLogger.error(LTag.PUMP, "cancelTempBasal() - $it") } - .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } + .map { PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( - PumpEnactResultImpl(injector).success(false).enacted(false) + PumpEnactResultObject(injector).success(false).enacted(false) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -476,9 +476,9 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) } + .map { PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( - PumpEnactResultImpl(injector).success(false).enacted(false) + PumpEnactResultObject(injector).success(false).enacted(false) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -491,9 +491,9 @@ class EopatchPumpPlugin @Inject constructor( pumpType = PumpType.EOFLOW_EOPATCH2, pumpSerial = serialNumber() ) - PumpEnactResultImpl(injector).success(true).enacted(true).isTempCancel(true) + PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } else - PumpEnactResultImpl(injector) + PumpEnactResultObject(injector) } } @@ -546,7 +546,7 @@ class EopatchPumpPlugin @Inject constructor( override val isFakingTempsByExtendedBoluses: Boolean = false override fun loadTDDs(): PumpEnactResult { - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) } override fun canHandleDST(): Boolean { diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 2788116016..105be643c5 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -7,7 +7,7 @@ import android.os.IBinder import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -592,7 +592,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, "MedtronicPumpPlugin::deliverBolus - " + BolusDeliveryType.DeliveryPrepared) setRefreshButtonEnabled(false) if (detailedBolusInfo.insulin > medtronicPumpStatus.reservoirRemainingUnits) { - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(false) // .enacted(false) // .comment( @@ -633,7 +633,7 @@ class MedtronicPumpPlugin @Inject constructor( // LOG.debug("MedtronicPumpPlugin::deliverBolus - Response: {}", response); return if (response == null || !response) { - PumpEnactResultImpl(injector) // + PumpEnactResultObject(injector) // .success(bolusDeliveryType == BolusDeliveryType.CancelDelivery) // .enacted(false) // .comment(R.string.medtronic_cmd_bolus_could_not_be_delivered) @@ -660,7 +660,7 @@ class MedtronicPumpPlugin @Inject constructor( val time = now + bolusTime * 1000 busyTimestamps.add(time) setEnableCustomAction(MedtronicCustomActionType.ClearBolusBlock, true) - PumpEnactResultImpl(injector).success(true) // + PumpEnactResultObject(injector).success(true) // .enacted(true) // .bolusDelivered(detailedBolusInfo.insulin) // .carbsDelivered(detailedBolusInfo.carbs) @@ -677,8 +677,8 @@ class MedtronicPumpPlugin @Inject constructor( private fun setNotReachable(isBolus: Boolean, success: Boolean): PumpEnactResult { setRefreshButtonEnabled(true) if (isBolus) bolusDeliveryType = BolusDeliveryType.Idle - return if (success) PumpEnactResultImpl(injector).success(true).enacted(false) - else PumpEnactResultImpl(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) + return if (success) PumpEnactResultObject(injector).success(true).enacted(false) + else PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) } override fun stopBolusDelivering() { @@ -701,7 +701,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -714,7 +714,7 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent == null) { aapsLogger.warn(LTag.PUMP, logPrefix + "setTempBasalAbsolute - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute: Current Basal: duration: " + tbrCurrent.durationMinutes + " min, rate=" + tbrCurrent.insulinRate) @@ -729,7 +729,7 @@ class MedtronicPumpPlugin @Inject constructor( if (sameRate) { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - No enforceNew and same rate. Exiting.") finishAction("TBR") - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } } // if not the same rate, we cancel and start new @@ -745,7 +745,7 @@ class MedtronicPumpPlugin @Inject constructor( if (response == null || !response) { aapsLogger.error(logPrefix + "setTempBasalAbsolute - Cancel TBR failed.") finishAction("TBR") - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_cancel_tbr_stop_op) } else { //cancelTBRWithTemporaryId() @@ -762,7 +762,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - setTBR. Response: " + response) return if (response == null || !response) { finishAction("TBR") - PumpEnactResultImpl(injector).success(false).enacted(false) // + PumpEnactResultObject(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_tbr_could_not_be_delivered) } else { medtronicPumpStatus.tempBasalStart = System.currentTimeMillis() @@ -776,7 +776,7 @@ class MedtronicPumpPlugin @Inject constructor( incrementStatistics(MedtronicConst.Statistics.TBRsSet) finishAction("TBR") - PumpEnactResultImpl(injector).success(true).enacted(true) // + PumpEnactResultObject(injector).success(true).enacted(true) // .absolute(absoluteRate).duration(durationInMinutes) } } @@ -1022,7 +1022,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - started") if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1034,12 +1034,12 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent.insulinRate > 0.0f && tbrCurrent.durationMinutes == 0) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - TBR already canceled.") finishAction("TBR") - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } } else { aapsLogger.warn(LTag.PUMP, logPrefix + "cancelTempBasal - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } val responseTask2 = rileyLinkMedtronicService?.medtronicUIComm?.executeCommand(MedtronicCommandType.CancelTBR) @@ -1047,7 +1047,7 @@ class MedtronicPumpPlugin @Inject constructor( finishAction("TBR") return if (response == null || !response) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR failed.") - PumpEnactResultImpl(injector).success(false).enacted(false) // + PumpEnactResultObject(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_cant_cancel_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR successful.") @@ -1083,7 +1083,7 @@ class MedtronicPumpPlugin @Inject constructor( //cancelTBRWithTemporaryId() - PumpEnactResultImpl(injector).success(true).enacted(true) // + PumpEnactResultObject(injector).success(true).enacted(true) // .isTempCancel(true) } } @@ -1106,7 +1106,7 @@ class MedtronicPumpPlugin @Inject constructor( // this shouldn't be needed, but let's do check if profile setting we are setting is same as current one if (isProfileSame(profile)) { - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(true) // .enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_not_set_is_same) @@ -1114,7 +1114,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1124,7 +1124,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.debug("Basal Profile: $basalProfile") val profileInvalid = isProfileValid(basalProfile) if (profileInvalid != null) { - return PumpEnactResultImpl(injector) // + return PumpEnactResultObject(injector) // .success(false) // .enacted(false) // .comment(rh.gs(R.string.medtronic_cmd_set_profile_pattern_overflow, profileInvalid)) @@ -1136,10 +1136,10 @@ class MedtronicPumpPlugin @Inject constructor( val response = responseTask?.result as Boolean? aapsLogger.info(LTag.PUMP, logPrefix + "Basal Profile was set: " + response) return if (response == null || !response) { - PumpEnactResultImpl(injector).success(false).enacted(false) // + PumpEnactResultObject(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_could_not_be_set) } else { - PumpEnactResultImpl(injector).success(true).enacted(true) + PumpEnactResultObject(injector).success(true).enacted(true) } } diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index e15fdd5660..38ad0ebf60 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common. import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger @@ -41,7 +41,7 @@ abstract class ActionViewModelBase( logger.error(LTag.PUMP, "Caught exception in while executing action in ActionViewModelBase", throwable) _isActionExecutingLiveData.postValue(false) _actionResultLiveData.postValue( - PumpEnactResultImpl(injector).success(false).comment( + PumpEnactResultObject(injector).success(false).comment( throwable.message ?: "Caught exception in while executing action in ActionViewModelBase" ) ) diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index e6096d5ea9..051aa2baa4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -5,7 +5,7 @@ import android.os.Handler import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -395,7 +395,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun setNewBasalProfile(profile: Profile): PumpEnactResult { if (!podStateManager.isActivationCompleted) { - return PumpEnactResultImpl(injector).success(true).enacted(true) + return PumpEnactResultObject(injector).success(true).enacted(true) } aapsLogger.debug(LTag.PUMP, "setNewBasalProfile profile=$profile") return setNewBasalProfile(profile, OmnipodCommandType.SET_BASAL_PROFILE) @@ -567,7 +567,7 @@ class OmnipodDashPumpPlugin @Inject constructor( detailedBolusInfo.insulin == 0.0 ) { // Accept only valid insulin requests - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -575,7 +575,7 @@ class OmnipodDashPumpPlugin @Inject constructor( } val requestedBolusAmount = detailedBolusInfo.insulin if (requestedBolusAmount > reservoirLevel) { - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -584,7 +584,7 @@ class OmnipodDashPumpPlugin @Inject constructor( if (podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_BASAL_ACTIVE || podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_TEMP_BASAL_ACTIVE ) { - return PumpEnactResultImpl(injector) + return PumpEnactResultObject(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -653,10 +653,10 @@ class OmnipodDashPumpPlugin @Inject constructor( } } }.toSingle { - PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) + PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) }.onErrorReturnItem( // success if canceled - PumpEnactResultImpl(injector).success(bolusCanceled).enacted(false) + PumpEnactResultObject(injector).success(bolusCanceled).enacted(false) ) .blockingGet() aapsLogger.info( @@ -940,13 +940,13 @@ class OmnipodDashPumpPlugin @Inject constructor( tbrType: PumpSync.TemporaryBasalType ): PumpEnactResult { // TODO i18n - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support percentage temp basals") } override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult { // TODO i18n - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -963,7 +963,7 @@ class OmnipodDashPumpPlugin @Inject constructor( pumpSync.expectedPumpState().temporaryBasal == null ) { // nothing to cancel - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } return executeProgrammingCommand( @@ -986,17 +986,17 @@ class OmnipodDashPumpPlugin @Inject constructor( } private fun Completable.toPumpEnactResultImpl(): PumpEnactResult { - return this.toSingleDefault(PumpEnactResultImpl(injector).success(true).enacted(true)) + return this.toSingleDefault(PumpEnactResultObject(injector).success(true).enacted(true)) .doOnError { throwable -> aapsLogger.error(LTag.PUMP, "toPumpEnactResult, error executing command: $throwable") } - .onErrorReturnItem(PumpEnactResultImpl(injector).success(false).enacted(false)) + .onErrorReturnItem(PumpEnactResultObject(injector).success(false).enacted(false)) .blockingGet() } override fun cancelExtendedBolus(): PumpEnactResult { // TODO i18n - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -1097,7 +1097,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun loadTDDs(): PumpEnactResult { // TODO i18n - return PumpEnactResultImpl(injector).success(false).enacted(false) + return PumpEnactResultObject(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support TDD") } @@ -1132,7 +1132,7 @@ class OmnipodDashPumpPlugin @Inject constructor( else -> { aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + customCommand.javaClass.name) - PumpEnactResultImpl(injector).success(false).enacted(false).comment( + PumpEnactResultObject(injector).success(false).enacted(false).comment( rh.gs( R.string.omnipod_common_error_unsupported_custom_command, customCommand.javaClass.name @@ -1149,7 +1149,7 @@ class OmnipodDashPumpPlugin @Inject constructor( historyEntry = history.createRecord(commandType = OmnipodCommandType.ACKNOWLEDGE_ALERTS), command = omnipodManager.silenceAlerts(it).ignoreElements(), ).toPumpEnactResultImpl() - } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n + } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n } private fun disableSuspendAlerts(): PumpEnactResult { @@ -1197,7 +1197,7 @@ class OmnipodDashPumpPlugin @Inject constructor( R.raw.boluserror ) }.toPumpEnactResultImpl() - } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No profile active") // TODO i18n + } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No profile active") // TODO i18n } private fun deactivatePod(): PumpEnactResult { @@ -1223,7 +1223,7 @@ class OmnipodDashPumpPlugin @Inject constructor( private fun handleTimeChange(): PumpEnactResult { return profileFunction.getProfile()?.let { setNewBasalProfile(it, OmnipodCommandType.SET_TIME) - } ?: PumpEnactResultImpl(injector).success(false).enacted(false).comment("No profile active") + } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No profile active") } private fun updateAlertConfiguration(): PumpEnactResult { @@ -1241,12 +1241,12 @@ class OmnipodDashPumpPlugin @Inject constructor( lowReservoirAlertUnits ) -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because the settings did not change") - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } !podStateManager.isPodRunning -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because there is no active pod") - return PumpEnactResultImpl(injector).success(true).enacted(false) + return PumpEnactResultObject(injector).success(true).enacted(false) } } @@ -1258,7 +1258,7 @@ class OmnipodDashPumpPlugin @Inject constructor( "updateAlertConfiguration negative " + "expiryAlertDuration=$expiryAlertDelay" ) - PumpEnactResultImpl(injector).success(false).enacted(false) + PumpEnactResultObject(injector).success(false).enacted(false) } val alerts = listOf( AlertConfiguration( diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index 87317ea555..8ab783c383 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R @@ -66,14 +66,14 @@ class DashInitializePodViewModel @Inject constructor( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 1", throwable) source.onSuccess( - PumpEnactResultImpl(injector) + PumpEnactResultObject(injector) .success(false) .comment(I8n.textFromException(throwable, rh)) ) }, onComplete = { logger.debug("Pod activation part 1 completed") - source.onSuccess(PumpEnactResultImpl(injector).success(true)) + source.onSuccess(PumpEnactResultObject(injector).success(true)) } ) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 420f7abc04..47b870db5b 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType @@ -91,7 +91,7 @@ class DashInsertCannulaViewModel @Inject constructor( .subscribeBy( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 2", throwable) - source.onSuccess(PumpEnactResultImpl(injector).success(false).comment(I8n.textFromException(throwable, rh))) + source.onSuccess(PumpEnactResultObject(injector).success(false).comment(I8n.textFromException(throwable, rh))) }, onComplete = { logger.debug("Pod activation part 2 completed") @@ -121,7 +121,7 @@ class DashInsertCannulaViewModel @Inject constructor( ) rxBus.send(EventDismissNotification(Notification.OMNIPOD_POD_NOT_ATTACHED)) fabricPrivacy.logCustom("OmnipodDashPodActivated") - source.onSuccess(PumpEnactResultImpl(injector).success(true)) + source.onSuccess(PumpEnactResultObject(injector).success(true)) } ) } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 10a1741c82..c9545286db 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -34,7 +34,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.interfaces.CommandQueue; @@ -603,7 +603,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { if (!podStateManager.hasPodState()) - return new PumpEnactResultImpl(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResultObject(getInjector()).enacted(false).success(false).comment("Null pod state"); PumpEnactResult result = executeCommand(OmnipodCommandType.SET_BASAL_PROFILE, () -> aapsOmnipodErosManager.setBasalProfile(profile, true)); aapsLogger.info(LTag.PUMP, "Basal Profile was set: " + result.getSuccess()); @@ -661,7 +661,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (detailedBolusInfo.insulin == 0 && detailedBolusInfo.carbs == 0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment"); - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) .comment(R.string.invalidinput); } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -679,7 +679,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley "[date=%d, carbs=%.2f, pumpSerial=%s] - Result: %b", detailedBolusInfo.timestamp, detailedBolusInfo.carbs, serialNumber(), result)); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(true).bolusDelivered(0d) + return new PumpEnactResultObject(getInjector()).success(true).enacted(true).bolusDelivered(0d) .carbsDelivered(detailedBolusInfo.carbs); } } @@ -697,7 +697,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute: rate: {}, duration={}", absoluteRate, durationInMinutes); if (durationInMinutes <= 0 || durationInMinutes % BASAL_STEP_DURATION.getStandardMinutes() != 0) { - return new PumpEnactResultImpl(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); + return new PumpEnactResultObject(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); } // read current TBR @@ -711,7 +711,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent != null && !enforceNew) { if (Round.INSTANCE.isSame(tbrCurrent.getRate(), absoluteRate)) { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - No enforceNew and same rate. Exiting."); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } } @@ -733,7 +733,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent == null) { aapsLogger.info(LTag.PUMP, "cancelTempBasal - TBR already cancelled."); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } return executeCommand(OmnipodCommandType.CANCEL_TEMPORARY_BASAL, aapsOmnipodErosManager::cancelTemporaryBasal); @@ -857,7 +857,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult executeCustomCommand(@NonNull CustomCommand command) { if (!podStateManager.hasPodState()) - return new PumpEnactResultImpl(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResultObject(getInjector()).enacted(false).success(false).comment("Null pod state"); if (command instanceof CommandSilenceAlerts) { return executeCommand(OmnipodCommandType.ACKNOWLEDGE_ALERTS, aapsOmnipodErosManager::acknowledgeAlerts); } @@ -887,7 +887,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + command.getClass().getName()); - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); } private PumpEnactResult retrievePulseLog() { @@ -895,7 +895,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley try { result = executeCommand(OmnipodCommandType.READ_POD_PULSE_LOG, aapsOmnipodErosManager::readPulseLog); } catch (Exception ex) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); } Intent i = new Intent(context, activityNames.getErrorHelperActivity()); @@ -905,7 +905,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley i.putExtra("clipboardContent", result.toString()); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); - return new PumpEnactResultImpl(getInjector()).success(true).enacted(false); + return new PumpEnactResultObject(getInjector()).success(true).enacted(false); } @NonNull private PumpEnactResult updateAlertConfiguration() { @@ -1170,7 +1170,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } private PumpEnactResult getOperationNotSupportedWithCustomText(int resourceId) { - return new PumpEnactResultImpl(getInjector()).success(false).enacted(false).comment(resourceId); + return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(resourceId); } } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index bfd2576754..bace2e0a2c 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -14,7 +14,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultImpl; +import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -170,7 +170,7 @@ public class AapsOmnipodErosManager { } public PumpEnactResult initializePod() { - PumpEnactResult result = new PumpEnactResultImpl(injector); + PumpEnactResult result = new PumpEnactResultObject(injector); try { Boolean res = executeCommand(delegate::pairAndPrime) .blockingGet(); @@ -192,10 +192,10 @@ public class AapsOmnipodErosManager { public PumpEnactResult insertCannula(Profile profile) { if (profile == null) { String comment = getStringResource(R.string.omnipod_common_error_set_initial_basal_schedule_no_profile); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(comment); } - PumpEnactResult result = new PumpEnactResultImpl(injector); + PumpEnactResult result = new PumpEnactResultObject(injector); try { BasalSchedule basalSchedule = mapProfileToBasalSchedule(profile); @@ -233,11 +233,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, alertConfigurations); - return new PumpEnactResultImpl(injector).success(true).enacted(false); + return new PumpEnactResultObject(injector).success(true).enacted(false); } public PumpEnactResult playTestBeep(BeepConfigType beepType) { @@ -246,11 +246,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, beepType); - return new PumpEnactResultImpl(injector).success(true).enacted(false); + return new PumpEnactResultObject(injector).success(true).enacted(false); } @@ -262,12 +262,12 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.GET_POD_STATUS, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.GET_POD_STATUS, statusResponse); - return new PumpEnactResultImpl(injector).success(true).enacted(false); + return new PumpEnactResultObject(injector).success(true).enacted(false); } public PumpEnactResult deactivatePod() { @@ -276,7 +276,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.DEACTIVATE_POD, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.DEACTIVATE_POD, null); @@ -284,7 +284,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_FAULT); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PumpEnactResult setBasalProfile(Profile profile, boolean showNotifications) { @@ -293,7 +293,7 @@ public class AapsOmnipodErosManager { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, note, Notification.URGENT, R.raw.boluserror); } - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(note); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(note); } // #1963 return synthetic success if pre-activation @@ -301,7 +301,7 @@ public class AapsOmnipodErosManager { // otherwise a catch-22 if (!podStateManager.getActivationProgress().isCompleted()) { // TODO: i18n string - return new PumpEnactResultImpl(injector).success(true).enacted(false).comment("pre" + + return new PumpEnactResultObject(injector).success(true).enacted(false).comment("pre" + "-activation basal change moot"); } @@ -317,14 +317,14 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_basal_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { String note; @@ -337,7 +337,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } @@ -355,7 +355,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PumpEnactResult discardPodState() { @@ -369,7 +369,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventOmnipodErosPumpValuesChanged()); sendEvent(new EventRefreshOverview("Omnipod command: " + OmnipodCommandType.DISCARD_POD, false)); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PumpEnactResult bolus(DetailedBolusInfo detailedBolusInfo) { @@ -393,7 +393,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.SET_BOLUS, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } if (OmnipodManager.CommandDeliveryStatus.UNCERTAIN_FAILURE.equals(bolusCommandResult.getCommandDeliveryStatus())) { @@ -448,7 +448,7 @@ public class AapsOmnipodErosManager { sp.remove(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS); - return new PumpEnactResultImpl(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); + return new PumpEnactResultObject(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); } public PumpEnactResult cancelBolus() { @@ -463,7 +463,7 @@ public class AapsOmnipodErosManager { aapsLogger.debug(LTag.PUMP, "Not cancelling bolus: bolus command failed"); String comment = getStringResource(R.string.omnipod_common_error_bolus_did_not_succeed); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResultImpl(injector).success(true).enacted(false).comment(comment); + return new PumpEnactResultObject(injector).success(true).enacted(false).comment(comment); } } @@ -475,11 +475,11 @@ public class AapsOmnipodErosManager { executeCommand(() -> delegate.cancelBolus(isBolusBeepsEnabled())); aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus", i); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } catch (PodFaultException ex) { aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus (implicitly because of a Pod Fault)"); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } catch (Exception ex) { aapsLogger.debug(LTag.PUMP, "Failed to cancel bolus", ex); comment = translateException(ex); @@ -487,7 +487,7 @@ public class AapsOmnipodErosManager { } addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(comment); } public PumpEnactResult setTemporaryBasal(TempBasalPair tempBasalPair) { @@ -497,7 +497,7 @@ public class AapsOmnipodErosManager { } catch (CommandFailedAfterChangingDeliveryStatusException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -506,7 +506,7 @@ public class AapsOmnipodErosManager { splitActiveTbr(); // Split any active TBR so when we recover from the uncertain TBR status,we only cancel the part after the cancellation - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { String errorMessage = translateException(ex); long pumpId = addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -524,7 +524,7 @@ public class AapsOmnipodErosManager { addTempBasalTreatment(System.currentTimeMillis(), pumpId, tempBasalPair); } - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, tempBasalPair); @@ -533,7 +533,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResultImpl(injector) + return new PumpEnactResultObject(injector) .duration(tempBasalPair.getDurationMinutes()) .absolute(PumpType.OMNIPOD_EROS.determineCorrectBasalSize(tempBasalPair.getInsulinRate())) .success(true).enacted(true); @@ -550,7 +550,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, null); @@ -564,7 +564,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PumpEnactResult acknowledgeAlerts() { @@ -573,11 +573,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, null); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PumpEnactResult suspendDelivery() { @@ -586,7 +586,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, null); @@ -595,7 +595,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.FAILED_UPDATE_PROFILE); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } // Updates the pods current time based on the device timezone and the pod's time zone @@ -609,21 +609,21 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultImpl(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SET_TIME, null); @@ -632,7 +632,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultImpl(injector).success(true).enacted(true); + return new PumpEnactResultObject(injector).success(true).enacted(true); } public PodInfoRecentPulseLog readPulseLog() { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 9361ab1fcd..0e8b479156 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair @@ -74,7 +74,7 @@ class OmnipodErosPumpPluginTest : TestBase() { ) ).thenAnswer { invocation: InvocationOnMock -> val pair = invocation.getArgument(0) - val result = PumpEnactResultImpl(injector) + val result = PumpEnactResultObject(injector) result.absolute(pair.insulinRate) result.duration(pair.durationMinutes) result diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 25a7421f11..7f62ff5db8 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -6,7 +6,7 @@ import android.content.ServiceConnection import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -313,7 +313,7 @@ abstract class PumpPluginAbstract protected constructor( if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input") - PumpEnactResultImpl(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) .comment(R.string.invalidinput) } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -329,7 +329,7 @@ abstract class PumpPluginAbstract protected constructor( bolusingEvent.percent = 100 rxBus.send(bolusingEvent) aapsLogger.debug(LTag.PUMP, "deliverTreatment: Carb only treatment.") - PumpEnactResultImpl(injector).success(true).enacted(true).bolusDelivered(0.0) + PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(0.0) .carbsDelivered(detailedBolusInfo.carbs).comment(R.string.common_resultok) } } finally { @@ -350,7 +350,7 @@ abstract class PumpPluginAbstract protected constructor( protected abstract fun triggerUIChange() private fun getOperationNotSupportedWithCustomText(resourceId: Int): PumpEnactResult = - PumpEnactResultImpl(injector).success(false).enacted(false).comment(resourceId) + PumpEnactResultObject(injector).success(false).enacted(false).comment(resourceId) init { pumpDescription.fillFor(pumpType) diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 7262510558..a9a3c5461e 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultImpl +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +44,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultImpl(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultImpl(injector).success(true) + PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultImpl(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultImpl(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file From ef208a96e632ece901648702cad4016f56879af2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 09:50:15 +0100 Subject: [PATCH 056/123] remove unused code --- .../serialisation/ValueWithUnitSerializer.kt | 19 ---------- .../ValueWithUnitSerializerTest.kt | 36 ------------------- 2 files changed, 55 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt delete mode 100644 core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt deleted file mode 100644 index f2167eb2a3..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializer.kt +++ /dev/null @@ -1,19 +0,0 @@ -package info.nightscout.androidaps.utils.serialisation - -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken -import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.database.impl.serialisation.SealedClassHelper - -object ValueWithUnitSerializer { - - fun toSealedClassJson(list: List): String = list.map(::ValueWithUnitWrapper) - .let(SealedClassHelper.gson::toJson) - - fun fromJson(string: String): List = SealedClassHelper.gson - .fromJson>(string).map { it.wrapped } - - private class ValueWithUnitWrapper(val wrapped: ValueWithUnit) -} - -inline fun Gson.fromJson(json: String): T = fromJson(json, object : TypeToken() {}.type) diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt deleted file mode 100644 index 7fdbaada58..0000000000 --- a/core/core-main/src/test/java/info/nightscout/androidaps/utils/serialisation/ValueWithUnitSerializerTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package info.nightscout.androidaps.utils.serialisation - -import info.nightscout.database.entities.ValueWithUnit -import org.junit.Assert -import org.junit.Test - -internal class ValueWithUnitSerializerTest { - - @Test - fun testSerialisationDeserization() { - - val list = listOf( - ValueWithUnit.SimpleString("hello"), - ValueWithUnit.SimpleInt(5), - ValueWithUnit.UNKNOWN - ) - - val serialized = ValueWithUnitSerializer.toSealedClassJson(list) - val deserialized = ValueWithUnitSerializer.fromJson(serialized) - - Assert.assertEquals(3, list.size) - Assert.assertEquals(list, deserialized) - } - - @Test - fun testEmptyList() { - - val list = listOf() - - val serialized = ValueWithUnitSerializer.toSealedClassJson(list) - val deserialized = ValueWithUnitSerializer.fromJson(serialized) - - Assert.assertEquals(0, list.size) - Assert.assertEquals(list, deserialized) - } -} \ No newline at end of file From 9262943386f6536a8e47d61aadb592111bc35973 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 10:14:12 +0100 Subject: [PATCH 057/123] source -> plugins module --- app/src/main/AndroidManifest.xml | 2 +- .../activities/MyPreferenceFragment.kt | 16 +++++++-------- .../androidaps/di/ActivitiesModule.kt | 2 +- .../androidaps/di/PluginsListModule.kt | 20 +++++++++---------- .../nightscout/androidaps/di/WorkersModule.kt | 18 ----------------- .../implementations/ActivityNamesImpl.kt | 4 ++-- .../general/overview/OverviewFragment.kt | 4 ++-- .../androidaps/receivers/DataReceiver.kt | 16 +++++++-------- app/src/main/res/values-af-rZA/strings.xml | 8 ++++---- app/src/main/res/values-bg-rBG/strings.xml | 8 ++++---- app/src/main/res/values-cs-rCZ/strings.xml | 10 +++++----- app/src/main/res/values-da-rDK/strings.xml | 8 ++++---- app/src/main/res/values-de-rDE/strings.xml | 8 ++++---- app/src/main/res/values-el-rGR/strings.xml | 8 ++++---- app/src/main/res/values-es-rES/strings.xml | 10 +++++----- app/src/main/res/values-fr-rFR/strings.xml | 10 +++++----- app/src/main/res/values-it-rIT/strings.xml | 10 +++++----- app/src/main/res/values-iw-rIL/strings.xml | 8 ++++---- app/src/main/res/values-ko-rKR/strings.xml | 8 ++++---- app/src/main/res/values-lt-rLT/strings.xml | 8 ++++---- app/src/main/res/values-nl-rNL/strings.xml | 10 +++++----- app/src/main/res/values-no-rNO/strings.xml | 10 +++++----- app/src/main/res/values-pl-rPL/strings.xml | 8 ++++---- app/src/main/res/values-pt-rBR/strings.xml | 8 ++++---- app/src/main/res/values-pt-rPT/strings.xml | 8 ++++---- app/src/main/res/values-ro-rRO/strings.xml | 8 ++++---- app/src/main/res/values-ru-rRU/strings.xml | 10 +++++----- app/src/main/res/values-sk-rSK/strings.xml | 10 +++++----- app/src/main/res/values-sv-rSE/strings.xml | 8 ++++---- app/src/main/res/values-tr-rTR/strings.xml | 10 +++++----- app/src/main/res/values-zh-rCN/strings.xml | 8 ++++---- app/src/main/res/values/strings.xml | 8 -------- .../interfaces/ConstraintsCheckerTest.kt | 2 +- .../constraints/safety/SafetyPluginTest.kt | 2 +- .../plugins/source/GlimpPluginTest.kt | 1 + .../plugins/source/MM640GPluginTest.kt | 1 + .../plugins/source/XdripPluginTest.kt | 1 + .../core/utils}/EspressoTestHelper.kt | 0 .../nightscout/plugins/di/SourceModule.kt | 18 +++++++++++++++++ .../nightscout}/plugins/source/AidexPlugin.kt | 5 ++--- .../plugins/source/DexcomPlugin.kt | 13 ++++++------ .../plugins/source/EversensePlugin.kt | 7 +++---- .../nightscout}/plugins/source/GlimpPlugin.kt | 7 +++---- .../plugins/source/GlunovoPlugin.kt | 12 +++++------ .../plugins/source/IntelligoPlugin.kt | 8 +++----- .../plugins/source/MM640gPlugin.kt | 9 ++++----- .../plugins/source/PoctechPlugin.kt | 7 +++---- .../plugins/source/RandomBgPlugin.kt | 13 ++++++------ .../plugins/source/TomatoPlugin.kt | 7 +++---- .../nightscout}/plugins/source/XdripPlugin.kt | 5 ++--- .../RequestDexcomPermissionActivity.kt | 4 ++-- .../src/main/res/drawable/ic_dice.xml | 0 plugins/src/main/res/values/strings.xml | 16 +++++++++++---- plugins/src/main/res/xml/pref_bgsource.xml | 8 ++++---- .../src/main/res/xml/pref_dexcom.xml | 14 ++++++------- plugins/src/main/res/xml/pref_ns_client.xml | 4 ++-- 56 files changed, 223 insertions(+), 233 deletions(-) rename {app/src/main/java/info/nightscout/androidaps/utils/extensions => core/core-main/src/main/java/info/nightscout/core/utils}/EspressoTestHelper.kt (100%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/AidexPlugin.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/DexcomPlugin.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/EversensePlugin.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/GlimpPlugin.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/GlunovoPlugin.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/IntelligoPlugin.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/MM640gPlugin.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/PoctechPlugin.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/RandomBgPlugin.kt (93%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/TomatoPlugin.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/XdripPlugin.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/source/activities/RequestDexcomPermissionActivity.kt (83%) rename {app => plugins}/src/main/res/drawable/ic_dice.xml (100%) rename app/src/main/res/xml/pref_bgsourcedexcom.xml => plugins/src/main/res/xml/pref_dexcom.xml (60%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f774245935..1308a8b030 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -191,7 +191,7 @@ android:name=".plugins.general.maintenance.activities.LogSettingActivity" android:exported="false" /> bundle.putLong("time", time) bundle.putInt("mode", mode.ordinal) bundle.putString("customProfile", customProfile) - bundle.putString("customProfileName", customProfilename) + bundle.putString("customProfileName", customProfileName) bundle.putString("customProfile2", customProfile2) } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index edbd00df16..f6f780966e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -60,8 +60,8 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.plugins.source.DexcomPlugin -import info.nightscout.androidaps.plugins.source.XdripPlugin +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.XdripPlugin import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt index 44a0273433..3e2d3cd56b 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt @@ -6,14 +6,14 @@ import android.provider.Telephony import androidx.work.Data import androidx.work.OneTimeWorkRequest import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.plugins.source.AidexPlugin -import info.nightscout.androidaps.plugins.source.DexcomPlugin -import info.nightscout.androidaps.plugins.source.EversensePlugin -import info.nightscout.androidaps.plugins.source.GlimpPlugin -import info.nightscout.androidaps.plugins.source.MM640gPlugin -import info.nightscout.androidaps.plugins.source.PoctechPlugin -import info.nightscout.androidaps.plugins.source.TomatoPlugin -import info.nightscout.androidaps.plugins.source.XdripPlugin +import info.nightscout.plugins.source.AidexPlugin +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.EversensePlugin +import info.nightscout.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.MM640gPlugin +import info.nightscout.plugins.source.PoctechPlugin +import info.nightscout.plugins.source.TomatoPlugin +import info.nightscout.plugins.source.XdripPlugin import info.nightscout.androidaps.utils.extensions.copyDouble import info.nightscout.androidaps.utils.extensions.copyLong import info.nightscout.androidaps.utils.extensions.copyString diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index 3403fa87d3..a27d2d35b5 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -235,13 +235,13 @@ Dringende Alarm INFO Eversense App (bygewerk) - BG data oplaai na NS + BG data oplaai na NS BG oplaai instellings Wys gedetailleerde delta Wys delta met een meer desimale plek Maks minute van basale beperk SMB tot - Stuur BG data na xDrip+ - Xdrip+ kies 640g/Eversense data bron + Stuur BG data na xDrip+ + Xdrip+ kies 640g/Eversense data bron NSClient BG BG berekening Bolus IAB berekening @@ -385,7 +385,7 @@ Minimale versoek verandering [%] Oop lus sal nuwe verandering versoek as die %. Verstek waarde is 20% == ∑ %1$s U - Log sensor verander na NS + Log sensor verander na NS Tomato (MiaoMiao) Tomato JouTidepool login gebruiker, normaallweg \'n email adres diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 576b3b89e8..4156db52b2 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -315,7 +315,7 @@ Спешна аларма ИНФО Eversense приложение(модифицирано) - Качвай данните за КЗ в NS + Качвай данните за КЗ в NS Настройки при качване на КЗ към Nightscout Показвай подробна делта Показвай делта с още един десетичен знак @@ -325,8 +325,8 @@ Максимални минути за ограничаване на базала при SMB за UAM Минимум въглехидрати, необходими за аларма Грама въглехидрати минимум, за да се покаже аларма. Нужни въглехидрати под това число няма да доведат до уведомяване. - Изпращай данни за КЗ към xDrip+ - В xDrip+ изберете 640g/Eversense за източник на данни + Изпращай данни за КЗ към xDrip+ + В xDrip+ изберете 640g/Eversense за източник на данни КЗ от NS NS КЗ Калкулиране на КЗ @@ -495,7 +495,7 @@ Минимална стойност за промяна [%] AndroidAPS ще покаже запитването за промяна на базала само ако е по-голямо от тази стойност.(Стандартно 20%) Общо %1$s Е - Записвай смяната на сензор в NS + Записвай смяната на сензор в NS Tomato(MяоМяо) Tomato Потребителското Ви име за Tidepool, обикновено е Вашия имейл diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index b842806566..f6d6d57a44 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -324,7 +324,7 @@ Urgentní alarm INFO Eversense aplikace (upravená) - Nahrávat data do NS + Nahrávat data do NS Nastavení nahrávání glykémií Zobrazovat detailní změny Zobrazovat rozdíl s jedním desetinným místem navíc @@ -334,8 +334,8 @@ Maximální počet minut bazálu, ke kterým se limituje SMB pro UAM Minimální množství sacharidů potřebných pro návrh Minimální množství sacharidů v gramech, které spustí upozornění návrhu sacharidů. Množství sacharidů pod touto hodnotou nespustí oznámení. - Odesílat data do xDrip+ - V xDrip+ vyberte zdroj dat 640g/Eversense + Odesílat data do xDrip+ + V xDrip+ vyberte zdroj dat 640g/Eversense Glykémie z NS NSGL Kalkulace glykémie @@ -515,8 +515,8 @@ Minimální změna pro výzvu [%] Otevřená smyčka vytvoří novou žádost o změnu pouze v případě, že změna je větší než tato hodnota. Výchozí hodnota je 20 % == ∑ %1$s U - Zaznamenávat výměnu senzoru do NS - Vytvořit událost \"Výměna senzoru\" v NS automaticky po spuštění senzoru + Zaznamenávat výměnu senzoru do NS + Vytvořit událost \"Výměna senzoru\" v NS automaticky po spuštění senzoru Tomato (MiaoMiao) Tomato Vaše uživatelské jméno na Tidepoolu, obvykle vaše e-mailová adresa diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index a39169d9cf..918482b06f 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -318,7 +318,7 @@ Akut alarm INFO Eversense App (patched) - Upload BG data til NS + Upload BG data til NS BS upload indstillinger Vis detaljeret data Vis delta med en decimal plads mere @@ -328,8 +328,8 @@ Maks antal minutter af basal at begrænse SMB til UAM Minimum kulhydrater påkrævet for forslag Minimum gram kulhydrater til at vise kulhydrat forslags advarsel. Kulhydrat forslag under dette tal vil ikke udløse en notifikaton. - Seng BS data til xDrip+ - I xDrip+ vælg 640g/Eversense datakilde + Seng BS data til xDrip+ + I xDrip+ vælg 640g/Eversense datakilde NSClient BS NS BS BS beregning @@ -505,7 +505,7 @@ Minimal anmodningsændring [%] Åben Loop vil kun foreslå ny ændringsanmodning, hvis ændringen er større end denne værdi i %. Standardværdien er 20% == ∑ %1$s IE - Log sensor ændring til NS + Log sensor ændring til NS Tomato (MiaoMiao) Tomato Dit brugernavn til Tidepool, normalt din e-mailadresse diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 3ff399ae3a..7d4e0e7847 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -318,7 +318,7 @@ Wichtiger Alarm INFO Eversense App (gepatcht) - Speichere BZ-Werte in Nightscout + Speichere BZ-Werte in Nightscout BZ Upload Einstellungen Zeige detailliertes Delta Delta wird mit Dezimalstelle angezeigt. @@ -328,8 +328,8 @@ SMB Basal-Limit in Minuten für UAM Minimale KH-Menge, die für einen Vorschlag erforderlich ist Minimale KH-Menge in Gramm, die Vorschlags-Alarm erforderlich ist. Vorschläge unterhalb dieser Menge, lösen keine Benachrichtigung aus. - Sende BZ-Werte zu xDrip+ - Wähle in xDrip+ 640g/Eversense als Daten-Quelle. + Sende BZ-Werte zu xDrip+ + Wähle in xDrip+ 640g/Eversense als Daten-Quelle. Nightscout-Client BZ NS BZ BZ Berechnung @@ -506,7 +506,7 @@ Unerwartetes Verhalten. Minimaler Wert zur Anfrage einer Änderung [%] Open Loop schlägt neue Änderungen nur dann vor, wenn die Änderung größer als dieser Wert ist. Der Standard-Wert ist 20%. == ∑ %1$s IE - Speichere Sensor Wechsel in Nightscout + Speichere Sensor Wechsel in Nightscout Tomato (MiaoMiao) Tomato Dein Tidepool-Login-Benutzername, normalerweise deine E-Mail-Adresse diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index a9e2f72f26..a1e9962bb4 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -235,13 +235,13 @@ Συναγερμός έκτακτης ανάγκης Πληροφορίες Eversense App (τροποποιημένη) - Ανέβασμα δεδομένων BG στο NS + Ανέβασμα δεδομένων BG στο NS Ανέβασμα ρυθμίσεων BG Εμφάνιση λεπτομερών στατιστικών Δείξτε τη διαφορά με ένα επιπλέον δεκαδικό ψηφίο Τα μέγιστα λεπτά του βασικού ρυθμού που περιορίζουν το SMB να - Αποστολή δεδομένων BG στο xDrip+ - Στο xDrip+, επιλέξτε την πηγή δεδομένων 640g / Eversense + Αποστολή δεδομένων BG στο xDrip+ + Στο xDrip+, επιλέξτε την πηγή δεδομένων 640g / Eversense NSClient BG Υπολογισμός BG Υπολογισμός του IOB bolus @@ -386,7 +386,7 @@ Ελάχιστο αίτημα για αλλαγή [%] Το Ανοιχτό κύκλωμα θα εμφανίσει νέο μήνυμα αλλαγής μόνο αν η αλλαγή είναι μεγαλύτερη από αυτήν τη τιμή %. Προεπιλεγμένη τιμή 20% == ∑ %1$s U - Αλλαγή αρχείου αισθητήρα σε NS + Αλλαγή αρχείου αισθητήρα σε NS Tomato (MiaoMiao) Tomato Το όνομα χρήστη του Tidepool, συνήθως το mail σας diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 235c4fb5c1..82205d1a4a 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -324,7 +324,7 @@ Alarma urgente INFORMACIÓN Eversense App (parcheada) - Subir datos de glucosa a Nightscout + Subir datos de glucosa a Nightscout Ajuste de subida de datos de glucosa Mostrar detalles del delta Mostrar el delta con un decimal más @@ -334,8 +334,8 @@ Minutos máximos de basal para limitar SMB para UAM Carbohidratos mínimos necesarios para la sugerencia Gramos mínimos de carbohidratos para mostrar una alerta de sugerencia de carbohitratos: las sugerencias de carbohidratos debajo de este número no iniciarán una notificación. - Enviar datos de glucosa a xDrip+ - En xDrip+, selecciona 640G/Eversense como fuente de datos + Enviar datos de glucosa a xDrip+ + En xDrip+, selecciona 640G/Eversense como fuente de datos NSClient BG NS BG Cálculo de glucosa @@ -515,8 +515,8 @@ Valor mínimo de cambio [%] Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor == ∑%1$s U - Registro de cambio de sensor en Nightscout - Crear evento \"Cambio de sensor\" en Nightscout automáticamente al iniciar el sensor + Registro de cambio de sensor en Nightscout + Crear evento \"Cambio de sensor\" en Nightscout automáticamente al iniciar el sensor Tomato (MiaoMiao) Tomato Tu nombre de usuario de Tidepool, normalmente tu dirección de correo electrónico diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 5924151562..fe1f235b38 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -325,7 +325,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Alarme d\'urgence INFO App Eversense (patché) - Remonter les Gly vers NS + Remonter les Gly vers NS Paramètres de téléchargement des glycémies Afficher le delta détaillé Afficher delta avec une décimale supplémentaire @@ -335,8 +335,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Minutes de basal max pour limiter les SMB des RNS Glucides minimum requis pour suggestion Quantité de glucides minimum en g pour afficher une alerte de suggestion de glucides. Les suggestions inférieures ne déclencheront pas de notification. - Transmettre les Gly vers xDrip+ - Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de données + Transmettre les Gly vers xDrip+ + Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de données Glycémie NSClient Gly NS Calcul de Glycémie @@ -516,8 +516,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Changement minimum [%] Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% == ∑ %1$s U - Enreg. du changement de capteur sur NS - Créer automatiquement un événement \"Changement de capteur\" dans NS au démarrage du capteur + Enreg. du changement de capteur sur NS + Créer automatiquement un événement \"Changement de capteur\" dans NS au démarrage du capteur Tomato (MiaoMiao) Tomato Votre nom d\'utilisateur Tidepool, normalement votre adresse e-mail diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index fe5cf491c1..53a6bd7961 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -324,7 +324,7 @@ Allarme urgente INFO Eversense app (modificata) - Carica dati BG su NS + Carica dati BG su NS Impostazioni caricamento BG Mostra delta dettagliato Mostra delta con una cifra decimale in più @@ -334,8 +334,8 @@ Max minuti di basale a cui limitare SMB per UAM CHO minimi richiesti per il suggerimento Quantità minima di carboidrati (in grammi) necessaria per visualizzare un avviso di suggerimento CHO. Al di sotto di questo numero non verrà attivata alcuna notifica. - Invia dati BG a xDrip+ - In xDrip+ seleziona origine dati 640g/Eversense + Invia dati BG a xDrip+ + In xDrip+ seleziona origine dati 640g/Eversense BG NSClient BG NS Calcolo BG @@ -515,8 +515,8 @@ Richiesta minima di modifica [%] Il loop aperto mostrerà una nuova richiesta di modifica solo se la modifica è maggiore di questo valore in %. Il valore predefinito è 20% == ∑ %1$s U - Registra cambio sensore in NS - Crea evento \"Cambio Sensore\" in NS all\'avvio del sensore + Registra cambio sensore in NS + Crea evento \"Cambio Sensore\" in NS all\'avvio del sensore Tomato (MiaoMiao) Tomato Il tuo nome utente per l\'accesso a Tidepool, generalmente il tuo indirizzo email diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 25684b2747..9e910eb36c 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -318,7 +318,7 @@ התראה דחופה מידע אפליקלציית Eversense (עם פאץ\') - טוען נתוני סוכר ל-Nightscout + טוען נתוני סוכר ל-Nightscout הגדרות העלאת ערכי סוכר בדם הצגת דלתא מפורטת הצגת דלתא עם עוד נק\' עשרונית אחת @@ -328,8 +328,8 @@ מקס\' דקות של בזאלי להגבלת SMB לארוחות לא מוכרזות סף מינ\' הפחמימות הנדרשות להצעה כמות הפחמ\' המינימלית (גר\') הדרושה כדי שתוצג התראה על הצעת פחמימות. לא תוצגנה התראות על הצעות הנמוכות מכמות זו. - שליחת נתוני סוכר אל xDrip - ב-xDrip בחרו 640g/Eversense כמקור נתונים + שליחת נתוני סוכר אל xDrip + ב-xDrip בחרו 640g/Eversense כמקור נתונים נתוני סוכר מ-NSClient סוכר NS חישוב רמת הסוכר @@ -507,7 +507,7 @@ מינימום לבקשה לשינוי [%] \'לולאה פתוחה\' תציג בקשת שינוי חדשה רק אם השינוי גדול מערך זה ב-%. ערך ברירת המחדל הוא 20% == ∑ %1$s יח\' - רישום החלפת סנסור ב-Nightscout + רישום החלפת סנסור ב-Nightscout Tomato (MiaoMiao) Tomato שם המשתמש שלכם להתחברות ל-Tidepool, בדרך כלל כתובת הדוא\"ל שלכם diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 6e417deafc..d11f69e36c 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -309,7 +309,7 @@ 긴급 알람 정보 Eversense 앱(패치버전) - NS에 혈당데이터 업로드하기 + NS에 혈당데이터 업로드하기 혈당 업로드 설정 델타(혈당증분값) 자세히 보여주기 소수점 자리 추가된 증분값 보여주기 @@ -319,8 +319,8 @@ SMB가 UAM에 대해 basal을 제한할 수 있는 최대 시간(분) 제안을 위한 최소 탄수화물 필요량 탄수화물 제안 알림을 보여주는 최소 탄수화물 g수. 이 양보다 적은 경우 탄수화물 제안 알림이 작동하지 않습니다. - 혈당 데이터를 xDrip+에 전송하기 - xDrip+ 데이터 소스에서 640g/Eversense을 선택하세요 + 혈당 데이터를 xDrip+에 전송하기 + xDrip+ 데이터 소스에서 640g/Eversense을 선택하세요 NSClient 혈당 혈당 계산 Bolus IOB 계산 @@ -480,7 +480,7 @@ 최소 요청 변화 [%] Open Loop가 %단위로 이 값보다 변화가 더 클 경우에만 새 변경 요청을 팝업합니다. 기본값은 20 %입니다 == ∑ %1$s U - 센서 교체 NS에 기록하기 + 센서 교체 NS에 기록하기 Tomato (MiaoMiao) Tomato Tidepool 사용자명, 보통 이메일 주소입니다. diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 248371d406..88b78378ae 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -311,7 +311,7 @@ Kritiniai perspėjimai INFO Eversense programėlė (modifikuota) - Perduoti KG duomenis į NS + Perduoti KG duomenis į NS KG duomenų perdavimo nustatymai Rodyti gliukozės pokyčio detales Rodyti pokytį su reikšme po kablelio @@ -321,8 +321,8 @@ NDM SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per Minimali būtinų angliavandenių priminimo riba Minimalus angliavandenių kiekis gramais, apie kurį reikia įspėti. Angliavandenių pasiūlymai, mažesni už šį kiekį, nėra pranešami. - Siųsti KG duomenis į xDrip+ - Xdrip+ pasirinkite 640g/Eversense duomenų šaltinį + Siųsti KG duomenis į xDrip+ + Xdrip+ pasirinkite 640g/Eversense duomenų šaltinį NSClient KG NS KG KG apskaičiavimas @@ -488,7 +488,7 @@ Minimalaus pokyčio užklausa [%] Atviras Ciklas parodys naujų pakeitimų užklausą tik tada, kai pokytis bus didesnis nei ši vertė %. Numatytoji vertė yra 20% == ∑ %1$s vv - Registruoti sensoriaus keitimą NS + Registruoti sensoriaus keitimą NS Tomato (MiaoMiao) Tomato Jūsų Tidepool vartotojo vardas, įprastai jūsų el. pašto adresas diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index fd44ce195e..c2c25a25be 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -324,7 +324,7 @@ Dringend alarm INFO Eversense App (aangepast) - Upload BG gegevens naar NS + Upload BG gegevens naar NS BG upload instellingen Toon gedetailleerde delta Toon delta met een extra decimaal punt @@ -334,8 +334,8 @@ Max minuten basaal om SMB tot te limiteren voor UAM Minimaal benodigde koolhydraten voor waarschuwing Minimum gram benodigde koolhydraten waarbij een waarschuwing wordt gegeven. Wanneer er minder koolhydraten nodig zijn dan dit getal, wordt er geen waarschuwing gegeven. - Stuur BG data naar xDrip+ - In xDrip+ kies 640g/Eversense data bron + Stuur BG data naar xDrip+ + In xDrip+ kies 640g/Eversense data bron NSClient BG NS BG BG berekening @@ -515,8 +515,8 @@ Minimale verzoek voor aanpassing [%] Open Loop zal alleen een wijzigingsverzoek tonen als de verandering groter is dan deze waarde in %. De standaard waarde is 20% == ∑ %1$s E - Noteer sensor wissel in NS - Noteer automatisch \"Sensor Wissel\" in NS bij starten van sensor + Noteer sensor wissel in NS + Noteer automatisch \"Sensor Wissel\" in NS bij starten van sensor Tomato (MiaoMiao) Tomato Uw Tidepool login gebruikersnaam, normaliter uw e-mailadres diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 5593901f91..7604eb6f1f 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -324,7 +324,7 @@ Kritisk alarm INFO Eversense App (patched) - Last opp BS-data til NS + Last opp BS-data til NS Innstillinger for opplasting av BS Vis detaljer om delta Vis delta med én ekstra desimal @@ -334,8 +334,8 @@ Maks antall minutter basal som kan bli SMB ved UAM Minimumsgrense for KH-forslag Minimum mengde karbohydrater i gram for å vise advarsel. Behov under denne grenseverdien vil ikke vises som et varsel. - Send BS-data til xDrip+ - I xDrip+, velg 640G/Eversens som datakilde + Send BS-data til xDrip+ + I xDrip+, velg 640G/Eversens som datakilde NSClient BS NS BS BS-beregning @@ -515,8 +515,8 @@ Minste endrings forespørsel [%] I åpen Loop modus vil AAPS be om en endring hvis forandringen er større enn denne verdien i %. Standard verdi er 20% == ∑ %1$s E - Logg sensor endring til NS - Opprett hendelse \"Sensor bytte\" i NS automatisk ved start av sensoren + Logg sensor endring til NS + Opprett hendelse \"Sensor bytte\" i NS automatisk ved start av sensoren Tomato (MiaoMiao) Tomato Ditt Tidepool brukernavn, normalt din e-postadresse diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index b33bbd0667..8ef5879055 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -312,7 +312,7 @@ Pilny alarm INFO Apka Eversense (spatchowana) - Przekaż dane BG do NS + Przekaż dane BG do NS Ustawienia wysyłania wartości BG (poziomów cukru) Pokaż szczegółowe delta Pokaż deltę z jednym więcej miejscem dziesiętnym @@ -322,8 +322,8 @@ Maks. ilość minut dawki bazowej do ograniczenia SMB dla UAM Minimalna sugestia węglowodanów (dosłodzenia) Minimalna ilość węglowodanów, w gramach, niezbędna dla pokazania sugestii dosłodzenia. Sugestie dosłodzenia poniżej tej wartości będą ignorowane - powiadomienie nie będzie pokazywane. - Prześlij dane BG do xDrip+ - W xDrip+ wybierz źródło danych 640g/Eversense + Prześlij dane BG do xDrip+ + W xDrip+ wybierz źródło danych 640g/Eversense NSClient BG NS BG Obliczenia BG @@ -490,7 +490,7 @@ Minimalna żądana zmiana [%] Otwarta pętla wprowadzi żądanie zmiany tylko w przypadku, gdy będzie ona większa niż ta wartość w %. Wartość domyślna to 20% == ∑ %1$s U - Prześlij zmianę sensora do NS + Prześlij zmianę sensora do NS Tomato (MiaoMiao) Tomato Twoja nazwa użytkownika Tidepool, zwykle Twój adres e-mail diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b9b056060c..edda667d49 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -296,7 +296,7 @@ Alarme Urgente INFO Aplicação Eversense (com patch) - Enviar dados Glic. para NS + Enviar dados Glic. para NS Configurações de upload de BG Mostrar Delta detalho Mostrar delta com mais um ponto decimal @@ -305,8 +305,8 @@ UAM SMB máx minutos Max minutos de basal para limitar SMB para UAM Limite mínimo de carboidratos necessários para sugerir - Enviar dados Glic. para xDrip+ - Seleccionar 640g/Eversense como fonte no xDrip+ + Enviar dados Glic. para xDrip+ + Seleccionar 640g/Eversense como fonte no xDrip+ Glic NSCliente Cálculos Glic Cálculo de Bólus IOB @@ -460,7 +460,7 @@ Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U - Registar mudança de sensor para NS + Registar mudança de sensor para NS Tomato (MiaoMiao) Tomato Nome de utilizador no Tidepool, normalmente seu endereço de e-mail diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 85bee3aab5..d4e7b72d7d 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -311,7 +311,7 @@ Alarme Urgente INFO Aplicação Eversense (com patch) - Enviar dados Glicose para NS + Enviar dados Glicose para NS Definições de Envio da Glicose Mostrar Delta detalho Mostrar delta com mais um ponto decimal @@ -321,8 +321,8 @@ Máx minutos de basal para limitar SMB para RNA Mínimo De Hidratos Necessários Para Sugestão Mínimo de gramas de hidratos de carbono para exibir um alerta de sugestão de hidratos. As sugestões de hidratos abaixo deste número não ativarão uma notificação. - Enviar dados Glicose para xDrip+ - Seleccionar 640g/Eversense como fonte no xDrip+ + Enviar dados Glicose para xDrip+ + Seleccionar 640g/Eversense como fonte no xDrip+ Glicose ClienteNS Glicemia do NS Cálculos Glicose @@ -488,7 +488,7 @@ Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança para uma nova basal temporária for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U - Registar mudança de sensor para NS + Registar mudança de sensor para NS Tomato (MiaoMiao) Tomato Nome de utilizador no Tidepool, normalmente seu endereço de e-mail diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index e7f9e50cf2..3e1250a17c 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -311,7 +311,7 @@ Alarmă urgentă INFO Aplicația Eversense (modificată) - Încarcă date glicemie în NS + Încarcă date glicemie în NS Setări înregistrare glicemie Arată variație detaliată Arată variație cu încă o zecimală @@ -321,8 +321,8 @@ Durata maxima (în minute) a bazalei pentru a limita SMB în cazul UAM Numărul minim de carbohidrați solicitați în Sugestii Numărul minim de carbohidrați pentru a afișa o alertă-sugestie. Sugestiile de carbohidrați mai jos acest număr nu vor declanșa o notificare. - Trimite date glicemie la xDrip+ - Selectați 640g/Eversense ca sursă de date în xDrip+ + Trimite date glicemie la xDrip+ + Selectați 640g/Eversense ca sursă de date în xDrip+ Glicemie NSClient NS GL Calcul glicemie @@ -488,7 +488,7 @@ Cerere de schimbare minimală [%] Bucla deschisă va afișa o nouă cerere de schimbare doar dacă nou valoare este mai mare cu %. Valoarea implicită este 20% == ∑ %1$s U - Înregistrează schimbarea senzorului în NS + Înregistrează schimbarea senzorului în NS Tomato (MiaoMiao) Tomato Utilizatorul Tidepool (de obicei adresa de email) diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 81c89d669b..6b0531f1da 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -324,7 +324,7 @@ Сигнал тревоги ИНФОРМАЦИЯ Приложение Eversense (пропатченное) - Загрузить данные СК в Nightscout + Загрузить данные СК в Nightscout Параметры загрузки СК Показать подробно дельту Показать дельту еще с одним десятичным знаком @@ -334,8 +334,8 @@ Максимум минут базала ограничивающего микроболюсы SMB на непредвиденный прием пищи UAM Минимальный порог для напоминания о необходимых углеводах Минимум граммов для активации предложения углеводов. Предложения ниже этой величины не будут инициировать уведомление. - Отправить данные СК на xDrip+ - В xDrip + выберите источник данных 640g/Eversense + Отправить данные СК на xDrip+ + В xDrip + выберите источник данных 640g/Eversense СК с клиента Nightscout ГК с NS Вычисление СК @@ -515,8 +515,8 @@ Минимальный запрос на изменения [%] Алгоритм ИПЖ выдаст всплывающее окно с запросом на новые изменения, только если изменение больше, чем это значение в %. Значение по умолчанию — 20% == ∑ %1$s ед - Внести замену сенсора в лог NS - Автоматически создать событие \"Замена сенсора\" в NS при запуске сенсора + Внести замену сенсора в лог NS + Автоматически создать событие \"Замена сенсора\" в NS при запуске сенсора Томато (MiaoMiao) Томато Имя пользователя Tidepool, обычно ваш адрес электронной почты diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index 86f7f66751..f8a8c329c7 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -324,7 +324,7 @@ Urgentný alarm INFO Eversense aplikácia (upravená) - Nahrávať glykémie do NS + Nahrávať glykémie do NS Nastavenie nahrávania glykémie Zobrazovať detailné zmeny Zobrazovať rozdiel s jedným desatinným miestom naviac @@ -334,8 +334,8 @@ Maximální počet minút bazálu, ku ktorým sa limituje SMB pre UAM Minimálne množstvo sacharidov potrebných pre návrh Minimálne množstvo sacharidov v gramoch, ktoré spustí upozornenie návrhu sacharidov. Množstvo sacharidov pod touto hodnotou nespustí oznámenie. - Odosielať glykémie do xDrip+ - V xDrip+ vyberte zdroj dát 640g/Eversense + Odosielať glykémie do xDrip+ + V xDrip+ vyberte zdroj dát 640g/Eversense Glykémie z NS NS GL Výpočet glykémie @@ -515,8 +515,8 @@ Minimálna požiadavka na zmenu [%] Otvorený okruh vytvorí novú žiadosť o zmenu iba v prípade, že zmena je väčšia ako táto hodnota v %. Štandardná hodnota je 20% == ∑ %1$s JI - Ulož výmenu senzora do NS - Vytvoriť udalosť \"Výmena senzora\" v NS automaticky pri spustení senzora + Ulož výmenu senzora do NS + Vytvoriť udalosť \"Výmena senzora\" v NS automaticky pri spustení senzora Tomato (MiaoMiao) Tomato Vaše meno používateľa na Tidepoole, obvykle Vaša E-mailová adresa diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index bdc1c996a4..8824fa4747 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -315,7 +315,7 @@ Eversense-appen. Akut larm INFO Eversense App (modifierad) - Ladda upp BG-data till Nightscout + Ladda upp BG-data till Nightscout Uppladdningsinställningar för BG Visa detaljerad delta Visa delta med en extra decimal @@ -325,8 +325,8 @@ Eversense-appen. Max antal minuter basal som kan bli SMB vid UAM Minimigräns för KH-förslag Gränsvärde för om systemet ska föreslå en KH-korrektion. Förslag som är mindre än detta värde kommer inte att visas som notis. - Skicka BG-data till xDrip+ - Välj \"640G/Eversense\" som datakälla i xDrip+ + Skicka BG-data till xDrip+ + Välj \"640G/Eversense\" som datakälla i xDrip+ NSClient BG NS BG Använd BG @@ -493,7 +493,7 @@ Eversense-appen. Minsta ändring som ger notifiering [%] I Open Loop-läge kommer AAPS bara att be om ändring ifall förändringen är större än detta värde. Standardvärdet är 20% == ∑ %1$s U - Logga sensorbyte till Nightscout + Logga sensorbyte till Nightscout Tomato (MiaoMiao) Tomato Ditt användarnamn på Tidepool. Normalt din e-postadress diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 78c38f61d0..0c116aadee 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -325,7 +325,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Acil önemli Alarm BİLGİ Eversense App (yamalı) - KŞ verilerini NighScout\'a yükle + KŞ verilerini NighScout\'a yükle KŞ yükleme ayarları Ayrıntılı delta göster Deltayı bir ondalık basamakla daha göster @@ -335,8 +335,8 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d UAM da SMB\'yi sınırlamak için maksimum bazal dakika Gerekli Minimum Karbonhidrat Önerisi Bir karbonhidrat öneri uyarısı görüntülemek için minimum karbonhidrat gramı. Bu sayının altındaki karbonhidrat önerileri bildirilmeyecektir. - XDrip+\'a KŞ verilerini gönder - Xdrip+ içerisinde 640g/Eversense veri kaynağı seç + XDrip+\'a KŞ verilerini gönder + Xdrip+ içerisinde 640g/Eversense veri kaynağı seç Nightscout Client KŞ NS KŞ KŞ Hesaplaması @@ -516,8 +516,8 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Minimum istek değişikliği [%] Açık Döngü, yalnızca değişiklik % cinsinden bu değerden büyükse yeni değişiklik isteğini açar. Varsayılan değer %20\'dir == ∑ %1$s Ü - Sensör değişimlerini NS\'a kaydet - Sensör başlangıcında otomatik olarak NS\'de \"Sensör Değişimi\" olayı oluştur + Sensör değişimlerini NS\'a kaydet + Sensör başlangıcında otomatik olarak NS\'de \"Sensör Değişimi\" olayı oluştur Tomato (MiaoMiao) Tomato Tidepool oturum açma kullanıcı adınız, normalde e-posta adresiniz diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 5bba210bbd..283d1dfd34 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -316,7 +316,7 @@ 紧急报警 信息 Everyang App (补丁) - 将 数据血糖数据上传到 NS服务器 + 将 数据血糖数据上传到 NS服务器 血糖上传设置 显示详细的增量 增量再多显示一个小数位 @@ -326,8 +326,8 @@ 监测到UAM(未通知膳食) 后启用SMB(微型大剂量) 替代基础率的最大分钟数 碳水化合物需求建议的最小值 显示碳水化合物需求警告的最小克数。低于此数值的碳水化合物需求不会触发通知。 - 将血糖数据发送到 xDrip + - 在 xDrip + 选择640g/Eversense 数据源 + 将血糖数据发送到 xDrip + + 在 xDrip + 选择640g/Eversense 数据源 NSClient 血糖 NS血糖 血糖计算 @@ -496,7 +496,7 @@ 最小请求更改[%] 开环状态下,算法建议的基础率调整百分比大于此数值时,才会弹出更改建议。默认值为20% == ∑ %1$s U - 记录传感器更换至NS服务器 + 记录传感器更换至NS服务器 番茄(喵喵) 番茄 你的Tidepool登录用户名,通常是你的邮件地址 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cfb789e086..55ec9f77f8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -520,9 +520,6 @@ Open Loop will popup new change request only if change is bigger than this value in %. Default value is 20% short_tabtitles == ∑ %1$s U - dexcom_lognssensorchange - Log sensor change to NS - Create event \"Sensor Change\" in NS automatically on sensor start smbmaxminutes uamsmbmaxminutes 2h @@ -544,9 +541,6 @@ wear_showbgi Lower value of in range area (display only) Higher value of in range area (display only) - Random BG - Generate random BG data (Demo mode only) - BG Tools Show calcuation Show removed @@ -597,8 +591,6 @@ cannula age patch pump age Patch pump - last_processed_glunovo_timestamp - last_processed_intelligo_timestamp Identification (email, FB or Discord nick etc) Identification not set in dev mode dialog diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 9869734697..40b8329999 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -25,7 +25,7 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInf import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.androidaps.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.database.impl.AppRepository diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt index c06d39f562..7f7190c234 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt @@ -11,7 +11,7 @@ import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.androidaps.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt index e1736d5c3e..43f2db608e 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase +import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt index eb92cb7f0c..85eec58373 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase +import info.nightscout.plugins.source.MM640gPlugin import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt index a3e87ff9b3..946ad0f2c3 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt @@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.source import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase +import info.nightscout.plugins.source.XdripPlugin import info.nightscout.shared.interfaces.ResourceHelper import org.junit.Assert import org.junit.Before diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/EspressoTestHelper.kt b/core/core-main/src/main/java/info/nightscout/core/utils/EspressoTestHelper.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/utils/extensions/EspressoTestHelper.kt rename to core/core-main/src/main/java/info/nightscout/core/utils/EspressoTestHelper.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt index 3a64db284c..e1eff27f4d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt +++ b/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt @@ -2,8 +2,17 @@ package info.nightscout.plugins.di import dagger.Module import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.profile.ProfilePlugin +import info.nightscout.plugins.source.AidexPlugin import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.EversensePlugin +import info.nightscout.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.MM640gPlugin import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.source.PoctechPlugin +import info.nightscout.plugins.source.TomatoPlugin +import info.nightscout.plugins.source.XdripPlugin @Module @Suppress("unused") @@ -11,5 +20,14 @@ abstract class SourceModule { @ContributesAndroidInjector abstract fun contributesBGSourceFragment(): BGSourceFragment + @ContributesAndroidInjector abstract fun contributesNSProfileWorker(): ProfilePlugin.NSProfileWorker @ContributesAndroidInjector abstract fun contributesNSClientSourceWorker(): NSClientSourcePlugin.NSClientSourceWorker + @ContributesAndroidInjector abstract fun contributesXdripWorker(): XdripPlugin.XdripWorker + @ContributesAndroidInjector abstract fun contributesDexcomWorker(): DexcomPlugin.DexcomWorker + @ContributesAndroidInjector abstract fun contributesMM640gWorker(): MM640gPlugin.MM640gWorker + @ContributesAndroidInjector abstract fun contributesGlimpWorker(): GlimpPlugin.GlimpWorker + @ContributesAndroidInjector abstract fun contributesPoctechWorker(): PoctechPlugin.PoctechWorker + @ContributesAndroidInjector abstract fun contributesTomatoWorker(): TomatoPlugin.TomatoWorker + @ContributesAndroidInjector abstract fun contributesEversenseWorker(): EversensePlugin.EversenseWorker + @ContributesAndroidInjector abstract fun contributesAidexWorker(): AidexPlugin.AidexWorker } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt index 97ba39dfd3..29320563f4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/AidexPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents @@ -18,7 +17,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt index 787c687a65..661a7269d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import android.content.Intent @@ -8,12 +8,10 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.profile.unit import info.nightscout.database.entities.GlucoseValue @@ -29,7 +27,8 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R +import info.nightscout.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.safeGetInstalledPackages @@ -56,7 +55,7 @@ class DexcomPlugin @Inject constructor( .pluginIcon(R.drawable.ic_dexcom_g6) .pluginName(R.string.dexcom_app_patched) .shortName(R.string.dexcom_short) - .preferencesId(R.xml.pref_bgsourcedexcom) + .preferencesId(R.xml.pref_dexcom) .description(R.string.description_source_dexcom), aapsLogger, rh, injector ), BgSource { @@ -75,7 +74,7 @@ class DexcomPlugin @Inject constructor( (glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G6_NATIVE || glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G5_NATIVE || glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_NATIVE_UNKNOWN) - && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + && sp.getBoolean(R.string.key_do_ns_upload, false) override fun onStart() { super.onStart() @@ -157,7 +156,7 @@ class DexcomPlugin @Inject constructor( sourceSensor = sourceSensor ) } - var sensorStartTime = if (sp.getBoolean(R.string.key_dexcom_lognssensorchange, false) && bundle.containsKey("sensorInsertionTime")) { + var sensorStartTime = if (sp.getBoolean(R.string.key_dexcom_log_ns_sensor_change, false) && bundle.containsKey("sensorInsertionTime")) { bundle.getLong("sensorInsertionTime", 0) * 1000 } else { null diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt index 873ecf3f75..63e7fed2c6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/EversensePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -17,7 +16,7 @@ import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyE import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -48,7 +47,7 @@ class EversensePlugin @Inject constructor( override var sensorBatteryLevel = -1 override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.EVERSENSE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.EVERSENSE && sp.getBoolean(R.string.key_do_ns_upload, false) // cannot be inner class because of needed injection class EversenseWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt index 51d63091de..4430bb4fdb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlimpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast @@ -15,7 +14,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -88,6 +87,6 @@ class GlimpPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLIMP && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLIMP && sp.getBoolean(R.string.key_do_ns_upload, false) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt index 4bd03f5ac6..7b33d75db3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/GlunovoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import android.net.Uri import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger @@ -20,7 +19,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -153,13 +152,13 @@ class GlunovoPlugin @Inject constructor( aapsLogger.debug(LTag.DATABASE, "Inserted bg $it") } savedValues.calibrationsInserted.forEach { calibration -> - calibration.glucose?.let { glucosevalue -> + calibration.glucose?.let { glucoseValue -> uel.log( UserEntry.Action.CALIBRATION, UserEntry.Sources.Dexcom, ValueWithUnit.Timestamp(calibration.timestamp), ValueWithUnit.TherapyEventType(calibration.type), - ValueWithUnit.fromGlucoseUnit(glucosevalue, calibration.glucoseUnit.toString) + ValueWithUnit.fromGlucoseUnit(glucoseValue, calibration.glucoseUnit.toString) ) } aapsLogger.debug(LTag.DATABASE, "Inserted calibration $calibration") @@ -172,11 +171,10 @@ class GlunovoPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLUNOVO_NATIVE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLUNOVO_NATIVE && sp.getBoolean(R.string.key_do_ns_upload, false) companion object { - @Suppress("SpellCheckingInspection") const val AUTHORITY = "alexpr.co.uk.infinivocgm.cgm_db.CgmExternalProvider/" const val TABLE_NAME = "CgmReading" const val INTERVAL = 180000L // 3 min diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt index 60a4654986..5e19776b6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/IntelligoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import android.content.pm.PackageManager @@ -7,7 +7,6 @@ import android.os.Handler import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger @@ -22,7 +21,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.safeGetInstalledPackages @@ -180,11 +179,10 @@ class IntelligoPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.INTELLIGO_NATIVE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.INTELLIGO_NATIVE && sp.getBoolean(R.string.key_do_ns_upload, false) companion object { - @Suppress("SpellCheckingInspection") const val AUTHORITY = "alexpr.co.uk.infinivocgm.intelligo.cgm_db.CgmExternalProvider" //const val AUTHORITY = "alexpr.co.uk.infinivocgm.cgm_db.CgmExternalProvider/" diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt index 31e5146dcc..578f4a934d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/MM640gPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -15,7 +14,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -68,7 +67,7 @@ class MM640gPlugin @Inject constructor( if (collection == "entries") { val data = inputData.getString("data") aapsLogger.debug(LTag.BGSOURCE, "Received MM640g Data: $data") - if (data != null && data.isNotEmpty()) { + if (!data.isNullOrEmpty()) { try { val glucoseValues = mutableListOf() val jsonArray = JSONArray(data) @@ -110,6 +109,6 @@ class MM640gPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.MM_600_SERIES && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.MM_600_SERIES && sp.getBoolean(R.string.key_do_ns_upload, false) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt index 26c519f3c6..b677f2c8be 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/PoctechPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue @@ -16,7 +15,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.JsonHelper.safeGetString -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -101,6 +100,6 @@ class PoctechPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.POCTECH_NATIVE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.POCTECH_NATIVE && sp.getBoolean(R.string.key_do_ns_upload, false) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt index fb00a23db6..0efaacbd00 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/RandomBgPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt @@ -1,10 +1,9 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.os.Handler import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.extensions.isRunningTest @@ -15,8 +14,8 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin -import info.nightscout.plugins.source.BGSourceFragment import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -46,10 +45,10 @@ class RandomBgPlugin @Inject constructor( .mainType(PluginType.BGSOURCE) .fragmentClass(BGSourceFragment::class.java.name) .pluginIcon(R.drawable.ic_dice) - .pluginName(R.string.randombg) - .shortName(R.string.randombg_short) + .pluginName(R.string.random_bg) + .shortName(R.string.random_bg_short) .preferencesId(R.xml.pref_bgsource) - .description(R.string.description_source_randombg), + .description(R.string.description_source_random_bg), aapsLogger, rh, injector ), BgSource { @@ -78,7 +77,7 @@ class RandomBgPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.RANDOM && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.RANDOM && sp.getBoolean(R.string.key_do_ns_upload, false) override fun onStart() { super.onStart() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt index cffbb6b902..431fb007c5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/TomatoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue @@ -14,7 +13,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -88,6 +87,6 @@ class TomatoPlugin @Inject constructor( } override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = - glucoseValue.sourceSensor == GlucoseValue.SourceSensor.LIBRE_1_TOMATO && sp.getBoolean(R.string.key_dexcomg5_nsupload, false) + glucoseValue.sourceSensor == GlucoseValue.SourceSensor.LIBRE_1_TOMATO && sp.getBoolean(R.string.key_do_ns_upload, false) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt index edab93336c..fac8dcc8ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/XdripPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt @@ -1,11 +1,10 @@ -package info.nightscout.androidaps.plugins.source +package info.nightscout.plugins.source import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents @@ -15,7 +14,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.source.BGSourceFragment +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/activities/RequestDexcomPermissionActivity.kt b/plugins/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt similarity index 83% rename from app/src/main/java/info/nightscout/androidaps/plugins/source/activities/RequestDexcomPermissionActivity.kt rename to plugins/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt index 8196dd8675..c5861ae3c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/source/activities/RequestDexcomPermissionActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.plugins.source.activities +package info.nightscout.plugins.source.activities import android.os.Bundle import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.DexcomPlugin class RequestDexcomPermissionActivity : DialogAppCompatActivity() { diff --git a/app/src/main/res/drawable/ic_dice.xml b/plugins/src/main/res/drawable/ic_dice.xml similarity index 100% rename from app/src/main/res/drawable/ic_dice.xml rename to plugins/src/main/res/drawable/ic_dice.xml diff --git a/plugins/src/main/res/values/strings.xml b/plugins/src/main/res/values/strings.xml index 2d89aa74db..1e7a977353 100644 --- a/plugins/src/main/res/values/strings.xml +++ b/plugins/src/main/res/values/strings.xml @@ -392,7 +392,10 @@ Upload status to NS - dexcomg5_nsupload + dexcomg5_nsupload + dexcom_lognssensorchange + last_processed_glunovo_timestamp + last_processed_intelligo_timestamp NSClient BG NS BG @@ -421,11 +424,16 @@ GlucoRx Aidex Aidex Receive BG values from GlucoRx Aidex CGMS. + Random BG + Generate random BG data (Demo mode only) + BG - Send BG data to xDrip+ - In xDrip+ select 640g/Eversense data source - Upload BG data to NS + Send BG data to xDrip+ + In xDrip+ select 640g/Eversense data source + Upload BG data to NS BG upload settings + Log sensor change to NS + Create event \"Sensor Change\" in NS automatically on sensor start ns_temporary_target_last_sync diff --git a/plugins/src/main/res/xml/pref_bgsource.xml b/plugins/src/main/res/xml/pref_bgsource.xml index 848f538483..3fde7f76c8 100644 --- a/plugins/src/main/res/xml/pref_bgsource.xml +++ b/plugins/src/main/res/xml/pref_bgsource.xml @@ -9,14 +9,14 @@ + android:key="@string/key_do_ns_upload" + android:title="@string/do_ns_upload_title" /> + android:summary="@string/do_xdrip_upload_summary" + android:title="@string/do_xdrip_upload_title" /> diff --git a/app/src/main/res/xml/pref_bgsourcedexcom.xml b/plugins/src/main/res/xml/pref_dexcom.xml similarity index 60% rename from app/src/main/res/xml/pref_bgsourcedexcom.xml rename to plugins/src/main/res/xml/pref_dexcom.xml index 495851995c..0685dcaf6d 100644 --- a/app/src/main/res/xml/pref_bgsourcedexcom.xml +++ b/plugins/src/main/res/xml/pref_dexcom.xml @@ -9,20 +9,20 @@ + android:key="@string/key_do_ns_upload" + android:title="@string/do_ns_upload_title" /> + android:summary="@string/do_xdrip_upload_summary" + android:title="@string/do_xdrip_upload_title" /> + android:key="@string/key_dexcom_log_ns_sensor_change" + android:summary="@string/dexcom_log_ns_sensor_change_summary" + android:title="@string/dexcom_log_ns_sensor_change_title" /> diff --git a/plugins/src/main/res/xml/pref_ns_client.xml b/plugins/src/main/res/xml/pref_ns_client.xml index 9f7cd5160a..ea6fd5375a 100644 --- a/plugins/src/main/res/xml/pref_ns_client.xml +++ b/plugins/src/main/res/xml/pref_ns_client.xml @@ -47,8 +47,8 @@ + android:key="@string/key_do_ns_upload" + android:title="@string/do_ns_upload_title" /> Date: Fri, 11 Nov 2022 10:23:22 +0100 Subject: [PATCH 058/123] ExtendedBolusDialog -> ui --- .../nightscout/androidaps/di/FragmentsModule.kt | 2 -- .../plugins/general/actions/ActionsFragment.kt | 2 +- .../main/java/info/nightscout/ui/di/UiModule.kt | 2 ++ .../ui}/dialogs/ExtendedBolusDialog.kt | 17 ++++++++--------- .../main/res/layout/dialog_extendedbolus.xml | 0 5 files changed, 11 insertions(+), 12 deletions(-) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/ExtendedBolusDialog.kt (91%) rename {app => ui}/src/main/res/layout/dialog_extendedbolus.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 96d1ee7956..7e465d6248 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.dialogs.ExtendedBolusDialog import info.nightscout.androidaps.dialogs.FillDialog import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog @@ -42,7 +41,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesEditQuickWizardDialog(): EditQuickWizardDialog - @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesLoopDialog(): LoopDialog diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 08b6179ebc..9226532c8c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -13,7 +13,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.androidaps.dialogs.ExtendedBolusDialog +import info.nightscout.ui.dialogs.ExtendedBolusDialog import info.nightscout.androidaps.dialogs.FillDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index 2d87682a8b..d0573b986f 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -19,6 +19,7 @@ import info.nightscout.ui.activities.fragments.TreatmentsUserEntryFragment import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.ui.dialogs.CareDialog +import info.nightscout.ui.dialogs.ExtendedBolusDialog import info.nightscout.ui.dialogs.ProfileViewerDialog import info.nightscout.ui.dialogs.WizardInfoDialog @@ -31,6 +32,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesCareDialog(): CareDialog @ContributesAndroidInjector abstract fun contributesWizardInfoDialog(): WizardInfoDialog @ContributesAndroidInjector abstract fun contributesProfileViewerDialog(): ProfileViewerDialog + @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt index 6625dc84fd..3d52fe9b0a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.content.Context import android.os.Bundle @@ -6,8 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogExtendedbolusBinding +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -16,9 +15,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.queue.Callback @@ -27,6 +24,8 @@ import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogExtendedbolusBinding import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject @@ -105,7 +104,7 @@ class ExtendedBolusDialog : DialogFragmentWithDate() { activity?.let { activity -> OKDialog.showConfirmation(activity, rh.gs(R.string.extended_bolus), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { uel.log( - Action.EXTENDED_BOLUS, Sources.ExtendedBolusDialog, + UserEntry.Action.EXTENDED_BOLUS, UserEntry.Sources.ExtendedBolusDialog, ValueWithUnit.Insulin(insulinAfterConstraint), ValueWithUnit.Minute(durationInMinutes) ) @@ -132,8 +131,8 @@ class ExtendedBolusDialog : DialogFragmentWithDate() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_extendedbolus.xml b/ui/src/main/res/layout/dialog_extendedbolus.xml similarity index 100% rename from app/src/main/res/layout/dialog_extendedbolus.xml rename to ui/src/main/res/layout/dialog_extendedbolus.xml From 228167820cb2cc0b7f6fa54f0ff5c54bafd628fd Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 10:33:09 +0100 Subject: [PATCH 059/123] FillDialog -> ui --- .../androidaps/di/FragmentsModule.kt | 2 - .../androidaps/dialogs/FillDialog.kt | 229 ----------------- .../general/actions/ActionsFragment.kt | 4 +- .../wear/wearintegration/DataHandlerMobile.kt | 4 +- app/src/main/res/layout/actions_fragment.xml | 4 +- app/src/main/res/values/strings.xml | 10 - .../nightscout/androidaps/utils/Translator.kt | 4 +- .../userEntry/UserEntryPresentationHelper.kt | 2 +- ...pump_canula.xml => ic_cp_pump_cannula.xml} | 0 .../core-main/src/main/res/values/strings.xml | 6 +- .../java/info/nightscout/ui/di/UiModule.kt | 2 + .../info/nightscout/ui/dialogs/FillDialog.kt | 232 ++++++++++++++++++ .../src/main/res/layout/dialog_fill.xml | 10 +- ui/src/main/res/values/strings.xml | 15 +- 14 files changed, 266 insertions(+), 258 deletions(-) rename core/core-main/src/main/res/drawable/{ic_cp_pump_canula.xml => ic_cp_pump_cannula.xml} (100%) create mode 100644 ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt rename {app => ui}/src/main/res/layout/dialog_fill.xml (94%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 7e465d6248..acd0f1877e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.dialogs.FillDialog import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.NtpProgressDialog @@ -41,7 +40,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesEditQuickWizardDialog(): EditQuickWizardDialog - @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesLoopDialog(): LoopDialog @ContributesAndroidInjector abstract fun contributesObjectivesExamDialog(): ObjectivesExamDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt index 88f887a40a..2e4bef4f6d 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt @@ -1,231 +1,2 @@ package info.nightscout.androidaps.dialogs -import android.content.Context -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.google.common.base.Joiner -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogFillBinding -import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.database.entities.TherapyEvent -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction -import info.nightscout.interfaces.constraints.Constraint -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.ui.ActivityNames -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.rx.logging.LTag -import info.nightscout.shared.SafeParse -import info.nightscout.shared.interfaces.ResourceHelper -import io.reactivex.rxjava3.disposables.CompositeDisposable -import io.reactivex.rxjava3.kotlin.plusAssign -import java.util.LinkedList -import javax.inject.Inject -import kotlin.math.abs - -class FillDialog : DialogFragmentWithDate() { - - @Inject lateinit var constraintChecker: Constraints - @Inject lateinit var rh: ResourceHelper - @Inject lateinit var ctx: Context - @Inject lateinit var commandQueue: CommandQueue - @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var uel: UserEntryLogger - @Inject lateinit var repository: AppRepository - @Inject lateinit var protectionCheck: ProtectionCheck - @Inject lateinit var activityNames: ActivityNames - - private var queryingProtection = false - private val disposable = CompositeDisposable() - private var _binding: DialogFillBinding? = null - - // This property is only valid between onCreateView and onDestroyView. - private val binding get() = _binding!! - - override fun onSaveInstanceState(savedInstanceState: Bundle) { - super.onSaveInstanceState(savedInstanceState) - savedInstanceState.putDouble("fill_insulin_amount", binding.fillInsulinamount.value) - } - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - onCreateViewGeneral() - _binding = DialogFillBinding.inflate(inflater, container, false) - return binding.root - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - val maxInsulin = constraintChecker.getMaxBolusAllowed().value() - val bolusStep = activePlugin.activePump.pumpDescription.bolusStep - binding.fillInsulinamount.setParams( - savedInstanceState?.getDouble("fill_insulin_amount") - ?: 0.0, 0.0, maxInsulin, bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), true, binding.okcancel.ok - ) - val amount1 = sp.getDouble("fill_button1", 0.3) - if (amount1 > 0) { - binding.fillPresetButton1.visibility = View.VISIBLE - binding.fillPresetButton1.text = DecimalFormatter.toPumpSupportedBolus(amount1, activePlugin.activePump) // + "U"); - binding.fillPresetButton1.setOnClickListener { binding.fillInsulinamount.value = amount1 } - } else { - binding.fillPresetButton1.visibility = View.GONE - } - val amount2 = sp.getDouble("fill_button2", 0.0) - if (amount2 > 0) { - binding.fillPresetButton2.visibility = View.VISIBLE - binding.fillPresetButton2.text = DecimalFormatter.toPumpSupportedBolus(amount2, activePlugin.activePump) // + "U"); - binding.fillPresetButton2.setOnClickListener { binding.fillInsulinamount.value = amount2 } - } else { - binding.fillPresetButton2.visibility = View.GONE - } - val amount3 = sp.getDouble("fill_button3", 0.0) - if (amount3 > 0) { - binding.fillPresetButton3.visibility = View.VISIBLE - binding.fillPresetButton3.text = DecimalFormatter.toPumpSupportedBolus(amount3, activePlugin.activePump) // + "U"); - binding.fillPresetButton3.setOnClickListener { binding.fillInsulinamount.value = amount3 } - } else { - binding.fillPresetButton3.visibility = View.GONE - } - binding.fillLabel.labelFor = binding.fillInsulinamount.editTextId - } - - override fun onDestroyView() { - super.onDestroyView() - _binding = null - } - - override fun submit(): Boolean { - if (_binding == null) return false - val insulin = SafeParse.stringToDouble(binding.fillInsulinamount.text) - val actions: LinkedList = LinkedList() - - val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(insulin)).value() - if (insulinAfterConstraints > 0) { - actions.add(rh.gs(R.string.fillwarning)) - actions.add("") - actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.insulinButtonColor)) - if (abs(insulinAfterConstraints - insulin) > 0.01) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) - } - val siteChange = binding.fillCatheterChange.isChecked - if (siteChange) - actions.add(rh.gs(R.string.record_pump_site_change).formatColor(context, rh, R.attr.actionsConfirmColor)) - val insulinChange = binding.fillCartridgeChange.isChecked - if (insulinChange) - actions.add(rh.gs(R.string.record_insulin_cartridge_change).formatColor(context, rh, R.attr.actionsConfirmColor)) - val notes: String = binding.notesLayout.notes.text.toString() - if (notes.isNotEmpty()) - actions.add(rh.gs(R.string.notes_label) + ": " + notes) - eventTime -= eventTime % 1000 - - if (eventTimeChanged) - actions.add(rh.gs(R.string.time) + ": " + dateUtil.dateAndTimeString(eventTime)) - - if (insulinAfterConstraints > 0 || binding.fillCatheterChange.isChecked || binding.fillCartridgeChange.isChecked) { - activity?.let { activity -> - OKDialog.showConfirmation(activity, rh.gs(R.string.primefill), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { - if (insulinAfterConstraints > 0) { - uel.log(Action.PRIME_BOLUS, Sources.FillDialog, - notes, - ValueWithUnit.Insulin(insulinAfterConstraints)) - requestPrimeBolus(insulinAfterConstraints, notes) - } - if (siteChange) { - uel.log( - Action.SITE_CHANGE, Sources.FillDialog, - notes, - ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, - ValueWithUnit.TherapyEventType(TherapyEvent.Type.CANNULA_CHANGE) - ) - disposable += repository.runTransactionForResult( - InsertIfNewByTimestampTherapyEventTransaction( - timestamp = eventTime, - type = TherapyEvent.Type.CANNULA_CHANGE, - note = notes, - glucoseUnit = TherapyEvent.GlucoseUnit.MGDL - ) - ).subscribe( - { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted therapy event $it") } }, - { aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) } - ) - } - if (insulinChange) { - // add a second for case of both checked - uel.log( - Action.RESERVOIR_CHANGE, Sources.FillDialog, - notes, - ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, - ValueWithUnit.TherapyEventType(TherapyEvent.Type.INSULIN_CHANGE) - ) - disposable += repository.runTransactionForResult( - InsertIfNewByTimestampTherapyEventTransaction( - timestamp = eventTime + 1000, - type = TherapyEvent.Type.INSULIN_CHANGE, - note = notes, - glucoseUnit = TherapyEvent.GlucoseUnit.MGDL - ) - ).subscribe( - { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted therapy event $it") } }, - { aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) } - ) - } - }, null) - } - } else { - activity?.let { activity -> - OKDialog.show(activity, rh.gs(R.string.primefill), rh.gs(R.string.no_action_selected)) - } - } - dismiss() - return true - } - - private fun requestPrimeBolus(insulin: Double, notes: String) { - val detailedBolusInfo = DetailedBolusInfo() - detailedBolusInfo.insulin = insulin - detailedBolusInfo.context = context - detailedBolusInfo.bolusType = DetailedBolusInfo.BolusType.PRIMING - detailedBolusInfo.notes = notes - commandQueue.bolus(detailedBolusInfo, object : Callback() { - override fun run() { - if (!result.success) { - activityNames.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror) - } - } - }) - } - - override fun onResume() { - super.onResume() - if (!queryingProtection) { - queryingProtection = true - activity?.let { activity -> - val cancelFail = { - queryingProtection = false - aapsLogger.debug(LTag.APS, "Dialog canceled on resume protection: ${this.javaClass.simpleName}") - ToastUtils.warnToast(ctx, R.string.dialog_canceled) - dismiss() - } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) - } - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index 9226532c8c..f5ec1b556d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -13,8 +13,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.ui.dialogs.ExtendedBolusDialog -import info.nightscout.androidaps.dialogs.FillDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog @@ -56,6 +54,8 @@ import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.activities.TDDStatsActivity import info.nightscout.ui.dialogs.CareDialog +import info.nightscout.ui.dialogs.ExtendedBolusDialog +import info.nightscout.ui.dialogs.FillDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index c829b5f68d..6a52c89dac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -540,7 +540,7 @@ class DataHandlerMobile @Inject constructor( else -> return } val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(amount)).value() - var message = rh.gs(R.string.primefill) + ": " + insulinAfterConstraints + "U" + var message = rh.gs(R.string.prime_fill) + ": " + insulinAfterConstraints + "U" if (insulinAfterConstraints - amount != 0.0) message += "\n" + rh.gs(R.string.constraint_applied) rxBus.send( EventMobileToWear( @@ -554,7 +554,7 @@ class DataHandlerMobile @Inject constructor( private fun handleFillPreCheck(command: EventData.ActionFillPreCheck) { val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(command.insulin)).value() - var message = rh.gs(R.string.primefill) + ": " + insulinAfterConstraints + "U" + var message = rh.gs(R.string.prime_fill) + ": " + insulinAfterConstraints + "U" if (insulinAfterConstraints - command.insulin != 0.0) message += "\n" + rh.gs(R.string.constraint_applied) rxBus.send( EventMobileToWear( diff --git a/app/src/main/res/layout/actions_fragment.xml b/app/src/main/res/layout/actions_fragment.xml index 8c4fa406a7..8136b4ca1b 100644 --- a/app/src/main/res/layout/actions_fragment.xml +++ b/app/src/main/res/layout/actions_fragment.xml @@ -208,10 +208,10 @@ style="@style/GrayButton" android:layout_width="0dp" android:layout_height="wrap_content" - android:drawableTop="@drawable/ic_cp_pump_canula" + android:drawableTop="@drawable/ic_cp_pump_cannula" android:paddingStart="0dp" android:paddingEnd="0dp" - android:text="@string/primefill" + android:text="@string/prime_fill" android:textSize="11sp" app:layout_column="1" app:layout_columnWeight="1" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 55ec9f77f8..45eeaf7823 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -158,12 +158,6 @@ (DANGEROUS TO DISABLE) NS upload only NS upload only (disabled sync). Not effective on SGV unless a local source like xDrip+ is selected. Not effective on Profiles while NS-Profiles is used.\n!!! WARNING !!! Disabling this option may cause malfunctions and insulin overdose if any of your component (AAPS, NS, xDrip+) is wrong configured. Carefully watch if data displayed by AAPS match the pump state! Pump not initialized! - Prime/Fill - Please make sure the amount matches the specification of your infusion set! - Fill/Prime standard insulin amounts - Button 1 - Button 2 - Button 3 Units Range for Visualization High and low mark for the charts in Overview and Smartwatch @@ -358,7 +352,6 @@ Enable SMB when there is temp target active (eating soon, exercise) Enable SMB with high temp targets Enable SMB when there is high temp target active (exercise, above 100 mg/dl or 5.5 mmol/l) - Insulin Buttons show_calibration_button show_cgm_button @@ -422,8 +415,6 @@ max value in preferences hard limit openapsama_useautosens - Record pump site change - Record insulin cartridge change SMB always and after carbs disabled because active BG source doesn\'t support advanced filtering SMB not allowed in open loop mode IobCobCalculator @@ -524,7 +515,6 @@ uamsmbmaxminutes 2h COB vs IOB - Bolus constraint applied: %1$.2f U to %2$.2f U !!!!! Slow carbs absorption detected: %2$d%% of time. Double check your calculation. COB can be overestimated thus more insulin could be given !!!!!]]> boluswizard_percentage Deliver this part of bolus wizard result [%] diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt index 0a8ee44dde..79ebf5557d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt @@ -137,12 +137,12 @@ class Translator @Inject internal constructor( TherapyEvent.Type.NOTE -> rh.gs(R.string.careportal_note) TherapyEvent.Type.QUESTION -> rh.gs(R.string.careportal_question) TherapyEvent.Type.EXERCISE -> rh.gs(R.string.careportal_exercise) - TherapyEvent.Type.CANNULA_CHANGE -> rh.gs(R.string.careportal_pumpsitechange) + TherapyEvent.Type.CANNULA_CHANGE -> rh.gs(R.string.careportal_pump_site_change) TherapyEvent.Type.PUMP_BATTERY_CHANGE -> rh.gs(R.string.careportal_pumpbatterychange) TherapyEvent.Type.SENSOR_STARTED -> rh.gs(R.string.careportal_cgmsensorstart) TherapyEvent.Type.SENSOR_STOPPED -> rh.gs(R.string.careportal_cgm_sensor_stop) TherapyEvent.Type.SENSOR_CHANGE -> rh.gs(R.string.careportal_cgmsensorinsert) - TherapyEvent.Type.INSULIN_CHANGE -> rh.gs(R.string.careportal_insulincartridgechange) + TherapyEvent.Type.INSULIN_CHANGE -> rh.gs(R.string.careportal_insulin_cartridge_change) TherapyEvent.Type.DAD_ALERT -> rh.gs(R.string.careportal_dad_alert) TherapyEvent.Type.TEMPORARY_BASAL_START -> rh.gs(R.string.careportal_tempbasalstart) TherapyEvent.Type.TEMPORARY_BASAL_END -> rh.gs(R.string.careportal_tempbasalend) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index 2de85ac78d..8452ad84a8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -53,7 +53,7 @@ class UserEntryPresentationHelper @Inject constructor( Sources.LoopDialog -> R.drawable.ic_loop_closed Sources.TempBasalDialog -> R.drawable.ic_actions_starttempbasal Sources.CalibrationDialog -> R.drawable.ic_calibration - Sources.FillDialog -> R.drawable.ic_cp_pump_canula + Sources.FillDialog -> R.drawable.ic_cp_pump_cannula Sources.BgCheck -> R.drawable.ic_cp_bgcheck Sources.SensorInsert -> R.drawable.ic_cp_cgm_insert Sources.BatteryChange -> R.drawable.ic_cp_pump_battery diff --git a/core/core-main/src/main/res/drawable/ic_cp_pump_canula.xml b/core/core-main/src/main/res/drawable/ic_cp_pump_cannula.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_cp_pump_canula.xml rename to core/core-main/src/main/res/drawable/ic_cp_pump_cannula.xml diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 109022b62d..aa66f3b196 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -254,6 +254,8 @@ INVALID Login Upload now + Prime/Fill + Insulin Limiting max basal rate to %1$.2f U/h because of %2$s @@ -320,12 +322,12 @@ Note : %1$s Question : %1$s Exercise : %1$s - Pump Site Change + Pump Site Change CGM Sensor Insert CGM Sensor Start CGM Sensor Stop D.A.D. Alert - Insulin Cartridge Change + Insulin Cartridge Change Profile switch Snack Bolus Meal Bolus diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index d0573b986f..f58bc19144 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -20,6 +20,7 @@ import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.ui.dialogs.CareDialog import info.nightscout.ui.dialogs.ExtendedBolusDialog +import info.nightscout.ui.dialogs.FillDialog import info.nightscout.ui.dialogs.ProfileViewerDialog import info.nightscout.ui.dialogs.WizardInfoDialog @@ -33,6 +34,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesWizardInfoDialog(): WizardInfoDialog @ContributesAndroidInjector abstract fun contributesProfileViewerDialog(): ProfileViewerDialog @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog + @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt new file mode 100644 index 0000000000..2f5d388375 --- /dev/null +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -0,0 +1,232 @@ +package info.nightscout.ui.dialogs + +import android.content.Context +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.google.common.base.Joiner +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate +import info.nightscout.androidaps.extensions.formatColor +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.rx.logging.LTag +import info.nightscout.shared.SafeParse +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogFillBinding +import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign +import java.util.LinkedList +import javax.inject.Inject +import kotlin.math.abs + +class FillDialog : DialogFragmentWithDate() { + + @Inject lateinit var constraintChecker: Constraints + @Inject lateinit var rh: ResourceHelper + @Inject lateinit var ctx: Context + @Inject lateinit var commandQueue: CommandQueue + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var uel: UserEntryLogger + @Inject lateinit var repository: AppRepository + @Inject lateinit var protectionCheck: ProtectionCheck + @Inject lateinit var activityNames: ActivityNames + + private var queryingProtection = false + private val disposable = CompositeDisposable() + private var _binding: DialogFillBinding? = null + + // This property is only valid between onCreateView and onDestroyView. + private val binding get() = _binding!! + + override fun onSaveInstanceState(savedInstanceState: Bundle) { + super.onSaveInstanceState(savedInstanceState) + savedInstanceState.putDouble("fill_insulin_amount", binding.fillInsulinAmount.value) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + onCreateViewGeneral() + _binding = DialogFillBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val maxInsulin = constraintChecker.getMaxBolusAllowed().value() + val bolusStep = activePlugin.activePump.pumpDescription.bolusStep + binding.fillInsulinAmount.setParams( + savedInstanceState?.getDouble("fill_insulin_amount") + ?: 0.0, 0.0, maxInsulin, bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), true, binding.okcancel.ok + ) + val amount1 = sp.getDouble("fill_button1", 0.3) + if (amount1 > 0) { + binding.fillPresetButton1.visibility = View.VISIBLE + binding.fillPresetButton1.text = DecimalFormatter.toPumpSupportedBolus(amount1, activePlugin.activePump) // + "U"); + binding.fillPresetButton1.setOnClickListener { binding.fillInsulinAmount.value = amount1 } + } else { + binding.fillPresetButton1.visibility = View.GONE + } + val amount2 = sp.getDouble("fill_button2", 0.0) + if (amount2 > 0) { + binding.fillPresetButton2.visibility = View.VISIBLE + binding.fillPresetButton2.text = DecimalFormatter.toPumpSupportedBolus(amount2, activePlugin.activePump) // + "U"); + binding.fillPresetButton2.setOnClickListener { binding.fillInsulinAmount.value = amount2 } + } else { + binding.fillPresetButton2.visibility = View.GONE + } + val amount3 = sp.getDouble("fill_button3", 0.0) + if (amount3 > 0) { + binding.fillPresetButton3.visibility = View.VISIBLE + binding.fillPresetButton3.text = DecimalFormatter.toPumpSupportedBolus(amount3, activePlugin.activePump) // + "U"); + binding.fillPresetButton3.setOnClickListener { binding.fillInsulinAmount.value = amount3 } + } else { + binding.fillPresetButton3.visibility = View.GONE + } + binding.fillLabel.labelFor = binding.fillInsulinAmount.editTextId + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + override fun submit(): Boolean { + if (_binding == null) return false + val insulin = SafeParse.stringToDouble(binding.fillInsulinAmount.text) + val actions: LinkedList = LinkedList() + + val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(insulin)).value() + if (insulinAfterConstraints > 0) { + actions.add(rh.gs(R.string.fillwarning)) + actions.add("") + actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.insulinButtonColor)) + if (abs(insulinAfterConstraints - insulin) > 0.01) + actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + } + val siteChange = binding.fillCatheterChange.isChecked + if (siteChange) + actions.add(rh.gs(R.string.record_pump_site_change).formatColor(context, rh, R.attr.actionsConfirmColor)) + val insulinChange = binding.fillCartridgeChange.isChecked + if (insulinChange) + actions.add(rh.gs(R.string.record_insulin_cartridge_change).formatColor(context, rh, R.attr.actionsConfirmColor)) + val notes: String = binding.notesLayout.notes.text.toString() + if (notes.isNotEmpty()) + actions.add(rh.gs(R.string.notes_label) + ": " + notes) + eventTime -= eventTime % 1000 + + if (eventTimeChanged) + actions.add(rh.gs(R.string.time) + ": " + dateUtil.dateAndTimeString(eventTime)) + + if (insulinAfterConstraints > 0 || binding.fillCatheterChange.isChecked || binding.fillCartridgeChange.isChecked) { + activity?.let { activity -> + OKDialog.showConfirmation(activity, rh.gs(R.string.prime_fill), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { + if (insulinAfterConstraints > 0) { + uel.log( + UserEntry.Action.PRIME_BOLUS, UserEntry.Sources.FillDialog, + notes, + ValueWithUnit.Insulin(insulinAfterConstraints) + ) + requestPrimeBolus(insulinAfterConstraints, notes) + } + if (siteChange) { + uel.log( + UserEntry.Action.SITE_CHANGE, UserEntry.Sources.FillDialog, + notes, + ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, + ValueWithUnit.TherapyEventType(TherapyEvent.Type.CANNULA_CHANGE) + ) + disposable += repository.runTransactionForResult( + InsertIfNewByTimestampTherapyEventTransaction( + timestamp = eventTime, + type = TherapyEvent.Type.CANNULA_CHANGE, + note = notes, + glucoseUnit = TherapyEvent.GlucoseUnit.MGDL + ) + ).subscribe( + { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted therapy event $it") } }, + { aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) } + ) + } + if (insulinChange) { + // add a second for case of both checked + uel.log( + UserEntry.Action.RESERVOIR_CHANGE, UserEntry.Sources.FillDialog, + notes, + ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, + ValueWithUnit.TherapyEventType(TherapyEvent.Type.INSULIN_CHANGE) + ) + disposable += repository.runTransactionForResult( + InsertIfNewByTimestampTherapyEventTransaction( + timestamp = eventTime + 1000, + type = TherapyEvent.Type.INSULIN_CHANGE, + note = notes, + glucoseUnit = TherapyEvent.GlucoseUnit.MGDL + ) + ).subscribe( + { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted therapy event $it") } }, + { aapsLogger.error(LTag.DATABASE, "Error while saving therapy event", it) } + ) + } + }, null) + } + } else { + activity?.let { activity -> + OKDialog.show(activity, rh.gs(R.string.prime_fill), rh.gs(R.string.no_action_selected)) + } + } + dismiss() + return true + } + + private fun requestPrimeBolus(insulin: Double, notes: String) { + val detailedBolusInfo = DetailedBolusInfo() + detailedBolusInfo.insulin = insulin + detailedBolusInfo.context = context + detailedBolusInfo.bolusType = DetailedBolusInfo.BolusType.PRIMING + detailedBolusInfo.notes = notes + commandQueue.bolus(detailedBolusInfo, object : Callback() { + override fun run() { + if (!result.success) { + activityNames.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror) + } + } + }) + } + + override fun onResume() { + super.onResume() + if (!queryingProtection) { + queryingProtection = true + activity?.let { activity -> + val cancelFail = { + queryingProtection = false + aapsLogger.debug(LTag.APS, "Dialog canceled on resume protection: ${this.javaClass.simpleName}") + ToastUtils.warnToast(ctx, R.string.dialog_canceled) + dismiss() + } + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_fill.xml b/ui/src/main/res/layout/dialog_fill.xml similarity index 94% rename from app/src/main/res/layout/dialog_fill.xml rename to ui/src/main/res/layout/dialog_fill.xml index 0bfd8f9749..d0cc7ce813 100644 --- a/app/src/main/res/layout/dialog_fill.xml +++ b/ui/src/main/res/layout/dialog_fill.xml @@ -23,7 +23,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:importantForAccessibility="no" - app:srcCompat="@drawable/ic_cp_pump_canula" /> + app:srcCompat="@drawable/ic_cp_pump_cannula" /> @@ -56,13 +56,13 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:text="@string/careportal_pumpsitechange" /> + android:text="@string/careportal_pump_site_change" /> + android:text="@string/careportal_insulin_cartridge_change" />
@@ -82,7 +82,7 @@ android:textStyle="bold" /> Most common profile: Note: Only data visible on this screen will be anonymously uploaded. ID is assigned to this installation of AAPS. You can submit data again if your main profile get changed but let it running at least for a week to make result visible in time in range. Your help is appreciated. - + + + Bolus constraint applied: %1$.2f U to %2$.2f U + Glucose type Other Meter @@ -46,6 +49,16 @@ Superbolus Total + + Please make sure the amount matches the specification of your infusion set! + Fill/Prime standard insulin amounts + Button 1 + Button 2 + Button 3 + Record pump site change + Record insulin cartridge change + + No records available Calc From 18b434b2e24f06f54433d11f0a00102fee9626b8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 10:41:15 +0100 Subject: [PATCH 060/123] InsulinDialog -> ui --- .../info/nightscout/androidaps/MainApp.kt | 2 +- .../androidaps/di/FragmentsModule.kt | 2 - .../androidaps/dialogs/FillDialog.kt | 2 - .../androidaps/dialogs/InsulinDialog.kt | 309 ----------------- .../general/overview/OverviewFragment.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 2 +- app/src/main/res/layout/dialog_wizard.xml | 2 +- app/src/main/res/values/strings.xml | 5 - .../nightscout/ui/activities/StatsActivity.kt | 2 +- .../ActivityMonitor.kt | 2 +- .../java/info/nightscout/ui/di/UiModule.kt | 2 + .../nightscout/ui/dialogs/InsulinDialog.kt | 310 ++++++++++++++++++ .../ui}/extensions/DoubleToSignedString.kt | 0 .../src/main/res/layout/dialog_insulin.xml | 0 ui/src/main/res/values/strings.xml | 7 + wear/src/main/res/values/strings.xml | 2 - 16 files changed, 325 insertions(+), 326 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt rename ui/src/main/java/info/nightscout/ui/{utils => activityMonitor}/ActivityMonitor.kt (99%) create mode 100644 ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt rename {app/src/main/java/info/nightscout/androidaps/utils => ui/src/main/java/info/nightscout/ui}/extensions/DoubleToSignedString.kt (100%) rename {app => ui}/src/main/res/layout/dialog_insulin.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 5be051f1d0..0f17bfecad 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -47,7 +47,7 @@ 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 info.nightscout.ui.utils.ActivityMonitor +import info.nightscout.ui.activityMonitor.ActivityMonitor import info.nightscout.ui.widget.Widget import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.exceptions.UndeliverableException diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index acd0f1877e..9a2a9dda6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.NtpProgressDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog @@ -40,7 +39,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesEditQuickWizardDialog(): EditQuickWizardDialog - @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesLoopDialog(): LoopDialog @ContributesAndroidInjector abstract fun contributesObjectivesExamDialog(): ObjectivesExamDialog @ContributesAndroidInjector abstract fun contributesProfileSwitchDialog(): ProfileSwitchDialog diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt deleted file mode 100644 index 2e4bef4f6d..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/FillDialog.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.dialogs - diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt index ccb5ca7e61..2e4bef4f6d 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt @@ -1,311 +1,2 @@ package info.nightscout.androidaps.dialogs -import android.content.Context -import android.os.Bundle -import android.text.Editable -import android.text.TextWatcher -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.google.common.base.Joiner -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogInsulinBinding -import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.extensions.toSignedString -import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.core.profile.toMgdl -import info.nightscout.core.pumpExtensions.insertBolusTransaction -import info.nightscout.database.entities.TemporaryTarget -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources -import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction -import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.Config -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.constraints.Constraint -import info.nightscout.interfaces.profile.Profile -import info.nightscout.interfaces.pump.DetailedBolusInfo -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.ui.ActivityNames -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.rx.logging.LTag -import info.nightscout.shared.SafeParse -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.shared.utils.T -import io.reactivex.rxjava3.disposables.CompositeDisposable -import io.reactivex.rxjava3.kotlin.plusAssign -import java.text.DecimalFormat -import java.util.LinkedList -import java.util.concurrent.TimeUnit -import javax.inject.Inject -import kotlin.math.abs -import kotlin.math.max - -class InsulinDialog : DialogFragmentWithDate() { - - @Inject lateinit var constraintChecker: Constraints - @Inject lateinit var rh: ResourceHelper - @Inject lateinit var defaultValueHelper: DefaultValueHelper - @Inject lateinit var profileFunction: ProfileFunction - @Inject lateinit var commandQueue: CommandQueue - @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var ctx: Context - @Inject lateinit var repository: AppRepository - @Inject lateinit var config: Config - @Inject lateinit var bolusTimer: BolusTimer - @Inject lateinit var uel: UserEntryLogger - @Inject lateinit var protectionCheck: ProtectionCheck - @Inject lateinit var activityNames: ActivityNames - - companion object { - - const val PLUS1_DEFAULT = 0.5 - const val PLUS2_DEFAULT = 1.0 - const val PLUS3_DEFAULT = 2.0 - } - - private var queryingProtection = false - private val disposable = CompositeDisposable() - private var _binding: DialogInsulinBinding? = null - - // This property is only valid between onCreateView and onDestroyView. - private val binding get() = _binding!! - - private val textWatcher: TextWatcher = object : TextWatcher { - override fun afterTextChanged(s: Editable) { - validateInputs() - } - - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} - override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {} - } - - private fun validateInputs() { - val maxInsulin = constraintChecker.getMaxBolusAllowed().value() - if (abs(binding.time.value.toInt()) > 12 * 60) { - binding.time.value = 0.0 - ToastUtils.warnToast(context, R.string.constraint_applied) - } - if (binding.amount.value > maxInsulin) { - binding.amount.value = 0.0 - ToastUtils.warnToast(context, R.string.bolus_constraint_applied) - } - } - - override fun onSaveInstanceState(savedInstanceState: Bundle) { - super.onSaveInstanceState(savedInstanceState) - savedInstanceState.putDouble("time", binding.time.value) - savedInstanceState.putDouble("amount", binding.amount.value) - } - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View { - onCreateViewGeneral() - _binding = DialogInsulinBinding.inflate(inflater, container, false) - return binding.root - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - if (config.NSCLIENT) { - binding.recordOnly.isChecked = true - binding.recordOnly.isEnabled = false - } - val maxInsulin = constraintChecker.getMaxBolusAllowed().value() - - binding.time.setParams( - savedInstanceState?.getDouble("time") - ?: 0.0, -12 * 60.0, 12 * 60.0, 5.0, DecimalFormat("0"), false, binding.okcancel.ok, textWatcher - ) - binding.amount.setParams( - savedInstanceState?.getDouble("amount") - ?: 0.0, 0.0, maxInsulin, activePlugin.activePump.pumpDescription.bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), false, binding.okcancel.ok, textWatcher - ) - - val plus05Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_1), PLUS1_DEFAULT).toSignedString(activePlugin.activePump) - binding.plus05.text = plus05Text - binding.plus05.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus05Text - binding.plus05.setOnClickListener { - binding.amount.value = max( - 0.0, binding.amount.value - + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_1), PLUS1_DEFAULT) - ) - validateInputs() - binding.amount.announceValue() - } - val plus10Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_2), PLUS2_DEFAULT).toSignedString(activePlugin.activePump) - binding.plus10.text = plus10Text - binding.plus10.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus10Text - binding.plus10.setOnClickListener { - binding.amount.value = max( - 0.0, binding.amount.value - + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_2), PLUS2_DEFAULT) - ) - validateInputs() - binding.amount.announceValue() - } - val plus20Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_3), PLUS3_DEFAULT).toSignedString(activePlugin.activePump) - binding.plus20.text = plus20Text - binding.plus20.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus20Text - binding.plus20.setOnClickListener { - binding.amount.value = max( - 0.0, binding.amount.value - + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_3), PLUS3_DEFAULT) - ) - validateInputs() - binding.amount.announceValue() - } - - binding.timeLayout.visibility = View.GONE - binding.recordOnly.setOnCheckedChangeListener { _, isChecked: Boolean -> - binding.timeLayout.visibility = isChecked.toVisibility() - } - binding.insulinLabel.labelFor = binding.amount.editTextId - binding.timeLabel.labelFor = binding.time.editTextId - } - - override fun onDestroyView() { - super.onDestroyView() - disposable.clear() - _binding = null - } - - override fun submit(): Boolean { - if (_binding == null) return false - val pumpDescription = activePlugin.activePump.pumpDescription - val insulin = SafeParse.stringToDouble(binding.amount.text) - val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(insulin)).value() - val actions: LinkedList = LinkedList() - val units = profileFunction.getUnits() - val unitLabel = if (units == GlucoseUnit.MMOL) rh.gs(R.string.mmol) else rh.gs(R.string.mgdl) - val recordOnlyChecked = binding.recordOnly.isChecked - val eatingSoonChecked = binding.startEatingSoonTt.isChecked - - if (insulinAfterConstraints > 0) { - actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.bolusColor)) - if (recordOnlyChecked) - actions.add(rh.gs(R.string.bolusrecordedonly).formatColor(context, rh, R.attr.warningColor)) - if (abs(insulinAfterConstraints - insulin) > pumpDescription.pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) - } - val eatingSoonTTDuration = defaultValueHelper.determineEatingSoonTTDuration() - val eatingSoonTT = defaultValueHelper.determineEatingSoonTT() - if (eatingSoonChecked) - actions.add( - rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, eatingSoonTTDuration) + ")") - .formatColor(context, rh, R.attr.tempTargetConfirmation) - ) - - val timeOffset = binding.time.value.toInt() - val time = dateUtil.now() + T.mins(timeOffset.toLong()).msecs() - if (timeOffset != 0) - actions.add(rh.gs(R.string.time) + ": " + dateUtil.dateAndTimeString(time)) - - val notes = binding.notesLayout.notes.text.toString() - if (notes.isNotEmpty()) - actions.add(rh.gs(R.string.notes_label) + ": " + notes) - - if (insulinAfterConstraints > 0 || eatingSoonChecked) { - activity?.let { activity -> - OKDialog.showConfirmation(activity, rh.gs(R.string.bolus), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { - if (eatingSoonChecked) { - uel.log( - Action.TT, Sources.InsulinDialog, - notes, - ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.EATING_SOON), - ValueWithUnit.fromGlucoseUnit(eatingSoonTT, units.asText), - ValueWithUnit.Minute(eatingSoonTTDuration) - ) - disposable += repository.runTransactionForResult( - InsertAndCancelCurrentTemporaryTargetTransaction( - timestamp = System.currentTimeMillis(), - duration = TimeUnit.MINUTES.toMillis(eatingSoonTTDuration.toLong()), - reason = TemporaryTarget.Reason.EATING_SOON, - lowTarget = Profile.toMgdl(eatingSoonTT, profileFunction.getUnits()), - highTarget = Profile.toMgdl(eatingSoonTT, profileFunction.getUnits()) - ) - ).subscribe({ result -> - result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") } - result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } - }, { - aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - }) - } - if (insulinAfterConstraints > 0) { - val detailedBolusInfo = DetailedBolusInfo() - detailedBolusInfo.eventType = DetailedBolusInfo.EventType.CORRECTION_BOLUS - detailedBolusInfo.insulin = insulinAfterConstraints - detailedBolusInfo.context = context - detailedBolusInfo.notes = notes - detailedBolusInfo.timestamp = time - if (recordOnlyChecked) { - uel.log(Action.BOLUS, Sources.InsulinDialog, - rh.gs(R.string.record) + if (notes.isNotEmpty()) ": $notes" else "", - ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.record)), - ValueWithUnit.Insulin(insulinAfterConstraints), - ValueWithUnit.Minute(timeOffset).takeIf { timeOffset != 0 }) - disposable += repository.runTransactionForResult(detailedBolusInfo.insertBolusTransaction()) - .subscribe( - { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted bolus $it") } }, - { aapsLogger.error(LTag.DATABASE, "Error while saving bolus", it) } - ) - if (timeOffset == 0) - bolusTimer.removeAutomationEventBolusReminder() - } else { - uel.log( - Action.BOLUS, Sources.InsulinDialog, - notes, - ValueWithUnit.Insulin(insulinAfterConstraints) - ) - commandQueue.bolus(detailedBolusInfo, object : Callback() { - override fun run() { - if (!result.success) { - activityNames.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror) - } else { - bolusTimer.removeAutomationEventBolusReminder() - } - } - }) - } - } - }) - } - } else - activity?.let { activity -> - OKDialog.show(activity, rh.gs(R.string.bolus), rh.gs(R.string.no_action_selected)) - } - return true - } - - override fun onResume() { - super.onResume() - if (!queryingProtection) { - queryingProtection = true - activity?.let { activity -> - val cancelFail = { - queryingProtection = false - aapsLogger.debug(LTag.APS, "Dialog canceled on resume protection: ${this.javaClass.simpleName}") - ToastUtils.warnToast(ctx, R.string.dialog_canceled) - dismiss() - } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) - } - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index f6f780966e..c99e239d16 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -30,7 +30,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding -import info.nightscout.androidaps.dialogs.InsulinDialog +import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempTargetDialog diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 6a52c89dac..c555df697d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -4,7 +4,7 @@ import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.dialogs.InsulinDialog +import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.total diff --git a/app/src/main/res/layout/dialog_wizard.xml b/app/src/main/res/layout/dialog_wizard.xml index 419fbde9f8..7a2df77232 100644 --- a/app/src/main/res/layout/dialog_wizard.xml +++ b/app/src/main/res/layout/dialog_wizard.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:focusableInTouchMode="true" - tools:context=".dialogs.InsulinDialog"> + tools:context="info.nightscout.ui.dialogs.InsulinDialog"> show_treatment_button Sends a calibration to xDrip+ or open BYODA calibration dialog Opens xDrip+ or BYODA, back buttons returns to AAPS - insulin_button_increment_1 - insulin_button_increment_2 - insulin_button_increment_3 Number of carbs to add when button is pressed Amount of insulin to add when button is pressed Could not launch CGM application. Make sure it is installed. @@ -381,8 +378,6 @@ Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. Please update your Dexcom app to supported version Dexcom app is not installed. - Do not bolus, record only - Bolus will be recorded only (not delivered by pump) SMB set by pump Activity Blood Glucose Impact diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 14fe7b7a77..2b1c996454 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -15,7 +15,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityStatsBinding -import info.nightscout.ui.utils.ActivityMonitor +import info.nightscout.ui.activityMonitor.ActivityMonitor import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt b/ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt similarity index 99% rename from ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt rename to ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt index e755c1dd59..ef7c10413a 100644 --- a/ui/src/main/java/info/nightscout/ui/utils/ActivityMonitor.kt +++ b/ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt @@ -1,4 +1,4 @@ -package info.nightscout.ui.utils +package info.nightscout.ui.activityMonitor import android.app.Activity import android.app.Application diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index f58bc19144..0968c35b24 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -21,6 +21,7 @@ import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.ui.dialogs.CareDialog import info.nightscout.ui.dialogs.ExtendedBolusDialog import info.nightscout.ui.dialogs.FillDialog +import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.ui.dialogs.ProfileViewerDialog import info.nightscout.ui.dialogs.WizardInfoDialog @@ -35,6 +36,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesProfileViewerDialog(): ProfileViewerDialog @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog + @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt new file mode 100644 index 0000000000..8d5c53a3be --- /dev/null +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -0,0 +1,310 @@ +package info.nightscout.ui.dialogs + +import android.content.Context +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.google.common.base.Joiner +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate +import info.nightscout.androidaps.extensions.formatColor +import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.interfaces.CommandQueue +import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.androidaps.utils.extensions.toSignedString +import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.core.profile.toMgdl +import info.nightscout.core.pumpExtensions.insertBolusTransaction +import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.entities.UserEntry +import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.rx.logging.LTag +import info.nightscout.shared.SafeParse +import info.nightscout.shared.extensions.toVisibility +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.T +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogInsulinBinding +import io.reactivex.rxjava3.disposables.CompositeDisposable +import io.reactivex.rxjava3.kotlin.plusAssign +import java.text.DecimalFormat +import java.util.LinkedList +import java.util.concurrent.TimeUnit +import javax.inject.Inject +import kotlin.math.abs +import kotlin.math.max + +class InsulinDialog : DialogFragmentWithDate() { + + @Inject lateinit var constraintChecker: Constraints + @Inject lateinit var rh: ResourceHelper + @Inject lateinit var defaultValueHelper: DefaultValueHelper + @Inject lateinit var profileFunction: ProfileFunction + @Inject lateinit var commandQueue: CommandQueue + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var ctx: Context + @Inject lateinit var repository: AppRepository + @Inject lateinit var config: Config + @Inject lateinit var bolusTimer: BolusTimer + @Inject lateinit var uel: UserEntryLogger + @Inject lateinit var protectionCheck: ProtectionCheck + @Inject lateinit var activityNames: ActivityNames + + companion object { + + const val PLUS1_DEFAULT = 0.5 + const val PLUS2_DEFAULT = 1.0 + const val PLUS3_DEFAULT = 2.0 + } + + private var queryingProtection = false + private val disposable = CompositeDisposable() + private var _binding: DialogInsulinBinding? = null + + // This property is only valid between onCreateView and onDestroyView. + private val binding get() = _binding!! + + private val textWatcher: TextWatcher = object : TextWatcher { + override fun afterTextChanged(s: Editable) { + validateInputs() + } + + override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} + override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {} + } + + private fun validateInputs() { + val maxInsulin = constraintChecker.getMaxBolusAllowed().value() + if (abs(binding.time.value.toInt()) > 12 * 60) { + binding.time.value = 0.0 + ToastUtils.warnToast(context, R.string.constraint_applied) + } + if (binding.amount.value > maxInsulin) { + binding.amount.value = 0.0 + ToastUtils.warnToast(context, R.string.bolus_constraint_applied) + } + } + + override fun onSaveInstanceState(savedInstanceState: Bundle) { + super.onSaveInstanceState(savedInstanceState) + savedInstanceState.putDouble("time", binding.time.value) + savedInstanceState.putDouble("amount", binding.amount.value) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + onCreateViewGeneral() + _binding = DialogInsulinBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + if (config.NSCLIENT) { + binding.recordOnly.isChecked = true + binding.recordOnly.isEnabled = false + } + val maxInsulin = constraintChecker.getMaxBolusAllowed().value() + + binding.time.setParams( + savedInstanceState?.getDouble("time") + ?: 0.0, -12 * 60.0, 12 * 60.0, 5.0, DecimalFormat("0"), false, binding.okcancel.ok, textWatcher + ) + binding.amount.setParams( + savedInstanceState?.getDouble("amount") + ?: 0.0, 0.0, maxInsulin, activePlugin.activePump.pumpDescription.bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), false, binding.okcancel.ok, textWatcher + ) + + val plus05Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_1), PLUS1_DEFAULT).toSignedString(activePlugin.activePump) + binding.plus05.text = plus05Text + binding.plus05.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus05Text + binding.plus05.setOnClickListener { + binding.amount.value = max( + 0.0, binding.amount.value + + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_1), PLUS1_DEFAULT) + ) + validateInputs() + binding.amount.announceValue() + } + val plus10Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_2), PLUS2_DEFAULT).toSignedString(activePlugin.activePump) + binding.plus10.text = plus10Text + binding.plus10.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus10Text + binding.plus10.setOnClickListener { + binding.amount.value = max( + 0.0, binding.amount.value + + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_2), PLUS2_DEFAULT) + ) + validateInputs() + binding.amount.announceValue() + } + val plus20Text = sp.getDouble(rh.gs(R.string.key_insulin_button_increment_3), PLUS3_DEFAULT).toSignedString(activePlugin.activePump) + binding.plus20.text = plus20Text + binding.plus20.contentDescription = rh.gs(R.string.overview_insulin_label) + " " + plus20Text + binding.plus20.setOnClickListener { + binding.amount.value = max( + 0.0, binding.amount.value + + sp.getDouble(rh.gs(R.string.key_insulin_button_increment_3), PLUS3_DEFAULT) + ) + validateInputs() + binding.amount.announceValue() + } + + binding.timeLayout.visibility = View.GONE + binding.recordOnly.setOnCheckedChangeListener { _, isChecked: Boolean -> + binding.timeLayout.visibility = isChecked.toVisibility() + } + binding.insulinLabel.labelFor = binding.amount.editTextId + binding.timeLabel.labelFor = binding.time.editTextId + } + + override fun onDestroyView() { + super.onDestroyView() + disposable.clear() + _binding = null + } + + override fun submit(): Boolean { + if (_binding == null) return false + val pumpDescription = activePlugin.activePump.pumpDescription + val insulin = SafeParse.stringToDouble(binding.amount.text) + val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(insulin)).value() + val actions: LinkedList = LinkedList() + val units = profileFunction.getUnits() + val unitLabel = if (units == GlucoseUnit.MMOL) rh.gs(R.string.mmol) else rh.gs(R.string.mgdl) + val recordOnlyChecked = binding.recordOnly.isChecked + val eatingSoonChecked = binding.startEatingSoonTt.isChecked + + if (insulinAfterConstraints > 0) { + actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.bolusColor)) + if (recordOnlyChecked) + actions.add(rh.gs(R.string.bolusrecordedonly).formatColor(context, rh, R.attr.warningColor)) + if (abs(insulinAfterConstraints - insulin) > pumpDescription.pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) + actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + } + val eatingSoonTTDuration = defaultValueHelper.determineEatingSoonTTDuration() + val eatingSoonTT = defaultValueHelper.determineEatingSoonTT() + if (eatingSoonChecked) + actions.add( + rh.gs(R.string.temp_target_short) + ": " + (DecimalFormatter.to1Decimal(eatingSoonTT) + " " + unitLabel + " (" + rh.gs(R.string.format_mins, eatingSoonTTDuration) + ")") + .formatColor(context, rh, R.attr.tempTargetConfirmation) + ) + + val timeOffset = binding.time.value.toInt() + val time = dateUtil.now() + T.mins(timeOffset.toLong()).msecs() + if (timeOffset != 0) + actions.add(rh.gs(R.string.time) + ": " + dateUtil.dateAndTimeString(time)) + + val notes = binding.notesLayout.notes.text.toString() + if (notes.isNotEmpty()) + actions.add(rh.gs(R.string.notes_label) + ": " + notes) + + if (insulinAfterConstraints > 0 || eatingSoonChecked) { + activity?.let { activity -> + OKDialog.showConfirmation(activity, rh.gs(R.string.bolus), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { + if (eatingSoonChecked) { + uel.log( + UserEntry.Action.TT, UserEntry.Sources.InsulinDialog, + notes, + ValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.EATING_SOON), + ValueWithUnit.fromGlucoseUnit(eatingSoonTT, units.asText), + ValueWithUnit.Minute(eatingSoonTTDuration) + ) + disposable += repository.runTransactionForResult( + InsertAndCancelCurrentTemporaryTargetTransaction( + timestamp = System.currentTimeMillis(), + duration = TimeUnit.MINUTES.toMillis(eatingSoonTTDuration.toLong()), + reason = TemporaryTarget.Reason.EATING_SOON, + lowTarget = Profile.toMgdl(eatingSoonTT, profileFunction.getUnits()), + highTarget = Profile.toMgdl(eatingSoonTT, profileFunction.getUnits()) + ) + ).subscribe({ result -> + result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") } + result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } + }, { + aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) + }) + } + if (insulinAfterConstraints > 0) { + val detailedBolusInfo = DetailedBolusInfo() + detailedBolusInfo.eventType = DetailedBolusInfo.EventType.CORRECTION_BOLUS + detailedBolusInfo.insulin = insulinAfterConstraints + detailedBolusInfo.context = context + detailedBolusInfo.notes = notes + detailedBolusInfo.timestamp = time + if (recordOnlyChecked) { + uel.log(UserEntry.Action.BOLUS, UserEntry.Sources.InsulinDialog, + rh.gs(R.string.record) + if (notes.isNotEmpty()) ": $notes" else "", + ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.record)), + ValueWithUnit.Insulin(insulinAfterConstraints), + ValueWithUnit.Minute(timeOffset).takeIf { timeOffset != 0 }) + disposable += repository.runTransactionForResult(detailedBolusInfo.insertBolusTransaction()) + .subscribe( + { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted bolus $it") } }, + { aapsLogger.error(LTag.DATABASE, "Error while saving bolus", it) } + ) + if (timeOffset == 0) + bolusTimer.removeAutomationEventBolusReminder() + } else { + uel.log( + UserEntry.Action.BOLUS, UserEntry.Sources.InsulinDialog, + notes, + ValueWithUnit.Insulin(insulinAfterConstraints) + ) + commandQueue.bolus(detailedBolusInfo, object : Callback() { + override fun run() { + if (!result.success) { + activityNames.runAlarm(ctx, result.comment, rh.gs(R.string.treatmentdeliveryerror), R.raw.boluserror) + } else { + bolusTimer.removeAutomationEventBolusReminder() + } + } + }) + } + } + }) + } + } else + activity?.let { activity -> + OKDialog.show(activity, rh.gs(R.string.bolus), rh.gs(R.string.no_action_selected)) + } + return true + } + + override fun onResume() { + super.onResume() + if (!queryingProtection) { + queryingProtection = true + activity?.let { activity -> + val cancelFail = { + queryingProtection = false + aapsLogger.debug(LTag.APS, "Dialog canceled on resume protection: ${this.javaClass.simpleName}") + ToastUtils.warnToast(ctx, R.string.dialog_canceled) + dismiss() + } + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt b/ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/utils/extensions/DoubleToSignedString.kt rename to ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt diff --git a/app/src/main/res/layout/dialog_insulin.xml b/ui/src/main/res/layout/dialog_insulin.xml similarity index 100% rename from app/src/main/res/layout/dialog_insulin.xml rename to ui/src/main/res/layout/dialog_insulin.xml diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index c578abadc1..14a6f5ecfd 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -58,6 +58,13 @@ Record pump site change Record insulin cartridge change + + insulin_button_increment_1 + insulin_button_increment_2 + insulin_button_increment_3 + Do not bolus, record only + Bolus will be recorded only (not delivered by pump) + No records available diff --git a/wear/src/main/res/values/strings.xml b/wear/src/main/res/values/strings.xml index d97cab5974..2c05f1d147 100644 --- a/wear/src/main/res/values/strings.xml +++ b/wear/src/main/res/values/strings.xml @@ -206,8 +206,6 @@ dark input_design complication_tap_action - insulin_button_increment_1 - insulin_button_increment_2 carbs_button_increment_1 carbs_button_increment_2 increment From ccb42caa609ba25e7a619bee00480e7376e695d1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 10:46:41 +0100 Subject: [PATCH 061/123] TreatmentDialog -> ui --- .../info/nightscout/androidaps/MainApp.kt | 4 +- .../androidaps/di/FragmentsModule.kt | 2 - .../androidaps/dialogs/InsulinDialog.kt | 2 - .../general/overview/OverviewFragment.kt | 8 +-- .../androidaps/utils/wizard/BolusWizard.kt | 4 +- app/src/main/res/menu/menu_main.xml | 2 +- app/src/main/res/xml/pref_overview.xml | 4 +- .../info}/activityMonitor/ActivityMonitor.kt | 11 ++-- .../ui/activities/ProfileHelperActivity.kt | 30 +++++------ .../nightscout/ui/activities/StatsActivity.kt | 4 +- .../java/info/nightscout/ui/di/UiModule.kt | 2 + .../info/nightscout/ui/dialogs/FillDialog.kt | 4 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 4 +- .../nightscout/ui}/dialogs/TreatmentDialog.kt | 51 ++++++++++--------- .../res/layout/activity_profilehelper.xml | 8 +-- .../src/main/res/layout/dialog_treatment.xml | 0 ui/src/main/res/values/strings.xml | 32 ++++++------ 17 files changed, 87 insertions(+), 85 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt rename {ui/src/main/java/info/nightscout/ui => app/src/test/java/info}/activityMonitor/ActivityMonitor.kt (99%) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/TreatmentDialog.kt (85%) rename {app => ui}/src/main/res/layout/dialog_treatment.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 0f17bfecad..c785ddde68 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -15,6 +15,7 @@ import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import dagger.android.AndroidInjector import dagger.android.DaggerApplication +import info.activityMonitor.ActivityMonitor import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector @@ -47,7 +48,6 @@ 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 info.nightscout.ui.activityMonitor.ActivityMonitor import info.nightscout.ui.widget.Widget import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.exceptions.UndeliverableException @@ -65,7 +65,7 @@ class MainApp : DaggerApplication() { @Inject lateinit var pluginStore: PluginStore @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var activityMonitor: ActivityMonitor + @Inject lateinit var activityMonitor: info.activityMonitor.ActivityMonitor @Inject lateinit var versionCheckersUtils: VersionCheckerUtils @Inject lateinit var sp: SP @Inject lateinit var config: Config diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 9a2a9dda6e..288b6bdd19 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.dialogs.NtpProgressDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog -import info.nightscout.androidaps.dialogs.TreatmentDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment @@ -44,7 +43,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesProfileSwitchDialog(): ProfileSwitchDialog @ContributesAndroidInjector abstract fun contributesTempBasalDialog(): TempBasalDialog @ContributesAndroidInjector abstract fun contributesTempTargetDialog(): TempTargetDialog - @ContributesAndroidInjector abstract fun contributesTreatmentDialog(): TreatmentDialog @ContributesAndroidInjector abstract fun contributesWizardDialog(): WizardDialog @ContributesAndroidInjector abstract fun contributesNtpProgressDialog(): NtpProgressDialog @ContributesAndroidInjector abstract fun contributesPasswordCheck(): PasswordCheck diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt deleted file mode 100644 index 2e4bef4f6d..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/InsulinDialog.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.dialogs - diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index c99e239d16..f6cdbf8874 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -30,11 +30,9 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding -import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempTargetDialog -import info.nightscout.androidaps.dialogs.TreatmentDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG @@ -60,8 +58,6 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.plugins.source.DexcomPlugin -import info.nightscout.plugins.source.XdripPlugin import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils @@ -92,6 +88,8 @@ import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.general.overview.notifications.NotificationStore import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.XdripPlugin import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers @@ -112,6 +110,8 @@ import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog +import info.nightscout.ui.dialogs.InsulinDialog +import info.nightscout.ui.dialogs.TreatmentDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index 68d20dcaa9..78c192a29b 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -348,9 +348,9 @@ class BolusWizard @Inject constructor( actions.add(rh.gs(R.string.slowabsorptiondetected, rh.gac(context, R.attr.cobAlertColor), (absorptionRate * 100).toInt())) } if (abs(insulinAfterConstraints - calculatedTotalInsulin) > activePlugin.activePump.pumpDescription.pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, calculatedTotalInsulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_constraint_applied_warn, calculatedTotalInsulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) if (config.NSCLIENT && insulinAfterConstraints > 0) - actions.add(rh.gs(R.string.bolusrecordedonly).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_recorded_only).formatColor(context, rh, R.attr.warningColor)) if (useAlarm && !advisor && carbs > 0 && carbTime > 0) actions.add(rh.gs(R.string.alarminxmin, carbTime).formatColor(context, rh, R.attr.infoColor)) if (advisor) diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 1cd9f44799..df1e452145 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -43,7 +43,7 @@ android:id="@+id/nav_defaultprofile" android:orderInCategory="1" app:showAsAction="never" - android:title="@string/nav_profilehelper" /> + android:title="@string/nav_profile_helper" /> + android:key="@string/fill_bolus_title" + android:title="@string/fill_bolus_title"> when (binding.profileType.text.toString()) { - rh.gs(R.string.motoldefaultprofile) -> switchTab(tabSelected, ProfileType.MOTOL_DEFAULT) - rh.gs(R.string.dpvdefaultprofile) -> switchTab(tabSelected, ProfileType.DPV_DEFAULT) - rh.gs(R.string.currentprofile) -> switchTab(tabSelected, ProfileType.CURRENT) - rh.gs(R.string.availableprofile) -> switchTab(tabSelected, ProfileType.AVAILABLE_PROFILE) + rh.gs(R.string.motol_default_profile) -> switchTab(tabSelected, ProfileType.MOTOL_DEFAULT) + rh.gs(R.string.dpv_default_profile) -> switchTab(tabSelected, ProfileType.DPV_DEFAULT) + rh.gs(R.string.current_profile) -> switchTab(tabSelected, ProfileType.CURRENT) + rh.gs(R.string.available_profile) -> switchTab(tabSelected, ProfileType.AVAILABLE_PROFILE) rh.gs(R.string.careportal_profileswitch) -> switchTab(tabSelected, ProfileType.PROFILE_SWITCH) } } @@ -205,7 +205,7 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { return@setOnClickListener } if ((pctUsed[i] < 32 || pctUsed[i] > 37)) { - ToastUtils.warnToast(this, R.string.invalidpct) + ToastUtils.warnToast(this, R.string.invalid_pct) return@setOnClickListener } } @@ -259,8 +259,8 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { private fun getProfileName(age: Double, tdd: Double, weight: Double, basalSumPct: Double, tab: Int): String = when (typeSelected[tab]) { - ProfileType.MOTOL_DEFAULT -> if (tdd > 0) rh.gs(R.string.formatwithtdd, age, tdd) else rh.gs(R.string.formatwithweight, age, weight) - ProfileType.DPV_DEFAULT -> rh.gs(R.string.formatwittddandpct, age, tdd, (basalSumPct * 100).toInt()) + ProfileType.MOTOL_DEFAULT -> if (tdd > 0) rh.gs(R.string.format_with_tdd, age, tdd) else rh.gs(R.string.format_with_weight, age, weight) + ProfileType.DPV_DEFAULT -> rh.gs(R.string.format_with_tdd_and_pct, age, tdd, (basalSumPct * 100).toInt()) ProfileType.CURRENT -> profileFunction.getProfileName() ProfileType.AVAILABLE_PROFILE -> profileList[profileUsed[tab]].toString() ProfileType.PROFILE_SWITCH -> profileSwitch[profileSwitchUsed[tab]].originalCustomizedName @@ -283,10 +283,10 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() { // Show new content binding.profileType.setText( when (typeSelected[tabSelected]) { - ProfileType.MOTOL_DEFAULT -> rh.gs(R.string.motoldefaultprofile) - ProfileType.DPV_DEFAULT -> rh.gs(R.string.dpvdefaultprofile) - ProfileType.CURRENT -> rh.gs(R.string.currentprofile) - ProfileType.AVAILABLE_PROFILE -> rh.gs(R.string.availableprofile) + ProfileType.MOTOL_DEFAULT -> rh.gs(R.string.motol_default_profile) + ProfileType.DPV_DEFAULT -> rh.gs(R.string.dpv_default_profile) + ProfileType.CURRENT -> rh.gs(R.string.current_profile) + ProfileType.AVAILABLE_PROFILE -> rh.gs(R.string.available_profile) ProfileType.PROFILE_SWITCH -> rh.gs(R.string.careportal_profileswitch) }, false diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 2b1c996454..2c60341dac 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -3,6 +3,7 @@ package info.nightscout.ui.activities import android.annotation.SuppressLint import android.os.Bundle import android.widget.TextView +import info.activityMonitor.ActivityMonitor import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator @@ -15,7 +16,6 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R import info.nightscout.ui.databinding.ActivityStatsBinding -import info.nightscout.ui.activityMonitor.ActivityMonitor import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign @@ -26,7 +26,7 @@ class StatsActivity : NoSplashAppCompatActivity() { @Inject lateinit var tddCalculator: TddCalculator @Inject lateinit var tirCalculator: TirCalculator @Inject lateinit var dexcomTirCalculator: DexcomTirCalculator - @Inject lateinit var activityMonitor: ActivityMonitor + @Inject lateinit var activityMonitor: info.activityMonitor.ActivityMonitor @Inject lateinit var uel: UserEntryLogger @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var fabricPrivacy: FabricPrivacy diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index 0968c35b24..c7ef352a37 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -23,6 +23,7 @@ import info.nightscout.ui.dialogs.ExtendedBolusDialog import info.nightscout.ui.dialogs.FillDialog import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.ui.dialogs.ProfileViewerDialog +import info.nightscout.ui.dialogs.TreatmentDialog import info.nightscout.ui.dialogs.WizardInfoDialog @Module @@ -37,6 +38,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesExtendedBolusDialog(): ExtendedBolusDialog @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog + @ContributesAndroidInjector abstract fun contributesTreatmentDialog(): TreatmentDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt index 2f5d388375..9d99747f57 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -118,11 +118,11 @@ class FillDialog : DialogFragmentWithDate() { val insulinAfterConstraints = constraintChecker.applyBolusConstraints(Constraint(insulin)).value() if (insulinAfterConstraints > 0) { - actions.add(rh.gs(R.string.fillwarning)) + actions.add(rh.gs(R.string.fill_warning)) actions.add("") actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.insulinButtonColor)) if (abs(insulinAfterConstraints - insulin) > 0.01) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_constraint_applied_warn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) } val siteChange = binding.fillCatheterChange.isChecked if (siteChange) diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index 8d5c53a3be..1c24c6061c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -199,9 +199,9 @@ class InsulinDialog : DialogFragmentWithDate() { if (insulinAfterConstraints > 0) { actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.bolusColor)) if (recordOnlyChecked) - actions.add(rh.gs(R.string.bolusrecordedonly).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_recorded_only).formatColor(context, rh, R.attr.warningColor)) if (abs(insulinAfterConstraints - insulin) > pumpDescription.pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_constraint_applied_warn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) } val eatingSoonTTDuration = defaultValueHelper.determineEatingSoonTTDuration() val eatingSoonTT = defaultValueHelper.determineEatingSoonTT() diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index 9f92ef79db..d1bcf813af 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.content.Context import android.os.Bundle @@ -8,8 +8,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogTreatmentBinding +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -19,11 +18,9 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.core.pumpExtensions.insertCarbsTransaction -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config @@ -35,6 +32,8 @@ import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogTreatmentBinding import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -89,8 +88,10 @@ class TreatmentDialog : DialogFragmentWithDate() { savedInstanceState.putDouble("insulin", binding.insulin.value) } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle?): View { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { onCreateViewGeneral() _binding = DialogTreatmentBinding.inflate(inflater, container, false) return binding.root @@ -106,10 +107,14 @@ class TreatmentDialog : DialogFragmentWithDate() { val maxCarbs = constraintChecker.getMaxCarbsAllowed().value().toDouble() val maxInsulin = constraintChecker.getMaxBolusAllowed().value() val pumpDescription = activePlugin.activePump.pumpDescription - binding.carbs.setParams(savedInstanceState?.getDouble("carbs") - ?: 0.0, 0.0, maxCarbs, 1.0, DecimalFormat("0"), false, binding.okcancel.ok, textWatcher) - binding.insulin.setParams(savedInstanceState?.getDouble("insulin") - ?: 0.0, 0.0, maxInsulin, pumpDescription.bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), false, binding.okcancel.ok, textWatcher) + binding.carbs.setParams( + savedInstanceState?.getDouble("carbs") + ?: 0.0, 0.0, maxCarbs, 1.0, DecimalFormat("0"), false, binding.okcancel.ok, textWatcher + ) + binding.insulin.setParams( + savedInstanceState?.getDouble("insulin") + ?: 0.0, 0.0, maxInsulin, pumpDescription.bolusStep, DecimalFormatter.pumpSupportedBolusFormat(activePlugin.activePump), false, binding.okcancel.ok, textWatcher + ) binding.recordOnlyLayout.visibility = View.GONE binding.insulinLabel.labelFor = binding.insulin.editTextId binding.carbsLabel.labelFor = binding.carbs.editTextId @@ -133,9 +138,9 @@ class TreatmentDialog : DialogFragmentWithDate() { if (insulinAfterConstraints > 0) { actions.add(rh.gs(R.string.bolus) + ": " + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints, activePlugin.activePump, rh).formatColor(context, rh, R.attr.bolusColor)) if (recordOnlyChecked) - actions.add(rh.gs(R.string.bolusrecordedonly).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_recorded_only).formatColor(context, rh, R.attr.warningColor)) if (abs(insulinAfterConstraints - insulin) > pumpDescription.pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) - actions.add(rh.gs(R.string.bolusconstraintappliedwarn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) + actions.add(rh.gs(R.string.bolus_constraint_applied_warn, insulin, insulinAfterConstraints).formatColor(context, rh, R.attr.warningColor)) } if (carbsAfterConstraints > 0) { actions.add(rh.gs(R.string.carbs) + ": " + rh.gs(R.string.format_carbs, carbsAfterConstraints).formatColor(context, rh, R.attr.carbsColor)) @@ -146,9 +151,9 @@ class TreatmentDialog : DialogFragmentWithDate() { activity?.let { activity -> OKDialog.showConfirmation(activity, rh.gs(R.string.overview_treatment_label), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { val action = when { - insulinAfterConstraints.equals(0.0) -> Action.CARBS - carbsAfterConstraints == 0 -> Action.BOLUS - else -> Action.TREATMENT + insulinAfterConstraints.equals(0.0) -> UserEntry.Action.CARBS + carbsAfterConstraints == 0 -> UserEntry.Action.BOLUS + else -> UserEntry.Action.TREATMENT } val detailedBolusInfo = DetailedBolusInfo() if (insulinAfterConstraints == 0.0) detailedBolusInfo.eventType = DetailedBolusInfo.EventType.CARBS_CORRECTION @@ -157,7 +162,7 @@ class TreatmentDialog : DialogFragmentWithDate() { detailedBolusInfo.carbs = carbsAfterConstraints.toDouble() detailedBolusInfo.context = context if (recordOnlyChecked) { - uel.log(action, Sources.TreatmentDialog, if (insulinAfterConstraints != 0.0) rh.gs(R.string.record) else "", + uel.log(action, UserEntry.Sources.TreatmentDialog, if (insulinAfterConstraints != 0.0) rh.gs(R.string.record) else "", ValueWithUnit.Timestamp(detailedBolusInfo.timestamp).takeIf { eventTimeChanged }, ValueWithUnit.SimpleString(rh.gsNotLocalised(R.string.record)).takeIf { insulinAfterConstraints != 0.0 }, ValueWithUnit.Insulin(insulinAfterConstraints).takeIf { insulinAfterConstraints != 0.0 }, @@ -176,7 +181,7 @@ class TreatmentDialog : DialogFragmentWithDate() { ) } else { if (detailedBolusInfo.insulin > 0) { - uel.log(action, Sources.TreatmentDialog, + uel.log(action, UserEntry.Sources.TreatmentDialog, ValueWithUnit.Insulin(insulinAfterConstraints), ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) commandQueue.bolus(detailedBolusInfo, object : Callback() { @@ -187,7 +192,7 @@ class TreatmentDialog : DialogFragmentWithDate() { } }) } else { - uel.log(action, Sources.TreatmentDialog, + uel.log(action, UserEntry.Sources.TreatmentDialog, ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 }) if (detailedBolusInfo.carbs > 0) { disposable += repository.runTransactionForResult(detailedBolusInfo.insertCarbsTransaction()) @@ -209,7 +214,7 @@ class TreatmentDialog : DialogFragmentWithDate() { override fun onResume() { super.onResume() - if(!queryingProtection) { + if (!queryingProtection) { queryingProtection = true activity?.let { activity -> val cancelFail = { @@ -218,8 +223,8 @@ class TreatmentDialog : DialogFragmentWithDate() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/ui/src/main/res/layout/activity_profilehelper.xml b/ui/src/main/res/layout/activity_profilehelper.xml index 8f2094ebdc..a36174966f 100644 --- a/ui/src/main/res/layout/activity_profilehelper.xml +++ b/ui/src/main/res/layout/activity_profilehelper.xml @@ -36,7 +36,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" - android:hint="@string/profiletype" + android:hint="@string/profile_type" android:paddingHorizontal="5dp"> + app:customContentDescription="@string/basal_pct_from_tdd_label" /> @@ -240,7 +240,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableStart="@drawable/ic_compare_profiles" - android:text="@string/comapareprofile" /> + android:text="@string/compare_profile" />
diff --git a/app/src/main/res/layout/dialog_treatment.xml b/ui/src/main/res/layout/dialog_treatment.xml similarity index 100% rename from app/src/main/res/layout/dialog_treatment.xml rename to ui/src/main/res/layout/dialog_treatment.xml diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 14a6f5ecfd..e56b9a986d 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -35,7 +35,7 @@ - Bolus constraint applied: %1$.2f U to %2$.2f U + Bolus constraint applied: %1$.2f U to %2$.2f U Glucose type Other @@ -50,8 +50,8 @@ Total - Please make sure the amount matches the specification of your infusion set! - Fill/Prime standard insulin amounts + Please make sure the amount matches the specification of your infusion set! + Fill/Prime standard insulin amounts Button 1 Button 2 Button 3 @@ -63,7 +63,7 @@ insulin_button_increment_2 insulin_button_increment_3 Do not bolus, record only - Bolus will be recorded only (not delivered by pump) + Bolus will be recorded only (not delivered by pump) @@ -103,18 +103,18 @@ Profile 1 Profile 2 - Profile type - % of basal + Profile type + % of basal Selected: - Compare profiles - Profile helper - Default profile - Current profile - Available profile - Age: %1$.0f TDD: %2$.0f U - Age: %1$.0f TDD: %2$.0f U %3$d%% - Age: %1$.0f Weight: %2$.0f kg - DPV Default profile - Invalid % entry + Compare profiles + Profile helper + Default profile + Current profile + Available profile + Age: %1$.0f TDD: %2$.0f U + Age: %1$.0f TDD: %2$.0f U %3$d%% + Age: %1$.0f Weight: %2$.0f kg + DPV Default profile + Invalid % entry From 71f01a00ab3b5eced61d3dbb614a63b74d1f6259 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 10:59:18 +0100 Subject: [PATCH 062/123] ProfileSwitchDialog -> ui --- .../info/nightscout/androidaps/MainApp.kt | 4 +-- .../androidaps/di/FragmentsModule.kt | 2 -- .../implementations/ActivityNamesImpl.kt | 2 +- .../general/actions/ActionsFragment.kt | 2 +- .../general/overview/OverviewFragment.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 2 +- app/src/main/res/values/objectives.xml | 1 - app/src/main/res/values/strings.xml | 2 -- .../core-main/src/main/res/values/strings.xml | 1 + .../nightscout/ui/activities/StatsActivity.kt | 4 +-- .../ui}/activityMonitor/ActivityMonitor.kt | 2 +- .../java/info/nightscout/ui/di/UiModule.kt | 2 ++ .../ui}/dialogs/ProfileSwitchDialog.kt | 25 +++++++++---------- .../main/res/layout/dialog_profileswitch.xml | 4 +-- ui/src/main/res/values/strings.xml | 3 +++ 15 files changed, 29 insertions(+), 29 deletions(-) rename {app/src/test/java/info => ui/src/main/java/info/nightscout/ui}/activityMonitor/ActivityMonitor.kt (99%) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/ProfileSwitchDialog.kt (93%) rename {app => ui}/src/main/res/layout/dialog_profileswitch.xml (98%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index c785ddde68..0f17bfecad 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -15,7 +15,6 @@ import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import dagger.android.AndroidInjector import dagger.android.DaggerApplication -import info.activityMonitor.ActivityMonitor import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.di.StaticInjector @@ -48,6 +47,7 @@ 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 info.nightscout.ui.activityMonitor.ActivityMonitor import info.nightscout.ui.widget.Widget import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.exceptions.UndeliverableException @@ -65,7 +65,7 @@ class MainApp : DaggerApplication() { @Inject lateinit var pluginStore: PluginStore @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var activityMonitor: info.activityMonitor.ActivityMonitor + @Inject lateinit var activityMonitor: ActivityMonitor @Inject lateinit var versionCheckersUtils: VersionCheckerUtils @Inject lateinit var sp: SP @Inject lateinit var config: Config diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 288b6bdd19..ec041ca6b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -5,7 +5,6 @@ import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.androidaps.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.WizardDialog @@ -40,7 +39,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesLoopDialog(): LoopDialog @ContributesAndroidInjector abstract fun contributesObjectivesExamDialog(): ObjectivesExamDialog - @ContributesAndroidInjector abstract fun contributesProfileSwitchDialog(): ProfileSwitchDialog @ContributesAndroidInjector abstract fun contributesTempBasalDialog(): TempBasalDialog @ContributesAndroidInjector abstract fun contributesTempTargetDialog(): TempTargetDialog @ContributesAndroidInjector abstract fun contributesWizardDialog(): WizardDialog diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 9ad470c84f..b329d11ca8 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -7,7 +7,7 @@ import androidx.annotation.RawRes import androidx.fragment.app.FragmentManager import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.activities.SingleFragmentActivity -import info.nightscout.androidaps.dialogs.ProfileSwitchDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.interfaces.ui.ActivityNames diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index f5ec1b556d..c703e87c11 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -13,7 +13,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.androidaps.dialogs.ProfileSwitchDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempBasalDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.extensions.toStringMedium diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index f6cdbf8874..781096f1b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -31,7 +31,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.androidaps.dialogs.LoopDialog -import info.nightscout.androidaps.dialogs.ProfileSwitchDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index ba39419230..42dc57822c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -9,7 +9,7 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.dialogs.ProfileSwitchDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue diff --git a/app/src/main/res/values/objectives.xml b/app/src/main/res/values/objectives.xml index ee8a34ee0e..0cafc68872 100644 --- a/app/src/main/res/values/objectives.xml +++ b/app/src/main/res/values/objectives.xml @@ -1,6 +1,5 @@ - ObjectivesProfileSwitchUsed ObjectivesDisconnectUsed ObjectivesReconnectUsed ObjectivesTempTargetUsed diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5a66112005..31773891b2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -293,7 +293,6 @@ wizard_include_cob wizard_include_trend_bg Percentage - Time shift Default Temp-Targets eatingsoon duration eatingsoon target @@ -301,7 +300,6 @@ activity target hypo duration hypo target - Reuse %1$d%% %2$dh Controls from Watch Set Temp-Targets and enter Treatments from the watch. Gradually increase the volume for alerts and notifications diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index aa66f3b196..0cfdf3c5b6 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -91,6 +91,7 @@ ns_receive_profile_switch ns_receive_offline_event ns_receive_temp_target + ObjectivesProfileSwitchUsed Refresh diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 2c60341dac..5102ab7f6c 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -3,7 +3,6 @@ package info.nightscout.ui.activities import android.annotation.SuppressLint import android.os.Bundle import android.widget.TextView -import info.activityMonitor.ActivityMonitor import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator @@ -15,6 +14,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.ui.R +import info.nightscout.ui.activityMonitor.ActivityMonitor import info.nightscout.ui.databinding.ActivityStatsBinding import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -26,7 +26,7 @@ class StatsActivity : NoSplashAppCompatActivity() { @Inject lateinit var tddCalculator: TddCalculator @Inject lateinit var tirCalculator: TirCalculator @Inject lateinit var dexcomTirCalculator: DexcomTirCalculator - @Inject lateinit var activityMonitor: info.activityMonitor.ActivityMonitor + @Inject lateinit var activityMonitor: ActivityMonitor @Inject lateinit var uel: UserEntryLogger @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var fabricPrivacy: FabricPrivacy diff --git a/app/src/test/java/info/activityMonitor/ActivityMonitor.kt b/ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt similarity index 99% rename from app/src/test/java/info/activityMonitor/ActivityMonitor.kt rename to ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt index 93f9654ed9..9252d3bb42 100644 --- a/app/src/test/java/info/activityMonitor/ActivityMonitor.kt +++ b/ui/src/main/java/info/nightscout/ui/activityMonitor/ActivityMonitor.kt @@ -1,4 +1,4 @@ -package info.activityMonitor +package info.nightscout.ui.activityMonitor import android.app.Activity import android.app.Application diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index c7ef352a37..489311b8a0 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -22,6 +22,7 @@ import info.nightscout.ui.dialogs.CareDialog import info.nightscout.ui.dialogs.ExtendedBolusDialog import info.nightscout.ui.dialogs.FillDialog import info.nightscout.ui.dialogs.InsulinDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.ui.dialogs.ProfileViewerDialog import info.nightscout.ui.dialogs.TreatmentDialog import info.nightscout.ui.dialogs.WizardInfoDialog @@ -39,6 +40,7 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesFillDialog(): FillDialog @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesTreatmentDialog(): TreatmentDialog + @ContributesAndroidInjector abstract fun contributesProfileSwitchDialog(): ProfileSwitchDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index 76247624be..dbbbafabc3 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.content.Context import android.os.Bundle @@ -9,9 +9,8 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner -import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.databinding.DialogProfileswitchBinding +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -19,11 +18,9 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction @@ -37,6 +34,8 @@ import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.T +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogProfileswitchBinding import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -179,7 +178,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { actions.add(rh.gs(R.string.percent) + ": " + percent + "%") val timeShift = binding.timeshift.value.toInt() if (timeShift != 0) - actions.add(rh.gs(R.string.careportal_newnstreatment_timeshift_label) + ": " + rh.gs(R.string.format_hours, timeShift.toDouble())) + actions.add(rh.gs(R.string.timeshift_label) + ": " + rh.gs(R.string.format_hours, timeShift.toDouble())) val notes = binding.notesLayout.notes.text.toString() if (notes.isNotEmpty()) actions.add(rh.gs(R.string.notes_label) + ": " + notes) @@ -206,8 +205,8 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { timestamp = eventTime ) ) { - uel.log(Action.PROFILE_SWITCH, - Sources.ProfileSwitchDialog, + uel.log(UserEntry.Action.PROFILE_SWITCH, + UserEntry.Sources.ProfileSwitchDialog, notes, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.SimpleString(profileName), @@ -231,7 +230,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) }) uel.log( - Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + UserEntry.Action.TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( TemporaryTarget.Reason.ACTIVITY ), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration) ) @@ -252,7 +251,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { override fun onResume() { super.onResume() - if(!queryingProtection) { + if (!queryingProtection) { queryingProtection = true activity?.let { activity -> val cancelFail = { @@ -261,8 +260,8 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_profileswitch.xml b/ui/src/main/res/layout/dialog_profileswitch.xml similarity index 98% rename from app/src/main/res/layout/dialog_profileswitch.xml rename to ui/src/main/res/layout/dialog_profileswitch.xml index 1ada284ae4..ab8d8a775a 100644 --- a/app/src/main/res/layout/dialog_profileswitch.xml +++ b/ui/src/main/res/layout/dialog_profileswitch.xml @@ -168,7 +168,7 @@ android:width="120dp" android:paddingStart="10dp" android:paddingEnd="10dp" - android:text="@string/careportal_newnstreatment_timeshift_label" + android:text="@string/timeshift_label" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textStyle="bold" /> @@ -176,7 +176,7 @@ android:id="@+id/timeshift" android:layout_width="130dp" android:layout_height="40dp" - app:customContentDescription="@string/careportal_newnstreatment_timeshift_label"/> + app:customContentDescription="@string/timeshift_label"/> Do not bolus, record only Bolus will be recorded only (not delivered by pump) + + Reuse %1$d%% %2$dh + Time shift No records available From db8f8538058424218bf86c2c93f8b86c6c0ef7ba Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 11:04:51 +0100 Subject: [PATCH 063/123] TT,TBR Dialog -> ui --- .../androidaps/di/FragmentsModule.kt | 4 - .../general/actions/ActionsFragment.kt | 4 +- .../general/overview/OverviewFragment.kt | 2 +- app/src/main/res/values/objectives.xml | 1 - automation/src/main/res/values/strings.xml | 1 - .../core-main/src/main/res/values/strings.xml | 2 + .../java/info/nightscout/ui/di/UiModule.kt | 4 + .../nightscout/ui}/dialogs/TempBasalDialog.kt | 51 ++++---- .../ui}/dialogs/TempTargetDialog.kt | 109 +++++++++++------- .../src/main/res/layout/dialog_tempbasal.xml | 0 .../src/main/res/layout/dialog_temptarget.xml | 0 11 files changed, 104 insertions(+), 74 deletions(-) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/TempBasalDialog.kt (80%) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/TempTargetDialog.kt (66%) rename {app => ui}/src/main/res/layout/dialog_tempbasal.xml (100%) rename {app => ui}/src/main/res/layout/dialog_temptarget.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index ec041ca6b7..7baa02c9c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -5,8 +5,6 @@ import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.androidaps.dialogs.TempBasalDialog -import info.nightscout.androidaps.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment @@ -39,8 +37,6 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesLoopDialog(): LoopDialog @ContributesAndroidInjector abstract fun contributesObjectivesExamDialog(): ObjectivesExamDialog - @ContributesAndroidInjector abstract fun contributesTempBasalDialog(): TempBasalDialog - @ContributesAndroidInjector abstract fun contributesTempTargetDialog(): TempTargetDialog @ContributesAndroidInjector abstract fun contributesWizardDialog(): WizardDialog @ContributesAndroidInjector abstract fun contributesNtpProgressDialog(): NtpProgressDialog @ContributesAndroidInjector abstract fun contributesPasswordCheck(): PasswordCheck diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt index c703e87c11..9ef92c6d1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt @@ -14,8 +14,8 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.databinding.ActionsFragmentBinding import info.nightscout.ui.dialogs.ProfileSwitchDialog -import info.nightscout.androidaps.dialogs.TempBasalDialog -import info.nightscout.androidaps.dialogs.TempTargetDialog +import info.nightscout.ui.dialogs.TempBasalDialog +import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.ActivePlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 781096f1b7..eccf93ed99 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -32,7 +32,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.androidaps.dialogs.LoopDialog import info.nightscout.ui.dialogs.ProfileSwitchDialog -import info.nightscout.androidaps.dialogs.TempTargetDialog +import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG diff --git a/app/src/main/res/values/objectives.xml b/app/src/main/res/values/objectives.xml index 0cafc68872..49da5eda10 100644 --- a/app/src/main/res/values/objectives.xml +++ b/app/src/main/res/values/objectives.xml @@ -2,7 +2,6 @@ ObjectivesDisconnectUsed ObjectivesReconnectUsed - ObjectivesTempTargetUsed ObjectivesActionsUsed ObjectivesLoopUsed ObjectivesScaleUsed diff --git a/automation/src/main/res/values/strings.xml b/automation/src/main/res/values/strings.xml index 73f6fa9b0d..cde299b865 100644 --- a/automation/src/main/res/values/strings.xml +++ b/automation/src/main/res/values/strings.xml @@ -30,7 +30,6 @@ Send SMS to all numbers Send SMS with text Start temp target - Stop temp target is lesser than is equal or lesser than is equal to diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 0cfdf3c5b6..658d857276 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -92,6 +92,7 @@ ns_receive_offline_event ns_receive_temp_target ObjectivesProfileSwitchUsed + ObjectivesTempTargetUsed Refresh @@ -257,6 +258,7 @@ Upload now Prime/Fill Insulin + Stop temp target Limiting max basal rate to %1$.2f U/h because of %2$s diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index 489311b8a0..3aa6da32c8 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -24,6 +24,8 @@ import info.nightscout.ui.dialogs.FillDialog import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.ui.dialogs.ProfileViewerDialog +import info.nightscout.ui.dialogs.TempBasalDialog +import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.ui.dialogs.TreatmentDialog import info.nightscout.ui.dialogs.WizardInfoDialog @@ -41,6 +43,8 @@ abstract class UiModule { @ContributesAndroidInjector abstract fun contributesInsulinDialog(): InsulinDialog @ContributesAndroidInjector abstract fun contributesTreatmentDialog(): TreatmentDialog @ContributesAndroidInjector abstract fun contributesProfileSwitchDialog(): ProfileSwitchDialog + @ContributesAndroidInjector abstract fun contributesTempBasalDialog(): TempBasalDialog + @ContributesAndroidInjector abstract fun contributesTempTargetDialog(): TempTargetDialog @ContributesAndroidInjector abstract fun contributesTDDStatsActivity(): TDDStatsActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt similarity index 80% rename from app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt index 4f3e3b6e39..34aec2aa8c 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.content.Context import android.os.Bundle @@ -6,8 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.common.base.Joiner -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogTempbasalBinding +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -17,9 +16,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.pump.PumpSync @@ -30,6 +27,8 @@ import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogTempbasalBinding import java.text.DecimalFormat import java.util.LinkedList import javax.inject.Inject @@ -76,16 +75,22 @@ class TempBasalDialog : DialogFragmentWithDate() { val maxTempPercent = pumpDescription.maxTempPercent.toDouble() val tempPercentStep = pumpDescription.tempPercentStep.toDouble() - binding.basalPercentInput.setParams(savedInstanceState?.getDouble("basalPercentInput") - ?: 100.0, 0.0, maxTempPercent, tempPercentStep, DecimalFormat("0"), true, binding.okcancel.ok) + binding.basalPercentInput.setParams( + savedInstanceState?.getDouble("basalPercentInput") + ?: 100.0, 0.0, maxTempPercent, tempPercentStep, DecimalFormat("0"), true, binding.okcancel.ok + ) - binding.basalAbsoluteInput.setParams(savedInstanceState?.getDouble("basalAbsoluteInput") - ?: profile.getBasal(), 0.0, pumpDescription.maxTempAbsolute, pumpDescription.tempAbsoluteStep, DecimalFormat("0.00"), true, binding.okcancel.ok) + binding.basalAbsoluteInput.setParams( + savedInstanceState?.getDouble("basalAbsoluteInput") + ?: profile.getBasal(), 0.0, pumpDescription.maxTempAbsolute, pumpDescription.tempAbsoluteStep, DecimalFormat("0.00"), true, binding.okcancel.ok + ) val tempDurationStep = pumpDescription.tempDurationStep.toDouble() val tempMaxDuration = pumpDescription.tempMaxDuration.toDouble() - binding.duration.setParams(savedInstanceState?.getDouble("duration") - ?: tempDurationStep, tempDurationStep, tempMaxDuration, tempDurationStep, DecimalFormat("0"), false, binding.okcancel.ok) + binding.duration.setParams( + savedInstanceState?.getDouble("duration") + ?: tempDurationStep, tempDurationStep, tempMaxDuration, tempDurationStep, DecimalFormat("0"), false, binding.okcancel.ok + ) isPercentPump = pumpDescription.tempBasalStyle and PumpDescription.PERCENT == PumpDescription.PERCENT if (isPercentPump) { @@ -136,14 +141,18 @@ class TempBasalDialog : DialogFragmentWithDate() { } } if (isPercentPump) { - uel.log(Action.TEMP_BASAL, Sources.TempBasalDialog, - ValueWithUnit.Percent(percent), - ValueWithUnit.Minute(durationInMinutes)) + uel.log( + UserEntry.Action.TEMP_BASAL, UserEntry.Sources.TempBasalDialog, + ValueWithUnit.Percent(percent), + ValueWithUnit.Minute(durationInMinutes) + ) commandQueue.tempBasalPercent(percent, durationInMinutes, true, profile, PumpSync.TemporaryBasalType.NORMAL, callback) } else { - uel.log(Action.TEMP_BASAL, Sources.TempBasalDialog, - ValueWithUnit.Insulin(absolute), - ValueWithUnit.Minute(durationInMinutes)) + uel.log( + UserEntry.Action.TEMP_BASAL, UserEntry.Sources.TempBasalDialog, + ValueWithUnit.Insulin(absolute), + ValueWithUnit.Minute(durationInMinutes) + ) commandQueue.tempBasalAbsolute(absolute, durationInMinutes, true, profile, PumpSync.TemporaryBasalType.NORMAL, callback) } }) @@ -153,7 +162,7 @@ class TempBasalDialog : DialogFragmentWithDate() { override fun onResume() { super.onResume() - if(!queryingProtection) { + if (!queryingProtection) { queryingProtection = true activity?.let { activity -> val cancelFail = { @@ -162,8 +171,8 @@ class TempBasalDialog : DialogFragmentWithDate() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt similarity index 66% rename from app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt index b96fb82424..e2229eaeb1 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempTargetDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.content.Context import android.os.Bundle @@ -8,8 +8,7 @@ import android.view.ViewGroup import android.widget.ArrayAdapter import com.google.common.base.Joiner import com.google.common.collect.Lists -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.DialogTemptargetBinding +import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger @@ -17,12 +16,10 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.TemporaryTarget -import info.nightscout.database.entities.UserEntry.Action -import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper @@ -34,6 +31,8 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogTemptargetBinding import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -76,19 +75,23 @@ class TempTargetDialog : DialogFragmentWithDate() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - binding.duration.setParams(savedInstanceState?.getDouble("duration") - ?: 0.0, 0.0, Constants.MAX_PROFILE_SWITCH_DURATION, 10.0, DecimalFormat("0"), false, binding.okcancel.ok) + binding.duration.setParams( + savedInstanceState?.getDouble("duration") + ?: 0.0, 0.0, Constants.MAX_PROFILE_SWITCH_DURATION, 10.0, DecimalFormat("0"), false, binding.okcancel.ok + ) if (profileFunction.getUnits() == GlucoseUnit.MMOL) binding.temptarget.setParams( savedInstanceState?.getDouble("tempTarget") ?: 8.0, - Constants.MIN_TT_MMOL, Constants.MAX_TT_MMOL, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok) + Constants.MIN_TT_MMOL, Constants.MAX_TT_MMOL, 0.1, DecimalFormat("0.0"), false, binding.okcancel.ok + ) else binding.temptarget.setParams( savedInstanceState?.getDouble("tempTarget") ?: 144.0, - Constants.MIN_TT_MGDL, Constants.MAX_TT_MGDL, 1.0, DecimalFormat("0"), false, binding.okcancel.ok) + Constants.MIN_TT_MGDL, Constants.MAX_TT_MGDL, 1.0, DecimalFormat("0"), false, binding.okcancel.ok + ) val units = profileFunction.getUnits() binding.units.text = if (units == GlucoseUnit.MMOL) rh.gs(R.string.mmol) else rh.gs(R.string.mgdl) @@ -184,42 +187,60 @@ class TempTargetDialog : DialogFragmentWithDate() { activity?.let { activity -> OKDialog.showConfirmation(activity, rh.gs(R.string.careportal_temporarytarget), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { val units = profileFunction.getUnits() - when(reason) { - rh.gs(R.string.eatingsoon) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( - TemporaryTarget.Reason.EATING_SOON), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.activity) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( - TemporaryTarget.Reason.ACTIVITY), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.hypo) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( - TemporaryTarget.Reason.HYPOGLYCEMIA), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.manual) -> uel.log(Action.TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( - TemporaryTarget.Reason.CUSTOM), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration)) - rh.gs(R.string.stoptemptarget) -> uel.log(Action.CANCEL_TT, Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }) + when (reason) { + rh.gs(R.string.eatingsoon) -> uel.log( + UserEntry.Action.TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.EATING_SOON + ), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration) + ) + + rh.gs(R.string.activity) -> uel.log( + UserEntry.Action.TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.ACTIVITY + ), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration) + ) + + rh.gs(R.string.hypo) -> uel.log( + UserEntry.Action.TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.HYPOGLYCEMIA + ), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration) + ) + + rh.gs(R.string.manual) -> uel.log( + UserEntry.Action.TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }, ValueWithUnit.TherapyEventTTReason( + TemporaryTarget.Reason.CUSTOM + ), ValueWithUnit.fromGlucoseUnit(target, units.asText), ValueWithUnit.Minute(duration) + ) + + rh.gs(R.string.stoptemptarget) -> uel.log(UserEntry.Action.CANCEL_TT, UserEntry.Sources.TTDialog, ValueWithUnit.Timestamp(eventTime).takeIf { eventTimeChanged }) } if (target == 0.0 || duration == 0) { disposable += repository.runTransactionForResult(CancelCurrentTemporaryTargetIfAnyTransaction(eventTime)) .subscribe({ result -> - result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } - }, { - aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - }) + result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } + }, { + aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) + }) } else { - disposable += repository.runTransactionForResult(InsertAndCancelCurrentTemporaryTargetTransaction( - timestamp = eventTime, - duration = TimeUnit.MINUTES.toMillis(duration.toLong()), - reason = when (reason) { - rh.gs(R.string.eatingsoon) -> TemporaryTarget.Reason.EATING_SOON - rh.gs(R.string.activity) -> TemporaryTarget.Reason.ACTIVITY - rh.gs(R.string.hypo) -> TemporaryTarget.Reason.HYPOGLYCEMIA - else -> TemporaryTarget.Reason.CUSTOM - }, - lowTarget = Profile.toMgdl(target, profileFunction.getUnits()), - highTarget = Profile.toMgdl(target, profileFunction.getUnits()) - )).subscribe({ result -> - result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") } - result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } - }, { - aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - }) + disposable += repository.runTransactionForResult( + InsertAndCancelCurrentTemporaryTargetTransaction( + timestamp = eventTime, + duration = TimeUnit.MINUTES.toMillis(duration.toLong()), + reason = when (reason) { + rh.gs(R.string.eatingsoon) -> TemporaryTarget.Reason.EATING_SOON + rh.gs(R.string.activity) -> TemporaryTarget.Reason.ACTIVITY + rh.gs(R.string.hypo) -> TemporaryTarget.Reason.HYPOGLYCEMIA + else -> TemporaryTarget.Reason.CUSTOM + }, + lowTarget = Profile.toMgdl(target, profileFunction.getUnits()), + highTarget = Profile.toMgdl(target, profileFunction.getUnits()) + ) + ).subscribe({ result -> + result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") } + result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } + }, { + aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) + }) } if (duration == 10) sp.putBoolean(R.string.key_objectiveusetemptarget, true) @@ -230,7 +251,7 @@ class TempTargetDialog : DialogFragmentWithDate() { override fun onResume() { super.onResume() - if(!queryingProtection) { + if (!queryingProtection) { queryingProtection = true activity?.let { activity -> val cancelFail = { @@ -239,8 +260,8 @@ class TempTargetDialog : DialogFragmentWithDate() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_tempbasal.xml b/ui/src/main/res/layout/dialog_tempbasal.xml similarity index 100% rename from app/src/main/res/layout/dialog_tempbasal.xml rename to ui/src/main/res/layout/dialog_tempbasal.xml diff --git a/app/src/main/res/layout/dialog_temptarget.xml b/ui/src/main/res/layout/dialog_temptarget.xml similarity index 100% rename from app/src/main/res/layout/dialog_temptarget.xml rename to ui/src/main/res/layout/dialog_temptarget.xml From 0f67f623849f139f8f7112f61bbd07e0a4855c37 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 12:47:06 +0100 Subject: [PATCH 064/123] LoopDialog -> ui --- .../shared/src/main/res/values/strings.xml | 4 ++ app/src/main/AndroidManifest.xml | 3 - .../androidaps/di/ActivitiesModule.kt | 2 - .../androidaps/di/FragmentsModule.kt | 2 - .../plugins/configBuilder/PluginStore.kt | 3 + .../objectives/ObjectivesPlugin.kt | 25 ++++----- .../objectives/objectives/Objective.kt | 6 +- .../general/overview/OverviewFragment.kt | 6 +- .../androidaps/setupwizard/SWDefinition.kt | 7 ++- app/src/main/res/values/objectives.xml | 2 - app/src/main/res/values/strings.xml | 16 ------ .../androidaps/interfaces/ActivePlugin.kt | 6 ++ .../core-main/src/main/res/values/strings.xml | 7 +++ insight/src/main/res/values/strings.xml | 1 - .../interfaces/constraints/Objectives.kt | 19 +++++++ plugins/src/main/AndroidManifest.xml | 5 +- .../nightscout/plugins/di/SourceModule.kt | 3 + .../java/info/nightscout/ui/di/UiModule.kt | 2 + .../info/nightscout/ui}/dialogs/LoopDialog.kt | 55 +++++++++---------- .../src/main/res/layout/dialog_loop.xml | 0 ui/src/main/res/values/strings.xml | 17 +++++- 21 files changed, 107 insertions(+), 84 deletions(-) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/LoopDialog.kt (90%) rename {app => ui}/src/main/res/layout/dialog_loop.xml (100%) diff --git a/app-wear-shared/shared/src/main/res/values/strings.xml b/app-wear-shared/shared/src/main/res/values/strings.xml index 0d9b555567..74ddc9cc0c 100644 --- a/app-wear-shared/shared/src/main/res/values/strings.xml +++ b/app-wear-shared/shared/src/main/res/values/strings.xml @@ -1,5 +1,9 @@ + insulin_button_increment_1 + insulin_button_increment_2 + insulin_button_increment_3 + %1$d m ago %1$d minutes ago diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1308a8b030..d6fb469bc4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -190,9 +190,6 @@ - = ArrayList() - companion object { - - const val FIRST_OBJECTIVE = 0 - @Suppress("unused") const val USAGE_OBJECTIVE = 1 - @Suppress("unused") const val EXAM_OBJECTIVE = 2 - @Suppress("unused") const val OPENLOOP_OBJECTIVE = 3 - @Suppress("unused") const val MAXBASAL_OBJECTIVE = 4 - const val MAXIOB_ZERO_CL_OBJECTIVE = 5 - @Suppress("unused") const val MAXIOB_OBJECTIVE = 6 - const val AUTOSENS_OBJECTIVE = 7 - const val SMB_OBJECTIVE = 8 - const val AUTO_OBJECTIVE = 9 - } - public override fun onStart() { super.onStart() setupObjectives() @@ -155,4 +148,6 @@ class ObjectivesPlugin @Inject constructor( value.set(aapsLogger, false, rh.gs(R.string.objectivenotstarted, AUTO_OBJECTIVE + 1), this) return value } + + override fun isAccomplished(index: Int) = objectives[Objectives.MAXIOB_OBJECTIVE].isAccomplished } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt index 830fb04c77..c30bdf7fe0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives import android.content.Context -import android.graphics.Color import android.text.util.Linkify import android.widget.CheckBox import android.widget.TextView @@ -9,11 +8,10 @@ import androidx.annotation.StringRes import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP -import java.util.* +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import javax.inject.Inject import kotlin.math.floor diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index eccf93ed99..723cd41dec 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -30,9 +30,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding -import info.nightscout.androidaps.dialogs.LoopDialog -import info.nightscout.ui.dialogs.ProfileSwitchDialog -import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG @@ -111,6 +108,9 @@ import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.dialogs.CalibrationDialog import info.nightscout.ui.dialogs.CarbsDialog import info.nightscout.ui.dialogs.InsulinDialog +import info.nightscout.ui.dialogs.LoopDialog +import info.nightscout.ui.dialogs.ProfileSwitchDialog +import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.ui.dialogs.TreatmentDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 42dc57822c..ded3471ea3 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue @@ -40,6 +39,7 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.utils.HardLimits @@ -49,6 +49,7 @@ import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.ui.dialogs.ProfileSwitchDialog import javax.inject.Inject import javax.inject.Singleton @@ -439,8 +440,8 @@ class SWDefinition @Inject constructor( SWFragment(injector, this) .add(ObjectivesFragment()) ) - .validator { objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].isStarted } - .visibility { !objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].isStarted && config.APS } + .validator { objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted } + .visibility { !objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted && config.APS } private fun swDefinitionFull() { // List all the screens here add(screenSetupWizard) diff --git a/app/src/main/res/values/objectives.xml b/app/src/main/res/values/objectives.xml index 49da5eda10..e8419700a8 100644 --- a/app/src/main/res/values/objectives.xml +++ b/app/src/main/res/values/objectives.xml @@ -1,7 +1,5 @@ - ObjectivesDisconnectUsed - ObjectivesReconnectUsed ObjectivesActionsUsed ObjectivesLoopUsed ObjectivesScaleUsed diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 31773891b2..c034ddf27a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -101,9 +101,6 @@ BG Source Where should AAPS gain it\'s data from? APS Mode - Closed Loop - Open Loop - Low Glucose Suspend New suggestion available Carbs Suggestion Carb time @@ -210,24 +207,12 @@ Patient name Please provide patient name or nickname to differentiate among multiple setups I_understand - Suspend loop for 1h - Suspend loop for 2h - Suspend loop for 3h - Suspend loop for 10 h - Disconnect pump - Disconnect pump for 15 min - Disconnect pump for 30 min - Disconnect pump for 1 h - Disconnect pump for 2 h - Disconnect pump for 3 h 15 mins 30 mins 1 hour 2 hours 3 hours 10 hours - Resume - Reconnect Pump Exiting application to apply settings. Which type of insulin are you using? key_usersuperbolus @@ -497,7 +482,6 @@ Miscellaneous Log settings Reset to defaults - aps_mode Preferred APS mode Send today\'s log files to developers along with this time. Unexpected situation. Minimal request change [%] diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 04b2f35a7e..23f309bb72 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase @@ -66,6 +67,11 @@ interface ActivePlugin { */ val activeIobCobCalculator: IobCobCalculator + /** + * Objectives plugin + */ + val activeObjectives: Objectives? + /** * Currently selected NsClient plugin */ diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 658d857276..31d34bda21 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -93,6 +93,9 @@ ns_receive_temp_target ObjectivesProfileSwitchUsed ObjectivesTempTargetUsed + ObjectivesDisconnectUsed + ObjectivesReconnectUsed + aps_mode Refresh @@ -259,6 +262,10 @@ Prime/Fill Insulin Stop temp target + Closed Loop + Open Loop + Low Glucose Suspend + Confirm Limiting max basal rate to %1$.2f U/h because of %2$s diff --git a/insight/src/main/res/values/strings.xml b/insight/src/main/res/values/strings.xml index ece7a4902a..a4dc38328e 100644 --- a/insight/src/main/res/values/strings.xml +++ b/insight/src/main/res/values/strings.xml @@ -59,7 +59,6 @@ TDD: %1$.2f Reser.: %1$.2f U Batt.: %1$d%% - Confirm Mute Release software version UI processor software version diff --git a/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt new file mode 100644 index 0000000000..f88e94dfe9 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt @@ -0,0 +1,19 @@ +package info.nightscout.interfaces.constraints + +interface Objectives { + companion object { + + const val FIRST_OBJECTIVE = 0 + @Suppress("unused") const val USAGE_OBJECTIVE = 1 + @Suppress("unused") const val EXAM_OBJECTIVE = 2 + @Suppress("unused") const val OPENLOOP_OBJECTIVE = 3 + @Suppress("unused") const val MAXBASAL_OBJECTIVE = 4 + const val MAXIOB_ZERO_CL_OBJECTIVE = 5 + @Suppress("unused") const val MAXIOB_OBJECTIVE = 6 + const val AUTOSENS_OBJECTIVE = 7 + const val SMB_OBJECTIVE = 8 + const val AUTO_OBJECTIVE = 9 + } + + fun isAccomplished(index: Int): Boolean +} \ No newline at end of file diff --git a/plugins/src/main/AndroidManifest.xml b/plugins/src/main/AndroidManifest.xml index 4f28ee4e97..c580c2b98a 100644 --- a/plugins/src/main/AndroidManifest.xml +++ b/plugins/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ @@ -18,6 +18,9 @@ + { + loop.isDisconnected -> { binding.overviewLoop.visibility = View.GONE binding.overviewSuspend.visibility = View.GONE binding.overviewPump.visibility = View.VISIBLE @@ -191,7 +188,7 @@ class LoopDialog : DaggerDialogFragment() { binding.overviewReconnect.visibility = View.VISIBLE } - !(loop as PluginBase).isEnabled() -> { + !(loop as PluginBase).isEnabled() -> { binding.overviewLoop.visibility = View.VISIBLE binding.overviewEnable.visibility = View.VISIBLE binding.overviewDisable.visibility = View.GONE @@ -200,7 +197,7 @@ class LoopDialog : DaggerDialogFragment() { binding.overviewReconnect.visibility = View.GONE } - loop.isSuspended -> { + loop.isSuspended -> { binding.overviewLoop.visibility = View.GONE binding.overviewSuspend.visibility = View.VISIBLE binding.overviewSuspendHeader.text = rh.gs(R.string.resumeloop) @@ -284,28 +281,28 @@ class LoopDialog : DaggerDialogFragment() { fun onClick(v: View): Boolean { when (v.id) { R.id.overview_closeloop -> { - uel.log(Action.CLOSED_LOOP_MODE, Sources.LoopDialog) + uel.log(UserEntry.Action.CLOSED_LOOP_MODE, UserEntry.Sources.LoopDialog) sp.putString(R.string.key_aps_mode, "closed") rxBus.send(EventPreferenceChange(rh.gs(R.string.closedloop))) return true } R.id.overview_lgsloop -> { - uel.log(Action.LGS_LOOP_MODE, Sources.LoopDialog) + uel.log(UserEntry.Action.LGS_LOOP_MODE, UserEntry.Sources.LoopDialog) sp.putString(R.string.key_aps_mode, "lgs") rxBus.send(EventPreferenceChange(rh.gs(R.string.lowglucosesuspend))) return true } R.id.overview_openloop -> { - uel.log(Action.OPEN_LOOP_MODE, Sources.LoopDialog) + uel.log(UserEntry.Action.OPEN_LOOP_MODE, UserEntry.Sources.LoopDialog) sp.putString(R.string.key_aps_mode, "open") rxBus.send(EventPreferenceChange(rh.gs(R.string.lowglucosesuspend))) return true } R.id.overview_disable -> { - uel.log(Action.LOOP_DISABLED, Sources.LoopDialog) + uel.log(UserEntry.Action.LOOP_DISABLED, UserEntry.Sources.LoopDialog) (loop as PluginBase).setPluginEnabled(PluginType.LOOP, false) (loop as PluginBase).setFragmentVisible(PluginType.LOOP, false) configBuilder.storeSettings("DisablingLoop") @@ -328,7 +325,7 @@ class LoopDialog : DaggerDialogFragment() { } R.id.overview_enable -> { - uel.log(Action.LOOP_ENABLED, Sources.LoopDialog) + uel.log(UserEntry.Action.LOOP_ENABLED, UserEntry.Sources.LoopDialog) (loop as PluginBase).setPluginEnabled(PluginType.LOOP, true) (loop as PluginBase).setFragmentVisible(PluginType.LOOP, true) configBuilder.storeSettings("EnablingLoop") @@ -343,7 +340,7 @@ class LoopDialog : DaggerDialogFragment() { } R.id.overview_resume, R.id.overview_reconnect -> { - uel.log(if (v.id == R.id.overview_resume) Action.RESUME else Action.RECONNECT, Sources.LoopDialog) + uel.log(if (v.id == R.id.overview_resume) UserEntry.Action.RESUME else UserEntry.Action.RECONNECT, UserEntry.Sources.LoopDialog) disposable += repository.runTransactionForResult(CancelCurrentOfflineEventIfAnyTransaction(dateUtil.now())) .subscribe({ result -> result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated OfflineEvent $it") } @@ -363,28 +360,28 @@ class LoopDialog : DaggerDialogFragment() { } R.id.overview_suspend_1h -> { - uel.log(Action.SUSPEND, Sources.LoopDialog, ValueWithUnit.Hour(1)) + uel.log(UserEntry.Action.SUSPEND, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(1)) loop.suspendLoop(T.hours(1).mins().toInt()) rxBus.send(EventRefreshOverview("suspend_menu")) return true } R.id.overview_suspend_2h -> { - uel.log(Action.SUSPEND, Sources.LoopDialog, ValueWithUnit.Hour(2)) + uel.log(UserEntry.Action.SUSPEND, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(2)) loop.suspendLoop(T.hours(2).mins().toInt()) rxBus.send(EventRefreshOverview("suspend_menu")) return true } R.id.overview_suspend_3h -> { - uel.log(Action.SUSPEND, Sources.LoopDialog, ValueWithUnit.Hour(3)) + uel.log(UserEntry.Action.SUSPEND, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(3)) loop.suspendLoop(T.hours(3).mins().toInt()) rxBus.send(EventRefreshOverview("suspend_menu")) return true } R.id.overview_suspend_10h -> { - uel.log(Action.SUSPEND, Sources.LoopDialog, ValueWithUnit.Hour(10)) + uel.log(UserEntry.Action.SUSPEND, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(10)) loop.suspendLoop(T.hours(10).mins().toInt()) rxBus.send(EventRefreshOverview("suspend_menu")) return true @@ -392,7 +389,7 @@ class LoopDialog : DaggerDialogFragment() { R.id.overview_disconnect_15m -> { profileFunction.getProfile()?.let { profile -> - uel.log(Action.DISCONNECT, Sources.LoopDialog, ValueWithUnit.Minute(15)) + uel.log(UserEntry.Action.DISCONNECT, UserEntry.Sources.LoopDialog, ValueWithUnit.Minute(15)) loop.goToZeroTemp(T.mins(15).mins().toInt(), profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("suspend_menu")) } @@ -401,7 +398,7 @@ class LoopDialog : DaggerDialogFragment() { R.id.overview_disconnect_30m -> { profileFunction.getProfile()?.let { profile -> - uel.log(Action.DISCONNECT, Sources.LoopDialog, ValueWithUnit.Minute(30)) + uel.log(UserEntry.Action.DISCONNECT, UserEntry.Sources.LoopDialog, ValueWithUnit.Minute(30)) loop.goToZeroTemp(T.mins(30).mins().toInt(), profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("suspend_menu")) } @@ -410,7 +407,7 @@ class LoopDialog : DaggerDialogFragment() { R.id.overview_disconnect_1h -> { profileFunction.getProfile()?.let { profile -> - uel.log(Action.DISCONNECT, Sources.LoopDialog, ValueWithUnit.Hour(1)) + uel.log(UserEntry.Action.DISCONNECT, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(1)) loop.goToZeroTemp(T.hours(1).mins().toInt(), profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("suspend_menu")) } @@ -420,7 +417,7 @@ class LoopDialog : DaggerDialogFragment() { R.id.overview_disconnect_2h -> { profileFunction.getProfile()?.let { profile -> - uel.log(Action.DISCONNECT, Sources.LoopDialog, ValueWithUnit.Hour(2)) + uel.log(UserEntry.Action.DISCONNECT, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(2)) loop.goToZeroTemp(T.hours(2).mins().toInt(), profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("suspend_menu")) } @@ -429,7 +426,7 @@ class LoopDialog : DaggerDialogFragment() { R.id.overview_disconnect_3h -> { profileFunction.getProfile()?.let { profile -> - uel.log(Action.DISCONNECT, Sources.LoopDialog, ValueWithUnit.Hour(3)) + uel.log(UserEntry.Action.DISCONNECT, UserEntry.Sources.LoopDialog, ValueWithUnit.Hour(3)) loop.goToZeroTemp(T.hours(3).mins().toInt(), profile, OfflineEvent.Reason.DISCONNECT_PUMP) rxBus.send(EventRefreshOverview("suspend_menu")) } @@ -461,8 +458,8 @@ class LoopDialog : DaggerDialogFragment() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_loop.xml b/ui/src/main/res/layout/dialog_loop.xml similarity index 100% rename from app/src/main/res/layout/dialog_loop.xml rename to ui/src/main/res/layout/dialog_loop.xml diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 76251d8f15..17809bf85b 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -59,9 +59,6 @@ Record insulin cartridge change - insulin_button_increment_1 - insulin_button_increment_2 - insulin_button_increment_3 Do not bolus, record only Bolus will be recorded only (not delivered by pump) @@ -69,6 +66,20 @@ Reuse %1$d%% %2$dh Time shift + + Suspend loop for 1h + Suspend loop for 2h + Suspend loop for 3h + Suspend loop for 10 h + Disconnect pump + Disconnect pump for 15 min + Disconnect pump for 30 min + Disconnect pump for 1 h + Disconnect pump for 2 h + Disconnect pump for 3 h + Resume + Reconnect Pump + No records available Calc From e315afd9e08a4a8f5dbb5cdbe0832dd6aff9dea2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 13:06:06 +0100 Subject: [PATCH 065/123] WizardDialog -> ui --- .../androidaps/di/DataClassesModule.kt | 4 +-- .../androidaps/di/FragmentsModule.kt | 2 +- .../implementations/ActivityNamesImpl.kt | 4 +-- .../general/overview/OverviewFragment.kt | 4 +-- .../activities/QuickWizardListActivity.kt | 4 +-- .../overview/dialogs/EditQuickWizardDialog.kt | 8 ++--- .../wear/wearintegration/DataHandlerMobile.kt | 8 ++--- app/src/main/res/values/strings.xml | 32 ------------------- .../androidaps/data/QuickWizardTest.kt | 4 +-- .../utils/wizard/BolusWizardTest.kt | 1 + .../nightscout/core}/wizard/BolusWizard.kt | 4 +-- .../nightscout/core}/wizard/QuickWizard.kt | 7 ++-- .../core}/wizard/QuickWizardEntry.kt | 4 +-- .../core-main/src/main/res/values/strings.xml | 31 ++++++++++++++++++ .../src/main/res/values/strings.xml | 2 -- .../nightscout/ui}/dialogs/WizardDialog.kt | 15 ++++----- .../src/main/res/layout/dialog_wizard.xml | 0 ui/src/main/res/values/strings.xml | 17 +++++++--- 18 files changed, 77 insertions(+), 74 deletions(-) rename {app/src/main/java/info/nightscout/androidaps/utils => core/core-main/src/main/java/info/nightscout/core}/wizard/BolusWizard.kt (99%) rename {app/src/main/java/info/nightscout/androidaps/utils => core/core-main/src/main/java/info/nightscout/core}/wizard/QuickWizard.kt (95%) rename {app/src/main/java/info/nightscout/androidaps/utils => core/core-main/src/main/java/info/nightscout/core}/wizard/QuickWizardEntry.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => ui/src/main/java/info/nightscout/ui}/dialogs/WizardDialog.kt (98%) rename {app => ui}/src/main/res/layout/dialog_wizard.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt index f1c00f1faa..d9f182f33d 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus -import info.nightscout.androidaps.utils.wizard.BolusWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.core.wizard.BolusWizard +import info.nightscout.core.wizard.QuickWizardEntry @Module @Suppress("unused") diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 233a7dd30e..0058f843a4 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -4,7 +4,6 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment import info.nightscout.androidaps.dialogs.NtpProgressDialog -import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderFragment @@ -16,6 +15,7 @@ import info.nightscout.androidaps.plugins.general.overview.OverviewFragment import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.wear.WearFragment import info.nightscout.androidaps.utils.protection.PasswordCheck +import info.nightscout.ui.dialogs.WizardDialog @Module @Suppress("unused") diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index b329d11ca8..61c6f60803 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -7,14 +7,14 @@ import androidx.annotation.RawRes import androidx.fragment.app.FragmentManager import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.activities.SingleFragmentActivity -import info.nightscout.ui.dialogs.ProfileSwitchDialog -import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity import info.nightscout.ui.activities.TDDStatsActivity +import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.ui.dialogs.ProfileViewerDialog +import info.nightscout.ui.dialogs.WizardDialog import javax.inject.Inject class ActivityNamesImpl @Inject constructor() : ActivityNames { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 723cd41dec..12a2e2fcdc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -30,7 +30,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.databinding.OverviewFragmentBinding -import info.nightscout.androidaps.dialogs.WizardDialog import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange @@ -62,12 +61,12 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable -import info.nightscout.androidaps.utils.wizard.QuickWizard import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits +import info.nightscout.core.wizard.QuickWizard import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.interfaces.end @@ -112,6 +111,7 @@ import info.nightscout.ui.dialogs.LoopDialog import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.ui.dialogs.TreatmentDialog +import info.nightscout.ui.dialogs.WizardDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index 58f63598c4..55368ac49f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -22,9 +22,9 @@ import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWiza import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog -import info.nightscout.androidaps.utils.wizard.QuickWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.wizard.QuickWizard +import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter import info.nightscout.interfaces.dragHelpers.OnStartDragListener import info.nightscout.interfaces.dragHelpers.SimpleItemTouchHelperCallback diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt index b89c07ec32..7ed67d1327 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.kt @@ -13,17 +13,17 @@ import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OverviewEditquickwizardDialogBinding import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T import info.nightscout.androidaps.utils.extensions.selectedItemPosition import info.nightscout.androidaps.utils.extensions.setEnableForChildren import info.nightscout.androidaps.utils.extensions.setSelection -import info.nightscout.androidaps.utils.wizard.QuickWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.core.wizard.QuickWizard +import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T import org.json.JSONException import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index c555df697d..985178bb1a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -4,7 +4,6 @@ import android.app.NotificationManager import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.ui.dialogs.InsulinDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.total @@ -25,14 +24,14 @@ import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.wizard.BolusWizard -import info.nightscout.androidaps.utils.wizard.QuickWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl import info.nightscout.core.profile.toTargetRangeString +import info.nightscout.core.wizard.BolusWizard +import info.nightscout.core.wizard.QuickWizard +import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryBasal @@ -66,6 +65,7 @@ import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import info.nightscout.ui.dialogs.CarbsDialog +import info.nightscout.ui.dialogs.InsulinDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DateFormat diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c034ddf27a..fdd4bfe4bf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,7 +68,6 @@ Profile Meal data Result - Result: %1$s %2$s No glucose data available Request Delta @@ -108,7 +107,6 @@ TempBasal Extended Bolus Nightscout version: - Missing %1$d g Preferences exported User Entries exported Export settings to @@ -215,7 +213,6 @@ 10 hours Exiting application to apply settings. Which type of insulin are you using? - key_usersuperbolus Enable superbolus in wizard Enable superbolus functionality in wizard. Do not enable until you learn what it really does. IT MAY CAUSE INSULIN OVERDOSE IF USED BLINDLY! PRED @@ -275,8 +272,6 @@ Use Super Micro Boluses instead of temp basal for faster action Detection of Unannounced meals INVALID - wizard_include_cob - wizard_include_trend_bg Percentage Default Temp-Targets eatingsoon duration @@ -490,16 +485,9 @@ == ∑ %1$s U smbmaxminutes uamsmbmaxminutes - 2h - COB vs IOB - !!!!! Slow carbs absorption detected: %2$d%% of time. Double check your calculation. COB can be overestimated thus more insulin could be given !!!!!]]> - boluswizard_percentage - Deliver this part of bolus wizard result [%] Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. Increasing max basal value because setting is lower than your max basal in profile Units - wizard_calculation_visible - wizard_correction_percent Clear finished Clear started Do you want reset objective start? You may lose your progress. @@ -538,8 +526,6 @@ RileyLink status: Unable to create profile. Profile is invalid. Don\'t kill my app? - Run alarm when is time to eat - use_bolus_advisor Time to eat!\nRun Bolus wizard and do calculation again. Enable bolus reminder Use reminder to bolus later with wizard ("post-bolus") @@ -562,8 +548,6 @@ Identification not set in dev mode dialog current blood glucose - correct outcome with % - correct outcome with units Not available graph blood glucose quality @@ -584,22 +568,6 @@ Calc. Wizard:\nInsulin: %1$.2fU\nCarbs: %2$dg Show entry on device: Selected quickwizard no longer available, please refresh your tile - No recent BG to base calculation on! - No active profile set! - Unknown COB! BG reading missing or recent app restart? - Carb constraint violation! - Calc (IC: %1$.1f, ISF: %2$.1f) - Carbs: %1$.2fU - COB: %1$.0fg %2$.2fU - BG: %1$.2fU - IOB: %1$.2fU - Superbolus: %1$.2fU - 15\' trend: %1$.2fU - Percentage: %1$.2fU x %2$d%% ≈ %3$.2fU - Insulin constraint violation!\nCannot deliver %1$.2fU - TempT: %1$s - %1$s to %2$s - No pump available! Unknown action command: Percentage Application default diff --git a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt index 00674a1841..d78ff619c4 100644 --- a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.utils.wizard.QuickWizard -import info.nightscout.androidaps.utils.wizard.QuickWizardEntry +import info.nightscout.core.wizard.QuickWizard +import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index 8415a14be6..f904893a99 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -12,6 +12,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.iob.IobTotal diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt rename to core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt index 78c192a29b..053983f952 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt @@ -1,10 +1,9 @@ -package info.nightscout.androidaps.utils.wizard +package info.nightscout.core.wizard import android.content.Context import android.text.Spanned import com.google.common.base.Joiner import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString @@ -19,6 +18,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.iob.round +import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl import info.nightscout.database.entities.BolusCalculatorResult diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizard.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizard.kt rename to core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizard.kt index 88a4d4edc5..d1160a6245 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizard.kt @@ -1,14 +1,13 @@ -package info.nightscout.androidaps.utils.wizard +package info.nightscout.core.wizard import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.core.main.R import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONObject -import java.util.* +import java.util.UUID import javax.inject.Inject import javax.inject.Singleton -import kotlin.collections.ArrayList @Singleton class QuickWizard @Inject constructor( diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt rename to core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt index b7147cd474..fbefcf9852 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/QuickWizardEntry.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.utils.wizard +package info.nightscout.core.wizard import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -9,6 +8,7 @@ import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.round +import info.nightscout.core.main.R import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 31d34bda21..44e7460295 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -96,6 +96,8 @@ ObjectivesDisconnectUsed ObjectivesReconnectUsed aps_mode + boluswizard_percentage + key_usersuperbolus Refresh @@ -668,6 +670,35 @@ Missing SMS permission + + use_bolus_advisor + Bolus advisor + You have high glycemia. Instead of eating now it\'s recommended to wait for better glycemia. Do you want to do a correction bolus now and remind you when it\'s time to eat? In this case no carbs will be recorded and you must use wizard again when we remind you. + + COB vs IOB + !!!!! Slow carbs absorption detected: %2$d%% of time. Double check your calculation. COB can be overestimated thus more insulin could be given !!!!!]]> + Deliver this part of bolus wizard result [%] + Bolus constraint applied: %1$.2f U to %2$.2f U + Bolus will be recorded only (not delivered by pump) + Run alarm when is time to eat + No action selected, nothing will happen + No recent BG to base calculation on! + No active profile set! + Unknown COB! BG reading missing or recent app restart? + Carb constraint violation! + Calc (IC: %1$.1f, ISF: %2$.1f) + Carbs: %1$.2fU + COB: %1$.0fg %2$.2fU + BG: %1$.2fU + IOB: %1$.2fU + Superbolus: %1$.2fU + 15\' trend: %1$.2fU + Percentage: %1$.2fU x %2$d%% ≈ %3$.2fU + Insulin constraint violation!\nCannot deliver %1$.2fU + TempT: %1$s + %1$s to %2$s + No pump available! + %1$d day %1$d days diff --git a/implementation/src/main/res/values/strings.xml b/implementation/src/main/res/values/strings.xml index d000ee1998..8e9bade932 100644 --- a/implementation/src/main/res/values/strings.xml +++ b/implementation/src/main/res/values/strings.xml @@ -9,8 +9,6 @@ Time to eat Enable bolus advisor Use reminder to start eating later instead of wizard result during high glycemia ("pre-bolus") - Bolus advisor - You have high glycemia. Instead of eating now it\'s recommended to wait for better glycemia. Do you want to do a correction bolus now and remind you when it\'s time to eat? In this case no carbs will be recorded and you must use wizard again when we remind you. Time to bolus!\nRun Bolus wizard and do calculation again. Command is executed right now Basal value below minimum. Profile not set! diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt rename to ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt index 9a2bee2930..0abe63dc46 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/WizardDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.ui.dialogs import android.annotation.SuppressLint import android.content.Context @@ -18,9 +18,7 @@ import android.widget.CompoundButton import androidx.fragment.app.FragmentManager import dagger.android.HasAndroidInjector import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.databinding.DialogWizardBinding import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin @@ -30,12 +28,11 @@ import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS -import info.nightscout.androidaps.utils.wizard.BolusWizard import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round import info.nightscout.core.profile.toMgdl import info.nightscout.core.profile.toUnitsString +import info.nightscout.core.wizard.BolusWizard import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants @@ -55,6 +52,8 @@ import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil +import info.nightscout.ui.R +import info.nightscout.ui.databinding.DialogWizardBinding import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.text.DecimalFormat @@ -469,7 +468,7 @@ class WizardDialog : DaggerDialogFragment() { binding.correctionInsulin.text = rh.gs(R.string.formatinsulinunits, wizard.insulinFromCorrection) // Superbolus - binding.sb.text = if (binding.sbCheckbox.isChecked) rh.gs(R.string.twohours) else "" + binding.sb.text = if (binding.sbCheckbox.isChecked) rh.gs(R.string.two_hours) else "" binding.sbInsulin.text = rh.gs(R.string.formatinsulinunits, wizard.insulinFromSuperBolus) // Trend @@ -529,8 +528,8 @@ class WizardDialog : DaggerDialogFragment() { ToastUtils.warnToast(ctx, R.string.dialog_canceled) dismiss() } - protectionCheck.queryProtection(activity, BOLUS, { queryingProtection = false }, cancelFail, cancelFail) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, { queryingProtection = false }, cancelFail, cancelFail) } } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_wizard.xml b/ui/src/main/res/layout/dialog_wizard.xml similarity index 100% rename from app/src/main/res/layout/dialog_wizard.xml rename to ui/src/main/res/layout/dialog_wizard.xml diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index 17809bf85b..f0863d93fc 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -1,6 +1,5 @@ - No action selected, nothing will happen Constraint applied! Bolus constraint applied Carbs constraint applied @@ -34,9 +33,6 @@ Note: Only data visible on this screen will be anonymously uploaded. ID is assigned to this installation of AAPS. You can submit data again if your main profile get changed but let it running at least for a week to make result visible in time in range. Your help is appreciated. - - Bolus constraint applied: %1$.2f U to %2$.2f U - Glucose type Other Meter @@ -60,7 +56,6 @@ Do not bolus, record only - Bolus will be recorded only (not delivered by pump) Reuse %1$d%% %2$dh @@ -80,6 +75,18 @@ Resume Reconnect Pump + + wizard_calculation_visible + wizard_correction_percent + wizard_include_cob + wizard_include_trend_bg + + correct outcome with % + correct outcome with units + 2h + Result: %1$s %2$s + Missing %1$d g + No records available Calc From 417305d1f6e61d63831e2a4aa89f93b29ce67894 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 13:08:38 +0100 Subject: [PATCH 066/123] move NtpProgress --- .../main/java/info/nightscout/androidaps/di/FragmentsModule.kt | 2 +- .../plugins/constraints/objectives/ObjectivesFragment.kt | 2 +- .../constraints/objectives}/dialogs/NtpProgressDialog.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename app/src/main/java/info/nightscout/androidaps/{ => plugins/constraints/objectives}/dialogs/NtpProgressDialog.kt (98%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 0058f843a4..818a8f4398 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.dialogs.NtpProgressDialog +import info.nightscout.androidaps.plugins.constraints.objectives.dialogs.NtpProgressDialog import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderFragment diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index 0be07d510c..8da858f9bd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -19,7 +19,7 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding import info.nightscout.androidaps.databinding.ObjectivesItemBinding -import info.nightscout.androidaps.dialogs.NtpProgressDialog +import info.nightscout.androidaps.plugins.constraints.objectives.dialogs.NtpProgressDialog import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt rename to app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt index 675dc279d5..7a10ec9a5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/dialogs/NtpProgressDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.dialogs +package info.nightscout.androidaps.plugins.constraints.objectives.dialogs import android.os.Bundle import android.os.SystemClock From d108755814ef36600edfcfc85ea278fda2baef4b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 17:46:09 +0100 Subject: [PATCH 067/123] move to plugins module --- .idea/dictionaries/project_dictionary.xml | 15 ++ .../nightscout/rx/events/EventSWUpdate.kt | 3 + app/build.gradle | 3 - .../activities/MyPreferenceFragment.kt | 2 +- .../nightscout/androidaps/di/AppComponent.kt | 3 +- .../androidaps/di/FragmentsModule.kt | 8 +- .../androidaps/di/ObjectivesModule.kt | 21 -- .../androidaps/di/PluginsListModule.kt | 6 +- .../info/nightscout/androidaps/di/UIModule.kt | 2 +- .../implementations/ActivityNamesImpl.kt | 40 ++- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 15 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 9 + .../general/overview/OverviewFragment.kt | 5 +- .../wear/wearintegration/DataHandlerMobile.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 9 +- .../androidaps/setupwizard/SWDefinition.kt | 6 +- .../setupwizard/SetupWizardActivity.kt | 2 +- .../androidaps/setupwizard/elements/SWItem.kt | 2 +- .../setupwizard/elements/SWPlugin.kt | 2 +- .../setupwizard/events/EventSWUpdate.kt | 5 - .../nightscout/androidaps/utils/SntpClient.kt | 199 +-------------- app/src/main/res/menu/menu_main.xml | 2 +- app/src/main/res/values/arrays.xml | 15 -- app/src/main/res/values/exam.xml | 227 ----------------- app/src/main/res/values/objectives.xml | 59 ----- app/src/main/res/values/strings.xml | 96 -------- app/src/main/res/xml/pref_general.xml | 2 +- .../interfaces/ConstraintsCheckerTest.kt | 27 +- .../safety/SafetyPluginTest.kt | 103 +++++--- .../androidaps/utils/SntpClientTest.kt | 1 + .../actions/ActionStartTempTarget.kt | 2 +- .../automation/triggers/TriggerTempTarget.kt | 4 +- .../androidaps/data/PumpEnactResultObject.kt | 4 +- .../androidaps/plugins/aps/loop/APSResult.kt | 4 +- .../nightscout/androidaps/utils/Translator.kt | 6 +- .../userEntry/UserEntryPresentationHelper.kt | 2 +- ...al.xml => ic_actions_start_temp_basal.xml} | 0 .../src/main/res/drawable/ic_clone_48.xml | 0 .../src/main/res/drawable/ic_xdrip.xml | 0 .../core-main/src/main/res/values/strings.xml | 8 +- .../androidaps/data/PumpEnactResultTest.kt | 2 +- .../info/nightscout/interfaces/pump/Pump.kt | 4 + .../nightscout/interfaces/ui/ActivityNames.kt | 19 +- plugins/build.gradle | 5 + .../objectives/ObjectivesFragment.kt | 19 +- .../objectives/ObjectivesPlugin.kt | 26 +- .../constraints/objectives/SntpClient.kt | 200 +++++++++++++++ .../activities/ObjectivesExamDialog.kt | 22 +- .../objectives/dialogs/NtpProgressDialog.kt | 2 +- .../events/EventObjectivesUpdateGui.kt | 2 +- .../objectives/objectives/Objective.kt | 4 +- .../objectives/objectives/Objective0.kt | 4 +- .../objectives/objectives/Objective1.kt | 6 +- .../objectives/objectives/Objective10.kt | 4 +- .../objectives/objectives/Objective2.kt | 6 +- .../objectives/objectives/Objective3.kt | 4 +- .../objectives/objectives/Objective4.kt | 4 +- .../objectives/objectives/Objective5.kt | 6 +- .../objectives/objectives/Objective6.kt | 6 +- .../objectives/objectives/Objective7.kt | 4 +- .../objectives/objectives/Objective9.kt | 4 +- .../objectives/objectives/SntpClient.kt | 2 + .../constraints/safety/SafetyPlugin.kt | 20 +- .../nightscout/plugins/di/ObjectivesModule.kt | 33 +++ .../nightscout/plugins/di/PluginsModule.kt | 4 +- .../nightscout/plugins}/di/SkinsModule.kt | 12 +- .../general/actions/ActionsFragment.kt | 51 ++-- .../plugins/general/actions/ActionsPlugin.kt | 20 +- .../plugins}/skins/SkinButtonsOn.kt | 4 +- .../nightscout/plugins}/skins/SkinClassic.kt | 8 +- .../plugins}/skins/SkinInterface.kt | 8 +- .../plugins}/skins/SkinLargeDisplay.kt | 8 +- .../plugins}/skins/SkinListPreference.kt | 2 +- .../nightscout/plugins}/skins/SkinLowRes.kt | 16 +- .../nightscout/plugins}/skins/SkinProvider.kt | 6 +- .../plugins/ui}/StatusLightHandler.kt | 13 +- .../ic_actions_cancel_extended_bolus.xml | 0 .../ic_arrow_drop_down_white_24dp.xml | 0 .../src/main/res/drawable/ic_cancel_basal.xml | 0 .../main/res/drawable/ic_cp_age_battery.xml | 0 .../main/res/drawable/ic_cp_age_cannula.xml | 0 .../main/res/drawable/ic_cp_age_insulin.xml | 0 .../main/res/drawable/ic_cp_age_sensor.xml | 0 .../src/main/res/drawable/ic_crosstarget.xml | 0 .../src/main/res/layout/actions_fragment.xml | 28 +-- .../res/layout/actions_stats_fragment.xml | 22 +- .../res/layout/objectives_exam_fragment.xml | 10 +- .../main/res/layout/objectives_fragment.xml | 2 +- .../src/main/res/layout/objectives_item.xml | 0 .../res/layout/overview_buttons_layout.xml | 0 .../src/main/res/layout/overview_fragment.xml | 2 +- .../res/layout/overview_graphs_layout.xml | 0 .../main/res/layout/overview_info_layout.xml | 0 .../layout/overview_statuslights_layout.xml | 2 +- plugins/src/main/res/values/arrays.xml | 15 ++ plugins/src/main/res/values/exam.xml | 230 ++++++++++++++++++ plugins/src/main/res/values/objectives.xml | 62 +++++ plugins/src/main/res/values/strings.xml | 101 +++++++- .../src/main/res/xml/pref_safety.xml | 0 .../nightscout/androidaps/HardLimitsMock.kt | 84 +++++++ .../objectives/ObjectivesPluginTest.kt | 19 +- .../SmsCommunicatorPluginTest.kt | 2 +- .../plugins/source/GlimpPluginTest.kt | 0 .../plugins/source/MM640GPluginTest.kt | 0 .../plugins/source/NSClientPluginTest.kt | 0 .../plugins/source/XdripPluginTest.kt | 0 .../omnipod/eros/OmnipodErosPumpPlugin.java | 1 + .../fragments/TreatmentsTempTargetFragment.kt | 2 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 99 ++++---- .../ui/dialogs/ProfileSwitchDialog.kt | 2 +- .../nightscout/ui/dialogs/TempTargetDialog.kt | 2 +- .../main/res/drawable/cb_background_bg.xml | 14 +- .../main/res/drawable/cb_background_cob.xml | 14 +- .../main/res/drawable/cb_background_iob.xml | 14 +- .../main/res/drawable/cb_background_trend.xml | 14 +- .../main/res/drawable/cb_background_tt.xml | 0 .../main/res/drawable/checkbox_bg_icon.xml | 8 +- .../main/res/drawable/checkbox_cob_icon.xml | 8 +- .../main/res/drawable/checkbox_iob_icon.xml | 8 +- .../main/res/drawable/checkbox_trend_icon.xml | 8 +- .../main/res/drawable/checkbox_tt_icon.xml | 0 .../main/res/drawable/ic_cp_basal_start.xml | 0 .../main/res/drawable/ic_loop_disabled.xml | 0 .../res/drawable/ic_loop_disconnected.xml | 0 .../src/main/res/drawable/ic_loop_lgs.xml | 0 .../src/main/res/drawable/ic_loop_open.xml | 0 .../src/main/res/drawable/ic_loop_paused.xml | 0 .../main/res/drawable/ic_loop_reconnect.xml | 0 .../src/main/res/drawable/ic_loop_resume.xml | 0 .../main/res/drawable/ic_target_activity.xml | 0 .../main/res/drawable/ic_target_cancel.xml | 0 .../res/drawable/ic_target_eatingsoon.xml | 0 .../src/main/res/drawable/ic_target_hypo.xml | 0 .../main/res/drawable/ic_target_manual.xml | 0 .../main/res/layout/dialog_profileswitch.xml | 6 +- ui/src/main/res/layout/dialog_temptarget.xml | 2 +- .../main/res/layout/treatments_fragment.xml | 4 +- ui/src/main/res/values/strings.xml | 14 ++ 138 files changed, 1246 insertions(+), 1034 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWUpdate.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt rename app/src/test/java/info/nightscout/androidaps/plugins/{constraints => }/safety/SafetyPluginTest.kt (76%) rename core/core-main/src/main/res/drawable/{ic_actions_starttempbasal.xml => ic_actions_start_temp_basal.xml} (100%) rename {plugins => core/core-main}/src/main/res/drawable/ic_clone_48.xml (100%) rename {app => core/core-main}/src/main/res/drawable/ic_xdrip.xml (100%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/ObjectivesFragment.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/ObjectivesPlugin.kt (84%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt (57%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective0.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective1.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective10.kt (73%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective2.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective3.kt (91%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective4.kt (67%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective5.kt (81%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective6.kt (80%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective7.kt (74%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/objectives/objectives/Objective9.kt (73%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/constraints/safety/SafetyPlugin.kt (87%) create mode 100644 plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/di/SkinsModule.kt (71%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/general/actions/ActionsFragment.kt (86%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout}/plugins/general/actions/ActionsPlugin.kt (56%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinButtonsOn.kt (83%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinClassic.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinInterface.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinLargeDisplay.kt (81%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinListPreference.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinLowRes.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => plugins/src/main/java/info/nightscout/plugins}/skins/SkinProvider.kt (82%) rename {app/src/main/java/info/nightscout/androidaps/plugins/general/overview => plugins/src/main/java/info/nightscout/plugins/ui}/StatusLightHandler.kt (96%) rename app/src/main/res/drawable/ic_actions_cancelextbolus.xml => plugins/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml (100%) rename app/src/main/res/drawable/ic_cancelbasal.xml => plugins/src/main/res/drawable/ic_cancel_basal.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_cp_age_battery.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_cp_age_cannula.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_cp_age_insulin.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_cp_age_sensor.xml (100%) rename {app => plugins}/src/main/res/drawable/ic_crosstarget.xml (100%) rename {app => plugins}/src/main/res/layout/actions_fragment.xml (95%) rename app/src/main/res/layout/careportal_stats_fragment.xml => plugins/src/main/res/layout/actions_stats_fragment.xml (93%) rename {app => plugins}/src/main/res/layout/objectives_exam_fragment.xml (95%) rename {app => plugins}/src/main/res/layout/objectives_fragment.xml (95%) rename {app => plugins}/src/main/res/layout/objectives_item.xml (100%) rename {app => plugins}/src/main/res/layout/overview_buttons_layout.xml (100%) rename {app => plugins}/src/main/res/layout/overview_fragment.xml (99%) rename {app => plugins}/src/main/res/layout/overview_graphs_layout.xml (100%) rename {app => plugins}/src/main/res/layout/overview_info_layout.xml (100%) rename {app => plugins}/src/main/res/layout/overview_statuslights_layout.xml (98%) create mode 100644 plugins/src/main/res/values/exam.xml create mode 100644 plugins/src/main/res/values/objectives.xml rename {app => plugins}/src/main/res/xml/pref_safety.xml (100%) create mode 100644 plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/constraints/objectives/ObjectivesPluginTest.kt (79%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/source/GlimpPluginTest.kt (100%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/source/MM640GPluginTest.kt (100%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/source/NSClientPluginTest.kt (100%) rename {app/src/test/java/info/nightscout/androidaps => plugins/src/test/java/info/nightscout}/plugins/source/XdripPluginTest.kt (100%) rename {app => ui}/src/main/res/drawable/cb_background_bg.xml (97%) rename {app => ui}/src/main/res/drawable/cb_background_cob.xml (97%) rename {app => ui}/src/main/res/drawable/cb_background_iob.xml (97%) rename {app => ui}/src/main/res/drawable/cb_background_trend.xml (97%) rename {app => ui}/src/main/res/drawable/cb_background_tt.xml (100%) rename {app => ui}/src/main/res/drawable/checkbox_bg_icon.xml (97%) rename {app => ui}/src/main/res/drawable/checkbox_cob_icon.xml (97%) rename {app => ui}/src/main/res/drawable/checkbox_iob_icon.xml (97%) rename {app => ui}/src/main/res/drawable/checkbox_trend_icon.xml (97%) rename {app => ui}/src/main/res/drawable/checkbox_tt_icon.xml (100%) rename {app => ui}/src/main/res/drawable/ic_cp_basal_start.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_disabled.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_disconnected.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_lgs.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_open.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_paused.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_reconnect.xml (100%) rename {app => ui}/src/main/res/drawable/ic_loop_resume.xml (100%) rename {app => ui}/src/main/res/drawable/ic_target_activity.xml (100%) rename {app => ui}/src/main/res/drawable/ic_target_cancel.xml (100%) rename {app => ui}/src/main/res/drawable/ic_target_eatingsoon.xml (100%) rename {app => ui}/src/main/res/drawable/ic_target_hypo.xml (100%) rename {app => ui}/src/main/res/drawable/ic_target_manual.xml (100%) diff --git a/.idea/dictionaries/project_dictionary.xml b/.idea/dictionaries/project_dictionary.xml index 2e08ebd897..3989a176c5 100644 --- a/.idea/dictionaries/project_dictionary.xml +++ b/.idea/dictionaries/project_dictionary.xml @@ -8,6 +8,7 @@ actionstring aidex alarmack + alexpr allowednumbers androidaps autosens @@ -43,9 +44,14 @@ dexcom dexdrip diaconn + dlvoy + dttm + ecarbs enteredby enteredinsulin + eoflow eopatch + epss eveningoutpost eversense extendedbolus @@ -56,12 +62,15 @@ gson hmac iage + infinivocgm insulet + intelligo iobtotal joda libre listdelimiter localprofile + lyumjev mdtp medtronic mgdl @@ -74,6 +83,7 @@ nightscout notif nsclient + oaps okcancel omnipod openaps @@ -88,10 +98,12 @@ profileswitch pumpbtcomm pumpcontrol + pumpdrivers quickwizard readstatus realduration refresheventsfromnightscout + rfspy rileylink roboelectric rozman @@ -104,6 +116,8 @@ soundid splitted ssid + statuslight + statuslights superbolus targethigh targetlow @@ -119,6 +133,7 @@ totp tunedays uart + unfinshed urgentalarm wizzardpage xdrip diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWUpdate.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWUpdate.kt new file mode 100644 index 0000000000..6ea5119760 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWUpdate.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventSWUpdate(var redraw: Boolean) : Event() \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 49cdffb837..d2c714bfee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -222,9 +222,6 @@ dependencies { // MainApp api "com.uber.rxdogtag2:rxdogtag:2.0.1" - // Overview - api 'com.google.android.flexbox:flexbox:3.0.0' - // APS api 'org.mozilla:rhino:1.7.14' diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index f7dadf3667..d61f7bce1a 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -30,7 +30,7 @@ import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index 0d598198f5..6ec767919d 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -25,6 +25,7 @@ import info.nightscout.automation.di.AutomationModule import info.nightscout.database.impl.DatabaseModule import info.nightscout.implementation.di.ImplementationModule import info.nightscout.plugins.di.PluginsModule +import info.nightscout.plugins.di.SkinsModule import info.nightscout.rx.di.RxModule import info.nightscout.shared.di.SharedModule import info.nightscout.ui.di.UiModule @@ -36,12 +37,10 @@ import javax.inject.Singleton AndroidInjectionModule::class, AppModule::class, PluginsListModule::class, - SkinsModule::class, ActivitiesModule::class, FragmentsModule::class, ReceiversModule::class, ServicesModule::class, - ObjectivesModule::class, WizardModule::class, APSModule::class, WorkflowModule::class, diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 818a8f4398..93c61aa5ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,13 +3,13 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.plugins.constraints.objectives.dialogs.NtpProgressDialog +import info.nightscout.plugins.constraints.objectives.dialogs.NtpProgressDialog import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderFragment -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment -import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog -import info.nightscout.androidaps.plugins.general.actions.ActionsFragment +import info.nightscout.plugins.constraints.objectives.ObjectivesFragment +import info.nightscout.plugins.constraints.objectives.activities.ObjectivesExamDialog +import info.nightscout.plugins.general.actions.ActionsFragment import info.nightscout.androidaps.plugins.general.maintenance.MaintenanceFragment import info.nightscout.androidaps.plugins.general.overview.OverviewFragment import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog diff --git a/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt index b10655655e..200b83579f 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt @@ -1,23 +1,2 @@ package info.nightscout.androidaps.di -import dagger.Module -import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.* - -@Module -@Suppress("unused") -abstract class ObjectivesModule { - - @ContributesAndroidInjector abstract fun objectiveInjector(): Objective - @ContributesAndroidInjector abstract fun objective0Injector(): Objective0 - @ContributesAndroidInjector abstract fun objective1Injector(): Objective1 - @ContributesAndroidInjector abstract fun objective2Injector(): Objective2 - @ContributesAndroidInjector abstract fun objective3Injector(): Objective3 - @ContributesAndroidInjector abstract fun objective4Injector(): Objective4 - @ContributesAndroidInjector abstract fun objective5Injector(): Objective5 - @ContributesAndroidInjector abstract fun objective6Injector(): Objective6 - @ContributesAndroidInjector abstract fun objective7Injector(): Objective7 - @ContributesAndroidInjector abstract fun objective9Injector(): Objective9 - @ContributesAndroidInjector abstract fun objective10Injector(): Objective10 - -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index 51e76c035e..1353f1d40b 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -15,9 +15,9 @@ import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin -import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin +import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin +import info.nightscout.plugins.constraints.safety.SafetyPlugin +import info.nightscout.plugins.general.actions.ActionsPlugin import info.nightscout.androidaps.plugins.general.dataBroadcaster.DataBroadcastPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt b/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt index 6ed59b4f58..457222578e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.ui.widget.WidgetConfigureActivity -import info.nightscout.androidaps.skins.SkinListPreference +import info.nightscout.plugins.skins.SkinListPreference import info.nightscout.ui.widget.Widget @Module diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 61c6f60803..548d4353b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -6,14 +6,20 @@ import android.os.Bundle import androidx.annotation.RawRes import androidx.fragment.app.FragmentManager import info.nightscout.androidaps.MainActivity +import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.services.AlarmSoundService import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.ui.activities.BolusProgressHelperActivity import info.nightscout.ui.activities.ErrorHelperActivity import info.nightscout.ui.activities.TDDStatsActivity +import info.nightscout.ui.dialogs.CareDialog +import info.nightscout.ui.dialogs.ExtendedBolusDialog +import info.nightscout.ui.dialogs.FillDialog import info.nightscout.ui.dialogs.ProfileSwitchDialog import info.nightscout.ui.dialogs.ProfileViewerDialog +import info.nightscout.ui.dialogs.TempBasalDialog +import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.ui.dialogs.WizardDialog import javax.inject.Inject @@ -21,6 +27,7 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { override val mainActivityClass: Class<*> = MainActivity::class.java override val tddStatsActivity: Class<*> = TDDStatsActivity::class.java + override val historyBrowseActivity: Class<*> = HistoryBrowseActivity::class.java override val errorHelperActivity: Class<*> = ErrorHelperActivity::class.java override val bolusProgressHelperActivity: Class<*> = BolusProgressHelperActivity::class.java override val singleFragmentActivity: Class<*> = SingleFragmentActivity::class.java @@ -50,6 +57,26 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { .show(fragmentManager, "ProfileSwitchDialog") } + override fun runTempBasalDialog(fragmentManager: FragmentManager) { + TempBasalDialog() + .show(fragmentManager, "TempBasalDialog") + } + + override fun runTempTargetDialog(fragmentManager: FragmentManager) { + TempTargetDialog() + .show(fragmentManager, "TempTargetDialog") + } + + override fun runExtendedBolusDialog(fragmentManager: FragmentManager) { + ExtendedBolusDialog() + .show(fragmentManager, "ExtendedBolusDialog") + } + + override fun runFillDialog(fragmentManager: FragmentManager) { + FillDialog() + .show(fragmentManager, "FillDialog") + } + override fun runProfileViewerDialog(fragmentManager: FragmentManager, time: Long, mode: ActivityNames.Mode, customProfile: String?, customProfileName: String?, customProfile2: String?) { ProfileViewerDialog() .also { @@ -61,6 +88,17 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { bundle.putString("customProfile2", customProfile2) } } - .show(fragmentManager, "ProfileSwitchDialog") + .show(fragmentManager, "ProfileViewer") + } + + override fun runCareDialog(fragmentManager: FragmentManager, options: ActivityNames.EventType, event: Int) { + CareDialog() + .also { + it.arguments = Bundle().also { bundle -> + bundle.putInt("event", event) + bundle.putInt("options", options.ordinal) + } + } + .show(fragmentManager, "CareDialog") } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index b880fa7f5b..ad2942c350 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -33,6 +33,7 @@ import info.nightscout.rx.bus.RxBus 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 org.json.JSONException import javax.inject.Inject @@ -55,7 +56,8 @@ class OpenAPSAMAPlugin @Inject constructor( private val fabricPrivacy: FabricPrivacy, private val dateUtil: DateUtil, private val repository: AppRepository, - private val glucoseStatusProvider: GlucoseStatusProvider + private val glucoseStatusProvider: GlucoseStatusProvider, + private val sp: SP ) : PluginBase( PluginDescription() .mainType(PluginType.APS) @@ -66,7 +68,7 @@ class OpenAPSAMAPlugin @Inject constructor( .preferencesId(R.xml.pref_openapsama) .description(R.string.description_ama), aapsLogger, rh, injector -), APS { +), APS, Constraints { // last values override var lastAPSRun: Long = 0 @@ -207,4 +209,13 @@ class OpenAPSAMAPlugin @Inject constructor( //deviceStatus.suggested = determineBasalResultAMA.json; } + + override fun applyMaxIOBConstraints(maxIob: Constraint): Constraint { + if (isEnabled()) { + val maxIobPref: Double = sp.getDouble(R.string.key_openapsma_max_iob, 1.5) + maxIob.setIfSmaller(aapsLogger, maxIobPref, rh.gs(R.string.limitingiob, maxIobPref, rh.gs(R.string.maxvalueinpreferences)), this) + maxIob.setIfSmaller(aapsLogger, hardLimits.maxIobAMA(), rh.gs(R.string.limitingiob, hardLimits.maxIobAMA(), rh.gs(R.string.hardlimit)), this) + } + return maxIob + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 483f22b3b2..19149c80e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -240,5 +240,14 @@ class OpenAPSSMBPlugin @Inject constructor( return value } + override fun applyMaxIOBConstraints(maxIob: Constraint): Constraint { + if (isEnabled()) { + val maxIobPref: Double = sp.getDouble(R.string.key_openapssmb_max_iob, 3.0) + maxIob.setIfSmaller(aapsLogger, maxIobPref, rh.gs(R.string.limitingiob, maxIobPref, rh.gs(R.string.maxvalueinpreferences)), this) + maxIob.setIfSmaller(aapsLogger, hardLimits.maxIobSMB(), rh.gs(R.string.limitingiob, hardLimits.maxIobSMB(), rh.gs(R.string.hardlimit)), this) + } + return maxIob + } + fun provideDetermineBasalAdapter(): DetermineBasalAdapterInterface = DetermineBasalAdapterSMBJS(ScriptReader(context), injector) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 12a2e2fcdc..146e972f10 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -29,7 +29,7 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.databinding.OverviewFragmentBinding +import info.nightscout.plugins.databinding.OverviewFragmentBinding import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange @@ -54,7 +54,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.androidaps.skins.SkinProvider +import info.nightscout.plugins.skins.SkinProvider import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -88,6 +88,7 @@ import info.nightscout.plugins.source.DexcomPlugin import info.nightscout.plugins.source.XdripPlugin import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData +import info.nightscout.plugins.ui.StatusLightHandler import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 985178bb1a..d5e84301ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -995,7 +995,7 @@ class DataHandlerMobile @Inject constructor( ret += if (!result.isChangeRequested) { rh.gs(R.string.nochangerequested) + "\n" } else if (result.rate == 0.0 && result.duration == 0) { - rh.gs(R.string.canceltemp) + "\n" + rh.gs(R.string.cancel_temp) + "\n" } else { rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(result.rate) + " U/h " + "(" + DecimalFormatter.to2Decimal(result.rate / activePlugin.activePump.baseBasalRate * 100) + "%)\n" + diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 328e89013a..b7c036d891 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -4,6 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack +import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore @@ -13,6 +14,7 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile @@ -51,7 +53,7 @@ class SensitivityOref1Plugin @Inject constructor( .description(R.string.description_sensitivity_oref1) .setDefault(), injector, aapsLogger, rh, sp -) { +), Constraints { override fun detectSensitivity(ads: AutosensDataStore, fromTime: Long, toTime: Long): AutosensResult { val profile = profileFunction.getProfile() @@ -235,4 +237,9 @@ class SensitivityOref1Plugin @Inject constructor( override val id: SensitivityType get() = SensitivityType.SENSITIVITY_OREF1 + + override fun isUAMEnabled(value: Constraint): Constraint { + if (!isEnabled()) value.set(aapsLogger, false, rh.gs(info.nightscout.plugins.R.string.uamdisabledoref1notselected), this) + return value + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index ded3471ea3..c5f016e3f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -14,8 +14,8 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesFragment -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin +import info.nightscout.plugins.constraints.objectives.ObjectivesFragment +import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin @@ -32,7 +32,7 @@ import info.nightscout.androidaps.setupwizard.elements.SWInfoText import info.nightscout.androidaps.setupwizard.elements.SWPlugin import info.nightscout.androidaps.setupwizard.elements.SWPreference import info.nightscout.androidaps.setupwizard.elements.SWRadioButton -import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.AndroidPermission diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 8e6f5882bf..d73e0f5388 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.locale.LocaleHelper.update diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt index 1dcff122c5..3a28b38235 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt @@ -9,7 +9,7 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt index abcfa73e3c..6faeae5233 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.activities.MyPreferenceFragment import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.setupwizard.SWDefinition -import info.nightscout.androidaps.setupwizard.events.EventSWUpdate +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.events.EventConfigBuilderChange diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt deleted file mode 100644 index f67b6b0566..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWUpdate.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.setupwizard.events - -import info.nightscout.rx.events.Event - -class EventSWUpdate(var redraw: Boolean) : Event() \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt index 475507b645..6f01aa6a78 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt @@ -1,14 +1,5 @@ package info.nightscout.androidaps.utils -import android.os.SystemClock -import info.nightscout.rx.logging.AAPSLogger -import info.nightscout.shared.utils.DateUtil -import java.net.DatagramPacket -import java.net.DatagramSocket -import java.net.InetAddress -import javax.inject.Inject -import javax.inject.Singleton - /* * Copyright (C) 2008 The Android Open Source Project * @@ -23,192 +14,4 @@ import javax.inject.Singleton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ /** - * {@hide} - * - * - * Simple SNTP client class for retrieving network time. - * - * - * Sample usage: - *
SntpClient client = new SntpClient();
- * if (client.requestTime("time.foo.com")) {
- * long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
- * }
-
* - */ -@Singleton -class SntpClient @Inject constructor( - private val aapsLogger: AAPSLogger, - private val dateUtil: DateUtil -) { - - companion object { - //private final int REFERENCE_TIME_OFFSET = 16; - private const val ORIGINATE_TIME_OFFSET = 24 - private const val RECEIVE_TIME_OFFSET = 32 - private const val TRANSMIT_TIME_OFFSET = 40 - private const val NTP_PACKET_SIZE = 48 - private const val NTP_PORT = 123 - private const val NTP_MODE_CLIENT = 3 - private const val NTP_VERSION = 3 - - // Number of seconds between Jan 1, 1900 and Jan 1, 1970 - // 70 years plus 17 leap days - private const val OFFSET_1900_TO_1970 = (365L * 70L + 17L) * 24L * 60L * 60L - } - - /** - * Returns the time computed from the NTP transaction. - * - * @return time value computed from NTP server response. - */ - // system time computed from NTP server response - private var ntpTime: Long = 0 - - /** - * Returns the reference clock value (value of SystemClock.elapsedRealtime()) - * corresponding to the NTP time. - * - * @return reference clock corresponding to the NTP time. - */ - // value of SystemClock.elapsedRealtime() corresponding to mNtpTime - private var ntpTimeReference: Long = 0 - - /** - * Returns the round trip time of the NTP transaction - * - * @return round trip time in milliseconds. - */ - // round trip time in milliseconds - private var roundTripTime: Long = 0 - - abstract class Callback : Runnable { - - var networkConnected = false - var success = false - var time: Long = 0 - } - - @Synchronized fun ntpTime(callback: Callback, isConnected: Boolean) { - callback.networkConnected = isConnected - if (callback.networkConnected) { - Thread { doNtpTime(callback) }.start() - } else { - callback.run() - } - } - - fun doNtpTime(callback: Callback) { - aapsLogger.debug("Time detection started") - callback.success = requestTime("time.google.com", 5000) - callback.time = ntpTime + SystemClock.elapsedRealtime() - ntpTimeReference - aapsLogger.debug("Time detection ended: " + callback.success + " " + dateUtil.dateAndTimeString(ntpTime)) - callback.run() - } - - /** - * Sends an SNTP request to the given host and processes the response. - * - * @param host host name of the server. - * @param timeout network timeout in milliseconds. - * @return true if the transaction was successful. - */ - @Suppress("SameParameterValue") - @Synchronized private fun requestTime(host: String, timeout: Int): Boolean { - try { - val socket = DatagramSocket() - socket.soTimeout = timeout - val address = InetAddress.getByName(host) - val buffer = ByteArray(NTP_PACKET_SIZE) - val request = DatagramPacket(buffer, buffer.size, address, NTP_PORT) - - // set mode = 3 (client) and version = 3 - // mode is in low 3 bits of first byte - // version is in bits 3-5 of first byte - buffer[0] = (NTP_MODE_CLIENT or (NTP_VERSION shl 3)).toByte() - - // get current time and write it to the request packet - val requestTime = System.currentTimeMillis() - val requestTicks = SystemClock.elapsedRealtime() - writeTimeStamp(buffer, TRANSMIT_TIME_OFFSET, requestTime) - socket.send(request) - - // read the response - val response = DatagramPacket(buffer, buffer.size) - socket.receive(response) - val responseTicks = SystemClock.elapsedRealtime() - val responseTime = requestTime + (responseTicks - requestTicks) - socket.close() - - // extract the results - val originateTime = readTimeStamp(buffer, ORIGINATE_TIME_OFFSET) - val receiveTime = readTimeStamp(buffer, RECEIVE_TIME_OFFSET) - val transmitTime = readTimeStamp(buffer, TRANSMIT_TIME_OFFSET) - val roundTripTime = responseTicks - requestTicks - (transmitTime - receiveTime) - val clockOffset = (receiveTime - originateTime + (transmitTime - responseTime)) / 2 - - // save our results - use the times on this side of the network latency - // (response rather than request time) - ntpTime = responseTime + clockOffset - ntpTimeReference = responseTicks - this.roundTripTime = roundTripTime - } catch (e: Exception) { - aapsLogger.debug("request time failed: $e") - return false - } - return true - } - - /** - * Reads an unsigned 32 bit big endian number from the given offset in the buffer. - */ - private fun read32(buffer: ByteArray, offset: Int): Long { - val b0 = buffer[offset] - val b1 = buffer[offset + 1] - val b2 = buffer[offset + 2] - val b3 = buffer[offset + 3] - - // convert signed bytes to unsigned values - val i0 = if (b0.toInt() and 0x80 == 0x80) (b0.toInt() and 0x7F) + 0x80 else b0.toInt() - val i1 = if (b1.toInt() and 0x80 == 0x80) (b1.toInt() and 0x7F) + 0x80 else b1.toInt() - val i2 = if (b2.toInt() and 0x80 == 0x80) (b2.toInt() and 0x7F) + 0x80 else b2.toInt() - val i3 = if (b3.toInt() and 0x80 == 0x80) (b3.toInt() and 0x7F) + 0x80 else b3.toInt() - return (i0.toLong() shl 24) + (i1.toLong() shl 16) + (i2.toLong() shl 8) + i3.toLong() - } - - /** - * Reads the NTP time stamp at the given offset in the buffer and returns - * it as a system time (milliseconds since January 1, 1970). - */ - private fun readTimeStamp(buffer: ByteArray, offset: Int): Long { - val seconds = read32(buffer, offset) - val fraction = read32(buffer, offset + 4) - return (seconds - OFFSET_1900_TO_1970) * 1000 + fraction * 1000L / 0x100000000L - } - - /** - * Writes system time (milliseconds since January 1, 1970) as an NTP time stamp - * at the given offset in the buffer. - */ - @Suppress("SameParameterValue") - private fun writeTimeStamp(buffer: ByteArray, offsetParam: Int, time: Long) { - var offset = offsetParam - var seconds = time / 1000L - val milliseconds = time - seconds * 1000L - seconds += OFFSET_1900_TO_1970 - - // write seconds in big endian format - buffer[offset++] = (seconds shr 24).toByte() - buffer[offset++] = (seconds shr 16).toByte() - buffer[offset++] = (seconds shr 8).toByte() - buffer[offset++] = (seconds shr 0).toByte() - val fraction = milliseconds * 0x100000000L / 1000L - // write fraction in big endian format - buffer[offset++] = (fraction shr 24).toByte() - buffer[offset++] = (fraction shr 16).toByte() - buffer[offset++] = (fraction shr 8).toByte() - // low order bits should be random data - buffer[offset] = (Math.random() * 255.0).toInt().toByte() - } -} \ No newline at end of file + */ \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index df1e452145..50034823ac 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -22,7 +22,7 @@ android:id="@+id/nav_historybrowser" android:orderInCategory="1" app:showAsAction="never" - android:title="@string/nav_historybrowser" /> + android:title="@string/nav_history_browser" /> zh - - @string/child - @string/teenage - @string/adult - @string/resistantadult - @string/pregnant - - - @string/key_child - @string/key_teenage - @string/key_adult - @string/key_resistantadult - @string/key_pregnant - - 15 30 diff --git a/app/src/main/res/values/exam.xml b/app/src/main/res/values/exam.xml index 6ef4c697a6..045e125f3d 100644 --- a/app/src/main/res/values/exam.xml +++ b/app/src/main/res/values/exam.xml @@ -1,230 +1,3 @@ - What is true about DIA? - Duration of Insulin Action (DIA) - You should set the value for DIA in your profile. - The minimum allowed value is 5 hours. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - If you are satisfied that the value for DIA that you used in your pump prior to AAPS worked well, there is no need to change this when you start looping. - You should determine for yourself the appropriate value for DIA. - Hypo Temp-Target - What is primary reason to set a hypo temp target? - To correct for hypos caused by incorrect basal rate settings. - To prevent AAPS from overcorrecting for a blood glucose rise caused by the fast acting carbs used to treat a hypo. - To correct for a hypo induced as a result of exercise. - To prevent blood glucose from going low if there is already a 0% temporary basal rate running. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Which profile can be used and configured offline? - Topic: Offline Profile - NS Profile can be used, but not configured. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Reasons for applying "Disconnect pump" in AAPS - What should be done when disconnecting the pump? - This is unnecessary as insulin will not be delivered if the pump is physically disconnected. - It prevents AAPS from accounting for insulin that was not delivered whilst the pump is physically disconnected.  - It will not stop insulin delivery if the pump remains connected. - It will send AAPS into open loop mode. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - AAPS Settings - AAPS Settings - What are the best practices for backing up your settings? - You do not need to export your settings provided that you make a note of them. - Export your settings after you finish completing an objective. - Export your settings after changing any of your settings. - Export your settings after you finish your initial set-up and have set your Preferences. - Export your settings locally using the maintenance menu. - Your settings file is found in the folder Internal Storage/AAPS/preferences on your phone. - Copy your preferences file to a safe location outside of your phone (e.g. by using a cloud drive, connecting a cable to a computer, email, etc.) - If your phone is damaged or lost, there are easy ways to remotely recover your settings without a backup. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Noisy CGM Readings - What should be done if CGM data is noisy? - Do nothing - AAPS will deal with it. - Disable the closed loop to avoid possible over or underdosing. - Replace consistently noisy or inaccurate sensors. - Verify that your CGM app provides smoothed data. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Exercise and Profiles - How can you use profiles to best help the system deal with aerobic exercise? - Do a profile switch to less than 100%. - Do a profile switch to more than 100%. - Leave the profile set to 100%. - Suspend the loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Exercise and Temporary Targets - How can you use temporary targets to best help the system deal with aerobic exercise? - Set an activity blood glucose target starting a suitable time before beginning exercise. - Set an activity blood glucose target after finishing exercise. - Leave your blood glucose target unchanged. - Wait until blood glucose drops below your hypo temp target and then eat 15 g of fast acting carbohydrates. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Disabled/Suspended loop - Do I receive insulin when the loop is disabled/suspended? - Yes, basal insulin continues to be delivered. - No, delivery of insulin is stopped. - Basal, ISF, and I:C Testing - When should these values be validated? - Before starting looping. - When experiencing frequent high or low blood glucose. - At least once per week. - Once set and validated, these values should not change over time. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Prerequisites - What is essential to set up and use AAPS? - Validated profile information (Basal, IC, ISF, DIA). - A computer with Android Studio installed and configured. - A supported phone. - A compatible insulin pump if you are planning to run a closed loop. - Nightscout, to keep a log of all data and review settings. - A Tidepool account. - A Google account. - A Github account. - Experience in programming or editing code. - A MiniMed 670G pump. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - A Smartwatch. - A Supported CGM. - Prerequisites - What is essential to set up and use AAPS? - Validated information to set up a profile (ISF, I:C ratio, basal rates, DIA etc.). - A compatible Android device (e.g. mobile/cell phone, full Android watch, or tablet). - AAPS requires an internet connection in order to run in closed loop. - A supported CGM and appropriate app to receive blood glucose values on the phone/device. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Updating AAPS - Check all correct answers. - You need to have Git installed and configured on your computer. - When updated versions of AAPS are released, the earlier versions may be remotely limited after a specified time. - You should save and note the location of your keystore and use the same signing key for updates as for your previous installation. - Never update if the system is working well. - If you have difficulty building the apk, you can install an apk that has been built by a friend. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Troubleshooting - Where can you look for help with AAPS? - You can ask for advice in the AAPS Users Facebook group. - You should read (and re-read) the AAPS documentation. - You can ask for advice and log technical problems or issues in the AAPS Discord. - You should ask your diabetes clinic/endocrinologist. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Insulin Plugins - Which insulin should you use with the Ultra-Rapid Oref plugin? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/"regular" human insulin. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Sensitivity Plugins - Check all correct answers. - Sensitivity plugins allow AAPS to adjust for temporary or short-lived changes in insulin sensitivity (for example hormonal changes or issues with absorption at the infusion site). - Sensitivity plugins provide the user with suggested changes to basal rates, I:C ratios and ISF that can be used to edit profile. - Logging a cannula change will reset Autosens ratio back to 100%. - Some of the plugin options have configurable time ranges that can be set by the user. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Carb Entry Errors - What should you do if you’ve made an incorrect carb entry? - Delete the incorrect entry in Treatments and enter the correct new carb value. - Bolus with insulin using the infusion set prime menu. - Do nothing – AAPS will make the appropriate adjustments. - Bolus with insulin using the Insulin (bolus) button in Overview. - Insulin delivery/entry errors - What should you do if you received less insulin than the pump history suggests e.g. due to an occlusion, a failed cannula or forgetting to reattach the pump after a shower?  - Delete insulin data from Nightscout Careportal to remove it from the pump history. - Compare values in AAPS and pump history (if pump supports this). - Bolus a proportion of your calculated ‘missed’ insulin by either syringe/pen or using a prime. - Do nothing and allow AAPS to correct any resulting high blood glucose level. - Carbs on Board (COB) - How changing ISF value affects COB calculation? - Increasing ISF will take absorbing carbs a longer time - Increasing ISF will take absorbing carbs a shorter time - Increasing ISF will not affect calculated carbs absorption - How changing IC value affects COB calculation? - Increasing IC will take absorbing carbs a longer time - Increasing IC will take absorbing carbs a shorter time - Increasing IC will not affect calculated carbs absorption - How changing profile percentage affects COB calculation? - Setting profile to 150% will take absorbing carbs a longer time - Setting profile to 150% will take absorbing carbs a shorter time - Setting profile to 150% will not affect calculated carbs absorption - Insulin on Board (IOB) - IOB value is affected by issued temporary basals. - High temp basal will not be given when your blood sugar is below target. - Negative IOB for a substantial period in the absence of exercise suggests your profile is too strong and less insulin is needed in your settings. - Positive IOB for a substantial period suggests insulin resistance or unannounced meals. - Carb entry and boluses - Only grams should be used for estimating and recording carbohydrates consumed. - Carbohydrates consumed can be recorded using an appropriate exchange system (e.g. DAFNE "CHO" exchanges or European "Bread Units"). - AAPS uses a dynamic model to estimate carb “decay” and calculate COB. - If blood glucose levels are outside acceptable values (too low or too high) the bolus calculator can be used to provide suggestions for carb or insulin corrections. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - What could you use e-carbs (extended carbs) for? - To schedule carbs in the future, possibly distributed over an interval (similar to an extended bolus distributing insulin over an interval). - For logging \'free\' exercise carbs you want to hide from AAPS. - e-carbs (distributed in the future) can assist AAPS in dealing with high fat/protein meals. - For logging rescue carbs you use to treat low blood glucose.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Remote Monitoring - How can you monitor AAPS (for example for your child) remotely? - AAPSClient app, Nightscout app and Nightscout webpage all allow you to follow AAPS remotely. - Other apps (e.g. Dexcom follow, xDrip running in follow mode) allow you to follow some parameters (e.g. blood glucose/sensor values) remotely, but use different algorithms so may have inaccurate IOB or COB values. - To follow AAPS remotely, both devices must have internet access (e.g. via Wi-Fi or mobile/cellular network data). - AAPSClient used as a remote follower will both monitor and provide full control of AAPS. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Insulin Sensitivity Factor (ISF) - Raising ISF values will lead to more insulin delivery to cover a specific amount of carbs. - Reducing ISF values lead to more insulin delivery to correct for an above target blood glucose. - Raising or lowering ISF has no effect on insulin delivery when blood glucose levels are below target. - ISF should be entered in your AAPS Preferences. - Changing the ISF value in your profile is enough to apply the change. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - You can use more than one value for I:C ratio in your profile. - If you change your ISF in your profile you should always change your I:C ratio too. - Insulin to Carbohydrate Ratio (I:C ratio) - Higher I:C ratios lead to less insulin delivered for a given amount of carbs. - Lower I:C ratios lead to less insulin delivered for a given amount of carbs. - If you have 0 COB, changing the IC ratio will lead to a different amount of insulin to correct a given BG value. - IC will be different if you count bread (exchange) unit as 10g or 12g. - IC meaning is: How many bread (exchange) units are covered by 1U of insulin. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profile Switching - When specifying a 90% profile switch, which answers are true? - Basal rates will be 10% lower. - ISF will be 10% higher. - The value of the I:C ratio will be a 10% lower number. - ISF and I:C ratios will be unchanged. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profile Switching - When specifying a 120% profile switch, which answers are true? - Target blood glucose will be 20% higher. - Basal rates will be 20% higher. - Target blood glucose will be unchanged. - ISF will be 20% higher. - Profile Switching - If you get up 2 hours earlier than usual, how should you notify AAPS of the change in your schedule? - Initiate a profile switch with a timeshift of 2 - Initiate a profile switch with a timeshift of -2 - Set an eating soon temporary target. - Do a profile switch to more than 100%.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Changes to profiles - Basal rates, ISF, I:C ratios, etc., should be set in profiles. - Activating changes to your Nightscout Profile requires your AAPS phone to have an internet connection. - Editing profiles to change values is sufficient to enact any changes made. - Multiple profiles can be set up and selected to accommodate changing circumstances (e.g. hormonal changes, shift working, weekdays/weekend lifestyle). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Help with basal rates - Where to go for help with basalrate etc. - Your diabetes team - Google - Facebook - - Other Medication. Please read the statement below and then check the box to accept the declaration. - AAPS reduces basal rates or suspends insulin delivery to raise blood sugar. Drugs in the class SGLT2 inhibitors (gliflozins) can prevent increases in blood glucose and therefore can produce a dangerous insulin deficiency leading to DKA. -\nCommon brand names are: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nI hereby promise that I will not take such drugs when using AAPS or will deactivate the loop before using such drugs. - diff --git a/app/src/main/res/values/objectives.xml b/app/src/main/res/values/objectives.xml index e8419700a8..045e125f3d 100644 --- a/app/src/main/res/values/objectives.xml +++ b/app/src/main/res/values/objectives.xml @@ -1,62 +1,3 @@ - ObjectivesActionsUsed - ObjectivesLoopUsed - ObjectivesScaleUsed - objectives_request_code - ObjectivesmanualEnacts - - Start - Verify - %1$d. Objective - Objective %1$d not started - Objective %1$d not finished - Setting up visualization and monitoring, and analyzing basals and ratios - Verify that BG is available in Nightscout, and pump insulin data is being uploaded - Starting on an open loop - Run in Open Loop mode for a few days and manually enact lots of temp basals. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) - Understanding your open loop, including its temp basal recommendations - Based on that experience, decide what max basal should be, and set it on the pump and preferences - Starting to close the loop with Low Glucose Suspend - Run in closed loop with max IOB = 0 for a few days without too many LGS events - Tuning the closed loop, raising max IOB above 0 and gradually lowering BG targets - Run for a few days, and at least one night with no low BG alarms, before dropping BG - Adjust basals and ratios if needed, and then enable auto-sens - 1 week successful daytime looping with regular carb entry - Enabling additional features for daytime use, such as SMB - Enabling automation - You must read the wiki and rise maxIOB to get SMBs working fine! A good start is maxIOB=average mealbolus + 3 x max daily basal - Read the docs on how automation works. Set up your first simple rules. Instead of action let AAPS display only notification. When you are sure automation is triggered at the right time replace notification by real action. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - BG available in NS - Pump status available in NS - Manual enacts - Accomplished: %1$s - Learn how to control AAPS - Perform different actions in AAPS - Set profile 90% for 10 min (Long-press profile name on Overview) - Simulate shower. Disconnect pump for 1h (Long-press on Open Loop) - ... and reconnect back the same way - Create custom temporary target with 10 min duration (Long-press on your current target) - In Config Builder enable Actions plugin, make it visible and display its content from top menu - Display content of Loop plugin - Use scale function by long-pressing BG chart - Enter - If you have at least 3 months of closed loop experience with other systems you might qualify for a code to skip objectives. See https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for details. - Code accepted - Code invalid - Prove your knowledge - Study the questions.  You are given four possible answers for each question. There may be more than one correct answer. Please check all those that are correct and select VERIFY. - Answering disabled until: %1$s - Wrong answer! - Next unfinished - Request code: %1$s - (check all correct answers) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Not connected to the internet - Failed retrieve time - Objective requirements not met - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fdd4bfe4bf..721c727511 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -35,9 +35,6 @@ bolussnooze_dia_divisor autosens_adjust_targets last_cleanup_run - Treatments safety - Max allowed bolus [U] - Max allowed carbs [g] BG level below which low glucose suspend occurs %1$s Preferences Preferences @@ -45,9 +42,7 @@ Reset Databases Do you really want to reset the databases? Exit - Some buttons to quickly access common features Used for configuring the active plugins - Learning program Activate or deactivate the implementation triggering the loop. State of the algorithm in 2017 Most recent algorithm for advanced users @@ -92,20 +87,14 @@ After processed constraints Temp basal set by pump NO APS SELECTED OR PROVIDED RESULT - Safety Plugin is disabled Constraints violation - Accept new temp basal: Change your input! BG Source Where should AAPS gain it\'s data from? - APS Mode New suggestion available Carbs Suggestion - Carb time Profile - TempBasal - Extended Bolus Nightscout version: Preferences exported User Entries exported @@ -141,7 +130,6 @@ I UNDERSTAND AND AGREE Save Reload profile - QuickWizard QuickWizard settings Button text: Carbs: @@ -149,7 +137,6 @@ Add Edit Corr - Actions (DANGEROUS TO DISABLE) NS upload only NS upload only (disabled sync). Not effective on SGV unless a local source like xDrip+ is selected. Not effective on Profiles while NS-Profiles is used.\n!!! WARNING !!! Disabling this option may cause malfunctions and insulin overdose if any of your component (AAPS, NS, xDrip+) is wrong configured. Carefully watch if data displayed by AAPS match the pump state! Pump not initialized! @@ -161,7 +148,6 @@ Wear Resend All Data Open Settings on Wear - Basal rate Ongoing Notification OLD DATA OpenAPS AMA @@ -169,14 +155,12 @@ Autosens data Script debug Use Autosens feature - ACT CONF LOOP OAPS DYNISF HOME TREAT - OBJ WEAR Shorten tab titles Always use short average delta instead of simple delta @@ -195,22 +179,9 @@ Executing Wear settings not successful - please check phone - Patient type - Child - Teenage - Adult - Insulin resistant adult - Pregnancy - Please select patient type to setup safety limits Patient name Please provide patient name or nickname to differentiate among multiple setups I_understand - 15 mins - 30 mins - 1 hour - 2 hours - 3 hours - 10 hours Exiting application to apply settings. Which type of insulin are you using? Enable superbolus in wizard @@ -224,13 +195,7 @@ DEVSLOPE About Missing phone state permission - Cancel Extended Bolus Do Profile Switch - Sensor - Insulin - Pump battery - age: - level: Alarm options ns_announcements ns_alarms @@ -264,15 +229,12 @@ DynISFAdjust DynamicISF Adjustment Factor % Adjustment factor for DynamicISF. Set more than 100% for more aggressive correction doses, and less than 100% for less aggressive corrections. - use_smb - use_uam smb_enable_carbs_suggestions_threshold Enable UAM Enable SMB Use Super Micro Boluses instead of temp basal for faster action Detection of Unannounced meals INVALID - Percentage Default Temp-Targets eatingsoon duration eatingsoon target @@ -308,13 +270,6 @@ COB calculation Temporary target calculation Percentage calculation - Loop enabled - APS selected - Synchronization service has write permission - Closed mode enabled - Maximal IOB set properly - BG available from selected source - Extended bolus delivery error enableSMB_always enableSMB_with_COB enableSMB_with_temptarget @@ -342,11 +297,9 @@ Number of carbs to add when button is pressed Amount of insulin to add when button is pressed Could not launch CGM application. Make sure it is installed. - CGM Ignore 5m Ignore 15m Ignore 30m - History browser Notify on SMB Show SMB on the watch like a standard bolus. Show the predictions on the watchface. @@ -364,34 +317,10 @@ Carbs On Board Insulin On Board Basals - Running dev version. Closed loop is disabled. Engineering mode enabled - Pump is not temp basal capable - Closed loop mode disabled in preferences - Autosens disabled in preferences - SMB disabled in preferences - UAM disabled in preferences - UAM disabled because it rely on Oref1 sensitivity plugin - openapsma_max_basal - openapsama_current_basal_safety_multiplier - openapsama_max_daily_safety_multiplier - max basal multiplier - max daily basal multiplier - openapsma_max_iob A bolus was delivered within the last 3 minutes, skipping SMB Basal set correctly - treatmentssafety_maxbolus - lgsThreshold - Limiting extended bolus to %1$.1f U because of %2$s - Limiting carbs to %1$d g because of %2$s - Limiting IOB to %1$.1f U because of %2$s - max value in preferences - hard limit - openapsama_useautosens - SMB always and after carbs disabled because active BG source doesn\'t support advanced filtering - SMB not allowed in open loop mode IobCobCalculator - openapsmb_max_iob Maximum total IOB OpenAPS can\'t go over [U] This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value Meal max absorption time [h] @@ -486,23 +415,15 @@ smbmaxminutes uamsmbmaxminutes Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. - Increasing max basal value because setting is lower than your max basal in profile Units - Clear finished - Clear started - Do you want reset objective start? You may lose your progress. Select units you want to display values in wear_detailediob wear_showbgi Lower value of in range area (display only) Higher value of in range area (display only) - Tools - Show calcuation Show removed Clear queue? All data in queue will be lost! wear_detailed_delta - Use of Extended bolus feature will stop closed loop mode for the time of running extended bolus. Do you really want it? - Closed loop disabled because of running Extended bolus Chart menu Data Broadcaster SMB request time @@ -517,12 +438,6 @@ Absolute insulin Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. Current master password - Original skin - Low Resolution skin - Buttons are always displayed on bottom of screen - Large display - skin - Skin RileyLink status: Unable to create profile. Profile is invalid. Don\'t kill my app? @@ -531,7 +446,6 @@ Use reminder to bolus later with wizard ("post-bolus") Crash logs upload disabled! Graph - Chart menu Clear filter Cannula Use values of your largest food you usually eat\n @@ -541,19 +455,10 @@ You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. BG data status Remove BG readings - cannula age - patch pump age - Patch pump Identification (email, FB or Discord nick etc) Identification not set in dev mode dialog - current blood glucose Not available - graph - blood glucose quality - insulin - blood glucose - outdated Temptarget unknown preset: %1$s Cancelling running Temp-Targets? @@ -577,7 +482,6 @@ Loop status Graph scale open settings - set carb timer alarm All Phone Watch diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index 2b30903a26..63a8db89ef 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -97,7 +97,7 @@ - diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 40b8329999..7bdd30a68f 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -14,9 +14,6 @@ import info.nightscout.androidaps.insight.database.InsightDbHelper import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin -import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective -import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin @@ -25,19 +22,23 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInf import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin +import info.nightscout.plugins.constraints.objectives.objectives.Objective +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before @@ -210,7 +211,8 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { fabricPrivacy, dateUtil, repository, - glucoseStatusProvider + glucoseStatusProvider, + sp ) safetyPlugin = SafetyPlugin( @@ -220,10 +222,6 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { sp, rxBus, constraintChecker, - openAPSAMAPlugin, - openAPSSMBPlugin, - openAPSSMBDynamicISFPlugin, - sensitivityOref1Plugin, activePlugin, hardLimits, BuildHelperImpl(config, fileListProvider), @@ -238,6 +236,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { constraintsPluginsList.add(danaRPlugin) constraintsPluginsList.add(danaRSPlugin) constraintsPluginsList.add(insightPlugin) + constraintsPluginsList.add(openAPSAMAPlugin) constraintsPluginsList.add(openAPSSMBPlugin) `when`(activePlugin.getSpecificPluginsListByInterface(Constraints::class.java)).thenReturn(constraintsPluginsList) objectivesPlugin.onStart() @@ -260,7 +259,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { @Test fun isClosedLoopAllowedTest() { `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("closed") - objectivesPlugin.objectives[ObjectivesPlugin.MAXIOB_ZERO_CL_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.MAXIOB_ZERO_CL_OBJECTIVE].startedOn = 0 var c: Constraint = constraintChecker.isClosedLoopAllowed() aapsLogger.debug("Reason list: " + c.reasonList.toString()) // Assert.assertTrue(c.reasonList[0].toString().contains("Closed loop is disabled")) // Safety & Objectives @@ -275,7 +274,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { // Safety & Objectives @Test fun isAutosensModeEnabledTest() { - objectivesPlugin.objectives[ObjectivesPlugin.AUTOSENS_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.AUTOSENS_OBJECTIVE].startedOn = 0 `when`(sp.getBoolean(R.string.key_openapsama_useautosens, false)).thenReturn(false) val c = constraintChecker.isAutosensModeEnabled() Assert.assertEquals(true, c.reasonList.size == 2) // Safety & Objectives @@ -304,7 +303,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { // Safety & Objectives @Test fun isSMBModeEnabledTest() { - objectivesPlugin.objectives[ObjectivesPlugin.SMB_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.SMB_OBJECTIVE].startedOn = 0 `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(false) `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("open") // `when`(constraintChecker.isClosedLoopAllowed()).thenReturn(Constraint(true)) @@ -423,7 +422,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { val d = constraintChecker.getMaxIOBAllowed() Assert.assertEquals(1.5, d.value(), 0.01) Assert.assertEquals(d.reasonList.toString(), 2, d.reasonList.size) - Assert.assertEquals("Safety: Limiting IOB to 1.5 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) + Assert.assertEquals("OpenAPSAMA: Limiting IOB to 1.5 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) } @Test @@ -439,6 +438,6 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { val d = constraintChecker.getMaxIOBAllowed() Assert.assertEquals(3.0, d.value(), 0.01) Assert.assertEquals(d.reasonList.toString(), 2, d.reasonList.size) - Assert.assertEquals("Safety: Limiting IOB to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) + Assert.assertEquals("OpenAPSSMB: Limiting IOB to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt similarity index 76% rename from app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt rename to app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt index 7f7190c234..47b102b536 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt @@ -1,24 +1,26 @@ -package info.nightscout.androidaps.plugins.constraints.safety +package info.nightscout.androidaps.plugins.safety import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.HardLimitsMock -import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin -import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.plugins.source.GlimpPlugin +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.androidaps.utils.Profiler import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.GlimpPlugin import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before @@ -30,20 +32,20 @@ class SafetyPluginTest : TestBaseWithProfile() { @Mock lateinit var sp: SP @Mock lateinit var constraintChecker: Constraints - @Mock lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin - @Mock lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin - @Mock lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin - @Mock lateinit var sensitivityOref1Plugin: SensitivityOref1Plugin @Mock lateinit var activePlugin: ActivePlugin @Mock lateinit var buildHelper: BuildHelper @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var glimpPlugin: GlimpPlugin + @Mock lateinit var profiler: Profiler @Mock lateinit var repository: AppRepository + @Mock lateinit var glucoseStatusProvider: GlucoseStatusProvider private lateinit var hardLimits: HardLimits private lateinit var safetyPlugin: SafetyPlugin + private lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin + private lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin - val injector = HasAndroidInjector { AndroidInjector { } } + private val injector = HasAndroidInjector { AndroidInjector { } } private val pumpDescription = PumpDescription() @Before @@ -67,19 +69,21 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(rh.gs(R.string.smbalwaysdisabled)).thenReturn("SMB always and after carbs disabled because active BG source doesn\\'t support advanced filtering") `when`(rh.gs(R.string.smbnotallowedinopenloopmode)).thenReturn("SMB not allowed in open loop mode") `when`(rh.gs(R.string.key_child)).thenReturn("child") + `when`(rh.gs(R.string.lowglucosesuspend)).thenReturn("Low Glucose Suspend") `when`(activePlugin.activePump).thenReturn(virtualPumpPlugin) `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) `when`(config.APS).thenReturn(true) hardLimits = HardLimitsMock(sp, rh) - safetyPlugin = SafetyPlugin( - injector, aapsLogger, rh, sp, rxBus, constraintChecker, openAPSAMAPlugin, openAPSSMBPlugin, openAPSSMBDynamicISFPlugin, sensitivityOref1Plugin, activePlugin, - hardLimits, buildHelper, - iobCobCalculator, config, dateUtil - ) + safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, activePlugin, hardLimits, buildHelper, iobCobCalculator, config, dateUtil) + openAPSAMAPlugin = OpenAPSAMAPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, fabricPrivacy, + dateUtil, repository, glucoseStatusProvider, sp) + openAPSSMBPlugin = OpenAPSSMBPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, sp, + dateUtil, repository, glucoseStatusProvider) } - @Test fun pumpDescriptionShouldLimitLoopInvocation() { + @Test + fun pumpDescriptionShouldLimitLoopInvocation() { pumpDescription.isTempBasalCapable = false var c = Constraint(true) c = safetyPlugin.isLoopInvocationAllowed(c) @@ -87,7 +91,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun disabledEngineeringModeShouldLimitClosedLoop() { + @Test + fun disabledEngineeringModeShouldLimitClosedLoop() { `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("closed") `when`(buildHelper.isEngineeringModeOrRelease()).thenReturn(false) var c = Constraint(true) @@ -96,7 +101,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun setOpenLoopInPreferencesShouldLimitClosedLoop() { + @Test + fun setOpenLoopInPreferencesShouldLimitClosedLoop() { `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("open") var c = Constraint(true) c = safetyPlugin.isClosedLoopAllowed(c) @@ -104,7 +110,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun notEnabledSMBInPreferencesDisablesSMB() { + @Test + fun notEnabledSMBInPreferencesDisablesSMB() { `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(false) `when`(constraintChecker.isClosedLoopAllowed(anyObject())).thenReturn(Constraint(true)) var c = Constraint(true) @@ -113,7 +120,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun openLoopPreventsSMB() { + @Test + fun openLoopPreventsSMB() { `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(true) `when`(constraintChecker.isClosedLoopAllowed(anyObject())).thenReturn(Constraint(false)) var c = Constraint(true) @@ -122,7 +130,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun bgSourceShouldPreventSMBAlways() { + @Test + fun bgSourceShouldPreventSMBAlways() { `when`(activePlugin.activeBgSource).thenReturn(glimpPlugin) var c = Constraint(true) c = safetyPlugin.isAdvancedFilteringEnabled(c) @@ -130,7 +139,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals(false, c.value()) } - @Test fun basalRateShouldBeLimited() { + @Test + fun basalRateShouldBeLimited() { `when`(sp.getDouble(R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) `when`(sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) `when`(sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) @@ -149,7 +159,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences", c.getMostLimitedReasons(aapsLogger)) } - @Test fun doNotAllowNegativeBasalRate() { + @Test + fun doNotAllowNegativeBasalRate() { `when`(sp.getString(R.string.key_age, "")).thenReturn("child") val d = Constraint(-0.5) safetyPlugin.applyBasalConstraints(d, validProfile) @@ -162,7 +173,8 @@ class SafetyPluginTest : TestBaseWithProfile() { ) } - @Test fun percentBasalRateShouldBeLimited() { + @Test + fun percentBasalRateShouldBeLimited() { // No limit by default `when`(sp.getDouble(R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) `when`(sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) @@ -185,7 +197,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting max percent rate to 100% because of pump limit", i.getMostLimitedReasons(aapsLogger)) } - @Test fun doNotAllowNegativePercentBasalRate() { + @Test + fun doNotAllowNegativePercentBasalRate() { `when`(sp.getString(R.string.key_age, "")).thenReturn("child") val i = Constraint(-22) safetyPlugin.applyBasalPercentConstraints(i, validProfile) @@ -201,7 +214,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting max percent rate to 0% because of pump limit", i.getMostLimitedReasons(aapsLogger)) } - @Test fun bolusAmountShouldBeLimited() { + @Test + fun bolusAmountShouldBeLimited() { `when`(sp.getDouble(R.string.key_treatmentssafety_maxbolus, 3.0)).thenReturn(3.0) `when`(sp.getString(R.string.key_age, "")).thenReturn("child") var d = Constraint(Constants.REALLYHIGHBOLUS) @@ -216,7 +230,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting bolus to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) } - @Test fun doNotAllowNegativeBolusAmount() { + @Test + fun doNotAllowNegativeBolusAmount() { `when`(sp.getDouble(R.string.key_treatmentssafety_maxbolus, 3.0)).thenReturn(3.0) `when`(sp.getString(R.string.key_age, "")).thenReturn("child") var d = Constraint(-22.0) @@ -226,7 +241,8 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting bolus to 0.0 U because of it must be positive value", d.getMostLimitedReasons(aapsLogger)) } - @Test fun carbsAmountShouldBeLimited() { + @Test + fun carbsAmountShouldBeLimited() { // No limit by default `when`(sp.getInt(R.string.key_treatmentssafety_maxcarbs, 48)).thenReturn(48) @@ -242,10 +258,13 @@ class SafetyPluginTest : TestBaseWithProfile() { Assert.assertEquals("Safety: Limiting carbs to 48 g because of max value in preferences", i.getReasons(aapsLogger)) } - @Test fun iobShouldBeLimited() { - `when`(openAPSSMBPlugin.isEnabled()).thenReturn(true) - `when`(openAPSAMAPlugin.isEnabled()).thenReturn(false) - `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("closed") + @Test + fun iobShouldBeLimited() { + openAPSAMAPlugin.setPluginEnabled(PluginType.APS, true) + openAPSSMBPlugin.setPluginEnabled(PluginType.APS, true) + //`when`(openAPSSMBPlugin.isEnabled()).thenReturn(true) + //`when`(openAPSAMAPlugin.isEnabled()).thenReturn(false) + `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("lgs") `when`(sp.getDouble(R.string.key_openapsma_max_iob, 1.5)).thenReturn(1.5) `when`(sp.getDouble(R.string.key_openapssmb_max_iob, 3.0)).thenReturn(3.0) `when`(sp.getString(R.string.key_age, "")).thenReturn("teenage") @@ -253,8 +272,22 @@ class SafetyPluginTest : TestBaseWithProfile() { // Apply all limits var d = Constraint(Constants.REALLYHIGHIOB) d = safetyPlugin.applyMaxIOBConstraints(d) - Assert.assertEquals(3.0, d.value(), 0.01) - Assert.assertEquals("Safety: Limiting IOB to 3.0 U because of max value in preferences\nSafety: Limiting IOB to 22.0 U because of hard limit", d.getReasons(aapsLogger)) - Assert.assertEquals("Safety: Limiting IOB to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) + Assert.assertEquals(HardLimits.MAX_IOB_LGS, d.value(), 0.01) + Assert.assertEquals("Safety: Limiting IOB to 0.0 U because of Low Glucose Suspend", d.getReasons(aapsLogger)) + Assert.assertEquals("Safety: Limiting IOB to 0.0 U because of Low Glucose Suspend", d.getMostLimitedReasons(aapsLogger)) + + // Apply all limits + d = Constraint(Constants.REALLYHIGHIOB) + val a = openAPSAMAPlugin.applyMaxIOBConstraints(d) + Assert.assertEquals(1.5, a.value(), 0.01) + Assert.assertEquals("OpenAPSAMA: Limiting IOB to 1.5 U because of max value in preferences\nOpenAPSAMA: Limiting IOB to 7.0 U because of hard limit", d.getReasons(aapsLogger)) + Assert.assertEquals("OpenAPSAMA: Limiting IOB to 1.5 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) + + // Apply all limits + d = Constraint(Constants.REALLYHIGHIOB) + val s = openAPSSMBPlugin.applyMaxIOBConstraints(d) + Assert.assertEquals(3.0, s.value(), 0.01) + Assert.assertEquals("OpenAPSSMB: Limiting IOB to 3.0 U because of max value in preferences\nOpenAPSSMB: Limiting IOB to 22.0 U because of hard limit", d.getReasons(aapsLogger)) + Assert.assertEquals("OpenAPSSMB: Limiting IOB to 3.0 U because of max value in preferences", d.getMostLimitedReasons(aapsLogger)) } } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt index 7ead71d03d..fc9817d92a 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.utils import info.nightscout.androidaps.TestBase +import info.nightscout.plugins.constraints.objectives.SntpClient import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Test diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 81b2db0d45..653f9c989a 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -79,7 +79,7 @@ class ActionStartTempTarget(injector: HasAndroidInjector) : Action(injector) { override fun generateDialog(root: LinearLayout) { val unitResId = if (value.units == GlucoseUnit.MGDL) R.string.mgdl else R.string.mmol LayoutBuilder() - .add(LabelWithElement(rh, rh.gs(R.string.careportal_temporarytarget) + "\n[" + rh.gs(unitResId) + "]", "", value)) + .add(LabelWithElement(rh, rh.gs(R.string.temporary_target) + "\n[" + rh.gs(unitResId) + "]", "", value)) .add(LabelWithElement(rh, rh.gs(R.string.duration_min_label), "", duration)) .build(root) } diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt index 8d0884a9fc..ef4d1fbb3b 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt @@ -54,7 +54,7 @@ class TriggerTempTarget(injector: HasAndroidInjector) : Trigger(injector) { return this } - override fun friendlyName(): Int = R.string.careportal_temporarytarget + override fun friendlyName(): Int = R.string.temporary_target override fun friendlyDescription(): String = rh.gs(R.string.temptargetcompared, rh.gs(comparator.value.stringRes)) @@ -65,7 +65,7 @@ class TriggerTempTarget(injector: HasAndroidInjector) : Trigger(injector) { override fun generateDialog(root: LinearLayout) { LayoutBuilder() - .add(StaticLabel(rh, R.string.careportal_temporarytarget, this)) + .add(StaticLabel(rh, R.string.temporary_target, this)) .add(comparator) .build(root) } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt index 26a4bcbbf6..4da785da14 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt @@ -75,7 +75,7 @@ class PumpEnactResultObject(injector: HasAndroidInjector) : PumpEnactResult { isTempCancel -> { ret += "\n${rh.gs(R.string.enacted)}: $enacted" if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.canceltemp)}" + ret += "\n${rh.gs(R.string.cancel_temp)}" } isPercent -> { @@ -113,7 +113,7 @@ class PumpEnactResultObject(injector: HasAndroidInjector) : PumpEnactResult { isTempCancel -> { ret += "
" + rh.gs(R.string.enacted) + ": " + enacted ret += "
" + rh.gs(R.string.comment) + ": " + comment + - "
" + rh.gs(R.string.canceltemp) + "
" + rh.gs(R.string.cancel_temp) } isPercent && percent != -1 -> { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 82591b0af5..3eed8d6746 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -102,7 +102,7 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { val pump = activePlugin.activePump if (isChangeRequested) { // rate - var ret: String = if (rate == 0.0 && duration == 0) "${rh.gs(R.string.canceltemp)} " + var ret: String = if (rate == 0.0 && duration == 0) "${rh.gs(R.string.cancel_temp)} " else if (rate == -1.0) "${rh.gs(R.string.let_temp_basal_run)}\n" else if (usePercent) "${rh.gs(R.string.rate)}: ${DecimalFormatter.to2Decimal(percent.toDouble())}% (${DecimalFormatter.to2Decimal(percent * pump.baseBasalRate / 100.0)} U/h) " + "${rh.gs(R.string.duration)}: ${DecimalFormatter.to2Decimal(duration.toDouble())} min " @@ -127,7 +127,7 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { val pump = activePlugin.activePump if (isChangeRequested) { // rate - var ret: String = if (rate == 0.0 && duration == 0) rh.gs(R.string.canceltemp) + "
" else if (rate == -1.0) rh.gs(R.string.let_temp_basal_run) + "
" else if (usePercent) "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(percent.toDouble()) + "% " + + var ret: String = if (rate == 0.0 && duration == 0) rh.gs(R.string.cancel_temp) + "
" else if (rate == -1.0) rh.gs(R.string.let_temp_basal_run) + "
" else if (usePercent) "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(percent.toDouble()) + "% " + "(" + DecimalFormatter.to2Decimal(percent * pump.baseBasalRate / 100.0) + " U/h)
" + "" + rh.gs(R.string.duration) + ": " + DecimalFormatter.to2Decimal(duration.toDouble()) + " min
" else "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(rate) + " U/h " + "(" + DecimalFormatter.to2Decimal(rate / pump.baseBasalRate * 100.0) + "%)
" + diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt index 79ebf5557d..d0e3371554 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/Translator.kt @@ -138,16 +138,16 @@ class Translator @Inject internal constructor( TherapyEvent.Type.QUESTION -> rh.gs(R.string.careportal_question) TherapyEvent.Type.EXERCISE -> rh.gs(R.string.careportal_exercise) TherapyEvent.Type.CANNULA_CHANGE -> rh.gs(R.string.careportal_pump_site_change) - TherapyEvent.Type.PUMP_BATTERY_CHANGE -> rh.gs(R.string.careportal_pumpbatterychange) + TherapyEvent.Type.PUMP_BATTERY_CHANGE -> rh.gs(R.string.pump_battery_change) TherapyEvent.Type.SENSOR_STARTED -> rh.gs(R.string.careportal_cgmsensorstart) TherapyEvent.Type.SENSOR_STOPPED -> rh.gs(R.string.careportal_cgm_sensor_stop) - TherapyEvent.Type.SENSOR_CHANGE -> rh.gs(R.string.careportal_cgmsensorinsert) + TherapyEvent.Type.SENSOR_CHANGE -> rh.gs(R.string.cgm_sensor_insert) TherapyEvent.Type.INSULIN_CHANGE -> rh.gs(R.string.careportal_insulin_cartridge_change) TherapyEvent.Type.DAD_ALERT -> rh.gs(R.string.careportal_dad_alert) TherapyEvent.Type.TEMPORARY_BASAL_START -> rh.gs(R.string.careportal_tempbasalstart) TherapyEvent.Type.TEMPORARY_BASAL_END -> rh.gs(R.string.careportal_tempbasalend) TherapyEvent.Type.PROFILE_SWITCH -> rh.gs(R.string.careportal_profileswitch) - TherapyEvent.Type.TEMPORARY_TARGET -> rh.gs(R.string.careportal_temporarytarget) + TherapyEvent.Type.TEMPORARY_TARGET -> rh.gs(R.string.temporary_target) TherapyEvent.Type.TEMPORARY_TARGET_CANCEL -> rh.gs(R.string.careportal_temporarytargetcancel) TherapyEvent.Type.APS_OFFLINE -> rh.gs(R.string.careportal_openapsoffline) TherapyEvent.Type.NS_MBG -> rh.gs(R.string.careportal_mbg) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index 8452ad84a8..6450da3daa 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -51,7 +51,7 @@ class UserEntryPresentationHelper @Inject constructor( Sources.TTDialog -> R.drawable.ic_temptarget_high Sources.ProfileSwitchDialog -> R.drawable.ic_actions_profileswitch Sources.LoopDialog -> R.drawable.ic_loop_closed - Sources.TempBasalDialog -> R.drawable.ic_actions_starttempbasal + Sources.TempBasalDialog -> R.drawable.ic_actions_start_temp_basal Sources.CalibrationDialog -> R.drawable.ic_calibration Sources.FillDialog -> R.drawable.ic_cp_pump_cannula Sources.BgCheck -> R.drawable.ic_cp_bgcheck diff --git a/core/core-main/src/main/res/drawable/ic_actions_starttempbasal.xml b/core/core-main/src/main/res/drawable/ic_actions_start_temp_basal.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_actions_starttempbasal.xml rename to core/core-main/src/main/res/drawable/ic_actions_start_temp_basal.xml diff --git a/plugins/src/main/res/drawable/ic_clone_48.xml b/core/core-main/src/main/res/drawable/ic_clone_48.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_clone_48.xml rename to core/core-main/src/main/res/drawable/ic_clone_48.xml diff --git a/app/src/main/res/drawable/ic_xdrip.xml b/core/core-main/src/main/res/drawable/ic_xdrip.xml similarity index 100% rename from app/src/main/res/drawable/ic_xdrip.xml rename to core/core-main/src/main/res/drawable/ic_xdrip.xml diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 44e7460295..08cabe76d6 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -309,7 +309,7 @@ Start profile %1$d%% for %2$d min - Cancel temp basal + Cancel temp basal Let temp basal run Rate Duration @@ -335,7 +335,7 @@ Question : %1$s Exercise : %1$s Pump Site Change - CGM Sensor Insert + CGM Sensor Insert CGM Sensor Start CGM Sensor Stop D.A.D. Alert @@ -349,8 +349,8 @@ Temp Basal End Carbs correction OpenAPS Offline - Pump Battery Change - Temporary target + Pump Battery Change + Temporary target Temporary target value Temporary target cancel Bolus wizard diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index 8b79d49a37..3f21582a89 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -30,7 +30,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { `when`(rh.gs(R.string.configbuilder_insulin)).thenReturn("Insulin") `when`(rh.gs(R.string.smb_shortname)).thenReturn("SMB") `when`(rh.gs(R.string.insulin_unit_shortname)).thenReturn("U") - `when`(rh.gs(R.string.canceltemp)).thenReturn("Cancel temp basal") + `when`(rh.gs(R.string.cancel_temp)).thenReturn("Cancel temp basal") `when`(rh.gs(R.string.duration)).thenReturn("Duration") `when`(rh.gs(R.string.percent)).thenReturn("Percent") `when`(rh.gs(R.string.absolute)).thenReturn("Absolute") diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt index 7ab5ecebf6..fb49951e0e 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/Pump.kt @@ -284,4 +284,8 @@ interface Pump { * Pumps with a hardware link can set via config "Battery Change Logging" */ fun isBatteryChangeLoggingEnabled(): Boolean = false + /** + * Pumps is connect via RileyLink + */ + fun isUseRileyLinkBatteryLevel(): Boolean = false } diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index feac287d00..ef0b07c6b3 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -2,6 +2,7 @@ package info.nightscout.interfaces.ui import android.content.Context import androidx.annotation.RawRes +import androidx.annotation.StringRes import androidx.fragment.app.FragmentManager /** @@ -12,6 +13,7 @@ interface ActivityNames { val mainActivityClass: Class<*> val tddStatsActivity: Class<*> + val historyBrowseActivity: Class<*> val errorHelperActivity: Class<*> val bolusProgressHelperActivity: Class<*> val singleFragmentActivity: Class<*> @@ -25,7 +27,11 @@ interface ActivityNames { */ fun runAlarm(ctx: Context, status: String, title: String, @RawRes soundId: Int = 0) fun runWizard(fragmentManager: FragmentManager, carbs: Int, name: String) - fun runProfileSwitchDialog(fragmentManager: FragmentManager, profileName: String?) + fun runProfileSwitchDialog(fragmentManager: FragmentManager, profileName: String? = null) + fun runTempBasalDialog(fragmentManager: FragmentManager) + fun runTempTargetDialog(fragmentManager: FragmentManager) + fun runExtendedBolusDialog(fragmentManager: FragmentManager) + fun runFillDialog(fragmentManager: FragmentManager) enum class Mode(val i: Int) { RUNNING_PROFILE(1), @@ -34,4 +40,15 @@ interface ActivityNames { PROFILE_COMPARE(4) } fun runProfileViewerDialog(fragmentManager: FragmentManager, time: Long, mode: Mode, customProfile: String?= null, customProfileName: String? = null, customProfile2: String? = null) + enum class EventType { + BGCHECK, + SENSOR_INSERT, + BATTERY_CHANGE, + NOTE, + EXERCISE, + QUESTION, + ANNOUNCEMENT + } + + fun runCareDialog(fragmentManager: FragmentManager, options: EventType, @StringRes event: Int) } \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/build.gradle index bb31fcebbe..c9433aab96 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -26,6 +26,9 @@ dependencies { implementation project(':interfaces') implementation project(':ns-sdk') + api "androidx.appcompat:appcompat:$appcompat_version" + api "com.google.android.material:material:$material_version" + // Actions api 'androidx.gridlayout:gridlayout:1.0.0' @@ -48,4 +51,6 @@ dependencies { api 'com.eatthepath:java-otp:0.3.1' api 'com.github.kenglxn.QRGen:android:2.6.0' + // Overview + api 'com.google.android.flexbox:flexbox:3.0.0' } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt index 8da858f9bd..d3e5657606 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.constraints.objectives +package info.nightscout.plugins.constraints.objectives import android.annotation.SuppressLint import android.os.Bundle @@ -16,26 +16,25 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearSmoothScroller import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.ObjectivesFragmentBinding -import info.nightscout.androidaps.databinding.ObjectivesItemBinding -import info.nightscout.androidaps.plugins.constraints.objectives.dialogs.NtpProgressDialog import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.constraints.objectives.activities.ObjectivesExamDialog -import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.setupwizard.events.EventSWUpdate -import info.nightscout.androidaps.utils.SntpClient import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.objectives.activities.ObjectivesExamDialog +import info.nightscout.plugins.constraints.objectives.dialogs.NtpProgressDialog +import info.nightscout.plugins.constraints.objectives.events.EventObjectivesUpdateGui +import info.nightscout.plugins.constraints.objectives.objectives.Objective.ExamTask +import info.nightscout.plugins.databinding.ObjectivesFragmentBinding +import info.nightscout.plugins.databinding.ObjectivesItemBinding import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNtpStatus +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt similarity index 84% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt index 922f3776eb..ef3948d528 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -1,20 +1,8 @@ -package info.nightscout.androidaps.plugins.constraints.objectives +package info.nightscout.plugins.constraints.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective0 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective1 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective10 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective2 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective3 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective4 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective5 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective6 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective7 -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective9 import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Objectives @@ -27,6 +15,18 @@ import info.nightscout.interfaces.constraints.Objectives.Companion.SMB_OBJECTIVE import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.objectives.objectives.Objective +import info.nightscout.plugins.constraints.objectives.objectives.Objective0 +import info.nightscout.plugins.constraints.objectives.objectives.Objective1 +import info.nightscout.plugins.constraints.objectives.objectives.Objective10 +import info.nightscout.plugins.constraints.objectives.objectives.Objective2 +import info.nightscout.plugins.constraints.objectives.objectives.Objective3 +import info.nightscout.plugins.constraints.objectives.objectives.Objective4 +import info.nightscout.plugins.constraints.objectives.objectives.Objective5 +import info.nightscout.plugins.constraints.objectives.objectives.Objective6 +import info.nightscout.plugins.constraints.objectives.objectives.Objective7 +import info.nightscout.plugins.constraints.objectives.objectives.Objective9 import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt new file mode 100644 index 0000000000..47b8f4301d --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt @@ -0,0 +1,200 @@ +package info.nightscout.plugins.constraints.objectives + +import android.os.SystemClock +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil +import java.net.DatagramPacket +import java.net.DatagramSocket +import java.net.InetAddress +import javax.inject.Inject +import javax.inject.Singleton + +/** +* {@hide} +* +* +* Simple SNTP client class for retrieving network time. +* +* +* Sample usage: +*
SntpClient client = new SntpClient();
+* if (client.requestTime("time.foo.com")) {
+* long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
+* }
+
* +*/ +@Singleton +class SntpClient @Inject constructor( + private val aapsLogger: AAPSLogger, + private val dateUtil: DateUtil +) { + + companion object { + //private final int REFERENCE_TIME_OFFSET = 16; + private const val ORIGINATE_TIME_OFFSET = 24 + private const val RECEIVE_TIME_OFFSET = 32 + private const val TRANSMIT_TIME_OFFSET = 40 + private const val NTP_PACKET_SIZE = 48 + private const val NTP_PORT = 123 + private const val NTP_MODE_CLIENT = 3 + private const val NTP_VERSION = 3 + + // Number of seconds between Jan 1, 1900 and Jan 1, 1970 + // 70 years plus 17 leap days + private const val OFFSET_1900_TO_1970 = (365L * 70L + 17L) * 24L * 60L * 60L + } + + /** + * Returns the time computed from the NTP transaction. + * + * @return time value computed from NTP server response. + */ + // system time computed from NTP server response + private var ntpTime: Long = 0 + + /** + * Returns the reference clock value (value of SystemClock.elapsedRealtime()) + * corresponding to the NTP time. + * + * @return reference clock corresponding to the NTP time. + */ + // value of SystemClock.elapsedRealtime() corresponding to mNtpTime + private var ntpTimeReference: Long = 0 + + /** + * Returns the round trip time of the NTP transaction + * + * @return round trip time in milliseconds. + */ + // round trip time in milliseconds + private var roundTripTime: Long = 0 + + abstract class Callback : Runnable { + + var networkConnected = false + var success = false + var time: Long = 0 + } + + @Synchronized fun ntpTime(callback: Callback, isConnected: Boolean) { + callback.networkConnected = isConnected + if (callback.networkConnected) { + Thread { doNtpTime(callback) }.start() + } else { + callback.run() + } + } + + fun doNtpTime(callback: Callback) { + aapsLogger.debug("Time detection started") + callback.success = requestTime("time.google.com", 5000) + callback.time = ntpTime + SystemClock.elapsedRealtime() - ntpTimeReference + aapsLogger.debug("Time detection ended: " + callback.success + " " + dateUtil.dateAndTimeString(ntpTime)) + callback.run() + } + + /** + * Sends an SNTP request to the given host and processes the response. + * + * @param host host name of the server. + * @param timeout network timeout in milliseconds. + * @return true if the transaction was successful. + */ + @Suppress("SameParameterValue") + @Synchronized private fun requestTime(host: String, timeout: Int): Boolean { + try { + val socket = DatagramSocket() + socket.soTimeout = timeout + val address = InetAddress.getByName(host) + val buffer = ByteArray(NTP_PACKET_SIZE) + val request = DatagramPacket(buffer, buffer.size, address, NTP_PORT) + + // set mode = 3 (client) and version = 3 + // mode is in low 3 bits of first byte + // version is in bits 3-5 of first byte + buffer[0] = (NTP_MODE_CLIENT or (NTP_VERSION shl 3)).toByte() + + // get current time and write it to the request packet + val requestTime = System.currentTimeMillis() + val requestTicks = SystemClock.elapsedRealtime() + writeTimeStamp(buffer, TRANSMIT_TIME_OFFSET, requestTime) + socket.send(request) + + // read the response + val response = DatagramPacket(buffer, buffer.size) + socket.receive(response) + val responseTicks = SystemClock.elapsedRealtime() + val responseTime = requestTime + (responseTicks - requestTicks) + socket.close() + + // extract the results + val originateTime = readTimeStamp(buffer, ORIGINATE_TIME_OFFSET) + val receiveTime = readTimeStamp(buffer, RECEIVE_TIME_OFFSET) + val transmitTime = readTimeStamp(buffer, TRANSMIT_TIME_OFFSET) + val roundTripTime = responseTicks - requestTicks - (transmitTime - receiveTime) + val clockOffset = (receiveTime - originateTime + (transmitTime - responseTime)) / 2 + + // save our results - use the times on this side of the network latency + // (response rather than request time) + ntpTime = responseTime + clockOffset + ntpTimeReference = responseTicks + this.roundTripTime = roundTripTime + } catch (e: Exception) { + aapsLogger.debug("request time failed: $e") + return false + } + return true + } + + /** + * Reads an unsigned 32 bit big endian number from the given offset in the buffer. + */ + private fun read32(buffer: ByteArray, offset: Int): Long { + val b0 = buffer[offset] + val b1 = buffer[offset + 1] + val b2 = buffer[offset + 2] + val b3 = buffer[offset + 3] + + // convert signed bytes to unsigned values + val i0 = if (b0.toInt() and 0x80 == 0x80) (b0.toInt() and 0x7F) + 0x80 else b0.toInt() + val i1 = if (b1.toInt() and 0x80 == 0x80) (b1.toInt() and 0x7F) + 0x80 else b1.toInt() + val i2 = if (b2.toInt() and 0x80 == 0x80) (b2.toInt() and 0x7F) + 0x80 else b2.toInt() + val i3 = if (b3.toInt() and 0x80 == 0x80) (b3.toInt() and 0x7F) + 0x80 else b3.toInt() + return (i0.toLong() shl 24) + (i1.toLong() shl 16) + (i2.toLong() shl 8) + i3.toLong() + } + + /** + * Reads the NTP time stamp at the given offset in the buffer and returns + * it as a system time (milliseconds since January 1, 1970). + */ + private fun readTimeStamp(buffer: ByteArray, offset: Int): Long { + val seconds = read32(buffer, offset) + val fraction = read32(buffer, offset + 4) + return (seconds - OFFSET_1900_TO_1970) * 1000 + fraction * 1000L / 0x100000000L + } + + /** + * Writes system time (milliseconds since January 1, 1970) as an NTP time stamp + * at the given offset in the buffer. + */ + @Suppress("SameParameterValue") + private fun writeTimeStamp(buffer: ByteArray, offsetParam: Int, time: Long) { + var offset = offsetParam + var seconds = time / 1000L + val milliseconds = time - seconds * 1000L + seconds += OFFSET_1900_TO_1970 + + // write seconds in big endian format + buffer[offset++] = (seconds shr 24).toByte() + buffer[offset++] = (seconds shr 16).toByte() + buffer[offset++] = (seconds shr 8).toByte() + buffer[offset++] = (seconds shr 0).toByte() + val fraction = milliseconds * 0x100000000L / 1000L + // write fraction in big endian format + buffer[offset++] = (fraction shr 24).toByte() + buffer[offset++] = (fraction shr 16).toByte() + buffer[offset++] = (fraction shr 8).toByte() + // low order bits should be random data + buffer[offset] = (Math.random() * 255.0).toInt().toByte() + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt index fc917ae093..89ba9b17c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt @@ -1,21 +1,21 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.activities +package info.nightscout.plugins.constraints.objectives.activities import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.ObjectivesExamFragmentBinding +import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.objectives.events.EventObjectivesUpdateGui +import info.nightscout.plugins.constraints.objectives.objectives.Objective +import info.nightscout.plugins.constraints.objectives.objectives.Objective.ExamTask +import info.nightscout.plugins.constraints.objectives.objectives.Objective.Option +import info.nightscout.plugins.databinding.ObjectivesExamFragmentBinding +import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesUpdateGui -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.ExamTask -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective.Option import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T -import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.rx.bus.RxBus import javax.inject.Inject class ObjectivesExamDialog : DaggerDialogFragment() { @@ -96,8 +96,8 @@ class ObjectivesExamDialog : DaggerDialogFragment() { context?.let { binding.examHints.addView(h.generate(it)) } } // Disabled to - binding.examDisabledto.text = rh.gs(R.string.answerdisabledto, dateUtil.timeString(task.disabledTo)) - binding.examDisabledto.visibility = if (task.isEnabledAnswer()) View.GONE else View.VISIBLE + binding.examDisabledTo.text = rh.gs(R.string.answerdisabledto, dateUtil.timeString(task.disabledTo)) + binding.examDisabledTo.visibility = if (task.isEnabledAnswer()) View.GONE else View.VISIBLE // Buttons binding.examVerify.isEnabled = !task.answered && task.isEnabledAnswer() binding.examVerify.setOnClickListener { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt index 7a10ec9a5b..a4adb728d1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.dialogs +package info.nightscout.plugins.constraints.objectives.dialogs import android.os.Bundle import android.os.SystemClock diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt similarity index 57% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt index d5acd670f1..208d11625e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.events +package info.nightscout.plugins.constraints.objectives.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt index c30bdf7fe0..e793998f55 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import android.content.Context import android.text.util.Linkify @@ -7,7 +7,7 @@ import android.widget.TextView import androidx.annotation.StringRes import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt index 7dc1002b3e..3c0c31a567 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective0.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt @@ -1,13 +1,13 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt index 8a3abb5817..bd8955c824 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective1.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin +import info.nightscout.plugins.R +import info.nightscout.plugins.general.actions.ActionsPlugin import javax.inject.Inject class Objective1 @Inject constructor(injector: HasAndroidInjector) : Objective(injector, "usage", R.string.objectives_usage_objective, R.string.objectives_usage_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt index efbbc91a97..45e9375d78 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective10.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import info.nightscout.shared.utils.T class Objective10(injector: HasAndroidInjector) : Objective(injector, "auto", R.string.objectives_auto_objective, R.string.objectives_auto_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective2.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective2.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt index 4c79036f9b..3e598c6ba5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective2.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R @Suppress("SpellCheckingInspection") class Objective2(injector: HasAndroidInjector) : Objective(injector, "exam", R.string.objectives_exam_objective, R.string.objectives_exam_gate) { @@ -113,7 +113,7 @@ class Objective2(injector: HasAndroidInjector) : Objective(injector, "exam", R.s .option(Option(R.string.pumpdisconnect_openloop, false)) .hint(Hint(R.string.pumpdisconnect_hint1)) ) - tasks.add(ExamTask(this, R.string.insulin_label, R.string.insulin_ultrarapid, "insulin") + tasks.add(ExamTask(this, R.string.insulin_plugins, R.string.insulin_ultrarapid, "insulin") .option(Option(R.string.insulin_novorapid, false)) .option(Option(R.string.insulin_humalog, false)) .option(Option(R.string.insulin_actrapid, false)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt index 36d6dc1e2b..342623d32b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective3.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt @@ -1,8 +1,8 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.plugins.R import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective4.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective4.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt index 6ba5721ca8..1871038194 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective4.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R @Suppress("SpellCheckingInspection") class Objective4(injector: HasAndroidInjector) : Objective(injector, "maxbasal", R.string.objectives_maxbasal_objective, R.string.objectives_maxbasal_gate) \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt similarity index 81% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt index cbbc6f1467..35b5024cc0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective5.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt similarity index 80% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt index 2999b02c49..4eca10cdc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective6.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt @@ -1,9 +1,8 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.plugins.constraints.safety.SafetyPlugin +import info.nightscout.plugins.R import info.nightscout.shared.utils.T import javax.inject.Inject @@ -11,7 +10,6 @@ import javax.inject.Inject class Objective6(injector: HasAndroidInjector) : Objective(injector, "maxiob", R.string.objectives_maxiob_objective, R.string.objectives_maxiob_gate) { @Inject lateinit var constraintChecker: Constraints - @Inject lateinit var safetyPlugin: SafetyPlugin init { tasks.add(MinimumDurationTask(this, T.days(1).msecs())) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt similarity index 74% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt index 57698d2fcb..4ace165453 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective7.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import info.nightscout.shared.utils.T class Objective7(injector: HasAndroidInjector) : Objective(injector, "autosens", R.string.objectives_autosens_objective, R.string.objectives_autosens_gate) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt index 9ea48b4bf9..3031f9d283 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective9.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.plugins.constraints.objectives.objectives +package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import info.nightscout.shared.utils.T class Objective9(injector: HasAndroidInjector) : Objective(injector, "smb", R.string.objectives_smb_objective, R.string.objectives_smb_gate) { diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt new file mode 100644 index 0000000000..635720be75 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt @@ -0,0 +1,2 @@ +package info.nightscout.plugins.constraints.objectives.objectives + diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt index 771bf8c230..da6afdda5b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/safety/SafetyPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.plugins.constraints.safety +package info.nightscout.plugins.constraints.safety import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.putDouble import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.putString @@ -11,11 +10,7 @@ import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config @@ -29,6 +24,7 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round +import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper @@ -47,10 +43,6 @@ class SafetyPlugin @Inject constructor( private val sp: SP, private val rxBus: RxBus, private val constraintChecker: Constraints, - private val openAPSAMAPlugin: OpenAPSAMAPlugin, - private val openAPSSMBPlugin: OpenAPSSMBPlugin, - private val openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin, - private val sensitivityOref1Plugin: SensitivityOref1Plugin, private val activePlugin: ActivePlugin, private val hardLimits: HardLimits, private val buildHelper: BuildHelper, @@ -110,8 +102,6 @@ class SafetyPlugin @Inject constructor( override fun isUAMEnabled(value: Constraint): Constraint { val enabled = sp.getBoolean(R.string.key_use_uam, false) if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.uamdisabledinpreferences), this) - val oref1Enabled = sensitivityOref1Plugin.isEnabled() - if (!oref1Enabled) value.set(aapsLogger, false, rh.gs(R.string.uamdisabledoref1notselected), this) return value } @@ -203,12 +193,6 @@ class SafetyPlugin @Inject constructor( override fun applyMaxIOBConstraints(maxIob: Constraint): Constraint { val apsMode = sp.getString(R.string.key_aps_mode, "open") - val maxIobPref: Double = if (openAPSSMBPlugin.isEnabled() || openAPSSMBDynamicISFPlugin.isEnabled()) sp.getDouble(R.string.key_openapssmb_max_iob, 3.0) else sp.getDouble(R.string - .key_openapsma_max_iob, 1.5) - maxIob.setIfSmaller(aapsLogger, maxIobPref, rh.gs(R.string.limitingiob, maxIobPref, rh.gs(R.string.maxvalueinpreferences)), this) - if (openAPSAMAPlugin.isEnabled()) maxIob.setIfSmaller(aapsLogger, hardLimits.maxIobAMA(), rh.gs(R.string.limitingiob, hardLimits.maxIobAMA(), rh.gs(R.string.hardlimit)), this) - if (openAPSSMBPlugin.isEnabled()) maxIob.setIfSmaller(aapsLogger, hardLimits.maxIobSMB(), rh.gs(R.string.limitingiob, hardLimits.maxIobSMB(), rh.gs(R.string.hardlimit)), this) - if (openAPSSMBDynamicISFPlugin.isEnabled()) maxIob.setIfSmaller(aapsLogger, hardLimits.maxIobSMB(), rh.gs(R.string.limitingiob, hardLimits.maxIobSMB(), rh.gs(R.string.hardlimit)), this) if (apsMode == "lgs") maxIob.setIfSmaller(aapsLogger, HardLimits.MAX_IOB_LGS, rh.gs(R.string.limitingiob, HardLimits.MAX_IOB_LGS, rh.gs(R.string.lowglucosesuspend)), this) return maxIob } diff --git a/plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt new file mode 100644 index 0000000000..b9c9943ebf --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt @@ -0,0 +1,33 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.constraints.objectives.objectives.Objective +import info.nightscout.plugins.constraints.objectives.objectives.Objective0 +import info.nightscout.plugins.constraints.objectives.objectives.Objective1 +import info.nightscout.plugins.constraints.objectives.objectives.Objective10 +import info.nightscout.plugins.constraints.objectives.objectives.Objective2 +import info.nightscout.plugins.constraints.objectives.objectives.Objective3 +import info.nightscout.plugins.constraints.objectives.objectives.Objective4 +import info.nightscout.plugins.constraints.objectives.objectives.Objective5 +import info.nightscout.plugins.constraints.objectives.objectives.Objective6 +import info.nightscout.plugins.constraints.objectives.objectives.Objective7 +import info.nightscout.plugins.constraints.objectives.objectives.Objective9 + +@Module +@Suppress("unused") +abstract class ObjectivesModule { + + @ContributesAndroidInjector abstract fun objectiveInjector(): Objective + @ContributesAndroidInjector abstract fun objective0Injector(): Objective0 + @ContributesAndroidInjector abstract fun objective1Injector(): Objective1 + @ContributesAndroidInjector abstract fun objective2Injector(): Objective2 + @ContributesAndroidInjector abstract fun objective3Injector(): Objective3 + @ContributesAndroidInjector abstract fun objective4Injector(): Objective4 + @ContributesAndroidInjector abstract fun objective5Injector(): Objective5 + @ContributesAndroidInjector abstract fun objective6Injector(): Objective6 + @ContributesAndroidInjector abstract fun objective7Injector(): Objective7 + @ContributesAndroidInjector abstract fun objective9Injector(): Objective9 + @ContributesAndroidInjector abstract fun objective10Injector(): Objective10 + +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt index 57c9aae6e7..e461798ffd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt +++ b/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt @@ -11,7 +11,9 @@ import dagger.Module ProfileModule::class, SyncModule::class, SourceModule::class, - VirtualPumpModule::class + VirtualPumpModule::class, + ObjectivesModule::class, + SkinsModule::class ] ) diff --git a/app/src/main/java/info/nightscout/androidaps/di/SkinsModule.kt b/plugins/src/main/java/info/nightscout/plugins/di/SkinsModule.kt similarity index 71% rename from app/src/main/java/info/nightscout/androidaps/di/SkinsModule.kt rename to plugins/src/main/java/info/nightscout/plugins/di/SkinsModule.kt index cd450e653b..b92946e32b 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/SkinsModule.kt +++ b/plugins/src/main/java/info/nightscout/plugins/di/SkinsModule.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.di +package info.nightscout.plugins.di import dagger.Module import dagger.Provides import dagger.multibindings.IntKey import dagger.multibindings.IntoMap -import info.nightscout.androidaps.skins.SkinButtonsOn -import info.nightscout.androidaps.skins.SkinClassic -import info.nightscout.androidaps.skins.SkinInterface -import info.nightscout.androidaps.skins.SkinLargeDisplay -import info.nightscout.androidaps.skins.SkinLowRes +import info.nightscout.plugins.skins.SkinButtonsOn +import info.nightscout.plugins.skins.SkinClassic +import info.nightscout.plugins.skins.SkinInterface +import info.nightscout.plugins.skins.SkinLargeDisplay +import info.nightscout.plugins.skins.SkinLowRes import javax.inject.Qualifier @Module diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt similarity index 86% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt rename to plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index 9ef92c6d1b..0e40fd2c2f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.general.actions +package info.nightscout.plugins.general.actions import android.content.Context import android.content.Intent @@ -10,12 +10,6 @@ import android.view.ViewGroup import android.widget.LinearLayout import androidx.core.content.ContextCompat import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.activities.HistoryBrowseActivity -import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.ui.dialogs.ProfileSwitchDialog -import info.nightscout.ui.dialogs.TempBasalDialog -import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.ActivePlugin @@ -24,8 +18,6 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.general.overview.StatusLightHandler -import info.nightscout.androidaps.skins.SkinProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton @@ -40,6 +32,10 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.ActionsFragmentBinding +import info.nightscout.plugins.skins.SkinProvider +import info.nightscout.plugins.ui.StatusLightHandler import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventCustomActionsChanged @@ -52,10 +48,6 @@ import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil -import info.nightscout.ui.activities.TDDStatsActivity -import info.nightscout.ui.dialogs.CareDialog -import info.nightscout.ui.dialogs.ExtendedBolusDialog -import info.nightscout.ui.dialogs.FillDialog import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import javax.inject.Inject @@ -91,6 +83,7 @@ class ActionsFragment : DaggerFragment() { private lateinit var dm: DisplayMetrics private var _binding: ActionsFragmentBinding? = null + // This property is only valid between onCreateView and onDestroyView. private val binding get() = _binding!! @@ -105,7 +98,7 @@ class ActionsFragment : DaggerFragment() { activity?.windowManager?.defaultDisplay?.getMetrics(dm) } _binding = ActionsFragmentBinding.inflate(inflater, container, false) - return binding.root + return binding.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -118,7 +111,7 @@ class ActionsFragment : DaggerFragment() { protectionCheck.queryProtection( activity, ProtectionCheck.Protection.BOLUS, - UIRunnable { ProfileSwitchDialog().show(childFragmentManager, "ProfileSwitchDialog")}) + UIRunnable { activityNames.runProfileSwitchDialog(childFragmentManager) }) } } binding.tempTarget.setOnClickListener { @@ -126,7 +119,7 @@ class ActionsFragment : DaggerFragment() { protectionCheck.queryProtection( activity, ProtectionCheck.Protection.BOLUS, - UIRunnable { TempTargetDialog().show(childFragmentManager, "Actions") }) + UIRunnable { activityNames.runTempTargetDialog(childFragmentManager) }) } } binding.extendedBolus.setOnClickListener { @@ -135,7 +128,7 @@ class ActionsFragment : DaggerFragment() { OKDialog.showConfirmation( activity, rh.gs(R.string.extended_bolus), rh.gs(R.string.ebstopsloop), Runnable { - ExtendedBolusDialog().show(childFragmentManager, "Actions") + activityNames.runExtendedBolusDialog(childFragmentManager) }, null ) }) @@ -158,7 +151,7 @@ class ActionsFragment : DaggerFragment() { protectionCheck.queryProtection( activity, ProtectionCheck.Protection.BOLUS, - UIRunnable { TempBasalDialog().show(childFragmentManager, "Actions") }) + UIRunnable { activityNames.runTempBasalDialog(childFragmentManager) }) } } binding.cancelTempBasal.setOnClickListener { @@ -175,31 +168,31 @@ class ActionsFragment : DaggerFragment() { } binding.fill.setOnClickListener { activity?.let { activity -> - protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { FillDialog().show(childFragmentManager, "FillDialog") }) + protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { activityNames.runFillDialog(childFragmentManager) }) } } - binding.historyBrowser.setOnClickListener { startActivity(Intent(context, HistoryBrowseActivity::class.java)) } - binding.tddStats.setOnClickListener { startActivity(Intent(context, TDDStatsActivity::class.java)) } + binding.historyBrowser.setOnClickListener { startActivity(Intent(context, activityNames.historyBrowseActivity::class.java)) } + binding.tddStats.setOnClickListener { startActivity(Intent(context, activityNames.tddStatsActivity::class.java)) } binding.bgCheck.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.BGCHECK, R.string.careportal_bgcheck).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.BGCHECK, R.string.careportal_bgcheck) } binding.cgmSensorInsert.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.SENSOR_INSERT, R.string.careportal_cgmsensorinsert).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.SENSOR_INSERT, R.string.cgm_sensor_insert) } binding.pumpBatteryChange.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.BATTERY_CHANGE, R.string.careportal_pumpbatterychange).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.BATTERY_CHANGE, R.string.pump_battery_change) } binding.note.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.NOTE, R.string.careportal_note).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.NOTE, R.string.careportal_note) } binding.exercise.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.EXERCISE, R.string.careportal_exercise).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.EXERCISE, R.string.careportal_exercise) } binding.question.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.QUESTION, R.string.careportal_question).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.QUESTION, R.string.careportal_question) } binding.announcement.setOnClickListener { - CareDialog().setOptions(CareDialog.EventType.ANNOUNCEMENT, R.string.careportal_announcement).show(childFragmentManager, "Actions") + activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.ANNOUNCEMENT, R.string.careportal_announcement) } sp.putBoolean(R.string.key_objectiveuseactions, true) @@ -301,7 +294,7 @@ class ActionsFragment : DaggerFragment() { if (!config.NSCLIENT) { statusLightHandler.updateStatusLights(cannulaAge, insulinAge, reservoirLevel, sensorAge, sensorLevel, pbAge, batteryLevel) - sensorLevelLabel.text = if (activeBgSource.sensorBatteryLevel == -1) "" else rh.gs(R.string.careportal_level_label) + sensorLevelLabel.text = if (activeBgSource.sensorBatteryLevel == -1) "" else rh.gs(R.string.level_label) } else { statusLightHandler.updateStatusLights(cannulaAge, insulinAge, null, sensorAge, null, pbAge, null) sensorLevelLabel.text = "" diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt similarity index 56% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt rename to plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt index e7cfb73cba..3a0cffea9d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.plugins.general.actions +package info.nightscout.plugins.general.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject @@ -19,13 +19,13 @@ class ActionsPlugin @Inject constructor( config: Config ) : PluginBase( PluginDescription() - .mainType(PluginType.GENERAL) - .fragmentClass(ActionsFragment::class.qualifiedName) - .enableByDefault(config.APS || config.PUMPCONTROL) - .visibleByDefault(config.APS || config.PUMPCONTROL) - .pluginIcon(R.drawable.ic_action) - .pluginName(R.string.actions) - .shortName(R.string.actions_shortname) - .description(R.string.description_actions), + .mainType(PluginType.GENERAL) + .fragmentClass(ActionsFragment::class.qualifiedName) + .enableByDefault(config.APS || config.PUMPCONTROL) + .visibleByDefault(config.APS || config.PUMPCONTROL) + .pluginIcon(R.drawable.ic_action) + .pluginName(R.string.actions) + .shortName(R.string.actions_shortname) + .description(R.string.description_actions), aapsLogger, rh, injector ) diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt similarity index 83% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt index e78c5dcd19..2da897baa7 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinButtonsOn.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import info.nightscout.interfaces.Config -import info.nightscout.androidaps.R +import info.nightscout.plugins.R import javax.inject.Inject import javax.inject.Singleton diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt index 543c963049..34b3fa3ec8 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinClassic.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import android.util.DisplayMetrics import info.nightscout.interfaces.Config -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.OverviewFragmentBinding +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.OverviewFragmentBinding import javax.inject.Inject import javax.inject.Singleton @Singleton -class SkinClassic @Inject constructor(private val config: Config): SkinInterface { +class SkinClassic @Inject constructor(private val config: Config) : SkinInterface { override val description: Int get() = R.string.classic_description override val mainGraphHeight: Int get() = 200 diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinInterface.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinInterface.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt index 2e338955d5..327c3f5de5 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinInterface.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import android.util.DisplayMetrics import android.util.TypedValue.COMPLEX_UNIT_PX @@ -6,9 +6,9 @@ import android.view.View import android.widget.LinearLayout import androidx.annotation.StringRes import androidx.constraintlayout.widget.ConstraintLayout -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.androidaps.databinding.OverviewFragmentBinding +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.ActionsFragmentBinding +import info.nightscout.plugins.databinding.OverviewFragmentBinding interface SkinInterface { diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt similarity index 81% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt index ff02276574..3ef880d299 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinLargeDisplay.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import android.util.DisplayMetrics -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.OverviewFragmentBinding import info.nightscout.interfaces.Config +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.OverviewFragmentBinding import javax.inject.Inject import javax.inject.Singleton @Singleton -class SkinLargeDisplay @Inject constructor(private val config: Config): SkinInterface { +class SkinLargeDisplay @Inject constructor(private val config: Config) : SkinInterface { override val description: Int get() = R.string.largedisplay_description override val mainGraphHeight: Int get() = 400 diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinListPreference.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinListPreference.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt index 51b546ce71..137e5749d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinListPreference.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import android.content.Context import android.util.AttributeSet diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt similarity index 88% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt index 8d17b3bc79..d9e3c51848 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinLowRes.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins import android.util.DisplayMetrics import android.view.View.GONE import android.view.ViewGroup import info.nightscout.interfaces.Config -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.ActionsFragmentBinding -import info.nightscout.androidaps.databinding.OverviewFragmentBinding +import info.nightscout.plugins.R +import info.nightscout.plugins.databinding.ActionsFragmentBinding +import info.nightscout.plugins.databinding.OverviewFragmentBinding import javax.inject.Inject import javax.inject.Singleton @@ -44,7 +44,7 @@ class SkinLowRes @Inject constructor(private val config: Config) : SkinInterface infoCard.elevation = 0F infoCard.radius = 0F val paramInfo = (infoCard.layoutParams as ViewGroup.MarginLayoutParams).apply { - setMargins(0,0,0,0) + setMargins(0, 0, 0, 0) } infoCard.layoutParams = paramInfo @@ -52,21 +52,21 @@ class SkinLowRes @Inject constructor(private val config: Config) : SkinInterface statusCard.radius = 0F statusCard.strokeWidth = 1 val paramStatus = (statusCard.layoutParams as ViewGroup.MarginLayoutParams).apply { - setMargins(0,0,0,0) + setMargins(0, 0, 0, 0) } statusCard.layoutParams = paramStatus nsclientCard.elevation = 0F nsclientCard.radius = 0F val paramNsClient = (nsclientCard.layoutParams as ViewGroup.MarginLayoutParams).apply { - setMargins(0,0,0,0) + setMargins(0, 0, 0, 0) } nsclientCard.layoutParams = paramNsClient graphCard.elevation = 0F graphCard.radius = 0F val paramGraph = (graphCard.layoutParams as ViewGroup.MarginLayoutParams).apply { - setMargins(0,0,0,0) + setMargins(0, 0, 0, 0) } graphCard.layoutParams = paramGraph diff --git a/app/src/main/java/info/nightscout/androidaps/skins/SkinProvider.kt b/plugins/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/skins/SkinProvider.kt rename to plugins/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt index b9d51adcda..aae1222ba9 100644 --- a/app/src/main/java/info/nightscout/androidaps/skins/SkinProvider.kt +++ b/plugins/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.skins +package info.nightscout.plugins.skins -import info.nightscout.androidaps.R -import info.nightscout.androidaps.di.SkinsModule +import info.nightscout.plugins.R +import info.nightscout.plugins.di.SkinsModule import info.nightscout.shared.sharedPreferences.SP import okhttp3.internal.toImmutableMap import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt rename to plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt index f503b2090a..2c32821997 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/StatusLightHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt @@ -1,17 +1,16 @@ -package info.nightscout.androidaps.plugins.general.overview +package info.nightscout.plugins.ui import android.widget.TextView import androidx.annotation.StringRes -import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsclient.extensions.age import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP @@ -77,7 +76,7 @@ class StatusLightHandler @Inject constructor( // The Omnipod Eros does not report its battery level. However, some RileyLink alternatives do. // Depending on the user's configuration, we will either show the battery level reported by the RileyLink or "n/a" // Pump instance check is needed because at startup, the pump can still be VirtualPumpPlugin and that will cause a crash - val erosBatteryLinkAvailable = pump.model() == PumpType.OMNIPOD_EROS && pump is OmnipodErosPumpPlugin && pump.isUseRileyLinkBatteryLevel + val erosBatteryLinkAvailable = pump.model() == PumpType.OMNIPOD_EROS && pump.isUseRileyLinkBatteryLevel() if (pump.model().supportBatteryLevel || erosBatteryLinkAvailable) { handleLevel(careportal_battery_level, R.string.key_statuslights_bat_critical, 26.0, R.string.key_statuslights_bat_warning, 51.0, pump.batteryLevel.toDouble(), "%") @@ -122,4 +121,4 @@ class StatusLightHandler @Inject constructor( handleLevel(view, criticalSetting, criticalDefaultValue, warnSetting, warnDefaultValue, level, units) } } -} +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_actions_cancelextbolus.xml b/plugins/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml similarity index 100% rename from app/src/main/res/drawable/ic_actions_cancelextbolus.xml rename to plugins/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml diff --git a/app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml b/plugins/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml similarity index 100% rename from app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml rename to plugins/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml diff --git a/app/src/main/res/drawable/ic_cancelbasal.xml b/plugins/src/main/res/drawable/ic_cancel_basal.xml similarity index 100% rename from app/src/main/res/drawable/ic_cancelbasal.xml rename to plugins/src/main/res/drawable/ic_cancel_basal.xml diff --git a/app/src/main/res/drawable/ic_cp_age_battery.xml b/plugins/src/main/res/drawable/ic_cp_age_battery.xml similarity index 100% rename from app/src/main/res/drawable/ic_cp_age_battery.xml rename to plugins/src/main/res/drawable/ic_cp_age_battery.xml diff --git a/app/src/main/res/drawable/ic_cp_age_cannula.xml b/plugins/src/main/res/drawable/ic_cp_age_cannula.xml similarity index 100% rename from app/src/main/res/drawable/ic_cp_age_cannula.xml rename to plugins/src/main/res/drawable/ic_cp_age_cannula.xml diff --git a/app/src/main/res/drawable/ic_cp_age_insulin.xml b/plugins/src/main/res/drawable/ic_cp_age_insulin.xml similarity index 100% rename from app/src/main/res/drawable/ic_cp_age_insulin.xml rename to plugins/src/main/res/drawable/ic_cp_age_insulin.xml diff --git a/app/src/main/res/drawable/ic_cp_age_sensor.xml b/plugins/src/main/res/drawable/ic_cp_age_sensor.xml similarity index 100% rename from app/src/main/res/drawable/ic_cp_age_sensor.xml rename to plugins/src/main/res/drawable/ic_cp_age_sensor.xml diff --git a/app/src/main/res/drawable/ic_crosstarget.xml b/plugins/src/main/res/drawable/ic_crosstarget.xml similarity index 100% rename from app/src/main/res/drawable/ic_crosstarget.xml rename to plugins/src/main/res/drawable/ic_crosstarget.xml diff --git a/app/src/main/res/layout/actions_fragment.xml b/plugins/src/main/res/layout/actions_fragment.xml similarity index 95% rename from app/src/main/res/layout/actions_fragment.xml rename to plugins/src/main/res/layout/actions_fragment.xml index 8136b4ca1b..d61ea35e9e 100644 --- a/app/src/main/res/layout/actions_fragment.xml +++ b/plugins/src/main/res/layout/actions_fragment.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".plugins.general.actions.ActionsFragment"> + tools:context=".general.actions.ActionsFragment"> @@ -161,7 +161,7 @@ + tools:context="info.nightscout.plugins.general.actions.ActionsFragment"> @@ -28,7 +28,7 @@ android:gravity="center_vertical" android:paddingStart="0dp" android:paddingEnd="0dp" - android:text="@string/careportal_age_label" + android:text="@string/age_label" android:textSize="14sp" /> @@ -100,7 +100,7 @@ android:gravity="center_vertical" android:paddingStart="0dp" android:paddingEnd="0dp" - android:text="@string/careportal_age_label" + android:text="@string/age_label" android:textSize="14sp" /> @@ -246,7 +246,7 @@ android:gravity="center_vertical" android:paddingStart="0dp" android:paddingEnd="0dp" - android:text="@string/careportal_age_label" + android:text="@string/age_label" android:textSize="14sp" /> + tools:context="constraints.objectives.activities.ObjectivesExamDialog"> + app:layout_constraintTop_toBottomOf="@+id/exam_disabled_to"> + android:text="@string/objectives_previous_button" /> + android:text="@string/objectives_next_button" /> + tools:context=".constraints.objectives.ObjectivesFragment"> + tools:context="info.nightscout.androidaps.plugins.general.overview.OverviewFragment"> diff --git a/plugins/src/main/res/values/arrays.xml b/plugins/src/main/res/values/arrays.xml index 0e75db8ee1..e163555609 100644 --- a/plugins/src/main/res/values/arrays.xml +++ b/plugins/src/main/res/values/arrays.xml @@ -44,4 +44,19 @@ YpsoPump
+ + @string/child + @string/teenage + @string/adult + @string/resistantadult + @string/pregnant + + + @string/key_child + @string/key_teenage + @string/key_adult + @string/key_resistantadult + @string/key_pregnant + +
\ No newline at end of file diff --git a/plugins/src/main/res/values/exam.xml b/plugins/src/main/res/values/exam.xml new file mode 100644 index 0000000000..6974c605bd --- /dev/null +++ b/plugins/src/main/res/values/exam.xml @@ -0,0 +1,230 @@ + + + What is true about DIA? + Duration of Insulin Action (DIA) + You should set the value for DIA in your profile. + The minimum allowed value is 5 hours. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + If you are satisfied that the value for DIA that you used in your pump prior to AAPS worked well, there is no need to change this when you start looping. + You should determine for yourself the appropriate value for DIA. + Hypo Temp-Target + What is primary reason to set a hypo temp target? + To correct for hypos caused by incorrect basal rate settings. + To prevent AAPS from overcorrecting for a blood glucose rise caused by the fast acting carbs used to treat a hypo. + To correct for a hypo induced as a result of exercise. + To prevent blood glucose from going low if there is already a 0% temporary basal rate running. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Which profile can be used and configured offline? + Topic: Offline Profile + NS Profile can be used, but not configured. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Reasons for applying "Disconnect pump" in AAPS + What should be done when disconnecting the pump? + This is unnecessary as insulin will not be delivered if the pump is physically disconnected. + It prevents AAPS from accounting for insulin that was not delivered whilst the pump is physically disconnected.  + It will not stop insulin delivery if the pump remains connected. + It will send AAPS into open loop mode. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + AAPS Settings + AAPS Settings + What are the best practices for backing up your settings? + You do not need to export your settings provided that you make a note of them. + Export your settings after you finish completing an objective. + Export your settings after changing any of your settings. + Export your settings after you finish your initial set-up and have set your Preferences. + Export your settings locally using the maintenance menu. + Your settings file is found in the folder Internal Storage/AAPS/preferences on your phone. + Copy your preferences file to a safe location outside of your phone (e.g. by using a cloud drive, connecting a cable to a computer, email, etc.) + If your phone is damaged or lost, there are easy ways to remotely recover your settings without a backup. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Noisy CGM Readings + What should be done if CGM data is noisy? + Do nothing - AAPS will deal with it. + Disable the closed loop to avoid possible over or underdosing. + Replace consistently noisy or inaccurate sensors. + Verify that your CGM app provides smoothed data. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Exercise and Profiles + How can you use profiles to best help the system deal with aerobic exercise? + Do a profile switch to less than 100%. + Do a profile switch to more than 100%. + Leave the profile set to 100%. + Suspend the loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Exercise and Temporary Targets + How can you use temporary targets to best help the system deal with aerobic exercise? + Set an activity blood glucose target starting a suitable time before beginning exercise. + Set an activity blood glucose target after finishing exercise. + Leave your blood glucose target unchanged. + Wait until blood glucose drops below your hypo temp target and then eat 15 g of fast acting carbohydrates. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Disabled/Suspended loop + Do I receive insulin when the loop is disabled/suspended? + Yes, basal insulin continues to be delivered. + No, delivery of insulin is stopped. + Basal, ISF, and I:C Testing + When should these values be validated? + Before starting looping. + When experiencing frequent high or low blood glucose. + At least once per week. + Once set and validated, these values should not change over time. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Prerequisites + What is essential to set up and use AAPS? + Validated profile information (Basal, IC, ISF, DIA). + A computer with Android Studio installed and configured. + A supported phone. + A compatible insulin pump if you are planning to run a closed loop. + Nightscout, to keep a log of all data and review settings. + A Tidepool account. + A Google account. + A Github account. + Experience in programming or editing code. + A MiniMed 670G pump. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + A Smartwatch. + A Supported CGM. + Prerequisites + What is essential to set up and use AAPS? + Validated information to set up a profile (ISF, I:C ratio, basal rates, DIA etc.). + A compatible Android device (e.g. mobile/cell phone, full Android watch, or tablet). + AAPS requires an internet connection in order to run in closed loop. + A supported CGM and appropriate app to receive blood glucose values on the phone/device. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Updating AAPS + Check all correct answers. + You need to have Git installed and configured on your computer. + When updated versions of AAPS are released, the earlier versions may be remotely limited after a specified time. + You should save and note the location of your keystore and use the same signing key for updates as for your previous installation. + Never update if the system is working well. + If you have difficulty building the apk, you can install an apk that has been built by a friend. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Troubleshooting + Where can you look for help with AAPS? + You can ask for advice in the AAPS Users Facebook group. + You should read (and re-read) the AAPS documentation. + You can ask for advice and log technical problems or issues in the AAPS Discord. + You should ask your diabetes clinic/endocrinologist. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Insulin Plugins + Which insulin should you use with the Ultra-Rapid Oref plugin? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/"regular" human insulin. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Sensitivity Plugins + Check all correct answers. + Sensitivity plugins allow AAPS to adjust for temporary or short-lived changes in insulin sensitivity (for example hormonal changes or issues with absorption at the infusion site). + Sensitivity plugins provide the user with suggested changes to basal rates, I:C ratios and ISF that can be used to edit profile. + Logging a cannula change will reset Autosens ratio back to 100%. + Some of the plugin options have configurable time ranges that can be set by the user. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Carb Entry Errors + What should you do if you’ve made an incorrect carb entry? + Delete the incorrect entry in Treatments and enter the correct new carb value. + Bolus with insulin using the infusion set prime menu. + Do nothing – AAPS will make the appropriate adjustments. + Bolus with insulin using the Insulin (bolus) button in Overview. + Insulin delivery/entry errors + What should you do if you received less insulin than the pump history suggests e.g. due to an occlusion, a failed cannula or forgetting to reattach the pump after a shower?  + Delete insulin data from Nightscout Careportal to remove it from the pump history. + Compare values in AAPS and pump history (if pump supports this). + Bolus a proportion of your calculated ‘missed’ insulin by either syringe/pen or using a prime. + Do nothing and allow AAPS to correct any resulting high blood glucose level. + Carbs on Board (COB) + How changing ISF value affects COB calculation? + Increasing ISF will take absorbing carbs a longer time + Increasing ISF will take absorbing carbs a shorter time + Increasing ISF will not affect calculated carbs absorption + How changing IC value affects COB calculation? + Increasing IC will take absorbing carbs a longer time + Increasing IC will take absorbing carbs a shorter time + Increasing IC will not affect calculated carbs absorption + How changing profile percentage affects COB calculation? + Setting profile to 150% will take absorbing carbs a longer time + Setting profile to 150% will take absorbing carbs a shorter time + Setting profile to 150% will not affect calculated carbs absorption + Insulin on Board (IOB) + IOB value is affected by issued temporary basals. + High temp basal will not be given when your blood sugar is below target. + Negative IOB for a substantial period in the absence of exercise suggests your profile is too strong and less insulin is needed in your settings. + Positive IOB for a substantial period suggests insulin resistance or unannounced meals. + Carb entry and boluses + Only grams should be used for estimating and recording carbohydrates consumed. + Carbohydrates consumed can be recorded using an appropriate exchange system (e.g. DAFNE "CHO" exchanges or European "Bread Units"). + AAPS uses a dynamic model to estimate carb “decay” and calculate COB. + If blood glucose levels are outside acceptable values (too low or too high) the bolus calculator can be used to provide suggestions for carb or insulin corrections. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + What could you use e-carbs (extended carbs) for? + To schedule carbs in the future, possibly distributed over an interval (similar to an extended bolus distributing insulin over an interval). + For logging \'free\' exercise carbs you want to hide from AAPS. + e-carbs (distributed in the future) can assist AAPS in dealing with high fat/protein meals. + For logging rescue carbs you use to treat low blood glucose.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Remote Monitoring + How can you monitor AAPS (for example for your child) remotely? + AAPSClient app, Nightscout app and Nightscout webpage all allow you to follow AAPS remotely. + Other apps (e.g. Dexcom follow, xDrip running in follow mode) allow you to follow some parameters (e.g. blood glucose/sensor values) remotely, but use different algorithms so may have inaccurate IOB or COB values. + To follow AAPS remotely, both devices must have internet access (e.g. via Wi-Fi or mobile/cellular network data). + AAPSClient used as a remote follower will both monitor and provide full control of AAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Insulin Sensitivity Factor (ISF) + Raising ISF values will lead to more insulin delivery to cover a specific amount of carbs. + Reducing ISF values lead to more insulin delivery to correct for an above target blood glucose. + Raising or lowering ISF has no effect on insulin delivery when blood glucose levels are below target. + ISF should be entered in your AAPS Preferences. + Changing the ISF value in your profile is enough to apply the change. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + You can use more than one value for I:C ratio in your profile. + If you change your ISF in your profile you should always change your I:C ratio too. + Insulin to Carbohydrate Ratio (I:C ratio) + Higher I:C ratios lead to less insulin delivered for a given amount of carbs. + Lower I:C ratios lead to less insulin delivered for a given amount of carbs. + If you have 0 COB, changing the IC ratio will lead to a different amount of insulin to correct a given BG value. + IC will be different if you count bread (exchange) unit as 10g or 12g. + IC meaning is: How many bread (exchange) units are covered by 1U of insulin. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profile Switching + When specifying a 90% profile switch, which answers are true? + Basal rates will be 10% lower. + ISF will be 10% higher. + The value of the I:C ratio will be a 10% lower number. + ISF and I:C ratios will be unchanged. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profile Switching + When specifying a 120% profile switch, which answers are true? + Target blood glucose will be 20% higher. + Basal rates will be 20% higher. + Target blood glucose will be unchanged. + ISF will be 20% higher. + Profile Switching + If you get up 2 hours earlier than usual, how should you notify AAPS of the change in your schedule? + Initiate a profile switch with a timeshift of 2 + Initiate a profile switch with a timeshift of -2 + Set an eating soon temporary target. + Do a profile switch to more than 100%.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Changes to profiles + Basal rates, ISF, I:C ratios, etc., should be set in profiles. + Activating changes to your Nightscout Profile requires your AAPS phone to have an internet connection. + Editing profiles to change values is sufficient to enact any changes made. + Multiple profiles can be set up and selected to accommodate changing circumstances (e.g. hormonal changes, shift working, weekdays/weekend lifestyle). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Help with basal rates + Where to go for help with basalrate etc. + Your diabetes team + Google + Facebook + + Other Medication. Please read the statement below and then check the box to accept the declaration. + AAPS reduces basal rates or suspends insulin delivery to raise blood sugar. Drugs in the class SGLT2 inhibitors (gliflozins) can prevent increases in blood glucose and therefore can produce a dangerous insulin deficiency leading to DKA. +\nCommon brand names are: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nI hereby promise that I will not take such drugs when using AAPS or will deactivate the loop before using such drugs. + + diff --git a/plugins/src/main/res/values/objectives.xml b/plugins/src/main/res/values/objectives.xml new file mode 100644 index 0000000000..e8419700a8 --- /dev/null +++ b/plugins/src/main/res/values/objectives.xml @@ -0,0 +1,62 @@ + + + ObjectivesActionsUsed + ObjectivesLoopUsed + ObjectivesScaleUsed + objectives_request_code + ObjectivesmanualEnacts + + Start + Verify + %1$d. Objective + Objective %1$d not started + Objective %1$d not finished + Setting up visualization and monitoring, and analyzing basals and ratios + Verify that BG is available in Nightscout, and pump insulin data is being uploaded + Starting on an open loop + Run in Open Loop mode for a few days and manually enact lots of temp basals. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) + Understanding your open loop, including its temp basal recommendations + Based on that experience, decide what max basal should be, and set it on the pump and preferences + Starting to close the loop with Low Glucose Suspend + Run in closed loop with max IOB = 0 for a few days without too many LGS events + Tuning the closed loop, raising max IOB above 0 and gradually lowering BG targets + Run for a few days, and at least one night with no low BG alarms, before dropping BG + Adjust basals and ratios if needed, and then enable auto-sens + 1 week successful daytime looping with regular carb entry + Enabling additional features for daytime use, such as SMB + Enabling automation + You must read the wiki and rise maxIOB to get SMBs working fine! A good start is maxIOB=average mealbolus + 3 x max daily basal + Read the docs on how automation works. Set up your first simple rules. Instead of action let AAPS display only notification. When you are sure automation is triggered at the right time replace notification by real action. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + BG available in NS + Pump status available in NS + Manual enacts + Accomplished: %1$s + Learn how to control AAPS + Perform different actions in AAPS + Set profile 90% for 10 min (Long-press profile name on Overview) + Simulate shower. Disconnect pump for 1h (Long-press on Open Loop) + ... and reconnect back the same way + Create custom temporary target with 10 min duration (Long-press on your current target) + In Config Builder enable Actions plugin, make it visible and display its content from top menu + Display content of Loop plugin + Use scale function by long-pressing BG chart + Enter + If you have at least 3 months of closed loop experience with other systems you might qualify for a code to skip objectives. See https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for details. + Code accepted + Code invalid + Prove your knowledge + Study the questions.  You are given four possible answers for each question. There may be more than one correct answer. Please check all those that are correct and select VERIFY. + Answering disabled until: %1$s + Wrong answer! + Next unfinished + Request code: %1$s + (check all correct answers) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Not connected to the internet + Failed retrieve time + Objective requirements not met + + diff --git a/plugins/src/main/res/values/strings.xml b/plugins/src/main/res/values/strings.xml index 1e7a977353..f798645f51 100644 --- a/plugins/src/main/res/values/strings.xml +++ b/plugins/src/main/res/values/strings.xml @@ -234,9 +234,89 @@ PhoneChecker + ObjectivesbgIsAvailableInNS + ObjectivespumpStatusIsAvailableInNS + Completed, well done! Not completed yet Time elapsed + Maximal IOB set properly + BG available from selected source + Synchronization service has write permission + Loop enabled + APS selected + Closed mode enabled + OBJ + Learning program + Do you want reset objective start? You may lose your progress. + Next + Prev + Clear finished + Clear started + + + Actions + Some buttons to quickly access common features + ACT + TempBasal + Extended Bolus + Cancel Extended Bolus + Tools + History browser + Sensor + age: + level: + Insulin + Pump battery + Cannula + Use of Extended bolus feature will stop closed loop mode for the time of running extended bolus. Do you really want it? + Extended bolus delivery error + cannula age + patch pump age + Patch pump + + + openapsama_useautosens + use_smb + use_uam + openapsma_max_basal + openapsama_current_basal_safety_multiplier + openapsama_max_daily_safety_multiplier + treatmentssafety_maxbolus + lgsThreshold + openapsmb_max_iob + + Limiting extended bolus to %1$.1f U because of %2$s + Limiting carbs to %1$d g because of %2$s + Limiting IOB to %1$.1f U because of %2$s + + max basal multiplier + max daily basal multiplier + openapsma_max_iob + Safety + Pump is not temp basal capable + Closed loop mode disabled in preferences + Autosens disabled in preferences + SMB disabled in preferences + UAM disabled in preferences + UAM disabled because it rely on Oref1 sensitivity plugin + Running dev version. Closed loop is disabled. + Closed loop disabled because of running Extended bolus + SMB always and after carbs disabled because active BG source doesn\'t support advanced filtering + SMB not allowed in open loop mode + Increasing max basal value because setting is lower than your max basal in profile + max value in preferences + hard limit + Treatments safety + Please select patient type to setup safety limits + Child + Teenage + Adult + Insulin resistant adult + Pregnancy + Max allowed bolus [U] + Max allowed carbs [g] + Patient type statuslights_copy_ns @@ -276,6 +356,16 @@ Threshold critical pump battery level [%] Status lights Copy settings from NS + graph + insulin + Chart menu + blood glucose quality + blood glucose + outdated + APS Mode + Accept new temp basal: + CGM + QuickWizard ns_client_autoscroll @@ -483,8 +573,13 @@ UPLD NSClient malfunction. Consider NS and NSClient restart. - - ObjectivesbgIsAvailableInNS - ObjectivespumpStatusIsAvailableInNS + + skin + + Original skin + Low Resolution skin + Buttons are always displayed on bottom of screen + Large display + Skin
\ No newline at end of file diff --git a/app/src/main/res/xml/pref_safety.xml b/plugins/src/main/res/xml/pref_safety.xml similarity index 100% rename from app/src/main/res/xml/pref_safety.xml rename to plugins/src/main/res/xml/pref_safety.xml diff --git a/plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt b/plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt new file mode 100644 index 0000000000..db6fc5800a --- /dev/null +++ b/plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt @@ -0,0 +1,84 @@ +package info.nightscout.androidaps + +import info.nightscout.core.main.R +import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.sharedPreferences.SP +import javax.inject.Inject +import kotlin.math.max +import kotlin.math.min + +class HardLimitsMock @Inject constructor( + private val sp: SP, + private val rh: ResourceHelper +) : HardLimits { + + companion object { + + private const val CHILD = 0 + private const val TEENAGE = 1 + private const val ADULT = 2 + private const val RESISTANT_ADULT = 3 + private const val PREGNANT = 4 + private val MAX_BOLUS = doubleArrayOf(5.0, 10.0, 17.0, 25.0, 60.0) + + // Very Hard Limits Ranges + // First value is the Lowest and second value is the Highest a Limit can define + val VERY_HARD_LIMIT_MIN_BG = doubleArrayOf(80.0, 180.0) + val VERY_HARD_LIMIT_MAX_BG = doubleArrayOf(90.0, 200.0) + val VERY_HARD_LIMIT_TARGET_BG = doubleArrayOf(80.0, 200.0) + + // Very Hard Limits Ranges for Temp Targets + val VERY_HARD_LIMIT_TEMP_MIN_BG = intArrayOf(72, 180) + val VERY_HARD_LIMIT_TEMP_MAX_BG = intArrayOf(72, 270) + val VERY_HARD_LIMIT_TEMP_TARGET_BG = intArrayOf(72, 200) + val MIN_DIA = doubleArrayOf(5.0, 5.0, 5.0, 5.0, 5.0) + val MAX_DIA = doubleArrayOf(9.0, 9.0, 9.0, 9.0, 10.0) + val MIN_IC = doubleArrayOf(2.0, 2.0, 2.0, 2.0, 0.3) + val MAX_IC = doubleArrayOf(100.0, 100.0, 100.0, 100.0, 100.0) + const val MIN_ISF = 2.0 // mgdl + const val MAX_ISF = 1000.0 // mgdl + val MAX_IOB_AMA = doubleArrayOf(3.0, 5.0, 7.0, 12.0, 25.0) + val MAX_IOB_SMB = doubleArrayOf(7.0, 13.0, 22.0, 30.0, 70.0) + val MAX_BASAL = doubleArrayOf(2.0, 5.0, 10.0, 12.0, 25.0) + + //LGS Hard limits + //No IOB at all + const val MAX_IOB_LGS = 0.0 + + } + + private fun loadAge(): Int = when (sp.getString(R.string.key_age, "")) { + rh.gs(R.string.key_child) -> CHILD + rh.gs(R.string.key_teenage) -> TEENAGE + rh.gs(R.string.key_adult) -> ADULT + rh.gs(R.string.key_resistantadult) -> RESISTANT_ADULT + rh.gs(R.string.key_pregnant) -> PREGNANT + else -> ADULT + } + + override fun maxBolus(): Double = MAX_BOLUS[loadAge()] + override fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] + override fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] + override fun maxBasal(): Double = MAX_BASAL[loadAge()] + override fun minDia(): Double = MIN_DIA[loadAge()] + override fun maxDia(): Double = MAX_DIA[loadAge()] + override fun minIC(): Double = MIN_IC[loadAge()] + override fun maxIC(): Double = MAX_IC[loadAge()] + + // safety checks + override fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = + value == verifyHardLimits(value, valueName, lowLimit, highLimit) + + override fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = + value in lowLimit..highLimit + + override fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { + var newValue = value + if (newValue < lowLimit || newValue > highLimit) { + newValue = max(newValue, lowLimit) + newValue = min(newValue, highLimit) + } + return newValue + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt similarity index 79% rename from app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt rename to plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt index 7a6ec7a912..1b2dfd051f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -1,14 +1,14 @@ -package info.nightscout.androidaps.plugins.constraints.objectives +package info.nightscout.plugins.constraints.objectives import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.constraints.objectives.objectives.Objective import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Objectives +import info.nightscout.plugins.R +import info.nightscout.plugins.constraints.objectives.objectives.Objective import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil @@ -24,7 +24,6 @@ class ObjectivesPluginTest : TestBase() { @Mock lateinit var activePlugin: ActivePlugin @Mock lateinit var sp: SP @Mock lateinit var dateUtil: DateUtil - @Mock lateinit var uel: UserEntryLogger @Mock lateinit var config: Config private lateinit var objectivesPlugin: ObjectivesPlugin @@ -49,16 +48,16 @@ class ObjectivesPluginTest : TestBase() { } @Test fun notStartedObjectivesShouldLimitLoopInvocation() { - objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].startedOn = 0 var c = Constraint(true) c = objectivesPlugin.isLoopInvocationAllowed(c) Assert.assertEquals("Objectives: Objective 1 not started", c.getReasons(aapsLogger)) Assert.assertEquals(false, c.value()) - objectivesPlugin.objectives[ObjectivesPlugin.FIRST_OBJECTIVE].startedOn = dateUtil.now() + objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].startedOn = dateUtil.now() } @Test fun notStartedObjective6ShouldLimitClosedLoop() { - objectivesPlugin.objectives[ObjectivesPlugin.MAXIOB_ZERO_CL_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.MAXIOB_ZERO_CL_OBJECTIVE].startedOn = 0 var c = Constraint(true) c = objectivesPlugin.isClosedLoopAllowed(c) Assert.assertEquals(true, c.getReasons(aapsLogger).contains("Objective 6 not started")) @@ -66,7 +65,7 @@ class ObjectivesPluginTest : TestBase() { } @Test fun notStartedObjective8ShouldLimitAutosensMode() { - objectivesPlugin.objectives[ObjectivesPlugin.AUTOSENS_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.AUTOSENS_OBJECTIVE].startedOn = 0 var c = Constraint(true) c = objectivesPlugin.isAutosensModeEnabled(c) Assert.assertEquals(true, c.getReasons(aapsLogger).contains("Objective 8 not started")) @@ -74,7 +73,7 @@ class ObjectivesPluginTest : TestBase() { } @Test fun notStartedObjective10ShouldLimitSMBMode() { - objectivesPlugin.objectives[ObjectivesPlugin.SMB_OBJECTIVE].startedOn = 0 + objectivesPlugin.objectives[Objectives.SMB_OBJECTIVE].startedOn = 0 var c = Constraint(true) c = objectivesPlugin.isSMBModeEnabled(c) Assert.assertEquals(true, c.getReasons(aapsLogger).contains("Objective 9 not started")) diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 4fb8f57992..07674a4fa8 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -241,7 +241,7 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { `when`(rh.gs(R.string.smscommunicator_pump_disconnected)).thenReturn("Pump disconnected") `when`(rh.gs(R.string.smscommunicator_code_from_authenticator_for)).thenReturn("from Authenticator app for: %1\$s followed by PIN") `when`(rh.gs(R.string.patient_name_default)).thenReturn("User") - `when`(rh.gs(R.string.invalidprofile)).thenReturn("Invalid profile !!!") + `when`(rh.gs(R.string.invalid_profile)).thenReturn("Invalid profile !!!") `when`(rh.gs(R.string.sms)).thenReturn("SMS") `when`(rh.gsNotLocalised(R.string.loopsuspended)).thenReturn("Loop suspended") `when`(rh.gsNotLocalised(R.string.smscommunicator_stopped_sms)).thenReturn("SMS Remote Service stopped. To reactivate it, use AAPS on master smartphone.") diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt similarity index 100% rename from app/src/test/java/info/nightscout/androidaps/plugins/source/GlimpPluginTest.kt rename to plugins/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt similarity index 100% rename from app/src/test/java/info/nightscout/androidaps/plugins/source/MM640GPluginTest.kt rename to plugins/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt similarity index 100% rename from app/src/test/java/info/nightscout/androidaps/plugins/source/NSClientPluginTest.kt rename to plugins/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt similarity index 100% rename from app/src/test/java/info/nightscout/androidaps/plugins/source/XdripPluginTest.kt rename to plugins/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index c9545286db..98df6b1c7f 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -1087,6 +1087,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley return getOperationNotSupportedWithCustomText(info.nightscout.androidaps.plugins.pump.common.R.string.pump_operation_not_supported_by_pump_driver); } + @Override public boolean isUseRileyLinkBatteryLevel() { return aapsOmnipodErosManager.isShowRileyLinkBatteryLevel(); } diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index 020ed558c6..f931b23cb9 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -259,7 +259,7 @@ class TreatmentsTempTargetFragment : DaggerFragment(), MenuProvider { private fun getConfirmationText(selectedItems: SparseArray): String { if (selectedItems.size() == 1) { val tempTarget = selectedItems.valueAt(0) - return "${rh.gs(R.string.careportal_temporarytarget)}: ${tempTarget.friendlyDescription(profileFunction.getUnits(), rh)}\n" + + return "${rh.gs(R.string.temporary_target)}: ${tempTarget.friendlyDescription(profileFunction.getUnits(), rh)}\n" + dateUtil.dateAndTimeString(tempTarget.timestamp) } return rh.gs(R.string.confirm_remove_multiple_items, selectedItems.size()) diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 5454e2cae3..0069fea62e 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -27,6 +27,7 @@ import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyE import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -52,17 +53,7 @@ class CareDialog : DialogFragmentWithDate() { private val disposable = CompositeDisposable() - enum class EventType { - BGCHECK, - SENSOR_INSERT, - BATTERY_CHANGE, - NOTE, - EXERCISE, - QUESTION, - ANNOUNCEMENT - } - - private var options: EventType = EventType.BGCHECK + private var options: ActivityNames.EventType = ActivityNames.EventType.BGCHECK //private var valuesWithUnit = mutableListOf() private var valuesWithUnit = mutableListOf() @@ -70,12 +61,6 @@ class CareDialog : DialogFragmentWithDate() { @StringRes private var event: Int = R.string.none - fun setOptions(options: EventType, @StringRes event: Int): CareDialog { - this.options = options - this.event = event - return this - } - private var _binding: DialogCareBinding? = null // This property is only valid between onCreateView and @@ -84,8 +69,6 @@ class CareDialog : DialogFragmentWithDate() { override fun onSaveInstanceState(savedInstanceState: Bundle) { super.onSaveInstanceState(savedInstanceState) - savedInstanceState.putDouble("bg", binding.bg.value) - savedInstanceState.putDouble("duration", binding.duration.value) savedInstanceState.putInt("event", event) savedInstanceState.putInt("options", options.ordinal) } @@ -104,48 +87,48 @@ class CareDialog : DialogFragmentWithDate() { savedInstanceState?.let { event = savedInstanceState.getInt("event", R.string.error) - options = EventType.values()[savedInstanceState.getInt("options", 0)] + options = ActivityNames.EventType.values()[savedInstanceState.getInt("options", 0)] } binding.icon.setImageResource( when (options) { - EventType.BGCHECK -> R.drawable.ic_cp_bgcheck - EventType.SENSOR_INSERT -> R.drawable.ic_cp_cgm_insert - EventType.BATTERY_CHANGE -> R.drawable.ic_cp_pump_battery - EventType.NOTE -> R.drawable.ic_cp_note - EventType.EXERCISE -> R.drawable.ic_cp_exercise - EventType.QUESTION -> R.drawable.ic_cp_question - EventType.ANNOUNCEMENT -> R.drawable.ic_cp_announcement + ActivityNames.EventType.BGCHECK -> R.drawable.ic_cp_bgcheck + ActivityNames.EventType.SENSOR_INSERT -> R.drawable.ic_cp_cgm_insert + ActivityNames.EventType.BATTERY_CHANGE -> R.drawable.ic_cp_pump_battery + ActivityNames.EventType.NOTE -> R.drawable.ic_cp_note + ActivityNames.EventType.EXERCISE -> R.drawable.ic_cp_exercise + ActivityNames.EventType.QUESTION -> R.drawable.ic_cp_question + ActivityNames.EventType.ANNOUNCEMENT -> R.drawable.ic_cp_announcement } ) binding.title.text = rh.gs( when (options) { - EventType.BGCHECK -> R.string.careportal_bgcheck - EventType.SENSOR_INSERT -> R.string.careportal_cgmsensorinsert - EventType.BATTERY_CHANGE -> R.string.careportal_pumpbatterychange - EventType.NOTE -> R.string.careportal_note - EventType.EXERCISE -> R.string.careportal_exercise - EventType.QUESTION -> R.string.careportal_question - EventType.ANNOUNCEMENT -> R.string.careportal_announcement + ActivityNames.EventType.BGCHECK -> R.string.careportal_bgcheck + ActivityNames.EventType.SENSOR_INSERT -> R.string.cgm_sensor_insert + ActivityNames.EventType.BATTERY_CHANGE -> R.string.pump_battery_change + ActivityNames.EventType.NOTE -> R.string.careportal_note + ActivityNames.EventType.EXERCISE -> R.string.careportal_exercise + ActivityNames.EventType.QUESTION -> R.string.careportal_question + ActivityNames.EventType.ANNOUNCEMENT -> R.string.careportal_announcement } ) when (options) { - EventType.QUESTION, - EventType.ANNOUNCEMENT, - EventType.BGCHECK -> { + ActivityNames.EventType.QUESTION, + ActivityNames.EventType.ANNOUNCEMENT, + ActivityNames.EventType.BGCHECK -> { binding.durationLayout.visibility = View.GONE } - EventType.SENSOR_INSERT, - EventType.BATTERY_CHANGE -> { + ActivityNames.EventType.SENSOR_INSERT, + ActivityNames.EventType.BATTERY_CHANGE -> { binding.bgLayout.visibility = View.GONE binding.bgsource.visibility = View.GONE binding.durationLayout.visibility = View.GONE } - EventType.NOTE, - EventType.EXERCISE -> { + ActivityNames.EventType.NOTE, + ActivityNames.EventType.EXERCISE -> { binding.bgLayout.visibility = View.GONE binding.bgsource.visibility = View.GONE } @@ -180,7 +163,7 @@ class CareDialog : DialogFragmentWithDate() { savedInstanceState?.getDouble("duration") ?: 0.0, 0.0, Constants.MAX_PROFILE_SWITCH_DURATION, 10.0, DecimalFormat("0"), false, binding.okcancel.ok ) - if (options == EventType.NOTE || options == EventType.QUESTION || options == EventType.ANNOUNCEMENT || options == EventType.EXERCISE) + if (options == ActivityNames.EventType.NOTE || options == ActivityNames.EventType.QUESTION || options == ActivityNames.EventType.ANNOUNCEMENT || options == ActivityNames.EventType.EXERCISE) binding.notesLayout.root.visibility = View.VISIBLE // independent to preferences binding.bgLabel.labelFor = binding.bg.editTextId binding.durationLabel.labelFor = binding.duration.editTextId @@ -200,19 +183,19 @@ class CareDialog : DialogFragmentWithDate() { val therapyEvent = TherapyEvent( timestamp = eventTime, type = when (options) { - EventType.BGCHECK -> TherapyEvent.Type.FINGER_STICK_BG_VALUE - EventType.SENSOR_INSERT -> TherapyEvent.Type.SENSOR_CHANGE - EventType.BATTERY_CHANGE -> TherapyEvent.Type.PUMP_BATTERY_CHANGE - EventType.NOTE -> TherapyEvent.Type.NOTE - EventType.EXERCISE -> TherapyEvent.Type.EXERCISE - EventType.QUESTION -> TherapyEvent.Type.QUESTION - EventType.ANNOUNCEMENT -> TherapyEvent.Type.ANNOUNCEMENT + ActivityNames.EventType.BGCHECK -> TherapyEvent.Type.FINGER_STICK_BG_VALUE + ActivityNames.EventType.SENSOR_INSERT -> TherapyEvent.Type.SENSOR_CHANGE + ActivityNames.EventType.BATTERY_CHANGE -> TherapyEvent.Type.PUMP_BATTERY_CHANGE + ActivityNames.EventType.NOTE -> TherapyEvent.Type.NOTE + ActivityNames.EventType.EXERCISE -> TherapyEvent.Type.EXERCISE + ActivityNames.EventType.QUESTION -> TherapyEvent.Type.QUESTION + ActivityNames.EventType.ANNOUNCEMENT -> TherapyEvent.Type.ANNOUNCEMENT }, glucoseUnit = TherapyEvent.GlucoseUnit.fromConstant(profileFunction.getUnits()) ) val actions: LinkedList = LinkedList() - if (options == EventType.BGCHECK || options == EventType.QUESTION || options == EventType.ANNOUNCEMENT) { + if (options == ActivityNames.EventType.BGCHECK || options == ActivityNames.EventType.QUESTION || options == ActivityNames.EventType.ANNOUNCEMENT) { val meterType = when { binding.meter.isChecked -> TherapyEvent.MeterType.FINGER @@ -226,7 +209,7 @@ class CareDialog : DialogFragmentWithDate() { valuesWithUnit.add(ValueWithUnit.fromGlucoseUnit(binding.bg.value, profileFunction.getUnits().asText)) valuesWithUnit.add(ValueWithUnit.TherapyEventMeterType(meterType)) } - if (options == EventType.NOTE || options == EventType.EXERCISE) { + if (options == ActivityNames.EventType.NOTE || options == ActivityNames.EventType.EXERCISE) { actions.add(rh.gs(R.string.duration_label) + ": " + rh.gs(R.string.format_mins, binding.duration.value.toInt())) therapyEvent.duration = T.mins(binding.duration.value.toLong()).msecs() valuesWithUnit.add(ValueWithUnit.Minute(binding.duration.value.toInt()).takeIf { !binding.duration.value.equals(0.0) }) @@ -242,13 +225,13 @@ class CareDialog : DialogFragmentWithDate() { therapyEvent.enteredBy = enteredBy val source = when (options) { - EventType.BGCHECK -> UserEntry.Sources.BgCheck - EventType.SENSOR_INSERT -> UserEntry.Sources.SensorInsert - EventType.BATTERY_CHANGE -> UserEntry.Sources.BatteryChange - EventType.NOTE -> UserEntry.Sources.Note - EventType.EXERCISE -> UserEntry.Sources.Exercise - EventType.QUESTION -> UserEntry.Sources.Question - EventType.ANNOUNCEMENT -> UserEntry.Sources.Announcement + ActivityNames.EventType.BGCHECK -> UserEntry.Sources.BgCheck + ActivityNames.EventType.SENSOR_INSERT -> UserEntry.Sources.SensorInsert + ActivityNames.EventType.BATTERY_CHANGE -> UserEntry.Sources.BatteryChange + ActivityNames.EventType.NOTE -> UserEntry.Sources.Note + ActivityNames.EventType.EXERCISE -> UserEntry.Sources.Exercise + ActivityNames.EventType.QUESTION -> UserEntry.Sources.Question + ActivityNames.EventType.ANNOUNCEMENT -> UserEntry.Sources.Announcement } activity?.let { activity -> diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index dbbbafabc3..52e31cee59 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -189,7 +189,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() { val target = defaultValueHelper.determineActivityTT() val units = profileFunction.getUnits() if (isTT) - actions.add(rh.gs(R.string.careportal_temporarytarget) + ": " + rh.gs(R.string.activity)) + actions.add(rh.gs(R.string.temporary_target) + ": " + rh.gs(R.string.activity)) activity?.let { activity -> val ps = profileFunction.buildProfileSwitch(profileStore, profileName, duration, percent, timeShift, eventTime) ?: return@let diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt index e2229eaeb1..145fd54ec1 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt @@ -185,7 +185,7 @@ class TempTargetDialog : DialogFragmentWithDate() { actions.add(rh.gs(R.string.time) + ": " + dateUtil.dateAndTimeString(eventTime)) activity?.let { activity -> - OKDialog.showConfirmation(activity, rh.gs(R.string.careportal_temporarytarget), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { + OKDialog.showConfirmation(activity, rh.gs(R.string.temporary_target), HtmlHelper.fromHtml(Joiner.on("
").join(actions)), { val units = profileFunction.getUnits() when (reason) { rh.gs(R.string.eatingsoon) -> uel.log( diff --git a/app/src/main/res/drawable/cb_background_bg.xml b/ui/src/main/res/drawable/cb_background_bg.xml similarity index 97% rename from app/src/main/res/drawable/cb_background_bg.xml rename to ui/src/main/res/drawable/cb_background_bg.xml index cf493051a9..c03390f039 100644 --- a/app/src/main/res/drawable/cb_background_bg.xml +++ b/ui/src/main/res/drawable/cb_background_bg.xml @@ -1,7 +1,7 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/cb_background_cob.xml b/ui/src/main/res/drawable/cb_background_cob.xml similarity index 97% rename from app/src/main/res/drawable/cb_background_cob.xml rename to ui/src/main/res/drawable/cb_background_cob.xml index b73f1f3b39..3e9d80413d 100644 --- a/app/src/main/res/drawable/cb_background_cob.xml +++ b/ui/src/main/res/drawable/cb_background_cob.xml @@ -1,7 +1,7 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/cb_background_iob.xml b/ui/src/main/res/drawable/cb_background_iob.xml similarity index 97% rename from app/src/main/res/drawable/cb_background_iob.xml rename to ui/src/main/res/drawable/cb_background_iob.xml index bce5594f2a..22e0a92632 100644 --- a/app/src/main/res/drawable/cb_background_iob.xml +++ b/ui/src/main/res/drawable/cb_background_iob.xml @@ -1,7 +1,7 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/cb_background_trend.xml b/ui/src/main/res/drawable/cb_background_trend.xml similarity index 97% rename from app/src/main/res/drawable/cb_background_trend.xml rename to ui/src/main/res/drawable/cb_background_trend.xml index 74e90acb2f..0c6f092e13 100644 --- a/app/src/main/res/drawable/cb_background_trend.xml +++ b/ui/src/main/res/drawable/cb_background_trend.xml @@ -1,7 +1,7 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/cb_background_tt.xml b/ui/src/main/res/drawable/cb_background_tt.xml similarity index 100% rename from app/src/main/res/drawable/cb_background_tt.xml rename to ui/src/main/res/drawable/cb_background_tt.xml diff --git a/app/src/main/res/drawable/checkbox_bg_icon.xml b/ui/src/main/res/drawable/checkbox_bg_icon.xml similarity index 97% rename from app/src/main/res/drawable/checkbox_bg_icon.xml rename to ui/src/main/res/drawable/checkbox_bg_icon.xml index f22b42b4d9..c3e6f34a7b 100644 --- a/app/src/main/res/drawable/checkbox_bg_icon.xml +++ b/ui/src/main/res/drawable/checkbox_bg_icon.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/checkbox_cob_icon.xml b/ui/src/main/res/drawable/checkbox_cob_icon.xml similarity index 97% rename from app/src/main/res/drawable/checkbox_cob_icon.xml rename to ui/src/main/res/drawable/checkbox_cob_icon.xml index 391e1bf226..50fea3c9fa 100644 --- a/app/src/main/res/drawable/checkbox_cob_icon.xml +++ b/ui/src/main/res/drawable/checkbox_cob_icon.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/checkbox_iob_icon.xml b/ui/src/main/res/drawable/checkbox_iob_icon.xml similarity index 97% rename from app/src/main/res/drawable/checkbox_iob_icon.xml rename to ui/src/main/res/drawable/checkbox_iob_icon.xml index f9bcb46d52..0d93767769 100644 --- a/app/src/main/res/drawable/checkbox_iob_icon.xml +++ b/ui/src/main/res/drawable/checkbox_iob_icon.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/checkbox_trend_icon.xml b/ui/src/main/res/drawable/checkbox_trend_icon.xml similarity index 97% rename from app/src/main/res/drawable/checkbox_trend_icon.xml rename to ui/src/main/res/drawable/checkbox_trend_icon.xml index 025544c3fd..e9af90f4b7 100644 --- a/app/src/main/res/drawable/checkbox_trend_icon.xml +++ b/ui/src/main/res/drawable/checkbox_trend_icon.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/app/src/main/res/drawable/checkbox_tt_icon.xml b/ui/src/main/res/drawable/checkbox_tt_icon.xml similarity index 100% rename from app/src/main/res/drawable/checkbox_tt_icon.xml rename to ui/src/main/res/drawable/checkbox_tt_icon.xml diff --git a/app/src/main/res/drawable/ic_cp_basal_start.xml b/ui/src/main/res/drawable/ic_cp_basal_start.xml similarity index 100% rename from app/src/main/res/drawable/ic_cp_basal_start.xml rename to ui/src/main/res/drawable/ic_cp_basal_start.xml diff --git a/app/src/main/res/drawable/ic_loop_disabled.xml b/ui/src/main/res/drawable/ic_loop_disabled.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_disabled.xml rename to ui/src/main/res/drawable/ic_loop_disabled.xml diff --git a/app/src/main/res/drawable/ic_loop_disconnected.xml b/ui/src/main/res/drawable/ic_loop_disconnected.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_disconnected.xml rename to ui/src/main/res/drawable/ic_loop_disconnected.xml diff --git a/app/src/main/res/drawable/ic_loop_lgs.xml b/ui/src/main/res/drawable/ic_loop_lgs.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_lgs.xml rename to ui/src/main/res/drawable/ic_loop_lgs.xml diff --git a/app/src/main/res/drawable/ic_loop_open.xml b/ui/src/main/res/drawable/ic_loop_open.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_open.xml rename to ui/src/main/res/drawable/ic_loop_open.xml diff --git a/app/src/main/res/drawable/ic_loop_paused.xml b/ui/src/main/res/drawable/ic_loop_paused.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_paused.xml rename to ui/src/main/res/drawable/ic_loop_paused.xml diff --git a/app/src/main/res/drawable/ic_loop_reconnect.xml b/ui/src/main/res/drawable/ic_loop_reconnect.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_reconnect.xml rename to ui/src/main/res/drawable/ic_loop_reconnect.xml diff --git a/app/src/main/res/drawable/ic_loop_resume.xml b/ui/src/main/res/drawable/ic_loop_resume.xml similarity index 100% rename from app/src/main/res/drawable/ic_loop_resume.xml rename to ui/src/main/res/drawable/ic_loop_resume.xml diff --git a/app/src/main/res/drawable/ic_target_activity.xml b/ui/src/main/res/drawable/ic_target_activity.xml similarity index 100% rename from app/src/main/res/drawable/ic_target_activity.xml rename to ui/src/main/res/drawable/ic_target_activity.xml diff --git a/app/src/main/res/drawable/ic_target_cancel.xml b/ui/src/main/res/drawable/ic_target_cancel.xml similarity index 100% rename from app/src/main/res/drawable/ic_target_cancel.xml rename to ui/src/main/res/drawable/ic_target_cancel.xml diff --git a/app/src/main/res/drawable/ic_target_eatingsoon.xml b/ui/src/main/res/drawable/ic_target_eatingsoon.xml similarity index 100% rename from app/src/main/res/drawable/ic_target_eatingsoon.xml rename to ui/src/main/res/drawable/ic_target_eatingsoon.xml diff --git a/app/src/main/res/drawable/ic_target_hypo.xml b/ui/src/main/res/drawable/ic_target_hypo.xml similarity index 100% rename from app/src/main/res/drawable/ic_target_hypo.xml rename to ui/src/main/res/drawable/ic_target_hypo.xml diff --git a/app/src/main/res/drawable/ic_target_manual.xml b/ui/src/main/res/drawable/ic_target_manual.xml similarity index 100% rename from app/src/main/res/drawable/ic_target_manual.xml rename to ui/src/main/res/drawable/ic_target_manual.xml diff --git a/ui/src/main/res/layout/dialog_profileswitch.xml b/ui/src/main/res/layout/dialog_profileswitch.xml index ab8d8a775a..bdfbc38226 100644 --- a/ui/src/main/res/layout/dialog_profileswitch.xml +++ b/ui/src/main/res/layout/dialog_profileswitch.xml @@ -130,7 +130,7 @@ android:width="120dp" android:paddingStart="10dp" android:paddingEnd="10dp" - android:text="@string/careportal_newnstreatment_percentage_label" + android:text="@string/percentage_label" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textStyle="bold" /> @@ -139,7 +139,7 @@ android:layout_width="130dp" android:layout_height="40dp" android:layout_marginBottom="2dp" - app:customContentDescription="@string/careportal_newnstreatment_percentage_label" /> + app:customContentDescription="@string/percentage_label" /> diff --git a/ui/src/main/res/layout/dialog_temptarget.xml b/ui/src/main/res/layout/dialog_temptarget.xml index 4368906cf9..01af362cf1 100644 --- a/ui/src/main/res/layout/dialog_temptarget.xml +++ b/ui/src/main/res/layout/dialog_temptarget.xml @@ -32,7 +32,7 @@ android:layout_gravity="center" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" - android:text="@string/careportal_temporarytarget" + android:text="@string/temporary_target" android:textAlignment="center" android:textAppearance="?android:attr/textAppearanceLarge" /> diff --git a/ui/src/main/res/layout/treatments_fragment.xml b/ui/src/main/res/layout/treatments_fragment.xml index 3e2dd0d83f..3391381986 100644 --- a/ui/src/main/res/layout/treatments_fragment.xml +++ b/ui/src/main/res/layout/treatments_fragment.xml @@ -32,12 +32,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@string/tempbasal_label" - android:icon="@drawable/ic_actions_starttempbasal" /> + android:icon="@drawable/ic_actions_start_temp_basal" /> Reuse %1$d%% %2$dh Time shift + Percentage Suspend loop for 1h @@ -74,6 +75,12 @@ Disconnect pump for 3 h Resume Reconnect Pump + 15 mins + 30 mins + 1 hour + 2 hours + 3 hours + 10 hours wizard_calculation_visible @@ -86,6 +93,10 @@ 2h Result: %1$s %2$s Missing %1$d g + current blood glucose + Carb time + set carb timer alarm + Show calcuation No records available @@ -138,4 +149,7 @@ DPV Default profile Invalid % entry + + Basal rate +
From 4120a4ad81145445683886edb095d424627d1f65 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 18:09:17 +0100 Subject: [PATCH 068/123] remove Command dependency --- .../androidaps/queue/commands/Command.kt | 16 ++-------------- .../queue/CommandQueueImplementation.kt | 1 + .../queue/commands/CommandBolus.kt | 10 ++++++++-- .../queue/commands/CommandCancelExtendedBolus.kt | 8 ++++++-- .../queue/commands/CommandCancelTempBasal.kt | 8 ++++++-- .../queue/commands/CommandCustomCommand.kt | 8 ++++++-- .../queue/commands/CommandExtendedBolus.kt | 8 ++++++-- .../CommandInsightSetTBROverNotification.kt | 6 ++++++ .../queue/commands/CommandLoadEvents.kt | 5 +++++ .../queue/commands/CommandLoadHistory.kt | 5 +++++ .../queue/commands/CommandLoadTDDs.kt | 8 ++++++-- .../queue/commands/CommandReadStatus.kt | 11 +++++++---- .../queue/commands/CommandSMBBolus.kt | 6 ++++++ .../queue/commands/CommandSetProfile.kt | 6 ++++++ .../queue/commands/CommandSetUserSettings.kt | 5 +++++ .../queue/commands/CommandStartPump.kt | 6 ++++++ .../queue/commands/CommandStopPump.kt | 6 ++++++ .../queue/commands/CommandTempBasalAbsolute.kt | 5 +++++ .../queue/commands/CommandTempBasalPercent.kt | 5 +++++ 19 files changed, 103 insertions(+), 30 deletions(-) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt index 20ebdcb05d..9c864f9bf5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt @@ -1,13 +1,9 @@ package info.nightscout.androidaps.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.database.impl.AppRepository -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.AAPSLogger -import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject abstract class Command( @@ -18,7 +14,6 @@ abstract class Command( @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var rh: ResourceHelper - @Inject lateinit var repository: AppRepository enum class CommandType { BOLUS, @@ -46,12 +41,5 @@ abstract class Command( abstract fun execute() abstract fun status(): String abstract fun log(): String - - fun cancel() { - val result = PumpEnactResultObject(injector) - result.success = false - result.comment = rh.gs(R.string.connectiontimedout) - aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(result)?.run() - } + abstract fun cancel() } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 9ec92c0377..a1ccabd571 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -190,6 +190,7 @@ class CommandQueueImplementation @Inject constructor( synchronized(queue) { for (i in queue.indices) { queue[i].cancel() + } queue.clear() } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index b29702ebea..6558ea5e66 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -1,13 +1,14 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject @@ -41,4 +42,9 @@ class CommandBolus( return (if (detailedBolusInfo.insulin > 0) "BOLUS " + rh.gs(R.string.formatinsulinunits, detailedBolusInfo.insulin) else "") + if (detailedBolusInfo.carbs > 0) "CARBS " + rh.gs(R.string.format_carbs, detailedBolusInfo.carbs.toInt()) else "" } + + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index aa361c385e..5c99fa9c04 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandCancelExtendedBolus constructor( @@ -25,4 +25,8 @@ class CommandCancelExtendedBolus constructor( override fun status(): String = rh.gs(R.string.uel_cancel_extended_bolus) override fun log(): String = "CANCEL EXTENDEDBOLUS" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index 421f24acf8..b5894fc402 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandCancelTempBasal( @@ -26,4 +26,8 @@ class CommandCancelTempBasal( override fun status(): String = rh.gs(R.string.uel_accepts_temp_basal) override fun log(): String = "CANCEL TEMPBASAL" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index ee338cbada..5fc133d68d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandCustomCommand( @@ -27,4 +27,8 @@ class CommandCustomCommand( override fun status(): String = customCommand.statusDescription override fun log(): String = customCommand.statusDescription + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index 07b072e0a3..f64e87a61e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandExtendedBolus constructor( @@ -27,4 +27,8 @@ class CommandExtendedBolus constructor( override fun status(): String = rh.gs(R.string.extended_bolus_u_min, insulin, durationInMinutes) override fun log(): String = "EXTENDEDBOLUS $insulin U $durationInMinutes min" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index 4fe4b8c174..1073645081 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -1,11 +1,13 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.logging.LTag import javax.inject.Inject class CommandInsightSetTBROverNotification constructor( @@ -28,4 +30,8 @@ class CommandInsightSetTBROverNotification constructor( @Suppress("SpellCheckingInspection") override fun log(): String = "INSIGHTSETTBROVERNOTIFICATION" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index c2927375d4..282f6c61bb 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -37,4 +38,8 @@ class CommandLoadEvents( override fun status(): String = rh.gs(R.string.load_events) override fun log(): String = "LOAD EVENTS" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 128d7df3bd..19deca464b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -38,4 +39,8 @@ class CommandLoadHistory( override fun status(): String = rh.gs(R.string.load_history, type.toInt()) override fun log(): String = "LOAD HISTORY $type" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index 7483ed784b..c2dd6781da 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.queue.Callback import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R +import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag - import javax.inject.Inject class CommandLoadTDDs( @@ -26,4 +26,8 @@ class CommandLoadTDDs( override fun status(): String = rh.gs(R.string.load_tdds) override fun log(): String = "LOAD TDDs" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index eecc6de25d..0d7d7a9950 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -3,13 +3,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.implementation.R import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.queue.Callback -import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.shared.utils.T -import info.nightscout.implementation.R import info.nightscout.rx.logging.LTag - +import info.nightscout.shared.utils.T import javax.inject.Inject class CommandReadStatus( @@ -35,4 +34,8 @@ class CommandReadStatus( override fun status(): String = rh.gs(R.string.read_status, reason) override fun log(): String = "READSTATUS $reason" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index 8353083118..fa4a7561c7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -4,6 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult @@ -21,6 +22,7 @@ class CommandSMBBolus( @Inject lateinit var dateUtil: DateUtil @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var repository: AppRepository override fun execute() { val r: PumpEnactResult @@ -42,4 +44,8 @@ class CommandSMBBolus( override fun status(): String = rh.gs(R.string.smb_bolus_u, detailedBolusInfo.insulin) override fun log(): String = "SMB BOLUS ${rh.gs(R.string.formatinsulinunits, detailedBolusInfo.insulin)}" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 5d73868598..6ae5f57208 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -5,6 +5,7 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.queue.commands.Command +import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R import info.nightscout.interfaces.Config @@ -28,6 +29,7 @@ class CommandSetProfile constructor( @Inject lateinit var dateUtil: DateUtil @Inject lateinit var commandQueue: CommandQueue @Inject lateinit var config: Config + @Inject lateinit var repository: AppRepository override fun execute() { if (commandQueue.isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { @@ -49,4 +51,8 @@ class CommandSetProfile constructor( override fun status(): String = rh.gs(R.string.set_profile) override fun log(): String = "SET PROFILE" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 2ccb6a1a76..36e88055ac 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -35,4 +36,8 @@ class CommandSetUserSettings( override fun status(): String = rh.gs(R.string.set_user_settings) override fun log(): String = "SET USER SETTINGS" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 3f4863dbbb..80546a7230 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -1,11 +1,13 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.logging.LTag import javax.inject.Inject class CommandStartPump( @@ -26,4 +28,8 @@ class CommandStartPump( override fun status(): String = rh.gs(R.string.start_pump) override fun log(): String = "START PUMP" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index e2c64a1031..a6813d5c0e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -1,11 +1,13 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.rx.logging.LTag import javax.inject.Inject class CommandStopPump( @@ -26,4 +28,8 @@ class CommandStopPump( override fun status(): String = rh.gs(R.string.stop_pump) override fun log(): String = "STOP PUMP" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index fa1bcf0b22..5086ed8841 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -31,4 +32,8 @@ class CommandTempBasalAbsolute( override fun status(): String = rh.gs(R.string.temp_basal_absolute, absoluteRate, durationInMinutes) override fun log(): String = "TEMP BASAL $absoluteRate U/h $durationInMinutes min" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index cf01966ccc..04cdb5aace 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R @@ -35,4 +36,8 @@ class CommandTempBasalPercent( override fun status(): String = rh.gs(R.string.temp_basal_percent, percent, durationInMinutes) override fun log(): String = "TEMP BASAL $percent% $durationInMinutes min" + override fun cancel() { + aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") + callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + } } \ No newline at end of file From 8c44879150908ccd6380f422a8f4fcbba5579467 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 18:54:30 +0100 Subject: [PATCH 069/123] move to interfaces --- .../nightscout/androidaps/MainActivity.kt | 6 +-- .../activities/HistoryBrowserData.kt | 4 +- .../activities/MyPreferenceFragment.kt | 20 ++++----- .../nightscout/androidaps/di/AppModule.kt | 12 +++--- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 6 +-- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 4 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 4 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 4 +- .../OpenAPSSMBDynamicISFPlugin.kt | 4 +- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../plugins/configBuilder/PluginStore.kt | 2 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../maintenance/MaintenanceFragment.kt | 2 +- .../general/overview/OverviewFragment.kt | 12 +++--- .../general/overview/graphData/GraphData.kt | 8 ++-- .../PersistentNotificationPlugin.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 8 ++-- .../DataLayerListenerServiceMobile.kt | 4 +- .../IobCobCalculatorPlugin.kt | 2 +- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 6 +-- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 4 +- .../sensitivity/SensitivityAAPSPlugin.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 4 +- .../SensitivityWeightedAveragePlugin.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 6 +-- .../androidaps/setupwizard/SWDefinition.kt | 10 ++--- .../elements/SWEditNumberWithUnits.kt | 2 +- .../workflow/PrepareBasalDataWorker.kt | 4 +- .../workflow/PrepareBgDataWorker.kt | 2 +- .../workflow/PrepareBucketedDataWorker.kt | 4 +- .../PrepareIobAutosensGraphDataWorker.kt | 2 +- .../workflow/PreparePredictionsWorker.kt | 4 +- .../PrepareTemporaryTargetDataWorker.kt | 2 +- .../workflow/PrepareTreatmentsDataWorker.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../androidaps/data/QuickWizardTest.kt | 2 +- .../interfaces/ConstraintsCheckerTest.kt | 2 + .../plugins/aps/loop/LoopPluginTest.kt | 6 +-- .../plugins/safety/SafetyPluginTest.kt | 2 +- .../utils/wizard/BolusWizardTest.kt | 6 +-- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../actions/ActionCarePortalEvent.kt | 6 +-- .../automation/actions/ActionLoopDisable.kt | 2 +- .../automation/actions/ActionProfileSwitch.kt | 2 +- .../actions/ActionProfileSwitchPercent.kt | 2 +- .../automation/actions/ActionRunAutotune.kt | 2 +- .../actions/ActionStartTempTarget.kt | 2 +- .../nightscout/automation/elements/InputBg.kt | 4 +- .../automation/elements/InputTempTarget.kt | 6 +-- .../nightscout/automation/triggers/Trigger.kt | 8 ++-- .../androidaps/TestBaseWithProfile.kt | 2 +- .../automation/actions/ActionsTestBase.kt | 2 +- .../androidaps/dialogs/BolusProgressDialog.kt | 2 +- .../BolusCalculatorResultExtension.kt | 2 +- .../androidaps/interfaces/ActivePlugin.kt | 1 + .../androidaps/interfaces/stats/DexcomTIR.kt | 2 +- .../androidaps/plugins/aps/loop/APSResult.kt | 4 +- .../plugins/general/overview/OverviewData.kt | 2 +- .../graphExtensions/GlucoseValueDataPoint.kt | 2 +- .../InMemoryGlucoseValueDataPoint.kt | 2 +- .../graphExtensions/TherapyEventDataPoint.kt | 2 +- .../iob/iobCobCalculator/data/AutosensData.kt | 2 +- .../androidaps/utils/DefaultValueHelper.kt | 2 +- .../textValidator/DefaultEditTextValidator.kt | 2 +- .../ValidatingEditTextPreference.kt | 2 +- .../validators/BgRangeValidator.kt | 2 +- .../userEntry/UserEntryPresentationHelper.kt | 2 +- .../core/profile/ProfileExtension.kt | 2 +- .../nightscout/core/wizard/BolusWizard.kt | 6 +-- .../core/wizard/QuickWizardEntry.kt | 2 +- .../core-main/src/main/res/values/strings.xml | 1 - .../androidaps/TestBaseWithProfile.kt | 2 +- .../plugins/aps/loop/APSResultTest.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 2 +- .../implementation/TrendCalculatorImpl.kt | 4 +- .../implementation/XDripBroadcastImpl.kt | 4 +- .../constraints/ConstraintsImpl.kt | 2 +- .../pump/PumpSyncImplementation.kt | 2 +- .../queue/CommandQueueImplementation.kt | 10 ++--- .../implementation/queue/QueueThread.kt | 14 +++---- .../queue/commands/CommandBolus.kt | 2 +- .../commands/CommandCancelExtendedBolus.kt | 2 +- .../queue/commands/CommandCancelTempBasal.kt | 2 +- .../queue/commands/CommandCustomCommand.kt | 2 +- .../queue/commands/CommandExtendedBolus.kt | 2 +- .../CommandInsightSetTBROverNotification.kt | 2 +- .../queue/commands/CommandLoadEvents.kt | 2 +- .../queue/commands/CommandLoadHistory.kt | 2 +- .../queue/commands/CommandLoadTDDs.kt | 2 +- .../queue/commands/CommandReadStatus.kt | 2 +- .../queue/commands/CommandSMBBolus.kt | 2 +- .../queue/commands/CommandSetProfile.kt | 4 +- .../queue/commands/CommandSetUserSettings.kt | 2 +- .../queue/commands/CommandStartPump.kt | 2 +- .../queue/commands/CommandStopPump.kt | 2 +- .../commands/CommandTempBasalAbsolute.kt | 2 +- .../queue/commands/CommandTempBasalPercent.kt | 2 +- .../stats/DexcomTirCalculatorImpl.kt | 8 ++-- .../implementation/stats/DexcomTirImpl.kt | 2 +- .../implementation/stats/TddCalculatorImpl.kt | 6 +-- .../implementation/stats/TirCalculatorImpl.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../implementation/BolusTimerImplTest.kt | 4 +- .../implementation/CarbTimerImplTest.kt | 4 +- .../queue/CommandQueueImplementationTest.kt | 6 +-- .../implementation/queue/QueueThreadTest.kt | 4 +- .../pump/insight/LocalInsightFragment.java | 2 +- .../pump/insight/LocalInsightPlugin.java | 8 ++-- .../nightscout}/interfaces/XDripBroadcast.kt | 3 +- .../interfaces/constraints}/Constraints.kt | 3 +- .../interfaces/profile}/ProfileFunction.kt | 4 +- .../interfaces/pump}/PumpPluginBase.kt | 5 ++- .../nightscout/interfaces/queue}/Command.kt | 3 +- .../interfaces/queue}/CommandQueue.kt | 5 +-- .../nightscout/interfaces/source}/BgSource.kt | 2 +- .../interfaces/sync}/DataSyncSelector.kt | 41 ++++++++++++------- .../interfaces/utils}/TrendCalculator.kt | 4 +- interfaces/src/main/res/values/strings.xml | 3 ++ .../bgQualityCheck/BgQualityCheckPlugin.kt | 2 +- .../constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../objectives/ObjectivesPlugin.kt | 2 +- .../objectives/objectives/Objective6.kt | 2 +- .../phoneChecker/PhoneCheckerPlugin.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 2 +- .../SignatureVerifierPlugin.kt | 2 +- .../storage/StorageConstraintPlugin.kt | 2 +- .../versionChecker/VersionCheckerPlugin.kt | 2 +- .../general/actions/ActionsFragment.kt | 4 +- .../general/autotune/AutotuneFragment.kt | 2 +- .../plugins/general/autotune/AutotuneIob.kt | 2 +- .../general/autotune/AutotunePlugin.kt | 2 +- .../general/autotune/data/ATProfile.kt | 2 +- .../general/smsCommunicator/AuthRequest.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 8 ++-- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinLyumjevPlugin.kt | 2 +- .../plugins/insulin/InsulinOrefBasePlugin.kt | 2 +- .../insulin/InsulinOrefFreePeakPlugin.kt | 2 +- .../insulin/InsulinOrefRapidActingPlugin.kt | 2 +- .../InsulinOrefUltraRapidActingPlugin.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 4 +- .../pump/virtual/VirtualPumpFragment.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 6 +-- .../nightscout/plugins/source/AidexPlugin.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 2 +- .../nightscout/plugins/source/DexcomPlugin.kt | 4 +- .../plugins/source/EversensePlugin.kt | 4 +- .../nightscout/plugins/source/GlimpPlugin.kt | 4 +- .../plugins/source/GlunovoPlugin.kt | 4 +- .../plugins/source/IntelligoPlugin.kt | 4 +- .../nightscout/plugins/source/MM640gPlugin.kt | 4 +- .../plugins/source/NSClientSourcePlugin.kt | 4 +- .../plugins/source/PoctechPlugin.kt | 4 +- .../plugins/source/RandomBgPlugin.kt | 4 +- .../nightscout/plugins/source/TomatoPlugin.kt | 4 +- .../nightscout/plugins/source/XdripPlugin.kt | 2 +- .../plugins/sync/nsShared/NSClientFragment.kt | 2 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 2 +- .../DataSyncSelectorImplementation.kt | 8 ++-- .../plugins/sync/nsclient/NSClientPlugin.kt | 2 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../sync/nsclient/services/NSClientService.kt | 2 +- .../nsclient/workers/NSClientAddAckWorker.kt | 28 ++++++------- .../workers/NSClientAddUpdateWorker.kt | 2 +- .../workers/NSClientUpdateRemoveAckWorker.kt | 26 ++++++------ .../workers/ProcessTreatmentsWorker.kt | 4 +- .../plugins/sync/tidepool/comm/UploadChunk.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../general/autotune/AutotunePrepTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 6 +-- .../insulin/InsulinLyumjevPluginTest.kt | 2 +- .../insulin/InsulinOrefBasePluginTest.kt | 2 +- .../insulin/InsulinOrefFreePeakPluginTest.kt | 2 +- .../InsulinOrefRapidActingPluginTest.kt | 2 +- .../InsulinOrefUltraRapidActingPluginTest.kt | 2 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 4 +- .../plugins/pump/combo/ComboFragment.kt | 2 +- .../plugins/pump/combo/ComboPlugin.java | 8 ++-- .../plugins/pump/combo/ComboPluginTest.kt | 4 +- .../androidaps/dana/DanaFragment.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 4 +- .../activities/DanaUserOptionsActivity.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 4 +- .../services/DanaRKoreanExecutionService.java | 8 ++-- .../androidaps/danaRv2/DanaRv2Plugin.java | 4 +- .../services/DanaRv2ExecutionService.java | 6 +-- .../androidaps/danar/AbstractDanaRPlugin.java | 6 +-- .../androidaps/danar/DanaRPlugin.java | 4 +- .../androidaps/danar/comm/MessageBase.kt | 4 +- .../danar/services/DanaRExecutionService.java | 6 +-- .../androidaps/TestBaseWithProfile.kt | 2 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 4 +- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 6 +-- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 4 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 4 +- .../androidaps/danars/DanaRSPlugin.kt | 8 ++-- .../DanaRSPacketBolusSetStepBolusStart.kt | 2 +- .../danars/services/DanaRSService.kt | 8 ++-- .../androidaps/TestBaseWithProfile.kt | 2 +- .../androidaps/danars/DanaRSPluginTest.kt | 4 +- .../danars/comm/DanaRsMessageHashTableTest.kt | 2 +- .../DanaRsPacketBolusSetStepBolusStartTest.kt | 4 +- ...naRsPacketNotifyDeliveryRateDisplayTest.kt | 4 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 8 ++-- .../activities/DiaconnG8HistoryActivity.kt | 4 +- .../DiaconnG8UserOptionsActivity.kt | 2 +- .../diaconn/service/DiaconnG8Service.kt | 8 ++-- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 4 +- .../pump/eopatch/alarm/AlarmManager.kt | 2 +- .../pump/eopatch/ble/PatchManager.java | 4 +- .../pump/eopatch/ble/PatchStateManager.java | 2 +- .../ble/task/InternalSuspendedTask.java | 4 +- .../pump/eopatch/ble/task/PauseBasalTask.java | 4 +- .../pump/eopatch/ble/task/StopBasalTask.java | 4 +- .../ui/viewmodel/EopatchOverviewViewModel.kt | 2 +- .../pump/medtronic/MedtronicFragment.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 2 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 8 ++-- .../dash/ui/DashPodManagementActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../action/DashInsertCannulaViewModel.kt | 2 +- .../action/DashDeactivatePodViewModel.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 6 +-- .../eros/ui/ErosPodManagementActivity.kt | 2 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 2 +- .../action/ErosInsertCannulaViewModel.kt | 2 +- .../action/ErosDeactivatePodViewModel.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 6 +-- .../ui/activities/ProfileHelperActivity.kt | 2 +- .../ui/activities/SurveyActivity.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 6 +-- .../fragments/TreatmentsBolusCarbsFragment.kt | 12 +++--- .../TreatmentsExtendedBolusesFragment.kt | 6 +-- .../fragments/TreatmentsTempTargetFragment.kt | 8 ++-- .../TreatmentsTemporaryBasalsFragment.kt | 2 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../ui/dialogs/CalibrationDialog.kt | 4 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 6 +-- .../info/nightscout/ui/dialogs/CareDialog.kt | 2 +- .../ui/dialogs/ExtendedBolusDialog.kt | 4 +- .../info/nightscout/ui/dialogs/FillDialog.kt | 4 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 6 +-- .../info/nightscout/ui/dialogs/LoopDialog.kt | 6 +-- .../ui/dialogs/ProfileSwitchDialog.kt | 2 +- .../ui/dialogs/ProfileViewerDialog.kt | 2 +- .../nightscout/ui/dialogs/TempBasalDialog.kt | 6 +-- .../nightscout/ui/dialogs/TempTargetDialog.kt | 4 +- .../nightscout/ui/dialogs/TreatmentDialog.kt | 4 +- .../nightscout/ui/dialogs/WizardDialog.kt | 4 +- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 2 +- .../java/info/nightscout/ui/widget/Widget.kt | 6 +-- .../androidaps/TestBaseWithProfile.kt | 2 +- 259 files changed, 511 insertions(+), 498 deletions(-) rename {core/core-main/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout}/interfaces/XDripBroadcast.kt (88%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/constraints}/Constraints.kt (96%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/profile}/ProfileFunction.kt (95%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/pump}/PumpPluginBase.kt (87%) rename {core/core-main/src/main/java/info/nightscout/androidaps/queue/commands => interfaces/src/main/java/info/nightscout/interfaces/queue}/Command.kt (91%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/queue}/CommandQueue.kt (90%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/source}/BgSource.kt (93%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/sync}/DataSyncSelector.kt (83%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/utils}/TrendCalculator.kt (92%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index e0a81e107d..be9cf13abc 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -33,14 +33,11 @@ import com.joanzapata.iconify.fonts.FontAwesomeModule import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.PreferencesActivity -import info.nightscout.ui.activities.ProfileHelperActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.setupwizard.SetupWizardActivity @@ -56,8 +53,10 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin @@ -68,6 +67,7 @@ import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.ui.activities.ProfileHelperActivity import info.nightscout.ui.activities.StatsActivity import info.nightscout.ui.activities.TreatmentsActivity import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index f1adf86de2..c6226022e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.activities import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index d61f7bce1a..6d138ca27f 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -23,14 +23,12 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin @@ -40,14 +38,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin -import info.nightscout.plugins.source.AidexPlugin -import info.nightscout.plugins.source.DexcomPlugin -import info.nightscout.plugins.source.EversensePlugin -import info.nightscout.plugins.source.GlimpPlugin -import info.nightscout.plugins.source.GlunovoPlugin -import info.nightscout.plugins.source.IntelligoPlugin -import info.nightscout.plugins.source.PoctechPlugin -import info.nightscout.plugins.source.TomatoPlugin import info.nightscout.androidaps.utils.alertDialogs.OKDialog.show import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.BIOMETRIC @@ -59,11 +49,21 @@ import info.nightscout.core.profile.toCurrentUnits import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin import info.nightscout.plugins.insulin.InsulinOrefFreePeakPlugin import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.AidexPlugin +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.EversensePlugin +import info.nightscout.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.GlunovoPlugin +import info.nightscout.plugins.source.IntelligoPlugin +import info.nightscout.plugins.source.PoctechPlugin +import info.nightscout.plugins.source.TomatoPlugin import info.nightscout.plugins.sync.nsclient.NSClientPlugin import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index c061af79f2..81d6ffc0f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -9,14 +9,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.TrendCalculator -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator @@ -53,16 +47,22 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.storage.FileStorage import info.nightscout.interfaces.storage.Storage +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 9c7785e6a3..92ab08e46d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -21,12 +21,9 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.Loop.LastRun -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui @@ -47,15 +44,18 @@ import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncement import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase 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.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.configBuilder.RunningConfiguration diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 7182964b34..82933cfe24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -5,19 +5,19 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index ad2942c350..6f970ac0dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -7,10 +7,8 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui @@ -23,10 +21,12 @@ import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase 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.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 0fa6f92983..0c87133292 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -6,19 +6,19 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 19149c80e3..b7bbb69b61 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -9,10 +9,8 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui @@ -25,10 +23,12 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase 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.utils.HardLimits import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 007c969883..4ade7eba58 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -6,10 +6,8 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader @@ -19,9 +17,11 @@ import info.nightscout.core.profile.toMgdl import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 2b58e004fa..2bd7a483e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -5,16 +5,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Profiler import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 8f42e3e4df..b99245e27f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui @@ -21,6 +20,7 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.source.BgSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index a63e05096b..1261fc5833 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config @@ -14,6 +13,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.source.BgSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index c991199e57..8d5b688490 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -4,7 +4,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.ProfileSwitch @@ -15,6 +14,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 634ef7dc2d..e03d7a8803 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents @@ -23,6 +22,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index d2fcb899e6..97e05098d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.insight.database.InsightDatabase -import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity @@ -30,6 +29,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 146e972f10..625d1016ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -29,7 +29,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.plugins.databinding.OverviewFragmentBinding import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPreferenceChange @@ -37,12 +36,8 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB @@ -54,7 +49,6 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOve import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin -import info.nightscout.plugins.skins.SkinProvider import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -76,14 +70,20 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin +import info.nightscout.plugins.databinding.OverviewFragmentBinding import info.nightscout.plugins.general.overview.notifications.NotificationStore import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification +import info.nightscout.plugins.skins.SkinProvider import info.nightscout.plugins.source.DexcomPlugin import info.nightscout.plugins.source.XdripPlugin import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index 76708ccbae..ffe1b3f728 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -9,9 +9,6 @@ import com.jjoe64.graphview.series.LineGraphSeries import com.jjoe64.graphview.series.Series import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.AreaGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint @@ -20,9 +17,12 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Effec import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.TimeAsXAxisLabelFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.interfaces.utils.Round import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.utils.Round import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject import kotlin.math.abs import kotlin.math.max diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index 36b7c7eb00..d666ee7377 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy @@ -25,6 +24,7 @@ import info.nightscout.interfaces.plugin.PluginBase 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.ui.IconsProvider import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index d5e84301ba..b0ec7d2ca1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -10,12 +10,8 @@ import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -48,11 +44,15 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index b8331cea44..06d80a31cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -16,17 +16,17 @@ import com.google.android.gms.wearable.Wearable import com.google.android.gms.wearable.WearableListenerService import dagger.android.AndroidInjection import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventMobileToWear diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index f06afc3710..8e36c6e456 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DecimalFormatter @@ -37,6 +36,7 @@ import info.nightscout.interfaces.plugin.PluginBase 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.utils.MidnightTime import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 0da991feee..3d82c025f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -7,12 +7,9 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress @@ -23,10 +20,13 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index 7c463efc71..7db6795538 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -7,10 +7,8 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress @@ -21,10 +19,12 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index ab6f045d3e..9f160acc5f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -4,7 +4,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult @@ -15,6 +14,7 @@ import info.nightscout.interfaces.Constants 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.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index b7c036d891..6e20c11654 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -4,8 +4,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult @@ -15,9 +13,11 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints 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.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 708fb9f59a..ee617496b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult @@ -16,6 +15,7 @@ import info.nightscout.interfaces.Constants 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.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index b3d91ddb14..3a822baeb1 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -16,18 +16,18 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index c5f016e3f2..53a04aac39 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -11,11 +11,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.plugins.constraints.objectives.ObjectivesFragment -import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin @@ -32,7 +28,6 @@ import info.nightscout.androidaps.setupwizard.elements.SWInfoText import info.nightscout.androidaps.setupwizard.elements.SWPlugin import info.nightscout.androidaps.setupwizard.elements.SWPreference import info.nightscout.androidaps.setupwizard.elements.SWRadioButton -import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.interfaces.AndroidPermission @@ -42,11 +37,16 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.plugins.constraints.objectives.ObjectivesFragment +import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.dialogs.ProfileSwitchDialog diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt index 70bcec7e22..26b771749f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt @@ -7,12 +7,12 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.setupwizard.SWNumberValidator import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.core.profile.toCurrentUnits import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.SafeParse import java.text.DecimalFormat import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt index 6f3c7c47fa..4d25fc0c73 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt @@ -10,13 +10,13 @@ import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class PrepareBasalDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 5a5427b0da..3a68b2ac20 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -6,7 +6,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint @@ -17,6 +16,7 @@ import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt index 7cf1837afe..03caa1c985 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt @@ -6,14 +6,14 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.InMemoryGlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class PrepareBucketedDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index a2d3b6ed61..149297040c 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -11,7 +11,6 @@ import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -29,6 +28,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 9b61629a65..6c39e246f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -5,9 +5,7 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -15,7 +13,9 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Gluco import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index 1f48c5306d..910b863e63 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -10,7 +10,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.target import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -18,6 +17,7 @@ import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index 307dd774cb..cd9b9481ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -6,7 +6,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.CarbsDataPoint @@ -25,6 +24,7 @@ import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7f76f71a53..57bcbfcc67 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt index d78ff619c4..1bd1a69a08 100644 --- a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt @@ -5,9 +5,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.wizard.QuickWizard import info.nightscout.core.wizard.QuickWizardEntry +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.junit.Assert diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 7bdd30a68f..366788184f 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -28,11 +28,13 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.plugins.constraints.objectives.objectives.Objective diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 312d63248a..554818c92b 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -7,17 +7,17 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt index 47b102b536..27f64e3d62 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -14,6 +13,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index f904893a99..ced9257f07 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -5,19 +5,19 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 1398789af1..023e002731 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -8,7 +8,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm @@ -45,6 +44,7 @@ import info.nightscout.automation.triggers.TriggerTimeRange import info.nightscout.automation.triggers.TriggerWifiSsid import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt index d9448b3dc5..20b16b67d3 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt @@ -3,10 +3,7 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.automation.R @@ -18,6 +15,9 @@ import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 26cdde49f1..59d6bec54a 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -13,6 +12,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import javax.inject.Inject diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 423bd64e30..80cc7974f5 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -5,7 +5,6 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName @@ -14,6 +13,7 @@ import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 39a2d789ac..286db502fe 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -4,7 +4,6 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator @@ -16,6 +15,7 @@ import info.nightscout.automation.triggers.TriggerProfilePercent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index 99de417372..57a6cef17a 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -5,13 +5,13 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 653f9c989a..719235ebe2 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -6,7 +6,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists @@ -25,6 +24,7 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporar import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt index 6a161e14f2..3c1f16eea8 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt @@ -2,10 +2,10 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileFunction import java.text.DecimalFormat class InputBg(profileFunction: ProfileFunction) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt index 391a54812e..75e678e6f0 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt @@ -2,11 +2,11 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.profile.ProfileFunction import java.text.DecimalFormat class InputTempTarget(profileFunction: ProfileFunction) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt index d8a963b6db..09c97f42fc 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt @@ -9,23 +9,23 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.shared.utils.DateUtil import info.nightscout.automation.R import info.nightscout.automation.dialogs.ChooseTriggerDialog import info.nightscout.automation.events.EventTriggerChanged import info.nightscout.automation.events.EventTriggerClone import info.nightscout.automation.events.EventTriggerRemove import info.nightscout.automation.services.LastLocationDataContainer +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus 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 org.json.JSONObject import javax.inject.Inject diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index e6428b4bee..c81770dd8c 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,13 +5,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index a0ce979777..73b44e9a2c 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger @@ -18,6 +17,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index 1ae58f23c0..eb74e54d69 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -10,13 +10,13 @@ import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.core.main.R import info.nightscout.core.main.databinding.DialogBolusprogressBinding import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventOverviewBolusProgress diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 2c3949aa3e..66a225a533 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -2,10 +2,10 @@ package info.nightscout.androidaps.extensions import com.google.gson.Gson import com.google.gson.JsonSyntaxException -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index 23f309bb72..cc64c94c9d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -8,6 +8,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.source.BgSource import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt index 580f4f23a1..5ac862756d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.interfaces.stats import android.content.Context import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.interfaces.ProfileFunction +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper interface DexcomTIR { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt index 3eed8d6746..c0f9cc55a5 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt @@ -5,14 +5,14 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index 19ff66a822..ca0398f969 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DeviationDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries @@ -31,6 +30,7 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt index 4c96f1fd2f..0125e0c750 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/GlucoseValueDataPoint.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.main.R import info.nightscout.core.profile.toCurrentUnitsString @@ -9,6 +8,7 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper class GlucoseValueDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt index beb081c4ac..5655590fdd 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/InMemoryGlucoseValueDataPoint.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.iob.InMemoryGlucoseValue +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper class InMemoryGlucoseValueDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt index dbd2e31de6..afcc823d9c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/TherapyEventDataPoint.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.Translator import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits @@ -9,6 +8,7 @@ import info.nightscout.core.profile.toUnits import info.nightscout.database.entities.TherapyEvent import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper class TherapyEventDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index 4416a32f03..4406dbf894 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator.data import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale @@ -11,6 +10,7 @@ import info.nightscout.core.main.R import info.nightscout.database.entities.Carbs import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt index 13b9922535..90ccbeec3a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/DefaultValueHelper.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.utils import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.core.profile.toCurrentUnits import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt index 44ebd8a998..44b02dbb07 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/DefaultEditTextValidator.kt @@ -7,7 +7,6 @@ import android.text.TextWatcher import android.widget.EditText import com.google.android.material.textfield.TextInputLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.textValidator.validators.AlphaNumericValidator import info.nightscout.androidaps.utils.textValidator.validators.AlphaValidator import info.nightscout.androidaps.utils.textValidator.validators.AndValidator @@ -38,6 +37,7 @@ import info.nightscout.androidaps.utils.textValidator.validators.WebUrlValidator import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import javax.inject.Inject @Suppress("SpellCheckingInspection") diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt index af7f37b0f1..9f830440e8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/ValidatingEditTextPreference.kt @@ -5,11 +5,11 @@ import android.util.AttributeSet import androidx.preference.EditTextPreference import androidx.preference.PreferenceViewHolder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.SafeParse import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt index 9a716193a6..48518535ca 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/textValidator/validators/BgRangeValidator.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.utils.textValidator.validators import android.widget.EditText -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction class BgRangeValidator(_customErrorMessage: String?, private val min: Int, private val max: Int, private val profileFunction: ProfileFunction) : Validator(_customErrorMessage) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt index 6450da3daa..4cfa0a342d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.utils.userEntry import android.text.Spanned import dagger.Reusable -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.Translator import info.nightscout.core.main.R @@ -15,6 +14,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt index 60d1157328..05cb4fccd6 100644 --- a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileExtension.kt @@ -1,10 +1,10 @@ package info.nightscout.core.profile -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import org.joda.time.DateTime /* diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt index 053983f952..90895b52e1 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt @@ -8,11 +8,8 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -33,12 +30,15 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt index fbefcf9852..0944eb1daf 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt @@ -5,7 +5,6 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.round import info.nightscout.core.main.R @@ -15,6 +14,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.JsonHelper.safeGetInt import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 08cabe76d6..80f83e7b4f 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -580,7 +580,6 @@ KeepAlive. Basal outdated. SMS Clicked connect to pump - Pump driver changed. Pump driver change. Device changed Clicked refresh diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7fba26ef5a..00d73e6986 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -6,12 +6,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index fe9df82e40..7914bf5cf6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.plugins.aps.loop import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.entities.TemporaryBasal import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index 46ef41b774..a144f51b88 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -1,7 +1,6 @@ package info.nightscout.implementation import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -16,6 +15,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt index e446a7059c..f2d3d5b2fc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/TrendCalculatorImpl.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation -import info.nightscout.database.impl.AppRepository -import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 993f5185b9..16cc20692a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -4,12 +4,12 @@ import android.content.Context import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.safeQueryBroadcastReceivers diff --git a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt index 5fdd617c2e..9c6972bce2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt @@ -1,8 +1,8 @@ package info.nightscout.implementation.constraints import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index 4d71325c0a..fe76d0ca3d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,7 +1,6 @@ package info.nightscout.implementation.pump import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R @@ -36,6 +35,7 @@ import info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransact import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.VirtualPump diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index a1ccabd571..1e2f8187f3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -12,14 +12,9 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.queue.commands.Command -import info.nightscout.androidaps.queue.commands.Command.CommandType import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.database.entities.EffectiveProfileSwitch @@ -49,12 +44,17 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.Command.CommandType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index c6756137cd..1679300f44 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -5,23 +5,23 @@ import android.content.Context import android.os.Build import android.os.PowerManager import android.os.SystemClock -import info.nightscout.interfaces.Constants import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.safeDisable import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.interfaces.Config -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.rx.events.EventQueueChanged -import info.nightscout.shared.utils.T import info.nightscout.implementation.R +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventQueueChanged 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 class QueueThread internal constructor( private val queue: CommandQueue, diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index 6558ea5e66..7b4eb2cb20 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -5,10 +5,10 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index 5c99fa9c04..375dc6bfc7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index b5894fc402..c833c69d55 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index 5fc133d68d..15100c260a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -3,8 +3,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index f64e87a61e..250e151f7f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index 1073645081..d95059994f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -3,10 +3,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index 282f6c61bb..e5be2b3934 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -3,11 +3,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 19deca464b..564535465f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -3,11 +3,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index c2dd6781da..903563a5c9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 0d7d7a9950..56eaee4075 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -3,10 +3,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index fa4a7561c7..c9d80cae93 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -3,12 +3,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 6ae5f57208..05232742d5 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -3,8 +3,6 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R @@ -12,6 +10,8 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 36e88055ac..da1a8c4cfe 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -3,11 +3,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 80546a7230..9ec3daf100 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -3,10 +3,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index a6813d5c0e..f9e29e9dd8 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -3,10 +3,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index 5086ed8841..d3375d2bfd 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -3,11 +3,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index 04cdb5aace..ea0730d605 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -3,11 +3,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.implementation.R import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index 8f62064ced..5a3ffa64f9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -4,13 +4,13 @@ import android.annotation.SuppressLint import android.content.Context import android.view.ViewGroup import android.widget.TableLayout -import info.nightscout.database.impl.AppRepository -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.interfaces.stats.DexcomTIR import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.MidnightTime +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt index 7e2e15fa7a..5a3bfbe88f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt @@ -6,13 +6,13 @@ import android.graphics.Typeface import android.view.Gravity import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.DexcomTIR import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.core.profile.toUnitsString import info.nightscout.implementation.R import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import java.util.Calendar import kotlin.math.pow diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index 5731f6aab9..e2b8d6fc7f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -8,18 +8,18 @@ import android.view.ViewGroup import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.toTableRow import info.nightscout.androidaps.extensions.toTableRowHeader import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TotalDailyDose import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt index 7958695c4f..f92dee237b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TirCalculatorImpl.kt @@ -8,7 +8,6 @@ import android.view.Gravity import android.view.ViewGroup import android.widget.TableLayout import android.widget.TextView -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TIR import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.core.profile.toCurrentUnitsString @@ -16,6 +15,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7f76f71a53..57bcbfcc67 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index 96cf5a9926..48c1a56bf8 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -5,15 +5,15 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index e2d4ffcd90..4bdd5355de 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -5,15 +5,15 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 361f2367fb..134b2a766a 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -8,9 +8,6 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Bolus import info.nightscout.database.impl.AppRepository @@ -25,9 +22,12 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index eab716d753..b5506e547a 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -7,16 +7,16 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java index 9e8e2907c1..7661cc3a5c 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightFragment.java @@ -21,7 +21,6 @@ import javax.inject.Inject; import dagger.android.support.DaggerFragment; import info.nightscout.androidaps.insight.R; -import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.plugins.pump.insight.app_layer.parameter_blocks.TBROverNotificationBlock; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBasalRate; import info.nightscout.androidaps.plugins.pump.insight.descriptors.ActiveBolus; @@ -33,6 +32,7 @@ import info.nightscout.androidaps.plugins.pump.insight.events.EventLocalInsightU import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index f7498c24e8..c985a002ca 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -37,10 +37,6 @@ import info.nightscout.androidaps.insight.database.InsightDbHelper; import info.nightscout.androidaps.insight.database.InsightHistoryOffset; import info.nightscout.androidaps.insight.database.InsightPumpID; import info.nightscout.androidaps.insight.database.InsightPumpID.EventType; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.insight.app_layer.Service; @@ -111,19 +107,23 @@ import info.nightscout.androidaps.plugins.pump.insight.utils.ExceptionTranslator import info.nightscout.androidaps.plugins.pump.insight.utils.ParameterBlockUtil; import info.nightscout.interfaces.Config; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; 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.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.Insight; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpPluginBase; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.PumpSync.PumpState.TemporaryBasal; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt b/interfaces/src/main/java/info/nightscout/interfaces/XDripBroadcast.kt similarity index 88% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt rename to interfaces/src/main/java/info/nightscout/interfaces/XDripBroadcast.kt index 009a062754..7690c74dd3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/XDripBroadcast.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/XDripBroadcast.kt @@ -1,10 +1,11 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces import info.nightscout.database.entities.GlucoseValue import org.json.JSONArray import org.json.JSONObject interface XDripBroadcast { + fun sendCalibration(bg: Double): Boolean fun send(glucoseValue: GlucoseValue) fun sendProfile(profileStoreJson: JSONObject) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraints.kt similarity index 96% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt rename to interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraints.kt index deddfeda8e..7d44743b92 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Constraints.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Constraints.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.constraints import info.nightscout.interfaces.Constants -import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.profile.Profile /** diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileFunction.kt similarity index 95% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt rename to interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileFunction.kt index 49eac5acaf..28cb9a1f45 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ProfileFunction.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileFunction.kt @@ -1,9 +1,7 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.profile import info.nightscout.database.entities.ProfileSwitch import info.nightscout.interfaces.GlucoseUnit -import info.nightscout.interfaces.profile.Profile -import info.nightscout.interfaces.profile.ProfileStore interface ProfileFunction { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpPluginBase.kt similarity index 87% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt rename to interfaces/src/main/java/info/nightscout/interfaces/pump/PumpPluginBase.kt index fefc8aecc9..8a18681cb2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/PumpPluginBase.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpPluginBase.kt @@ -1,11 +1,12 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.pump import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.core.main.R +import info.nightscout.interfaces.R import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt b/interfaces/src/main/java/info/nightscout/interfaces/queue/Command.kt similarity index 91% rename from core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt rename to interfaces/src/main/java/info/nightscout/interfaces/queue/Command.kt index 9c864f9bf5..977613aa81 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/queue/commands/Command.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/queue/Command.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.queue.commands +package info.nightscout.interfaces.queue import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt b/interfaces/src/main/java/info/nightscout/interfaces/queue/CommandQueue.kt similarity index 90% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt rename to interfaces/src/main/java/info/nightscout/interfaces/queue/CommandQueue.kt index c9a1060d4a..50a1900b62 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/CommandQueue.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/queue/CommandQueue.kt @@ -1,12 +1,9 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.queue import android.text.Spanned -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.queue.CustomCommand interface CommandQueue { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt b/interfaces/src/main/java/info/nightscout/interfaces/source/BgSource.kt similarity index 93% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt rename to interfaces/src/main/java/info/nightscout/interfaces/source/BgSource.kt index 9a8eab4ba5..35a326c040 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/BgSource.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/source/BgSource.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.source import info.nightscout.database.entities.GlucoseValue diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt b/interfaces/src/main/java/info/nightscout/interfaces/sync/DataSyncSelector.kt similarity index 83% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt rename to interfaces/src/main/java/info/nightscout/interfaces/sync/DataSyncSelector.kt index 01018c833a..dc097f6b8f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DataSyncSelector.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/sync/DataSyncSelector.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.sync import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult @@ -38,67 +38,80 @@ interface DataSyncSelector { fun resetToNextFullSync() fun confirmLastBolusIdIfGreater(lastSynced: Long) - fun changedBoluses() : List + fun changedBoluses(): List + // Until NS v3 fun processChangedBolusesCompat() fun confirmLastCarbsIdIfGreater(lastSynced: Long) - fun changedCarbs() : List + fun changedCarbs(): List + // Until NS v3 fun processChangedCarbsCompat() fun confirmLastBolusCalculatorResultsIdIfGreater(lastSynced: Long) - fun changedBolusCalculatorResults() : List + fun changedBolusCalculatorResults(): List + // Until NS v3 fun processChangedBolusCalculatorResultsCompat() fun confirmLastTempTargetsIdIfGreater(lastSynced: Long) - fun changedTempTargets() : List + fun changedTempTargets(): List + // Until NS v3 fun processChangedTempTargetsCompat() fun confirmLastGlucoseValueIdIfGreater(lastSynced: Long) - fun changedGlucoseValues() : List + fun changedGlucoseValues(): List + // Until NS v3 fun processChangedGlucoseValuesCompat() fun confirmLastTherapyEventIdIfGreater(lastSynced: Long) - fun changedTherapyEvents() : List + fun changedTherapyEvents(): List + // Until NS v3 fun processChangedTherapyEventsCompat() fun confirmLastFoodIdIfGreater(lastSynced: Long) - fun changedFoods() : List + fun changedFoods(): List + // Until NS v3 fun processChangedFoodsCompat() fun confirmLastDeviceStatusIdIfGreater(lastSynced: Long) - fun changedDeviceStatuses() : List + fun changedDeviceStatuses(): List + // Until NS v3 fun processChangedDeviceStatusesCompat() fun confirmLastTemporaryBasalIdIfGreater(lastSynced: Long) - fun changedTemporaryBasals() : List + fun changedTemporaryBasals(): List + // Until NS v3 fun processChangedTemporaryBasalsCompat() fun confirmLastExtendedBolusIdIfGreater(lastSynced: Long) - fun changedExtendedBoluses() : List + fun changedExtendedBoluses(): List + // Until NS v3 fun processChangedExtendedBolusesCompat() fun confirmLastProfileSwitchIdIfGreater(lastSynced: Long) - fun changedProfileSwitch() : List + fun changedProfileSwitch(): List + // Until NS v3 fun processChangedProfileSwitchesCompat() fun confirmLastEffectiveProfileSwitchIdIfGreater(lastSynced: Long) - fun changedEffectiveProfileSwitch() : List + fun changedEffectiveProfileSwitch(): List + // Until NS v3 fun processChangedEffectiveProfileSwitchesCompat() fun confirmLastOfflineEventIdIfGreater(lastSynced: Long) - fun changedOfflineEvents() : List + fun changedOfflineEvents(): List + // Until NS v3 fun processChangedOfflineEventsCompat() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt b/interfaces/src/main/java/info/nightscout/interfaces/utils/TrendCalculator.kt similarity index 92% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt rename to interfaces/src/main/java/info/nightscout/interfaces/utils/TrendCalculator.kt index 41834b2937..9c0150f22d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/TrendCalculator.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/utils/TrendCalculator.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.utils import info.nightscout.database.entities.GlucoseValue @@ -23,4 +23,4 @@ interface TrendCalculator { * @return string description of TrendArrow */ fun getTrendDescription(glucoseValue: GlucoseValue?): String -} +} \ No newline at end of file diff --git a/interfaces/src/main/res/values/strings.xml b/interfaces/src/main/res/values/strings.xml index 03219bda89..0343a58b9d 100644 --- a/interfaces/src/main/res/values/strings.xml +++ b/interfaces/src/main/res/values/strings.xml @@ -18,4 +18,7 @@ * Only discrete values no ranges are supported as granularity for basal/bolus in virtual pump. + + Pump driver changed. +
diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index e91fa10f2e..6012d9aa6e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index 8ee4dd0a71..ed064951be 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt index ef3948d528..8c9e9e430c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.constraints.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Objectives.Companion.AUTOSENS_OBJECTIVE import info.nightscout.interfaces.constraints.Objectives.Companion.AUTO_OBJECTIVE diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt index 4eca10cdc8..da33f3cf8b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.plugins.R import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt index 37bfa3c01d..c6a0cb9000 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt @@ -4,7 +4,7 @@ import android.content.Context import android.os.Build import com.scottyab.rootbeer.RootBeer import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraints +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt index da6afdda5b..fe573e71d5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt @@ -8,13 +8,13 @@ import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt index a3f9521d00..a4cae4d230 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt @@ -5,9 +5,9 @@ import android.content.pm.PackageManager import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt index a0f6337a8e..63b88a9bc0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt @@ -4,10 +4,10 @@ import android.os.Environment import android.os.StatFs import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt index 0e1ea16d5b..ef3e8aaa49 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.constraints.versionChecker import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index 0e40fd2c2f..c877607eee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -13,10 +13,8 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -29,8 +27,10 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.plugins.R import info.nightscout.plugins.databinding.ActionsFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 5a78aafbbe..fc0df61496 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -21,7 +21,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy @@ -32,6 +31,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.MidnightTime diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index a3fa051a41..8765b2d0f6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -3,7 +3,6 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.iob.round import info.nightscout.core.profile.milliSecFromMidnight import info.nightscout.database.entities.Bolus @@ -18,6 +17,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.iob.Iob import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round import info.nightscout.plugins.R import info.nightscout.plugins.general.autotune.data.ATProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index aa2a88d82d..245e19fcac 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry @@ -17,6 +16,7 @@ import info.nightscout.interfaces.plugin.PluginBase 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.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index e31f73f07f..69c3a6f330 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -5,7 +5,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.core.profile.fromMgdlToUnits @@ -15,6 +14,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.Round diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt index 8eea5d6237..daa2c085e9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt @@ -2,8 +2,8 @@ package info.nightscout.plugins.general.smsCommunicator import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.Sms import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 9f4119edd7..9e73522261 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -15,12 +15,8 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -45,15 +41,19 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporar import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase 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.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.Sms import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index df31c42eb1..2fc41864ee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round @@ -17,6 +16,7 @@ import info.nightscout.interfaces.plugin.PluginBase 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.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt index cf35817824..6f05cea720 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt index 144e744760..65e2dfdb18 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.embedments.InsulinConfiguration @@ -12,6 +11,7 @@ import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt index 8712ed9b70..2ffcc8e108 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.storeInt -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt index d2d7cb4cba..e86c6a3261 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt index d2c9cf1dbf..180eb731cd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.insulin import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index b4ad2ce3f8..4352162892 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -12,7 +12,6 @@ import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -24,6 +23,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 18fb8a515c..2306c4b3be 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -11,8 +11,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -22,11 +20,13 @@ import info.nightscout.core.profile.toMgdl import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginBase 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.profile.ProfileSource import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt index cc6bb57714..47a187bd3c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt @@ -9,8 +9,8 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R import info.nightscout.plugins.databinding.VirtualPumpFragmentBinding import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 964e189a74..7c2ae0bf9b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -9,10 +9,7 @@ import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config @@ -20,14 +17,17 @@ import info.nightscout.interfaces.notifications.Notification 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.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui diff --git a/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt index 29320563f4..30a8fa7ec8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.database.entities.GlucoseValue @@ -17,6 +16,7 @@ import info.nightscout.interfaces.Constants 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index 252c9624fe..da220ff6a3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -18,7 +18,6 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -30,6 +29,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R import info.nightscout.plugins.databinding.SourceFragmentBinding import info.nightscout.plugins.databinding.SourceItemBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt index 661a7269d6..96cab8978e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt @@ -9,8 +9,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.profile.unit @@ -23,10 +21,12 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction import info.nightscout.interfaces.Config +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.source.BgSource import info.nightscout.plugins.R import info.nightscout.plugins.source.activities.RequestDexcomPermissionActivity import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt index 63e7fed2c6..50d2e17aae 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt @@ -5,17 +5,17 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt index 4430bb4fdb..a230131a75 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt @@ -6,14 +6,14 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt index 7b33d75db3..901bb56cdf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt @@ -5,8 +5,6 @@ import android.net.Uri import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.GlucoseValue @@ -16,9 +14,11 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt index 5e19776b6e..0b1cbe6e73 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt @@ -7,8 +7,6 @@ import android.os.Handler import android.os.HandlerThread import android.util.Log import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.GlucoseValue @@ -18,9 +16,11 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt index 578f4a934d..4d1158f6c9 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt @@ -5,15 +5,15 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index 81da15e4d9..2d1ddd31e0 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -6,18 +6,18 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Config +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification 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.plugins.R import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsclient.data.NSSgv diff --git a/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt index b677f2c8be..e10c0573fd 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt @@ -5,15 +5,15 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.XDripBroadcast 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.utils.JsonHelper.safeGetString import info.nightscout.plugins.R import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt index 0efaacbd00..cb73e0ffb3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt @@ -4,16 +4,16 @@ import android.os.Handler import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt index 431fb007c5..3d68075887 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt @@ -5,14 +5,14 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction +import info.nightscout.interfaces.XDripBroadcast 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt index fac8dcc8ce..2c2a6c8c4e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.BgSource import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.receivers.Intents import info.nightscout.database.entities.GlucoseValue @@ -14,6 +13,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction 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.plugins.R import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index 5ad00e1e8b..d51563b437 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -14,7 +14,6 @@ import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy @@ -22,6 +21,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginFragment +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.databinding.NsClientFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index d54871a809..6625a14ca1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -6,7 +6,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.database.entities.Bolus @@ -37,6 +36,7 @@ import info.nightscout.database.impl.transactions.SyncNsTherapyEventTransaction import info.nightscout.database.impl.transactions.UserEntryTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 1871cdff35..4bd3e0c9e5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -1,11 +1,7 @@ package info.nightscout.plugins.sync.nsclient -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.extensions.toJson import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult @@ -20,6 +16,10 @@ import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.TherapyEvent +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.plugins.R import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsclient.extensions.toJson diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 3bd035618b..0342469607 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -13,7 +13,6 @@ import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper @@ -22,6 +21,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.sync.Sync import info.nightscout.interfaces.utils.HtmlHelper.fromHtml diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index ef7ca96b17..d1363fde84 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -3,10 +3,10 @@ package info.nightscout.androidaps.utils.extensions import android.os.Build import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.iob.json import info.nightscout.database.entities.DeviceStatus +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.Pump import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.shared.utils.DateUtil diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index 9cc36898e6..fcd9b6f7c6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -17,7 +17,6 @@ import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.DataSyncSelector import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -26,6 +25,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.sync.NsClient import info.nightscout.interfaces.utils.JsonHelper.safeGetString import info.nightscout.interfaces.utils.JsonHelper.safeGetStringAllowNull diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt index 64064b6cb4..1ac219492a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt @@ -6,20 +6,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairCarbs -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairEffectiveProfileSwitch -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairExtendedBolus -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairFood -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairGlucoseValue -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairOfflineEvent -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileStore -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.DeviceStatus import info.nightscout.database.impl.AppRepository @@ -36,6 +22,20 @@ import info.nightscout.database.impl.transactions.UpdateNsIdProfileSwitchTransac import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryBasalTransaction import info.nightscout.database.impl.transactions.UpdateNsIdTemporaryTargetTransaction import info.nightscout.database.impl.transactions.UpdateNsIdTherapyEventTransaction +import info.nightscout.interfaces.sync.DataSyncSelector +import info.nightscout.interfaces.sync.DataSyncSelector.PairBolus +import info.nightscout.interfaces.sync.DataSyncSelector.PairBolusCalculatorResult +import info.nightscout.interfaces.sync.DataSyncSelector.PairCarbs +import info.nightscout.interfaces.sync.DataSyncSelector.PairEffectiveProfileSwitch +import info.nightscout.interfaces.sync.DataSyncSelector.PairExtendedBolus +import info.nightscout.interfaces.sync.DataSyncSelector.PairFood +import info.nightscout.interfaces.sync.DataSyncSelector.PairGlucoseValue +import info.nightscout.interfaces.sync.DataSyncSelector.PairOfflineEvent +import info.nightscout.interfaces.sync.DataSyncSelector.PairProfileStore +import info.nightscout.interfaces.sync.DataSyncSelector.PairProfileSwitch +import info.nightscout.interfaces.sync.DataSyncSelector.PairTemporaryBasal +import info.nightscout.interfaces.sync.DataSyncSelector.PairTemporaryTarget +import info.nightscout.interfaces.sync.DataSyncSelector.PairTherapyEvent import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index eb3a30a3e5..7f9c7508ba 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -7,13 +7,13 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt index b6c1e48806..fdd09bd6f3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt @@ -5,21 +5,21 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.DataSyncSelector -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolus -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairBolusCalculatorResult -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairCarbs -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairEffectiveProfileSwitch -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairExtendedBolus -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairFood -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairGlucoseValue -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairOfflineEvent -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairProfileSwitch -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryBasal -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTemporaryTarget -import info.nightscout.androidaps.interfaces.DataSyncSelector.PairTherapyEvent import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.sync.DataSyncSelector +import info.nightscout.interfaces.sync.DataSyncSelector.PairBolus +import info.nightscout.interfaces.sync.DataSyncSelector.PairBolusCalculatorResult +import info.nightscout.interfaces.sync.DataSyncSelector.PairCarbs +import info.nightscout.interfaces.sync.DataSyncSelector.PairEffectiveProfileSwitch +import info.nightscout.interfaces.sync.DataSyncSelector.PairExtendedBolus +import info.nightscout.interfaces.sync.DataSyncSelector.PairFood +import info.nightscout.interfaces.sync.DataSyncSelector.PairGlucoseValue +import info.nightscout.interfaces.sync.DataSyncSelector.PairOfflineEvent +import info.nightscout.interfaces.sync.DataSyncSelector.PairProfileSwitch +import info.nightscout.interfaces.sync.DataSyncSelector.PairTemporaryBasal +import info.nightscout.interfaces.sync.DataSyncSelector.PairTemporaryTarget +import info.nightscout.interfaces.sync.DataSyncSelector.PairTherapyEvent import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.sync.nsShared.events.EventNSClientNewLog import info.nightscout.plugins.sync.nsclient.acks.NSUpdateAck diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index b8dbc5c553..9e2c3e08e4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -5,14 +5,14 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsclientV3.extensions.toBolus diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt index bf07c91769..afa0e35365 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.elements.BasalElement import info.nightscout.plugins.sync.tidepool.elements.BaseElement diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7f76f71a53..57bcbfcc67 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index d571db34fa..4874f755f7 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -4,7 +4,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.shiftBlock -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.GlucoseValue @@ -13,6 +12,7 @@ import info.nightscout.database.entities.data.TargetBlock import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 07674a4fa8..5b95e1a6c1 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -7,10 +7,7 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo @@ -23,13 +20,16 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporar import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.Sms import info.nightscout.plugins.R import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt index 24733b6d1a..50c9580415 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt index 5de54b5ab1..5025857ad2 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt @@ -2,11 +2,11 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt index e152836e10..849123918f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt index e2dae7c718..6107c8b23a 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt index adb34b1a60..5c0792dbee 100644 --- a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.insulin import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.interfaces.Config import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 52e32bf728..40c8810563 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -2,13 +2,13 @@ package info.nightscout.plugins.pump.virtual import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt index 6b3a1edb1f..4a9a52558e 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboFragment.kt @@ -10,13 +10,13 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.combo.databinding.CombopumpFragmentBinding -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil import info.nightscout.androidaps.plugins.pump.combo.data.ComboErrorUtil.DisplayType import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.PumpState import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventQueueChanged diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index 6cf45672df..b7da8612a9 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -23,10 +23,6 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.combo.events.EventComboPumpUpdateGUI; @@ -44,17 +40,21 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.PumpH import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Tdd; import info.nightscout.core.fabric.InstanceId; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; 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.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpPluginBase; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index f87a4c502f..75cc8e6c11 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -5,13 +5,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 2007faee04..cc5cbf9af4 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -26,6 +25,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 934178aacf..c31454ce4b 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -17,15 +17,15 @@ import info.nightscout.androidaps.dana.databinding.DanarHistoryActivityBinding import info.nightscout.androidaps.dana.databinding.DanarHistoryItemBinding import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.toUnitsString import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.rx.logging.LTag diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index b182f56320..f6e097799a 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventInitializationChanged diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index a21705c778..7397b33a11 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,12 +5,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index c3890efe07..edaa10a312 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -13,16 +13,16 @@ import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.PumpSync.TemporaryBasalType import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index c0f4e68047..690358fd6c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -39,17 +39,17 @@ import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.profile.Profile; +import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 1009d1321c..df13dfc908 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -18,17 +18,17 @@ import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 1aa8f49d40..55f0ce016d 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -52,18 +52,18 @@ import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.profile.Profile; +import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 706e7307bb..6146cfb2ff 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -14,13 +14,11 @@ import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; -import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; @@ -28,9 +26,11 @@ import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.Dana; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpPluginBase; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index d40c5b5cfd..fe597e10fe 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -17,15 +17,15 @@ import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.Constraints; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; +import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index 5b06a7e2d7..1a51b0633c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -8,13 +8,13 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageOriginalNames.getName import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.CRC.getCrc16 import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index 77198b0c6a..5eb3283136 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -46,17 +46,17 @@ import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.profile.Profile; +import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 2449a74ece..ee3f7144ed 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,10 +7,10 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt index 455e2589f3..7a62d2864d 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPluginTest.kt @@ -6,12 +6,12 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index 4161765c37..d4f76348a0 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -11,12 +11,12 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt index bbfcd78acb..7a41442bb4 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/DanaRKoreanPluginTest.kt @@ -6,12 +6,12 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert import org.junit.Before diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt index b96a51caf8..200d78b0e1 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2PluginTest.kt @@ -6,14 +6,14 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.shared.sharedPreferences.SP import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 9567537275..1fabcc0217 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -16,10 +16,6 @@ import info.nightscout.androidaps.danars.services.DanaRSService import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage @@ -28,18 +24,22 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification 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.pump.Dana import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt index 4df7ee77c9..8489af97cb 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketBolusSetStepBolusStart.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.danars.comm import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 48fa98a280..f019341df7 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -58,18 +58,18 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 38b8ac51a5..753b36f187 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,12 +5,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt index ee4ba8dac1..59fd2ef803 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/DanaRSPluginTest.kt @@ -2,14 +2,14 @@ package info.nightscout.androidaps.danars import android.content.Context import dagger.android.AndroidInjector -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt index 8c04713b61..0e943bbd3c 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt @@ -6,8 +6,8 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt index b701360855..699d06a95f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStartTest.kt @@ -5,12 +5,12 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt index 1b93481e28..1702cbd880 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt @@ -6,11 +6,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Before diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 1f6627d1c1..2277168d10 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 7d51d92365..8477de3abc 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -14,10 +14,6 @@ import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage @@ -26,20 +22,24 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification 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.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 3d6dd0cda2..059d7206bd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -17,11 +17,11 @@ import info.nightscout.androidaps.diaconn.database.DiaconnHistoryRecordDao import info.nightscout.androidaps.diaconn.databinding.DiaconnG8HistoryActivityBinding import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index f572989f6c..aad19ef324 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.databinding.DiaconnG8UserOptionsActivityBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index 6889faab7f..f31ff0d0b3 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -48,20 +48,20 @@ import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index ba2526902c..3fdf21e5f1 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -4,8 +4,6 @@ import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -22,12 +20,14 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index c1d60ca9f0..cd2d8cab07 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch.alarm import android.content.Context import android.content.Intent import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus @@ -24,6 +23,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index 980a881cd1..fbb515f375 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -10,8 +10,6 @@ import javax.inject.Singleton; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.ProfileFunction; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; @@ -41,9 +39,11 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; +import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.defs.PumpType; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventCustomActionsChanged; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java index e66d357d7d..b788b49fec 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchStateManager.java @@ -5,7 +5,6 @@ import java.util.stream.Stream; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.FetchAlarmTask; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.InternalSuspendedTask; import info.nightscout.androidaps.plugins.pump.eopatch.ble.task.ReadBolusFinishTimeTask; @@ -15,6 +14,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.BolusCurrent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.NormalBasal; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java index a1c3c8c3c7..d3a3b37420 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java @@ -7,14 +7,14 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetInternalSuspendTime; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchInternalSuspendTimeResponse; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java index cd8893019e..8001c78667 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java @@ -9,7 +9,6 @@ import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmRegistry; @@ -17,10 +16,11 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalPause; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java index 083f7fc636..b9f285a1c8 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java @@ -7,15 +7,15 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.interfaces.CommandQueue; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; -import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.Command; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt index 15b1308e95..5ca6574b2c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/viewmodel/EopatchOverviewViewModel.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager @@ -15,6 +14,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.event.UIEvent import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 8e830eaa84..81714eb29a 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -11,7 +11,6 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -30,6 +29,7 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index 105be643c5..dbd16a98ff 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -9,7 +9,6 @@ import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus @@ -62,6 +61,7 @@ import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 051aa2baa4..71d7f4f574 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -10,9 +10,6 @@ import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil @@ -44,7 +41,6 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.data.TempBas import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.OmnipodDashOverviewFragment import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.Constants import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram -import info.nightscout.androidaps.queue.commands.Command import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy @@ -52,15 +48,19 @@ import info.nightscout.interfaces.notifications.Notification 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.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.pump.actions.CustomActionType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.Command +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.queue.CustomCommand import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.Round diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index 920fd9402d..b8a75a5e2f 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -5,7 +5,6 @@ import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandPlayTestBeep import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.PodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.dash.R @@ -17,6 +16,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivati import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventQueueChanged diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 292f304cb2..1d487ee499 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -11,7 +11,6 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewPodInfoBinding @@ -36,6 +35,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 47b870db5b..22422c04a8 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel @@ -19,6 +18,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.I8n import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt index bde420b990..55260f0dbb 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/deactivation/viewmodel/action/DashDeactivatePodViewModel.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod @@ -11,6 +10,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.Omn import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 98df6b1c7f..76931a0e93 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -37,9 +37,6 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; -import info.nightscout.androidaps.interfaces.CommandQueue; -import info.nightscout.androidaps.interfaces.ProfileFunction; -import info.nightscout.androidaps.interfaces.PumpPluginBase; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; @@ -90,15 +87,18 @@ import info.nightscout.interfaces.notifications.Notification; 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.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; +import info.nightscout.interfaces.pump.PumpPluginBase; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.pump.actions.CustomActionType; import info.nightscout.interfaces.pump.defs.ManufacturerType; import info.nightscout.interfaces.pump.defs.PumpDescription; import info.nightscout.interfaces.pump.defs.PumpType; import info.nightscout.interfaces.queue.Callback; +import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.interfaces.queue.CustomCommand; import info.nightscout.interfaces.ui.ActivityNames; import info.nightscout.interfaces.utils.Round; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index d9870bbff6..525bb5d3dd 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -7,7 +7,6 @@ import android.os.Handler import android.os.HandlerThread import dagger.android.HasAndroidInjector import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusActivity import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData @@ -30,6 +29,7 @@ import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventQueueChanged diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index 5e1e03f96a..58517427b2 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -11,7 +11,6 @@ import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState @@ -44,6 +43,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt index 60cc0048ea..a9485f332f 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/activation/viewmodel/action/ErosInsertCannulaViewModel.kt @@ -2,12 +2,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.R import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.ActivationProgress import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsErosPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt index b18d831771..2047bb511e 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/wizard/deactivation/viewmodel/action/ErosDeactivatePodViewModel.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivat import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.queue.command.CommandDeactivatePod import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.viewmodel.action.DeactivatePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import io.reactivex.rxjava3.core.Single diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 0e8b479156..318bd51c9a 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -5,13 +5,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.TestAapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 7f62ff5db8..90361b0357 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -11,9 +11,6 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.PumpPluginBase import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs @@ -21,16 +18,19 @@ import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpPluginBase import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.PumpSync.TemporaryBasalType import info.nightscout.interfaces.pump.defs.ManufacturerType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit diff --git a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index be6f0a16da..92d0bb6e4d 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -11,13 +11,13 @@ import com.google.common.collect.Lists import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index 9aa6565f74..644fe23099 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -4,8 +4,8 @@ import android.os.Bundle import android.widget.ArrayAdapter import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.SafeParse import info.nightscout.shared.utils.DateUtil diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 3e6cb5a87f..7eba5eb81d 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,17 +15,17 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.database.impl.AppRepository import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.TotalDailyDose +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus import info.nightscout.shared.SafeParse diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 5dcbcb9f68..f63bcfeab2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -16,15 +16,9 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CutCarbsTransaction -import info.nightscout.database.impl.transactions.InvalidateBolusCalculatorResultTransaction -import info.nightscout.database.impl.transactions.InvalidateBolusTransaction -import info.nightscout.database.impl.transactions.InvalidateCarbsTransaction import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -36,7 +30,13 @@ import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CutCarbsTransaction +import info.nightscout.database.impl.transactions.InvalidateBolusCalculatorResultTransaction +import info.nightscout.database.impl.transactions.InvalidateBolusTransaction +import info.nightscout.database.impl.transactions.InvalidateCarbsTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index 4ccfcc74d0..f5e9b3c1a2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -15,12 +15,9 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -31,6 +28,9 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index f931b23cb9..534016f4e2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -15,15 +15,11 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.ValueWrapper -import info.nightscout.database.impl.transactions.InvalidateTemporaryTargetTransaction import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -35,7 +31,11 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.interfaces.end +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.ValueWrapper +import info.nightscout.database.impl.transactions.InvalidateTemporaryTargetTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 82eede23eb..32692a0f71 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -19,7 +19,6 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -36,6 +35,7 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventTempBasalChange diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index f182e681f0..e14f30c5a5 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -13,7 +13,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -24,6 +23,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.extensions.toVisibility diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index 527641deb5..f6ef954814 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -7,8 +7,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.XDripBroadcast import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -18,7 +16,9 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.ui.R diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index dab7c3eaf6..232e927ad6 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -10,10 +10,7 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter @@ -33,9 +30,12 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 0069fea62e..226abed6e7 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -12,7 +12,6 @@ import com.google.common.base.Joiner import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Translator @@ -27,6 +26,7 @@ import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyE import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt index 3d52fe9b0a..a52ebded9b 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt @@ -9,8 +9,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -18,7 +16,9 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt index 9d99747f57..2cf8fc6300 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -9,8 +9,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -22,8 +20,10 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index 1c24c6061c..4c168fe6e5 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -11,9 +11,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper @@ -32,9 +29,12 @@ import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index 3a4b2e6796..fb48212dd4 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -13,10 +13,7 @@ import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -30,11 +27,14 @@ import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAny import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index 52e31cee59..6452bfb252 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -12,7 +12,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils @@ -27,6 +26,7 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporar import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt index e522261ef8..0bac90855c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toUnitsString @@ -22,6 +21,7 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.HtmlHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt index 34aec2aa8c..91b530390c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt @@ -9,9 +9,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -19,9 +16,12 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt index 145fd54ec1..c1c3142998 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt @@ -9,8 +9,6 @@ import android.widget.ArrayAdapter import com.google.common.base.Joiner import com.google.common.collect.Lists import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.Constraints -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils @@ -27,7 +25,9 @@ import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIf import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index d1bcf813af..ace98fccce 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -11,8 +11,6 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.CommandQueue -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -25,8 +23,10 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.LTag diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt index 0abe63dc46..ceeb9e5bda 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt @@ -22,9 +22,7 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -38,7 +36,9 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.Round import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt index 24a9471216..b7ffd8dccb 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardInfoDialog.kt @@ -9,12 +9,12 @@ import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson import info.nightscout.androidaps.extensions.toJson -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.profile.toUnits import info.nightscout.core.profile.toUnitsString import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.ui.R diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index aff7ef8b8a..0de0c24c7a 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -17,11 +17,8 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Constraints import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.ProfileFunction -import info.nightscout.androidaps.interfaces.TrendCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.profile.toSignedUnitsString @@ -32,8 +29,11 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.VariableSensitivityResult +import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.toVisibility diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7f76f71a53..57bcbfcc67 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.ProfileFunction import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper From 20e07cb6564ba93de9e0b2c3b598c95f38572201 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 19:27:47 +0100 Subject: [PATCH 070/123] optimize build --- build.gradle | 15 +++++++++++++++ core/core-main/android_module_dependencies.gradle | 12 ------------ database/entities/build.gradle | 5 ++++- wear/build.gradle | 15 +++++++++++++++ 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/build.gradle b/build.gradle index 8d47930c26..80344616cd 100644 --- a/build.gradle +++ b/build.gradle @@ -107,3 +107,18 @@ subprojects { maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 } } + +// This is necessary to prevent Gradle build errors like: +// +// Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.0) +// +// By explicitly adding these dependencies, the jetifier +// is forced to use the correct lifecycle version instead +// of automatically picking 2.3.1. +// +// See: https://stackoverflow.com/a/69832319/560774 +configurations { + all { + exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' + } +} \ No newline at end of file diff --git a/core/core-main/android_module_dependencies.gradle b/core/core-main/android_module_dependencies.gradle index df27afb3fb..8e2a9b7ee7 100644 --- a/core/core-main/android_module_dependencies.gradle +++ b/core/core-main/android_module_dependencies.gradle @@ -25,16 +25,4 @@ android { dependencies { kapt "com.google.dagger:dagger-android-processor:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" - - // This is necessary to prevent Gradle build errors like: - // - // Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.0) - // - // By explicitly adding these dependencies, the jetifier - // is forced to use the correct lifecycle version instead - // of automatically picking 2.3.1. - // - // See: https://stackoverflow.com/a/69832319/560774 - implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" } diff --git a/database/entities/build.gradle b/database/entities/build.gradle index 6a551950b7..21c10dbaba 100644 --- a/database/entities/build.gradle +++ b/database/entities/build.gradle @@ -7,11 +7,14 @@ plugins { } apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" android { namespace 'info.nightscout.database.entities' + + buildFeatures { + buildConfig = false + } } dependencies { diff --git a/wear/build.gradle b/wear/build.gradle index 2a5e427588..40ffa918d7 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -133,3 +133,18 @@ dependencies { repositories { mavenCentral() } + +// This is necessary to prevent Gradle build errors like: +// +// Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.0) +// +// By explicitly adding these dependencies, the jetifier +// is forced to use the correct lifecycle version instead +// of automatically picking 2.3.1. +// +// See: https://stackoverflow.com/a/69832319/560774 +configurations { + all { + exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' + } +} \ No newline at end of file From 4e939e0c8cea7b700cdf8062e15c4d24421af876 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 20:22:12 +0100 Subject: [PATCH 071/123] simplify dependency --- .../rx/events/EventPreferenceChange.kt | 15 ++++++++ .../nightscout/androidaps/MainActivity.kt | 6 +-- .../activities/MyPreferenceFragment.kt | 8 ++-- .../androidaps/di/PluginsListModule.kt | 30 +++++++-------- .../maintenance/MaintenanceFragment.kt | 4 +- .../general/overview/OverviewFragment.kt | 6 +-- .../PersistentNotificationPlugin.kt | 2 +- .../plugins/general/wear/WearPlugin.kt | 2 +- .../IobCobCalculatorPlugin.kt | 18 ++++----- .../androidaps/setupwizard/elements/SWItem.kt | 8 ++-- .../workflow/CalculationWorkflow.kt | 6 +-- .../nightscout/automation/AutomationPlugin.kt | 4 +- core/core-main/build.gradle | 5 +-- .../events/EventPreferenceChange.kt | 22 ----------- .../core-main/src/main/res/values/strings.xml | 1 - database/impl/build.gradle | 4 +- openhumans/build.gradle | 12 +++++- ...ploader.kt => OpenHumansUploaderPlugin.kt} | 4 +- .../general/openhumans/OpenHumansWorker.kt | 2 +- .../general/openhumans/ui/OHFragment.kt | 6 +-- .../general/openhumans/ui/OHLoginViewModel.kt | 4 +- openhumans/src/main/res/values/strings.xml | 2 + .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 +- .../general/themes/ThemeSwitcherPlugin.kt | 4 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 4 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 4 +- .../sync/nsclient/NsClientReceiverDelegate.kt | 14 +++---- .../sync/nsclient/services/NSClientService.kt | 8 ++-- .../sync/nsclientV3/NSClientV3Plugin.kt | 4 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 8 ++-- plugins/src/main/res/values/strings.xml | 1 + .../danaRKorean/DanaRKoreanPlugin.kt | 2 +- .../androidaps/danar/AbstractDanaRPlugin.java | 4 +- .../androidaps/danar/DanaRPlugin.java | 2 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 6 +-- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 10 ++--- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 38 +++++++++---------- .../eros/ui/OmnipodErosOverviewFragment.kt | 2 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 2 +- 42 files changed, 148 insertions(+), 146 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPreferenceChange.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt rename openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/{OpenHumansUploader.kt => OpenHumansUploaderPlugin.kt} (99%) diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPreferenceChange.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPreferenceChange.kt new file mode 100644 index 0000000000..27caf34caa --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPreferenceChange.kt @@ -0,0 +1,15 @@ +package info.nightscout.rx.events + +class EventPreferenceChange : Event { + + var changedKey: String? = null + private set + + constructor(key: String) { + changedKey = key + } + + fun isChanged(key: String): Boolean { + return changedKey == key + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index be9cf13abc..0445e6085d 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -35,7 +35,6 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ActivityMainBinding -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger @@ -64,6 +63,7 @@ import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP @@ -204,8 +204,8 @@ class MainActivity : NoSplashAppCompatActivity() { } private fun processPreferenceChange(ev: EventPreferenceChange) { - if (ev.isChanged(rh, R.string.key_keep_screen_on)) setWakeLock() - if (ev.isChanged(rh, R.string.key_skin)) recreate() + if (ev.isChanged(rh.gs(R.string.key_keep_screen_on))) setWakeLock() + if (ev.isChanged(rh.gs(R.string.key_skin))) recreate() } private fun setupViews() { diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 6d138ca27f..2482283be2 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -22,8 +22,7 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin -import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader +import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin @@ -69,6 +68,7 @@ import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRebuildTabs import info.nightscout.shared.SafeParse import info.nightscout.shared.interfaces.ResourceHelper @@ -125,7 +125,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang @Inject lateinit var passwordCheck: PasswordCheck @Inject lateinit var nsSettingStatus: NSSettingsStatus - @Inject lateinit var openHumansUploader: OpenHumansUploader + @Inject lateinit var openHumansUploaderPlugin: OpenHumansUploaderPlugin @Inject lateinit var diaconnG8Plugin: DiaconnG8Plugin override fun onAttach(context: Context) { @@ -225,7 +225,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang addPreferencesFromResource(R.xml.pref_alerts, rootKey) addPreferencesFromResource(R.xml.pref_datachoices, rootKey) addPreferencesFromResourceIfEnabled(maintenancePlugin, rootKey) - addPreferencesFromResourceIfEnabled(openHumansUploader, rootKey) + addPreferencesFromResourceIfEnabled(openHumansUploaderPlugin, rootKey) } initSummary(preferenceScreen, pluginId != -1) preprocessPreferences() diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index 1353f1d40b..be5608650e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -9,15 +9,12 @@ import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin -import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader +import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.plugins.constraints.safety.SafetyPlugin -import info.nightscout.plugins.general.actions.ActionsPlugin import info.nightscout.androidaps.plugins.general.dataBroadcaster.DataBroadcastPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin @@ -33,23 +30,16 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugi import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin -import info.nightscout.plugins.source.AidexPlugin -import info.nightscout.plugins.source.DexcomPlugin -import info.nightscout.plugins.source.GlimpPlugin -import info.nightscout.plugins.source.GlunovoPlugin -import info.nightscout.plugins.source.IntelligoPlugin -import info.nightscout.plugins.source.MM640gPlugin -import info.nightscout.plugins.source.PoctechPlugin -import info.nightscout.plugins.source.RandomBgPlugin -import info.nightscout.plugins.source.TomatoPlugin -import info.nightscout.plugins.source.XdripPlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.constraints.dstHelper.DstHelperPlugin +import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin +import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.plugins.constraints.signatureVerifier.SignatureVerifierPlugin import info.nightscout.plugins.constraints.storage.StorageConstraintPlugin import info.nightscout.plugins.constraints.versionChecker.VersionCheckerPlugin +import info.nightscout.plugins.general.actions.ActionsPlugin import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.food.FoodPlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin @@ -61,7 +51,17 @@ import info.nightscout.plugins.insulin.InsulinOrefRapidActingPlugin import info.nightscout.plugins.insulin.InsulinOrefUltraRapidActingPlugin import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.source.AidexPlugin +import info.nightscout.plugins.source.DexcomPlugin +import info.nightscout.plugins.source.GlimpPlugin +import info.nightscout.plugins.source.GlunovoPlugin +import info.nightscout.plugins.source.IntelligoPlugin +import info.nightscout.plugins.source.MM640gPlugin import info.nightscout.plugins.source.NSClientSourcePlugin +import info.nightscout.plugins.source.PoctechPlugin +import info.nightscout.plugins.source.RandomBgPlugin +import info.nightscout.plugins.source.TomatoPlugin +import info.nightscout.plugins.source.XdripPlugin import info.nightscout.plugins.sync.nsclient.NSClientPlugin import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.plugins.sync.tidepool.TidepoolPlugin @@ -417,7 +417,7 @@ abstract class PluginsListModule { @NotNSClient @IntoMap @IntKey(480) - abstract fun bindsOpenHumansPlugin(plugin: OpenHumansUploader): PluginBase + abstract fun bindsOpenHumansPlugin(plugin: OpenHumansUploaderPlugin): PluginBase @Binds @AllConfigs diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 97e05098d0..7845a81f99 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -12,7 +12,6 @@ import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.dana.database.DanaHistoryDatabase import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.insight.database.InsightDatabase import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger @@ -33,6 +32,7 @@ import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.toVisibility @@ -110,7 +110,7 @@ class MaintenanceFragment : DaggerFragment() { .subscribeOn(aapsSchedulers.io) .subscribeBy( onError = { aapsLogger.error("Error clearing databases", it) }, - onComplete = { rxBus.send(EventPreferenceChange(rh, R.string.key_units)) } + onComplete = { rxBus.send(EventPreferenceChange(rh.gs(R.string.key_units))) } ) uel.log(Action.RESET_DATABASES, Sources.Maintenance) }) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 625d1016ff..340e759662 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -31,7 +31,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString @@ -94,6 +93,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventMobileToWear +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventScale import info.nightscout.rx.events.EventTempBasalChange @@ -221,7 +221,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList overviewData.rangeToDisplay += 6 overviewData.rangeToDisplay = if (overviewData.rangeToDisplay > 24) 6 else overviewData.rangeToDisplay sp.putInt(R.string.key_rangetodisplay, overviewData.rangeToDisplay) - rxBus.send(EventPreferenceChange(rh, R.string.key_rangetodisplay)) + rxBus.send(EventPreferenceChange(rh.gs(R.string.key_rangetodisplay))) sp.putBoolean(R.string.key_objectiveusescale, true) false } @@ -285,7 +285,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList .subscribe({ overviewData.rangeToDisplay = it.hours sp.putInt(R.string.key_rangetodisplay, it.hours) - rxBus.send(EventPreferenceChange(rh, R.string.key_rangetodisplay)) + rxBus.send(EventPreferenceChange(rh.gs(R.string.key_rangetodisplay))) sp.putBoolean(R.string.key_objectiveusescale, true) }, fabricPrivacy::logException) disposable += rxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index d666ee7377..c78a4750cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -8,7 +8,6 @@ import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin @@ -30,6 +29,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index 3b7884ae42..e9c2d42932 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.general.wear import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile @@ -17,6 +16,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.weardata.EventData import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 8e36c6e456..273f63976e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -7,7 +7,6 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal @@ -42,6 +41,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -116,14 +116,14 @@ class IobCobCalculatorPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event -> - if (event.isChanged(rh, R.string.key_openapsama_autosens_period) || - event.isChanged(rh, R.string.key_age) || - event.isChanged(rh, R.string.key_absorption_maxtime) || - event.isChanged(rh, R.string.key_openapsama_min_5m_carbimpact) || - event.isChanged(rh, R.string.key_absorption_cutoff) || - event.isChanged(rh, R.string.key_openapsama_autosens_max) || - event.isChanged(rh, R.string.key_openapsama_autosens_min) || - event.isChanged(rh, R.string.key_insulin_oref_peak) + if (event.isChanged(rh.gs(R.string.key_openapsama_autosens_period)) || + event.isChanged(rh.gs(R.string.key_age)) || + event.isChanged(rh.gs(R.string.key_absorption_maxtime)) || + event.isChanged(rh.gs(R.string.key_openapsama_min_5m_carbimpact)) || + event.isChanged(rh.gs(R.string.key_absorption_cutoff)) || + event.isChanged(rh.gs(R.string.key_openapsama_autosens_max)) || + event.isChanged(rh.gs(R.string.key_openapsama_autosens_min)) || + event.isChanged(rh.gs(R.string.key_insulin_oref_peak)) ) { resetDataAndRunCalculation("onEventPreferenceChange", event) } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt index 3a28b38235..22a0d28a85 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt @@ -7,13 +7,13 @@ import android.widget.LinearLayout import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange +import info.nightscout.rx.events.EventSWUpdate 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 java.util.concurrent.Executors import java.util.concurrent.ScheduledFuture @@ -75,7 +75,7 @@ open class SWItem(val injector: HasAndroidInjector, var type: Type) { override fun run() { aapsLogger.debug(LTag.CORE, "Firing EventPreferenceChange") - rxBus.send(EventPreferenceChange(rh, preferenceId)) + rxBus.send(EventPreferenceChange(rh.gs(preferenceId))) rxBus.send(EventSWUpdate(false)) scheduledEventPost = null } diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt index b734ecc19d..a9ec0e2704 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt @@ -11,7 +11,6 @@ import androidx.work.WorkManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData @@ -26,6 +25,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAppInitialized import info.nightscout.rx.events.EventOfflineChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventTherapyEventChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -99,11 +99,11 @@ class CalculationWorkflow @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event -> - if (event.isChanged(rh, R.string.key_units)) { + if (event.isChanged(rh.gs(R.string.key_units))) { overviewData.reset() rxBus.send(EventNewHistoryData(0, false)) } - if (event.isChanged(rh, R.string.key_rangetodisplay)) { + if (event.isChanged(rh.gs(R.string.key_rangetodisplay))) { overviewData.initRange() runOnScaleChanged() rxBus.send(EventNewHistoryData(0, false)) diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 023e002731..358eb1443a 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -6,7 +6,6 @@ import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Loop import info.nightscout.automation.actions.Action @@ -54,6 +53,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventBTChange import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -137,7 +137,7 @@ class AutomationPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ e -> - if (e.isChanged(rh, R.string.key_location)) { + if (e.isChanged(rh.gs(R.string.key_location))) { locationServiceHelper.stopService(context) locationServiceHelper.startService(context) } diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index 5b2afde88d..a9a6aab56a 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -33,7 +33,6 @@ dependencies { api 'androidx.biometric:biometric:1.1.0' - api "androidx.browser:browser:1.4.0" api 'androidx.cardview:cardview:1.0.0' api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" api "androidx.core:core-ktx:$core_version" @@ -74,8 +73,8 @@ dependencies { //WorkManager api "androidx.work:work-runtime:$work_version" api "androidx.work:work-runtime-ktx:$work_version" -// api "androidx.work:work-rxjava3:$work_version" - api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' + //api "androidx.work:work-rxjava3:$work_version" + //api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' api "commons-codec:commons-codec:$commonscodec_version" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt deleted file mode 100644 index edf853afe1..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.kt +++ /dev/null @@ -1,22 +0,0 @@ -package info.nightscout.androidaps.events - -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.rx.events.Event - -class EventPreferenceChange : Event { - - var changedKey: String? = null - private set - - constructor(key: String) { - changedKey = key - } - - constructor(rh: ResourceHelper, resourceID: Int) { - changedKey = rh.gs(resourceID) - } - - fun isChanged(rh: ResourceHelper, id: Int): Boolean { - return changedKey == rh.gs(id) - } -} diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 80f83e7b4f..372f8be06e 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -260,7 +260,6 @@ Paused INVALID Login - Upload now Prime/Fill Insulin Stop temp target diff --git a/database/impl/build.gradle b/database/impl/build.gradle index 39b78acc17..f30d9b538c 100644 --- a/database/impl/build.gradle +++ b/database/impl/build.gradle @@ -27,6 +27,7 @@ dependencies { api "androidx.core:core-ktx:$core_version" api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" api "io.reactivex.rxjava3:rxjava:$rxjava_version" api "io.reactivex.rxjava3:rxandroid:$rxandroid_version" @@ -41,11 +42,8 @@ dependencies { api "androidx.room:room-ktx:$room_version" api "androidx.room:room-rxjava3:$room_version" - api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" - api "com.google.dagger:dagger-android:$dagger_version" api "com.google.dagger:dagger-android-support:$dagger_version" - api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" } allOpen { diff --git a/openhumans/build.gradle b/openhumans/build.gradle index a2b03cecaa..926a911ac0 100644 --- a/openhumans/build.gradle +++ b/openhumans/build.gradle @@ -17,7 +17,6 @@ android { dependencies { - implementation project(':core:core-main') implementation project(':database:entities') implementation project(':database:impl') implementation project(':interfaces') @@ -26,4 +25,15 @@ dependencies { api "com.squareup.okhttp3:okhttp:$okhttp3_version" api "com.squareup.retrofit2:retrofit:$retrofit2_version" + + api "androidx.browser:browser:1.4.0" + + //WorkManager + api "androidx.work:work-runtime:$work_version" + api "androidx.work:work-runtime-ktx:$work_version" + //api "androidx.work:work-rxjava3:$work_version" + //api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' + + api "com.google.android.material:material:$material_version" + } \ No newline at end of file diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt similarity index 99% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt rename to openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt index feeaa05b28..77411d5e73 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploader.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt @@ -19,7 +19,6 @@ import androidx.work.OneTimeWorkRequestBuilder import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHAppIDDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHCounterDelegate import info.nightscout.androidaps.plugin.general.openhumans.delegates.OHStateDelegate @@ -32,6 +31,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP @@ -55,7 +55,7 @@ import javax.inject.Inject import javax.inject.Singleton @Singleton -class OpenHumansUploader @Inject internal constructor( +class OpenHumansUploaderPlugin @Inject internal constructor( injector: HasAndroidInjector, rh: ResourceHelper, aapsLogger: AAPSLogger, diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt index 9c9b41ec89..cf0da5ad23 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt @@ -22,7 +22,7 @@ class OpenHumansWorker( lateinit var logger: AAPSLogger @Inject - lateinit var openHumansUploader: OpenHumansUploader + lateinit var openHumansUploader: OpenHumansUploaderPlugin override suspend fun doWork(): Result { return try { diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt index 7983961776..a1a87acd5f 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt @@ -10,9 +10,9 @@ import androidx.appcompat.view.ContextThemeWrapper import androidx.lifecycle.LiveData import com.google.android.material.button.MaterialButton import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.plugin.general.openhumans.R import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansState -import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader +import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin +import info.nightscout.androidaps.plugin.general.openhumans.R import javax.inject.Inject class OHFragment : DaggerFragment() { @@ -20,7 +20,7 @@ class OHFragment : DaggerFragment() { @Inject internal lateinit var stateLiveData: LiveData @Inject - internal lateinit var plugin: OpenHumansUploader + internal lateinit var plugin: OpenHumansUploaderPlugin private lateinit var setup: MaterialButton private lateinit var logout: MaterialButton diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt index a1faea2782..17653ac93d 100644 --- a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt +++ b/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt @@ -3,14 +3,14 @@ package info.nightscout.androidaps.plugin.general.openhumans.ui import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploader +import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch import javax.inject.Inject internal class OHLoginViewModel @Inject constructor( - private val plugin: OpenHumansUploader + private val plugin: OpenHumansUploaderPlugin ) : ViewModel(), CoroutineScope by MainScope() { private val _state = MutableLiveData(State.WELCOME) diff --git a/openhumans/src/main/res/values/strings.xml b/openhumans/src/main/res/values/strings.xml index 646ff82672..8c63ed9c69 100644 --- a/openhumans/src/main/res/values/strings.xml +++ b/openhumans/src/main/res/values/strings.xml @@ -54,4 +54,6 @@ We\'re done! From now on, your phone will silently upload data in the background from time to time. Close + Upload now +
\ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 9e73522261..22cc80fcf6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -12,7 +12,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -62,6 +61,7 @@ import info.nightscout.plugins.general.smsCommunicator.otp.OneTimePassword import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -222,7 +222,7 @@ class SmsCommunicatorPlugin @Inject constructor( } private fun processSettings(ev: EventPreferenceChange?) { - if (ev == null || ev.isChanged(rh, R.string.key_smscommunicator_allowednumbers)) { + if (ev == null || ev.isChanged(rh.gs(R.string.key_smscommunicator_allowednumbers))) { val settings = sp.getString(R.string.key_smscommunicator_allowednumbers, "") allowedNumbers.clear() val substrings = settings.split(";").toTypedArray() diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt index 66a6035d5c..9232600aaa 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt @@ -5,12 +5,12 @@ import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventThemeSwitch import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper @@ -40,7 +40,7 @@ class ThemeSwitcherPlugin @Inject constructor( override fun onStart() { compositeDisposable.add(rxBus.toObservable(EventPreferenceChange::class.java).subscribe { - if (it.isChanged(rh, id = R.string.key_use_dark_mode)) { + if (it.isChanged(rh.gs(R.string.key_use_dark_mode))) { setThemeMode() rxBus.send(EventThemeSwitch()) } diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 2fc41864ee..05d467a85b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -4,7 +4,6 @@ import android.content.Context import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop @@ -24,6 +23,7 @@ import info.nightscout.rx.events.EventAppInitialized import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventConfigBuilderChange import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.events.EventTreatmentChange diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 7c2ae0bf9b..31507b88bb 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -6,7 +6,6 @@ import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.IobCobCalculator @@ -34,6 +33,7 @@ import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -112,7 +112,7 @@ open class VirtualPumpPlugin @Inject constructor( disposable += rxBus .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) - .subscribe({ event: EventPreferenceChange -> if (event.isChanged(rh, R.string.key_virtualpump_type)) refreshConfiguration() }, fabricPrivacy::logException) + .subscribe({ event: EventPreferenceChange -> if (event.isChanged(rh.gs(R.string.key_virtualpump_type))) refreshConfiguration() }, fabricPrivacy::logException) refreshConfiguration() } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 0342469607..5b51301e49 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -12,7 +12,6 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper @@ -39,6 +38,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -197,7 +197,7 @@ class NSClientPlugin @Inject constructor( override fun pause(newState: Boolean) { sp.putBoolean(R.string.key_ns_client_paused, newState) - rxBus.send(EventPreferenceChange(rh, R.string.key_ns_client_paused)) + rxBus.send(EventPreferenceChange(rh.gs(R.string.key_ns_client_paused))) } override val version: NsClient.Version diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt index f64bdc6174..d307d8d047 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.sync.nsclient -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject @@ -30,16 +30,16 @@ class NsClientReceiverDelegate @Inject constructor( fun onStatusEvent(ev: EventPreferenceChange) { when { - ev.isChanged(rh, R.string.key_ns_wifi) || - ev.isChanged(rh, R.string.key_ns_cellular) || - ev.isChanged(rh, R.string.key_ns_wifi_ssids) || - ev.isChanged(rh, R.string.key_ns_allow_roaming) -> { + ev.isChanged(rh.gs(R.string.key_ns_wifi)) || + ev.isChanged(rh.gs(R.string.key_ns_cellular)) || + ev.isChanged(rh.gs(R.string.key_ns_wifi_ssids)) || + ev.isChanged(rh.gs(R.string.key_ns_allow_roaming)) -> { receiverStatusStore.updateNetworkStatus() receiverStatusStore.lastNetworkEvent?.let { onStatusEvent(it) } } - ev.isChanged(rh, R.string.key_ns_charging) || - ev.isChanged(rh, R.string.key_ns_battery) -> { + ev.isChanged(rh.gs(R.string.key_ns_charging)) || + ev.isChanged(rh.gs(R.string.key_ns_battery)) -> { receiverStatusStore.broadcastChargingState() } } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index fcd9b6f7c6..07aabe1167 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -16,7 +16,6 @@ import com.google.gson.GsonBuilder import com.google.gson.JsonDeserializer import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.DataWorkerStorage @@ -56,6 +55,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventConfigBuilderChange import info.nightscout.rx.events.EventNSClientRestart +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.remotemodel.RemoteDeviceStatus @@ -142,9 +142,9 @@ class NSClientService : DaggerService(), NsClient.NSClientService { .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event: EventPreferenceChange -> - if (event.isChanged(rh, R.string.key_nsclientinternal_url) || - event.isChanged(rh, R.string.key_nsclientinternal_api_secret) || - event.isChanged(rh, R.string.key_ns_client_paused) + if (event.isChanged(rh.gs(R.string.key_nsclientinternal_url)) || + event.isChanged(rh.gs(R.string.key_nsclientinternal_api_secret)) || + event.isChanged(rh.gs(R.string.key_ns_client_paused)) ) { latestDateInReceivedData = 0 destroy() diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index bd8e8cf1b6..7749e2c5bb 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -12,7 +12,6 @@ import androidx.work.OneTimeWorkRequest import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper @@ -41,6 +40,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.NSAndroidClientImpl @@ -237,7 +237,7 @@ class NSClientV3Plugin @Inject constructor( override fun pause(newState: Boolean) { sp.putBoolean(R.string.key_ns_client_paused, newState) - rxBus.send(EventPreferenceChange(rh, R.string.key_ns_client_paused)) + rxBus.send(EventPreferenceChange(rh.gs(R.string.key_ns_client_paused))) } override val version: NsClient.Version diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index cb8c7d4fed..2de4878b9d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -6,7 +6,6 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy @@ -27,6 +26,7 @@ import info.nightscout.plugins.sync.tidepool.utils.RateLimit import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNetworkChange +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -109,9 +109,9 @@ class TidepoolPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event -> - if (event.isChanged(rh, R.string.key_tidepool_dev_servers) - || event.isChanged(rh, R.string.key_tidepool_username) - || event.isChanged(rh, R.string.key_tidepool_password) + if (event.isChanged(rh.gs(R.string.key_tidepool_dev_servers)) + || event.isChanged(rh.gs(R.string.key_tidepool_username)) + || event.isChanged(rh.gs(R.string.key_tidepool_password)) ) tidepoolUploader.resetInstance() }, fabricPrivacy::logException) diff --git a/plugins/src/main/res/values/strings.xml b/plugins/src/main/res/values/strings.xml index f798645f51..582bf4104a 100644 --- a/plugins/src/main/res/values/strings.xml +++ b/plugins/src/main/res/values/strings.xml @@ -467,6 +467,7 @@ Upload BG tests Remove all Reset start + Upload now virtualpump_uploadstatus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index edaa10a312..f607234ed8 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionServi import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint @@ -28,6 +27,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 6146cfb2ff..89cb7b19ab 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -11,7 +11,6 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; @@ -35,6 +34,7 @@ import info.nightscout.interfaces.utils.Round; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventConfigBuilderChange; +import info.nightscout.rx.events.EventPreferenceChange; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; @@ -108,7 +108,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump .toObservable(EventPreferenceChange.class) .observeOn(aapsSchedulers.getIo()) .subscribe(event -> { - if (event.isChanged(getRh(), R.string.key_danar_bt_name)) { + if (event.isChanged(getRh().gs(R.string.key_danar_bt_name))) { danaPump.reset(); pumpSync.connectNewPump(true); getCommandQueue().readStatus(getRh().gs(R.string.device_changed), null); diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index fe597e10fe..70e1c6633e 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -15,7 +15,6 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; @@ -31,6 +30,7 @@ import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.rx.events.EventPreferenceChange; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index 3fdf21e5f1..be00ab0d25 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -34,6 +33,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAppInitialized import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -85,9 +85,9 @@ class EopatchPumpPlugin @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event: EventPreferenceChange -> - if (event.isChanged(rh, SettingKeys.LOW_RESERVOIR_REMINDERS) || event.isChanged(rh, SettingKeys.EXPIRATION_REMINDERS)) { + if (event.isChanged(rh.gs(SettingKeys.LOW_RESERVOIR_REMINDERS)) || event.isChanged(rh.gs(SettingKeys.EXPIRATION_REMINDERS))) { patchManager.changeReminderSetting() - } else if (event.isChanged(rh, SettingKeys.BUZZER_REMINDERS)) { + } else if (event.isChanged(rh.gs(SettingKeys.BUZZER_REMINDERS))) { patchManager.changeBuzzerSetting() } }) { throwable: Throwable -> fabricPrivacy.logException(throwable) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 71d7f4f574..35680fb5ad 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -6,7 +6,6 @@ import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -68,6 +67,7 @@ import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventTempBasalChange @@ -487,10 +487,10 @@ class OmnipodDashPumpPlugin @Inject constructor( .observeOn(aapsSchedulers.main) .subscribe( { - if (it.isChanged(rh, R.string.key_omnipod_common_expiration_reminder_enabled) || - it.isChanged(rh, R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown) || - it.isChanged(rh, R.string.key_omnipod_common_low_reservoir_alert_enabled) || - it.isChanged(rh, R.string.key_omnipod_common_low_reservoir_alert_units) + if (it.isChanged(rh.gs(R.string.key_omnipod_common_expiration_reminder_enabled)) || + it.isChanged(rh.gs(R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown)) || + it.isChanged(rh.gs(R.string.key_omnipod_common_low_reservoir_alert_enabled)) || + it.isChanged(rh.gs(R.string.key_omnipod_common_low_reservoir_alert_units)) ) { commandQueue.customCommand(CommandUpdateAlertConfiguration(), null) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 1d487ee499..e8dd86542c 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -9,7 +9,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding @@ -39,6 +38,7 @@ import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 76931a0e93..8aa901bacf 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -35,7 +35,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -107,6 +106,7 @@ import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; import info.nightscout.rx.events.EventAppInitialized; +import info.nightscout.rx.events.EventPreferenceChange; import info.nightscout.rx.events.EventRefreshOverview; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; @@ -330,25 +330,25 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley .toObservable(EventPreferenceChange.class) .observeOn(aapsSchedulers.getIo()) .subscribe(event -> { - if (event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.BASAL_BEEPS_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.BOLUS_BEEPS_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.TBR_BEEPS_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.SMB_BEEPS_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.SUSPEND_DELIVERY_BUTTON_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.PULSE_LOG_BUTTON_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.RILEY_LINK_STATS_BUTTON_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.SHOW_RILEY_LINK_BATTERY_LEVEL) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.BATTERY_CHANGE_LOGGING_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.TIME_CHANGE_EVENT_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_TBR_SOUND_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_SMB_SOUND_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_BOLUS_SOUND_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.AUTOMATICALLY_ACKNOWLEDGE_ALERTS_ENABLED)) { + if (event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.BASAL_BEEPS_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.BOLUS_BEEPS_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.TBR_BEEPS_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.SMB_BEEPS_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.SUSPEND_DELIVERY_BUTTON_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.PULSE_LOG_BUTTON_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.RILEY_LINK_STATS_BUTTON_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.SHOW_RILEY_LINK_BATTERY_LEVEL)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.BATTERY_CHANGE_LOGGING_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.TIME_CHANGE_EVENT_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_TBR_SOUND_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_SMB_SOUND_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.NOTIFICATION_UNCERTAIN_BOLUS_SOUND_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.AUTOMATICALLY_ACKNOWLEDGE_ALERTS_ENABLED))) { aapsOmnipodErosManager.reloadSettings(); - } else if (event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.EXPIRATION_REMINDER_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.EXPIRATION_REMINDER_HOURS_BEFORE_SHUTDOWN) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.LOW_RESERVOIR_ALERT_ENABLED) || - event.isChanged(getRh(), OmnipodErosStorageKeys.Preferences.LOW_RESERVOIR_ALERT_UNITS)) { + } else if (event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.EXPIRATION_REMINDER_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.EXPIRATION_REMINDER_HOURS_BEFORE_SHUTDOWN)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.LOW_RESERVOIR_ALERT_ENABLED)) || + event.isChanged(getRh().gs(OmnipodErosStorageKeys.Preferences.LOW_RESERVOIR_ALERT_UNITS))) { if (!verifyPodAlertConfiguration()) { getCommandQueue().customCommand(new CommandUpdateAlertConfiguration(), null); } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index 58517427b2..4d7965d708 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -9,7 +9,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange @@ -47,6 +46,7 @@ import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index e14f30c5a5..ebcd860499 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -12,7 +12,6 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -26,6 +25,7 @@ import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index fb48212dd4..20dbf1bf44 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -11,7 +11,6 @@ import android.view.Window import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.events.EventPreferenceChange import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger @@ -37,6 +36,7 @@ import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPreferenceChange import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag From 4da9f529c2e4ca0a26646ac422f5c36d899ffaf2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 21:12:49 +0100 Subject: [PATCH 072/123] APSResult interface --- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 12 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 4 +- .../aps/openAPSAMA/DetermineBasalResultAMA.kt | 12 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 2 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 4 +- .../aps/openAPSSMB/DetermineBasalResultSMB.kt | 6 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 2 +- .../androidaps/di/CoreDataClassesModule.kt | 4 +- .../nightscout/androidaps/interfaces/APS.kt | 2 +- .../DetermineBasalAdapterInterface.kt | 4 +- .../nightscout/androidaps/interfaces/Loop.kt | 2 +- .../loop/{APSResult.kt => APSResultObject.kt} | 113 +++++++----------- .../plugins/aps/loop/APSResultTest.kt | 32 ++++- .../nightscout/interfaces/aps/APSResult.kt | 42 +++++++ .../DataSyncSelectorImplementation.kt | 1 - .../data/ProcessedDeviceStatusData.kt | 6 +- .../extensions/DeviceStatusExtension.kt | 2 +- 18 files changed, 146 insertions(+), 106 deletions(-) rename core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/{APSResult.kt => APSResultObject.kt} (84%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/aps/APSResult.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 92ab08e46d..89dcbff952 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -31,7 +31,6 @@ import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotifi import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.UserEntry.Action @@ -43,6 +42,7 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineE import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification @@ -60,6 +60,7 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin +import info.nightscout.plugins.sync.nsclient.extensions.buildDeviceStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventAcceptOpenLoopChange @@ -384,8 +385,9 @@ class LoopPlugin @Inject constructor( ) { val waiting = PumpEnactResultObject(injector) waiting.queued = true - if (resultAfterConstraints.tempBasalRequested) lastRun.tbrSetByPump = waiting - if (resultAfterConstraints.bolusRequested()) lastRun.smbSetByPump = waiting + if (resultAfterConstraints.isTempBasalRequested) lastRun.tbrSetByPump = waiting + if (resultAfterConstraints.isBolusRequested) lastRun.smbSetByPump = + waiting rxBus.send(EventLoopUpdateGui()) fabricPrivacy.logCustom("APSRequest") // TBR request must be applied first to prevent situation where @@ -532,7 +534,7 @@ class LoopPlugin @Inject constructor( * TODO: update pump drivers to support APS request in % */ private fun applyTBRRequest(request: APSResult, profile: Profile, callback: Callback?) { - if (!request.tempBasalRequested) { + if (!request.isTempBasalRequested) { callback?.result(PumpEnactResultObject(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() return } @@ -622,7 +624,7 @@ class LoopPlugin @Inject constructor( } private fun applySMBRequest(request: APSResult, callback: Callback?) { - if (!request.bolusRequested()) { + if (!request.isBolusRequested) { aapsLogger.debug(LTag.APS, "No SMB requested") return } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 82933cfe24..b42ea6e3d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit @@ -64,7 +64,7 @@ class DetermineBasalAdapterAMAJS internal constructor(scriptReader: ScriptReader override var scriptDebug = "" @Suppress("SpellCheckingInspection") - override operator fun invoke(): APSResult? { + override operator fun invoke(): APSResultObject? { aapsLogger.debug(LTag.APS, ">>> Invoking determine_basal <<<") aapsLogger.debug(LTag.APS, "Glucose status: " + glucoseStatus.toString().also { glucoseStatusParam = it }) aapsLogger.debug(LTag.APS, "IOB data: " + iobData.toString().also { iobDataParam = it }) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt index f91d5d2b62..a5dc3bb627 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.rx.logging.LTag import org.json.JSONException import org.json.JSONObject import org.mozilla.javascript.NativeObject -class DetermineBasalResultAMA private constructor(injector: HasAndroidInjector) : APSResult(injector) { +class DetermineBasalResultAMA private constructor(injector: HasAndroidInjector) : APSResultObject(injector) { private var eventualBG = 0.0 private var snoozeBG = 0.0 @@ -17,7 +17,7 @@ class DetermineBasalResultAMA private constructor(injector: HasAndroidInjector) json = j if (result.containsKey("error")) { reason = result["error"].toString() - tempBasalRequested = false + isTempBasalRequested = false rate = (-1).toDouble() duration = -1 } else { @@ -27,17 +27,17 @@ class DetermineBasalResultAMA private constructor(injector: HasAndroidInjector) if (result.containsKey("rate")) { rate = result["rate"] as Double if (rate < 0.0) rate = 0.0 - tempBasalRequested = true + isTempBasalRequested = true } else { rate = (-1).toDouble() - tempBasalRequested = false + isTempBasalRequested = false } if (result.containsKey("duration")) { duration = (result["duration"] as Double).toInt() //changeRequested as above } else { duration = -1 - tempBasalRequested = false + isTempBasalRequested = false } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 6f970ac0dc..f49229d1f3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -195,7 +195,7 @@ class OpenAPSAMAPlugin @Inject constructor( lastAPSResult = null lastAPSRun = 0 } else { - if (determineBasalResultAMA.rate == 0.0 && determineBasalResultAMA.duration == 0 && iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now()) == null) determineBasalResultAMA.tempBasalRequested = + if (determineBasalResultAMA.rate == 0.0 && determineBasalResultAMA.duration == 0 && iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now()) == null) determineBasalResultAMA.isTempBasalRequested = false determineBasalResultAMA.iob = iobArray[0] val now = System.currentTimeMillis() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 0c87133292..a79966a8f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit @@ -69,7 +69,7 @@ class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader: override var scriptDebug = "" @Suppress("SpellCheckingInspection") - override operator fun invoke(): APSResult? { + override operator fun invoke(): APSResultObject? { aapsLogger.debug(LTag.APS, ">>> Invoking determine_basal <<<") aapsLogger.debug(LTag.APS, "Glucose status: " + mGlucoseStatus.toString().also { glucoseStatusParam = it }) aapsLogger.debug(LTag.APS, "IOB data: " + iobData.toString().also { iobDataParam = it }) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt index 12440368a9..e3ac98ec65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.interfaces.aps.VariableSensitivityResult import info.nightscout.rx.logging.LTag import org.json.JSONException import org.json.JSONObject -class DetermineBasalResultSMB private constructor(injector: HasAndroidInjector) : APSResult(injector), VariableSensitivityResult { +class DetermineBasalResultSMB private constructor(injector: HasAndroidInjector) : APSResultObject(injector), VariableSensitivityResult { private var eventualBG = 0.0 private var snoozeBG = 0.0 @@ -28,7 +28,7 @@ class DetermineBasalResultSMB private constructor(injector: HasAndroidInjector) if (result.has("carbsReq")) carbsReq = result.getInt("carbsReq") if (result.has("carbsReqWithin")) carbsReqWithin = result.getInt("carbsReqWithin") if (result.has("rate") && result.has("duration")) { - tempBasalRequested = true + isTempBasalRequested = true rate = result.getDouble("rate") if (rate < 0.0) rate = 0.0 duration = result.getInt("duration") diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index b7bbb69b61..f883366489 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -222,7 +222,7 @@ class OpenAPSSMBPlugin @Inject constructor( } else { // TODO still needed with oref1? // Fix bug determine basal - if (determineBasalResultSMB.rate == 0.0 && determineBasalResultSMB.duration == 0 && iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now()) == null) determineBasalResultSMB.tempBasalRequested = + if (determineBasalResultSMB.rate == 0.0 && determineBasalResultSMB.duration == 0 && iobCobCalculator.getTempBasalIncludingConvertedExtended(dateUtil.now()) == null) determineBasalResultSMB.isTempBasalRequested = false determineBasalResultSMB.iob = iobArray[0] determineBasalResultSMB.json?.put("timestamp", dateUtil.toISOString(now)) diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 3a822baeb1..097edccaf3 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -19,7 +19,6 @@ import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin -import info.nightscout.androidaps.utils.extensions.buildDeviceStatus import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config @@ -29,6 +28,7 @@ import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.plugins.configBuilder.RunningConfiguration +import info.nightscout.plugins.sync.nsclient.extensions.buildDeviceStatus import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index c282f9e869..434f9edb30 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.core.profile.ProfileStoreObject @@ -12,7 +12,7 @@ import info.nightscout.core.profile.ProfileStoreObject abstract class CoreDataClassesModule { @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultObject - @ContributesAndroidInjector abstract fun apsResultInjector(): APSResult + @ContributesAndroidInjector abstract fun apsResultInjector(): APSResultObject @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensData @ContributesAndroidInjector abstract fun profileStoreInjector(): ProfileStoreObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt index 6302b76ebd..39edbb7884 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.aps.APSResult interface APS { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt index 3a65caa9a7..46ebf5e61f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt @@ -1,6 +1,6 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData @@ -33,5 +33,5 @@ interface DetermineBasalAdapterInterface { isSaveCgmSource: Boolean = false ) - operator fun invoke(): APSResult? + operator fun invoke(): APSResultObject? } \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt index 94cd92b9b5..3542e7fdcd 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.interfaces -import info.nightscout.androidaps.plugins.aps.loop.APSResult import info.nightscout.database.entities.OfflineEvent +import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt similarity index 84% rename from core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt index c0f9cc55a5..0711a11960 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt @@ -9,6 +9,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal @@ -30,7 +31,7 @@ import kotlin.math.max * Created by mike on 09.06.2016. */ @Suppress("LeakingThis") -open class APSResult @Inject constructor(val injector: HasAndroidInjector) { +open class APSResultObject @Inject constructor(val injector: HasAndroidInjector) : APSResult { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var constraintChecker: Constraints @@ -42,60 +43,30 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { @Inject lateinit var dateUtil: DateUtil var date: Long = 0 - var reason: String = "" - var rate = 0.0 - var percent = 0 - var usePercent = false - var duration = 0 - var tempBasalRequested = false - var iob: IobTotal? = null - var json: JSONObject? = JSONObject() - var hasPredictions = false - var smb = 0.0 // super micro bolus in units - var deliverAt: Long = 0 - var targetBG = 0.0 - var carbsReq = 0 - var carbsReqWithin = 0 - var inputConstraints: Constraint? = null - var rateConstraint: Constraint? = null - var percentConstraint: Constraint? = null - var smbConstraint: Constraint? = null + override var reason: String = "" + override var rate = 0.0 + override var percent = 0 + override var usePercent = false + override var duration = 0 + override var isTempBasalRequested = false + override var iob: IobTotal? = null + override var json: JSONObject? = JSONObject() + override var hasPredictions = false + override var smb = 0.0 // super micro bolus in units + override var deliverAt: Long = 0 + override var targetBG = 0.0 + override var carbsReq = 0 + override var carbsReqWithin = 0 + override var inputConstraints: Constraint? = null + override var rateConstraint: Constraint? = null + override var percentConstraint: Constraint? = null + override var smbConstraint: Constraint? = null init { injector.androidInjector().inject(this) } - fun rate(rate: Double): APSResult { - this.rate = rate - return this - } - - fun duration(duration: Int): APSResult { - this.duration = duration - return this - } - - fun percent(percent: Int): APSResult { - this.percent = percent - return this - } - - fun tempBasalRequested(tempBasalRequested: Boolean): APSResult { - this.tempBasalRequested = tempBasalRequested - return this - } - - fun usePercent(usePercent: Boolean): APSResult { - this.usePercent = usePercent - return this - } - - fun json(json: JSONObject?): APSResult { - this.json = json - return this - } - - val carbsRequiredText: String + override val carbsRequiredText: String get() = rh.gs(R.string.carbsreq, carbsReq, carbsReqWithin) override fun toString(): String { @@ -123,15 +94,20 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { } else rh.gs(R.string.nochangerequested) } - fun toSpanned(): Spanned { + override fun toSpanned(): Spanned { val pump = activePlugin.activePump if (isChangeRequested) { // rate - var ret: String = if (rate == 0.0 && duration == 0) rh.gs(R.string.cancel_temp) + "
" else if (rate == -1.0) rh.gs(R.string.let_temp_basal_run) + "
" else if (usePercent) "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(percent.toDouble()) + "% " + - "(" + DecimalFormatter.to2Decimal(percent * pump.baseBasalRate / 100.0) + " U/h)
" + - "" + rh.gs(R.string.duration) + ": " + DecimalFormatter.to2Decimal(duration.toDouble()) + " min
" else "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal(rate) + " U/h " + - "(" + DecimalFormatter.to2Decimal(rate / pump.baseBasalRate * 100.0) + "%)
" + - "" + rh.gs(R.string.duration) + ": " + DecimalFormatter.to2Decimal(duration.toDouble()) + " min
" + var ret: String = + if (rate == 0.0 && duration == 0) rh.gs(R.string.cancel_temp) + "
" else if (rate == -1.0) rh.gs(R.string.let_temp_basal_run) + "
" else if (usePercent) "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal( + percent.toDouble() + ) + "% " + + "(" + DecimalFormatter.to2Decimal(percent * pump.baseBasalRate / 100.0) + " U/h)
" + + "" + rh.gs(R.string.duration) + ": " + DecimalFormatter.to2Decimal(duration.toDouble()) + " min
" else "" + rh.gs(R.string.rate) + ": " + DecimalFormatter.to2Decimal( + rate + ) + " U/h " + + "(" + DecimalFormatter.to2Decimal(rate / pump.baseBasalRate * 100.0) + "%)
" + + "" + rh.gs(R.string.duration) + ": " + DecimalFormatter.to2Decimal(duration.toDouble()) + " min
" // smb if (smb != 0.0) ret += "" + "SMB" + ": " + DecimalFormatter.toPumpSupportedBolus(smb, activePlugin.activePump, rh) + "
" @@ -148,18 +124,18 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { } else fromHtml(rh.gs(R.string.nochangerequested)) } - open fun newAndClone(injector: HasAndroidInjector): APSResult { - val newResult = APSResult(injector) + override fun newAndClone(injector: HasAndroidInjector): APSResult { + val newResult = APSResultObject(injector) doClone(newResult) return newResult } - protected fun doClone(newResult: APSResult) { + protected fun doClone(newResult: APSResultObject) { newResult.date = date newResult.reason = reason newResult.rate = rate newResult.duration = duration - newResult.tempBasalRequested = tempBasalRequested + newResult.isTempBasalRequested = isTempBasalRequested newResult.iob = iob newResult.json = JSONObject(json.toString()) newResult.hasPredictions = hasPredictions @@ -174,7 +150,7 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { newResult.targetBG = targetBG } - open fun json(): JSONObject? { + override fun json(): JSONObject? { val json = JSONObject() if (isChangeRequested) { json.put("rate", rate) @@ -184,7 +160,7 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { return json } - val predictions: MutableList + override val predictions: MutableList get() { val array: MutableList = ArrayList() val startTime = date @@ -265,7 +241,7 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { } return array } - val latestPredictionsTime: Long + override val latestPredictionsTime: Long get() { var latest: Long = 0 try { @@ -298,20 +274,17 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { } return latest } - val isCarbsRequired: Boolean - get() = carbsReq > 0 - - val isChangeRequested: Boolean + override val isChangeRequested: Boolean get() { val closedLoopEnabled = constraintChecker.isClosedLoopAllowed() // closed loop mode: handle change at driver level if (closedLoopEnabled.value()) { aapsLogger.debug(LTag.APS, "DEFAULT: Closed mode") - return tempBasalRequested || bolusRequested() + return isTempBasalRequested || isBolusRequested } // open loop mode: try to limit request - if (!tempBasalRequested && !bolusRequested()) { + if (!isTempBasalRequested && !isBolusRequested) { aapsLogger.debug(LTag.APS, "FALSE: No request") return false } @@ -397,6 +370,4 @@ open class APSResult @Inject constructor(val injector: HasAndroidInjector) { } } } - - fun bolusRequested(): Boolean = smb > 0.0 } \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index 7914bf5cf6..5b5e6bae4a 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -5,6 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.pump.defs.PumpType @@ -25,10 +26,35 @@ class APSResultTest : TestBaseWithProfile() { private var closedLoopEnabled = Constraint(false) + private fun APSResult.percent(percent: Int): APSResult { + this.percent = percent + return this + } + + private fun APSResult.rate(rate: Double): APSResult { + this.rate = rate + return this + } + + private fun APSResult.duration(duration: Int): APSResult { + this.duration = duration + return this + } + + private fun APSResult.usePercent(usePercent: Boolean): APSResult { + this.usePercent = usePercent + return this + } + + private fun APSResult.tempBasalRequested(tempBasalRequested: Boolean): APSResult { + this.isTempBasalRequested = tempBasalRequested + return this + } + @Test fun changeRequestedTest() { - val apsResult = APSResult { AndroidInjector { } } + val apsResult = APSResultObject { AndroidInjector { } } .also { it.aapsLogger = aapsLogger it.constraintChecker = constraints @@ -269,7 +295,7 @@ class APSResultTest : TestBaseWithProfile() { } @Test fun cloneTest() { - val apsResult = APSResult { AndroidInjector { } } + val apsResult = APSResultObject { AndroidInjector { } } .also { it.aapsLogger = aapsLogger it.constraintChecker = constraints @@ -286,7 +312,7 @@ class APSResultTest : TestBaseWithProfile() { @Test fun jsonTest() { closedLoopEnabled.set(aapsLogger, true) - val apsResult = APSResult { AndroidInjector { } } + val apsResult = APSResultObject { AndroidInjector { } } .also { it.aapsLogger = aapsLogger it.constraintChecker = constraints diff --git a/interfaces/src/main/java/info/nightscout/interfaces/aps/APSResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/APSResult.kt new file mode 100644 index 0000000000..5d5a747290 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/APSResult.kt @@ -0,0 +1,42 @@ +package info.nightscout.interfaces.aps + +import android.text.Spanned +import dagger.android.HasAndroidInjector +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.iob.IobTotal +import org.json.JSONObject + +interface APSResult { + var json: JSONObject? + var reason: String + var rate: Double + var percent: Int + var duration: Int + var smb: Double + var iob: IobTotal? + var usePercent: Boolean + var carbsReq: Int + var carbsReqWithin: Int + var deliverAt: Long + var targetBG: Double + var hasPredictions: Boolean + + val predictions: MutableList + val latestPredictionsTime: Long + val isChangeRequested: Boolean + var isTempBasalRequested: Boolean + val isCarbsRequired: Boolean get() = carbsReq > 0 + val isBolusRequested: Boolean get() = smb > 0.0 + + val carbsRequiredText: String + + var inputConstraints: Constraint? + var rateConstraint: Constraint? + var percentConstraint: Constraint? + var smbConstraint: Constraint? + + fun toSpanned(): Spanned + fun newAndClone(injector: HasAndroidInjector): APSResult + fun json(): JSONObject? +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index 4bd3e0c9e5..c2be5cad3d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -2,7 +2,6 @@ package info.nightscout.plugins.sync.nsclient import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.utils.extensions.toJson import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt index a69507f64a..2988f851d3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.sync.nsclient.data import android.text.Spanned import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.aps.loop.APSResult +import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.Round @@ -158,8 +158,8 @@ class ProcessedDeviceStatusData @Inject constructor( val openApsTimestamp: Long get() = if (openAPSData.clockSuggested != 0L) openAPSData.clockSuggested else -1 - fun getAPSResult(injector: HasAndroidInjector): APSResult { - val result = APSResult(injector) + fun getAPSResult(injector: HasAndroidInjector): APSResultObject { + val result = APSResultObject(injector) result.json = openAPSData.suggested result.date = openAPSData.clockSuggested return result diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index d1363fde84..07eaf69835 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.extensions +package info.nightscout.plugins.sync.nsclient.extensions import android.os.Build import info.nightscout.androidaps.interfaces.IobCobCalculator From fd0bd85c6489e769beb5456b43ee8bf96e65b973 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 21:42:50 +0100 Subject: [PATCH 073/123] move to interfaces --- .../nightscout/androidaps/MainActivity.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/di/DataClassesModule.kt | 3 -- .../aps/loop/CarbSuggestionReceiver.kt | 2 +- .../plugins/aps/loop/LoopFragment.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 4 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 6 +-- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 8 ++-- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 6 +-- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 10 ++--- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 6 +-- .../OpenAPSSMBDynamicISFPlugin.kt | 4 +- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../plugins/configBuilder/PluginStore.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 3 +- .../plugins/general/overview/OverviewMenus.kt | 2 +- .../PersistentNotificationPlugin.kt | 1 + .../wear/wearintegration/DataHandlerMobile.kt | 3 +- .../DataLayerListenerServiceMobile.kt | 2 +- .../IobCobCalculatorPlugin.kt | 3 ++ .../sensitivity/AbstractSensitivityPlugin.kt | 2 +- .../sensitivity/SensitivityAAPSPlugin.kt | 2 +- .../sensitivity/SensitivityOref1Plugin.kt | 2 +- .../SensitivityWeightedAveragePlugin.kt | 2 +- .../androidaps/receivers/KeepAliveWorker.kt | 2 +- .../androidaps/workflow/InvokeLoopWorker.kt | 2 +- .../PrepareIobAutosensGraphDataWorker.kt | 2 +- .../workflow/PreparePredictionsWorker.kt | 2 +- .../PrepareTemporaryTargetDataWorker.kt | 2 +- .../androidaps/data/QuickWizardTest.kt | 2 +- .../AbstractSensitivityPluginTest.kt | 2 +- .../utils/wizard/BolusWizardTest.kt | 2 +- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../automation/actions/ActionLoopDisable.kt | 2 +- .../automation/actions/ActionLoopEnable.kt | 2 +- .../automation/actions/ActionLoopResume.kt | 6 +-- .../automation/actions/ActionLoopSuspend.kt | 2 +- .../automation/AutomationEventTest.kt | 6 +-- .../automation/actions/ActionsTestBase.kt | 2 +- .../automation/triggers/TriggerCOBTest.kt | 2 +- .../extensions/ExtendedBolusExtension.kt | 2 +- .../extensions/TemporaryBasalExtension.kt | 2 +- .../nightscout/androidaps/interfaces/APS.kt | 14 ------- .../androidaps/interfaces/ActivePlugin.kt | 1 + .../DetermineBasalAdapterInterface.kt | 37 ------------------- .../androidaps/interfaces/IobCobCalculator.kt | 6 +-- .../androidaps/interfaces/Sensitivity.kt | 2 +- .../plugins/general/overview/OverviewData.kt | 2 +- .../plugins/iob/iobCobCalculator/CobInfo.kt | 30 --------------- .../iob/iobCobCalculator/GlucoseStatus.kt | 28 -------------- .../iobCobCalculator/GlucoseStatusProvider.kt | 5 ++- .../iob/iobCobCalculator/data/AutosensData.kt | 2 +- .../nightscout/core/iob/CobInfoExtension.kt | 27 ++++++++++++++ .../core/iob/GlucoseStatusExtension.kt | 19 ++++++++++ .../nightscout/core/wizard/BolusWizard.kt | 4 +- .../core/wizard/QuickWizardEntry.kt | 2 +- .../iob/iobCalculator/GlucoseStatusTest.kt | 5 ++- .../implementation/BolusTimerImplTest.kt | 2 +- .../implementation/CarbTimerImplTest.kt | 2 +- .../info/nightscout/interfaces/aps/APS.kt | 11 ++++++ .../interfaces/aps}/AutosensResult.kt | 2 +- .../nightscout/interfaces/aps}/BasalData.kt | 2 +- .../interfaces/aps/DetermineBasalAdapter.kt | 37 +++++++++++++++++++ .../info/nightscout/interfaces/aps}/Loop.kt | 3 +- .../info/nightscout/interfaces/iob/CobInfo.kt | 4 ++ .../interfaces/iob/GlucoseStatus.kt | 10 +++++ .../constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../objectives/objectives/Objective0.kt | 2 +- .../general/actions/ActionsFragment.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 3 +- .../xdripStatusline/StatusLinePlugin.kt | 3 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../dstHelper/DstHelperPluginTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 4 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 2 +- .../java/info/nightscout/ui/widget/Widget.kt | 3 +- 77 files changed, 209 insertions(+), 200 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt create mode 100644 core/core-main/src/main/java/info/nightscout/core/iob/CobInfoExtension.kt create mode 100644 core/core-main/src/main/java/info/nightscout/core/iob/GlucoseStatusExtension.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/aps/APS.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator => interfaces/src/main/java/info/nightscout/interfaces/aps}/AutosensResult.kt (89%) rename {core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator => interfaces/src/main/java/info/nightscout/interfaces/aps}/BasalData.kt (62%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/aps/DetermineBasalAdapter.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/aps}/Loop.kt (93%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/iob/CobInfo.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/iob/GlucoseStatus.kt diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 0445e6085d..9019df2258 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -36,7 +36,6 @@ import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.setupwizard.SetupWizardActivity @@ -52,6 +51,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.locale.LocaleHelper import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 81d6ffc0f8..513f29088c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator @@ -48,6 +47,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.maintenance.ImportExportPrefs diff --git a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt index d9f182f33d..91a56552a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.core.wizard.BolusWizard import info.nightscout.core.wizard.QuickWizardEntry @@ -10,8 +9,6 @@ import info.nightscout.core.wizard.QuickWizardEntry @Suppress("unused") abstract class DataClassesModule { - @ContributesAndroidInjector abstract fun glucoseStatusInjector(): GlucoseStatus - @ContributesAndroidInjector abstract fun bolusWizardInjector(): BolusWizard @ContributesAndroidInjector abstract fun quickWizardEntryInjector(): QuickWizardEntry } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt index f1b906476d..865cd09476 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.aps.loop import android.content.Context import android.content.Intent import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.interfaces.aps.Loop import javax.inject.Inject class CarbSuggestionReceiver : DaggerBroadcastReceiver() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index 2f58cff830..23b53cc639 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -14,10 +14,10 @@ import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 89dcbff952..f7ea7b89d5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -22,8 +22,6 @@ import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.androidaps.interfaces.Loop.LastRun import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui @@ -43,6 +41,8 @@ import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncement import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.APSResult +import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.aps.Loop.LastRun import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index b42ea6e3d6..400fbe9dcd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -5,15 +5,15 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile @@ -38,7 +38,7 @@ import java.nio.charset.StandardCharsets import javax.inject.Inject import kotlin.math.min -class DetermineBasalAdapterAMAJS internal constructor(scriptReader: ScriptReader, injector: HasAndroidInjector) : DetermineBasalAdapterInterface { +class DetermineBasalAdapterAMAJS internal constructor(scriptReader: ScriptReader, injector: HasAndroidInjector) : DetermineBasalAdapter { private val injector: HasAndroidInjector diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index f49229d1f3..70d85c95c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -5,21 +5,21 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.APS +import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase @@ -73,7 +73,7 @@ class OpenAPSAMAPlugin @Inject constructor( // last values override var lastAPSRun: Long = 0 override var lastAPSResult: DetermineBasalResultAMA? = null - override var lastDetermineBasalAdapter: DetermineBasalAdapterInterface? = null + override var lastDetermineBasalAdapter: DetermineBasalAdapter? = null override var lastAutosensResult: AutosensResult = AutosensResult() override fun specialEnableCondition(): Boolean { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index a79966a8f0..2f9a433a48 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -6,15 +6,15 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile @@ -40,7 +40,7 @@ import java.lang.reflect.InvocationTargetException import java.nio.charset.StandardCharsets import javax.inject.Inject -class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader: ScriptReader, private val injector: HasAndroidInjector) : DetermineBasalAdapterInterface { +class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader: ScriptReader, private val injector: HasAndroidInjector) : DetermineBasalAdapter { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var constraintChecker: Constraints diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index f883366489..60306141cc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -7,20 +7,20 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.APS +import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -74,7 +74,7 @@ class OpenAPSSMBPlugin @Inject constructor( // last values override var lastAPSRun: Long = 0 override var lastAPSResult: DetermineBasalResultSMB? = null - override var lastDetermineBasalAdapter: DetermineBasalAdapterInterface? = null + override var lastDetermineBasalAdapter: DetermineBasalAdapter? = null override var lastAutosensResult = AutosensResult() override fun specialEnableCondition(): Boolean { @@ -249,5 +249,5 @@ class OpenAPSSMBPlugin @Inject constructor( return maxIob } - fun provideDetermineBasalAdapter(): DetermineBasalAdapterInterface = DetermineBasalAdapterSMBJS(ScriptReader(context), injector) + fun provideDetermineBasalAdapter(): DetermineBasalAdapter = DetermineBasalAdapterSMBJS(ScriptReader(context), injector) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 4ade7eba58..b092b755e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -6,18 +6,18 @@ import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.core.profile.toMgdl import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile @@ -46,7 +46,7 @@ import java.nio.charset.StandardCharsets import javax.inject.Inject import kotlin.math.ln -class DetermineBasalAdapterSMBDynamicISFJS internal constructor(private val scriptReader: ScriptReader, private val injector: HasAndroidInjector) : DetermineBasalAdapterInterface { +class DetermineBasalAdapterSMBDynamicISFJS internal constructor(private val scriptReader: ScriptReader, private val injector: HasAndroidInjector) : DetermineBasalAdapter { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var constraintChecker: Constraints diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 2bd7a483e7..dcf52e25c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.DetermineBasalAdapterInterface import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin @@ -13,6 +12,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.utils.Profiler import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits @@ -73,5 +73,5 @@ class OpenAPSSMBDynamicISFPlugin @Inject constructor( override fun specialEnableCondition(): Boolean = buildHelper.isEngineeringMode() && buildHelper.isDev() - override fun provideDetermineBasalAdapter(): DetermineBasalAdapterInterface = DetermineBasalAdapterSMBDynamicISFJS(ScriptReader(context), injector) + override fun provideDetermineBasalAdapter(): DetermineBasalAdapter = DetermineBasalAdapterSMBDynamicISFJS(ScriptReader(context), injector) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index b99245e27f..fc80eccdac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.configBuilder import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger @@ -13,6 +12,7 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.APS import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 1261fc5833..39b25f594d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.androidaps.interfaces.APS import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.aps.APS import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index e03d7a8803..5dc05bb3c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents @@ -19,6 +18,7 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 340e759662..36f6314915 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -36,7 +36,6 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB @@ -56,6 +55,7 @@ import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.displayText import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits @@ -68,6 +68,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index c19acdccab..3c8a1dd4f9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -12,10 +12,10 @@ import androidx.annotation.StringRes import androidx.appcompat.widget.PopupMenu import com.google.gson.Gson import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventScale diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index c78a4750cb..c2dcca20b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -15,6 +15,7 @@ import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.interfaces.Constants diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index b0ec7d2ca1..ddc3f2ef34 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -21,6 +20,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl @@ -43,6 +43,7 @@ import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporar import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index 06d80a31cf..086333c7f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -18,7 +18,6 @@ import dagger.android.AndroidInjection import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore @@ -26,6 +25,7 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 273f63976e..7276f3c5dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -29,6 +29,9 @@ import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.BasalData +import info.nightscout.interfaces.iob.CobInfo import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index fb7d67c40b..e25a30bded 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 9f160acc5f..a08f314c90 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -6,11 +6,11 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 6e20c11654..3cb8bad31b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -6,11 +6,11 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index ee617496b4..9a9b030fa5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -7,11 +7,11 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index 097edccaf3..c693134a3b 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -17,12 +17,12 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Command diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt index afd05522ab..e8a63b86de 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt @@ -7,8 +7,8 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.aps.Loop import info.nightscout.rx.events.Event import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 149297040c..657479be73 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -18,7 +18,6 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Devia import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter @@ -26,6 +25,7 @@ import info.nightscout.core.iob.combine import info.nightscout.core.iob.copy import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt index 6c39e246f1..6eb9c03f9c 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PreparePredictionsWorker.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -15,6 +14,7 @@ import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt index 910b863e63..efe07c6fd9 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTemporaryTargetDataWorker.kt @@ -9,13 +9,13 @@ import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus diff --git a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt index 1bd1a69a08..2bb2dc9f2f 100644 --- a/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/data/QuickWizardTest.kt @@ -4,9 +4,9 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.core.wizard.QuickWizard import info.nightscout.core.wizard.QuickWizardEntry +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index d6ea838f24..0eb4f2b261 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index ced9257f07..c8df250b78 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -6,11 +6,11 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobTotal diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index 358eb1443a..d32354aace 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -7,7 +7,6 @@ import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm import info.nightscout.automation.actions.ActionCarePortalEvent @@ -43,6 +42,7 @@ import info.nightscout.automation.triggers.TriggerTimeRange import info.nightscout.automation.triggers.TriggerWifiSsid import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index 59d6bec54a..a15b2e1943 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -3,12 +3,12 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index 6f5a1488af..c833556ce6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -3,12 +3,12 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index add84aeefa..cd76adcbb6 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -3,14 +3,14 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index ed1fa27fed..be967e3a86 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -4,7 +4,6 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration @@ -13,6 +12,7 @@ import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus diff --git a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt index 529094192f..33d4f3786c 100644 --- a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt +++ b/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt @@ -3,16 +3,16 @@ package info.nightscout.automation import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.androidaps.interfaces.Loop -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionLoopEnable import info.nightscout.automation.actions.ActionStopProcessing import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.automation.triggers.TriggerConnectorTest import info.nightscout.automation.triggers.TriggerDummy +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Loop import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONObject import org.junit.Assert import org.junit.Test diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 73b44e9a2c..4cbacae15e 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -6,12 +6,12 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt index 5d362d3657..2eaed607c8 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt @@ -1,8 +1,8 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.automation.elements.Comparator +import info.nightscout.interfaces.iob.CobInfo import org.json.JSONObject import org.junit.Assert import org.junit.Before diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index eefc4c13e9..a0232d3494 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.Profile diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 125839b5af..4d3d041ea1 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.interfaces.end +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.Profile diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt deleted file mode 100644 index 39edbb7884..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/APS.kt +++ /dev/null @@ -1,14 +0,0 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.interfaces.aps.APSResult - -interface APS { - - val lastAPSResult: APSResult? - val lastAPSRun: Long - var lastDetermineBasalAdapter: DetermineBasalAdapterInterface? - var lastAutosensResult: AutosensResult - - operator fun invoke(initiator: String, tempBasalFallback: Boolean) -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt index cc64c94c9d..feea71f385 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt @@ -1,6 +1,7 @@ package info.nightscout.androidaps.interfaces import info.nightscout.interfaces.Overview +import info.nightscout.interfaces.aps.APS import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt deleted file mode 100644 index 46ebf5e61f..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/DetermineBasalAdapterInterface.kt +++ /dev/null @@ -1,37 +0,0 @@ -package info.nightscout.androidaps.interfaces - -import info.nightscout.androidaps.plugins.aps.loop.APSResultObject -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus -import info.nightscout.interfaces.iob.IobTotal -import info.nightscout.interfaces.iob.MealData -import info.nightscout.interfaces.profile.Profile - -interface DetermineBasalAdapterInterface { - - var currentTempParam: String? - var iobDataParam: String? - var glucoseStatusParam: String? - var profileParam: String? - var mealDataParam: String? - var scriptDebug: String - - fun setData(profile: Profile, - maxIob: Double, - maxBasal: Double, - minBg: Double, - maxBg: Double, - targetBg: Double, - basalRate: Double, - iobArray: Array, - glucoseStatus: GlucoseStatus, - mealData: MealData, - autosensDataRatio: Double, - tempTargetSet: Boolean, - microBolusAllowed: Boolean = false, - uamAllowed: Boolean = false, - advancedFiltering: Boolean = false, - isSaveCgmSource: Boolean = false - ) - - operator fun invoke(): APSResultObject? -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt index 558118c85b..41ddbf4b98 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt @@ -1,12 +1,12 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.BasalData -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo +import info.nightscout.interfaces.aps.BasalData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.iob.CobInfo import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt index 4c25455309..4fb892d8ec 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.interfaces import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.interfaces.ConfigExportImport +import info.nightscout.interfaces.aps.AutosensResult interface Sensitivity : ConfigExportImport { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index ca0398f969..1473d599bc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -20,7 +20,6 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Fixed import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.iob.round @@ -29,6 +28,7 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.iob.CobInfo import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt deleted file mode 100644 index 59151086ff..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CobInfo.kt +++ /dev/null @@ -1,30 +0,0 @@ -package info.nightscout.androidaps.plugins.iob.iobCobCalculator - -import info.nightscout.core.main.R -import info.nightscout.shared.utils.DateUtil -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.shared.interfaces.ResourceHelper - -/** All COB up to now, including carbs not yet processed by IobCob calculation. */ -class CobInfo(val timestamp: Long, val displayCob: Double?, val futureCarbs: Double) { - - fun generateCOBString(): String { - var cobStringResult = "--g" - if (displayCob != null) { - cobStringResult = DecimalFormatter.to0Decimal(displayCob) - if (futureCarbs > 0) - cobStringResult += "(${DecimalFormatter.to0Decimal(futureCarbs)})" - cobStringResult += "g" - } - return cobStringResult - } - - fun displayText(rh: ResourceHelper, dateUtil: DateUtil, isDev: Boolean): String? = - if (displayCob != null) { - var cobText = rh.gs(R.string.format_carbs, displayCob.toInt()) - if (futureCarbs > 0) cobText += "(" + DecimalFormatter.to0Decimal(futureCarbs) + ")" - // This is only temporary for debugging - if (isDev) cobText += "\n" + dateUtil.timeString(timestamp) - cobText - } else null -} diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt deleted file mode 100644 index f74aa69837..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatus.kt +++ /dev/null @@ -1,28 +0,0 @@ -package info.nightscout.androidaps.plugins.iob.iobCobCalculator - -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.utils.Round - -data class GlucoseStatus( - val glucose: Double, - val noise: Double = 0.0, - val delta: Double = 0.0, - val shortAvgDelta: Double = 0.0, - val longAvgDelta: Double = 0.0, - val date: Long = 0L -) { - - fun log(): String = "Glucose: " + DecimalFormatter.to0Decimal(glucose) + " mg/dl " + - "Noise: " + DecimalFormatter.to0Decimal(noise) + " " + - "Delta: " + DecimalFormatter.to0Decimal(delta) + " mg/dl" + - "Short avg. delta: " + " " + DecimalFormatter.to2Decimal(shortAvgDelta) + " mg/dl " + - "Long avg. delta: " + DecimalFormatter.to2Decimal(longAvgDelta) + " mg/dl" -} - -fun GlucoseStatus.asRounded() = copy( - glucose = Round.roundTo(glucose, 0.1), - noise = Round.roundTo(noise, 0.01), - delta = Round.roundTo(delta, 0.01), - shortAvgDelta = Round.roundTo(shortAvgDelta, 0.01), - longAvgDelta = Round.roundTo(longAvgDelta, 0.01) -) \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt index 522481c899..7dab0d1b8d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt @@ -2,9 +2,12 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import dagger.Reusable import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.shared.utils.DateUtil +import info.nightscout.core.iob.asRounded +import info.nightscout.core.iob.log +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import kotlin.math.roundToLong diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt index 4406dbf894..69132671bb 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt @@ -5,10 +5,10 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensResult import info.nightscout.core.main.R import info.nightscout.database.entities.Carbs import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/core/iob/CobInfoExtension.kt b/core/core-main/src/main/java/info/nightscout/core/iob/CobInfoExtension.kt new file mode 100644 index 0000000000..ee56c4ba8f --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/iob/CobInfoExtension.kt @@ -0,0 +1,27 @@ +package info.nightscout.core.iob + +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.core.main.R +import info.nightscout.interfaces.iob.CobInfo +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil + +fun CobInfo.generateCOBString(): String { + var cobStringResult = "--g" + displayCob?.let { displayCob -> + cobStringResult = DecimalFormatter.to0Decimal(displayCob) + if (futureCarbs > 0) + cobStringResult += "(${DecimalFormatter.to0Decimal(futureCarbs)})" + cobStringResult += "g" + } + return cobStringResult +} + +fun CobInfo.displayText(rh: ResourceHelper, dateUtil: DateUtil, isDev: Boolean): String? = + displayCob?.let { displayCob -> + var cobText = rh.gs(R.string.format_carbs, displayCob.toInt()) + if (futureCarbs > 0) cobText += "(" + DecimalFormatter.to0Decimal(futureCarbs) + ")" + // This is only temporary for debugging + if (isDev) cobText += "\n" + dateUtil.timeString(timestamp) + cobText + } diff --git a/core/core-main/src/main/java/info/nightscout/core/iob/GlucoseStatusExtension.kt b/core/core-main/src/main/java/info/nightscout/core/iob/GlucoseStatusExtension.kt new file mode 100644 index 0000000000..ddf56a4e53 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/iob/GlucoseStatusExtension.kt @@ -0,0 +1,19 @@ +package info.nightscout.core.iob + +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.utils.Round + +fun GlucoseStatus.log(): String = "Glucose: " + DecimalFormatter.to0Decimal(glucose) + " mg/dl " + + "Noise: " + DecimalFormatter.to0Decimal(noise) + " " + + "Delta: " + DecimalFormatter.to0Decimal(delta) + " mg/dl" + + "Short avg. delta: " + " " + DecimalFormatter.to2Decimal(shortAvgDelta) + " mg/dl " + + "Long avg. delta: " + DecimalFormatter.to2Decimal(longAvgDelta) + " mg/dl" + +fun GlucoseStatus.asRounded() = copy( + glucose = Round.roundTo(glucose, 0.1), + noise = Round.roundTo(noise, 0.01), + delta = Round.roundTo(delta, 0.01), + shortAvgDelta = Round.roundTo(shortAvgDelta, 0.01), + longAvgDelta = Round.roundTo(longAvgDelta, 0.01) +) \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt index 90895b52e1..a3044c945e 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt @@ -9,9 +9,7 @@ import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.iob.round @@ -29,8 +27,10 @@ import info.nightscout.database.impl.transactions.InsertOrUpdateBolusCalculatorR import info.nightscout.interfaces.BolusTimer import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt index 0944eb1daf..42e6d2e3fe 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt @@ -4,7 +4,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.round import info.nightscout.core.main.R @@ -12,6 +11,7 @@ import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt index c024b526a4..2b89299f4f 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt @@ -3,10 +3,11 @@ package info.nightscout.androidaps.plugins.iob.iobCalculator import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.asRounded +import info.nightscout.core.iob.asRounded +import info.nightscout.core.iob.log import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.junit.Assert diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index 48c1a56bf8..eaf00a8974 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index 4bdd5355de..dc63f2468b 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.TimerUtil diff --git a/interfaces/src/main/java/info/nightscout/interfaces/aps/APS.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/APS.kt new file mode 100644 index 0000000000..3f829ccfb1 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/APS.kt @@ -0,0 +1,11 @@ +package info.nightscout.interfaces.aps + +interface APS { + + val lastAPSResult: APSResult? + val lastAPSRun: Long + var lastDetermineBasalAdapter: DetermineBasalAdapter? + var lastAutosensResult: AutosensResult + + operator fun invoke(initiator: String, tempBasalFallback: Boolean) +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensResult.kt similarity index 89% rename from core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensResult.kt index f447651e29..3460b3e78e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensResult.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.iob.iobCobCalculator +package info.nightscout.interfaces.aps import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/BasalData.kt similarity index 62% rename from core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/BasalData.kt index ffeb031b95..7aa8cb0ffb 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/BasalData.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/BasalData.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.iob.iobCobCalculator +package info.nightscout.interfaces.aps class BasalData { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/aps/DetermineBasalAdapter.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/DetermineBasalAdapter.kt new file mode 100644 index 0000000000..44128b5c14 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/DetermineBasalAdapter.kt @@ -0,0 +1,37 @@ +package info.nightscout.interfaces.aps + +import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.profile.Profile + +interface DetermineBasalAdapter { + + var currentTempParam: String? + var iobDataParam: String? + var glucoseStatusParam: String? + var profileParam: String? + var mealDataParam: String? + var scriptDebug: String + + fun setData( + profile: Profile, + maxIob: Double, + maxBasal: Double, + minBg: Double, + maxBg: Double, + targetBg: Double, + basalRate: Double, + iobArray: Array, + glucoseStatus: GlucoseStatus, + mealData: MealData, + autosensDataRatio: Double, + tempTargetSet: Boolean, + microBolusAllowed: Boolean = false, + uamAllowed: Boolean = false, + advancedFiltering: Boolean = false, + isSaveCgmSource: Boolean = false + ) + + operator fun invoke(): APSResult? +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/Loop.kt similarity index 93% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/Loop.kt index 3542e7fdcd..25e4339f3c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Loop.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/Loop.kt @@ -1,7 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.aps import info.nightscout.database.entities.OfflineEvent -import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/interfaces/src/main/java/info/nightscout/interfaces/iob/CobInfo.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/CobInfo.kt new file mode 100644 index 0000000000..35c70f8d5f --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/CobInfo.kt @@ -0,0 +1,4 @@ +package info.nightscout.interfaces.iob + +/** All COB up to now, including carbs not yet processed by IobCob calculation. */ +class CobInfo(val timestamp: Long, val displayCob: Double?, val futureCarbs: Double) \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/iob/GlucoseStatus.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/GlucoseStatus.kt new file mode 100644 index 0000000000..c79917d29f --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/GlucoseStatus.kt @@ -0,0 +1,10 @@ +package info.nightscout.interfaces.iob + +data class GlucoseStatus( + val glucose: Double, + val noise: Double = 0.0, + val delta: Double = 0.0, + val shortAvgDelta: Double = 0.0, + val longAvgDelta: Double = 0.0, + val date: Long = 0L +) \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index ed064951be..e3ca6e91ba 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -2,7 +2,7 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt index 3c0c31a567..d45f07fff4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index c877607eee..c81ba15896 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -27,6 +26,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.queue.Callback diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 22cc80fcf6..530e50cd27 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -23,6 +22,7 @@ import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.textValidator.ValidatingEditTextPreference import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.toCurrentUnits import info.nightscout.core.profile.toMgdl @@ -41,6 +41,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 05d467a85b..093846aa5a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -6,11 +6,12 @@ import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index 07eaf69835..b3f0174833 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -2,10 +2,10 @@ package info.nightscout.plugins.sync.nsclient.extensions import android.os.Build import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.iob.json import info.nightscout.database.entities.DeviceStatus +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.Pump import info.nightscout.plugins.configBuilder.RunningConfiguration diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt index 81bbc12a62..7f33043ca5 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop +import info.nightscout.interfaces.aps.Loop import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 5b95e1a6c1..c8a8b45400 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -7,10 +7,8 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository @@ -21,8 +19,10 @@ import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.CobInfo import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index 20dbf1bf44..4ed7e4ac16 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -12,7 +12,6 @@ import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -25,6 +24,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.database.impl.transactions.InsertAndCancelCurrentOfflineEventTransaction import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 0de0c24c7a..ba720bd3ab 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -18,9 +18,9 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Loop import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider +import info.nightscout.core.iob.displayText import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits @@ -28,6 +28,7 @@ import info.nightscout.database.entities.interfaces.end import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.aps.VariableSensitivityResult import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.profile.Profile From 6fab5a9b8d05c9c2690fe30adf12f0c90cf9ea59 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 11 Nov 2022 23:17:09 +0100 Subject: [PATCH 074/123] move to interfaces --- .../nightscout/androidaps/MainActivity.kt | 2 +- .../activities/HistoryBrowseActivity.kt | 2 +- .../activities/HistoryBrowserData.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 4 +- .../androidaps/plugins/aps/OpenAPSFragment.kt | 2 +- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 4 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 4 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 4 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 4 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 4 +- .../OpenAPSSMBDynamicISFPlugin.kt | 4 +- .../configBuilder/ConfigBuilderFragment.kt | 2 +- .../configBuilder/ConfigBuilderPlugin.kt | 4 +- .../plugins/configBuilder/PluginStore.kt | 6 +- .../configBuilder/ProfileFunctionImpl.kt | 2 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 4 +- .../maintenance/MaintenanceFragment.kt | 2 +- .../general/overview/OverviewFragment.kt | 4 +- .../PersistentNotificationPlugin.kt | 4 +- .../wear/wearintegration/DataHandlerMobile.kt | 4 +- .../DataLayerListenerServiceMobile.kt | 4 +- .../iobCobCalculator/CarbsInPastExtension.kt | 32 +++++++ .../IobCobCalculatorPlugin.kt | 9 +- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 12 +-- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 11 ++- .../sensitivity/AbstractSensitivityPlugin.kt | 6 +- .../sensitivity/SensitivityAAPSPlugin.kt | 4 +- .../sensitivity/SensitivityOref1Plugin.kt | 4 +- .../SensitivityWeightedAveragePlugin.kt | 4 +- .../androidaps/receivers/KeepAliveWorker.kt | 4 +- .../receivers/TimeDateOrTZChangeReceiver.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 2 +- .../workflow/CalculationWorkflow.kt | 4 +- .../androidaps/workflow/InvokeLoopWorker.kt | 2 +- .../androidaps/workflow/LoadBgDataWorker.kt | 7 +- .../workflow/PrepareBasalDataWorker.kt | 2 +- .../workflow/PrepareBgDataWorker.kt | 2 +- .../workflow/PrepareBucketedDataWorker.kt | 2 +- .../PrepareIobAutosensGraphDataWorker.kt | 5 +- .../workflow/PrepareTreatmentsDataWorker.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../interfaces/ConstraintsCheckerTest.kt | 1 + .../plugins/aps/loop/LoopPluginTest.kt | 4 +- .../configBuilder/ConfigBuilderPluginTest.kt | 2 +- .../plugins/safety/SafetyPluginTest.kt | 2 +- .../AbstractSensitivityPluginTest.kt | 4 +- .../utils/wizard/BolusWizardTest.kt | 8 +- .../nightscout/automation/AutomationPlugin.kt | 2 +- .../automation/actions/ActionProfileSwitch.kt | 2 +- .../automation/actions/ActionRunAutotune.kt | 2 +- .../actions/ActionStartTempTarget.kt | 2 +- .../automation/elements/InputProfileName.kt | 4 +- .../nightscout/automation/triggers/Trigger.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../automation/actions/ActionsTestBase.kt | 2 +- .../triggers/TriggerAutosensValueTest.kt | 8 +- .../automation/triggers/TriggerTestBase.kt | 8 +- .../androidaps/di/CoreDataClassesModule.kt | 4 +- .../androidaps/extensions/BolusExtension.kt | 2 +- .../plugins/aps/loop/APSResultObject.kt | 4 +- .../plugins/general/overview/OverviewData.kt | 6 +- .../graphExtensions/BolusDataPoint.kt | 2 +- ...ataStore.kt => AutosensDataStoreObject.kt} | 63 +++++------- .../iobCobCalculator/GlucoseStatusProvider.kt | 2 +- ...{AutosensData.kt => AutosensDataObject.kt} | 96 +++++++------------ .../utils/protection/PasswordCheck.kt | 4 +- .../core/aps/AutosensDataStoreExtension.kt | 24 +++++ .../core/profile/ProfileStoreObject.kt | 2 +- .../nightscout/core/wizard/BolusWizard.kt | 4 +- .../core/wizard/QuickWizardEntry.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../nightscout/androidaps/data/ProfileTest.kt | 2 +- .../plugins/aps/loop/APSResultTest.kt | 2 +- .../iob/iobCalculator/GlucoseStatusTest.kt | 6 +- .../iobCobCalculator/AutosensDataStoreTest.kt | 2 +- .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/LocalAlertUtilsImpl.kt | 2 +- .../constraints/ConstraintsImpl.kt | 2 +- .../pump/PumpSyncImplementation.kt | 2 +- .../queue/CommandQueueImplementation.kt | 2 +- .../implementation/queue/QueueThread.kt | 2 +- .../queue/commands/CommandBolus.kt | 2 +- .../commands/CommandCancelExtendedBolus.kt | 2 +- .../queue/commands/CommandCancelTempBasal.kt | 2 +- .../queue/commands/CommandCustomCommand.kt | 2 +- .../queue/commands/CommandExtendedBolus.kt | 2 +- .../CommandInsightSetTBROverNotification.kt | 2 +- .../queue/commands/CommandLoadEvents.kt | 2 +- .../queue/commands/CommandLoadHistory.kt | 2 +- .../queue/commands/CommandLoadTDDs.kt | 2 +- .../queue/commands/CommandReadStatus.kt | 2 +- .../queue/commands/CommandSMBBolus.kt | 2 +- .../queue/commands/CommandSetProfile.kt | 2 +- .../queue/commands/CommandSetUserSettings.kt | 2 +- .../queue/commands/CommandStartPump.kt | 2 +- .../queue/commands/CommandStopPump.kt | 2 +- .../commands/CommandTempBasalAbsolute.kt | 2 +- .../queue/commands/CommandTempBasalPercent.kt | 2 +- .../implementation/stats/TddCalculatorImpl.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../implementation/BolusTimerImplTest.kt | 2 +- .../implementation/CarbTimerImplTest.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 2 +- .../implementation/queue/QueueThreadTest.kt | 2 +- .../nightscout/interfaces/aps/AutosensData.kt | 40 ++++++++ .../interfaces/aps/AutosensDataStore.kt | 31 ++++++ .../nightscout/interfaces/aps}/Sensitivity.kt | 4 +- .../interfaces/iob}/IobCobCalculator.kt | 13 +-- .../interfaces/plugin}/ActivePlugin.kt | 6 +- .../configBuilder/RunningConfiguration.kt | 4 +- .../bgQualityCheck/BgQualityCheckPlugin.kt | 2 +- .../constraints/dstHelper/DstHelperPlugin.kt | 2 +- .../objectives/ObjectivesPlugin.kt | 2 +- .../objectives/objectives/Objective0.kt | 4 +- .../objectives/objectives/Objective3.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 4 +- .../general/actions/ActionsFragment.kt | 4 +- .../general/autotune/AutotuneFragment.kt | 2 +- .../general/autotune/AutotunePlugin.kt | 2 +- .../general/autotune/data/ATProfile.kt | 2 +- .../notifications/NotificationStore.kt | 2 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 4 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinFragment.kt | 4 +- .../plugins/profile/ProfileFragment.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 2 +- .../pump/virtual/VirtualPumpFragment.kt | 2 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 2 +- .../plugins/source/NSClientSourcePlugin.kt | 2 +- .../plugins/sync/nsShared/NSClientFragment.kt | 2 +- .../plugins/sync/nsShared/StoreDataForDb.kt | 2 +- .../DataSyncSelectorImplementation.kt | 2 +- .../extensions/DeviceStatusExtension.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 2 +- .../workers/NSClientAddUpdateWorker.kt | 2 +- .../extensions/ProfileSwitchExtension.kt | 2 +- .../workers/ProcessTreatmentsWorker.kt | 2 +- .../sync/tidepool/comm/TidepoolUploader.kt | 2 +- .../plugins/sync/tidepool/comm/UploadChunk.kt | 2 +- .../plugins/ui/StatusLightHandler.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../BgQualityCheckPluginTest.kt | 6 +- .../dstHelper/DstHelperPluginTest.kt | 2 +- .../objectives/ObjectivesPluginTest.kt | 2 +- .../SmsCommunicatorPluginTest.kt | 6 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 2 +- .../androidaps/dana/DanaFragment.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 2 +- .../activities/DanaUserOptionsActivity.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../danaRKorean/DanaRKoreanPlugin.kt | 2 +- .../services/DanaRKoreanExecutionService.java | 2 +- .../androidaps/danaRv2/DanaRv2Plugin.java | 2 +- .../services/DanaRv2ExecutionService.java | 2 +- .../androidaps/danar/AbstractDanaRPlugin.java | 2 +- .../androidaps/danar/DanaRPlugin.java | 2 +- .../androidaps/danar/comm/MessageBase.kt | 2 +- .../AbstractDanaRExecutionService.java | 2 +- .../androidaps/TestBaseWithProfile.kt | 4 +- .../plugins/pump/danaR/comm/DanaRTestBase.kt | 2 +- .../danars/services/DanaRSService.kt | 2 +- .../androidaps/TestBaseWithProfile.kt | 2 +- .../DanaRSPacketNotifyDeliveryCompleteTest.kt | 4 +- .../danars/comm/DanaRsMessageHashTableTest.kt | 2 +- .../comm/DanaRsPacketApsHistoryEventsTest.kt | 2 +- .../DanaRsPacketBolusSetStepBolusStopTest.kt | 2 +- ...naRsPacketNotifyDeliveryRateDisplayTest.kt | 2 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../activities/DiaconnG8HistoryActivity.kt | 2 +- .../DiaconnG8UserOptionsActivity.kt | 2 +- .../packet/BigLogInquireResponsePacket.kt | 2 +- .../packet/TempBasalInquireResponsePacket.kt | 2 +- .../diaconn/packet/TempBasalReportPacket.kt | 2 +- .../diaconn/service/DiaconnG8Service.kt | 2 +- .../pump/eopatch/alarm/AlarmManager.kt | 2 +- .../pump/eopatch/ble/PatchManager.java | 2 +- .../pump/medtronic/MedtronicFragment.kt | 2 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 2 +- .../medtronic/data/MedtronicHistoryData.kt | 2 +- .../info/nightscout/androidaps/TestBase.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 2 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 2 +- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 2 +- .../plugins/pump/common/PumpPluginAbstract.kt | 2 +- .../pump/common/ui/PumpBLEConfigActivity.kt | 4 +- .../pump/common/ui/PumpHistoryActivity.kt | 4 +- .../dialog/RileyLinkBLEConfigActivity.kt | 4 +- .../RileyLinkCommunicationManager.java | 2 +- .../dialog/RileyLinkStatusGeneralFragment.kt | 2 +- .../RileyLinkBluetoothStateReceiver.kt | 2 +- .../service/RileyLinkBroadcastReceiver.kt | 3 +- .../hw/rileylink/service/RileyLinkService.kt | 2 +- .../hw/rileylink/service/tasks/ServiceTask.kt | 2 +- .../ui/activities/ProfileHelperActivity.kt | 2 +- .../ui/activities/SurveyActivity.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- .../ui/activities/TreatmentsActivity.kt | 4 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 2 +- .../TreatmentsExtendedBolusesFragment.kt | 2 +- .../TreatmentsProfileSwitchFragment.kt | 2 +- .../TreatmentsTemporaryBasalsFragment.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- .../ui/dialogs/ExtendedBolusDialog.kt | 2 +- .../info/nightscout/ui/dialogs/FillDialog.kt | 2 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 2 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 2 +- .../ui/dialogs/ProfileSwitchDialog.kt | 2 +- .../ui/dialogs/ProfileViewerDialog.kt | 2 +- .../nightscout/ui/dialogs/TempBasalDialog.kt | 2 +- .../nightscout/ui/dialogs/TreatmentDialog.kt | 2 +- .../nightscout/ui/dialogs/WizardDialog.kt | 4 +- .../java/info/nightscout/ui/widget/Widget.kt | 4 +- .../androidaps/TestBaseWithProfile.kt | 4 +- 215 files changed, 483 insertions(+), 404 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CarbsInPastExtension.kt rename core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/{AutosensDataStore.kt => AutosensDataStoreObject.kt} (85%) rename core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/{AutosensData.kt => AutosensDataObject.kt} (60%) create mode 100644 core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensData.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensDataStore.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/aps}/Sensitivity.kt (79%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/iob}/IobCobCalculator.kt (91%) rename {core/core-main/src/main/java/info/nightscout/androidaps/interfaces => interfaces/src/main/java/info/nightscout/interfaces/plugin}/ActivePlugin.kt (94%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 9019df2258..d8a6d0b37c 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -35,7 +35,6 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ActivityMainBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.setupwizard.SetupWizardActivity @@ -54,6 +53,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.locale.LocaleHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.smsCommunicator.SmsCommunicator diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index e41cde7d3a..2016486476 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -13,7 +13,6 @@ import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData @@ -22,6 +21,7 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAutosensCalculationFinished import info.nightscout.rx.events.EventCustomCalculationFinished diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt index c6226022e4..453787e8d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowserData.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.activities import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 513f29088c..d582838a39 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -8,8 +8,6 @@ import dagger.Provides import dagger.android.HasAndroidInjector import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.implementations.ActivityNamesImpl -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator @@ -50,7 +48,9 @@ import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt index c94121a79d..67f6f7fecd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt @@ -15,11 +15,11 @@ import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.OpenapsFragmentBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui import info.nightscout.androidaps.utils.JSONFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index f7ea7b89d5..31e1c7f39a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -20,8 +20,6 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui @@ -45,7 +43,9 @@ import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.aps.Loop.LastRun import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index 400fbe9dcd..b4383e2b0e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -5,7 +5,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader @@ -14,6 +13,7 @@ import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 70d85c95c3..7810eac31c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -5,8 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui @@ -22,6 +20,8 @@ import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 2f9a433a48..6244c9ca38 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -5,8 +5,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.aps.loop.ScriptReader @@ -15,8 +13,10 @@ import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 60306141cc..16a030792f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -7,8 +7,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui @@ -24,6 +22,8 @@ import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index b092b755e4..0a09c4a221 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -5,8 +5,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.ScriptReader @@ -18,8 +16,10 @@ import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index dcf52e25c3..2bae7caf9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -4,8 +4,6 @@ import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -14,6 +12,8 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index a8bce40daf..4e51e619be 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -19,13 +19,13 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.SingleFragmentActivity import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index fc80eccdac..1a6bc18780 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -3,8 +3,6 @@ package info.nightscout.androidaps.plugins.configBuilder import androidx.fragment.app.FragmentActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -13,7 +11,9 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.aps.APS +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 39b25f594d..4950509e43 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -1,14 +1,14 @@ package info.nightscout.androidaps.plugins.configBuilder -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview import info.nightscout.interfaces.aps.APS +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt index 8d5b688490..64428e5b51 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctionImpl.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.configBuilder import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.extensions.fromConstant -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.ProfileSwitch @@ -13,6 +12,7 @@ import info.nightscout.database.impl.transactions.InsertOrUpdateProfileSwitch import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 5dc05bb3c7..8f970e6509 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -8,8 +8,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents @@ -19,6 +17,8 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index 7845a81f99..e55090aafe 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.dana.database.DanaHistoryDatabase import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding import info.nightscout.androidaps.diaconn.database.DiaconnHistoryDatabase import info.nightscout.androidaps.insight.database.InsightDatabase -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSettingActivity import info.nightscout.androidaps.plugins.general.overview.OverviewData @@ -26,6 +25,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.sync.DataSyncSelector diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 36f6314915..0fade87f39 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -34,8 +34,6 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB @@ -71,6 +69,8 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt index c2dcca20b2..6f614d88eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/persistentNotification/PersistentNotificationPlugin.kt @@ -10,8 +10,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy @@ -20,6 +18,8 @@ import info.nightscout.core.iob.round import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.interfaces.Constants import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index ddc3f2ef34..c0398c51d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -9,8 +9,6 @@ import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -46,6 +44,8 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt index 086333c7f2..a51c6ac4d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataLayerListenerServiceMobile.kt @@ -16,8 +16,6 @@ import com.google.android.gms.wearable.Wearable import com.google.android.gms.wearable.WearableListenerService import dagger.android.AndroidInjection import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.wear.WearPlugin import info.nightscout.androidaps.plugins.general.wear.events.EventWearUpdateGui import info.nightscout.androidaps.receivers.ReceiverStatusStore @@ -26,6 +24,8 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CarbsInPastExtension.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CarbsInPastExtension.kt new file mode 100644 index 0000000000..f8cfd4f576 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/CarbsInPastExtension.kt @@ -0,0 +1,32 @@ +package info.nightscout.androidaps.plugins.iob.iobCobCalculator + +import info.nightscout.database.entities.Carbs +import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensData +import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil + +fun fromCarbs(t: Carbs, isAAPSOrWeighted: Boolean, profileFunction: ProfileFunction, aapsLogger: AAPSLogger, dateUtil: DateUtil, sp: SP): AutosensData.CarbsInPast { + val time = t.timestamp + val carbs = t.amount + val remaining = t.amount + val min5minCarbImpact: Double + val profile = profileFunction.getProfile(t.timestamp) + if (isAAPSOrWeighted && profile != null) { + val maxAbsorptionHours = sp.getDouble(info.nightscout.core.main.R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME) + val sens = profile.getIsfMgdl(t.timestamp) + val ic = profile.getIc(t.timestamp) + min5minCarbImpact = t.amount / (maxAbsorptionHours * 60 / 5) * sens / ic + aapsLogger.debug( + LTag.AUTOSENS, + """Min 5m carbs impact for ${carbs}g @${dateUtil.dateAndTimeString(t.timestamp)} for ${maxAbsorptionHours}h calculated to $min5minCarbImpact ISF: $sens IC: $ic""" + ) + } else { + min5minCarbImpact = sp.getDouble(info.nightscout.core.main.R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact) + } + return AutosensData.CarbsInPast(time, carbs, min5minCarbImpact, remaining) +} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 7276f3c5dc..5bceda8933 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -10,10 +10,7 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy @@ -29,11 +26,15 @@ import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensData +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.BasalData import info.nightscout.interfaces.iob.CobInfo +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType @@ -93,7 +94,7 @@ class IobCobCalculatorPlugin @Inject constructor( private var iobTable = LongSparseArray() // oldest at index 0 private var basalDataTable = LongSparseArray() // oldest at index 0 - override var ads: AutosensDataStore = AutosensDataStore() + override var ads: AutosensDataStore = AutosensDataStoreObject() private val dataLock = Any() private var thread: Thread? = null diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 3d82c025f8..7154d0eecb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -8,10 +8,8 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin @@ -24,8 +22,11 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event @@ -64,7 +65,6 @@ class IobCobOref1Worker( @Inject lateinit var dateUtil: DateUtil @Inject lateinit var repository: AppRepository @Inject lateinit var dataWorkerStorage: DataWorkerStorage - @Inject lateinit var calculationWorkflow: CalculationWorkflow init { (context.applicationContext as HasAndroidInjector).androidInjector().inject(this) @@ -127,7 +127,7 @@ class IobCobOref1Worker( } aapsLogger.debug(LTag.AUTOSENS, "Processing calculation thread: ${data.from} ($i/${bucketedData.size})") val sens = profile.getIsfMgdl(bgTime) - val autosensData = AutosensData(data.injector) + val autosensData = AutosensDataObject(data.injector) autosensData.time = bgTime if (previous != null) autosensData.activeCarbsList = previous.cloneCarbsList() else autosensData.activeCarbsList = ArrayList() @@ -203,7 +203,7 @@ class IobCobOref1Worker( for (recentCarbTreatment in recentCarbTreatments) { autosensData.carbsFromBolus += recentCarbTreatment.amount val isAAPSOrWeighted = sensitivityAAPSPlugin.isEnabled() || sensitivityWeightedAveragePlugin.isEnabled() - autosensData.activeCarbsList.add(autosensData.CarbsInPast(recentCarbTreatment, isAAPSOrWeighted)) + autosensData.activeCarbsList.add(fromCarbs(recentCarbTreatment, isAAPSOrWeighted, profileFunction, aapsLogger, dateUtil, sp)) autosensData.pastSensitivity += "[" + DecimalFormatter.to0Decimal(recentCarbTreatment.amount) + "g]" } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index 7db6795538..b02ced9656 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -7,10 +7,8 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin @@ -22,8 +20,11 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event @@ -121,7 +122,7 @@ class IobCobOrefWorker @Inject internal constructor( } aapsLogger.debug(LTag.AUTOSENS, "Processing calculation thread: ${data.from} ($i/${bucketedData.size})") val sens = profile.getIsfMgdl(bgTime) - val autosensData = AutosensData(data.injector) + val autosensData = AutosensDataObject(data.injector) autosensData.time = bgTime if (previous != null) autosensData.activeCarbsList = previous.cloneCarbsList() else autosensData.activeCarbsList = ArrayList() @@ -197,7 +198,7 @@ class IobCobOrefWorker @Inject internal constructor( for (recentCarbTreatment in recentCarbTreatments) { autosensData.carbsFromBolus += recentCarbTreatment.amount val isAAPSOrWeighted = sensitivityAAPSPlugin.isEnabled() || sensitivityWeightedAveragePlugin.isEnabled() - autosensData.activeCarbsList.add(autosensData.CarbsInPast(recentCarbTreatment, isAAPSOrWeighted)) + autosensData.activeCarbsList.add(fromCarbs(recentCarbTreatment, isAAPSOrWeighted, profileFunction, aapsLogger, dateUtil, sp)) autosensData.pastSensitivity += "[" + DecimalFormatter.to0Decimal(recentCarbTreatment.amount) + "g]" } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt index e25a30bded..99abdfb6ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPlugin.kt @@ -2,9 +2,9 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.utils.Round @@ -47,7 +47,7 @@ abstract class AbstractSensitivityPlugin( //If not-excluded data >= MIN_HOURS_FULL_AUTOSENS -> full Autosens //Between MIN_HOURS and MIN_HOURS_FULL_AUTOSENS: gradually increase autosens val autosensContrib = (min(max(Sensitivity.MIN_HOURS, deviationsArraySize / 12.0), - Sensitivity.MIN_HOURS_FULL_AUTOSENS) - Sensitivity.MIN_HOURS) / (Sensitivity.MIN_HOURS_FULL_AUTOSENS - Sensitivity.MIN_HOURS) + Sensitivity.MIN_HOURS_FULL_AUTOSENS) - Sensitivity.MIN_HOURS) / (Sensitivity.MIN_HOURS_FULL_AUTOSENS - Sensitivity.MIN_HOURS) ratio = autosensContrib * (ratio - 1) + 1 if (autosensContrib != 1.0) { ratioLimit += "(" + deviationsArraySize + " of " + Sensitivity.MIN_HOURS_FULL_AUTOSENS * 12 + " values) " diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index a08f314c90..6955cc0be2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -4,13 +4,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.Sensitivity.SensitivityType import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index 3cb8bad31b..e82d213776 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -4,14 +4,14 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.aps.Sensitivity.SensitivityType import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.PluginDescription diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt index 9a9b030fa5..f20009460f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityWeightedAveragePlugin.kt @@ -5,13 +5,13 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.isPSEvent5minBack -import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.Sensitivity.SensitivityType import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt index c693134a3b..98fec99bf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -15,14 +15,14 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Command diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt index cf9f5cdf83..7bd237dba2 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt @@ -4,7 +4,7 @@ import android.content.Context import android.content.Intent import com.google.gson.Gson import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.rx.logging.AAPSLogger diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 53a04aac39..8b13243a5f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -10,7 +10,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin @@ -36,6 +35,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.maintenance.ImportExportPrefs +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.CommandQueue diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt index a9ec0e2704..bfca001cc6 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflow.kt @@ -11,8 +11,6 @@ import androidx.work.WorkManager import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.events.EventNewHistoryData -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOref1Worker @@ -20,6 +18,8 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobOrefWorker import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt index e8a63b86de..ffa873b28b 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/InvokeLoopWorker.kt @@ -6,9 +6,9 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.rx.events.Event import javax.inject.Inject diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt index 6f8d816454..c9123a2f99 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/LoadBgDataWorker.kt @@ -5,12 +5,13 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.database.impl.AppRepository -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.shared.utils.DateUtil +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil +import loadBgData import javax.inject.Inject class LoadBgDataWorker( diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt index 4d25fc0c73..8059bd5ab6 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBasalDataWorker.kt @@ -9,11 +9,11 @@ import androidx.work.workDataOf import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt index 3a68b2ac20..ca229ed726 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBgDataWorker.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint @@ -15,6 +14,7 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt index 03caa1c985..b3bc599f66 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareBucketedDataWorker.kt @@ -5,12 +5,12 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.InMemoryGlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.receivers.DataWorkerStorage +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt index 657479be73..310a8494bc 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareIobAutosensGraphDataWorker.kt @@ -10,7 +10,6 @@ import com.jjoe64.graphview.series.BarGraphSeries import com.jjoe64.graphview.series.LineGraphSeries import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.OverviewMenus import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface @@ -18,6 +17,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Devia import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter @@ -27,6 +27,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.AutosensResult import info.nightscout.interfaces.aps.SMBDefaults +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus @@ -146,7 +147,7 @@ class PrepareIobAutosensGraphDataWorker( val iob = data.iobCobCalculator.calculateFromTreatmentsAndTemps(time, profile) val baseBasalIob = data.iobCobCalculator.calculateAbsoluteIobFromBaseBasals(time) val absIob = IobTotal.combine(iob, baseBasalIob) - val autosensData = adsData.getAutosensDataAtTime(time) + val autosensData = adsData.getAutosensDataAtTime(time) as AutosensDataObject? if (abs(lastIob - iob.iob) > 0.02) { if (abs(lastIob - iob.iob) > 0.2) iobArray.add(ScaledDataPoint(time, lastIob, data.overviewData.iobScale)) iobArray.add(ScaledDataPoint(time, iob.iob, data.overviewData.iobScale)) diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt index cd9b9481ac..884e78ab52 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/PrepareTreatmentsDataWorker.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.general.overview.graphExtensions.BolusDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.CarbsDataPoint @@ -23,6 +22,7 @@ import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round diff --git a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 57bcbfcc67..c967ecfb6c 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 366788184f..b3f14b4d82 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -30,6 +30,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index 554818c92b..e0904afe86 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -6,14 +6,14 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt index 86c9c174c8..d5339c308f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPluginTest.kt @@ -3,8 +3,8 @@ package info.nightscout.androidaps.plugins.configBuilder import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt index 27f64e3d62..539c63db9f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt @@ -4,7 +4,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -14,6 +13,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt index 0eb4f2b261..d3186551a3 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/sensitivity/AbstractSensitivityPluginTest.kt @@ -3,9 +3,9 @@ package info.nightscout.androidaps.plugins.sensitivity import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.Sensitivity -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt index c8df250b78..21731d8e4b 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt @@ -4,16 +4,16 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription @@ -43,7 +43,7 @@ class BolusWizardTest : TestBase() { @Mock lateinit var iobCobCalculator: IobCobCalculator @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var dateUtil: DateUtil - @Mock lateinit var autosensDataStore: AutosensDataStore + @Mock lateinit var autosensDataStore: AutosensDataStoreObject val injector = HasAndroidInjector { AndroidInjector { diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt index d32354aace..5b92bb8028 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt @@ -6,7 +6,6 @@ import android.os.HandlerThread import android.os.SystemClock import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.automation.actions.Action import info.nightscout.automation.actions.ActionAlarm import info.nightscout.automation.actions.ActionCarePortalEvent @@ -44,6 +43,7 @@ import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 80cc7974f5..53e7b3a64c 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -4,7 +4,6 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName @@ -13,6 +12,7 @@ import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index 57a6cef17a..ef63b9a48b 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -4,13 +4,13 @@ import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.interfaces.autotune.Autotune +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 719235ebe2..10257a2f88 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -5,7 +5,6 @@ import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.friendlyDescription -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorExists @@ -23,6 +22,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt b/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt index 6bb1108cc5..0b5d4c8ee6 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt @@ -6,9 +6,9 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.automation.R +import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.shared.interfaces.ResourceHelper class InputProfileName(private val rh: ResourceHelper, private val activePlugin: ActivePlugin, val name: String = "", private val addActive: Boolean = false) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt index 09c97f42fc..6b6cdb71cb 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt @@ -9,8 +9,6 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.automation.R import info.nightscout.automation.dialogs.ChooseTriggerDialog @@ -19,6 +17,8 @@ import info.nightscout.automation.events.EventTriggerClone import info.nightscout.automation.events.EventTriggerRemove import info.nightscout.automation.services.LastLocationDataContainer import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index c81770dd8c..ce367adc28 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,12 +4,12 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index 4cbacae15e..ed660eced5 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -5,7 +5,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent @@ -13,6 +12,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt index 8c51fbf35a..3d2a5103d1 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt @@ -1,7 +1,7 @@ package info.nightscout.automation.triggers import com.google.common.base.Optional -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator import org.json.JSONObject @@ -58,7 +58,7 @@ class TriggerAutosensValueTest : TriggerTestBase() { t.autosens.value = 390.0 t.comparator.value = Comparator.Compare.IS_EQUAL_OR_LESSER Assert.assertTrue(t.shouldRun()) - `when`(autosensDataStore.getLastAutosensData(anyObject(), anyObject(), anyObject())).thenReturn(AutosensData(injector)) + `when`(autosensDataStore.getLastAutosensData(anyObject(), anyObject(), anyObject())).thenReturn(AutosensDataObject(injector)) t = TriggerAutosensValue(injector) t.autosens.value = 80.0 t.comparator.value = Comparator.Compare.IS_EQUAL_OR_LESSER @@ -110,7 +110,7 @@ class TriggerAutosensValueTest : TriggerTestBase() { `when`(dateUtil.now()).thenReturn(now) } - private fun generateAutosensData(): AutosensData { - return AutosensData(injector) + private fun generateAutosensData(): AutosensDataObject { + return AutosensDataObject(injector) } } \ No newline at end of file diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt index a253920eaa..8c7c0f413a 100644 --- a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LastLocationDataContainer +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.rx.bus.RxBus import info.nightscout.shared.sharedPreferences.SP @@ -25,7 +25,7 @@ open class TriggerTestBase : TestBaseWithProfile() { @Mock lateinit var locationDataContainer: LastLocationDataContainer @Mock lateinit var activePlugin: ActivePlugin @Mock lateinit var iobCobCalculator: IobCobCalculator - @Mock lateinit var autosensDataStore: AutosensDataStore + @Mock lateinit var autosensDataStore: AutosensDataStoreObject @Mock lateinit var context: Context @Mock lateinit var automationPlugin: AutomationPlugin diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index 434f9edb30..afc2b00593 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -4,7 +4,7 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.aps.loop.APSResultObject -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.core.profile.ProfileStoreObject @Module @@ -13,7 +13,7 @@ abstract class CoreDataClassesModule { @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultObject @ContributesAndroidInjector abstract fun apsResultInjector(): APSResultObject - @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensData + @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensDataObject @ContributesAndroidInjector abstract fun profileStoreInjector(): ProfileStoreObject } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index 1354b7a890..6966199155 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -1,9 +1,9 @@ package info.nightscout.androidaps.extensions -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.entities.Bolus import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.iob.Iob +import info.nightscout.interfaces.plugin.ActivePlugin fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { if (!isValid || type == Bolus.Type.PRIMING ) return Iob() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt index 0711a11960..458ee33795 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/aps/loop/APSResultObject.kt @@ -4,15 +4,15 @@ import android.text.Spanned import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.main.R import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HtmlHelper.fromHtml diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt index 1473d599bc..92e27c83a4 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewData.kt @@ -12,15 +12,12 @@ import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.extensions.valueToUnits -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataPointWithLabelInterface import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DeviationDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.FixedLineGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.androidaps.plugins.general.overview.graphExtensions.ScaledDataPoint -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.iob.round import info.nightscout.core.main.R @@ -28,8 +25,11 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.iob.CobInfo +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt index 00f5ae946d..79ff323c6a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphExtensions/BolusDataPoint.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions import android.content.Context -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.main.R import info.nightscout.database.entities.Bolus +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.interfaces.ResourceHelper class BolusDataPoint( diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreObject.kt similarity index 85% rename from core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreObject.kt index 1e05ddc5fc..381ab74d59 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStore.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreObject.kt @@ -3,12 +3,10 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import androidx.collection.LongSparseArray import androidx.collection.size import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.database.entities.GlucoseValue -import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.aps.AutosensData +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.iob.InMemoryGlucoseValue -import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil @@ -17,44 +15,44 @@ import kotlin.math.abs import kotlin.math.roundToLong @OpenForTesting -class AutosensDataStore { +class AutosensDataStoreObject : AutosensDataStore { - private val dataLock = Any() - var lastUsed5minCalculation: Boolean? = null // true if used 5min bucketed data + override val dataLock = Any() + override var lastUsed5minCalculation: Boolean? = null // true if used 5min bucketed data // we need to make sure that bucketed_data will always have the same timestamp for correct use of cached values // once referenceTime != null all bucketed data should be (x * 5min) from referenceTime var referenceTime: Long = -1 - var bgReadings: List = listOf() // newest at index 0 + override var bgReadings: List = listOf() // newest at index 0 @Synchronized set @Synchronized get - var autosensDataTable = LongSparseArray() // oldest at index 0 + override var autosensDataTable = LongSparseArray() // oldest at index 0 @Synchronized set @Synchronized get - var bucketedData: MutableList? = null + override var bucketedData: MutableList? = null @Synchronized set @Synchronized get - fun clone(): AutosensDataStore = - AutosensDataStore().also { + override fun clone(): AutosensDataStore = + AutosensDataStoreObject().also { synchronized(dataLock) { it.bgReadings = this.bgReadings.toMutableList() - it.autosensDataTable = LongSparseArray(this.autosensDataTable.size).apply { putAll(this@AutosensDataStore.autosensDataTable) } + it.autosensDataTable = LongSparseArray(this.autosensDataTable.size).apply { putAll(this@AutosensDataStoreObject.autosensDataTable) } it.bucketedData = this.bucketedData?.toMutableList() } } - fun getBucketedDataTableCopy(): MutableList? = synchronized(dataLock) { bucketedData?.toMutableList() } - fun getBgReadingsDataTableCopy(): List = synchronized(dataLock) { bgReadings.toMutableList() } + override fun getBucketedDataTableCopy(): MutableList? = synchronized(dataLock) { bucketedData?.toMutableList() } + override fun getBgReadingsDataTableCopy(): List = synchronized(dataLock) { bgReadings.toMutableList() } - fun reset() { + override fun reset() { synchronized(autosensDataTable) { autosensDataTable = LongSparseArray() } } - fun newHistoryData(time: Long, aapsLogger: AAPSLogger, dateUtil: DateUtil) { + override fun newHistoryData(time: Long, aapsLogger: AAPSLogger, dateUtil: DateUtil) { synchronized(autosensDataTable) { for (index in autosensDataTable.size() - 1 downTo 0) { if (autosensDataTable.keyAt(index) > time) { @@ -68,7 +66,7 @@ class AutosensDataStore { } // roundup to whole minute - fun roundUpTime(time: Long): Long { + override fun roundUpTime(time: Long): Long { return if (time % 60000 == 0L) time else (time / 60000 + 1) * 60000 } @@ -77,7 +75,7 @@ class AutosensDataStore { * * @return GlucoseValue or null */ - fun lastBg(): GlucoseValue? = + override fun lastBg(): GlucoseValue? = synchronized(dataLock) { if (bgReadings.isNotEmpty()) bgReadings[0] else null @@ -88,12 +86,12 @@ class AutosensDataStore { * * @return GlucoseValue or null */ - fun actualBg(): GlucoseValue? { + override fun actualBg(): GlucoseValue? { val lastBg = lastBg() ?: return null return if (lastBg.timestamp > System.currentTimeMillis() - T.mins(9).msecs()) lastBg else null } - fun lastDataTime(dateUtil: DateUtil): String = + override fun lastDataTime(dateUtil: DateUtil): String = synchronized(dataLock) { if (autosensDataTable.size() > 0) dateUtil.dateAndTimeAndSecondsString(autosensDataTable.valueAt(autosensDataTable.size() - 1).time) else "autosensDataTable empty" @@ -107,7 +105,7 @@ class AutosensDataStore { return null } - fun getAutosensDataAtTime(fromTime: Long): AutosensData? { + override fun getAutosensDataAtTime(fromTime: Long): AutosensData? { synchronized(dataLock) { val now = System.currentTimeMillis() if (fromTime > now) return null @@ -116,7 +114,7 @@ class AutosensDataStore { } } - fun getLastAutosensData(reason: String, aapsLogger: AAPSLogger, dateUtil: DateUtil): AutosensData? { + override fun getLastAutosensData(reason: String, aapsLogger: AAPSLogger, dateUtil: DateUtil): AutosensData? { synchronized(dataLock) { if (autosensDataTable.size() < 1) { aapsLogger.debug(LTag.AUTOSENS, "AUTOSENSDATA null: autosensDataTable empty ($reason)") @@ -156,21 +154,6 @@ class AutosensDataStore { return someTime + diff } - fun loadBgData(to: Long, repository: AppRepository, aapsLogger: AAPSLogger, dateUtil: DateUtil, rxBus: RxBus) { - synchronized(dataLock) { - val start = to - T.hours((24 + 10 /* max dia */).toLong()).msecs() - // there can be some readings with time in close future (caused by wrong time setting on sensor) - // so add 2 minutes - bgReadings = repository - .compatGetBgReadingsDataFromTime(start, to + T.mins(2).msecs(), false) - .blockingGet() - .filter { it.value >= 39 } - aapsLogger.debug(LTag.AUTOSENS) { "BG data loaded. Size: ${bgReadings.size} Start date: ${dateUtil.dateAndTimeString(start)} End date: ${dateUtil.dateAndTimeString(to)}" } - createBucketedData(aapsLogger, dateUtil) - rxBus.send(EventBucketedDataCreated()) - } - } - fun isAbout5minData(aapsLogger: AAPSLogger): Boolean { synchronized(dataLock) { if (bgReadings.size < 3) return true @@ -196,7 +179,7 @@ class AutosensDataStore { } } - fun createBucketedData(aapsLogger: AAPSLogger, dateUtil: DateUtil) { + override fun createBucketedData(aapsLogger: AAPSLogger, dateUtil: DateUtil) { val fiveMinData = isAbout5minData(aapsLogger) if (lastUsed5minCalculation != null && lastUsed5minCalculation != fiveMinData) { // changing mode => clear cache @@ -340,7 +323,7 @@ class AutosensDataStore { bucketedData = bData } - fun slowAbsorptionPercentage(timeInMinutes: Int): Double { + override fun slowAbsorptionPercentage(timeInMinutes: Int): Double { var sum = 0.0 var count = 0 val valuesToProcess = timeInMinutes / 5 diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt index 7dab0d1b8d..1390b8f632 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/GlucoseStatusProvider.kt @@ -1,10 +1,10 @@ package info.nightscout.androidaps.plugins.iob.iobCobCalculator import dagger.Reusable -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.iob.asRounded import info.nightscout.core.iob.log import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensDataObject.kt similarity index 60% rename from core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt rename to core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensDataObject.kt index 69132671bb..bc7855225e 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensData.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/data/AutosensDataObject.kt @@ -6,10 +6,9 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.DataP import info.nightscout.androidaps.plugins.general.overview.graphExtensions.PointsWithLabelGraphSeries import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Scale import info.nightscout.core.main.R -import info.nightscout.database.entities.Carbs import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.aps.AutosensResult -import info.nightscout.interfaces.aps.SMBDefaults import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -20,7 +19,7 @@ import java.util.Locale import javax.inject.Inject import kotlin.math.min -class AutosensData(injector: HasAndroidInjector) : DataPointWithLabelInterface { +class AutosensDataObject(injector: HasAndroidInjector) : DataPointWithLabelInterface, AutosensData { @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var sp: SP @@ -28,70 +27,41 @@ class AutosensData(injector: HasAndroidInjector) : DataPointWithLabelInterface { @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var dateUtil: DateUtil - inner class CarbsInPast { - - var time: Long - var carbs: Double - var min5minCarbImpact = 0.0 - var remaining: Double - - constructor(t: Carbs, isAAPSOrWeighted: Boolean) { - time = t.timestamp - carbs = t.amount - remaining = t.amount - val profile = profileFunction.getProfile(t.timestamp) - if (isAAPSOrWeighted && profile != null) { - val maxAbsorptionHours = sp.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME) - val sens = profile.getIsfMgdl(t.timestamp) - val ic = profile.getIc(t.timestamp) - min5minCarbImpact = t.amount / (maxAbsorptionHours * 60 / 5) * sens / ic - aapsLogger.debug( - LTag.AUTOSENS, - """Min 5m carbs impact for ${carbs}g @${dateUtil.dateAndTimeString(t.timestamp)} for ${maxAbsorptionHours}h calculated to $min5minCarbImpact ISF: $sens IC: $ic""" - ) - } else { - min5minCarbImpact = sp.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact) - } - } - - internal constructor(other: CarbsInPast) { - time = other.time - carbs = other.carbs - min5minCarbImpact = other.min5minCarbImpact - remaining = other.remaining - } - - override fun toString(): String = - String.format(Locale.ENGLISH, "CarbsInPast: time: %s carbs: %.02f min5minCI: %.02f remaining: %.2f", dateUtil.dateAndTimeString(time), carbs, min5minCarbImpact, remaining) - } - - var time = 0L - var bg = 0.0 // mgdl + override var time = 0L + override var bg = 0.0 // mgdl var chartTime: Long = 0 - var pastSensitivity = "" - var deviation = 0.0 - var validDeviation = false - var activeCarbsList: MutableList = ArrayList() + override var pastSensitivity = "" + override var deviation = 0.0 + override var validDeviation = false + var activeCarbsList: MutableList = ArrayList() var absorbed = 0.0 - var carbsFromBolus = 0.0 - var cob = 0.0 + override var carbsFromBolus = 0.0 + override var cob = 0.0 var bgi = 0.0 var delta = 0.0 var avgDelta = 0.0 - var avgDeviation = 0.0 - var autosensResult = AutosensResult() - var slopeFromMaxDeviation = 0.0 - var slopeFromMinDeviation = 999.0 - var usedMinCarbsImpact = 0.0 - var failOverToMinAbsorptionRate = false + override var avgDeviation = 0.0 + override var autosensResult = AutosensResult() + override var slopeFromMaxDeviation = 0.0 + override var slopeFromMinDeviation = 999.0 + override var usedMinCarbsImpact = 0.0 + override var failOverToMinAbsorptionRate = false // Oref1 - var absorbing = false - var mealCarbs = 0.0 - var mealStartCounter = 999 - var type = "" - var uam = false - var extraDeviation: MutableList = ArrayList() + override var absorbing = false + override var mealCarbs = 0.0 + override var mealStartCounter = 999 + override var type = "" + override var uam = false + override var extraDeviation: MutableList = ArrayList() + private fun fromCarbsInPast(other: AutosensData.CarbsInPast): AutosensData.CarbsInPast = + AutosensData.CarbsInPast( + time = other.time, + carbs = other.carbs, + min5minCarbImpact = other.min5minCarbImpact, + remaining = other.remaining + ) + override fun toString(): String { return String.format( Locale.ENGLISH, @@ -113,10 +83,10 @@ class AutosensData(injector: HasAndroidInjector) : DataPointWithLabelInterface { ) } - fun cloneCarbsList(): MutableList { - val newActiveCarbsList: MutableList = ArrayList() + override fun cloneCarbsList(): MutableList { + val newActiveCarbsList: MutableList = ArrayList() for (c in activeCarbsList) { - newActiveCarbsList.add(CarbsInPast(c)) + newActiveCarbsList.add(fromCarbsInPast(c)) } return newActiveCarbsList } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt index 18d6f68b2f..f839e34dee 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt @@ -12,12 +12,12 @@ import android.widget.EditText import android.widget.TextView import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.core.main.R -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper +import info.nightscout.core.main.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.sharedPreferences.SP import java.io.File import javax.inject.Inject diff --git a/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt b/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt new file mode 100644 index 0000000000..9eb730f822 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt @@ -0,0 +1,24 @@ +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated +import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.aps.AutosensDataStore +import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.DateUtil +import info.nightscout.shared.utils.T + +fun AutosensDataStore.loadBgData(to: Long, repository: AppRepository, aapsLogger: AAPSLogger, dateUtil: DateUtil, rxBus: RxBus) { + synchronized(dataLock) { + val start = to - T.hours((24 + 10 /* max dia */).toLong()).msecs() + // there can be some readings with time in close future (caused by wrong time setting on sensor) + // so add 2 minutes + bgReadings = repository + .compatGetBgReadingsDataFromTime(start, to + T.mins(2).msecs(), false) + .blockingGet() + .filter { it.value >= 39 } + aapsLogger.debug(LTag.AUTOSENS) { "BG data loaded. Size: ${bgReadings.size} Start date: ${dateUtil.dateAndTimeString(start)} End date: ${dateUtil.dateAndTimeString(to)}" } + createBucketedData(aapsLogger, dateUtil) + rxBus.send(EventBucketedDataCreated()) + } +} + diff --git a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt index d66ebcba86..31508048de 100644 --- a/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt +++ b/core/core-main/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt @@ -4,8 +4,8 @@ import androidx.collection.ArrayMap import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.HardLimits diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt index a3044c945e..458a2392de 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt @@ -7,8 +7,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -31,6 +29,8 @@ import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt index 42e6d2e3fe..00ba5e75c3 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt @@ -3,7 +3,6 @@ package info.nightscout.core.wizard import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnits -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.round import info.nightscout.core.main.R @@ -12,6 +11,7 @@ import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 00d73e6986..bf4776f89d 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,11 +5,11 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt index 36dceb7c76..4d5182fc4b 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl @@ -16,6 +15,7 @@ import info.nightscout.core.profile.toUnits import info.nightscout.core.profile.toUnitsString import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.TestAapsSchedulers diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt index 5b5e6bae4a..0fe1d626d7 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt @@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.aps.loop import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.entities.TemporaryBasal import info.nightscout.interfaces.aps.APSResult import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble import org.junit.Assert diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt index 2b89299f4f..ec050e216d 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.plugins.iob.iobCalculator import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.asRounded import info.nightscout.core.iob.log import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.iob.GlucoseStatus +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import org.junit.Assert @@ -24,7 +24,7 @@ class GlucoseStatusTest : TestBase() { @Mock lateinit var dateUtil: DateUtil @Mock lateinit var iobCobCalculatorPlugin: IobCobCalculator - @Mock lateinit var autosensDataStore: AutosensDataStore + @Mock lateinit var autosensDataStore: AutosensDataStoreObject @Before fun prepare() { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt index 22475eccb1..c280be8a58 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt @@ -16,7 +16,7 @@ class AutosensDataStoreTest : TestBase() { lateinit var dateUtil: DateUtil - private val autosensDataStore = AutosensDataStore() + private val autosensDataStore = AutosensDataStoreObject() @Before fun mock() { diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 7da34cedf5..27d156bd5f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -14,12 +14,12 @@ import android.provider.Settings import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt index a144f51b88..e146a80dd0 100644 --- a/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/LocalAlertUtilsImpl.kt @@ -1,6 +1,5 @@ package info.nightscout.implementation -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -15,6 +14,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt index 9c6972bce2..c589264403 100644 --- a/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/constraints/ConstraintsImpl.kt @@ -1,8 +1,8 @@ package info.nightscout.implementation.constraints -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import javax.inject.Inject import javax.inject.Singleton diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index fe76d0ca3d..ba99566007 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -1,6 +1,5 @@ package info.nightscout.implementation.pump -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R @@ -35,6 +34,7 @@ import info.nightscout.database.impl.transactions.SyncPumpTemporaryBasalTransact import info.nightscout.database.impl.transactions.SyncPumpTotalDailyDoseTransaction import info.nightscout.database.impl.transactions.SyncTemporaryBasalWithTempIdTransaction import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 1e2f8187f3..e5246fb05b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -11,7 +11,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.getCustomizedName -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -46,6 +45,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 1679300f44..67db266124 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -8,12 +8,12 @@ import android.os.SystemClock import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.safeDisable import info.nightscout.androidaps.extensions.safeEnable -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.implementation.R import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventQueueChanged diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index 7b4eb2cb20..0987f2d678 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index 375dc6bfc7..2044e88e64 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index c833c69d55..22aa204fd9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index 15100c260a..666b0817d3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -2,7 +2,7 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CustomCommand diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index 250e151f7f..46f968fce6 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index d95059994f..f7c9e3cf0c 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index e5be2b3934..34be135958 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 564535465f..7ce32baa36 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index 903563a5c9..14684db9cc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index 56eaee4075..ff7aff3fb7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -2,9 +2,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index c9d80cae93..e90d84a40f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -2,9 +2,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 05232742d5..181226e586 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -2,11 +2,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index da1a8c4cfe..424e127122 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index 9ec3daf100..b8961cef86 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index f9e29e9dd8..33404f537d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index d3375d2bfd..d18342afd1 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index ea0730d605..8568e909a1 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -2,8 +2,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.implementation.R +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index e2b8d6fc7f..e71281b3b1 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -10,8 +10,6 @@ import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.extensions.toTableRow import info.nightscout.androidaps.extensions.toTableRowHeader -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TotalDailyDose @@ -19,6 +17,8 @@ import info.nightscout.database.entities.embedments.InterfaceIDs import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.rx.logging.AAPSLogger diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 57bcbfcc67..c967ecfb6c 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt index eaf00a8974..0071533e5a 100644 --- a/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/BolusTimerImplTest.kt @@ -4,7 +4,6 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger @@ -13,6 +12,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper diff --git a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt index dc63f2468b..a5b5a1f56c 100644 --- a/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/CarbTimerImplTest.kt @@ -4,7 +4,6 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.services.LocationServiceHelper import info.nightscout.automation.triggers.Trigger @@ -13,6 +12,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 134b2a766a..2f92338f93 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -7,7 +7,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Bolus import info.nightscout.database.impl.AppRepository @@ -23,6 +22,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index b5506e547a..dd7e5f831d 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -6,7 +6,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute @@ -14,6 +13,7 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Command diff --git a/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensData.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensData.kt new file mode 100644 index 0000000000..c28b9d0a31 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensData.kt @@ -0,0 +1,40 @@ +package info.nightscout.interfaces.aps + +interface AutosensData { + + data class CarbsInPast( + + var time: Long, + var carbs: Double, + var min5minCarbImpact: Double = 0.0, + var remaining: Double + ) { + // override fun toString(): String = + // String.format(Locale.ENGLISH, "CarbsInPast: time: %s carbs: %.02f min5minCI: %.02f remaining: %.2f", dateUtil.dateAndTimeString(time), carbs, min5minCarbImpact, remaining) + } + + var time: Long + var bg: Double + var pastSensitivity: String + var deviation: Double + var validDeviation: Boolean + var carbsFromBolus: Double + var cob: Double + var slopeFromMaxDeviation: Double + var slopeFromMinDeviation: Double + var usedMinCarbsImpact: Double + var failOverToMinAbsorptionRate: Boolean + + var avgDeviation: Double + + var absorbing: Boolean + var mealCarbs: Double + var mealStartCounter: Int + var type: String + var uam: Boolean + var extraDeviation: MutableList + + var autosensResult: AutosensResult + + fun cloneCarbsList(): MutableList +} \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensDataStore.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensDataStore.kt new file mode 100644 index 0000000000..3e88091c12 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/AutosensDataStore.kt @@ -0,0 +1,31 @@ +package info.nightscout.interfaces.aps + +import androidx.collection.LongSparseArray +import info.nightscout.database.entities.GlucoseValue +import info.nightscout.interfaces.iob.InMemoryGlucoseValue +import info.nightscout.rx.logging.AAPSLogger +import info.nightscout.shared.utils.DateUtil + +interface AutosensDataStore { + + val dataLock: Any + + var bgReadings: List + var autosensDataTable: LongSparseArray + var bucketedData: MutableList? + var lastUsed5minCalculation: Boolean? + + fun lastBg(): GlucoseValue? + fun actualBg(): GlucoseValue? + fun lastDataTime(dateUtil: DateUtil): String + fun clone(): AutosensDataStore + fun getBgReadingsDataTableCopy(): List + fun getLastAutosensData(reason: String, aapsLogger: AAPSLogger, dateUtil: DateUtil): AutosensData? + fun getAutosensDataAtTime(fromTime: Long): AutosensData? + fun getBucketedDataTableCopy(): MutableList? + fun createBucketedData(aapsLogger: AAPSLogger, dateUtil: DateUtil) + fun slowAbsorptionPercentage(timeInMinutes: Int): Double + fun newHistoryData(time: Long, aapsLogger: AAPSLogger, dateUtil: DateUtil) + fun roundUpTime(time: Long): Long + fun reset() +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt b/interfaces/src/main/java/info/nightscout/interfaces/aps/Sensitivity.kt similarity index 79% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt rename to interfaces/src/main/java/info/nightscout/interfaces/aps/Sensitivity.kt index 4fb892d8ec..56d07d12a0 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/Sensitivity.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/aps/Sensitivity.kt @@ -1,8 +1,6 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.aps -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore import info.nightscout.interfaces.ConfigExportImport -import info.nightscout.interfaces.aps.AutosensResult interface Sensitivity : ConfigExportImport { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt b/interfaces/src/main/java/info/nightscout/interfaces/iob/IobCobCalculator.kt similarity index 91% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt rename to interfaces/src/main/java/info/nightscout/interfaces/iob/IobCobCalculator.kt index 41ddbf4b98..a88237a838 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/IobCobCalculator.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/iob/IobCobCalculator.kt @@ -1,14 +1,11 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.iob -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore -import info.nightscout.interfaces.aps.BasalData -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensData import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal +import info.nightscout.interfaces.aps.AutosensData +import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.interfaces.aps.AutosensResult -import info.nightscout.interfaces.iob.CobInfo -import info.nightscout.interfaces.iob.IobTotal -import info.nightscout.interfaces.iob.MealData +import info.nightscout.interfaces.aps.BasalData import info.nightscout.interfaces.profile.Profile import org.json.JSONArray @@ -107,4 +104,4 @@ interface IobCobCalculator { * @return IobTotal */ fun calculateIobFromTempBasalsIncludingConvertedExtended(): IobTotal -} +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt similarity index 94% rename from core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt rename to interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt index feea71f385..9bfb4d8a4f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/ActivePlugin.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.interfaces +package info.nightscout.interfaces.plugin import info.nightscout.interfaces.Overview import info.nightscout.interfaces.aps.APS +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.constraints.Safety import info.nightscout.interfaces.insulin.Insulin -import info.nightscout.interfaces.plugin.PluginBase -import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.source.BgSource diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt index 3313a5ed2b..90ac483bce 100644 --- a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt +++ b/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt @@ -1,13 +1,13 @@ package info.nightscout.plugins.configBuilder -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.Sensitivity import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index 6012d9aa6e..eb1b06abe5 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt index e3ca6e91ba..dbf1562014 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt index 8c9e9e430c..86934966c7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.constraints.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -12,6 +11,7 @@ import info.nightscout.interfaces.constraints.Objectives.Companion.FIRST_OBJECTI import info.nightscout.interfaces.constraints.Objectives.Companion.MAXBASAL_OBJECTIVE import info.nightscout.interfaces.constraints.Objectives.Companion.MAXIOB_ZERO_CL_OBJECTIVE import info.nightscout.interfaces.constraints.Objectives.Companion.SMB_OBJECTIVE +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt index d45f07fff4..6d083155f3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt index 342623d32b..6dba16c786 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt @@ -1,7 +1,7 @@ package info.nightscout.plugins.constraints.objectives.objectives import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.shared.utils.T import javax.inject.Inject diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt index fe573e71d5..685c106961 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt @@ -7,8 +7,6 @@ import info.nightscout.androidaps.extensions.putString import info.nightscout.androidaps.extensions.storeDouble import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.BuildHelper @@ -16,7 +14,9 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Safety +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index c81ba15896..d983dfede3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -12,8 +12,6 @@ import androidx.core.content.ContextCompat import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -27,6 +25,8 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.actions.CustomAction import info.nightscout.interfaces.queue.Callback diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index fc0df61496..258059ad1d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -20,7 +20,6 @@ import android.widget.TextView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy @@ -30,6 +29,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 245e19fcac..0ab807533d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -4,7 +4,6 @@ import android.view.View import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry @@ -12,6 +11,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt index 69c3a6f330..5f474cf01d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt @@ -4,7 +4,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockValueBySeconds import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.main.R import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.core.profile.fromMgdlToUnits @@ -13,6 +12,7 @@ import info.nightscout.database.entities.data.Block import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.insulin.Insulin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt index 35de937bba..8df801f6ee 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt @@ -12,10 +12,10 @@ import android.view.View import android.view.ViewGroup import androidx.core.app.NotificationCompat import androidx.recyclerview.widget.RecyclerView -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.plugins.R import info.nightscout.plugins.databinding.OverviewNotificationItemBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt index 530e50cd27..ea8adc9908 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt @@ -13,8 +13,6 @@ import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -44,7 +42,9 @@ import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt index 093846aa5a..65caa9a5c3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt @@ -5,13 +5,13 @@ import android.content.Intent import android.os.Bundle import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt index 2894c1cbee..9ec67f2e76 100644 --- a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt @@ -5,10 +5,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.plugins.databinding.InsulinFragmentBinding +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class InsulinFragment : DaggerFragment() { diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index 4352162892..0313bd4680 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -11,7 +11,6 @@ import android.widget.ArrayAdapter import com.google.android.material.tabs.TabLayout import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -22,6 +21,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 2306c4b3be..71a10564c8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -22,6 +21,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt index 47a187bd3c..6ab354aca2 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt @@ -8,8 +8,8 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R import info.nightscout.plugins.databinding.VirtualPumpFragmentBinding diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 31507b88bb..7d2fefa097 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -8,10 +8,10 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index da220ff6a3..bd5d4fe42c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -17,7 +17,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -28,6 +27,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateGlucoseValueTransaction +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt index 2d1ddd31e0..0a9c884984 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.GlucoseValue @@ -14,6 +13,7 @@ import info.nightscout.database.impl.transactions.CgmSourceTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index d51563b437..fcdd6e71d7 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -13,12 +13,12 @@ import android.widget.ScrollView import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginFragment import info.nightscout.interfaces.sync.DataSyncSelector diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt index 6625a14ca1..d92776e8c8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt @@ -5,7 +5,6 @@ import android.os.SystemClock import androidx.work.Worker import androidx.work.WorkerParameters import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.database.entities.Bolus @@ -38,6 +37,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.sync.NsClient import info.nightscout.plugins.R import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt index c2be5cad3d..2438f6d854 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.sync.nsclient import info.nightscout.androidaps.extensions.toJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs @@ -17,6 +16,7 @@ import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index b3f0174833..640df0b55e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.sync.nsclient.extensions import android.os.Build -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.iob.json import info.nightscout.database.entities.DeviceStatus import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.Pump import info.nightscout.plugins.configBuilder.RunningConfiguration diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt index d6742dd030..dde93e431c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt @@ -4,9 +4,9 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index 7f9c7508ba..e7790ec8fa 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -6,7 +6,6 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.extensions.bolusCalculatorResultFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.TherapyEvent @@ -14,6 +13,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.VirtualPump import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.plugins.R diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt index 4e4f6d5279..e2fdbd9753 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt @@ -3,9 +3,9 @@ package info.nightscout.plugins.sync.nsclientV3.extensions import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.embedments.InterfaceIDs +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.sdk.localmodel.treatment.NSProfileSwitch import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index 9e2c3e08e4..087304294b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -5,7 +5,6 @@ import androidx.work.Worker import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.impl.AppRepository @@ -13,6 +12,7 @@ import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.XDripBroadcast +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsShared.StoreDataForDb import info.nightscout.plugins.sync.nsclientV3.extensions.toBolus diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt index 630d7291e0..d7106ec0da 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt @@ -3,8 +3,8 @@ package info.nightscout.plugins.sync.tidepool.comm import android.content.Context import android.os.PowerManager import android.os.SystemClock -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus import info.nightscout.plugins.sync.tidepool.messages.AuthReplyMessage diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt index afa0e35365..54caaae213 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.tidepool.comm -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.elements.BasalElement diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt index 2c32821997..2c9bb5da2b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt @@ -2,13 +2,13 @@ package info.nightscout.plugins.ui import android.widget.TextView import androidx.annotation.StringRes -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.WarnColors import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsclient.extensions.age diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 57bcbfcc67..c967ecfb6c 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt index b56f18ef4a..f708c0edb0 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt @@ -3,11 +3,11 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.IobCobCalculator -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.plugins.R import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper @@ -29,7 +29,7 @@ class BgQualityCheckPluginTest : TestBase() { private lateinit var plugin: BgQualityCheckPlugin val injector = HasAndroidInjector { AndroidInjector { } } - private val autosensDataStore = AutosensDataStore() + private val autosensDataStore = AutosensDataStoreObject() @Before fun mock() { diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt index 7f33043ca5..fc6565c187 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt @@ -3,8 +3,8 @@ package info.nightscout.plugins.constraints.dstHelper import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.junit.Assert diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt index 1b2dfd051f..8abebcd622 100644 --- a/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt @@ -3,10 +3,10 @@ package info.nightscout.plugins.constraints.objectives import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Objectives +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.plugins.constraints.objectives.objectives.Objective import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index c8a8b45400..030369805f 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -6,9 +6,8 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore +import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository @@ -24,6 +23,7 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.CobInfo import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource import info.nightscout.interfaces.pump.defs.PumpDescription @@ -65,7 +65,7 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { @Mock lateinit var uel: UserEntryLogger @Mock lateinit var repository: AppRepository @Mock lateinit var dateUtilMocked: DateUtil - @Mock lateinit var autosensDataStore: AutosensDataStore + @Mock lateinit var autosensDataStore: AutosensDataStoreObject @Mock lateinit var smsManager: SmsManager var injector: HasAndroidInjector = HasAndroidInjector { diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt index 40c8810563..0d16de3241 100644 --- a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt @@ -2,9 +2,9 @@ package info.nightscout.plugins.pump.virtual import dagger.android.AndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index cc5cbf9af4..976664ea58 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -15,13 +15,13 @@ import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index c31454ce4b..02a352deb1 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -16,11 +16,11 @@ import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao import info.nightscout.androidaps.dana.databinding.DanarHistoryActivityBinding import info.nightscout.androidaps.dana.databinding.DanarHistoryItemBinding import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.toUnitsString import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt index f6e097799a..8adefbae52 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaUserOptionsActivity.kt @@ -6,9 +6,9 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.R import info.nightscout.androidaps.dana.databinding.DanarUserOptionsActivityBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 7397b33a11..b622b2a953 100644 --- a/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/dana/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,11 +4,11 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index f607234ed8..005c72c9a0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -11,10 +11,10 @@ import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionServi import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 690358fd6c..49f88c27e7 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -38,11 +38,11 @@ import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.PumpEnactResult; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index df13dfc908..08e9cfc671 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -17,12 +17,12 @@ import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.constraints.Constraints; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 55f0ce016d..c27a8ab623 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -51,10 +51,10 @@ import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.Pump; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index 89cb7b19ab..bfc9eb63c1 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -12,13 +12,13 @@ import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.constraints.Constraints; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; import info.nightscout.interfaces.profile.Profile; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index 70e1c6633e..fc4bb712bb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -15,10 +15,10 @@ import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.constraints.Constraints; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpEnactResult; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt index 1a51b0633c..e8e4c129f2 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/comm/MessageBase.kt @@ -7,12 +7,12 @@ import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageOriginalNames.getName -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.CRC.getCrc16 import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index e96282a156..b66ba1e9eb 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -41,11 +41,11 @@ import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpSync; diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index ee3f7144ed..f7f644ab64 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,11 +5,11 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt index d4f76348a0..2b1878f672 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/DanaRTestBase.kt @@ -10,10 +10,10 @@ import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index f019341df7..1f77a346f8 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -57,12 +57,12 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 753b36f187..5c315c19d8 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -4,11 +4,11 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.interfaces.Config +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt index dce4451334..3dcb6dbe6a 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRSPacketNotifyDeliveryCompleteTest.kt @@ -3,14 +3,14 @@ package info.nightscout.androidaps.danars.comm import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.anyDouble import org.mockito.Mockito.anyInt +import org.mockito.Mockito.`when` class DanaRSPacketNotifyDeliveryCompleteTest : DanaRSTestBase() { diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt index 0e943bbd3c..1f0970ade2 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsMessageHashTableTest.kt @@ -5,9 +5,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.DanaRSTestBase import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import org.junit.Assert import org.junit.Test import org.mockito.Mock diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt index 52d2787c96..6ded7f4f02 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketApsHistoryEventsTest.kt @@ -4,9 +4,9 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import org.junit.Assert import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt index 34d1b85b90..2f875b732f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketBolusSetStepBolusStopTest.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.danars.comm import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.events.EventOverviewBolusProgress import org.junit.Assert import org.junit.Test diff --git a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt index 1702cbd880..42016d579f 100644 --- a/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt +++ b/pump/danars/src/test/java/info/nightscout/androidaps/danars/comm/DanaRsPacketNotifyDeliveryRateDisplayTest.kt @@ -5,10 +5,10 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.DanaRSTestBase -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.events.EventOverviewBolusProgress diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 2277168d10..332054b8c9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -14,9 +14,9 @@ import info.nightscout.androidaps.diaconn.activities.DiaconnG8UserOptionsActivit import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 059d7206bd..8f02c7bb37 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -16,9 +16,9 @@ import info.nightscout.androidaps.diaconn.database.DiaconnHistoryRecord import info.nightscout.androidaps.diaconn.database.DiaconnHistoryRecordDao import info.nightscout.androidaps.diaconn.databinding.DiaconnG8HistoryActivityBinding import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index aad19ef324..8f2c86c0dd 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -9,9 +9,9 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.databinding.DiaconnG8UserOptionsActivityBinding -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index 58002742cd..56535fdfbe 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -39,9 +39,9 @@ import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_START_V3 import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_STOP_V3 import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt index 14793354d7..a1a629cd97 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalInquireResponsePacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt index 8c322be8ad..ee3cdb1967 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/TempBasalReportPacket.kt @@ -2,7 +2,7 @@ package info.nightscout.androidaps.diaconn.packet import dagger.android.HasAndroidInjector import info.nightscout.androidaps.diaconn.DiaconnG8Pump -import info.nightscout.androidaps.interfaces.ActivePlugin +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.LTag import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index f31ff0d0b3..c5e51720b5 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -47,13 +47,13 @@ import info.nightscout.androidaps.diaconn.packet.TimeSettingPacket import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt index cd2d8cab07..87fb4e6ce6 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/alarm/AlarmManager.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch.alarm import android.content.Context import android.content.Intent -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.EONotification import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus @@ -21,6 +20,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index fbb515f375..1fb0b81518 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -9,7 +9,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import info.nightscout.androidaps.events.EventPumpStatusChanged; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; @@ -39,6 +38,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchConfig; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchLifecycleEvent; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.DetailedBolusInfo; import info.nightscout.interfaces.pump.PumpSync; diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 81714eb29a..168756a19f 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -10,7 +10,6 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventPumpStatusChanged -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -27,6 +26,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index dbd16a98ff..c1c77953d9 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -8,7 +8,6 @@ import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus @@ -49,6 +48,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil.Companion.isSame import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt index d00bd435a7..526a4885b7 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/data/MedtronicHistoryData.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.medtronic.data import com.google.gson.Gson import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntry import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryBolus @@ -28,6 +27,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicConst import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt index 3392cc7a7e..57d2aec6f4 100644 --- a/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt +++ b/pump/medtronic/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -2,13 +2,13 @@ package info.nightscout.androidaps import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncStorage import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.MedtronicPumpHistoryDecoder import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.medtronic.comm.history.pump.PumpHistoryEntryType import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.pump.core.utils.ByteUtil import info.nightscout.rx.AapsSchedulers diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 8aa901bacf..1a8cb87c21 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -35,7 +35,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.data.PumpEnactResultObject; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; @@ -83,6 +82,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.plugin.PluginDescription; import info.nightscout.interfaces.plugin.PluginType; import info.nightscout.interfaces.profile.Profile; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index 4d7965d708..c33452b419 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -9,7 +9,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState @@ -41,6 +40,7 @@ import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index 318bd51c9a..e12313e0f8 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -4,10 +4,10 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 90361b0357..d629f50bc9 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState import info.nightscout.androidaps.plugins.pump.common.sync.PumpDbEntryCarbs @@ -19,6 +18,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter.to0Decimal import info.nightscout.androidaps.utils.DecimalFormatter.to2Decimal import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt index f1447053ac..dde7eb57e0 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt @@ -21,8 +21,6 @@ import android.widget.AdapterView.OnItemClickListener import android.widget.BaseAdapter import android.widget.TextView import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.common.databinding.PumpBleConfigActivityBinding @@ -30,9 +28,11 @@ import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelector import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelectorText import info.nightscout.androidaps.plugins.pump.common.driver.PumpDriverConfigurationCapable import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.bus.RxBus 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 org.apache.commons.lang3.StringUtils import javax.inject.Inject diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt index b2625951d2..9cf0e69b4a 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpHistoryActivity.kt @@ -12,8 +12,6 @@ import android.widget.TextView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.R import info.nightscout.androidaps.plugins.pump.common.databinding.PumpHistoryActivityBinding import info.nightscout.androidaps.plugins.pump.common.defs.PumpHistoryEntryGroup @@ -21,8 +19,10 @@ import info.nightscout.androidaps.plugins.pump.common.driver.PumpDriverConfigura import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryDataProvider import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryEntry import info.nightscout.androidaps.plugins.pump.common.driver.history.PumpHistoryText +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag +import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject class PumpHistoryActivity : DaggerAppCompatActivity() { diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt index 4ad796466b..784f5d29c5 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt @@ -27,8 +27,6 @@ import android.widget.TextView import android.widget.Toast import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst @@ -37,8 +35,10 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.Gatt import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileyLinkBleConfigActivityBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.interfaces.plugin.ActivePlugin 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 org.apache.commons.lang3.StringUtils import java.util.Locale diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java index 341348d971..1980fda522 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/RileyLinkCommunicationManager.java @@ -5,7 +5,6 @@ import java.util.Locale; import javax.inject.Inject; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.interfaces.ActivePlugin; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RFSpy; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLinkCommunicationException; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.FrequencyScanResults; @@ -20,6 +19,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor; import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask; +import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.utils.Round; import info.nightscout.pump.core.defs.PumpDeviceState; import info.nightscout.pump.core.utils.ByteUtil; diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt index beebdeed8f..010ddd53b8 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/dialog/RileyLinkStatusGeneralFragment.kt @@ -5,12 +5,12 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.R import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileylinkStatusGeneralBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkServiceData +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.pump.core.utils.StringUtil import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt index fcab67901a..e2c3928377 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBluetoothStateReceiver.kt @@ -5,9 +5,9 @@ import android.content.Context import android.content.Intent import android.content.IntentFilter import dagger.android.DaggerBroadcastReceiver -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt index 53830b8cf0..79344e2001 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkBroadcastReceiver.kt @@ -9,7 +9,6 @@ import android.os.HandlerThread import androidx.localbroadcastmanager.content.LocalBroadcastManager import dagger.android.DaggerBroadcastReceiver import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice @@ -19,9 +18,9 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTask import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTaskExecutor import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import info.nightscout.shared.sharedPreferences.SP import javax.inject.Inject diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt index 758b1686a3..2c0e2666e0 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/RileyLinkService.kt @@ -6,7 +6,6 @@ import android.content.Context import android.content.Intent import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkCommunicationManager import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil @@ -15,6 +14,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.RileyLink import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.defs.RileyLinkEncodingType import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt index 34fdf4e050..dd419053ec 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/hw/rileylink/service/tasks/ServiceTask.kt @@ -1,8 +1,8 @@ package info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice +import info.nightscout.interfaces.plugin.ActivePlugin import javax.inject.Inject @Suppress("LeakingThis") diff --git a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index 92d0bb6e4d..f223a4872f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -10,13 +10,13 @@ import com.google.android.material.tabs.TabLayout import com.google.common.collect.Lists import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index 644fe23099..a098f84ccc 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -3,8 +3,8 @@ package info.nightscout.ui.activities import android.os.Bundle import android.widget.ArrayAdapter import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.shared.SafeParse diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 7eba5eb81d..a89dee18f4 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -17,11 +17,11 @@ import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.database.entities.TotalDailyDose import info.nightscout.database.impl.AppRepository +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback diff --git a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt index d297b7606f..08b90185fb 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt @@ -6,9 +6,9 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import com.google.android.material.tabs.TabLayout import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.shared.extensions.toVisibility import info.nightscout.ui.R import info.nightscout.ui.activities.fragments.TreatmentsBolusCarbsFragment import info.nightscout.ui.activities.fragments.TreatmentsCareportalFragment diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index f63bcfeab2..45aacda0bc 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -18,7 +18,6 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -36,6 +35,7 @@ import info.nightscout.database.impl.transactions.InvalidateBolusCalculatorResul import info.nightscout.database.impl.transactions.InvalidateBolusTransaction import info.nightscout.database.impl.transactions.InvalidateCarbsTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index f5e9b3c1a2..cd43c52e31 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -17,7 +17,6 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -30,6 +29,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 7e1e142aea..b2885ec19e 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -20,7 +20,6 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.getCustomizedName -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -32,6 +31,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 32692a0f71..62a910d8af 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -18,7 +18,6 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils @@ -35,6 +34,7 @@ import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.InvalidateExtendedBolusTransaction import info.nightscout.database.impl.transactions.InvalidateTemporaryBasalTransaction import info.nightscout.interfaces.iob.IobTotal +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 232e927ad6..cb707c4d8e 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -10,7 +10,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter @@ -31,6 +30,7 @@ import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt index a52ebded9b..53c32e88f2 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt @@ -8,7 +8,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -17,6 +16,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt index 2cf8fc6300..fd7a26805a 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -8,7 +8,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -21,6 +20,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index 4c168fe6e5..74e7563447 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -10,7 +10,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper @@ -30,6 +29,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index 4ed7e4ac16..fe580b2e7c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -11,7 +11,6 @@ import android.view.Window import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -28,6 +27,7 @@ import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index 6452bfb252..9f0d966558 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -11,7 +11,6 @@ import android.widget.ArrayAdapter import com.google.common.base.Joiner import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils @@ -25,6 +24,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertAndCancelCurrentTemporaryTargetTransaction import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HardLimits diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt index 0bac90855c..27b3959c41 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileViewerDialog.kt @@ -12,7 +12,6 @@ import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toUnitsString @@ -20,6 +19,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt index 91b530390c..8f87b52a92 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt @@ -8,7 +8,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -17,6 +16,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index ace98fccce..9f97cbb90c 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -10,7 +10,6 @@ import android.view.ViewGroup import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor -import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils @@ -24,6 +23,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt index ceeb9e5bda..27f6d66cb4 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt @@ -21,8 +21,6 @@ import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck @@ -37,6 +35,8 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.HtmlHelper diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index ba720bd3ab..5aebb4f6b9 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -16,8 +16,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.core.iob.displayText @@ -31,6 +29,8 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.aps.VariableSensitivityResult import info.nightscout.interfaces.constraints.Constraints +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt index 57bcbfcc67..c967ecfb6c 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -5,13 +5,13 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.pureProfileFromJson -import info.nightscout.androidaps.interfaces.ActivePlugin -import info.nightscout.androidaps.interfaces.IobCobCalculator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.embedments.InsulinConfiguration import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.rx.bus.RxBus From fcd75c35d6d637e079d3151aecb49fd6353708e9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 12 Nov 2022 09:07:37 +0100 Subject: [PATCH 075/123] fix build --- .../java/info/nightscout/rx/events/EventStatus.kt | 8 ++++++++ .../plugins/general/overview/OverviewFragment.kt | 4 +--- .../plugins/general/overview/OverviewPlugin.kt | 11 +++-------- .../androidaps/setupwizard/SWEventListener.kt | 6 ++++-- core/core-main/build.gradle | 3 --- .../androidaps/dialogs/BolusProgressDialog.kt | 2 +- .../androidaps/events/EventPumpStatusChanged.kt | 15 ++++++++------- .../nightscout/androidaps/events/EventStatus.kt | 9 --------- .../database/annotations/DbOpenForTesting.kt | 2 +- .../nightscout/database/impl/AppRepository.kt | 3 ++- .../sync/nsShared/events/EventNSClientStatus.kt | 6 +++--- .../plugins/sync/nsclient/NSClientPlugin.kt | 2 +- .../plugins/sync/nsclientV3/NSClientV3Plugin.kt | 2 +- .../nightscout/androidaps/dana/DanaFragment.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 2 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 4 ++-- .../activities/DiaconnG8HistoryActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- pump/pump-common/build.gradle | 2 ++ .../events/EventRileyLinkDeviceStatusChange.kt | 10 +++++----- .../nightscout/ui/activities/TDDStatsActivity.kt | 2 +- 21 files changed, 47 insertions(+), 52 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventStatus.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventStatus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventStatus.kt new file mode 100644 index 0000000000..81cd0ffb48 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventStatus.kt @@ -0,0 +1,8 @@ +package info.nightscout.rx.events + +import android.content.Context + +// pass string to startup wizard +abstract class EventStatus : Event() { + abstract fun getStatus(context: Context) : String +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 0fade87f39..9f75cc24fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -75,7 +75,6 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.TrendCalculator @@ -145,7 +144,6 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList @Inject lateinit var notificationStore: NotificationStore @Inject lateinit var quickWizard: QuickWizard @Inject lateinit var buildHelper: BuildHelper - @Inject lateinit var commandQueue: CommandQueue @Inject lateinit var protectionCheck: ProtectionCheck @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var overviewMenus: OverviewMenus @@ -318,7 +316,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList .observeOn(aapsSchedulers.main) .delay(30, TimeUnit.MILLISECONDS, aapsSchedulers.main) .subscribe({ - overviewData.pumpStatus = it.getStatus(rh) + overviewData.pumpStatus = it.getStatus(requireContext()) updatePumpStatus() }, fabricPrivacy::logException) disposable += rxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 783e182d9f..6db8761907 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -50,7 +50,8 @@ class OverviewPlugin @Inject constructor( rh: ResourceHelper, private val config: Config, private val overviewData: OverviewData, - private val overviewMenus: OverviewMenus + private val overviewMenus: OverviewMenus, + private val context: Context ) : PluginBase( PluginDescription() .mainType(PluginType.GENERAL) @@ -69,12 +70,6 @@ class OverviewPlugin @Inject constructor( override val overviewBus = RxBus(aapsSchedulers, aapsLogger) - @FunctionalInterface - interface RunnableWithContext : Runnable { - - var context: Context? - } - override fun addNotificationWithDialogResponse(id: Int, text: String, level: Int, @StringRes actionButtonId: Int, title: String, message: String) { rxBus.send( EventNewNotification( @@ -131,7 +126,7 @@ class OverviewPlugin @Inject constructor( .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.io) .subscribe({ - overviewData.pumpStatus = it.getStatus(rh) + overviewData.pumpStatus = it.getStatus(context) }, fabricPrivacy::logException) } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt index 24ca417851..ac718a414a 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt @@ -1,13 +1,14 @@ package info.nightscout.androidaps.setupwizard import android.annotation.SuppressLint +import android.content.Context import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.events.EventStatus import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventStatus import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject @@ -23,6 +24,7 @@ class SWEventListener constructor( private var visibilityValidator: SWValidator? = null @Inject lateinit var aapsSchedulers: AapsSchedulers + @Inject lateinit var context: Context // TODO: Adrian how to clear disposable in this case? init { @@ -30,7 +32,7 @@ class SWEventListener constructor( .toObservable(clazz) .observeOn(aapsSchedulers.main) .subscribe { event: Any -> - status = (event as EventStatus).getStatus(rh) + status = (event as EventStatus).getStatus(context) @SuppressLint("SetTextI18n") textView?.text = (if (textLabel != 0) rh.gs(textLabel) else "") + " " + status } diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index a9a6aab56a..b344a0df31 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -67,9 +67,6 @@ dependencies { api 'com.madgag.spongycastle:core:1.58.0.0' api "com.google.crypto.tink:tink-android:$tink_version" - // pumpCommon - api "com.google.code.gson:gson:$gson_version" - //WorkManager api "androidx.work:work-runtime:$work_version" api "androidx.work:work-runtime-ktx:$work_version" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index eb74e54d69..f13f211758 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -120,7 +120,7 @@ class BolusProgressDialog : DaggerDialogFragment() { disposable += rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) - .subscribe { binding.status.text = it.getStatus(rh) } + .subscribe { binding.status.text = it.getStatus(requireContext()) } disposable += rxBus .toObservable(EventDismissBolusProgressIfRunning::class.java) .observeOn(aapsSchedulers.main) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt index 0f4b7dbb08..fa5e55a959 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt @@ -1,7 +1,8 @@ package info.nightscout.androidaps.events +import android.content.Context import info.nightscout.core.main.R -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.rx.events.EventStatus class EventPumpStatusChanged : EventStatus { @@ -45,14 +46,14 @@ class EventPumpStatusChanged : EventStatus { } // status for startup wizard - override fun getStatus(rh: ResourceHelper): String { + override fun getStatus(context: Context): String { return when (status) { - Status.CONNECTING -> rh.gs(R.string.connectingfor, secondsElapsed) - Status.HANDSHAKING -> rh.gs(R.string.handshaking) - Status.CONNECTED -> rh.gs(R.string.connected) + Status.CONNECTING -> context.getString(R.string.connectingfor, secondsElapsed) + Status.HANDSHAKING -> context.getString(R.string.handshaking) + Status.CONNECTED -> context.getString(R.string.connected) Status.PERFORMING -> performingAction - Status.WAITING_FOR_DISCONNECTION -> rh.gs(R.string.waiting_for_disconnection) - Status.DISCONNECTING -> rh.gs(R.string.disconnecting) + Status.WAITING_FOR_DISCONNECTION -> context.getString(R.string.waiting_for_disconnection) + Status.DISCONNECTING -> context.getString(R.string.disconnecting) Status.DISCONNECTED -> "" } } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt b/core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt deleted file mode 100644 index 138787d662..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventStatus.kt +++ /dev/null @@ -1,9 +0,0 @@ -package info.nightscout.androidaps.events - -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.rx.events.Event - -// pass string to startup wizard -abstract class EventStatus : Event() { - abstract fun getStatus(rh: ResourceHelper) : String -} \ No newline at end of file diff --git a/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt b/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt index df0ea6bc13..2295dce4c1 100644 --- a/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt +++ b/database/impl/src/debug/java/info/nightscout/database/annotations/DbOpenForTesting.kt @@ -10,6 +10,6 @@ annotation class DbOpenClass /** * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. */ -@info.nightscout.database.annotations.DbOpenClass +@DbOpenClass @Target(AnnotationTarget.CLASS) annotation class DbOpenForTesting \ No newline at end of file diff --git a/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt b/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt index 1ad180b93b..50f724171e 100644 --- a/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/AppRepository.kt @@ -1,5 +1,6 @@ package info.nightscout.database.impl +import info.nightscout.database.annotations.DbOpenForTesting import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs @@ -31,7 +32,7 @@ import javax.inject.Inject import javax.inject.Singleton import kotlin.math.roundToInt -@info.nightscout.database.annotations.DbOpenForTesting +@DbOpenForTesting @Singleton class AppRepository @Inject internal constructor( internal val database: AppDatabase ) { diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt index c16495dc8f..3f567e9f97 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt @@ -1,9 +1,9 @@ package info.nightscout.plugins.sync.nsShared.events -import info.nightscout.androidaps.events.EventStatus +import android.content.Context import info.nightscout.interfaces.sync.NsClient -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.rx.events.EventStatus class EventNSClientStatus(var text: String, val version: NsClient.Version) : EventStatus() { - override fun getStatus(rh: ResourceHelper): String = text + override fun getStatus(context: Context): String = text } \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index 5b51301e49..e2c2070f0e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -93,7 +93,7 @@ class NSClientPlugin @Inject constructor( .observeOn(aapsSchedulers.io) .subscribe({ event: EventNSClientStatus -> if (event.version == NsClient.Version.V1) { - status = event.getStatus(rh) + status = event.getStatus(context) rxBus.send(EventNSClientUpdateGUI()) } }, fabricPrivacy::logException) diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 7749e2c5bb..951e2ba96e 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -146,7 +146,7 @@ class NSClientV3Plugin @Inject constructor( .observeOn(aapsSchedulers.io) .subscribe({ event -> if (event.version == NsClient.Version.V3) { - status = event.getStatus(rh) + status = event.getStatus(context) rxBus.send(EventNSClientUpdateGUI()) } }, fabricPrivacy::logException) diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 976664ea58..20c781ba0d 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -168,7 +168,7 @@ class DanaFragment : DaggerFragment() { "{fa-bluetooth-b}" } binding.btConnection.text = pumpStatusIcon - pumpStatus = it.getStatus(rh) + pumpStatus = it.getStatus(requireContext()) binding.pumpStatus.text = pumpStatus binding.pumpStatusLayout.visibility = (pumpStatus != "").toVisibility() }, fabricPrivacy::logException) diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 02a352deb1..37bd4ec142 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -61,7 +61,7 @@ class DanaHistoryActivity : NoSplashAppCompatActivity() { disposable += rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ binding.status.text = it.getStatus(rh) }, fabricPrivacy::logException) + .subscribe({ binding.status.text = it.getStatus(this@DanaHistoryActivity) }, fabricPrivacy::logException) disposable += rxBus .toObservable(EventDanaRSyncStatus::class.java) .observeOn(aapsSchedulers.main) diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 332054b8c9..e87fa80349 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -128,8 +128,8 @@ class DiaconnG8Fragment : DaggerFragment() { else -> {} } - if (it.getStatus(rh) != "") { - binding.diaconnG8Pumpstatus.text = it.getStatus(rh) + if (it.getStatus(requireContext()) != "") { + binding.diaconnG8Pumpstatus.text = it.getStatus(requireContext()) binding.diaconnG8Pumpstatuslayout.visibility = View.VISIBLE } else { binding.diaconnG8Pumpstatuslayout.visibility = View.GONE diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index 8f02c7bb37..b7470d7a0b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -56,7 +56,7 @@ class DiaconnG8HistoryActivity : NoSplashAppCompatActivity() { disposable += rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ binding.status.text = it.getStatus(rh) }) { fabricPrivacy.logException(it) } + .subscribe({ binding.status.text = it.getStatus(this@DiaconnG8HistoryActivity) }) { fabricPrivacy.logException(it) } swapAdapter(showingType) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index e8dd86542c..d39d640855 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -252,7 +252,7 @@ class OmnipodDashOverviewFragment : DaggerFragment() { } private fun updateBluetoothConnectionStatus(event: EventPumpStatusChanged) { - val status = event.getStatus(rh) + val status = event.getStatus(requireContext()) bluetoothStatusBinding.omnipodDashBluetoothStatus.text = status } diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index e80f89e88a..d229c56993 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -25,4 +25,6 @@ dependencies { implementation('com.thoughtworks.xstream:xstream:1.4.19') { exclude group: 'xmlpull', module: 'xmlpull' } + + api "com.google.code.gson:gson:$gson_version" } diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt index efabc75863..bd1f1aa03c 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/events/EventRileyLinkDeviceStatusChange.kt @@ -1,11 +1,11 @@ package info.nightscout.androidaps.plugins.pump.common.events -import info.nightscout.androidaps.events.EventStatus +import android.content.Context import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkError import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice import info.nightscout.pump.core.defs.PumpDeviceState -import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.rx.events.EventStatus open class EventRileyLinkDeviceStatusChange : EventStatus { @@ -33,16 +33,16 @@ open class EventRileyLinkDeviceStatusChange : EventStatus { this.errorDescription = errorDescription } - override fun getStatus(rh: ResourceHelper): String { + override fun getStatus(context: Context): String { val rileyLinkServiceState = this.rileyLinkServiceState ?: return "" val resourceId = rileyLinkServiceState.resourceId val rileyLinkError = this.rileyLinkError if (rileyLinkServiceState.isError && rileyLinkError != null) { val rileyLinkTargetDevice = this.rileyLinkTargetDevice ?: return "" - return rh.gs(rileyLinkError.getResourceId(rileyLinkTargetDevice)) + return context.getString(rileyLinkError.getResourceId(rileyLinkTargetDevice)) } - return rh.gs(resourceId) + return context.getString(resourceId) } } diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index a89dee18f4..61dd8c44b2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -196,7 +196,7 @@ class TDDStatsActivity : NoSplashAppCompatActivity() { rxBus .toObservable(EventPumpStatusChanged::class.java) .observeOn(aapsSchedulers.main) - .subscribe({ event -> binding.connectionStatus.text = event.getStatus(rh) }, fabricPrivacy::logException) + .subscribe({ event -> binding.connectionStatus.text = event.getStatus(this@TDDStatsActivity) }, fabricPrivacy::logException) ) disposable.add( rxBus From 296dbc0659b6ce0626209dd038c2d009b50fee77 Mon Sep 17 00:00:00 2001 From: Andries Smit Date: Sat, 12 Nov 2022 20:26:23 +0100 Subject: [PATCH 076/123] wear: fix jetifier aar libs --- libraries/libs/hellocharts-library-1.5.8.aar | Bin 0 -> 145804 bytes libraries/libs/ustwo-clockwise-debug.aar | Bin 90266 -> 89769 bytes .../libs/wearpreferenceactivity-0.5.0.aar | Bin 30815 -> 30535 bytes wear/build.gradle | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 libraries/libs/hellocharts-library-1.5.8.aar diff --git a/libraries/libs/hellocharts-library-1.5.8.aar b/libraries/libs/hellocharts-library-1.5.8.aar new file mode 100644 index 0000000000000000000000000000000000000000..aa58d5cab624083090e974f4ab92c2c26851c53c GIT binary patch literal 145804 zcmV)IK)kHuXOF3^_IF3ypFuF5w5i1_K!)S7HW&m5t z(kaE-Qb3kfmpTQ7%d9f7sv2w>vDSim#)$^-q-~PkeM?K;Cv7nou27A1b+3d=E`^3f*3c=1L`kKyk#>#+Sgog@ypDo=glqrMGEGL$}9DD0HN;Fd-Z(Acm+^P z2MAa-Pffu9002G#002-+0|XQR2nYxOGmJY&0000000000000003jhfKV{Bn_b7gZb zYGHC!R0RM5QVa-Ith;4!Bx{l^Dz#WDF*7qWtHsPvVrFKB7Be$riatG$cd||LV$oO1E7KTa+4FXGV}~{@G|r?(~~oe%1n!_JBNFR-#`>) zpr9Lme7nN^>p0kdeHH&R3d=u5q5La~jj6GPJ)@1K5u=5vjg7srg`ty+Go!GprHzS* zy`7n*IfJo{p|kTp0xSL%I3z(vW_i4;uw@lzHb!=T zH8vXNXZhDe%1%GwP8^DTp@o~B-4U-d%kxG?+)S%GNZ2Z|jn(Osk4k0iT9VeAodUSw zHXUMePwmTA(3zP~aD>Dyoh*G<&Dsf{H0LDAkX65#D1vZ@7OlQM(h0{9y&x7Xdsd4Y zb#t}&$8-fs$whCYmSKL^6^tQAtf2#d6qz(kNw~+yc5SKiNv=_R6jE7cE{!`HndR7R z%u)wAet@iCXR$_0DNVX)9N16@J`}9SsN0Y$z!V$3k9YLyuX0#^6CMA1(-~G{P?=yr zg8~r7zeH)X{#-s?WEa5$e$;7ESaup|ofeIFdn$!Z*YhlcAq$nk#d`coSLZ z*lt&6Gz|FptY3eJqRp|7g|Z3U^7js*|FbD;>Fi=^XX^A%`L>O!hwW#=3cj|lT#_#=V$6@i26sp1 zfkA+HX8TM}P8Y=W<$@yY3q#2ga=c01zv}evxk3c7MhlKHE$*%>!N{zBl%C*l5$17D z_~k+AR=?`Ex8)Lm-^v}%WO*P5OS`FwcNVHPnt*cjMOev2A=~{{Nb?{ffIL5RCz<|{ zKhL#rIvP2yuRT;;&qqc!ij-m!Ozf2ZtmJ|;TtBh{|2HC*fiPHkfBomJe|fQU{!bAR zHFPoj4^-^`8H^ak32889H2&6{mcl1P^a8(MZOq{lHKDN~sr3+V8g0~;01k2rrldcP z4DTSlBhBeB8o_p5Sybe?8`de_m`Ykqtyh^?A{6bsGLEopMEfDn%t|gVDppR&$%>6W5y8^ z&$fjkJ&0MLPq#|?ji45K_;iysL2wG6eGjqHxzkmJwcxj33&>XMVH6P zK>g$RR6BrJ_2FdUY!I`(&_=$(E5((&rps`kXsJo5ij*>vAI9@;UU06Djz=8Xg+l2+ zqQVB&GK;YKOY!{|@XxX10GqJ||UM9ajx)vR1Rjs;r54w9dg%L}=OiEJQbsHqxdtrkgm_gEr5sjTeCW8d_)g+x0L< zt5{i$p0*bI2_@(&T-ylRrfjAWJ;w0F=?{??wdxcDQ*`q#BFQ+@>TehlBtz4-1bh4| zQaN9}IJRB4vDk6XYpu-U!;dS~fvr7qx6JuW+bt=l0Mn`23qsWPVuy$J*VxXi|qJM(}TE8j!peD+x}Fi@TQOxPR4S?3KS zXokTOV`*xMWla??c_iG_n^ZQi+%>nxPNrGiTFsnEC`dhg|Lw)!nEsXcbM?E+&yb$r zIFCK!m-OlCz3~Ru(5*rnG__3;q_Q~4HudeKBIwM}&U^xd>BZD=UKCzM{AX2i^^_=A zTo)W?l;vB0+)>u(R^9<2oA^}gaHu=LVA}X?wohcWosCfzF&Ss}ZDK8S?@6M^k|E0M zihi?y;t_JUITc`KI^eL3tvazna&-vW{7*K*=((B~l79R;fiwJNZQE1Y%b%{ebt|#M z;+13U_4=V|3|oRdnxPKZSEQw?Bg+KJKt#*b&VpdDT-J`tMv9zPhrZ2!B)3*9$uc>k8ua2TaelZ%dWToPTomXyZWXf!1p{5y8dPbfZelen zF_yB2k3(CnL#tDk*!LwH*|c(9dt>Q3=6Fu*E<{0ep;d4X({PrQpn6k9WmfQ;4dan& z78+&kw+9qh`@B!nuw=dhA~w_79HT|O{$M3pe&q#hPG42)<~2Ry&X0Ide$am8?UXD` ze~|>kd&QDS&iDzR6f2;Cp&dziO(P9|3rJ_<)!+eXIQk4pF5GXVM;aR=eY{wAtP`>VX_$*G708=WBJFUEM{$N?t9=vi|BOtd#hB7-1` zdp!vV&{7xQK&T5$*A@2}mmzfM3Yv4iH9inK3<%X1Dk!+rb#I=DiR1Q0nCv!Q=$h6nSe7nNBLo;5#BkPH(*gJ zdk^=>Fe?0JhFG*0qA2}2d_?CqotB~XSlecx^;&wv^`+mHE=3o5jm2>D_9R5NyRPyX z4JvkP<5iX5b3-)MHe=X)Hs?bO7NQl!eBpb+whBI@WFjn?{-MFvbff}n z!9hT3;Qkdq^8Q==$VJBd&jhJ@>9in@#=k;{t_03O91H>v6OXpuL}e*0g$w-?fdPgC z?OQ={p0y{XUPCHhB3`J(&W|6@`01dT4-$m=*K@5WE?(*^!3d|x^=w*}*V+8u)7|cm zBip?n2nGal{bKapZaY>>F6+wYeb!M-u{yhzvEgbvooc8W$n_fX!a{BJO#J2n&_fbN z+HG1dSyz`wq^Cm|4Z#WBC!4v~Q6;Gucfq&5;S5-GhJGOM7zjvPQR_6Bxu%$ppi~$c zI}LYgU7{LP@Pmq54hF^^(Aan+CNgGM`4*&M1Hst|5^ZeIj}Leg6QTThOcd`xtg=*G z(W^g6RH->M&NiA@q+H#0RXhy^O&r?wf$UKGTz30d@Mr`}iTZgzof0kQm(^jq zBX0Ews{V{Gq|WMteO1b+ws3`*1)1RTFA?pRXorVpHRFb1UCd_FiC-j<121@K?TO=Y zrmOHxjtc3XIlIA@j4GA(eHx=EH8{j8(B|8Q0U?Yp8+PL!jH5_bi^|nH&UJz317(Hc zTuo^;q2cQob`H+2Xd?H;T7kL)a=4XcsIl)8>mPP9gDk}d?_2%0#y6FG^OcfVSCC3w zB+VX1S~fo0^HnMB_gA|;xg3tBlYQC!Gb$l@m%usYmWmpzStdaf)Qo3SOYex z@SM7OVmz_>nMca&l>O&@{Ol?|iCu1r!{)Jv^U0asd>esA#v37=iu4r(hOR+MO9Mkp zb?BM-vActX&+*bvhMvj3HKC$qsOgJ6dB|D|amQzJ0zRhx#usArPs~)OhzM9X_B;H~ z=IDF=kbNI7`5jpKhF2KAL24T#ly$BgtQ;eRmRZg-12}!wNG#3(dymPx5934-X=S6D zyq7UYUN91=+(*Q}%e#?N6x|jK1f&x3UzIoazgOP>T-<7Zs~@aQC=|&4WSRV?1e#=- ztl(5|Doos}c_IiLE&3E#Ems!oEb1g|pqbzsp^qc|wofag?`(5)b4Tj;zU}?S319j7 z_<17fWus}|A8+gCKf=C$eO@Ahuu{QJa;0iMD97d~pwo}sP8KR5yeIGeCMT`q=S)dK zoe(#mE2pmQYR(see&FLkh)yJxhM4AzV4((sp3Dv0SxpXg z3#j`|%amvx>u8{@uNG$x-c-1Yfmca4n`c~mu@;hiTnemg+{j5mokHtel3Tcf}3tVwXElR8k`_iolCd0I9; zwE14AGv>LQjutoCCjn*01g>SV&rGWk?)79$v+?IgsJXPJ5xtef z6Mt5>;Vu%J4S8c_lNmHuZUulO8pHJX{Az{PCOyZmbm7joW>4}LCv7p=$@U`o>ufq& zrNoz44Qh7?RaLuOo&y_?aYF?hggYV;&I$%EWX9HQj1Daf3CTY~Om{I&KebuD;%)@< zYlU(L9xp2dcxf#CjC;`8R?-FD<68W>l}%5@0L#hOam5Rk0qdnz@kh1N6Dz?0)9!DC zxmVejTJBFWo|Qhmf6&C7b1k{F#n)2ze;;7;3~p>PJy{w1PLa=58Nc)lMMcdz-kHr9Ref$i$VU*7{q$EpgFIq}xW(eQ&WHjM#9b1M!UI}nAij4kEPEjM_g46(c8 z753}nVkR#oUIDG|I=uL9Oh-_m`d^zKZ9NmZa@^vc#%RtIdMOFN{1 ztDu=>3QxxGu#+*%@HoRi9GyQLr6ebA=>nEd_zwtvxiwX&^50QpJ;3?MDo1Woehd2p z5ENird7V*jnA04eUC6+=%!9d2N&- zGUQ}s-~G2jwS6MpJQI>?p_ed~XO*4;w83?X)0R)Obb^@bJD8Xcspl4AXKuw%TOtVK z>SDV3mlc`lUzDq%KNreB3CcAu3IFD)dK=FcuD@i6CCvXXG6ZO8>h56we|&@g(jiwX zO~`)}LaI6{r$U??Ji#iRkA~Xu6RDZiI%4 zm}^ziQCUfNO;~FW!r&;{Hjg)5HETs;R@Dq|&f-)bFHZkcWjP!u9gWsYXM6BXVZ98R zWbx=u6PA7|=|tfOuY;r^c%eEliY?7y0|9ctarS%zazMV9v&XOP8S$HI14s@kO?{HJ z?w-O4XUDp?&MLKay_?l1{ke^3+uKScr{$OxmE7nbne{dC@fEeMUC2`dzQ+QIeyPdn zYpbMLwR+cNXtQ zDAdXSDrXA1fpa-OHCbj!5=&CwYOTdGHk;;{hr|SjfF#goDlfeoHm`fDh2c zJwOue7BoH;#R^DN&v&hAx`3OUQOe#0o-mA`T}aP6dAUwAC`%eV^WfbB=Ox9|j~or* zSEjJUXe;N3jdshYi|7uR+Yp{ITd?&y6Kw)W&3-q9dG29}ZY#0}M8M{<$7-sAW2e3^Z8GCP4e(& z=L-_IyhMf8TBuJhUT2xZt*?QHE87M6BVy6#A4Ytyj${%945~lb6a)_n*mS zcm5W}xuQod54JXKMd-1Ff~8+Ow|o&iHKj~HMhDTs5kXswGr+wTckBsXcEhF<55MUj z^$qiLz(n!@nMp%I|S~Y%hVx!I{u_j<7Y@aEy zzAD#&tIg3EN3UN_>V_pMi=~7*EB{{YBqf=2TB;>wF5V?~>|`dBwK3Uz_;!+IvCVXS zxhs@=#5Kyhl65$)=)7w&#fBaipF+q4{7kbw!H2{8XZO`y{7^g11|)8+GNa_d4EaMc zaWh+K>4@rykfmNrxC(W(42x<&e3L>Mk$NRpA=^>T?N8fE@QvG_FgB+ovnr=#_VcB@ zenB2#Lp0x_Zt13{aHQa`iFHEUZ$Hlf4A|Hr1cuFGJuuq3hL6^|D2K*ShYb2z?aj4n z5;~=BX4Bd?*jHm$ZH%*Yv??rCuCn}xzNABsF%Dr4s5k2Vjso8aIUCX*+p26n(uYtK z&NNj7I;X9MQ`=nSXWC|dudxM)D|<1R*NF(D0tK>|j7of3Ka>S*v+jr29s)C1xqVmP zE)zu3DccYaq4U2H`>jk&1dNzu@NF%PR!YUJZ#stY-tp{eK)4}jy?mhOeTL@Q`->hB z|0em7Z+u4V##qp3AP#GWIHi|4NB$tzkyiJ8?~9d5P0!VFyj1rc9xBa&>dyabg6k}H zz-c2Ab%M+HQ5}77<^9SO$zWAr(FpDgOOKyZ8|;ZC!LP(IGa{NbrqT!19B13Xtq7H3 zdZ(%b9fii$&O3Tfj5A|Bxj5SxSCh9hjd_}Rem|O4NzxfR4fYqC@D^)lnHk&wOj1qC z58KG5p@4hI_2d>|P327%vG2R{+q*Uq=nP_ne&1dR65SKKqHd5A-DvNiABoc?2%bg< z7}}c{_F*j{C@gsm0aR-Kuwk|peHhBth0w~DWBJ_oI*!LGA;S(|h9i#>{24a>Ab}B69tM?;_gLD)HsyKr{LTG6m%+_LIe`_HtoND}E7-v_ z!&}2%om*%(Y*^1G7PA}o7=70XkQAQqBCLZ=cW8U#@XoLB@$2ZMpwb=RgEdXQKu1it z*`?Gm;{+f#^PWdcYMkUgUGcOgX81i%HONX=0H?0+n;ITkIg+9vjAvJwQiueNKjvqAHoUqPapzqG-?z4-nQdzWxz$cy=}-bNPjU)`m?|J!$||7u}Wt7)p^ zsUdw{(Xjz?m{3e+>5y6`<4rXhkbYsYj6rh+*GaP3ou0POPCd9Nba*T7p{!8N{HglU zmzFJpx>LA$4>c^$H0qQGGCxM{ouy_>!3+gXZ`W$I@E(=ZdmFZS3w|?}WT2&$URInezHo8O zsH_R55^*lesm>@-W@`)P8c5LXn}+@o3g>-5Qjl9Pz2s8bna4tNfov8mDDJA_&d3~H z@*JJ08J{3%3`W8=iX<1+9BuNAnQsIMl?_|`33i)bkgdpV%EUr#GST+5xa!d47>J*y z?i8$&Iy+9ZQcI^!%UJ|;us&H#WJ6ELpuMC<+dYK$bpsN`%ds}hEU5WX7u#y_6B5M5+nz%3 zpuk5?eI4ldHjB_s(B$EMn}|HzQe>%Dq35aqipt7NY3yjaQB%2|gaG7B{*9^* zaabb948iK*1v4p<*&`4Mmk#Nd`J=!!g%;lHDh+Zw6GGekSw=(AgYV0c82)6P96|TiBZ5c7zC>oUiXIlx~pxnzN^8>3UhZL+lB@xx4RM zOk~llcny<%@ui-77F}e7_|wBeH@I9eCaM(c~fr!m7*Cqt%w)4&}P|TRuOu5 zax{@q z-_EO#kp6G6ZM2@B_LbKmA{MvOX*aVcvbTJR0vK;WZi@?FzvS?)v?UgJe!m{N5!)7? zcV08o44#N&-^5V*%D90Y`wWTc-`-(3A-~*JYEv=s-CT11UTOKYJV{R{N@Txx`TkVm zisl=U)U?{jhX)7HGMEh}CcqjGD4+wl2K)j5N|+=+@8q$F(BX1m`qT|<`P$kg#=_f{0p}GVC@j~V(B1kt z)BEEcVh61UHN8oW^my3Tnmm`)cAed+L;YsI!}#zq@Q~*=d1F-LXrFzBcCx~DWkObr z2;7U{^xSJ>IVbG4I7OmFDLh}!z(#1hVUmMZ8P1|kFUWf1lE~U$zkOD~Mkd8O2EJtX)9(sb@5T|%17)E?_v|UZ2aw92b zwZ+m~-UClZljPZ98UuFLVp0JcyXg25`t@>S>h$zAY3}9qw!=g(yf>1n;MT}czsleml~cCwuEWqz-EaC?LO;@_JXxE*6|;kWF4GxmXYMkScz$=}w%l0nrKwL_ z+YAu~s@!t*M&T^bae=`UTxMRfhTh3 zspR~_b4xe(nW{V92Pc{1joUot^LbY{R^Q=~b3cU3+?dgU=!p_x(=VU^C3f()G}aN% z@MArS{NkX89A2?UVx5T1=J$8Y3J-??0GCxFuVc!9(zdneOj#tC=EyCG&C^HA><#Q2B1-gsJ?L= ze*UMctl3;ocn^!sAQa&Y{O62Al3+i|w@vwY&sBjX0%0)caylWjR`;udL*r9;zoQ81C{CbrX2<2+Yp-65c zm=b?-+E;p0VIiW{)Yxkyxc>OPsmDcR|63${Z0372`MxWkodKTx)C){52UD)a)JtP% zfzDzyNvJwOcNEE`qB5|Sr0f~#c+S+>l zkA`ZB6K15rn30BiPoLtdmzI~IX0v|u;ej)%3DNM=dzC%pZbEXBXZ6|9Jk;~S5cq%) zN@wdfqbYgc#J{q9Kgt@5UuiwY1Swr52Si7rQbxy$7DhWdlCb8%S-R46y8(4(7F?L= zPL?p?T(45pG{HnqrVoP9#D9A`;!dev;6g*2pa1?`t`}c@Gd_@Fj#2!+0(_GZc5vXb zGzOc(sIWk;5SZiMC3zpw0u!EDBPZ}?P*xHC0TJurmy6cK4K?GGz>-Ro!?tQ*&|3|9U~ z{fAOt$B^`@US`}x_Kdr+^N^&Bv3Ym>eNnwWkbUbPb56!gN%ViaWODy&mrT*p^dDJK zws-l*j{nBG3{mWqA7Db`Zrinx=Zz`k4*P!9l7)+@z9=sf3 zW+D}U-PI^G0%68~<8ztmCd{j~2dQzCZc`#*1gJPo!4@Qs!Rh^ubfnjBOA&AMrXFVJ z(EHhVdiG>^MF=hp zrhbt#TUj+RvP};?MJ2_M7VJ0e%CLw?9&Y7FRmq>WquFVN#+VQ+58KQB9`0}SsZWco{~qqC_?N>y|C6ft@6i8$nekE6{@bSfM1X+_c7TH| z1S*M)K>+rOY4mV{%83dChYP#q5|tna$jnfxy7?cgzlwZs|2oTumOmRygiA};+1L~! z(S3<@N7>xwdG2*CbEG}Dm7+#YPNYF*gP2B^RpX9ue8=+}d ztyQh)FrC6Rv(?J?)#X8hraNI=Ko{A$=@bK>o9JVwMds=WizXuZ7F69F9{}4R=+onR zvjYE7jQfnIKiVPU+~*c)bDDFs37kTu0!=_a*_~(IY+Sw0wRh-zL6C=6k5ub;CG&-> z!75Seq+lXgZ>{sF!GGHR{tfl*J16E$h$Dbf#A1LN^oQ+G9eB-^lwTT3;Wz!sP<*&w zaT-_yTpLnQ5lpeGjkmrV0~vpQ|E^pXg57h0rjGDIBb4l7HN+dt&(1-IPR%ouF^vgf z#_>*!xz0Fbn%)*i3Y<)MxpK6(OUi=jn1p^38|GAhEMFs4W7 zy$@BGIME#$L7}0asMN4w_&5dnzny}>@&;i?_$I9soJgZN)7h$B*>!mi8Lipy9nW-u zz7)C*q^CvT_u&U@1)5A~#h+PdVuw@w5>a$sZ6@E2jvzyNM?*WkREwU=O9 z5L4ATqQgd|pyI%XpENIp=o;aeYk8&BBeQ+!2JXP~LT<3~;9RV7ku)HxMaS`%hC`mI z#;Lk(OgoD;BDg!UK#i|KyDc%+_P1+;z;BZS?)^>I83(q2&xT+-wTo;l(2<_=o7KqF2|bG;^`;Bw z$|+Xt{cEDVrBRdPg)AAOfeGB4e#+^JPw3(>Xg}c~?KGsVNc5h_(iLxtNWqRgk3+50 z;EW?feTYY)HJH?Ey5xJr;vEJBCsT@~-HuM-M{Qq2?fGZJcb_j#osGW3L0lbzwZUcy zr^MAkc=Jh)7qU@kv||ZI-{%6Tk7SSVtuSV(h%_oTxrD}K>epB%E|a~x9OswuHOe+I zRiSn6uy!eHOG3Hq$c-9tyW`j7hoan87%3}MICy#F;wSL-?4QRf?_&HtMK#xD(xHm1 z83?Cu48wTan5t+22)IA$xuKZBk=5G_*QbA>YxILb?Mrwi>kKDly*y9^B)+EwCn*$F zzFw5kl1?-`7kz)_xD^|iAv%!o37lETE-kY_k;+yQK;@{ZG{w_rIlGWQ_)3{)8OJ19+zAQdY;MG| zs?AE@w9Qg~lb;L~yEA|Aw%cM1J~+%ueDHY*RnYqY?JbSHW-5iVNqbJ;7DL=M zOuMPGBDrXK0p?hdh6p@B@er?HfW~f9cj&(8nTk;rZYmJbJ-q)z*NiTRbV~oFYXI>7 ziou2dHw^w?ExcmYb*BX&nl2@frV#oflx_Fw8v<8}7=on;tR<1FqLh`0WSQjxT*{${ z3yP)_IXC_%NJ;Ibwf>)3bE2OGh&~|Oi>EGxW2;PkeS^6PKGVxRRozdAYd^mDAebWZ zu+4PrczbpuGj|oTiZqxof7}M0x!4Iq7>`zIXQl3H zZDl%kw@hD3ibWch(dycH=BhcjNBV_cWPRkMPyjI9;v|O%LZ3+_g4;=ofm_|BQ3vMY z9weEjZOPX|a~^78p}#;M3<*VO7_WI)aL~GD@+Ip4jr^jca!9MHvv*kHbhQL8g?29m z^-i489z~)x9IDYwC)H+TI9((<>f&TXQ9KAc`Jqa9Mkk1*chh~6Uf>c?O#a3I@3U$m zgwp*1QIBkC+Wz+AHsDY6+N8~j*rZXZ6lTaJVloCqtk4NYgN{r|#xt&%E>(QVl z!>^y9i1>Od_5PDYHAV@;q8`YInLV_itkJH&Ige^_jdmf}zp0ChEkEK6jJY!@){8FI z-j>lum#g2ER2{MaAsxXuv7cPC>WsuXbB$S=*Pmfl3xow%nuq_T)l*rJv1 z&dKD`LPlzvao7nqlKm_;#s#ods|82BwcFBwq1{ULnU|eCJ4&|FHRz$)kc_@Vjk@2_ zwzNVdVilB{(RQA?E(DZ zt{f+Fz=ux|hHeQI`il{V$rudpqKy-8irb-S6}qv_B78gs8{+N|y54L#c}l-GFxI;lvUx{FV!(c>?Tt3eDH@K{{MTM63M!Kr8z@vnjY!iU zMARG!i#+@xzF0#T&9nA>6X$Qw7Aaq`c%Oq<1beEo8Udq3G{1vSU*OzF6BBwO*tyUy z32e25C_|?8WT~U1QorXBgy5i93?C|f{o@(IssQrJIT#2?F!aCT7{UJ)$NV$H0JT-t zfk>YStI)yF22{x$a#CQRS^n_BGX8>is9{ksFhAuB)YpLZf~jR>NjJEEes9nAxUfvg z;(2A9I+uR0Sl}PIBah(s02w~6igoM#aGSaM{q^~LybV&~I9_L9aax7W@u138i5;3U zUD0wLtfn$kUSpTBJJNx%Z_b-ai%_^1V@i2U&JYq@GhoA z{(>z~eeE3BX{^z~bzUF^Qw{Jl>_?Ja4CR??J~mAzTEg7CxL3}+Dp>PkLc1^DaeCz5V|LJq@l*JUb7R$ju3?TaWaMwA7Yk?hPQlM zm9IKiO;4MW>8Xxc-fu`?c=oA=#d;LD_ny*R)74QPZ?c=2-c#5g=0d)~|pJTntqx_wyiADb=z?1j+$gjlp0- zduaSROHIqQgz ze)&R3@$D1;_%)jWl&grSkmR+cH_x$PUSd+V`ZHP{C8GI-qVJepi!F|G0S>c04{&39 zuAVq})!jZ0r%`6<5y>nlrBQM`Q>C0>Ek$Xuz$<mER`ihP($^}67vJ*O}n1}r(URfu`6jIUeL*WlvRs5HNo z;cJ&Ibb7QdXk6`eGr0ZLoGi$qg7Fef|DwdLmh-8J=-ytp#DSsDBy5@p_D0W}J)2cY zerKE8!oWEnYG(C$l1^_EPUwX$KsO#uT2xmZga^R5+XiBxIs_4H&<5Vm^;TK!{Ua2;L6Li8=d#ux%u4*ZQP!U%y$k${XEi`43VwaNnmhGX4oAPq7q$>S zFwDktng78lhMPa?=Pl#mzFRJMG^Ly1JD3}2oc*~sl|(HE+v z^T*+AOkXCxhRobJH=-K9T!;@}>Pq?>m^PqbyI#BR_~G4OK*qlAxvKvKhfK@-WY~;a z%Gss%K6#dR&=%CaUSr6iebPa5gAi4@SCVHyAe29p#`4~sbSOHt+fQVj#ka)I#xF=V zVG~p&M4IsB`3<)Exy+$Z735*aKRrJmjhG*nEkFKoBV_2~o1bv@OEX}Z1c4BU{WdYo zgTTMf=6FcX+BfVc?!J`s6$tcOa?aLemA5D+xwwTn@h{5*2em_vv!&UhR9oUylwa_t zvR+<_B*kK1W%zhP(0-+F;YJV{rl`UhR$;_t5g0~fk3Pn^w^@0>v+QH-{&B_bl=Yl- z8N!wF`456sPqidG0|x<70Q@V0<@j$2*4WR1y+VN`H>J(|`%Zv@G<4RHZVyHX-_-8nyL3 zFl+4$!SdybW-Ht3r`q1fTI(^!kKH@oOvb?kT#Gori$skP1&SO^jytY&n`*AEiMN0=yPBsk|6X{;a9ZQ#QBKFfS&ZlP17 zF2~{a9489N`HJ~G)~7K}=%r9@h)-9zxm*{Q{7eU%$NYTkEPLokK{Z?IAOVTo_b;k! zJd``Yt!M3kLBKX5OmcYyzmT;T1+n6FoH)uaNuy|lZlDSA7A}JK)M^uY1l%G*R)Qd% z6$DSI@zHzqVVwK8D=#<>unZq@7{8nSVJlCM$RXzkF~+{dJS@YsgmLy7Uv}2db_*h` zE7|IzQkLJ+l_@it35${=stL>~kye+?{6bG83%?9$<>`K<_qFiZ4S0p@d$yA}qHP!M^kX&b1vzWNKj>z}UGIsr=TB(z3jy097{{He%_# zQ%wEAn^etyYhbj7ps~d9^OMZoE?Ek59e~y1!mC;Qt<_fBY6@Y4ShF*Uw~2m+p(*V$ zal#8c665kxk+0}kaIFg)S|j0f*C3p*xJkVo7LM&6lhcOwdKkb{t zeh9lz7tm=6y<*HLA}M+d?{Rs{FN&6Q1RwpI^%*5g!IO!}PC*XZW|CvW-6-6N&ZuO3 zw(sXbA;{Yp$+K{O6Df^aL*z)cD85_<&QGIqgMwjHW>#IzJ^sXrB$-QF6ZLgnx! z!Ifma0XT2Aijc)eCFD-znzD`^`kqsRvM{lU-!N#wNqh7X zw7+U;=s|2fz_cN~7d?iQ(7+(VwK$4x{rC5yzaoR|R|N z`K@-4uF}>#qOlFs7vwC^hg9#W8)-?o%oqrEI4nsq$G75}o`W}P^ml<=W}%pYPzM~% zu}}k~1@ScgfX$%!a;;Ajt5>0biibeZc_Z=nc}Yvb32scqY92F&SZRsdh!g(|CW#_o z@YOQw@06utJ%lTZyhLIr^UR8J%zBRXQb6`EO_(!m0z^+XnVamYNvKT^0>+zJ;*~w{ z3~2EE2hFsVf<7L2zYW5u(1Crp`uJ1CSZze6novAj!PCq5Q?0BwT^PUofJ(jFOx)T% zR|?V&L89|JY_bTTPw&tZrY7)qsKJhmw(`hWs29Dp5ILaa)by}(4^VAwJ>wl&GgF-9 z84nzXSd%cvrPtfvrEYzJ{g^k7rMmQ<+F#!2*ZI?ZvAOk7U`=Fs{X#Ca`_TZ)0K;}B zi`=*fG@ZqTS!FlaY2YJ(yQ#S}O4NDn|J4N7`H(7yKA(MVI;S;GvteAOCWvis)LTAgY+)&{JWic!hkPAHWFwtVeLf=rs zy*abUd}Bz9(q(QqjTtSMPUbHQFY#gKF(0kzR7I&CM=ATIRLfmEa&>zmJV}Vx)GuU1 z7Q(P43eQ%E)up+ofQO!++}Ks2=r#tX!4Lm&FeJ)fyD;PQaeyzvU-{6eb-r>!c@67h zmyf6y_VUIop->c$vh%1T8dTcA7C|x7+4i|3W+Q2&qGcl$l||j6WTQ|>N^e)ND&=U6 zqHAA{B(Qr;0r{;z$za1pTVw=RF%IE#Yk0@Io&T$P?X7DwPDdIMdfE`J+ZF(O!%JQ+!|He)_pmOSmAb3O-au(yu2MZ@mzD|t>UQ5MLTb?y z{7U9?nvszz6HdvTlnc{Tks;`1*0Nl@XvTe!xNyBA3Q9H<@{-&;J-1 zI2$^~R@SWZM8R^EEjU(F@z}C%*+WVKxcRDQp{)+?`6~Ip7xU-2@LlsRp^QJh1Ngto zOw1hKzQ>^F_MUq5L{*x)Rc5LWX1b|VS@?)$=vyzFWgg;IHo58Oh*T{A@w8WBGpbbw|&{cwk7JjdY) zzD^YP1brdssomH5nd{Rk_XyE1Uyv(jy4UovXA(KNhL-hnN2f!O2HhWV70*usiSS17 ziz#Ts7NO4eh1l=s=m)c3p-`8oqH^a5aXq`s5roU>?rJ%3do6AD;-)lo$&1T~k-;g4 zQD=C28lXXlx=eYYmUox_Mi*2|00oR2Q2%QoPFH%NccpX{6u8lx2qw6Enk~Ei(H>UP zJHR{qK2g4rSp6QCJ#ODXS*v~QEPX%u_-dJR7kTrW{wnMC== z#Y7;9(PK|x!{YyQ>FX`DAWd<@c+L=;P^!yd4iNw!-qrvc{v>m$zXa>S8nJqp0q>#a zd(uP_4LH>&qc8`p+$kb!<2l?Z-wlfDQ$9L&S0Z9pGW;LH#<-Kccpji4H!)W)Ds)bV ziR{e6Tl1wiLR|}aNf&u27kM7>$>)5-DV_2!1@c1NB;=cVXUeq&OBb^HK0K*zsojoS0~-&zlYc^WqJH&3l3pb9=% zlKIIw)u(=)8SugrJA73BdMgwMKSD6;dRji^{5rRYTJ8sg`$#`o35(=zu;3>Z zvZbubToSxhctglS`q&Pd8N_r)Ky7g?=g-QOl41tbzqg zYR(4u*gxhsIdk7>nVgBpVw}GjXI0c_JJPSv`NR=6aK*i@GU9#-r*hM=6tO4G4FMF= zRs(bQUCC+L=9I2~J{Qh~|J+jR{tif zh8>oZMksaKoAZmt&NAm*Y5i~~#OKvQM~JybZl8)O7d_93L#ptC4#F)B+?XuQc-lO?EZ_KKdW+w2l&T-(i?}m zOIlD668F9J4~Pl#FSXh4x!~SdyNDWEbhi5k98T~x&b%6{ET0H>pX(C;4{L7~UB{NK zX$mdL+G1vAMvJzXnVFfHnVFfHnc1=|W@cuvm?ewaC$nnY>g>*Qv#R@Lj~EdTd&Ixu zoAZyg=9*z@hLhHM+wueIJjo$B1dDlcmWBGxr&M@Q9WwVWO5}$)jYyYs`R$_ci)Z26 zJpap)YEOfjN2Yh#i1%;AL#@|jzo82s$f6lOudl90y@Bt6hotTyC&>b7^jABV^&6}1 zPq;=?!+<8A1;P@Cx6lgp^rl?=EANd*o9GW55*FFF1# zoThe;HU`elCXNgO?iNm}2G%YnqW|;Mzji>0ZLkDWKoq&cbV0E>Z*Gbq^vEwsfu<1* z4AD=r)TUU~F@5@ZXEV~K@eJylY)n8*G+^=N5{P^G;>ZJ$R#EqCgj|7I0y0eTW>vlEPjPK;Fle8O%ir`K&fhNQ|NCO@|B_44#n90DpL4Z;s~Y!%-7@c&FJFwl z$cla$&t5o)_I}TvAbpQs$j*K{h#n|RG<;yw^uimwW!3A z4$TQjNDv^TX`of$qhMmt+2*67Ve1Ia3CKtgfG;Bl#(Usa#3Ten1cZP>U}|7utzfPQ(0+j@93ANW`VVoqr?iL4{@niU--`3^6X1V| zBW+>(zx&AC{ddyjO?3ZxVD$foFxh`2%$G29V7z5MdHCvI!gT&qn8bey6Q7p>rC?oi zIy%yemaV6moc${`BWY}Cq<5gV4+JclHX2|JI4490hl)2g)Q9|sEY!c2g^K>%_^-c} z<=;18`Y&1j=c31d7k<9>@goYGv5{MvTp^ejs6n%*2KW4?X-4#9FS3uWB!hMaJ9rsw^|~Ctz91l)CJD7$J52qjHIgmD8Fk zA`oL=KgfD@$Q7SnW^M=uak)A6?0Hij7g;g8xFslSF3n#{UX)N2IrpvHSKLgKd4B31 z>R!yHQ!OzBw8AtI!Siy{X)3o%^Zo8B&kwvkEDwvFP1oiGOQyycTYLWAQizF`WS^^hn&Ml`Yq&CX-C$?D|cE5NwF??yr)f%(+UlTov7$O0=Jt{c9rWzUKRY2*O$w zfqq86wWmj><+Tm{6-wO!wcF8kgZAdCR%NR^1KJE~iEv_c5lrO%-(4W0jCdgci9QH& z3Zy>T{zdFEcO{z}a9x$GNY{b&$O83FA|m<|;|Z4Fnovt-Ydv+bcs^w*4h`{?!U4%! z3>n)FZzxNhmWi?)QxT39k*KXnTA1Z}(gWXK#JU%QCa``qs6)W6yoC#@%!rA)M5+_$ zg3R}!7G1gXVrUDG;u0k90Y-&m_@eJ|9x!e7xP!y(lY~m;<;v};Y)%mRU$Ybsvx7+$ z4J9(2ITPFJ{nx(5y zmepaE^Zf#S7x+M$p?`!x^uh2dx*z{!ExG>e_Cs#$bH~zCoH&nTI#;5)5@`b>^Yi-= z5HchK4dat}HCU8`ml0*r*PVZj)ZN64a22YQ zZdZOkc=c#vll1jxW3VS~_K`YV3Jqqme6WxGo!;6k9yE1YVpLK%o7GXMtJ0ikSiZOF zg9V)97EL);iP@7WXNE0{pkDTDc4*{k)7*kMj6 zo7~a?9%T#F)Vf)OqF)5XjbM*!muVy45O;&i1e(qvz{9O1irabPg19N~*@gd-N2P~< z=PsR0Tp-?65g5q9J80$#<4`@zm-Rv8T#Zt3eduJ}UYvb9bV|Km+=i@UZ5xcy2ka}a z@s4;CUlBf=a*Pvy3^%qmSl6X98YWLXK}AzvJHnV;l9p~X_lzYRf^agpj1%Q@({mRuV#3#^f5ElknlbA2< zpC5QZfU^HnPu@X(2B;?x77&;V2iqwZ$PNwxbc39=zrk?kX*cQW3DnI;tv6u^g9H)^ ztbzz^7g)nSk4{DWb4%J?VeoXcNGEc$p3o@rRb#4MS?XmSh+@7}X z_UsJgjd>Tf{}A#SC*9TrnB(~PDK+UPQSpBRd}Bz}aMf9n?yo7g9&>JQm8vP)}U zJHYOj?ooOS6xzTQn(kIqi>3hRG`I^0g8T&Oj>jzh5St0>0TGNReRjCS{yIa%jCpIooIxTJy9{uXzu!zoe zY(V%n>JoxOFu{IA8olER(qeY?MS~)F^$llc&SSnCPQ#8pb)ml-Ti)tYH+; z=VXDzxY>|VsVaxm49IZ+8%cGW485ixXXw_^EY{jen2tG~S`%cmQ)&Zoq3#UzriBW- zD><2Dj_6Q{V3j)+qF%z8BMw24p*u_SL-|jS&eUqSRw5J_A-^7l#KpjBs=ZZTEOonc zbFy3|Yk>UVReoM^|WA{HxVDzv;Vcd(W87ttU^Fj zH+VKGyaK(2*qV*0Gt#Pf*gj`My)z4yh?qq1?sA1!^wi0XV047r?xQE~P8zTPd4c5AMy$Mglaw2rP zl3E4ca%?+%>r5csvU7J%z|o^D$fhGi=CBb3VdYYjYrX84naCU%rKa4c%yVo@Ecw_Tm`Ra-fbfXt1^p&e_ z0U)wGCK+?qsZdc-YD0AeXsTUf|CUmyYWIuB>ZHb#geH(o#qQ=!mIrJI(XY<7BC?j9 zJ>~fDsoPL&ra%7j%R9!5ZfKMa^>kz*ph)Z0l)&lxs7z>xVB0UUyl#`_LvL^f)*98|PNg-O=UUF=VN zB_`zL?GbV{ zBrJUzYd#A*U_M0~aIK}OE}2;Lm}n{t6{X}`-z6%{n}R`x;x&qgV#Rb~F>k)rwe z6r|v;Cpgu9IS#SoAwOxxgxHzPUw-H&GJ@on9Hm?QOfy5lA-`Z87Yvo~i6%(FFg_92 z&PVW9C@uCYDRZ=GFwMutq!}CHWO%~+uOeZ+ok=J!;D6C?e!xc(_=oT@YEtBc18F~*;1z-Wej=Ws8VeFm`ta6;9u*=-ti&mXIF9XO#7|VtRmj^Q%heq6ih|W+GebEqQ zq1O?FwgCV|WN(-&GS(Ys{!15j9|RAQFnOR%ObbY(2l8(BR*HH3>agm7D>B)wvP) zWQB#-`~&;t!1kb}!@sa!h&u}&X5=^2-jEqX%&-A-GIl2DcaAw1dT|EpOd8Q9Kaqv< z?3Jk$Xfwcd!@IR<7yDdBj5#g$6uIOS2{2s_7Ykd#$a%>n*~_xpt23M%m-E^yV%x2l zW`iDuc}U257gH9qS}0^&bZ&l!k@4ddFrP`A0pva-5x3{{pZ^ZWR64NZV$s-j!D zkW{HCt=e9>B!#BIa({5#shR>8WHs8YXjASjvulAwHS!C78uyEjK490zLru2Q(T3)w zwS7`56hQ|dH{ItVbZ&~t8FN>VZ`9uHW$hYK1y_q?b4j}uD6|FW578(o#dP{#eLj93 z)J)jcKYjiU@gJYBP2&`)mV&LfLsmjv<*^mdwpwn5Ob^qENYCOP6IsYIk#oA=jGaJW zM~lM%5uQPNf3{K2iIGeziA7^w70C^49u$i3uAG{OUGyNoD1te83>IYDeOZvA_Ho2Qd0Bc#wh~yjPD*)i z7CNHPcJ)Mk%%%a;g-+`NYf4cQnSD52nmflzRav&`U9L|(YG<7$bK=$(#6s zr+RA>tuQl|$(ip~J_B5AvUKZ?7Fbv$L&NUGn0d^_To$`nULvT+<(x1|h15jSO45Az zM(Gs$pE8`ANa5p4S%cZ~PlF zriC4z5~{F`rQvp7%<*+se~i9@ax7A(e0TnOB7R)^`iUK>_`d&3m#iMmNgAij70HYF(NUgAU23gK^}0)Cdn6xnUH6T1AmwVCnc(*idJ z0X-D=px5?>S;2EMOT<(RgL^{5!UruZ_Dsyp0mNM8Q$r~c+{`gk`Q;t%W@f<1Sn<`OmOFcvS9k|%UYt|9e z^~RLk`caU~e#Ccj;a`4(qUR$02|i3@ z2ef2Hi{YL(7px`+mHC9iOkq|2@C6+NBTGQD{u zgiIH-XIwXxe*eVH`#*C1m|F^p&mZbr{+9ZG-&p*=sQlzMyxpJeqipYhHpJGTQ@9~7OAx@Aoy?4*_E6>$2*5~c|XB%ktfErjCZk4u; zF*JR1e+gxYvG>n|NZn{n<%6fW=h~d5(LX#lL5V5U<4nIm(To`yE+JjRtV= z<{B`H9G%q(&s8r{d#yh_0Ma2zXi@W-I&J8A`W<>$BPGZha(Y*us0?2L)f%?7TaJ^S ztH_vAa>rf-yhZz%vBUPLN?=f~)6eGI$YmW85qMQ0lbRK~@*Nml#ZO#9$pBMB#_Po1 zU9-FxVkx`Jz!oZLIogwF6y1njlk8%*Gn-6kT<^?S*2UWHDUgB@+%_$_RoeG0Y1Hel+6o_u6<{U<0b%L*vQm{oVfK;x}BgfG|kY?tUrR ze&@wgt5z*I=!s>ToL`ShnlZl7LxK%wzs!Fajhv}1SRT+*|ra+Z7b)Ca@ z6FwqFyw1ty-0+J!BQeEE%V!4fSnQ#P`96+-*yMXjI>g68!$}I6GoY9ht#E1M~c_Sz!Xd*JkEWz(}sBw!#&uhSz5?R zqUs6uNIKq`XoB=Uy5FIn(CV@n4+9coo!oU|skx@yi&S(Si_>n$B*28Y8x(FV%-y+#{5 zS1l-393?ltTn_96CNP@v_TL7s@aGKD^@O@jvx*p@$u}xr!@7Lk6?5nMw@>2b`zms#LHMo zaO1^GfBtk!yG`1f=ir)i7WiI#!*~8o6oE&04*I(xfGC(@ zEK1(U`lV0b{66z`p0v*1{)OXJ{0K{6t(ce zo;r>RUA{MV-Amf^OLEarJL_1`j;Ayo!BNR5JGp{hFfJT56imh!V0tv)iQ%oG9Jv$6 znO@I1%dE%|_dOQYX*N_qhae&onKkq+i+LpRTs*@O{WsuFX%81_niH@?#@UH`HfbGa zdWZeS*|tu8K*G`Mfoen4+t$0>%RcM;apyF5nWQyjLN=}gfPe4qN&uHyUn807cMoB zzU?F4LqHT4mlCR$ZVxWqN}VyjK>wu^-GC-+WR`A2^^&@8w<8{Vu^p#$!l=Be%T6B` zE|z$V{7fL&e600-f&P9DJ#*8x85ORd8`b{_YUdr){YM~x>Soz1JP#2#u>9fgF87US zTUgI~7K30KchY+NV6#?wMBO{sYm+~(8FUal-yH-M!GEt(P@J%*R-oR}(oQkpEeb8{ zI{*bixdo8A$vk=%w(fXFzv&(~^-)dNMh=di#0yK5XGL%WkEAjf?;$rp(wG(=Mh$ut zyzNRtU?=nuIHI@5(PJx>UIF4kJ>w?{877VCoAHdR{Zc2RDXecDP~N!DM3dQ;wmQ#yNmxPm5imIgGS8jvu`AoBBQU3MN=2LMURu970d(cU&noH?mb*Bk~BbE#OnO(=_my=Qz8|uj6U!6(n}oCIEDN zCQ5dU*{Pz?KqFRnLAx%S8q=h154%F4BYRF~xDlWhfM~8YliHkIvKq2rZ2NNt2uT!x zr-h0jg%^N=V9-TD*eKdzIBTrTzd3;v zazJ1#2l7e*ai}{0?gVwk#qSEudH5z>*(Q)$Xua2Udr#jM4alLD@1@lSkvXR8lhundY6Cxesy{f- zGYmI{RZ}PTsDo-g>nQzpRB&>!#|-Kz^DAkUxyUjs8=n>?+)6num( zo%OJibN>2F8=ootNtv6f$~(N*63uhRz)Z~>XJ$BYhDkB+^F;L=$UndaEApEOiIPtY z1Zbu(xT^ooqm=2yGfh>I{#E^$BRP;1Ti{D6dueL#<$)`>lprt$c5WIgcRcn!@}sz* z3WJG4YA5Q$Q@U0!+z40i=v0KnULIE2G4VF!Zo+)EJnf9r%wYoom^fj4py7dfpdq56 znu*sw7Bnb=2HTDs1ZLG_t{Q?@j~B31Qn@(loohDX9nC_6nDuRSyw!HXx^Pr&T+243 zK&*~RHY%~Tdp7RgKplh<`DCNi5F+y|07}EEqOOT~8&EW*Z+a-vau}`$ z560bwDiDuOz(@X!^IVE6w!KHDf=A0j-9zWF9(IKoWb%P>bhW1$z1;i6z7XD56|ja- z?x-?o6)+Y@syrv1y4>7>3jn4MWJa$F-w>GZILT3_`5~6`q=$54x}C>zLJny&`oP5-S?I6 zqn=`$o>06&MBBe5vcFb;(=OAy@E4ysI4ywABN0-t@D<->VOdzI*%)lvMB=sWh9rA~ z?<;VYW~Lx>x;?tUW}(l}7@e?X%p$$(HqPB%sSTZ*EO3@0ZjD^ZEzPncMwk8eBj{1s z8_iN~K1M4%F~PjBy^Y#7!7ycStFoPJ_U#Kc3SAW@zP{*Vtx;uK$+Xy+B0Nck@+VBQv{W{ zynS&1f`~xjBMwyP;Ex6+Yo9HlG{nM=8cx?r7FJsCY->YsVq`LM>e(%U?ym3$LOvGJ z=WhT0dJauI-B)_PxgVkX?jg(1R^t1^16S-w-dWG@vCtp*WjFX!JJZfr;5;!12|xMV z+1^p6_wX6=q3!TBpxnZ*p-u*)+(XfxiOzb-7ReRr7Qa;Fvy-ZnHvcT+Q6$Q%)Q?C( zMyqM>6OG_UW1>xpyhULTt|~?yx*_NeuFFqwc*D~hG+|$a{uslgSMmkD+CMAK#N4*K zVWvt^_z=~_v}VWnk?ICcRZ<^4KG2D54TGem=+CGtJ zh@q!t*1H8tTgI2o7T>ER=*>S_Dz*#fbEV<_jgS}SNV z-q;J_%Y_cCXd@65gLt68dR=LMOFEba`^?0WvU8#VbM2 zWNw2NB6Bg)k9FPzB%l9C>}}v6WDZauARB+{vn2ns#I9`TVq`9EU~BxB*ZRj9v439v zcU{6%))jHY5P>zYjm8FyOnpQ8g947uOsVmZnBznk0e}d`2oY%VWfQgrb`94ES2DE^ zLX{7&&!D?_>TT+ZF{pzg#naW4q{h-uA7y8Lh8|cVuy)v_i_T);N;|d{m?O#52G?`_Wzx6u2_L~>1`E*f`o+pKTexj18(Z)=|j_;38m4McV;z}nnO z_r~7?*|=ZNYwqyW04nG9ZmOL}2+&0HLNAN;G;cMq5qmZ9y-YuhN3bgPfS4V4wtzgy=PP>&5crgk%H%K7Xlp>jN&H+RA+ zt7%fno;RZwCRCNs&}1;$#~2L#{gxaLppY@~Qm!by0?)C;0Ks-1t)P6vAp05TPTCXQ z1BVlO&_MTyisSa%u%sPsd=lnxdLrqx8{o9jCHcS&{f;^_XVqx$m5U+{E=f^hhFSYF zU^!P`QnN1J6|d>i>=N=Q?{}VKJ^>#G$s|X*(Jct7Sa9tg&#UQ)CWh-=zpNo>6#OF{ zLf00j>c$`?P++2kcfzy0%C10`yZm?sLdR@DBd=+VrgZfK8huPCz9uVN+=ItF9=0WC<6n*PGZ85sz z_g6ep@$!#BfB*rB`r8U9x&PC6q-11ZZSwa)DJ6MRab6yA_;VdWQb==+8X66)*br9o zd9G08jZzq^N;lacxho#uoK+^BbWkn9ZD$Beco>$TSIiN2Sf($ZMKd2`lGCfP>$vT8 z`{=c>vs#9(uNY&5Q{ZWB_|%WRixTw*I>nmNtdpgZ+RA~{iw1;92IAo zRJozNZ2b?xWZ4km^%J_WHmu1&p>DMgS1qL68Q?nALd;Svm9EC;G!hx$!|C*1%SMib zQm2u8MhNo~S{jo(i9LYS;DFUwFm9Q3qYq%vx!(jq(?O5Mc?&kv*4zgXoump1~VvB=Wg;!nIk7MY0qli)NE;{Q(}c~rZU2O zAw_PN7QYI=rdPQm31n8rQnObH47LjP)$sbiao;(VNn`H8SeP&d7VtwC)wRu`eU8cpa zsjTRz-Em0y<+?r_VwnzR#IwTmA+JEbKh1gN%^l-=9Tr++(n``TnWU5#pYs+SMF5@` z_I7SSAdej9&WGt~;O_?Q>dRh>p2p~$eFnZ4eyf?wBm9U+@|rFygJK(HXaGPv&_yw$0 z0e-x&7h4%@>=woZOUk|18HvY$24f+UpTUiA2<`qxWHEp3`5%?ZlJeZGHDDkh(~y6M z4BP)cGXI*b)nMGURnR`JCPjn(+IPXe*G#*bDj6PMVm2E40rT; zd+BqWbI5m`>vWkhywzn#;BTaoD=0H_{}gH!7y!ri-INjY@#!~lgSku`R?LIQM5d>Q z4#wr(Q|)6&XOQUtT#3AMs$Ena`3da9LbEl;`2FyPJ+(C6pf;WNSGfIVg;J`j>S>t( z^9ex2u677jMh_*cFD3Yeuigx<37MXO=hF07SonVBEU%~ z)!Mr!iL2qqHV;a#;=Zfwp3o{{x1kd?4HIlNcQ72y_e@R`Cmb{!{6e`}h{s?O+B6lm zS2atBb5ftPdCUr?LPT4k5$u5zXwnjJxhV%zph1MObRb;Yg?-HE+(TXtACfuvx}@$Y9i>q(q6BlUu&eL(DxN4NxcaNe3-ENG5HXwZ zEUYv5VNZDk%ZNs|yp+?Hu{VtWOI-|BLG5ynpAxZ3shmbm9rdBPm~6tyC<@-^77g#~ z)NLd@IE8)y6n(aFKG>EwNBszYNsE?Y{@7ZMwSH}jR;j$hih*;{R?wGOofzx{U5oss zwHkKD={28?Ufkr-T8Z6qAtJXT4FktGEU9tfko_^5p}ZeoG;bonn)4@n#T=sZ)rXs6 z&+McQTy0b@G#c0Wp?Ik><=C#7lB163K|MHHvOU{q8{to#5jLKa1?Mr#czaB3X?XjC zs5s_(0TZavI6T+kIkEjMEU~J#TCBkI*qAS-yW$Ni<1}PlOi~B52;_U#-~>Mvh#RS_ zkWI}aY=hBav9feHN_sXp!g5Spq_m9Gr0zORWXx!-Y&nXIMAkcpew$283E}B#!y)iR zs`C<`>^C!Ca^aOseeF|4VBgmUZ*pjcFvtp|S;7gYp1^UFrD}gi4_z2afsgy#eMoT?iU5)c*AgQcgK zj>tTDIW&W=$2fBlCE<6u2vQ?u7-c)!G$vO1YpuSA;$WZnr**K9ge$n(j$=g#4H>ZR zV41&}X#pGNiSdg9xZaTK%QYH2$!0)#T7)->EVV%wQWXw+}O0um@o8AJ6jW#BZiYPb`DG7 z>Bsj9K0$aH049UhR5uCY?LaNqYn$@}0J|$HS}Lw;+XM&x8IJ8%JNWL9n@1f5j(-3* zDSDTE*@R?I{NQM+Z<}^l$jT%rC_b1d+6Dh#A zOSO?>v{q>ZflfgjxHphjo@ZWs`Eu-Ok)t7m3OdBaV?$S*XQWn)9iq2%C`p_$%ZKh| zzd$kJcR4!d@4genZ_#n;gJp*Q(F)F80MKj3xBxd#Y$rP?} z0_a!H*WPpZ-JyR_cvLaqBNp%&!~iVzcQ>j@gvh(T=>DuKJeP}xHq%eiIhdYv!oJ4% zjf-LhXw}5>J2gfr_9FRmLX13DdK`!!HJr)$U4zM_z5gS?PqNJ?NwTm)k{aO^KUx0+ z_7k1Xu1T?#Oj)|14B|w)`>?|dzT9?!9S4z@% zU7CxQG2P=enlh*FOKWF5UWYOHYFkj+Qu!Pq+0Z4p{?vOszepcEuNcuib%NAsi6)-r}G881_H&5y8@G~N2Pb60r1GkOPI zC$a08;}^If6qzA{&XK#S!jo`>BR*wu(>&>qGfv?QymUoO6hLe{io)Lu6{bx;%jn-n zV*Rj)Uc?=$$W-8pz+ajjUc9f1!M7a%vnF{UrX6rmFDCsE)7aXZe+J~cV{Dcl(0=f-IBU5Tz)a(qD!X8Oa_E%uM%j;K zeh}Xjs$gNr&T2)eMCZhg3U!*sY_}3=%vCP{P2k|sPdJr+f9j+*7XX-YRpi)wtRW?W!;UV z-pk-8+451UREGR*3`6GDvI9wnJ^z(V>rJ=yjyZ!f+s&Y^_O4UaiP~-`uP^eJ1Op&B zWMN8Kn-RA_%;x7<((Uiy9K=7>(hsEioPH{3r8*L)-FjfbUO1)>p-HFHG=Qlw)zl7A zwUd)oa3RnB>ebySlRF4?SFHGULeo;Ec#ItS`E$Jlk-Yymiq;&2*UKmCCj#PV=m86wyFUa5?y{>ABwY2+{pL78`+gr z1aPT|jtYIBLqy#i{*a?>+ok0hIV)Pfb2bnhR^tVv9Kw|d7}?}*GU2}q?wU|IgLH; z#mTDM)XqkZT75;I&m=m(8m5i%`7zi;?x4>(r4!+PiJj2rl$@e!%bRB?6d8grS-AM5IH@gEOi8a~!iowlCCfj#s?LW=I|E5vhb#UaE1)|8>#w6_syk71 z!W4Ey_~h2w7xs9bj^fbkrA-Uj7Q;W$ zVnFIUuA+N5J=_m}DoVE((UhR(0l4|Fwu{> z-;W)pU#9ji`95Bke}H55<*^1!sgm0bONNxFZ&9b5OK&-ESkjuQY-Sn_iVj+>wW`q$ zBgph`6?Rw-Nt$wENYSI!M4yRqyR}6C$w^tyB`K2Tqe$jQqgbfmH2a($RrrIh$f$}9 z?0LRIhcs3dSdGy#aJw3CraJv) z7b=EGDFk*mt01jv47usiELGrMtFVUYQ)rI^rCy!jN<#zCkLy;(RjFF3#DaR}LmYns zs|;utc-W27bgIsWL|kqfBM3SMybCs26BYIbGhypfUM2b z7{wLBTb-;&Jo)0n6so1KM1_Uy6=4%|%cT?KE!(%dEKtXO5dLP&C-KkcATBn-a260@ zb>Hv~;0*T#<6Zw1>;K9!_VLKG?bjU2zi2~gA#VFZ*+}r`eLGMGU#~>8YQY%OV3JK| zU7;+FeLJk*LRDeOm02|~qwc82i^AW9E^AU%$brrHu z!S$4-f*7tG)D5a^Lu4hoN`Fn~39roVt3@`_V6PzW%2!&xo)P)eeKL(w7(Bf`b3_tM zrFB>?WXpXGxK~`K3vYu>Y89o&^wZ3kEgob^Qq5K~jv6E6=?Kgz7CT#*#gQTR#E>s5CSh=^AFEXjj!-4$!*z-^tcp z28q;?`6EPBeE1cB?^wiA*K(xA0Pc~G8hhQenidZvu-BM_;QO44x^U+yjFrv9NfHL2 zyH|jI2fK_1UddUFV=T+`&Gb<|{|~YJnlF8{SGA{t9jbU#DWx(LYLreJ&J6{;ssVzD zc=yOX&+xN~`mB9`oN6M$3{$}Gr8z+k- z{RMFDF66go&^rH!gL7jp&Lr#%P23DDt!$h;8JXBv>C<*9(bF^cASI^elw5)cMBfS5 zmAUzwQe+<~4oazgvx)80k~XwgJUpvNAF2M_iFXr{ubi9RMI>|-^We6pI*S*Tvv}KA zd$Jpo&W^eBC{4;mt!Bx0Q6DmBV@uLDCZmpuM~UT`Q&cxtjAmSrH(M(klT|<`leKEr ztsso^%1>l@OF)cLV9%D|d!D+Py!V4YTVuGS?WVSN1f#KUl8YW= z_-dUg3TF4>OX}e37ssr`!*(&I$jFAq3i((s9BiM^vh*epvmBninKLBX}NkF#0$zkYI1)^h8 z+-3tJ{O7f^%7>AO{BH6Jf8Urr?Em^v~BYJV$od_+%~U;O@P|; zL*KKSHKJb&ecpo$&9n^eq0=d^Z@=hvC9rh|R_|+l8-p0Ddmi*1{A7RO9sHz!2~HvO zOxpt`J{=zl3RVfUgdnSykzZB+{Mo?12v1>*kh^d201FD;z^7+y4!MilYr+#u(f#y#fpzr;ovs8QR94Dbf+q9E3P%g|2 zW*M?Cg;*bhDa-?AI@qxeX4)Gi*8|Hst5_B1dSYB3nAl0Ydo%l3$5G(D@WSRh56w+} z7G*<(`zhsA{BmHbiC;|R;9RFGUqU>RB@~B??S9u*h| z7E%j8U}MXXGsQ`zgxz?GG13^4-x!}zEzbO|Y#Blyx0KvC@Hy5nfE8n!_g)nJgl0&H zjN&14dEs%j;pEr-cwAS<2XZcGM(Mcz%ahA(&2#x^qp7o$;Qk?Y6X8owjT+B4M!e-m zxbY_rJKs0`aectz?+g#yUmMQco{M<*V-KH8R2ONO=w&9x!dR+i@vwoz`Q4V;3tOzQ zSz#`ro1Bi!q?(IKrZvP62Q^Cu?=Fk_D_-1bs&5+y;9b+#JY|zb`GP+Mk&$S})b+zP zHk@oiOS0LSwnSeiTEX_Vghd6g+sdyQ?e>BF;~Nn3(B8ur$;};}9_$s$yQV+%GRc5G zddiE;wlv`eDMY_Aft9>>ZkRHa=k2of)Ah_nJDE#{@s65OgIt$iTi_I7JK<&661@dc@IVGgI{)cN2mB;RvmofoyBOAB#-;_Z?F;um-1IPJz2Zz_buKIWQ2AA?Ux?KmMOK`Jb;v z{#%{oe{MWTjFbrjWtih!Y+^*w>|ijOX^3 zXmKcoQ$LmDec1AM0VQD~s`d_glBwjcQNFNb+ zqrloxZ+rP8)L$#YtnYct8%lU!bfDT8%Y_MZyZr%?CHYQt?QalZ|FU6C=HG+pUnp&7 zD%&WbsA2MQ*roSFqT2XVR!UBTCIV?j=Go9;7Wy*?P!%=0F4GztEk%wXPj@b@_?$Wq zBAnmtb9~J_ju0s(c&QW~z<1GY||Fkz`UkzrSn^3$@)B3%Ve zXbTfV8LvF1RO>*psKs#HS*FjWY{bHM=4|CG$1hHI5iCeAGcPEndvd}( z&KM>vm{l0`p{4%R9;-lF4~lgpf|*sO-xB}Q%^~q^2~ZH=0^Vp zB*!Jnk#{H@wkO!iok#IWRzoG3&PiylTx)9omoEm;&USQ~`ssJ39-Y>cM`$-LXW*UP zBN*-t_sQC_FPK%Vl}O@t26-zj7hAM?l<$z>1$PnMJ;`eY2IBhMHdqa1;7%P?@g8o} z=SbQWCy99`^UO-L5x7%d!;BPQcj^3|4y;%+5T{|on97}~d7YRt`b#NmF|Rwd!?&f4 zqD-b667jG%OoZY$v|%qt_RW}9Qno&vB13W0zv-x)N3hr&nRK-JfM`+=W%GOh59U`S zJ%Vu+sFwPSIxLvb1nn|O>nonL_LDUnCV?vLdT5xa*{jf}85ZH-z@Dy*(jOok+gOoa zOV2njfAKzu@q&dBhNfj&XCH5YyJov_J=0#U#dz1Nsd>HR^L|NyMc;$1QQV!#-g5%U z9_1mkEU>*vqI-N;3rbP9sXaFxZS6=&onOxbKXA%%l`>T&WJ|&iH$WPoMAxqwxB8XW z(N5Y$xoDe5+hyOYrk)tRI^QQS99#P>L8W}65`t$!&z|&WKa#p->4%nu);E$!^ry6T z_P#<%7cgLXSGG{JLQYM?lG0VaSaoc?-ESi-_h{!YC~COzka(we2TLhdOFy}Jm{Ub9)1b1{Ch$*J0(KZ_EYIr)fTp_**8abit_tMGT`7v#w18O`>)y4==j@) z>}zXV=WQ8~zQu_!A8gY6BwUc!piW^2K7eOh0aK5R!07{fAeRek#!dYgqEJ~wa51EKxayyE|d%iv$=E2vcJv7Hk@^frRvX7U37 z2POg20pf~~ZF8uDb95C2W7qr>${=i`>UzU*aVj%=#T>SOP&;gaJW=*n*bo7L!NSMR zI+s%qIqW+0y1YMtw~$&v8IT22nqzU>azpY+A-xj|FRWrsS;*Fs6=7WtC{w|ao~DaQs-8_%Berk4TI9an5--t5}{ofb-&9Q)7I(q z?%JaHNA8l-=Pms31M^>AXpW?Tw``Uyv2XzNeZG|cH0P#TBdl=iV6nlqZYQ3nAR}IT z4@d8qlO2n%`I;d!B!u^DbiU}HeAPVE z8Hb%ba&VjCjVJ1p2Hi<-mN2eNm^CV{pGdawG@#U0d70`)Zl+GNBqq8V0jrz2aX_Jc zk!g5MLIQ#pg}w;%+B{T~dWomq=Q0sQMw<-F-EIlq_jV<9D7ew0o{^O4=>|em0a3AI zI#M&Fq4apqF6Z#Q(|;jv2O@ePRn^DV0M6}(^A{G~A<9aLle4oy+ax@z!xy-h}OF>qL@02J3IaT%%HTO zlt^2c#1M`|W0nF|3~j<~y*&H;S4O%wz2W8l5(6sFKfIKv6SHOWX zTD3mk9v3%(M6Y4`LV6nF5}EJrl|ylY3KQpRjf&Y@&Xq@b?zIoG3^W?4H7#V>!oe9J zx-k_oUKi|dnAb|sY_Aeq^O<>Cxnhs(fqa6N!FdWz8a;`tSK&Fp226vZG`V4)MVXRV z7q$+6RK=pZG+}{L2`$ftm*Qo1Nwloat!<|nCFX}8w74%~wKCj5Ydi$2K}}u&DX@(raF9p!P2sy*l;|M3?r3V>XqcT-=2`i7i6kM zqZLFH^|-IozMfzjdt!IDL+%FInHBQ z3>}MA*(o>!a-<6Qr_%a-CRC91SqRW}x-$etBGPVEd?%}PdpF~ZIxZFfnDR)_4w6q8 zZEc`~kjFh|i~S-*BO><^nHnr6C)~oMiYvpQmM{0IkX4QGM=%j7Q^^*3D_AU1P^CJE ziISXuIF299m^h?hgkpaB8FB(L)ri@hQm8*-QYJ?+dk!Ynt+mIumTvve`wH))9Nk3g4rZ%!urawhPEOHO37EJ)G;{NtuH9myW7QkMJ&H06r@VFv=iew zLU;DS)HL)@`;I8WZD|FmhSAW8W%`8-IF<`tCO^>wfFW}mNH58&Q`d8?7}ugQ(Y|lQ z*@##d?UqA#4k6_E`x?vB-u5f>q%DPPne}cj$a9>E88+KG>W-&!m*rxZP&FZKJL!yL zXrXyi6j)+6ogWP&q8;uAg(;a|E|Wbnb|jpa6e-C^LT|q?tHuT;wcFkVj{f3eV1ThF zPH3W>fwt7Zuv)~_byPmTZ*M)XO3aY3$Y4@lJxEZ`B`a6_^%P-iFKLAUCE^R#>_`8? z)Sj0J!7(CKDS9D)8P9$a#QJh9jc_sd$X4m|jiq02M4On?KBN5DsvWP+lQ2q_TTreNs+s0_mq5V%Bq69POv1QgWGIE$%O<_T=&dDP z$S~EyGWa{i4t^cM^w_f_kMf(u(;dM-F5RBmch@OO5_&)L(mg1sD!Ogs8Q4U_cmy#m zdhz%R1@6@SD1YT5)n?o373k!4uN#3WvO;Ic_z!&4toc}EaJj@5?S|W1H&3ECuaL-6 z*v@>*=1~>btlMKDA#qlf!&AB$+cT(~SSp}s28|uYB5sA<^%L0ytpp(^2Sb5V5}>(* znX3+bTX_?7M)Z@jSWD8C`CFT@kdv}#@$YCg4(6{^QT3mz;@{1g{U?gqBg=3^?*5+%(s}8P<*3{@b$wmL&PI^`|?3LEo=(5X z@m!p@wC;`d|kW3j}jPvUk9}c9bxcMikbwc5p;%G20RkOrt0ZLL$G9 z>&oZvP&MZe22{v0OQ4=eG6hFX0o+ajhRqZFKAO54x^3pcQo zGIQOea!0(NXDMKyQxl3Jx(MtTZE#xQL}sHa(Z&bEivB6&J%`y^UOCA;u9Nq!{F$dj z_T}AV?w~sDUgyFV3WpIk5wEqTvaKjYE4>3vkAtss9;Z@$`R9nMh}0vGY*Z4B>>OLO zsb+>WB2g2FwZ6a`bUm^I!As9oM4n0*3F}zunHsEVr@@od4-Z)*3~B~ zcGOT*Jxz;7D{!By**R~r-cj@IfuAiT`Re9K2Z8{zIgd{=+$mNu^=#I@OgY^hB>eFM z!f0Frn=m;4??MP3sE}j3EshR^`J+0$eUsL=?5Vpo^UOX%=Bj37rRQAs_N_oLWW5ic z?t>__dD?);I#6yGk)z44ll5I8@AQ}*yTPJVz4?~G)d10l^*jI9mHyeI!_a95C&$9| zDsTIr{xHYQ7*I*gV(OV|*{;?|(B4@+bDc{h^502)Bg2dH?&snEp=7tVBCUG12UNZpRkJ?1)EMk7W)1(#o~oQ%-OSkJh`H*jnW}Yk z_~2!bweobRp;0zRg>!agyq@*}E}`yzucjLdN5s`8KdW^7^Ut|;j~7axZ@)cWn7{OR z|M9rse`bpRS7z;07DWN^BS>hms=QEMplVhT4cfJXSba~fgFF&hDs8LF z?hWUFa%RZD@)L5X@NdA75NZ|J8kUXwAz5iuy>9{>x&4rx6gWk|>_(4LNYLDOZ@myr z5L1M-aAPy}@iE5|q-Wa0TvG?yEgyEnh>j$6Y|<#Euip^kzRxBS*{ytd-V-F8x17OE zgw1aDIyU$|=7%Z3jN!O|)TPWZMQH(UUVcO<+=e-zJDaPMDhJEAuDKg-nc!JeAkI=? zpg_`m`!WWu8Y^W0>w(vrr~0X9nVe!KeG?T$dx2aln62EqV(wMc76m8LB%YEaxbCP) zd~!>($mJ>=Adn4fz1Dj( zSkr*jG34G;?5;e)MWm)lQk&Q7WO|Bzht}HKiGHVh(A~@dR(-x9gcRPItx=?nhRIxF z<#bO6J9~I2yEGa8`_>*4k6FtP(lLo7EIzqh0M#xFm`zcx z?9^Awh_3HmV=M}hQ;X`S71ec}J>Pj#rI{?zSt|5|RVY4y|1jiM_YYFl- zPYwBR4HwiwP&%pgZ1x=xXw;1VU(QwDf(cQG1oY z#x+{bBylF8+um%$UlJ)rca!qqGLc5?HNEY7V*Z<~1-Bm6`2}v}=IR{I7X``KAsD|e z)q7&hJTTha&_aI8wdaey-K84Qc+VXsuTf@VvRhi27GuC1?Qa7Mo-FgHjk~R~0ZUrI z-nui_nW8$s-1$%$+l5$Q3kj%NVbN4ZeS`x7dYDF!Uxa&}crM1*W%vAgedw`s=GnTQWbiKJg zn%nC&=dXkrPhwEsQ?pj=bXPjr2_Tz%S$?jc>*SopFoKa|^2^uzvUA)?1_OMqSXfjL zDyzIdzlmkWZvlx_y_m1^Nlh-l=ag2uk=ZI(rr8_{5cX9I#1_-v-3-l4f1eD{<+S!J zeD=hX-646&*j_Df9=uHE;S~tu=q`9hH8O1tbhu@Z_PRxlr(0vKHYf{R?K)jde~S`| z++p+SXrG`4z9dXm)-s729Zf;0a1Kphn32g#=K9HO zQvrKWB4Lo)oTXpMBxa8np^@&Z-x(MvH7;1c2FEG`)sT;oHIhMm=V^SaIsCrjdhMByh@yeOtT~>AVLD{| zPq6h;C-glZi7FX~miOCgOb-c#6R(p{hq9`yClS28%Y!qgy*B&N*E`M`#iiN4nT1D& zqPet^(&D_yoIc%_v(6#i=M>RypN#8HKM~<^8_S!ymFh~s8)VW|;Dc3c6b2>9z&jT^ zGFDO&m~;Giubqt>GuM++@bbD%UDvF}`rpDA8LV2-IuIZr)4x;(+J8wI{vVa!NX5TZ zeyiWiOVRIGJa$qYEfj9=B%%01Saj( zIRVX>8^PbdZ*U)O%)M?*>FN0bEe+836&a=C$vK@R{i?woV&M+jytJ?>UnF=+ay{}` ze;GnZf*ibRceKvHOfzb>soaBaeIB*mS<{U&@X@3p9%pis!;c3zT3qLDBQ`lO>|Ap}u*u}vC4V3Ef@jVi zJIKz7XCva+b(QT&_(<@0qno2LxzXtSQoaU~_x0)n`Vv|`Dza|e$tzJ0$87oo_n_ye z%n_eS=N{2cw!;LfU|95+7LLQ z%!AbQx(pQAg)&A_cb&Z8y^=!x>`c;4H5mL5#*ljznwb#|Jn1ua1ee~oXqWw_?X$5O z3CxeN%%oUA=R4`Ma7u*h>t+wecf(S6&v5izlHAi(VmNmks3u4@Rsr*tOZk9l(c-gd zmj>|5KRs4dnsBy;KeDiYSseZs0Q_BuK=RNt&&z9!kQyzyZCpKzY*rHBy9+^D z+Y9Ku7yLr14`ZKtI`h5;JrCjCG=#wx!SpFgl|9@OSO2gaB*!^!5B?wURy_S=UHJ`Q z{$IlTk6+^d7reqQHZ~sr%cESWI40XGkI37n^aaeTZ4S@89wr%60uU3!THEdHt7U6F zQYiC6_@YrIt^LP=cJQ=-WWrW&PHkZ^n;c0Ud4Kc#1hNlM64H|xf`i>(4x&kf##IA2 z^t+%+=>>`Mr%vczpscFaCJT{lB2&j2jkGU~7mX4M8Brhf%J=#*i#{aGFy88q4L0JD{c->>nAHZ8T-tPR@yfvEvPXP!s~`X581ctX7DV0!@j1?&$ZJ{WRE zlQB!hVjHBgMqAkTP%rZ782OB1!rYD;_}tXzqcQX2g6UnsMsv?jFLBdGSOPF5$nU0G zkS3wiQl}LfSP&9N!+yo2ld-!_*I3WNdz`oLU-2DH?8zqw!a0=no@4uvhT?3K?8j>w zF}K?LQh$bfie6Z9Uc8g4vRzw$G3~!w5K!8+#(Etm#HG#DKKWoUj6}nzcXr4t9^L$d z*?~{QY>nTnJ_7&$!R-I?(EMihk3+*dS5(=!(Aep6Sf$DoG8RU!3GJtkk$4t=XQ*V0 zJe+@I)`I*ewO?Bz3qusaFj9w7or0W#+dI12ft&l0av1`-pDw8F1i0#*#`gp?;B>PL}UNfkW=oFkHo13DtNTF4P3wQ?n{VX)<3M_IAHTQ@BAz+ItWV0>T>&-hQql3<;g& z&pRv_lAUF#16FVu{cGF_V+5BX_%%4y(@d;;m-SpxG+VklLonbQ@ST=hkHL1>@9~h< zm!pi0$6$4|G+p;hyx~>F46s`awfJF{mVq#*#A2+S*bW;i!F%gJz!`}_yyPgLAb@Q zE`pe##_@{?RwzJRc+D&*32T1NX2O4G>V`@Y{sYKYc`q#sN|X{(YqZen`~8WFi{9t6 zH`o?vHI!cA)xkk?fKcc(Ho2fZ({xV@{<9=(y)-bJIFk{Zi!m{| zKh%x_eD!bk1M8e=k4spr&gh#p1!J#Fh6uB^HylJ$?H&1b2oxm%9ZGu7*AzlEtLeXL zq64TUOOPe6*PPuw(f_#3jeklx7t-@EmO<22RhWmgR=1 za!G;=B4Hm-c9Hqf^b$nTa5{aR%_1q5Jt}s{s*rU?_S~ss0NcpvMi@t!+T?9`+wtN% z95$4)9vkYCZ!<3bf#G$LY7EBkTww;(h_H0iI5V7X^KGbQVzAYMXEMyg=!9*C*(GUQ zx5qttS~S)MLafbPOUs;~+B~~rhL5d&N>$C<>gF?tSF?@0vg&y>hnnLLo5ABEk0|?X zGh~11yovvdHuGOo-~SauDf|!72LUU{`C+%-0utf6jqF0yUm!t3o^m18QbX2Mc^vRt z8JHdZ*uFJr@rUS(Ydh#y61syky-c*J9RnTv0@Nmz!U^we?*fpCalDCGzWmEq9e$Ee&#{CNQL88@{ zcE5M>@4e{QoEnF65?1`74G~M30h~;cY33$hr4CABM7WnGSkLKLGfnUH2HBJEriG>y zeyKcz|G_Z}HlB~kZ;nC!QWwPjMUMZoGvHsNSVpQ(0MUESZq-t&tK)d&#gEh7TA@IM z5|l>SakC(NxmJQuBK(6^&L6_}2ft)SK`yESwR`Ha2g~L8ssTUW=EfK8ogeo3g}dNE zs*T%{l^{cCzf}NlU^Y2-Cfjr4wj-_sl;9<4T8T4GI&8wa0G61Q!jK%6?oG_dT&`J5 zG;3Ois8gs({Hw0_r-&n4?z~E8ST*GHL#T=vn3W2uJQ=E?ng}54`7+rRGE%>VXb5oo zu!Uj5fGK4YQSWFxdYqvS2!qV@<4=+U#YPOPEBI#qsS+?fN_%Hg&!}*8joZeO$Z%Pd zMb`&mU?s{v(T%i%oGW<(TM^}NaWt$|NEQ{d%XaQ6sW(N5WY%vafp!u~!F783Gea!reDI-_tbz%)$dxk2Xq7LU@-Ea+V=a5b2GBXRU7DP0U&=P6t`_ zc$ugzv`MO0oQ^b@&lXpcD)HVD$^8J8X@Z6X|2eqRQyhWVnkBiXf)Bymf#zpwyp<|% zu2)bNLNndU8oYJ6J+q01pVWs8vjMm|4LW? z4D$pK0cJ+hZ&Y`9*7eggpg1*(phP)@1^l~)$dlaSvILX85LdbV;p!nF>|+jm~Zs8csxc(zorizqpc4`n6oY;B=fJ3LhQZ&<4i6 z5dLagYay}(jAZYqZTgQz4|3%`rgN4307Q9kc*tQssFfdaKbk*O^bZ=Z@O_&Tls31S zC>3{4rGkgV_d*1I#JYikV=afHRp4v2Vu)P7L;GxC0@OUHC@^D#6}*cM!+{ zLC`{qZ4auG=~TjoFAbU>4sD4|fpDw9Cnkl;@i?l#jBzjs092|kHAC?=RepJ!!xR7} zvd8$UpsZfCZX;uC-Ovm?8se><)}RgnpjgC|Bzu&3y*&2*%YRx-i$Ug0)bF3z4fO9V zWcV)t{x>T9cX@#Z_!n4N=p8&zjCE8&L~7JlJ*%IIOEB-(+ql1@TFG`a2&5S@(nHcs zzqN~GnjcVHfEIgH9I_GF0b0X6bu$s$!}hHNmIfJj1qmN)ODazNHa%Ts}g?gPqdOvX~O?Vq%i%Zxp4n;w0>)!+dmb*|F%AL z?*F+ym9VRsl#QW5oS&AZp`Ea+q@R<7iGgE@lkG6Qik5Z zOyATvX0YlTLP1KbAR|A53SVHXpi&=18;RqslA_ZV{m);pM#fvvlMHl{vMyue5++8* z`iA-jKwm`BMZwv@T@l0mK*X7ueggmbtQXZ_6EXAm58nGr<6-%SaM;)xn^-dl8ag>U z8W=hMX+FXR&IbSUK}O=H5{?S$P!|TU-_JK%fTB+#FgvIe?OigF%rhD*YoH`B@X8Lk zMx0GDttp4}J5xTxFD$*20G1E;D-rKoK|B^0=Ry8%eo0<8w@`x?Kd$)Y?-wnP8MiHm zSx&c$n_Zt!`ry!gXfh*v_c299-#kR-?xc0;(?renrl>W|`D{`|IF0BX_v5Tbbs2-A z#BOqNXZM8Y>yvy6jHMY)umOwSM_!Ill0 z4wws0@=T)LD-z+*3|q*I%pSX9(nCI`+>$Ao9dVgnJf-sC!n(A1)d^j3g+nSTqwUV!p zANixkoOv}`p46$nnr8`k5z`w03lh-DNgg!_R!zsHs=)iXQ?piYUd|pAOSFvGS6`Mw1;G%Y+M0qWc4ev6#!SQR=Ql6!)E8;$xJfxpvDZt zNj0?_b^RR?%a#fIWj1xN2|`ZzOs?bzBPFXvcAY5&^>Pr+h!c&|ScqaW&B$FR{z|*B zR=^4UeV0ZLVRm>F>OF<2~ z^WsFqu=v^Z#A%k=Mk)*yKDUHQiFn+Nc!Z1=hSKCPEEA0d)G0`na)`TT`O~{xs0q@` zSr~1Ik7jx9*t6|I+en+qrHhEW8+D^%7R6^Rk`BIKM{a|c+q$(boS!j4&aaIuRH5wjo( z2cP(jdVnkFNS*@~ZgQ9y9lYaCPrnrF8@2JbA5~if&7Bkbhs`R3uxi2O^9E9Q2Pfi* zT!y72+IW?UVstL7;yZ-Vvb&7Ya=Y4CPH!3a!_!SLS-yy(nTsz97jHhNZ#4D5T**&w zYD}RP%x%9z*2;};8S7p2n*z>mTE1QzuQ1B2ZTQaqj6|BQOauxw?KFzekJ913JSQb0 zD|l8=Dj0s1s=OIRdX>WV+_)REHT#JC`t)FPSXsq~k2dk_!pQguNi=aIumU8eF`B+w zMA98_4K)9Da`4b*!8qgivM)ESAjla0fOSGGp%^qK@g=yMAJ+I;v9WDJF(o*pbf6L; zf_b(vxXXJ}!^6CzFA_051UiIih{kY_azE~rl$r%M$kGkrV&G4E43$raV+=Tka}kYo zV42UrpMO~MReYH}{y|zAChI@mQhi`VGz`uzqQ-Iv{tU3r`UT_>pQVrAoPKgeIvm1H zk_{!;SVJ;89D=ilwd|z}0{Dcu>b8Rt6kR9OgB09A4~S?L>?BXOv;6Ud7X#6Yo$46i zMFZ+VSrtpgG3;i1>kSv9TP#|e6#1z4ho<(|HC3Jbj*Zjd{z_BH|Cy$`TR8pCG>N*E zv+@GkhplPch!G(ToM2X;-*dtPXWWp_y4bo&|W9InDwdp7G2K4e@ zeD%~%6%8siDq8j6Vak;&Lz;9}4Py`R^uc9gpj{>8LY}r?Y0i4WjWLgd zqd>i*=Pm|}jX4CG)Ao?n+6G`OsFN$kW3VO7?+iFfSvu)_b-T#GprOsrUYI^Q%UluZ zwYezlZ(mJFRN)Q)S-iW8cD{ta#J@7ETYACeyA-K3aVZa?3wL10OihczejfMuS&5su zGbLGpY_!^;Ze#H2k8z(=A5dy2D>}T{DpD7ot9~#gGY9v|>U=PXo>iKso5VWq{lK)8 z(ABfk+`bgJ;ppka7O%S@#e$ns@!bYZk=xXMLgOGt8Y8N{ACtG$J!+Pg=?XpJF;=&LvKd8$9!jdZ% z5E`0FMPm9e9)&fBOo7muYmhIJ7|jvQP(}}=m*5`PS(;jKoIW3o$>%hCMdktZVqDx% z_+%<;yXs!4{o=}bG2|9v*2`$3Q@v~9g}8~9fiQ83L(7fN)2rDdR8&O*x0=yNef87b z0XJIGk$*6f*(0{~=obbuDE?fiv`S@`TFcpkq1MLUkOiad6ThVo5!4RRo6kbuI78$y z{b0N_-O^iVb5SUD+VC*|`yB#Cu`=hR%DHckY$;bde@|xeyLEyyb+_qt%DR~X?}BgW zzJ1X-@|Z?6+C!(Rokr}qPuWge=kr9-Q#wl_ZGl#cr=oX_sqA@-?)rY$@QyzZ`lV3n zhkczdQKbl%a4y-{|H^Qx~Z%*B8!K%;8m?a4qoHo6d_hFRhegd43ozVb zcF91Y#gZ^&_V6;Z=iFx>H>9yu2yt_e;Z=azF+`8M*XGDqEJhKd6qL}*E1Cj$lWmMrlLHOm(L6IP!qZXt$Sez?sk z{MuN^X0iK{tn+!l-Sw6kmGt$rm<{J>;oU5k|Nc=C*#S;Nc)}z7eus;($-B<+eJY4& z`Oa?1KyYIK7jmXXt$lV7`TZ+vQpUhLL|K;$HbT1z%EIA_EfU#GW9bUDVo#l|uZK@jA@F!%Tey&qRyP zv2jOVC&4dsnJFU+)d?QIS%LU@+2r{y*kD^!I;ZkTRZ8FN-OJl{TD>im7viZ!DGf4j znO5?O5t?JG1C#MbD&7Esr3K>Ex)1FsSuXdY8ev{58aIaq>kFi(ca8pp^5ex4*5tsM z_`xHEiGVZh$N+fpG`&$l$3dhKrveg;kuucaW$}%i*>o7f*as2UDhJ`&wD3JVF;a?* z*!lyaXShV4HlR3coDrDjp)V5O>EkxJiJy^t&Hx3x2qOd~cSB$??IoImK6hM>wM-Zz z*?6(-d*dU6JfsBj$96D;8n#Y1wImdHE#e;+A$t^)8P0n|&k%_pEkJRa>G9cI#1_LM zHw?eOEi;z&_a_{QA9X-+&^RMBQR3K6v2Tk=BjpyP!8W8W}qAiiHX#6Gz%TCL}q+DaL!*6>vbz@mKU`(N=|1>PUp=4Id52}LVPE@oDIQE zK`1Aj8IEPV-yNUlsO2j>Ft+6QgpCj9o?1ZSszGY1Qt}+VkJsBUS$0aYpn$?n)9F}D{w|` zA;r=>2Bz9Q)%pW@)<{1?<|REpEHG-Nf?9CTW-!)>;UT_Kt0 zgYu_#Lq&`(WEgW8gM{)};@XtjH8DF*Y{eH10>lTFYtxn+W0ZK;dCoQ-s0zn0a^M!WM=m$5o`P1`2C%`3WM8SLHF&Y3sQu_b=$HCHa%xeCq3 zP_Rksi0lW*&#&W_0}2PoVMT9!2~+ufLq?{2)kYSdrHMxmzxu_|N^FC> zu?TV%F~XH30x+OiC%m9uz?_UtsDZrwm)~Ylj6J*K!_vKEW9L}6=b+!L<$r<61#UT# zEsM!3UDJI;GxGH{S@RH-J<}@3t46{^Gtqp%&BU7iAkD55*N>WD_FkD?f3RquOq_Rx zF787YX@J=A$ou>ih^x?}1Wk@a3SboSQ3@O=jLAk%xhc`AD!&2_pS)+9X_c<88Z%3f zsAeAF@eCZ<0U{4**V6C%u>eIty1yzqEHi}xUnAZXHKTQar+t!N>~?(2GeXV9Im>N3 z&*Yg5f!*-KtEAFQ*#I#fIsDh>5G5ytVa_k$Bq3Y=KoHGQ3?D%rS9$kA2hM)xM261@ z_q&`c4q`2-b_0(wx$BK@SP4RyV>|<+(T)V%guA;a{>OQ@y$w$a6QEN+`x3So$7-G91E5IqF@BVj!$JOy=@`X%3-*BP{Rui3k zOpm&z`ON;mb-jvnYN|v14!u<&|GlMOf0LTO>qPp0Br^+>H=UG*(1yBb#*mX3qGFi9 za6*hCkmB$--^jsNZxFyZ;)o!n2@#!4^sKSo8D|r5nph=#3;2a*`N&wt3o_g5+nt$> z$)kc9bcuOAwV~iV;rf0J;$HppBCo+i^noD!IFaQKLqisTp!b}CTnZ_Df zA%UUBTlJElnP#~fZH;! zpS4X>Y2v{b(g!QLm6n|+6Y%YzmBvSYq8<&Eds| zBlB3&1(G2IYv5rWn+~P9lG!1^u>FIJS$%^YJW_zmKV8M3nruh!R3c3~F5dd6yiY@{J=B<&oKR`s_uc$}kI_g67 zrHM1UNa>|fzs5<&+{x~a>vVx(x3rrwZQ+f zsCP>uLSAAr+bi&ms8M8Z<0&$Z)%Sjs6pb7?hnH0sZ6|g*Y2|()+KQrEGk(7XHL6Kr z^H9<(X$ubK#PX(8^J0X3{Hcxej^R7FaJA|96q)h#2*mZE`2C20BBF;qAT0 z>fZ8*a#8+X88jt5bac@li@B%NFtQZAih#;jsyT^sUa;;9ID<)Jv?!vNjF;>jq5syo zKS5V~tcGr_L7}<5nZ1VB;)JCMC2vWx~)O8f%Xi?DKDnwJXsbZm+d`*1PDWzEL2j6v-v|z=^Ezt7yG}N!4w=+Z{_y!QVb| zz}HoX7Y@c|e00EgK?+X_7eB?_1;JZ;J0tbNU$?TLvJ;eie>*EtxjU*T9=6@MLH1ib^tzMuRj5YXB_}cBf;;POFJ80*4RWz^q4jHYe0-)zDA85jn{T zQPqE7EuX3L2zeqd>KeJ>a~L5%$my3l9-`SCvKrCGmf%j-5J+o|scNmVkC|v=PYD4v z%&keX`>wgjx=IM#z*%a3EPWz;!3c#`_-Y`MJbrn;0sPtlNTTumSwy&lLk3)i;g*(y zx5f!EtnZyV_0NfDYO#g*qGl&yTQ3PgQxP>gxrePdqPecm5b?d1Q%>cuWH{vzn5=mR zYMf*xYQJ+)S(yR}U6peT{N2YTFwkeIafx`E1`9%%QkH&;`!pnn)+h}-=;(|A^*GnX zUanV_Qp}KR88A}TDA_wOyYQ>kJ#e4Ath;+P^-Pc2Rn<|~30Iml)Iy#RF^$r@urip+ z5zap(LWP)Cm?d{lUP8NGX*DJWKJ$>4Lt@_tH7E}A4t%lBQdr*ps=5SoKheV4r_8+* zdiQu^k|*|1nrKiQ=*kUuG~sqE<-f*vf$k@dRClwG!t&xxb`xm^W&XG3+cB7{_%rV-RR z!hh`mhE}`q$T?UAwPuh``)m``8M?EUX;3f3hWeG6jPcGXK3S5~R2p=HUH(Eh^IaP) z=d!xEvmbS&0GEH;^G{;73Y~EPK!bpEqW(K#X88X^%>Pvu(53#@Lst#+d&_iQii$I? zn5`*9LL?(Toeh@^vQch2#8_kAef=j*w}igQ_y-&J;I=2&C1K~~drR@V&o`^Aob&iif8jvsL^;Y)hh z27?Pv4xCP;CYQaox;2k|VMF@O++wsGK`q8V%C+8V4yj;py=uDn(mn?rkRwV{e6o=(N%ql7b17YtvR)5QS|{j$XZb({ z^rcovMCJC~c`XF<3f-HjESmTckJjTV>fwTrfOnOXkE>H+WJh?MAW7ZHu|+gJtbvTEJ?ttPDq%8* zTU;z$X1j(&vK-?1tetgBtaWC)!kzPa?cuc6u?A(e5qlT2dEp5;`B&u+N?q&uqO=PE zpWm>!b?H(*`|7V*f2HjuAg$PNk`K924DkpT6^GDyyC8r3C~%Jn(XPJwFjM=Xup z)7Dx|r2?_~M=!EF<R~n$>j4l$E&2aNj<`*7iO(TZSAJ&}F5lsaSD6j%+g6 zR@%CqDw{+8lq;$Ygr1yzv0Ak_j|aJvicFY3zB#3=`!5TBX1#-nfuU^Fsir~ea;A(X ztND7IF33ospqfwhCYPJ95BI8-2JZd6xwAM5rpp2*qgi^^Aok&QINRpnX3u$_#NjSB zZsQcbg5qBqv25~3il>v$qnD^ygnH*wSTGjiNn9+w#%cIbf0ky*dt5tQTq3QGNlfbm zxSm+5BC>#BEG9eg%A`K36PlDM*YnfP1oM=Xx;;q-U-%uQ-Aqp&Vw0rB~^8Q@~G(rVk_3f2G4?-?kaEQ1U8S8*x|{CG}Oc}CEhgS6CBQY z*uCtbUS)2})mp05Ny^xagGkw+4*oGyS{qaJGV(svSo4@OGLd0leMh!r8HLP*5VQQi z?6HxRZXhc@c^R5joVEVtB&bETqxn`kU3S}edPR0Ra#n^-c6wY~#+osAO*kbJ?Y9A$ zN5ne&bW7-VUrb($<6kg5E<5d?tR>5kjiI!(v{-Xa--+m93woYme69;J{td>8%EdM{sA;HsGZfR+2vSc| z2s%X(jV%|fbqVx^+>3k3%j{Q`LqTG}?*biCia8R^&{Msi*J$QWP_qWVUWwY7q(h!r ze8J&7va1$`wxl|)NPfgLUpmKA5Sm`*&2F5YL~szrGN4e8fyR;!xx?~K0`ga{DCnDL zO*_(S2Of_6EC(VaJUS{m2z`=fUe?=Sd1ZT|u<>=b>N=M-^$l#jpdc5UOjaYhaz1Pw z?-O^_r;m2r$^it{7%m)hUTyl^gcqZK-k?SMFU!ja?Z|I2_}iG-~V&2KSq-rEXZ0shQeOKDk&NLLvI znFL$TsjF78xZgSQYF2&!jEQ+gi!qIbnL|svsYmVGS$YE=Jtn;u1`pYfjEQ-yQA@_x zyRaX3uGocP`AIJ z7s~2dinKo*&HB(fB#Z447&@D9o-+;3)84y~x}Kl{f%kCJ!67a4N_4x~bmyfI^Radl z1WjmTG8o>kaIwGQBY zpIm2RzD=`9D}2SaPIBB+x{B?MDtruHZ&Ia?m`SgUjr!thmZ%n|N317G>fU*e;7JHl zfwsq^(5pO}>*?Zo> z$g^Ub(Jia^0n_VL&h)k5j4TN_xVru5FOWF{9iEuiPDiOPC_ViKw*p^b$Vq=W*RR}E zcF{X~pT!TdiT8YT6BTnOumhy96tzbsW)+_uMx1XMDKa$`m^&srWN<5CH*Z59ZUL(GW5zX>v=Ys zBT`edFPm0ycQh^@--^<5B(~P=F9oCRU<=0IC=tUM=Ncowv3)$bdAqaJaGR57z;A4t zgC}goi0@1;I4|~y_l$feZQmHS2d`hgeLe^SdIfJJKF|Z^mv?8hQ3ABA>9s2o)&4f} z9Or(}Y+PZ{)oSCt3_PRZi~Fhb*uq_s(CLMbsMPl@ve ziW>~aqH=$biV4%gfbv=lrvumzEH8u_(VF{;|EU$oI-@0YbUD5+*^J|`O*n?k|C73Oa@$OVX|_xzb< zsx+E+*rjL^803~|glErbHF0J_?aCtA>uqPZZmOn~6$t!2^^-DE+uPW&vH<7Hn{R;6 zZl~Z){($%TAH2S{KCY5_2T4Q~xA>3og~>(rC2G#-0CBM~p2mqmnvSJ+< z0;mn(&8^;}mvb*V+M_HA-G_~In)_E?R_oD?#41=Jsm&YbFZLZpDG)a38JlfWuAP5( z8n{U>F4xetumHS=K~pHQq`yA#0$(|mK%)gl;7c0PTzKNj7cx##bFle(?mADs#_nwv zvpH%n9%4=~XDT#Z)% zxAXPX|J`Ny*P6|Lu1}@tsOYF+jC}Kgf{`l9!q|!AJwcHM7C)IEX%7z1L)8{5_iZEX zHF6)tGmpWV5c@rlJ%Cd)2`u7TmADVzuGQ>f&wAwY#J=pj6UbLDx)P){Jg=oT`P&@z zsNZb}3Vws_g0TfA7Uzr|qZikujGh;#&zLp^sma4BM&{J{-oUx8Q%#S{1;$pY%UapAYhj>NfJtmV7iGP&r85<}c{e<`5&0!C*;=O* zVM9Mu_Mb2fLIfe^Jd}( z=Dndm=8u&E6}f+{2@Cnq7To0R#F^abQi0uV{`vVknLRCd!2xmhX|h&$Ze2Hq9)5DU zy4$3^FeWzNUP3Hw;!!`N4}O`*qlu1K9AX{OT&>}5QPaS+5X^jA ztE7fYoELQ6He^WS zsgk+yI0!U{xOU3hW@f4noDp)|Cbtv~E^P(!wGseXLD%?r6*DRG8zYhy))O67QI*?N zeqf5Fva_y;va>JkY`dL~J%c%0Vu9q{1DU!C0RN}-@*EddY3hhs7es{sSxHFEGDEiu zYR$KS9;b#XsPwmY8z_>5MrP-#fmdC%3RGI2X`7b37;^o(ZbwoQ=5b?i;c|2n<-uP` z{5Y2kHCoB+NhgI}#qrUz-$hgGU5+|BiEl8)cNpXK>dc274XYYmFRnHL1$1^+=`oOY z6JF0H_eH|u3V6k_=(dCmAKo^5qa0J|5*$|S^>yV5G3a0w*4smZq&mF022K>KY(7rDf$K`{Gi5B-O%U(lM#+@KuW$E<|FEM z2#3?a#MkVCqFCQ(IhdE%r)PsyV3!qPh6s4`wyX4g@{1EkeJ+&BTOA`UQuYvSUPI6{?GXE3IJY`Tjtp(Ik*PThY*JuKhV`G^MNQBxT6S;##uT!_&O)q3J9Xm%>r#S-tNP7b_#O@=fspB$2{ebs6jgwkf*)c zeHear!V)(ybh5af31gF>vz%VIhxG0kE!1;9V(I0VIw+gJKof9b%T$#8Sz+pVg(Z}! z-Kk9aqJC0eRjH$U(9&UIx`FC1I@nXvI8M7ROm5yo^52KT9mKHCHZ3R~#3(bn0&Fz=;MnY(@+AnvR7V`l5H zp~zKZc4lD`k@kravqMp6=V1Q1bekf59iJu42G@bp^dlc&;+YF@Wj@f$XpLFGGG6Mv4xGE*cR|7GV=C!q%Xjnl7&SoI`7e&77Ny1|IfZROZK7&n7hGB zG#JzQrsE&|K4*5I56P~}lWbyak2sdchyD$jic2>}M7z~Eky<#JI@6R<`9YuCOjPlKI ziCoD-G6xG8>n-tpk6_4`b#PKH`suA2oFJx&hN0USScbuxWVE%1h2c*$)QLh7wPrmU z`{UV_6n=Lrp?j+~i_7)~#3zjTZi?Enb;BRb{~Tny>BesXkZKUJz^RzFP%6|#h)7t6 zZOKO~kpMqp>e=UClZ9fR+@U~@GS(Z|R)T`>MwP>}DP^vlrD@R~B36565AEzEv4e8qtC-t_5;Md3YmyM$LaKFq`hrR!<~UPm43Soc|0|#;1;D_Qv2CV%FUT=j>Oa z(Gh7b!yxD)x*B`e@{N{EI(Et2FM1D*1)_vpK((Gb276J>$b;Fz`zD?5EBMTAW-`%b z*oX>LZm}O<&hF=|t*0FugO2{uxM?mO2@rTL%r}iU+FnWhA+*6V4jW*Iz6CA(j(fS> z5gGo%^GJXVX}mS#B(`glwYT5i>i`q;+SV32t2;v(mSZv)w)S|rBd5)ii&$%SfOo;T z8vUIbn9AkAd}YQc#gzVhRO8rbnY|VgpQal-Sye9+=QsCTHlqBB$LUT&^rP+GlWy?+7$v3L z53H&)o7gM!a2oFmjK3R9U|TF6fhBC0%$gk1DKVueP$T+Us4w^$(w6Q3LVrq*-u#Op zDgE4R^3^!_*2v!>o4=j(;}?=7Gf4ZdOw-KM^m!Gip^TvQbcdkROh#?_cxNyzStz8cchkZr$vr);}T zW2Axl1Ct=@j@gR#v$uw%26iDGi8b@r4;$Pp#uEo+$VaaxXB>k$G+-%Y~F!GaPFB_&|6@-Hc} zZC?Lj_Q5*MQg4nJh=uw>)I{;w6e}I@^GU1DouGD!TiS5M(kq&@ZE84|+Uh+;_*8p* zz1vJOiAV9ujdcjh!6N%0Q&?L{6! zG?UFyx(b+8K{?IV!kchpQy?eX=ftj%25%QEQoyRm?6vOvSsS<)E8j{p-+Fh}0$z;< z39Y|*LA(TO3%f%UOgw*3ixDyPPVf7n}jF02gwLg+sb+a|G_A3*L++j=qzJsZnAye`-F-KvuKnOY0IIBxDYdak!46*h66 zuxmbfhXBKlu{D`iZm_Tds?(US5QlGw&k-0$uF<_C69m7e;M{t|)%esy+`LnLT@m6O zC$Wm3yR<cHKt5fL zsa6q}UQg`zNXrWd6?eSDA1Bew(zIFAxx4P*S9CY=X7PLnNuQJYb#>*N=pP=iz_Rdg zzZIj+I!q9afPS%Dtd{&8Cxy}O0|BXggL6&s(l@B4I5d7$_NvVE9Vc0nHm=o;r!vs5 zQ%;EC3C~ggh|dC*Grwm3M2NH>gRU{Q0cy>}Hkwq0Kw6hSbS~V;!l`wnqh@?%(6MuW zabqoPVplZy_4SRQ8LxW1AgFf@z;3+j5q-EnFo`F2s`Y zXV&gqp?Rz~bxC&h)W^|`Qf+|9>WRoakNJmYmVew!^)IbOntZ)7%RW8$37SNvma0)5 zv#rrX{N_cg78^@_j3(|r{-xElYHwO>`H#GQ`QHwq{CE2w|NN)_bCXL`$5qt=^Gn`d zgfg5hJ{|>(0XujA0%jh*h_u(0C2s*iDh*cD5|BfVZf=++WkHEy-L#0W?O>-yuWHwX zt*Dg8p&O-6WRr^Qw_rx>%D`0dwrj^gZ0Z)d^EH#6n3$dz�%@yY}95b-nTa{rnZq z`F+3s7sP&q9dSbCHbJzQKbgQ@VNj)PQnG*a*yS>uwcu9Ohde#j=Z{q>uO$IsT}Axu zr_at!-;3mSuruNkOSgU)8~r7m8??IwRM?Nb?O8=zlJymIJUj#s#7)k{r5Yjl)P)}_ zY?#N7&!IlhVflg8H&-|%qmId8$Ni2ZcyI`aqTpS1{^ebLT`Wc&VXqxN16_N8jwEQ? z*ylib%Tj`|LKZE=?OR!vY~+lX3?(uj>YQe6H*pSo1k)H-`z&qmLmaBZyS2%@7ei;Z zTtk_v7`%e9NP;qoXx$!H#g!+kw2|i8rm!Ewj(lQ%byd$rDkJTzYnoYKlOq!Bp1`)< zK}Y8ho5Z$N5%k9L#Vb=8IG$_$9a~j@n_|k7zEhsJ*(rrgnO9{tAWx{Ls z#EP0A)zF}jsoaEtZ^?3ihp;6=JCAwnc>@ z_V_8h5%N|d-__q;EDo3gB=0Eo52IJ5R<4~w*_8qv(IOvhMiDWe4^JyY91m+4if%H)7*z<+kHo|+;X z7n6ivtV~+~rr3Q{V^;C>B&=8I1ejxqTPLH}NZ}|o-c5QBZrcQ#D1j6192{cyJ5^fW zEwEjcmqw5mg!?^ImznX+h=lybc5a_&njfjNw;|-=1utL+et%FLynVG5E3+Dl3h(*N zio7;=XmJrV(g?Xb3YM_-SyL1B`@D?CC=KpeYJ9V;qB5U&r58RnAKV#6I0 zL29`!f0Ks*78Dgzm~N*Rtq$cmO>a+Ak>W9Jle9j|l%eA*`?e_5L4Iq1LQ+16jG->!`eLXn#nVJ&nljTX}yeL#6lp&JD ze}(lzR)gSH8DL;(^4Py|14+&@W#bpLmiLY4Ugt!54SEo z4YQ!HC2%3jWrwzcFtu+kh_&UF--3~hrzh7?_EsT6k#t(+uNBXwYCs%JHISMr!nq6T_TP2GtG zbqN&tXKL;6H{7y8h+Uhcck1``(@(lMNNiicu(w(e83QS^B5J$LeL%Tm_@j6 z|J~W%{FjvIrv{+*8O>e6IR0F}{GIZ47ZUP-w&!^P^jEIEz9=@wJipw>f-s&8tS_!_ zVMDAb2XLAaxYoZ7GUl2nj~po~Wh`hx@#6nZ<1sJyBg#mWVL#jTS<nf|)@>)(6+v@bf#+iWkWw*m%Q|rG7QaJnYq?nX0g43F$*3SweiOHdXEC*H0U- zZ@xQPjtJE87~^o~M4bFh`eJI{K|HgP)q+h*N*ZwEWESc$8WH167Wxz#4;X}TB2Xb* zOpGLxL>zQ(NoovaeIe@){!?52;Xb!W?TykQjg+o7GPNSv@kbwfx?{ZV1aXNlCVE_S zivm(HaTH#XT9La>bbD1#sh-wzNhQlw?GZEoILLI8i?!ktW2fu5+cAaHm~hk7C;5&@ zJt}Zh>(@ZHbQbg84Kr5kmG%5*XV85}c51BRc%?eNeBo5k!mRqQ2A4}Q-`mL;!H#?@ z_djPPM|!RSN%nDTD;BsT^3?l{CM7XUdlTyGmKtflr28DVr*+iIUE;`2RJDIkWjzPTsd@!PW@}*8J4+3k81^u>Sy28Sz*DMLJUC(9FN0>wK0e z!}yu#Ieu4`I1}a~<{PH>V(E!z(1Zm~4A?$(NU)jI@x^2RN}1rIX?f`+1WieVf({4R zyZ_pt)Z9Yi;bL1Sz*F((!O|z>$^3iK=&Agwr1jJa8Zl08pg^C-_%*Xy zk|!!5%T?@-!GoNTLQ>vku7Q=LtRvz67CT(!7Naz#8A^ZI-nr{2>*|dOvu)3NXyX4`%+Xoz02nn zI(C|3-}%Sv81Gng_xU^bdo?XgDpjsE`W7#u0IJcq8Fa(f?IsAA%up7?FHkM7kbrKf z=${|@jcBI!+`DOD#8=qw?Htm4#AOGyy;!4f2{@s^$GE zEFi5Ai+di-C>ofR6G&NoplVrex$%n{B~Y0pc<86S8>Dl>+K6uF1X#X}9aH*DMgG7+ zwl|9F9Tx7XB^3zGD#GxP)Ri$|HKwSAs1 zkTFGGV8xm_RWdK$M=Q>GS7FYPF?u+O3z)=9$rGUw-EQVjq1T2aGh1q9qk%ZjkFLa5 zK)|y&*{|b`+<0ahNjbh^8bR|o#!%HIqo-!GI8#>T%8K8b116)=i`fVpxu#mN)L{ok z(zFxG;)%Jeji$(kri{rln#j?xL58P%S`Lviu{F}Ts)~%jK^~M1uFPGDf!O&Iggle* zojwd8>xpl{Wh76dSa>R+V15nGqi)LCSZeL{+yCVSpwEDdEl6|0cC6xf6VHBl5|4D6 zy6YN|w<1djIXzt>A$9@w4!@EPyA}2n`Rxfyr07l3AqU2>G1`Mg*e8$mcu|q}qmjX3 z>WlDJ+(IxO8kKa}dYUi1ckWGaP>K6-j2@kv+gzyJmq)9_9LQIul7>c!cSY7b)b|ec z(`NzY%(WiFy3;3JI0KOT0Cf$__Mn&&_~|$RvHjV<_=&sQb#C0aT3O!0`vr>?gcDBFfWP>Yb7K z4*3;j-*3w{K}kue*Lb%P#)VL?Q&n~TkIQt`AoB3NS< zJ2Xs}t&rI8_d(UyBXpdLU|ra-C^{B9>rH=m)Mew5G#B(eocmEQZu-*>@xb< zlkcLp>mk0^08kr#UElym0M|1Z*)e0ciPnujFBzbS*p1u zFWUqiyS8WXBp30)A~P8J-CCoE#3IW9=dH^HVp&a&ag@pMf)z)x~ z*D1z!wvdLu=&@Ps#4Aa>rz{druu}hRL$+puL^D1@k3%yt-+Ox9_xd+ zdRr6v6E9$=BF!2=d6j0(u*fvHke)}?*{HYcKP51VL~!7wnxue(@{blXUj=o?5XZ3f;^qYpuk%|F z$C-AV%%GB64cvFc6CStS{!eQ9df;eAjDB#5NJSw3$f%S0743mRMS{Bng^P5b;#=L~M~7}3 zC9i`21nqPXFC+y>5DG;Q_lchbdoecjeM!{_4s)^(x};z+X% z+?Am^I9RK8wJx;bOP9AeIFOc~@{lt{A9G!KQe~mfdB;$55&_O~Z=BCc>QB))Ej1QN z3kPeBmS-k^MukxLeJ0FKpYA%g25cC9$L{rgZ3WwenSlGehns9rNP?>k-t*SLPgkPb zbfT@(+w_C;_A5J4&#R1$PC9Z9Mbo{OvH)dI$|m&7m3+H75(P$+>&VS2#zG(*tgNM{O3*@h z;zW$lDr9jxj)Z5W^BS(U5vPLZ#YdC z+?ggOWszg9^J`u9y61gn`>mmx}(l1Kkwopy=~$9krlBog^NX2uW#?xjFoe_VR;orJ>X&sN0B3aSckMjAS@+1CmnT3WH+2Q5!So|9VfHx;0$k5nc!t+3_NcaXFz+s1a@0MN` znf|LfJA+(VdHCdEDK}NI!9b&evZg23S|a`Y?tp~|Md}KK2m>%wp;Hi1!DO_ycHOz^ zlwB9xXTYi6t`uWNYF2nmw6U87yg&VRIXD42iaxC?dr!H)JxyErWO{X6R&AfvvmCSkG)h9Mgtl;&)alRQ0T> zNsF1ud%&{lBd1e3gLG0?a)HltazOc`?5f-dc==Tfoxpnz@4e|Zc1UVS!U!| z$11R6U*|CSL@O}EEo`C>YJ4&_@l6MGZ{k=)%H-tQe7e7^Sp?4P7&sofsn$VLe_6eJ z>IZ-l`q#AlQu`W)gsgm8!9aP)?Kkr&cJczX`Ba0fL>JuJw+MbY!xSV9I4A~tYutfZ zaoBqc1gpN4p>nKxS-Wj?|G@uE zf>i&EJ9pcIs>~A>ir!b28#32J6cL+S_K z_E|f?s!8`$r$^OXe~HzxW{(24`UHn-D?cgJfz&tXZUFi&%B$QPVM(@6 z-CO~|uptTxI~R+^Jbs*!C@HhL?u0feEm0et{fVaEA86+^Brr_m^5bf73l z9B*y}98+7#?N}9IKTb?;#&B0V`@_jQ{Y-8hA2Fi>R4bS$<>XSPIeZp%lrS@g9b z8)E1 zF0c8(3EtG)UhLTHSC_Gg`@J`0zK5%hhwNYWi-Vhz*IR=a+>-^*n4qci2hV@qDSIc? zY(}uznWcQ`ak$>sqSWZ3xaNKZHZU^>HzY&7&)2aAI2Bp}=EyzkJ=da@Z|nBm4945u z*@wL30WD&<*gON`(-CdjJ!~;#MU&@q;;f4lHqwMmVt&@QDBYE34O?2v8kO}=D$7-v zrhZHDkIV(yGi`e7tcql|E}hin>iC^gNwqcz0PkV%B$Eyt2F8J2?|u7ZFo`)sY4#E3 z8DbO~3CZf^N^L|9m8P+*7L_}~=mL?>W{-?oo!_ff%@=FhDf~Ud`mB_Q2Wgnv&mm%Y z9fTOb8=P)?+ierg<-ZOl#=)Oi+*pU5}J+KGeth+m-K{LIfOhKEEIItHe=c ze-q+%R7E3mvG@<9*ZG7w>6s0O(;TC+2uKf)&@wY};OG$Ga%$qn@vsQ!n_jTvYy~+5 z_h4vvM+gkbjmVK-{fN}5_%k?G6-(Zw4zwVUiseasSeMK>Do(_d)J6oFycB~=jY{8j zl8v?8*iixFV-C&iy^Fx4GS#!CUyyPfNwhu-Ll4y?fYfFn80Zb%F{NfaI37;)Q~0;XiK)_z1{u9@tHlz1h1fE&3NQc0GixGniV zprl8G1a*gV|B#pq7_BY!btHM$$vRdVbEs$k<^c&jf*OO5bwaBf9>bLYVrL(a8&f2d zE0U>ckhHBvB&HHbscT6Vdc~46@g`Q*CybJ7DFznyk$4ROjM1^KB@tuE1zlrTLt;!( zr84N^KSm=~iFwz_Et{k&$i^zBIbhc%8A--MF(vg`ZST-O76VPImMA9(rQ}(i&NFLR zB~58=TJ<5S7y?9m*o+?6E&3@A@A}AI>opAr0s=w& zKQlJ^zd~jQD|^@fYLTqyKZ+bM5W*0mKSdGBK*!)InwGU84L~xb;kyGP{#0ew#t%{8 zH{jE`f4~w7y79QbHC1G62E2g*yVO~Xr-jNpR%!z@jq|h-({U-x!k|! z3Vy@w;&h{MRQyA z(w3y7ajy=82zI%lU7#%VbMu6A;=1_fD7B4^w$ogqJq%m5WktpBE86FFpo&{y?_JW* zg;w>&N>(t$$U|X>%TpM#h_21datdbPsCgo52RJ`gpMYy9>d%&+v$U4QKaE?OLnuTT zULqMNltUr-@bcu6|0tXJ2?-*Dr0ca1k8=$8sqpGeCe6K$)s6=x1RFv{w0 z{dtmEw`#ApiC)acVkSec@Cl7Dm9oc$ekx7=H+0p&heK=b0kesqUlr%XjH%hqCz@eL za0}sXy)a4I+DUBpvYp^FSmEguQdXvg82+IF`Af}7oOZh2n5<4tylW7*V=0;rRn|~h ze+o6syCwg$uxJB$Abq9o5UBD(qX#IfcaZpcA|22j$tU1`l6-$MQ|H8(erMUBb+AoJ zsy{~>b%kiTvBKfJ)oSX-lv!YPXP-iOAqvqXNwK5}vKb9e0GC1=o_=cwx#U(`9iD<5 zqL;1ncHfXsyi}s4d*akYp7wpx> z$pZ>8>6hd=1&>NqmCk9~*W_~bO-oG6Pi!*x1s&uoDLDz^_qhqRH=f2OGph&mpTY06z`GQwlxMN)$6gOTr6sWUV|b?DE;_c9!Gviz%Vt(G)<*)B8|y)6P}QYjmk9( zBzsokwi=(uL_(hoTVCK^G zs)Ofx<4Qgr1bTw}(rjv=>;X%@p~X*?dy84**ut+1>xmjJagdcGt0Cms+}@$LLz%M$ zo$KV-eHjv6y67*d)}J{yVqknYxv3yezJ2va@GVj7FG8MM_~{+bNMv5Y^?s`QUplR; zUTX;j%H7gl@b^tO4sW|ud@m~z6HiP(u4MV7i+UtXZlvDW*OhfNe>BMKUXA zOK=4^LmBKnnRt!*X~*U}Fj=^cwxkwhJY1U9Jik9F!FIN%4&Kv0!JTtD6Z;BFBCZ}@ z>xYQg?IXL^Wp7-@Wp7avOaCPO&3)Y1Ut*hl-xjt&U3-W3O|iml<8gz+(=9s3$r#rO z$Cp2a=fxGmQsr$|%)ZV&nY2mum=3Z1wq$bQ#6tb`%W%MRq_;0<@{c#F8M%Z0T6#8#i=Kqw?HZ%Pf(UAWyPydCdUXhBP1DX&9|G-Lrds2#VQV!m;0$S%qwC-Vke94p4jGN zKF$BU$$RrY^K1aZaT`QBlPz9h;@D!}NHEPClXCgoF5cmC>Nwzh+IT{+Y`g6-Z(@0U z04)J(Qko(0RA=Y7VT0G9-=oJ&r8tRwkDzi81SgCz1~_jwWIkP~F8pbf)}|Uus#>P* zj;k+knqfLwA0K(4I`z4N2}Pl|!SU?D5VpSoTSPVj=87wg>&L=?s3JLt@>5wTh;(z8 zFit#v{FF>Xvx-;=&&k19UJS0K6!+}UTh5-Gd5G1c?~2XwBkcPI-qPltdrM|d`RI#7 z(8tt4Y!ow=)l1G+u>df2!O|OY#l=S~tc|WR^$|~mxnPBjuU90mS=PEMMP?xu3s1LL zJg=Os!3>esKH}_5$r7)T)DuliSHu?vVSGEU85gbiFL$zk$JL9Ed$x>6cG#3n^EI4r z9d5&BvBmS7fS--ojEgTfh|@;-(%C!WN%BOta%|(kLpWmcaVYGse0S7?AM#8Q6_^Nv z%rUskhcFCE7;!wk7aE%a66f%wVI_^?hig>(GbVdM-_hq0dhEEP{sUVs5DIlIit;t{w-a8rv^)-g|0G@QjsYuHqI1*E|Q&-=lQ` z*Buk}QhyeZu-BeDEoQu?UAnQpzOJ7IBQ2vja1hU|>r}_i*3GL6&%KK@l@TT;FV&k> z`85=8mz7)8F}sSxA^}mC)CM%%dNd9vDV!cR{|9OB7-UgrazImg1rGG-Iugr}SqQ(j>DL>#|X4_mKr~T0@o=hv=oGSfRC+W^*0$ zy?K}#S(K7@2rw$h*TVe*UF80fTiDG|;}AJ^D;3QMx$pQmxc zM;Y>bezf;O)j2j*=^{TVC-M_AE@7k@CxIe0?aqD+mIv@|4vXwF)z`iuP$KJT+KM#F zB`%p(RqL5WLW_sNMmd~chn#w-qhR(AMP|XourOU$>_3IeZ7kP#hO_*Fhvh5mr6rl9 zn;Fv^M4Uj28RL{x;A}Boh=f_KxvY?t2v$+?Q07uKEp)Oa_3F?M*{f;DWw;V|6Jr(R zq*w%#eQxUtlTxSgE;X6q_tk2WtbnGgP-%r}?3uZ=!_BM>*S9OOD=pvBtU@f=gxFtw zo>z{z9lk9#%d{-usi>B#w04YGk}Topa2E%}$sbZqi1>_BM4t66+xy`#nBa#%^0vi3 zOkEs30_-{H-LW}v)1Ff2z~Fm=5XOSh2lf0Vn04;3#FE&P72ku@)Y7fGva1@4Y|g3c zJxVK1tD_3?tOc5TMcMMs?R+Bi?KW->l<3 z>IMmyjdC~+-(A};p44C$RT zNTT-`a);0j3)1+CY@)0Q9Nz^6;-2sXNPGv{D;8UKs&V5IpkIYHmG%zb7FWtrU8=jF zA)f(x7{trnnA(#C{qxW}lJh=%Jp6kd(>qdOCiFWl?UD$$7pMhH=pt7u>Jz#*Xm0l~7+Y;uHkElsuLWh?_tc(na$ zbbW~Ak$B-XC1ABZ5+YihlG^O9NnB?nnP&*LW4@)ia=-1e++goom~+2U2;SITH~ie6 ztpE~D;fw|ETqoSWJ-3`k`o7myM2rr)eU%inJuPYN30-!FSA@X8iD64fRD_H_+4~s1Ih$LOrc0C`Xx5{f zD<5AMX`C^@M7RVd@qqWLmL}{@J)2v|8z>h0^O)JF#q`=@2bluvvXL{QV1Rp$qB_jd z(zbJFf;u{-0)5u0)jc%kXxL+vCUjjjy=EFfx$4S5JCn`ETjU`@iyDs@-3}TNxtMTA z=|SBKLA=58tO&xgY_%d&a`caDu!j$TeO+&qFn(g74`HSf>i274B4OC|^&7ipcC3#y zKb%|?LFmj=3}QNnQh<6@h1K#ziDMXL<{lkrV9M_qL?G&$kX{yPqD5S*q+_?VOi_wr zEI6g$s_gF1Kc4J5V2YE5gBr_FLeTUYWBGJcKTx)sIZ(&WM^C4uLM~< zo9aU!Xlo(fPs&p(Y zgRuNY#dK0%4$0oMNzJBYyOY>})pp5M%%th@v(D;7;nB)!ED%jX%ol^$THRuI?L>jV zLJdABy?&K`QY)`k<&k|zLxem;`WG}TV8e;mt$kLl6#1fhjJ~V9=EkBXcV_3fN11hz z`Y$Yc(0kBfmQ{ie{i-Kc1UCbdQ?b2`hAGg%;hS7vh&pP!G#ZI>_0Tcnn-7!&IjB?3 zsX7-wV9vq1DcMhD+wQbv+fMfyez$M#$Boog1T{WVi@MoAY^{^Nz-cs<)-c<|4uMtI zG>fKz1-;(Ch3PTn;It7+U$LqPtqB0~sLSU$A`O!(6@!lkgF2AIB3FgmBiVm-b@Qr5 z6*zypYOaX(Xvs8UYV=hv{88f6ZIaJ)Tkg4Kd6(@boA#4NCgO3o+p~rGhA&oNs$z}i z@U3*Jw7MvLlZ9r*Zt6dX1|-?m;Y^w>Picl<8DY_tw;&*yk*=FL9;Ntx|g$546DY47_iThZlvfHsbjBIEeG%=(ztX zo1T3p^xrwrXO|bAp~{YA{!`hgAA31D!%-mCiXG=&F;*Us|9kJ;^cp7a9U$K*ez7qe z@rV6#bC@HXf}N@I$&To4P#^E}=3e<8*vMpETdgJ`+XuCppnjJ+}yJdrM^6y zmS1>MoHN_0hQPs*_ab?sGeMiO712A`m!d(^F8_~1(-cq&3%6(7`&xYNFu9f~qsG|`Dq z9RAF^0tC;}4=wlT{Sfv0v0O+XBm~yBo_n1+=5BFIeOdADEIvtgor(|;I2R<-b7O>p z&Go65lrA1qKVQX(bd^I00Mr{Pzgf$UEGa;qr+|o}5~I>DvIc#e=)&1~?ypt-sY&3| zpNO4i*NK&r0AFv%K7WIH&w6};rZy6V;I|e`FiHiMZ&ahLOVGD^=+#?$@v%~pGE2Qm zvQbgfG7rH)CtaJljGY=?L$)|Zz26wc;Yz2OV>xNnl)3Dst!7CLp_L+@l}clqqMhB? zuYOhn(3EqyFa9vDMvyGFQ-jzT*JrQnzpfMjOM`mGp1x4{x_&{sz$RU&nV8t%u&1`Tk~YZUzdEvAjg0>u%ldDRZM98h z6mwMmY?weqNDM(FP+F@Y;8CeNrCZ=Y3u+0lVHl;LgNX)m%QEl--{%9_en z)R`7jrmD-XWJzXyTqHf3QzcIEFrHF)lKyisDo-7RR8pn6qJ~mYcbryaEIHb00yaUt z=xsVHTvL+x8`_>UX&+e?ThmssSzr1vd-3?B5D13^CKMF)IOWoo6{T7JqccgxHIj#! zDRKh5CB`f-?HA5j4!mN9RnTFvRwR5Hcs@HTFShaP&k~)0bFwOI{73{n{M=3~90I(2 zNJS7;wK;k#Sj7Y~gsVggbwP6vhyB4{BSGhS+5k=wB5l`vkt5D!)D97nyP5fK{gE$3 zfTA~|-JfE3Gp$LMFA{#=7~^knBl@S*kMZA}8%9iwJ6)GvD3WQq>6+*IiqGxN(KiJHW(vj11}<@@%u)e}WR&P7508Z+uA2vvsPqN|Q;kS# zPNY9kHi_b#78~$_4ijgT4BhN`aVD(aalHiJTMC)k>MLZmVQr4pX(x3%fj`!SaV1f9%Pd$_=)gTKZ-+gKhWGK#w}m9u>f z*(Fqs`-dJR&^zbw48N-{p4wztM=zWp|B8gC%5*9EwX`HFS1D=B#I+c_(^hNTsv9GG zfcS~bD(jcIjICtuiWBw@yxGsN%8abUA0bte%97jo%4slR$zpujN(WhW3w|!m2>HoB zYce1cc($%rw20KEG_2tw(H?-Uc_n$K?mkevBy*%SvJcf&DEbPvFA((=Cb<9;sW^`_ zsrht^v$r;+{CQo7t>Ez1mGB2X2y%aIPQToQ@LYgsAUG(2rv^73(tz+vfiE4w)}nQr z(F*3>h=Ci1HKo-mgo&5%PCXi1d+1WOngp9@cJ(-jHcp_|!UC?AqVApM+%|JjT4X^@ zBcm@G2i+rYt%(=&koUUul;T5ygiwMFh&tuwi8ItLR=9Kw;0gcgTkwnQe3+tCPaT1t z=8zR=n4P^d7YiJZcM#i(1F<@^XZzIPMw_ zSUXon06HkId!;87V}hBk9!sW|?lE^)=%eW(iPlH(hr{uD z9ZtD#hbM8xT-8i*10Ng;xj#flzz4$rOeJ;#Q>osbV(6qhR+AVNcIaN zH<;C`{8aZ51#4~3=%MRd7zU`bXu5j_*R6MVDLykD!gT`Bny!Pk_65`^seHbu%yzT3 zobT@ktdhrnU4c5df zR2dd{-73{tbC(|*RlQU7Zw6g8`_4}jvgmB;eGQ`sPqlbj^RF~T`H8xdFmBj&X`Piv z^5C4+Y;3!OxQbS(<-s~>UYRsoe92@56|31Qa4^aFiYHPfY$cKcib5*|@m-|KY8T-* zEZ0?Mc<`Q9lyVl~=BQ!Vm4MHN-nh{I$wsZiBt9B&>8oI)?jNFsN)N?$>uNJ#9@ zh>cWwg{(|h4xM>;gz14_H9(<}C`U;e5?{n5@QKY^jf7FB)O;e~9$?QFe?OzelfNaC zpe(#7V96Kdy!@@m-Xjk&24El{;eQ$}{x22zAJLqoO#eA6BKhwr_^{uL+}4Gu(nrKm zT7`6}p)cbp35di{l1L~mP zXN})ATBsUohgoXr&kg2uFM8*Y9 z_+I71T|w4vSb%6hndmkfWb%|@Zgfr7#F#o=$1~cqz=WjSLoyo=Lb?pt6Kev81W_=! z1JLy$V>bjpm6deK74*rx@iJ^;?GAO(?oesal`4=|M%gW6%+Q_1nn&TiFC{4fsT99+ z^Ic274CvDtxBuYnxrL~i5fGpw@W`L@s)Gg|a?|xZ;jSX2tn#Pq_1_?o$Ep5C+3Pqq zxLD&qLH(0T(>QLYdF#E`r<~^h!Q-KRk~+y4TtYMzX!YGNed6cIPHC# z)f_)Uz{xf3d?Ea8{|)NmT+eTo*uWIi0cPs{)mgzaor%FH#xfvsf;Fw~?w;?&F1Ldye7RWz zPtn;I0BU72cj(BqLPT8`F}?+=C#p|}&rU3tRo_1q`nQYmm|0~a&tLMq{-^S!{y&uG zf4Ro9R>nC&<74O~j?M-$i_~xICZze%&4uaS7<9si-bExi`}v`1R-LNoZi|2#}=|G4mb)6w(PK~=-RX~esH*C%-uxTX7JKfx z&OCSp1%ru2~asWIz3avz$DO;esLy!<{! z_fwvNjg544&oEp7z-a%P+u$ibxb)YLVhfG2fGP@3v@*4*uwT-)KsHCQKOxuisQPcP z1_(AQir=)V3jZ*&t}Wy-vTi7uXJpw}))$z}{;{Db@85(ISgvQV0yD6>!m6He_P`W;L12Bj~mxXbip{ei>?U!(BwS>XKsCDy_jL$P( zmG>g@O3DY4GILWX1!qdgt56qNsC z)6zMgXpCy=kf~?ZRS#(;9@M7NJs73FSKWr93)80wy0l5A!V_Cs8un_O) z_@l&lPQ5{dU05K|l9a3)TG{FuMQJxdg!0ik*VGr0(03B3%G^#SOG+AfRHEIJFI z0gR)UT@=PtToKPOWB#;2D$ioa#$1k8){->febQhzxZt!ZXALvM$D>7iPPTr`^b%pIAngml(Ywq%7$iO&CaqjHO~QdE2s?N!j3ILszyP)$~x4j@)|9we50Et zMWeYBCm<4j@SJGw59}@;c#FB=Q^cdwT8#Y zV)3T*pi8hFc>(OfGs!nxIAwxZ!ZKx-95GW7MV#0ui-b-hrla=)d*d%uF5FokYTtOD z9f*Ld2Of!9C9c?6?`}zdA=Yx`fIr$^ovV6&2r2!N6pUxI(*7U)(aRcNk zmq=r~f)Gv-dp|ET^{HrDtCJ>$Bs4wjlwp|Q-GW0`*#L9(w771xOR5%=V&KPBv0H9f zmC9mqc2**TYg4~AvoVoeWTt~m&Cx{&m?4UkE+E>!5RpD1dp?aD-s`NvMO4Q{mSH2R zun<+539HQdnOH$wP8-yGxMi=wA7NVV84TZemtJ|7u6@;E#?T5lvNrAZ1X=p7oS+Oa z<$k&%(W7X(K~t@ynzkkE`=Fas4VdHT@Pi`s3HJ2FH+=#*yN@jMNgi=Uj<$426s264 zPRMl%c&rKxqcmZ!c01{LW@}8!vPQ%U-roG!MUk2#0NRg_2V$xbh~XfV!Gy39T*0s{B9K;zPzK+s+N=G|Tm1w&R|u7I*tB5Y4o? zrMKDxY@~Capq-iTb%(ehfi}b^v-)N%&FR7UIHz7Fd(i-qGv_=UrCN3y%w#vrSq98m zfytj4c`6HcpvCBe0^YI=o#N!Bc^SDELYmZ3M!j(Ar)ZB=>jmq)$m!{2b0rC4_9oE1OF;4N}( z9J_k(+o?b5vfuoKiE{7IKESI2u=VXgTu_Hn*)`CZ^6N=T-~#u|2J8$KJVT!P!au?X z>=YL~bDZLp&=^IqI4+1<%88~aryQe}a{l$G=q1NGbc&uL$5Y^nAnka~ZTmftRfAcgr1yD<(zg2n$I%CO@|P;L<2^px>2e{?WS_LM6SzdU`HHkq=d^DYSMjB!R>G{9 zReEDtg8*vO5c5KQ(C^lF?IwhQ-+$XI+y2nd5QYK*%KN7_%RK+EMsskoce6Axb^6aK zPzwL?{y$f3ab3`Z0*InF!x=9Y!y5<^*y@Njmnt=&U;}>1u$~Q_NvmU;FF*WJGQg@4 zVal;Ma=bh0pAVo6BAEQCED4d-q{1VoCWW?~b<2@XjFiCw_iGEeH76F+y9ftK zlL4qwJ4TMMKjEb@cn2@VP3&w2S&o}b5kpQ0I>U8bhpT#wwwF-xSYdAJ(Z7W-b6r!z zyXDciL1EaYG}#6MVOabF427{59UlMw7F{*%m0R-{0Nx+}k9hu*-`GFI!~GW?RMDGg zrn|)m0E`5-IHC@2GSvxCp&{ojzy)mAQ~aha&_13|IZwAs7;U{m=9 zRuN3xad&@*6&B-a^Va@LKBE68eExf5wtoOBH?HU3bQEH4Ec0P`SsS|M5gKb`h}4LT z3i>|Tk&!GdM?W9leEY+PlIe%Ef4?odSufV{SNjf7%skl?T=f!kF-l?+lUnIQYA6S% z_q?|oajT}0I@ifsmUG$|peLbpt2+Qu{mi_5tdLP{A8r3r#7pHQqGE z-@XI%hjD!VG2_S}ji-How0w@B6TIXhzj75tgBR_#r z@HI6-X#QdZgg?=qy@qI+W0qw9HP*coPZ7X+42vUaS=dgCqL+|DO(#;U?Psl`ZnkvW zUSny#u4m!+rbG~9s2C~dKy{u&kQ}9SWjx$~%Oav?P0M+SsW$|%|X#)ER4*LQKvpPBKb{#pe^=?{Xw^Zosm$jFspUFeZ*=>~~z(_*|1 z3PC@2`6CR@aw@I(-%WYD@P(@WjSS8IrD&W??fydW7a2h#XBQ_!W0$}2DE-IV|I%1P zdFZI3ecAsUzmU-reqQJq5lWWa2y982n=X?qkCD@|S#T+iWngAVRwrk6JeJ)cq}x|g zQ4vt72|{ZGhK2+%>-O&l;as=hyw|lCMr@q>-*{(AmN8qtzOg=Uz0dHT@L%vgJgzI3 z|DZ+V3p90PUPy->uFVt3$BL&Q@fDkpgHSRfwkn%aDJZ3|Esu%Vrk-W*D#s4#58)jx zK#IVL)G$z<#b-9Mu0XZmiSH)nR0U?1uF@bbh0(DhEvhU*gBw;F705@Egs5Y!3F%?X zkXgGb%iWix6r4T)ElV|97ND^fe}I{yCutkPkIKd#g;Aku;xU)riXvl?AuJ~bD{HGo zXtjZIcMI2EsYP&aYqQxw+*sRos||oml=c+bO>(eAfYUnG8{?({^GP)M78qr_G?6N( zoQegGcdlpcOGn-pi^oz|0HcRbXAAOCM*Yo2;^a%4Iz?J^9Xl>MmW}m0$>}hh@M!4~ zorkueB4)6t{cgvGW?OU;B5Bxum?X2^Pti8a+ew-Z-7 zQ^}j@=Na)}NmfV|eFn2u7Egt;6CJ4O8p959ntgRkt1OxQOsfH)dc=GQ%lQI4;v@i1luQnM8g zg{v1R8?0c)U}L69-y$=#8fCM%WygiixRq~RFEODlk^;01zFviD_fmnAA=@fC*IOc= zMV~?Ocq5kj1ysgdbZ8YHn+DR-ier?KTN8>5eJ>5>1Iq$^buNMm-xA_@+jk&f9P#`p zzLB}k@vH(IO<5t-J$#N7QQ*N!u}?1V&9kL+X`ZDCXh6_h6p@H z?!R9hMSn%_R^9i_K3H8b(IHO@7qFPTY8UqN=0>>Wi=NlkBi|myM_JPcL?~}OO0DOO z;m`bJeOS$S91lTWGFtF>Vo!q8c?=L@V{ zSwA-g!Zs z31LtYFLq}AuP1YYlVHAyv_YH-nbo@z;{}RC0aSLlJRd1OW7`*&*odlM^qu|fKb^09 zRLo+LP`(;izrDsBXxb+9;<+;D5sA7jrgw(mISQdOj@NQMj^Xbka( z_?4X`*?M-1D6QPOD^jKp9^g)ngKHHvNV5xA$Q_p{ zkw>>lO}%EcoMK2w{_$0cYi;@qE%>1cfb(ASCG&j?N~z$USA~B}+Ayhq2~)A>&gB>U z`|Z~IBk*mJ>~VEfH^VCv1rQgo$BgGc+N|_PUnA!;)H!gHeu?yH&0OiS%1!Xx8GhfN zBVzXTqr3P~A9lt-?*P{+j#Z6W#DW%GtQAZ%oEjs>VftV|=e~QbN<|20!kmAv5%9G@xr$I5H&D zDi-Ig1((nl&*}w6%W<(efNnxKW;vt3FDL7jW{pJrC%}nPiDt|kFyo{yH)?exQKJSw zY;{ynz7l#pp{QPq>$0qMGx6MI9qe7NSPKwoz?6QG-T;ZozO=VF3V}d8Fr<4 zNqJc}X_Vf_6m92!AUS8MIsEZue8>@2N->u&s$`d}*&Q|MBoB|(fj^=E|BiQljJs3N zo7-Q@xz(z=fX2Bs4p=|3cY7fyRz)j{@^@bx>Q|ju)O&M*{$z~TdstLfU%>dl3VLb> zzOopV)0sB614Gt`^wpSNH;1zu(%K3|-->qifzWo$kv)NQGW9oi}rxn zfucOu?IuAbJJ1n)+lJ)O8>0r8)0T8>57ki;{<-6Rc`)MHNOjrXb1Q|xosjk#i2eOT ze2y1*kH;1H84B8h2UxeW(s4~6j>54o;GpH`qc0kQ0G%T+9O3vj!@Hd={8Ej-FDGG5 zPVyW|GB*wX_&9k8neFg4MMRH^<*PQ3BUlt0-nv~hb3x>GmjRQ2D`PiT=9o@q$yOum z3eph5eYFs$>-2FOw*&64eknv4p`HBQ;DGssRyO}fa@=<}bp^w&C420N&=AM{2;}J! z5&1Dw4qwTXU7nU`4qS=aq%ORE@*$ItF!{zn-m#VWyDi|#cIA3ZC7tNIQq$TZhk2Q~ z$E%Y(H+kq8=8u;mXU`ohxf(~{0}9ogJd0$QbpTYlS)$o#s37??U)dUBrvr&sqrT?4 z^cT6zAi^)zY1Har1WCz(Mjz^tTaphAG69)XkI*8&L6$m|C3#6t)F);o)g`9I)YTCJ zv^bu?d}bZF2^K+0%Y&TV&+|f`4b|$0Z1Iw zj`4J&`}S_2=bVp#zM3(2b;*A4@w4?~OaOOh1Kkky519geZGv&|6O07FG(@jGmeJxC z_8`M(`S*P1b7~E}vA>#oKlJ~*Fo*wLH+q;l|D$qI8_FPM8NhcklP2>O(m*OKG1wb| z2ni00ga|23n9(3cSdc)3l@usRZbD9LwJeTgbI}W^P>lw(16%`vR2?g|m(`z^)oKCJ z^;*8R0C`{6^yggf?^knVWR--j9PjI%lf2Izf1l$?eO!_vs;X2=A=0HaWV+Z8_O#Xz z;zSE$=>`&fnkz^EYbcixUTG?~P$Qb#nD|sm4`(}_1~ybHYdZaQJLeMSb7FL*KlKi& zpdmJjjrDm%ShiF)chD8x-l)b|lR-NjUnlhjdOh3-H&CVBkPCyd-Ax6bl<~xQ+^ovn zSSQT^Hwh7eDWj)Lv;EYBM0>}yxMu&7EFz=7pz2X3t1Axms!IKqf_8_I;ZqXaLpqZq z0H#JsrmnMevP4qmItxtIbpf24ho%aHzRLK1MpsL{twpWCK)g@F!I-j%YYWvr6C!Lh zW2w_qU}eh`TXT_nwJlV5Q`%I>2RyltX=7st3t_YvPsY@DN@735^C73V25}21ZW)|A zYlx$;o@xmlX3TwGLRBWSanyixiG}~iwE98bL(u2#6Wf>5b2Kp8fJuGY3^>QUjbi`wJ+nK093ku0?EHXiL*_&zT##NtxX z-S4e!4Hx>{bitFkHd<`4q0lH818!f)ZSn6PpQFb#LX8&Y;>M8lPN1z)O>x_tVwn}N(6(0TE6 zEtVv)(nV934%|OZ(PG)xstY~PcQ>R-OIzG1bhIvXz{1Mjn(y#SqN>XWg+sr~30}^) zHq7TCu?Z))11gkNb(M!$S{M+Djqy*viMCVZ(6^^j&|yZdBshvr4;P19{Y2hJYV1M{ z7#o}D@WmWpgUqjs06+b3K1D_m`m5AeYBjt@fupY(y|*KKHi{!iH)uK!=nSW_*23YR zvb6eDU$A4X`emQbs0$kA*`~Wv_nd_+T3ExgGQcJT{M0#?WTj7F@_iyEHh^&4{yjLIR-3Sqqh z;sPi4Wx*y`T2HIX)uPw%3&lf0;)!&~*z$2=$BJvwdF{~s25$w!&aH*A_tAMx!Slof zlr6vr^yEUC6fFC^Z z<(fHx5PU)nw31;~OCN(W;pMDoJz{tb$@`amk8(xkDmlkqD{qNvaoI0uH$DH}wH2`A zK%*dAZaBpgKKSmh&TVKF{bsEGSfte0p7}FZW6VWfX4WJAjU4rj@nBT> zK<(v-G1HRF@cP4-Qg8p;VAQwh^^~O8i8#V@J^~c40Wt0d*`@GWAKuiF}vq-NGQilNO;y;)G?p0N&FsMXnhu| zDaCY#=(UnNY+Z~8)OJa|;QoP4#(1>k7v+(n~zP@iAMF zwA3OzRf60T^XvMcf;J=u&M<+V4ZI_`GM9)MGW(0vTB#aXF6>f>v7e zF`phhQot~t<$t`ppvleZh0aTq%r1#EhGz`ZBwH{plfOP`Oo*(IGnei30 z&Y61n0UdJgRade@n^rek{gLa>6Ix0!>wP^aY!m!VFPY0Oyj~ z&i)Cb_%3~R7twOqCYNz)V#H8b_s&+O!G4A}Mof>FfyR&AfcGm;VfOcN_tQe-Q5F>3BC zZn8_dwRudd^tJs1dlLB@s`ifDJxJiLc!v82{2)Wns!fM6Sa!H{4IZAvD_MfPQHpc3UWokjyj-d!+{FA~3g zdHp2qCFo@8x*6%!D;j0LM=-t0?w=9kWnx9S?jTRv0rjke7guZc=qtQmIm9}49W9_T zdt_sNLkXw&B`XA#cgQiez$sy>os8Kw;*Pn0&7v+AlILJ;enG86zFE9)8r@5rENdW? zCFdD>7L80mDzQ2QeqK6jI4UD#k*M*APD9<8q<6w&iyBf&RU)%O96E;I9;; zVa!X1Ua37RF*P4K?)+Hkar*r@^TmNwx)odKFuac;iz&2lVFgEQ=s6xjbJ%VvK@FhR z{Ah~As`nY09`qczySpKC7!?I0O`W(x*R8VU(D;V%(>;A7(eU4IkN<|PhonyHXVU%% z6UppjOwx4Eo+0V%a)0;}&HDSW4HN;&MvJ&#^CRx|f>o?F%aF&}Le#;#2dd5BoBt)B z_`tmjuDU z_%hc5Z!S8^rd$qzVq=2+4A7tYN!U~JC;ro`lVR3nds&y6kc<-Sje`tDh@nZxvn6#6 z$M!rWOh3O6o1HO-PTM`ExJi)0JFp^3B-rgkm5*@^eHdzoG_fg1Nkvul6K>~gcV4CQ z{#`X|LO{-9hvKiA#tzn1gIZZ>BV%Gvb1I;;>Bx}2>}`_i;4O6vEgsw9c3FOxyikNd||gVz>Qv zz0GR6Ek6G=;aoqp5c?)#ENdj;K;f>}fKqc^Ox;S*eAk9d3gO!STnwP*Dng+szfxXC4KHylN@>#3}K!u`(H^2X~Pp z?={*JQV6q3EaB3|gsGhXIY7q09m(VL)!{ing)TYLN$?bMz<^6&QYwq0f$P~A!jwIK zOGyatDNU<3I9+H$e?z+WQ5B~)Rdki}qPB5q-K^(nfAkR9YD&9B!e3O9W%tF|dm2By zoT}u@k{O5Ok9v^I;b6m8Yx`Bg_Ct|TdnV0+#HLm7mFqz4{_|TTTIRIPuYfGd8ZXrb z5?Wsz3)MD3vSZPp#*DQb|587kI%shrmLSv)q>S)I#KET=4cnwy9~Q(4t-!BLILoEes&xoa~UHAfy8C7a4UAbvvmYyiJ!Y!vb`wU-UFRUZI5Ix}* zk(FtgR$$cML{-eo)XKF?%Ua60rd3a6RtdVkP1Oh&;7@gKlLsx`kt;-2v@>}R1t*B1 zQ;)|+`4>=Dis2T`i&3X)G+K%ft*Wh&<7`Z{sH>Z6bn%P#=;Q+F-3nNNdnN^}VO`py5pZuh)q9<*(Nj7~;vRAj|0Lee(-Y*9%sQzQ4`Oyf zbIG+pWhsHvKHfl`?l{l&{uX%llW$&+k3Ipa zI_A+DEUt*7P~w#@e$tVQ?M}_|!~qa$B0QM3WZIX|`EZNAoGeWsDB$o5D*7dEys~ag z_!q-}>BsnrI0CRx(UNgUR~NP$B+@OIK2!Y49v zJ5a4o0IV+JLPgmJTT9dMmWp_x>aeJOu^pC;hC(cMVd^ESoKTJ?uy<3B2mNOQHD>X> zr)-jcuGNUU>&7povD1M^N=Twua;`t9&0rF=|VfsGNyr#C>urU{C&f$yg1pe*=4 z3re>puEAU$qnx{cG^mMwriFsSoc7vQEY`rGbwESaz>MH9P@Kb_ipv^TA`q^UhVgxC zOjtLAvnYDZ$KEnY-Eug8(Sg9X=9M+QN%0F3cnd+b1C8lIaoBT;4V~H!r9(Z_pc2C%fVDAW3-n7;YYZv*&r>M*NZEZckD?U+b^m!ty1J z+qmC+;3K7VLD^K(+72*q5;-CT5EV0U8b}+a?@7YSPji-$b{*H~-T|Ct5M@~B>0C^y zbURx$M4G}sS+pk#ctju+@q={Th-5ipNbm(S_@e?ofapdBE*x519~o^&4O{0AsHy-HD6M}T#z*oS+!5t?dzqBQ;vO@m<K{vo`#0EQnr}g zt&Z!5*0o!zx6YAXv4FGa)d%Ob)9jCP#E~ZGgFK0jXCT&&xyf-y3@>6hvqJJ8t5MhV zQiRiP<#L=O$vQSMG_Irtti5AK7BvjN?jZZHp`E&^x+nezDd!Mf3BW|@pksAx+j_BW zqhs5))3G|Xopk(?bZpzUUTkarnbmCOpE+k%cU7yZa~I#ab<2SV>Joy4??++;VpD9c z?Ck7pFgDN*zYoZ{8})wQM?K)FE(wu9cgH(@OO>Ps_HPO;;67l3Zt>NXz7=#qb&JTC zn=+0IuSUBDZ^Z4tzmSu^VF*rz_9(W)OubOBZUuqgkQ9i-Hlz$}7w*4rN{a85)_L>g zo~^oEg5&*l>NX3Gc@2K2!2tB9maM#kUyBZK9GdM-+ilaN_k8f;s*ZimB5c-F1e5m` z-?2j&xuQKV`O0ZW*@N*;Ud~QKCdj8g;lje|7FkRAnxuNJwHI2 zut(v{(BnOb6zvRUg3T}&XY2^?OpT&%O0d6t$D94HywCDh{#*jvHCLW==g7s~`5av5 z@D$p!?GDMWv6_#6XPB6wotFh_Cl$quON@vB7IEGZPwtdEIiEjABy_Dvbh>0LN21(C zNM~?Oed6=fjwoYaXoc@Yw~pE2uWr?&JLuAziuWz543y*&q`#Qz*U;o(PYsk@#V~l$XL2sGP`iziLf5rj(ju3J_XKub8yNJwNPOG{`O2s7 zXDxzlI5+f*`1qVikJ?<_mY{32D^9XmQ`utcG|r|~ytXnnRnJGW4Y6v_S}LR4iZ6HJpl zp8z08?O$&8vZ^%}i5Hp513E*XZ)NfN-2o5|o@{l&D3#^7omhH;*=YmUHTy_zSX{f& z>yfsW==LW+{bRW192{hBnX!4kj>x*h0)HSsia}F%h6E~WF(tB!!ZBMl)H3kRvC9=u6+LXxe*q2`FaelXG<-&dwE z7r1OoAiQhppeZ&@18#a-DJAGqK2py!%d7#evR4GM3zua%y0B|em* z^HUYjO!NpUGk$=xTt}YhMQNCFYGKydn}T~TZ~i@&_+*M zf6OyWyuD>zSS{`kp@+(Rp`N2IaozStYno zh?@OR!{(pN9zmmf*%ZYy*pr%S<5ELDZ*7}STVfsTV-hps=) zwZKsyjPE71H7Hc3Tkwri5Rig0d+x{g8FOudy)za1a>B33_Z`ZQ4sOKh=?qEUa9G@# zOT3GK`jcrt;>9K)!*O3K_!Xz1=aBl<`3qBMYUY;xgI{QZ`QCLMjkquv82#~q8Ye32 z$JzE`3Y-^iixCo`hXg9r>rU10Db0kJ2$-XeTJ1;W{0 z&nVqG12=a^Sy>%RtjS+kc2L&5o!{8);A{6@!y%k53S0_Pk%@k!;Ge&GQ*Bl7TWRxW zKhZMlWNO(2_N!HR)?+c9cJ@8}ltV-Awj9;eJsbZBYf>Cp>5IjlYunC$yZsbP%#wkoE#dl{;6GgOx{8cEeUw! zR%TPgS;&mSndhYYO_Gm|8FJSdsoO92kMbi;^7h(Dnt1^uAXU-SJ0&2l>cw4WCQwrF z5nBCJ0cS?njk!l5;hyh7_lvr#|9YP9gQ#ob+l0Ai=JkWLvFck4>(R0HD8UQ2Cq{0g zyfaT|L9&5Z@rO+*Mk zk2M-8Ughs{8Hr?rcyjR_sm61>XS`#dcLM#FY&szF5I&0 zfW=(DKL%>t?2P!f%yGOjDGGG8UR0jr!w;D@$Zdt2OURNYTczGsROFq5?hSXY`ZJf! zWPa4iA_TR zw&Y$kH0Xh>h)?>_Y5DNNQ)X}tDKO_kP>eCr+yw$5KmPF%`1^y?zchRgDa$H_ZP1ji zsK}~>n};RSZ^F=w%>6^e2RWy{yZFJmdv9svX%^M7kj=p!US#VfBFFJzZYc``%ymi0 zgoji(CKS*}BV>@Nz04N~J3AkWZE6t)q86Q+v`0-<#X3%y=5}nc6hNv7niC%92-KG% zOF>m~8cH}7STLL5O6fXep`@>#4AeEW)CvV~rG~+4mLbu}g%?jE5)o8(Yrm4bTy?1r zrvMu$>eY9C`c(l5wB~Ak>;m3IG%4x9LygC|T3^*d#G$_laN)v5}__zJCs<7tunqhej z6*z2IYcwrqH8td%n}0JY%bmhEL$r4%IcQjluB-^JoS$ObFbb3}&rO^$yb0HoD>=W< zXdtu++wZeh;p(jRt7&8?sb#lG+V3e;rRr*=JXd8bf4UYpRwrioS3TZA3{uKm&0B+a zRp7a8W=cBROx#3W@uWF7nBrpd{YUI^4Yo@|v}Ta5dvxs=(-Ox{vVJFwC>OWj|ATvd zt?(b(VobMKRLgaQL$gB5N93>VP}?z8SHm{U%J)l<@wa?%<)!ZNs<4mT-568lqxp4N z(s#C*f&!(M%gwg*rTnK%G>W;>uPdHlu;Z}x$7AiqnB{Uu>5cSWYCp9^7RFk8ehv5< zbW*Kc4->na^(mWLx_0|T`GlSR)5;N;KJwxbiT*K&?N>UuKJv189#aH}%`hFRoni4v zSs!`f$Voqb_DEVke*VZxKYs2=OFw?WJdtVSyiqG1-A%h_BC0*7WI|P6arub0onhe! zLtk;}sIr}5Q65oownzcPOQ;fpA?!{OO_eD+v`>`zPWEgG0IZE z5+^ZyOynfPDCH@xx!$RZ6LpT>fB(NWNXL1Q zs4-qk1Bs*P=&bo6Her$yXp0VusoG(~n%I72oi4upJYx9TCy@pD>9ahP6`Q}(oL&<1 z(`aP@iALGwmB8+8>{}>E2O+DK${_@PhaOKj@#-@{AV&Lb*aRBnqq(j58XN4+zC)e! z%KLi%>ij;!;=h%_4&E>qM-nm!OAX@MaT0ZHs3^9FQrTvwzeJkjh*;|nVH_-K3Fl^_ zusYeBdp4fAD=0kSgB$k{U(FhQ%9E3`4>k>eaGgz5N;4T|9s5W|8O`$|hwMIgqrr`N z-jS^UxEI+Ob+NLygh60G7XQ#kgdX*#S3QS{zec_&kes z?yyq-`cYM_#rPE^jvE8x90-wjK^BWQ zhL#Wm2}F<@cxc~$X6J%X&08N0cqQo{G_dn4A%JLY_Hx6PLB191f~is-%#bABO3Z-% z0a?}7+p4$fzx5O^8D+dobLHI5S`b^=etgN4nDnGrYK#d8M$SDZIE+ zGGk}@pYyXGhDPYeB8Q&xsq3`~yI5JM<( zVcv@G@~3PMG$pM1HWtLH1X_~kS!_{J`yYH#?oJpZMo$>cjsd!0i%~lLVB@%_SqGkH zgGKUgry30XqS}Z-0acK3*+JIN?0~45mo%wI#spFqfoQvgu;jkP%7hzToSPT_ni|#F z)!zOl)dtnI@+z>*5+&}o+OTS36`rkVBP$T@TTRA=cCb^=3gJA+o7K|L2Ye*tX^A(I z2TV5o%up$Esk^?ylemi_;Eiv!<2@(LK&1b!FWa2}Z_~bY0tY5+1@wsMle!HSI&i}H zfOUs**3l--hSw#wVm7<+!1NbW8O~Zcwu-n=nZK@9TWawcgwlBBUxpq}1Uvk>D+WRx zJ-iK%6V0f+8zssHc9pEGw-(42CxA>FUa4s?6F|+P)*{KeOkDYWLRdN7^}sT;?Eo{w zgzNsko&q7AQ`a|ib(D!p6{?ZBBFfBuLr@*(x>6uy;B^&e>*7l0Ys9%$!R_@!D$?W^ z@g#*|!CO$^cW7Rk&t*Q#+@`lH=_kI58a{u$s z$zL&#VMM>d+yS!_CmcbvMQRiziO`R6p8`?i=(8j(NI$!?G>~XtOj5Vf=mwhJB?lc> zoMiPoIJPZ7)G_zBZ-Ie;w=-_MOshCS0sP!Fx)+%$eE#1#Y5##kA})p{ujp=4KTe4V+O0p-OALVNz$LSm#b#G53GY{B&PbDRYqNjU+Ys%P z@xfCa7fX`r4wFy?6T40lyStE*XY{Nx*(I&k1*0)x6Ye2Kxhs-UqO&Vqa&bvD+Bz|! zb*Hq=+GnR$&s~LxN}Zesb?h6J|$Z%=rpZb z4afpt>xL>(mqz{2s~gx1x?B=_@%pzt?0&(au78E#ExxqI;BaZk!^w)1`W zF}|SLXgHm)u{=63YX@G7uuVaOV1oMZM@S+8dE)TRIQA$ibcj}U$)F1%u6}c_ANK)0l!7o*~CErP9|02Yb!rcs_X;iJC2#N5xgVGvj&6r3E{_Lz_a2L+Q#X%fy3 zSz&0lh>oqYz~9VW2)T!ZAAU69sR7P0jV{vg`fJ70X^4_yD<)_QH}t&LY6|3hyI zxGi~ynek!edPZgDio)BNv$dFKR-`zoe;{zHbglLK&_AemMT}4uJqPJSJEbfrz~;!Y ze%4gxWkc)-$Z1U_cq;ESPWx4-n}WkET?r4b1BL)8GtHWv32=>b6c?YRw_dGF5v zij}h_wBHw$@uWi|UlTy3%2aQm$!{JH5fqP2H(V*2y)zou&`0PsS?dS-^l2 z@bjFFrtxk;aQ$Kr7*T-^pdUj_WV2$!IQSj8FiS617p+*h_VQf`$X6^j2Sj{_EFtUj zS5en}bin8!Ek=?{S4a7Arvb&oDsk+~Xovf12V+07r3HW7UQ-Ecx*MmgpTx$^`+VdE zQkz!{cqq4%V;Uy1rG7^n#;FDr%whFky5`D^31Fb1=PGhm6$SvoK6P+RQ5U<#$1;jt z+01}_{MfT$f69m_eNpuhWweNZh-1qI%&OSD?I2a@UtQU?A#TW#p8C{VBs)-isL zrzIN%D(&or{dSGJ&xkZf@_GW(A@IM9F6>@}3Du8O_7RuI@b@3WgtjDvLSY#k`NMxI z$kG(?!_GE@xsXiwTR9BuRI0qC&TV3q=Bk{@f}nY)HCzzO03V#9SyUPG5drKUb9FDa zyyl@o3ry?wPWlc6{z1j{F+_u7L~9U_#h=*@3~%&UkSRyHeO8##;Xic}OAe4CeFwpO za`Kc%eA%W!W=A(hd9yj%GD~^lAqN!Piu<%aI@Eo2L0$jOsb>dVReV?-D%&cPn zyt%r@033|;_FSKN)(DrW%P{f@^Iw$~QfavOW$tt3iWA6hu4z27hLWeYa}SDD1j+cN zjxDocqPz4XC8>QBAu8kTGTi2~J{Y}TF z1&h`-My_qqPZUZn3+89T_H-Dg%Y6|@Z>N-qvq5k16e)M-D{}12e+NdDtH!!|-vgt5 zL6SOP#aKS?FjXzHUn$ohU`pbSa+d0$9vHz~8_TDXQSu{L4btqhw>o@XK1`1xa{lwc z&dMC+&8M6-yS}97Jf<75i3_&Agzu@1Peg6$Gl=&s$Uzy}T6j@U9-SLyIwzj+)sJ6C z^8$a8y1*RrQJ34W?R(6P8M|I==#bhOJ)l10c9=EgR}dSpm6 z=z1g;>700xuuK1D?}O27!17a*&3?r+NNI5A<(NjPN*>S2q@aWji>v@*GkyHAylBonSBjPSVbb^ID$6Z206iX##oK_iQ%ZD70GyBU>SI zhlgp|OpF1TGE2LvT_Q?@iQ!Di(Z6d4OEah?!;caIV-}ntLo<uNOk;P~AVC==-g1-rtdOzWXk7zi@sS7zUzeh5Kr%_z?YAOl~?q5?f~0zLFd*PP4oF{tVIvn_5BXYMEum0&D#KkViD^L7$ntSoW6KLYt~mJ9e5s8 zNa@^D9xn)v8gm++2UCm8b823Ej5Ej)ZMXr3IQN%(`%m5;>`u5sR*N#lOyjLB=1D1zPh)N>awpYG<|IHV~Y5w3jfIq06@-7(D(Ig)X@mVo6#&VULr%F8|``z}p5I zQvcc&Gc50Z`CC&wm&@=6jeC(yort($S*ixXEcg(Krn_Q=1k!Ac51a}TiTHBkM^Q!O z9jQD(B$Rn_rwdB(JaE7lI_`pDdEESDIy8Q-}A{Vf^wW62{C43keD?T_mLRJM*so z*mmfp9TGbrQPa=4!f_!Ta?u~svHsZ+Rr`F_OxY1s?eC_gHMY!r01-pV*)%AI0hmy$ z_+Iq|a!%DbmdCECrn({&#$2z*Jd*{V1Ma#Naz6s*HzUU0S)PqY`k+TLxWU|uZq!=I z^Oz)dg|~MIK!>*wlDMOmr^pIEZ_$}D^f@7Nx0s3}s&+w5{__kIbIy2#<#wt5)tKEw zI;z&1RR|t>-YQ=No|kdCog8f+O+*F#7+ra{cWkkFeQ`7_Ca=cO_OTiYn`YeAQRlA+8g&W#+P77wj#ZN~ zVfZ>@oa_kGOX+WW8^oXBPMge2HB6T~{}YEA@ZL2QV1R+m(fv0Z%JzT9q5lnp#wGSC z;uM%O5Xb{Uj*=_KC2rnL!S1u_pc z@9JdGesi`_Xmd1-&uXLP{fJZ2L0=Gam-;d)OJV{M<%^f#`R@W#8cf?5ho)R{Ul9xr2%Hpt!3!9uiM zGn&O`x2s^YNNRTeV~xf%#;aD<9j(hzZTVb_)A-l(>1Er3lX~hpwYucRma)6iEh zg=@Ah_nUNSAc*C$&g@re%n%%-EhC-z6gD{(uis|ywRhF_=@8wdF}^)KBWVN1C_&`w;BB{ zR15jWYSabAmRx7FU)=mZj=AR9dzj;_$4o`1?B-1vL5Uaq$4H%Krp5m{Dlx@gm@Aytkt`K`jMMK zMT=A-lU@SVX&7U=aN0>ypqSgly9Fh+P>3$UwY90=TA6(naGSl;;)uVoSa|WBbAPO$ zqth7>YIv9Dy6u{GulGIUs<^w>O3WiH?)rKn@7gaC_zOr!a8_{!A3mTGn9iIQ`D-X7 zQJ4iQR%1zOpld792iKl;Bxg|me%n~zUWy;}{uP~E(}I;y2!1S?>-Eh~Ud=C2m;n!7 z-9Gl!r(N{RYstotCW*#D!43f?_s}Q{@P3%&f(-_^Ho+|^<)U__a3{nSCVTjDH#kWkdG&IVl`Hz#c(!GbyB(@4=9&bdLNgxXk0!{ za4m8I0L>gVI@%kZ#`bDr8!mqnUp=T+qBW4@xB$S#+Ej28ymIKXbmp4xNCQNR#o4*Od-D)L>q7tN6(f6~>I%64xzsK*R;HvMW+(<9Ncs3@zto@&mYu#}>6k<6W( z7}9RR$zF~ThKx3sx36M}aq?~Lb&Jp|HbnY`B$?=uuPwk{u;S???6?f`in!3=B^8M} zCk&rE$+C7{u|2046hzUrIFRSdzKFSQ*#TPLRUT${P2tt{6-VK2TAmf+qD5Tc&r8-y zZ<0%Hatt_1EcVA#9mE&oFCz-@(!Dm01}8)v{{q!gb>8JzPxbE$4*3|N(cz{Q9CeBE z_Ay1*pZ2BgLNf|Xyi)}xbk2!!Sg}|Wu#)?QgPft$MJ~ASuqN(qja^a7S`%CG znwv88VB*1fJOaA64EAbLCFjMrDY@>Oza6!WQHby5w8dg|SC9dkv+| z*DjkG<-nOtYarZA=!Ky4%#@Yccd{ZSxL`0V6!Bg8v}v;KOPJOeezc+KlaBH^B1Z6P zLW{<7f36d=hq{$i_d`VEEW~;~>6F2#bjjI*`bqE-?Zd5L-=ZY%i#98pYTCpi7HvY1o0 z&~f0sVIlQ$>CIF@^+QTEQq`>58|qY9kt(VM?YWLhTAUzq3`|O7>a~n8w<(PS>SNev zm+>BFBVhj=HYUugOJrs4v46Py5AVlu3ds#u^JD=&2YSAR%X{&bKo^`LSu_EMC8FlM zE6{UM*PrIYqFsWsBlR@pxqV%xmDHEaf-OUgQswQ6Ep%|kVf~;?->t(Vzt~0ol)jJ(@j0Z2|l7H}Bpa_ODHzt7@G4(}>2}Ny{u;dj?o*5}JN_$FZ^=0SM+ntl`@A z2DEpb^FZ#UK)_O^2abC~{UFNpnPC8ARslBcIt4k^SL1%+b}_8IV4Ahf^>e8WtHl%2 zlh27&e1`;!!WMrt6>31yDQpE}ScPN9#V|KXAtD&T_J-6;qhP>-@o5OIW?TId2iou8hq8r94F zZfNiYvZ+b|lSyaHDC`4Sh?Gp@jxgmPO+$A&_Bt9W;qpdb^+?RG+tMF6e zyy@si_TiSeyvVwO{#l~LHmK|mtE~gFcIwj;BA8uBRmn7SNuIR()n+#=Zlc<`6fP;( zXjb<(T;kQU<3?Zkb1lIxypQWw&JmgB4w`_j!WmYRyQ+I9NO?5~3LG@QQ+^-m1>eQf zJ3}|dl4|(t0!1hj+eVOgP_K;lA%ES{7PYD=>^57lx(Bj!bYfeSFr2h8xc|rx_iAO6 zh2~5ACgM|w&WF-t{K%PBFDMXHTUjezKgYVmWwS&bzXz@W!UiIHh(2nmx|7by}WQ7>4 zWw0lbao)Qq4xd!m9ggcne7|w2UFt1^rqRCnbI{dFUo*&$nGiQ#eh zd)%_)Ro)?(Ud-3!3eC7gNA7eBQPVqalooUs#&^zccsPnA9HWzM$vAI(e1)E!d3z}U zZ#7vIKC|#bBE@Y-2E}C+cO5^BPCLpjq8V2jG((VWbg7-*9hJcsEp|2$-%u+nj@`6+ zeas(zt2b&e)g5od?ch|7VG*I_px@61tZG8Pb##&@H1|fgkaMd#{a#YmsuL!g+$!Q1 zHx{g~;)q-@>J^_QiYp*qsKfJXnCgp!vv5YT2-5K7UWK!M`$22#h0sm0V?IJLh}5l& zVn|`g0HfbmW_o_3I=5#|qs&NH8~wXAs%uJhW|tl)Tlc%~=q7q-_I}B&H%`A+1o4!Q zuT0{)+l~LN1?{RQx6WM!`~XoCM)^f}P`zt7|EGTdntQV>!r3aLLo*r1Y1~Tq0KH#B z9O+ng80?4&;ZJ$}nf#;ML+bNq8R~O(c7Pjfy>rmo>c>g zJ5=b2m-t?--tBS2?fy}}H>H^H?yVLxvr@DL>7r_mjGjHZ#q8WI$3M?~`1rzVFE@Qc zulGABp|6a2KmD)w4t+C+Poqv(@iYT0Nx?T7dxTfW)svRvAP7Z?l(BueO*wA% z#Pw5#oJn4-q^}rwIQKc@DlvO(-({JRF0Inp5mhKcf&p&f#5_qt?3+Ue>gu!Kc^)pK zO8ptbii~owArF4|n7dw(S4T&x@_YCH3I>})>C;pfp(x^;-(aMQE5Asj`%t%RGa=H3 zOvF%nA)_7GIM;xtvqF{#q4(|J3u)kNyBCH9NU7-8+zyG(bHUuJ<7w}mv%X8JQJ}>x zMfl%(DL>iAJq>^K4J&g?FF5x$98jbwg#n^E2R}me_7-kI*cK1e2iI`8pR^z)Le4<8 z+>E*Wa3$0VIbZ1EBc266EVU?~>7wMtrWA{6OWf3I%dpqKCCRt^MCF5Yyih5I;@9aZ zr7uY7slO2CHXEhJnjIpKQB*myIINfmN+hh9MD8a=s>GVWr%FSCfB(At$r>MjQfd0E zUSyNDuewyfTX#sJvUW&UB6|DbkG9dMcae$jX&ld@5u)I@Dj~7@ zO$G4WZ(@+~%$UlRY3Gx99$(h}V1K1z(&U#fvh%B>rp}dXb0c~q4(qWS{n~JAMR$-*1)Cp0J-`akwNl?;&LxA6Y_Uel zX;FxW8gCIbnj~TsOym>hz>^0R*)ixy9+G9=!YSX!WhpyUIGem8yE%lJmR{neKW3d| z%Ejg{5I3Ghu60RHHO03$y$&R9uH@MG|Mi2Ut#6&cG6dx}dF+C=n? zrio$8`B}@d_x`et%>5hv>rv;@slXh@p zH*))uY>-XHK6E=~P3}wg6x*4J%^pL`fV^5|LepB|rdPQ+C^v09z_`*5-G|4^^LdW0 zgS3V%v0=ToyJ_Lf6@z!O^1jr(YDOC*U+tK)Qrk|r^aMVBZ;_pQ5lpV+dud&RH~+9+ zsOspU6XpZZJ+0%b>1<0WPWAjTHhfBf?*}UYnhQU+6_2QtJ)MV=@G+oPlFjD;<1G@H zoxTj}=Bs~G@#%8r+CTiN_vjn=UdbHKnG} z8&&)rL+FN<6PgD4bdkIE)b;7vn12^U02qKXQs>Dnu>9g2Y>U&rzr>`Ki=@tiXG%)r zl#DC>+c~SU-(ZP!`%-<$?{s(sbf8MUg#G6fsmYBJ-O!*qmd)K332#AT8VGlLZ%$Xx z1qdbz7wmzUdm_C?QiY^sR5?-YMw2A7sid4#ML@vL($W&X_l6jpfoN{?BcOxilZ;?c z@eBzu3t5niq;sL`JdkG|Jp}45vMTec*_%8cJ1)WGq z_PWtSATM!G{F^;(_HDd0DYVl9Sz04tMu#bC2GCz+an8!fjK6dbi<-w(hs?cYrhn$SBNV;ya=HomW0)_+ zkrF_*zx3ksGEm%4z~A4jU%I<_>2H6K<{gZEb&huZejv_&foP$6z0?$`C>zB`ug0aM*csGQsAoek_6`3+M);%{q2fE>!)^)5yrSlF+IyM&Be zyw9w!-^=;8pIm88HR)e{$*1}Jsb8gf$3DHgMD4K~yI`*cyaiy4N|U)RL_jyN!cx77 zG9BKalG0*5oy&3WXpp@@Xe+YQ7hRpi1l(8Pz)3+WByB+d`K*gb+V#B;aPtp{&yQ*O zIOHjmn2jOt`^)H7q5jeF}|vDJ8i9EgKgVO|E^;xAqQ?^!H(=w7Oq%rY6D0h0s? zvk8Ip@=Lh><>8y}Ka&AQiT5-S_tpePHf#ySWJF5reg2S2B}*5Dnt8t$;-1AKhVB`( zItkWsULi{%g zzGhs$Qlp~G@rZy+^Ha;sD>wIUX>aNot0WP%daOta#;#8tksB?=HyaLGLgYne!8- z<%?h!yrJAMyy2v)GS5JFr!FAZ76|Cc815$rbC%C0ysG;oo9GBgH#jUyz! zVBLBdOrm>7-Q{ik#OAZ&b5w?HgBb!EnS=lEUGA4n2umeGpclZ>^kMk>prv)n+AwdF zE-DRk*g*f=&E&(rTiEzW-6z){p5C%wi5Ek2x~Qk5UNxYa4gBzcDrk}>0)4dbFYj1i zG==A7(JhNvDGU^+;}!8fsD9wpt#lbKx|EkiO=-j#QsHD6aWum?Y$7(r2|!Lspi}gl z;n4%^^v54kA#LpyUOaqAyjl~Ycl|e}GPbcUC%2(X!R_dgtS`l_wK8Jt>IUSkHgP$( zHfdn?rk7qS8pFF)U+-E^r2w;k%3%}9hSV<8lv85r;&k=s3?o)_sF2)n5T$8v606Y| zj&fCNwKrLfaKEVFKnkabk7ks0XuCfi`LnZ1(z|D+>25N$ymy8t#cR6?lgwReGH~Hm zI)BJdarjXzYRE9kh1A`+$g3e35?hfrD^&14zzWNwT~&YdCQhciIWXDbTJ|nadSH@2 z#d^&fiM=PIkX2BAC{yN;KWmh@l-5s>p%Z-bg$;STN#3E1WKLcg%qE%GNr5O2a^$RE z1{m}}GOVx8Hj15IE^;Z3o4k<2*24SQ{OE~%M+xaBdbUJ~TgS`7Uc>UT3gO86%avNS zPqHM0=>|WUgtfiB)c%e%RBXlcCYuZ}fIogpQ8AVXV>`$e>_E?b`r$(#)z2V(a5o! zjaJGbb?0;^tY2RK*|j=L9^SdKX$6D8lRj`Rd7*AcfHCh2Bicdh`eGc&6f;#{In9Bu zRVZ!d863$f95IR0?^VvTotfnqCGWLux}&f&MPeuRks#VLnYGG8cTd%IF#k~H3IjyyjtLcJI&&i*+o7i? zcKC@TI8#b^256JW7?c7nq}WmtA5yCOyda#=@BmCev%kt?uWpxov?>GFxBpPfq8|mP z&jVgW5x3JxQ2eaX9E)YW=1=`lYj$JCM$+eo{GjwFe$B`EVG8uF%z|G@-TlKlx<-C2 zjQg6-|M6lta`58Abb|jc+!2CzYcilajCo(z8)j#?;{|zp%JUY|k4vck`Nq^suM(Pw8Mtz9hw3Q6atr{w$ z@>lOkjkxEmtQ*XKge5H5tJ*a{3wqJ6i0O zYaF|R+wIbSF*#KJR8)(* zi5!rrBo{O_p?f%G1g~j}yZ&gl(QhvRmn9^3H8N?h*ch6O@sza~@cPb({I zGUF|H|Ni`*=IyFJ%reG8k#*d#!oh@%_$gc}JmK?%Y?2%#v@hX+TnN8poI13I3pBFj9N*TD0jJ#A9L$8WiI3MVB#fcMbkRlzyRB4~0w= z+M1I6g3XAQIbtq89v)bj9LB2eYA@I-!Z6n~2B+Yj(T1;b+A39WF9XCH>}K&Wa)r{h z6XH4S`q7>*-!vqet4u)otAZsjT^4rt&tza^*x2hKhuY0~a)2NK>S~!Ke06l81=5f) zc@7}8gp{6HD;e8KJ^Cm^emwHbc?wt6;&JT4tih0sVWFLuDi)oamK~}75I3&SKJigP zwlu%LK>f`+dfa}MWk1hcnxsT0SxtK+d9Yi<1H{9&Hu zOrI=8FboCf@S~UkFWp2tyZjU*o!Mt1-Rtu(!TV33h4zyOJc~K~ins8Pulc5C*?fCe z)G&st~t6>^2~>jO1!tl6pWCwuyV84`79s%!SO0afWJHa=lh8;x%Ne z49q}AIO9f^`sabFhKH=Auu*KU18 z?s-pGspnc+^m^PyF501O;NQ^}Z0qa%Deel@%(1`QDAi|>)VcJA#F+_+P@&a0`rE%s zZtZLW2-Yi_dfM9TbtezD$~E%FP}r5?!1n@<+#ozf+qv?1i}i z+lqqQBu+hkR3tZ*d>g$y`PlJXv%@3NJ2Tw)5&1#|ZC%CpM4T<(zpLb)m0hvj2{@hp z9WiBfd#d?OJ2q!`W>s<-v)j}oHNS+US$0ya$|7v4u;(3Pxd3yk1>?P)k2!OX3{QJH zK4AciCauDqrl|T5p2{Vr*T9RO82 z1*=m1{mPU0DRJ+gGtPs#E~CFYO4=lx8HR7EW%u))LFq9A6B442H1F6PA+baS?2&mlLNpx-yy+W) zve1#rs`ePFeDqtvieFC!2vTEau)fam25=tzI8S1hrT61jr9FoimWLXhA;0v^e@Dz2f-TD95s}EyGOzy+#@?w* z7hql1EE}_I+qP}nvuxY8ZQHhO+csw5E34P)i@xYF&fe!He?dgXo8!sMfI=mO7M<{Z zjs&*626f5F9*4RB1J2duAlwVUCsdNkXReb&S!e~9_3XfXKLBv}M}s=;^+agpgSl}o zU~a57MP&OO)utlF28#92kv;73PMv?rJjwJwO%L4CfM76D9CUpN?fSpz1!_T=B2p$> zWZHMj+z?W~^NGO(_aMtZ`LD3>K5~vSidw=Y-&xkhDB@!{fESapfPkj!K7QMTt1qRW zfa=1ZiIZwl4zub!8*4BxzlD$xxMMk+o|HeU7rNS=V|RJin&mxZZPFYV+ogN8FBylp zhwAyH3Zhl3JLvRrqKVd?c)ECN3*Hc z3d?^{$A81&A&hlt4uBX6blV!!vLoa@S&pm4VzFcTuD2-aN?OWXmJyF6?n4=TjES{U zMi39ene+51;Wow?MVDLn=1+6>e|hIUw+#CIzrY&8K0|`2TB2$*#I-7+mRnk*t~$J< zNNDvqhm@jT>^AAK(kQpgT-T|+hUbR|!6F)*@_;CIj6yQi15fc<%aBQL0e=j8SJFJD zss%Bb_|%OnR^1AvDSSB<=Rt>=cj$)FN0Y2B<7_XY%yjA+bj6=OgLN#B+sz_gqX_CZ zW8CBPSO88_I-o;j3*LGopY z82& zAL0}F{=T;17$%Q9ERCcd)u0@b`qg6G=Ni(BXXs6GqqK$pj=DDO+68)J*p}442kgc> z;&+0?5H_>Hjo$R`YtnT2#_zOgulP3SGoDM|1EbSf;96pllngTd?=a-U6JCOGyvOsT z(LuHlmnwxM)Tu-<4qZGBb?*s!*B|J=rkQ94vg-u_0y={JpG?F4znkX&YdrZs-JS4) z_ECLq{pISPNy^*_Aq!y=1kw@_h9VxBAlD*F08eVLHcXOD3Y?V9$P9>pp)Rs*-P(F# z>saYxwW@_30y?tG*Y4if8l9?ctFNxTUAEJvn*R0nd!0j;4EVi1e`=cHdwu2Uzop%G zp6h-3m@LmHDT-djFUtfrur{yYJg}#_1Av1RuF2bTVpAb}2HEyCFzD)DBYseq)Gk^% zBD2i$k5@FMNwVJ9#^$jz$6B6Xq0DWZ>|U8-AH%nWiu|-4#Wl2dFYjYh>EAs=7AI#F zZG-Yta51|4MW85U*<{06t`IV-ym#ZF3Z{YwTi#&lnEGC%w|^~(Qf%1WKP;gopC{y% z$DTT2#L67Y@6@NneGaAZ-rA;E4c%&ZvMF0MKXg(?NS4#gJcFlQqj!Ob%J#X4{n%3X z1m)|K`o7C*cQ-DC%_z%#1(U}fWxa{f${e3;5qV1bs462TuWO^rc}v5&s;#M_*U{SU88or9v(Z#Epk&evteq{<&`VAmOLu zC_`FQRIoO8raXZ44zBIvw(l55MAvEO*n*a+!V@f6l$X7N`O8M9Uj_?tB#gMRvrF^` z-9Vjm1%LMp{!`Z3WQxzZV3Um@v~vh&=PDL%!p1F-i|6Y4s_seu^54~^_UWtbbyzI3 z9G0k2ncV0*;||k40YCzSS?mcVx@AbvXVAhiRJT564#%XfHltKi#+Nb9`NDjQx-9f} zu4!2vi!~p;Yf?O&=@hPlks=jX@KJ6Jh9gy_R0v~{7K5tFEm_8np={Gh$9MrZS)2V& zQUvl(4{@klM$qLx(3Vilmguu5glp2inEcjAN*ov6pMJ*Qn_-hiAlFHw zduDIr;i(U4!kNFpK<}EB*=-#Y1r42_Wfq(*o8`fS9YPw(flcZuUM97*M+y&x)!(*9 z+ihP~haE|6u;XeL6?K)hY!_Bfy6c#%!zo+xE@C|232QY%HIDZQu;)%~S!Fp_gXKD0 zqJ`x~Sq^r==Ggc!R!x)ssk9h3_pOE|)f@|3DEH#NXlFOE5r_kB2Ami0BaZO=K*JrG z{I_F+{GdKo@UE_}qP>fX9{0y&o-=r=q<4imIv46lOXm=?5)cHpCEJEfKZLBwO{b5y z-yHCrJWtm5BwHUKyN6}-%NUu=JU(V|MXQzz>8G;!<-Y-C$9ytAKXG#vLcM0|`UUL7 zO7CIHUxYu15Pj;@fz7*O?%ftpyP(6?@SlX6oDK{FVRLLgTLlMp3%vj~4*23vIO;+f zQ6I#=_J2ftewaWp+t@Tq?p?1?-aMhqpYzKOIxL~aw95<^IKZB402c+D`}3RdBG$10yuE}^y%9HrhbmBY4~7uE zHghj@C~C@G4ozQAuw6xC8W(Df)9VGT2z+wC_qqNE59DXe7p@<1GXT9A(zz8B2x771 z&+op@1stHJwg&g@ffrLU6y*3@v{p6KSP=2^sl>*Y_=|CRY$1U_@aYq@!hpY%DPO?2 zCxAiXkoF66qiK7R7)^ADaDupE8C%1!PHlftgm(jgv(g(+g4ZuU#WzUtcgEI8W8$~? zy5?=hVgIED7C`2M4V|-jU#cH`$;FH08N0^NgfVn~*&7SM^8reVu`)|?KaybpZBm?4mTKC?=M`)K87Taa%L;&3Haw&FV zt~3#iID&P|vD(C8r>YL0R%WbhW6Vtxn5X9bh^t<%>1Ht4XlgQ{vtvw=W z1Vziuw1Ms5-yJ&c{Y6n>S#KrF3W`N_O0W!h{3S*H?ywwJJ&OkvA{r8Wa~vu`-^Ko7 zK0;8=EQyI3YCgSxiPjZ{Ag;G)Xq1vP!lmdAtmF*~2Ac&XA}F0U18Vwb0)=1&(g`+%LXpC7ut$>#0x@B4*BobcIg!?EOo@8w`I1mS zvRmHZatBbybZ8PhxX)h0pcqI?v1b_8%CkOBuk8=Mjcpm&GvYh3;Oyqwg7HjKCc_vL z<1BXYIicIV4ZYzM<1>vHLbQ3q=ikM+yVD{-bWPf9>Ft+zaF=TvaTyP3qaS2QHVxUUK=G*4rJ=tCZQAuUze* zv$eGX{i9Y8@V=Ld!E3TLjz(1;!`$76@|iUFj7l=p*sw0Rmn=C-_obpjyWs5^@0;C4 z(^IM88dP0X^!eN{w{YLxf!-|>OMm^jINuM?WJ<5*nm=1t)(Besfpzo@InxK#vKf0sOOJzp;rhhW z`+exZu-WDCF(TFnHrqc$_>h=vw&yTT8fOwr3aSx8dXy;sjfwt9_O|c2plQD0_f5`n zJkI`c4aYQ*_nQ?2P7)Z-M?2^cyCRBoBqmC~q|}zqKi)PmXdln732AxTz5Q_@)xNa1 zH%Rsh{x%c!S@@g1n(7qZcbKIl9pyk-V6M%gNW$4X>sa21umH2?vYD=`%ZLwU-APve zR=~2wNLu~LTJ{5fFk!>y+{!7^@9oGt$$gYNncYfGShms(A@CREDAub7m}j zhIn^s*5;i%hIeRR@N_ypt2ISaPtBXBh0OICXjCQ%_{t}SAl);6Az|PC=1Yin3)`zM z^7TQbsq%ZR?4)5$$>>Z8L0I5t!b*Vp@vrnM)W4~A!B<8Bx&ogOX-PVj$6p@DS0AK# z<}>qmF30Zk**`khwh!Qc8ueNE0Av}~f?3#G+pRKwG6H4?zb!A-oA7?CIiRCL>c0+i zEtkJ%lx9s2-2M_TflEfZOSRSkTzGqeC{rE=tEshpc9n%WU%n@DQskQD0vk$u$B2^f zlL8J;h|q}+xNX>QV&lbUHqTs}**#SJ9wP2&-iXk&v1$_%ZTPlvK5P7Bk5u+g%cN(CucScu zo7jCGd*uB?Y@ae7ZhSw_xI*D4SNVoLEN&{RsVnSTIzTzor6A*awtL2k0wcOY+nzF) zd2Ejk-6aDk3^o(iQthWn(4bqBZr|4kyVVLLu}haVhxxl-iJ`^B<~fgnj8Pg!65_n?z2uz^AaOG?mp zihv4-&8A)LXvJHgu4lntGzg-%XQ8UUHiNT*ynQS?i7cCKYQ$KUTR}c~Mn0a{)B|}4 z++6jH7M4}@2%K((y-fByjg|vLHl~2*yA;zX@V zVdo2CI~m5j&s4F=shK{Ha|!*K^{fI;p$@U5j#DM77xY#xJ-C?XBR0a?fR%MI_ZsMFEb(w<4^{pcBy_^MNRLu37r_U99t!o zW`Td<+IZ$zrDoTv9Tlh)DMY`1VoXausO7s@e*ra;kZnKG7`PbH9>iR}qY{ zMe6(%23(Y#SE}jttbqeF(TQ}UYgbXPOa*dQw2pRR_mWMueePfdy(7P8$)*K{eVmxt zzd_gCBHO08$w|Aku&v6riI$z*6~rDRrp1cIJ3CYAx|*~sAVhK{oASd3jk^XODZT37 zrPV`d_Gu*5lO?eF2KeHcQr4ckz0e^bxTWF% zDz%5x+n^LB^Kp zD&d-c3%58yO3bK5j?&OIz*Ql}EugN|!}@ixb%V*!u0xz+b3;V(PxerGK3XQ z7#s9ZHdN6}h!ED{%?Y;$UqU|=)P5w9<8VOZuwuRV6}>B_PuTRzYew-eenwsKb*ty| z5_}7eFw&Ly7N`(3nXrP$wVbM9RMZ`D_nnTiLjpe!fliMttDg~ojK~;}>TOXbwd;u} zN7aB`o8}8x6><3m_WJWmbN~A{20tyiv=Zn3l8|3MS}WfP^)76Ek|1um;KP+Neaw6IppA)xBmOkY1TF_^xQ>?`y#y2u~_ratEv)dd9iR9(bi~=W2Js7aSLpxu3T7r3<+_7JCKcs|WoV}@f3+@TyrKZeD zH|3Kc9}Vf!D-)(EOy(DusRj_B^`m@;z+MJ8>_K{V;p%_jPM)=L?$E17Cp8vsKW>^E z_lc*ZaypnCkH$tK(={pBE3g?kp()fKTei6$xB(HB@zgO7Z@sLj>5<`{Fv1hPCoRv3 zbhnGBzj8Q3A)o~4+#-672MRBZ4(xOgT<z!vtwpZaj9`@^v>svQEoEh&6s?MgrIy#@G$5SLT{u7o=xE*ba`?0iLNOYpp# zQq7(CNUWecDgoFSLqKhcTny)Ej8WQKBe9GS6lb>w5AUAhPvmj%XGDTjC^(X zA4MU`$@K2NJEsMzgLHkOXZ!OSKJWC{#3gn-0~#d&+pi_Q?+^AV*TT*9EN;6)U^}@> zYX!XUzL!1~jptnLY?q_S6hC3zSD+P-pvMBK+Zha@#bOD9;>G*~ZnMy=P|36i{9+rg zoW~0((d%-ckIz64NDCaikZ^(`o(s#0Cn(Om((_BM4+PYEUoYr}UnkUHfBs)kb1lKjcMZ4|M~RNH;H~p;a63PWD?Xu1@xj zOlRXrzH$B!V5gIf^Z!V=@NM7XO@9eCOnFNRd$NquYy^=HoGJMNjrN!N=8g^bU|Uj8 zUn1fcA>gJPsEOl1KtM8J!^g=Hl6DedZt=q*si&p^p}ZoH$MuV?Vk(G*%$|)dS_eU? zB>3N1&?O`nVT5nl`$~CMyf|=oD0JLg?iiT)o_-*Z_Kl-Q4%6LTam|UIDCnm#@+-QG zAI5R5rnNUiCu#jjbt&H%PqJGON^Zg7(G5kVaB+an-vJ0rK^xQ1ZbY#Y z1v(oA4EKMoP7Ad^Vo9M#LFjxb%qZ8E6vlI=TL7a-ujD2D97Nx}(3ks$Qu}i4PtTY% z9UqRmh;38{6M_7D>s}f7h%2zo?_tW>J{zaQLF{wi z7_@7xDW7Fo7++?{PyuheQvPJz~)|;ig6~NAPQ#{nM=la6jk(!!#o#75%$(} zGjH93upsP0bKEnmyUCXrM)MyZpJ{054w+>>tkSw&h}YbhoPI-$BuAKm{7j?qHALBq zCGfe>Ipy3a(y@{c-kNM`^8E=#QkFiY)Ux>XWnc@s1MFxY>M<2{}}fnr{MAK z&OcrI%1^%AQh{vNG!dR61!4vLexFZ3BTGAcImh-}CMb-3{<=0v;?oOZ26AM7Z!C~g zAIws{`x$~v!PNQ~OuFmU6g<$kWd`;YKX!nY`9f8fq;4b!4kunWfQ%a!)(j988hyLa z{72{$mY&Tte&xMdpX@nmb=@x`Z<+dAIcdQ~rsTMk>s0?4P9!f3222=Ul|`g!9zQim z*MHpzQnySb<%?JtAX9fE((E|m zP_N>(gw~hoN!HpQSzqFZWI+DWHSz)dj(A;AcqjMDwqNVA45ylrkhEN(`c?+3)Z0>A zTWICR?X1lBaN%@{azp0k&4QAUpaVsls=)~TXqA6zzUbcSxLtT|{>mx6md>c0d70q< z0Uh~1$NVi#Cr9j&S|wilbLYv2m1$gDAvB|-4n0<@=z&iFJ&lO zxf;4jE!SZ*<=K`wczst4Es>JAkUtgl1F*5muuz2e=YP&jvGv+BHEzW>ix_>R3kcG& zL%`4+x$g_$D~(jZA^1P?&f~48bLkns`8>`^PGGyA(&i z;<~jMYPAwqcj9f3wtbg?i?m+ZrLE2dtBh~f%QFV&PMHh?6Fo+#L*Uspy(f1m7~eP$ zOXXufH9SxmX)E8_mMMSSl7tp324RPeCcQ_jQ{@^U;v|sYnut5z+p<@}FyXid+s{2~ zaCmLiLMVL*AXZB6$kx)fR@jlTV~n{iO{|1V6CiIrB6iJDzh`15K#N5qdIEI;7LZJS zzh+JTtOz0i86TdQ!(XN7!3`!~HcdM;9*=DPK&E~mQ$3QY7)e)*WGF<=Pm2^$k?WFH ze+=7CiS&Z!n^^7C64+HiIpcOLp#uL@6IwK6V~Lesa$b5(x|M2~NmPILr>E$pqu?u} zN5fQseW?};S9OiV0dX*e*j`j^F7IU>?y+5Lrz;gt)QZP{U&>|G*YS??jz4R4ze`jV z%aU&Xpj6-q*jxa~Lys;8_mnlObMDt}gKWLq>}U$9wnMDi>lws&G=b6xo?%-uW^vEX z8M((?>J=u(qSBj$9?-Hnup?Wll#M@}jH+Y<5B(M^o)y>2V-3ta;T1a0u|m%$_Ltr( zcJ?B>l^&)}(5ReD9?zopL9+>cbKH1D5j>$d1XUOuGFBaeL|R51G(uPww_qNaUzYa^ zjqRJQUsgB({`cU13HrnT9lc+m@&!64?1DckAk6+`OfNi> zH!mPE_sC9rX}&We(Tc_oL%A7mgLDI}w`!SEt0FDRETn2JBooZdXPRp37C>yHc zd~xEPvAo9(cWRP2`%h5lA2IMJS(ZP%(odN5`)f;P2k~#_-3j7_&`(0% zLH`2Fmxfp9ZyMzjVHsFYPgX#>2Aylyr4~)=bm@4@kd3Nzdu4?BIrr7ll;c9HB&R^B z3J=*nUu(lJ)(iv9OeQZ9^V0@-Yq6EX4!5uvV&yGa323T5%tjRk+^@q_n_~%<_sfEaiDc^|RCstBPK+ zLXr^pmG%><6-TChea=RZw-UYVyjW%jLZCI=xGUJB1Y%uh2q~@x7(TWHy=yTTQ`4`& ze?hV=r%?0`9uN>K-~R-X+5UHstZ4Z^e@g2O>$9?&`pd<^k~uTOKm<1QM?Z)ZIq5Ge zVN8LAB=a9xDDp$PBhpMMa(T0(nUL@bH6f5&MuJ|qL(#PMt&(B#B!yva;1^&$ccH8cG-+AWq9FE54`GiHFS6OFR4F}%! zS=e%}sBL3Fg%|Jo{%8{G}^SATm zT)}Z%AkC>3DziNP%l-z5#~Mn72((<2+@KzU4Ei(p7-m6=dF85zm28fS3n^zl#etNW zcAB;eG=Z@02F92T1*mxq4+l9d_R8&s7!1;qeG+(pK**Y9eJIh(h|;;{u-jhP+32*| zt|~iAt>(_$FxPpoC5~usoYd&AD|Ob9F!%L7Z+mH*`-)^dN7UI+leP zc5B^vsyycHq+39b(%6UD91)i-#Vk|p$OTrnK6p{;9{ZdZn zh?xAA)q;^WG0V2oD7CE%!ee)ZjN*K0Y0#GO0y7HC+2e6pFIUC97?GAMel9~tI*to) zDlF??#b8g1l>%{;t|2i5Av@xH7ZiwER*E*9mMPqAOT}g`H!_uXibZ%xz0;y<(`|Nb z8d!nUXnmC}gswTUbyzz{SC~6^2)ZI?u&wEn3uw`!!V&slJNExf!%YD@q;O=yhALp! zK!*DYBt9>2Yw&lXI+xaY`!)-Jd*OX{6kCjhQ4 znUfYo(7v-Y^pUj(-OxF>G%SGUM^G}{7UF&!UagOz{Ap$Sq|)n>uhR+!Qlxw$hYcKr z5h(ZIoA-sXgg2-)WI4Twi4oV)upLM^eX|Ah9bwu3X%6 z<)-PA0+acIz*72Y)GsNP_;S`<*^A1(iaD?56O`|&RPtp3712YDIz21D!fdHixWpwB z*Zm)an+qHJ?uyBR;W8ib0{C0o>owLP*Z6kCB&t6SA#vQ3A_^H`E~G|_)1ch5+_t(P zCWW}asC;ze{&?nWEv&2UH~@GRxcRKD#Xs;e3oUBwurE&lxxpWF2xMQPi-XN$k4(oW z+YVWY_RGR1ylc&Ka3_F#5jVm0c!qQl61-bTUCJ?WFS0*55sW)x=y#+bITquEsiSpN zUo>k84>u!c$c{L@CdV8T7Vc9+mL~R(T<4!Z-1sTp9o^TyT9T4tU!P{o8O>q^(W-!-X)eST?B=_)$)eO_Vy5RkU=+%pHg@CWD|MY8RN|DDrv) zdEkO6BFp;blM`7=kX+Ph&{P)oWBJV0&lGD`SS9m@@HdUBE_Ye3ojhLwO)BYn%e{CH)5teifm7rV(QSC2-ot}8> zQkKt#(PH2ryk(~l^9RkHYH?lHG#{^((>XfkOwNar6`47B z$4M<7G=r{bgL==tIyZ)z)>QFRn>6*yc4_h<$pIGD)gLEq5cWt>4Vkp#GBAsT9IJOg_t15#3KK&p9|EZg6bj!=W#W)&YMxL}UtDvV0sWz`CdvlFSwtk)xv3_onjEd46~@CNH=k z_v2a^z&>VcET$?}XV*C0I)VkR&*txQIS)=eA@{+#KffN>?(rb@|0Cch{vX~H-lFBc z$x6Lp2kcf`z3;!AFFW(EP_Y1@y zhxUGa)C}HFiP{$Ow_59tH9D<_R{L?ck#!C0%Qrbg!)97X-wR8d(*57cmY$9$^Fz7W zDB?St;b?q<_(bT{jLrU4ZtfLUnXweKq!pwACAxye9nKd^BD;o;F#n6yvW-=kjpWbwnt6?9pheR1Tw)$JT*?ppX1K@p2w{0z78v5Hp(UV63pM& zOic1UH?m@9j9}4ile2&EVE@4%YTO^u`8JNYpvU~>SB2M%(&*kl`}$OegKx=JAOhZWFFiG;i-*85Ux+x6=T`@EZJc4sPU2mjQ;U1;OT183_F3c)LV!3o` zX11IAt@!Jve!u&(Zq>UcQKU63!oBgEbKpbV=6a| z`iwJt%JkC^TkKiz#4&ml%*fryKa#m70k)Nu(;&ZeQ_Z^PxK+c2-M+Gf z-E^~1Mhn>q9fQxRVx{M9Sn`cl(48-k8_Wn%8=bf!ewAD0F8biO3L_UoWfwxcY%nhV zZSL%1X=m~tCzQpq|550;utI9_qnY|pw%+n^Px{vgb6lKAA!=;gCqN_5N7q{3ze^LB z&zmA$_g7zi!oc92!-Qj6UXLZ3`^peJ?28IC&`tK$#%pK!ZU*}b)b z-Wf2*bL%jOu0K7c2_y1!N+-8gS0b9U{ImG!rn`nFMPZHsujZHsz4hDx^`PX)@YYQ-;cZO9(w);WUsN@C|;UAjAzgCdh_>@FBHv2yrHOFcu@k0x%=Lut?@2 zUgn}+=Hf0;J%q;v-Xjez{6G4T(+#tU-E8`0^L#a6JbIWo5;lVTA) zPb%Gk&ers%stycXt&I0F|Iz@kkLq!`4ZxewEx>5ZUP`#I!xuLwl981I!ebvSda8K31W6qkm%Gd^x20(dH9U?7229%+q7Ss4-QAEMPWFKW~(bd8|**~1)AF;fXbxq|M z24I}i!jgPmAhdcXbbCbvt)CIBpOa>+GWD(M#%OPoR@J2V1%|OpkjE{ngZBgsSSS2<-=KQQzYY`Q2c+^t(fD%ON`;=B>1*cQ zH*%S(6m%gP(>4xenIe?_GZP2j;W);9WFzUzAw!k7A6qk<`S$7T49x<4K{Z6^nqMRx zUm|aSP$Zlb(a(my0c^?rbvGQzMr7n&H-=5~z8NI-m+q44+ao!4zq{RX54iD+rwxd_ zp-}Kb_&)mS{+C=?)p?4aJ?%4@Ub7|K6rhj zd5JGcVH|$E34sGBN*yh#}*fYFhWxB;vR^a^lqcwq&NdWe20l{GP7pCqf z)zJ9$MD$*W=zfrbH_p#Z`h7@0$o$@5+CO2$A3d2{WQU4)t2c@Rec*=ndj(*w5Npdy zycXF-F+@u(svNiYG#UK4p5$LSnc5(`#YdD%z3S6+L`xejGZ6w|>h9hLv zIS}AW+aTw+}u2OSJ9K$jvPIAg#Rj2Va7L4TNCgjO-ww&HQ|+4 zCLB9vO;98lncaksN<~@3FJiFpC)%DE@p%5hDJS-)HOH7W53cHnKz{(!9veM5j$9cd zV~yB(w4yKF_Jp|=`2>Gi_|_Fycx3$`nlBKzr_FJ~_8n+$-GD@Lt1rvdzL9@hHKj&O z*to_u1wDZni`7Ph5%sWCdt&*#Q5+QKVzTpjaLI#b%szNQmk)v6ID$JsT3-NDkh{v}I2*~d^VRfSx#Zba3) zAuIdQRFcI^JEt_CcA7EEh@1Dpz{*IMjB#XT>O)lY4$hi>U74k^U}RVD)B){wAQIb} z1kr(&)thB^hCbVOdUm>0(=}?8DmWxrT1dfG4aQxf1uiMaqD59ePG0@EH>OWkaCF%p zsaD~FP_4zLQ1QsCZNt#IU;LeyMN$0tDO=fFzLKZ9dUUXoS*e*f1q7pv6~J-~JxYVO ztq?YD3h>???!pyZx(!4eLgXg<9vqTXEL&ix1W9s}KRW&pYmZfZE%tL%3qA8&_l8pd zMxI~hg`ni}woh+|B6-(an*1l?KEybikXXQmj0zTu4UoS_C3fT$Y~~AHJ2FxrVvd`+ ziX3*S#Gj&NXiErY)?&~Jwy`dmxN+0!mP;sox!+rHXh8jYHTd*M8-?q8w~jjxnW^_OIkCnTZc zf?oXyccAd{65NYTP)m8xzOcjr0E{jyA-|rvyAn7K24)$*=~jZ9JOda?Z+l|vj_EI~ zIegPV?{|f~z_>p+!!JGY3p6-|1P+P3qTLtlJt^?cX*OrOJ5%ZpGkxghkFPzb{vEFR zfHq}ib53wP{n;Plc&zP-w?7VlbHhKJzgKEec)&A4iGX3baC121y}jbv!ChFzoVdk*z9_=WHm_!obPEi9>DvO(SpokFTem7|^5 zW4qH$)y)D|<(8+6JFaT=oV%PmzG{tUi44ESGf8`y>~@e9ZFyw*p*Lmz^{@{zfon(M z=?z%57qQIQ>Ygq&>?-u&{1opoxtN#;gi=GT=zLjdWHf$GcrLZ2{gb;pK-4-wx z5n6j%4oRE3n606Q4uG$ZIz^=FN8yw+|MhfKY&6M@) z#*%}dm}fdfus+xsYt46IT_|oI$i_PHxYvTwWjYYF|yX3b?EC#wQKDlC8uF9mU8Nk=bCB!ye7RJx}=Ca zcS%u6Fz(9F8l4hvX)bFi(h1sCwEzn@S85)s+N}_msxjGwt_F*@5u8nXdYDJ?GbcFY zS&O;lg{*oNXaNzKH=LHFe6gxW-47%a=o(Tq1_tR~q{?ZvjiL^9e6fWqpYO#*d#bP6 z8c1?)uZI99t?2Y#A zEw@F)UI$}4g|kqLF2&7e4%^K(mv3Wt@24kp9_DxsN-J6+4j7Zu!8zt~wX2QKUV4+d z_s_dhD%~eWwAB=DX}q&1xy&ae%otd4*I-boTO~i%T6i>N3wrW$k)Mgwvy5jS>UzDZ zV_oXn)l@z!Cyc6x%ZhrMH*?j=dXm0gA-XT}q?P>S{C#2VPuQ*?e<^6caJQ#!7x-Un zzYh*e>n*U}XzTo4kZY7$1juAx~{_?~{L%l0P`WOwM(mcb^plyPUFjongH5 zSg~r(r=KY#fZiC#P03C?uTQO{lBfK`c!7ZQuRngjm@VLwVE&>kZ=z{yGqU?WWm|Q= zP0AXD?WjDQ132#jU=V(=479;uP8>3E#-^2+}}gYuC2PsH@}Gg z1*@PTf8cI$fq-s!{wJ_1@P7eTolM;wvja0FQG_HliCemfOGb58BqqTKDFX3-u3h?-R;{*qX99sE293Wy&+H&$v z?dN^lPksNspX&F2fE>{Fp>^BkiZ94*tl5-UZMWH?y3RF_^Da?k=K;uE^SbRbu_@LX zGV;>+XV(%)P=Sr+x&n{-%>$idPW8MC>#l+PyHp-^YLYdcUY!#)0>=YIK5wv&H$FCeE7L|(q+!d%~hsBh?i#sWnn~@VK;B2 znX|K{rgAA-?(b(i-@k6NmuX}&E8jCyD|15Fpe;;KB@46_05Nfy(Wu+rw;9rcMJXaX;T=NuAAf=t7G3`m>RoO?8&-rA(;k zy^z=$!NRPKk}oR#zJP>H6qjV(K|ueiZ6!)WJXJUPqs)`AOUKA=q837jie;%UHBOV} zx{pWvRC;HNyqJb?>YIaw&@~!VH~rBQQYAf<*+yb7jbU;86wO8HpH|u$pO~;?X7OsP zF_;xF%Ll5rQded#WxUh45`o-R73Ze0TUm3{Ndk*kQ5~zCPkiO5uv%9@d5Ei0!n9u1 zw+>b<=)&&V2~`M-fSi=(Da7RqvI$-*F>zxgQ(@@g%rX`Qfh%7jUDRa}7wA;a%opvM znq*OkJS@cSti&P+YhtoPw#5ik4nBEgPYIPp|BH$5)vN1)^1-xM-{if)-{iDkvm4H0 zZJ^}wO(}pXwBJA|`l@O>qIMBvyM{3(9~tFNaK&+I-O^(D@%Tvv<1nVm>h!tbTEkIi zXNfV!$df{=R$00OGux>$$Do8}bI1c#B^uB}+jQHTiR_{%1=ri%7RKB2VRp+Rw=W6aTMO8KiK$x(>c|>%kwj=_rw=r} zWrC-$63#mjeQV9d+ZEVa&ZQ!BoPtfqH)0L@=Iq@gKbUnjy9rT9Tytrul`0$01*Bf}L zof;<)<-#-65y6xlT0awd^g9ZqK1~7lYS<79<@K>OJ6wgNA$&oyA)FpHu#M~kxX>+` z=pq-BY&}!`IV!3TjP-&$#v$p>TBXJ3`5>p7rvKYKPfIDS!`6S+qO&8HShHb{^yVeu z(%Y=i#Z%Km0_se;j|Y6?Rs_EdatFkm*K#XT*7abMU-Z@PZ&nRnt8m-}0RRAn`X^T9 z`G02B|LXXIY!xdtBsJu1G(;eWTLCS2;c6)K0L;khSVOG^eo4zA=B^=L`?M%y=QIg2 zHa~B^uPwX5S zz5~w6^opyF9u*c~jaiTuwR&K#u_U11gY|5YF=i)A3LKo`{192bBS$>8&Cu93BoA9U zPJ_tk%-xc^T**_K`YRPNDziz_qlrRJ_dQl*a|CmpY=r)@{_YTkN#$o=uKDb}ij;D6 zs3obY$CK;p?TRhjJegXk@WHMj`il7JdgQ2T4Z{o4s#n|y>^&dHTV8J?&1cEQ152M% z6Uq|(8z4~`u0+Z-_HAvg3P?aWYB;m;c2HwWtYh~)7QY!2l@3y}$ggoEi}8`b%25hX zU$JCO%<4*|Em8`$!{Gq3>4NpnniTyELpk+ zk7vKzwH!&?4OWE)=?!B=*qdrE+^<@}T1XDByF)+8F>Ks!J$nxH5jRAPw`!^WzSxA6 zhJ37IFvA3djEjVknO5tUDi+mRYq(akW_y53`0G>1!Y!sCV0dPuLH?L9wmsuma z_uB3PcR%IRCRAxvW`L~|-XXkATX&_hm8l=P_IH0PlAGnnwe-f=xzukQoyl1G zTWGLFI0kg9eG``FEOSG3nOCgnpNOeIQrb^s$?u3C;L}}SK8o|=6hNQYU1YGg6};h9 zZV4-#&mOR##>h5d=%q`>8u^Hf?ik1>r&MoYEiy0)w*E%&vwAW2$POnNq4|@(=8eT;*oQcQ4M42?pd!|d$topqkb-gY+Zp(pHa6q`FOZXi4 zF6jHEoyaJ*F_A1f1vZ|mQTUx4gLkfh85c~@BK6h6s!HZX4;U;j<(|=XdQ_&3!Yg%d zew>7FSEhPQ;TDCB4okwQVF=sG@4i!=-Ld!55s7Eg6dod?y720-QHL1Hoa~JiIp3|8 zW}+=VymMA&(gm7Z44c)LMqw({j-@Xm;*avi@vt0OT}44p7W++qS}$BE+d(#h3^~k~ zgv75`)+B@3L6gh8GHkI%8q3{Zy~hs-!|Q`1kxkI; z@hb060g!f(M#myqtkQCHgtYDCkSIj4*bE>}78hX^cI zkDLp;GwWdp6t~NlwuX`q~whHp$ zj19gfushgq3xK8zhx!guD#?;)Hs6b+cVC+6l@IYHZdRf7MUFU_ZIC2oV5o39VwdqP zq>H9F-K@aASN%(G9E^qFb=ZI2YI%p8MW8)qO^05ts{at@H`2$V_uy`FcQ9}bFO_@D zVB#;V3Zwd11Fo|&l2#wUzp)>WIH7zp~eN z3NbM?w0Q)1fy!;NA0l!wK2!)dGiE{t$cD1kHZioun)Sl8Vg60&#=E7JR;BmUqni(c znRUs*E4cH9Z~3Cr4K3isY18&!HPp+NQ_sV;(`)ZzVruoopEe*@}by)kzJ!kjgYTnS;kus2gW6sc^2 zO=7dO$N&)L8#hhf9=6DaxtKUOlTx`pX$r9!!8vyC_h_y&$Zw{UF=50rbsOcC~a5x+(13KhVQ{U1t;LgB`O;}ap1YHRztv>??c zmV7`uD03aDlOk)>?KO#bSPi-)sV#QueDF?TXQNhtR0Z8R=%GHe=iHP!w2!rrSi;kZ zf^j18H4wJJYoZ6iBYBhfB09{6(X0dKO`t7Mk=lx5M3M^m{O*Z;0@7>`k!5OQD2}i} zm^TOv2fqr?CB^B<3`K}lgbG%m)M7-ojq6Ax@4_lnptlBF$_@+&hIaE9L}@4; zib*700a0NV^4^giE$I}wl5$GpZ-yrYRa1I{94)>%5w%63Bl@j@lm zVy73};m{7soZIl8{ zOM3KAW8&n@^t=5okkcveq)K9iNJxQ!xLyl>;qMKToR~@ zkEqOriP>4E*_UP7tm}$RCXF;CS}kh{xbz8H^?+DsGH*G@u(u2E!7dlBg6l(9A`9~$ z5(he(pyE)(I^Dem54>#MVn#%29e2Rd2`2o0I^0{V)~(qui7DP!RBH-@xR`ic&}zq4 zw|ZB4$8cMis^A{aD?CJ>bA2r+mu9xTeOK;%rA1?$bPHKT%)4TkIPjVr%2YDz5+Vf) zlKL|2em+=?LL;!mn;qBvN9xxdTTCaghcz@#zF5T$IFf7%rv#3jZv=)Z$UQWIX4SkgXVww zo^O$?#c~XP!;IQgfjH=^>dLJi{RxHO5v~e3q}&T};SL>l3!)EMHTZqUIOAwdr^xD> z!KiPrQPf!Ca+tHYf`<B#HYDb z?MgCUX!kc8uQUf}jawf;*^)J0qijj=_WfD`dAZ1LOcnS4#+5t;v;3i1isUN4@^-ER z?07U-$SGw-yG4@ozxY?#1B*`^It&T`Aoh=C&wr67M6K-%{*P%QS@lavc@@Lw`g;4u zgiqf;8X?n?!`t?hDnyOSRg>%m`7rk*u=C!?a-VMC%g zLp^<|{;KII^ttsLG<)2c^n2k9FAmasroEH@Ge41bkmrWu<|F4J>*TMY7dt(lclf@C zwiBF#;W=9#1NpUupBAMy)!sG{j1$c~Q(x#H86b##Q4D98^ z6mVJ4z2PzzLVo{?;+$@)OceHKH%fauM#hk44gbcP9zF;BzbroME~yNm!|QV zsOIT9M^|Gr_~fw2u~Ot9n9XIY2@4TnGjB0?IivQlGQ~WYyIcq_AjN^KDd)0>EIkw} z`$<;$_|!5vui)08bUf(`+@%d!$hw)>4eug5A3M@zdW?dr=I=#LZF51~4a$9o;Go7m}HSR+)jXw5s9D9jD^w zqMTtm&-}5!CnxrCvks1lna&X*1^RFwBm8({#)1RZsLX#O&@nM4;vKLbJWb9QZkZf@JV>-QI6aMGU2a$J`WYSN)F zTGJOClRa_%(&Vg-M4Feq3EI9pPggc0EtXSYVDuMxK6-SZsnjU(TcN#RrS>pRMNwEp zDiEd}l!Xp!OxR4u!$Q{5h-V%h(eSVKnB2-YbCxYEZIQ*`XlEzWo1Ad{u00?P5NXN2 z74+^6c(28|287??MnJbA2B_$lOAXEs@yS zbamK)G%T*eW*5a&^jtt+TuAx@$@N5xM%O{h1ZFqnZGpd zj8A0;&O8m28{RX{-@iY&aFs*Ox}qlF(rWg}T~ zWO5ed_?dyUXQRa~(Mgd4>4t%^T~e!-Xx7~{DILMl7;=gRCiSeYc`x6}s(bqJlJ;h; zctgLynM0CV!A&g(`36(ysA_e)=EU?miO zAlNt(VL(ldC-h$GRxMREs~be^>FT^spKCNl1$;&~M64Th*}?u7mF*;l?~ECUrTBXF z6twX#c6Z+h6)6&BJ~asX0uTnxNQm=WSZ*Q&?oPkmXrO=*P>^L25bNz?mR4wbUcXTR z^m8=>;XNpdKi6aq%6%lc1U-0!#5F*Zui8BzQU^e&=god50aYAptV=Wbdx${I4BT!x z`j%!^LgP5t)-|x%bPEpBnS<}^#a=0}-_!66CBTR*)t*LMw@BuwE=JwEl}-0A@%% zI(`povgf9oiaJcpp*C2{k}gN>mGsonk<%~?0lL4 zDnL)r!Z;>c*m`+Gs^&CkKsyq;)+A*%AkEqMTo9Jv>F2~#*+J_xfVM3Hc{(f7>X4cd zO)ZO#;+26Zi4WC#Ftc%QoGU+EP1@SwY^nxQY-b3gWzDS4dr)1?i6F9~owHL@d&Nwf z%gHw-tfO_E=R?@gtw%P`TD33?*z~=)uP$Sp2eBOEP+mH`br(W2nh!52Iw$Zn%hHcmNO0tAysAgR?bZ&BUjh= zEA2o2lrBtotDN^^nOEA6(mTHzN9ti3RbPiV-ZZ)OY~fk(zUuBY$rJ=!eB+YS(i3s1nwNyDpG%uA$6WlWm zm-vR`+ooXFtG{sbF_FHKFpNt|GkmCsc8|ob-u;T%W#2L2 zJI;1O6?5=6yJA#(kIT`JKA`P>c`JA)lHH$ujj!5d6E>i_ zMOb*`EMg(Ops0e0FCX$kI~Y14te`OT3g-M1i2d`+-tOyBqsi-Y5~;ANr7+avDC@vM z=4nnkv*VNS(}Bf#kCHHY2K@Rr`@(5gXrbHw`8|?pCf9Y&pca#jE+y-AafBT7ddu6v zpSB(DZA5A~Pdh^5ET0JXj%h6(q?Zh2&#m8O)kP!M(v3`^2Q~&~Qq;N&sL^5v2K9fO zrSs2ZT14!oe>&^AM@+Ez`r|{7>aif|=;p&f%%n6t($RHDKaWiAPSdx8r_LBF4)h%C z(#&X9$O&W}-xgo&&r!P!sY<&igU4P89Aqup_{gWWUGmxutM583%j?e5xFC zqImaqxd2p>E07gKMq%2<@}!XGO@<^KPwuT-7_==B68g_PhG=26zNPI@N@aMDf z6Hxz@X+(TdSJR8|#yB+zoSg6g=bWC4&-%4KD$eo`>3FuE7!lu$&BhMbLM6{y-AfHV>HV#$D5=2j z9w7h#l79X7E}{OrflMc0=;Z8ZVC4L-B3$*ak$*QnYC`gBA2suWhhU)75;H&(#CcQr z6Q_v?AsP`AqZ7t~3c_F>0HC4cnA)3;sjjvybz`ooUuZ@zFOh@@L}{jWtgLj@&KAG_ zvC6Hzx~TNNS=aR5dHb2n<{Ff4c`2~}`S|(aIN_S~{dTgwpJzixHh*`zQ_ZI->ad1-{n*2jWOp|^1W*Cb=1+0&A5s`6D*p)#4m=1!hzVSbMb=aGJo z$jTTkJ321pA&q+xY!N1?j&go}9sXXBPrsP8vBcT5@wp=)*7Pj!Tz#YJmx{z>OFbmZ?a{Zu@6$W!VUlLx zc;d@xePx9-t-{C>HU^a z^IuA);jA;NT20@%*E~&RGIP=0*4d@<})& zXU}txx)sRph30K@YW)tdld>DiN;_e3H4Nq)Dkt*1*4Oi zEz^&2dcJ}_mFaAd9Sf(e?ZRxK(*mL?$dId;yb*>_V+19lIh#roBCaq|DAp{AMEQSVB5rBhHg?x18^in=|%MyIW8u zhE`KT3g+cg1va1dUkGRnMJt>5Rx_%{SUDuYtA{z9Yp|CdU@%2M5kb+4s!0`hxN$q; z&dTKFWjLix=7yQ+QfUjM4qvr_(5&Z49j&Mat@HUaO6O~u%kkU(m% zg6a}%or8WO`oe8TRpH**u)=nTT((8}3^BJ5^~bn;>&q1}!k0Y+bA1XFtq&xe1p-da zh=6^i*&;FR{HoRh{_GBR(D^R1Vwbvrwsg+!x-Ky7+>rf&j z;6g^dV+}RE);6weSp_YjD<3&wDYu}6h|IT2X4gztRThDrQ-7h;4Y9*5G%H!hZ8qng zfiJe}(RZcn7N^wo15mK&$QQ6Lvg97Gn;>;zg26*ls3+(mHKIyv7Ppab`29ox`U4em z`AejLrB1sq)^JW6r3!m2t885gEKvF6l;u4-)kmh5s3xFf9hGb}o~8NRXu*m$xRMe; zx;jAMW^DPUz|EvdsjfHn6F!`j*f!2ATkaih;%HFz1NUA1K7-z+?37Z20?J!5_h^Ca zQ7fytC8w@=gsQmj5malM9|-0Qf2oScXs%as|2@bD911HCzWQRt)FD|}%ELsQ7oC5E z8Al*RGrmSX6C;euKkmcrJuqksZxOeh7!mFZd`2oZ!EVlXA+`O{>>WDG@@U&%Yk8*I zce(wgcXv>{k`8~^jb(8R#HB)kP>hqrqGNM;F0U7QJ@*W2>8yq|Dm_@~ai`z|5#`D&aB1&g&$Nv0q_c=(DU;a% zlP^I>8Bq@zIke6R=;M27(@sIl+J~%3eO)qBaUeDu`3^z_s}nUZVq7?CgRlMYNUrEz z@S=V!(LtXnufu~1erF4$Ud&St>F{?T=?dwc=o`|64OTqtit+@O(ChJj zCWFUmPF#4+%fb~RO&LSKgjw;Ly%bk!RrA zF5f853<57WtEfrAU~bLe1juNH$m->7TjF&w;-2C;5|CW`6I72Au>K{W??FAQHf-^) z1K;KGx5UI5@w)b?z3J`CoVXqh7I#V|;XH@Hp9jVjt`SHx`-%6B6;o(0!SCRStdDF4 zOt?NfwoM(zu=QziDj1D!+izKG(jMq>9HjO5^(G#Fq4!G7o&|`BHj_ioZ(_y=skuos z&mav}a}!uOG^Umx3Gu+D-kTs^rw-0;;vlw?)loYGiL<8({?7RfC@#gx(Bbx?!5l!T zTv=hRt+1=A+E&)+wN_fZZ;obBNp1$y8$CI^mF>YbjksZW73J|p(ni?nl#=@sFrL?L zk~cgoA4(3znB2b^~x)k|D(KL$i0mH29RM`@r^}|t=pkV+<2IM6u3B=Zf*lfKBsl|Vz5bx z98cijuxdu}(kp3ne8$_pHyIOCI!|^DY4I#y4sFDO_2~lnu8niMq3oGqnzOE&nW$0b zN)`MQ(nk@VCzum`_%}aEfqU|2Q%!J=fB?Kh!hRG^2)51-3o&DwN8ATxd~pBl12oX1 zNM)7WgMqJ)#6$dJe^`TosxMJ?SdAW_7HGhMP*i_yMeX!ws z(K9A5{+uHMYRQQirQ!sgQgPN0vohzP>cl<6?*!;JQ#>*34Y(`Y?+u2#QEHOCF}8#^ zzyZuRY)6-cFOpk%2G4+5@}|(@k!QKUObJp3oNiCm(m@N-Ha%lAN_p$pZ&Q2NCg2ZS zSZ36OIhZT-&Ugl0Nn>9+IZThyhq-BaW$J_!({BscGoOsk{MeYQVkj6iTXL$a!r|^F z5W3`Z6AL<;O)097;~kL$`gTX)<8x07lo2cAu9j3xHzfq!%%dmdF2gQ`ky3+9^SJS! zpdBLe1Fj8zS~wH;vT-3YU={xbn_n2O-qg;SF$xr2%y=!eeVag2v;_xe?CPcrVX1MD zk+~vL$*_{mvMsO!e?2L%#!cZB22`nD#Vu9Zfo}CVrA=jRv6_j|+R^qL^9IJTG<`xg z>Lx6V3<9)ZuN6Mi2wqL_{&6s>z_D(L*vty5Nz8-#)+@W{xZ6vmjs^X)0@3SRM=k)sbnlr%461eZc z_MXhA&k+Kwg6w59o}veB0-Xzt*){_^Q_gjTgCzLl=vsj|xBQAcqw&-_yZuF-=dxDz zCwycVzPpqKos{0_(Lb2Mc29a=5Y##;BGifCo;!~hul))r?TQd|Xzr3aUm9+)I*GZO@~b2<>=7bgY=}G&gzS z$B?M9E@~GgS_?vNdswnH{>%4*1y-DC0ak@00xcj4X>pUib>t#a4?+80|)wu$)k z19`HHEl_Hv10TNnDJuBNJnPE*Bj025z%v_`Rd#SQf6?P2-)o7(5Tk4b1G`Sp}6a%R-VVE0bi>P zUn^zKkk5e)z7sY6I%V?RkTLZQSDo>uI_bK4mP1Ps`G``&o)=7m+``bhJM_$wvwcr0 z%*jKNz2w3Gg-pl;SKJpbY*smH7GsXV$)_|*rblsN>Eqq}Q!$efH{A@Q9?2?S9_=d; z{nxm{&*8fD!z+4ny0J60D8|~=@tZaQM-Cdc{F1|X!8g!;E&h3JC=I1hkCCkJD&XVqFgoAgm7H%aKH|TYjzKE+oc&`&F znsKX|dnxi^lk(xr)+j8f?x!uKeJkHcDep)o<8RcZaS>ZQk)6E#A8_UG6w`*!O#TwkED5PN zfYip!jCCP`nS2~;awMD3f<^fOZ7@%^iDZ|ufu0o4Y}Gpqbdy5nvOOk-2>~1}5;o4(-z4El<^F;KeD z-W5-Kv?%{+Cm8R;X?d!;F=+Ehew|6yo~^t8OPMwM@z=tY7)Y zbIvdkN7NS5-guYD@al9}G|8GrrQ{CPsnB=5z4N;*h+KA0=9vkVcdqR0_|7Ii zMXOK)u_N%8e(vWHwCtytbAhD58=?zvd?d1w2(75NL_)x=TOrpbCtXqu$i0 zmYG>jA;rf0Y%2rF$zr1ti|{?<*1mm0a$m?PSkBEUQ7^%CrdIPBCV_=(riYiySHJxlZIkHx;5VsvcB&sse+a0Me^u z=w*1zWw=)@&F@x{-{h@H6eDw%ers{ZS9ShBwB7I zQtZzapL$qeTIHqt9%#@nSKbarBzzE)`afW9(Kww%yVMagclKf8I zf|qFBE$rcY((W_I+mdh&E{&bKGa8J%()H@YR@L!PoQjRIbT|uBb;W;`tRmFf@wc+! zh)tahI!u@|CeU4D9PaCFC~O)VP^~;|);1^9YVF9sMGJGC7k>Sk@OM+d?h*t2S(J{=5P_zBz^P5Ct8i1k-4}$^#;L7|@O;`GVZn_G(7#doe{NGxx#j5|YX*V^r zpFRxV@XjU~2olo^xmg`BpAr)!c)xH~!V$JG5rZ>b`0`_$?hE(}aHaN26GgI9RgLe3 z&BeuKhsy|pVQ=1Ne5>7QrspH8@rL8=BKL1I1m+Ipkac>F8&XTM*7Pn$qAB( z6tAQ7WX`tv0BIVf1=Z)$hj`3dpb&m@OMw$i~b2ux5; zO7bjseN-9$_w{)ypeu=|lsXx*%(Oe6$?;#1O{(t91e9}e1a*CP#x9f`Y(!U*xI^dm z*&K_sV;Ze-IdYmFdYlVL=+%Hmp{PgVN`M1VMUg+)0dt*-m8`8rgYGEz>6l}><_a;N zTao&kwCXWOddO=#natTyCz|QP8!qlCx#&u>BEDsIvb)+>v&C?rI}J#Myo>3SuZLG~ zGLO?3=3-*VE^E`;?+>auoMi&d8TR4~3BP_Jo>q(t>|Xj3mI+!hw+m^0tkg#q2!PV} z2t18Iw{IOpOQQD^Ow_T7Psfx0Ixqp|n(N4x;3T!Tym0wTi}~+!LaLMPV3wr}i=x?( zLlm$@;67rkg|ngvYwMfozM}x~taru>u39Py;Eh6(WC!tkL9fyUBm&uJBwH<}c90&t zBa(T3v^Yn@KDRR|WDQhaqDPhOclPmDr&S!3$Ia|#L7jE+D~bNey~Ep7Dxfw3Mi=-VU!$p6N5u zR_Ll-v3_6XA!-x7qEFc!8H?)Sz3jmnY8=TLC1Y5Rx@hZ{w%(u#uy_Wdn!Tv0J>dav zrAHc;nS!z=BeNOiotI_w^gLzFPZ&WuvDbn;`sF0HIGK|ALWaIr5RyS}4`)YF)(Yxc z^%T9UvthiP-}#&Ded2gQ`5bT^;ln#^+8vIgKP zUi2yhTdTfeAf7`TZJT6cRlsmBx8nqcOI6mHRt?cyJExXpO-Ebq?jkwwh#7b0An8qJ z3|>lsK@>-+PeKZj9kL_E*>ncQ^2J6XE!RxenZ`NKmUa5w^y8p}6MfJhWWaPVv z^LJHu?}Dr44?JPkfS%Jb#+m_~F3@8|q#0Cn3!QMMXwy4DbuZ?ILIKXAc_?rv+T4;Q z->*5%J=dVNoeKzmzNQ+&u9YwwqqpdTPZIvNiQ%#UQ3oB=tG)Y&Y7SoL{4CSA~@Xda_249 z?)14iQGIwpXqIEa6Y6Rd`_!(*;a1;#F%;XN86>JSMDdZ-+he#>6?3V! z$yPVjxSGM-xWugsRje;6clFp(`lS&lcPmxk1L{w#K!h#p1?FE3f_*CIN0`f=INR9j zr3~Q$Tl!IpBv;N#%e1J@T|@-)r3aIPwTO0ZCS6P_2Q+!;oN}QkmZ*1R0y-UP zNb{Zo~ z)Nv7K7G_vaIE=t6sO@uZ7rda;+8%tjZsAwI|P4?N`q)xw*Xn z`bbb9DeR4uHRD%KjRWj%)lg4f1}iqt+f(H`Li`ZYx^tW?94-^bClAo35;lDP2F~hA ztU!e($Aw*T-V~OqDGIMi4pKk>%1 z5Yl7D&$Q|0^=aKs;b3FR3)2CPw#}%oOKv37s)W%fp6NCUozY&h+kF+-ilsv;yqV#` zCZwNzMzAU7afjpbqcw^4lv2 znan$NS)x>&f({GN@eiGGvto;tW6NeVo3ac2+MQ|JM0Z;hk&ZEo76>ux`(tmgAr7_~kQ+3?WNZrbuTk&1W;bE4_r7HR^BgN!~`+3xm zRvEG9o0OAd!$sWsYu|M=i4{#%`d-3TjKU@chB`#BDSbncsBy{E}o0HVJx&TGn zs|wmx>3-1+HG!!9X6BP6Ol%aHaq+U8lv;5`SxO;ZZ;3XnMPtQX*W5#5yQNNP<-j7I z1E-M3VlG0cg)mCr^Sw&dmAKvy0D@@L%CsXrJfLYiq zi>=ikw2T*$OZ@8rs-aa)pTeV7f*zr*#kby7ZjR|jIPfr!S3mc%D=~X&F1g*p&+9<{ ze+jPSH+?BQU;u!>SGxb(g6luIPya!1p#=nv=ZW9>(=UY`Au(b3s{nL$Ss=ih)!Z-1HL__%!NAoKltxWEID zJ<#$mvPm)BZn8mHY%HJI|9$2$>6L`*bhVMiL@H<6wu%oDvKog+Te#a-3$pt@egsyU9?!+?@wb&7bZC$RVGZS)8JGz+(zdM-7!v&n`%*}1<~QbOaZYWkRFmJO$ol70hhWIO`#=Uidg~GD9FRqVY>le_;H<* zaIy-R^XX~)@GaPvL+Wh1J!MG@bb~peyApqG(A_V08!C*J?){ik3YL?D*O7&MBV;=X zS|b~~t(6SSKc+l!dh#Ep8Z1DyJuV6J#Ig^m4kRHC^orrBs*Co~IyN5G+RNr{&eFS{ z$R5&A!WV#MlP~en9i1wplV$UVTx|r6diuBIT(&Aad}5`zR8?6qnQ8IrtspJT7nW@@ z=@CsGJULR#(!t~V-U~#}zuoylxL$>QV~{36)9u){o-uc9d&jnI+vbjK+qR7z+xCua z-Ffey@BRMVn;p>|6&;<`buv1-GOF^NSGSXGiHN7LkJ3L$&b%B3BlH#|85K|z9;anA zoD@J*IJGwhh)Ly&aXNDo#BU?Mb9Ma2G=`j0dj@^ok{rBP#wpnt7;dKL9d ziczr;+&Stgc17eoLT=63g$r(|S~11UTO&a0hrYf_PKMa!#-uGjTwTF^;dt`?rPJz{ zy+iS;6y5Otl>V2b*|B!}A#*x2xjN^&Du_gQvRC6Ub3DQSwVGrJFPgX(TYM zR>Ww(a)?h1SJ{n) zM^VfjJN!tH9Uz~jM#|3e`f0Y+a&ggB-zKNoHoK^^r`3BNFexT0$ZC93plvJwt@q&mak1ISB@KfOg-WRy``rg#1vjp*&CtFHwmP zfQ;L>xn7WBn_${mRAkoCJH{2gZJ_r+pAYsJD-?d-OKgQJ-08=u^{uu{Zu;WpC*LFu zjs)s0e}uV=dI(1er3p`C5Yyu&po{yFlD-#k0|8~RmwT#zqvbJJY)Vtuv-FLw)VIZpamRKi$#Ks7QQ&W#I-BChYrPy5gsu;X`fsHw&fpt~KGc`H7{$ zM{j0OVu=mr>z9W{w~WHen2FY#l!)n$RTm+Ow>e0V4L(-bMu!(eTq>RSyb%X@tH?8qO$(9uSXchN)qh4H-rL}}JEDl1@V=5V_F;XKeTh0s|6CdT_5Q&cq6mrV{4w@w<3rm~56b&X>A^at|f7Pzf-*WIE!x4gFx<#yu zqZ#$@<^ctO(`!JQll!Fe3gM$d9c5XLsLV`XmZ%wvl-Ig;5wK?31n!tfdqPgxS*Dqk zg(k6H*iE={U+Fj5vx(0Gtt?pG5ur;~*W@Jz2JfS+uL%*)=x#pam=Inu;a3WACK<45 zQjBM6g}Cm(nia6ff;O%`#RoM}I{q}@OeGEaKEMtyTqy{!q!jdlcxN@IA@FvT*xHlD zw`pvutC8B)ES0|;`XO?)D{CgK$Q{D$@B=Z9kXRa*zjm6&kl7_{YO8z_@6B(;RWUi` zmkGQe$V24{x#)=uwTXnxN0Luy{tOFA@;YhQVaHb*oeVQ%w?Y7#7%;1bW5W7nd%k3h z&TxW{=;qV}>yI16ze-bf8IDGM$Iu~n$5}l3*1>}!(ksGM` z`b}Z}U7GqyAgnraRT~Gt7XP!DfH(#O1P+q}iVGSmx(=lHTU-SLQ;iZbeKkcsx+W@S zguHR*613atptK7AZuC47J!@b2XfPJK;QY{VKjYHE+Ph|J?;cq5oEfJ~@al;@k+L}u zUUI&9;rk!Kg#OO8ZV%#IdAB7s2TpHhBULIQIGyf;QY;6ZYQxgpm8vKA^jcimGqKv-Ge2y+kppAh4v~C$z zm;*S98R*DmiOezGZp|-h?PIt?US;X(RdU*#j7`Ar;jvY6PSGpmMH%n$Ihz)rO;AQ= zI0pw(&S4^DDYuv9f!}RVt!d0;i3-x(!{j?^GF!8u_w`;;LtVrAh?B<+WGINyuf?P@ zO2YH*HU7)E{lr2c`mYCpMH@GNE;i>+pF8WEU2B{@H{Y|m~zVsbC zY_l?3Emt-7*qKW14N;!sqj0?GMqP#B)5%#pi56-evEdfXv9jx!TUD=$Ll>6XX48Y$4iEmIw@vzQM8U%$iPNoRRT|e1ix1_k@Yg= zaI}dr+MFs}yxU8v_0#9|puj{sc{*aCPRPMw)lu*8C7Z(-A%0PMM~zI7I4nM;+?HS_ zdAwNhY`MfCeke&d>Vm)Vn*WM>>+4_7u~)wb!p%D0w5|OiY;x2I5xIZr=FI{!X{|eY z$n1*a?$g6qg*R*-V2XA4P=)ObRjZLu8-(MUPgI@V5T*hzAW*Xj28z8tNqx+{gx8%e z**@A+IMLMDZWT0a3OiRq>oHi6Qf#>Cs|p0fl*2zEyK5LXm^O-C!@UQ7on)UR5N<1Q z8-cqNi8*~W;fDx?(miO&^xWL@)}RoP!4oXH0boltkZe`&*)J&|4=yR34%5CBX!bO9 z;d_P&0HRH*oe6IUe=U(R1eD-ibqBMgu-o28^tcc@c%pw#uJytE##2QpN2~A&nLLau zt|E$0v+`Hdjg19oMfF9=)1l*fEpF@`q3h%STp}j0I&6teyK9K{N28EjBKj;WCs*0> zBDXn|GfBgt1zDR;n6N5YkFJktX$7Ou+hwzan1|>tprWnb+gQG5u(O}_u8n3hqMRdN zAqfEA0>7W#_1_@|8;~BvG|?tHOSbN`Vo*68g%|ajdL~BUO>TdxRfBARG5y6@k%jpJ zA#`u;iA`~NSJ$C-(GF7>dP_veh_TS#uC6|${>O;n2C9S`2*ZR!j-`0)m_XHLw*&<5BS|nIM-a!)c zG5~AH^`L-v%sDi;iKhd?>da?3z5gVsK)rVk1%sc9cM%x>eYx2Jc^A8}&;EjjYWj-S`bBE}1c>V{D9B ztPE6iIBxlN0|bbQXcq!20|M?LdV^xP9H(2!9I0NpRZU#JH`Bw#CE(yW{l4(u!5I$~ zQcJN>>oW!dh~!Sw_>q-@sXE}cnR#}&kVX)ZN5F6BcGY72OG=oUuT8Qtn!9D6c#-^G zl5Fdin=$EE0=%=b#%Wk7uIw7kjH))?B1`7!+}eAZsd3{@s80%bqRDi;stCQE_nzWF zC_fr*i!I=-4S>FuoMYLe_FzjL|D*RCUDU%mj-B8Hu{>As8)*!u5TLpc!eClj}`9vGwG!c8Y+&6I`Zc zN62;LA-juj!}5O3sGL9#HyPw4CF_yf&krWn^l%!e=1Wt47!!vwb+fjtGl%YtnzYfCe&;_B$t&_hj_|BhIvr!aJ>H@8~HR$Az#kG30-*+2}n($ zrw87yka`Dx5t0F`#wtw2yyZQ4JW~3FIhNse*OF16)sus;apPb?=BGR4L{lh8%xX;T z%YtRMVVHsDS|W*h$q#dYf6fPX>CwnvnyB|tQfLYrymO!;_t}> zZdH9WumC<^xI%ZLN;wvJLeK$;PzW!3HeuCHV$Sy@JZffqoNBVWI)rn)csz2ycRUjV zgS9|re9Su+GbAt1TaJTMu|l2aC#YmvpMzuEh^#lB6)nH%+ING|!O-xr<|!+{wEeex zo6V6!U~M73<~%)Tv}eVHoBtwAqd>x8bWSE38vsK+~gfN#my{~!Q1AoogKekh&x zvw5shd8C+su{)ADyf6FcGZ=%^R`7+DBAiSp@!SbwL-(wY;a^ju~Zvj|yK6%obfT$g)+ z?b_kSJaE3<+rj2P9`(5^9(Q#cnzV#hMC@oKG`58}255(jXP z)|ShD3+LL(k;sdlsDhi7XAMsKYIcV0>dv>M1!>=HeD(AR&EJ47im0U593fMe#( zg9Fgu-Mvd=9NUk+%W}>5seJ{%PrF|tG=gchMDhH0973$9DMx?GghlcQ4qrsYV*SZF zK4)j$r(*}ROxCGvwbm-x*{|E*UZKoR@K4tWuMhN*K~1F%=0T(zl6+4iiYBU6?*;3YSX&u=3-%k)kZA*^#ViL&RQUM(n5x z_3HCXdr7KuzvsUDbB|{+hA|QCYj%ve%7s)7`OXO%%6AhC<-85vE;+K`>=po5F!nSz zoQJYpUN6+2rXEIN8{KW1MfT@v2j%M#2;hudl~_6K7-}?WZ?Zj9A4|Njbf)h5Bl|At z$m1-vTpm$ts`~Epzp|{a`PbMyBJL(yg!A{y`m6Id4*Rb8c%P~~@5g0j0Iz3?@F#CD z7bS5Wze%1J1G||uwHdm9eO&~kDxVaf;}2>Oi=INin%)^GM8E(QwL+C~SKVH%#{W|D z+{SY&3KhA=kT_(qY+>~+&U{`n+Cb!(R4(!hLf&+n;?eih!P&I;+ZWAzZ0N8^43wx= zTc58({GuJ9P7)-4N`!e+c`i+(a}WUZq9x=nI`%3t}UkjGZGwD6Gj>5iSWcb9?lS>59IE7Q$o_Wa2i) zqhoG1GILKSEFH`In%}U>mn<4(?}uFyq42ZBtA(QFAY+IkJT{BWsP^N>U2pbkZhtEH zgPy_f$roXgGx*i`HK@F`0@rpI>V}s3#uCo<~oOHXi8()`dpPZ z$Bx~m2aA3X2MtNh0mT`2(}ep8U5c>K_Qq(XU|SAZ{FUt-NwGdxzRh_W#NXk9m|4rOh|J&#L;V_@O&z~ zqE-$iWk;W=A;T^%pRSx0R3eS(FKy0cj}90SFI7^~S?LQM{dTk(lx{oqP`^CE4Dwf| zmkB_iX}Yy8bh-MJKMk+_>QS_-2X{^)@0Dr)&!#^{m(-%9;U%1=+n<@`ujkz-iQ%o5 zb~5;>Ke^>C*D^bP2R%NHBPgJvVYAopCI zskzqSZ4!9mTWcvKBkIam%2$sS+9&5fa9Ba@BFnuR-q3kFLt4%P+g`8M)aA)r7=zgL z*|AGtK_-OzaC|ZL!c#(Qfmni%82&41lt(|r@U_@HCq8TKaOIyA+q|w0aLIy^rxT6c z!08=0mP6u9;gw=Q7_#4&F{$Tz`YifvCO}Eo;+eyT*@Qv=DjqmL2^aV@io0F+X6Mb5 zZdBPrYAYy~#7i~u(76=Xm-^q%RQ3n|5t!J}FqYM7uWn(7-a>>dW}g?W=<%>W!Mlf)WB(c7~_&tVtDuEt5PLL-t+w@Uy}1tnoIhrxJ_2{q5>TZOC+%{v4m_4raVcw0lHS&yoeeK;q0e) z^*mEZ&XPYOv0FyGqkE$Z1KBO<;r1`t(E(@m(n@og0K;-ITG%f(5iK^B(&~|eee{;L zqkRs@&h98l$g__6@i7xE`roA6%BYheb0b4wDNs^&{ga_fK3P%W_}Hy6bXfU!!2@UY z?a%W?!?kX1h{2vr4LJ5`ZNy%quTMi3yiulrPnugk?^TR# zv(WPKa8`$E5@_w{)SR7jy?Ap~d#h@UMP(cWj<~bt*WNd~Xe0zVuI%UR=eiMo%02tTY(;^(np&N?q&wMLa>|;bl0HI4aBuO586<9;Y~t zzXw8v-!^QNCUUo>;pcV$eedJGAM;~@-mXFMyXjJJ0nIqSP)MT+WbL7ZY!-8xzg_o@ z_}aj&VI&Zj^8bLW(>?chm%`*yB%ip@k~CtH!idA%rfPN{giz_Bq9k2}|LN}!w@ErJ zg*u*PHBCa8`gkCE1u~?U!^42a9B-j{QqTtpb+(rBwX?Jm?H2FMBDYWC5n?=C0lSVyEaf|L5k zs8(J%Ud^23Sc)lC*n+o!j)t2!v~rGMraxyoO>}iyw141NKp{P@$5g0s$M)NEB6PLr zLaW;%9Ip6KCcL70MD(T5;o+m3l0Rji+pzY`fV-U}4zV{_s-o}Z6c^lm7}oXCDO8fh2&fFj1$3}6g*YgJ;?ag7 z^2|zHy*fW;$drs<*?7_PmGJ~znd=#0_b>Ta8y9Csx48pnCqMNw+^j<7f?34iNKR)6 zCeby67XoSn7VZFc;Ht2+?E0IERG5P>6RmbMN!mv|W>tWRjkHdvgR7z)>qk*Hmt6RP zb{YSemwK5>mCVAy21LU@1=Stv`M>Df zDs4%M&7H7_?JIAREelhcQHx7LbMxCy28x=Dr22u79xxaBs2e=iWf?%m-u0Ps}g$)of%_Xy=h@DSNiq@G0-(pvdV2 z^;c!XX6tmk<#UvmE?vILmwrP3-tt-fO#2&&d5sR9Iq{f&o{JIQ!yKr}lWddAVI)R? z?Y@>JJ2+%Mo~Ez^DMvsMdaKU47oefrxiqj0Gt_U-t$Y=Vh^n=X;^g>SHfm^ytJcJA z!3who&ghZb`fv+l$OXq5`6PeweWc@&wU(9r8cxHjPz=j4tQOR*${#j%rx`DiK0>mOf&f{UHI9yJQg+07iMN1 zX$5r2RtD|T_Q4@mZgP+p6ZJM86fY>|??!sLw&&YBFh;bULOb!jeZ)%AHrG-!pSoL>~-5bpX09BY)a$T4@D_8yP$cXFZx z6#Lalqpr@(sjM2mJ!VOq8Z@gG#tZjEbsc^{|I~kNY3OcqM%`+x)+la;WzwEdO&+*` zSNDGyj3D-4ap$AM-KHzNsfA+M8A{`m%7Lc!axiI>B)6K=(E7kfVelLu=Hd&&nlGR+ zCxb%h%9szTJ1DY(NN^s|zvr(^Q-aszL=Sa&9O@o~MXthh&>bS`kvNg^Xl zR!Stn@@90CU%PO;NA3WCx;pZ}1w&aCX_#5NSk!r6WSvQY$UlRHGvIE;%i|JsBw;D^ zShsn3k8T%b8)A;k5A(yg7M&uAOFf;Kyr(wg*m0;JWE{;$AalE(I{~Z?x$%UL&S&U_ zU%@f+QZ~IaRpJ@<>cL$MU$WzD4U02Wx1+mUpZxlFf>`8O!BfY^=bg6D&3)acaSFh^ z1B2Q+r~hdVdd?so@q5hWgSl~(7;+}m2+g!Geyboq zZ-Cq!rF(9+!cM5~yy?uoDjk&%&{vYus{_7Og;3s7!8&Z3wJ_#V^H&-03i~3sm6u#3 z9f+d1J$hnBoF*S>>yT&rb$}GQV*@{CxUfMztENGv*XsD1gF5nz0q7Q@NZovCtM@=k zE23Nr8gdg6WVGFQ=@z2WMrcrdy-zF~fhBo?t#)|D$wKE;sw@m zUpRg-hSlgf7TBAd-Nu9C)wDD*LCU0^*9%zl0EWXR_yD7eJ*Y%GOy!JB) zh8B^bw`BH5pkVgL1&RCbiCV?g6cJRx6QR4DSeYNSm|(%$SfEiz$Xw{W0TDfxD8umL z2jgh{VK$?vu*a(?S+n;u`kbsj zHU>oy5b9HQSeM03FxC<3DbdQYC9qQY>cHD#T`gACtoJdAK||>T*6mm6q6J^_;HkD! zZPwNaOJ_4vQ*HJXCJKpBx(x=Vg|P0xM$S??Al)p!IicCM^Wan&17N-+@$-vfH$xJ_`W)+{7Gqq^kryjIF-z-J zc|y?>-?T#uzY{E0Zm+YuHfKqSJy@(aKIi?Cw%ciXRDx2h09 zt8sLYn6Rl5144zYMh`iEl7T(rl+9YeugSvJrB7~329==_K$)7RVKTK7kV=q*p*LO_J6m=Bm&V<7U2sQAK6e4wMZ7lws>%(Yki)WMK zDr?Im)l}z%yBF3$%p&fx?=Kb8IJDWR#Rqn_N#iaM4g3mL9bV@EDLMRmF-@ut#pmDs zsnY0dj98b`ja)(ypjz$?cROOG((-x77L+5SZa0?(sG+L~k?>t!?}l$k@_?9@pvy)u zxGOqi8P>)+m2I?78+iw#Lt9@)mdEEjSs>=u>jPNBDAKc{5`M#8yo`2Jg6ee%^+nKN z-6ZK)>)(_OPbMSGu0Q(96i$HPdqyyafRDJROX4%^+|it8LK$|6!yWV=F5lpdS&IT2 z9-uFHag`&>z<`x8+KyD}5fWm=Z)eV=jd~ier&-J>SYa>=hUunb-|QQjfx$o#^40gU zQY&p-WFBVj1_Gq6duYr33nOU<{JThaE~8d3zg9R0WU=PgIDLJcUhmJ?Bhi$-)G_)H zn+*d&=Nd3J+*2EdYZ|?T4HpP%Z&LbvX(C;TKz`vO0a;yj)U52qrE5~U1eciVgZ8=^ z&o6teEQZJBzi-luh7(S3gA!MB+1RbVHO<*>nU9!yDgXLniXJ1{G17=iFS1%1T&-|_ zk|RJXOVad1wYNvEJo0W2v`32O&4_xYw6J;}Yje3kFD*R`i5VXuY*3W{2XjuW^=Y2`-e`?$UtRw7DRB3r zDcO4c#VwM}v=|Y(<*8+$TCmvP=VcwlPw^Xq(0pnn@S2^V2rX?Fb%V~OcUhe zZMlNSlR|8hL(}{-%3MhWv88-*L%Ig8F7aE01X_b=pFgU6*e#PU2EQ*+w*+G&JUcdm zitQaP*agXbO%fi>r&|Cjc37)`r0;QB2hf=f={QV<4dnahEl<`K++z(Cx~!@Vx;7VTG(i zSzN^@RjfCBILuaL0)b;hzX8HY<3#Ui;4b+H-3_g8_$kw+hY@6!Hrh1vVyjRy4~yJ&U?N}5I+bgs{R_6wBZpNQ^afO?8+?T_US)x6B%KY7qj zaeS-3<;xc}`X!Ec7zb5Wu?FMzl;uT<)-J{a``_qh-LtDH8Xz6j0$H4ZLue6{oyqB!&6T zuOLkT2O3(|nc+_*%|YSw-G7jcpT8p1Rm9eXeNJ)I!)(WkU!B&uJ*z2Rs^vJ=Brd$8 zyIog7P>FjDLscM!<=BbCGLL!4m~BJcf^a~;M7%6L{bQu|6O}05GF+KISkL|(wcqF4 z#%x~7acDCR^rw;s6v^V5qeNgdBAWa~sE%_IVz)AFfMg(4ZnIABL5i|hh4@{1Ezts* zOXTa-pr>+_3(o?*)XM@*m<4VG;AQ4A*yX4DXyKBDXxZnYQ$<+On~{ULZuxB_@O)32 zN_ejzCv$I_oR^tH+TXY7@19Ke*71>JjhYU(th#^ysBT;m|BPJA*CRI2t;U3S<=tBx z3@v%gXBo@TZ?Qi=8Yxd#{YIfj)KqW&(QtmT)6K(bv#ZH3v*Asbbw@>`Z3p>9*}!LI zpb$_L?La~p=Zp4=KtP~;@AGQvJ}@Ru&H3!j@3`c2l6{J;r zM<}2(b=$BZ_uJqD7AO8vPy+V(-kKlQ1~BC!U`RCJ3?cmrAma&i7rH=?XRiS=7nW#oEj9pYvTglhh0;9OJ&jo za;WYr0*B(oFQ#HIb z4n9Aqk6SpOD)y^Mia-+Vo?4G9SXEJGL|Hg%J=j#q%2AMqbu%hYZt7#Gj|$!=pLdXu z>O;ECb}xw8=7_XzLG(?>Q!P0#qY2TKv6!K-M9;fGtq|Mt*fR=aytEwxM3z<}d)&C4 z&p9K(jW%?Fbj1;M}p6p3xbnDsN%SB z5y~cHOAO1K~4wa#`C=HMMyfw+M1@vy9`M?xPUyLw8@Y#Eo zmzuF#Gz+Kwi#P!FI}q-WmX8mI_DLl_c>`GsY%W?CSo>k z9>_-~%&0EQQs5RH=5eC3FixmYjc1^|x_~mnY~ivrkKe}J>=~a7*To&%HKf9MvzMr$ zhk$4vCGKn|Ucw?wLfFI{oV!U-!9fa;w;%~Inj!TDji;3)Q`H?ZNhkbP-0n6oB?e&Sj}-oN*MU^g}5^jb-~v2{m1$gZ?0y zp?EX%*ESPPn7y=z$9Z$`_63JWh_OtFcfq=kM##^f^8nQczb^Id_*P&I2B*x9EH3p8 z0wDn5N#`KVA4lyBx;_YYkNAKwqsJeSxw?j{{>5TYLjqk!OSc;UFA4eG6a1lbNN5+< zt)Uw={LtIRTVGy}D7&Ict0 z5i;Ia3VAiC-|YxCqijGf0}*FSkGlt0^FJ}Q zXK{*u#@`0KXha2swR%9kt2^Qc3K5_~;|kLW&eFl$#~Swtlag|oTj!~Yv5fGPy5zTF z-1Gef2ZCX=Vk`-KvB{Qp-bkK$4N=#7m(e@yeDP=B3JAqMV12?hgo^Y*PFk2+OaFQe zch$EO;dDbqJkZYv4CF*(89D`_>Vss}#p#d|4(Iv61FKiqXSH-Y1>X4L`!_r?u*@f; z!UwnVcr;@V9H9~D#hd+ccwos_cJLdZzOxbN6=R?_M;1S zas32p<#H#D!@MXfJfyk3-|l?Q47aj$Tfm$mj=~;%oXSb*U#?~1Eff2#5~0@v1zYEU z%$i??lAMC^;8wr|y8z7&`V(k!X2Z91V@FoOY!1*E`ppV0fAomVm|u}zIMd!>u|VW% zi1*er*)lMEPXr1ZLn{Qd_0tu?2yn*WR4#_I;DH|q4)*FA_bQGz`-`Jzi|X+)L<{Lo zZ#-+A6GLwfQwKtIAQ(w=061tSL`%XRjPuZ8YaSs7jIC~etN*z7Qh90nBQGf8F9b$h+|e1Tci9rAD?lUW(4CSej74 zD=z$9*NEU>bZm6JwBS(7VT_|8K=$VSwm!YOH`hY@UL+|M$;sg25i>ya*w}S?F8MW( zMW2F%RH`XYTmqH)?>ga!I#uujv(jT2!u0H=AbquRlHKz1O}$lp$pK(T--7P3f;^BF zaI~}EiESVcUaw+({PH?EUId6K{_vr|<3wH}p<(~{Q}+;?QdeYk8E`qK_rg}PTOwEa zk-@;O79(4m!OJw=^n0$^zdH3vgN8nLlfHVJKF!6h_Tf07!ukZ|dom;>-;E4>KZdWv zl@30Vem%zA)c$ z5wiX$P|Lu_4ZWgr7b20qLq7k=guRXqPbQ|45^CMScoqDExX69Z_zFj=#%xtm_6NZe z)P4qAl@x%vrPaBk7ZZ>bU7g3G1Y$dM0hXVzCGYFK0QN>`$eXBwr;;B$s)4fC^i=|; zsru$03515+83dw)Cat3mt`!$jb77YFI$!*T_9cqXkw6dA1Fs02Md#6coVxL={^ck1 z?fh(mf*w}`>cGpjQ`L^GGdHx$qym-HH~+6Bbb~W$339bne{y$)q&!bEZqaXPV~I;5 zh)6&dboG(!V2eBM@EhnA{=yd$+ejSU-NGEZuNKnI#f32b+thl_<=B=2m~ldXrSU@R zk+9#d*x%1eTWh=mh8{HpT3laWT8+YGkRO@0>H&VTR@cGhl?E8BJbx*z2M$ZLde@hK z;rg0*2_o>&+VRtI{yZ7BvGUg-Xl6dt^XI@qZ{#xJzwuspw6Z^@J)f#@eRV|`N1j7# ztanxeh_2rdTS@Kbf6_s$LrCAAedzo!yVEo6ZRb;-_W}()1h#C0ySBALD|<~ho6w)m zG+9&WPJkJ{+WbQFpMk;lHs*l}-tLSc1}4me=lDaunK#(Wze=XCS{G-SdM0)Hbz(R0 z_=EO8E?hT(I4;E4W8kw$F**2U5)Sl0=`{#{#ezBsrhp*8!0&n*Z@~Z~G~8vf2?9_z ziV;`ACj3wvV?jEV(hL{=wr)z|*h*>~iv$qjal9J&D&I>qUIKO*B zTJC@fGP2Kg#wVZpUSOO7ofo(Ev!kU<3p)oiy~IH5{!MKlru?6Y2cVY*^Y{i0uc z_;Ant@e*7IvlwIv4NoYBV9AlfzN^LvQQ0td$H%?D?-%Cn2>nP27j-g|9gF*DcAm@9>`yBZ{Bxj zrcG8#pP||gY&m@v-uk4IE}sC%jupc8@9bmtV8ORd2=EX9_t3`&23f8XW}*zWldK`d4G+waJThncWmhny=H z17Ds1#ji6%nJ@a_S5(N0(Z<3WF8#eEKT;T|?by;nZTRZPG~coJC5-OeZQgH#g_|X? zMf?qVqFxTyqf+T1#0|t+PngZFpYPF_`A!b!esH>^GO{dUSH`?|!HeHkynUU?X-==f zw#n(NwA7K`T1>x3h$Nwn=rXsZOFU9=P+Qd){DWBv5dwo8{LufCKwb(GYCyh&hK~&d zD8wHGNL~sQ3=Ieh3JQoRidzimzYGfq8py!F-kDy|*4WX`!dS+@*22`p$(hdG##%)g z90*t*4ocM~PR?qO0dDv@z!$R6>(bQ(Nhkr|b;o43)3mZa{2Ocn@ctsBg$a{s>v{bg zT=eyV+x3z^NjD7q(ZGSs4S$Z->`ym2z96nC{=n9m7wcz#WJ>m}jA3W4qnlD>NXmNy1nee{?}HVAa(iK|m`L zxV4%JhfrjoVK(dYq6SbvKr|&lK>ptZOb}QQ7jsu84`Vy`|E?Il?Ct&=m(quNLI(}w zJ5xY<^snhd(Eo%Z0f9}qMkDBF4F3zVXA~Kx{|_hA!r&ZvV%ZY$3zb{VyMtO566@|9p)7A3je0 zuh`=J1Kk^d;{Gomh5rKEqEDg;Aq5R{29QpxLx6x-{YO3ezsL$Zn7KGwo5>qHSX-F8 z{*RmgrUCyi+W$S$;Q!G~?TlSr&0QI7j9vbFbkug6HaaOcQ+V0?ueRH7{?8M4tE2y1 zeCj?{bAEB2weC#nA@O%gD~WEEr|Y;ZP&g5kn3x!Z5rF3>2l-o3f&>CoI+Z0ZIu#W- z8@e;NuBk1$qz;)aI29G9xe`eK1GmRB9*2|V6=o_Sf6mHTDB-3JI(aS2^Ds@}8oh}f z4Ka9ZJh1Wcfngk*JzovQW>sD;p#*Od?4>MxA9MgQIqU_%(IE(d1;6d}b!%bsV%Is} zwd~5vr^z=R#LqM_x%PSbJM;-q`S<;jyW>;(XlzzmZ61wAT<2O#8Hy|~MS8u5(nM&X zWSE9UGmXomiCxha(W}W`=f%$@(DAP|*KMig1?m_^ev+y*;O0?$qAYH`H=ZEKsF+FU z<=>qqnt&1fAtzs^I7yL-({VX1`P*%mwjBLIH^b^)Rb7~(r|mwzKQj-tuU7@zT&qMJ z&4D{D?p045#=SX8Io}iddol-=P-R>_JvOFD9_<5)6Ad$uZ+cS4-h?DcG5GkCAqge~ z448nb`XrI{xD@)%-4_sq>Vh`zf}kedHMIU0PjB|LwQ00edTRCpc@TYqTW>_8szw!E zmEJ_Rj8aP_u&O5`VL;oV&I6t`+yU)a`y~lpes-RX>4HRo_(gEw@#sV5`R}|;upIj3 zCi3q&MA-{_7qZ|bB}gMHl*v+}*&%R{N?>luy8?53;|L}>qgka?A|pFL3ddOttAgO7 zG9-Fq$Pro8N9{eCUbv}y1uy6Q&z2u4FMDbRVsLsk#^b38_R$dX7z<%H(}w#8!{@b& zJ)`R5f@ChwJ3*a3MT;$~?5}Uf5#bw=!OYfCDEfZVas}HI*HEz~Y+!cNXr_wK)j$e| z#5;lcB7PB$ZrHcoR!ptn%l&lF^ymnT69*v4caF}cey-yLaYMWbD^k@>>e@3xTj+F( zp2gIj!Augp#q`y~!7?>8lO1}sL>*k^M5;`=74}He6YgD8l$KRFJ8M!vtEV%UTvBbR zNkTpEyd>QY-I5xKx5MJLH{g>R{7)e9Uh?M2=M&HBE1!K7h0REokix&% z{@jUqm5jW8&&m}r>BIgbAep2h5Z$01ktr`C*K)0f2B8&_WvfU{Tpg8cCOBoF z#&Kh}hRtA_VJeB%wpR$%GZ7MjlBNOScV=4w;|=5TU95KniH|HmIxthJie`&r?tB5p zYwRL<;3{aptXTNH3fxc9515r1oj9(qTs|0&0D3IE%uGSZ^)ka;e zYCl^#w)f(kJ7Bd{;Ge+~m@mDc_J_`$gc+EpLd4-uzOy>R& zhwpLXILhADQ7SZH(Rng1 z7KRXca{8z4Oo`dw@}ksKxDz!{oTgmU@PaXMpk?q`PLY4x@!8BR>dNHVO1Esad`j>6 zV-p0|F=?Jgzo6V9N7v-wL3GuV|3sbHYdwIYwJ1bU)VFj$4}4u3ED(dmRA;iYAe}aL zsdDCBCB}b*D~cjm8GGmVW{&4BhDQ5n5)Vxsxm*7zdWkl1bc|&+{i6~_+cKQfKlNj! z9T^n0w2;+WLw^vbVR^`4((knMAXRI60k7>XZY$v061Hf*QQ@)Uy!q*kI5L~VjB{}R zHy(EBZyo)YMqns=`7Fp;w79%YH@B4`l8Z~(hf>D)^DA3(?@pyBx=sYV$d6GyP&l9xMp-;UQiD+tpwrP6z5bO_(%=`z}e#FOs~F! zcAq4*=$-0gM#&qmx2lqljgL>Efgw_D*jNbO0}$;jk|y&{WJbcerS7SZjfnYd7-PH%VpLDkCto{+-VJSP zZ1kZ+>Bvcaso>f_)GvAIF?oQvV_PoK`H;O+-?}s+i z12Xc7ItsW+@~PEOQq7`W!hFnw=-+)%LC-Kt<=EDI+WBa5fg)V~o0jZBHh) zKqWh9z&G&c8KSItXCe_cAFc<~l`}Osf zrP4yP{#5HA8@VP<_wb^F8h~r|(fg^~2-y8$_M~1D$;1)enle^$l-dAQ3F~U(S2(G} zc@(rkMCQ-x@`P4qM_0JqL2Ud`zfRQMeBkG%n`T(^7E62LaDZ04Ns^QqoGsjeMSBT4 z`Z?B?0H3VyLlQi0E2**3_^R*aV`>LP%d-D0dR1Vm;@I8uDdUcTF}*<|Pea7D0Y2~E zp1$G6mykkX?a{Gs#N1&#v33gJ_(8`A4lWD}*F3>_fZJYebor4<+fv21-AYxR#UOpr z8!isR5+VNNf5rG|n>)9|GpJblK5pfV>3t<=$xMMRsR>V(^2KUc+T3&x+ zFsoGT)u#Uxi9)Qk_O?9;_>)Ornpi0l!PU@3DhgLbTY2JxtgqLwFBoAHyh=5 z3J!)1Nm=H2&~Goik6Kch(r%F#j@p#|Gsdi8FVK2m_VmkWC^H?9m7^-@iJsy9lkz&3 zEBd%fG<2GXcNx$urS+DDpL}BSh>`&&!|qOlY-nTJq~KHI?uTB zh#P)b_MbF;oAepBQF}c%ke?K`ZY_UHC@|Ee@Du*WL`D62h zB6R#9WuTaJ{e@5p(NPQEbnOT*T}l&IB~O#cz=A8C7#5a*Y%pVU1yY*H?}xNmwaxXZ zW)^7c-#xnsU#92e03l<=1|e{YX3r9%oBH_OLzISO7ych1qc`&SQ8T(G5dL(I`*pc} zn|Lw9Ea}}xg$^PZa2d%k*u;;^wfdkK5%j0?>dJofT=HKjyq&pz70I{Ydd&$&%F>@v z@q#g!36Q(R-D^G@ldxGfT{n|`)u`EydfP=(+$HR8^iDf9xeyoLw zeJ-ON(sjQq6Y=xm6M_?HtCkUz_@cel>H*UoX2ICp0KeG3zn`rRrpXQm!CkB-U(n_d zWR$XkSOaWCZbTfekRI9 z{OyFX9N%Y38J5u%9`DOqOc9u8h2U(b*Ic{o=th<^w^1gkuJ_cE(k_H+^do7mgPB-X zuhXNqFvTeOJ>yj$%g-Tzgdj@l+c^~mk9CYnwbTY#fX4KF3|n>%s>7{d{uz<-ZFiP; zom~!pvZ=Pl&W7i8?i9E$1vkSsVWY6un3~?!7CDEJjZM_5f!dJ=`=K^3b_7)}tFGoJ zO*`|qrB$Mlr%a7Y<+U&&(5=LNQ&gFf93MmP2 z(J3~kGGyZ*>E&EQ@TX9g^sFlMCvDjOYSaiQ0jrCOSWme&mcMRCg|V<;IjNI3f*Ddd z%aLzFuwB0>FxRTLoj-V;KiY2sSl++dcefS)^lN5oLSokr zo(d+?Wfm9dcGpzv5Bj(87nD3A52$E7K-b`*b@7r>A{IW1UY4aRJ%AVJlwJdnj%5h^kCgtCjUWWE9kAJ6Jw6nY-{i;dpL)X(K zW(y6KR5K>#5A{nro)H|zzdw+C%3yqhmi`I~K!VbZJuwyVvLjjH+UTXV1rb^mE9DI| z^4KWkEw(dF7$@k7)Xbna!5#(N1F0Y1-`W~?8BV}Wd6eZRqi>9vcpGHl8aWrx59tT9 zEj;h&{lWL4SqyL2c(Hx^_mvmE#-0{vv-}&_a*@!=xg4fFh$=6N;M(II41b-}%zi2O zA_T~Zmr3ZXBm@u5FmRi>XprwM6AB9Yi$n`0o9`<#4$hYU4qNmT`)&qYG6y;Ro3EPd z(zkXdH+$>uQq|Zdzo6wA({_0A!S<*>V98c#P>#Rrri79l)RNUi6yz)&vVK>9pZ>+k za;knwmmbSu@_qyQ$?^iSKdY&{b-^qBc$KvEO?A-ED}`8=xuV_S`0!Md@{A @?k zP~J>Tst(Kp_^$kU;SLvov&8#%jJORt!9;H>!}gtPM-X;!MdjJvdA(Y@1F#=!3OAS>~H?g3dKk`Z$&&BuNfYl!hZ=HIVhoo0j@e zg8kP@!Zc)=#^R+N;^KkF)zB4D5vRBoCPWSuo7ftzu)<+(x^KDUUB=@*SMwLdXM5!@ zYK5GD+hS1{63b<9C4&4HSP1G0?GtNkFYftH10T&V6erqb;*Dy zl-U5nBmoof!3?O?R@+rF3wDA~rEA$=V#}^@j3f!+XclllaKNx9B@ChLN%vvRJnH;1sa zYq}@#%d8FnbY{)p(Q(=9k?STc^JP=i$ah7Q0_LDzF%&z*uD5n*rqDqPr?4iy#E8}o z_Ta7W!Y99bOqXh-LKaj(2N?l{9#GrpY2lPhHWZtuzp&!Sr!NS4#2_Fxa{#pX#TO*T zwj2UJB0`<~*%Cr-+>|)tU-$B*&?gCl$G77aYH4YJKhlzjGLsXbxQavraSY6k0;=jJ zJQB*-P0g$)p27IcBzst#yj{B(O_%m&jWBtFmUHtcHP9R-cG^a>+Z_AX!GSh?uT*97 zfLTf>ssF91tqoqYn7IFMhu)ltAHSb`{kNwFhkOn1HXv7#WhJdnSy_1T?m08#7);%M z;!n*0M!art)B4$LF#+%^m>C1QN@(KPOUNw@&NkDL{4pjbE_G>4(=smMiq&}*%>0~b zSxOZ(1uGlgu%~swz4d8bVr`~v=@UW({Sfl%CE-7ALawdlCC0%4|_TnRTf>|x~o6CeA${rt*wwy(j_Ut@- zRkXU{0>!fSJt=Kgx;*8RvgMeLCnNdJ&4H%JgNk!b-~*6ZV`LH}ky~jyjaG z^oTl+rmAWrM#}FBts14G05bj{{T*`Wi&i!AZPAR40C*0pU5?^#kw6`ihcUY-T|x&i zC$mHrnWpUm>a(rkK&j?IFC1FhEE)hYc%ZcPMb##R;5b zjWXL%nHlVD_&hHR2cd(RD2rX6ar^;*z$}Yve`mWw!LBY=5S_OuBOIP=5@&8OTITDF zXElOf5A_lMEQR+?YuSg73EM`F?aFEq28sFi3SMfCNfSm0;nt}3gqM*M-)oYPpEiMF z2Xe_-A5?;*&%DOB-{&HaswAT<=BNbslieEx7iIF^z^^~QQ%aTnIwx|PT^}$Ou6AC^ zwZ7T8-A9L&{ynB^>TW7LM3WI770sI3vg5|Qrrp#5A8XK1k^Lr>PckjlEMk8Zt{u3D zMofZhrjM!vou>e#$SLrAljY$-j@cZ0Xz(a>w8W+ZEoWNNJ_#}M^s+i-KcUaS6t|ZY zq>NpU6K0_2%x9O&EtxKdN&zI4hX;p(&>H8IAr{?0o@y=6gelWj>P^h1j(s9AB(CL2 za_mQfF>EcZ<9SM}(`vI+p=6uB(9qlNm09i89Kh1UzQ$@|PO6*IYq5g61No`0?QqOz z*wz%*RoVOUBha3QIrF0hy*AG+l@l+6kJcxf2aMTD7diKjR;-3q^?71?UQ!=(cV;;9T{WDcw7n`?6Xla0gUQYZ70kk-bzOa+4!8&2emBIN>Isb@cJcr$BFyO;!M58&Nwxj zkA*?rjv>__6;V){ut4lOXTIIeQwNx)$_2ic?mwHfL+f@c{AX zDI6-AsB!)Gt*4uA(+L!93v!05)VXCN=p8lL0b03}>Z0KuJqcPb;*6<&F zIHeBN))^#vKqTtW{(nfq~#gNiLGaH&5yCE{G2>Zyf(&&4rCIFYRP`1XXTy zbZ&$YnDYhLdE9Ci1xg$R$MBSMSTp;lp2JGfBE9NG^!A;_s%YYl*V%TuMt1`j_MUm? zLkU+CoNpO3P+Kb8qZRlBDNyweBLb2>Ru^cIm z?aaaNiVDBLQL}E3X%|Q9=%GDNNv4ZjuLQ8=7p7C=L>;$_>?1e<7kl54V>zc) zXxAC?_*+6PI*+%hWpE|_J%MpB6PF2E1P;8(v<pu=0Ri__0n^pDBQ^Ud{&m_`(F!rKx&<>z8W_7$b+C=VU>Lk=m!stRZ5edJHJ z)YAYPQblDJTTvk54`p!u)>2l&{l>5Zw-I1{;PHdd%iv6wmH<7DEn88};d9}=+%iHU zf)6+Kz(3vEq<&`c`}@a!)Q%Uh&~wn~-K2R7bXSet#0SWmpgBrMXWYaw^LSL6|Jc8n z$`*IZ^@#@uC%{A5($d^TU}nnEy&!R0`AoGihvLO(jeA_kxE9Y64+|l#-HH6+4y9eU z^O;j)UIpKag`B*Dem=t+ct+0;an740hsgP7gJEW#fbW+J1iSBhV`ajqg9Ok`TY-_2WKf0&Nd;Y zX7>!|{AguT#xbbmXR&TnNP850nGTKwQIlUT z9b(AppEQcbv}wGTcRZT8jQV$pf|Z=Sz}*k>c6EFsn}RH{4=L@EPPu?~cQa8(92PX) z7qe@>BF*c0ol8~HxxSxxD`&LFA9Nh)mQorIC25E~>>@s%?#8crWMi8@!nl!@Y-dyC zG+fd2U$py{c0gr?H_B+YfAP2%`zR=QU|0ri-u=>OtEKpGrg_@cGG_1jhJ_*_2hat; zgBt;#{HhNmOE|a z!KdZvJz|*rt6+MUDWBc-U9S>;95`>BCB@`dPf=2gQ*{b-@4}S?Xyu!~WlPNFoNT~& zTrR|U`Op)o)x0^-5h`mGRHxiqYv#69X2c2TYEWGtGc@dunq2esYtx}|ObmCr8|Xh8 zyQ1QUw21P799_#8LJ;!Tws0e#M)xYGoL4d+c>C$Md@f_o*ZeJV^M5k>1^6x#p8MOa zTpp9ZcFXUBI~1CDis6=|xp0fUu)*~K$6Yr7w+-LhP? z1_LbCw`g|%QY7t_3;33vTk1dZ-SRoG_D^OayB>mqPBYj~RwLhQ6dpDQz77+wKLW%q zp+5=7N|^ioP0f4@1S%BIfLmh?msqHoaqJxk?mv0Sl@aT^h-pUx4iBO|9asGfes~yT zC=8aJvr7IZfF(vfLE`1K`zG!<{)x>g3JsTf_ZRd{piORTjn{fgQF>-sR@}@MaIj_d7e`j1D z8pAmZXepb-G-y1U9YZO*g-%_~*OB3X*Tc_Jhs!p+shDX3kj$xwZ+&Tc3VB6{CnRY8 zBLCPeGU5!7YbwLG&{GvxoNt*??IyO`u0;g}cDD=q@V#!d_qvPB&-fArJGZ!kEYM_6 z_X6C&?G`27g1`elAH7mvzn>g~^r>v6Eoq4QAXV%OYP4j~t$MunDz(E}LD&F!)c&6X z92#EvJ1c3xPOH;&x7U!O=JDA}-a>3PQK>_>&99q7y<8^UgryrrjmzBgm)CJ>ciTo^ zJNOya^6=|eIQ@iB`Yt*uf&*q(HEgicf~lf}!UTk#Y21>_vn3fvMfU;s{RJ#GW$5yQ z$*|_BuV{HAD6XO%FYb^JpvG zr`A6ua4lTME+)3$zBQJG7iE(v*P&KnNvXvwRYSXBi-aIplds*ua{9AoA~AWES>(6{VJ_V7(s$^DC}NRMxlp*2z=*qIvQR==cg4=(Y+n+eR4 zxa-|(YJ?pmlP61Z{6T1Vr1Mj&DCk=nfGemCTz3GT@&Rd`+Yra$T%lx8W-_kJxF>3kpmRCl&ttZ+u01to_^ zl);Ue7hGm>19w_z@$L$dD-F;lc|PN9;DwdUdN~;jk9uuy$qI;rL19@dF0g8@7sOx& z8dX^PtD#KV8xFAHh$|UW>Gom3XDWFz3iehAVat1zHee}v*jFo*;}eB4xgg!sDUqHU z*ipqZsUXcIT377et2u|Kcs_UX?3c8xNUikqqGW!2lV^hs8Wf$WwkUAkBY_RmBhv6* z9g;`%I0dr~QJIqE*6Wn~s7MwYB$(m@LLfn$i2r)ZBwqs+N;8dg?`96R8E#on%S{?7 ziA*mMHEo%a$?CQ*bna!UuR$x9<_sO-Y1&90Le499cpg|$2p65@^n>ljE@i4wc-nH* z;AsZXUI-voDKgF%bTj00nkGe|Urm4y<`9 z>%l^>YYdCbxmUkHiCVBsK8s>Ak9?bDBbn#xOtn`%61WTIqrcScOaS2XP`T#+^j_bLoU+82(|Z z^_?F>V=uH_Zh?Lbzk8V2dizz;a~+9Bn!w4TE$$zV>=4CaKOsr=TKhX^h3(c|KI6hs z`}HP`!%S81albb#;N|8WHE}lV)t?4SkbhrgWw*+Px(6Xdp>9giu1uxxcY@cp7P!M! zY?7&#W0xtqsEi|u&EF4-%PWdUI46Q$u+%GBwOtZyT+{13MYGCZLheEy0$S?O>yDbx<`b?*a?X6Blp2t=FUUB$uG3AB=w1sufI=ir=-xA1hQEpLk}=i! zN2mKiujF<8N!&Y(kz_d_N$$vv&KQP&^znQ2f<(O$)h3;{*mMQK>~RTlJQi+1V#vS>e5cy$R!=(^IJK6hE2wlXK(3xG#t@h9{_-X#R>( zKnjgSDFyhzYFtSEm>f4QVs|CO881!ga1lvsRAbiZ0g~F$DA8oDlr=u5Bagm^$Li=L zAI6!XIa#jN48$SCuV+5nWzesVj7b_?q#=rlZ%!wnPae#*(drDMUYQi;aI1rGD5v8y zCE{EDx_Rt42&0t@PNophn&`!fM3b(Y$$aU%H8?Y7O0b{Q^|>GVm|}*xd$dWCcFgjC z%u}hr0dSgOOX)Pyg^qSu5bGui=P0}Rr{Y9=#1Bri(v)tkpoHt}f|

-Rzi#23!iO zmzwefJHP1oTsqj$uevBF`s3I3K16GK2Pk=x(TU@^lhp!ZqOwhUhbbJJsH%SsjbQ3G zcR}D6C)?ueNg8xDGbA`4D3p9rtpT7nDKCk2KwXE^Gu@L+1B>oe%qXhD7W0{L5<&Jf zp*7!5=_VI`{iwT57g4|{CVXE z#Jj(KHkMSsY<^ zX1ys+RFl`Nuuv~7pK-Ca{S{MGcoJ8w8)vc1P-d~|aIIcZJrl1W%l1;SyQ7b#4%JtF zd8xJa`-VXAX8rbM>r^^w5ud3ipr2D6;HCJGe-|gm&8<}53wrne3jFk7i0Hx!N!#+d z7H>gS2;${(nQFwWnW$WG*EntCC80zQFdDRsv&XDz8!yMaybdSeM$_^vESKU%E=RV581r+Q9y5Qg_82xftzNN$iOq+H@`Rn=vhOp zx#@Ug!7s`ipVX? z)jM4>Z#ZF?*<#2>XgsN?TaN%hn}K^q3$NH#zpdz^i2rW4jG_*wenxYegC^3cP+tlH znOVPhM5~~MT_4tErhgXgx^&f9FF)!#tJLjG4s09MejJ4JVut$i+E=0YEEvbE#Ey2G ziwt|$jUgA*R(Uf!s>z^36&$!_`Oq&*Jbd;^bgGOJ>zapj=xK+@E3 z7<771H#|WNUfL%}9V{&-TuiCdHn?9`MwT~9AP6HU?(z~IM5y6YuN1p;p^;V2c#fG` zj8ltNHOti4(MFsSfgSb)#hwc+l2D11VE&Tx$!795r&|Sz&JjFu>^HVVi&U&!cUMwn z4mA;_WlM*n+i{JC*fuVJ)dbrEIy#p-2s2Myrz=z^U=PLqQ?wOImz2zQea-C7_403H z{A-|uUul{L*3&I+jD5c1Fb_#UQ>JRTL?+Z6#~keDvmZTUFgBu4DyhHQ! zyiO+&@hWwJYt=HxWWl)HN6U!(o%htY2@QV`yptflAbHvRf`~Pks%r)%42H!g+y2sz zQaSJucRdhFH66zZ5{e7?S^E!^1(~5vzUX9>5J`0X9SH+HHdPa|?K=Hm1)iQMy2?|T zfu^wpkKq`4Pq0V;;x9BSQ4At%kd%f&3Rf@mIQoW0nNtMjU>}G&!5flEpFuOq1WCy~ zzXWlxRAFdcx-SYD$ZNPp1lfhXce8&k5=* ztVh_#${XR1Jy(LMH{*@y_q%kQ5Ow{#9{?rG}5*>YQ8emlf5cR=gIRQMg;E~8oVyOO*hlPt^%FD zYqECV_lEYn^0^?FJdY!C~VQqi!nRopn|G%%tqritm9#z zt&99SmkL#pl9g=?Z;42+C}@*GJJk#%!5s@c>5|L={vF@$^&wbfz9lagR%dXEUxUwS zJ2LC1rR?gFHRt+>vR$~01=5QP84~ME8ts-U*1h^x;7>H!{d!I7h8UyX?4;Jbr1YRu zajPe=90|fo6edF=`mtqwYR3WmP!z2UkdgWMZwnYH&`#VD{A=-X-m=d9)3y^7@X(GAVa#q;$Gj3Bm~Scotpvy#c|xJe&Z*Ui}34x!Wuh1V^_HEttk zT5H0O#hOJZEmJFBqhE#-ue#JFncoP_9jCRLiZ^eF&2@S22EhY{EW8 z2xy3!O&)g`F@zef%`(M@hajEza7+7yhqshdB1w+xQbBmPhhw4}sS-3dlIK4Yz*ij7 z!+cUsXGa2HSHRw-sA5T9qW;KhkU+=)#MB~*c@wp*mV7tQ>={2-t+6LTH7v4^1ZF8> z_N?(6sumC}QkF>K>ynMfkIGZlXnL)ZN%H*U`kK)9Lfq(t!By1KN*P^S1erfj+yg{ytpSQ#){Nz zMF%>0TPf+5kD1_$Yjt=F!La=BOU;^RhVadLaXNVEK2sr>v-9({dhsVm%-U;3+eA*T zua_T;m#I=C*<_)n?2KVfBc@A$jH)7jcN~Nz_w2XhDRPgfh8+Bsnb8h~G}pe(EB^6>bRo zbSH(ip){y6ZrS&7x|t1hr8ZlPey$@L7cpiXWZ0C8*c)_H#pZ4>|JAFIpnQr573m5Y z_ODky_{MhjBJZBKe^0HQlOokHqgpIU;>PPpZC1bj+btjKHi!2wu)Nnvhv#XUcjQFM zHiQYv4&Nz!PSfBKp}YTJ<^@?r5b@pBCV>czq=k#c-jUG{qRa2F4da_Jt>S|I%q2iy zgWQ%Qqq3?C6SCa)qG~2}?sFK7^}c}mCn6oPih(mDm|k3cv!awxPdVYcHZtVp_yyi^ zY{ORyWPi)|>7olapjgqj&-E52-5_e`8{vSmzNCq}#}Mv1L0N1w9x)~2o(Y_W8jSpdfoFN)8E>{lo+DNM%Sx?i^% zs$6-TdP-snC<+|s*NeUAZbKmgjV}RBFQu9Dvt@z~|-&wcyGvlm!GjUxwiL zSG4#IZ>b5yB=`!UP5wmh#H_h4!bmxaP|9}7WGm+1iLUE}5^Xq+Dw=PrNQ^5zdZx+? z7oE@|heGbUCMWkEo;g?6A}1Qp^63Z%j}jaxOZC``hmYZy5o>oc#PgS(~L?)>DV zb?>bbFO5p6fI*$UoAl>nFrl>i`Fmo}FFj|@;gT5>$EM38#;LMU>WrzMXknr1G{;dT z-z6XR+SMt_=mH`mKDWH3x4Q8#NU}sXePGHYD}28Z6CeCiXYUmfw2dq^=|$FZo6?(5 zT`Ix#bO+t|+WJK5rk6Tih=r`{3%svRK=14+w4Gq?0rq016LvH}K4nneWXP-7Jrsd6 zq|!qqsNSRXZ;z*BH*r^{Xb{~?916Xcr35YwfmGtuvpdHMLDKFcG?Lz+M(cJoOo}&`QL2r{0yCrc=WXft_ce3FJ>L(jj zwXyGE6o`^rwBa8aHfm+5i^Ogn4HrM?=;4)!0i!$1O`s^e;wn5kE_fc5<%8#}`8Lj8 zTbrR{$DlFDfA$pF4w7%wo9wH|N1}eGPEPkr5VxPSRfn#9D@#X7NhD3t5iNOuOr7H9 z$G4%JaAZY?7XQ`Wii}l9+O{EXi}b8tQ2?iRvo+)(T%jvnfvvOQ46d!QL8XW_hCrV( z2UK12D0fl~X4&&kn~CaMW+v{SD&@EEwTU{(D5j)p;l$My%9;VnTK*D3*TvCX(nKr> z^ZMpbu*~Q;e5*D~RySSt1djn^k=PziSPfowLaQ!a}dGmYt+19UDPYn^OY z6G$TVisV|>AxX_4r&plX$VS?3JI>;Xz)kBK^3KB#hf-*vrRrID1U^#_gTHz`%G8c1 zbRRb`FzilFl)WHSxF2EN!_?2Aga~NA=&hiDB zG~gE))0>L=rHHsCbBvjm73fjZAbm0%)+Y%2eH+8K4mp34sB7eD+eV)cElNjW%~ilt zxa6jw)OO=lJ%V$uPOiF6J))y605-Y~esPyxkYH=i1`72>{_V9(JxGSP37f2#k{0vQ zTGwalm*fxjWRDu6WnbXgP}=Y$+3=ifY|zb2klse5G9$wTeJ>%@4W59TJ72?yi*`*O zHEgWer8x!VmGClTv{J^L0s?k_KW$rsNa_tB^MqWHp81N++q4P^+rU_r0PY0l5BBXz zwDRshGf02QA8oqpM$!piCyrKSViPBPa)K%oEWcquO1v6q8a!Mo2o~@iy`~D0NjHVO z&i=6!SYo*zFTtOe0Mx)bhY;$~krdH1O}Z(X-lGkHA>7{B)P(Wkjt4mB_s~FpaGlym zW}-@~6$q*}OJdGr`a*$xVB0iAbfxU^4T7t8WdczQRMp0=%QoXMSIniA#?ox})DBwC zuolW;8n1+J^EgehP6HfxU?R(Ii+b@cOk3+m=A`W}r*`>(Sy)+u{ZqaLI4d9q|1g;rgW6f^wakKBvEL zO5aZ||2V8m+N0U;0R*QzW0^t7NUg7p2VhymM;$pE73e)68GlWj=lqW968y~Xo-XUq zpNB7)A65OqgmUUcPcj2}7jN$9zo|K3QxTw<2J9`&g-dlg=^4a*LS5hfO-6{ElXdb` z{K0kR(~uIHnSo#p$lv;>3w;KKDmMX~q8i=1K1|C!gk45|q%uZ)HmuLCtZxu4<+g3c zN^9S^XP_lTe)tDF))2Ir+6|W+4M8~cO_QMp>LPgP9^ak7NAb*$prITEtUvi)s zNnB!eSOP2ROcE0sV6fEAH<*VT8bHZ=!u3`{iRgL+v9O#8a7&FVdksE;|5daMiwsaQ zBl>r_GxK2gI~~uLVIJlI;EhRZzkg(B@|)>aSk?r$G!PO+fx%BYq0!7tgql{oOrS2Qo399zwdA^wv~D zxWKg)ZY}!&;GJ(*d8DLH09Dfc#31@xrF8#VZ@_&-Ig0S`8U7bx8`oTe8l3Mp)k3H$s8kEbma(c zR8}Uw{vRgT-OP6l9H){@ne_;+ofPLwusA${QpLX8z*ho5W%&%VDf>lj#=6%>*K+YC zowfYe_W@AT7+xD0?|&x>3QTGVs|jm?W*O?!D(9&7l+hwR>#YacFG*8&H5}l%s zP#Up_s=9Kwpg1)Wy~IO=@BtiHK(v$&zlspt`DFT;$TeNCBL z?v$TbdTW4@ZaCsAs_4SmR9?v>HDZOIS`z35BL#aG`_6D==F`QNdeT4zbQ<@Bo*9JVtcwQ&2Y z14k|I1@6dBB7Jq-2oB=^yBb+9XGChv8AGAHWW0~<%}mO z;a&8nY{u`%8GI0fC3})%`t(B$xNM|lr>>;=Hl$QSaQr%x8!0L?;{G@yM3c?}y7N(8 z$DJ-*;v@t_>H~RD7vuVLSZ&&Ogzd!W&TS^iMYZ{I7RoNDA1#VG4jbEi-Drscri@0J z++SeBGlRq?&Au>3vMW05^$j2nXv$rEQw_siQ?-MULx`&KUtH&la=h1~#Jfr_Ge1GL zHBh~=8mb$#`mzfr%i^Op{aiNzQ|QHrjhT{RX%U^VR3Gejr3B7~s>AxJhm(Cckv3s5 z6PSwXB?EbJ-UnO-7{sM>s-t=SFL@_F)N6n5oZT+ZVfn|P_OShAri>QxrW&J=K`3MT zRSqeU2rVQAF(#cm{AcI^@G1ALzm)fq4>=;&wAhq`OM_jW`^~oalSJSEJ)I~{2zK1s zfWwlrR#Qn}?R#mgDSwf0iCDQXIKK>#6m;DB5z$6M@PAVW67py#c}azK{}*q&v1x$CNFuIm2NOFe{+sl8wnLOd3J_eNoU$f2ic7LN1q-PgP`hQ4iyy<~7KNmLPfb$K1^s(c@A49g&MzC82f~ znWvb*oI`_I#_mKz8$Zug;0%m_OarEx?UsJ)Eo$=w=hU}|*A>mrG$hMel>&oYp@`9D zY7kXqwjNtboph=`P-RlKfb_4 zGzIrRU?L-hL|OX};!FnqcQ8@@|D8Plg*vt5u*8smz_3xVoovMMC9|!+AEK4ZiXQcd;w4SGF_31m1 zS5mukd7MtCf7$ljW-)%>=j!@^+2iQYOJ%t5UbQvqk4$G-)u0DY9)Q@ejX1`RthOhh z*HBtdM$y<}nzmZ4EasSrVMV1WRztSK;mq}6WZYt0h;o^#t-Vd(Y1v9bEkhlKB)M9} z$8_v$W?YRe(p(0hA4G&Qsi2u9CG9vkjV?w*Zzh6MfBqY9?-ZO{+iiNrey zjc&mJcHV075W0`_$Wri_mUV<4z>ntcmF$tDigd6njbZFbyi+I9Rz4Dm6DTVqu}%%s z;A)%BP-oYQV(^fj^z}1|cx1>I$BMkF&Tkijf4L-6bkT7F-i+S_SfZJd$VzHd1}4@j zvI$ua*ErO`WyI#fnp{18IEG3|Xj-;-xsVEX;m4A9KJvq`0Qx~@LX^Vp;emr}9Wu&K zN$Cb^nRk?-q&hpTZVcEEqwN= zf8}apZ*{M!nf2H|dg0T;@F9-a8USrwhG(vjaFvPTRY&&dB0#|a&8pw!aTMn{aS>G|U zn2UaZ{494gQINPtd&q1CGO@Zo^I~LMF2V02?=;P?o)yCUOtx$>?o-KjcH3rvf;eYJ6Ed-D z)>nUq``PpA?%1IB3v!pnCctHfh8kmZyCvCYexi4S9Zzq4nO$d-=1f|vO(ygJka|jG z9d<7Hb{=`vjshJJe~`A}o~gVvWqY`{BEzp>9o83b&Q3>Owi&9<_B-vApuK7fO_Hwooe_8H6LBAl{NhYi8U=G%a z6xpgVU`P=i2oDEOK%!Z1YpXC2zH5R`3W(hUym=!JlnbqGGfVByBtU;3aHHtE=(wMs z4Wo^>zWu{9@~Zj!i71iTQY~x>0n!l2#`f=EWWKc3o^?S-oqoTGj_6b!ywWS65n;!8wc4Q>MAJ@2lh;iWY5S zvl!DJpf5_Q==rh4aooYZ+-(P!tEk6z;$XJmbHB@8e`Mbnpy6+e%fC#g5Mj7oa8)+Z zO5^gI2hUInOM5bI4jGZ{g^{vHM2uLIKKi)vt^4!X!OU;T)socswmAzuV0W0yaK_od zeaM-de>^+_=)W(1$L@3gCZ^wjZ7IU7j4`{pFq*3;@3~jD7TuMtTIv5#w(=TYZaq0c zg@cyjfA=Wjsx|98*KQCI_jVd-t?0ned3q~U+tui`N`JE|X)f7}D=Ee!T%NeEDPTs( z^F4@=IMDBCoj-P+jZ}ZiE8?y)I({^r!J^=fe*^xu=zQUhw0m&)OsvaAE_@N*iQ36@ zXT7ZJegygE8q<|A*tz ze-xW_&y-8)@s4$D*;6?+gmIVTIWu4=DIEbE+O(8-) zwSsq*zPL8zSy{rq6%MPUMd`;9xa*nJbnWf|=Jfu%VkWx^z_|orNMQ}J@kUMe-uYA5 z3#g@1e$6~7-`;XZa2j*!o^Fuy6Q79Hf7!p}6l_c5m)J8b7OjdsHja^C?(z0Y080=Q z%3D@kLHLI+2ugoUeHfLv?A@;p{JSP$=En9rCS!54!lHJ@KE-hCLP1r#{f_Or+ybWz{je^PW| zdr6mMO{0BRgiN;%ggJiDm~%V#f!ao$4C~2{pn_d5x@XXP#i=&B!uDkI;xnG`4wc(p zFujWT4~QeR7dsF@j*pRgUh+$R{rHyyllO{k_8%Di{@Vu=uk~Pz-f84-FVswABiaGdGxM(35OxfsojGrOBon?#K0eGyORS;tKLx1F0L`DXGTwWxo~KX#e7}wg{>bht6&i7f z9B(`}a7_$71kh^8DNxi&Z!crfXVCp@v+&A2UDLl)mh%A0aO5)LcFv|HfA3{gmG;&O zLqD9j?YK_)C^M!cK4xGBtl_r6&Q8EKe_AbE>Z?U&)4V1G z7jWU#%I}nv_By4zqBc?t6^SH|Dhc4R5r89-L?#1;2YF4>e8#_&LeO zSbvS_i5nkx;#Y+3e-8p(_DNCrf{`jf_!t}vaT8>{$AR#RC_eCn*L{9-37@$Sqm>-g z60AlI%>!PbWrJc|gD+TQmNl5rTZB=Z9?Chm5kw(MEvC`LmcJzi+xz%~arK@}CtM#N z9fu!@f)P@X^9W;h(L89Po&RCM7lC^?0@QOEX}KIg1Vv)Hk5GJUJ;Av`)Vf6!C-fxvtWwx`cwxUNL`5awY$rMPpn^s2s#)NTwO5*b|i9#mh&G(gf z603`z;7EwdpHZ#Y{v@`=bGb`mFs

GNl; zIl6#oH^qPy3@N$WiDUbAHNKwi6N>d+4Z4+4fL_F)<3;n3ON?<7+{I_vnGb*G^KUm zb`T%JW?aBq1w`P4+cr;}lCPeWP|K>!kwtM}_@avDEL-mO6qjc*kHbUIlFT^1o=?F+WcYA$rj< zKGdnk&!IIa^?TX5-oen&pzo=vf3*skA#yh+O=5rA=^kyt2C43E-@;Pt*=GEi_Wwle zMOxrjbNy?``{ggVGNs_8>TJ8j`*Nht_5?AIYpZKHm}iys9nG0(Bj9PC^&Qx|!Vxzo zh`~kg=n?DVTXgzl1=)P|w0mh!_ao&XhKR^ES@oL-kT@pb+AA3DJ(gt`f6I@D#Qe)Q zSp)Q=^&9j*iu7~j;v60n2nhAR-PrNJoLx5ox&RrCfi|XgCO{`f(f{!v?q+KDpNURR zvWyCvF!HE35#xZ72x$2(9J*X!<31R%FdIdF1+0hv0F6B2I6A}C;6{$nVWmc$*JJge za8+^j-7eIPsMga30}Ompe^lD#`qh{FcWYUa;IChwkp5kYr1f(SbUlZ+V3PLf@&}Ir zd(5ByN@-W=vi8dIkC5yc+r_o|Fi5oTQ%8hF8i4ITcf2ds3T?&T`sF-g67a5wdo}GP?_7G?RFSBpLJ_l<1LofGw;FalC z7LXHh(AUZi2xKL>=a9!`jWbHvYAw$i@EWZX3sPm8eFxmjk3d^Yqtyjb33Lh~ECket z`_-LG5;Zwb74ANelbXo|0mqHZwGwpYK+0+s6CxLfe=N(+LZ?@BRuG*zhvlMb zhG&j2T@h{xc#?4CCvEH122GeE5J>$=gSm1Yl5WaYDQkz@v@IO{f6Im3x>zItY+)bU zlU{WD+r%FZ%mxhiD5Ei0juC+$U3uM+vt-(Rr6}ovWgZKGs_Fi47BITOGC*wnns9MA zLBkK7GNCE=e;Irf zjd1NC0>)S~d}C6w6y zQr7349`5I<4(B#OKfh1NU4mSeWY?++e6Fj6l2ZhkKfEmX1^6&__m`n_@K;W9#|Xp- zcGe|*9>aP)`g@(4C^5dkvO8G7AX!?dZANIRf6fBN!ZN096fTeZ7D55sz2X|I2s|3T zVq@JavAHInAR&Y={6U$`N;{i-@ImRx&qWu!#YEUQY$J0tbTI(QC0(dMn;lODUW6*Y zU=`@zbk>3k79e$T8zg&2l{pv=?4(~jRB_|J2oOsYEdvjX;}b1`OHuYD5i}gnkArtU ze?40_OY8nzqyKm`T>cYI7cuFo$5m_*%eH+M3yB|5-X3@hjV{YX7F2B0)wLc|V&qw+ zTFp?C7KQuSKEi}yf{&I;KLeUteI!sOlV}21IT!g;6)`dsC1@w}L|EwIu4C=cQMIhQ zncNj}s)oVIgwao?Yzw^W$d1$r_iVOre;aJd)wk~|Uj60ImsZAP8ku%BWB^cGENDVW zj={amIId0G4X}dNx_KQk59y(lyf0uok{{mc=Uc|CM259 zxyGu?QLi9nZVvdJqEJApMZMTLZ9aSuaj80Y{B9e01~br08ERkJjU}~MD3nQ@f4Ne0 zUk%o2gFiEv=Bam8V#WpinYqB!r$zK{V<~V=dn!sXZ-#r6TQuDm1Ht}jcYsyL>9bUGHSZr3 zglfhyRu2qO4_Rvfe*{YJ6P1^xe;!FG#(=>Hx_UXrtPjJuddeSNr}Pp*j3XWA_Uk4O z5q&#B2^KZ7d3S4<4@hY242qdvvD8At+=NrInB7mQ+8u?}?!*+jYe;j^l#_W4K zh;Uajf>j0_1?55pL(N6)`F->p*WVfsj*qG>K@MM=GR5(%WSM<3b$oH5zM3jt)nrZm zuc>7jFHh9lL&im9mB?xU{X3q>u8EvZA_Y#PZmm`bUPj+=UX+HVc+aa z0*3>6d<oUqI;4HY7*ixUEN@dF{A{&Rd zGy=T3J6#q%Q7fF>)Wrv~l2RXXnfRt%Kpm_^he2i@3*e5iNwELK88d}aF))ew-oeY@ zmnSnIzY1)^zK=0wRb<<_jsJ=3-Zwx}4~!X0Y}Z{4k%>I|f4Mk4V=J zdZZ^?yK-viWi#5R9??cwAHG^K)-uV4YDoqkhA;Y)cQuTjCPuTupSc!XuLO7We2v;v&$?s+J5w3Ibz~JMXIUVSHG|hytX^ zUUddi(EqlWU)MXks=PUC75=PRe~)EIEv9CYSHUSse`Am#`zRovM>!ru_S! zpy~F8mbg9(ctifXRn`*bi?ks{?{%& zC*Xgz`Q@m{*)Iwq`zEnD8fSA9A9l?pgSu`+VmN>#RH7CWwM0%3t6k%oW9Z`Ha-Sb5 zJTAz@a}mvaPz_ZZFCouIA@Q>E`rYqDn|+=?e?Jp~==YO%KNl8ANqFJGFot(C8viOD z(j3=(0wsS_mf0H@3h~8`a>MlD(kQT#9IT68P_hYt{+!9+OCyQj6Y@FBp;l-s%@BJJ zXa~J^y@PFi(h1(^jtqeqIQvefONOytefZc?MV|2XJ303inYYd5Der4l8bBBb{JMyP ze}?Ml>Pg(MrDyD+9$1?e{Pi_)M7$@rV+F?v69rb%r9G0V=$^%z#UHQTf>&+0EP>w! zE%WWyy(t#(h!=ECeI-z|Afn z3eB$cgEd)h92MOWU}2a?vY&hXj8efqdGIOlZR)a3V@1M^^OC`o^}Wh)!CmGEdn&?>{cqL&L7{mL#sPd29I4a^bXe|9ez1N&)I zZnIYar9v+!QY_EA)whY>r80 zcTx!kr-`fx#+pu~745E7$B`Epe7PaSXNh}TpRvTG!}Ohx%Z5ium9^$71+Z&wf25Y?5o0Iqnqk1K z&xCaD2w_uMdMMI{@NN7E2~wA47np8l@)pkwxi0y@v2K!sM$MTKz5Z`fEbjxYWvYyX z1e(dHXc-N$eH8DK{Px-^zo7i`TEC#!Va+p9=2V!KrB6YNMH9cON#_ovLoOLfew>M2 z;V2~2vxa$JKFLu~e>zq7V`UugtVYGrc@T581~|Fvmi{!_YCG?u7*B7btP`0>*ysfju&FJ`^e=F(~ z(z(o`9MzraqIQ|!+;&GrTN$f4ex!;7 z%x3m8&(2BZ8%000it~xZ`RwK=<^(JMf?;{npQtvNe^@!WJtqo7H|tt=yhsa`h;(yKL zSEKDn-nS*)gCl+oIBgL_D37!@N+Ty!QR4om&DD0=z)nQ6R;%2(kI@$IdDvl}va*O_)2Rf1uf7w35DV|H!2l<=8*)0-sAiigc@DYJy1Q z$e8PV?%0JPH@yFYV22^AGz!Y)1Fu)H>({u~FugFXz`i^#e7nH`=h?D7jF@ou3qQ(5 zI6ixiM*y*cQ(Bx6L3!Sk{wU#X;{FY#n;|LAC6k-SEmkbmwEl_mxlbxE|W-?M9G0E4j+e)PGerr%)u0*^T z99|1F+C2=Q467O`f;LdJMYj%}yGX;u`l%bY5rH@5K^n%?soSJ06y~HbBF*Y&#%}c> z7X%lAZjw{pN#&GBj%S?uvMJ;-f7HAw#ipzoH2lyuPW~jb<^Xa$&8otg9xzTV$fk;6 zRJw&E`_ict6Go>*kC@oH7mt!1_S(ZrYGLN3p5cD01kIv>cr_X~ImMM5W_BTYK*bH) zaud(~%n23>Br)$ydMm-)SWn)$g*!(nmyHs>Mkc3AU!kIXr^onL(D_2RfAFKb;T4irxp|p)9MBqT!Vj) zkHKX|)6FNG^61bwzFH*D9ZG+~l{A-Y_Y+S$3QVm0H<0GHP% zDNbD@VT*(g|0$Rqw-SkVf8dJI)TnW$6D~0XE!jx$5CZDiEGjnjLJ=5YjAzpO>X;kB zr!2{z5*nTg? zM>+R3u)(YSi3-L6UGT(1Be*C-fk%JzGbjOA*Bv{)Vu#R_ISntde{ZHh!(l@4wyh$O zLW47pAVE@?%Nm6dU2s#fJz{a>`Sc~mE726}MI^ubRGuJP8JG4uK1DiMF84upri%a_ zjB5DSYJXQRR_=y()r@XmEzDuY05n0)XG5AnygPTH9@m^By2!_$ z)BIY5_Ih&ZGg41;f8Ak$p}JG@Hh%geCkFLPe=NtgTnzc%0p+kmlfh-j6P@$776O<1 zWpW@s8ve zC={qCle9hX3(GaBlHm?-{N<+`KM)yKQ1EPXL&Sg;s=sUue-m4^e{B(+LI! zB=M=Xw=)A!b));?H=`_3N_^R0t24b1!`uoBfmbPP_^#N>vQd9Y9^u^Dr(?^Kp;T1O zqTRM)jXiN@*XzARGORY3WXa;*2vYiSh;YT#SP`A`txPx>U^vvp7wd7V^cgLSaeA2w zg5jLGfjjc)f9{G8w0DM9EKF9#ghj}(rN2PU;PTLy`5>Bb(@_2*Sax?boYl-+AD(fB z{q;KeyxF(PyuzVzp&z{O-c!GPoVPE2Edd5{L!F|8%4rW*F7>fz2z` zZh>#%y}|x{o{u6JHOuW-PhORJ{64i{44}~&al{hu<@I3voj!7P#s6}5266wqdyb1W zr9o_5f3BlZ6;^&r`fNlv+Rc`0L0v)Z2|fIL(Z5Jv!cOje%bGiOD~*s=mHQ{kz|*7r zEeC3n-TV;Alh$-*A}S+A(0fk#s=7N{r{YZq=erX|`!rBi1Aes?NknN`MaRQ#Y2=^`~Ubs}>jfAg+cbtQRbWq~D1p~NyHDYZkFYSMr! z!QD&ysH`N_9mA44C=J`vvb>@?HzPG9hCQYB*R@Yfx_8KQfuk-an#ni;cNQcZ+f|A) zzoGzxn{xG!k~$!UG@A#TZdpO0<^l37cjhXk!SIohzJV6`cVCU2YPS8t=Dwd*{D%3oN6a^h{KZZ% zBI5!6YqThP=Q)DsaJtXf36J2o{*}MtSg8tIVazGFQvDWuc}A%XPGQ`Ok3Ps_B!W9d zfN>90i@b6G=i%8(T`4C0U2J)gg(U6(f5Is3{#Tic6y?(G8x42dEJiXpwRm@ya761E zj(S`M%~#|2XlhGpx{an&KsKYW#5vt5#ihuI1Kjbp-6?R%eM0v%#g!^0iq&;?8{1#i ztD}iAsnw4%CIA(qtHVn1jE-TFHj^Ax8Pvg9aIxCKxm1e4=iY0b3BqX?IliKAeJuD`$jgRvR5T!FJ9fPe@PfByfVq_O@_lr*rh0XLMtqT(n@w3v#m{(pQdEaAwh z4f}-lqp(}iIvb}}a%w&h415>FV&;dS(1zon4wC+dm=+N^lFXK~)4}^Z#m#zb*X#TJ zfZYdhg2$fRW}BS&<0LofSQA691LG{?5Ld@NK{qchnpJ8=+xW#+mj(v%>`U@kklGC=tMuX;Fon0UGc~a!H7ORe;NOwp5 zcl^MjgMWcJlEmN-jL_4K7E24G6S_2uhBd83U!vkVz!@4CEu_m3fWlh2q9CNeTcH9z z#&2HzmTX)7x7*KyU{0XSe`cOhy4(enp#!`v*HSc(3yy`PtRxsBD;sz-w%HRf?gcO( z+re^amx{L+1uA+*xb@8Es#ZuST#Zd(B|JALim8kBWu;pG4ym>d!?%zE7z^`Nda@mz za#YJcE^!3w;i@mVy`If5ZI1=8-Ak7Ovnw zBR=YSI0bIJCxirNPPw9n5cOYNHeB)hOG1SqjcZu6_T;sK5qphy`4~ITSDqgOt@#Oe*bb^aImDlB7%W{c>ddeatiS{{he|;wUdGf1l7UXK50=T&BYmOW& zdfA@q_6JdoD5n5j!iDd&8?|858d?LhY=`uhqaB^`1B(MRok z<++PE6;Gg+>t)!&H!ZEal!9g3PPm?MJ7*p&TvTw&K~77(*w_ac(O+{oV!BX%40L<6 zE6!sye|6&#u*0ewVqg^;V==d7DPlI|h4;eJL=Cz!SB4n8)_~P%c{bY}2P&7il-MwG z?o7pg{7+|B_3K@Rfjb~9w9H1G^9*7emy%VQPEx5Ia_nZDHtew@F$^3QOsj()Hux|v zu5390E=tQj3oJ)s`#`*qR~=M+eOr^N?0ay`qM+N{(WmQig+tSH8 z7wHY(vbBizRnp2z!-F2E+Du?y%HeB}*-05FbO(QdJ9ruekK zn-&27OQzdv>XvI0E#=JnFU>h&{YPvXbMk9etjGff+yerKuVl!xymRzo!vKNA4$aIB zf59HzOiY1mYf<$Cfs=Rp1B%AC&?S|aAmHU5dY2s?8~I0FT)^zw$T!l*aNj3Ny+b?? zSadi0*6szMvU{Sb#lz@Hs%Cf|up+q>^5;L|a=*SL3l$Uur0d@bdwl=xxctvSs0rhP ze(d@!XgM!687T_-0}~V*oQ^gF!qI>ue-YX27B-p;d2H>@!aaVZ+HIw)33bi&Y^Wo9 zD8iWwCVi;`hc{wzXsKGv;tIUXZl=^W@#rLh&2nMoG^f=qsrz}_!hP;X)JsIpdDgf0 z_4kau{>OBgAeA!vg>9iyjozq3JzLN!fVYW|Mpo1#`z9ub-N7dJa~DS zx~L$U$vsdacx+16@`NKS+E?96stxJUTvLX$rXWy}{Z#J)PfP=q9H&qw`E0%)f(62$l*wIc8k z6^BO#bV`py#9n|KhwwIy7vGFkOkbEhg;?- z9!Ho%86gfL+J_gNnF$L5?uzqYu_%RHK91wYox1x<4#_c(Wpir16HIE!cG~E=R+ha_ zpIl`3#}`Lg9~X;}e_Na!`128mIzqp#L-x9ic)E@5a~%!zAMOVP#QAYB04AGf&$5ID zRQY*$dAIpsarnX_10f@u=;`Gqdr@bD`%))|GgYROgy!+>)OxE*|LG!11l}oHY+H~Z zzp1eC2zUH>9C;MX7|A2>18AL~q&e@X{Folr;9^1;P2CnKf3;L+BZDf)o6aPfLhg)O z{9DJLzV;k?=XcOkTGi=BRL0fy3(`AOz@Hzv7q#ODT;d z1{R^gJW`gbP(K9rQgN+7aP+5J*jUqB4pyXC{3YjjaO?W5!Ny<# z;tnoB-x1wXGPteGWc3Th?wZ{9U{G$Zv=qOkzY|)X!CQE1a?lX*jfN@_SreF8e`I6% z<_*0=yQ(;q19q{62UYmOUBn9Kr8K-Z3xd46xG+kuf4UCp95#GF2&?`5RWHPVlZ={PB|> zU*-wZp!8aETVE|13km>09D!k&V{q!WH^VxQBhW7oj@-d}zNQRp1-gh5T}$YuY1u5V z5JynJe=u63PxPlb`L>Chq=a4es?AG+l$g=wVmsaKJ7tLGCRxJ@OAsV`{EAAD86Dcu z1Ez)_W?mBX2OsAvb(+Ns$>>Kob{mwMp#ocYGGnG* zZKnOoFY}j7zE>~d$LaG`s2e%Tn_ji{9&tJze;+VRxt92A1g)RuTC4fFiH5JvK9XXe z;=)VnD9Zw1cgbO1Q)H`YQi%xDOdke&U7+9m>?7ijtm>(kg3RnMCXc1Jlk8-$6~AH# z!>0(P85Of+Vl4;;Fm=Xx5e`(da*v34j3-PE#VGblci9rbuk3H#QT2b#!rzk7*t1H5 ze+Z^*;(Qed={B`r9b3e2>c;w5O6=BhA+Q}6r(CS4*xInyITY>tOMRGsL`nJl^w-~q zYRx?pNHXG&;DvX5QwI#%i67t$nw8WfC$!3uCMjfR=DY7$PET|fRlhQRv>AS9wmrjG z7uWr1et#(NOWK>b?bW5H>?zqZRjz%=e@1T@ z3wPa_ZKXO0W2A$ad_mjsw|*G zi%qv*?F+}V-0Ig7j^P&$*Tw!1?P**bZEg}&u=DoxV&eR)KmLme_+l1D1R<;sJTEmxPR1VU?lXfpQ^&D8bbH)K2{Y} zn;5k&a0G136qu9WBi(h@_4sWo3mNUoZ;&f?nW85K#MqIlX6l2fowXJ#N3ia|jyPN2 zY&^zjSID(*%4j-cxT6)gEoEiMM}77)H_qO#TcK7;ymw5rM}fKcOVTo=f4h6=fF}7} z$6SY(&V6fd2lAZc$Ge4_9~R;SOLWuHTSvLHihC;jE?p~?)LYUM&T$bFSiu)qSXd{> zCpcbVwx2XDQoyozaU6)cn&J!ICO6664eWQ+d&xA(OQ7~>G8fcblBDvCQMxV=5bjA+ zVog$N+uBW|hoE6zS73&5f09o`;Dpbg|9Sl}NX>sz%x2Gb9H)S=MWF&ScodN!|5L^hoxSeISy_+$1mq*W9qg>U+VdYkI8$q-41?Lh}jK9yOMcs>}w2yG619CFRuW z+lWH;Jz7TrbZcA<#mAo$LqGZ_Z3*O^ox`cBUjL@MKDk;BXXwVwe~W&EIe~aK_F{?m z)uHY2%TyCDAR{*<{kTNdgCzLw#rg#0cEB2jymZNReF3#~7SMzYdTt7`&3}Nz-}u9{ zM7}O958-amQ+M7Jk<4|yslL*-@@*#O?ks4%z>jphhPJh`P+e95Z+Wp)w~Le3Qw5!O zxt}!M89$sXsk=kre5Z*$$ZJOk?3r}>NNpd$Qort#sDNKvajmv0 zG}%tio$ct_709D;*xiUUj!kVWam!?2(;mEv^0JQr!7AOK6sd_Em`BeQxV{t=;sXEZ zf=Bz>p6P{B+SQP7)z8q08m^iX`<;l$uiE(r}i&Q)jnI}+YnfQzEwHDMfG)(ad zyJz$(#voxLfb8Pb*wT(nb419gYD>sRkF%JmQMJXD=6{5o2aVF{`Hm0+v1m1QQ+UQ`d)+`(Q<6RxW-5ZrfR#C9Z4 z`0DY4)!jd9;L7ITS2&tM-wp`X{l6;x$=1=j76dQUcZ`j8zp22gzUtT{0i=1A#xcvP zN4gphx~1!*lGKWF&Q5>1QZQqc=nYg=fAqf8dz@({X-BCv=YC;dUkWR*O3pF~5{iTQ z;=P}0x!gB|3GD5iYwqM4H>ZjWq}k-@#^gEbEud85m$-VStTc^j$Ni15n^_eIQHz{o z-dJEIFy!7yDALj643)4{Anr5^(3eoP><*NHKH*+@0bSic<{oBrBF8;sBQ&07f4r@n zB&gxN({@*cD{Hlw#>JAf-WcJFLYiTnUCLd3b5n0)mQ-RijeKP8Y$}UK{BulhuH+aH zD-hEN=i(E6<(3J5iZ7?3NMJRQ;8=6v=zM{fI-X%4edYXzFf%b2^2IMk9bv;h#3tsu z9phGMvHTu`Zq8!YwDxdd9x+yCf9^QFXx13Q7bWI_T-Cmi_3Lr`kJ ztMo=eP-ef!|6t4a^Uv)={k`Yaj7nk@%^uTLK6;uuLpY0P=WoGN%!ZWeT0OZzPfq8@ z^x0?myr4fx*{^{e11gQZljQH-d~_cmEf1nAucNv9txnzT9(l1RM$>fRiTFIE&TD8lAtz8BzolG+nkCd!hnt$Q&AF;7A{AQU=ZeYoj<(95l|L8@X>Fv036yU6Y z*pl_Jc_AU3?^5l`eB}KPYEG#r`ay*R0wVcuZwO)k-@hT`znB>-f*{J;LVj&1J18w96f(fJ5QGAOw|}A(;$09eoGmtg zk0-#o(lEW<2>gB?xJyS{WDcJepkkjA(3@L|tFc%wY^WvqN){Dad6Fd=>zIZo* z&ZSuO@fgm>pvhCYak5=355XN$<8pvUi#}2 z0wFt<5{vJQu+0iZC?qaquruvHDSc=~bdq1Z2W>H!g&8-y<;FU|*Q=SqJ@K+7iLw0QNYI;$qwM?Vz}E zF3KPB;=YbL*5jT#NC~O*h~+cLn{F0-p=?op3ex;Pw7pZ1uHCk!JJYsp+qP}nwr$(C zJ=5lwoXMHCZGRi*U+e6vy{q=AI#Crd?%#MLT5qk#z|(KP6ZY-v;JU;l65I~NHx(q7 z;uj)Iq*LEjJO#PAzf8EaFL?hJmr!&yqW41*k>jiq%Kve9O5TVuAz*@SUqw3&&{Lp~ z5x`(dV7rG!X?5j6%X`$t#+}SkS8jU|MU+}2gRsW+rGJ*aUR#aQqW9-ZA+iaw+w&x& z^{Y3D>YE-+9hLv9Nixi)shdFsz~N}dk}=>dtypvN$F64=vc-|-m>-99^_Ks(fuzT^ zVyuB(wum(CKV(zU`5BsDIog6!IT4{{Cum@$5^8G8(~2z5Hu& zY|JX?f>|jX9mrfg6W+={iI$KKdv0r}JIBydr`xy~>a81_B*|WH;xCX`Anfs>_woZ> z*+@vMYrZoNPD*N&j7lV56rZ?Qb~3FcvxD@>EOh zb!{v>hbA4l%>7esj#X9@{)ER412y}w+eNzGqmBtuAWcM^x?^K*E2%C|jTZAJ&Ye?B zzE?-WFOh-Ia> zWzRz#Sow#)EYoM>Vwb&vJQ01A!u6ySyXe4M;WkbU2)*nL^@SRaeF!G}C7MZlIe&{O zpra%wjXyfJJP|%eI)}*c?I!2AOxQ;0JUnIbz(G4u;Fd?Izv2f)Raqy2djY;Yo!JEcH;MzVt+YEJuxqz zn-aGWJvS`Ty9uu>ZW+;TME##p2K4WJpXr#FpV50R(MAD5dt=c?V2%Ci$UbR6oH22( zU81%9lK)x+1^X-ongM7`Z$}Pd#su}-V^1GmOZx^xJ2Et_*ZT%rQ31OJ(q5s3^QGum z-nYQdE9$cpihzDp3%DP16n|vUcVGkcMot5S@&RImh46;g9tgctq3?F+l|qgI7)-cl zH`m7gT7Y*v2cu{2;?-_X!GnDLHBh|JpRe2lbaTF;yX1uRuYb=}8Qx;h5rX*jD;V?t z(zKrc{8%9`*-i#W2yyHurBvTVoMBYk&aZN*W*ss=jV!&D+jkG*RwSx9L$#eP;)rQB{94x^3_SK_Fvl%h&4H@Dm64f}+K!hQY@Kdr==V<>7%8 z6bU9BaRigF|Hv!+s2%EUv?3!hlmU2YHye6Zg7R0xrkilT^aWYZ;0AGYCi$wcG}@TG zT^>}8ABikeb7nJBtcUKDyys|~2X^fxW3O%XY4^m5l~t%RD1Qa2d50C1OT=mg#^5= z0xX7AIqM+Ddw=)(d%478Q~kJIvk>}V@xU@zlir~J5=sy!`)mu)uV1DAEq;yqe?H9K z&cXiwm5H2#>3?qJ;#BMu78FtaueaCT&>RVY_i>1816B3K!owS~>If+VNb5Az>#KXP3P_g zwa3yvV1FS-?|uyyr1G-ucI}ugvCAeY(LARz#KGOj@0k0dPqyJjvF_8Oc>t3Q=t!PW zA82qU+52H79s;aomX%ELIoBR<^$WGTKTpR!Hf`E#8|7O)7|6`QOkhsDhLK+8A)pmM zb|eDqxU*2(%&mqDsXsLw#{+v1%A}(@N?^dd>1quXla_>3EBbjX05REhYrLqK$Uhc58OLc!2S| z<9R+-OHL|H_>R5yGtXEn2Zp6)?sw$yG35$~qHMSllnHe#bpnXVr*{>Jc#l79pi$Z! zsDIcuC0=R&{x=zTKccbch(%1V)P8~?>mkEJXHRu03Cj+ne-z}2g#GP`rCK*F?=VTD zLf`x!3R*&G2Eys7c!S-wwSaXpVN$#XuoJ4IS*t7PH(7$Af_DT_>$9p;u=3d=C`J?% zL-{}qCm>fKeR5DuR6{9bL$Plu%Jm@gMSo+wDXdmch%O}=*WZ?lrSR&pE~T^ex>zJd zf#UY(sSU>14&!OO&ZO+f(s9Om!@~yulJy0iOQAdPuU{Si?KvXr|A(yq!v=*ErT*h$ z3Fm*tO{&?rY>1-rUGSpvK)cVgl9kOtlt0lV5rGNgVIxz>%jU5z+6j9#9N|gS(SLfC zy0Q2k5u_E-Q?bAnya)9U!vgfQ%(>l!?YQw}YPvmUdtWZsx&ywyEvt z+>f)#Zm<#HYxOaXFT3I$2s$RL*fzFlY@@r&cuttX#qL%70r`%^VfVluy;=t``Xekh z$g10J1QWvJHrskGUUK%5=sC%J4S(5hH%Z)nh0Q@wpWC)i32S}X<<_{|l&mAHuA8!P z-W{XVp=Bu9lN%DQ6#n_!%M#Nf^Pv8BQkIA7cr&k@+^M4?^^_dQ zP1XD*3r|YT?hK@1irv!-S4yL;vaI~)-=*D$+`Mh;%k?ET&istqiAtH7N|n!o2B5j; z$7PA*X+@k9(Xi1mM=2Gvx_<^}!_G+LB7#0i(eM0Wn}K+s4S`pzYoRN7EFO18#1M5A&lul~+d3PbD>sV7xL27i{yI)k)fbnEGk zq+ma|?Z%Ns%mZEsEX%)TD%v*^yz3%|{amYge@OfZUP4eCDRQ}?h*8_(`Fxq8HabLn z>|RtAEPh}8<(GXCEA*e|EYj#*9zlY1pQ9l@#a>B_R%&>S2GxO`kJF%)xNOT|+uKsx zQ{7NedhWESx|!otOMi3izPwd`t;@iZ@D$7W=qr?qbl@&UEm&PcD)mP8Y_Vp;rQg8k z8mqS7U=f>W0;5-YWJ)wek|I^T06vwQj0qBnO|aO8SG zoftEX-qrDrPa#>Q?kl;&T^mQc*`r2`MI|jEP{RerN7f>xeUWPTXmqvs>(h_~7V_$xY{?J!Go z4rCZcu~8rRYk!U+d({}1WL*+OdfYxu#GYEqp1Br@-+}PWqWFSBVr7p`d8V#U(*!X}2wLeHju?LJpc@1$98f+^JNdam&~g+JF9}n?$i-PxF6BVBOG&648gR z9B%n+^PFriYYzUKpTH%q z|4TAf6=24iRD8AmjW6z4Tcxhk_bYjv^@ri7aQK7XB+~ z)=ETFSKJpC6)73k3YJ|;?|C~ZLv+c#ZvFR4+q*+-8%oE6EWireFXv#wNVlD*eh=Xz zRi=yMGH01)qw(3JQZv>6diXAXPE%zfitXdFcbQd`+loJg{It3=n{r_5@G(TV3jdOy9tnXR9Gm^(^wVC#1~Y2 zpvmxb{U+!Xd>$4Y;zFPb5dK(=6k{0DIKvUHThx9xFmLYle&C?V(}EAL4f)x6!t%M{D}YO@C*$ zRrhf--y{ll!&O&&8(nOzdJ6ycE6fuiGI?CtcXN$I24sV zL&GUI9)Yenh`D$93k|Bqft(!dAauf{UCZDn>Zr^`SF%Wz*103gk)pKggb7Im)B!1+ z*{+qLI?^~AF^yOA&9Re~F@f`9SzU3ld|{ePi;S1-6} zZ`m{-(&gxfXO)SL{1$(nNq6W2bcs=J&+9An>?VNM`fF^3tB1s7efNS&|8jGe& zPI^AX&|PjcDK>O4WfNEsdRy*jovzYP(UVShra$6~t5JxAJ~RQ4a>$U^AEAT>r6cVK zMu4*5-D|JdDkst9k-GfhMSoR%gCrPpf-682pVnt+(2Ad(<}1X8I`JW!3{Oj6G4yWo zEXhiyU9!JBG`-86oJ#w6aT{@P#--gMwx6&K5bwCX**Z!$TQR+0sF^c!Fzd!H*Bn+Y zF#dBPJX_&faujt@g;aZ+_fN0Lyk~t(`KZK>$4l;pV}slznt3ewy?<~EW2H$R`)cpQ z5(I~p9N+y3vV>N5q|>JEegWM_ikNY7`AZyxGab2dw=deqb1s90;mG$}yZ05`Ul)0G zRD;=!Cp7h<$C$Ga75NpL4Ck~|e zJPt&t2WHvT1(1nUO;*93&@+ZCKA}&fE+_+27a$)4{>}>2?|;SGuqWP%*B8vV9D*t2 zf)X5&!?79Uj$|Q2Jq(1lH?;2oxFDh7`e0^}fBB`+E3od0{T?8Yco|y`e`kl|0cn0) z>MLlN`v$zTM~qK2ef=O?qEI?VqHLHWA!`W9malg%N+nQ|_rjRW$%1>JJLVX_6TDK) zE5GZ6Sbxv)FMkth17&Dh|0mn7|J!U6|L;xYe++>A5B}@_gjZOn1?8!#mj11vM#fO3 zs)-CNuKTNmoTx|>HHlCT85otEh#V;NbXa1EgsM_?q#BxtzVa&gs*mQ{(x&UGO-~%! zQhcMXwZbCzEZ@(`+`BE`&%nFID(h$a#TrVjNNF*_`+sHYDA#57ZT9&dFx&Tm9!PfI zWvIr;en=oiDq-?%NQ%D6g)Oh?KLa;X{B1b6~68cQMX50g?S4-!@EZW!aw-flM>8Ek?7TIHacyG zRMScGdnWo8oXv~nY7aC^%LzmU46Yy|J?Jd>TnY+$hElYyo7^~lL_8VX9I_hvnvqdO z(bfSaS3Ogj)3i`~7diseWg&Y5txfzZ=T)VdXn!3W3c|zO!2`TCqkVcnE4XUxs*G%% z{^rX5+F@(%@6smL>fBntzlnlFz(rTvvJ6O`4H()LwEK4?7T)a(>A~KqAPRz3cZySU z!90A9l6H9jMA$U~y!K$;red&*Ct8lZhK`3sVTAAJF|8btUefV7|RVJx3`a z{1W&(DPJwjipu-D{+7Tk4ceO@J(O;sTMXve!~N7h_j zD#w*&yZb$3+LxgaasuqeLR5O)eE>17dPxJ~suu_2+@)B|dOs*erCyEK*Jb^&=O(Vo zCS2{Eaou`5Dn^wbP!I(dX89$Z!7ApN;kZreaB-c}q^!26mYvV~k19WKoYW_(%%KX+E`HrjxvseDb?!xnqg9*kCj5(lrx@B~D$B7e6|wLHUh z{Egx3h*~MZ#(C#QjT2s(sb$S{OT%T}4&)jr){kPsk zYiqqA@SPFv&h5UKZ^|jAdh1Nny082j3)sjTdS4y!_oQfBlR7y;*?;sAfQCAv!yTv=18$uOb5-7H} z@zgp$W^B~=wLb4OzVeq}Xc6auD$0JW^l2@h4G7roUkTse*fz6OlMQRXEa+} zNRgGmB!g1Gw~d6>Fn<_t@!^cag{h@c6$Q3lKVAia&PA3b_b#V(Oo;TGY&kJj`+_>K zO>P=6`*sCEM7a_e>VkilGBW zIWvDJ*SQNSlXXJVtOI_41(a~VleuXmO9XgL;WfWDrgmq7I?khfUv0!5T|eR6+W2tc zsGR9cf)bqv1lh|hsspUwDqeX;4sWVB!VhBO*8w0Q6X~!=%bKLEPX5q?*VI5KRFZj1An~jjui#1NVe$k z30iOiKW_V9vx@HnXwwu5RSEc8$v(JnQd-u<0YuEtHvH~4k1*L8D$@XfZ2>D4MNy)6 z5HfY1oiFF;B4ozzlLEF0a*@qHZmJ`@kNubT&~v$S#D5%brIOLT`$!=(NYObZ)Q)MA zRfX3X7qv0i8Xg(UbtFdJdiBvmh;O0o5o#80PC>?(rskP)X3?@w#k%E8{E6q*5}bo? zopYwOnE0>|DBmr&-;d(kb;8tWU~SV2kOFi*^jRrH!u`ov%#$&*hpg(RfK>X4Io!=P z9FCBl_kT0$_w)(d;95prPvh~}1S`sqL)kcFE}F4;cxms>dLd#L+eA~>?HZT(;FhU{ zM0EC1etk-dJzekQsk8^%hN*U)3_7s}^x|c94Lp)05wSsrG03_Q^B##2%44Fsptt$L zagHV|8sEuKG2gJJm&c74UCykVr_z@VWV$voZGUDfLd!Q^3 zF{68Vy7G4QU5)!^fAU8`Z=~ss!{+#*=%2zzWcjUBS}ebFC1q0cIr&mHU{ZO-nagw7 zgn#Vp41$LB4QD7aq;e2q$&GL>y2tCR8w@xup;$_y{=p(IF4)6E~6Hz{&WYcx1v(=~(M&3x#1l$%EN z8lxN3euvZ=zcr;{QXl-PMOPcslcW7aC4UN2pu$Lf(=wwObyn8EAYU$mC!o_HQQ9+L zbDh1K(6d3?Cj*H&EjiS#8Vj+`OsUWz-%KO!N1)dxP#J+f!Z643lsiQ=`_suxvh;PA zNUP7%Ghu1OHB=r@YXQ=vn4vxVMk8 z$>+o*!N$w%d&7ka;%;g5-BxlE7Pw)yO!oDgat?I|zg{*@-2{mtQ4^nHg7<{H zB!l*hybJ3{?VN5Lqtol2raX1A zBvxP*Z2Tbrb6~rvqrc<)p8Gz%s*MA(*`mjB^ zCP>sghe8yaJCoM;HLdC$Ej~Lgp5tPzn~(ThB{v8|bjg|X)^6ubIP1+Qsh;$f`;b;U zixYOy|vQW%pOfECLg*CDYaDYA96OH^#K?L~%l+UD~9 zl2)3&_**y@r&(CwPrEoPrdeAc;|TN;ppw9F z*k9H``OpV@g!m+u%fjGPPGH{$a4|3((|?uAv~2)=<4LB)3PXe0M&4b+Kh{q3<*VUe9>1v;M^ynnRU|69m4$#Epz zn=3LOWL49kU?@Er+XMPb8vM)MA9_#(l3-xwo#Xcdh-#$-bR)o!FaXy~f>C*MjcT9T{NiJ*^t(dvZh+f!t_ zpPupN162NvYZKd5qG@e-Q$gv07dAVfBH6~2o_;j2Fg-4m78Gfe#nI(>Pgv-Vk+j%8^A z)1;nGNGQ{&PcPnGD;!Zf0^W(rhfRc$xWK{*0}+Xfp|C_eqJ(s2J0x`PLKDmRs#GGv zDJ$!>_(BKK#(x*uB)kS&y}J^sz4i*+IwS$@V9q9Nsc{aYZfUSFwKEAdOIIms0IzDn zSqtj0=YtvvTbl2KHr$ZQS9h*u+Zd#xwsWd~%LzNn$!iZ6r*>VIPptsZnKfc+uXU)r zr{#|&==iOLrO?Z!?!`=jE3>_ybZ0^!*Rmy^s%t;sCV$HXTVTAa2XX@_8x@mybBRqV zr0gcPt_mwxr68Z`zVdoQ<=^Ny`74xGfN?Ot;Hv#+FX#4c0;VIfS%T|>oxesQiiV7AMubiy+QVP^j|wv%nHp6UzJ!#7 zh=247nn_;RKkjwkd-fJGacaS5U8OQg7){VYB8HSMWTYELamS z8BJ%|+M2LQMLQ~9P*Hn}8DR*xKC!dcPP1cYB&DD2LGi+x)+oJ z76Z;ys^I3?5wpputcmhlPeIt8TqP6b2DV&DGh`H8eQjTl3DV_xW zJdYeOF4|v@m5OOe4ObhJ*}Q@o1&3|yyQxHh_jZ2NZBK9G96WCa>@6>f{Ao+Zku@p zX)W~#&1$doE85yoRezs;5$%2% z+TICT?|!U%ADVFpm1PK60|9}MA#SmQUa8?*fIwdcrFT;QP>Va0y1}%?aqGoDC5!4v z3Jl3(m3{~>X_Nf%ss1lK?{tIwb!tQvz4slwQjxv;rBXh}P#xuI<0?&4K{L*FK!uub zrz~2E=ohL^+3AMmy(0N;wtt$mA843TCtP0JMF%JTZpD%#HySX>jV^9Ua^VsE^bDw+ zo9@mL2B~*F0D0kWvWU*_>b{O56>L}3rXQM;0J*&lR_vN4&95+XbeTizYI}6^2QPA$ zo7{cnzq*Q#KmXbq+Djzj%t!k53ykvr4`A(oXKU!c5PQo~X6;d!5PwGnD2Qa{!%D4i zCa1U301*xUbM($Pv%*f+O>SDAOQ9;0HzsPua@^Q|cxI z)(`GpPqG|(1pNI!;CG3ZvGSo&-u-Y8;uwHQ;3NJ>7x)(a{Z5J%HmhS^e`k<*rg>{) zudW5aR30BP=6BK0=8fv~Xdm-tY$H*TbDcAl$Bw{=tEmd zy-N0s!C=Ht9dm-r0Q@Q_~sVjU>b!JShkj%FI9!)_IjD-lxv4t-Wcc z19fPs>gVIjoqucRKW5D~S@gPoTF)ee`Bj33nXQsRp5U^axsad=vrJ12_(gVj(Jf!_ zwdAxdtmv0kcU{DVi{F*aXw!M7`z6oLjI7AUXH!P~>@br2Az`P2{vg<#$TI@NY|tKc?k*XCRM7>-l<68?_qG3Cssu z%@(sq8-H8PG~eGR3H`qev0$Ot-8NKf>OIVByhoN5W?(ZaD_QJh_{id|I_iyd>a{B; zx(`37oqBU6rtlL#EWNlWhlQ_fGnf&MDsY@ZcNHH`IBu_92Y2dAoP8+`HY<=hlHIRPpj_a$nxtLUpjIr(56x11g&{^#u2 z@C$ICLkWht`0R|T`YCBdoA45;rZ%r?ElV{P2F~y*u9H3uWkW^MF1s}C>_gc)S@$R# z4Szhm72cJZ(!dx%5$IMLXTn3IU*r*b6|C= zZNzE4=CO`RXU&?*l#hV!EMRU+do6jM_%65KrLDo)WfG^*b#+Nxg$w7I($XT$evGn{ zUb?YNDx^I-hSSWd+u1?0JQgX)6)q%fe>#4|WzbtRlEit_I&|pgIaPgY9aH|t>Ajsvd=H>6r zg+$ksst^kuwDGzsb}O<9=lA-o7k{FknsBRj6-fDgJ2BEYGYawwh{%|D-EZ>eJe3H> zH_%!(KzMH~>_>V$s7)}D^?hul+dH*56@@a?d4p_E6(D*$CfV!@v?6l`Vv)9e23D?B zOO1!oR5bQrFidKdsns*OqPAHHFwuf+lNpB}M*@29Je3#%n&OW%NG8e@`hWH!?Th%d z;dCL0Y8rpX`^aWQf5q)H{2{a*AQvyqrH((<&A8{0{n3_LoK8i7o6!qu?zekU$_RoG zN(6q!Ta?KfBU9d#M<@H!l5(13nk4R5Lx`M)-&jJq(xf;oc;$#++!7X(n5}5xzo%FM zR*78y>a?3%MI^rqwCJ%Yk$)>vpbEKJ+ApO7B3VBdefa3r){H2Z;==m3)FA)M%jFNzV| zgAr2uKxp>J1rPKWIML*I;o;vH)HlJ@{;Yr8&;b7bdP@ISIJJ%jjvD3`MU*U5QBkV0 zPOEYpwz46mXBB#5qJMG}cqN$7op&bgMCt_WOfIP3v&QSCcALJw?&R`*$fSkArvQCM zmjZAo`(0RKtMjpL-vJ14 zjXi2-5WyM;!g2fJi5l7&mP9w3MnG29Z$i*_`^oGUzB7k)8GoGiv=X{uFnZ~JRB-!= z`cCUH{i8&!`-l7sTeK}n8iO!&e3Xvc{!TDn|B%;-OZ^8A&yG6m>z8=cBa zN!chtS+;kT8fY!mx_J6>L{a!bDs=fer)ZJ_`}`i(^OK=+kU?iNl#s4xO*m$wSeqmy zR~P1U<+?jd3xB`{czQV?9WzT;V`uimjG4j&@>y#Kz<0G=SOagQ$ezN4Mxclt+e|xC zpkTj)#iu~Qn@7@rC#MdmQrK&CP&zuRoE=k5yjVoUJY`o~uQbc`>B{YCnI?OJ&;I@1 zV}W6S%yn#qE`t{aJl<}E_4*ORlB|T#(%%IyyTFvVwtv%>h&_eXPj=-8$KBz_?lGG^ zU2K4StVUGlji-42UG05TWYAnLx^U3;6eFa$Xy->?ZB!fhpBEeHf60ZegxJjXUvkxHhgajD<|A6v`clSlUZ_Z3!>Kg zm<6@2qSI}MqJDbMN->y`o2Z`}JQxr)?PK!K_)@6(c z2IdiOlbM(nCf8lNn~|mI)pDOPu~__p-E7Qt3W96|T-(*JRkO~v(oxLb^Up45{G+8COBRSbvX;(3$hVrW8HI(wq{9u7XjdA34yo z@bLS)>;cfLDb2nG>*&v~ncGLdnS0%_H`x>VEx_95IA8AMS1?6DHBP3@<^K#+ zE`RRfL>JyVdj4+t3AEjnkYnTV{ngyqYFs&dM>K{%{4L%P*4VGv6Tacq1k!i3<)Jy@ z!4!9s*|}qaFR=Iqe>Xzp?1xd~Mgapc1)~Y@F~uE|(0y8Hz{KvS&lT;e!69(TH+)oi zEv*lG`nLh}5qYKrgZ%mx4*7rd8p!`(h<}F4f*>lNOwt@;sXD08K(!h)Wf8EyB531% z84#|M>7$+03NqB1d@{7cH-!bNqJ{6{AiY+To?ZJJSr})6(s#k{k!}5hw&hiUasqo zVnZ$=O5QyiPQaX!h@mDC%VupvOSpM>xzw1;5LLMFXmxUPnS^Fhmc~sUqs0=LSX`Mj zAII%{U_5%b?N+pj#yN9PP#^?ynP>)mmOebZ)|v0Xp53*PSKPVmm=efIe(GIqSiqW zR0g2)bTkjH)mR*qWId|L_+U;nDl&!XDqv}qW{ib_5HwrgH-k1E6LVdIAtw>K#jw5X zjIb(Wbcy(USt|kH{dEHpSlJ?8zpV^)qtZt4-qTgB5zjTPeiC&wqsvQ)8#yvPs#-WPhjX*typW(z+8ebJ zdl049$&ehRXt{mVlYMl@k<7}A6>)@JhEbu`y6-8hb0r7BS|?WQVt*Io%$$!S{43hj?BQ7Ss^dVi)KAHe}UluQY=kPko=Q7K*WSs1qEQ4W^#b+`9Z`R#^ zeh8@r<*BQN_C0HwoFQ8-mt9`8w(eT8mYwA)wN8$jY_(8MYGpM~MpxD|#XDb=lEwHi z52pB*D#k9RnmPgv9ULhMBBvc3sUwD{F$|`qiYkVxA*%Jb`G2zAlSRrhF-4kqle77; z-FuSzlk1c2bK|q07eVk(AbCSAT?-bN5SHRYbNBBoHubMGmYoQX)JaQ{pvLCtk{l!HPC#n*=&K*8tDS9>hl2Z7 z%RIk%o4x=+VSmvQJ!2M8Q9;o~pKmj0woZN_eQSk&YLbMemv$uhEF8mCMH^(!$WzAh z$W}^8&saloP0TOKWTw%|<%OxCnOddGP|By5s|!;VDa}2C z1NZWe5Pk3s2Cf{OUcqp|V?E$qNmG)(P|JO7kK{$~n1Aq|&rloj7co1*Bcmgl$C-#! z=EO$a8UPu&{+85~)yyWW3tfO>kzgULjS{iTl)HZ6X16Yx8a#TS_IGo72wXWqsy7g- zl*`r?MiXN8M8rm3@+~QD^V9|&ELW6N0-UcPnvY=;+DhuvX$;()w4A`b00oB_?4B4c?IB+owHkGms()P?9;9nr{w{%{$Enp+5G2>W)Qnit z`fZqkXR%NFcSDvk3PIB1uek`>Iv4$)6ktn5hsGjMolf#U_zJQO-95Zu{V{`8MZ{qI z;#2Iajc|Fwv-CK}P#tBk9>gcT>}ZR3Sn^1p@|VcF-B3p_4o-%s4TMJg6JelX*g*xW}l~#vf zp!^NeCuGeZm0tkDX8?_$uB8OY4C3CwLCei@#v;6c?pmdIprP7}&swuhatuaZ1|;vc z|45vaaQW=xP#0>Cq6`98uStr9enWBmWPc^g+fn6Z=4^UQQUeSuNvz3$l_dw!1`ac> z!QJW|zb^IV=FS9?OzwMENn`aOWH0ITfLO11Q#{f$;B2Mm`CYXQVhAU zkRIR9p|}8*zt&?Fw^lgzL({NRc=~L|gBO+;1d4Hb_(g2s0KRFc*Mn1$q~mxE1%!rC zPgJNYUz}wt&CC1&brm@t`!OXP27drviF}IQM@aN#(yiA}5oyi7E0)~ia1iO(M1D=YAQGd4Ma_;nyE`7w> z$P}(2SAWe}j=L8yKw#&I)!c-9Tsu5? zFml_h<&e+RyzD<9VE=^sLDhLnEJ`gxx`{&;hwd4?HmTJvzAmYF_}Q0B zn%UWRwLipZ+zri9mVZ8x8d4x@><{@dGodQb+{Yi?mrNNS$|?D7%x4`O*$2HIJBANG z%bTc{<7E6|vkcChX5SYvSW6#|D>P8T+X&f4g&8(m7_f}C`cahD=SFvfwwKg0#jxiL zNn}Sn%*LDJu7naaNy z_%*HHs*pNO@LVD0AwHRH#ce zeDwT0VSn{2o=Qo)15lc|dwc!0@F1Ocw*LenE)GQ1i0fDw5}vAS z_wa+kyh7T5CB_rq^#=NgX@;~CawmMCv)(o!S$|l5xvh7I`Mw>sWwwvWSsrJ7yq*Ca z6ZX|O)Z>nZ|LKVv`>Ud3N0B68_r{^g+~P4AC87|C7iQ{O{yX zgySyfJ2ipuj+A350ZP-U@3%pS?f1?QXO0m-{IC$sY&DkJQ!$2r^vYrwNZbu60aWUE z&3}v=+aG0-AIVM}l9~j)7bxHA?;HW^oWqd?Onax&X$__x04BV(GqfwW ziab4hW9#tWJ;okzkBH|fcJwYj!=|Y@ef+Gw09rIh&rJTIKvrr zy<>E4LDME2+qP{dCpJ!O+s27ck~_9}V%xTD+qUg5&#YN9?>jSJ?;rce?z-yguG*{D z-rZG2_a;=Y<{F`XEhyrgR&Z^P-xP}D(O-F1^B1t2|IQr@*6*kXo*~42b;4s@p%y`& zpvPoWh}!Uu);=?wWpVVrH0{9=l|$=xogQk&gsw=wbNPPZu#FL2D#w&}Nk%hSRH;aL zq@2{a_;yiSukDyghCj)lW2AlkYZFOS1se!!o{CCo1&9qD5MxcHR_=Ua%-&_Wt@ zqsM;21nD9q_nYeK#3&k|ZTROX_WHf}ib4@4IS!L1pGr+gwQUb$iWU4Pp_r22gm=_* z|J4vn`oOnR?EtRWEmhnB6Z)O|rjlX&p%sAgBOz_3L$WtCcSbVNert!6VXipCQ0Aic z8~92`kzlTw7Oz)JV)sq^!^Um)k&~m@UQ|#Rfs-zwKPyjj#5&(dQt69nJk>0^i=6Nu zBC+v zpanR0OL$k%EH%mSLj7t*0dudQyZul5cg}ebqu_KlxpXn%%BVQIgK6VbPu}LXXzORX zoWS24hMvB6`~GujyM^|(x-TE??O!Ku<8>Umm3&*Vlkp?gL#M?-n>@Q5-0WH&z@=;k zd`lH1ij4KMu2vQ_FQIlcpHDs_2}%H|bym1eDf-y{2)lQUN!+|&zZKDR*?&!nrM>Go zWx3=x1jbbc?{8ZNO^S9eF36-8<%zx`8lq)-qAhu*q*`Rk*?aSJyJIkVu2;ABy8Mw9 z@zWIj5DihLZ#KEVBe8SY0$-a2fn(qN+nUv^5+`?ItKY&>C$Me5a>M-KA!`FLpRA4H z!>$Z%okdXs6N>QksJ(i5sHIi&7Z;XPkVS6kXSeh4&xewD|X>>hVRk`QJ&*MLbO0aIL|8O`XscG$~1hKyo^t07M}zxK!-3HTt!~ z706U$bv6-;r0~37M-vW?1t)0&%pd5-8D|C|9-^x6I<1+WR>U}m+wC@h4=B_3cVMeY zHXCgk$SW`<5q`1iBA>zO>+E?+J6rLz;=i*nvMGK!Y@q@ zS*pnL%VsxY>!o6R51=VP|8E)3jrE|F1FDY#4Y<`s2bui@N@SdDp9iOrV7*p2P-6zv zNxJ%yX@MgqjYWtbd;-wonINu=Z$=R~lxhl0G2-r&#osrE!~#=3c1B zoM6`wsr()$vonA)%tf{m668Z1cI*n;f~EZ=8WHVm^~U>UFqpHA!xg;j6_3+~YelU~ zCN&#B;GVkcFD~LU+7m}KcNh?m!I$PNq*~r^)$$}v6GiZuE@0~!2(Z$LF=&d1BAOR# zXqzo2BJ*TvsGt0wv2|yX%i`*Zg=twLm0c}?N8k`auD!d>F3^CkA-qPW>UE{u`Wk`f zn&XWJCcE8#JU4c?AOZsi{+tWWbOa&=QS3H&JGL%2KvZbvrrBX@f%TSzm)u#0D{QU` znsJTBEI8XQR&ztzS0x#e(@;4~K;~{uXd{123d7b&Z>W+0{7#16Xp^yv_wY7gD@g7I z%i$LL=tG?>Va(}vXOF8FJloBq4C?7@H50EYT59II+y-w>j28^N8`$;|A1t8e%RXy! zS8M$qoe_j;&|N@wgaHLQV)KRursxEVvUCJAh8oRmGw;)?i){3c0v(IRTV`){qKhx9{b?Jw1h{!jJfv0oMu z^Z{9I#&`+&Waj6yxC){dG!r=BZzp!_474r=Rj3E@xD#R6wH8z_9v%o`QOjh(Z+VRJ z)BU9I*aLb-CJxCDPxc7%e9h}Kf`RJ}B5=%kx)+hZ6S;mi6YC8|1tW%J zP}O1Q(p)3yOt%Wvo(l8L+u|?UwD+_2=3&AVs!Zm6@h06uKI)fHPu3Q=Oh~a2*;|nH zU#{>Q`Y{5k^hpjXGaVIr%F|{7)YFxvhMzA0U@o;?VjA5%SJLwIPF^dNJYE;I_W4Uw;Dp(a z;eF&jhYcU>9hJ`qwVNgr1>)$99k$C9F4wmd$p_0HKqBRXQ?^iiPeO11UX1Bt+&q!e zH3U&$42%qXI;oLiO~V&Mp3|jQIZX(0hpEv5L|M^I)kED)U)!a!oU0pOu%B!J@qEN6 zSL6wplrTv^Q>d}ImcUHVK`J;qqi=#m8$U9Yn~P|piR65Pu0@9kKucHPA^@r| z5{;yhL3?=7SwEn0e+)K9sgD@(i0)-Ds4mG6TthZnHDLS7W^Hy%m+(L`O1b2i%ZybMJCz*LDf+l}z6R4Kc2fnWan1-+rvXhYdcO&Z9-_X5 zk=DI;f==)BTs=@`s}M;KP}r!ijxL*4$b8O>`TBgmmQ3J3iG%7EW6C<>)TG#F%&Kdx zL&Ep>Gu*^0LM20{L<3W6egcL5^1kB}XEjKc1n5>IAi>tfBhfOQ2{Sge7{7lJ-x zyb|^%k&fgJD64|%7ysd350XOo)~9=r)pZ??=&9P+Fr17^^42vkMV1tyn?AO zf>ZFjX94PUFw6t?2$>sG-jBlwnuF(I&z&$+uut}z#H$3?v1Lb3E5R0ebqyF`T*4?U zgM4Y5J?A<~HaN;<0K9m&0rFogT#y07^4GFZ`#S^Lo9l<|m(78{WwIGzZ|n<{nsqUV zVHNXhP7G8gWKocU?V zYX2mo0js?4(v94|7a|5{$FpPE@>p_O{YB}Yw;Y<~dBU)O0mxmEUy{`%(rFQiXAGg! z&}&7dNLWeqF9^=5+ZT)yrXeoww>J9@}dAg zDlZp|(03zV?88Vx;Fx#7j>3D~ZtM?i*xT!$7D+X4(WZ+oSlSQvT~R!~uuR=x5KKw& zV&)Df+m%sHst-M7yz3>Xs)&`Wt!3~5=VB3Rqgrqv zo?4ic_$OGkRI2CYw)X{0_ zoxi$Yv8_)ROPH(LJNg>B96OJ#@-Ym2`We8e3$)>EYG#ZJofAhm@yvAmuqQ#N-PF2r z%yYM)Mqccaq-bk-su4AsC@3H}9z0Qo!5|GcdaQ95X*Lh7Wis@ZEleJ0Ib&jOenxK`U*@Bfnz(2MA}9daNxkQT{@H1EanD48jVazE!35e zjGDGb-IF&`jV~R|hW8?Q8}#O<`-=1DrhcnnS}Sz28UFT1nl#t`vE^G<#&)1R`6LOZcNqUs)fcy|f8zNnq^vC5F%H=F>%e4YTMpcIr zjX4UEux7(3?}*Ao?D#hBzku@?B=MQ#X?iL(VcZmDytH0p44=?rAJ z;TqL_v43=Ra#?C(9bAyFOlc?dDf^ipd0N@;qaTioN&l|$AQmoA`#OvOU{ zxcV1Y_)QsC_?_@)Yii5r{QV+vxPJNP%lJwcDa#%43&F<`YS7JZk*4Q~YFiuk03hr^ zQu9dCt<#G_IrIjV?Q?2kX&94Fy>%XiG@XgmHdjiekg0$jivJ(s5l?eH$c?ZMIG0hJoc}=%{x#967(eDQzZYT@Am)xwXxpDw!^70bJ6i zz#MAF%|^q6K>bv~xJapWWEsiW0jM0Djo4KwsHVPSFoID_A~0bC@PGyz{woehnUc4E zp?*#yq4if*%+h%X-Rve(CH~vvrAMwm($6NMhNd9Rr;w>E^=rZcVhglFXVdh}zi$M~ z+{M5FZV;uqs5Xj{CazG~h%@BNr6x%KqtMC6cl{WVrD!n6z%Cl*pj}fB8!$waeg=WS z=z)_!(pv|H*K8^d=OG7e+pU`ePMg;MhmZ;U-Tl;S44V`iUTk7$SLNyp==G6IL(K0l z`x3c)?*Zr;ypwXNt$C{oc-wp*H&orBHFZHI*E_93gu8HYv5R5p>q@orta(xU12kAn zwr-fILLt1=3&4uSZ!;n#6R?yO>7Q0#?+#n)*WO@+Zq~UEwYI5e^Vn}nNKle6BqiLjXUltP7`#A^>!jc zY9Lw2BH{uRoG10tA^^Oz4hhT~@+!W-&fVl-PWv%%50yAfy+M+cG+>+JsC>>1f%@1q zToyu~rT(*k`1SIgsf%EcN5gW*!7TehJlWswPnu?g`S}IPR9G(z_5kmw)Q(H~)glV) zc>>#{u!TG3SURR~vl!aGOW33s$`r9*WcoeDbE7gj-1gfs5&(5##P?Y}#i<%(JX9J< z>Bh~FA#jrgnWAiAd!{IY#sA$30wO)$qZo@$Wgyij59u1r=FRUrUSVZ}(wm0YjjJrO78z!qg{x>M$rU zC&9pLXfk#K#MvXkiPKbhOu;X^In7pH4~*Mk?O50iLl+@X^42h#E)<>_4smO9Ne?}g zB;exBKv=$$vyKjzP?&4InYyNg7o{Y>Qpe?5cWW`&JOHR>)oz*JDa=K⪼8_L;lR- zKx>$;VLbI@tFTRDa{miq>m3WH_uNa*rk!Pz!yQX@=aM00w{Qc7h4<6dj#GI80D8|# z`D5f(X(Tq@#GRQhtz;7Y#eKU3-++ul!UI+pE}q zvu!cD2|x<*GMCb>Y4VXj0Ma=b%I|+VirH0Z0b|7a3+F+orRCEl}+;e zhC2?wFVl7_Ll z36w9eTr3&T@%!OnA{Qu?uk7^4q0Sr9xo3(h8$aZA)M63cnIv?U^&(Dxp_3(}Drbu( zDZti6cw|g`H!YJm7$+Gk zI25i$aSBxYM6{5`Krxc}%lWI8ArUD{2SH1-hT<`OT@6OzgpZK?;k8BV2bb-vus_rT z`?Y(2auy8wgm5muF@sc^6hg?N)l>8Cl~Y~02WyS-w$hdg!MrfqH#20$G9#Qf0MJ*C zF}6ZsUVy6Kpur9`9x-R&A`oCdL@t?4>jz6L-;-E!a$eE=Z2(+0ZMgE%#uZ;bN|nRl zC*Op=P4hT2AuyXTZsKH2O_5rwC%a!f%;*M*d>L$4A|18jt_Gd)x5{H*nX2p`&AW<5Q>8Z1%+|2UDi7R z;8RiPM;5yG1ff80%*xlxvC%}s*~QG>2e1qE#7}06t$Y>$8AEeLh9Nia>{K*JyJ78Z z7PZq+NT?>Qzk8%dUZXq)??vOB2(-cnjk`5>G6t;ysA)6+ONRSwhc$+E$-hd3@H7{Dwu_0jRrUvY{jMiI7jrP0dX=Hu$(8$K9Hv_^~?j&lsYr_?> z>ChIP!Q6$p1Z7CX=lfthv{{tyE{p$|VX&H83vqpz2}!EpQ>If$&w{(FnOOp{j!dzN z|6W7q*#MW>uavKB1&r4)I?magMJC<29Y-o7a~h~wq}_NX=z=&nHZHvAE1^x!gLNNE zG4AB)T&N92RiP&Nyk0uLkG>jd04s)C3UzdG)yH--VmM54KpUcahvtrl(d^92v~K&Q z#s^rV`f&O~3bZaYP(y=OQzdfbl_$r`j4_3{U3>&L#Cod418CEHc3?`8q6=lm;avp( zcCR7ls&a}zh5y#w$Ky7GovwwIzxD%C0cxW_#fai{;UK7D;pX=xiFDhtkU>g6n~PzM zDm%q+8lj*>CaB#Rn*nXdoX$7DIP8<#315^^*RVE!dw8VZh{}V`&kYBG<>S3a>lTX3 zXA~t*{W*&i0oWb=97O?YEHO_JsMDnmC-5HdkGFw9plUuEZrYSGTKgUDUupN50ls#wycNwWU8c8{0!d z?>ln=7*v#{yf|tKMqr`%x?s=VdkoS5yIxZazPyGPr`Y|ez;N}GbB;g~^!s)MqgX{n=Z&LfL7MaX z9y)k<6L3OhOx)0rt~`XT%TITjdE>*?8|aNWU`K0ArjFv3B;AZqB;gn}}SCV7OPA%GoF^;2K5!pi?#w zi7x$Fbfo3?TFDJ)8(d!Ef6~W|QZ%K`7@)&VG4XYAKYPg|W{Pn+@J=v??GTi1id z4&NdwdnX1~LeG38iml%_E#A5lbI;1(Sxb@tq08#uBW$8>NXal-Ik6{W@k-dNSUz2F z+_vay)j&~4*%qOVOpofH$o2mI{$1Jc3Ct%t!p}^qFsW}yY||5K_U<-%aMM4Pb6dND zJONQMvW#%kPy8J2wGB|^LmPX7BBIpN*0Z%VWA19kCPW@H!04jeCXRiphA+l6{)H*W zM1N32u_@@ULSB=8xwGc|;YrrGTu{-)r|(n;UrAj9N*I{QILTWvK_nJQP*wOvI=K4y zO5^zJ)$C(`CgV~XQO$3cv0$Nd*z$oekQGo$RXaTU;T4tTJgo}eA7HP}&nX364%Q-d zSmn?qv591Bp1jk4KxG-CZD15-2ZWd4L!iITPfg?X#^C&gT_D5B4b}vY0raBc#0l)g zL))80J*6}cdtDBq*sJ#2VHV?o#;#OYaz1kH#q%DDV zUZ-X=|D+p(8I%a41UC)2mrR&;5#lQl9k_;Am zKx#cYWZV3Dlbaev{feyrPCqW?q)!JQz<2b8)*DKI-JMp8bI8ut0Ef&5Ly=6j=&R{k zsz}?H=m0Ct1-^lb$!1lc)I;Wmx+mO$g@K-v4m?YT+T9DI?RKTCqV?ORhW|KDW>wzcB>xIpvFM9SPQm%UzBO;)zmDW*~87p$~B`ru*K&rJm%u z>A+4~7#iz6YcI+m9y3%RU?}H~2N_vZeJE)=rxlJIqYeIK-Atkki}4h5;KcS23zcmF zQ$Mtw({*XWKe^Sr`PIu#Wmx_M^EEBUaPxn2Z|4%o4dM6$N;5Q ze*kIffE2q)`7NS+B!E%X(0IGwFgIgye?7X&#fU&fV+c94D&{@*QpsrtYy?oY(kd5Sm}zlQxol=u^_c|NBy&E{p5tLLF$ zqE6@u{EF1?u9n(RX3Ymc-ElV^J=fe-F_SuWWr>_34F*Nvi?bs|fv$&HaZYPPPp}{+ z-iSbVqK^iw&;vW-_^<(BtEpbn+nYV;n}qX~Z&)Yb)@~HjpmV4tan=FY4ilwpR3WUE zMpS*pTKrri%|RVm%v<*NA|WvWRbx=lL-v;mk;)iI(stP5&r|34hT} zyLEsV*DrbvZioqgG;;mJa<`^0^Li5!QyS3XkvMd=Dr0!j7D0)Z8myTqP@I&`PNe`s z!{&@vPD~slqGw+QaFYzl^;yv`THw*57S2va9Ap{!aGBfw;&z*auoYRK5z-_ipF|!r zY0JaA94mRYDiy&Kq&>HN5YnaMmQ}j~cTIt_e~A%-^1uP&e@y$5N-(|T%tjv3kE$}U za9Oq=pm|t2m0GnCzdG}|C@XFmtY4U1oke`dfJr0I5MfLP+%vn-MbaFyx@jX*`Nd{5 z4t^N7(bvHJvaogkzGw5} zz4<7qp>!c$>==r!cR)I~AI^e?cq2U(C2$&w^oXG75scws%X^us2-TcNG4V&K+z9in z8Y*bSo4{rR*a}01O#OX2+ zlGXL`xVqYpLOGbU9Ixh1MDuBg?DvQ`g4AEZgn(a9jRSln4VD&uF)T8WT?JGGWsp z%R5CXstfjdWrPk_Tt!a$28uK2UR1m{bYtq`-$Y%DgWTP^SMsYtbZpFe__ZaUlj%GB#n7nC*5FtDwt;V#NcH{ z-Y?(KTXVp5N#X-Jp?bf1OjiKE74Wq2|CB8RSdI-92z_Yoc$Pw_9k)z`!fWn1*Sa#6 z&y$5|%rZpd!bZjGl1ns}O6hL@b8Gh&s4oXY<^LNko>#Q!u?M9}Er`0{Clt|Fpx6NR zH_f!hX!p+Y#lo%nB%S*dF2KGVnQk6#5OvV#IQ}23cCfaKpYzeX9#Pg!;5?R*85a08 zAhZ~Wu4^hp?H`;L*tjmUIN$Ang~ zit~!^le0eaqZwTs5-pSEp7q)CkiQc)>`9ox^8^#Y`VYA}C>?LYOb*ed!GYa+0FxFC zV%j6y`UN7XcD?Acy)j9VN!Y2>1+8I2t9qtBU4z2on+3~a!%WwITQU-lF;X4O4C z6LC+M-|TdS5S)IDYocgcuvtE)_o8x*nMYX&2{C-nzYA@IfR@Q(omtT&TQZ%y)UQJ)0q;6kUj00>g)U!8r;za!EmklB z_bpF!k~r-W^k^eOqj&_CJ-r;!Fv;XTU zl@~C>n9!+`%aQIi=BIOa;s$STSMB=_PFG-B!H5BYNjLe>{vJvPz>YB@XLLF9(WZ3K zwSzo(qZ0d3fkb*bMXBhzEo<*!={+WwV58#*l;ioUV^F@llg#JYL>Oxa=tb|f%EIE> zVwVW4re+58B>lS(>|$E3XRzz_Y=K<#ATY;@#e_A!eO9r2s|kp_~guNIZ=_i7E~_Um(NoN|jw_JY;3}vN%ID zjw{j(y;pC@#%(U2xQ7e`t3|s-s#oDOjA)I6qP*W)yUcJti3^JyVf?7P3gF^B)C*+3yP4yglE|h>3+i-a$F?Hq){y4ApM&2J4?&(tjNl1PsrpR= zF-cSA^*KgvOUOJgqJdslTV%r`%Oo7o$ECV~oy79v0Pumwi47hw3H98W2BNRFD$;=nU;a@8f_7hyM19O7v2y;?7oB?U zDZ8h-{Sg(}KR~7C2;^s(PItw2jZAcn5oLiSR5)JwxT}#rX%KreX4UV`NjXM!g!jp7 z{HN+&0lJ==^b4}UkrvpE?XI=X8kS`9`?$Vy$4|NXgA??awx0`SNXc22(3oK5E6ePT ze-BHhK%)Zk;dZlz7(-m32^z~5V;c?}Tj?M~{|vX5odgNq$X>D(!r6G8TPV*FQ(M1B z>VS?qwQ@CASO((EvFVl*a(j;Wv5}06dZ1OI0fYhOD>Q+9s<>9y67@%mwjue_PEhDe0_25<-Z0Zkit!RHt0S^FsWtCx%&K%;v#87q zPgr5R_-Fpt1P3So1=39Y<7`ES#R=vZ$Gsj7gQyu&&3oy7C- z0C4H_8<2&jF;R4gN_h%{s~%mItI-QwyDG3Xv|2A0J_rlHvKei8rw^kOmsUYqmOi(W z%$4;HPIr9x+r`F!B`%n&%Ns+-Kj7ZLMvh! zS+-vrMjs2nYg$UmLEn~|==*v~2qo_MJ}hJaX=h;J_r=f&_Is&RPb9NZ#e$|`rI%zw zD>zEn=qCi8m4f?EE6gK5>%kofF=R#Yyx>~VO%iSwJsE+4T8RWue-ajMxi~2qpw$t- z3QnHiyUHu&8)^~uFaBAlxe~KtTO%wA+8Y_lywyl;ZhKB!G%e1#%BYW0one#a-;@&;Ql4Q=F=}`vaAm~ zZ#$59bVSpvkHC}JGCq;>I}MsW0UA&DlIPbQk21ofUxnfouSBuUY z#$*E`X300zW{f^9dPw{e@x$mUcP>(A24y8AI~%+ayhX`@!eoB_MZKbb0ATl#&1>%$ zOm|~;NnJ*ZQ)hvk9#9t5C@ihZxH;=RGrlYHp$3^732*YYyJPYj~)+MK&`b01_Q>y@p)r%LedN zqPo`NW|}0OiHsQ0=pmbRoH-Lk#$y(RYKsoS4`y3t0}r6H4xqLn;w%q)o}JJHVw9iG zM7M|H=vf?{RnYtOdqt*y?xYFEg@+HCc`Ao+3&_CT79)l8Tc>s2a(zk9MQDk*tAF1# zE=DzznWm$vaaLS@0EVeIns{&<6usu}a9!*}9Q3_=ROIY3uGQ zH2jOh@tlw3mWO*Hfb*XdxV&w}mPB8I2)COW;XBUZu}G}A*qX^WPl>l^BBz1t@aUSM zSSN{JtbkUi#;D+$bx?bW#}vhIRa5W+Q!G#qb34<&RBjGT0U5J694{c~+q1R*CLA^7 z*C;{j2Blna!#T=|bn4_3Q%ki6uG^|iqL1*M2o*CwI@L*JV!YuB$*s|V3+%B9e@${b zlo7KzvL`0qf$pa|(G@sS4Db`qCf4z?_aQal9Fta~tIey|`+G(z1_&c}`}ruJq=IL| z?L;|;$;-%Q0^Y3}nAN)vE+64#^vF2+^R^OBA7q1DheRJG1>rLvZc|;WAysv+Gf0}7 zn>a^tx}`g@SG0wP3EH^B-=van^YJ*NuzFd{HOBOQ7G3 z6?~Z+l4r%YBiXF!MPNr7_(EWRiQ24`WkT4(oc?S(0!}{zgOYg$+(jc$AIIU`Su25; z*5Y8f>L?Kw9z@nS!ni`N2htirA{UrDub~<+f&EISPnjX%Oi7rg|42xjILgt#EU<*j z6a;|;@J+O2AZ&x6%vs7`$7U*8bH?(}_lhi_3sAfw(IT*&Fbaf4M6v%w!L5lmzp$t+ zeO3`+0wR_GgYA9}s8bH$QTI-t6!% zx<=vOju@;|c;p9-^+FjFnG$^)2LAXx=%7h|_h zb2cQ#Pela9j$C$*3`I)(Y~_19uqLWw@gq#efcS|#mAHT8eRR#LaEd3Z>j*-F!r9`( z@l+Lk<7_1&@BD_qY3EKN<7jqXI4LZsHxx9pJ$zuO_*^`1DcRQn5=W7S?0+;ylIg>0 zUOKF11w>wP8064}=~Rfd4RK9QV+egsaWKP$QK9$a(!ao~_E6FTTP66{rqwjP%;~`# z0QI=0BpV0w8QmW-zZA%md`VmXPELMVMl-EXv#SryY!MjPlvtG5Tb!9#5FymC)Vz#y zoMKTBflv7!R9iPam)>N`)hF_Z7%;X0DG6ylm)Wl!FvKgFvPgB$>#`(rcDu<4H(t|9 ztf8hPMCGG&4T>pLE{3A_$}8G*s5&aW0nU%acqO!J*~?{yxex3HQ0z!H$Hu+_Z>zB# zEZfL!^%Pw9jU~m9n*=U5^!m0J5LLcwoosR)9F?HYs`+p{J`! zXXG(><-zp&dWw67xqI(h%Y@=^pQL*sDwzOrd{c0T!P};EJS+OTfiE5&b}6ivFx*L| zkMI8mw{Yn72g#r9mrPKTQ>vhY1mIpOgkbBke6l!`0!`S5>1%Hh29EpH)S@DEdSBns zof@0I<_%Jc-)-&fGwGt&f9=IJyuj9LMLD<8Kv*A#b+w0a@T{*a zL*+dfc}l71WI9o1m)k=qu7BY|?*-D*alWJoOt9r$)kK89>4VKIc@Qv%VoE#kcIygTS)-wX83lb!dez#j$;SS1v zJi_f^E&SF*Fk5~~elO;!xi-?w1IQ2e97ulNx77Q`q~to&-q?d6|iM(X^kbSvGE1b%&v7 zm{}j_?s9o{d6@2tr{yu6u$CvGnFo@sUNm}y?U2ISc5!YEZvbjA2Yl20CrP;$(E=9J zYgx-8bXfCw+?6xuVXnWYh~aYQQsc3y zvlGOqbr8mbcGZa~hK$<*b=$0HXNF!GBnJJDBmsryRbM8@;4`Wz$q6GbEIWzW%v>AEk5-XVj88&$DabG*F>$oprokUz0G6z#6IiR>R~EfbLIe z{VIT+6yVzvTYzGCQYdQ+>MTp;0KjDl;74ZaCOQ62$T6`vHhD`iyo|}!!9PRE-j)u; zxg$*C1n>hLYzMtb<4+kgEga)Zr9%-BH4QxbBKEi{ezULWL#}^;2!r>HRNV1DiHCfL zq}&|$|9*fC?M7((CKr(f*~~nD<{pH(jalsg0Qjv6zNtk3sSEG4GnfzfB;%4qL_26i zM8b%I5y?6Ug_{> zz}28W3@k|An=b`V)ppM5cgH`0Q6y%E1xT(9z)St@C8K^+BpQwBX{Uox&-d)|!!%_q z;JX_=wsZ0`M!(csLbd8~s}s#^S5PpK5U3mTqrLEkHlnX_n%7f)Z1WQq*x(_PO(HmT_AU9+`}v6&<<~LC69J$Hx4i5YgNbRk;-?_eD41~B(*xPAZy6v& zLi#-G20R078eDz#aZl72-;rdVap@Spj9=J0y92)Ud+J$+yuCfEU#k>i1_{jp_syZ- zx4;X=AZp`I@rqa5fc?&wLjokhy&L`O;q5=CqLr6)zz9yBPtRFXjDvy{jLss_?u1<1 z?Y}k`Pz3O_o72i+Va2yqSdrH3$UDKmqHQui#5Ds3(MLoFg^gS|i)0FXXM;bL-UJ_j(M;FmbHCDmCC2muE||V&w!#uWuXnmP?tN^IKV~-5D_^d6 zzr~c_hkFE?;=D(ma0c%a-l-?aP*{ML&#r(1sutAS$~7kdLrAgz3t> z2dAea_ID30%VWkRgs>}wLmTVH-R;}}>K;N`UBWvtfyZ=%7}^6ukxz}^;_pCXhEL0` zm)mG_{1C6TYsbU_dJ)~D)B8A$!wLdL`vQS``meGj!-JwRxjr&PK2+Q*QQ5+ubnD;D zBQYMyh|e=qm-+!85fcZ1VIYAc9zLCloWI==FH(0$`mQsCEOcZ9K;GPMlbrX2Cn6WDDZjEhf+X$cHZ|L%L(&b4CEFW zVr+|$5a6C)R1fBE^ts!l?c2!Rwc2>+`5Wut8(2Xa5{l!{h{pXH2&f7N7)U`H6buar z3JMD7D9=L*=)W{@AZQ>Z24{C?RTXd`;G7sPjY99$_zkYQ!}m`Z?;c*Tlof(T6_-(Q znr1$HU>812NGK6D1i1)4ARtJ&{{RDnpaK0r#~Gl*L;n|Cpf~}nluvD7G`;@;T=E0_ zzxw{rIQyaTcPg9Y;74R17zhachsOVI#K=HEPNshtT@7tq{@0Dc-PY#+#!8vh0Y*po zufmEb2^T1&DF1iYgl*LS&QT)euP!hp`~ThZe-hj=2o2H&0Ro!-fhYTK1Y6Nli1dK* zQqFXNVc7nE<$r2M3oZSOs`_Vu1piImF@;bMnE3x+bBV&Ht>%yB;UCSU|4lLj`+sQW z(|0m8cK&})$^W$S34ml$6$}W-;s*okzhTIyTovb3`jA0DG$cSksQ-h|{Z<-47XP0j!Ts+@?nbt5|33kJrgKRS{vrFIARrhZ zX}LO}m`QplM^gWj4&i_6Or4E9jErr~{y!r?{K`Yl`3FJ#6B2`fB-x{qBxRuHG5t@% z|H{wS$jiaa_5anS5$S?rfPy5MqLDWwqG5yK{CB~QVR(q%zqy=&0RbTcNz2g%rDy>E zZt#CX3#@?f(!We<|7Ak(zaTtt22VTNq-Ly@|HD?Mv}vdH&o=VUMhcRqpa)9caD=S` zCiGt+kN&UfLHx5C89Dy9Z2y(`KhOz4GNtyfwwC`)SpNoZi-+A1i>CpO``=Cf9YXsD zArqtjF9`TA=s%04jza*A@(Bb44HFdPKT~94Yvkf$=E7iY~ zYMeLb#Dn42%537&eF=$(YnqGq_3=GX?E!Fe8c)2L~KeLbd*dBcSC!9trWkgx(9#>_)O zpDJya;<-(+^{!4WmFfj|to-^Vr7 zvU5uwOl?yY?Q9>;*r{`S_xa&BR26>wo83G?5opF9{@`D5pX=2=f_|TP=<`GZzHcx- zbfaDKV6c&kb+1l3jKZW-;tIF59Ky?|dwEhNJbsZZv zL6OE{=0-D1Hp472pELnn79#hfupeurj>r$c{DS0a?eW>EA1ySpNTwcY>R4TS*8Vrf zYArHhF}#ZkNRIKV%C430nCoe@8a*o6Fo{tBqwKFC71~6rd|u9IsXD5xcKt1~YJN49 zswNUEEei4^y#B>50AqSrzsbF#y-_P!EwyMo;bhS)g{gAGB)?d~|CdXl_m3uRdBjJq znlY<^v}EeaDrGu}B)OqI@^Z+Q@zvt(bP>u;^FiDS6=yrlt=-cP;TnnGCN`QJJQDJ8 zgRt|9H74YGjtsV>q`_wW4U#Ay80Kz!s8f;Z39G%}sFrBdz)ZnNyUB}C39%$*{Lz;)?Szi~nn)dg*R5ZL8P*9E&fZWc#mv zth1ZKrto4y!10NeQdVDybUg!eQSUFG<}n+OS!}9tVgwnT(JXP5hzfqKW1_bmOdHu0 zHAp_6p>kK5qlz_&TA_3niwO)Zxr68-{7umhb!u4N#M`tKYSB_=#qekX@v~XHEAJuh zGnIrKvgtn91u{-TeWN(}1#<(>DpqbIeSYikKFh#--~!sR26<9WmZ!X|PeKAmX2b2l zCO5KZXqr$Mg4;bBZD5*E1`=*~Q_1U)y?`&sk3N#RCyaCtZ`0@!A_-d#>Nx;6ei6iX z=Xltl%_riBKfMSmw!U=671oqB-3c%6Y3}mIk4?hh()TySD@q?TIu`ygP+E+lDy=$? zC&lyz3?0PvsJuipJS2U9`R+|g_k=z+I8%WMD8EK3AR6+02QJivOrB!aBri%+A%@S{ zhaM3&!34hfAz4V$dS&#Gg6E|jhG9<5AurT@NFq@EmKXf<5v8?xcBs^S8V7Aa4FVYI zvHxnp>{_YVkIO+2%BJP2D_-XF;33eHbmpW6Vp|0oia`VST|K-+RaOoW*9t!o_kMl` zWTVvdZsZcOT9cc?8zIf(B!oftRjV2FX{ONf3mR(OsDE7Feh#T(d~?KmEznAd;uE`& z)=iK&+ASgSy5F#Ea*-Gc9q(td3jwJVS(x1m&n{9{Hvd8XR&vlg@OuTz!ELyo&YD9C z=(-fL;9n>jujzYHBF1Qre2KiOjElF7Fg?i$WQrd9iL7{DB&lFOg5oy%}dY3~X;-5aUXz@GvF*Eac$Ty4$~eeCI21U(!$CY`M-7QjarX!D07Ww31;&z&2SDqihklPf~@5eLk z+sx5ONlXKNI6QG}ej?h*a8?a9F&CEJy4HZ9LrvUKxWJ}ww96cvalgbnAWw=)0_u2( z-X(MIrjb@SVK>ybho3CkdAKF(VUJYyzSALfk^XS|#<*_FH5*DKzb>dK>pY7*L9@JE zFhe2j7Eb!omU8Rg2-Vwdhi;mqs3xX*x=a2d-!slwr++sIUQKJ4!2j5JNm*;wldi%= znW>Yy6(9Z3boZ|J1$SMI4nU8T0=AV*;I{;ZDc&x?GIeoqU`SCedB-Z|N@^I`%g2o~ z!O>om$bafNQ|Wn%v6kMFd@%>{1>gOht1Wfw<9_t0G&UF{eBu#+F1{3$AaKf}Z#~vs z2^hg+Mr_FUtZ`HRNxoth#oXZkv5k!%fY1HCh1B z7P{sJeEAF*OG9IS=BKiYSl%i*$Fv&d6jDYEckM?f14#Q6Bbbza^IeFK1ZK!Hq{G%_ zfl5SbUBQ6YxV~)ky+@{x^CIk?u<#y!{R5l0x&dSh31S`z5mwKYP)I7zkGum^2{?$Y8&iS%#LM$($tlMOPyst6m)afM*5`&FDc*8)M6DMRKxB zl+9&4Z^Tw~ZG7;6d1IVSA_~BBqtqpA(UMau8qHc8S?B8%`4J-5kvBDDnae$z@e{Mxr z>>3=iZK*CxMRz^m8eC{I9$$$QCWb9wBARUbrB>-y>834?vbJX z>BU(zp&^TS`xLxDB-U^ysYf&HmG~KIh76jLul zd>v>fL-R*;68|N|K=)R|JO`bzPnbD8r!lxOcrtl`EuQ=*u($II!rBQTE49E1hKBJZ zIc2%iscYHOzptL$gUg(aTeOv?P&hGhFF8|^R>|5!?#6@rB3JXd;OgqWvyf*R-)=pv4$l`hWMv%Zm@Q6agDQZ#@tEvpJJKycMIzmHnY$>V;$-ky-mPACv zY(zvuUuGV|!0XJ*^5!bwW=aD>$tjE0`*qT3&Azqaq%qqwG@oNhAEQi-Owxz2nV^mA?1trXOkn@cRNAnvzOJzM~~dbYfM;ZgA$u zKEQ*mstW(3?A;?C&lg?~qqPtpDJ>ZhWovCcMqCWS$<|pa``umJl{i@3>U9?K{GOrY ztC4F@h&Eoh5!9!KB}@1{C%VNmGj3M_%a)?hn9A=^-Q=YeXB8?3bU2LhY)y3Yj$Q6$ z5#H7TsKftArMp(YSEvnpj79q72O&~pFq~69?r)CvnAT7^@l5MCl^w@Rr6JtMw$NJR zXU3;w9Tc11IIwTuX8I^CYMl-KGl#e6Lf?VnMnaL6Hd7R(B?UAggdD|@_YPKHfxO9v zq$rT%KQ0!ruiuqv7-1ju-CC!_r8VoOrrlIq*ZoTwD2j}0Y_oaX&zagXhx{ZJ9V&_p z+$lFNr1J72avYcsB+^)Qv(o95k6wXkse8Y>$_XcAuvleh@q5^^rs_uUC3ihn(!s84 ztEj=flkE%JYrSfUncAQ=jz;{bPLtx$xNyC`@|@eQpIdHAl5T!*r%lA+>BGpIP}WCP zti8Euv8dAzDx@x74Bc#I(-2z#S{f?Q)2MjW%8`?-#+mVuBa!0H0z@!8dH$B& z7ho-?F~gPeO~z0SjD>Y4eZ*K_9ZU{^|M^pybAT?@rj%RU)5RHCeh0U+(45IW_aLb` zrB<~8K7h`kA#?g_T6G0AEh>q=q<61!8EdqMg*^n!co9$hu`P#>?IE^_++)K79>hCW zCvT{EI)dFbXj>l8=L_3lUN5fwW|;WIhLNwNuOTEbmJVA#3T|f%+T7)JmYZE#Kfv0+ z5E%6Te4Jc5-n>b;I&LhizP5h!KM~N}`#9+d1kURb#Myq^)T;@e7-*g|%8j)!Er!dA zme|o z3697E-2S##kx@Q3X2HUKOt(QwzoTV577t(AM&ph>v#&PjoHSn5?Ytk)4tqwO;5<_ZZODLRg<6gB+fg|;jj|T z7PfcMef2K!>ZveSc+?01>xB7KGMM3~)7;nX4wbPbzi||cU=%IGaH7wbHhO70XgnKk zf_scTjv5_hZY)Q!f;2j)G)guNP$a|tI#3bqTgoSd9~v87ez*Xyle%a;EF;BkU}@XM{wCIyeo zW%gWtWz!&*y%D!=_05T2R|UKmSE#->t9FIt^dxD6AK`!Qhyr7nv4-r1k1Gio;`NE( z(@W);&7b(ofPvm0>_)|^L;n2V{N_`bI4gec`7_qxe-D*o+ni@c1x<*acxlDIKP9QT z+0O_0tipA;#ZWN-ZLvp~`ht|XmK)z9ajq~QDspBul$*FXuZ{cB>=EwoB_AMhvxUjo5c3U3K8L(w;q^+Hv2_o++w^SWFaM zK==?py0KsxbQFEHei2uj3v%;4yZB$-=#^IgLOVHFIYOK+NsWqY;MEOdA>oJ3G=4w=lo1geD}k``Qsr8--U8ay1UYA> zSuV{tuExSWrh3R}?(DI`U?r}AgSddh5V2I&NZnbA8_et7Md1dTk3%}s4afX4A%;wH zQVWNvl{;Jdo(T- z0UJ{C9Fv%3BBTs8Hax$Q6Zdd6tLgmB%P$PT4DJk#I8%Z{*fj3ZYSFyHQcad%+SKRN z>3O++RXsZSQAk<$&Tk%skY#V8qEVnflJH7*CUWMJyO+c$o*GR^F{ARuG*0O2%P=bS zrW>i!(?~?+{q`8;Dzm!t)8maT;ep>dkUKsjsrJXcB9#N4CwT#DUvpUAzV_cYMx=Ql z*52oe@3!DQJm9C#+;jgT@erck^+2Ig-I50AC&NT%|Vl#1Gl;^Ex* zJ_&8ns9CI=Uut$Tt zcqBEjhY|34QE?m&91a)I4x@)wU^o*1d!`x`TZE^@$DZsrp9HvT3gEUc&(xl`OPrDD6*Uk-_Sx;^66$@hOXFccE%>Y@cEe{xtxkuv8R~->?1| zGYcipbQIwgMKF|)vaq;k^+VL<0GFmNZWe3<3;SI3s8N-~{yUk*CJb4Og!!P4YPe{2 zJNd<~W)`6}FDvuKo@kdrY66FGz1PkM_f9p@G5NRygBI8sSMe+IO>-r$e&sq{F^*)39Kp<9$rzi*!a1>hRfJ;lXJKPm1n4giKLj=Xo%Dd)%RU zWoI!yEX^{YPXi_YifLZx2r&7sbu<~iiK0!-0EzOO8t{D zsCuXiq$~0<+N~SGHFsox7qTg3SA(!)#bWxCeDkS!HE!*}Vnpf{5tv1fL?l7oWjQ`I zeyCQo*NdM7f$#AEEa}oQ2e7>LfdHnK1e6;&i-J1#QX=IlEgan$o&}71D<*cl^Kh@E z$!3`=6cOrDYO3sXM-_1dp;q@cXL3w87Y_ZN>-<3li^1dri+MF|RCWg}HGI0bedNZy zIUPBn4h245U%W<2L7*7tR&`^u+};)9cA7q}&7XUcKh}(Z>j5;4Mua3Ygy}2;ne1*k z1+Y5X;DJVk?_QcYd_N^c?U@ky(=ks=6FYaWk`aPa+cSctpL|IhM`M2n6}h-#8)FP& zxPK%_gEw4}us4u;<6VS-Ig=aow58lcE_BZ*gQzJvzf0n_z6c!F$w4GW5Wlokrku*S z3`4wC4IK$UAem3OmsR~4s3&`zd(RTj!qGI96CKf!?wGI*(@wrNIFazZ#|KuJQX;wN zbKX#7Dkx6ez2Zc{ja+Na)JCRiq#w=$WM6>1=O~wQAA;D(T!A#?BDEw@Q^hRgikv`C zoz>$|o0&J`{a(h4p{bdHkfZs&z6W&6y6}!Bx1W7kOR1p^g4AsYbhBAlCip60dSd+&O z&Km*k$P()4`@)WD;h}j%zwl}Y!^Bk0W!y}m-@ zi^_DVA%9g@W1*WP(j!(S2c`!EFAo5R6KB=sME5{G~+_OiWo~ZvFCNpv{k3JY7*gOMv5EL zqhz&?8&jC19al^FeZ5visYC*d*|w$27C#T4m`MBmyy_V6gT<73v-x$pi-ujeuL);C zXpInnYpLdUp^W4Y8{cowgT`z-#mo{DhNdrgm`b)k#y0!05cX)v)^ zlnI+LRZ8`)V}MTDy3_vq$+Alw~z#-P97`>!ezCpryQZT)k^|>99K;c$vd4 z^(dv2(sMDg&lS~4=_~^5ne!f?9@@C_m|XGor@>DL9if;WWEn};;KjS~V^Jh^Vik~A zIb}XR4sloK>#?Pj9K^Ib+Cnu651;stkcP+9F16VnTlQP>V*fP4eL9RtZ*!ydC~s;g z2oP9X#Yu^G({*PR_W>eZ~Ar{J8ytk<$&ZKU~C1(PwN-RzV=8 z&um@G-4FKXh*bA8@B-NA@gJG6LORm#6(R+Wa89#}mP zCfY2IU!!YnVY4E-3V>MKyM*_wW;i{(bLh-&<{@G1hq;`yV+bTQ%HOa6Dmk}aS@Rk; zyS^zeC4To*_N0Id_umiY)sN&z;pm=E?0U$o0?A>1JCH;KQxLh~Y_oW-tQs9LeT->w z*AbGroC>92gLf_05rJEc{$ctk54Fa!Ak8^!qTap0v)iO;?CmporHPKM=$F z1OyLr;7@SN&pJm=Y9b3LBiT-%#f^SAJa|39oZho_zW4!ib$BdL-zgm%L}snR@_hy= zW^IOI%ji6aWAYq2Y52!9#v;x z-Z^}!Y4*!?8pX_pbL?)S9{0OuOe){sG&V`^JI{RrlLN0!2#`LRVBUyj8qHf#kBHfa zteW&q{WJlXbAI}vatX{iU1aTuja^N0(F8)6`pI$7-| zGU}Rzs!~gLBGtJ%Kif=mr!(tdUWSkoFxHy8KluRMsw%a&l~=ww@))62#J6myv<#NY zvX}9DTOCFkbMo#)?U+e)?5IZet)mZNg3i?UBM8Pd`50oGRr!OV)axe?yf2qoNKu~= za;D9T$EMHW!#Ibd$P!dduCZeT;Ol( zLkZ4-;=wJtJ8jEdC@%R7|AYD18m6;#oCL$giToO!m5b1qPB#SZw;C_c8C;CKrW+LxR$WM%b6BfA8?$M@_bNs@JHY%HW&t}q^*4sX@)^{IR`)R1 z#tb!O-Q|3tip6UnZ|L}MAn)nCH9hn?8g4%%=UY{fbw(`D-zmcfWai6*0sJbs-X#v9 zTRz5$jbPrcCMXv$Yl|>kx-Lk-<`YrIj7zQ&baLzklnQpd1P?{0{$`BGnFJjvqIIp@ zQ9(}cl!>kgg79rSb)1{%fe!x{%ac&2g@PfPb~An%m?0#C*uASpE~LUp`?zK)yeJM+ z3c`AV9~0!X*!?|oZJLKi)f8<6uJZcMC7ljvv<@B+h{z-Co3?<;|HTEMW|P?9-Lkky zJQnAOc-gDI6FrSrgWH|PWaT-d`vzt+E4$c1y+1$?{8EJA?l?|K=NW&BMr%Q8UyKC@ zuc6)GjBfyQ*aUBS4W|=|X5#nx=?n0ggGlnnQH|3cuq<85DC@Zi5zId24F&q6eXcip zUR2Z7!y|zwOTX5Zh{pn7n~hY)4i->MPN3}XeCaq zf2iZk@p09;St6?sGKq~@#=9G=z<-x`RhU+=jT_bPJ2mmEjejZ`had((_Qp{aALUxv zY@VznV$a9yE&K`N8rnW*CJgRDCV1z>>9C2JKb4BHU`u)}DLDZe&*y_8yi?MndK27R zO?tiJjh?f?&`Gz`4Kn!ZC0{)bui$rt4rduM&Y8< zMs)X@Q1~jiHyXe344(@2FWodx4%FFOM|-lhT4g?JG}o27SsrD-+SRzbE11AAd@!p< zu1rwjDli>fdW!&nF559jS%L5H`kD}`tVxO+31X2}VuS56S%cfc@JeN)-LX1}f7aif zg?;<+mk#x{{IN*Oqr(ZZrnt%pf)%FW9V0T_)1uH*!-~oXlj-8r1-L`!6WFjK<0*k@ zRbGT*B}Nn(4Rl^<*IrJGafGehesbIF1~MPb*F7x!0%*+t~T`psW?TLeeGp&^|$oYl4KT9p7~O=V#}CQ{4b8kNp(gNZ+%X_;k~AuueSn-6U;t zng0Q>A@5;T;Cx*y{n7gUVClczV6wt6KXtgk;!{`j9uOv6&ZN|NrCb$;1fJc0@FWNW z*GSRi?~9LOPA3PLME8&V0sX;6JJ|22+?4aYL_c-octXLAGDs5|qf8aNq{KT`e0PfT zdG|_akI-5VN^Rmz2UJR%!sdEt9oD%a%zpuP&#)$!Q8N86BEi~Ilv%8hu_i2^pUXSY zY1i_nab&}Vl>LqH#L&D~3{!=}gLh;Qz;;ey03Ry7f* zkdb*ddT5~Ezv3=P=e{Bb&nM|GKG#QoEH+4Bi0tpjTXWb<&z;X-PFOdjs=Ch#OHu$g zX12=7?^Hr#jEd&{sjQr?2Hti^5j^nUPbkUOH=zS%FhVoiUoL#xFMP9-+I}BjJs~(l zasEs^s-p~yrrJb7pYEx6o^>=qucCq*L%5i>_$eY!C4&G%t$WzfND+%iW?axNk1SpR z?gtXTqFXOT&D{5kN^Xj9UtN1PdSMa>R5eKvHWjkINN;L(J58+9>?3P%4Meo-aA%Ve z4~R~pD$RTBunWrUFU7XXW9}xS(|T=gB*sb>JzNPn@<`^SMqOoo#V4lhUTo zpi^F3Gpy@8kHX93NV#(dBd+-~llhao6l3W;I%4a}hGD4+tV`XaMXyU*ohuoz%lm|u zRcz5jRT8)YAaC-5gGGX_q4Pzfq4e}uo)*=_@q7taH}Ta0x&+;-WOE)YW`Fpb)eOUZ znLU`B9|3`O=A?2WlBzW%A=5oh(4Ch>Mi&*WrG=lk+NMp;0_B7)P({pntaY-;wVbvN z$4KK#lDGXFMXwbmu#{SC|Ms5<2n|cn7MT_zdloG~qBFKpmc{yML@)gf0?ZxjB`L9# zXC8@=3aLgf%c$*fIN$0(q1AziQuRYsi(NrOE}u-$m>aRdxzUoiH?@}EqD zQ|eI56lIA}m)(;gU(Za=#P`CiX3Gi7{>5<1INM(HzOHW4srj8g@wy*m;oekJyws#; zz32^3TjOn0jfu&5#xfGN)sQ=_G8vKz*G-^6$&K`a)ZN0^)?(ivij;l}b{!hH-h!&+ zvQm2l#^k{rPUvAv+X+0rrTJT$nZHJ|;#D9y=lK9p`TmhaSX)=Neq=jut|D_+&+5ML zI|vI1{tGMMm$Cf@De)i1Yz3D}f@-V&laEs$DvwX<1jjpq12D=de(#8rgtygO^Oajz z+Kg;O_lrRYmPK!uacc$_I*c2YTmDd=8-y?0Z=xrH=|sL)aR71+TXpsMvZhN=<>!&+ zG-_F}pqks(1r%m)9*yZWY;j-sJr&0L*%`NQY-)hkX;0MLvv;YScSvc0gfdL!C|%WF zdI|RHcpl}cu(BM*%M{&5$S#8AAFS%uKaDEM3d|g>xd&BoUKwB$RYavivGHoT!j)-i ze|1#MR`ZQcjR18gc8vm~B_rCVy=230np!SRsQDVo)ZC?!PAWVD8lS&JEMk`xyxkw;_=SOQDMDR7>Nf09Mm8TlmT)zo=0w5)CH?%{PGvOg-vy< zC){lX(I-=k`W1DAFaPJ>JwmlG%AKL8wY4q%p>Q?7x$>EVMDS&<%^Uq~CA~4(qIpGm zv$o&)c_hg=t9xL*B_FBtHSgndKRh;#0~SopI8QZ*$KwV|cz>_IOR&qVp8l zr(&##v;dLI;WC3c9WE=GO9It~#( zkWjHPMN5=zA{!Hy&f)anu~*?4wKr!!OCEsgtumA)(X9Rqlx(vWDh}bGJ?zjcIUY>) z&de4@ZmV%fQQ?R-_gr^BB#)N`mMjXZKDe|)B!NDK9%bA90#!mj@KB!LJ97;BN-YK1 z)PPm-gz9>`rnXss&$l9?o6MediUsW zdid=6;w4g|XzT3+gekhO&CoCz_5<^RoWMa#UB-PGe&TmH*zsae#>Yo}d0%^{T6`o< zUPjA{N|>KHie;e#tR5^DBx5II$JnlKrw;kGQ#`uwkg0X9`sfFLR%GN>4#;diFp!Yy zl!zST$8oNx4Hf*(b>VP%G{o6^WBA=;ASJXjF^+%CbPa-W#Oc^4%5aSls$A#V2m!gx zR^kr_-Y67$Gs1ZMkGJJwVe6ftkQqEv_VR;<0}i6{%p7*lf!JkzJ5DTS8?Y_u%!KRo z_?A-UuM5=u4s_2``o{BO)&VK1^5eVVKB9Od6ZU>o-FDvLzxi#QbNs2+fBH-uXxcS- zF*33hh+=To*pu@{4;pDp7c&o4B?24}q{if>;%fAjYFR@|%;c~^iuTKKboH5wWId6U zwgNDJu-)sj_sqsLD+UphN(6P%+cd$>w2Ak|dbBT$J`iH<~_pj7t+S+AGGtXzT zGSo6ox{fy)LAf>gS5vGws*BMZO|cYjDlNaglF0KNg|Vxcm%zx8E0^;2{+Lg{>=WB@ z(TK9)l!Nhvm^dbyffZpPRu1p~46UkK6Q-U;qb;`$HFiubbugKcpR=5hFg8qtLa563 zMbL^TO>0wlT$c&Me32nBPkg2;a_rz zWT-P*NKMuZfP7f=q$zEe_ZfSxylU5fPeYt3Kyu|1maI{=U-rG-UqMJAS>!Niio86Uv@K7a<6n#%druU6dhwfRY zN0Esxb8R}!*;S3ix@kyEBNhjvLJd2M5Koes6un6=6yp`$rF&6~(m4KRri{i?H8Ul&Y)us%Mu4;d{k4r2xL3o?d>KwyeSv%+-Wn zL%(w}xE@?(McUtSqH6kkc-oMjYS-LGwC`gZSDESw7kHwNkjhv|dC(~$w7;mY_H%OS zEmL&qqv8A0Mkho5Oq4NS;D!lg8>aEhq3WEFR$=mk+*=JH%9 zyi;$)nMR{E(MR#aVr<+kE>6`i6M28eP^q^P_kY=A1$yOF3sy;g6x=P3P4S(Vbk|v= zKOI_JeVz(tk@O)27r5839qpOQJ(~26zZJ80wyO8=Q-JMrBkp&{zKK8#y4;Saej(k9 zLZlBfvjJHa@gj_p0{j{YpV!W(%%&0GtuS2m6H;}R z^H-sTY#ePJ7DBF|JBHT0*#2T$dO7><8LhEggFGDu+YX{qW2wl5lNpuQLK4n4z%H0w zPPZF9uM{B-#~OzGQQ|L@i>hCIsI?5mvwDmRN5#gd>W(WEt z0?Y|QDT(77j%>tw23n;=eG7X`Bl#J#Z`}{|6pb^Vko7LWOv}5!(XG`5&ZN45_%2~N z?U94Gww}-}1)g_hSbiA6LlQZ#H|xn7IU^aWKa}_PPDJZK5wN_$4gRN+y%mldqj=X!TIZ&d^Mp>G<3BhphF$>j}$l4T`r13+YE zK_aWWNLP+4hp0w3xOt~hwodwJG7}X9NudNK1gLW5dXbtITOLl49IOl@&Vig?on-mO zGly|Nmg$t&^$yi0e3Kxu*9M}m3qiW8J6<_`d|fCUE!t!~j?+(^*V%AS<6hOMTO3tn$V{0F%ZaVq?3?cDCanb(EieB1;fG)CN zN6!%~i`Me@G*Z-O`CAM-MUh3=qjM5-I#|9jJqqddN#J53dJOqsWE)(NvvKJ0kM_2K z$?9_i{=tM3>4N67EEW3Z=uS;XB~g^=D$#EY!|b6#80MPUYRl`Sk0Z6&;6T*(rAf1K z65IFwOsDt?Bqa1nPAv4>YW@XAm@@#4p``OBg+CXK4w^8t2cpsIsCE~eY?^-)8>X3* zH%(9Dsp3XTnrZ;^@73cYBIazs(sgvykKqePjl5>a zYAbU!9nMsfOg3&q=CYd*P8#eqLoWv@W`3R6OB`HN_ATSSbFsUB`|l%KY#>{-CdD4t z%S2%>_qt9%tOWANJjAW`N@|K5%u}&T_u<0#0Y!eLrIX%N|9h9ixXnj?>Se%*LfFnA zbPPccb=dde>0oCrq6ucd@r0BPuDivDPybu3- zgyJ~Z99!8lLW*aWGFliP)*DmiRJ7As-439bs);%AbH{b~vxJ2= zS$M`!hTbfK$V6KjB8;GU#R4|6;{^o|MdHhR8$`fz{#Z=JV8|Zl%XfX3NlncQ)+i7m zsN;;&F=Of0r-=RF{;dFuipE~$@%+0yEQ>;VImtup#qd35K6R{%xNbsc|CV5ej)C1C z8`C6`ILw{ zg8dR*#6^KJhr!GM`v~qeSZZqlMZaK2->|lQs9^sP(b48ibc1#$uaIxX@cCMQSPDh$0*re}wN{f{~# zQ&XXcDo!Gi;4Dtpw%SD*pAlWT|0{J0M3>_XFhWUp(K$2HZ;arl-s?ru>j5iKuDa*F zgTqcd4v*Qh}IN(N$sKntuA9GzpM zyp480;Y9TKj)kGaTFsRYnQ#_kh1_ zRpdgJ(m75dze;p7*Rtmnhl4xCkAAJ{H!Ep6@mm6*u_*YUl5Q|KXV0&I|1L2t`Q(YW zD9_ja-4O8v!sNvJT>(@pHed)pc1kUF#mFp1;2F_VT;!8EzO#}OV&2n8slhB=F9+L2 z3+UOucUv5A4ZAV@a2neis{w?Lvys-AE zX&brXr_x*U!%O6JL{|~BOHRMGHk@I;7CD_*r@E*27UA0hVGb_o6A=M4T0dceRe271 zk}`!J^wr^4M*>(3%s|(_tMftWhuUcLF5s(H0`~Ol!oIYsxB;&BQqaLIb(~Y?Cv5(q zA;F=0Bu8WOOxzr`WQ1^F2sjx;mAN2_nStJ4K?6cy2A*UK1L;mE3@dfnr%rDFQX#j- zPY9A}isu;5BtIB|D%{d(43M!nnI2QF_@gGG=#EuCQcyWypl&%>9>dm*+~7k+4G2Br zs9RroSY*L*_P5pFa*PO<$}X%4Yd zGvB`g86chw0xLfOu$p0j>BU{=*YBTWOqh|w@*Ib|^wRZ70@MQs-C)P9i7zB7gA zUscA#S3x$~;g03sr)l^g&_@J`g%yYfi>~YPaEcgmx33$Vzn1E4$@aim(8DvDLga|Q ztBt2+a)Z$aX>E+MQhK{&J8%$qP8rm6=N{RA1o8w;045Jt@gf^KdxuE?{Yv*tem7!& zOul;&QmF+K#j+2#F|HDmxOyUo+rd){(Ttf~K;pqrVtP*)@2w14*lPe++Mx@45aXZN zEtlaG=Mp0y{*qmibFqwIL^&B{h{b3G>d;eEw#=fT^~7nTdpXqO%b$>G3u%( z5#@CwH|a2bopM*tc=LIna(`KiB}b>Vwz~2A8D5j^t(B`61O~-MBVRA5B*;QCmJ3CD zN-4W#eFXa|Oor^I0>ODd(OLb+yAjEV8kC4wpk#Togx1iArUBXd1q3?ZCz>0zI#;%zO%v?&kTfr7nY)i!rc0 zn%~^oCUcDe(QS^vilOo?CH)dw)_dV)ah`jBI%QNAQ;Rp(ds1zsrkzP@bKP4~sdN=Z z9JHl*?+v=y!`ZMw zaeVxApZUE|63Zw+9K%uUG`QQoSZs&h65Gt8&J+w77qG8=Pd$!Rf523G#;QnB+A+-a zfbey5;2({>_H>8kz`>RjpRsh>_rkC9Y!p`HwFTcsP@A%%<(-l)-R3!& zrW?O?a|FrCQW8ZA*K!$qi29G>M_z#6Z?_O~h}>xu@42awL4XhQ#sbQTtY2-L!cqgit!ZB} zgM!xh_t>`$Y;^#eVQ^3CN44(uQulYVNBhNK<}2oiUah5;Dz{?D-81~1 zHMgv&4J6hH0!cpe3<<6{#=m|;$25)RQEi_!@mEV0%OJb{hN|!5m|8P^aCl0Wul=e! zH#AMpe4`u}hOg=Ni;D$0>#7Q4nLAOCcY?ewnppXx;!=L()Jb7V8U_bdsNx?VmR4Ex2MH9g5Gz95G==ln)2NBBVYJ7s#oPZ z6kV}KQw(Q{1d)|H5c8{u+I7-tiuzlEFwfvq)E-0x(PKi_kC2~sSN+1Mw7kJy+|c}V zFV5n?QVJm6Kb_!;(iS8~B_7IDt2&*EImyWZT5;;2J7A9O)0Z(mRmvAy&0v%lG(!69 zLadrN;(eA$n%2So_}E;B7kRce-&30@kjeNL_^m_8TK03g}~%qf?beQ4TunW6v1TbvbKe~)Ld zVZ3bOhbU@?hX@5OmH74r^jV|S7;TYk>flOp8wgl+e}R!$rW^e6Wz;F@vS4iulus7yRne-(1)qIk(I=c! zG=JChGaVj7RrP(XNLu>AMjBe|35*|d#@4)=zx;c4o_a=tov_90E#2qOz_65ur)-1d zlyWLq?F+s79lV$>lj1*+X}?40d4Mv)tp}mYNxJ&06EOK{$)(;PO*4eEdhRAZLp3$K z{j9)=*-n~@SF=OqW68rJLtr9EDOMOT)ZWL(fMAkekxum9&SQf+^c%UM z`x?s?3z+$I`G1YIjJ^(`^60c>BiS%-VL#bh_iD!+$46$F|);$F^M zd70{PP{0YQQ1>Sc#r@O~&M>HChBV5MRh!8n5p&IyQ1l&ef2t!N6b=BqtE!0=moWxby z7!$$lrmBc!&*qZ{SuX%YwIfYm8rG@2Ef3p`hsV7^rZ*d8>3U$e+YJ=ynk6E;JD@FUECBh zu~^HP;Cefcv22XiW;NkK5Li4x6Iecdb7l3S5|By6Ac440p^>7aa}=U@iqzi+>%&N= zfq6|mft7I%&O5kKyf0!Lm0ON16pkki$z$3OxW9A+Z%BDPi4`~3Aj|-1Qj48)aok*0W0-;mG0P~Dcscj?+u#GLXZ{?roM3x6ra<5$g8ymc$*m?cwtY%w#d zJevkxvzKy;ZWH?(^QwOUf$oB&ZTT#XRXf19jGdtVoc2 z8sK8wVB*+R-q z#{FM;`2+6nXjkC>t{?n&j#XD&SHa|EVgn}x*MEo81Sk0!>Ca(34-kYkqFkgI`U&Th zU=8uDd0)%{#``?yM3Nvr4V>Ayc;Up*S83hR*d28O&KNkc)V2MX<=E|6II;ct_5tN5 zY6o!A7aA@OKw`t53#%EtZo+IfvZ9V1dWa4X@gfG=4qa!dedr7$!rJ^yh*OviZ;Xr# zV1GL{a3eKT9nOXq609g#2PSVWT94FDMg^Oq6#jylx=lW5O+T@*SPj7U|0K>M9Klod z1xXx>o0$wZM@sR~CQGqj+DbF>w-oo#9Y=TUoN|URgn3_x((2enS@Gy|5EU|-pQop5 z);hyf_+Oj|uZ<7EMSGeJEvQp_+nI52>3=(LPDCC#bDMGmRHN$B&Qx3%o2Yd+4gN4U z8l&|T)?Y_CEkRhYGbLI4HNr+3bW{a@qlp46qsMTd+|*f7P_J$ztz=oxujBN3z!Kuk>P$4RK0Y|YETBNdA%p<7^$XeFL+`F^Q3i0`2QTA6& zTBTeE4559?GXM*uvH?YhdtxTry^b5k&U(6kLQHmte>GCxXDIILzU3WT2cCGiXtgx4#1Zv7MP60^P{9$fqRccN50cC&vG@sp z^XF{umlK@+T|N$P=Hnj=*nd1k{s_g#!$z=`kj`iAk9p`!c893$UAG)r$5IfySyYx_ zcot!!b9lR9(6+m}d^9`e7sRr!w1e271dT}nc+gfbhrf7_PNwgW4#@)!k?q8<)2^ZJ z@_jMRXa5wEcvDO~l)1VaLt!d3G+Sps&On{uYJ)^wfk}LYdN3cvD}P6NF%n!7hbwTR zAwJ%{HAAl*4D~9q{rke|@LBIe5qiSAyp`9OaSDS2n`aij!*f(G4}qCeUj#Y4o?27I zRKAslZo@?=Pju7i0Z9tJJiKpzCD@mykNnQs-b57B*pnb&5i^U8bf%zsc4Str`JZp6 zgD~l+J$4ZZ$u})h2!HZRwMVF5aETkAMra4=sFXIR>6{ep`2mP=4-C#Ra=n-^&;~K$ z@_9Xc12m3n>ZadsD_I4pX0A61crO>eGlC#=P;MRhnuzb{CxVS=M%98yKoJZVS-tT! zN55B?sqPwW=JwbrOQoSLbc>Ut`Q0nN72YkFl2W?P^~%qti+`eyImOEG=Rt`X#IgYE zJ4tG|h($nSVN8oRY()@a3EjyURGk#9I= z5*X%4mNhO1n}2}RM(ORDLh~1!g-2rVV(Uyu{gtD}XG;FNn9~z>Y8Yftd7`+LS}t}IDGy`f?BVI7U-;A z+@1Jj5ZS?}o~F z&BePS(1@UL;Jpe@4KT-M$W-u&Mn?`YM^TDzJDk2WguXn4z6@xfi$0ssOuNZAam{lA za~G|fmWHq1$-&1PCsmT5m=Li5O3B8Poq-NgRE<(5*2i+8i+j*sm_~qeisWoQ!fEEW zRQp9an}5|qvDtazPIgpsaG!tY?9@sXY|swQ)|mVPoen9ibQI2Io!C{0qQ z=%tpYQ+-}V3zu0HG2Yf`com@TFZIGC`}-RGd~|4^c|Jd~ckEGcvo43i`Z-QY1l=nQ zfOHE^Ybv#VHv`KeV%PvKZ77o*ej<_9oJn(-Qh&%@fRxCW6{$akU0s$2Fka%6G179?LfucB&l^gKlBKhkW}X^^+m>J#-`PPu}Tg23OvG$Eh9 zo__?1_ljG!$8`p-v3!jH4mSvnw~tFM+D4^EceT_zoz#LtXf*pRdxf8agW}r3$+rok zLzmyOl~JvLqmZKe`m<1N#=OEx1|b_Ib<33Pw$9!8gb+W$CEP|Nn>{H(`0<%#(Ul8IMd_BS9jeO?v4Pzv9W^0NkRexWN`4cc2<0d}ZcGnnhdzc#h)k7On+I_$^ zYAAgpU$eOfcy;_l*Ilyv%H`unaEjSaiO1g`!}=yXQt?#QJEx%}t&u#5wH%s3eOPo6 zvn{7j3hjKtS%Nv1U_aQ%tini53?!&4?1LFej%$w|sY3SsCE^lsEWypcaO3zUxPLSG z?$#P@pSgT3iPxiI@qyq&&0vR!?6+&fe=)~jX!F30SF;<#mEC9V5Auv80e`>B3$-XW z^t!Zzo!2SMgQH&TiRRy(fj8_WuC=eZu*u1|e*qx!q|${ywBG?mC~< z?*u=BxhMO`1JPPR-zk-02MgwVaDO9^`U`Pu@fv${H!6ROFZX*6*KwXu@9}9nJ!J<7 ze^#3^sGI#p<4{1fY2RjA<<>kaV7PUNKH1O90Qxz8e|;mPE|pE}TFG*K|;r178gB zUDS}9PEp4Ynp@5H*UlHB$m&;zLFcG@`+EyWaa+-Q6irM3W_QfEa4s)3?|;}go3t6` z-Y8)Vku%Y~t`sh9lAepr{F>mhAV1GJ_NpKz@D}H8Pm!W6KXA+Mrw@G|Ek!msFx4sv zb=GH!lB&ic`VY%3C1dTy0<65Q+}51yXA{L)%4E3OvL;Ez39JPW^c@<+Z$(>G4s8Csj zJhSw>_jOZuhZVQ}{%P20|8>vghaJ$G9DDU4Hw>z27dm@CK?l80ooA?9e2E9p+9F=+ z|E}PrhdOn`ZI%`hA%AU#V;0&Iwv4j2cY`9R-xUzcA}onBUVp-MvzV)*zPJ{2B#&~QuCm;bzls-b8Lan#tA#4_jJ21cBo1w#(F~ie z`EXD`-ZcrKD=hoD^b--Ca!`mne-Q`m7Q3vkcUQIBD!7I^52o}jKrj0z*Khv75pV!& z0pdYVjoe2C?ddk5?g;ydIK)Gb!KWwH1tP8W=huI_W`B?jo8m)(fhqp2YsP=MbZ(^Y zq)%_CZ)I#_r0+m4^smD&7h{`$wJ}+Vl8UGTNF$zOCJpX-KfZYFz~xB(R2hT{$WQev zrrP-eTfxCeqS)GsXz2=`RH4&#y3~*iRTW=99!SuOXuR5`4z5myLC+hL?fYokZu&U0 zt=scO4}Y>8YqVbo4}Ct?U(^UcL7n6_NGeS#cv1m2S@D_$Vg_wC(^>MjmcO8N$OY4a z$z^jJnb*W-Hu+V$UbmcH?u9k%1RJ%K-Cfyq{JPwa3#Gtc>(#Z%;N!*M?=nNMTfZxn zAFO7`eWxmz_1&w%1E(b{<)JUxI7WK&v2u&U&42OLs!7qtfPm~H2*u@t%uTHR|- z&8d|D99UA~Q4DXDH((gjUt(7Pqvz&}pxconVi_bkM)|OfY2kME!iRKac&V_ai{1jNP z(0|XZ9o9gSM#-$Sai)rf7)URf^Q|qw&OjrMS-TY34}6lTo@<)S->+3&-8q(M;a(uZ z=iU`ir*AfL_d5RbWye+8r{gkB4^xmP82#C1w=c4aL{%(=;`|}$&kX%yuYXEt z{w66mCW%k5T1kGT_Oan;``B73{(qeSi!A5Pe}6=PFZa+8F_s&7RJ)b@i};Aj}rG z>7v)k7p9QUFA_Wi7Wi-fL>l`EsnZ8I7}x;R-yu!nzlXH{ka~z2Tm4lj|Hptajy^6}2dyALtI&jY(d@TEBz^+H0D-{zBnI5{uWoFZxVNpty)um`x;i)vC4du$$Oi1HaVla-ThUqci~GA1780R8z9m^WPs*-E2Uqd%ebNwR!M#iCcHd67@OP8^jY{z2k9eLLIfMj zXSUn$4v(fm=Q=VA1btH&+kdgd;*QDM^kc}Kb2cFcTdV*=Ew-ZHR?Duz@AE=>p^3EM zzYm*F#;lEJB|`F4KgQg`;oQ;(M<|DG^J8Fn*UBVH)|)=Ce)_A zs4UUwbVO9HEPt+wh(Cc*JSvRy zm_p=CYM>}Xil%&I57KOchcE|F0hQp13k>k#V9~M2xTo1$SssHx!!Y?aT+!y@4sIHu zP11_wHx{n*(c`$e)t7b%O(TOjoCI( zbB76YVvci=jMWA zZ8Lgf^vBP~>smx>qHI6EBjGuQ?H;=D4G&tt(rMP;*(c-oCj+{w#dN^uA(T zL`gynZEpP_fNp84!PL9vf%J+29g}Jl9!rE80GQPRfu=s+>d+r@pyyM6;2b)tGKzPX zgd*mXbBQFcynoSDgMc*=$X!ypK~98?*+2GLqmFI=fgA+saM=F8kdqGicgT_XKSPeJ z&A($u_^;l$zmvz{_p9beP50jjxGk;!3T(`F?EmvSBH-%8hS~0m8>_nI& zLBNd7Ry+Zegzn5gV@mXwJJrBO$iTb_YE2uWfmnLz4vR(Yt64VTA@tXfWa=oPF}!ZY zIN%ts4YW?&_Ast&hx)_EN2TLkajEgn7qWRG3gz?W`@$v8N(AsgHXjxaE)t_JT-8WZvEtYdkIPr2$W zItrM;7@ig*eorT`qdKb37i>*l(@fD>Wq)HeaymXm~yM!QQbJT?7A zQ!BD77Grg7l&xp19fu4w?|;#h+`O%E5FDX47e5x4!1_hnlcR~jjuSIxJZ+L@&3}^B z2=n(t8QaO#C2aBq0r_Nu9un$~4D$A5KGV>5aYibw3oO!^Jn=D^YP=(!i=zz`6R%zE z4A^VLA2UjDWU?<>X$DCqeGZf{J6syp80ed9&0N)*I#iPBP8lz*w7rm!Zw*3PP~PvM z0qMUsz{k4D;?rN?lV1X&WBjKe@_)6BzM>%!b8Xc2{{Z^=-Ogcl4YV!}dPuSnYA~0{ z>WM-RamCEu<9j2>zxufao_+Y6CA@~?Lv9;VTysRqxSAZkFFt=Y`XuEfIKHUCg|yoinzU&; z7VlmI2_I7R^U?tqFQ(S7My`>4&Hw7Ty&j zhd?{=R$fkqJ-x3nD0DxT&1?FaihqVa83P{2=S)xw7C*dnM3x(aDS!9N=lJhoMeC)A zAo24nS6ga{NZ4oFsfXJcx1Wmb)>(u8UM1)9bej%zGggL(igvt}yJ3MP_{(*DwHYlf zAyk(PozI`#19Es6;rbuC5{yz0h2}WOsQHKNHlywoktB>JACt5GMlCl|%#+U`h$!O9 zSxJYVlXr`My(&@tLVqJ@AL}`6YDO=If})pLQzpS#Y1Cr{Y*H_ory<^GXe5YEV{jQd z*jj@at!9{GSt0s`l@3%ZkKlOXig=3#D6a`~B?N5}HV&z>wRGn-N?Qhn+3#fxC^PMW zUlu>$qbvG;{?kK_hr4=c<}d2i{aeZAe=~^w7yA8|O@Nxa9)H>r)~ELv8S|=?m>P6z z04_Eo31I}0!B-+ebv?uHQi5h+Q3+FE6&>6sm){CqEt{&Ulq;;4@E?j@D_G%DRXo?% z2DVbxUaPyVBwsxn8pcf6zrZ25{R6Lxp?E{@M4r5#>(8PL}JshQyZ zDH?e7GUrEZaZ?H$c~c9%f#r$5dcN^~>y07U6ZLt+e@C9f3UgVgdohHmfEJJz^yfAVOI-j&jDHv!$#Z@4$d}&jSVsO9A?BtjtQB`0 zSp=h)%EeXSLd25n@_jAOY$IC7ks-NR5Q>)B`1?rJZ0Jd9UMab3DR~-dRAw5!DyNpP zRySdCBqt6;_e*rr*SE%1;^f?R=H$lq5tIRya$SAEH!f=;JO)L^rUySh(;k$yvkWkGY$@g15l$rTze9Ar0A|_!N&L0 z5#J{H^Q@XyxI6ZR$x~w0{K;iX*nF)LJ%8$onFmV?2~p~txJ<~ChD@Q8#uM)=87+wR z)L{CCv6N-i`elH{c11$#3+Tfz8Xlnh6jo@&Z5mrsAnHm}f9`p!i zkU3LM#MJ69A0`P688cBTl_TpLiL?psIgt?sbI&z>(z{x5*2XqX9xZI;{HYn@OvPY@ z+q*&sGnN!JE;!6hyFcw)ty@({O@C-|2@vTtMyt87Q)Y`2C1)x%I<%PO{CF^x96lv~ zT*sO!O3bor%xrjhS)ht%b#iC79MXk3qew-zk)k|*4R4#q6y>8gAX#_1p`T8T-$6bQ zo9u|-veaU{!fQnZ(y)}!X>LBluDrshV)F4q(=#9q)%qi=L1srBnL7Xp1%Egfdf{$( zgwV$f#yvWNXw`PD*+;bO8nBe>HYQUheirg>a4$AjHF;XLW@S#Ox4|Yk!K>#dS5OGu z@~v-Sw4^(_IS{eLcp#=9W?}+ql8hre)3DN$l0L*#-Be{=-Qof2)n+-owBE!I{m!VtU#{xEvdI+(Nk^-#~B@y6vsifJk=6|U&(xeg06I{qt zg!=1$B~%3rXHq(Lvya7%hfr$t(8Wt}n=qAcod6OXg_^|&cM6`ER1mV+3l-bdjHPPO zsn9!$bQ17|nkNptZej-K3+!)WRiU4WBCfJ@Uf@rXx=V)SFSGY3Y<+IVlJSII4rqj2 zcCdvYjY=4~`O&kwVuy%3?T zn*a$(HU+PY+PlJHuA0rEEFt?Vmp6=iD_KXCmR_~`)cx=hA%BIX%e9w1(dGcvG-BfN z^oL)MnlQ`b*tVNohvzMdj3K*rTkxu;A}W0oRq|KPYN@8;5m{0sT?-8@76vY5nvTDP z_Kis-#=jRGKdVV>Ko}TJ_4pjnEqmr?vrO%+a&!EuNx%D};Glu(VO~q2EqmYRn!Quz z7?8ZX=n>Sej(=6akbZ7DJ`IzBkAv5wD1(2gg+6}r=Js4yUsck`E-SWvbIwoC%rXoSvVV~+tgmlRjh@mWDeLF=Xg+{e zaQYMZ?9B9Oq7?H_0)&f^M6CbLG`&zGFjT}=BLVrPV3rh25J1{bN-&304!?!OOK)V16_pgxO}%P7ys#7!N9|es4o=&4PJhwQ{VBUDKkM+v9eJV-N)?P^B<&Py zT>a<0{U!UUkE9aLq0cI7yY55W8#Yq2_ljMlV-p5n;vY|!0puraGC8(U@n;T}X=m0N z%#a@a6Ar2?dwUWNx}R7hyq&Az*iHtFoa)ikaZZmCXl%bRAvRVUMj>)4#RxCvq!RM; z-G6O_KpYY{>BEFk2#<05$e3747fNva7>VuxoG=|mkg5q9zCZFa51 zmsXJmDRw?!P`r>tm)L4zf<@sDkV{*OGbd;pD9dv8$m%S3GrJar~}a z(U}+v9s>FwFDOe@o<`Ms5?LCRqqu#7C@>~=CWd-(+;l1+w4%yjn}BFld1rRTdVkI1 z?3P1$&2#yMwv-~WeHzo0nVatZSq!y#PX8j3*2;>pl)gX3@YCOEIDw85wT|G<8yqd3 zN%d-w)GEeyI*K+GK5_yvdd3m-$C|AEkO%!ySS-@3jsE%IHF+O8q8(cTNgLwLm-*CP z_|k4)mv^PjMmCR!ptOhSC+qhab$`Mylt9i#ttjiIqi11F-w8MTQXFcsB)qV6E?@eh zIO`bj%;l-e9$n?tu(5&hLsj7l`JW4f*%d4prhR7 zCDm)s37;-G!<}gl`sxi^Q*HU)IK}L84=|Tgb}-oz^|B5H>Ba(;T4ST|_kZV68kO2( zr4?g;T0&-A1srn2>z>FrHep_dJ#=y_(~)FCrGW&S-D0aqTT9!U+s|#}2BCkQo0Y*V zf1_q@rBUnln_C)Fc8Ao)azd4hLpA$#Xk_6htWj6NJuH(r8= zsOhPmW=PctqMNGXnzao{H%0PVdNs&)OvOvomqOz&CEz7ER}jSz|o8F;3zbIel-@UoOTQyv~s!6kXkaF$uFYp5_oYIQ_!f zIix_l>2%U@>~UKdIBhjYsJV~Zeus0?ug@76?ai)zGo^zvvE>z!qK_^2fwrVjyjz96 zRlIw_hj0b6?`o!BQ{t?|FVd2yXclBVvwm-}uSB&dQ1xW1ZZF0wIfWMN5 zzy0HR)15z|1LV0mcm#cAmP;-XNc(=%H>Tv6mVxHa%K9Q&XIaZq+hIG4VRnLJ^md1k z48`_+81ZKBPT*_b3a>AoI26TlTi~8(&y1OP-EOlIo5<4CT|mdFW8fUy|Y=fPonk{C}8- zG5>2Gru=X7Fh~iEaR=(${7?!2oLNc)Mq)&Avs^qlBs@uX>WPaWMstI+E1d6uY7UFM z5X()U@Xa4RuYW&%1jam?&B<<2^K4nXN0TS6bhj6o^t$|B-x&OzP?g|=W&^~aj~IW4 z!VwBH7V2>X{SXo4h=`bK4N4_9&t@stlj>^?n1B~xx8;bF2O5dAz-o-yyV6Rt(|UWZ z*abCHw@x(_&pK=zq)$r|I&LhZbl3K2^YYI)$Dy0Z|9@5tVz(9>$TC(7T?V%^%OZ@e zbqL6#H59AUqB08h9ud-mHl+bqJ8IrN>1Nyk4Cc~FP@V^k;fcm_=>{4Rp(^P%kfN&O znZc^=WA6D<#(yX?;EvQ57Hn3JSM*cP3nfliHhM?tKbV=p(^}H4w4}Jr*@~D=QLVP8 zvhx%@vVS`dH9vhX`6wnCa)NJbBiZOoQnXVZVwEa46Y2>6E=AQ^y$4Al!=J*r&g4*M zAyK!a#N$qnJX82ry{-(gKxOii=lFV-HDN;9db(b!uP8jDwTLL169NVxPA?3r54cSw z!C&6X#ayem6eS(WW#Kc*aWC|V4}|34 z1Lr1V-gB^DR)uTKAN)|yHfX{eSY5-Kv{r&a!o#8`Iv#Qvp8L8#Rg56W#2KPc-xyoiys#t|2le{xm6=_olA+UF)Y5#sZHR9Z84^a!f?vFg5zt*1H}vM8xsl zxsb>#$;BHAJ(FjzM{#O*TS`5ZA5QXF#rS%OofbUKdn2;R{p$Dg7+)TC3S;hnk7(eo zih6U@#sFoZFNNGg{dZUNu4bRGth?{(CnZ-e~x3;<>ePzs%40BO;$!S)-9yDVl(>6R6BMWLo98Vgw>)qx&-Vfj1Ms1 zXpcM$wrq%SkxIhBjI7(6Y}4tq$@7u{M1n6HeNpi7t%<*2hv4U1Glu|Lta40tQL(Tc zR1}*`wIZWENO=oYaH4#74~gV3hkwaO;@XbCkVgINYIdJ^I|zclZo6o0yYtHVH$o|x z&AAluQqsSFS=;x%q?QdvgyvrEj0IkEt*PRzBc6{~btu>-X9NjPUD?$ty9c2^0j2GI9`=_tjTxIeXV*f$H zZ{Tp9G^r5wt6Cx`;OHt^@v&_*F)mQ%dQHSv(-J$xE_)=+b%rCR;J@p#SO{g#NytQ? z6UfZxcb2DCTcy)0M1SWC#n%g6*Vd$8yqOyssLlOmsgxprRz5oNC-r)v+I)d%S=_Tnb+M$1Y zl05O5iMe{cQT_4;#-Dg73hPt3L;gi-MDvT(fbPWpw%Bb8tbfnx$TpN*U=GwZ+*_d3 zhk{2Bipz&R_y^1z zi|xdvs}blE;+p#{8z+Ee(2+$Z9mU*hKGIZ=Dk+;NN*8E6Po1FCD~k$VI4_)*wqJ6# z&#j*K2aF9w%YUzYol-oyzX+zRkd#wArq?bt13fEMj!x6?rbHaLTF)k$u3>&yuf`$^ zR{f}`?RU5Up4Ocg8PF(~9t)2l-k|o=HgOBZyuaSOEGK!)sS7^&)jSwUn{uK8O`~d7 zI_Qjxg?hO`J>q0)%!arOby19|tRx*pgR80p24F2x(|^4xb#JjeUEP>{x}q3_)m2r8 z&zmiNY_D!}6=9j2y=I&aBgo+)e74e$H6a#cXu^~%UUXLocwl28STMwzkZNM0BQCBX zRYD&WQL_U`WiYFdkwTAaL|qn=eeLhhXRCs<-tk`WWM?GJTU{(5?YMu!=Pkx*4q6dy zGU74Dwtp8efB_CCmJJzdtc`;+f;YKh4k+TS!3+bo62!@xs)K4(E$%T-+KYnpSWF&( z%;uK8@FOTD=f{3=%L8BAlTk)%O<`9Xrp2(AA^Y?5*=aW$p!)hoRX4;(0bfH4GU(%zvwi^XeY`nYktPK0*Z0EhY*fSWXpb zp$*kRZS(jYvZ>CbVnA*y5-aa%eB+?d_f@MJ=KVnx$p}2_xfd&cj-y)o)G=v~HHowl z7*YX3?lfrvZmvl=P~iH*L_C!QTjL-ZZyqC$HHap*&i~;z6U1J9udo7o%_Vu_NTZRI zEPs4Ud)zcm#AcLHi*zQt6k9^ITXh8Tp|-qyoY>&bnW422wfyQiB& zd)h|PnP^6%l2=Na3G!s2P&NZ|NEdg}{XJ%#Q!4MW!v^sXZ-3*2U#;MzQO5F$(Zd7N zHvt$X?scOQgSz;bN5(H)!~7~LXJmh1WoM~v6+5|+ zz-q#P;OD48^U&-uSf~>PLk1q{w;S_C{flaj;i##gXxb!`G?x3wj-|;$1FjKXIG(Zf zdf|E63{ZOIZXzB45rhmFvC|sLYJU{S(^Og$L!gRh;3STYdTuuksFV*5p8OrRSn&@< zpDTzrld2~1OB%L}T_ymy3w}yR!+0J>sv&jWR7g8N-|2f4eK=iQg}~j+VyjRV#%8ZW z1>aScHx;;_+RigRy?n^_;EIz(whAzm!uEqMN2 zqAZb2vIzdZf+NaQ89Vk6^HSl4M@R0)-YdY;w;%WToT*Y~YAhBOPxVBmU9za-1YgBa zl`QF;B|fW?K(eK(WWK}5SmW|~-l9m&FbZp+Yz58%S@p+UO<7d>*MBHrlTMN6318Bd zbO@S9jKt%DXPX2~wY5<|97#>L>|kroR?X~JDqgV+rOqJPx}iUHF)}Zf7Rnx>{wLoy z3+4yzLL~@tMM-^Df6#*f{Rjg{k(FO9Eu!x56VApxWV)$%hsTQ%=Rui3WsiVtr4vf? zY%-P4kmCWWtU^VqEPr&38Q9=k6n({8N~4D6aPlELA)nA@IMM|f`75%Z>HK{#iuXTWw8mN^quX{`rm(t~-2h*6QEIuHN&yrDmS@ zY#4bQa~E-%!9SpDP>|M$6c(i0V}&THqfhaYJy=(lB!9tjoL5lA%Jfa5T= z!hhrd*W;nu{}t>B+Mk9K9KS4a-x37A0{;B|B9%>J%g94#n#ygD(c*f0OyLEOKm$w5 z6%s$2e|sG~jHv&{nFyp4T*cr*{Nzlu=l}5zbCla{f!aDEa`DxS7rgNc0Byjko#1Nk znF@;Za>)CEKLUNVkh6V%Y>4#DFfl)sgweF-T6YDi=~jJ6hl)d+B;2pDR_tDp!+x9HPZ`x4b-zh)hwbjENNRtWOxO!<`-s(*RI z*O>$1<7fJw>x!g${iB8_2(`MD;81zbR!AjTVA9#WBM3XiIA+y-o>(*Wwly272t!VE zr|&Hjlkl5bq>EJUccuBN(jxEH>>fBX{(dLui4(TUg7vyMmJIJD{a)kGFF1(7X*D6d zbSw3Y5M~CWyJr4ZJi`Z8ct{!Z@_(g?qXQgsLlmL-_Q>7=OLF7eA}PM;XFx?Y0JiWo zNk1#OJRcyBkmm5=`#ZdsafP>FeWI^LlI^tmhT9iOv`irma$5j5*Jx18rJnl&bX+hb zb}c6iBZyFH0P4E*i5Q!gn01dao4DgqfM>c@*x{iAhwY`9c}CW)|H@99C4V>#TDPC% z`H4>Ngu`h+HI;<#r>kII$M4OnF~xzz-S8?sE7?6tME2F6%(xqDVQ^|991ueze^NTn zU1qKnX{-tRoM9MA@B|4s7|ITG^oEQ>b<5(M^D4e#{WEXcesTOn-Tq!GSf>or^D0 z%f1+2co0IEw;5LmA zm1aAwmbik7ApO|;`ZZqtHG9aM#-w``zJq$t;U-ZQC2#zWdiV>I@Fn-4 z$JQI2cb>!baa=)5(d9PCIkwR~F0%doTJ|ILTMkn{9b>u~2Y@>Q+zIY!*nNMP9h`Qr zOMB{w`67rVT-H%50SEt%t@(DxxO0y|xh%x6gxU-GmD?e% zx4Y+xWPEzB7b`J)sE-iW;cUX1HiEv7U@v~ry{OlI;0(<~a)v!nD^>ISN^JyPUC~xAp9d<|3*=>y?Vi93I(~sI2My zUq=lne?mO5M7WBr%%a(CW;FiE68)Op9TM6t^y^bV1}gZIkQXwD?DdA!YjtR2vYYZi z0%ocVOT|2ksFn}0D1hHVp6V%Fa}LdGsoD&5J@PPJL->VrEAda?HI!E+adjx9hdU`) zt7ldZ_8XqhaPWTtbg0e4+`s7>cE?f9c@V+CqW|`G4c7mvOaI?**Z7yPQ1w|ARTb?6 zUzjY&zJRJ}4HldA8{?kFkOhQREpinFT2-^qALxRFG$*Dnbt>y?(iNNRnjNc~HWq*u z$CrYC>IuD>6OhEgVJr@wn%y5ew!N?D=s({)&uqb{?J9pzZs)EBz)SNvNp@?$O@)Yu zzV7(b@!=$i?F3V$iiO812ctm_n$^OJGLSsr0s2KrJC6sPN_B8i-zAkfqEQX*>Je*p zl<8$WZqieGE{AY*I!}f)1)mZzN`8Gd$0Q;LGNVjOxQX_AqVVa(t~+OCRHesD{UH%@ z?#!Srp09tnk?vS)v8U~m1{UpxA|n>XFXtkMn~CgS=cexyYDD08P?-8M2hw*_<~3VT ztCBp1}hf-*y7?c}a(s@++Bt@E!Pk4XMlHyvhj^2e16>NqBPPX%fIZm<+ zj;qL2X}Z;8;^<%qP%%s=YYF8DWHe)?NKt_1QN0MTiF|@E#@AeJoVg;c+i@5w_88{x zUAs!y9yqcZ#f*atZ3_xSA+8iKD^F#>?udn?;wr;ZM6~vR$ocPFTPCl$&ab%`0CIt& zD>Hvf#e_KI;DoSj1InuRaD3F;BoHdnD?8%sW=rAA%V^j)3|*G4)V4{5ADG2BFWm1k!BdHC+HC6HcF#wEg?gsh)rGGlauCsrAUOre@rJ+nX{pjbvnotOrS$Q z(?dG0#+c?=OqEMhdKW0=W%}wCB{F{ydqq)OYRS;uD(=8A1zE;40>v_N4XZFylOF;L zh!hKHf5-~1oacQgiT%AG^~c|^b|v1_MnHYY552z#_Qe_BB}Zo8L6RSB(_9c9Qx~?6wG3+Fi3{&F9 zX5*Q5AVp%7EEwE(ohzC>v@^yZr=mmg6_1YXmZ+>N?yIQutck*jj4#$qJUKWLSErBG zbfpxdp?9S0e*tp_`&b$popcFmUTyYDJTjNVk9_&O+X$VgQ$&E!GO~Z1c#^D~(sYof zfqV~dAq&3mFoN{T&9wFgqdMW}QgS z=?SBViLs2Ht!aC)??y!~2TZ1nob89vzL6(;S~BEA%g6Df86rxa$LFmExHxwd?|~uH z^H`!Q(G2$z`!3#dP1b*HZ3`){sYe&qIDwi2V=?4>mg$Dk-M5oy#!nX>INsm0_3$ds zSQ1{0yo|5?yXim)%o)M~XboXOYj#M9?UhP=BP3t=j>Tigtd(W>hByuhWc#8O!UopS;shhE!=WIN+Eq>-~RDsVfS`1B||%;DfhCx*3SZi8OzRytO$G~ z+Hk5fATy!pdEFa6ei^)J#-O%JFgmv%>=T9!ZRPIn4a-YX*aQbw-YBWcu&kxPKsV+3UCS+j85^wx-j*N*Hxe6ekbVlDNyU!FFp>o*TKNK(PLN8lDnbef^bjP)C?r}Tr_+s6GSgZQ8`Iz_R()kis)+F4 z{(dUM)k%R%WfZO5xjDSfGgBU4r?=Pk0Jrrze~Ev2+!aTnps3Ov8KXGC>2asHH3*Uy ze=cCtdOC3hD{N06l%;qCkB6Y_smg@uWA}wX1y;RFRl3npYc@c4 zI72M`(%#aV%=Z?7Hk)u{b)@{Z|0%Wu+L8IT0s;UO|64mVs{a8({_)J#-tIr~A!~nc z@~^8}jIyo#h5`m}h>&!ReR=uRbPogQ_LWZ#vYE&L64KBRQRr1rg>IN@iEREE{5pO{ z`jqJ;8vm_0t@lj}V`fGOo97Jgt7oqBY){Yk_vt4+z~tC4!9htNs0C6Yk{)HaaY6_w zCNUIgn#OQrG-D_=6B3NNX*9D=661g0yOv;AK;IInmi9Dy73r2j|BS|S))u)<{zsO@ z`zd*Ix6K8M+VhT$fc>md?j3MyYJrJco3zLjs+fr`@UTr%wvCs8JE+yWS9yrb&E_j?rhFn4oTVufmCGcuu_#C zL9l=odLpVa#8pHgr&MALl}3NjAt2C)G%^OsD;?JA0>L1U z`zSa?+cP__2{)ByZD{9sqvvJecCt+L0Q(yL5dfpW*#;cRCfucPh>Se_C?Gr}FUj$| zQs@Kf!L+Opv4{U71AQJzl(H+p_-#Kb&|qjp$9Dqv(1PvEPevjqa}BwN6DL@Yotb&>R@g*m4EkHUkGr?3SbnwY8RS?>$c_lHCXGb%T%;@7N$xZ@SK;WU*7l-7L3i z>8!$Sy|#4v)Ebm{!GjMUo{CK*yy6BM^r$c%Map%XWrTki6}d(^owPs5GHkwb{2phs zZw_L6)uOvbxDPGJ5z%9_LVNWIoB44fvUaD63%Q|vwxt=BZ4#2$37>&Nj7+oLofrKZ zZ&T`p#6?f21bIv=)hiv+LfZ}8RcW9-40luR0lr98>Yz6adR6%bTx_84wh+sgV2v#=cAr zA7MW^8R}WGDov>(qxT}>f^2=3FO;xRx0*>N@mPOZ>{vtHa}L7g8CcQYRgM1ShVC{Q zIU}-}%qjX)B|momTV{s(ffAH-**PArc*bZBl3r9IG_f*h|LU!|ZDQr1lTL@dBfi8v zfNxLaPfZbWOCu%^sX6B&LMo2@>W7GUf<3BKnV7`_{tNR&r|!#83;tHuK&28_T-ZfM z`R0FgMAQ>mF32*oP(*Mx7l5uM$hAV8BLBSTxzawtilKAz^nx7 zz$ZyjGolSD{+w5&OEW6|0TM!Wv80&(#aHWJVkYzgYr;n;>K!83Ph5XvXK{((hF=;08b=+`XoqU!$ zxIM&E$b{x!_|o7x7FI$%sUr}fuV!9(j_#d|7pOndQbb}!`%U~499?W1Vn&^5Q&(3! zk5|mzkB6sew*V{kxuJpGp+J#TW-5QlEGG3tGMpjRV&jbhJaUFwZ_6k!`?9F=7)w1T zlP5ERNrd*ChMQNeMNM-qUvr*+PF!`9W;P5B@b1PqTjSor+a}_h^{ZC^HM+a5F9e7F=zw`YI2L#_UD z?U!vmc{-SED2_tMRt`7NGgQy*|M1;<1iA~LEldg&x93=D{zs1?qVl%lyqM7HAsO8+Fw85VCr)cT!cjXeTT+ z5)%iN$4nh5TuvCwjP-7>BaVNf#9bV~NH-dbzA%wMkQYFoMTr#Vy=s=zAt!R24b?BX zd9-Wu+P=j!t+7+J5MgH7olujb02q^p?+|-jX-;ua$C;21?ZK-I+-oDGm=JsjFb`NjQ$7LKp;8bDC2!okPw18|;aAUNk z3RCl4L$EcI(i=&T{Cx((AG-Zc7|aWTlcC2@j9!Gn?&z#Hr89pTllt(=;5rf-$@by= zC7Y}+Rq02b8^+?V(b6<}#;GM&b8%RnKdXwalk<5unRx1wt%qwDWUD$gmiHmg8&GW< zTRFs&*rm1~k1)qVJc|{up(e|W9E0nfmX9q4W#il4LJ@}LH)okG1s$axalw*;i3KRo z^`!8IxAa>Xvbj59b9{DBGcxHP0VvG_$^W5NVC{Z zGTf|FKI3qOg=GI?^r|@k-iB-H4pauRZYkEs+LLUl&h>xuLdkZI9Ze3b`$A$vvEA1M z(%LZVAdsj?H)&f9xNKl1~DX6MNaF_Qoh0MM(u-x@*8On z0E5C8P+AD38BpxC%PgbC(F?bZUduf~7D#&x)st*B#I8OUx5z%LwRg_3 zRi%#G^6!628>lu_laWSHS-01@aKTB2HV`*gEHbtPOEXoFeC%n*Wx8CL%MQA?o80oGh}z43fsM`DHJy}9RyJ9{feJUW70 zR}8XtGYG0&XEspk^gQ803um%<*hf!K}?O zN&01hn(vCBi4ciJDZTi;0VtfcwsjoBtVN5Z!*2=q0>jiRtbN0u4C-A(oZr7;g7aBa zx`d0sD6wmVH^7H#+2NZo!k^tKC)gc;G|}+m&c$$w{ob(Jl`g~Ss!k}9k3yW|1xuZd zqz-@SQ~Uv-49O#43C%MVjv-xOwg-o*Zo%i1H9SH%9MZ=hUO1eG zP8@+B*|$J-UHk*|sOEGGhSHmZw>OO0o1=d#?#c}OeM{P;X#EW^l&c+>@CIQXL{}C4 z-k*nGB*U%}&+izaFEEZlvOQ!jF~u?+Y8>4$BvieIA(%0d^2^;?)vzvcQW@7)ocKr9fQ~zb1`ro<$)@VWcs66NVew&ebCXIhX zixWtQ95WaoA%zMnN){ghfjLVKAQp~{P7!0KPen5$3w7TXwQi_Y1=eWQ$imw$Pko#{Uld5hVCg6#G??>MQ=Ua;ER&!q!8b^k?~O*T;qKyNl;X zxajw3{?Gg$=$7C6`QL?K$f?hgr{AXlp4fK_%x@_XPC5eoNF4kK1boOXNE?3!%PD^& zbhR~DikD;uMD$4sYD4<8u`zHroeSffNfX;lnX*aaP#JS89Xf?3AD%4gZXR*BnTLCw z+T_u7KC2^7th~b_H9mEOnMIG@eww>^Fg=PQQ6?_^mr9dP4KZn!-hOdi9a?YJMy0BI zCH!ZH76|RK`6R5>PYZ06>B)cYtJixcy#UU-rw1xe{j=k!qaG~tlc*k_2pPJRajb+k zL6kX-iM07oJ-y50+3*HA56>KbR?m+0Nm`(-N=NJ@yl}B;5$PcbvT2gV4%sxNasjazs^-bb?b5J)p4ujuR0`4AJmL$ zg$cUtIH-O2#2-nJfKpF4Rx>0*iGN|o94Uk$g3C$DdoWlPiy<-m%@hhB5n4R1VHq_- zTnuNc1}$(7O@W$@4}#g_BaU04g$=Sh+ z&CDSlKf&r#mC z6A_Nk;5dpS{hlVCR~WKEIG+&5h2f^wC`T$?5Sj51kiqhvRuBjgnY)stWNX4{Cvd9A z-U2=>XC}J0?8blVKxmB?)fQwx#5U&Q_70T9qv-8d(ZoHYS8@9zAlJX2ZIN0jefS=l zee55BfGb0g+|+w=0Z&k5{e-f>57XmGk_iQ$6>zrWz(g|<5F0w3oM90uX3SA3+Ck;L zaU{WmCtds{=C-+u8RZr$LS*2YORH1XL4UkwEpZqjlRbYEJ;G%K>6}PRCjmDshI_Xm zL@YQQSyAyZMWncN7JCzTVdgfXbZN|>v)P-E*;ZaRhR2K%RXSxck;jnaS5C*42$4Bn z351fpo}vXaDR8ak~ATAygC#ghs%s5^apOpW+(1OW1%+7qs*F%u%AjrTQH_GP z$!Ch!;gxLIB(>J;i)E8fsUH_v^K5t@_9zF{B?Gc>p5;;}*S28GwJqs>o?L3~+9|$L zTZZk@nPDfWgB~6`bhc;4#Veq1Q28mVg~V{^FK6tMGn4h^#BrB#0f39eBszdGwo(wV zozH)c(Cm#Dv*~)XC&yxlrW1SNpF`_%b6^)!H|NRxdgemBUF=M6KkrdBv+2RTSg4~2 zAwndeExAs(?=^N1IF=Av@t1pt4KXGUs3W4!eRCVtw!rw5Jj0mobAsC0^m zwd_eBXVoo#dTHXsyPN+Q)2(YvacVX)LEGpYkKIFe7PsdLKx zP8V~#@{ZSwzAZ*!7#(SR_NCdYd-&<{gY!r4^z$7sr>|e%KX*KOvDRaCiD=CzvglE9W$rz?_u~G%y_r|{Cn0HZSw(~Hn7|K();EY zZcg6urXn9X?hGWQ;i^PV-r?=V7q5Sx-YNP}Ed9ePs~;pQH~R8>$RkeKaexh|`%Y_B z^$a-YbhA^U17~o32^KkJhLwEakw-BkUofyqwaL)okIoF$?6I0+j0$5%)tbY>Nr=dE;3;|`iaH5Vnks=O2e6QC&Gw~DJQpuDwwCekUcj=q1uUpYG4 zM5pDH!u+}&#ULL}Wr0zpQYxx4fZB6=Gb@guC`zvH_zaeL0nvfgj0Lb)_SNitS@oHW zv|dEn<7K$%;pTB_i_b(U5S@1*k3a~lz6$}_or*5E8@8ZIMo4nz6(tCTbru2{tBV)S8}EgIcbtl=tOlIV**aguf~);C>(cZ)ggb3sEDWG48f3$ zjyKE%ogff=smuzr$t5L>W29mi-qj2{3~;A$;|SuOfcoV3fSmSrc(P(D;Sb$?3keDK zI8dR&YXQ21tKr7o-VIuRW^?+o>;1n4D$c1=(lkV3d7A#@_$X6C{lhZ@5%}_nwtjrG zYQzm?{tJbI%$A!KA8hJ=3?G~lKS#JoaaXl%Etx$k@A0azL3Q*S`nRj0p6-l zz`(9w(o47%>Y@5eH9Aiyz2g#4RM|zV)DxL#W*iQEbY5aQCh;Wk5Di8vSd~32m02%C zL7v`p`eKq#BS#LIJO!Q_kn@6$7SUL10iEqCUn)HJ29eBWs%Y90NKumsR1)imw2~pu zskx#>RjLJ~(sqC07Z!b9&-OmUlB%MQXAUNg1o>u8-?BU@R{8Mq9PGI_!A|Km>m2R5H^mP4>)Of( z-0!xytMPxas{-cG`%I6AKPm;#$ylVh-7PTEY8$+wJrzDt%{#c;7g@zAUI*iYfreM& z1|22h^DbLh)MJJep0*zmZJwnva4+iIS!0p=sT+l0(E9Zb5&ug??VsUa6ydf#sD!l?gY0f!Ku& zBB-h>31`95GhSI*JTRC@FBUMV%-~nO-$K> zF>rrvLPDTUeQ9}XqXc6XY-a5Q(JWynf$Z{TaFv#WIhtHIo8JLqHR>%nezYoc?4b-o zl_E3IW;eYx=U1vEq(mF@RRA=-$5wnk2;GUHRo(K>!&eBDra1B-6HY0MNX`1emOqY z7j19+_)CnAiLJY0V9mDc0Q|_b=};&uOs$L`nC3wB%+wPWB{-ZyTMxT1^_O{?i`jq2 zx%E~XcxsQ_km1oYY62KA9cU8A`>K=aa*xChn$e2#8h3hbflTvk9=l_#%dIM2)Z9+> z+`<$9$5mAiHM~+TbX(-Z@#@}zq~Us6&#r{eB5{#&GERb@+M@k6k&@&?@ zOXiVH%lO*h5N0oZ5NEF&;s51x33s(@V^BK?bs#t{PW9vCgdCfbH`KcB@c%(_FguS{u!% zHiJ^bYeM-VYJSG3|??gXD(!Gj+7Ch&L0JALNva7%h4ewx_1uisyBo+f|dpE7W#z=mYRXf z0T$h67TKyr7e=!*jV5VE-R9$dzvARXErBLgKF4=ySb2~!9}+QnS9s;m_15oMIYrwOcj0waGE$2p%s zXbmx)a#PTC9>{^SD53fSZ@Gjv73AC8mr`yyM7}LM8*9HRD_VaTWz|8jaim z#RdkXu>m|mgrY9Ghej=v#Q6KaEZBy1U{Rxf`OWYPeJxKA+&&iwJBVbv;E=UmXS}$x zs;g$nkmF(~f7E~ZRL=iOGD1|L9FCV_;B?nEQpk2G#>dgo?gk-?)5uP>Sv9r!cw|RT z6y-Eh0TMt(n4%mgLTO4b-ha{J9J5j!xq94Vmk;w7qIo54oYQVd_QBeJ;6~1Ej^X!3 z`8>kGeHi2XlHbkcQJK~ZJ8H)p>IE1@`d^pf1FZnJGvR-bSE#(F*GSP{(LfeaphzzG?Ic92Rz%S-3HX6)QHZ$Z;62>V-=Y(2 zs=gV=H~fDhKYvj^gi;6ygA27LY5i(>()p%I%@L;Dj~Knjxj@Ph2KIQw?SHGTyx$)r z>i@G%Qz#66GYt^{K$hbF#O~~W=U32wwZtt^(f<$8xIXLGV-^|RlL zC=gN-w5arU^E#An>-yljHD=Zi2KgI?3?T;I4}gC^+3|*;2J%CQzGHp;{c$s6J>&cN zb5tHczFunp#;(j{UL4WgXG>&yFfptP?*itSFzzD4hd+MBmK&3~x-BGPFu;`ovnslE|B~_7?BF-K;Ot{!Wfem&8{1NtgH`25IPyit@^}T4kF7K; zi>`m=7*4pr)GKjfMNR7l=Ac$)=iW{v(P|R{&())F;k%+fJ~fbVZAFW$CS04^vWwG| z=y_BHbM{QFcnEM%sA$@ip0N@gE(Iq9mq@eOW{lw%9yjQB1qO*wzmjEY_!sZVA`hOk zq^pEdq3UUe`uwBxbYIXv%mU=jk+B~%83=zw18#1JX8ZH$oKa;VX)ye<$Dyr@KIE}} zpx%Wn?c+ugbz_1{Qnl1zRw7p(8$o#bWxCw-K)6H}B0DM{PM}svvI>4qN?njRuZX{&#*!X!wa_@65-K4hvRnsW*mGfhYdeV?f|8^|tE)=lIw{4O^BGj;%Ede$Xx{Blx1 z{4WM0!MLi>#G%%SGcLOY?Oc`%wCX`6N!H)-(|x=fbm>3;)Yk5m*M#7J001Wbt(5UU z3R(PL!JwpzsqMeemwKtRDTXo{7af1`cZ`jLu|y|O7-Fq7W?>FZi=rc4C%gUcFbL8D z8{)$XjYcB%c*&FE2h8`}O!Bx4_agY1a0zc0TB~N=6};()c}vyr`XhIjxq7$v?vF4LnfNH6{yI%@S}W(NDznXp5@R!{~Mb8rTJdWC=39s>{y zkT_Iy=TL!{Z5jt%OU-GBENC)0)X+ogu~+Bu^+gL9CdjWm;4%&3Xfd5~*FUb33x5_` zLdC7M5;}J>fd);rT3qV(5kOBuRxhXhWZNpW)}6~$bvFgl5S#XH5Vz;yt#2V{yUe)DDJdLUYA6>j3RX!wx6rQQ^LYQbZ1KRm?$-c~ z+i{?g*k`$J3#m%$Ih9v%m&w*OiztwV+NydF7tYI*g_`dTBXRlf_5s6whkx)s7DVP3zH(m2C{S^I6LmT~7K zo*8k%t#G#*p(pdu;+J<)bV(I6MHaIZU*GpK+8;(JX~G!H@GZ?A4)#_j=`@y|>HK!t zmkE&NkoBru$hkjS&T)VHlrodJeXW?Gz!m?;$L45~2opy@5=eGA^(m;sy^L&o0A7Vm z8?bimQiRUzO2saq>pxzI-nl(3Rt#3=Baa~tH|rvfSd=h^Tn*t#B}g1XLRtT5(0Y|? z{WF&8Rv>?r%Aj@f9hQvSB6)7>oU|MSr8&0WGRL?2iX+Z%8m5080&l1kg4rIa9%!eE zlcm;NS+ojYv2WEarkWno47Hk`5!4KnKj50Kz7NI>Jw?Nm6yOQE@;kd6jz8q~ZikD5 z7?cCVCt_PO#ozLTt~M&c9J=c~1u15LR4V|LH+qkZ9SDCH#%cH`^0n+f?EKzbCb(_& z%WcM<5qD?jZWDjBPxomP#$FRfN1|DJ?GqL34$^@66)kyd7s2Zt4Qz%W8#?c=0Uai1 z5TRX|a{+VsNg}a%z7zH#+l+1C<~+Yga@^d`$S~*>VYDrfQMx9Mvn0VO#X^kX5s6Qr zX5C&^T|5Om@*QJ6?LLhIGRsfg2(3y8M_DNEiygx&dGLQ9d(h4y@G`D!aNpCD#_f>? z)3>F(;$Yiw&*M}E(NOMw^N5Fe%_rH%jFBv=KV&aYn7fg)+KOvqF4oR!cb2HVcWKSY zu6OK!&z&Hu0rZB`?mHHQa{FM->dg`D;d~hYL#owqXdbxg&DbUqAexDRHvPDmWAPA$ z1+z5(@m+uIku-O_lwlnRDe zRI7SJWq{Tz&F1~pvMVM;ln?4`%Sy0*f*^kZFMB=R>UCAjJvzpQiY8cwU}(hZ42vDL zX3|CN3>%Sdg&3yaSZi)At5pv)OhdOi5{b5Ar%|bvCfW~=zS~$5l^2^kT06a~_ax?` z5<@!ZDyrYkz92!lXM-tG2BFf(-Bvg8wQ6XtO+pvxZW3t~*>GozfN1y&0;%pH9jSjs z@q&W=BUT&EO|6FWMA{9MsWB_mE-|d|Y4*X(1&cnkB<2|N&}nz2eU!9P63>rRI~2Fi3hrquZ6JZOS^Q1ayKlSUOFrUp3DRJK&Epr=E?XdBjDcewqRf5140xJ=3p-if z9gn!f1{~P-w<_ajj+(P&8ILyNvmv)LVqOasq?a8$pEtu7|9lwh@%VSX40mJKIRlYw zoe9!Xhy+tb9j3okr}G(U%v^sTxV^${mdSAiZV6Wc_csL1>MKOT7P816XyDz##u%W0 zJO>t>QgCtym|K8?66FQh$U_fz>ixQ8Ix$zmS8k#>#La%d(DPo{X2!2@Kqi<_bPf*T z?<>lUPj-Yj1IMQ2d3;}}M@BC6+wafQ(kf};h){)CB#b?CBlozSpHF{`VS0>FV3~bG z2zpsZ%fQ5uha5 z4;v%obQtI30D(1;9d#^+^MBwnFh*2mbr&bYA+d|J7*}I2F_;Lc1}c|J?_`1BozuNFf*_tk>=MN@y>i^&HqLv>m?7yqKe z+;>w!hRzf|4Jo<$ioVUZAPHBNRMm3H&wE&tqL_aqCf#1_LO`3kQcv>3=NFy=g( z*&wQ0dSFgdU3PyL5xkI92YyOu`@$_V;=QAo7VtV2MXaq%4A?}IGnyEHEM{>X9ne(} zp0V)VJl0#+gY#X;tCDIX@fpy1%^^FrG>6yxkX4Bqf8v2(NKSXE%H&OIWeD;HGozg% ztYd$r<>_w@2n-2JZ>#qg2gB2*C`>ae?+9fec}?Kc^ptKw@6%fgd*GSl%lBVH9KWXsFhc zz2P9rPvVv`e^qg-fAgMwhCEJ*yt5dnGsPZ`L2IGRsC>TPCC>!&N&%mJ86g{Z%Pe63 z{3xfWDcFB7oyS=!itn*TM{U5s4G9o-z)u_>@Z)sq#L1f0llZOTg$emRj3|)z1TT(B zQ>#5^4rJlQ%*i(jB2D_3$xkZ|`5||VY%hz*EbTc-7aq*(4{e=)AY3>vWEJERfHb$b z-dG;cd;&l$=~0|@fa_t^zeS8{CUZmhjC`xI#gTs|Z8dT}?PEYMWlkfxI;}8yg$a z4J$xWKt{`YD;pb&8){W8Z7r=Y^(!k?yIC1I+az7}U69AGo1XS&JFmXKw;s2jJ6U&c z+VDIe27sQX$p_d653-K$sqH+OlWF!*lg57s54et=I%3$pSwXjwZ@tkxUkU?pCP#;( z2Pfo6xygzKJ6|m5^84n6ua7!k16RB`VdQtw?O#d*O_~h9veU!PZz&!h-O>7o?3`~k z(YyPvNIwMoaZF}=pqPvIhGRGV$1WJXd5-pGlOiC)Nt~*!y6rn?Wy{axApDS;+K}xo7R|9MK zSWy;)kWi5$H(9oOq@(rA;6%WrT;P8ST%tkdx=dLM z$`74f<1U^me)!DO@SZ+CGa-^zTWq$+Nw~FF-Q8-fuI==9JDR$Dx2b?ykRP;xf8uLD zo~JA6t4$%ik)b}+!GU~fEc!Pu9hlM2&)i=y<8mr@kzqV|XL^6)lkk6E!N25O z`!8_>hZ<9UV*RzBUBP&?y29c&@kP5w3^3r%y@BQ0==XMdRs-yNEMCuL4@qmxm+T>F5R!saryQ{rG#!5;TZxX{ucPVehWp~ zyr4?<iwt(A7$$m`z5eamN4UrR86$5F6e&SUaeN=o zV17uPL#wg-%DmY^c`C&m!Q9VJyXK0--p_PIU=+Kxmjoa@-=Kfh`?hhg!v*KdwkBGZ zSz^>io~~^$&OMs<$*he*@Q}j^Flwf`NJ7=?(Vxmfg`5=JM5OJ$+(VjU^UznoT|0IS z%O-;_s98%tyY|Zsq7hdPaZqk$-;4H~5^jnv2TSGV0hGhgxsbKj5u8O2x&Cl?bZ;a z+gzozzzwqvJ_PzZpOcEKyp1IyLWe?hT0-Tdo&1;Rufc8lbdDYG*&4gP4w?ucEt)@E zH0GR#kPe3ED#hG3pPP$$+t!4o+h=u7&lV~K__kJ-`qh7vl$fD4!W;_DfGbq(h$>WV zu>M~<4^)=|?Z0F$RBO?+P%9BTYB*#9g-`0@p&ZL<|3arZ%D$=e<%hW9BnL@A})$z#LdzZ?FR0+}ro-FzWpv?+} zqENJGJZ67w6*f-tDR||Lt-FQX14OV$tW?dxsZPD&BNDH4axl3nuG$3M&O&Qu8A7r` zX=YsVg~w1i^614A(Wn{K3eYtYDGmt&_xVCK%}Rx;P%ZNpDw;HCG7f-SNI z*Dei0+-FEa%8k#vR|ss6YgnYQB59B3r1xHc3wn0e5NMVMJs zwID+{ah3I1O@kLMmVbHmYG*y@m#NFA?E!!MjAbVuL$!)dcT+|R(N}u-5MOT`7$}7L zHaF{R54e4Z~{hP&1Y^(LW!77lJGwZOcUs2`(V+bVy#lvWw;PtvR^JMq{@yUOq+7FdliSi>m|;nH;&Sf`@-I zW?!lcs+Y4#!jPaoS+-yDJtnMlQ&-TlSZ1uDuT`+79ikEu@ye*uiXfw`r%+~GF~w~k zia3vi=UpT?l4ENUHx){Z=WW>4+qe$3aBpeIY7QmWxvrVzcrTIu*kHGGNfE)=_O1gP z_6(mI&*r>)Pz>mM^a#Ml$Q(Z=`E!3ahi{V9=5_izHWK!JE7bAUYra64SWs^k@GTyGiZ>LN9>0hx0I~;086psPgT-Z%1 zy;c$}u9811?vNqx9)#tb$i@0Z;k)K?vkI2%ly*J~IP|^A6?LpXBg)lYv`2r-xp&fd zcN2CEWMDi8-M=!F!gqFm1M}4=U!Njqv(lNe8R}f>$cR&J0GJfWWYam;!CW=~21m8u z_KW?v7Hpo`GwpB>DWbF;^O#Y4y>-Ui#xj84zp`6fhsA4ali-WH*?v1pw3NlKDzk$e zqda)OZ3hd=@Pq)()8dHCGs=HpiQF@053UL(HM`1Y)=9LgJ-jg&N#stmxc9RvmLue(-af- z3CkAA*>5!1g8FfQU>--}XO3eO#=+SfUT4}3ltf)gOP6A13^?(Po3J-8DdnLBf5=FYsSv)1Xe*RHR>?&_}oak{%|!#A8=DM8_p zO|F}mAXN>-C8jiz)PU#~^$SZojiM^!X)9BK8?RCz{t!q7!Ka_2Mv0h#}?e zwBfT_1lqXUw`93{K$2DWD_CD3HF#uMbpVGMOqU4vx|SM&NCwXMgmb9+LnaGaoO^rc zAR`!?Id2*@0wn}zN1yJGG4=e{#!k^k??uKL|Ag3 z)mXW)RvdVA+4hiQFSGJnjJ@fumMy_%JTxAFfBwQ{wBUqV5YL_dUGFj;+%lAE76!;e zB%Tijmn(&8Feg_VS7}0kturS_Lso*?k3;aTu!vGO7mB}Bf~rdF$N!L|JB?IYo%E8M zR+)^ksl_pYN5A+f#iH#O6>nF&k*~|{)u({R4$S=`SBx9*!mk1wz9C)2E>WpkjFQ8L zFEQtmi+AzHa?*Xm*d9th!J<+=enVA2FBteinkTlB)D)=xO5ohxK)3j1~B^z2XuxWn}_fu#L)@H#&=aujOSd13yU`nAj` zsPc>d?yzfjSQUG?2mEPN59Br=?!WdK)*UjRb4pV}xEXuJt~Op|xKicHcu!y4U=l=?7$`*)&}L%_d6g9a9iBdQ$l{VO z*<6stlZoEaHEAuHiN@I0^YgI;3~K9{W4hVh)*eJxgMA`Kto-(eRo|#{-(?&Z+#NuuH{G-kkJfUDYkjEJZ zUi0b8`g0NmaoVHVk)+@7wtrluDE3f4d<7)pmkLO$x~NLnIm?)#IW<++QHF*!-%M2k zt+13G%2R{w?){_d2%eb&9dsvHUtKSDURo~)qJ4OH(VoxiyNR$N!18UfAA8@U!n}$k z4xhn9A_sES<$%_!1@AZ_iK8c+`r*V&?@p_ve^i31oJdIcV_58IWIcDRRfCXR?CHpn zs^KiHY1sR9M&y2D4-`-vR#Th%uTkOjZOzMO_nZOuhyy6=RpVvxKCx)@ct7)BhI%)X zJ{4}4KZ6pjH02Iy04f4)Ugas`MIRP{qt4WMh9ss6>y-wkv3c88jj4It>Em1D-|H85 zVPJN!es2Z!l`$n8(ofV-2OorkS~20y&(H12n_7JWB4LxaLblM>-XB_9p=p|YqfYtB z`T3va-Lsxy@7G)o4Lt;ZGc!<(@B7gi`|SbZTB{;=TU5n>5~G#ZBS zCeA3$GOqCbXQWswD3Ob6%uVjWASk1mx~u?VS%uF#OU|3l7I^$O);GTXA@)gu8<%Zp zi#O?(!c{c@#;L6B5@O3Xy#E?n@+GEC)Z|bTn|7fvB+Kdojp0R^7B}G-QwW@;X2EpF z=D@EWHxU+@3L)POtYUUqaecYH=0E;^5w+9q< zmebI|Vr!UAkk3=kTIvT26hM?@;3hx98eB#5I9EX7j{erXm(g*Q6Vn%SB&2o{VED|k zI1wn*HAL0b1X)&B@CEXe0ySFeG{`s2acz{5;$buY6r+q3C1!V37I}C{WM>8jku{;7 zriG_c+s1g+li_j(k7EhqtzxTT(>^=>3D#^1Uk4ktIQc(6#Srxniii+Puo~-8qPBA# z-&q3yGrgiM1~eK!ESfQf_LTcwz*UNx)nKFcBf*biqc(jb=k)H0NcL*D9se&*f)YUU z-3%3*f<4k6$qlZ;00zwhI}9{<^MmXl^Y!M0@^hz;oEc&(o3YsBBB#?z5I3Ua$S&9D znDHb}>lLo(hV$t!6)E zt1n;v2_ZGkXxQC-7RPcf$+e9X8hZ^wMa4I!}^^n;#H;R=7r(mm0-KVxLm5VQ0zU+m=J-fn?RtiBomxZ zI-grs4_VN4#K@gOgUdYfBQ=gH*Ipvz;S~(uYC<^dWdqMHcpu6iFZAM@>7b}YLuJ&G zq8?e$oNaxvYwOo0EF?~JxQ23S9fe)$O*oZGo{AY%2= zGw=}4j$O>)Y%5IZAVaWgrLci7w7%SC+=i^5OPh*7q9D<3zQp8^W{ zWQ@&Cz19|Q)7r%ltI5=tA#5~yHW(>%-e!Wy#M@-*hAW$&n0}fBHzbZ8N9H6l<}C;- zN_$n!970MLGnT5wca~i8Dymbu7XadAWa zOG%aX-eF#k`Lny761W>XS4SPI7G`!#`aWhk`Kr4rTWQ#{qsNFcWEcs5J83%r>Zi>E z$K?ast7lQUCqz(Xi>bqDrnznFhjND3?Ya`18C$>krIKSR)q}vqk@m0t?aieM{`)c6 zk!Kt~Fa$dDo<$cCDEhNQ56g~MqbMZ8a$wAa>n z+;0)Q&{lHi-IxmPOc6l6XM@K94V}1*(RJvFJyFjUHkh{a z@mtDnye_7JHH}%@Qphiu;)zNXt`I?f1hg&1k9~e);=|%-{6hwo?)zkHnBb#Q8YKZZ zQ&z688CSVy(XHx-rI>N8Vlu7~dtN(f1dP(q0X0W-{S9kD+TfNbV2s0oR>ms+fo6Z? z2R{hZ)tKI7#05a!fiuYnZ-=m3;A+B;e3BLiGu0;qN?KAS8tgoUzw<@bDzv|t(|B+> z!`Mx_^{-h*7}0}|M(!GqvlT-#<;x;8gy`G+@G+d`p+O?e4Z?|1ltDZpa5#p&=Y7Cl zzy$>o?`yVi*d9LMrO0(9IKCk49k+J}y5R;>zim6Ci{vZa$q%Us)`hoREjeH0FU3`T zAT1gJx%#9W-nOr4P&fcezqJffH~hqOwT?DpOVox}5GEHPM6#6HAKW zrqkZxg>SI0bJG{HM}Ay_h)$U3HPhU23NVJiO9^tk?i{N~1~%Vv$K3+d8d>H^YuGee z>%A5sb2>$}BQu^Z&1Ex+{hDfsHd3y?Bk~1b9elt~8jm@Tdj@Vtn&XPQ;c@k)Z`B{c zKAtTtIedtW%yYrEoIGRmr*Xn>s9EKlyU7YU4nnIe#@Ao;7!lg^pDUM7nwJp%sXG$} zu$)3PFv^d=6&~a|f(wjD>UH|Y2$Wdlb1t!@#4#i3l2z?uXV^d`%KDJfD~vzl)0KKl zxwVI86~)MgZ#IIqB(tHVo+c|INYr8P+cJGxNL`zj*~N`(yd70Rc*}i98|U+%cu^D^ zRPUiJjg!(36gt;XF2{ji<@Cc}9~C@-Eh#7sdQZ$J#h2zp0ADP~lulPNS`M?z-n_iU2}=im^Rzl1D~>$am3F7!s;C5w^Zbxzmf@_Hj+@h_<%-`Zd5~6S?W{_a1r3p zr$yy;CSDd0^d;%6F$%TmaQ~T-mVdU<-|QKkJ3R->b^ELUZ-1sSF?~L|gKA~J(&N;3 zNLvcwkbd(uQRpg*^MXEd1ibo3ZCgmkgF$qac+lt%zM;njTUpMbQxat#Cfv>=vDX^s z;1%nE!~NWIh0}+sG+A16SV5{Vz%WBOcf67LI+C`zLW_0D3ybO)pp!9p1Jvvu3Wnxc z^kw`V+F?b^PI{!c!89sU}w}Le< zW1$jEpNua`MK@oA{kW&J&kXNp`IWi<(I#qsXYRvgv7}Ik`q8M-k%CduPy^<#L5m_X zawD#lpkQWsjeO0C-(ABGKzw862;RDos)ePo3EH|_j*y%%!)omgt!7aMV-A~ed3W!~ z!-(OULJ=szhp08M!Sg4FZuEORPZ4}0&bvaazz^}1^bEvJ$!H>!DYWCs#>U^sT-OS# zFfu^Nx1sa24vQ<(`gq}ZMN@Y4L4BKP*s_#y=r-%k0rQG(8JO0kz`hiwE37~IfCE{M z5XDEi;o&@X#&c@l-{05CsQ4w>i1_GN)1YbCzo2PKyXVZquS$S+naba$0nf$-qfJ12fJ?K0#i7;2g08GVQwu ze->0SLo>@S1GMUF077a~BBVP^@2b|gst&8ZxIT2DW9=S%zX zT458PTE=_){aIhZ`|>sK!4*AjRlx{hDPHTl89qXBLNMCpRI73?ByIs4bY-f9;56=| zIiGDCgos8Nee4|@zf^*2q~UB?#KfX&K{ce|%oNDVWvD$7U@k|sB`b7*GP!uX0-uqL ztM8WD2H%zzc8Ix~yR3DsY|nO2CuE-%d6(t{huF8j1heV_*!Ny{)W`&n;l%F8S0ihK z0^)t%9S9V(E$pl>{)>zrMRFaB(G716iTxUaktI*5`lKf%rT-u$ov=C`HBi|cig2>G z@$t2&p$i?@nHU{XNDw9K=!M(gIq7$ZX2YU32RmVeNWO3VT~zG4JWG@ zIo>0KfeO*4W#6+#{l_?#UID*9Y=|bC(+np|y zJWsJ05Jd@ox*=T5gkc3t>_!h_Pm1SEWl+opMvyXqgcOKT7B%K)TdTTQs}^=xrE!Bl zN|R7YfQDdg5YqgUTl$|B$77R&* zyh>>4S1COp=-Jx7siwrsF!|9bh&b)|@`H<^-eJyBL6?2~ya5JnPlLS$TU7yZdRGt$ zfiDCQ{Mlvx^8#~p)JJy9T*0|#YRM5^?X#3?=QV`tluyi}Ek*^7j5pLEi0g=8-P%oL zEC+Gaa_`!av7avqzy453?AAanT^CZ2q+0~Ufe#HF+Hg=KxIb^{in-~3d7S*Ln@=Ph z$?Pyriz7e5{F%i5bg{yAxYL zGLQl$?6Zi2R1M{-gPSY;0k7(_a}S;gntAf3XtJu+Y|ss21hd{@I(OW12hI+>}L;byLL*eSnIz>eVD zN4--?!@v7|`yOM0pf&3wiq&K3r1oTq{&{G_A`-F(D|m*EpTg9% z;8^yYR@hOBO`nWfUS!u4QRYq$5Ga#RV!YbaG^pR+s>IyY2nG7g4og;Bdwjtz@A=~G zd*F0EpG@Mzj1IS5up38)u8kMul=;;<{K5n4s;{af^)o#+O4~;)Gr!u!!+7Xl-}1*Y z^UN{Y54#WW5In`=h4222yyxanl)5Y?~ofBsoZP3mQv52&ETt0jLs9A(B=S z<`FR%_a=$rms>=r;(#|>yKUHhFf?~ zs7J)fZU4xwL|AC>Zm>5=ucXVjb40bO5G4WW+~Ph1YK?GJ((T6Z) z?nbbbo>ST39gK2a?b&8K>ic=XgPN1rvmKEZg9Z0$P6?@iP=W70UN9=BX6Vj|)XzP-m zl#s9Y>$Ax@$?g2O*3y`B^TxQ#$q^Ibsp|1$o zSYj}wfMvH)s!TASk4P5ScIwWlWQaXD2Il|-n~V)+bt&rrIo}7@oOqReiu^+oJ;leu zYwSJ3?m{B~#-bV}uG@D3Ol__Xo8R$lO_uUZN?zs}Py8mfoz1YjL^x7o919!U?Mj^= zLzs$hX}r5Phz*stj4i?uJ1bwO9AiMEol2IP_SSpoJ>SXJt)iALO=?c)AJ;f6Tn`;x zM@U8CSg4THA_fM{wkf#Ys&OA$(7onEUA9FzGQ}BCM&=kgd&d4HW7gCSuIp>|Y+J{t zN~6e##B572zr&X<4>Vu-p!+NW~?u+7Nr>JBiYYC_MpQq3Fvqls(^VXi%++zd-nPUn*+-e5Bgb4G?AyfQ;l1I#niE4Tuxw45s3}j1UOh;v zUM`ii8@dPBPH1M z8xJoYl^i(UG7J?Lw^{+?EBggbFkGgoeylR@WC`urP9y5TG8}{aQQ~D|6^8&z-z_B2 z$ZdcU9({Gt5ht>Ru2qn*zfh=&FiPutFTzn{RP9zVhIm!w@kPWLIi`n)B;*oYda5b} zlDf{)!p?ZNQN;-+{AIKy_TU`)^v%eXXDK~p_Qk}JR?z>kT_+h$#hWmXy;ZcL@ z$AH6x8P<@g(%DW|6J^Gp#*_R`618?ix>IpvMei#`KOWahF!IaaI?mQW=M%Vant@@*b}4NXTg=*6n2D!5PS+W<+0X6@O>gV2UTWE z(&DmJZNZPIURCd^dYm?LDsO3|J&QoWljQPU09+XfT#6nd7b#3x3@Rg3a` za4~)GR?Q^t?5o~RQoPP?S5get4}?ABQpb~^@3GGzQ)gN+8;XePr6NOWRH^APOaz|` zB(zV415C(`X$vrY?Mx(%1$ck51@#&Rrrw8s6K22BlPZ-ahvblO8L~eInAN_08j;Ll z&h9%$^lDLE*m4RkF;vs?Xg{kNgzOpKJt<)NWWY0lD^xo=eP<+uu6&yY#z3#|i#8~$ zRpdQ3XsYW$a;*T`CM)_~HM$a_s|Fd$TqgYTNdBpqPH>>R)QnB#st7uUn)1VsfX#*x zsUMtkrOha1`vz3=jUp_9fRVLu1XF72bY4{KAj39cxR1*KYzlF4$-1>^8UFr|b5kNeX{-aa|<8a5HH!5wX&vyXT);^sB7=Tob19!z^A1 z6opVQy!@<7C%^XE(5eWZFzcHY9B}b!)^!NH2M0VkPpV^o0tA&fIjt24v{Cxsz$ZZI zEzu6IJ2Z(>fdbRfb`Icua47;mqElii0;*L4Cj!e)9FrxY4?0@h5`eY8p zM4g(Z&6d3S=~lGBcx3$*+m>T#KdqXzKxnR;#5*o?P*QNf$mi5yVi)o9&L&?aj}Z$o zB7p5+tX^fK6&Sy|ZzDJu&$#(4ZvD#3*r<%~DykGU$4qRd!Sb7N0O6_IlYYTso|HFOcd$6sr!;sz-0 zpZaBp9RhU#Mw---lt=b+u7_Jul%F2Tzrug@5oLy@Y7VwwNk8g-|1$0Bz-}=ctA&In zmA~1SsRkT3JvZ*8TDnA}IY$eiq?fJ*6Z_mYez8Z}oDwV>a=#9jm<&NIi4VzfM_#&c zsZCEmGSn}pfBubO66qUKNph$BWkzia&W#_nA^cYn0);HwZALY71d$|MU0xZ|FA_2F z1As(*c4nM@mcHN_WqmveQcNhz{$zmqcqz5EEQc2LvFpuU++D`z4|6N8BOR1>ddXsSNTXTtT4XHCa43(`9;S#s9`(o z&d6GQmso>VEo|mBU~vkJ$e+20*YZ9_ouzg2GyN)gboNixM-eIy7QgATARnBO57iNx zy|#cHh~}azQ_cv)#^oj&A{T?;(k!Nu#p_W9 zB?|vNK*HguR86+Aov#4-+~c{VW$!NHpQ8{*0sOMeRhvOc-iRAFq!?14Z#Yw{J~a+^jcmK1W5!cz$Ya(GX@YfL?!Q>YTb~J#WZi2N>Sef$kpMO;2VY9AS!RkfJ#C2v5*#1?9j}?`;g;kT6=K) zy%M<^AU~_aBv-^^wAnvDD-RA3?woN~@h+HyO{5dKaoF5u>0M3wMHdo*^7OlKfnvcx z#Aq{wq2eDlZ0+uL1ME{W;#OVf3*t50<#l(dN9d@yfqrx2{kT}c7`|% zUHwGHZ9rE?{**A(g+33b3Zd+h_%hLZYhvkD0fI9|W+^F`(QfNyIexz4eImw*pijFR zY!rah)1YwU4qVsKUcuvvu~EYDXlF9{R!c30eneNb8nO*40ZHWpYbJ5|Qg@fwMm(Np zrVm)c{&^=sVm2!$PL}hcOSF)z}tjZ*0%ZDe+35y^JK#C*`Agg*SpSyG3aD5xZyaB<6M( z9P(Yg$j7ER@#dHeAdmH%raj)2)#2PF5i z+YC=+l?LY=q`tm2N43J2D zR&2Jsy=JnS1~k_CG<7tmKpZ8ih9gN~izFDtT7J$=T$sn2R8G{Za8x|k2FL$lI!+!k zZykP=NgT{3Hk~M#N1ZY%S!vB0>md>z_=S<|hdLXQokoGWxs_O%*qx?rQ3Ke_JWFmy zIAy>cF^*FCeK=ttag4e3gg_p~3p=EoqrIS{nysXB?(?l&L>`>|AS5_u!sGB(xmlnJEg!a~>j6Fjb2L?==MXL@!&i$RZA|YlCt+3VX5ZkQIb@!4?fsp|=8{kkiWzn1q6#i#Rt&pqRybC)gcny7V zWZ9%~nW_PWYm>+O3oHWzDDrv&FW$K_wjOEK@Kx1C06b%fcg zF@v#PQs9?U(nbp%4|rW76(Txn1>RtWy?8(g1?s|pr_Q*xese92o`k$HsqVGB;v$xA zF)%<60}tUw>XQqHpF97aZ_`k3QNCQ$vGY;Arct%I)oo1l+bFuh7Wui{h}}x}s!m9& z?!+CEjMu$I;ow$t$)cl|ZpJplP*%FN-1i?beAQ~4q+6UbZ4i61N|vTTY%yo1ZWJ(>9!E}@=E1p?2OmVDt)2s?!3pt zN>)l%JTA^Xd$<}jvM5%@p8RVR&5sb8G$bC;DW%Y-=Yp$T!!5F`Faho{lkEqByYoE6 zO1}j~0ZmgjK4=At9mL!vrX_#HEtq_PD|tWC1|8 zZY5gaRg3!buW0P^vsxeLmbR{iRde7pVS(^oBF!X~9PQUp+^>uH4vbQc3Nk19M5WTA zoNs;8V%~4F*!0vFxl<%+={Hv!=l8n)gh@JwkRn)`FyzJIx(vY|r4~dUQ(O13nnZvu3%ea@ zMs){P6}tRpAq#VITefkcNrHGCDJqqxXX|9o3Ke>a1Yhc-e8H9J5Cz`#6FfIollBDo z=nDnlkJ7yy*xB+GwODEXMO{0sX|I>(Q5t!UXW_il%9$qB6)hHCzylK0?yu!HBX4*u z?Um&dt(DbRd++`fx~R*%2NuB2NP@DR0=D3E;X|M{rxePEU*qvJ(OCi-WYBp*Izy5S z-u_aupu0V*fmO$(kL9v#mm5bGBqsc(t-N?xt)1=9U*=zG5S%I1b|<_*8AwVK=owtd z&5`b^S+N+wUEJLQ6O(pHMTG@npv0bz5Y^|~n)hp3Wb-H7a$(qyD(ApSfjnxz8Zz2M zXTF2`3bJ02FA;27hddiVq)?pEb9!R%VNb^3C7PasOVX>F+;`cQehRM3=!0Du-Dq$L zCyx4u!m=%5{v5K^;83+tl8?uX0wLH$9}TpH340cBT@uS&$g*L@RGkvznqy{){l-H~ z7V5IO){YDljetA|Pb$Dn_zwJh2`MkhWNOa9J%s_659}sZqnJ0ax&$( zoB1P(f7;ksxLDi0<<#fSqKinmnAY$zGM7mgiNhDH0{;@pl~mKMAmnhbQl<>&lJ~JFchE^vhmIw@7>B}jy?VAU**V{5kn0CM z-|%Mhnnz2A`5~Yu^*+i!U+ds|2A#9@y)~((`u!=vaN0ws-SBV{4rWg{OyQNF#Gvpz z3@xV3GUstOJ_zd@MVn+)#&*SUq?bavbP*J+i6_Zd;3{RlW`0jz)>!|PJS1=#%hN1# zt14f|4#^b_;#>bFAGUY|E6?4MWOS?EWh4CkfmZ*(5(~hQ`$KIp!WI7TLMs1b7Ff9L zzGy|rB{Sn1h&=qJ=JH+Wz!17H3vckPLSLqGg%F=!3NJejDuWJp#4YJoT{AapsNJb` zOonXf*hjb<#i4EA@y{PVPy+{+CD#|{nEuG|z)6pfqM|Egt<4hOm~{BJ^AV?Evo5SN z*7>wx_!9x@0ct~zJ*1X|GiSU-w;5M!V(&0()Uuxvyffv;G`BC6Pw!bidReBv4UvIA z#=~E8yIp5^&uYL&w#{dVHgt7|&h_F~K+Cb-F%HcI&EAN#k@>DJD6j@bv|%tvVQk(c z3(J`U ze^LR$BXYEGi6SvBxExv{osHMlV0TQ%TCF}}e<8n4O$?IS-5{LZ7WN+&d5FTW&VG+Q z5ZM$~FfvYnNm-id+EEbQf4@Rc=)pGnjc;_!BgVSsVtb9#w5leRA@f_h)`t`#59}$k zqHIZzJNhM#-&OoXj8S0AGVeQ)x88l<oT*BWv3@x?>_T)EarlW9a?i1|EEZ z@sTQyFI7Ra@ogeFrIx%~+(fH0@RXfYZ9`|ty z;9zy)oWh;2p8NQ=cyxfyOmUfkQXO12Gc6+B;K^1B-tNbQC#2-0v-riq@{}P@#7hxt zvgemMVh<}sxG{N0$+!*7dvt5u($*ap&p6bDOQtNexPYpjkRimYOsOgXHL5P{=wo`h za@KE%66}J4$W>JhBFnDxDKk>Vy+)hjfXOOfjXq@8ih0p}R_h0pg}mOffNLHXlPk;7 zW7n+()wYGYTLSqJEq%u7AF}#+VaLab^VJ51Gd&173aaadgrSk=}a67@XFu8=h`jFjg9UruKjS}hjpvIjL2&pJgbu&0HKi| zN3@F3nmemtJ-dIjo(geXZ#zI~v}>5<_5si&fFoQw!GANcmO9cBs%JAX)9G6!f$m!} zHK(Pw$hmVy>_moO)-3Zpl60nBRC9Ur9CSvO44sv9gA9@M1)2Y`#a^B296fWL?d=^U zt}9e!T%y*hKBEqIZ7D*@UL`fl z*fi|AZnLc-Y(q#(N&d0bInh8dO(yr7jD%Y=c9nk#SL=swO+InCf$t zENtYo;VZq-&ipq=TvGVLn`BC}2b=gmBK+W=iDmOidG9=~tWu7!1Acp4h-Cn-{2~DP z0|NF9Rnf@@tMr{L@<`t6PYI*b*SgMxffTgc_^;-X~_$iinv zJL{1P^Mo`?vD~PzjowKCj?=FH__@Bx%HL|raq~4u$OOYU5B~YI3lT?OCy(r{_^n4% zwxpO^8d>f!q=~9L<$e)Eo?vY*k90xP!e|xa>nt_0oQm@ro&AaH4plVI6umme@Rj1> zisg5S+&W%Yn+9~Ilaeyu=+EXB$P>_x+JzcN~*G_E{lO{PMoyU+eo9a$xaI_SDBe)i- z2}B`%sMd@q(1lu;ZFqANp+JrJVGuU;Yw$F|W4jn449@Ai801jGiWA}y+Z|&h*qd(K76k`ah6ac9dU^?4w=Dl`btP)d z5D2_JIbc`#3)yDbE(jn`-4kS!#!G+zD@@nygiBoR6CMSET3x z?lc@gQ!Hl=#2eG~UhLqn{!Q@*O_H%#yl49>h#f~VGWfn&9z|B>xHrJ3_0QwbK0rg@cFlo8qiyqt$E6;}HFrQ72da>y9z?>(N5p8#p2X@)th>bf}Q; z5Kv-U@ET-~K=;#iytR9$OUC!JY{(#IH2YWpghG1V^r@UCfWr2Tg6y)h`gN8+l=Np$ zI^y2luWth`tYq(@6$-D?b{ypP40Q%b4@I6(y!q~84gVCqK4l+vY7$+Q-F(Ahn*>TP z9tSA~o@;ljYW-iXN%5A>n6_UU2e~$Tg92zl-5h&wKNnvPIE*modu%;3z#n#y9r5#;@6EUOGZ&l6qWsKD#@T ziHDLBN&Z0$`In83W{hv4FPT}7i|K%toEg*e9?HK{hoYxa(_GnN~YV1*{(Y2!)) zAaJlE^kx7E{<3xZlYiq&-FnM?z3Xq-K6rU8it)QDRd&@ZY<|{(`yG_0FI;%2G|$1&-C=KH1t2-zTW%M&HOASDtbDQL3#W7 zEJ6!V*h9(V(mEuSa^M-xVoR{{>fr}wYur#@z+*a89z^TogQ6c2HyER zOaC@mM`w8$F4^qXmI~ zdjSUrwwvcA4fZY&f4|=4T@B3G#l_6kg#{Aq-|_#88uVW^D^uJ5rgZ!-bwRx=S=(Fv zZ#uv~3IEn)Yi05eI&cUq$oB@n6aH^?y=%S;8rZAw-_qI4g+)pB|Bt}_tMqU37eV>{ z>o3C8+1SI_#5P$@7aW1%U*W42nc>}NU|^aOU|@9r4*pxz1!^aQbio--{}u4}<$qWX z@$bXG$zMKW^ndWV8{4}5FAepX$o{bVuDk;d2KJu~{mT@UoTUqnXZe3IA^$tiKWveY z@!xu8_CJh*@|J^^^$vl4=OX_n^e@*G23UeU#s`uAi|oI5s~qzmWVXg$?+5b!lPZ}^ z4;&lyKP#^bT*3rPFvX-|{MWj-jJ}5IzuRmQ9t`a7p!|o_1+w8JXX$}c{}03*2Ozxg zu2%Wpev-+V4Dr?>rR$4Yi#tuMbXb^j`t{|1xv` zPRf7C-?8*1dY|mZj{l{*?-TSd zoARGh7syBsmVic%^*_dH6e(>|Ka@q)cIdr`mg8zL;m);N(cNu)`9;E^xqA&_!sndRZx=k`u{uTyTSeo r(aSsL?;`PES^m}e|2qqrF8DuI3?*4;n7=h)zkh_@b;RFafPwu#1UR;E diff --git a/libraries/libs/wearpreferenceactivity-0.5.0.aar b/libraries/libs/wearpreferenceactivity-0.5.0.aar index 66b3cad816ca298c74a9f5c4d8c11fb1bfde068b..3e2a2c5c60b414e334452818e6eadfbc9efabdd5 100644 GIT binary patch delta 25860 zcmZ@I8ZQHhOXJQ)@8-T-qe z%7B8Q0zpAR0ZAJ0O91_!K>>mW60$RKvbQvmGqkfbGj;w)?`~_OrV0)OOxXylUe5#t z41k0(bBJt!00sim0RaN~|G{AY12eWUbapm%rnfS5`d^TwPUATG%@#WDNw&!r+szi+ zsRr9in*a7H?Pd$tr0cSd^=P=)&id>1^UZYFS27lt)6x+n{f>@GMb;Y70e`%;12CYf4BeZQvEHqlJUDaA{x58KD@d)9I`tzJioBJ zFuXjxFuXcGJU_lMxH7mA63`tN8Qff7mt9>RjFlbVoS(S(`w@EN{+EVU2(@pH z-g|LzKxKHAXhDR0;P3OjFWW*?97X;9s1R0katJo7Kr{BRdysR-IJQ_Nm}&ju2$aiGyo8H~K=~z!g{B**0&Qe~@ue2?ogTtP}bI zRwBMs=Y|ub=iKA%Uf@En2>lD+T|cHAWCRai)5#yGS+v)3xB&k#%+W(eBb zr`*?60#g6|FTjq#-RQR5cGEdx;(Pa5nnIVGUMYjwliQcC#UFnJP3zFWBS?Ef(!~_x z;VSYI_+&+E`;rrr0BohT)|AI8wS7q*%4-*n7z}G3ApW~i6=QwOX+|5N;nKR4v`W=3 z{`MAKjwGL0(W}rIV?zIr_Y(T~HzjUgQ=F8t-QnAd89?7|$9-FJjx* zMm?^OHGq;Vip24r?TH#k-u4OW7On{SqCKSb>->IHHD#Ug2|$TmfzDKJ)LYWm+8HsT3lyD7Ud>}_lN({BVZytM((NeRFSJov{M4jhd zdBTfidRXxzOx)jnk5kE|sl$Ner$SfkyI*yk0Qh|h3!cx@-b{@yu3;@$+uP|L=&m8d zbF0cha=zbi>6Eahuv4DV(FtG9MJ7RvE5v(q8JoW&$8HOy!Zz{7<9IGrOQ;szUE)Wc zCSW4g&(op_BHnlEs-ZYK$XhXA5V4W3v21 z3IN)6WS5{dLwHte^OCp<;lr@fmW2?T_=(vnXROc)n;iGnJra^`z}UAtjZpeg#(`cjO2hk_j?rgjlyivf z$bo&7ti(gez=2GlT=RoY$_T+`hX$Vn6d;BonYD(!+OG+k^XC%$#oj=4u{7uP3mitj z4gdnt{|gop6rNunT%8^joYPpq>nj;DoNsDqi7F|Yp*3Qv<{0YZ7gQ!<-8 zfH<&PHbuC4f&5umkk)0g9ck>~HSnSJj%P^c(bVI|)FS3q?JBqNsvZIyHO6tK8PMGP zlz8oiU%J(;+k1;}rYCQ2^-15Pq$C@zUEtMPAOq9+&>-OT7dqLZzxyXO3%FT}04;`U z#PTVD#z6*&^-{fONX`+;mhO3Y(^Q54EU{U6%jJyw{3A$NKY$kJr;U$dd& z1meA;v(d)wxmW?I$#Jv$U)>VPH^3Wsks+Q)3M4%yZ_x7rnCKrcAr5(*mNpgsK@J=D zlmK($Ww|Ms!nTwdo+@8igQ9qJG&)HQ76#^9rG)$oghY3}_=!_++=7%Db z!8MTjBx3#qjWc(&P$b57RC#-UoHdTSXNtRTj&X2nh2?dihG|uT0^^6`t73vuhp(60 za1n0pJ|#UQvtUms_ez|K6cF1A-<9T3!kg)4iL(<47Dg@SB+=K=3os1cNG067W+JjK zJ3^hvg|`MbnJr!rhcgljR>(nPflyUG;SC0f?A$>O)ims0s)s9wVnZU2+#k)#8HWI? zw~^iBX6ZH0d(UBF3VVdKRpch<({kTbE90u(V^aKNyQNRJ@V=#N0Z=!okBj|f4O`Z0 zPCu2Q)bNa1Zy#0ML2uB#z7%3>nIFAAwE?wf9{n1`B&qn`jz8pDz=i$ zI1mVMXQ|}3J*;h+(J**J@>=ZiDKvbUL2|&Oa1^}yOZF@2qh?8Rpeye9Tb$``w-ohK zTAHxh6(G~vp7~U*3GgZ%B4N8Pgwcpj5x4B!pV94ek}p^GPcVyJ2zOWG^b(N1eo7^O z&e!EXTfEE~wEb=2xgKx|JTm~jF>V!$3=%qhG#~Ag+5|JncT~Ei@K=)c z&Q`JcvCOHJVHTch+!k4*1D_m)n4~g-(qhO9!iZDd3x946w0}A~ty4rutl^r)nG3P> zrd7GGZ<5tA0nFa3Ip-nU|14_y9Knupg&d7v^btpe`vR|BbFa#s17>=?DmkwCHPJMb)Tbe$2iHNK zQ{aeTm2g*xOm(or9)okDA##aeGB;LE#@_V&mj=7SRv}~@g?%75o!0E^gFNI`(^E~P z2gX_2P$Z<7^}>{+4}D<$Hd=NgjbS<&oB$=y-1lS|=5`r)_}L4LX+oKnAv|P`qfiO= z(F_Z>0OWannNqj{BR*|CQs{vtq_pw93_QhYRG?S~O7uM&hgr3zyy?Tl_ZU_^^PM^k za%Q{eJ>E+6hyq=dnlGV+~mxzq*V;2Uid%*rJ3Wg8aZ68$_bsR|8Ev!5M!F zaS$qs##@zR63sv1yW8-4Fal+J3qG-X1%FOV034=w;5)rV@xa9pl_=V3M|%#7!@8iK06j)T;jvuK(8MN7{5dw`PRTa!HDZ9sHa@-wRFqd` zzNn5Df9j0VXZ3&=&7w}c>%;-Smu_J7D-!^zz+?2A5p;B+T)LHO;B# z-1#=SBAT&1$`UlS@r9`laMr6tlPa>P^sz*t80H2Jsqn#8{!9GgSR(j<3ass3^*fCw#%>GL%^SuI^6Ve2sk*^0)e& zJP9P}TSC|!Do8cB4HJJrlS2_kiQ58U-6iT?mjf?U+A*v>LqCod81}qy{<66;mV&=5ak4uaQ6>V7PRte&9099|R6PF(%FMr>2!t%(; z!li=_UG7Hca3o+_YCVzTMLbLqgD*hI z0cd%b|7G<6c}b$y88;3E^bsLt+cVbs*LQs_#xHD1>YHh zTr1ZHxj(jQvM;uM8ugvAe3D@0wxCCbk`kb3IOw||P*L6p9B&0DVgUEBSvH3$SV3TtTP8z(_7p9MP|H_h&*YXSpxlU%L456tBYe(CBGt=z$$5a5nsvc z9Do;b!gNfi8s5;4S2sT{h;Z zY51D_DeYbojiEO2-F1k-svq`9&3rz^Paf%~HBLD$^{3p?tx?V5oQ=w}kc_0xOjCS`!ojX^aj?uitu|&Rb!WvcDE*nS z%&3io^boc$9;MWM+OVZ=&$IH!ij#s3A9P+1APeFv6;4X&agb&NWQ#nbUF!jFZ-I@x z@;nwr^+^R`JX(- zLAimT+zRssv!-egrZ6}Uu91XvgFKo_I6w!PaE*?zA$@7dbP;Cyr+3nZx$OS3s zWK%ew*xPWFx8mO!I1Xx>LDob!nT^vZ$Fn&s;+)$h)JPCUp&eBXjF=F*1ycY_DWj`% zoZV-d)h(jGrL4PH+yKA+xy)B2%ziI~_u;*Y9KqL#$$;D1Ir_1QgD8=(VGKeBvP>R( z1)EH#)XZN;RkAa@M^0`j`4fxEw&OLc=YhpQM&3K&r<~Cvj$Opzw&zh(Oqg_PfRJoV z79lDFl zxJKvp)EPUc2OyR#GR6`{QuH?aX9YOgps_Ap0Osy9J5iTLq3@pyt8~>xukpRsOSc{r z#aJ5&Z49WqdNO%-!yUp{;pW_%+}Wf8?lLN**-6>7_vhGw_Tj?4hFw|h-(AgfkrCn} zl!jiSu?;6Nzi>VVrNF{f-}GQT6RB!ari`9v@@igf3jkVb4B6&i{cox>;Ks{PV{2H& zmF`At6`Y5wF^0&UzAGUw`Bh#-#w~@-z<6%~r^i{n8ul$C((WYl%3FqH0O#q{U-`MM zA1$Hk1ituEYXO0();?8?#=p=buxNBVP|X%zI(p=VRCg!964f7lSe4wY7cAM0 z+{?>%#U(5VF^nts?*q6i?7H{E-p7vG`4;r@Wex7;!xpqs55*B&!)XGMrA0H;+nU=_ zI{_NmXTdjV!l5ItrR@ZQF$-;12Uku(V_osjl1`2D8TuMZbht&#-ut8ai}5F%`$$QY z3xJynGr4{mIt;WVulb_C1=4oy*BF*M)Y(KEo-8HeYgAEyD#p#iLcP7A4q+l?@v2*$ z9Ko=mTsKFpDoZT=qYmPFL2O0>)6V6`c*g&0zvWPx&U47VF<91~STZ5_6Z&HDbHM(LaWs9{`e!EBycm{pS3=q*RgeW$OX z$4TppVU9~HRb8B=)qiI*eU#>N&IGe}%>MlTuEj%Pi{zeh3dtq4VU-^A=)Q(O8>#qA z$=G{aUp@QhZXV@BxsRRpvrU8>1_0XHh}Os-I&Sw+Ryp$rb>q6;tTmN_Q)@ljkJ4bN zDRB{>!q=~)Nzd0ohH}%_PkkSZ=8voh*f9bDZp9xd@%`UhX6c3XA@Py9!I|Or-N|U| zxf{+4di`ck_2ofm(FHh(`L-{qk!k6_f^#HHl0vK*i-XYOq}DBxhM4FF3IN>Xj;L() z4Rk`K zrZ36Bev!Pk$xHZz(YxR{HLr>|MQtl;5X2@$?F#8W5hKcS=Zq7o>Y=Ezh1CY}RcVPt zkVuapTQqf@ogBoqGW5+UMQ*DvpY=5q9MK-cHPr7O)rZS%J3E_>XyIB;%@mzpbA{eN z{hDa_t2#HvR24PFhJYNy+PnH%`eR2%`&MIud+VQnfy!Zd&vV1GRtmAjNj9*dr}ne{ z7Xk;y^np{qHzOSby{am=v#NiOtt&MJ1|#_$jt7>MELlti_dZ>i7_RSlMgc^hrKjpW z9B7t9^nTQdkjv;2=5+Vd8&P9Hs9Nu9LKzZHiOW}_q|4-EqJX$bX0NG18H;OUrgIx* ze_XD@Ui$8HJ?CQ_F&akZq;s2Jx#tO$T-tS_fe2~Jo%zYk_5QJlZp`4bZKoT($Y%kSSK-3WFxSq(^<1EhX}{30gQ2fag=AAK#+Iu^ zX8u74Y|yq~79gdmTRSzrX+2Z*Rn;1udU_$MY2=h^cD zYBZ9fRjEo^BFAFJus#)NPJ!4}nJee7n;HJDd4poK;j%)+piw^+LBhEV36OUII$A$E z%O&w*<6h1{uKp{3K$q!(vi2&{dA|`64oN+a5WBjZ7vPk-zMHR4XfZHzz)-Fh%vvv| zfYK&|i4T;eFfcXuvntzSBDE@78Th!^H&F=g93+4i*dQnqk?|uZ^?C;p)7(c2`J%*QG%;C9Ju4AH-(oFOdIA;&-Zt4Rb~aw>R5U8IjBqkXHwv*3 z(;6r^84y80W$tiPmZPS~Ete=~YDRdo4&0U7(c}&eKW}0oNl7jU;dp;3FO!}hco*6g z`edn69-x)+8&8^eXVF4(Ik?`JP<-D`+5KF)#-dU<&6iMwU^i?hQY98~r7Ul4IaeU{ zh3KRJr^rFweP`KSXPDld^my1<8%ITUCG8Rw2>3LS{by~|8eZZ&jEzO`QzXVE(i_ft z70}C`xZqS5@WtmY#Aa)%UO|N>O~MYBQ4?sRXkgL~xzmS4v-A59h%m^XnFQw`k`|9T zz~yh!U1{-`57jdgN*SjXYQ)?!ZsI#6{@MoWS!QRvy4US!B|GIBsC~RIY1C#LghL?# z0ATG3?iPV+i{{Y_DCzK}-!|F-9))%|g?rA7xX4~^RDc?^=$(*+wl#T-*?)VA4yNPt zS*q%wG=SVUp^@&XuQW@bP17Acw-jjyD$jDYv{M8cIG?;)!352&U+|@QPs!dtx#|=3}zC8qWNs6pn2Lz8)v{Ca~KhaHG3b6#SNooF#Rc|9KDK1&-Ib7-{FlBs&#n=wHDS*PrFAC=PAXqQ31{(wg%> zjxPUw1bQX2IO8MVT6G`&J;;`37#~$IIoW@&|2}wC8;C^GxPNVncGdPeR~;Oa3au+~8EcFC~7ZMbQ9U6`eIIu!Y0sl&4ShxJ~ ztt&!EquV?>BUA2>O%YRtF)%*A8d-p;|M~K#Gzu1LdgX&ecr&?lB`U1Z74>($9^{6*Tdo32pe=A@_f%VC{!64Ca5er)VW+@^pcPTV z`bvI#PoWOm6I&5VSNJMn1&l`tZ;j<*rX*ilSZzespgj|?BX^*@Qj#z~t5)a9*pV4u^K}6N&1n z@7ETUz6~m9L(G|G^7R7|I(2w_NDEFCpXy_>Z3uF$0Oin9gb^e}M(RT5$^&7e;Dr2a z#T@zzr1`Kw4)7#Ge--@M`oiQ1Hf5rLsKYbTBY`1Xz&U$yL)96;Qi3Eu5T9{9WQ#1D zX=(c|5bNdR+n%$;5)l6(;&R-|u_`C2~&Cv=p0e$il*|LZWJM=g`c%~JmJ9>`s zaIWm}8tQbp8|Gp52i3E5$U{?d_O7~=2#X1J^IyYIjgMN+)!^cc-@eMVrE+|P3ism1 z?<%{g1F*9-%xWeTZdr^jqMm}6WQ(%@{tFtXF%9(TlB-{7H4*I*wXKAOYKeNK@%mY@ zCTZI(=XP*QeEZhpgWnP{kV)WlbU7n9rudKCt)?KSM|fQ$V%Q@Iq^C55EfI(Z7r9;; ztJebHCX|yvx7!fcgQtW6Ln8qrvC!e*0XX1WwXP4AW_2y zbf$@Z;uynt)P{Vp?-zW;2H&j3Nf01z$mV%IZ)Z-%_uZ3qpJm&9y|P!&;#zgH1_ZhU zFmya3FiyY#A?sJxJp288V~x$65UKAxT6Rfl{`2Tr5BI{wpz1w)QzG~UT$^vBUc|=S z)9&gx71pV3n3I#ZeGyB$YO8UCS1UQprgg@0CUK}}m3ameGI(?=5j!dIN;al#u^=>f z!_nuRjO2 zb1>XyLn}Jk6KGKJB?fUgO?t({P9WGamJ|O~->oC|#cI(kw(yp#KfA@Y6qufLd&8S3 zZFE6ISIDlFH>ep{dIcsq^cqQ$vmg|B3{^{>KPw0RIV|>QN$9ZO((h?9Rjw5Pj2>-1 z{K$Si!3OQ&6n0QyjJ5Xk+S&pv8J7Q`A<9uW9(C{U)jknx@Z3qD2Y!eQb1c@+VahUI zyA3ZjIFn2;Yo8L*SRBSU+g;&3ZN(GHbtu!7QC}IOf%Q>|KBk)g3^Po~e}Bpas7 zVkmNkrtY>9zvi+?+!)`T^*C*}5vZ;7wm1xjdHP3`hn~w`!9D}?l*LU6@N%`%9yRp~ z?{@Gb({nIdV7ue6znl-OK@c9cP6SSWPL>+!0T1aW@-bTGpaYaXLMfvFl> zMu3GaS|cedGnZy=7Hl;J@IDHEvaeR8e|s6cH$5&@1-YSykQ`vk2005XI3l)dp3e`| zG>~F>UFUQ8`bV0Y*5~J)rz$kLIokXcZ7d)!C=7m}NUdHLC13AmkbD6;@FxeB;-`z>R9T5+ZRvc`}MK z>{6na*jm%AKIvIPG>767AE+O1N;AEO(JXpiLq~78I7N6-U_dIp)1L6k27?cH1gp=+V=QE&FcY_PRW| zjrGKjs3n!I3|=BpM%giLf2^Od6Zel6$FuA{288f?$y+BxQFXEYaEA`JLdrtt3Z-0n z;tnW!Mm!VTW&Ht;n+st|?RBPu1BHGR3e<(#K;tIAKo_v6o)BFEcG}>(vm57ZnNs=! zP-_#_V?s+DvdyC>irs&+4yf|N2o4IONmxYdA+_ zXaWn6h>|dp#1x^Mu;Xsjw&4raXe00dyk-WzHE=_G*QR4YG!PkqVs1qBWfEvMm4|#Y zfJ{7zk~FiBaPzf4riJpq7XVS;U&G_-iSHpslZa@-@KN&mikR9bXk#WBRBVPXTzy_E z9~mnABMWe+Co6h9b zm-8QgXv9@7#{qq^)l+P-HHWC&0fr(ik`z^ke`E>rAN-KMLC9zf6-8`Q`jSjZACZqq z3)yjO{ofrDr5Hq2$Q=#zSG@-SO0kxK+E)}XrITEkv#z|%kmd*!@OMrr@~ld{b$RQL zbPpYZzdTl1_J1}{2kcO18U1^|XCXQKzcw-bZW>=EQnGo<|`xI{bl@4?q<;x8KxJWf9n?#jx zt%dq0#B*nUuOUFA{n%7Ki`x#0FcmOyAlv=&@x7J)jB)($llZm32kI1yo_;i^buELR z7WsnRRosQ^xET#vkbcI2%4M&>f|1|a_NysgNN-vO!HUVB%21k%hfd1I{i#MVcOK%9 zo_9Pbkmodtk^~AguoMOm_-98O2!C>-UpuSfU~)g>KzlNY%a9E%*ZfCB(@c@L1}@&>$+ubX z7_o9HgrpwzSmZ9^jpE9<)1UeZ#J%~;)S+A{l%9Xexuwm5e6_Qo+_`urd8`%CQ4l3o z;@?Hpg_~wD(<7vStV*H?sr<1pi8;)yvGkBl&6GEq&;XOZR(g&0ix&rzoO8L z2u1g*b&H8U3W&Y&!%Zjk?}Aa-U+`EB+?BlMKGB*1XPbH=cqrSO0SuBWsNZEK3EqGH zdg2)PZ*dx2Fgl2tr8&+KRgOxtNO&aDCo%|wIEP*@)V%9Drm&-2KwGORPf{Qh-Q+dG ziCdt})`lN|&JCNicHkR`karjoiXB;FdNFvT@>z$#%Rg**C5$Y*Xpd7vA^XDToklNb zXA-gn)`(a}9cmEwTM8+*n)I*|Kv#Ebo^Y6KG`wi!K8D(<;b^RtXk~2@WZa}2TJb*! z3_C57mK9gKl#{&rG!GNdizTr^O*kQUWifwUD5#A9Z}f~P)G$z$Rb#Hfsqo{jD+(1= zSCWpi66&AI_l0pzijgW4H-DjV-9<2+<|6;}>(1F!;Py!AeDF2WC5{hPp8)hImrc-d zwP?X;#M8R+RxEN@WFitaqgE(zn z%d`6>6g$cyuT!if7m3YpJ0M)uFMp)O_SL(v4N#j=3R4GQ6{hZC(p|9jjd{1uJ*cnl z_)c3-wd^)=uwAM>;J6UpGa*+0e304Pa*1&smpiyb^t+mp`NYES@>_CrS}oQg1hg~2 zI}NrVx!Le1eXU_0#~x2QbY?jDuzV$)8=j8W)r?}#lFBr_iZd)*A8@%vX|=}ic@oYZ z6_4erxk6{-Ks84;YRhK>Uk?63^m-CT3vKyz(Spt!$AR?txbr zSWPjUtbd@9dWzQoK^=vQlx#I6s#Kblfu7s=hHV4bs2DN%#KJXh zT@Pz*Cp+YvXJpy_NI7(X?(`D5ylm3YE{9IH^o=+Hb8SV+y*>eVSbeh* zBGD@RZO-|({@UjtE(+LJd}_ac-2RpRRn%KAt!+a^<_~8r3k0aI9%u3c=Y~$O zyUUMoLaVxjCoaYKx!@H%?Nw#WEtJ=*U!i!-HqB>Q7;dp|E)tga@sIo%m4HhLw%sX2>Zr2`BLXa9nx{_m+GDM#zZ|S#a-J{9 z*X;A^X}NU>c}T@<5%jBmp<&}^uz>up8kaBl0~?!duw1tiHzykSG#v4>kbq`vVfA(p z3GZ4i+i{XKmkuU-41>i`eq*+U3h}<`{#ixlK8g-5~?;sxuRYYnBl) z5T-Rl=pGS(A$WK;JFQEnAY%7gnLZyDi!cHbeH{WfA47NgARD^+o%1aLa*NQlRL{}V zXn()bVV&IYM;Rd^qUAs%4@JLx!qZ96t9r7 zKYNB*I$yA9(8g1eXMhIIl*=v2qkRkJ4~_`bmiCjl`rsb>AZ24fT`a|*{UOJcYkrY$ z2oOvKkSZ4&={>aa)f2VVC?as^!*Ye9{)0&fVsl_#@TJ>+lRpy1hd4*JjMYcqx2igB znUx$nXZPtH$^9??b`W%#q+LAJBQzY7sFFGCIKW3{*zM9W&qni)3d8fGT>%~A>%fwQ z>NGwKzVP!gM^Nh9Jd$NGjfu^-Xyen~&)Gngw?uS$=TZGR?Z_+^ChFl2`|5(>2K?&x z2Se9dlEEc}TPdx++m=YEa*`z zL4xEjhRzX)fz#50&^jKcmq7I#^Avrh}uD2CcV`4WF z0CU?~N%_q_mnLgl2?bwfwK!?5ths9HHM`nKN>T7^N%v_v&ZjT<$OuqE4$^2sY$*kQ zMll%c&HTFD;c+CIv}p!CH-_3u!uNYr6eN&)?V|$-)sa_?peLXfHTYRZ+@E1DY)HR} zMqv>pYY|H3PRZjm?*a!IqPmvQw7XTZDr-;BA9AtT@5gSw(@a_R>XG1VzCC@q(Mw6C z5oTr-N5(Qem5_+cg#=FlZ}kmsR9?V$T%djU6~o-;ni#$hn_;3AnMWO(9tsP6zKAo8 z7K8!hxT1#7k&vY)5U2lS*9Il01lm|0XvTU_EvvXN!R>3D8v>8cMlXJan^2;^Ti^4mOhsuXj27!a+(0h zB2X}B@3j*d=U((nxihyP>e2nGGA(v4eHmngXO3$~$c7HSW&HljRhJDCf zbNm)=lzx>${l*4f5h+C}euF?2>{_1mDw#wT}CX zm(&rPaEl-N{@G#;D`}PjWrmGtT}=d_JC$bfz%94Q*Y@5Y0H#2k^3S5(PwO?<;w!BG z0cH68-oEmWz1rsiAHX&I+u>=upu{8w89o{Q(jyow)0%^UCR`StB7Y@+26d`MMCm$$ zr>qgR2bKn8H}ihbnz^3yOtH4h-glF##PDIAit)=iI`acC0X0Q2H;2_}{AC67*BBMY zRK+w5|DYs7L*#1-)kT0LASyvwNrgdF&w1mD_yHf|QTSt%XK1n9n_p?nX;j!}Cl`!3 zIgd_~|12o+d|`sI(;3$tB$wdL)DllDTiXipNF1-{{s) z!j7ZEoQhkq2kh+RPN1c5vQOCNz6Ir(LijW%6F)O@$4Yz_fPRCA+5UHfj)4O+U16y~1TC74bY zEb6UUd#d5vVv41|l|WbNhEqSzaq#hR6}BTkl-F~}g$iVv=i2~4qx$&>xOtv7mq?+V zx84b1uPnlykqDg~Nlz2UcJX9c=bSRSttdf*87uU(E!Zuh-otI=QG<3w0q&eZ*>>(EJu+}%lpQep>mo$VPJW#}tLu!_ zxp>)SyuB-x`v{;kBo3s5K8iKn2Gwd$v8x}`CPJ9%ZVeU@grD~JLoh5CYjkokP=}|$ z*f`14_r$oR$+GYGE-{;((FNH^84ly#A28^WPGeg;OpH8I1_3^kdDgS2|Bun zA`P(s*CTd`;zj{;1=TF^s27G~47b`ZIjhobpsOnL8DlMwgHB$Sxm&b{_E^6JEFT}D zi>!bBuKejPmqKgp$c;@Ki-&PWlxPbrMJxOSgi-tmx$4$VrJcw z*RMC{8eONgZa-THXFG{Ht#K@~#4f1?c>tJ>nu05pTb}8P{cHFqb?k^Zg)1TM*AMN# zLzNDg(%3aXS8=$u&MA))Ay8*%6MWe^7=zWp$rhojFt2AA#Q#*v@m&a(@lSb;EbNky z`R#rOl4&vSyVv!g8;v(8E2P|6v$;ZH87t2M9>oebamAvnZP8*}wc>f)S|I<5#{iJM z%xeWK2Fql-))cL`_NdHwX}28SGckynu%U#w2=U|>l3Gc84Zp!|zx-18zh zA2VTKlbbm{i3=8!orW~=2`Tp0U$Tzgqg%yBB2j8D9 zEe2;A!)2zX8HWmo7g2v{;U=;QZGEVN%1Rz{M}*zQFD!)AV8{U7&4PS>B<@y4lv3JV z_Jb`L#YztVAt%hy^K>&?#r9)|)5&=7hAR_ii{-4IaGN`U?>k?hq`v26u@xRC0VX z7``F{guviAnxu;o#!K_i%Ua@LtyTi%dPGOg(COTg#^YBSJWsI3;uFU2pCTX5$!y$J zAhY`D0s$Xm6K`USbBqjS0M?j{;69`$EsZR6GGQKd=HRO2qg~&ouf#JEe@H4Hd9jZc z=Z(X$VtbeIMC_!%eHrAI{)v4HZJTqw{Aod){Mkn?pZP0I(Vqo_e{_3xwqbV+-$9S4 z`Uy9#eISxbE7j=q2z1bx;blrJ=-VX#l%iZaC;);Dj@3!NmEXizqZL(TH>YrvUO|jD zP0UWEz0q{t>Btbj3M0R#$eCx^2Y%7L6C-QkIhph}Wo4q{I=~8HS=%|BUAY_3c8wbp zjCok-S+vJ3_#MHYQFf=8%?Ed>vmi-kHkGbg((>~r%6`&&P|NCg3EooZTze~kK|k6u z5(Owj@=K($M?OI)bt+9lO(eQL#VX4sjQJ3;EtTgj+7!XCn~Hc{PT>oC(%SB_eg5q#0vvsOCwN=p{-r9=mPNS^rb?18*<+zmT zb+`D`{tN%p>-{L(JWGnR>9Bh{T8Tsbc{i{{B`l(Vsra=uY>bEb<0Z;dy`9UYn4;Kj zH;Ua?fcVUyZ)9kh4Xf3GI|e` z)Gn@!%oOM!`g#!g<^Z)OHUzvk*MCwxN=|J@N48T7?97SOH&`3R(h36(2G0V1o}V0+ zuR>PM9gA17=lI?@h8`H@nE&}f{6d{owizLRJtO7f;8d8zur=F;l9ldUj0NtZKuiko z#mky0s?{8D`(e@-AnTLBihRnwK%oXevWC#DNuuW1P*GQ%#Z#+uM^EXCYM|lURdrbx zpZAa3ihN;ru(E*=&wW^u2^-qssZm=ndBSh@XyHo1=dMSv8XV7-DDRyfGM~E^!bZ>1 z9}!*v8SR2;?+d=Cg5PcpYQ#U(H8W@V#6?V8i&XC%4X>Kac{x4quBoK76!-zb@I7Z5 zH|CWS$x#BP7Z5&@N!a`P9jUreB+f#s&Q+PtXJ)7Qzn}79!mak~D(=%XH!@WJ@a^At zOcxD@wfB6yQnb`q$x2RKF2IidmCg;>LO{IxXZ);cPhebR%}CE6-;H4$p1cl?n8RyD zuTEH?k2;vY5Z-bwqo+}vX5SU?>S`gvY`zuVW4H%>6L3Pvj}23@hup7gvH@+`@p;ZV znruqE1$DTba!}3{si9e%V`hsOUvvOcGPvy&Th{iB4j|i_b$mmp@x`x&;O>sFi{|hh{0ZFIF+>ms+ z3w+hJ1l6)pGBYg}N!{^bHY-g}=@p0taCX(EGAQuK^79D?GpCBp*rR>a1iF43b(nsb zu4y&psW#B%cc2Foa>qiu%mu+r@LL>B6b;YPD1fqOxqm>lTyzK)DbfuwR`a8Hnz32^ zfqx(@<0~XMM*F_c7z`u?iuU_|!M2W1IYG|Ecnv@a$nSL-BQZAkH2R}J#>7-TZ%zp| zq4%TF{L)xI120O@Z8XIY^~1M*H70^@I^NdKs}0i2ZGJi*xGp3G%Bz-tjI}{3K`TMN zm$|dNjSPF(O(8)BeD6|vnXZCjU_QI zjejA>T$qkqG?psOo@cl&mZ|ro%t-ApNmG5($Tr0CGBO$pD{lHJwP;d7ZiuCn8VGW~ zyYtgF2V!ipbhPs9iebmKgD%<+uot8;QteuIl8jR;Q%Bujc37u>d`%#}8W7fjlWM@D z&3q^=BUUit)a?VNHMLuEWg*Zo9ld6IVGKf#rHrPlu0mtElCDIyZe@NNR8DXDyq$1i zpzybuFiZ_3-frAK{?arsye*OxVE|@FsDzpq*61sahcGWgzosYm;wJ~xn8=ge9}I3v z>a7o1S$nhi>OkEs=jos2z9T{Jmk4h5l#e__)x*6^q8b zAVpb-O!m#wE}l3E3}1r)p5;BqoH`d*csQ0t=>oaE=cOac+S!j#PpB>RSwcW!mKSVA^4vj%&|)GtiHfW4vzK zne_MLTV3Z?R%m!8B>U(hjVIqOY@k>75W&AeVH?gX}M3F{wk`BuFD7TMudJx zB(%o5?s`eJglSJt6+B%xMi7uxg3JJ8UDC zbO{Z#+_dP#^;5$}6|DM8qy&YWF$L>*GdO*jPI5=tPNHJGV%I#xW7e)3tnZnih$am6 zQ({uHRfle6Rd{K|JuRl#TnoUZ;fMvn!>14pk+nt7g}KA0$&daCT80#($vffNTQ*C; z*VkpSpLHP33LFkaAFa@f~?bX%R3u6ng z_icIa8EtK8$MLRxqv$hUr;hTYJ8o;;%til_l`aTXTCXM@qoPfT9YagZ+M|)BP6vWv zi@>jmWoqMa1%GghV!P)UFX=ABI-Y(KpY4xF(Uqow1@Zd=ql) z3}+;M9PadNRO}m+c|DD-spy)ObLtG7WOfdzTrXM01s7Ui&;-(azlc(~E*4awKayk= z>m-G5UuZd;BU+yxq#G!^| z_7RZsV~G=G#!Q;gdx$N5GBQ6c{iy5cN+{)_z-OER3IZ4Z(rW$l+S?D%p8)O( zqtx&S-T@*0hLSG~g-Q>air`LA*lYPW_!320Sc@>P=w4C6EPln?R}I&9K9?iroMKbO z9`K-3fv|^dSRpu`MNh+JOxg$hYltwh;7A3Ltawx*Ch3J}2Kq?UNG>nlvIgD8yvCQN zRdqi)$CE}uyFoq4Y5Ss5s&k-y!LC}T1F=fd7}4fBwx^&?46A=)!M)`G#_Mi-6lVdP_eMly#lIaqruVU1$D-W3;K#@NSRrBU7#A9GTQ=PzC8{>E2 zE3MQ^InSpitVy7yJ4-r&e4?u;5m>+c;5=a5*QuFqb0e2}$a6-!u9k^jiqF-Y?GQGN zE6P6bF%1kVPZp;TBN_z2xYZ^LcOi5TzciIbyZ8@Qhx(3WL0&sW;BxNZ&HQcVC0zYi z3#kj|Yjc+(_Q>#+i1unz(Bc{PWa66I5o^DY8zI~r%kA&4m8=Z)BmIi(nc5dUZ3o$| zEu+Jmp^=(e8S;aA>daaXIAin=w+2QBJ_!OXLRXN@!R2T@-csnS zeYM&AbSiA-&g-sD6fc;vTnw$V%Yzy=ZAPTQn~M(^ltN8oE!3*T#)$hcx~ugx*RQ!a z=@*z@@?-(bu(|0+kua|cO%p*zyi2W(RB@40rr6;mO(OmsdHY*ue$+Ta4*CXQ{8PPBO|6>j$8sJw$ohf)0rlq z;rF0LQ!y1}5hBv4tx%F&)pU9;JZ^U4th3{gVEL{QV*`oM$j`}}KQ#QT zub6twriwc|Ra*j?rZ3ifQSDaxpEmyR>rI`DtQ)Z1_~!${DO6Eg)!C}2M<;J{fDCR6 zst|2i&kzi7wzsahRY<0|NxRs<+bbLLG!V)BG;D%b16m_lMpKSDFGG-Wen;y7JZAjl zJUMp^81>2{&lwP3z--B!V2Ul;TTM9)*Ar_HAj^M_b%`4^KD5OAcBtG@ySC?n(w?BD ziOH&H00KxqCEr@S^BTX?ME577b|RNVq-Xx+gR&6RkCE|c97^RxRA9!)dnJRU#2)cY zs9PukUVp1M0P21_wV8(%b^GnGkv5t}z%yG*ia>=`=*~oOO3{Hu(APS2-m7pP>UEAq z;L-_2#dP;0d`Rj@Xtc$5mRA>S;%qhlSaViZJr>~AP=7lkA}T!BKlcKxpQqC5-i-+@ z02#}OaP&?xJQdD5NO&$Rq{k9r=!?W`PoWj0M3SG{c;1Lb)}+2+rC4S4hGve>5laJ% z;oyhsho?1J;p8Uo)V-Lr&j)mS<0ke)GVb5)Zu6* zt|UObJ#t>FBBF`(^8rRsQg%{J$d5S>W#Yxr(qHwj3VcY17)^X#L^gl$dR&d@oduqP(Ru5 zkMo;FNJu4V?UOz|94aS-mhi<0ex5$j#j_Kme-8`Y7jBRf$ppjiRQY?CnKTSfdDz+{ zXjb&5w1m(M&P4*8q^>CEAAu{YV(NgQnSeWFHT_ZS0RpAWRjGH3ApLx@Ud${{n{~pO9S?zM(3=o%F|p*t zwN>kj_efEK1H#?;1Fr$6YYw9#TTYAA?B5V|8JyH}pMM6EzRkg1xIE;tzNO#yrS0~d z&*}j8el`#2b>8RPhS}el$e1?6_E^VM9`1PxpkrW|sJ_<2q9b!P^{xK!{5266<2PgdNt~>Cl>M4yVjlAXAe2v z7Bd@Gb{v07HkOI-?X@d-AJ`M7a78Unj?JF71#-~w>Jrf4{k-DhgOsevl^M3s%(ojy z(1m!<^QS|`3ynl(bv@lvLfS|zCMii(4}F58Ya$F~DT!^k$+5$Iqz*|M5TciKAc3KI zi`FmMZ`#sS_lY2UBp!NzXqnKAVG5_oivTOqH`M>JLPX+)PN4PPUpko_Un6s!AAh_E zX;&7GGidzL@1%!l-Cm3#-?(+ zu+iZ^X=&@(T`M)ZN#`{NZmdX;q+8Rj@T`Xl+oTtdQzbCDZ5&_c!I;7|MRS$LgM;q; zu5tYW87IW}E|T~|$kVIt@=n2Fi%Epx37W|#>;0tMM0N1j_{=AJLvXIaNtS#bK3sM?fW3d?xi6)+TlFhSL@)?u<-8)Dj^ zXK~Eu>4r~xjNsSQG@)nT?F+r`y2rF!=XY!O!SYD&q^fox9$)TmWT<|I3JpXDPll0y zNX;YzWw;u?T%Nf$Ek9GPs~t=62+0f*d7z%ugeGQTeM=!vl}l|#3^?jA7$QKZRg;z~CB0u4*#3erA+&&>2@+-3f)zK>FW1h4BZ&~ zJDm|EHSN#}AOI?0?bN{w@NSB<#gf3IC=S$K75V_uG$x+4##wo-`IVO2+FDj}y z5G{&6V~UljEPglD(0jmU?zrbCR`9##2(|FUAv6@XGjCr<{FYy7LfiSF&ZVE&E|F zOAlg2WZLvI2|_1oLz>`HZ42!lb2bhhVeN^!IuPX`JT-;+Ufn!yyU%Q_mgj0-keDI) z(nf86biL@4qkJUaGI;pQww0s({!py#^tPOsoTawyhi0GwiXRtNbXr5$7%{PzN{w!B ze6`skT1CQ&Zla-=27};WDk@B32V!KSdO}WoAHu?9YgaPmlHDvuP*36ZGkV~vz636+ zJ+SXh#gcDo>ac2SQz!KpHX~Y^M6oC!z)gQ4O0j^qn^WOqohOMs&~;W!7x;}}ft2pX z$AThV>L_zM%SeTXxPxda5k}+iqe98|S}jb7XvL6Ty2-Y_3mjQ}{z0dA8aX2b3Pf(w zn!YmM3*w10NiTkSb-v#C&?u|?R-H?oCIi-z;GcB#Rgy49L>tGy%VA2+52mRG;r}S( zm!L3=!0&4=*grrsC`wU5xO~qY2QMqchA1PJeZc}=QLjV7&lsAyJ`fNBK=>V6XjRyL<9Sy@oS7<`$ zsD6>-cIP$PP5Y>O?Dj}M;IEQ_U z|IJlW)%D>uJc^*UeyrE|#q#6#kV>=9d}kXOENp`-V<7{O<2v6d?AB}X{F$bAcE(I- zKbHu0yyUpMx(7r@^<5f%9*CdWg+Jy5UE~dJG@;Y6va%}NUIPp_rATJW zR_K49P17GFvBTWCwj8$A&ZB4_qT%5u&a@C?cm0XNa^p(CBtgmaNn^3K4bI5}**g5G>pi9Z&`r#GevvAzGO=Mez{}m<0>1-z! zu@E(H{P>y^rM4}25|sXjIuVd14!WTo0TRln*0y@sp0<_= zM}*R~t9>oH@aobo8{SDj&y`H+$b2y-v<@=gciE0epaY#@`-elwT6VC0EOLWBQIQkQ z3PuF6);T4w7UR(>R9{K#(bV$Xx5HO+!V|g_EU%Q0iZt6LVvsvwKLEInSj(pz0zOdh znvvEw3r^wI3Xjm;rN%x|Yn6;4)V(w_5bZ+~Y^8`6 zV5>5%%HWk`AJeB8$N$9YK^eSs_>(;KE9b}svXh=|UqgnCtm?zUvFFnj(u`ni3DY&Z zpwbZ~$lbuoY|aXmH{3-|p~3vyCtHW%ukZSFhsnJ80_&;OF{1!)^iqlOLaI+WD_9wa zr63fo?&o5Q=15P;?~T1EF%EqY;%Rrv2l8|09-8Lw&2NOz<8w3w50&?-%vImlmZ!UI z94FL{Wtj)Ez*6B&<#stXJlVZh%l~9XLxirr=lZBC+Jx@yLwzYChY5wV@WiUoMU4S9 z&K}ag=dyZC;bsaH!6l{#(6iPVA~P;Lc3TiI8R@+=;SYOn2* zv7YujPo~=HKY#G(*K!qPJe3L#Ve6kC#t{L z-ioF{8@XVdDlrkdgB`uKth=t>W3}(0ygl;S59@^U@U9wA@(+MGl2|uIKy>tSW7-W@ z{IfT?cgA|>g0|XwUIok)u4m9DN|~6xY?+(9coTA>DtjsXvq)@TzG##f6drtnqrEIX<~+);Dm}mLf=e(|XUm zhW#FI+K}VjITG)1U-Fpu@4$QScp50VwM8L3$8T)y7%gIv&xDr>Vyd$E=t!`J;B~l+ zEx!2*=mbve+~MD_LyG-|9tqU+$G@ewbBTh;s4N2Ymyz~6nf0+&F9LA~svITnIT_nX z6n6b80omEoaHxgtbRYYAYJ6u3@%>*HF!Sw5vmIw0#vzmwUWVbQ-M^f| zuw6FpbaSsuNK&aCV`fLrs7+mb+{J|8Qpij+9*+koI-@$@hwFUM-K1f&$s(I6(m6?6 zxFcF4aSCofbL<-Twr*o!ZkhxAELds&PJ#bw40z@;H7ULIC$oG<^zb}ruA6sm#*+i} zcg~okUZnDT^zK6W)nK=fPnn9{)JZ?B(l`!)_} zz&O#_MPy}qeWk7#Fmtc4T$;!ph2lyu%0)PI(c)Q+#ZI!9baY>U)={Y4 z;t6Biimi19QT-}#VFMSg|NS&4i4;mt0pkZ`cmE;2Wo+{sLhUe}dB1Q4UM7FH^nQ`* zDR`8m2Evc1tLn{Eam8&g(zP_$7VWlY03*wF*T{qqDpAGBhXsTOL=iUi(inQD+ktkt zBk?`M%j6jc<(DI&iC}cRj#@Na(hucmap_nS^C5!((umreemEWd?(SPc3Aoro_Go1{rKJF0gwg*j74&n zNK1sIduK>#;OH0aeB65^TvV97EUT+mRIs-F4=~=n^DG!1oL1A=x%{l1ey|`HbA2eh z_>A@^OWGq05Utz*6FmZRUmr6buZXF}SkxJ6N+I)7qkN~W0-g95B7rd?vJs!#4IfG$t?15Flj(Yp~oABtB`#rEq z^3+&j$v$O>j;$f1S)eh&C<0W06Z9+I}A=liW-C}lY~czvk4 zyI_3?2nLJ)mWChZEe*davx|qzzY_4*LVtNcWPpR0+T9$zLxg}};{I=VdO&d=dA_N?zsPeqdT@kYQe#ma8CHNzQO7LYYWichR@K>&fdk) z#nRr+nfa@w!@ouX>DDCWH2*icwjjW|bwpv|7d} z{H#2sDeBX*bFfsJWUT#N{&@E-e(7_`X2-OSRy_Zv}`~(X%WVI6Y_wWSOd^1cBsxzZjn2%+|+xiA3t^9)(D>s`>nn)aAfLXqgrX*iSG4Q9ZQIWoV#zbX-K_A1LkLSaMvEr0RPW&D@?#s6vlO$_7T zJ^f8b00QDK@r%Dr`K{vrmlVdoyZ9#~|Kjc6hW`cP-&p+b*ne~c1LBRee`6u!tmF8t z2{He*ZvO?1tG2;G`De-OxK=lE&i}jM|JDlmC*$6z`Hw1Y?Bd$o@c-f|$A3islW=dW w{0Dj|F47&}^gjasIe&lg@o(F7g7}Z@RF;EzV>Sc?{M)1U_NQ5M`RnU{04;K)h5!Hn delta 26178 zcmV($K;ys1?g8KM0WnZZ0|W{H00;;GNMJrkW^jwL1_1y7TLJ(86951JL2hJnZ)s#r zVQy(=Wpi{ccx`O4ItT%O0|W{H00;;GNMJrkL}v1WfL;IqlV<<`3jhEBV{Bn_b7gZb zYGHDWyK``6-L^d(J008Z*tTsuPm(9LZQHi(bjP-BTODxDxSBA3y|jV^BRGiCKY&gC zVAptm0XTmR{eJ`Hg%zYF#8uT8%F@%!OwBf{FfFm}9UmNn{hPD@ z{Z;V4W()j}@BMEG+7nc8j69*!$mNurM_I75L<_sn_0B7gaBz;*tW#q73=KQj|&Si~i^?Eh( z=m(b41V$i0J}46YQ9^+u*<-+rEIT$S|2TCoRIosB!p)70S;XFp0V>Zu?0G7OyVo!; z57cMW4~p4G9>5z)AX219ZIFj@7S*7H>oF+g8Cbi8GFpOv8!{}?ZI@XpvRI>DKg|MI zzNq8{woP2(#`dimaORJ2ij;X+>KtF5)O%6H>Wkbj(X6#bvpvCRcRJ0(Aj-5li8HX8 z_#aK3Ef2JxjT3Dw_A829?afgR$p&+vrP2LzbX~G<+*PAbAH;-;bFw|YOfVewa3~HB z$yqipp3a+pG&#&m^}lou_kF_GP$;-@Vd97)`}G635_f%4dNX2l#OqTfntYt8$B@Gs z&F({v{}o@k*2S+}yKF*5eD%c5={WXhGce(P9mt--5r8&DvL%FSh%70BnTVbxD#I1~ zN^Kq@IOU+>0SLniO>f{k#@JtW_tci;DjrfS!bSmqk1Up)6IE*>Y!z1CO327X-)q(i z6*Oh7+IWNif2RffU;CeV{0{HAZED?;DL)p?=8e6DK04Cbm&>MV9 zX5!h#sMXSZEKEwO2DK!Y7!>h{HEE%$&wA>NKX_}?E?PD!?<{}>5gWyS;&d0MCN6{nZAkiJ8KGa^>K{L*#`Ti$)+1!xU_ z1XeE*Q0_6zBu1yJu0FyHPLSA4+QJyFJg+75yh5dYq6Oi4C1#8>MS?iWk|ABc6+P|O zT8JN(yKl#7CR3CKj|(F7IDL-`iDaJ2W@5H5#wMebU``q`Nv>`)JD|?X^r%BK*ei|H zBo55%os{mc$0?-(9-GzAQrXK2cJc3jmWE)|gp7w?g3f4%UZ!06-Xa8stg3RlIAG)# zIr+2pe?F0))cPM{(PRXF5`a5iNZSgNOZ<5deJIwkddtw@9XoIW zT;{-NRj-v(Fw3xJh%Cs4^>mIFzKp6*=O5Ms|1Gm%7M;0#-J0^uHhg${N81k%*2_GT zd2#}9pL?kPkpoFe2z70e$6<;BABE|<%KEUG&rCp=>~?0a{LQy%Hh~9LtSf<{{!5Jd z8Z}!t<|-fyhg4z-Q)K^l*Aygw+Oa?AKS@9On5WG5m+)$T7YFe_NiPKim|EJI%UL?R zXjlT>|C{i+8rGUC z57UCjDmPb;?LHv}VR~=7ime7Fnm@lCOfAxuiVehZ&T{7JI&=+lR6k>skUa-zH)m>o zS!a$$XEs!U8!IgNu-E$>r>XBNIEUjUu}sPb#b)nJ+3p>zL{fx*c~#_!FeCW#Ya%VT zSeCV%wSm* zSl-=Xs9~bB*1;Khf28U?{^OPbioPqjn1zQ#UO0;tlVQJq3D$O>SV7k#${gy+-cfh> zGy%5EqSjLm(dxduq*11>`a^m28yNRRvb|eAJ^ly^e6)kS2d33a6t8FH*kMn1$sh*2 zKolle21`diSc=ZROxlf8t}Gpmt=aM53&m*=yRO$%DNr{d`85)+*!~#3)?Y@_~O>DBMWb7N4{phk9i# z$UZbdS#LL!5?RSiaHTZOWzLM5aY_NCs4ez+`Z1os) z!ar{P!U8KRF1cSq^T?yDCVs!!zeaLA9c=5H6)$syUCo@~s-t}45)(EAmX>%WOWRU^ zImYJs3~cWbTcYc z_aoH=ehU6mdHsvDUrPTf?%`jf{HOAN{+Hy6TG-n=1D%Bbm2HwU|F{17#>m4BFd>KT zzG&74>31YC=;;ojMSO>ef>%U7v{02Hm8SDx$0F<#jik04#yLSm+Ics)8Aa>E{{y2O zLP#Qzk)7J5L4hWrd;Gz|Int;vRZnw#vnZk##H44bja&Wz92MX!hhZk^))8ob2GVoC zE9XwZ1jnw}q?bCx5s*|`YEwT@Y!bnzi zhW=-uC@&lYSP&o}sDB^v|NjT7^nbq=w{vl_1Ud_w0vud`PX8T$sfMjHswTQ012X2> zhLO#NmPr;(D?}EEmAqw56gdrl{lZeoT1HQsb{&BBdI2as#dwkK*T8DIP|1oT_$cbH z_KQ26z?4p^XmD!%-D$=-|F;|C*T?%RXaGEuNrVZB%z+ca=v`4!O3V-<;kIe0E}e|c2Ss!}TMGLYCXBahb?O+LTzYn$53#;wHjCIYmGftWIdx(+7b_K`7Mt~^1-}-OZFQ4kVOkU5C>yT&V5`S9 zV^~H+-;fiQ$M}<;><>8h;&W+DA;$F|F42g^%Sk1fL<1zuFp+#X&R0dWh>9BY?Y@(i zOW1-dyp@!bVfxMl)oJU0MaKv?+b+3o&V_7?+m@}_@}rL|n+p!>(Qz00{v$bSba!Cs z!E0<0$&z{Bc!Y=tXsdbU;iA9KFWn!J?O<^|HZ4+Y(BSbZY?5`hnHc`O(y1rXOt$a) zF=UCb>RS=YdC$AxqLXIM{iClDW0r|%ha-#Tu?iJlZ8T+Hz7n5*hQ~HeiHTcvp@EL+ z%b)7U3G1dt>;tQNNxKP0$!5CG@pnu7xXOLJz|z8H!5S9lDnYRLW;!P@^DsOm&pIyK z)f7&;>$FG#9cMv2-LN=!raBV@Di0UQy`#P$Kqv-c^^#0|uGYwlh9sCeqPwe4I6J{} zL*1eGN5P@wN6DdoK*SQaPt75lK!IM5*(#hK59wrG;YmE34a`woj%x>Ac&X$vO{vSh zczb5tFXepms1M((%9vS#Y4AYz_mp}Oo_TY9ql;xeNC~^zrOA-*hPw4KPJgrx5mC>-51!vdYqt`^N7Xs}9O2>)_zkeft= zJfpdNU0%XPo z_GM)d!v9273q(*it@RV)|%ACF%S^^YY*-KSsFWp zB!nDFr8t7Pp+7aYKX66AWO%1xM_q$9*t_&O^Fb>6hh=u&c_N3cXp}gNZIXd>_Rh2K zuI*>oC(my;AS~Tv!hoW^`OeJL`-#WzowxOWFM&^pfLad*7$Swx27+?n)P#pNOst0| z2(@1iX#g4M72rM<^y>Ju8f*=#&yVs3Zg08fC5zY~dNp)x=F-yx9LYZA?nI&zl*DX@ z=Fpbq`dcB|bI4ra&)-M9YeT%5zF0`lEbn$uzX|=kiJEVKPriIz`RnhQZ$dCcL*b@> ze8_#_q7jE=pgwE?@u9blK1Dc42gxLI`>N9~Yyyih;kVj^0;8BjW);ulFI_Q=V;*8b zNgVRi3b47{y>M)?3taj#YU~4PMiZcTv_vNf+hd!6uLVon~ zF5$2PDo#v|LrkZ~{b1>(C+WDV&SNTnC6trruB>9qB%xJNMHtc*2>FDH7?OFIvZTu; z#tcG<^0D!-`G%4wtEsf(Pc+(`$3-&{raOyJaTTqaQGL8tSSX|{VVh38hzk!bFqV!| ztl}-)G1n!*uJQo|nvf9iIdpmAsu}R%{#+8p#@QIocc**&Bfe502A+gzE8l zxTAd&RU;Wzms8%!0_HMQqKW+kbE)yc}1}au^1<7_if`Z=Ksy zcXAos?UDaINO26fE7=@0O!YV6@CsAf!dSDfl!<8apjc5Nh)m z7d4d3Tl93$4K(l^Lmr}V2U75YQAq&5KPE+(^MBeJensymr#t_vgdbd-?wJRwYpguw5uGJ*qt2d}$njl;d8 z(pjVlQ(Rs|kB>C1rhWM(7^95Yt_Ayt9bSc51hV*;Cbm#$p__OJ1alLF4$V-BNvMj~JqV zVEC)vy3gDSw)L%ls8NV7`Ng4W&P0X~XtvQ0YZxoAdg}hv8<0$^2o!+jGs8G& zi*%)pb0~--|4Nzgau6w7wqoI8870`76cWBeCEIsBowI&S;2*7LYZPbt}{66c$mwMCo7 zr9Ei|3=($IvhB=U6bQ5Qh3j)RtTn(1AofL8eju1E;r@W@*t8zNABlb*@53Of!@@xx z(}hjwYznu3^hK0w)Op_fwot>+3%aRc&QI1l!KZN=h3ht`Vq2tPW9;LIXviafz6gI% zfSJC&d45$_Dm(L(GN`Ujo(c|>Vqcbyv&JfHSLZFnL^SW8-YcS=F8yT!II!NPTVbFU z^A?*t@2XXKXn;|%k1f(ESUHsO25L|fz`+gIcDp@)RQ7Ufa3|0fv#SzxZ^P?=^9M z&QVk1by4QE5s-cMHJ$RyZ{KW4e?t~Vl`&MNucHzwo=g@K??vNUxH~<-87Az|*ca|` zgS*B#6NH&U?~p}Uf&+T|I7{{{bFh_Rku>9xVNqwm)j2|=!Cf^&=u8Jjno8X*rOFde z{noB(BUr66l@#}hiSrgZIQ+)$K5X}YS5*FRNBR6fJgV_?@iExJp)LCE4wdEghIv7{n>yk0#XkR#|cMwXNTl72u~3-I8bjcS!f0eUmA>z%}$Vnd-{vPV?6=q3V6+C}W! z)H+*bHg7DUjf(dysZMkUwWW|&mF?5PQcX~1pqC{d4C?vqBv?5)OX@I z_vyuUrFt3PUKJzb_Z^FRh9vC* zw3P#R+Pk{^Yu8U3)L%=<0N|rL7oK6}>R0~{=GEo_}O>CY785Qhl&06>8hHvZ2#^-5&PdcYPB_3|i zmV3JM?CY%4EI%jTpMBAIlzCK?dnMj&Z4u{lhR~k=U3;hB^maYd)7yk>&rHkRTUW;? z0!Z76?;h-f)uLN`ebd2&UJ-;0g_38=*ZgI3pJ4l>ob~*LbI%@=&z@y6h2VT1NzfQu z-V>sN1?Bt?2!9$v@=A$+s2>go_WVc<-lYMzxXsUcu>6XGzy++f=b~^w2}Z}8)2)x7 z>~zm-jBA3UlXO0xWzppaT+ZHu6IVOG+Bti^mJ~l-u@l7*NqeRxPT6yMuk37hj~8B~ zZrR?`6Qr$=#M93qy3eaZoCmDX&xze$>IZkE)&)Vn2gNrm#@c#5YLu^LhOi@Z=6qsdfw`(WL`J!rnAcL>uM3HjR`KKQ}GmLjA zMff**~S0ifmtBx#OA%}uN3TRZZRO(_oDQXnfr>2*m((`_sX7i>#&A@moX{>VA zBzT{H;L_w~UFO?`sEm5`gu>^YK=o2vO?rcKU@`XPVrb{%_JpB1k#62Rf^W5*|6v(e zfq4nvLLBUNaaxku;#uQ~d2zCZ83jX=SXm`YSbc8tD}b@a28g;cWb)dM`_L%B&tfGO zKXv&{I5%QMD<6WLJ5v$H&~BMqJZ>wX8nAYMe|ZRlkeLhTTh2-*o;(lY9krMU?wBQ+ z0>5tgQ4L>)8D44J2vgz0uU{T9 zsO}iTrGg>bW{E0`(I|%@8Ck6E7{jH3F>PVNxm^%-s5Nv4rnz|psFqrk_KrY1yUruAq6BU`0kb32IB-) zZ;ZNXg6rv| zonUi%@POJ%ha?&N+SL&I$}TS*oy9d=?|cGliNjdPpXMp zC8qNSF>e=(99&CP7drCjx%j6aD>S1?$gm04YWC~K;3r`(yFOGv?GqxCDW->e-JIrm zbQF)-f)xtCp)N&&t%+MRUpvK|0=oK{>jpi@Y@0?U_pu=Bu8M6&J~Gcb@AzeB3a{~* z!;PJX^k%<1f2Tcv<}~(I_L#KKe-wYE@6|nWr+F&$8f_yg{-qW|I8W+7hz#4iCduI6 zFFAO$h2lFb4D|y>m)Q5%Z)6)`X(;*-X&+;^uXwnB;T5L%QnAG%R-wSG3iJdT zkV@19Gmr%v9mIKS@)B-Jf4rpGprP(xE#O<&vjw52GJDiRKMBFC!^c<&3pVCKa^>Ja zDnZzA0;)j9;Dwwk5D!*lg#1(k5G!_|)a*eIcG?}x14G>Mj=S(cW54t^#)@d+!z*0$ z9ORh6wyD*Bz+8YroET?i;QI7))1u$miCu8?lc@(KRxOIHTjtqy&f1=(AK-uyX+al0 z9|p)pih)-mcrUM*4)wkJpeoPv)!Tu9d`@*&YSIrT-DePR^@Q!)udkn1emMxKC1?jjfY_y`yH|5-tSg+O5WmB6?@h8sZ-*O>ip)DE;9U19ExLI4yw0`!Ebf^0y zF^E2Y%1xkAcIRmI9fqkq#A_VsmcSOVNjEcxvQ??U z;zI6z3tuT)bNzw9{z_CKNH@~5ZqfoRJe_QXulhh*?9)G5#Hbp2Y7~~8#fa~cDP7zp5>hB`(Ka$U89aa@iK%O`srK z@814rC>NAgMG*H`T~{`{C5|f-!UU=W)gZW@pE% z1#hn3y9m%}kG4hC0Mgtu;w;6dql5Iw&a`z~oA`H1fJnzXA`iNc?G=5UV05<+ougF* z`qL8#JB2AFru;jCH3urYz)pNDU~Fvf$bcaP;;UHOJ^Q*mr&bctV0!Gr1&oM)eVE4H zC40DmkVXH`Cy;5uD`|3H7up0ljco|4XWDFAwPId^zf@Gh1A`Ai%oH;Sl($!OChbQ1mRLr?I z82cy7f@=8dS3!#}9j&%SS@GI`JM(o|TX;mRpM+%dgr-dQvo&_&v(Fr}6cxE@^vp$T zMA368NmfYG?85LbKc+dIqb50iuKT6-n1#-YYP7j!NFd!xPAiQirgnQHYmIT?@SMAC zwYkL!tnXvnSh5lf4(bq^v1`TX=AMDzgXELw&J>jI2be2O@8xerZM=wx-v`yh*)D=pl1j|o~t{n7wdY7xf{`GH- zI+4yFSPfu*i$X{c5bA#xh5yr(Q#Ek{0`2~}cOI*Dsko?w{-w{c_C2@HBZ8R8U<0v) z6prSl4@gcPj4g3;2;bha>e$+{<_7Uc^kdI|KRwZ+$nPnhC2tddQNjaa@gc`sVfN6S zu-pIB?+ez5kQSGRxp1r`jH?W_Ep^Bi5vmFHC@Etlp)V%shMcLo5WK9ZvwBPq>>2xE z;Iei)^_PlYv(lQ86xQxyJ5!?rXg!#sT1G{%rl z9}t3(miL_DDRR@Wih-dZ=s{;is_FSKWq^z!JW_1U9Ua#-NkN)Oa&6QJx8> z1OTpFJ~e~h&6z7Ys8b#Rxi_2z))e&@y2k1>fESjz=Bi+S9f!vCPfkKKW(Q{>av`ZEk3sW3JpBfp%H5^CmH$G>t zA-FYBg817EQiFLg0$Htm9VX3xov%LYA7C+06t;R2knGFR0XSQU9IVvDhLS=3nb zIA{82Y5lMXJ0($mcWyB%PpXrt1?-XcB{*hgitx_ZcCHT?Ek8fa#03Br+MHCIfid$) z+tQj~gCHGq@_h0t@H*!}E3C+;#1ZnDh@U5MeLdoTlz+rFFJ$znsyJuB+l2Y*+}id( zAep@ahPNJ2be!0S7HZjBe8n%IQSBGT$y&a6R;+sG8}qVBlQDW4^%uN&D!o zi~!AlzqBWU00ANUC+*cNU2K4+nn1w6HH$)3^cB&B(fJpVe$Yo-$i99TK@r|8s@WAV zk}HXnPPU3kcq_x{5asQdTG_Uw6_hPbcro(1?P`{{vqB%~hOJMW_`}(MXrPo@m6{v+ja(t!OD~w{*xH@I4LfF( zItU7L_3wm#mSEd4%kd@2T#O=&%d`$BRK3?3W!TA3bqgjm6wYg#F`)k7fVwY1_(`AX6Js5f{itb-1+uF9^B;kg$z@2uB< zQ?$W(^%;X6u&q#XKG>K?>A1yW5~W1vSuobBVcWe2b?2+&QRtowCb;Xd&x+()e1l*Y z{5HfSF7wNM)`QVc({A(z+V)N@YjP`}af3~cgTZJ+0;L(#Zll3*a>RD4Fo@X>Zz@H8 zvCI5WK!yWT$yn>H+#P|n+@@>QSz!@>laQ%~2xb&x0xf(dL1xCoBgV;~PCA_gz|mQl z0&_u#Bq~g1f++J#_BdPMtFHtWuTktiM=X*2q~fts!8MK@`n8g0Df`8(lIL@#>i2 zRv#s%-@ow^IF#!)3IhTXg!&(Uy!o z#J2UZ&hXD3<88KY)k_^KRr2_eNFHDFvw-(a>q_TN>&gyq{nt%tHpq{EJt7h@W^^%L zISeW=>~BUU+(}ZQ2@;ecD10Q*8X(N)%`CRiiG$x@C##a}I6qA$}_H6ps%^HP%u;y<(}H zBzOQeno10v67LVD3T|)HVwBT6&RlgymJHT>#MQa$J9;#wy2WrQqHq(}%!_5+qW#L`S84x^9Rsbgbu*R~OEhW!84fQ*Z*SdvFhfm$vpyxIW!tjY?sm0a z0Kw9Ga!%#-4Ecj;zFp@1F9jM(e~6=>F*ZH{-TXYp4fc7!JUnA)VB=!bgL21dbGY1F zbBFg3OB`Mr7lHTMT&*3e^$nw(V{z6P8I|sD9`Q*Y{=%MA_?L1a=S;zb@XnG5WA}-A zcmYU^?jL#B*YlEp_=>q>{N)GPGa$zX6u=p@n7x&~Yi{Y#x>Mr8X~msOo^zL=2FyGj3C5EGbfFKHA@-b@@!qG{6RsO`++_# zhe>o$S<*s(<__-9*p#5L1lxF*A!BVyYnfR)CwhAsQx#@k)3r)z_qfX1eXyQsy470( zAI;%sHoc)|cAFteL}p9B0A>uqc?Vec%C?$)IKQ%eahC>4Hof7tFjyChwy;ZFgMmq0 zyS-CfJ7bkWUWfEBL!9~HOhSo2LaTaZ%WHbiLx4K{gEyHdxI2B> zxKDuIu<*I^eP#Rw2f3_K;ejvWB7bzjuaf=Qm*}wG1N-LneAx8z<*s>v%c(S;%(S-; zwN~qYZQ(>z?#bg`LMnHvU`cukCR8ocC47hHJ$K|OrV1BdXOh|MP$?x_Rc6vjdlTgr z$7#Fa+5ow|jze&e47I{&$fc@2*N&S<-NrYEQ(;ODlJ{+c=<>y|<?^G zCU34xc!c{wU-fz7!@4x>tIcBSW+wBe={BbbxK&NnOo4E7DF`4x`$OWnk@-Wc&z$Gy zaTRG11)w9Rdgj6a-jWTibCUg++)>y$}{1!Hh<(vsGj)bSRsE1qbII}Df&8G+oMC2p3XJdDq!B7V?ytL1&LvB z!$rgUkqGsLq2_1{i!teO&Q&#Q63=>+mQ@Rkb6Mv~bFD~(a>Z}u6wy>Z-Nvmz>0jL$_v~*WZ7^@Y>q>+?=EMX&wMkvNwx@rtUKW4=L#kd*ZY%$Eb^@zX0H1Y}e znn&ErId)I}zB+b?XX=61N+gUtYs|hA`>n|r>RH7anm+IFjsHU>)c&f^8^rv~G?DP&qQs96)G&kkZ1j~H~{EX^fgjEldr zV(suF;Ag{y;O#G!d4dwip5Xht)8xU+H9O+reqESGT7L`-#^U|?3k);lp+%N-O2MjsTLJvNYlE4p4;kYezKqL+vD?I0&xESEHjiEqG)w}KgR zCKL`_bCTY8Tr9Zn_m61b42O%daSq@yhGb%A$k2~VQBk%^y3t-OVXz!97*KVGUtSQ$ zw;G!)W5%(?rfvLxgKbMxIz1X~!-;9bIn$!AY1K&tyZVF!i~4TSnH^dC5lR7*M8=w+ zC#tLH?Sh{;8Ok;dJzCI>t_TxMB^pN6FQq&o0iRLCP=<&w3-UZ8vwo<+8$r}qe{zP7 z@h9PKW`FdB8u#s=5$23uA1|C*9Ke6z>eBiV`e}>;+zmW88np3zstXOy#z_-*B7H z(pa^zp8pFwW?v!a%~(1*IaGGg9#gAtt|1IX;7(gP=Dsv{z;%{S=iETcF<_> z3j>T^zq1C`igT`r=HbF8mgL9DGOT3-Y3dqWR_B2Kw7Wjwg+IKL{aV)fn$pC}@CVL) zY8vBH2xAJ_6=%?Uy_Y0vrVGy!0-CQn^ANW*Y~ve$yeYQ(Q>b$T{WtLQXs>!H-}$1% z{93DPe4Bd>O`{@`2U(L{3&&3y@ZXz(3r*A98G<{asZ))uwcNPRyUu!&w zKBg0|E`w{XImapNnTFqn^_Pb4^*Lj6yWCzvP2D>-=gAIZyd~8hkQ($HqJqk4pDi%P zBfyQ}n0fSKBQvm;xVdv=#|e<1vhdNTMig*=?PEAa`6%$ucMkdAbICk$2Vxhzaj4}UqJ%$D z51o1^_^UnnVMT~HLJ|D9EXT0Bx7xX%47)BK^J5NKO+Te%$xR#2O?#s7UgEp0$p?;q zmMAhju*}MIb4$mh+RiiH5&ubM`)4=flD{Or0{M?UmVc7@-w%HCKH9GeKtVy7K-sxL zxw%0pNI=!?eJm6msr{VFQImi=zg-$C3Mg7?St?rUI#L@wN}6h#N|NcW8EO)ffbv`I zI?DMtnCf!bT}q1iKzD;;kbpV{Yjg5{z3Na$z`^n0`+ctxo#Tue9jzLTg99N1b#Y35 zQhNDL1uUgZXJYw|$|flk7?>Cs2?~}Gm;gFv0x*JHphK_`N&=5)53s@(<^%oqZ};h< z?>cX6{;pX~cn}cI|D#YkyURDn{rme@T9%F=v3BaA-56Ei@JO>Y^^gqsz7vMa?26HxtK+F zY4Y1ooR$_#CtmdhS_}m+v~pddSD4^6cU`lIla4`Ws9jIf)F?3SwXSi0ah4A47W(3h zwX(yIw(Os^R-QZrwYzFn$4x-qNP;F>i&ZhrZT*o7E)m<3Kw2=(mB`#dhdVBC1V6{7 zCfzcw1~yy7@Lu$11n}u=IB?63iL*|PWs>d$;11`MaWl~~>8VjR=FQ2bOJUjU@y}ix zb%fCdIXIU==rGz*!Gha=ShiL~hHW`*breo}avA3H7CF$b7%Vq<3Io#&?)c*QoG2n} zJKv~A{?s+*s3GG0tR}%_V8$E1IL`K!_WhNM9ELRld~J#;ylZkwkEcOwG|9L_HwA&$ zF0k4P>m`Q-&U4SAzmeWoclDNn!RkyrU#ph&fhc=hWKR-9ka_EW^U53(Td?{?e6apS z9x`*bxXE5MIbbSS_!S+X1Dxa3st9O{Mq{cdf-`KcRPI{cvBr+;Y_>Q9k zxrc%QL4&^`zc3@}%!KI=u6PBq(`$L!Pl4-84qn0}R7|;lDvWRtC4@G9NqTm>Km<1T z{%u0X1}P7`1-RS)lfw(-(UpMi`!pYU0XHmmHFbM{u`43kf)r!jA(XVW7<&v%KdUlR zUAy3US?oyzQ!Dh>o-PC*mlzY?uIM{S3a?D>-)yYb@b0>}cwatW%{zvHZcadykS-~+ zhMZM9xF#8YmMktiNe;U>Ne=5go05xQKHc~>~vC~y&gE) zwKcTyo#@LG3eR~XIJ**9#DNCCe%FGL5*WgDadoJF3rPqG4sl?D3(AsK&QhmgenDNw zMS)NEuPQ-e%fjpEVWhq|4uj~(dO|d!>$ywj_N)@m8m>-wR$%I(+-F@~o{0w@JgJAci=~2ZFwB1e!Jo z;VRZa30XPDh$^jZ;*wN`G!OGGCgK!A%5u<1Lq^jkdmU_}EaT8(Bq&!cwQGBQ-WD-a%o9S*+e!nMui1lVS|?t19^#k6Q!Y7#tiG;bI}P^R<1FHJ6HXM!J`^~ zL3wr#%F%90*CtPUYRrjjgHjH^dQ!lDMr1Oi=<@n^&0R}c@v<_+P2~vB3CBv#?Le)* zZ{q5{{7;sXQ}QgEbXwYWT71*P;%)jIw&m)eB055Jc?Oo3HVV(;a^KVB=MQ`eyLhqY zHY2jYl;#0h=zBe#;LNG5*sKu(9NJ9y^rH(B%FXOSiR9GW5|K%42+4daa=}c0v9%Kz zrCvGMoUwO7b;&KC%iotSj|@0lqP@5C42RcsX!DFw>J^1&)~y;!ahoh`f27?1WIa*h z_dmoxh7+40(4REGxZ@K~-Hl}}tGkCGh_C;xGVEig=~B`rvT^o(T?JHJOSVN5oFKtH z5Q4kATX2^^aCg^>1a}B-!QI`12X}XOcmFW&y?HV-zk2oUwYtter)t%%eY<;go#RUx zImB(Oe#S=!b^FtSV%onxzU{Pep|>*G94FdbsRHmx?5Gdnda$~6YW?mY_^qm%U*b}n zl(s=fa^+@Y(IzqD{`z8ThoWn;j8{Rk>6l+0rl4^LB!JAUPQU{K%~@HH{Z@&VC!cSP zssutv83!h)Im!xsttwyRl;kcMtLPDwYv*3v$sm9QW=i9F+%5{d0eWu;il!jQe@upS zZwOf7C}<}Xi-9F-;+IVEV)(|}P8G(J@{#Zsd*0Tv`$cJ2h{8C-FjncYF9rsakxl`8 z(S2{fu{x^b^(j6Ing%fITD+-xF087A3)-I_<3`5uR{sEvz=w6s>)q&THQl`keFQO0 z&}OWGWkk@%4gvdafy&7WI%=TV-c)mI*>P)WpegrWLV5bG*nP;qvT({{s6Zkrdk*1GNQ2;gtM@dEiy`JIZ(J-cBn%Jj%^7w_d9)h&@wR%y@>u{K=&cq1!h{MJt z@R%b0aiZGTQy7W6bb2Arp7j>MyVYwV*cQJ&nw7fBr$hLMMnQe`PcfQA0R-UYPD56- z9nx3E+RVq2I!;VKXqxZ^;*R8;IEAWqB=mc(_Gb!QmB0{9>JQL9Pb;9>CRE zq{9((#k!vTtHvb!#-TbU?yz~SF}iu2>CU~0^d@W%$b8^Z#fSf{5jEf( zkmIr*;7roplrVkB55#SiS^u&rCyLcF!0g=nf*eswgot@?#Bt8)CUSrbCRK5MK@uUJZ5>sgu{)8voj>zK zm(<4C?T1fbNRVXPH1)r5tBEE^bK6;>(hmhAJTU9I7jwf z-fhb2Y!#}k)%V!q5K)~({VGnX6N^)@>Bp#GO`xI@9W$(MlwEUfB19ArS`73MtXs&8+ezcPOAkJRQ_+L` z;%_{5&S+kl|Hzv$OCd(QfezzI^Zxy%+m70t#5i@G8|!q5v0?ST9VpZOH&DfW&X(FE zP@(-GN-sE!Ht3=Ele|ojOP+PQ8683gG`rcsBg!lJhva5m*4K|qjwOW%&F;{X)TqV{ zPVvZRvuQx17G9?&oz^!s!vIeNe7%IqxDZPA+l$M{h6k!RFKONRSv?;^tbV_+?>gU* z5tE?&r#SM|c;Nd495AZE_dX|yP#Z&{rt24GHw{hQcCNxtjk4*~Q_HP9m9(SvpayHS zWbil2(AilVv{8tIG8&St(~<(Cy@U#zLmRUDK10A%=J=v-G1?ZdPjHM@WBk#>VxE9M zDXWLlfHCSaC4>I*F6;tjFu@YI{u+*|D-=6zkn-9`_F-JDFvzrf)D2{RsrG_Z`;WbXD$fls7!g+8)$*63C3V$ zv^%AtgFuOV7fx#UXDiyUH!17Z`UlJl%)yh#!}T z&_4bUa9dSmvd7zvp$dinXqm3C?-#mAP*C+oGwAu;Vyt4*uh7f8ZG@7a$B z;ocUQdO1b~gO-%J?38Rbj*S$MT8c&krLjWqRozK;X;g!|Mlo7&k@e~oHE(|qc?2oh z^W95D#FkET?zn;hGdr6vS2**f#16y=8Enw(kV;B#jUOpq^wbD zZIn2?LOf}G{5*f2lr9}T%PcOaXOEdnJYD9V9RQx>SAXFx*T9S zSt%cEU{ZbVek8b%26(!T?>`zEPAYUN-lFs%?u|><_m&=TBak_N*=7p8*MvT#)Sr56 z$i5LBNx9%;45acrV`_IblfQ7@3K{Q%(kZ$g(~9oC=RW>Yzyd(gSCSQPdLQb z?&WTjU2Q>vFsuXf-i~SFw7ZQlz|+g_a9mV{vw4Ga>x<1XXyejof=F>D`Nj2PY;G@? z?au})nzvJkhT(!BhPj=WUku3h84Z>r^^HhRO~_Bz@(F#?Cx^1Nv_B|L?9;^_u0GI% z`DJvAUx`-7m{d~;eQ#E=bu^q!TJW?@#5zWQ8;w3jGghG-3!oxEXW>Kk*AtvJ9Ep+4b&vpW;;j3k;{s#?8KsQ+w4&xPGr&_ z;pbC{;PWZFfy)w?boMOK1vWpSiMknw1R^n`*eX@YAspJ55?R0Jq5wxdOsT=^{xK`! zVf{x?9DG`e_+WD`LP`xiZLEgkdSyKBD;qOOr-1xwbXQK*FZxHDSE3{wa2 z3pSooR#>Z(FrSb8Q=u<6b3ZbG)Xk$c>}ooU%@469&tl-R9&Jy~(Ld+a#Fw38@>Ke4 z;@rt%yNP8r97P=)^8hF4!^}-q?>Fy#<#I=|19}}EwaYDSc%jW=$D2c})tQB=hE>)u zOT00pDK;%j>mt54NTN7+eJ*1e3odmG_OALA{6ujI4)T!|_F841+S_0?4COSDMW?>H+jUl6!Vl||~*5<@^N>R18c+B*_`?=tv1WcS1q z4Z?*=UH+cPUMTeyVp(qaf<3QKj%L~wI6OBylO$aqi5YVsjlH73xQyA%R6%Wr=!BQW zALHz5({U^?JZvbnKRAD_N|uS1xS*B^3pgcYBQbL|>vzN2U_2H5u+8Fo#&4aB zSa9PwsXohCm}&^9sq+xSe(3VC$1{%C~&fKVUX~9L&WbOBu)7|A?zM zND7Grr_y72X_@N7UA5PHv>xW*y`tzuWNY-)od*TQ`RqQ)*FUd1-Z9Xzmlnol2e_b^ zpgfXCqstEQx0AtZn@-3Pg(9Akmhi2987Z$;R<<4Vsu=?g$u`Nl8WQWGT;iVU#*v)F z?f7qL4?VQTfFgRav~G&xf`&Qgg+)xOW}C+k*H79HtQf}BqgjsBO%!ct{oY69{O^*M zn~aJ57{-Lqn=OxKSLg+6z-B`#T7z8!jcnl5-nMF;z*xcL$@}xzZ4vai>kjwH|>*&>yL;h4H)-=pYYII0_wgGD`+{veQyenp6rGY2$o02a|%Us|-xf7FNSK{+u|6 zP4_TCj-5Lj+v|7c_rbxANgJ&la#<=+A#xXpe=ipGc@_xXD)rB8$ekmlqn&lqRI3x> zw5IHI@u7P8^V(w5P-ybLIG$m14vkuEpf{XGZAJn3&B}xa&(uUrQrPWd-G0q9`%2l( z6KCygklT!{@Qthpbm>HJ9u?uvVj}Pf;%h`W&ypL4R8I1eX~&B4K6 zkpzU`D55xWVSy!o#cXJ;q%)h{?JmlJdN5V>d&{>UX8fqscy)x%%~#^VO!2@b0Y8Gv zUtW9whrThj)poF%A|wv6J;$|d;SF_}@t+U~Ne+s=y>@oKm^oBnL6yi6~gs%JTL z5%ZO~Lew@K!A>=dZzEVy0WtP$I)nL=LEY{x&$1p^RWw+XLZygTOp54|+BtpZ^D~Ud zQK3~8PE&yx&kjc2mWpVTH%h*n3wC;g`CXi{5_wnTf7MuxgUuxnGu$tepUApL|lxE%?YuVEOEsaW6 z)@G8abOdyl*~-zVc0`TCB^=VLk(#>2_Z)T3$tv73k5X8liMW=aGQc>Hp9p^`sG0}) z?K;^Z&Msq>5GQTg$pN2e^Y*qmu(~-5fn~H$U5yfkW@j#>Rd0 z*~Gx&==m5!T6sCmDwb1}S)dBZGAt|6)XBm^k}dJeAd(+pd@=w&lPthgs`7ck;;ZP^ zy^g7B9wqH<8&BM_Sh`Q!uOnO$)#M7;RXz6B=*s1b`_g(H5h>pKM(+b?^}E&8bB|F@ zyz674!s#zP=FTMM6pPz=gqD^|KYVyZCge{>Fgy~wB^G`K_B`4|;|yP1bwj487a_&0 zDWp(%Qn8cu`HBPfJHjxJD_Lx8Dh4N(&!*|M3ykZF-96zwnqj(dp}I^UnTB5F`*#|k zl%u>=@&cUE-^YzPOW`@rPV-80CLQ1GWWGz3M74*_y#vnbL}>MYUBGEE!MKYpB`_LBParWa>dc@x(o&j&_|6H9hkxF zot1_%i#g1;bwMcogb=QkNmuvIR~O(Zl8s>B1em17yQs|MZG*&F;1Q&+Ti!37DuY~z zI4-ZchZ(g0G;hvZ>WENK++99VzhO51lF5<5p*CMEA7`7YD{bcm-yy3sp+H6DOENv5 zB_n~L`*OSoYbPXHUK%OH8^M)3M3FIT6SZ?o0HktZ3M=bg{T-=5;HD$r*$xI*sG0;= zDHk}jLF(4ra@y>vYBKjSCFxAKP31Zgm{#muQ&R40#EPJah%*P-RUNv4b!P?h z5f#cBFFxZN$3m&^EJ!(}yS4k{vI%k>a4 zOfP!dMH|VNgh-OXBJex8t{@TZkx!K zKyMq_OnOUNyEtn!O>+*i%vSf;9?`79c4f2v3=J=yI`0-$*Ri8QE=lg4B>(FCrf=nB zR_lVobAadBCB}7(;sK<*yejq-m)x;F z=^Limoc!s>aXf5LX0)wB7r)2aiuvO?fb30L$}e$RhTs#3E+Ym@tZ2yV7RzhA3NCO) zBMo$u*qWQ5b`v%a0@u0E`cjKIEDVFl*=I55!l_XY8QBTGJ5kbE*n376owb3O&A+Bf z7EzE1No=?A-r1+)ON|HaHIv@bBWvbN?5Ol-G+avdhc?P3%-T06G1JAID<5Qx0m3un zXT`80UIeVzx@;vMM=rnmaBc80d8%=F=`+@bH|#lBD4KS6UM7ZiPNo`AdMrp6ToU>4 zwNnpfo33wy0ZsI2Y$Gp_2~gjc=$$Yd+uTgX!vNR%t_2fuJt- zscEPltTM1V&Pz}oO*-70QfZ>UC>tOw+y;?5Xwbv&4CFAj#aZTUv^y|ny57>?vtnmr zhxfGc4lRFsH%mh5M@L_Vz%{nzT|_j;L2uS=8P?n?ep(%m@%ScZJ&vRJ3b?C+W5J=2 z;}{@LVKpldnJLasE_w7^FtTK2g~ADuT1*7HL<(j2h#tTpmgNl^HwO zv|rJH&(xa2TW5A%3gu0fS8H7@Z7;iVUh;_ph%&3F=QhWSIl$m`6>iQp?BSNj(5DkQ zlN}>1BwOI8MH*jyc-VMQ1-MvGjBBG^Arp!P##GYkM7g|aXxd`$t0Etx3&f|YBQHoC zMDi1+5{m0j_4eCOcDPqTbBhY2 zhF$kLYdR_W(z%nmyctRK@e4QzF^>xZVWE632(&l8!NIV>287SB4*>Lh!-t2Ogdp0A zn(#?%q|D1r8)%+dONtk{jr}CxT7sSoZRJK%(XW1UNoo>GNjT6j%fFIOcC?S?Qw=%q z=LRNLF|{2Rp~oXoA4iObibaTZ^U035YWTB?Sn$$D-yCsZeOM#WmyPC4g_W!mW9Xk4 z?&OI*uzt~}p^JFG;?tO4@`=A5&v zXq!L4)LD0QO{^(0mU^|x4ukQun3aVp+7{1`vk<8D53(!m>I0k0PpUz6D6N?r*Ba>w zEvoD5d{h2Ok8l^X9j>rpS{hlcl_TD_5hbKMR8_S4hX8yyRx8wu%FHfLMmLaI;k!IV ze=on`>JA%@m2d3Dx9HqOS2F=Bchm4${w#MH2kJ_$H;FP3(F`{L6L!Pm;gRXPLC$(; zma{owoHzdP7l1tkB985h*ND8g$?pP=@8w`*TIuPsAFpUYDXFHAZ7JvYzUm0au=S7r zERp+!ulMrO$+Cy5E37%hG`03v=9l-6h8sj50@E0M`06_y`%e-320#l5##~T#4#d7H za6{_A2&F9H3A4RxJ8uy=UD{ZWzw0z4!d z)AFq9liLi#TkClG<93W*sT?Fv`#8dWOeGC;{W!OAioXM_+_&mCzEJPDRi zoSNsDUtHf_nWc&_1`+!%k3_>}+V@%&I55Ne+fq|Y1eawFUi?RLb`QnGKG^8cV zZM+H2@$dlYYT(J$=kQMXGr)8T0@25E-~C%U{WDFX+iLlVd35-UKRPfW2#xsd*wGat zr}A0$8k_T-ChHT_!1i-3y^Rw_lhrkn0YG!n8gcqGF8>Xsms_XW_jx!<^@jL_zov(n zcnzR5_3>|~K*39A8w0ZBZ*oOI9Wkz;E@U4%GU=R%-KZXsFiY=xV(gthxm~U!!A#s% zss$tx!R#%6`1N#E{ye{kocQ!O4S@VTHNWuY>cI6&rhY0G5D;j{mpuD&)OJpGm4aVy zVaWfQj{l_x&d(1D#re?t?lh2UTP3@ zga2-W5gq0LRmpA{1*-8^yZ;u}LEFs!zl^YeY1qB-#U=Sm*!RDW@ORVSUS10uRH9io zgYx_}0$9|g$SdsZ<%#$L)3&g%w9~dTwzRONb}_bsJuxsq(q36v`FbK+W^2d`CI?3u zO<{`-JWJ8hCa0_=x&Pw(amcm)+=23urOTsv3ukPTd}OU!@u?wQFaJ7c*2Bc>*>sSh zvJk8;mbzRrh0}5CI>ENz*Y$?WSp_z(IOd_t?b0<<+Rx^QdHXpq$JNoDqogP;BE@AB z1w8ubyPpr0xqWWUr&unHvjLN{UfWt1kG#N6z(9rhwD_@3P2Xj{9IA((>NXlve7?w= zXqzf&%O&P?va0=QnqkSS$0jDnwp!oj9^^q?^=hKpWDM2qY+w2Nw+Z~N zV@idpJhF@Tl$WDp*A+Aav(JsmJ1q})B>g5#J|)Vgwo(c2sRy}oS(&a&e;M{m8E3Qj z13B2Y=Ig3bU{hZ#Llz7^v=BsM1gdsW4e@@7nhoDy?%16Tq8h*{bdj@#<*l zX_F1~ze1fD=pk$Kc0yI)d=i!ceY$}@0SxrP^K~Hj@d>!RkUIZO{TB*~yp*{3D{cO@ zKaBOv{zmD48ohm8`Im|ocE2$n6bu#oe;3Sn^$xsVvbvHh*l@KQZq>4*Bj(epiKmLtdo<{tu_G ze||BUuemH8uHme=Cnfq!bwiwody zeEO&4{OP0L=061JuLJleYyZBwm3A-SSEBzXgzZm8yfXc__PTsCubAI>FCzi@qMRTg Q2rm!u7g>IO=>h@yKdY9T7ytkO diff --git a/wear/build.gradle b/wear/build.gradle index 40ffa918d7..36bde03780 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -114,7 +114,7 @@ dependencies { implementation "com.google.android.gms:play-services-wearable:$play_services_wearable_version" implementation(files("${rootProject.rootDir}/libraries/libs/ustwo-clockwise-debug.aar")) implementation(files("${rootProject.rootDir}/libraries/libs/wearpreferenceactivity-0.5.0.aar")) - implementation('com.github.lecho:hellocharts-library:1.5.8@aar') + implementation(files("${rootProject.rootDir}/libraries/libs/hellocharts-library-1.5.8.aar")) implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" From e49c5f2d3514a79b343a143c9779a3ab27669a5f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 13 Nov 2022 17:34:20 +0100 Subject: [PATCH 077/123] fix release build --- .../java/info/nightscout/rx/annotations/RxOpenForTesting.kt | 2 +- database/entities/build.gradle | 2 +- database/impl/build.gradle | 2 +- .../{androidaps => database}/annotations/DbOpenForTesting.kt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename database/impl/src/release/java/info/nightscout/{androidaps => database}/annotations/DbOpenForTesting.kt (80%) diff --git a/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt b/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt index 7b067babec..fbb976549d 100644 --- a/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt +++ b/app-wear-shared/rx/src/release/java/info/nightscout/rx/annotations/RxOpenForTesting.kt @@ -1,7 +1,7 @@ package info.nightscout.rx.annotations /** - * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. + * Annotate a class with [RxOpenForTesting] if it should be extendable for testing. * In production the class remains final. */ @Target(AnnotationTarget.CLASS) diff --git a/database/entities/build.gradle b/database/entities/build.gradle index 21c10dbaba..07c96a225a 100644 --- a/database/entities/build.gradle +++ b/database/entities/build.gradle @@ -29,5 +29,5 @@ dependencies { allOpen { // allows mocking for classes w/o directly opening them for release builds - annotation 'info.nightscout.androidaps.annotations.DbOpenForTesting' + annotation 'info.nightscout.database.annotations.DbOpenForTesting' } \ No newline at end of file diff --git a/database/impl/build.gradle b/database/impl/build.gradle index f30d9b538c..420ae6ed4b 100644 --- a/database/impl/build.gradle +++ b/database/impl/build.gradle @@ -48,5 +48,5 @@ dependencies { allOpen { // allows mocking for classes w/o directly opening them for release builds - annotation 'info.nightscout.androidaps.annotations.DbOpenForTesting' + annotation 'info.nightscout.database.annotations.DbOpenForTesting' } \ No newline at end of file diff --git a/database/impl/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt b/database/impl/src/release/java/info/nightscout/database/annotations/DbOpenForTesting.kt similarity index 80% rename from database/impl/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt rename to database/impl/src/release/java/info/nightscout/database/annotations/DbOpenForTesting.kt index 66704666fe..b22fa11e2f 100644 --- a/database/impl/src/release/java/info/nightscout/androidaps/annotations/DbOpenForTesting.kt +++ b/database/impl/src/release/java/info/nightscout/database/annotations/DbOpenForTesting.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.annotations +package info.nightscout.database.annotations /** * Annotate a class with [DbOpenForTesting] if it should be extendable for testing. From c9164e6274417fc52739df5b265f07696b77e01d Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 13 Nov 2022 18:14:37 +0100 Subject: [PATCH 078/123] break more dependencies --- .../plugins/aps/loop/LoopFragment.kt | 46 ++++- .../androidaps/plugins/aps/loop/LoopPlugin.kt | 24 +-- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../interfaces/ConstraintsCheckerTest.kt | 1 - .../automation/actions/ActionAlarm.kt | 12 +- .../automation/actions/ActionLoopDisable.kt | 4 +- .../automation/actions/ActionLoopEnable.kt | 6 +- .../automation/actions/ActionLoopResume.kt | 6 +- .../automation/actions/ActionLoopSuspend.kt | 6 +- .../automation/actions/ActionNotification.kt | 14 +- .../automation/actions/ActionProfileSwitch.kt | 12 +- .../actions/ActionProfileSwitchPercent.kt | 6 +- .../automation/actions/ActionRunAutotune.kt | 6 +- .../automation/actions/ActionSendSMS.kt | 4 +- .../actions/ActionStartTempTarget.kt | 6 +- .../actions/ActionStopProcessing.kt | 6 +- .../actions/ActionStopTempTarget.kt | 8 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../automation/actions/ActionAlarmTest.kt | 9 +- .../actions/ActionNotificationTest.kt | 7 +- .../automation/actions/ActionsTestBase.kt | 1 - .../androidaps/data/PumpEnactResultObject.kt | 165 ------------------ .../androidaps/di/CoreDataClassesModule.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../androidaps/data/PumpEnactResultTest.kt | 52 +++--- .../queue/CommandQueueImplementation.kt | 19 +- .../queue/commands/CommandBolus.kt | 4 +- .../commands/CommandCancelExtendedBolus.kt | 4 +- .../queue/commands/CommandCancelTempBasal.kt | 4 +- .../queue/commands/CommandCustomCommand.kt | 4 +- .../queue/commands/CommandExtendedBolus.kt | 4 +- .../CommandInsightSetTBROverNotification.kt | 4 +- .../queue/commands/CommandLoadEvents.kt | 4 +- .../queue/commands/CommandLoadHistory.kt | 4 +- .../queue/commands/CommandLoadTDDs.kt | 4 +- .../queue/commands/CommandReadStatus.kt | 6 +- .../queue/commands/CommandSMBBolus.kt | 7 +- .../queue/commands/CommandSetProfile.kt | 6 +- .../queue/commands/CommandSetUserSettings.kt | 4 +- .../queue/commands/CommandStartPump.kt | 4 +- .../queue/commands/CommandStopPump.kt | 4 +- .../commands/CommandTempBasalAbsolute.kt | 4 +- .../queue/commands/CommandTempBasalPercent.kt | 4 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../queue/CommandQueueImplementationTest.kt | 1 - .../pump/insight/LocalInsightPlugin.java | 25 ++- .../interfaces/pump/PumpEnactResult.kt | 63 +++---- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 63 +++++-- .../extensions/PumpEnactResultExtension.kt | 46 +++++ .../extensions/DeviceStatusExtension.kt | 1 + .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../SmsCommunicatorPluginTest.kt | 16 +- .../plugins/pump/combo/ComboPlugin.java | 63 ++++--- .../plugins/pump/combo/ComboPluginTest.kt | 1 - .../danaRKorean/DanaRKoreanPlugin.kt | 21 ++- .../androidaps/danaRv2/DanaRv2Plugin.java | 17 +- .../services/DanaRv2ExecutionService.java | 11 +- .../androidaps/danar/AbstractDanaRPlugin.java | 9 +- .../androidaps/danar/DanaRPlugin.java | 13 +- .../AbstractDanaRExecutionService.java | 3 +- .../danar/services/DanaRExecutionService.java | 5 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- .../androidaps/danars/DanaRSPlugin.kt | 29 ++- .../danars/services/DanaRSService.kt | 9 +- .../androidaps/diaconn/DiaconnG8Plugin.kt | 19 +- .../diaconn/service/DiaconnG8Service.kt | 7 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 53 +++--- .../pump/medtronic/MedtronicPumpPlugin.kt | 43 +++-- .../common/viewmodel/ActionViewModelBase.kt | 3 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 41 +++-- .../action/DashInitializePodViewModel.kt | 5 +- .../action/DashInsertCannulaViewModel.kt | 5 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 23 ++- .../eros/manager/AapsOmnipodErosManager.java | 77 ++++---- .../omnipod/eros/OmnipodErosPumpPluginTest.kt | 4 +- .../plugins/pump/common/PumpPluginAbstract.kt | 7 +- .../nightscout/androidaps/TestPumpPlugin.kt | 17 +- 77 files changed, 613 insertions(+), 688 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index 23b53cc639..dfe2912bea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -16,9 +16,11 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui +import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -135,9 +137,9 @@ class LoopFragment : DaggerFragment(), MenuProvider { binding.tbrrequestTime.text = dateUtil.dateAndTimeAndSecondsString(it.lastTBRRequest) binding.tbrexecutionTime.text = dateUtil.dateAndTimeAndSecondsString(it.lastTBREnact) - binding.tbrsetbypump.text = it.tbrSetByPump?.let { tbrSetByPump -> HtmlHelper.fromHtml(tbrSetByPump.toHtml()) } + binding.tbrsetbypump.text = it.tbrSetByPump?.let { tbrSetByPump -> HtmlHelper.fromHtml(tbrSetByPump.toHtml(rh)) } ?: "" - binding.smbsetbypump.text = it.smbSetByPump?.let { smbSetByPump -> HtmlHelper.fromHtml(smbSetByPump.toHtml()) } + binding.smbsetbypump.text = it.smbSetByPump?.let { smbSetByPump -> HtmlHelper.fromHtml(smbSetByPump.toHtml(rh)) } ?: "" var constraints = @@ -168,4 +170,44 @@ class LoopFragment : DaggerFragment(), MenuProvider { binding.smbsetbypump.text = "" binding.swipeRefresh.isRefreshing = false } + + private fun PumpEnactResult.toHtml(rh: ResourceHelper): String { + var ret = "" + rh.gs(info.nightscout.core.main.R.string.success) + ": " + success + if (queued) { + ret = rh.gs(info.nightscout.core.main.R.string.waitingforpumpresult) + } else if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname) + } + + isTempCancel -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + + "
" + rh.gs(info.nightscout.core.main.R.string.cancel_temp) + } + + isPercent && percent != -1 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(info.nightscout.core.main.R.string.percent) + ": " + percent + "%" + } + + absolute != -1.0 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(info.nightscout.core.main.R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" + } + } + } else { + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + } + return ret + } + + } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt index 31e1c7f39a..1244d4122e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt @@ -16,7 +16,6 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -52,6 +51,7 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.Callback @@ -383,7 +383,7 @@ class LoopPlugin @Inject constructor( if (resultAfterConstraints.isChangeRequested && !commandQueue.bolusInQueue() ) { - val waiting = PumpEnactResultObject(injector) + val waiting = PumpEnactResult(injector) waiting.queued = true if (resultAfterConstraints.isTempBasalRequested) lastRun.tbrSetByPump = waiting if (resultAfterConstraints.isBolusRequested) lastRun.smbSetByPump = @@ -535,18 +535,18 @@ class LoopPlugin @Inject constructor( */ private fun applyTBRRequest(request: APSResult, profile: Profile, callback: Callback?) { if (!request.isTempBasalRequested) { - callback?.result(PumpEnactResultObject(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() + callback?.result(PumpEnactResult(injector).enacted(false).success(true).comment(R.string.nochangerequested))?.run() return } val pump = activePlugin.activePump if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applyAPSRequest: $request") @@ -560,7 +560,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResultObject(injector).absolute(request.rate).duration(0) + PumpEnactResult(injector).absolute(request.rate).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -573,7 +573,7 @@ class LoopPlugin @Inject constructor( } else { aapsLogger.debug(LTag.APS, "applyAPSRequest: Basal set correctly") callback?.result( - PumpEnactResultObject(injector).percent(request.percent).duration(0) + PumpEnactResult(injector).percent(request.percent).duration(0) .enacted(false).success(true).comment(R.string.basal_set_correctly) )?.run() } @@ -584,7 +584,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResultObject(injector).percent(request.percent) + PumpEnactResult(injector).percent(request.percent) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -607,7 +607,7 @@ class LoopPlugin @Inject constructor( ) { aapsLogger.debug(LTag.APS, "applyAPSRequest: Temp basal set correctly") callback?.result( - PumpEnactResultObject(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) + PumpEnactResult(injector).absolute(activeTemp.convertedToAbsolute(now, profile)) .enacted(false).success(true).duration(activeTemp.plannedRemainingMinutes) .comment(R.string.let_temp_basal_run) )?.run() @@ -633,7 +633,7 @@ class LoopPlugin @Inject constructor( if (lastBolusTime != 0L && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { aapsLogger.debug(LTag.APS, "SMB requested but still in 3 min interval") callback?.result( - PumpEnactResultObject(injector) + PumpEnactResult(injector) .comment(R.string.smb_frequency_exceeded) .enacted(false).success(false) )?.run() @@ -641,12 +641,12 @@ class LoopPlugin @Inject constructor( } if (!pump.isInitialized()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpsuspended)) - callback?.result(PumpEnactResultObject(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).comment(R.string.pumpsuspended).enacted(false).success(false))?.run() return } aapsLogger.debug(LTag.APS, "applySMBRequest: $request") diff --git a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index a9a3c5461e..af18cd7321 100644 --- a/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/app/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +43,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index b3f14b4d82..87551f9dc5 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -8,7 +8,6 @@ import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt index 6d7f399882..9e8063f437 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt @@ -4,17 +4,17 @@ import android.content.Context import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import javax.inject.Inject @@ -41,7 +41,7 @@ class ActionAlarm(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { timerUtil.scheduleReminder(10, text.value.takeIf { it.isNotBlank() } ?: rh.gs(config.appName)) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt index a15b2e1943..c42e145d94 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt @@ -2,7 +2,6 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry @@ -11,6 +10,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus @@ -41,7 +41,7 @@ class ActionLoopDisable(injector: HasAndroidInjector) : Action(injector) { } }) } else { - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadydisabled)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadydisabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt index c833556ce6..cbbf8191d8 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt @@ -2,7 +2,6 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry @@ -11,6 +10,7 @@ import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview @@ -33,9 +33,9 @@ class ActionLoopEnable(injector: HasAndroidInjector) : Action(injector) { configBuilder.storeSettings("ActionLoopEnable") rxBus.send(EventRefreshOverview("ActionLoopEnable")) uel.log(UserEntry.Action.LOOP_ENABLED, Sources.Automation, title) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadyenabled)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyenabled)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt index cd76adcbb6..1382a24473 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt @@ -2,7 +2,6 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry @@ -11,6 +10,7 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview @@ -45,9 +45,9 @@ class ActionLoopResume(injector: HasAndroidInjector) : Action(injector) { }) rxBus.send(EventRefreshOverview("ActionLoopResume")) uel.log(UserEntry.Action.RESUME, Sources.Automation, title) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.notsuspended)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.notsuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt index be967e3a86..fffbb9ec22 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration @@ -13,6 +12,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.aps.Loop +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus @@ -40,9 +40,9 @@ class ActionLoopSuspend(injector: HasAndroidInjector) : Action(injector) { UserEntry.Action.SUSPEND, Sources.Automation, title + ": " + rh.gs(R.string.suspendloopforXmin, minutes.getMinutes()), ValueWithUnit.Minute(minutes.getMinutes()) ) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } else { - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadysuspended)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadysuspended)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt index 61e1c7d758..164120d979 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt @@ -3,17 +3,17 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.NotificationUserMessage -import info.nightscout.interfaces.queue.Callback -import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction +import info.nightscout.interfaces.notifications.NotificationUserMessage +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshOverview import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -39,7 +39,7 @@ class ActionNotification(injector: HasAndroidInjector) : Action(injector) { rxBus.send(EventNewNotification(notification)) disposable += repository.runTransaction(InsertTherapyEventAnnouncementTransaction(text.value)).subscribe() rxBus.send(EventRefreshOverview("ActionNotification")) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt index 53e7b3a64c..fbac6a8c50 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName @@ -14,6 +13,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag @@ -39,23 +39,23 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { //Check for uninitialized profileName if (inputProfileName.value == "") { aapsLogger.error(LTag.AUTOMATION, "Selected profile not initialized") - callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() + callback.result(PumpEnactResult(injector).success(false).comment(R.string.error_field_must_not_be_empty)).run() return } if (profileFunction.getProfile() == null) { aapsLogger.error(LTag.AUTOMATION, "ProfileFunctions not initialized") - callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.noprofile)).run() + callback.result(PumpEnactResult(injector).success(false).comment(R.string.noprofile)).run() return } if (inputProfileName.value == activeProfileName) { aapsLogger.debug(LTag.AUTOMATION, "Profile is already switched") - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.alreadyset)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyset)).run() return } val profileStore = activePlugin.activeProfileSource.profile ?: return if (profileStore.getSpecificProfile(inputProfileName.value) == null) { aapsLogger.error(LTag.AUTOMATION, "Selected profile does not exist! - ${inputProfileName.value}") - callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.notexists)).run() + callback.result(PumpEnactResult(injector).success(false).comment(R.string.notexists)).run() return } uel.log( @@ -64,7 +64,7 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Percent(100) ) val result = profileFunction.createProfileSwitch(profileStore, inputProfileName.value, 0, 100, 0, dateUtil.now()) - callback.result(PumpEnactResultObject(injector).success(result).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(result).comment(R.string.ok)).run() } override fun generateDialog(root: LinearLayout) { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt index 286db502fe..c70a48405b 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.automation.elements.Comparator @@ -16,6 +15,7 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag @@ -50,10 +50,10 @@ class ActionProfileSwitchPercent(injector: HasAndroidInjector) : Action(injector ValueWithUnit.Percent(pct.value.toInt()), ValueWithUnit.Minute(duration.value) ) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } else { aapsLogger.error(LTag.AUTOMATION, "Final profile not valid") - callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(false).comment(R.string.ok)).run() } } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt index ef63b9a48b..b6aab14656 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration import info.nightscout.automation.elements.InputProfileName @@ -12,6 +11,7 @@ import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.logging.LTag @@ -48,11 +48,11 @@ class ActionRunAutotune(injector: HasAndroidInjector) : Action(injector) { message = R.string.autotune_run_with_error aapsLogger.error(LTag.AUTOMATION, "Error during Autotune Run") } - callback.result(PumpEnactResultObject(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() + callback.result(PumpEnactResult(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run() } else { message = R.string.autotune_run_cancelled aapsLogger.debug(LTag.AUTOMATION, "Autotune run detected, Autotune Run Cancelled") - callback.result(PumpEnactResultObject(injector).success(false).comment(message)).run() + callback.result(PumpEnactResult(injector).success(false).comment(message)).run() } }.start() return diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt index a0b584abdd..0d951dfa49 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt @@ -2,11 +2,11 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.automation.elements.LabelWithElement import info.nightscout.automation.elements.LayoutBuilder +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.interfaces.utils.JsonHelper @@ -25,7 +25,7 @@ class ActionSendSMS(injector: HasAndroidInjector) : Action(injector) { override fun doAction(callback: Callback) { val result = smsCommunicator.sendNotificationToAllNumbers(text.value) - callback.result(PumpEnactResultObject(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() + callback.result(PumpEnactResult(injector).success(result).comment(if (result) R.string.ok else R.string.error)).run() } override fun isValid(): Boolean = text.value.isNotEmpty() diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt index 10257a2f88..4592e85c26 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt @@ -3,7 +3,6 @@ package info.nightscout.automation.actions import android.widget.LinearLayout import androidx.annotation.DrawableRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.friendlyDescription import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R @@ -25,6 +24,7 @@ import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.JsonHelper.safeGetDouble @@ -69,10 +69,10 @@ class ActionStartTempTarget(injector: HasAndroidInjector) : Action(injector) { ValueWithUnit.Mgdl(tt().highTarget).takeIf { tt().lowTarget != tt().highTarget }, ValueWithUnit.Minute(TimeUnit.MILLISECONDS.toMinutes(tt().duration).toInt()) ) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) - callback.result(PumpEnactResultObject(injector).success(false).comment(R.string.error)).run() + callback.result(PumpEnactResult(injector).success(false).comment(R.string.error)).run() }) } diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt index 7cbdcb341b..f58f1ec308 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt @@ -3,9 +3,9 @@ package info.nightscout.automation.actions import androidx.annotation.DrawableRes import com.google.gson.JsonObject import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.queue.Callback import org.json.JSONObject class ActionStopProcessing(injector: HasAndroidInjector) : Action(injector) { @@ -17,7 +17,7 @@ class ActionStopProcessing(injector: HasAndroidInjector) : Action(injector) { override fun isValid(): Boolean = true override fun doAction(callback: Callback) { - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } override fun toJSON(): String { diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt index eeb847b8ae..7674c730ef 100644 --- a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt @@ -1,13 +1,13 @@ package info.nightscout.automation.actions import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.R import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Sources +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.CancelCurrentTemporaryTargetIfAnyTransaction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil @@ -35,7 +35,7 @@ class ActionStopTempTarget(injector: HasAndroidInjector) : Action(injector) { }, { aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) }) - callback.result(PumpEnactResultObject(injector).success(true).comment(R.string.ok)).run() + callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok)).run() } override fun isValid(): Boolean = true diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 1dff8d299d..0c72c58ad0 100644 --- a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile @@ -56,31 +55,31 @@ class TestPumpPlugin( override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject( + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult( injector ).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} override fun specialEnableCondition(): Boolean = specialEnable diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 26a649f992..819daa59f5 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -4,15 +4,14 @@ import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultObject -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.interfaces.queue.Callback -import info.nightscout.shared.utils.DateUtil -import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.interfaces.Config +import info.nightscout.interfaces.queue.Callback +import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Before import org.junit.Test diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 897e2c7e42..6abb4a39a8 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -3,15 +3,14 @@ package info.nightscout.automation.actions import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultObject +import info.nightscout.automation.R +import info.nightscout.automation.elements.InputString import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.database.impl.transactions.Transaction -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.interfaces.queue.Callback -import info.nightscout.automation.R -import info.nightscout.automation.elements.InputString import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import io.reactivex.rxjava3.core.Completable import org.junit.Assert import org.junit.Before diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index ed660eced5..a009848d9a 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -4,7 +4,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.automation.triggers.Trigger import info.nightscout.database.entities.OfflineEvent diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt b/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt deleted file mode 100644 index 4da785da14..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/data/PumpEnactResultObject.kt +++ /dev/null @@ -1,165 +0,0 @@ -package info.nightscout.androidaps.data - -import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.core.main.R -import info.nightscout.interfaces.pump.PumpEnactResult -import info.nightscout.interfaces.utils.Round -import info.nightscout.shared.interfaces.ResourceHelper -import org.json.JSONObject -import javax.inject.Inject - -class PumpEnactResultObject(injector: HasAndroidInjector) : PumpEnactResult { - - @Inject lateinit var rh: ResourceHelper - - init { - injector.androidInjector().inject(this) - } - - override var success = false // request was processed successfully (but possible no change was needed) - override var enacted = false // request was processed successfully and change has been made - override var comment = "" - - // Result of basal change - override var duration = -1 // duration set [minutes] - override var absolute = -1.0 // absolute rate [U/h] , isPercent = false - override var percent = -1 // percent of current basal [%] (100% = current basal), isPercent = true - override var isPercent = false // if true percent is used, otherwise absolute - override var isTempCancel = false // if true we are canceling temp basal - - // Result of treatment delivery - override var bolusDelivered = 0.0 // real value of delivered insulin - override var carbsDelivered = 0.0 // real value of delivered carbs - override var queued = false - - override fun success(success: Boolean): PumpEnactResultObject = this.also { this.success = success } - override fun enacted(enacted: Boolean): PumpEnactResultObject = this.also { it.enacted = enacted } - override fun comment(comment: String): PumpEnactResultObject = this.also { it.comment = comment } - override fun comment(comment: Int): PumpEnactResultObject = this.also { it.comment = rh.gs(comment) } - override fun duration(duration: Int): PumpEnactResultObject = this.also { it.duration = duration } - override fun absolute(absolute: Double): PumpEnactResultObject = this.also { it.absolute = absolute } - override fun percent(percent: Int): PumpEnactResultObject = this.also { it.percent = percent } - override fun isPercent(isPercent: Boolean): PumpEnactResultObject = this.also { it.isPercent = isPercent } - override fun isTempCancel(isTempCancel: Boolean): PumpEnactResultObject = this.also { it.isTempCancel = isTempCancel } - override fun bolusDelivered(bolusDelivered: Double): PumpEnactResultObject = this.also { it.bolusDelivered = bolusDelivered } - override fun carbsDelivered(carbsDelivered: Double): PumpEnactResultObject = this.also { it.carbsDelivered = carbsDelivered } - override fun queued(queued: Boolean): PumpEnactResultObject = this.also { it.queued = queued } - - override fun log(): String { - return "Success: " + success + - " Enacted: " + enacted + - " Comment: " + comment + - " Duration: " + duration + - " Absolute: " + absolute + - " Percent: " + percent + - " IsPercent: " + isPercent + - " IsTempCancel: " + isTempCancel + - " bolusDelivered: " + bolusDelivered + - " carbsDelivered: " + carbsDelivered + - " Queued: " + queued - } - - override fun toString(): String = toText() - - override fun toText(): String { - var ret = rh.gs(R.string.success) + ": " + success - if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(R.string.insulin_unit_shortname)}" - } - - isTempCancel -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.cancel_temp)}" - } - - isPercent -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.duration)}: $duration min" - ret += "\n${rh.gs(R.string.percent)}: $percent%" - } - - else -> { - ret += "\n${rh.gs(R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(R.string.comment)}: $comment" - ret += "\n${rh.gs(R.string.duration)}: $duration min" - ret += "\n${rh.gs(R.string.absolute)}: $absolute U/h" - } - } - } else { - ret += "\n${rh.gs(R.string.comment)}: $comment" - } - return ret - } - - override fun toHtml(): String { - var ret = "" + rh.gs(R.string.success) + ": " + success - if (queued) { - ret = rh.gs(R.string.waitingforpumpresult) - } else if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(R.string.insulin_unit_shortname) - } - - isTempCancel -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - ret += "
" + rh.gs(R.string.comment) + ": " + comment + - "
" + rh.gs(R.string.cancel_temp) - } - - isPercent && percent != -1 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(R.string.percent) + ": " + percent + "%" - } - - absolute != -1.0 -> { - ret += "
" + rh.gs(R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - ret += "
" + rh.gs(R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" - } - } - } else { - if (comment.isNotEmpty()) ret += "
" + rh.gs(R.string.comment) + ": " + comment - } - return ret - } - - override fun json(baseBasal: Double): JSONObject { - val result = JSONObject() - when { - bolusDelivered > 0 -> { - result.put("smb", bolusDelivered) - } - - isTempCancel -> { - result.put("rate", 0) - result.put("duration", 0) - } - - isPercent -> { - // Nightscout is expecting absolute value - val abs = Round.roundTo(baseBasal * percent / 100, 0.01) - result.put("rate", abs) - result.put("duration", duration) - } - - else -> { - result.put("rate", absolute) - result.put("duration", duration) - } - } - return result - } -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt index afc2b00593..d015f32590 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt @@ -2,16 +2,16 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.interfaces.pump.PumpEnactResult @Module @Suppress("unused") abstract class CoreDataClassesModule { - @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResultObject + @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResult @ContributesAndroidInjector abstract fun apsResultInjector(): APSResultObject @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensDataObject diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index a9a3c5461e..af18cd7321 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +43,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt index 3f21582a89..b6e491ab96 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt @@ -37,84 +37,84 @@ class PumpEnactResultTest : TestBaseWithProfile() { } @Test fun successTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.success(true) Assert.assertEquals(true, per.success) } @Test fun enactedTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.enacted(true) Assert.assertEquals(true, per.enacted) } @Test fun commentTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.comment("SomeComment") Assert.assertEquals("SomeComment", per.comment) } @Test fun durationTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.duration(10) Assert.assertEquals(10, per.duration.toLong()) } @Test fun absoluteTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.absolute(11.0) Assert.assertEquals(11.0, per.absolute, 0.01) } @Test fun percentTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.percent(10) Assert.assertEquals(10, per.percent) } @Test fun isPercentTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.isPercent(true) Assert.assertEquals(true, per.isPercent) } @Test fun isTempCancelTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.isTempCancel(true) Assert.assertEquals(true, per.isTempCancel) } @Test fun bolusDeliveredTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.bolusDelivered(11.0) Assert.assertEquals(11.0, per.bolusDelivered, 0.01) } @Test fun carbsDeliveredTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.carbsDelivered(11.0) Assert.assertEquals(11.0, per.carbsDelivered, 0.01) } @Test fun queuedTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) per.queued(true) Assert.assertEquals(true, per.queued) } @Test fun logTest() { - val per = PumpEnactResultObject(injector) + val per = PumpEnactResult(injector) Assert.assertEquals( "Success: false Enacted: false Comment: Duration: -1 Absolute: -1.0 Percent: -1 IsPercent: false IsTempCancel: false bolusDelivered: 0.0 carbsDelivered: 0.0 Queued: false", @@ -123,7 +123,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { } @Test fun toStringTest() { - var per = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") Assert.assertEquals( """ Success: false @@ -132,7 +132,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Insulin: 10.0 U """.trimIndent(), per.toString() ) - per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals( """ Success: false @@ -141,7 +141,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Cancel temp basal """.trimIndent(), per.toString() ) - per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals( """ Success: false @@ -151,7 +151,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Percent: 90% """.trimIndent(), per.toString() ) - per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals( """ Success: false @@ -161,7 +161,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Absolute: 1.0 U/h """.trimIndent(), per.toString() ) - per = PumpEnactResultObject(injector).enacted(false).comment("AAA") + per = PumpEnactResult(injector).enacted(false).comment("AAA") Assert.assertEquals( """ Success: false @@ -172,31 +172,31 @@ class PumpEnactResultTest : TestBaseWithProfile() { @Test fun toHtmlTest() { - var per: PumpEnactResult = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per: PumpEnactResult = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
SMB: 10.0 U", per.toHtml()) - per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Cancel temp basal", per.toHtml()) - per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 20 min
Percent: 90%", per.toHtml()) - per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 30 min
Absolute: 1.00 U/h", per.toHtml()) - per = PumpEnactResultObject(injector).enacted(false).comment("AAA") + per = PumpEnactResult(injector).enacted(false).comment("AAA") Assert.assertEquals("Success: false
Comment: AAA", per.toHtml()) } @Test fun jsonTest() { var o: JSONObject? - var per: PumpEnactResult = PumpEnactResultObject(injector).enacted(true).bolusDelivered(10.0).comment("AAA") + var per: PumpEnactResult = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"smb\":10}", o, false) - per = PumpEnactResultObject(injector).enacted(true).isTempCancel(true).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0,\"duration\":0}", o, false) - per = PumpEnactResultObject(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":0.9,\"duration\":20}", o, false) - per = PumpEnactResultObject(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") + per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") o = per.json(validProfile.getBasal()) JSONAssert.assertEquals("{\"rate\":1,\"duration\":30}", o, false) } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index e5246fb05b..75c90ed955 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -8,7 +8,6 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning @@ -147,7 +146,7 @@ class CommandQueueImplementation @Inject constructor( } private fun executingNowError(): PumpEnactResult = - PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.executing_right_now) + PumpEnactResult(injector).success(false).enacted(false).comment(R.string.executing_right_now) override fun isRunning(type: CommandType): Boolean = performing?.commandType == type @@ -271,12 +270,12 @@ class CommandQueueImplementation @Inject constructor( .subscribeBy( onSuccess = { result -> result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted carbs $it") } - callback?.result(PumpEnactResultObject(injector).enacted(false).success(true))?.run() + callback?.result(PumpEnactResult(injector).enacted(false).success(true))?.run() }, onError = { aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) - callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() } ) } @@ -293,13 +292,13 @@ class CommandQueueImplementation @Inject constructor( if (type == CommandType.SMB_BOLUS) { if (bolusInQueue()) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting SMB since a bolus is queue/running") - callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() return false } val lastBolusTime = repository.getLastBolusRecord()?.timestamp ?: 0L if (detailedBolusInfo.lastKnownBolusTime < lastBolusTime) { aapsLogger.debug(LTag.PUMPQUEUE, "Rejecting bolus, another bolus was issued since request time") - callback?.result(PumpEnactResultObject(injector).enacted(false).success(false))?.run() + callback?.result(PumpEnactResult(injector).enacted(false).success(false))?.run() return false } removeAll(CommandType.SMB_BOLUS) @@ -352,7 +351,7 @@ class CommandQueueImplementation @Inject constructor( @Synchronized override fun cancelAllBoluses(id: Long?) { if (!isRunning(CommandType.BOLUS)) { - rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResultObject(injector).success(true).enacted(false), id)) + rxBus.send(EventDismissBolusProgressIfRunning(PumpEnactResult(injector).success(true).enacted(false), id)) } removeAll(CommandType.BOLUS) removeAll(CommandType.SMB_BOLUS) @@ -436,12 +435,12 @@ class CommandQueueImplementation @Inject constructor( override fun setProfile(profile: Profile, hasNsId: Boolean, callback: Callback?): Boolean { if (isRunning(CommandType.BASAL_PROFILE)) { aapsLogger.debug(LTag.PUMPQUEUE, "Command is already executed") - callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() return false } if (isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set") - callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() return false } // Compare with pump limits @@ -450,7 +449,7 @@ class CommandQueueImplementation @Inject constructor( if (basalValue.value < activePlugin.activePump.pumpDescription.basalMinimumRate) { val notification = Notification(Notification.BASAL_VALUE_BELOW_MINIMUM, rh.gs(R.string.basal_value_below_minimum), Notification.URGENT) rxBus.send(EventNewNotification(notification)) - callback?.result(PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() + callback?.result(PumpEnactResult(injector).success(false).enacted(false).comment(R.string.basal_value_below_minimum))?.run() return false } } diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt index 0987f2d678..5ca229e2e8 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandBolus.kt @@ -1,12 +1,12 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.bus.RxBus @@ -45,6 +45,6 @@ class CommandBolus( override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt index 2044e88e64..1ecd9c6479 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelExtendedBolus.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -27,6 +27,6 @@ class CommandCancelExtendedBolus constructor( override fun log(): String = "CANCEL EXTENDEDBOLUS" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt index 22aa204fd9..bcfaa78546 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCancelTempBasal.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -28,6 +28,6 @@ class CommandCancelTempBasal( override fun log(): String = "CANCEL TEMPBASAL" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt index 666b0817d3..43fa3f4837 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandCustomCommand.kt @@ -1,8 +1,8 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CustomCommand @@ -29,6 +29,6 @@ class CommandCustomCommand( override fun log(): String = customCommand.statusDescription override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt index 46f968fce6..36bbaf7db1 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandExtendedBolus.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -29,6 +29,6 @@ class CommandExtendedBolus constructor( override fun log(): String = "EXTENDEDBOLUS $insulin U $durationInMinutes min" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt index f7c9e3cf0c..b5653f72d5 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandInsightSetTBROverNotification.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -32,6 +32,6 @@ class CommandInsightSetTBROverNotification constructor( override fun log(): String = "INSIGHTSETTBROVERNOTIFICATION" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt index 34be135958..f92b82b1f0 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadEvents.kt @@ -1,11 +1,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -40,6 +40,6 @@ class CommandLoadEvents( override fun log(): String = "LOAD EVENTS" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt index 7ce32baa36..ae18d17e2a 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadHistory.kt @@ -1,11 +1,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -41,6 +41,6 @@ class CommandLoadHistory( override fun log(): String = "LOAD HISTORY $type" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt index 14684db9cc..3c21eac3da 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandLoadTDDs.kt @@ -1,9 +1,9 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -28,6 +28,6 @@ class CommandLoadTDDs( override fun log(): String = "LOAD TDDs" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt index ff7aff3fb7..ce91df0234 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandReadStatus.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.LocalAlertUtils import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -25,7 +25,7 @@ class CommandReadStatus( localAlertUtils.notifyPumpStatusRead() aapsLogger.debug(LTag.PUMPQUEUE, "CommandReadStatus executed. Reason: $reason") val pump = activePlugin.activePump - val result = PumpEnactResultObject(injector).success(false) + val result = PumpEnactResult(injector).success(false) val lastConnection = pump.lastDataTime() if (lastConnection > System.currentTimeMillis() - T.mins(1).msecs()) result.success(true) callback?.result(result)?.run() @@ -36,6 +36,6 @@ class CommandReadStatus( override fun log(): String = "READSTATUS $reason" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt index e90d84a40f..2fdb751342 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSMBBolus.kt @@ -1,7 +1,6 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin @@ -30,11 +29,11 @@ class CommandSMBBolus( aapsLogger.debug(LTag.PUMPQUEUE, "Last bolus: $lastBolusTime ${dateUtil.dateAndTimeAndSecondsString(lastBolusTime)}") if (lastBolusTime != 0L && lastBolusTime + T.mins(3).msecs() > dateUtil.now()) { aapsLogger.debug(LTag.PUMPQUEUE, "SMB requested but still in 3 min interval") - r = PumpEnactResultObject(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") + r = PumpEnactResult(injector).enacted(false).success(false).comment("SMB requested but still in 3 min interval") } else if (detailedBolusInfo.deliverAtTheLatest != 0L && detailedBolusInfo.deliverAtTheLatest + T.mins(1).msecs() > System.currentTimeMillis()) { r = activePlugin.activePump.deliverTreatment(detailedBolusInfo) } else { - r = PumpEnactResultObject(injector).enacted(false).success(false).comment("SMB request too old") + r = PumpEnactResult(injector).enacted(false).success(false).comment("SMB request too old") aapsLogger.debug(LTag.PUMPQUEUE, "SMB bolus canceled. deliverAt: " + dateUtil.dateAndTimeString(detailedBolusInfo.deliverAtTheLatest)) } aapsLogger.debug(LTag.PUMPQUEUE, "Result success: ${r.success} enacted: ${r.enacted}") @@ -46,6 +45,6 @@ class CommandSMBBolus( override fun log(): String = "SMB BOLUS ${rh.gs(R.string.formatinsulinunits, detailedBolusInfo.insulin)}" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt index 181226e586..20a5a414dc 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetProfile.kt @@ -1,7 +1,6 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.implementation.R @@ -9,6 +8,7 @@ import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.interfaces.queue.CommandQueue @@ -34,7 +34,7 @@ class CommandSetProfile constructor( override fun execute() { if (commandQueue.isThisProfileSet(profile) && repository.getEffectiveProfileSwitchActiveAt(dateUtil.now()).blockingGet() is ValueWrapper.Existing) { aapsLogger.debug(LTag.PUMPQUEUE, "Correct profile already set. profile: $profile") - callback?.result(PumpEnactResultObject(injector).success(true).enacted(false))?.run() + callback?.result(PumpEnactResult(injector).success(true).enacted(false))?.run() return } val r = activePlugin.activePump.setNewBasalProfile(profile) @@ -53,6 +53,6 @@ class CommandSetProfile constructor( override fun log(): String = "SET PROFILE" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt index 424e127122..450d7f5e25 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandSetUserSettings.kt @@ -1,11 +1,11 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Diaconn +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -38,6 +38,6 @@ class CommandSetUserSettings( override fun log(): String = "SET USER SETTINGS" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt index b8961cef86..7a5426e2e3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStartPump.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -30,6 +30,6 @@ class CommandStartPump( override fun log(): String = "START PUMP" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt index 33404f537d..80accdfd23 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandStopPump.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Insight +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command import info.nightscout.rx.logging.LTag @@ -30,6 +30,6 @@ class CommandStopPump( override fun log(): String = "STOP PUMP" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt index d18342afd1..59affc18f7 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalAbsolute.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command @@ -34,6 +34,6 @@ class CommandTempBasalAbsolute( override fun log(): String = "TEMP BASAL $absoluteRate U/h $durationInMinutes min" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt index 8568e909a1..e87d72d906 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/commands/CommandTempBasalPercent.kt @@ -1,10 +1,10 @@ package info.nightscout.implementation.queue.commands import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.implementation.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command @@ -38,6 +38,6 @@ class CommandTempBasalPercent( override fun log(): String = "TEMP BASAL $percent% $durationInMinutes min" override fun cancel() { aapsLogger.debug(LTag.PUMPQUEUE, "Result cancel") - callback?.result(PumpEnactResultObject(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() + callback?.result(PumpEnactResult(injector).success(false).comment(info.nightscout.core.main.R.string.connectiontimedout))?.run() } } \ No newline at end of file diff --git a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index a9a3c5461e..af18cd7321 100644 --- a/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/implementation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +43,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 2f92338f93..c9c1be3116 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -6,7 +6,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.entities.Bolus import info.nightscout.database.impl.AppRepository diff --git a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java index c985a002ca..6aab035541 100644 --- a/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java +++ b/insight/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java @@ -30,7 +30,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.insight.R; import info.nightscout.androidaps.insight.database.InsightBolusID; import info.nightscout.androidaps.insight.database.InsightDbHelper; @@ -475,7 +474,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setNewBasalProfile(Profile profile) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); List profileBlocks = new ArrayList<>(); for (int i = 0; i < profile.getBasalValues().length; i++) { @@ -575,7 +574,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, if (detailedBolusInfo.insulin == 0 || detailedBolusInfo.carbs > 0) { throw new IllegalArgumentException(detailedBolusInfo.toString(), new Exception()); } - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); double insulin = Math.round(detailedBolusInfo.insulin / 0.01) * 0.01; if (insulin > 0) { try { @@ -691,7 +690,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (activeBasalRate == null) return result; if (activeBasalRate.getActiveBasalRate() == 0) return result; double percent = 100D / activeBasalRate.getActiveBasalRate() * absoluteRate; @@ -741,7 +740,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); percent = (int) Math.round(((double) percent) / 10d) * 10; if (percent == 100) return cancelTempBasal(true); else if (percent > 250) percent = 250; @@ -797,7 +796,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setExtendedBolusOnly(Double insulin, Integer durationInMinutes, boolean disableVibration) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); try { DeliverBolusMessage bolusMessage = new DeliverBolusMessage(); bolusMessage.setBolusType(BolusType.EXTENDED); @@ -829,7 +828,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult cancelTempBasal(boolean enforceNew) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); PumpEnactResult cancelEBResult = null; if (isFakingTempsByExtendedBoluses()) cancelEBResult = cancelExtendedBolusOnly(); PumpEnactResult cancelTBRResult = cancelTempBasalOnly(); @@ -850,7 +849,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelTempBasalOnly() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); try { alertService.ignore(AlertType.WARNING_36); connectionService.requestMessage(new CancelTBRMessage()).await(); @@ -893,7 +892,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } private PumpEnactResult cancelExtendedBolusOnly() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); try { for (ActiveBolus activeBolus : activeBoluses) { if (activeBolus.getBolusType() == BolusType.EXTENDED || activeBolus.getBolusType() == BolusType.MULTIWAVE) { @@ -1012,7 +1011,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult stopPump() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STOPPED); @@ -1034,7 +1033,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult startPump() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); try { SetOperatingModeMessage operatingModeMessage = new SetOperatingModeMessage(); operatingModeMessage.setOperatingMode(OperatingMode.STARTED); @@ -1056,7 +1055,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, } public PumpEnactResult setTBROverNotification(boolean enabled) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); boolean valueBefore = tbrOverNotificationBlock.isEnabled(); tbrOverNotificationBlock.setEnabled(enabled); try { @@ -1119,7 +1118,7 @@ public class LocalInsightPlugin extends PumpPluginBase implements Pump, Insight, @NonNull @Override public PumpEnactResult loadTDDs() { - return new PumpEnactResultObject(getInjector()).success(true); + return new PumpEnactResult(getInjector()).success(true); } private void readHistory() { diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt index e73ba889a2..3c0f35e8fd 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/PumpEnactResult.kt @@ -1,40 +1,43 @@ package info.nightscout.interfaces.pump -import org.json.JSONObject +import android.content.Context +import dagger.android.HasAndroidInjector +import javax.inject.Inject -interface PumpEnactResult { +class PumpEnactResult(injector: HasAndroidInjector) { - var success: Boolean // request was processed successfully (but possible no change was needed) - var enacted: Boolean // request was processed successfully and change has been made - var comment: String + @Inject lateinit var context: Context + + init { + injector.androidInjector().inject(this) + } + + var success = false // request was processed successfully (but possible no change was needed) + var enacted = false // request was processed successfully and change has been made + var comment = "" // Result of basal change - var duration: Int // duration set [minutes] - var absolute: Double // absolute rate [U/h] , isPercent = false - var percent: Int // percent of current basal [%] (100% = current basal), isPercent = true - var isPercent: Boolean // if true percent is used, otherwise absolute - var isTempCancel: Boolean // if true we are canceling temp basal + var duration = -1 // duration set [minutes] + var absolute = -1.0 // absolute rate [U/h] , isPercent = false + var percent = -1 // percent of current basal [%] (100% = current basal), isPercent = true + var isPercent = false // if true percent is used, otherwise absolute + var isTempCancel = false // if true we are canceling temp basal // Result of treatment delivery - var bolusDelivered: Double // real value of delivered insulin - var carbsDelivered: Double // real value of delivered carbs - var queued: Boolean + var bolusDelivered = 0.0 // real value of delivered insulin + var carbsDelivered = 0.0 // real value of delivered carbs + var queued = false - fun success(success: Boolean): PumpEnactResult - fun enacted(enacted: Boolean): PumpEnactResult - fun comment(comment: String): PumpEnactResult - fun comment(comment: Int): PumpEnactResult - fun duration(duration: Int): PumpEnactResult - fun absolute(absolute: Double): PumpEnactResult - fun percent(percent: Int): PumpEnactResult - fun isPercent(isPercent: Boolean): PumpEnactResult - fun isTempCancel(isTempCancel: Boolean): PumpEnactResult - fun bolusDelivered(bolusDelivered: Double): PumpEnactResult - fun carbsDelivered(carbsDelivered: Double): PumpEnactResult - fun queued(queued: Boolean): PumpEnactResult - - fun log(): String - fun toHtml(): String - fun toText(): String - fun json(baseBasal: Double): JSONObject + fun success(success: Boolean): PumpEnactResult = this.also { this.success = success } + fun enacted(enacted: Boolean): PumpEnactResult = this.also { it.enacted = enacted } + fun comment(comment: String): PumpEnactResult = this.also { it.comment = comment } + fun comment(comment: Int): PumpEnactResult = this.also { it.comment = context.getString(comment) } + fun duration(duration: Int): PumpEnactResult = this.also { it.duration = duration } + fun absolute(absolute: Double): PumpEnactResult = this.also { it.absolute = absolute } + fun percent(percent: Int): PumpEnactResult = this.also { it.percent = percent } + fun isPercent(isPercent: Boolean): PumpEnactResult = this.also { it.isPercent = isPercent } + fun isTempCancel(isTempCancel: Boolean): PumpEnactResult = this.also { it.isTempCancel = isTempCancel } + fun bolusDelivered(bolusDelivered: Double): PumpEnactResult = this.also { it.bolusDelivered = bolusDelivered } + fun carbsDelivered(carbsDelivered: Double): PumpEnactResult = this.also { it.carbsDelivered = carbsDelivered } + fun queued(queued: Boolean): PumpEnactResult = this.also { it.queued = queued } } \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 7d2fefa097..38bbf3ad2d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -4,7 +4,6 @@ import android.os.SystemClock import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes @@ -133,7 +132,7 @@ open class VirtualPumpPlugin @Inject constructor( override var fakeDataDetected = false override fun loadTDDs(): PumpEnactResult { //no result, could read DB in the future? - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) } override fun isInitialized(): Boolean = true @@ -158,7 +157,7 @@ open class VirtualPumpPlugin @Inject constructor( lastDataTime = System.currentTimeMillis() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) // Do nothing here. we are using database profile - return PumpEnactResultObject(injector).success(true).enacted(true) + return PumpEnactResult(injector).success(true).enacted(true) } override fun isThisProfileSet(profile: Profile): Boolean = pumpSync.expectedPumpState().profile?.isEqual(profile) ?: false @@ -175,7 +174,7 @@ open class VirtualPumpPlugin @Inject constructor( get() = batteryPercent override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) .success(true) .bolusDelivered(detailedBolusInfo.insulin) .carbsDelivered(detailedBolusInfo.carbs) @@ -191,7 +190,7 @@ open class VirtualPumpPlugin @Inject constructor( rxBus.send(bolusingEvent) delivering += 0.1 if (BolusProgressDialog.stopPressed) - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(false) .enacted(false) .comment(rh.gs(R.string.stoppressed)) @@ -226,7 +225,7 @@ open class VirtualPumpPlugin @Inject constructor( override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = true result.enacted = true result.isTempCancel = false @@ -243,14 +242,14 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Setting temp basal absolute: ${result.toText()}") + aapsLogger.debug(LTag.PUMP, "Setting temp basal absolute: ${result.toText(rh)}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result } override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = true result.enacted = true result.percent = percent @@ -268,7 +267,7 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Settings temp basal percent: ${result.toText()}") + aapsLogger.debug(LTag.PUMP, "Settings temp basal percent: ${result.toText(rh)}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result @@ -292,14 +291,14 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Setting extended bolus: ${result.toText()}") + aapsLogger.debug(LTag.PUMP, "Setting extended bolus: ${result.toText(rh)}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = true result.isTempCancel = true result.comment = rh.gs(R.string.virtualpump_resultok) @@ -311,7 +310,7 @@ open class VirtualPumpPlugin @Inject constructor( pumpType = pumpType ?: PumpType.GENERIC_AAPS, pumpSerial = serialNumber() ) - aapsLogger.debug(LTag.PUMP, "Canceling temp basal: ${result.toText()}") + aapsLogger.debug(LTag.PUMP, "Canceling temp basal: ${result.toText(rh)}") rxBus.send(EventVirtualPumpUpdateGui()) } lastDataTime = System.currentTimeMillis() @@ -319,7 +318,7 @@ open class VirtualPumpPlugin @Inject constructor( } override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (pumpSync.expectedPumpState().extendedBolus != null) { pumpSync.syncStopExtendedBolusWithPumpId( timestamp = dateUtil.now(), @@ -332,7 +331,7 @@ open class VirtualPumpPlugin @Inject constructor( result.enacted = true result.isTempCancel = true result.comment = rh.gs(R.string.virtualpump_resultok) - aapsLogger.debug(LTag.PUMP, "Canceling extended bolus: ${result.toText()}") + aapsLogger.debug(LTag.PUMP, "Canceling extended bolus: ${result.toText(rh)}") rxBus.send(EventVirtualPumpUpdateGui()) lastDataTime = System.currentTimeMillis() return result @@ -400,4 +399,40 @@ open class VirtualPumpPlugin @Inject constructor( } override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} + + private fun PumpEnactResult.toText(rh: ResourceHelper): String { + var ret = rh.gs(info.nightscout.core.main.R.string.success) + ": " + success + if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname)}" + } + + isTempCancel -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.cancel_temp)}" + } + + isPercent -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.percent)}: $percent%" + } + + else -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.absolute)}: $absolute U/h" + } + } + } else { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + } + return ret + } } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt new file mode 100644 index 0000000000..1b974524c5 --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt @@ -0,0 +1,46 @@ +package info.nightscout.plugins.sync.nsShared.extensions + +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.utils.Round +import org.json.JSONObject + +fun PumpEnactResult.log(): String { + return "Success: " + success + + " Enacted: " + enacted + + " Comment: " + comment + + " Duration: " + duration + + " Absolute: " + absolute + + " Percent: " + percent + + " IsPercent: " + isPercent + + " IsTempCancel: " + isTempCancel + + " bolusDelivered: " + bolusDelivered + + " carbsDelivered: " + carbsDelivered + + " Queued: " + queued +} + +fun PumpEnactResult.json(baseBasal: Double): JSONObject { + val result = JSONObject() + when { + bolusDelivered > 0 -> { + result.put("smb", bolusDelivered) + } + + isTempCancel -> { + result.put("rate", 0) + result.put("duration", 0) + } + + isPercent -> { + // Nightscout is expecting absolute value + val abs = Round.roundTo(baseBasal * percent / 100, 0.01) + result.put("rate", abs) + result.put("duration", duration) + } + + else -> { + result.put("rate", absolute) + result.put("duration", duration) + } + } + return result + } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt index 640df0b55e..954ed4b39b 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt @@ -9,6 +9,7 @@ import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.Pump import info.nightscout.plugins.configBuilder.RunningConfiguration +import info.nightscout.plugins.sync.nsShared.extensions.json import info.nightscout.shared.utils.DateUtil import org.json.JSONObject diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index a9a3c5461e..af18cd7321 100644 --- a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +43,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index 030369805f..a714f484c7 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -5,7 +5,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.TestPumpPlugin -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider @@ -26,6 +25,7 @@ import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.Callback @@ -113,45 +113,45 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { smsCommunicatorPlugin.setPluginEnabled(PluginType.GENERAL, true) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultObject(injector).success(true) + callback.result = PumpEnactResult(injector).success(true) callback.run() null }.`when`(commandQueue).cancelTempBasal(ArgumentMatchers.anyBoolean(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(0) - callback.result = PumpEnactResultObject(injector).success(true) + callback.result = PumpEnactResult(injector).success(true) callback.run() null }.`when`(commandQueue).cancelExtended(ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultObject(injector).success(true) + callback.result = PumpEnactResult(injector).success(true) callback.run() null }.`when`(commandQueue).readStatus(ArgumentMatchers.anyString(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(1) - callback.result = PumpEnactResultObject(injector).success(true).bolusDelivered(1.0) + callback.result = PumpEnactResult(injector).success(true).bolusDelivered(1.0) callback.run() null }.`when`(commandQueue).bolus(anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResultObject(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResult(injector).success(true).isPercent(true).percent(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue) .tempBasalPercent(ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(5) - callback.result = PumpEnactResultObject(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResult(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue) .tempBasalAbsolute(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.anyBoolean(), anyObject(), anyObject(), ArgumentMatchers.any(Callback::class.java)) Mockito.doAnswer { invocation: InvocationOnMock -> val callback = invocation.getArgument(2) - callback.result = PumpEnactResultObject(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) + callback.result = PumpEnactResult(injector).success(true).isPercent(false).absolute(invocation.getArgument(0)).duration(invocation.getArgument(1)) callback.run() null }.`when`(commandQueue).extendedBolus(ArgumentMatchers.anyDouble(), ArgumentMatchers.anyInt(), ArgumentMatchers.any(Callback::class.java)) diff --git a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java index b7da8612a9..8c060911fe 100644 --- a/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java +++ b/pump/combo/src/main/java/info/nightscout/androidaps/plugins/pump/combo/ComboPlugin.java @@ -21,7 +21,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.combo.R; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -177,7 +176,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @Override protected void onStart() { super.onStart(); - OPERATION_NOT_SUPPORTED = new PumpEnactResultObject(getInjector()) + OPERATION_NOT_SUPPORTED = new PumpEnactResult(getInjector()) .success(false).enacted(false).comment(R.string.combo_pump_unsupported_operation); } @@ -264,7 +263,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().error("setNewBasalProfile not initialized"); Notification notification = new Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, getRh().gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.pumpNotInitializedProfileNotSet); } BasalProfile requestedBasalProfile = convertProfileToComboProfile(profile); @@ -272,12 +271,12 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //dismiss previously "FAILED" overview notifications rxBus.send(new EventDismissNotification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED)); rxBus.send(new EventDismissNotification(Notification.FAILED_UPDATE_PROFILE)); - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } CommandResult stateResult = runCommand(null, 1, ruffyScripter::readPumpState); if (stateResult.state.unsafeUsageDetected == PumpState.UNSUPPORTED_BASAL_RATE_PROFILE) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.combo_force_disabled_notification); } CommandResult setResult = runCommand(getRh().gs(R.string.combo_activity_setting_basal_profile), 2, @@ -285,7 +284,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (!setResult.success) { Notification notification = new Notification(Notification.FAILED_UPDATE_PROFILE, getRh().gs(R.string.failedupdatebasalprofile), Notification.URGENT); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(R.string.failedupdatebasalprofile); } pump.basalProfile = requestedBasalProfile; @@ -296,7 +295,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { //issue success notification Notification notification = new Notification(Notification.PROFILE_SET_OK, getRh().gs(R.string.profile_set_ok), Notification.INFO, 60); rxBus.send(new EventNewNotification(notification)); - return new PumpEnactResultObject(getInjector()).success(true).enacted(true); + return new PumpEnactResult(getInjector()).success(true).enacted(true); } @Override @@ -509,16 +508,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // check pump is ready and all pump bolus records are known CommandResult stateResult = runCommand(null, 2, () -> ruffyScripter.readQuickInfo(1)); if (!stateResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } if (stateResult.reservoirLevel != -1 && stateResult.reservoirLevel - 0.5 < detailedBolusInfo.insulin) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_reservoir_level_insufficient_for_bolus); } // the commands above ensured a connection was made, which updated this field if (pumpHistoryChanged) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_bolus_rejected_due_to_pump_history_change); } @@ -531,7 +530,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (Math.abs(previousBolus.amount - detailedBolusInfo.insulin) < 0.01 && previousBolus.timestamp + 60 * 1000 > System.currentTimeMillis()) { getAapsLogger().debug(LTag.PUMP, "Bolus request rejected, same bolus was successfully delivered very recently"); - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.bolus_frequency_exceeded); } @@ -544,10 +543,10 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { while (previousBolus.timestamp == timeCheckResult.state.pumpTime && maxWaitTimeout > System.currentTimeMillis()) { if (cancelBolus) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } if (!timeCheckResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_no_connection_no_bolus_delivered); } getAapsLogger().debug(LTag.PUMP, "Waiting for pump clock to advance for the next unused bolus record timestamp"); @@ -561,7 +560,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } if (cancelBolus) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } EventOverviewBolusProgress.Treatment treatment = new EventOverviewBolusProgress.Treatment(0.0, 0, detailedBolusInfo.getBolusType() == DetailedBolusInfo.BolusType.SMB, detailedBolusInfo.getId()); @@ -581,7 +580,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // (reads 2 records to update `recentBoluses` further down) CommandResult postBolusStateResult = runCommand(null, 3, () -> ruffyScripter.readQuickInfo(2)); if (!postBolusStateResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_error_bolus_verification_failed); } Bolus lastPumpBolus = postBolusStateResult.history != null && !postBolusStateResult.history.bolusHistory.isEmpty() @@ -591,9 +590,9 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // no bolus delivered? if (lastPumpBolus == null || lastPumpBolus.equals(previousBolus)) { if (cancelBolus) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } else { - return new PumpEnactResultObject(getInjector()) + return new PumpEnactResult(getInjector()) .success(false) .enacted(false) .comment(R.string.combo_error_no_bolus_delivered); @@ -602,7 +601,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // at least some insulin delivered, so add it to treatments if (!addBolusToTreatments(detailedBolusInfo, lastPumpBolus)) - return new PumpEnactResultObject(getInjector()).success(false).enacted(true) + return new PumpEnactResult(getInjector()).success(false).enacted(true) .comment(R.string.combo_error_updating_treatment_record); // check pump bolus record has a sane timestamp @@ -619,16 +618,16 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { // only a partial bolus was delivered if (Math.abs(lastPumpBolus.amount - detailedBolusInfo.insulin) > 0.01) { if (cancelBolus) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(true); + return new PumpEnactResult(getInjector()).success(true).enacted(true); } - return new PumpEnactResultObject(getInjector()).success(false).enacted(true) + return new PumpEnactResult(getInjector()).success(false).enacted(true) .comment(getRh().gs(R.string.combo_error_partial_bolus_delivered, lastPumpBolus.amount, detailedBolusInfo.insulin)); } // full bolus was delivered successfully incrementBolusCount(); - return new PumpEnactResultObject(getInjector()) + return new PumpEnactResult(getInjector()) .success(true) .enacted(lastPumpBolus.amount > 0) .bolusDelivered(lastPumpBolus.amount) @@ -729,7 +728,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { getAapsLogger().debug(LTag.PUMP, "setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); if (pumpHistoryChanged && percent > 110) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false) + return new PumpEnactResult(getInjector()).success(false).enacted(false) .comment(R.string.combo_high_temp_rejected_due_to_pump_history_changes); } @@ -755,7 +754,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { CommandResult commandResult = runCommand(getRh().gs(R.string.combo_pump_action_setting_tbr, percent, durationInMinutes), 3, () -> ruffyScripter.setTbr(finalAdjustedPercent, durationInMinutes)); if (!commandResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false); + return new PumpEnactResult(getInjector()).success(false).enacted(false); } PumpState state = commandResult.state; @@ -781,7 +780,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { } incrementTbrCount(); - return new PumpEnactResultObject(getInjector()).success(true).enacted(true).isPercent(true) + return new PumpEnactResult(getInjector()).success(true).enacted(true).isPercent(true) .percent(state.tbrPercent).duration(state.tbrRemainingDuration); } @@ -805,15 +804,15 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { if (enforceNew) { CommandResult stateResult = runCommand(getRh().gs(R.string.combo_pump_action_refreshing), 2, ruffyScripter::readPumpState); if (!stateResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false); + return new PumpEnactResult(getInjector()).success(false).enacted(false); } if (!stateResult.state.tbrActive) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: hard-cancelling TBR since force requested"); CommandResult cancelResult = runCommand(getRh().gs(R.string.combo_pump_action_cancelling_tbr), 2, ruffyScripter::cancelTbr); if (!cancelResult.success) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false); + return new PumpEnactResult(getInjector()).success(false).enacted(false); } if (!cancelResult.state.tbrActive) { pumpSync.syncStopTemporaryBasalWithPumpId( @@ -823,19 +822,19 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { PumpType.ACCU_CHEK_COMBO, serialNumber() ); - return new PumpEnactResultObject(getInjector()).isTempCancel(true).success(true).enacted(true); + return new PumpEnactResult(getInjector()).isTempCancel(true).success(true).enacted(true); } else { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false); + return new PumpEnactResult(getInjector()).success(false).enacted(false); } } else if (activeTemp == null) { - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } else if ((activeTemp.getRate() >= 90 && activeTemp.getRate() <= 110) && PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) <= 15) { // Let fake neutral temp keep run (see below) // Note that since this runs on the queue a connection is opened regardless, but this // case doesn't occur all that often, so it's not worth optimizing (1.3k SetTBR vs 4 cancelTBR). getAapsLogger().debug(LTag.PUMP, "cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); - return new PumpEnactResultObject(getInjector()).success(true).enacted(true) + return new PumpEnactResult(getInjector()).success(true).enacted(true) .comment("cancelTempBasal skipping changing tbr since it already is at " + activeTemp.getRate() + "% and running for another " + PumpStateExtensionKt.getPlannedRemainingMinutes(activeTemp) + " mins."); @@ -1361,7 +1360,7 @@ public class ComboPlugin extends PumpPluginBase implements Pump, Constraints { @NonNull @Override public PumpEnactResult loadTDDs() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(readHistory(new PumpHistoryRequest().tddHistory(PumpHistoryRequest.FULL))); if (result.getSuccess()) { List tdds = pump.tddHistory; diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index 75cc8e6c11..aa09e834d6 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -4,7 +4,6 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.androidaps.combo.R -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.interfaces.constraints.Constraint diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt index 005c72c9a0..fcc91eaaa6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/DanaRKoreanPlugin.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danaRKorean.services.DanaRKoreanExecutionService import info.nightscout.androidaps.danar.AbstractDanaRPlugin import info.nightscout.androidaps.danar.R -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -134,7 +133,7 @@ class DanaRKoreanPlugin @Inject constructor( detailedBolusInfo.insulin, detailedBolusInfo.carbs.toInt(), detailedBolusInfo.carbsTimestamp ?: detailedBolusInfo.timestamp, t ) - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success(connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep) .bolusDelivered(t.insulin) if (!result.success) result.comment(rh.gs(R.string.boluserrorcode, detailedBolusInfo.insulin, t.insulin, danaPump.bolusStartErrorCode)) else result.comment(R.string.ok) @@ -151,7 +150,7 @@ class DanaRKoreanPlugin @Inject constructor( ) result } else { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success(false).bolusDelivered(0.0).carbsDelivered(0.0).comment(R.string.invalidinput) aapsLogger.error("deliverTreatment: Invalid input") result @@ -191,7 +190,7 @@ class DanaRKoreanPlugin @Inject constructor( return cancelRealTempBasal() } aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return PumpEnactResultObject(injector).success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) + return PumpEnactResult(injector).success(true).enacted(false).percent(100).isPercent(true).isTempCancel(true) } if (doLowTemp || doHighTemp) { // If extended in progress @@ -212,7 +211,7 @@ class DanaRKoreanPlugin @Inject constructor( cancelTempBasal(true) } else { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return PumpEnactResultObject(injector).success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) + return PumpEnactResult(injector).success(true).percent(percentRate).enacted(false).duration(danaPump.tempBasalRemainingMin).isPercent(true).isTempCancel(false) } } } @@ -251,7 +250,7 @@ class DanaRKoreanPlugin @Inject constructor( if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAbsoluteRate - extendedRateToSet) < pumpDescription.extendedBolusStep) { // correct extended already set aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct extended already set") - return PumpEnactResultObject(injector).success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false) + return PumpEnactResult(injector).success(true).absolute(danaPump.extendedBolusAbsoluteRate).enacted(false).duration(danaPump.extendedBolusRemainingMinutes).isPercent(false) .isTempCancel(false) } @@ -269,7 +268,7 @@ class DanaRKoreanPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - return PumpEnactResultObject(injector).success(false).comment("Internal error") + return PumpEnactResult(injector).success(false).comment("Internal error") } override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { @@ -277,7 +276,7 @@ class DanaRKoreanPlugin @Inject constructor( if (danaPump.isExtendedInProgress && useExtendedBoluses) { return cancelExtendedBolus() } - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true) return result } @@ -285,7 +284,7 @@ class DanaRKoreanPlugin @Inject constructor( override fun model(): PumpType = PumpType.DANA_R_KOREAN private fun cancelRealTempBasal(): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (danaPump.isTempBasalInProgress) { sExecutionService.tempBasalStop() if (!danaPump.isTempBasalInProgress) { @@ -304,6 +303,6 @@ class DanaRKoreanPlugin @Inject constructor( return result } - override fun loadEvents(): PumpEnactResult = PumpEnactResultObject(injector) // no history, not needed - override fun setUserOptions(): PumpEnactResult = PumpEnactResultObject(injector) + override fun loadEvents(): PumpEnactResult = PumpEnactResult(injector) // no history, not needed + override fun setUserOptions(): PumpEnactResult = PumpEnactResult(injector) } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java index 08e9cfc671..df158f431c 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/DanaRv2Plugin.java @@ -16,7 +16,6 @@ import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.danar.AbstractDanaRPlugin; import info.nightscout.androidaps.danar.R; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage; import info.nightscout.core.fabric.FabricPrivacy; @@ -190,7 +189,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, carbTimeStamp, t); - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -203,7 +202,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { // remove carbs because it's get from history separately return result; } else { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -223,7 +222,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); absoluteRate = constraintChecker.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -290,7 +289,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -324,7 +323,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private PumpEnactResult setHighTempBasalPercent(Integer percent, int durationInMinutes) { DanaPump pump = danaPump; - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); boolean connectionOK = sExecutionService.highTempBasal(percent, durationInMinutes); if (connectionOK && pump.isTempBasalInProgress() && pump.getTempBasalPercent() == percent) { result.enacted(true).success(true).comment(R.string.ok).isTempCancel(false).duration(pump.getTempBasalRemainingMin()).percent(pump.getTempBasalPercent()).isPercent(true); @@ -338,7 +337,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelTempBasal(boolean force) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); result.enacted(true).isTempCancel(true); @@ -357,7 +356,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < pumpDescription.getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -390,7 +389,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); result.enacted(true).success(!danaPump.isExtendedInProgress()).isTempCancel(true); diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index c27a8ab623..4faef95548 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -48,7 +48,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -430,14 +429,14 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult loadEvents() { if (!danaRv2Plugin.isInitialized()) { - PumpEnactResult result = new PumpEnactResultObject(injector).success(false); + PumpEnactResult result = new PumpEnactResult(injector).success(false); result.comment("pump not initialized"); return result; } if (!isConnected()) - return new PumpEnactResultObject(injector).success(false); + return new PumpEnactResult(injector).success(false); SystemClock.sleep(300); MsgHistoryEventsV2 msg = new MsgHistoryEventsV2(injector, danaPump.lastHistoryFetched); aapsLogger.debug(LTag.PUMP, "Loading event history from: " + dateUtil.dateAndTimeString(danaPump.lastHistoryFetched)); @@ -452,7 +451,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { else danaPump.lastHistoryFetched = 0; danaPump.setLastConnection(System.currentTimeMillis()); - return new PumpEnactResultObject(injector).success(true); + return new PumpEnactResult(injector).success(true); } public boolean updateBasalsInPump(final Profile profile) { @@ -471,12 +470,12 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResultObject(injector).success(false); + return new PumpEnactResult(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResultObject(injector).success(!msg.getFailed()); + return new PumpEnactResult(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java index bfc9eb63c1..49f37965b0 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java @@ -10,7 +10,6 @@ import info.nightscout.androidaps.dana.DanaFragment; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.dana.comm.RecordTypes; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -136,7 +135,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump // Pump interface @NonNull @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (sExecutionService == null) { getAapsLogger().error("setNewBasalProfile sExecutionService is null"); @@ -216,7 +215,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult setTempBasalPercent(int percent, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); percent = constraintChecker.applyBasalPercentConstraints(new Constraint<>(percent), profile).value(); if (percent < 0) { result.isTempCancel(false).enacted(false).success(false).comment(R.string.invalidinput); @@ -269,7 +268,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump int durationInHalfHours = Math.max(durationInMinutes / 30, 1); insulin = Round.INSTANCE.roundTo(insulin, getPumpDescription().getExtendedBolusStep()); - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isExtendedInProgress() && Math.abs(danaPump.getExtendedBolusAmount() - insulin) < getPumpDescription().getExtendedBolusStep()) { result.enacted(false) .success(true) @@ -320,7 +319,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump @NonNull @Override public PumpEnactResult cancelExtendedBolus() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isExtendedInProgress()) { sExecutionService.extendedBolusStop(); if (!danaPump.isExtendedInProgress()) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java index fc4bb712bb..e0826126ec 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/DanaRPlugin.java @@ -14,7 +14,6 @@ import javax.inject.Singleton; import dagger.android.HasAndroidInjector; import info.nightscout.androidaps.dana.DanaPump; import info.nightscout.androidaps.danar.services.DanaRExecutionService; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.core.fabric.FabricPrivacy; import info.nightscout.interfaces.constraints.Constraint; import info.nightscout.interfaces.constraints.Constraints; @@ -165,7 +164,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.getCarbsTimestamp() != null ? detailedBolusInfo.getCarbsTimestamp() : detailedBolusInfo.timestamp, t); - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(connectionOK && Math.abs(detailedBolusInfo.insulin - t.getInsulin()) < pumpDescription.getBolusStep()) .bolusDelivered(t.getInsulin()) .carbsDelivered(detailedBolusInfo.carbs); @@ -193,7 +192,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { serialNumber()); return result; } else { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(false).bolusDelivered(0d).carbsDelivered(0d).comment(R.string.invalidinput); aapsLogger.error("deliverTreatment: Invalid input"); return result; @@ -205,7 +204,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public PumpEnactResult setTempBasalAbsolute(double absoluteRate, int durationInMinutes, @NonNull Profile profile, boolean enforceNew, @NonNull PumpSync.TemporaryBasalType tbrType) { // Recheck pump status if older than 30 min //This should not be needed while using queue because connection should be done before calling this - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); absoluteRate = constraints.applyBasalConstraints(new Constraint<>(absoluteRate), profile).value(); @@ -327,7 +326,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (danaPump.isExtendedInProgress() && useExtendedBoluses) { return cancelExtendedBolus(); } - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); result.success(true).enacted(false).comment(R.string.ok).isTempCancel(true); return result; } @@ -338,7 +337,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { } private PumpEnactResult cancelRealTempBasal() { - PumpEnactResult result = new PumpEnactResultObject(getInjector()); + PumpEnactResult result = new PumpEnactResult(getInjector()); if (danaPump.isTempBasalInProgress()) { sExecutionService.tempBasalStop(); if (!danaPump.isTempBasalInProgress()) { @@ -360,7 +359,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { @NonNull @Override public PumpEnactResult loadEvents() { - return new PumpEnactResultObject(getInjector()); // no history, not needed + return new PumpEnactResult(getInjector()); // no history, not needed } @NonNull @Override diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index b66ba1e9eb..2f4bb92576 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -39,7 +39,6 @@ import info.nightscout.androidaps.danar.comm.MsgHistoryRefill; import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.ToastUtils; @@ -242,7 +241,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } public PumpEnactResult loadHistory(byte type) { - PumpEnactResult result = new PumpEnactResultObject(injector); + PumpEnactResult result = new PumpEnactResult(injector); if (!isConnected()) return result; MessageBase msg = null; switch (type) { diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index 5eb3283136..f76e77a9ef 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -43,7 +43,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatus; import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.dialogs.BolusProgressDialog; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -397,11 +396,11 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult setUserOptions() { if (!isConnected()) - return new PumpEnactResultObject(injector).success(false); + return new PumpEnactResult(injector).success(false); SystemClock.sleep(300); MsgSetUserOptions msg = new MsgSetUserOptions(injector); mSerialIOThread.sendMessage(msg); SystemClock.sleep(200); - return new PumpEnactResultObject(injector).success(!msg.getFailed()); + return new PumpEnactResult(injector).success(!msg.getFailed()); } } diff --git a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index 31100c9f18..aad8035a99 100644 --- a/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/pump/danar/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,26 +43,26 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} - override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index 1fabcc0217..a0eb2f63dd 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.dana.comm.RecordTypes import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.danars.services.DanaRSService -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification @@ -186,15 +185,15 @@ class DanaRSPlugin @Inject constructor( // DanaR interface override fun loadHistory(type: Byte): PumpEnactResult { - return danaRSService?.loadHistory(type) ?: PumpEnactResultObject(injector).success(false) + return danaRSService?.loadHistory(type) ?: PumpEnactResult(injector).success(false) } override fun loadEvents(): PumpEnactResult { - return danaRSService?.loadEvents() ?: PumpEnactResultObject(injector).success(false) + return danaRSService?.loadEvents() ?: PumpEnactResult(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return danaRSService?.setUserSettings() ?: PumpEnactResultObject(injector).success(false) + return danaRSService?.setUserSettings() ?: PumpEnactResult(injector).success(false) } // Constraints interface @@ -229,7 +228,7 @@ class DanaRSPlugin @Inject constructor( danaRSService?.isConnected ?: false || danaRSService?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (!isInitialized()) { aapsLogger.error("setNewBasalProfile not initialized") val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) @@ -305,7 +304,7 @@ class DanaRSPlugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = danaRSService?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = connectionOK && abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs @@ -322,7 +321,7 @@ class DanaRSPlugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -364,7 +363,7 @@ class DanaRSPlugin @Inject constructor( return cancelTempBasal(false) } aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: doTempOff OK") - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(true) .enacted(false) .percent(100) @@ -379,7 +378,7 @@ class DanaRSPlugin @Inject constructor( if (danaPump.tempBasalPercent == percentRate && danaPump.tempBasalRemainingMin > 4) { if (!enforceNew) { aapsLogger.debug(LTag.PUMP, "setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)") - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(true) .percent(percentRate) .enacted(false) @@ -407,14 +406,14 @@ class DanaRSPlugin @Inject constructor( } // We should never end here aapsLogger.error("setTempBasalAbsolute: Internal error") - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(false) .comment("Internal error") } @Synchronized override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) var percentAfterConstraint = constraintChecker.applyBasalPercentConstraints(Constraint(percent), profile).value() if (percentAfterConstraint < 0) { result.isTempCancel = false @@ -463,7 +462,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized private fun setHighTempBasalPercent(percent: Int): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) val connectionOK = danaRSService?.highTempBasal(percent) ?: false if (connectionOK && danaPump.isTempBasalInProgress && danaPump.tempBasalPercent == percent) { result.enacted = true @@ -489,7 +488,7 @@ class DanaRSPlugin @Inject constructor( // needs to be rounded val durationInHalfHours = max(durationInMinutes / 30, 1) insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (danaPump.isExtendedInProgress && abs(danaPump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false result.success = true @@ -524,7 +523,7 @@ class DanaRSPlugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (danaPump.isTempBasalInProgress) { danaRSService?.tempBasalStop() result.success = !danaPump.isTempBasalInProgress @@ -541,7 +540,7 @@ class DanaRSPlugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (danaPump.isExtendedInProgress) { danaRSService?.extendedBolusStop() result.success = !danaPump.isExtendedInProgress diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 1f77a346f8..2c40416a5f 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -54,7 +54,6 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionGetUserOption import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.dialogs.BolusProgressDialog import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification @@ -261,7 +260,7 @@ class DanaRSService : DaggerService() { fun loadEvents(): PumpEnactResult { if (!danaRSPlugin.isInitialized()) { - val result = PumpEnactResultObject(injector).success(false) + val result = PumpEnactResult(injector).success(false) result.comment = "pump not initialized" return result } @@ -283,13 +282,13 @@ class DanaRSService : DaggerService() { rxBus.send(EventPumpStatusChanged(rh.gs(R.string.gettingpumpstatus))) sendMessage(DanaRSPacketGeneralInitialScreenInformation(injector)) danaPump.lastConnection = System.currentTimeMillis() - return PumpEnactResultObject(injector).success(msg.success()) + return PumpEnactResult(injector).success(msg.success()) } fun setUserSettings(): PumpEnactResult { val message = DanaRSPacketOptionSetUserOption(injector) sendMessage(message) - return PumpEnactResultObject(injector).success(message.success()) + return PumpEnactResult(injector).success(message.success()) } fun bolus(insulin: Double, carbs: Int, carbTime: Long, t: EventOverviewBolusProgress.Treatment): Boolean { @@ -499,7 +498,7 @@ class DanaRSService : DaggerService() { } fun loadHistory(type: Byte): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (!isConnected) return result var msg: DanaRSPacketHistory? = null when (type) { diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 8477de3abc..2ea58347eb 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -9,7 +9,6 @@ import android.text.format.DateFormat import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.diaconn.service.DiaconnG8Service import info.nightscout.androidaps.extensions.convertedToAbsolute @@ -174,11 +173,11 @@ class DiaconnG8Plugin @Inject constructor( // Diaconn Pump Interface override fun loadHistory(): PumpEnactResult { - return diaconnG8Service?.loadHistory() ?: PumpEnactResultObject(injector).success(false) + return diaconnG8Service?.loadHistory() ?: PumpEnactResult(injector).success(false) } override fun setUserOptions(): PumpEnactResult { - return diaconnG8Service?.setUserSettings() ?: PumpEnactResultObject(injector).success(false) + return diaconnG8Service?.setUserSettings() ?: PumpEnactResult(injector).success(false) } // Constraints interface @@ -213,7 +212,7 @@ class DiaconnG8Plugin @Inject constructor( diaconnG8Service?.isConnected ?: false || diaconnG8Service?.isConnecting ?: false override fun setNewBasalProfile(profile: Profile): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (!isInitialized()) { val notification = Notification(Notification.PROFILE_NOT_SET_NOT_INITIALIZED, rh.gs(R.string.pumpNotInitializedProfileNotSet), Notification.URGENT) rxBus.send(EventNewNotification(notification)) @@ -277,7 +276,7 @@ class DiaconnG8Plugin @Inject constructor( var connectionOK = false if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = diaconnG8Service?.bolus(detailedBolusInfo.insulin, carbs.toInt(), carbTimeStamp, t) ?: false - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = connectionOK result.bolusDelivered = t.insulin result.carbsDelivered = detailedBolusInfo.carbs @@ -289,7 +288,7 @@ class DiaconnG8Plugin @Inject constructor( aapsLogger.debug(LTag.PUMP, "deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered) result } else { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.success = false result.bolusDelivered = 0.0 result.carbsDelivered = 0.0 @@ -306,7 +305,7 @@ class DiaconnG8Plugin @Inject constructor( // This is called from APS @Synchronized override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) val absoluteAfterConstrain = constraintChecker.applyBasalConstraints(Constraint(absoluteRate), profile).value() val doTempOff = baseBasalRate - absoluteAfterConstrain == 0.0 val doLowTemp = absoluteAfterConstrain < baseBasalRate @@ -397,7 +396,7 @@ class DiaconnG8Plugin @Inject constructor( var insulinAfterConstraint = constraintChecker.applyExtendedBolusConstraints(Constraint(insulin)).value() // needs to be rounded insulinAfterConstraint = Round.roundTo(insulinAfterConstraint, pumpDescription.extendedBolusStep) - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (diaconnG8Pump.isExtendedInProgress && abs(diaconnG8Pump.extendedBolusAmount - insulinAfterConstraint) < pumpDescription.extendedBolusStep) { result.enacted = false @@ -435,7 +434,7 @@ class DiaconnG8Plugin @Inject constructor( @Synchronized override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (diaconnG8Pump.isTempBasalInProgress) { diaconnG8Service?.tempBasalStop() result.success = !diaconnG8Pump.isTempBasalInProgress @@ -453,7 +452,7 @@ class DiaconnG8Plugin @Inject constructor( } @Synchronized override fun cancelExtendedBolus(): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) if (diaconnG8Pump.isExtendedInProgress) { diaconnG8Service?.extendedBolusStop() result.success = !diaconnG8Pump.isExtendedInProgress diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index c5e51720b5..b7f225c2b1 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -8,7 +8,6 @@ import android.os.IBinder import android.os.SystemClock import dagger.android.DaggerService import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R @@ -269,7 +268,7 @@ class DiaconnG8Service : DaggerService() { fun loadHistory(): PumpEnactResult { if (!diaconnG8Plugin.isInitialized()) { - val result = PumpEnactResultObject(injector).success(false) + val result = PumpEnactResult(injector).success(false) result.comment = "pump not initialized" return result } @@ -279,7 +278,7 @@ class DiaconnG8Service : DaggerService() { sendMessage(IncarnationInquirePacket(injector)) } - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) var apsLastLogNum = 9999 var apsWrappingCount = -1 // get saved last loginfo @@ -421,7 +420,7 @@ class DiaconnG8Service : DaggerService() { } fun setUserSettings(): PumpEnactResult { - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) val msg: DiaconnG8Packet = when (diaconnG8Pump.setUserOptionType) { DiaconnG8Pump.ALARM -> SoundSettingPacket(injector, diaconnG8Pump.beepAndAlarm, diaconnG8Pump.alarmIntesity) diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt index be00ab0d25..3f4ea65d42 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/EopatchPumpPlugin.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch import android.os.SystemClock import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.eopatch.alarm.IAlarmManager import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager @@ -177,7 +176,7 @@ class EopatchPumpPlugin @Inject constructor( mLastDataTime = System.currentTimeMillis() if (patchManager.isActivated) { if (patchManager.patchState.isTempBasalActive || patchManager.patchState.isBolusActive) { - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) } else { var isSuccess: Boolean? = null val result: BehaviorSubject = BehaviorSubject.create() @@ -205,16 +204,16 @@ class EopatchPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess ?: false}") if (isSuccess == true) { rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResultObject(injector).success(true).enacted(true) + return PumpEnactResult(injector).success(true).enacted(true) } else { - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) } } } else { preferenceManager.getNormalBasalManager().setNormalBasal(profile) preferenceManager.flushNormalBasalManager() rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60))) - return PumpEnactResultObject(injector).success(true).enacted(true) + return PumpEnactResult(injector).success(true).enacted(true) } } @@ -264,7 +263,7 @@ class EopatchPumpPlugin @Inject constructor( if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment") - return PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + return PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) .comment(rh.gs(R.string.invalidinput)) } else if (detailedBolusInfo.insulin > 0.0) { var isSuccess = true @@ -311,15 +310,15 @@ class EopatchPumpPlugin @Inject constructor( disposable.dispose() return if (isSuccess) - PumpEnactResultObject(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) + PumpEnactResult(injector).success(true)/*.enacted(true)*/.carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin) else - PumpEnactResultObject(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) + PumpEnactResult(injector).success(false)/*.enacted(false)*/.carbsDelivered(0.0).bolusDelivered(detailedBolusInfo.insulin) } else { // no bolus required, carb only treatment patchManager.addBolusToHistory(detailedBolusInfo) - return PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(0.0) + return PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(0.0) .carbsDelivered(detailedBolusInfo.carbs).comment(rh.gs(info.nightscout.core.main.R.string.ok)) } } @@ -357,15 +356,15 @@ class EopatchPumpPlugin @Inject constructor( ) aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - tbrCurrent:${readTBR()}") } - .map { PumpEnactResultObject(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } + .map { PumpEnactResult(injector).success(true).enacted(true).duration(durationInMinutes).absolute(absoluteRate).isPercent(false).isTempCancel(false) } .onErrorReturnItem( - PumpEnactResultObject(injector).success(false).enacted(false) + PumpEnactResult(injector).success(false).enacted(false) .comment("Internal error") ) .blockingGet() } else { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - normal basal is not active") - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) } } @@ -390,15 +389,15 @@ class EopatchPumpPlugin @Inject constructor( ) aapsLogger.info(LTag.PUMP, "setTempBasalPercent - tbrCurrent:${readTBR()}") } - .map { PumpEnactResultObject(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } + .map { PumpEnactResult(injector).success(true).enacted(true).duration(durationInMinutes).percent(percent).isPercent(true).isTempCancel(false) } .onErrorReturnItem( - PumpEnactResultObject(injector).success(false).enacted(false) + PumpEnactResult(injector).success(false).enacted(false) .comment("Internal error") ) .blockingGet() } else { aapsLogger.info(LTag.PUMP, "setTempBasalPercent - normal basal is not active") - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) } } @@ -418,9 +417,9 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResultObject(injector).success(true).enacted(true) } + .map { PumpEnactResult(injector).success(true).enacted(true) } .onErrorReturnItem( - PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0) + PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -431,14 +430,14 @@ class EopatchPumpPlugin @Inject constructor( if (tbrCurrent == null) { aapsLogger.debug(LTag.PUMP, "cancelTempBasal - TBR already false.") - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } if (!patchManager.patchState.isTempBasalActive) { return if (pumpSync.expectedPumpState().temporaryBasal != null) { - PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) + PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) } else - PumpEnactResultObject(injector).success(true).isTempCancel(true) + PumpEnactResult(injector).success(true).isTempCancel(true) } return patchManager.stopTempBasal() @@ -455,9 +454,9 @@ class EopatchPumpPlugin @Inject constructor( .doOnError { aapsLogger.error(LTag.PUMP, "cancelTempBasal() - $it") } - .map { PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } + .map { PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( - PumpEnactResultObject(injector).success(false).enacted(false) + PumpEnactResult(injector).success(false).enacted(false) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -476,9 +475,9 @@ class EopatchPumpPlugin @Inject constructor( pumpSerial = serialNumber() ) } - .map { PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) } + .map { PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) } .onErrorReturnItem( - PumpEnactResultObject(injector).success(false).enacted(false) + PumpEnactResult(injector).success(false).enacted(false) .comment(rh.gs(info.nightscout.core.main.R.string.error)) ) .blockingGet() @@ -491,9 +490,9 @@ class EopatchPumpPlugin @Inject constructor( pumpType = PumpType.EOFLOW_EOPATCH2, pumpSerial = serialNumber() ) - PumpEnactResultObject(injector).success(true).enacted(true).isTempCancel(true) + PumpEnactResult(injector).success(true).enacted(true).isTempCancel(true) } else - PumpEnactResultObject(injector) + PumpEnactResult(injector) } } @@ -546,7 +545,7 @@ class EopatchPumpPlugin @Inject constructor( override val isFakingTempsByExtendedBoluses: Boolean = false override fun loadTDDs(): PumpEnactResult { - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) } override fun canHandleDST(): Boolean { diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index c1c77953d9..a3b38c98ca 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -7,7 +7,6 @@ import android.os.IBinder import android.os.SystemClock import androidx.preference.Preference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus @@ -592,7 +591,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, "MedtronicPumpPlugin::deliverBolus - " + BolusDeliveryType.DeliveryPrepared) setRefreshButtonEnabled(false) if (detailedBolusInfo.insulin > medtronicPumpStatus.reservoirRemainingUnits) { - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(false) // .enacted(false) // .comment( @@ -633,7 +632,7 @@ class MedtronicPumpPlugin @Inject constructor( // LOG.debug("MedtronicPumpPlugin::deliverBolus - Response: {}", response); return if (response == null || !response) { - PumpEnactResultObject(injector) // + PumpEnactResult(injector) // .success(bolusDeliveryType == BolusDeliveryType.CancelDelivery) // .enacted(false) // .comment(R.string.medtronic_cmd_bolus_could_not_be_delivered) @@ -660,7 +659,7 @@ class MedtronicPumpPlugin @Inject constructor( val time = now + bolusTime * 1000 busyTimestamps.add(time) setEnableCustomAction(MedtronicCustomActionType.ClearBolusBlock, true) - PumpEnactResultObject(injector).success(true) // + PumpEnactResult(injector).success(true) // .enacted(true) // .bolusDelivered(detailedBolusInfo.insulin) // .carbsDelivered(detailedBolusInfo.carbs) @@ -677,8 +676,8 @@ class MedtronicPumpPlugin @Inject constructor( private fun setNotReachable(isBolus: Boolean, success: Boolean): PumpEnactResult { setRefreshButtonEnabled(true) if (isBolus) bolusDeliveryType = BolusDeliveryType.Idle - return if (success) PumpEnactResultObject(injector).success(true).enacted(false) - else PumpEnactResultObject(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) + return if (success) PumpEnactResult(injector).success(true).enacted(false) + else PumpEnactResult(injector).success(false).enacted(false).comment(R.string.medtronic_pump_status_pump_unreachable) } override fun stopBolusDelivering() { @@ -701,7 +700,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -714,7 +713,7 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent == null) { aapsLogger.warn(LTag.PUMP, logPrefix + "setTempBasalAbsolute - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute: Current Basal: duration: " + tbrCurrent.durationMinutes + " min, rate=" + tbrCurrent.insulinRate) @@ -729,7 +728,7 @@ class MedtronicPumpPlugin @Inject constructor( if (sameRate) { aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - No enforceNew and same rate. Exiting.") finishAction("TBR") - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } } // if not the same rate, we cancel and start new @@ -745,7 +744,7 @@ class MedtronicPumpPlugin @Inject constructor( if (response == null || !response) { aapsLogger.error(logPrefix + "setTempBasalAbsolute - Cancel TBR failed.") finishAction("TBR") - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_cancel_tbr_stop_op) } else { //cancelTBRWithTemporaryId() @@ -762,7 +761,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "setTempBasalAbsolute - setTBR. Response: " + response) return if (response == null || !response) { finishAction("TBR") - PumpEnactResultObject(injector).success(false).enacted(false) // + PumpEnactResult(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_tbr_could_not_be_delivered) } else { medtronicPumpStatus.tempBasalStart = System.currentTimeMillis() @@ -776,7 +775,7 @@ class MedtronicPumpPlugin @Inject constructor( incrementStatistics(MedtronicConst.Statistics.TBRsSet) finishAction("TBR") - PumpEnactResultObject(injector).success(true).enacted(true) // + PumpEnactResult(injector).success(true).enacted(true) // .absolute(absoluteRate).duration(durationInMinutes) } } @@ -1022,7 +1021,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - started") if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1034,12 +1033,12 @@ class MedtronicPumpPlugin @Inject constructor( if (tbrCurrent.insulinRate > 0.0f && tbrCurrent.durationMinutes == 0) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - TBR already canceled.") finishAction("TBR") - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } } else { aapsLogger.warn(LTag.PUMP, logPrefix + "cancelTempBasal - Could not read current TBR, canceling operation.") finishAction("TBR") - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment(R.string.medtronic_cmd_cant_read_tbr) } val responseTask2 = rileyLinkMedtronicService?.medtronicUIComm?.executeCommand(MedtronicCommandType.CancelTBR) @@ -1047,7 +1046,7 @@ class MedtronicPumpPlugin @Inject constructor( finishAction("TBR") return if (response == null || !response) { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR failed.") - PumpEnactResultObject(injector).success(false).enacted(false) // + PumpEnactResult(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_cant_cancel_tbr) } else { aapsLogger.info(LTag.PUMP, logPrefix + "cancelTempBasal - Cancel TBR successful.") @@ -1083,7 +1082,7 @@ class MedtronicPumpPlugin @Inject constructor( //cancelTBRWithTemporaryId() - PumpEnactResultObject(injector).success(true).enacted(true) // + PumpEnactResult(injector).success(true).enacted(true) // .isTempCancel(true) } } @@ -1106,7 +1105,7 @@ class MedtronicPumpPlugin @Inject constructor( // this shouldn't be needed, but let's do check if profile setting we are setting is same as current one if (isProfileSame(profile)) { - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(true) // .enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_not_set_is_same) @@ -1114,7 +1113,7 @@ class MedtronicPumpPlugin @Inject constructor( setRefreshButtonEnabled(false) if (isPumpNotReachable) { setRefreshButtonEnabled(true) - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(false) // .enacted(false) // .comment(R.string.medtronic_pump_status_pump_unreachable) @@ -1124,7 +1123,7 @@ class MedtronicPumpPlugin @Inject constructor( aapsLogger.debug("Basal Profile: $basalProfile") val profileInvalid = isProfileValid(basalProfile) if (profileInvalid != null) { - return PumpEnactResultObject(injector) // + return PumpEnactResult(injector) // .success(false) // .enacted(false) // .comment(rh.gs(R.string.medtronic_cmd_set_profile_pattern_overflow, profileInvalid)) @@ -1136,10 +1135,10 @@ class MedtronicPumpPlugin @Inject constructor( val response = responseTask?.result as Boolean? aapsLogger.info(LTag.PUMP, logPrefix + "Basal Profile was set: " + response) return if (response == null || !response) { - PumpEnactResultObject(injector).success(false).enacted(false) // + PumpEnactResult(injector).success(false).enacted(false) // .comment(R.string.medtronic_cmd_basal_profile_could_not_be_set) } else { - PumpEnactResultObject(injector).success(true).enacted(true) + PumpEnactResult(injector).success(true).enacted(true) } } diff --git a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt index 38ad0ebf60..f6327e8ac2 100644 --- a/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt +++ b/pump/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/common/viewmodel/ActionViewModelBase.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common. import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger @@ -41,7 +40,7 @@ abstract class ActionViewModelBase( logger.error(LTag.PUMP, "Caught exception in while executing action in ActionViewModelBase", throwable) _isActionExecutingLiveData.postValue(false) _actionResultLiveData.postValue( - PumpEnactResultObject(injector).success(false).comment( + PumpEnactResult(injector).success(false).comment( throwable.message ?: "Caught exception in while executing action in ActionViewModelBase" ) ) diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 35680fb5ad..7b44ba15cd 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -5,7 +5,6 @@ import android.os.Handler import android.os.HandlerThread import android.text.format.DateFormat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -395,7 +394,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun setNewBasalProfile(profile: Profile): PumpEnactResult { if (!podStateManager.isActivationCompleted) { - return PumpEnactResultObject(injector).success(true).enacted(true) + return PumpEnactResult(injector).success(true).enacted(true) } aapsLogger.debug(LTag.PUMP, "setNewBasalProfile profile=$profile") return setNewBasalProfile(profile, OmnipodCommandType.SET_BASAL_PROFILE) @@ -567,7 +566,7 @@ class OmnipodDashPumpPlugin @Inject constructor( detailedBolusInfo.insulin == 0.0 ) { // Accept only valid insulin requests - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -575,7 +574,7 @@ class OmnipodDashPumpPlugin @Inject constructor( } val requestedBolusAmount = detailedBolusInfo.insulin if (requestedBolusAmount > reservoirLevel) { - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -584,7 +583,7 @@ class OmnipodDashPumpPlugin @Inject constructor( if (podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_BASAL_ACTIVE || podStateManager.deliveryStatus == DeliveryStatus.BOLUS_AND_TEMP_BASAL_ACTIVE ) { - return PumpEnactResultObject(injector) + return PumpEnactResult(injector) .success(false) .enacted(false) .bolusDelivered(0.0) @@ -653,10 +652,10 @@ class OmnipodDashPumpPlugin @Inject constructor( } } }.toSingle { - PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) + PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(deliveredBolusAmount) }.onErrorReturnItem( // success if canceled - PumpEnactResultObject(injector).success(bolusCanceled).enacted(false) + PumpEnactResult(injector).success(bolusCanceled).enacted(false) ) .blockingGet() aapsLogger.info( @@ -940,13 +939,13 @@ class OmnipodDashPumpPlugin @Inject constructor( tbrType: PumpSync.TemporaryBasalType ): PumpEnactResult { // TODO i18n - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support percentage temp basals") } override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult { // TODO i18n - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -963,7 +962,7 @@ class OmnipodDashPumpPlugin @Inject constructor( pumpSync.expectedPumpState().temporaryBasal == null ) { // nothing to cancel - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } return executeProgrammingCommand( @@ -986,17 +985,17 @@ class OmnipodDashPumpPlugin @Inject constructor( } private fun Completable.toPumpEnactResultImpl(): PumpEnactResult { - return this.toSingleDefault(PumpEnactResultObject(injector).success(true).enacted(true)) + return this.toSingleDefault(PumpEnactResult(injector).success(true).enacted(true)) .doOnError { throwable -> aapsLogger.error(LTag.PUMP, "toPumpEnactResult, error executing command: $throwable") } - .onErrorReturnItem(PumpEnactResultObject(injector).success(false).enacted(false)) + .onErrorReturnItem(PumpEnactResult(injector).success(false).enacted(false)) .blockingGet() } override fun cancelExtendedBolus(): PumpEnactResult { // TODO i18n - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support extended boluses") } @@ -1097,7 +1096,7 @@ class OmnipodDashPumpPlugin @Inject constructor( override fun loadTDDs(): PumpEnactResult { // TODO i18n - return PumpEnactResultObject(injector).success(false).enacted(false) + return PumpEnactResult(injector).success(false).enacted(false) .comment("Omnipod Dash driver does not support TDD") } @@ -1132,7 +1131,7 @@ class OmnipodDashPumpPlugin @Inject constructor( else -> { aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + customCommand.javaClass.name) - PumpEnactResultObject(injector).success(false).enacted(false).comment( + PumpEnactResult(injector).success(false).enacted(false).comment( rh.gs( R.string.omnipod_common_error_unsupported_custom_command, customCommand.javaClass.name @@ -1149,7 +1148,7 @@ class OmnipodDashPumpPlugin @Inject constructor( historyEntry = history.createRecord(commandType = OmnipodCommandType.ACKNOWLEDGE_ALERTS), command = omnipodManager.silenceAlerts(it).ignoreElements(), ).toPumpEnactResultImpl() - } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n + } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No active alerts") // TODO i18n } private fun disableSuspendAlerts(): PumpEnactResult { @@ -1197,7 +1196,7 @@ class OmnipodDashPumpPlugin @Inject constructor( R.raw.boluserror ) }.toPumpEnactResultImpl() - } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No profile active") // TODO i18n + } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No profile active") // TODO i18n } private fun deactivatePod(): PumpEnactResult { @@ -1223,7 +1222,7 @@ class OmnipodDashPumpPlugin @Inject constructor( private fun handleTimeChange(): PumpEnactResult { return profileFunction.getProfile()?.let { setNewBasalProfile(it, OmnipodCommandType.SET_TIME) - } ?: PumpEnactResultObject(injector).success(false).enacted(false).comment("No profile active") + } ?: PumpEnactResult(injector).success(false).enacted(false).comment("No profile active") } private fun updateAlertConfiguration(): PumpEnactResult { @@ -1241,12 +1240,12 @@ class OmnipodDashPumpPlugin @Inject constructor( lowReservoirAlertUnits ) -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because the settings did not change") - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } !podStateManager.isPodRunning -> { aapsLogger.debug(LTag.PUMP, "Ignoring updateAlertConfiguration because there is no active pod") - return PumpEnactResultObject(injector).success(true).enacted(false) + return PumpEnactResult(injector).success(true).enacted(false) } } @@ -1258,7 +1257,7 @@ class OmnipodDashPumpPlugin @Inject constructor( "updateAlertConfiguration negative " + "expiryAlertDuration=$expiryAlertDelay" ) - PumpEnactResultObject(injector).success(false).enacted(false) + PumpEnactResult(injector).success(false).enacted(false) } val alerts = listOf( AlertConfiguration( diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt index 8ab783c383..6eab1cc3d4 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInitializePodViewModel.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InitializePodViewModel import info.nightscout.androidaps.plugins.pump.omnipod.dash.R @@ -66,14 +65,14 @@ class DashInitializePodViewModel @Inject constructor( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 1", throwable) source.onSuccess( - PumpEnactResultObject(injector) + PumpEnactResult(injector) .success(false) .comment(I8n.textFromException(throwable, rh)) ) }, onComplete = { logger.debug("Pod activation part 1 completed") - source.onSuccess(PumpEnactResultObject(injector).success(true)) + source.onSuccess(PumpEnactResult(injector).success(true)) } ) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt index 22422c04a8..01a264c5e8 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/wizard/activation/viewmodel/action/DashInsertCannulaViewModel.kt @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activatio import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.definition.OmnipodCommandType import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel @@ -91,7 +90,7 @@ class DashInsertCannulaViewModel @Inject constructor( .subscribeBy( onError = { throwable -> logger.error(LTag.PUMP, "Error in Pod activation part 2", throwable) - source.onSuccess(PumpEnactResultObject(injector).success(false).comment(I8n.textFromException(throwable, rh))) + source.onSuccess(PumpEnactResult(injector).success(false).comment(I8n.textFromException(throwable, rh))) }, onComplete = { logger.debug("Pod activation part 2 completed") @@ -121,7 +120,7 @@ class DashInsertCannulaViewModel @Inject constructor( ) rxBus.send(EventDismissNotification(Notification.OMNIPOD_POD_NOT_ATTACHED)) fabricPrivacy.logCustom("OmnipodDashPodActivated") - source.onSuccess(PumpEnactResultObject(injector).success(true)) + source.onSuccess(PumpEnactResult(injector).success(true)) } ) } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 1a8cb87c21..05fbba10a1 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -34,7 +34,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair; @@ -603,7 +602,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult setNewBasalProfile(@NonNull Profile profile) { if (!podStateManager.hasPodState()) - return new PumpEnactResultObject(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResult(getInjector()).enacted(false).success(false).comment("Null pod state"); PumpEnactResult result = executeCommand(OmnipodCommandType.SET_BASAL_PROFILE, () -> aapsOmnipodErosManager.setBasalProfile(profile, true)); aapsLogger.info(LTag.PUMP, "Basal Profile was set: " + result.getSuccess()); @@ -661,7 +660,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (detailedBolusInfo.insulin == 0 && detailedBolusInfo.carbs == 0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input: neither carbs nor insulin are set in treatment"); - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) + return new PumpEnactResult(getInjector()).success(false).enacted(false).bolusDelivered(0d).carbsDelivered(0d) .comment(R.string.invalidinput); } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -679,7 +678,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley "[date=%d, carbs=%.2f, pumpSerial=%s] - Result: %b", detailedBolusInfo.timestamp, detailedBolusInfo.carbs, serialNumber(), result)); - return new PumpEnactResultObject(getInjector()).success(true).enacted(true).bolusDelivered(0d) + return new PumpEnactResult(getInjector()).success(true).enacted(true).bolusDelivered(0d) .carbsDelivered(detailedBolusInfo.carbs); } } @@ -697,7 +696,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute: rate: {}, duration={}", absoluteRate, durationInMinutes); if (durationInMinutes <= 0 || durationInMinutes % BASAL_STEP_DURATION.getStandardMinutes() != 0) { - return new PumpEnactResultObject(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); + return new PumpEnactResult(getInjector()).success(false).comment(rh.gs(R.string.omnipod_eros_error_set_temp_basal_failed_validation, BASAL_STEP_DURATION.getStandardMinutes())); } // read current TBR @@ -711,7 +710,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent != null && !enforceNew) { if (Round.INSTANCE.isSame(tbrCurrent.getRate(), absoluteRate)) { aapsLogger.info(LTag.PUMP, "setTempBasalAbsolute - No enforceNew and same rate. Exiting."); - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } } @@ -733,7 +732,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley if (tbrCurrent == null) { aapsLogger.info(LTag.PUMP, "cancelTempBasal - TBR already cancelled."); - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } return executeCommand(OmnipodCommandType.CANCEL_TEMPORARY_BASAL, aapsOmnipodErosManager::cancelTemporaryBasal); @@ -857,7 +856,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley @Override public PumpEnactResult executeCustomCommand(@NonNull CustomCommand command) { if (!podStateManager.hasPodState()) - return new PumpEnactResultObject(getInjector()).enacted(false).success(false).comment("Null pod state"); + return new PumpEnactResult(getInjector()).enacted(false).success(false).comment("Null pod state"); if (command instanceof CommandSilenceAlerts) { return executeCommand(OmnipodCommandType.ACKNOWLEDGE_ALERTS, aapsOmnipodErosManager::acknowledgeAlerts); } @@ -887,7 +886,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } aapsLogger.warn(LTag.PUMP, "Unsupported custom command: " + command.getClass().getName()); - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(rh.gs(R.string.omnipod_common_error_unsupported_custom_command, command.getClass().getName())); } private PumpEnactResult retrievePulseLog() { @@ -895,7 +894,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley try { result = executeCommand(OmnipodCommandType.READ_POD_PULSE_LOG, aapsOmnipodErosManager::readPulseLog); } catch (Exception ex) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(aapsOmnipodErosManager.translateException(ex)); } Intent i = new Intent(context, activityNames.getErrorHelperActivity()); @@ -905,7 +904,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley i.putExtra("clipboardContent", result.toString()); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); - return new PumpEnactResultObject(getInjector()).success(true).enacted(false); + return new PumpEnactResult(getInjector()).success(true).enacted(false); } @NonNull private PumpEnactResult updateAlertConfiguration() { @@ -1171,7 +1170,7 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley } private PumpEnactResult getOperationNotSupportedWithCustomText(int resourceId) { - return new PumpEnactResultObject(getInjector()).success(false).enacted(false).comment(resourceId); + return new PumpEnactResult(getInjector()).success(false).enacted(false).comment(resourceId); } } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index bace2e0a2c..4c22897403 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -14,7 +14,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.data.PumpEnactResultObject; import info.nightscout.androidaps.extensions.PumpStateExtensionKt; import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; @@ -170,7 +169,7 @@ public class AapsOmnipodErosManager { } public PumpEnactResult initializePod() { - PumpEnactResult result = new PumpEnactResultObject(injector); + PumpEnactResult result = new PumpEnactResult(injector); try { Boolean res = executeCommand(delegate::pairAndPrime) .blockingGet(); @@ -192,10 +191,10 @@ public class AapsOmnipodErosManager { public PumpEnactResult insertCannula(Profile profile) { if (profile == null) { String comment = getStringResource(R.string.omnipod_common_error_set_initial_basal_schedule_no_profile); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResult(injector).success(false).enacted(false).comment(comment); } - PumpEnactResult result = new PumpEnactResultObject(injector); + PumpEnactResult result = new PumpEnactResult(injector); try { BasalSchedule basalSchedule = mapProfileToBasalSchedule(profile); @@ -233,11 +232,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.CONFIGURE_ALERTS, alertConfigurations); - return new PumpEnactResultObject(injector).success(true).enacted(false); + return new PumpEnactResult(injector).success(true).enacted(false); } public PumpEnactResult playTestBeep(BeepConfigType beepType) { @@ -246,11 +245,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.PLAY_TEST_BEEP, beepType); - return new PumpEnactResultObject(injector).success(true).enacted(false); + return new PumpEnactResult(injector).success(true).enacted(false); } @@ -262,12 +261,12 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.GET_POD_STATUS, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.GET_POD_STATUS, statusResponse); - return new PumpEnactResultObject(injector).success(true).enacted(false); + return new PumpEnactResult(injector).success(true).enacted(false); } public PumpEnactResult deactivatePod() { @@ -276,7 +275,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.DEACTIVATE_POD, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.DEACTIVATE_POD, null); @@ -284,7 +283,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_FAULT); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PumpEnactResult setBasalProfile(Profile profile, boolean showNotifications) { @@ -293,7 +292,7 @@ public class AapsOmnipodErosManager { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, note, Notification.URGENT, R.raw.boluserror); } - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(note); + return new PumpEnactResult(injector).success(false).enacted(false).comment(note); } // #1963 return synthetic success if pre-activation @@ -301,7 +300,7 @@ public class AapsOmnipodErosManager { // otherwise a catch-22 if (!podStateManager.getActivationProgress().isCompleted()) { // TODO: i18n string - return new PumpEnactResultObject(injector).success(true).enacted(false).comment("pre" + + return new PumpEnactResult(injector).success(true).enacted(false).comment("pre" + "-activation basal change moot"); } @@ -317,14 +316,14 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_basal_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { String note; @@ -337,7 +336,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(historyEntryType, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } @@ -355,7 +354,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PumpEnactResult discardPodState() { @@ -369,7 +368,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventOmnipodErosPumpValuesChanged()); sendEvent(new EventRefreshOverview("Omnipod command: " + OmnipodCommandType.DISCARD_POD, false)); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PumpEnactResult bolus(DetailedBolusInfo detailedBolusInfo) { @@ -393,7 +392,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.SET_BOLUS, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } if (OmnipodManager.CommandDeliveryStatus.UNCERTAIN_FAILURE.equals(bolusCommandResult.getCommandDeliveryStatus())) { @@ -448,7 +447,7 @@ public class AapsOmnipodErosManager { sp.remove(OmnipodErosStorageKeys.Preferences.ACTIVE_BOLUS); - return new PumpEnactResultObject(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); + return new PumpEnactResult(injector).success(true).enacted(true).carbsDelivered(detailedBolusInfo.carbs).bolusDelivered(detailedBolusInfo.insulin); } public PumpEnactResult cancelBolus() { @@ -463,7 +462,7 @@ public class AapsOmnipodErosManager { aapsLogger.debug(LTag.PUMP, "Not cancelling bolus: bolus command failed"); String comment = getStringResource(R.string.omnipod_common_error_bolus_did_not_succeed); addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResultObject(injector).success(true).enacted(false).comment(comment); + return new PumpEnactResult(injector).success(true).enacted(false).comment(comment); } } @@ -475,11 +474,11 @@ public class AapsOmnipodErosManager { executeCommand(() -> delegate.cancelBolus(isBolusBeepsEnabled())); aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus", i); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } catch (PodFaultException ex) { aapsLogger.debug(LTag.PUMP, "Successfully cancelled bolus (implicitly because of a Pod Fault)"); addSuccessToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, null); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } catch (Exception ex) { aapsLogger.debug(LTag.PUMP, "Failed to cancel bolus", ex); comment = translateException(ex); @@ -487,7 +486,7 @@ public class AapsOmnipodErosManager { } addFailureToHistory(System.currentTimeMillis(), PodHistoryEntryType.CANCEL_BOLUS, comment); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(comment); + return new PumpEnactResult(injector).success(false).enacted(false).comment(comment); } public PumpEnactResult setTemporaryBasal(TempBasalPair tempBasalPair) { @@ -497,7 +496,7 @@ public class AapsOmnipodErosManager { } catch (CommandFailedAfterChangingDeliveryStatusException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -506,7 +505,7 @@ public class AapsOmnipodErosManager { splitActiveTbr(); // Split any active TBR so when we recover from the uncertain TBR status,we only cancel the part after the cancellation - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { String errorMessage = translateException(ex); long pumpId = addFailureToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, errorMessage); @@ -524,7 +523,7 @@ public class AapsOmnipodErosManager { addTempBasalTreatment(System.currentTimeMillis(), pumpId, tempBasalPair); } - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.SET_TEMPORARY_BASAL, tempBasalPair); @@ -533,7 +532,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResultObject(injector) + return new PumpEnactResult(injector) .duration(tempBasalPair.getDurationMinutes()) .absolute(PumpType.OMNIPOD_EROS.determineCorrectBasalSize(tempBasalPair.getInsulinRate())) .success(true).enacted(true); @@ -550,7 +549,7 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } long pumpId = addSuccessToHistory(PodHistoryEntryType.CANCEL_TEMPORARY_BASAL, null); @@ -564,7 +563,7 @@ public class AapsOmnipodErosManager { sendEvent(new EventDismissNotification(Notification.OMNIPOD_TBR_ALERTS)); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PumpEnactResult acknowledgeAlerts() { @@ -573,11 +572,11 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.ACKNOWLEDGE_ALERTS, null); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PumpEnactResult suspendDelivery() { @@ -586,7 +585,7 @@ public class AapsOmnipodErosManager { } catch (Exception ex) { String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SUSPEND_DELIVERY, null); @@ -595,7 +594,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.FAILED_UPDATE_PROFILE); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } // Updates the pods current time based on the device timezone and the pod's time zone @@ -609,21 +608,21 @@ public class AapsOmnipodErosManager { } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (PrecedingCommandFailedUncertainlyException ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex.getCause()); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } catch (Exception ex) { if (showNotifications) { showNotification(Notification.FAILED_UPDATE_PROFILE, getStringResource(R.string.omnipod_eros_error_set_time_failed_delivery_might_be_suspended), Notification.URGENT, R.raw.boluserror); } String errorMessage = translateException(ex); addFailureToHistory(PodHistoryEntryType.SET_TIME, errorMessage); - return new PumpEnactResultObject(injector).success(false).enacted(false).comment(errorMessage); + return new PumpEnactResult(injector).success(false).enacted(false).comment(errorMessage); } addSuccessToHistory(PodHistoryEntryType.SET_TIME, null); @@ -632,7 +631,7 @@ public class AapsOmnipodErosManager { dismissNotification(Notification.OMNIPOD_POD_SUSPENDED); dismissNotification(Notification.OMNIPOD_TIME_OUT_OF_SYNC); - return new PumpEnactResultObject(injector).success(true).enacted(true); + return new PumpEnactResult(injector).success(true).enacted(true); } public PodInfoRecentPulseLog readPulseLog() { diff --git a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt index e12313e0f8..b9c85fc777 100644 --- a/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt +++ b/pump/omnipod-eros/src/test/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPluginTest.kt @@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.pump.omnipod.eros import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.plugins.pump.common.defs.TempBasalPair import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodErosManager import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CommandQueue @@ -74,7 +74,7 @@ class OmnipodErosPumpPluginTest : TestBase() { ) ).thenAnswer { invocation: InvocationOnMock -> val pair = invocation.getArgument(0) - val result = PumpEnactResultObject(injector) + val result = PumpEnactResult(injector) result.absolute(pair.insulinRate) result.duration(pair.durationMinutes) result diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index d629f50bc9..00389b1e34 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -6,7 +6,6 @@ import android.content.ServiceConnection import android.text.format.DateFormat import com.google.gson.GsonBuilder import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.extensions.toStringFull @@ -313,7 +312,7 @@ abstract class PumpPluginAbstract protected constructor( if (detailedBolusInfo.insulin == 0.0 && detailedBolusInfo.carbs == 0.0) { // neither carbs nor bolus requested aapsLogger.error("deliverTreatment: Invalid input") - PumpEnactResultObject(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) + PumpEnactResult(injector).success(false).enacted(false).bolusDelivered(0.0).carbsDelivered(0.0) .comment(R.string.invalidinput) } else if (detailedBolusInfo.insulin > 0) { // bolus needed, ask pump to deliver it @@ -329,7 +328,7 @@ abstract class PumpPluginAbstract protected constructor( bolusingEvent.percent = 100 rxBus.send(bolusingEvent) aapsLogger.debug(LTag.PUMP, "deliverTreatment: Carb only treatment.") - PumpEnactResultObject(injector).success(true).enacted(true).bolusDelivered(0.0) + PumpEnactResult(injector).success(true).enacted(true).bolusDelivered(0.0) .carbsDelivered(detailedBolusInfo.carbs).comment(R.string.common_resultok) } } finally { @@ -350,7 +349,7 @@ abstract class PumpPluginAbstract protected constructor( protected abstract fun triggerUIChange() private fun getOperationNotSupportedWithCustomText(resourceId: Int): PumpEnactResult = - PumpEnactResultObject(injector).success(false).enacted(false).comment(resourceId) + PumpEnactResult(injector).success(false).enacted(false).comment(resourceId) init { pumpDescription.fillFor(pumpType) diff --git a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index a9a3c5461e..af18cd7321 100644 --- a/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/ui/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.data.PumpEnactResultObject import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.Pump @@ -44,30 +43,30 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { override fun waitForDisconnectionInSeconds(): Int = 0 override fun getPumpStatus(reason: String) {} - override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResultObject(injector) + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet override fun lastDataTime(): Long = lastData override val baseBasalRate: Double = baseBasal override val reservoirLevel: Double = 0.0 override val batteryLevel: Int = 0 - override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) override fun stopBolusDelivering() {} override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = - PumpEnactResultObject(injector).success(true) + PumpEnactResult(injector).success(true) - override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResultObject(injector).success(true) - override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS override fun model(): PumpType = PumpType.GENERIC_AAPS override fun serialNumber(): String = "1" override fun shortStatus(veryShort: Boolean): String = "" override val isFakingTempsByExtendedBoluses: Boolean = false - override fun loadTDDs(): PumpEnactResult = PumpEnactResultObject(injector).success(true) + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) override fun canHandleDST(): Boolean = true override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} } \ No newline at end of file From f141d003a4c6d1d41992878e526f1fb530639b14 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 08:30:50 +0100 Subject: [PATCH 079/123] PumpEnactResult --- .../rx}/events/EventPumpStatusChanged.kt | 9 ++-- .../rx/src/main/res/values/strings.xml | 9 ++++ .../plugins/aps/loop/LoopFragment.kt | 43 +------------------ .../general/overview/OverviewFragment.kt | 2 +- .../general/overview/OverviewPlugin.kt | 2 +- .../androidaps/setupwizard/SWDefinition.kt | 2 +- .../setupwizard/SetupWizardActivity.kt | 4 +- .../interfaces/ConstraintsCheckerTest.kt | 7 +-- .../androidaps/pump}/PumpEnactResultTest.kt | 30 +++++++------ .../automation/actions/ActionAlarmTest.kt | 9 ++-- .../actions/ActionLoopDisableTest.kt | 3 +- .../actions/ActionLoopEnableTest.kt | 2 +- .../actions/ActionLoopResumeTest.kt | 6 +-- .../actions/ActionLoopSuspendTest.kt | 6 +-- .../actions/ActionNotificationTest.kt | 9 ++-- .../actions/ActionProfileSwitchTest.kt | 10 ++--- .../automation/actions/ActionsTestBase.kt | 11 +++-- .../androidaps/dialogs/BolusProgressDialog.kt | 2 +- .../PumpEnactResultExtension.kt | 43 +++++++++++++++++++ .../core-main/src/main/res/values/strings.xml | 5 --- .../implementation/queue/QueueThread.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 7 +-- .../extensions/PumpEnactResultExtension.kt | 40 +++++++++++++++++ .../plugins/pump/virtual/VirtualPumpPlugin.kt | 37 +--------------- .../SmsCommunicatorPluginTest.kt | 4 +- .../plugins/pump/combo/ComboPluginTest.kt | 9 ++-- .../androidaps/dana/DanaFragment.kt | 2 +- .../dana/activities/DanaHistoryActivity.kt | 2 +- .../services/DanaRKoreanExecutionService.java | 2 +- .../danaRv2/comm/MsgHistoryEventsV2.kt | 4 +- .../services/DanaRv2ExecutionService.java | 2 +- .../AbstractDanaRExecutionService.java | 2 +- .../danar/services/DanaRExecutionService.java | 2 +- .../danars/activities/EnterPinActivity.kt | 2 +- .../comm/DanaRSPacketAPSHistoryEvents.kt | 2 +- .../androidaps/danars/services/BLEComm.kt | 2 +- .../danars/services/DanaRSService.kt | 2 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../activities/DiaconnG8HistoryActivity.kt | 2 +- .../packet/BigLogInquireResponsePacket.kt | 2 +- .../diaconn/service/BLECommonService.kt | 2 +- .../diaconn/service/DiaconnG8Service.kt | 2 +- .../pump/eopatch/ble/PatchManager.java | 2 +- .../pump/medtronic/MedtronicFragment.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 2 +- 46 files changed, 191 insertions(+), 164 deletions(-) rename {core/core-main/src/main/java/info/nightscout/androidaps => app-wear-shared/rx/src/main/java/info/nightscout/rx}/events/EventPumpStatusChanged.kt (90%) create mode 100644 app-wear-shared/rx/src/main/res/values/strings.xml rename {core/core-main/src/test/java/info/nightscout/androidaps/data => app/src/test/java/info/nightscout/androidaps/pump}/PumpEnactResultTest.kt (91%) create mode 100644 core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt create mode 100644 plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPumpStatusChanged.kt similarity index 90% rename from core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt rename to app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPumpStatusChanged.kt index fa5e55a959..76eb41c39c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.kt +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventPumpStatusChanged.kt @@ -1,8 +1,7 @@ -package info.nightscout.androidaps.events +package info.nightscout.rx.events import android.content.Context -import info.nightscout.core.main.R -import info.nightscout.rx.events.EventStatus +import info.nightscout.rx.R class EventPumpStatusChanged : EventStatus { @@ -48,7 +47,7 @@ class EventPumpStatusChanged : EventStatus { // status for startup wizard override fun getStatus(context: Context): String { return when (status) { - Status.CONNECTING -> context.getString(R.string.connectingfor, secondsElapsed) + Status.CONNECTING -> context.getString(R.string.connecting_for, secondsElapsed) Status.HANDSHAKING -> context.getString(R.string.handshaking) Status.CONNECTED -> context.getString(R.string.connected) Status.PERFORMING -> performingAction @@ -57,4 +56,4 @@ class EventPumpStatusChanged : EventStatus { Status.DISCONNECTED -> "" } } -} +} \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/res/values/strings.xml b/app-wear-shared/rx/src/main/res/values/strings.xml new file mode 100644 index 0000000000..f2ac972013 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values/strings.xml @@ -0,0 +1,9 @@ + + + Connecting for %1$d s + Handshaking + Connected + Disconnecting + Waiting for disconnection + + \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index dfe2912bea..eb86467edd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -16,11 +16,10 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.LoopFragmentBinding import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.pumpExtensions.toHtml import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint -import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -170,44 +169,4 @@ class LoopFragment : DaggerFragment(), MenuProvider { binding.smbsetbypump.text = "" binding.swipeRefresh.isRefreshing = false } - - private fun PumpEnactResult.toHtml(rh: ResourceHelper): String { - var ret = "" + rh.gs(info.nightscout.core.main.R.string.success) + ": " + success - if (queued) { - ret = rh.gs(info.nightscout.core.main.R.string.waitingforpumpresult) - } else if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment - ret += "
" + rh.gs(info.nightscout.core.main.R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname) - } - - isTempCancel -> { - ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted - ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + - "
" + rh.gs(info.nightscout.core.main.R.string.cancel_temp) - } - - isPercent && percent != -1 -> { - ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment - ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(info.nightscout.core.main.R.string.percent) + ": " + percent + "%" - } - - absolute != -1.0 -> { - ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted - if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment - ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" - ret += "
" + rh.gs(info.nightscout.core.main.R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" - } - } - } else { - if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment - } - return ret - } - - } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 9f75cc24fe..1ed28f48e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -31,7 +31,6 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.events.EventEffectiveProfileSwitchChanged import info.nightscout.androidaps.events.EventNewBG -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger @@ -94,6 +93,7 @@ import info.nightscout.rx.events.EventAcceptOpenLoopChange import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventMobileToWear import info.nightscout.rx.events.EventPreferenceChange +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventRefreshOverview import info.nightscout.rx.events.EventScale import info.nightscout.rx.events.EventTempBasalChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 6db8761907..535d947d34 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -6,7 +6,6 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.putDouble import info.nightscout.androidaps.extensions.putInt import info.nightscout.androidaps.extensions.putString @@ -29,6 +28,7 @@ import info.nightscout.plugins.general.overview.notifications.NotificationWithAc import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 8b13243a5f..093ed83101 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin @@ -46,6 +45,7 @@ import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index d73e0f5388..3538833520 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -9,11 +9,9 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.rx.events.EventSWUpdate import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.locale.LocaleHelper.update @@ -21,6 +19,8 @@ import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventPumpStatusChanged +import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 87551f9dc5..2bfe1ef0d3 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -32,6 +32,7 @@ import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.CommandQueue @@ -89,8 +90,8 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { it.sp = sp it.dateUtil = dateUtil } - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @@ -122,7 +123,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { `when`(rh.gs(R.string.limitingpercentrate)).thenReturn("Limiting max percent rate to %1\$d%% because of %2\$s") `when`(rh.gs(R.string.limitingbolus)).thenReturn("Limiting bolus to %1\$.1f U because of %2\$s") `when`(rh.gs(R.string.limitingbasalratio)).thenReturn("Limiting max basal rate to %1\$.2f U/h because of %2\$s") - `when`(rh.gs(R.string.combo_pump_unsupported_operation)).thenReturn("Requested operation not supported by pump") + `when`(context.getString(R.string.combo_pump_unsupported_operation)).thenReturn("Requested operation not supported by pump") `when`(rh.gs(R.string.objectivenotstarted)).thenReturn("Objective %1\$d not started") // RS constructor diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt b/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt similarity index 91% rename from core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt rename to app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt index b6e491ab96..46a1ce51d7 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/PumpEnactResultTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt @@ -1,10 +1,14 @@ -package info.nightscout.androidaps.data +package info.nightscout.androidaps.pump import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.core.main.R +import info.nightscout.core.pumpExtensions.toHtml import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.plugins.extensions.toText +import info.nightscout.plugins.sync.nsShared.extensions.json +import info.nightscout.plugins.sync.nsShared.extensions.log import org.json.JSONObject import org.junit.Assert import org.junit.Before @@ -16,8 +20,8 @@ class PumpEnactResultTest : TestBaseWithProfile() { private val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @@ -130,7 +134,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Enacted: true Comment: AAA Insulin: 10.0 U - """.trimIndent(), per.toString() + """.trimIndent(), per.toText(rh) ) per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") Assert.assertEquals( @@ -139,7 +143,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Enacted: true Comment: AAA Cancel temp basal - """.trimIndent(), per.toString() + """.trimIndent(), per.toText(rh) ) per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") Assert.assertEquals( @@ -149,7 +153,7 @@ class PumpEnactResultTest : TestBaseWithProfile() { Comment: AAA Duration: 20 min Percent: 90% - """.trimIndent(), per.toString() + """.trimIndent(), per.toText(rh) ) per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") Assert.assertEquals( @@ -159,29 +163,29 @@ class PumpEnactResultTest : TestBaseWithProfile() { Comment: AAA Duration: 30 min Absolute: 1.0 U/h - """.trimIndent(), per.toString() + """.trimIndent(), per.toText(rh) ) per = PumpEnactResult(injector).enacted(false).comment("AAA") Assert.assertEquals( """ Success: false Comment: AAA - """.trimIndent(), per.toString() + """.trimIndent(), per.toText(rh) ) } @Test fun toHtmlTest() { var per: PumpEnactResult = PumpEnactResult(injector).enacted(true).bolusDelivered(10.0).comment("AAA") - Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
SMB: 10.0 U", per.toHtml()) + Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
SMB: 10.0 U", per.toHtml(rh)) per = PumpEnactResult(injector).enacted(true).isTempCancel(true).comment("AAA") - Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Cancel temp basal", per.toHtml()) + Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Cancel temp basal", per.toHtml(rh)) per = PumpEnactResult(injector).enacted(true).isPercent(true).percent(90).duration(20).comment("AAA") - Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 20 min
Percent: 90%", per.toHtml()) + Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 20 min
Percent: 90%", per.toHtml(rh)) per = PumpEnactResult(injector).enacted(true).isPercent(false).absolute(1.0).duration(30).comment("AAA") - Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 30 min
Absolute: 1.00 U/h", per.toHtml()) + Assert.assertEquals("Success: false
Enacted: true
Comment: AAA
Duration: 30 min
Absolute: 1.00 U/h", per.toHtml(rh)) per = PumpEnactResult(injector).enacted(false).comment("AAA") - Assert.assertEquals("Success: false
Comment: AAA", per.toHtml()) + Assert.assertEquals("Success: false
Comment: AAA", per.toHtml(rh)) } @Test fun jsonTest() { diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt index 819daa59f5..4cadbb79da 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt @@ -7,6 +7,7 @@ import info.nightscout.androidaps.TestBase import info.nightscout.automation.R import info.nightscout.automation.elements.InputString import info.nightscout.interfaces.Config +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.utils.TimerUtil import info.nightscout.rx.bus.RxBus @@ -39,16 +40,16 @@ class ActionAlarmTest : TestBase() { it.dateUtil = dateUtil it.config = config } - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @Before fun setup() { - `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") - `when`(rh.gs(info.nightscout.core.main.R.string.alarm)).thenReturn("Alarm") + `when`(context.getString(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(context.getString(info.nightscout.core.main.R.string.alarm)).thenReturn("Alarm") `when`(rh.gs(ArgumentMatchers.eq(R.string.alarm_message), ArgumentMatchers.anyString())).thenReturn("Alarm: %s") sut = ActionAlarm(injector) diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt index ecdcc68d5d..abe270509e 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt @@ -18,8 +18,9 @@ class ActionLoopDisableTest : ActionsTestBase() { fun setup() { testPumpPlugin.pumpDescription.isTempBasalCapable = true + `when`(context.getString(info.nightscout.core.main.R.string.disableloop)).thenReturn("Disable loop") `when`(rh.gs(info.nightscout.core.main.R.string.disableloop)).thenReturn("Disable loop") - `when`(rh.gs(R.string.alreadydisabled)).thenReturn("Disable loop") + `when`(context.getString(R.string.alreadydisabled)).thenReturn("Already disabled") sut = ActionLoopDisable(injector) } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt index 7b750a0a7b..ac79bec92f 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt @@ -18,7 +18,7 @@ class ActionLoopEnableTest : ActionsTestBase() { testPumpPlugin.pumpDescription.isTempBasalCapable = true `when`(rh.gs(info.nightscout.core.main.R.string.enableloop)).thenReturn("Enable loop") - `when`(rh.gs(R.string.alreadyenabled)).thenReturn("Already enabled") + `when`(context.getString(R.string.alreadyenabled)).thenReturn("Already enabled") sut = ActionLoopEnable(injector) } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt index dc953fbbed..e6e0ea5cdd 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt @@ -1,9 +1,9 @@ package info.nightscout.automation.actions -import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction -import info.nightscout.database.impl.transactions.Transaction import info.nightscout.automation.R import info.nightscout.database.entities.TemporaryTarget +import info.nightscout.database.impl.transactions.CancelCurrentOfflineEventIfAnyTransaction +import info.nightscout.database.impl.transactions.Transaction import info.nightscout.interfaces.queue.Callback import io.reactivex.rxjava3.core.Single import org.junit.Assert @@ -19,7 +19,7 @@ class ActionLoopResumeTest : ActionsTestBase() { fun setup() { `when`(rh.gs(info.nightscout.core.main.R.string.resumeloop)).thenReturn("Resume loop") - `when`(rh.gs(R.string.notsuspended)).thenReturn("Not suspended") + `when`(context.getString(R.string.notsuspended)).thenReturn("Not suspended") sut = ActionLoopResume(injector) } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt index 22a8d204c6..ee2007379c 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt @@ -1,8 +1,8 @@ package info.nightscout.automation.actions -import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputDuration +import info.nightscout.interfaces.queue.Callback import org.junit.Assert import org.junit.Before import org.junit.Test @@ -17,9 +17,9 @@ class ActionLoopSuspendTest : ActionsTestBase() { @Before fun setup() { - `when`(rh.gs(info.nightscout.core.main.R.string.suspendloop)).thenReturn("Suspend loop") + `when`(context.getString(info.nightscout.core.main.R.string.suspendloop)).thenReturn("Suspend loop") `when`(rh.gs(ArgumentMatchers.eq(R.string.suspendloopforXmin), ArgumentMatchers.anyInt())).thenReturn("Suspend loop for %d min") - `when`(rh.gs(R.string.alreadysuspended)).thenReturn("Already suspended") + `when`(context.getString(R.string.alreadysuspended)).thenReturn("Already suspended") sut = ActionLoopSuspend(injector) } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt index 6abb4a39a8..d456dbc4f4 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt @@ -1,5 +1,6 @@ package info.nightscout.automation.actions +import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase @@ -8,6 +9,7 @@ import info.nightscout.automation.elements.InputString import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.database.impl.transactions.Transaction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.Callback import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper @@ -23,6 +25,7 @@ import org.mockito.Mockito.`when` class ActionNotificationTest : TestBase() { @Mock lateinit var rh: ResourceHelper + @Mock lateinit var context: Context @Mock lateinit var rxBus: RxBus @Mock lateinit var repository: AppRepository @@ -34,15 +37,15 @@ class ActionNotificationTest : TestBase() { it.rxBus = rxBus it.repository = repository } - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @Before fun setup() { - `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(context.getString(info.nightscout.core.main.R.string.ok)).thenReturn("OK") `when`(rh.gs(info.nightscout.core.main.R.string.notification)).thenReturn("Notification") `when`( rh.gs( diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt index ae0b862b72..e5393dacb7 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt @@ -1,8 +1,8 @@ package info.nightscout.automation.actions -import info.nightscout.interfaces.queue.Callback import info.nightscout.automation.R import info.nightscout.automation.elements.InputProfileName +import info.nightscout.interfaces.queue.Callback import org.junit.Assert import org.junit.Before import org.junit.Test @@ -22,10 +22,10 @@ class ActionProfileSwitchTest : ActionsTestBase() { @Before fun setUp() { `when`(rh.gs(R.string.profilename)).thenReturn("Change profile to") `when`(rh.gs(ArgumentMatchers.eq(R.string.changengetoprofilename), ArgumentMatchers.anyString())).thenReturn("Change profile to %s") - `when`(rh.gs(R.string.alreadyset)).thenReturn("Already set") - `when`(rh.gs(info.nightscout.core.main.R.string.notexists)).thenReturn("not exists") - `when`(rh.gs(info.nightscout.core.main.R.string.error_field_must_not_be_empty)).thenReturn("The field must not be empty") - `when`(rh.gs(info.nightscout.core.main.R.string.noprofile)).thenReturn("No profile loaded from NS yet") + `when`(context.getString(R.string.alreadyset)).thenReturn("Already set") + `when`(context.getString(info.nightscout.core.main.R.string.notexists)).thenReturn("not exists") + `when`(context.getString(info.nightscout.core.main.R.string.error_field_must_not_be_empty)).thenReturn("The field must not be empty") + `when`(context.getString(info.nightscout.core.main.R.string.noprofile)).thenReturn("No profile loaded from NS yet") sut = ActionProfileSwitch(injector) } diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt index a009848d9a..e6a32c4a29 100644 --- a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt +++ b/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt @@ -1,5 +1,6 @@ package info.nightscout.automation.actions +import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile @@ -16,6 +17,7 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileSource +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.SmsCommunicator import info.nightscout.rx.logging.AAPSLogger @@ -65,6 +67,7 @@ ActionsTestBase : TestBaseWithProfile() { @Mock lateinit var smsCommunicator: SmsCommunicator @Mock lateinit var loopPlugin: TestLoopPlugin @Mock lateinit var uel: UserEntryLogger + @Mock lateinit var context: Context private val pluginDescription = PluginDescription() lateinit var testPumpPlugin: TestPumpPlugin @@ -156,8 +159,8 @@ ActionsTestBase : TestBaseWithProfile() { if (it is ActionStopProcessing) { it.rh = rh } - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } if (it is Trigger) { it.rh = rh @@ -179,7 +182,7 @@ ActionsTestBase : TestBaseWithProfile() { `when`(activePlugin.activeProfileSource).thenReturn(profilePlugin) `when`(profilePlugin.profile).thenReturn(getValidProfileStore()) - `when`(rh.gs(info.nightscout.core.main.R.string.ok)).thenReturn("OK") - `when`(rh.gs(info.nightscout.core.main.R.string.error)).thenReturn("Error") + `when`(context.getString(info.nightscout.core.main.R.string.ok)).thenReturn("OK") + `when`(context.getString(info.nightscout.core.main.R.string.error)).thenReturn("Error") } } \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt index f13f211758..6231dede3d 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/dialogs/BolusProgressDialog.kt @@ -9,7 +9,6 @@ import android.view.Window import android.view.WindowManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.activities.DialogAppCompatActivity -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.core.main.R @@ -20,6 +19,7 @@ import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventOverviewBolusProgress +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt new file mode 100644 index 0000000000..8de34e0389 --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt @@ -0,0 +1,43 @@ +package info.nightscout.core.pumpExtensions + +import info.nightscout.androidaps.utils.DecimalFormatter +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.shared.interfaces.ResourceHelper + +fun PumpEnactResult.toHtml(rh: ResourceHelper): String { + var ret = "" + rh.gs(info.nightscout.core.main.R.string.success) + ": " + success + if (queued) { + ret = rh.gs(info.nightscout.core.main.R.string.waitingforpumpresult) + } else if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.smb_shortname) + ": " + bolusDelivered + " " + rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname) + } + + isTempCancel -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + + "
" + rh.gs(info.nightscout.core.main.R.string.cancel_temp) + } + + isPercent && percent != -1 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(info.nightscout.core.main.R.string.percent) + ": " + percent + "%" + } + + absolute != -1.0 -> { + ret += "
" + rh.gs(info.nightscout.core.main.R.string.enacted) + ": " + enacted + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + ret += "
" + rh.gs(info.nightscout.core.main.R.string.duration) + ": " + duration + " min" + ret += "
" + rh.gs(info.nightscout.core.main.R.string.absolute) + ": " + DecimalFormatter.to2Decimal(absolute) + " U/h" + } + } + } else { + if (comment.isNotEmpty()) ret += "
" + rh.gs(info.nightscout.core.main.R.string.comment) + ": " + comment + } + return ret +} \ No newline at end of file diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 372f8be06e..116109a93a 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -110,14 +110,9 @@ Tempbasal delivery error Going to deliver %1$.2f U Waiting for pump - Connecting for %1$d s Delivering %1$.2f U - Handshaking Connecting - Connected Disconnected - Disconnecting - Waiting for disconnection AAPS started %1$.1f U %1$.2f U diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt index 67db266124..577a7171ed 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/QueueThread.kt @@ -5,7 +5,6 @@ import android.content.Context import android.os.Build import android.os.PowerManager import android.os.SystemClock -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.safeDisable import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning @@ -16,6 +15,7 @@ import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index c9c1be3116..95471d7e49 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -24,6 +24,7 @@ import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.Command @@ -104,8 +105,8 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { if (it is CommandLoadHistory) { it.activePlugin = activePlugin } - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @@ -254,7 +255,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { Assert.assertEquals(2, commandQueue.size()) // when - commandQueue.cancelAllBoluses(anyLong()) + commandQueue.cancelAllBoluses(null) // then Assert.assertEquals(0, commandQueue.size()) diff --git a/plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt b/plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt new file mode 100644 index 0000000000..3e97485abb --- /dev/null +++ b/plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt @@ -0,0 +1,40 @@ +package info.nightscout.plugins.extensions + +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.shared.interfaces.ResourceHelper + +fun PumpEnactResult.toText(rh: ResourceHelper): String { + var ret = rh.gs(info.nightscout.core.main.R.string.success) + ": " + success + if (enacted) { + when { + bolusDelivered > 0 -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname)}" + } + + isTempCancel -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.cancel_temp)}" + } + + isPercent -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.percent)}: $percent%" + } + + else -> { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" + if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" + ret += "\n${rh.gs(info.nightscout.core.main.R.string.absolute)}: $absolute U/h" + } + } + } else { + ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" + } + return ret +} diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt index 38bbf3ad2d..8c1ab06a9d 100644 --- a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt @@ -28,6 +28,7 @@ import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.utils.TimeChangeType import info.nightscout.plugins.R +import info.nightscout.plugins.extensions.toText import info.nightscout.plugins.pump.virtual.events.EventVirtualPumpUpdateGui import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -399,40 +400,4 @@ open class VirtualPumpPlugin @Inject constructor( } override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} - - private fun PumpEnactResult.toText(rh: ResourceHelper): String { - var ret = rh.gs(info.nightscout.core.main.R.string.success) + ": " + success - if (enacted) { - when { - bolusDelivered > 0 -> { - ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.configbuilder_insulin)}: $bolusDelivered ${rh.gs(info.nightscout.core.main.R.string.insulin_unit_shortname)}" - } - - isTempCancel -> { - ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.cancel_temp)}" - } - - isPercent -> { - ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.percent)}: $percent%" - } - - else -> { - ret += "\n${rh.gs(info.nightscout.core.main.R.string.enacted)}: $enacted" - if (comment.isNotEmpty()) ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.duration)}: $duration min" - ret += "\n${rh.gs(info.nightscout.core.main.R.string.absolute)}: $absolute U/h" - } - } - } else { - ret += "\n${rh.gs(info.nightscout.core.main.R.string.comment)}: $comment" - } - return ret - } } diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt index a714f484c7..ceb3655cc5 100644 --- a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt +++ b/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt @@ -70,8 +70,8 @@ class SmsCommunicatorPluginTest : TestBaseWithProfile() { var injector: HasAndroidInjector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } if (it is AuthRequest) { it.aapsLogger = aapsLogger diff --git a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt index aa09e834d6..dcba982f18 100644 --- a/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt +++ b/pump/combo/src/test/java/info/nightscout/androidaps/plugins/pump/combo/ComboPluginTest.kt @@ -1,5 +1,6 @@ package info.nightscout.androidaps.plugins.pump.combo +import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase @@ -9,6 +10,7 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.history.Bolus import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.bus.RxBus @@ -30,11 +32,12 @@ class ComboPluginTest : TestBase() { @Mock lateinit var sp: SP @Mock lateinit var dateUtil: DateUtil @Mock lateinit var ruffyScripter: RuffyScripter + @Mock lateinit var context: Context private val injector = HasAndroidInjector { AndroidInjector { - if (it is PumpEnactResultObject) { - it.rh = rh + if (it is PumpEnactResult) { + it.context = context } } } @@ -44,7 +47,7 @@ class ComboPluginTest : TestBase() { @Before fun prepareMocks() { `when`(rh.gs(R.string.novalidbasalrate)).thenReturn("No valid basal rate read from pump") - `when`(rh.gs(R.string.combo_pump_unsupported_operation)).thenReturn("Requested operation not supported by pump") + `when`(context.getString(R.string.combo_pump_unsupported_operation)).thenReturn("Requested operation not supported by pump") comboPlugin = ComboPlugin(injector, aapsLogger, RxBus(aapsSchedulers, aapsLogger), rh, profileFunction, sp, commandQueue, pumpSync, dateUtil, ruffyScripter) } diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 20c781ba0d..691242ba93 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.dana.activities.DanaHistoryActivity import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.alertDialogs.OKDialog @@ -31,6 +30,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt index 37bd4ec142..fcf8439efe 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/activities/DanaHistoryActivity.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.dana.database.DanaHistoryRecord import info.nightscout.androidaps.dana.database.DanaHistoryRecordDao import info.nightscout.androidaps.dana.databinding.DanarHistoryActivityBinding import info.nightscout.androidaps.dana.databinding.DanarHistoryItemBinding -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.toUnitsString @@ -28,6 +27,7 @@ import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.LTag import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java index 49f88c27e7..5412a38b62 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRKorean/services/DanaRKoreanExecutionService.java @@ -37,7 +37,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.constraints.Constraints; @@ -54,6 +53,7 @@ import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.events.EventPumpStatusChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt index dcc08e521e..d2d9fad9a6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt @@ -4,10 +4,10 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danar.R import info.nightscout.androidaps.danar.comm.MessageBase -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.interfaces.pump.defs.PumpType -import info.nightscout.shared.utils.T +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.LTag +import info.nightscout.shared.utils.T import java.util.GregorianCalendar class MsgHistoryEventsV2 constructor( diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java index 4faef95548..5ae46913e6 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danaRv2/services/DanaRv2ExecutionService.java @@ -49,7 +49,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.danar.services.AbstractDanaRExecutionService; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; @@ -68,6 +67,7 @@ import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.events.EventPumpStatusChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index 2f4bb92576..8152625dd4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -39,7 +39,6 @@ import info.nightscout.androidaps.danar.comm.MsgHistoryRefill; import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; -import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.core.fabric.FabricPrivacy; @@ -53,6 +52,7 @@ import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventAppExit; import info.nightscout.rx.events.EventBTChange; import info.nightscout.rx.events.EventOverviewBolusProgress; +import info.nightscout.rx.events.EventPumpStatusChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java index f76e77a9ef..4d3a4041d4 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/DanaRExecutionService.java @@ -44,7 +44,6 @@ import info.nightscout.androidaps.danar.comm.MsgStatusBasic; import info.nightscout.androidaps.danar.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.danar.comm.MsgStatusTempBasal; import info.nightscout.androidaps.dialogs.BolusProgressDialog; -import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; import info.nightscout.interfaces.Constants; import info.nightscout.interfaces.notifications.Notification; @@ -60,6 +59,7 @@ import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventInitializationChanged; import info.nightscout.rx.events.EventOverviewBolusProgress; import info.nightscout.rx.events.EventProfileSwitchChanged; +import info.nightscout.rx.events.EventPumpStatusChanged; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt index bc2986c2e4..3df8d189e2 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt @@ -7,13 +7,13 @@ import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.databinding.DanarsEnterPinActivityBinding import info.nightscout.androidaps.danars.services.BLEComm -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.hexStringToByteArray import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.textValidator.DefaultEditTextValidator import info.nightscout.androidaps.utils.textValidator.EditTextValidator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt index 6303fad958..7425729e94 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -4,12 +4,12 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dana.DanaPump import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.encryption.BleEncryption -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 1f0d5a758b..7b058e89b3 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -30,7 +30,6 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketEtcKeepConnection import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.androidaps.danars.encryption.EncryptionType import info.nightscout.androidaps.danars.events.EventDanaRSPairingSuccess -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification @@ -39,6 +38,7 @@ import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt index 2c40416a5f..ba0ca98f51 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/DanaRSService.kt @@ -55,7 +55,6 @@ import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpTime import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetPumpUTCAndTimeZone import info.nightscout.androidaps.danars.comm.DanaRSPacketOptionSetUserOption import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.Constants @@ -76,6 +75,7 @@ import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index e87fa80349..3cb55f408e 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -13,7 +13,6 @@ import info.nightscout.androidaps.diaconn.activities.DiaconnG8HistoryActivity import info.nightscout.androidaps.diaconn.activities.DiaconnG8UserOptionsActivity import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.plugin.ActivePlugin @@ -24,6 +23,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange import info.nightscout.rx.events.EventInitializationChanged +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.events.EventTempBasalChange import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt index b7470d7a0b..f07a34152c 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8HistoryActivity.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.diaconn.common.RecordTypes import info.nightscout.androidaps.diaconn.database.DiaconnHistoryRecord import info.nightscout.androidaps.diaconn.database.DiaconnHistoryRecordDao import info.nightscout.androidaps.diaconn.databinding.DiaconnG8HistoryActivityBinding -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.plugin.ActivePlugin @@ -23,6 +22,7 @@ import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt index 56535fdfbe..9204a7854b 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/packet/BigLogInquireResponsePacket.kt @@ -38,7 +38,6 @@ import info.nightscout.androidaps.diaconn.pumplog.LOG_SUSPEND_V2 import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_START_V3 import info.nightscout.androidaps.diaconn.pumplog.LOG_TB_STOP_V3 import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.interfaces.plugin.ActivePlugin @@ -47,6 +46,7 @@ import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.LTag import info.nightscout.shared.extensions.safeGetPackageInfo import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index dc355d6366..6d5df45aaa 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -25,12 +25,12 @@ import info.nightscout.androidaps.diaconn.packet.DiaconnG8ResponseMessageHashTab import info.nightscout.androidaps.diaconn.packet.DiaconnG8SettingResponseMessageHashTable import info.nightscout.androidaps.diaconn.packet.InjectionBlockReportPacket import info.nightscout.androidaps.diaconn.packet.InsulinLackReportPacket -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt index b7f225c2b1..e5ff1dc471 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/DiaconnG8Service.kt @@ -45,7 +45,6 @@ import info.nightscout.androidaps.diaconn.packet.TimeInquirePacket import info.nightscout.androidaps.diaconn.packet.TimeSettingPacket import info.nightscout.androidaps.diaconn.pumplog.PumplogUtil import info.nightscout.androidaps.dialogs.BolusProgressDialog -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.core.fabric.FabricPrivacy @@ -68,6 +67,7 @@ import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventInitializationChanged import info.nightscout.rx.events.EventOverviewBolusProgress import info.nightscout.rx.events.EventProfileSwitchChanged +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java index 1fb0b81518..bb6b67a12e 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/PatchManager.java @@ -8,7 +8,6 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; -import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.plugins.pump.eopatch.R; import info.nightscout.androidaps.plugins.pump.eopatch.RxAction; import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode; @@ -47,6 +46,7 @@ import info.nightscout.interfaces.queue.CommandQueue; import info.nightscout.rx.AapsSchedulers; import info.nightscout.rx.bus.RxBus; import info.nightscout.rx.events.EventCustomActionsChanged; +import info.nightscout.rx.events.EventPumpStatusChanged; import info.nightscout.rx.events.EventRefreshOverview; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.shared.interfaces.ResourceHelper; diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 168756a19f..a09c97d3f2 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -9,7 +9,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkServiceState import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkTargetDevice @@ -34,6 +33,7 @@ import info.nightscout.pump.core.defs.PumpDeviceState import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventQueueChanged import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.rx.events.EventTempBasalChange diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index d39d640855..93ce2ef285 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -9,7 +9,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewButtonsBinding import info.nightscout.androidaps.plugins.pump.omnipod.common.databinding.OmnipodCommonOverviewPodInfoBinding @@ -39,6 +38,7 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventPreferenceChange +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventQueueChanged import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index 61dd8c44b2..695fe6fa02 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,7 +15,6 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.events.EventPumpStatusChanged import info.nightscout.androidaps.extensions.total import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R @@ -28,6 +27,7 @@ import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventDanaRSyncStatus +import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.shared.SafeParse import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.T From 3217824f2eeab3fba169c424e65b29efc63fbc4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 08:02:45 +0000 Subject: [PATCH 080/123] chore(deps): bump dagger_version from 2.44 to 2.44.1 Bumps `dagger_version` from 2.44 to 2.44.1. Updates `dagger-android-processor` from 2.44 to 2.44.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44...dagger-2.44.1) Updates `dagger-compiler` from 2.44 to 2.44.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44...dagger-2.44.1) Updates `dagger` from 2.44 to 2.44.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44...dagger-2.44.1) Updates `dagger-android` from 2.44 to 2.44.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44...dagger-2.44.1) Updates `dagger-android-support` from 2.44 to 2.44.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44...dagger-2.44.1) --- updated-dependencies: - dependency-name: com.google.dagger:dagger-android-processor dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-compiler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-android dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-android-support dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 80344616cd..11e8271fc9 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { rxkotlin_version = '3.0.1' room_version = '2.4.3' lifecycle_version = '2.5.1' - dagger_version = '2.44' + dagger_version = '2.44.1' coroutines_version = '1.6.4' activity_version = '1.4.0' fragmentktx_version = '1.5.4' From c4086ae4498f95ca6c601121a244b078f9562c4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 08:03:06 +0000 Subject: [PATCH 081/123] chore(deps): bump firebase-bom from 31.0.2 to 31.0.3 Bumps firebase-bom from 31.0.2 to 31.0.3. --- updated-dependencies: - dependency-name: com.google.firebase:firebase-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- core/fabric/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/fabric/build.gradle b/core/fabric/build.gradle index e7229db4cb..c798261a7a 100644 --- a/core/fabric/build.gradle +++ b/core/fabric/build.gradle @@ -24,7 +24,7 @@ dependencies { implementation project(':app-wear-shared:shared') //Firebase - api platform('com.google.firebase:firebase-bom:31.0.2') + api platform('com.google.firebase:firebase-bom:31.0.3') api "com.google.firebase:firebase-analytics-ktx" api "com.google.firebase:firebase-crashlytics-ktx" // StatsActivity not in use now From 359b3f41b5d019874c9c4f007eba1399f6bef259 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 10:58:59 +0100 Subject: [PATCH 082/123] Dialogs -> :core:ui --- app/build.gradle | 1 + .../nightscout/androidaps/MainActivity.kt | 2 +- .../activities/MyPreferenceFragment.kt | 8 +++---- .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../maintenance/ImportExportPrefsImpl.kt | 11 ++++----- .../maintenance/MaintenanceFragment.kt | 2 +- .../general/overview/OverviewFragment.kt | 2 +- .../general/overview/OverviewPlugin.kt | 2 +- .../activities/QuickWizardListActivity.kt | 2 +- .../setupwizard/SetupWizardActivity.kt | 2 +- .../alertDialogs/PrefImportSummaryDialog.kt | 4 ++-- .../alertDialogs/TwoMessagesAlertDialog.kt | 4 ++-- automation/build.gradle | 1 + .../automation/AutomationFragment.kt | 2 +- core/core-main/build.gradle | 1 + .../DaggerAppCompatActivityWithResult.kt | 2 +- .../plugins/pump/common/ble/BlePreCheck.kt | 4 ++-- .../utils/protection/PasswordCheck.kt | 7 +++--- .../nightscout/core/wizard/BolusWizard.kt | 6 ++--- .../core-main/src/main/res/values/strings.xml | 9 ------- core/ui/.gitignore | 1 + core/ui/build.gradle | 19 +++++++++++++++ core/ui/consumer-rules.pro | 0 core/ui/proguard-rules.pro | 21 ++++++++++++++++ .../core/ui/ExampleInstrumentedTest.kt | 23 ++++++++++++++++++ core/ui/src/main/AndroidManifest.xml | 4 ++++ .../core/ui/dialogs}/AlertDialogHelper.kt | 6 ++--- .../nightscout/core/ui/dialogs}/OKDialog.kt | 11 ++++++--- .../core/ui/dialogs}/WarningDialog.kt | 24 ++++++++----------- .../res/drawable/ic_check_white_48dp.xml} | 0 .../src/main/res/drawable/ic_close.xml | 0 .../main/res/drawable/ic_header_warning.xml | 0 .../src/main/res/drawable/launch_screen.xml | 0 .../res/layout/dialog_alert_custom_title.xml | 0 .../src/main/res/values-night/colors.xml | 0 .../src/main/res/values-night/styles.xml | 0 .../src/main/res/values/attrs.xml | 0 .../src/main/res/values/colors.xml | 0 .../src/main/res/values/dimens.xml | 0 core/ui/src/main/res/values/strings.xml | 12 ++++++++++ .../src/main/res/values/styles.xml | 0 .../nightscout/core/ui/ExampleUnitTest.kt | 17 +++++++++++++ implementation/build.gradle | 1 + .../implementation/AndroidPermissionImpl.kt | 2 +- plugins/build.gradle | 1 + .../objectives/ObjectivesFragment.kt | 2 +- .../general/actions/ActionsFragment.kt | 2 +- .../general/autotune/AutotuneFragment.kt | 10 ++++---- .../plugins/general/food/FoodFragment.kt | 2 +- .../activities/SmsCommunicatorOtpActivity.kt | 2 +- .../plugins/profile/ProfileFragment.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 2 +- .../plugins/sync/nsShared/NSClientFragment.kt | 2 +- .../sync/nsclient/data/NSSettingsStatus.kt | 2 +- .../sync/tidepool/comm/TidepoolUploader.kt | 2 +- pump/dana/build.gradle | 2 ++ .../androidaps/dana/DanaFragment.kt | 2 +- pump/danars/build.gradle | 1 + .../danars/activities/EnterPinActivity.kt | 2 +- pump/eopatch/build.gradle | 1 + .../pump/eopatch/ui/EopatchActivity.kt | 11 ++++----- .../eopatch/ui/EopatchOverviewFragment.kt | 7 +++--- .../pump/eopatch/ui/dialogs/CommonDialog.kt | 3 +-- pump/medtronic/build.gradle | 1 + .../pump/medtronic/MedtronicFragment.kt | 2 +- pump/omnipod-dash/build.gradle | 1 + .../dash/ui/DashPodManagementActivity.kt | 2 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- pump/omnipod-eros/build.gradle | 1 + .../eros/ui/ErosPodManagementActivity.kt | 4 ++-- .../eros/ui/OmnipodErosOverviewFragment.kt | 2 +- pump/pump-common/build.gradle | 1 + .../pump/common/ui/PumpBLEConfigActivity.kt | 2 +- pump/rileylink/build.gradle | 1 + .../dialog/RileyLinkBLEConfigActivity.kt | 2 +- settings.gradle | 1 + ui/build.gradle | 1 + .../ui/activities/ProfileHelperActivity.kt | 2 +- .../nightscout/ui/activities/StatsActivity.kt | 2 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 2 +- .../fragments/TreatmentsCareportalFragment.kt | 8 +++---- .../TreatmentsExtendedBolusesFragment.kt | 2 +- .../TreatmentsProfileSwitchFragment.kt | 2 +- .../fragments/TreatmentsTempTargetFragment.kt | 2 +- .../TreatmentsTemporaryBasalsFragment.kt | 2 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../ui/dialogs/CalibrationDialog.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- .../info/nightscout/ui/dialogs/CareDialog.kt | 2 +- .../ui/dialogs/ExtendedBolusDialog.kt | 2 +- .../info/nightscout/ui/dialogs/FillDialog.kt | 2 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 2 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 2 +- .../ui/dialogs/ProfileSwitchDialog.kt | 2 +- .../nightscout/ui/dialogs/TempBasalDialog.kt | 2 +- .../nightscout/ui/dialogs/TempTargetDialog.kt | 2 +- .../nightscout/ui/dialogs/TreatmentDialog.kt | 2 +- 98 files changed, 222 insertions(+), 122 deletions(-) create mode 100644 core/ui/.gitignore create mode 100644 core/ui/build.gradle create mode 100644 core/ui/consumer-rules.pro create mode 100644 core/ui/proguard-rules.pro create mode 100644 core/ui/src/androidTest/java/info/nightscout/core/ui/ExampleInstrumentedTest.kt create mode 100644 core/ui/src/main/AndroidManifest.xml rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs => ui/src/main/java/info/nightscout/core/ui/dialogs}/AlertDialogHelper.kt (91%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs => ui/src/main/java/info/nightscout/core/ui/dialogs}/OKDialog.kt (97%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs => ui/src/main/java/info/nightscout/core/ui/dialogs}/WarningDialog.kt (77%) rename core/{core-main/src/main/res/drawable/ic_check_while_48dp.xml => ui/src/main/res/drawable/ic_check_white_48dp.xml} (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_close.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_header_warning.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/launch_screen.xml (100%) rename core/{core-main => ui}/src/main/res/layout/dialog_alert_custom_title.xml (100%) rename core/{core-main => ui}/src/main/res/values-night/colors.xml (100%) rename core/{core-main => ui}/src/main/res/values-night/styles.xml (100%) rename core/{core-main => ui}/src/main/res/values/attrs.xml (100%) rename core/{core-main => ui}/src/main/res/values/colors.xml (100%) rename core/{core-main => ui}/src/main/res/values/dimens.xml (100%) create mode 100644 core/ui/src/main/res/values/strings.xml rename core/{core-main => ui}/src/main/res/values/styles.xml (100%) create mode 100644 core/ui/src/test/java/info/nightscout/core/ui/ExampleUnitTest.kt diff --git a/app/build.gradle b/app/build.gradle index d2c714bfee..71b577f4b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -187,6 +187,7 @@ dependencies { implementation project(':app-wear-shared:shared-impl') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':interfaces') implementation project(':ui') implementation project(':plugins') diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index d8a6d0b37c..709d30a1b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -38,13 +38,13 @@ import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.setupwizard.SetupWizardActivity -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 2482283be2..6dd852f99f 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -37,7 +37,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin -import info.nightscout.androidaps.utils.alertDialogs.OKDialog.show import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.BIOMETRIC import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.CUSTOM_PASSWORD @@ -45,6 +44,7 @@ import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionTyp import info.nightscout.androidaps.utils.protection.ProtectionCheck.ProtectionType.NONE import info.nightscout.automation.AutomationPlugin import info.nightscout.core.profile.toCurrentUnits +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile @@ -248,7 +248,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang } if (key == rh.gs(R.string.key_openapsama_useautosens) && sp.getBoolean(R.string.key_openapsama_useautosens, false)) { activity?.let { - show(it, rh.gs(R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) + OKDialog.show(it, rh.gs(R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) } } checkForBiometricFallback(key) @@ -274,7 +274,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang activity?.let { val title = rh.gs(R.string.unsecure_fallback_biometric) val message = rh.gs(R.string.master_password_missing, rh.gs(R.string.configbuilder_general), rh.gs(R.string.protection)) - show(it, title = title, message = message) + OKDialog.show(it, title = title, message = message) } } @@ -286,7 +286,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang activity?.let { val title = rh.gs(R.string.unsecure_fallback_biometric) val message = rh.gs(R.string.unsecure_fallback_descriotion_biometric) - show(it, title = title, message = message) + OKDialog.show(it, title = title, message = message) } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 1a6bc18780..0d1c692562 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilderUpdateGui -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index b7cf24b42c..af3f9aaac8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -28,12 +28,11 @@ import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.alertDialogs.TwoMessagesAlertDialog -import info.nightscout.androidaps.utils.alertDialogs.WarningDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources @@ -173,10 +172,10 @@ class ImportExportPrefsImpl @Inject constructor( private fun assureMasterPasswordSet(activity: FragmentActivity, @StringRes wrongPwdTitle: Int): Boolean { if (!sp.contains(R.string.key_master_password) || (sp.getString(R.string.key_master_password, "") == "")) { - WarningDialog.showWarning(activity, - rh.gs(wrongPwdTitle), - rh.gs(R.string.master_password_missing, rh.gs(R.string.configbuilder_general), rh.gs(R.string.protection)), - R.string.nav_preferences, { + info.nightscout.core.ui.dialogs.WarningDialog.showWarning(activity, + rh.gs(wrongPwdTitle), + rh.gs(R.string.master_password_missing, rh.gs(R.string.configbuilder_general), rh.gs(R.string.protection)), + R.string.nav_preferences, { val intent = Intent(activity, PreferencesActivity::class.java).apply { putExtra("id", R.xml.pref_general) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt index e55090aafe..19396ddbf7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenanceFragment.kt @@ -18,10 +18,10 @@ import info.nightscout.androidaps.plugins.general.maintenance.activities.LogSett import info.nightscout.androidaps.plugins.general.overview.OverviewData import info.nightscout.androidaps.plugins.pump.omnipod.dash.history.database.DashHistoryDatabase import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.ErosHistoryDatabase -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 1ed28f48e7..52257dd48f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -46,7 +46,6 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable @@ -56,6 +55,7 @@ import info.nightscout.core.iob.displayText import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.wizard.QuickWizard import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt index 535d947d34..dcc849be45 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewPlugin.kt @@ -16,8 +16,8 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.Config import info.nightscout.interfaces.Overview import info.nightscout.interfaces.plugin.PluginBase diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt index 55368ac49f..60af7b5544 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.kt @@ -21,8 +21,8 @@ import info.nightscout.androidaps.databinding.OverviewQuickwizardlistItemBinding import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.wizard.QuickWizard import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 3538833520..a71b494678 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -12,8 +12,8 @@ import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.AapsSchedulers diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt index 6f592f763c..8b5e3bae14 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt @@ -94,7 +94,7 @@ object PrefImportSummaryDialog { MaterialAlertDialogBuilder(context, R.style.DialogTheme) .setCustomTitle( - AlertDialogHelper.buildCustomTitle( + info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle( context, context.getString(R.string.check_preferences_details_title), R.drawable.ic_header_log, @@ -111,7 +111,7 @@ object PrefImportSummaryDialog { val builder = MaterialAlertDialogBuilder(context, theme) .setMessage(context.getString(messageRes)) - .setCustomTitle(AlertDialogHelper.buildCustomTitle(context, context.getString(R.string.nav_import), headerIcon, theme)) + .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(R.string.nav_import), headerIcon, theme)) .setView(innerLayout) .setNegativeButton(android.R.string.cancel) { dialog: DialogInterface, _: Int -> dialog.dismiss() diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt index 320d358a49..9662a575c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt @@ -23,9 +23,9 @@ object TwoMessagesAlertDialog { MaterialAlertDialogBuilder(context, R.style.DialogTheme) .setMessage(message) .setCustomTitle( - AlertDialogHelper.buildCustomTitle( + info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle( context, title, icon - ?: R.drawable.ic_check_while_48dp + ?: R.drawable.ic_check_white_48dp ) ) .setView(secondMessageLayout) diff --git a/automation/build.gradle b/automation/build.gradle index 773f670e36..150713a3d9 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':graphview') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':database:entities') implementation project(':database:impl') implementation project(':app-wear-shared:rx') diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt index c1c606a002..b0fc22a5da 100644 --- a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt +++ b/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt @@ -25,7 +25,6 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.automation.databinding.AutomationEventItemBinding import info.nightscout.automation.databinding.AutomationFragmentBinding import info.nightscout.automation.dialogs.EditEventDialog @@ -33,6 +32,7 @@ import info.nightscout.automation.events.EventAutomationDataChanged import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.triggers.TriggerConnector import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.dragHelpers.ItemTouchHelperAdapter diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index b344a0df31..f81ec4b1c5 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':database:entities') implementation project(':database:impl') implementation project(':interfaces') + implementation project(':core:ui') api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt index a59cfa061d..a7cc0eb317 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/activities/DaggerAppCompatActivityWithResult.kt @@ -6,8 +6,8 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.core.app.ActivityCompat import dagger.android.support.DaggerAppCompatActivity import info.nightscout.androidaps.plugins.general.maintenance.PrefsFileContract -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.main.R +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.permissions.OptimizationPermissionContract import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt index 026b20030d..efa2a91ccc 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/ble/BlePreCheck.kt @@ -11,10 +11,10 @@ import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat -import info.nightscout.core.main.R import info.nightscout.androidaps.extensions.safeEnable +import info.nightscout.core.main.R +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import javax.inject.Inject import javax.inject.Singleton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt index f839e34dee..52efa43b9a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt @@ -15,7 +15,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper import info.nightscout.core.main.R import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.sharedPreferences.SP @@ -76,7 +75,7 @@ class PasswordCheck @Inject constructor( alertDialogBuilder .setCancelable(false) - .setCustomTitle(AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) + .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) .setPositiveButton(context.getString(R.string.ok)) { _, _ -> validatePassword() } .setNegativeButton(context.getString(R.string.cancel)) { dialog, _ -> cancel?.invoke() @@ -119,7 +118,7 @@ class PasswordCheck @Inject constructor( alertDialogBuilder .setCancelable(false) - .setCustomTitle(AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) + .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) .setPositiveButton(context.getString(R.string.ok)) { _, _ -> val enteredPassword = userInput.text.toString() val enteredPassword2 = userInput2.text.toString() @@ -192,7 +191,7 @@ class PasswordCheck @Inject constructor( alertDialogBuilder .setCancelable(false) - .setCustomTitle(AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) + .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(labelId), R.drawable.ic_header_key)) .setPositiveButton(context.getString(R.string.ok)) { _, _ -> validatePassword() } .setNegativeButton(context.getString(R.string.cancel) ) { dialog, _ -> diff --git a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt index 458a2392de..95cfbce611 100644 --- a/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt +++ b/core/core-main/src/main/java/info/nightscout/core/wizard/BolusWizard.kt @@ -9,11 +9,11 @@ import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.iob.round import info.nightscout.core.main.R import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.TemporaryTarget @@ -372,8 +372,8 @@ class BolusWizard @Inject constructor( carbTimer.removeAutomationEventEatReminder() if (sp.getBoolean(R.string.key_usebolusadvisor, false) && Profile.toMgdl(bg, profile.units) > 180 && carbs > 0 && carbTime >= 0) OKDialog.showYesNoCancel(ctx, rh.gs(R.string.bolus_advisor), rh.gs(R.string.bolus_advisor_message), - { bolusAdvisorProcessing(ctx) }, - { commonProcessing(ctx) } + { bolusAdvisorProcessing(ctx) }, + { commonProcessing(ctx) } ) else commonProcessing(ctx) diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 116109a93a..e5a38f065c 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -170,8 +170,6 @@ BT Watchdog Switches off the phone\'s bluetooth for one second if no connection to the pump is possible. This may help on some phones where the bluetooth stack freezes. Pairing - Yes - No LOOP DISABLED BY CONSTRAINTS Bolus %1$.2f U delivered successfully OK @@ -271,13 +269,6 @@ Limiting bolus to %1$.1f U because of %2$s Pump not initialized, profile not set! - - Confirmation - Message - OK - Cancel - DISMISS - Bluetooth Low Energy not supported. Bluetooth Low Energy not supported or device not paired. diff --git a/core/ui/.gitignore b/core/ui/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/core/ui/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/core/ui/build.gradle b/core/ui/build.gradle new file mode 100644 index 0000000000..85b1b18ce0 --- /dev/null +++ b/core/ui/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +//apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +//apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" + +android { + namespace 'info.nightscout.core.ui' +} + +dependencies { + + implementation "androidx.core:core-ktx:$core_version" + implementation "androidx.appcompat:appcompat:$appcompat_version" + implementation "com.google.android.material:material:$material_version" +} \ No newline at end of file diff --git a/core/ui/consumer-rules.pro b/core/ui/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/core/ui/proguard-rules.pro b/core/ui/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/core/ui/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/core/ui/src/androidTest/java/info/nightscout/core/ui/ExampleInstrumentedTest.kt b/core/ui/src/androidTest/java/info/nightscout/core/ui/ExampleInstrumentedTest.kt new file mode 100644 index 0000000000..9c5658a517 --- /dev/null +++ b/core/ui/src/androidTest/java/info/nightscout/core/ui/ExampleInstrumentedTest.kt @@ -0,0 +1,23 @@ +package info.nightscout.core.ui + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import org.junit.Assert.* +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("info.nightscout.core.ui.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/core/ui/src/main/AndroidManifest.xml b/core/ui/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..44008a4332 --- /dev/null +++ b/core/ui/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/AlertDialogHelper.kt similarity index 91% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt rename to core/ui/src/main/java/info/nightscout/core/ui/dialogs/AlertDialogHelper.kt index f839a8fd57..086956e9f4 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/AlertDialogHelper.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/AlertDialogHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.alertDialogs +package info.nightscout.core.ui.dialogs import android.content.Context import android.view.LayoutInflater @@ -10,7 +10,7 @@ import androidx.annotation.LayoutRes import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.core.main.R +import info.nightscout.core.ui.R object AlertDialogHelper { @@ -19,7 +19,7 @@ object AlertDialogHelper { MaterialAlertDialogBuilder(ContextThemeWrapper(context, themeResId)) fun buildCustomTitle(context: Context, title: String, - @DrawableRes iconResource: Int = R.drawable.ic_check_while_48dp, + @DrawableRes iconResource: Int = R.drawable.ic_check_white_48dp, @StyleRes themeResId: Int = R.style.AppTheme, @LayoutRes layoutResource: Int = R.layout.dialog_alert_custom_title): View? { val titleLayout = LayoutInflater.from(ContextThemeWrapper(context, themeResId)).inflate(layoutResource, null) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/OKDialog.kt similarity index 97% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt rename to core/ui/src/main/java/info/nightscout/core/ui/dialogs/OKDialog.kt index b613bfc76e..c2436e0fb3 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/OKDialog.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/OKDialog.kt @@ -1,17 +1,22 @@ -package info.nightscout.androidaps.utils.alertDialogs +package info.nightscout.core.ui.dialogs import android.annotation.SuppressLint import android.content.Context import android.content.DialogInterface +import android.os.Handler +import android.os.Looper import android.os.SystemClock import android.text.Spanned import androidx.fragment.app.FragmentActivity import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.core.main.R -import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.core.ui.R object OKDialog { + private fun runOnUiThread(theRunnable: Runnable?) = theRunnable?.let { + Handler(Looper.getMainLooper()).post(it) + } + @SuppressLint("InflateParams") fun show(context: Context, title: String, message: String, runnable: Runnable? = null) { var okClicked = false diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/WarningDialog.kt similarity index 77% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt rename to core/ui/src/main/java/info/nightscout/core/ui/dialogs/WarningDialog.kt index 85df84f366..0f7447f75b 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/alertDialogs/WarningDialog.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/WarningDialog.kt @@ -1,18 +1,23 @@ -package info.nightscout.androidaps.utils.alertDialogs +package info.nightscout.core.ui.dialogs import android.annotation.SuppressLint import android.content.Context import android.content.DialogInterface +import android.os.Handler +import android.os.Looper import android.os.SystemClock import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.core.main.R -import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.core.ui.R // if you need error dialog - duplicate to ErrorDialog and make it and use: AppThemeErrorDialog & R.drawable.ic_header_error instead object WarningDialog { + private fun runOnUiThread(theRunnable: Runnable?) = theRunnable?.let { + Handler(Looper.getMainLooper()).post(it) + } + @SuppressLint("InflateParams") fun showWarning(context: Context, title: String, message: String, @StringRes positiveButton: Int = -1, ok: (() -> Unit)? = null, cancel: (() -> Unit)? = null) { var okClicked = false @@ -25,11 +30,7 @@ object WarningDialog { okClicked = true dialog.dismiss() SystemClock.sleep(100) - if (cancel != null) { - runOnUiThread(Runnable { - cancel() - }) - } + if (cancel != null) runOnUiThread { cancel() } } } @@ -40,11 +41,7 @@ object WarningDialog { okClicked = true dialog.dismiss() SystemClock.sleep(100) - if (ok != null) { - runOnUiThread(Runnable { - ok() - }) - } + if (ok != null) runOnUiThread { ok() } } } } @@ -52,5 +49,4 @@ object WarningDialog { val dialog = builder.show() dialog.setCanceledOnTouchOutside(true) } - } diff --git a/core/core-main/src/main/res/drawable/ic_check_while_48dp.xml b/core/ui/src/main/res/drawable/ic_check_white_48dp.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_check_while_48dp.xml rename to core/ui/src/main/res/drawable/ic_check_white_48dp.xml diff --git a/core/core-main/src/main/res/drawable/ic_close.xml b/core/ui/src/main/res/drawable/ic_close.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_close.xml rename to core/ui/src/main/res/drawable/ic_close.xml diff --git a/core/core-main/src/main/res/drawable/ic_header_warning.xml b/core/ui/src/main/res/drawable/ic_header_warning.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_header_warning.xml rename to core/ui/src/main/res/drawable/ic_header_warning.xml diff --git a/core/core-main/src/main/res/drawable/launch_screen.xml b/core/ui/src/main/res/drawable/launch_screen.xml similarity index 100% rename from core/core-main/src/main/res/drawable/launch_screen.xml rename to core/ui/src/main/res/drawable/launch_screen.xml diff --git a/core/core-main/src/main/res/layout/dialog_alert_custom_title.xml b/core/ui/src/main/res/layout/dialog_alert_custom_title.xml similarity index 100% rename from core/core-main/src/main/res/layout/dialog_alert_custom_title.xml rename to core/ui/src/main/res/layout/dialog_alert_custom_title.xml diff --git a/core/core-main/src/main/res/values-night/colors.xml b/core/ui/src/main/res/values-night/colors.xml similarity index 100% rename from core/core-main/src/main/res/values-night/colors.xml rename to core/ui/src/main/res/values-night/colors.xml diff --git a/core/core-main/src/main/res/values-night/styles.xml b/core/ui/src/main/res/values-night/styles.xml similarity index 100% rename from core/core-main/src/main/res/values-night/styles.xml rename to core/ui/src/main/res/values-night/styles.xml diff --git a/core/core-main/src/main/res/values/attrs.xml b/core/ui/src/main/res/values/attrs.xml similarity index 100% rename from core/core-main/src/main/res/values/attrs.xml rename to core/ui/src/main/res/values/attrs.xml diff --git a/core/core-main/src/main/res/values/colors.xml b/core/ui/src/main/res/values/colors.xml similarity index 100% rename from core/core-main/src/main/res/values/colors.xml rename to core/ui/src/main/res/values/colors.xml diff --git a/core/core-main/src/main/res/values/dimens.xml b/core/ui/src/main/res/values/dimens.xml similarity index 100% rename from core/core-main/src/main/res/values/dimens.xml rename to core/ui/src/main/res/values/dimens.xml diff --git a/core/ui/src/main/res/values/strings.xml b/core/ui/src/main/res/values/strings.xml new file mode 100644 index 0000000000..3973c2acde --- /dev/null +++ b/core/ui/src/main/res/values/strings.xml @@ -0,0 +1,12 @@ + + + + Confirmation + Message + OK + Cancel + DISMISS + Yes + No + + \ No newline at end of file diff --git a/core/core-main/src/main/res/values/styles.xml b/core/ui/src/main/res/values/styles.xml similarity index 100% rename from core/core-main/src/main/res/values/styles.xml rename to core/ui/src/main/res/values/styles.xml diff --git a/core/ui/src/test/java/info/nightscout/core/ui/ExampleUnitTest.kt b/core/ui/src/test/java/info/nightscout/core/ui/ExampleUnitTest.kt new file mode 100644 index 0000000000..f8be73d803 --- /dev/null +++ b/core/ui/src/test/java/info/nightscout/core/ui/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package info.nightscout.core.ui + +import org.junit.Assert.* +import org.junit.Test + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/implementation/build.gradle b/implementation/build.gradle index 12b853240a..2c5f9f291b 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -24,4 +24,5 @@ dependencies { implementation project(':interfaces') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 27d156bd5f..13c56ead2e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -15,7 +15,7 @@ import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification diff --git a/plugins/build.gradle b/plugins/build.gradle index c9433aab96..55629955bc 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -23,6 +23,7 @@ dependencies { implementation project(':graphview') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':interfaces') implementation project(':ns-sdk') diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt index d3e5657606..ff6fbb8c71 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt @@ -18,8 +18,8 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index d983dfede3..177920061f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -13,11 +13,11 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.SingleClickButton import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 258059ad1d..2831088449 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -21,10 +21,10 @@ import dagger.android.HasAndroidInjector import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.alertDialogs.OKDialog.showConfirmation import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants @@ -133,7 +133,7 @@ class AutotuneFragment : DaggerFragment() { val localName = rh.gs(R.string.autotune_tunedprofile_name) + " " + dateUtil.dateAndTimeString(autotunePlugin.lastRun) val circadian = sp.getBoolean(R.string.key_autotune_circadian_ic_isf, false) autotunePlugin.tunedProfile?.let { tunedProfile -> - showConfirmation(requireContext(), + OKDialog.showConfirmation(requireContext(), rh.gs(R.string.autotune_copy_localprofile_button), rh.gs(R.string.autotune_copy_local_profile_message) + "\n" + localName, Runnable { @@ -151,7 +151,7 @@ class AutotuneFragment : DaggerFragment() { binding.autotuneUpdateProfile.setOnClickListener { val localName = autotunePlugin.pumpProfile.profilename - showConfirmation(requireContext(), + OKDialog.showConfirmation(requireContext(), rh.gs(R.string.autotune_update_input_profile_button), rh.gs(R.string.autotune_update_local_profile_message, localName), Runnable { @@ -171,7 +171,7 @@ class AutotuneFragment : DaggerFragment() { binding.autotuneRevertProfile.setOnClickListener { val localName = autotunePlugin.pumpProfile.profilename - showConfirmation(requireContext(), + OKDialog.showConfirmation(requireContext(), rh.gs(R.string.autotune_revert_input_profile_button), rh.gs(R.string.autotune_revert_local_profile_message, localName), Runnable { @@ -231,7 +231,7 @@ class AutotuneFragment : DaggerFragment() { val circadian = sp.getBoolean(R.string.key_autotune_circadian_ic_isf, false) tunedProfile?.let { tunedP -> tunedP.profileStore(circadian)?.let { - showConfirmation(requireContext(), + OKDialog.showConfirmation(requireContext(), rh.gs(R.string.activate_profile) + ": " + tunedP.profilename + " ?", Runnable { uel.log( diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 5aceb5a85d..7501343c79 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -13,10 +13,10 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.Food import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index 293537f26a..ad382c97ec 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -15,8 +15,8 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.smsCommunicator.SmsCommunicator diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt index 0313bd4680..60cbe6fe87 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt @@ -13,10 +13,10 @@ import dagger.android.support.DaggerFragment import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.fromMgdlToUnits +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.Constants diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 71a10564c8..8baba7246f 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -13,9 +13,9 @@ import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.core.profile.toMgdl +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt index bd5d4fe42c..430d1cefd1 100644 --- a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt @@ -19,8 +19,8 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index fcdd6e71d7..fc5235cb3c 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -14,8 +14,8 @@ import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.plugin.ActivePlugin diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt index cd727653e3..28cc6576d8 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt @@ -6,7 +6,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.interfaces.Config diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt index d7106ec0da..9d92f10406 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt @@ -3,7 +3,7 @@ package info.nightscout.plugins.sync.tidepool.comm import android.content.Context import android.os.PowerManager import android.os.SystemClock -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.plugins.R import info.nightscout.plugins.sync.tidepool.events.EventTidepoolStatus diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index 44a7cb416f..218fedf329 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -36,5 +36,7 @@ dependencies { api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" api "androidx.room:room-rxjava3:$room_version" + implementation project(path: ':core:ui') + implementation project(path: ':core:ui') kapt "androidx.room:room-compiler:$room_version" } \ No newline at end of file diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 691242ba93..05f6290474 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -16,10 +16,10 @@ import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.WarnColors -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Pump diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 27215a116c..52fd71aed2 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -33,6 +33,7 @@ android { dependencies { implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':pump:dana') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt index 3df8d189e2..fa78a4a859 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/EnterPinActivity.kt @@ -8,10 +8,10 @@ import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.danars.databinding.DanarsEnterPinActivityBinding import info.nightscout.androidaps.danars.services.BLEComm import info.nightscout.androidaps.extensions.hexStringToByteArray -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.textValidator.DefaultEditTextValidator import info.nightscout.androidaps.utils.textValidator.EditTextValidator import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.shared.sharedPreferences.SP diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 9018ca694a..2a7f41e670 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -28,6 +28,7 @@ dependencies { implementation project(':database:impl') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':interfaces') //RxAndroidBle diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt index 9c80b230f4..c208fbd014 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchActivity.kt @@ -19,7 +19,6 @@ import info.nightscout.androidaps.plugins.pump.eopatch.extension.replaceFragment import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne import info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs.ProgressDialogHelper import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel -import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper class EopatchActivity : EoBaseActivity() { @@ -157,7 +156,7 @@ class EopatchActivity : EoBaseActivity() { if (patchStep.value?.isSafeDeactivation == true || connectionTryCnt >= 2) { val cancelLabel = commCheckCancelLabel.value ?: getString(R.string.cancel) val message = "${getString(R.string.patch_comm_error_during_discard_desc_2)}\n${getString(R.string.patch_communication_check_helper_2)}" - mPatchCommCheckDialog = AlertDialogHelper.Builder(this@EopatchActivity) + mPatchCommCheckDialog = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(this@EopatchActivity) .setTitle(R.string.patch_communication_failed) .setMessage(message) .setCancelable(false) @@ -171,7 +170,7 @@ class EopatchActivity : EoBaseActivity() { } else { val cancelLabel = commCheckCancelLabel.value ?: getString(R.string.cancel) val message = "${getString(R.string.patch_communication_check_helper_1)}\n${getString(R.string.patch_communication_check_helper_2)}" - mPatchCommCheckDialog = AlertDialogHelper.Builder(this@EopatchActivity) + mPatchCommCheckDialog = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(this@EopatchActivity) .setTitle(R.string.patch_communication_failed) .setMessage(message) .setCancelable(false) @@ -187,7 +186,7 @@ class EopatchActivity : EoBaseActivity() { EventType.SHOW_BONDED_DIALOG -> { dismissProgressDialog() - AlertDialogHelper.Builder(this@EopatchActivity) + info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(this@EopatchActivity) .setTitle(R.string.patch_communication_succeed) .setMessage(R.string.patch_communication_succeed_message) .setPositiveButton(R.string.confirm) { _, _ -> @@ -196,7 +195,7 @@ class EopatchActivity : EoBaseActivity() { } EventType.SHOW_CHANGE_PATCH_DIALOG -> { - AlertDialogHelper.Builder(this@EopatchActivity).apply { + info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(this@EopatchActivity).apply { setTitle(R.string.string_discard_patch) setMessage( when { @@ -219,7 +218,7 @@ class EopatchActivity : EoBaseActivity() { } // EventType.SHOW_BONDED_DIALOG -> this@EopatchActivity.finish() EventType.SHOW_DISCARD_DIALOG -> { - AlertDialogHelper.Builder(this@EopatchActivity).apply { + info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(this@EopatchActivity).apply { setTitle(R.string.string_discard_patch) if (isBolusActive) { setMessage(R.string.patch_change_confirm_bolus_is_active_desc) diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt index 01c7832ecb..c5f9453622 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.plugins.pump.eopatch.databinding.FragmentEopat import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchOverviewViewModel import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -94,7 +93,7 @@ class EopatchOverviewFragment: EoBaseFragment() private fun suspend() { binding.viewmodel?.apply { activity?.let { - val builder = AlertDialogHelper.Builder(it) + val builder = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(it) val msg = getSuspendDialogText() val dialog = builder.setTitle(R.string.string_suspend) @@ -113,7 +112,7 @@ class EopatchOverviewFragment: EoBaseFragment() private fun resume() { binding.viewmodel?.apply { activity?.let { - val builder = AlertDialogHelper.Builder(it) + val builder = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(it) val dialog = builder.setTitle(R.string.string_resume_insulin_delivery_title) .setMessage(R.string.string_resume_insulin_delivery_message) .setPositiveButton(R.string.confirm) { _, _ -> @@ -134,7 +133,7 @@ class EopatchOverviewFragment: EoBaseFragment() private fun openPauseTimePicker() { binding.viewmodel?.apply { activity?.let{ - val builder = AlertDialogHelper.Builder(it) + val builder = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(it) val listArr = requireContext().resources.getStringArray(R.array.suspend_duration_array) var select = 0 val dialog = builder.setTitle(R.string.string_suspend_time_insulin_delivery_title) diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt index ad1725a7d4..7641a96226 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/dialogs/CommonDialog.kt @@ -5,7 +5,6 @@ import android.content.DialogInterface import android.os.Bundle import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.plugins.pump.eopatch.R -import info.nightscout.androidaps.utils.alertDialogs.AlertDialogHelper import info.nightscout.rx.logging.AAPSLogger import javax.inject.Inject @@ -23,7 +22,7 @@ class CommonDialog : DaggerDialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { return activity?.let{ - val builder = AlertDialogHelper.Builder(it).apply { + val builder = info.nightscout.core.ui.dialogs.AlertDialogHelper.Builder(it).apply { if(title != 0) setTitle(title) if(message != 0) setMessage(message) setPositiveButton(positiveBtn, diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index c651f67256..cfccfd972d 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':core:core-main') + implementation project(':core:ui') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':pump:rileylink') diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index a09c97d3f2..191c2df260 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -23,8 +23,8 @@ import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPu import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil import info.nightscout.androidaps.utils.WarnColors -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.queue.Callback diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index de98f59aff..a36c0451b9 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -40,6 +40,7 @@ dependencies { implementation project(':libraries') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':pump:pump-common') implementation project(':pump:omnipod-common') implementation project(':interfaces') diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt index b8a75a5e2f..848d59987d 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/DashPodManagementActivity.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.activation.DashPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.dash.ui.wizard.deactivation.DashPodDeactivationWizardActivity -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index 93ce2ef285..93556f09b3 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -25,10 +25,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertType import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index f786ed4281..8391aeb4d9 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -33,6 +33,7 @@ dependencies { implementation project(':libraries') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':pump:rileylink') diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index 525bb5d3dd..a5bd5938a0 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -24,9 +24,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandReadPulseLog import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activation.ErosPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivation.ErosPodDeactivationWizardActivity -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue @@ -87,7 +87,7 @@ class ErosPodManagementActivity : NoSplashAppCompatActivity() { binding.buttonDiscardPod.setOnClickListener { OKDialog.showConfirmation(this, - rh.gs(R.string.omnipod_common_pod_management_discard_pod_confirmation), Thread { + rh.gs(R.string.omnipod_common_pod_management_discard_pod_confirmation), Thread { aapsOmnipodManager.discardPodState() }) } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt index c33452b419..62f71cc5b7 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/OmnipodErosOverviewFragment.kt @@ -34,10 +34,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandGetPodStatus import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.ActivePlugin diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index d229c56993..bc0feeff2c 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -27,4 +27,5 @@ dependencies { } api "com.google.code.gson:gson:$gson_version" + implementation project(path: ':core:ui') } diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt index dde7eb57e0..69c0094873 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/ui/PumpBLEConfigActivity.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.plugins.pump.common.databinding.PumpBleConfigA import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelector import info.nightscout.androidaps.plugins.pump.common.driver.PumpBLESelectorText import info.nightscout.androidaps.plugins.pump.common.driver.PumpDriverConfigurationCapable -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 68cd0ebdd4..a82aebc1d4 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -19,6 +19,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':core:core-main') + implementation project(':core:ui') implementation project(':pump:pump-common') implementation project(':pump:pump-core') implementation project(':interfaces') diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt index 784f5d29c5..af8b3028ba 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/dialog/RileyLinkBLEConfigActivity.kt @@ -34,7 +34,7 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkUtil import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.data.GattAttributes import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.databinding.RileyLinkBleConfigActivityBinding import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice -import info.nightscout.androidaps.utils.alertDialogs.OKDialog +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag diff --git a/settings.gradle b/settings.gradle index ed3443202c..e068798fa7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -31,3 +31,4 @@ include ':pump:rileylink' include ':openhumans' include ':automation' include ':interfaces' +include ':core:ui' diff --git a/ui/build.gradle b/ui/build.gradle index 354d748ae2..0ae18c9b7e 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -25,4 +25,5 @@ dependencies { implementation project(':core:core-main') implementation project(':core:fabric') implementation project(':interfaces') + implementation project(path: ':core:ui') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index f223a4872f..848ccfb4d0 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -12,8 +12,8 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.plugin.ActivePlugin diff --git a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt index 5102ab7f6c..bdb5aa9932 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/StatsActivity.kt @@ -8,8 +8,8 @@ import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.rx.AapsSchedulers diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index 45aacda0bc..fbed6dc204 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -21,8 +21,8 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 9ae4c2e714..80a1289d71 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -14,19 +14,19 @@ import androidx.lifecycle.Lifecycle import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.InvalidateAAPSStartedTherapyEventTransaction -import info.nightscout.database.impl.transactions.InvalidateTherapyEventTransaction import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.InvalidateAAPSStartedTherapyEventTransaction +import info.nightscout.database.impl.transactions.InvalidateTherapyEventTransaction import info.nightscout.interfaces.BuildHelper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index cd43c52e31..6b451d3105 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -20,8 +20,8 @@ import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index b2885ec19e..9bfbb74b91 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -23,8 +23,8 @@ import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index 534016f4e2..f7bdaf425f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -24,8 +24,8 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 62a910d8af..426f74d3cd 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -21,8 +21,8 @@ import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.UserEntry.Action diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index ebcd860499..a4c67d3b5f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -14,9 +14,9 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt index f6ef954814..d3ac2ef54d 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CalibrationDialog.kt @@ -9,9 +9,9 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toCurrentUnitsString +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index cb707c4d8e..593c584298 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -15,10 +15,10 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.profile.toMgdl +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 226abed6e7..3bef6972ff 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -15,9 +15,9 @@ import info.nightscout.androidaps.extensions.fromConstant import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.Translator -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toCurrentUnitsString +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt index 53c32e88f2..4b1a8c1582 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt index fd7a26805a..600039c02f 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -11,8 +11,8 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index 74e7563447..b748719863 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl import info.nightscout.core.pumpExtensions.insertBolusTransaction +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index fe580b2e7c..2886a74d3d 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -13,9 +13,9 @@ import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index 9f0d966558..9981ca2fac 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -14,9 +14,9 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt index 8f87b52a92..e1f4c509e4 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt @@ -10,8 +10,8 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt index c1c3142998..1a33e3e965 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.core.profile.toMgdl +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index 9f97cbb90c..446b484c99 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.androidaps.utils.alertDialogs.OKDialog import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.core.pumpExtensions.insertCarbsTransaction +import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository From b6b3600410f571fb19173b2651ec595a51ac0c60 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 11:18:33 +0100 Subject: [PATCH 083/123] elements -> :core:ui --- .../nightscout/androidaps/MainActivity.kt | 2 +- .../general/overview/OverviewFragment.kt | 4 +-- .../main/res/layout/maintenance_fragment.xml | 16 ++++----- .../automation/triggers/TriggerConnector.kt | 2 +- .../androidaps/di/CoreFragmentsModule.kt | 2 +- .../nightscout/androidaps/utils/ToastUtils.kt | 8 ++--- .../androidaps/utils/ui/SingleClickButton.kt | 34 ------------------- .../androidaps/utils/ui/UIRunnable.kt | 9 ----- .../nightscout/core/ui/ContextExtensions.kt} | 2 +- .../info/nightscout/core/ui/UIRunnable.kt | 14 ++++++++ .../core/ui/elements/SingleClickButton.kt | 24 +++++++++++++ .../core/ui/elements}/VerticalTextView.kt | 2 +- .../resources/ResourceHelperImpl.kt | 2 +- .../general/actions/ActionsFragment.kt | 4 +-- .../plugins/general/food/FoodFragment.kt | 2 +- .../src/main/res/layout/actions_fragment.xml | 32 ++++++++--------- .../res/layout/overview_buttons_layout.xml | 16 ++++----- .../layout/smscommunicator_activity_otp.xml | 2 +- pump/combo/build.gradle | 1 + .../main/res/layout/combopump_fragment.xml | 2 +- .../src/main/res/layout/danar_fragment.xml | 8 ++--- .../dash/ui/OmnipodDashOverviewFragment.kt | 2 +- .../layout/omnipod_dash_pod_management.xml | 10 +++--- .../eros/ui/ErosPodManagementActivity.kt | 4 +-- .../eros/ui/OmnipodErosOverviewFragment.kt | 8 ++--- .../layout/omnipod_eros_pod_management.xml | 16 ++++----- .../res/layout/activity_profilehelper.xml | 4 +-- ui/src/main/res/layout/dialog_loop.xml | 32 ++++++++--------- .../main/res/layout/dialog_profileswitch.xml | 2 +- ui/src/main/res/layout/dialog_temptarget.xml | 8 ++--- 30 files changed, 133 insertions(+), 141 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/SingleClickButton.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt => ui/src/main/java/info/nightscout/core/ui/ContextExtensions.kt} (85%) create mode 100644 core/ui/src/main/java/info/nightscout/core/ui/UIRunnable.kt create mode 100644 core/ui/src/main/java/info/nightscout/core/ui/elements/SingleClickButton.kt rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/VerticalTextView.kt (96%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 709d30a1b1..f07ef96d0f 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -42,7 +42,7 @@ import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.tabs.TabPageAdapter -import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 52257dd48f..047e8f146e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -47,8 +47,8 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugi import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.ui.SingleClickButton -import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.ui.elements.SingleClickButton +import info.nightscout.core.ui.UIRunnable import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.displayText diff --git a/app/src/main/res/layout/maintenance_fragment.xml b/app/src/main/res/layout/maintenance_fragment.xml index 852d2b906e..bb9718b4de 100644 --- a/app/src/main/res/layout/maintenance_fragment.xml +++ b/app/src/main/res/layout/maintenance_fragment.xml @@ -55,7 +55,7 @@ android:padding="10dip" app:columnCount="2"> - - - - - - - - Boolean): Boolean { - isEnabled = false - postDelayed({ isEnabled = true; aapsLogger.debug(LTag.UI, "Button enabled") }, BUTTON_REFRACTION_PERIOD) - return block() - } - - companion object { - - const val BUTTON_REFRACTION_PERIOD = 3000L - } -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt deleted file mode 100644 index d80d7bfb47..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/UIRunnable.kt +++ /dev/null @@ -1,9 +0,0 @@ -package info.nightscout.androidaps.utils.ui - -import info.nightscout.shared.extensions.runOnUiThread - -class UIRunnable (val runnable: Runnable) : Runnable { - override fun run() { - runOnUiThread(runnable) - } -} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt b/core/ui/src/main/java/info/nightscout/core/ui/ContextExtensions.kt similarity index 85% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt rename to core/ui/src/main/java/info/nightscout/core/ui/ContextExtensions.kt index db31c42970..66c90c75d2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/resources/ResourceHelperExtensions.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/ContextExtensions.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.resources +package info.nightscout.core.ui import android.content.Context import android.util.TypedValue diff --git a/core/ui/src/main/java/info/nightscout/core/ui/UIRunnable.kt b/core/ui/src/main/java/info/nightscout/core/ui/UIRunnable.kt new file mode 100644 index 0000000000..2ec57ab925 --- /dev/null +++ b/core/ui/src/main/java/info/nightscout/core/ui/UIRunnable.kt @@ -0,0 +1,14 @@ +package info.nightscout.core.ui + +import android.os.Handler +import android.os.Looper + +class UIRunnable (val runnable: Runnable) : Runnable { + private fun runOnUiThread(theRunnable: Runnable?) = theRunnable?.let { + Handler(Looper.getMainLooper()).post(it) + } + + override fun run() { + runOnUiThread(runnable) + } +} \ No newline at end of file diff --git a/core/ui/src/main/java/info/nightscout/core/ui/elements/SingleClickButton.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/SingleClickButton.kt new file mode 100644 index 0000000000..c204907443 --- /dev/null +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/SingleClickButton.kt @@ -0,0 +1,24 @@ +package info.nightscout.core.ui.elements + +import android.content.Context +import android.util.AttributeSet +import com.google.android.material.button.MaterialButton +import info.nightscout.core.ui.R + +class SingleClickButton @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.style.Widget_MaterialComponents_Button) : + MaterialButton(context, attrs, defStyleAttr) { + + override fun performClick(): Boolean = guardClick { super.performClick() } + override fun callOnClick(): Boolean = guardClick { super.callOnClick() } + + private fun guardClick(block: () -> Boolean): Boolean { + isEnabled = false + postDelayed({ isEnabled = true }, BUTTON_REFRACTION_PERIOD) + return block() + } + + companion object { + + const val BUTTON_REFRACTION_PERIOD = 3000L + } +} \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/VerticalTextView.kt similarity index 96% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/VerticalTextView.kt index b771b4073c..2e04fe4b76 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/VerticalTextView.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/VerticalTextView.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements import android.content.Context import android.graphics.Canvas diff --git a/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt b/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt index 9893ba50cf..7ee1656a24 100644 --- a/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/resources/ResourceHelperImpl.kt @@ -18,7 +18,7 @@ import androidx.annotation.StringRes import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.view.ContextThemeWrapper import androidx.core.content.ContextCompat -import info.nightscout.androidaps.utils.resources.getThemeColor +import info.nightscout.core.ui.getThemeColor import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.main.R import info.nightscout.shared.interfaces.ResourceHelper diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index 177920061f..078d35dfbf 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -14,10 +14,10 @@ import info.nightscout.androidaps.extensions.toStringMedium import info.nightscout.androidaps.extensions.toStringShort import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.ui.SingleClickButton -import info.nightscout.androidaps.utils.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.elements.SingleClickButton import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt index 7501343c79..69b9dc55f3 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt @@ -14,7 +14,7 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.ui.UIRunnable +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.Food diff --git a/plugins/src/main/res/layout/actions_fragment.xml b/plugins/src/main/res/layout/actions_fragment.xml index d61ea35e9e..7dd28c7b6c 100644 --- a/plugins/src/main/res/layout/actions_fragment.xml +++ b/plugins/src/main/res/layout/actions_fragment.xml @@ -41,7 +41,7 @@ android:padding="10dip" app:columnCount="2"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - protectionCheck.queryProtection( activity, ProtectionCheck.Protection.PREFERENCES, - UIRunnable { startActivity(Intent(context, ErosPodManagementActivity::class.java)) } + info.nightscout.core.ui.UIRunnable { startActivity(Intent(context, ErosPodManagementActivity::class.java)) } ) } } @@ -581,7 +581,7 @@ class OmnipodErosOverviewFragment : DaggerFragment() { private fun displayNotConfiguredDialog() { context?.let { - UIRunnable { + info.nightscout.core.ui.UIRunnable { OKDialog.show( it, rh.gs(R.string.omnipod_common_warning), rh.gs(R.string.omnipod_eros_error_operation_not_possible_no_configuration), null @@ -598,7 +598,7 @@ class OmnipodErosOverviewFragment : DaggerFragment() { private fun displayOkDialog(title: String, message: String) { context?.let { - UIRunnable { + info.nightscout.core.ui.UIRunnable { OKDialog.show(it, title, message, null) }.run() } diff --git a/pump/omnipod-eros/src/main/res/layout/omnipod_eros_pod_management.xml b/pump/omnipod-eros/src/main/res/layout/omnipod_eros_pod_management.xml index e0597f4e26..0ec672c5c0 100644 --- a/pump/omnipod-eros/src/main/res/layout/omnipod_eros_pod_management.xml +++ b/pump/omnipod-eros/src/main/res/layout/omnipod_eros_pod_management.xml @@ -73,7 +73,7 @@ android:orientation="horizontal" app:layout_constraintGuide_percent="0" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Date: Mon, 14 Nov 2022 12:39:38 +0100 Subject: [PATCH 084/123] classes -> :core:ui --- .../maintenance/ImportExportPrefsImpl.kt | 2 +- .../androidaps/utils/ui/SpinnerHelper.kt | 4 -- .../nightscout/androidaps/utils/WarnColors.kt | 34 ------------- .../ui/dialogs}/TwoMessagesAlertDialog.kt | 13 +++-- .../core/ui/elements}/SpinnerHelper.kt | 2 +- .../ui}/extensions/RadioGroupExtension.kt | 0 .../res/layout/dialog_alert_two_messages.xml | 0 .../implementation/di/ImplementationModule.kt | 6 +++ .../implementation/pump/WarnColorsImpl.kt | 50 +++++++++++++++++++ .../nightscout/interfaces/pump/WarnColors.kt | 10 ++++ .../plugins/ui/StatusLightHandler.kt | 2 +- .../nightscout/plugins/ui/TimeListEdit.java | 3 +- .../androidaps/dana/DanaFragment.kt | 2 +- .../androidaps/diaconn/DiaconnG8Fragment.kt | 2 +- .../pump/medtronic/MedtronicFragment.kt | 2 +- 15 files changed, 83 insertions(+), 49 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/ui/SpinnerHelper.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt rename {app/src/main/java/info/nightscout/androidaps/utils/alertDialogs => core/ui/src/main/java/info/nightscout/core/ui/dialogs}/TwoMessagesAlertDialog.kt (84%) rename {plugins/src/main/java/info/nightscout/plugins/ui => core/ui/src/main/java/info/nightscout/core/ui/elements}/SpinnerHelper.kt (99%) rename {app/src/main/java/info/nightscout/androidaps/utils => core/ui/src/main/java/info/nightscout/core/ui}/extensions/RadioGroupExtension.kt (100%) rename {app => core/ui}/src/main/res/layout/dialog_alert_two_messages.xml (100%) create mode 100644 implementation/src/main/java/info/nightscout/implementation/pump/WarnColorsImpl.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/pump/WarnColors.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index af3f9aaac8..495042ed26 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -29,10 +29,10 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog -import info.nightscout.androidaps.utils.alertDialogs.TwoMessagesAlertDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.dialogs.TwoMessagesAlertDialog import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/app/src/main/java/info/nightscout/androidaps/utils/ui/SpinnerHelper.kt b/app/src/main/java/info/nightscout/androidaps/utils/ui/SpinnerHelper.kt deleted file mode 100644 index 3623e8cf0c..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/ui/SpinnerHelper.kt +++ /dev/null @@ -1,4 +0,0 @@ -@file:Suppress("SpellCheckingInspection") - -package info.nightscout.androidaps.utils.ui - diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt deleted file mode 100644 index 5788becbb7..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/WarnColors.kt +++ /dev/null @@ -1,34 +0,0 @@ -package info.nightscout.androidaps.utils - -import android.widget.TextView -import info.nightscout.androidaps.extensions.isOlderThan -import info.nightscout.core.main.R -import info.nightscout.database.entities.TherapyEvent -import info.nightscout.shared.interfaces.ResourceHelper -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class WarnColors @Inject constructor(val rh: ResourceHelper) { - - fun setColor(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) = - view?.setTextColor( rh.gac( view.context ,when { - value >= urgentLevel -> R.attr.urgentColor - value >= warnLevel -> R.attr.warnColor - else -> R.attr.defaultTextColor - })) - - fun setColorInverse(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) = - view?.setTextColor( rh.gac( view.context , when { - value <= urgentLevel -> R.attr.urgentColor - value <= warnLevel -> R.attr.warnColor - else -> R.attr.defaultTextColor - })) - - fun setColorByAge(view: TextView?, therapyEvent: TherapyEvent, warnThreshold: Double, urgentThreshold: Double) = - view?.setTextColor( rh.gac( view.context , when { - therapyEvent.isOlderThan(urgentThreshold) -> R.attr.lowColor - therapyEvent.isOlderThan(warnThreshold) -> R.attr.highColor - else -> R.attr.defaultTextColor - })) -} diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/TwoMessagesAlertDialog.kt similarity index 84% rename from app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt rename to core/ui/src/main/java/info/nightscout/core/ui/dialogs/TwoMessagesAlertDialog.kt index 9662a575c9..797daaa926 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/TwoMessagesAlertDialog.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/dialogs/TwoMessagesAlertDialog.kt @@ -1,19 +1,24 @@ -package info.nightscout.androidaps.utils.alertDialogs +package info.nightscout.core.ui.dialogs import android.annotation.SuppressLint import android.content.Context import android.content.DialogInterface +import android.os.Handler +import android.os.Looper import android.os.SystemClock import android.view.LayoutInflater import android.view.View import android.widget.TextView import androidx.annotation.DrawableRes import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.R -import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.core.ui.R object TwoMessagesAlertDialog { + private fun runOnUiThread(theRunnable: Runnable?) = theRunnable?.let { + Handler(Looper.getMainLooper()).post(it) + } + @SuppressLint("InflateParams") fun showAlert(context: Context, title: String, message: String, secondMessage: String, ok: (() -> Unit)?, cancel: (() -> Unit)? = null, @DrawableRes icon: Int? = null) { @@ -23,7 +28,7 @@ object TwoMessagesAlertDialog { MaterialAlertDialogBuilder(context, R.style.DialogTheme) .setMessage(message) .setCustomTitle( - info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle( + AlertDialogHelper.buildCustomTitle( context, title, icon ?: R.drawable.ic_check_white_48dp ) diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/SpinnerHelper.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/SpinnerHelper.kt similarity index 99% rename from plugins/src/main/java/info/nightscout/plugins/ui/SpinnerHelper.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/SpinnerHelper.kt index 0d38c47e19..e0d1efbf6a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/SpinnerHelper.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/SpinnerHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.plugins.ui +package info.nightscout.core.ui.elements import android.view.MotionEvent import android.view.View diff --git a/app/src/main/java/info/nightscout/androidaps/utils/extensions/RadioGroupExtension.kt b/core/ui/src/main/java/info/nightscout/core/ui/extensions/RadioGroupExtension.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/utils/extensions/RadioGroupExtension.kt rename to core/ui/src/main/java/info/nightscout/core/ui/extensions/RadioGroupExtension.kt diff --git a/app/src/main/res/layout/dialog_alert_two_messages.xml b/core/ui/src/main/res/layout/dialog_alert_two_messages.xml similarity index 100% rename from app/src/main/res/layout/dialog_alert_two_messages.xml rename to core/ui/src/main/res/layout/dialog_alert_two_messages.xml diff --git a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt index e6cf6101c2..0b9d93e0f9 100644 --- a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt +++ b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt @@ -6,7 +6,9 @@ import dagger.Provides import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.HardLimitsImpl +import info.nightscout.implementation.pump.WarnColorsImpl import info.nightscout.implementation.resources.ResourceHelperImpl +import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -32,4 +34,8 @@ open class ImplementationModule { @Singleton fun provideHardLimits(aapsLogger: AAPSLogger, rxBus: RxBus, sp: SP, rh: ResourceHelper, context: Context, repository: AppRepository): HardLimits = HardLimitsImpl(aapsLogger, rxBus, sp, rh, context, repository) + + @Provides + @Singleton + fun provideWarnColors(rh: ResourceHelper): WarnColors = WarnColorsImpl(rh) } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/WarnColorsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/pump/WarnColorsImpl.kt new file mode 100644 index 0000000000..27c64201e4 --- /dev/null +++ b/implementation/src/main/java/info/nightscout/implementation/pump/WarnColorsImpl.kt @@ -0,0 +1,50 @@ +package info.nightscout.implementation.pump + +import android.widget.TextView +import info.nightscout.androidaps.extensions.isOlderThan +import info.nightscout.core.main.R +import info.nightscout.database.entities.TherapyEvent +import info.nightscout.interfaces.pump.WarnColors +import info.nightscout.shared.interfaces.ResourceHelper +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class WarnColorsImpl @Inject constructor(val rh: ResourceHelper): WarnColors { + + override fun setColor(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) { + view?.setTextColor( + rh.gac( + view.context, when { + value >= urgentLevel -> R.attr.urgentColor + value >= warnLevel -> R.attr.warnColor + else -> R.attr.defaultTextColor + } + ) + ) + } + + override fun setColorInverse(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) { + view?.setTextColor( + rh.gac( + view.context, when { + value <= urgentLevel -> R.attr.urgentColor + value <= warnLevel -> R.attr.warnColor + else -> R.attr.defaultTextColor + } + ) + ) + } + + override fun setColorByAge(view: TextView?, therapyEvent: TherapyEvent, warnThreshold: Double, urgentThreshold: Double) { + view?.setTextColor( + rh.gac( + view.context, when { + therapyEvent.isOlderThan(urgentThreshold) -> R.attr.lowColor + therapyEvent.isOlderThan(warnThreshold) -> R.attr.highColor + else -> R.attr.defaultTextColor + } + ) + ) + } +} diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/WarnColors.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/WarnColors.kt new file mode 100644 index 0000000000..8a7a8adf9f --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/WarnColors.kt @@ -0,0 +1,10 @@ +package info.nightscout.interfaces.pump + +import android.widget.TextView +import info.nightscout.database.entities.TherapyEvent + +interface WarnColors { + fun setColor(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) + fun setColorInverse(view: TextView?, value: Double, warnLevel: Double, urgentLevel: Double) + fun setColorByAge(view: TextView?, therapyEvent: TherapyEvent, warnThreshold: Double, urgentThreshold: Double) +} \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt index 2c9bb5da2b..643b214913 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt +++ b/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt @@ -3,12 +3,12 @@ package info.nightscout.plugins.ui import android.widget.TextView import androidx.annotation.StringRes import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.WarnColors import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.plugins.R import info.nightscout.plugins.sync.nsclient.extensions.age diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java index 6b6d7c35ff..848145d58a 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java +++ b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java @@ -24,11 +24,12 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; -import info.nightscout.shared.utils.DateUtil; import info.nightscout.androidaps.utils.ui.NumberPicker; +import info.nightscout.core.ui.elements.SpinnerHelper; import info.nightscout.plugins.R; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.shared.SafeParse; +import info.nightscout.shared.utils.DateUtil; /** * Created by mike on 29.12.2016. diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 05f6290474..245a79164b 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.WarnColors import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy @@ -23,6 +22,7 @@ import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Dana import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt index 3cb55f408e..2c10ee7b60 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Fragment.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.diaconn.activities.DiaconnG8HistoryActivity import info.nightscout.androidaps.diaconn.activities.DiaconnG8UserOptionsActivity import info.nightscout.androidaps.diaconn.databinding.DiaconnG8FragmentBinding import info.nightscout.androidaps.diaconn.events.EventDiaconnG8NewStatus -import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt index 191c2df260..216a0e0ded 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicFragment.kt @@ -22,11 +22,11 @@ import info.nightscout.androidaps.plugins.pump.medtronic.driver.MedtronicPumpSta import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpConfigurationChanged import info.nightscout.androidaps.plugins.pump.medtronic.events.EventMedtronicPumpValuesChanged import info.nightscout.androidaps.plugins.pump.medtronic.util.MedtronicUtil -import info.nightscout.androidaps.utils.WarnColors import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.pump.core.defs.PumpDeviceState From a2f048adc4ef0e6f1450070f49fb044835e26bd7 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 13:25:09 +0100 Subject: [PATCH 085/123] ToastUtils -> :core:ui --- .../maintenance/ImportExportPrefsImpl.kt | 2 +- .../general/overview/OverviewFragment.kt | 6 ++-- .../general/overview/graphData/GraphData.kt | 2 +- .../wear/wearintegration/DataHandlerMobile.kt | 2 +- .../alertDialogs/PrefImportSummaryDialog.kt | 2 +- app/src/main/res/values/strings.xml | 1 - .../automation/dialogs/EditEventDialog.kt | 2 +- .../automation/triggers/TriggerBTDevice.kt | 4 +-- .../utils/protection/BiometricCheck.kt | 18 ++++++++++-- .../utils/protection/PasswordCheck.kt | 2 +- .../utils/ui/BluetoothDevicePreference.kt | 5 ++-- .../androidaps/utils/ui/NumberPicker.kt | 22 +++++++++++---- .../core/toast/ToastUtilsExtension.kt | 18 ++++++++++++ core/ui/build.gradle | 4 +++ .../nightscout/core/ui/toast}/ToastUtils.kt | 28 +++++++------------ .../src/main/res/drawable/ic_toast_check.xml | 0 .../res/drawable/ic_toast_delete_confirm.xml | 0 .../src/main/res/drawable/ic_toast_error.xml | 0 .../src/main/res/drawable/ic_toast_info.xml | 0 .../src/main/res/drawable/ic_toast_warn.xml | 0 .../src/main/res/layout/toast.xml | 0 core/ui/src/main/res/values/strings.xml | 3 ++ .../implementation/AndroidPermissionImpl.kt | 2 +- .../implementation/HardLimitsImpl.kt | 5 ++-- .../implementation/XDripBroadcastImpl.kt | 2 +- .../activities/ObjectivesExamDialog.kt | 2 +- .../activities/SmsCommunicatorOtpActivity.kt | 2 +- .../plugins/profile/ProfilePlugin.kt | 2 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 5 ++-- .../sync/nsclientV3/NSClientV3Plugin.kt | 5 ++-- .../plugins/sync/tidepool/TidepoolPlugin.kt | 5 ++-- pump/danar/build.gradle | 1 + .../AbstractDanaRExecutionService.java | 2 +- .../androidaps/danars/DanaRSPlugin.kt | 2 +- .../danars/activities/BLEScanActivity.kt | 2 +- .../androidaps/danars/services/BLEComm.kt | 2 +- pump/diaconn/build.gradle | 1 + .../androidaps/diaconn/DiaconnG8Plugin.kt | 2 +- .../activities/DiaconnG8BLEScanActivity.kt | 2 +- .../DiaconnG8UserOptionsActivity.kt | 2 +- .../diaconn/service/BLECommonService.kt | 2 +- .../eopatch/ui/EopatchConnectNewFragment.kt | 8 ++++-- .../eopatch/ui/EopatchOverviewFragment.kt | 2 +- .../eopatch/ui/EopatchRotateKnobFragment.kt | 2 +- .../ui/activities/ProfileHelperActivity.kt | 2 +- .../ui/activities/SurveyActivity.kt | 2 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 2 +- .../fragments/TreatmentsCareportalFragment.kt | 2 +- .../TreatmentsExtendedBolusesFragment.kt | 2 +- .../TreatmentsProfileSwitchFragment.kt | 2 +- .../fragments/TreatmentsTempTargetFragment.kt | 2 +- .../TreatmentsTemporaryBasalsFragment.kt | 2 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- .../ui/dialogs/ExtendedBolusDialog.kt | 2 +- .../info/nightscout/ui/dialogs/FillDialog.kt | 2 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 2 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 2 +- .../ui/dialogs/ProfileSwitchDialog.kt | 2 +- .../nightscout/ui/dialogs/TempBasalDialog.kt | 2 +- .../nightscout/ui/dialogs/TempTargetDialog.kt | 2 +- .../nightscout/ui/dialogs/TreatmentDialog.kt | 2 +- .../nightscout/ui/dialogs/WizardDialog.kt | 2 +- 63 files changed, 135 insertions(+), 84 deletions(-) create mode 100644 core/core-main/src/main/java/info/nightscout/core/toast/ToastUtilsExtension.kt rename core/{core-main/src/main/java/info/nightscout/androidaps/utils => ui/src/main/java/info/nightscout/core/ui/toast}/ToastUtils.kt (80%) rename core/{core-main => ui}/src/main/res/drawable/ic_toast_check.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_toast_delete_confirm.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_toast_error.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_toast_info.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_toast_warn.xml (100%) rename core/{core-main => ui}/src/main/res/layout/toast.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index 495042ed26..d13dec97ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -27,12 +27,12 @@ import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.TwoMessagesAlertDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 047e8f146e..9c90e0a964 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -45,17 +45,17 @@ import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.core.ui.elements.SingleClickButton -import info.nightscout.core.ui.UIRunnable import info.nightscout.automation.AutomationPlugin import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.displayText import info.nightscout.core.profile.toSignedUnitsString import info.nightscout.core.profile.toTargetRangeString import info.nightscout.core.profile.toUnits +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.elements.SingleClickButton +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.wizard.QuickWizard import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt index ffe1b3f728..4b8979a032 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/graphData/GraphData.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.plugins.general.overview.graphExtensions.Effec import info.nightscout.androidaps.plugins.general.overview.graphExtensions.GlucoseValueDataPoint import info.nightscout.androidaps.plugins.general.overview.graphExtensions.TimeAsXAxisLabelFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index c0398c51d2..a6472fe6ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -16,13 +16,13 @@ import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.services.AlarmSoundServiceHelper import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.generateCOBString import info.nightscout.core.iob.round import info.nightscout.core.profile.fromMgdlToUnits import info.nightscout.core.profile.toMgdl import info.nightscout.core.profile.toTargetRangeString +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.wizard.BolusWizard import info.nightscout.core.wizard.QuickWizard import info.nightscout.core.wizard.QuickWizardEntry diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt index 8b5e3bae14..76482f1122 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt @@ -18,7 +18,7 @@ import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.R -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.maintenance.Prefs import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.shared.extensions.runOnUiThread diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 721c727511..df0ec70b04 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -110,7 +110,6 @@ This value is called Max IOB in OpenAPS context\nThis is maximal insulin in [U] APS can deliver at once. Language You will be asked for master password, which will be used to encrypt exported preferences. - You will be asked for master password, which is needed to decrypt imported preferences. Export canceled! Preferences were NOT exported! Import canceled! Preferences were NOT imported! Cannot import preferences! diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt index 8684bacef0..7e3f785f58 100644 --- a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt +++ b/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt @@ -11,7 +11,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.dialogs.DialogFragmentWithDate -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationEvent import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.R @@ -23,6 +22,7 @@ import info.nightscout.automation.events.EventAutomationUpdateAction import info.nightscout.automation.events.EventAutomationUpdateGui import info.nightscout.automation.events.EventAutomationUpdateTrigger import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.shared.extensions.toVisibility diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt index 17cbafa370..13a851d10a 100644 --- a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt +++ b/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt @@ -9,14 +9,14 @@ import android.widget.LinearLayout import androidx.core.app.ActivityCompat import com.google.common.base.Optional import dagger.android.HasAndroidInjector -import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.R import info.nightscout.automation.elements.ComparatorConnect import info.nightscout.automation.elements.InputDropdownMenu import info.nightscout.automation.elements.LayoutBuilder import info.nightscout.automation.elements.StaticLabel +import info.nightscout.core.ui.toast.ToastUtils +import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.rx.events.EventBTChange import info.nightscout.rx.logging.LTag import org.json.JSONObject diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt index 31be63bbb5..9e1dbb77c6 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/BiometricCheck.kt @@ -1,10 +1,24 @@ package info.nightscout.androidaps.utils.protection import androidx.biometric.BiometricPrompt -import androidx.biometric.BiometricPrompt.* +import androidx.biometric.BiometricPrompt.AuthenticationResult +import androidx.biometric.BiometricPrompt.ERROR_CANCELED +import androidx.biometric.BiometricPrompt.ERROR_HW_NOT_PRESENT +import androidx.biometric.BiometricPrompt.ERROR_HW_UNAVAILABLE +import androidx.biometric.BiometricPrompt.ERROR_LOCKOUT +import androidx.biometric.BiometricPrompt.ERROR_LOCKOUT_PERMANENT +import androidx.biometric.BiometricPrompt.ERROR_NEGATIVE_BUTTON +import androidx.biometric.BiometricPrompt.ERROR_NO_BIOMETRICS +import androidx.biometric.BiometricPrompt.ERROR_NO_DEVICE_CREDENTIAL +import androidx.biometric.BiometricPrompt.ERROR_NO_SPACE +import androidx.biometric.BiometricPrompt.ERROR_TIMEOUT +import androidx.biometric.BiometricPrompt.ERROR_UNABLE_TO_PROCESS +import androidx.biometric.BiometricPrompt.ERROR_USER_CANCELED +import androidx.biometric.BiometricPrompt.ERROR_VENDOR +import androidx.biometric.BiometricPrompt.PromptInfo import androidx.fragment.app.FragmentActivity import info.nightscout.core.main.R -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.shared.extensions.runOnUiThread import java.util.concurrent.Executors diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt index 52efa43b9a..ff1af870d2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/protection/PasswordCheck.kt @@ -14,8 +14,8 @@ import androidx.annotation.StringRes import com.google.android.material.dialog.MaterialAlertDialogBuilder import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.utils.CryptoUtil -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.main.R +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.sharedPreferences.SP import java.io.File diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt index 00d3e0d556..5297a91054 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt @@ -1,7 +1,6 @@ package info.nightscout.androidaps.utils.ui import android.Manifest -import kotlin.jvm.JvmOverloads import android.bluetooth.BluetoothManager import android.content.Context import android.content.pm.PackageManager @@ -10,8 +9,8 @@ import android.util.AttributeSet import androidx.core.app.ActivityCompat import androidx.preference.ListPreference import info.nightscout.core.main.R -import info.nightscout.androidaps.utils.ToastUtils -import java.util.* +import info.nightscout.core.ui.toast.ToastUtils +import java.util.Vector class BluetoothDevicePreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : ListPreference(context, attrs) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt index 3f93fdeae2..f499656f4a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt @@ -23,9 +23,7 @@ import android.widget.Button import android.widget.LinearLayout import info.nightscout.core.main.R import info.nightscout.core.main.databinding.NumberPickerLayoutBinding -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.utils.ToastUtils -import info.nightscout.shared.SafeParse +import info.nightscout.core.ui.toast.ToastUtils import java.text.NumberFormat import java.util.concurrent.Executors import java.util.concurrent.ScheduledExecutorService @@ -69,6 +67,20 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL false }) + private fun Boolean.toVisibility() = if (this) View.VISIBLE else View.GONE + private fun stringToDouble(inputString: String?, defaultValue: Double = 0.0): Double { + var input = inputString ?: return defaultValue + var result = defaultValue + input = input.replace(",", ".") + input = input.replace("−", "-") + if (input == "") return defaultValue + try { + result = input.toDouble() + } catch (e: Exception) { +// log.error("Error parsing " + input + " to double"); + } + return result + } private inner class UpdateCounterTask(private val mInc: Boolean) : Runnable { private var repeated = 0 @@ -121,7 +133,7 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {} override fun afterTextChanged(s: Editable) { - if (focused) currentValue = SafeParse.stringToDouble(binding.editText.text.toString()) + if (focused) currentValue = stringToDouble(binding.editText.text.toString()) callValueChangedListener() val inValid = currentValue > maxValue || currentValue < minValue okButton?.visibility = inValid.not().toVisibility() @@ -174,7 +186,7 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL binding.editText.addTextChangedListener(textWatcher) binding.editText.onFocusChangeListener = OnFocusChangeListener { _: View?, hasFocus: Boolean -> if (!hasFocus) { - currentValue = SafeParse.stringToDouble(binding.editText.text.toString()) + currentValue = stringToDouble(binding.editText.text.toString()) if (currentValue > maxValue) { currentValue = maxValue ToastUtils.warnToast(context, R.string.youareonallowedlimit) diff --git a/core/core-main/src/main/java/info/nightscout/core/toast/ToastUtilsExtension.kt b/core/core-main/src/main/java/info/nightscout/core/toast/ToastUtilsExtension.kt new file mode 100644 index 0000000000..5777495f3f --- /dev/null +++ b/core/core-main/src/main/java/info/nightscout/core/toast/ToastUtilsExtension.kt @@ -0,0 +1,18 @@ +package info.nightscout.core.toast + +import android.content.Context +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.core.ui.toast.ToastUtils +import info.nightscout.interfaces.notifications.Notification +import info.nightscout.rx.bus.RxBus + +fun ToastUtils.showToastAdNotification( + ctx: Context?, rxBus: RxBus, + string: String?, soundID: Int +) { + showToastInUiThread(ctx, string) + playSound(ctx, soundID) + val notification = Notification(Notification.TOAST_ALARM, string!!, Notification.URGENT) + rxBus.send(EventNewNotification(notification)) +} + diff --git a/core/ui/build.gradle b/core/ui/build.gradle index 85b1b18ce0..fbb185544f 100644 --- a/core/ui/build.gradle +++ b/core/ui/build.gradle @@ -9,6 +9,10 @@ apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" android { namespace 'info.nightscout.core.ui' + + buildFeatures { + viewBinding true + } } dependencies { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt b/core/ui/src/main/java/info/nightscout/core/ui/toast/ToastUtils.kt similarity index 80% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt rename to core/ui/src/main/java/info/nightscout/core/ui/toast/ToastUtils.kt index 3406711f11..cc9d457c2f 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ToastUtils.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/toast/ToastUtils.kt @@ -1,10 +1,12 @@ -package info.nightscout.androidaps.utils +package info.nightscout.core.ui.toast import android.annotation.SuppressLint import android.content.Context import android.media.MediaPlayer import android.os.Handler import android.os.Looper +import android.text.Html +import android.text.Spanned import android.view.LayoutInflater import android.widget.ImageView import android.widget.TextView @@ -12,12 +14,8 @@ import android.widget.Toast import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.appcompat.view.ContextThemeWrapper -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.core.main.R +import info.nightscout.core.ui.R import info.nightscout.core.ui.getThemeColor -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.interfaces.utils.HtmlHelper -import info.nightscout.rx.bus.RxBus object ToastUtils { @@ -78,29 +76,23 @@ object ToastUtils { val toast: Toast = Toast.makeText( ctx, - HtmlHelper.fromHtml("" + string + ""), + fromHtml("" + string + ""), Toast.LENGTH_SHORT ) toast.show() } } - fun showToastInUiThread( - ctx: Context?, rxBus: RxBus, - string: String?, soundID: Int - ) { - showToastInUiThread(ctx, string) - playSound(ctx, soundID) - val notification = Notification(Notification.TOAST_ALARM, string!!, Notification.URGENT) - rxBus.send(EventNewNotification(notification)) - } - - private fun playSound(ctx: Context?, soundID: Int) { + fun playSound(ctx: Context?, soundID: Int) { val soundMP = MediaPlayer.create(ctx, soundID) soundMP.start() soundMP.setOnCompletionListener { obj: MediaPlayer -> obj.release() } } + private fun fromHtml(source: String): Spanned { + return Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY) + } + object Long { fun warnToast(ctx: Context?, string: String) { diff --git a/core/core-main/src/main/res/drawable/ic_toast_check.xml b/core/ui/src/main/res/drawable/ic_toast_check.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_toast_check.xml rename to core/ui/src/main/res/drawable/ic_toast_check.xml diff --git a/core/core-main/src/main/res/drawable/ic_toast_delete_confirm.xml b/core/ui/src/main/res/drawable/ic_toast_delete_confirm.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_toast_delete_confirm.xml rename to core/ui/src/main/res/drawable/ic_toast_delete_confirm.xml diff --git a/core/core-main/src/main/res/drawable/ic_toast_error.xml b/core/ui/src/main/res/drawable/ic_toast_error.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_toast_error.xml rename to core/ui/src/main/res/drawable/ic_toast_error.xml diff --git a/core/core-main/src/main/res/drawable/ic_toast_info.xml b/core/ui/src/main/res/drawable/ic_toast_info.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_toast_info.xml rename to core/ui/src/main/res/drawable/ic_toast_info.xml diff --git a/core/core-main/src/main/res/drawable/ic_toast_warn.xml b/core/ui/src/main/res/drawable/ic_toast_warn.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_toast_warn.xml rename to core/ui/src/main/res/drawable/ic_toast_warn.xml diff --git a/core/core-main/src/main/res/layout/toast.xml b/core/ui/src/main/res/layout/toast.xml similarity index 100% rename from core/core-main/src/main/res/layout/toast.xml rename to core/ui/src/main/res/layout/toast.xml diff --git a/core/ui/src/main/res/values/strings.xml b/core/ui/src/main/res/values/strings.xml index 3973c2acde..1c213f6e9a 100644 --- a/core/ui/src/main/res/values/strings.xml +++ b/core/ui/src/main/res/values/strings.xml @@ -9,4 +9,7 @@ Yes No + + You will be asked for master password, which is needed to decrypt imported preferences. + \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt index 13c56ead2e..9afefc49ad 100644 --- a/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/AndroidPermissionImpl.kt @@ -14,8 +14,8 @@ import android.provider.Settings import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity import info.nightscout.androidaps.activities.DaggerAppCompatActivityWithResult -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification diff --git a/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt b/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt index f1641ef0e5..385dae2c9f 100644 --- a/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/HardLimitsImpl.kt @@ -2,8 +2,9 @@ package info.nightscout.implementation import android.content.Context import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.main.R +import info.nightscout.core.toast.showToastAdNotification +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertTherapyEventAnnouncementTransaction import info.nightscout.interfaces.utils.HardLimits @@ -101,7 +102,7 @@ class HardLimitsImpl @Inject constructor( msg += rh.gs(R.string.valuelimitedto, value, newValue) aapsLogger.error(msg) disposable += repository.runTransaction(InsertTherapyEventAnnouncementTransaction(msg)).subscribe() - ToastUtils.showToastInUiThread(context, rxBus, msg, R.raw.error) + ToastUtils.showToastAdNotification(context, rxBus, msg, R.raw.error) } return newValue } diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index 16cc20692a..da3dcffed3 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.receivers.Intents -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.XDripBroadcast diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt index 89ba9b17c3..12ff59c4a6 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt @@ -5,7 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerDialogFragment -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.plugins.R import info.nightscout.plugins.constraints.objectives.events.EventObjectivesUpdateGui import info.nightscout.plugins.constraints.objectives.objectives.Objective diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt index ad382c97ec..dca46a5df4 100644 --- a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt +++ b/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt @@ -14,9 +14,9 @@ import com.google.common.primitives.Ints.min import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.smsCommunicator.SmsCommunicator diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 8baba7246f..13d5950199 100644 --- a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -12,10 +12,10 @@ import info.nightscout.androidaps.extensions.blockFromJsonArray import info.nightscout.androidaps.extensions.pureProfileFromJson import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.core.profile.toMgdl import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index e2c2070f0e..e42dd14398 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -12,8 +12,9 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.toast.showToastAdNotification +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants @@ -186,7 +187,7 @@ class NSClientPlugin @Inject constructor( } return fromHtml(newTextLog.toString()) } catch (e: OutOfMemoryError) { - ToastUtils.showToastInUiThread(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) + ToastUtils.showToastAdNotification(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) } return fromHtml("") } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 951e2ba96e..0e6715af29 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -12,8 +12,9 @@ import androidx.work.OneTimeWorkRequest import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.toast.showToastAdNotification +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants @@ -226,7 +227,7 @@ class NSClientV3Plugin @Inject constructor( } return HtmlHelper.fromHtml(newTextLog.toString()) } catch (e: OutOfMemoryError) { - ToastUtils.showToastInUiThread(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) + ToastUtils.showToastAdNotification(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) } return HtmlHelper.fromHtml("") } diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt index 2de4878b9d..76e0cf2a89 100644 --- a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt @@ -7,8 +7,9 @@ import androidx.preference.PreferenceFragmentCompat import dagger.android.HasAndroidInjector import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.toast.showToastAdNotification +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription @@ -171,7 +172,7 @@ class TidepoolPlugin @Inject constructor( } textLog = HtmlHelper.fromHtml(newTextLog.toString()) } catch (e: OutOfMemoryError) { - ToastUtils.showToastInUiThread(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) + ToastUtils.showToastAdNotification(context, rxBus, "Out of memory!\nStop using this phone !!!", R.raw.error) } } diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 2cdabf540c..f60b31fac2 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -20,6 +20,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core:core-main') implementation project(':core:fabric') + implementation project(':core:ui') implementation project(':pump:dana') implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java index 8152625dd4..5792e928cc 100644 --- a/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java +++ b/pump/danar/src/main/java/info/nightscout/androidaps/danar/services/AbstractDanaRExecutionService.java @@ -40,8 +40,8 @@ import info.nightscout.androidaps.danar.comm.MsgHistorySuspend; import info.nightscout.androidaps.danar.comm.MsgPCCommStart; import info.nightscout.androidaps.danar.comm.MsgPCCommStop; import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.utils.ToastUtils; import info.nightscout.core.fabric.FabricPrivacy; +import info.nightscout.core.ui.toast.ToastUtils; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.profile.Profile; diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt index a0eb2f63dd..9fe5ea4e57 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt @@ -20,8 +20,8 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt index 96ab578ecc..1c7ca6542c 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/activities/BLEScanActivity.kt @@ -26,7 +26,7 @@ import info.nightscout.androidaps.danars.databinding.DanarsBlescannerActivityBin import info.nightscout.androidaps.danars.events.EventDanaRSDeviceChange import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.shared.sharedPreferences.SP import java.util.regex.Pattern import javax.inject.Inject diff --git a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt index 7b058e89b3..084a38d2ce 100644 --- a/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt +++ b/pump/danars/src/main/java/info/nightscout/androidaps/danars/services/BLEComm.kt @@ -34,7 +34,7 @@ import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.pump.PumpSync import info.nightscout.rx.bus.RxBus diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index 0f899fc708..3356efd9d3 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -36,6 +36,7 @@ dependencies { api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" api "androidx.room:room-rxjava3:$room_version" + implementation project(path: ':core:ui') kapt "androidx.room:room-compiler:$room_version" api "com.squareup.okhttp3:okhttp:$okhttp3_version" diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt index 2ea58347eb..7bd5144ea8 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/DiaconnG8Plugin.kt @@ -18,8 +18,8 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.notifications.Notification diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt index 8bf851e9c9..013790865f 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8BLEScanActivity.kt @@ -29,7 +29,7 @@ import info.nightscout.androidaps.diaconn.databinding.DiaconnG8BlescannerActivit import info.nightscout.androidaps.diaconn.events.EventDiaconnG8DeviceChange import info.nightscout.androidaps.extensions.safeEnable import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.shared.sharedPreferences.SP import java.util.UUID import javax.inject.Inject diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt index 8f2c86c0dd..9153917af9 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/activities/DiaconnG8UserOptionsActivity.kt @@ -9,8 +9,8 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.diaconn.DiaconnG8Pump import info.nightscout.androidaps.diaconn.R import info.nightscout.androidaps.diaconn.databinding.DiaconnG8UserOptionsActivityBinding -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue diff --git a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt index 6d5df45aaa..7fdb3bc71d 100644 --- a/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt +++ b/pump/diaconn/src/main/java/info/nightscout/androidaps/diaconn/service/BLECommonService.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.diaconn.packet.InjectionBlockReportPacket import info.nightscout.androidaps.diaconn.packet.InsulinLackReportPacket import info.nightscout.androidaps.extensions.notify import info.nightscout.androidaps.extensions.waitMillis -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventPumpStatusChanged diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchConnectNewFragment.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchConnectNewFragment.kt index 669ddb6734..1ff5cef20c 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchConnectNewFragment.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchConnectNewFragment.kt @@ -3,12 +3,16 @@ package info.nightscout.androidaps.plugins.pump.eopatch.ui import android.os.Bundle import android.view.View import androidx.lifecycle.ViewModelProvider -import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.* import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchStep import info.nightscout.androidaps.plugins.pump.eopatch.databinding.FragmentEopatchConnectNewBinding import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.ACTIVATION_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.BONDING_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.GET_PATCH_INFO_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SCAN_FAILED +import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel.SetupStep.SELF_TEST_FAILED +import info.nightscout.core.ui.toast.ToastUtils class EopatchConnectNewFragment : EoBaseFragment() { diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt index c5f9453622..9d07f0306f 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchOverviewFragment.kt @@ -14,7 +14,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.core.code.BolusType import info.nightscout.androidaps.plugins.pump.eopatch.databinding.FragmentEopatchOverviewBinding import info.nightscout.androidaps.plugins.pump.eopatch.extension.takeOne import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchOverviewViewModel -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchRotateKnobFragment.kt b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchRotateKnobFragment.kt index 9f1920a548..74fdfc5557 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchRotateKnobFragment.kt +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ui/EopatchRotateKnobFragment.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.plugins.pump.eopatch.R import info.nightscout.androidaps.plugins.pump.eopatch.code.PatchStep import info.nightscout.androidaps.plugins.pump.eopatch.databinding.FragmentEopatchRotateKnobBinding import info.nightscout.androidaps.plugins.pump.eopatch.ui.viewmodel.EopatchViewModel -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils class EopatchRotateKnobFragment : EoBaseFragment() { diff --git a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt index 848ccfb4d0..f653e0b8f2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/ProfileHelperActivity.kt @@ -11,9 +11,9 @@ import com.google.common.collect.Lists import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.plugin.ActivePlugin diff --git a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt index a098f84ccc..53539a6482 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/SurveyActivity.kt @@ -3,7 +3,7 @@ package info.nightscout.ui.activities import android.os.Bundle import android.widget.ArrayAdapter import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.utils.ToastUtils +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.ui.ActivityNames diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index fbed6dc204..a66a3b1f0f 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.Carbs diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index 80a1289d71..fbbe9d37cc 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -16,10 +16,10 @@ import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt index 6b451d3105..6d20fb8ab4 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsExtendedBolusesFragment.kt @@ -19,9 +19,9 @@ import info.nightscout.androidaps.extensions.iobCalc import info.nightscout.androidaps.extensions.isInProgress import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index 9bfbb74b91..f793bac2c2 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -22,9 +22,9 @@ import info.nightscout.androidaps.events.EventNewHistoryData import info.nightscout.androidaps.extensions.getCustomizedName import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index f7bdaf425f..954f371678 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -22,10 +22,10 @@ import info.nightscout.androidaps.extensions.highValueToUnitsToString import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.Translator import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt index 426f74d3cd..491f8c4d3a 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTemporaryBasalsFragment.kt @@ -20,9 +20,9 @@ import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.extensions.toTemporaryBasal import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.ActionModeHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.UserEntry.Action diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt index a4c67d3b5f..921e5829cd 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsUserEntryFragment.kt @@ -13,10 +13,10 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import dagger.android.support.DaggerFragment import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 593c584298..dc2f735e6d 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -14,11 +14,11 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.BOLUS import info.nightscout.core.profile.toMgdl import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt index 4b1a8c1582..97c1806957 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ExtendedBolusDialog.kt @@ -9,9 +9,9 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt index 600039c02f..7981511ef8 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/FillDialog.kt @@ -10,9 +10,9 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index b748719863..ea7d385819 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -13,12 +13,12 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt index 2886a74d3d..a7b6270c93 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/LoopDialog.kt @@ -12,10 +12,10 @@ import android.view.WindowManager import androidx.fragment.app.FragmentManager import dagger.android.support.DaggerDialogFragment import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.OfflineEvent import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt index 9981ca2fac..c0a675c948 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/ProfileSwitchDialog.kt @@ -13,10 +13,10 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt index e1f4c509e4..4b3b16dfd1 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempBasalDialog.kt @@ -9,9 +9,9 @@ import com.google.common.base.Joiner import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.interfaces.constraints.Constraint diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt index 1a33e3e965..63301cd664 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TempTargetDialog.kt @@ -11,11 +11,11 @@ import com.google.common.collect.Lists import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toCurrentUnitsString import info.nightscout.core.profile.toMgdl import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index 446b484c99..f045d33f1e 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -12,11 +12,11 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.pumpExtensions.insertBolusTransaction import info.nightscout.core.pumpExtensions.insertCarbsTransaction import info.nightscout.core.ui.dialogs.OKDialog +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt index 27f6d66cb4..bb81a7f4b0 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/WizardDialog.kt @@ -22,12 +22,12 @@ import info.nightscout.androidaps.data.ProfileSealed import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.ToastUtils import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.iob.round import info.nightscout.core.profile.toMgdl import info.nightscout.core.profile.toUnitsString +import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.wizard.BolusWizard import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper From d50d1bf9c9ed6bb49f574f931dba04b57d90432e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 13:53:25 +0100 Subject: [PATCH 086/123] NumberPicker -> :core:ui --- .../setupwizard/elements/SWEditIntNumber.kt | 2 +- .../setupwizard/elements/SWEditNumber.kt | 2 +- .../elements/SWEditNumberWithUnits.kt | 2 +- .../nightscout/automation/elements/InputBg.kt | 2 +- .../automation/elements/InputDelta.kt | 4 ++-- .../automation/elements/InputDouble.kt | 2 +- .../automation/elements/InputDuration.kt | 4 ++-- .../automation/elements/InputInsulin.kt | 2 +- .../automation/elements/InputPercent.kt | 2 +- .../automation/elements/InputTempTarget.kt | 2 +- core/core-main/build.gradle | 1 - .../src/main/res/values-cs-rCZ/strings.xml | 2 +- .../src/main/res/values-es-rES/strings.xml | 2 +- .../src/main/res/values-fr-rFR/strings.xml | 2 +- .../src/main/res/values-it-rIT/strings.xml | 2 +- .../src/main/res/values-nl-rNL/strings.xml | 2 +- .../src/main/res/values-no-rNO/strings.xml | 2 +- .../src/main/res/values-ru-rRU/strings.xml | 2 +- .../src/main/res/values-sk-rSK/strings.xml | 2 +- .../src/main/res/values-tr-rTR/strings.xml | 2 +- .../core-main/src/main/res/values/strings.xml | 6 ----- core/ui/build.gradle | 8 ++++--- core/ui/src/main/AndroidManifest.xml | 3 ++- .../ui/elements}/BluetoothDevicePreference.kt | 4 ++-- .../elements}/DigitsKeyListenerWithComma.java | 2 +- .../core/ui/elements}/MinutesNumberPicker.kt | 4 ++-- .../core/ui/elements}/NumberPicker.kt | 22 +++++++++---------- .../core/ui/elements}/NumberPickerVertical.kt | 4 ++-- .../ui/elements}/NumberPickerViewAdapter.kt | 8 +++---- .../drawable-hdpi/background_input_border.xml | 0 .../src/main/res/drawable/ic_minus.xml | 0 .../src/main/res/drawable/ic_plus.xml | 0 .../src/main/res/layout/close.xml | 0 .../src/main/res/layout/datetime.xml | 0 .../main/res/layout/number_picker_layout.xml | 2 +- .../layout/number_picker_layout_vertical.xml | 2 +- .../src/main/res/layout/okcancel.xml | 3 +-- core/ui/src/main/res/values/strings.xml | 12 ++++++++++ .../nightscout/plugins/ui/TimeListEdit.java | 2 +- .../src/main/res/layout/autotune_fragment.xml | 2 +- .../src/main/res/layout/profile_fragment.xml | 2 +- .../main/res/layout/timelistedit_element.xml | 4 ++-- .../layout/timelistedit_element_vertical.xml | 4 ++-- .../layout/danar_user_options_activity.xml | 8 +++---- pump/danar/src/main/res/xml/pref_danar.xml | 2 +- .../src/main/res/xml/pref_danarkorean.xml | 2 +- pump/danar/src/main/res/xml/pref_danarv2.xml | 2 +- .../diaconn_g8_user_options_activity.xml | 2 +- .../res/layout/activity_profilehelper.xml | 8 +++---- ui/src/main/res/layout/dialog_calibration.xml | 2 +- ui/src/main/res/layout/dialog_carbs.xml | 14 ++++++------ ui/src/main/res/layout/dialog_care.xml | 4 ++-- .../main/res/layout/dialog_extendedbolus.xml | 6 ++--- ui/src/main/res/layout/dialog_fill.xml | 2 +- ui/src/main/res/layout/dialog_insulin.xml | 6 ++--- .../main/res/layout/dialog_profileswitch.xml | 8 +++---- ui/src/main/res/layout/dialog_tempbasal.xml | 6 ++--- ui/src/main/res/layout/dialog_temptarget.xml | 4 ++-- ui/src/main/res/layout/dialog_treatment.xml | 4 ++-- ui/src/main/res/layout/dialog_wizard.xml | 8 +++---- 60 files changed, 116 insertions(+), 109 deletions(-) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/BluetoothDevicePreference.kt (94%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/DigitsKeyListenerWithComma.java (99%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/MinutesNumberPicker.kt (93%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/NumberPicker.kt (94%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/NumberPickerVertical.kt (79%) rename core/{core-main/src/main/java/info/nightscout/androidaps/utils/ui => ui/src/main/java/info/nightscout/core/ui/elements}/NumberPickerViewAdapter.kt (85%) rename core/{core-main => ui}/src/main/res/drawable-hdpi/background_input_border.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_minus.xml (100%) rename core/{core-main => ui}/src/main/res/drawable/ic_plus.xml (100%) rename core/{core-main => ui}/src/main/res/layout/close.xml (100%) rename core/{core-main => ui}/src/main/res/layout/datetime.xml (100%) rename core/{core-main => ui}/src/main/res/layout/number_picker_layout.xml (97%) rename core/{core-main => ui}/src/main/res/layout/number_picker_layout_vertical.xml (96%) rename core/{core-main => ui}/src/main/res/layout/okcancel.xml (93%) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt index af3b66544b..40194c950f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt @@ -8,8 +8,8 @@ import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.setupwizard.SWIntNumberValidator +import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse -import info.nightscout.androidaps.utils.ui.NumberPicker import java.text.DecimalFormat class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, private val min: Int, private val max: Int) : SWItem(injector, Type.NUMBER) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt index 331494737a..b8ce64b142 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt @@ -8,8 +8,8 @@ import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.setupwizard.SWNumberValidator +import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse -import info.nightscout.androidaps.utils.ui.NumberPicker import java.text.DecimalFormat class SWEditNumber(injector: HasAndroidInjector, private val init: Double, private val min: Double, private val max: Double) : SWItem(injector, Type.DECIMAL_NUMBER) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt index 26b771749f..b45442ef10 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt @@ -8,8 +8,8 @@ import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector import info.nightscout.androidaps.setupwizard.SWNumberValidator -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.core.profile.toCurrentUnits +import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt index 3c1f16eea8..1dfc3aeac7 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt @@ -2,8 +2,8 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.ProfileFunction import java.text.DecimalFormat diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt index 2fd2eb2a7f..bee1907f80 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt @@ -7,9 +7,9 @@ import android.widget.ArrayAdapter import android.widget.LinearLayout import android.widget.Spinner import androidx.annotation.StringRes -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker +import info.nightscout.shared.interfaces.ResourceHelper import java.text.DecimalFormat class InputDelta(private val rh: ResourceHelper) : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt index 9c507c657e..257d2b4b95 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt @@ -2,8 +2,8 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker import java.text.DecimalFormat class InputDouble() : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt b/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt index ae374e37c9..4b4f7abb02 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt @@ -2,9 +2,9 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.MinutesNumberPicker -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.MinutesNumberPicker +import info.nightscout.core.ui.elements.NumberPicker import java.text.DecimalFormat class InputDuration( diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt b/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt index c7b701026c..58967f75a2 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt @@ -2,8 +2,8 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker import java.text.DecimalFormat class InputInsulin() : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt b/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt index c5809f3d20..166a05361c 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt @@ -2,8 +2,8 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker import java.text.DecimalFormat class InputPercent() : Element() { diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt index 75e678e6f0..3dedbf8413 100644 --- a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt +++ b/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt @@ -2,8 +2,8 @@ package info.nightscout.automation.elements import android.view.Gravity import android.widget.LinearLayout -import info.nightscout.androidaps.utils.ui.NumberPicker import info.nightscout.automation.R +import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.ProfileFunction diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index f81ec4b1c5..9125fb55f6 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -46,7 +46,6 @@ dependencies { api "androidx.navigation:navigation-runtime-ktx:$nav_version" api "androidx.navigation:navigation-ui-ktx:$nav_version" api 'androidx.percentlayout:percentlayout:1.0.0' - api "androidx.preference:preference-ktx:$preferencektx_version" api 'androidx.recyclerview:recyclerview:1.2.1' api 'androidx.gridlayout:gridlayout:1.0.0' diff --git a/core/core-main/src/main/res/values-cs-rCZ/strings.xml b/core/core-main/src/main/res/values-cs-rCZ/strings.xml index 06388d2a06..e6ed7a319f 100644 --- a/core/core-main/src/main/res/values-cs-rCZ/strings.xml +++ b/core/core-main/src/main/res/values-cs-rCZ/strings.xml @@ -31,7 +31,7 @@ %1$d min Pumpa je zaneprázdněna Chyba připojování pumpy - Byl dosažen povolený limit + Byl dosažen povolený limit Cíle Zavřít Počkejte prosím… diff --git a/core/core-main/src/main/res/values-es-rES/strings.xml b/core/core-main/src/main/res/values-es-rES/strings.xml index 295a6d12b7..cfb6dcaa05 100644 --- a/core/core-main/src/main/res/values-es-rES/strings.xml +++ b/core/core-main/src/main/res/values-es-rES/strings.xml @@ -31,7 +31,7 @@ %1$d min Bomba ocupada Error de conexión de la bomba - Límite permitido alcanzado + Límite permitido alcanzado Objetivos Cerrar Por favor, espere… diff --git a/core/core-main/src/main/res/values-fr-rFR/strings.xml b/core/core-main/src/main/res/values-fr-rFR/strings.xml index e7e5e98b64..1fcf1af65e 100644 --- a/core/core-main/src/main/res/values-fr-rFR/strings.xml +++ b/core/core-main/src/main/res/values-fr-rFR/strings.xml @@ -31,7 +31,7 @@ %1$d min Pompe occupée Erreur connection pompe - Limite autorisée atteinte + Limite autorisée atteinte Objectifs Fermer Merci de patienter... diff --git a/core/core-main/src/main/res/values-it-rIT/strings.xml b/core/core-main/src/main/res/values-it-rIT/strings.xml index d19efcbefd..7b469ec1db 100644 --- a/core/core-main/src/main/res/values-it-rIT/strings.xml +++ b/core/core-main/src/main/res/values-it-rIT/strings.xml @@ -31,7 +31,7 @@ %1$d min Il micro è occupato Errore connessione micro - Limite consentito raggiunto + Limite consentito raggiunto Obiettivi Chiudi Attendi… diff --git a/core/core-main/src/main/res/values-nl-rNL/strings.xml b/core/core-main/src/main/res/values-nl-rNL/strings.xml index 23f325a72c..ecaf03b73d 100644 --- a/core/core-main/src/main/res/values-nl-rNL/strings.xml +++ b/core/core-main/src/main/res/values-nl-rNL/strings.xml @@ -31,7 +31,7 @@ %1$d minuten Pomp is bezig Pomp verbindingsstoring - Toegestane limiet bereikt + Toegestane limiet bereikt Doelen Sluiten Even geduld a.u.b.… diff --git a/core/core-main/src/main/res/values-no-rNO/strings.xml b/core/core-main/src/main/res/values-no-rNO/strings.xml index 828da9a3c2..aa79c9a513 100644 --- a/core/core-main/src/main/res/values-no-rNO/strings.xml +++ b/core/core-main/src/main/res/values-no-rNO/strings.xml @@ -31,7 +31,7 @@ %1$d min Pumpen er opptatt Tilkoblingsfeil til pumpe - Tillatt grense nådd + Tillatt grense nådd Opplæringsmål Lukk Vennligst vent… diff --git a/core/core-main/src/main/res/values-ru-rRU/strings.xml b/core/core-main/src/main/res/values-ru-rRU/strings.xml index c489cbde41..11441588ff 100644 --- a/core/core-main/src/main/res/values-ru-rRU/strings.xml +++ b/core/core-main/src/main/res/values-ru-rRU/strings.xml @@ -31,7 +31,7 @@ %1$d мин помпа занята ошибка соединения - Разрешенный предел достигнут + Разрешенный предел достигнут Цели Закрыть Подождите… diff --git a/core/core-main/src/main/res/values-sk-rSK/strings.xml b/core/core-main/src/main/res/values-sk-rSK/strings.xml index 51f35feda0..ee878caea6 100644 --- a/core/core-main/src/main/res/values-sk-rSK/strings.xml +++ b/core/core-main/src/main/res/values-sk-rSK/strings.xml @@ -31,7 +31,7 @@ %1$d min Pumpa je zaneprázdnená Chyba pripájania pumpy - Dosiahnutý povolený limit + Dosiahnutý povolený limit Ciele Zavrieť Čakajte prosím... diff --git a/core/core-main/src/main/res/values-tr-rTR/strings.xml b/core/core-main/src/main/res/values-tr-rTR/strings.xml index 3e0cd1ab48..612310d745 100644 --- a/core/core-main/src/main/res/values-tr-rTR/strings.xml +++ b/core/core-main/src/main/res/values-tr-rTR/strings.xml @@ -31,7 +31,7 @@ %1$d dakika Pompa meşgul Pompa bağlantı hatası - İzin verilen limite ulaşıldı + İzin verilen limite ulaşıldı Görevler Kapat Lütfen bekleyin… diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index e5a38f065c..845858e6b6 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -124,7 +124,6 @@ %1$d mins Pump is busy Pump connection error - Allowed limit reached Objectives Close Please wait… @@ -199,7 +198,6 @@ Time WiFi SSID Loading … - Event time Notes Remove Add new @@ -390,7 +388,6 @@ Time detection - %1$dh %2$dm Mute for 5 minutes @@ -575,8 +572,6 @@ Bolus OK Pump paired Insight Refresh Button - decrement %1$s by %2$s - increment %1$s by %2$s %1$.0f%% Basal Basal % @@ -643,7 +638,6 @@ Autotune ran and profile automatically switched Error during last Autotune run Another run of Autotune is detected, run cancelled - Application needs bluetooth permission raise_urgent_alarms_as_android_notification diff --git a/core/ui/build.gradle b/core/ui/build.gradle index fbb185544f..de99417aef 100644 --- a/core/ui/build.gradle +++ b/core/ui/build.gradle @@ -17,7 +17,9 @@ android { dependencies { - implementation "androidx.core:core-ktx:$core_version" - implementation "androidx.appcompat:appcompat:$appcompat_version" - implementation "com.google.android.material:material:$material_version" + api "androidx.core:core-ktx:$core_version" + api "androidx.appcompat:appcompat:$appcompat_version" + api "androidx.preference:preference-ktx:$preferencektx_version" + + api "com.google.android.material:material:$material_version" } \ No newline at end of file diff --git a/core/ui/src/main/AndroidManifest.xml b/core/ui/src/main/AndroidManifest.xml index 44008a4332..e2483f7f28 100644 --- a/core/ui/src/main/AndroidManifest.xml +++ b/core/ui/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ - + + \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/BluetoothDevicePreference.kt similarity index 94% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/BluetoothDevicePreference.kt index 5297a91054..01e09ed6a7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/BluetoothDevicePreference.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/BluetoothDevicePreference.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements import android.Manifest import android.bluetooth.BluetoothManager @@ -8,7 +8,7 @@ import android.os.Build import android.util.AttributeSet import androidx.core.app.ActivityCompat import androidx.preference.ListPreference -import info.nightscout.core.main.R +import info.nightscout.core.ui.R import info.nightscout.core.ui.toast.ToastUtils import java.util.Vector diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java b/core/ui/src/main/java/info/nightscout/core/ui/elements/DigitsKeyListenerWithComma.java similarity index 99% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java rename to core/ui/src/main/java/info/nightscout/core/ui/elements/DigitsKeyListenerWithComma.java index c4bf793ca0..602de0a43a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/DigitsKeyListenerWithComma.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.ui; +package info.nightscout.core.ui.elements; import android.text.InputType; import android.text.SpannableStringBuilder; diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/MinutesNumberPicker.kt similarity index 93% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/MinutesNumberPicker.kt index 04a14700ea..e1dac44d69 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/MinutesNumberPicker.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements import android.content.Context import android.util.AttributeSet import android.widget.Button -import info.nightscout.core.main.R +import info.nightscout.core.ui.R import java.text.DecimalFormat class MinutesNumberPicker constructor(context: Context, attrs: AttributeSet? = null) : NumberPicker(context, attrs) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPicker.kt similarity index 94% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPicker.kt index f499656f4a..873577b9ac 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPicker.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements import android.annotation.SuppressLint import android.app.Service @@ -21,8 +21,8 @@ import android.view.accessibility.AccessibilityManager import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.LinearLayout -import info.nightscout.core.main.R -import info.nightscout.core.main.databinding.NumberPickerLayoutBinding +import info.nightscout.core.ui.R +import info.nightscout.core.ui.databinding.NumberPickerLayoutBinding import info.nightscout.core.ui.toast.ToastUtils import java.text.NumberFormat import java.util.concurrent.Executors @@ -189,13 +189,13 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL currentValue = stringToDouble(binding.editText.text.toString()) if (currentValue > maxValue) { currentValue = maxValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) updateEditText() okButton?.visibility = VISIBLE } if (currentValue < minValue) { currentValue = minValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) updateEditText() okButton?.visibility = VISIBLE } @@ -232,11 +232,11 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL get() { if (currentValue > maxValue) { currentValue = maxValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) } if (currentValue < minValue) { currentValue = minValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) } return currentValue } @@ -245,11 +245,11 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL currentValue = value if (currentValue > maxValue) { currentValue = maxValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) } if (currentValue < minValue) { currentValue = minValue - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) } callValueChangedListener() updateEditText() @@ -264,7 +264,7 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL if (currentValue > maxValue) { currentValue = maxValue callValueChangedListener() - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) stopUpdating() } updateEditText() @@ -275,7 +275,7 @@ open class NumberPicker(context: Context, attrs: AttributeSet? = null) : LinearL if (currentValue < minValue) { currentValue = minValue callValueChangedListener() - ToastUtils.warnToast(context, R.string.youareonallowedlimit) + ToastUtils.warnToast(context, R.string.you_are_on_allowed_limit) stopUpdating() } updateEditText() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerVertical.kt similarity index 79% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerVertical.kt index 94745da4d5..0d0d206524 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerVertical.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerVertical.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import info.nightscout.core.main.databinding.NumberPickerLayoutVerticalBinding +import info.nightscout.core.ui.databinding.NumberPickerLayoutVerticalBinding class NumberPickerVertical(context: Context, attrs: AttributeSet? = null) : NumberPicker(context, attrs) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerViewAdapter.kt similarity index 85% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt rename to core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerViewAdapter.kt index 30a648165c..12a2424915 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/ui/NumberPickerViewAdapter.kt +++ b/core/ui/src/main/java/info/nightscout/core/ui/elements/NumberPickerViewAdapter.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.utils.ui +package info.nightscout.core.ui.elements -import info.nightscout.core.main.databinding.NumberPickerLayoutBinding -import info.nightscout.core.main.databinding.NumberPickerLayoutVerticalBinding +import info.nightscout.core.ui.databinding.NumberPickerLayoutBinding +import info.nightscout.core.ui.databinding.NumberPickerLayoutVerticalBinding /** * NumberPickerViewAdapter binds both NumberPickerLayoutBinding and NumberPickerLayoutVerticalBinding shared attributes to one common view adapter. @@ -9,7 +9,7 @@ import info.nightscout.core.main.databinding.NumberPickerLayoutVerticalBinding */ class NumberPickerViewAdapter( val nH: NumberPickerLayoutBinding?, - val nV: NumberPickerLayoutVerticalBinding?, + nV: NumberPickerLayoutVerticalBinding?, ) { init { diff --git a/core/core-main/src/main/res/drawable-hdpi/background_input_border.xml b/core/ui/src/main/res/drawable-hdpi/background_input_border.xml similarity index 100% rename from core/core-main/src/main/res/drawable-hdpi/background_input_border.xml rename to core/ui/src/main/res/drawable-hdpi/background_input_border.xml diff --git a/core/core-main/src/main/res/drawable/ic_minus.xml b/core/ui/src/main/res/drawable/ic_minus.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_minus.xml rename to core/ui/src/main/res/drawable/ic_minus.xml diff --git a/core/core-main/src/main/res/drawable/ic_plus.xml b/core/ui/src/main/res/drawable/ic_plus.xml similarity index 100% rename from core/core-main/src/main/res/drawable/ic_plus.xml rename to core/ui/src/main/res/drawable/ic_plus.xml diff --git a/core/core-main/src/main/res/layout/close.xml b/core/ui/src/main/res/layout/close.xml similarity index 100% rename from core/core-main/src/main/res/layout/close.xml rename to core/ui/src/main/res/layout/close.xml diff --git a/core/core-main/src/main/res/layout/datetime.xml b/core/ui/src/main/res/layout/datetime.xml similarity index 100% rename from core/core-main/src/main/res/layout/datetime.xml rename to core/ui/src/main/res/layout/datetime.xml diff --git a/core/core-main/src/main/res/layout/number_picker_layout.xml b/core/ui/src/main/res/layout/number_picker_layout.xml similarity index 97% rename from core/core-main/src/main/res/layout/number_picker_layout.xml rename to core/ui/src/main/res/layout/number_picker_layout.xml index 8d57b2f6e2..d3d7d32de3 100644 --- a/core/core-main/src/main/res/layout/number_picker_layout.xml +++ b/core/ui/src/main/res/layout/number_picker_layout.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="130dp" android:layout_height="40dp" - tools:context="info.nightscout.androidaps.utils.ui.NumberPicker"> + tools:context="info.nightscout.core.ui.elements.NumberPicker"> + tools:context="info.nightscout.core.ui.elements.NumberPickerVertical"> - You will be asked for master password, which is needed to decrypt imported preferences. + + decrement %1$s by %2$s + increment %1$s by %2$s + Allowed limit reached + %1$dh %2$dm + + + Event time + + + Application needs bluetooth permission + \ No newline at end of file diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java index 848145d58a..74fa793c05 100644 --- a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java +++ b/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java @@ -24,7 +24,7 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.utils.ui.NumberPicker; +import info.nightscout.core.ui.elements.NumberPicker; import info.nightscout.core.ui.elements.SpinnerHelper; import info.nightscout.plugins.R; import info.nightscout.rx.logging.AAPSLogger; diff --git a/plugins/src/main/res/layout/autotune_fragment.xml b/plugins/src/main/res/layout/autotune_fragment.xml index fea9b91985..d71a38d5ee 100644 --- a/plugins/src/main/res/layout/autotune_fragment.xml +++ b/plugins/src/main/res/layout/autotune_fragment.xml @@ -81,7 +81,7 @@ android:textSize="14sp" /> - - - - diff --git a/plugins/src/main/res/layout/timelistedit_element_vertical.xml b/plugins/src/main/res/layout/timelistedit_element_vertical.xml index 5cbe81213e..67fd5dea44 100644 --- a/plugins/src/main/res/layout/timelistedit_element_vertical.xml +++ b/plugins/src/main/res/layout/timelistedit_element_vertical.xml @@ -20,13 +20,13 @@ android:layout_height="wrap_content" android:orientation="horizontal"> - - diff --git a/pump/dana/src/main/res/layout/danar_user_options_activity.xml b/pump/dana/src/main/res/layout/danar_user_options_activity.xml index 6e4f850ab1..d77c5b0b0d 100644 --- a/pump/dana/src/main/res/layout/danar_user_options_activity.xml +++ b/pump/dana/src/main/res/layout/danar_user_options_activity.xml @@ -177,7 +177,7 @@ android:text="@string/danar_screentimeout" android:textSize="14sp" /> - - - - - diff --git a/pump/danar/src/main/res/xml/pref_danarkorean.xml b/pump/danar/src/main/res/xml/pref_danarkorean.xml index 5b3372e2ed..9c8e8008ff 100644 --- a/pump/danar/src/main/res/xml/pref_danarkorean.xml +++ b/pump/danar/src/main/res/xml/pref_danarkorean.xml @@ -8,7 +8,7 @@ android:title="@string/danar_pump_settings" app:initialExpandedChildrenCount="0"> - diff --git a/pump/danar/src/main/res/xml/pref_danarv2.xml b/pump/danar/src/main/res/xml/pref_danarv2.xml index f16c06afb6..41a7181c5e 100644 --- a/pump/danar/src/main/res/xml/pref_danarv2.xml +++ b/pump/danar/src/main/res/xml/pref_danarv2.xml @@ -8,7 +8,7 @@ android:title="@string/danar_pump_settings" app:initialExpandedChildrenCount="0"> - diff --git a/pump/diaconn/src/main/res/layout/diaconn_g8_user_options_activity.xml b/pump/diaconn/src/main/res/layout/diaconn_g8_user_options_activity.xml index 85a4ba9aa8..e47dcf7b3e 100644 --- a/pump/diaconn/src/main/res/layout/diaconn_g8_user_options_activity.xml +++ b/pump/diaconn/src/main/res/layout/diaconn_g8_user_options_activity.xml @@ -296,7 +296,7 @@ android:layout_marginEnd="20dp" android:orientation="horizontal"> - - - - - - - - - + - - - - + app:customContentDescription="@string/duration_label" /> - - - + app:customContentDescription="@string/overview_insulin_label" /> - - - + app:customContentDescription="@string/timeshift_label" /> - - - - - - - - - - - Date: Mon, 14 Nov 2022 14:22:41 +0100 Subject: [PATCH 087/123] move UserEntryMapper --- .../androidaps/interfaces/stats/DexcomTIR.kt | 11 +++-- .../androidaps/logging/UserEntryLogger.kt | 8 ++-- .../stats/DexcomTirCalculatorImpl.kt | 10 ++--- .../implementation/stats/DexcomTirImpl.kt | 41 +++++++++---------- .../interfaces}/userEntry/UserEntryMapper.kt | 2 +- .../userEntry/ValueWithUnitMapper.kt | 2 +- .../androidaps/dana/DanaFragment.kt | 4 +- .../ble/task/InternalSuspendedTask.java | 2 +- .../pump/eopatch/ble/task/PauseBasalTask.java | 2 +- .../pump/eopatch/ble/task/StopBasalTask.java | 2 +- 10 files changed, 41 insertions(+), 43 deletions(-) rename {core/core-main/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/userEntry/UserEntryMapper.kt (99%) rename {core/core-main/src/main/java/info/nightscout/androidaps/utils => interfaces/src/main/java/info/nightscout/interfaces}/userEntry/ValueWithUnitMapper.kt (98%) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt index 5ac862756d..3bb9389cc8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/interfaces/stats/DexcomTIR.kt @@ -4,14 +4,13 @@ import android.content.Context import android.widget.TableRow import android.widget.TextView import info.nightscout.interfaces.profile.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper interface DexcomTIR { fun calculateSD(): Double - fun toHbA1cView(context: Context, rh: ResourceHelper): TextView - fun toSDView(context: Context, rh: ResourceHelper, profileFunction: ProfileFunction): TextView - fun toRangeHeaderView(context: Context, rh: ResourceHelper, profileFunction: ProfileFunction): TextView - fun toTableRowHeader(context: Context, rh: ResourceHelper): TableRow - fun toTableRow(context: Context, rh: ResourceHelper): TableRow + fun toHbA1cView(context: Context): TextView + fun toSDView(context: Context, profileFunction: ProfileFunction): TextView + fun toRangeHeaderView(context: Context, profileFunction: ProfileFunction): TextView + fun toTableRowHeader(context: Context): TableRow + fun toTableRow(context: Context): TableRow } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt b/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt index 1d34a47ac7..5d785ba9b9 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/logging/UserEntryLogger.kt @@ -1,13 +1,13 @@ package info.nightscout.androidaps.logging import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.database.impl.AppRepository -import info.nightscout.database.impl.transactions.UserEntryTransaction -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper -import info.nightscout.androidaps.utils.userEntry.ValueWithUnitMapper import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit +import info.nightscout.database.impl.AppRepository +import info.nightscout.database.impl.transactions.UserEntryTransaction +import info.nightscout.interfaces.userEntry.UserEntryMapper +import info.nightscout.interfaces.userEntry.ValueWithUnitMapper import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.utils.DateUtil diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index 5a3ffa64f9..7615a6b690 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -40,10 +40,10 @@ class DexcomTirCalculatorImpl @Inject constructor( TableLayout(context).also { layout -> val tir = calculate() layout.layoutParams = TableLayout.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f) - layout.addView(tir.toRangeHeaderView(context, rh, profileFunction)) - layout.addView(tir.toTableRowHeader(context, rh)) - layout.addView(tir.toTableRow(context, rh)) - layout.addView(tir.toSDView(context, rh, profileFunction)) - layout.addView(tir.toHbA1cView(context, rh)) + layout.addView(tir.toRangeHeaderView(context, profileFunction)) + layout.addView(tir.toTableRowHeader(context)) + layout.addView(tir.toTableRow(context)) + layout.addView(tir.toSDView(context, profileFunction)) + layout.addView(tir.toHbA1cView(context)) } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt index 5a3bfbe88f..4292af3e81 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirImpl.kt @@ -13,7 +13,6 @@ import info.nightscout.implementation.R import info.nightscout.interfaces.Constants import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction -import info.nightscout.shared.interfaces.ResourceHelper import java.util.Calendar import kotlin.math.pow import kotlin.math.roundToInt @@ -75,11 +74,11 @@ class DexcomTirImpl : DexcomTIR { return sqrt(standardDeviation / count) } - override fun toHbA1cView(context: Context, rh: ResourceHelper): TextView = + override fun toHbA1cView(context: Context): TextView = TextView(context).apply { text = if (count == 0) "" - else rh.gs(R.string.hba1c) + + else context.getString(R.string.hba1c) + (10 * (mean() + 46.7) / 28.7).roundToInt() / 10.0 + "%" + " (" + (((mean() + 46.7) / 28.7 - 2.15) * 10.929).roundToInt() + @@ -89,20 +88,20 @@ class DexcomTirImpl : DexcomTIR { } @SuppressLint("SetTextI18n") - override fun toSDView(context: Context, rh: ResourceHelper, profileFunction: ProfileFunction): TextView = + override fun toSDView(context: Context, profileFunction: ProfileFunction): TextView = TextView(context).apply { val sd = calculateSD() - text = "\n" + rh.gs(R.string.std_deviation, Profile.toUnitsString(sd, sd * Constants.MGDL_TO_MMOLL, profileFunction.getUnits())) + text = "\n" + context.getString(R.string.std_deviation, Profile.toUnitsString(sd, sd * Constants.MGDL_TO_MMOLL, profileFunction.getUnits())) setTypeface(typeface, Typeface.NORMAL) gravity = Gravity.CENTER_HORIZONTAL } - override fun toRangeHeaderView(context: Context, rh: ResourceHelper, profileFunction: ProfileFunction): TextView = + override fun toRangeHeaderView(context: Context, profileFunction: ProfileFunction): TextView = TextView(context).apply { text = StringBuilder() - .append(rh.gs(R.string.detailed_14_days)) + .append(context.getString(R.string.detailed_14_days)) .append("\n") - .append(rh.gs(R.string.day_tir)) + .append(context.getString(R.string.day_tir)) .append(" (") .append(Profile.toUnitsString(0.0, 0.0, profileFunction.getUnits())) .append("-") @@ -114,7 +113,7 @@ class DexcomTirImpl : DexcomTIR { .append("-") .append(Profile.toCurrentUnitsString(profileFunction, veryHighTirMgdl)) .append("-∞)\n") - .append(rh.gs(R.string.night_tir)) + .append(context.getString(R.string.night_tir)) .append(" (") .append(Profile.toUnitsString(0.0, 0.0, profileFunction.getUnits())) .append("-") @@ -132,28 +131,28 @@ class DexcomTirImpl : DexcomTIR { setTextAppearance(android.R.style.TextAppearance_Material_Medium) } - override fun toTableRowHeader(context: Context, rh: ResourceHelper): TableRow = + override fun toTableRowHeader(context: Context): TableRow = TableRow(context).also { header -> val lp = TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT) header.layoutParams = TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT) header.gravity = Gravity.CENTER_HORIZONTAL - header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 0; weight = 1f }; text = rh.gs(R.string.veryLow) }) - header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 1; weight = 1f }; text = rh.gs(R.string.low) }) - header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 2; weight = 1f }; text = rh.gs(R.string.in_range) }) - header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 3; weight = 1f }; text = rh.gs(R.string.high) }) - header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 4; weight = 1f }; text = rh.gs(R.string.veryHigh) }) + header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 0; weight = 1f }; text = context.getString(R.string.veryLow) }) + header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 1; weight = 1f }; text = context.getString(R.string.low) }) + header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 2; weight = 1f }; text = context.getString(R.string.in_range) }) + header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 3; weight = 1f }; text = context.getString(R.string.high) }) + header.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 4; weight = 1f }; text = context.getString(R.string.veryHigh) }) } @SuppressLint("SetTextI18n") - override fun toTableRow(context: Context, rh: ResourceHelper): TableRow = + override fun toTableRow(context: Context): TableRow = TableRow(context).also { row -> val lp = TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f) row.layoutParams = TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT) row.gravity = Gravity.CENTER_HORIZONTAL - row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 0 }; text = rh.gs(R.string.formatPercent, veryLowPct()) }) - row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 1 }; text = rh.gs(R.string.formatPercent, lowPct()) }) - row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 2 }; text = rh.gs(R.string.formatPercent, inRangePct()) }) - row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 3 }; text = rh.gs(R.string.formatPercent, highPct()) }) - row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 4 }; text = rh.gs(R.string.formatPercent, veryHighPct()) }) + row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 0 }; text = context.getString(R.string.formatPercent, veryLowPct()) }) + row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 1 }; text = context.getString(R.string.formatPercent, lowPct()) }) + row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 2 }; text = context.getString(R.string.formatPercent, inRangePct()) }) + row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 3 }; text = context.getString(R.string.formatPercent, highPct()) }) + row.addView(TextView(context).apply { gravity = Gravity.CENTER_HORIZONTAL; layoutParams = lp.apply { column = 4 }; text = context.getString(R.string.formatPercent, veryHighPct()) }) } } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt b/interfaces/src/main/java/info/nightscout/interfaces/userEntry/UserEntryMapper.kt similarity index 99% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt rename to interfaces/src/main/java/info/nightscout/interfaces/userEntry/UserEntryMapper.kt index 5833281465..c295bcbe01 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/userEntry/UserEntryMapper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.userEntry +package info.nightscout.interfaces.userEntry import info.nightscout.database.entities.UserEntry diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt b/interfaces/src/main/java/info/nightscout/interfaces/userEntry/ValueWithUnitMapper.kt similarity index 98% rename from core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt rename to interfaces/src/main/java/info/nightscout/interfaces/userEntry/ValueWithUnitMapper.kt index 73f7b57b6b..0261306094 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/utils/userEntry/ValueWithUnitMapper.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/userEntry/ValueWithUnitMapper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.userEntry +package info.nightscout.interfaces.userEntry import info.nightscout.database.entities.TemporaryTarget import info.nightscout.database.entities.TherapyEvent diff --git a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt index 245a79164b..49525bb952 100644 --- a/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt +++ b/pump/dana/src/main/java/info/nightscout/androidaps/dana/DanaFragment.kt @@ -15,8 +15,6 @@ import info.nightscout.androidaps.dana.activities.DanaUserOptionsActivity import info.nightscout.androidaps.dana.databinding.DanarFragmentBinding import info.nightscout.androidaps.dana.events.EventDanaRNewStatus import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Action -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper.Sources import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.plugin.ActivePlugin @@ -26,6 +24,8 @@ import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.interfaces.userEntry.UserEntryMapper.Action +import info.nightscout.interfaces.userEntry.UserEntryMapper.Sources import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventExtendedBolusChange diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java index d3a3b37420..8703449ab7 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/InternalSuspendedTask.java @@ -10,11 +10,11 @@ import javax.inject.Singleton; import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.GetInternalSuspendTime; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchInternalSuspendTimeResponse; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.Command; import info.nightscout.interfaces.queue.CommandQueue; +import info.nightscout.interfaces.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java index 8001c78667..6ef3312df7 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/PauseBasalTask.java @@ -16,11 +16,11 @@ import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalPause; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.PatchBooleanResponse; import info.nightscout.androidaps.plugins.pump.eopatch.vo.PatchState; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.Command; import info.nightscout.interfaces.queue.CommandQueue; +import info.nightscout.interfaces.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; diff --git a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java index b9f285a1c8..9a341a46d3 100644 --- a/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java +++ b/pump/eopatch/src/main/java/info/nightscout/androidaps/plugins/pump/eopatch/ble/task/StopBasalTask.java @@ -11,11 +11,11 @@ import info.nightscout.androidaps.logging.UserEntryLogger; import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPreferenceManager; import info.nightscout.androidaps.plugins.pump.eopatch.core.api.BasalStop; import info.nightscout.androidaps.plugins.pump.eopatch.core.response.BasalStopResponse; -import info.nightscout.androidaps.utils.userEntry.UserEntryMapper; import info.nightscout.interfaces.pump.PumpSync; import info.nightscout.interfaces.queue.Callback; import info.nightscout.interfaces.queue.Command; import info.nightscout.interfaces.queue.CommandQueue; +import info.nightscout.interfaces.userEntry.UserEntryMapper; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import io.reactivex.rxjava3.core.Observable; From 616e24a422d042673a9b3cfc7c27af63fa38f7f2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 14:45:19 +0100 Subject: [PATCH 088/123] move EventBucketedDataCreated --- .../info/nightscout/rx/events/EventBucketedDataCreated.kt | 3 +++ .../iob/iobCobCalculator/events/EventBucketedDataCreated.kt | 5 ----- .../info/nightscout/core/aps/AutosensDataStoreExtension.kt | 2 +- .../constraints/bgQualityCheck/BgQualityCheckPlugin.kt | 2 +- ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt | 2 +- .../info/nightscout/ui/extensions/DoubleToSignedString.kt | 2 +- 6 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBucketedDataCreated.kt delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBucketedDataCreated.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBucketedDataCreated.kt new file mode 100644 index 0000000000..d191615e5a --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventBucketedDataCreated.kt @@ -0,0 +1,3 @@ +package info.nightscout.rx.events + +class EventBucketedDataCreated : Event() \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt deleted file mode 100644 index 29edeb4e48..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/events/EventBucketedDataCreated.kt +++ /dev/null @@ -1,5 +0,0 @@ -package info.nightscout.androidaps.plugins.iob.iobCobCalculator.events - -import info.nightscout.rx.events.Event - -class EventBucketedDataCreated : Event() \ No newline at end of file diff --git a/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt b/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt index 9eb730f822..38c45e06c3 100644 --- a/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/aps/AutosensDataStoreExtension.kt @@ -1,4 +1,4 @@ -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated +import info.nightscout.rx.events.EventBucketedDataCreated import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.aps.AutosensDataStore import info.nightscout.rx.bus.RxBus diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt index eb1b06abe5..e4d5378b62 100644 --- a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt +++ b/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt @@ -1,7 +1,6 @@ package info.nightscout.plugins.constraints.bgQualityCheck import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventBucketedDataCreated import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -12,6 +11,7 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.plugins.R import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus +import info.nightscout.rx.events.EventBucketedDataCreated import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index ea7d385819..047a3e00d2 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -13,7 +13,7 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.DefaultValueHelper -import info.nightscout.androidaps.utils.extensions.toSignedString +import info.nightscout.ui.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl import info.nightscout.core.pumpExtensions.insertBolusTransaction diff --git a/ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt b/ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt index 1298115a00..2bb56670d7 100644 --- a/ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt +++ b/ui/src/main/java/info/nightscout/ui/extensions/DoubleToSignedString.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.extensions +package info.nightscout.ui.extensions import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.pump.Pump From a5dd52a44be84eda73454427c6256d0afd0c8409 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 19:04:09 +0100 Subject: [PATCH 089/123] rename module --- app/build.gradle | 2 +- crowdin.yml | 7 +++-- plugins/{ => aps}/.gitignore | 0 plugins/aps/build.gradle | 29 ++++++++++++++++++ plugins/{ => aps}/consumer-rules.pro | 0 plugins/{ => aps}/proguard-rules.pro | 0 plugins/aps/src/main/AndroidManifest.xml | 4 +++ plugins/main/.gitignore | 1 + plugins/{ => main}/build.gradle | 0 plugins/main/consumer-rules.pro | 0 plugins/main/proguard-rules.pro | 21 +++++++++++++ .../{ => main}/src/main/AndroidManifest.xml | 0 .../configBuilder/RunningConfiguration.kt | 0 .../bgQualityCheck/BgQualityCheckPlugin.kt | 0 .../constraints/dstHelper/DstHelperPlugin.kt | 0 .../objectives/ObjectivesFragment.kt | 0 .../objectives/ObjectivesPlugin.kt | 0 .../constraints/objectives/SntpClient.kt | 0 .../activities/ObjectivesExamDialog.kt | 0 .../objectives/dialogs/NtpProgressDialog.kt | 0 .../events/EventObjectivesUpdateGui.kt | 0 .../objectives/objectives/Objective.kt | 0 .../objectives/objectives/Objective0.kt | 0 .../objectives/objectives/Objective1.kt | 0 .../objectives/objectives/Objective10.kt | 0 .../objectives/objectives/Objective2.kt | 0 .../objectives/objectives/Objective3.kt | 0 .../objectives/objectives/Objective4.kt | 0 .../objectives/objectives/Objective5.kt | 0 .../objectives/objectives/Objective6.kt | 0 .../objectives/objectives/Objective7.kt | 0 .../objectives/objectives/Objective9.kt | 0 .../objectives/objectives/SntpClient.kt | 0 .../phoneChecker/PhoneCheckerPlugin.kt | 0 .../constraints/safety/SafetyPlugin.kt | 0 .../SignatureVerifierPlugin.kt | 0 .../storage/StorageConstraintPlugin.kt | 0 .../versionChecker/VersionCheckerPlugin.kt | 0 .../nightscout/plugins/di/AutotuneModule.kt | 0 .../info/nightscout/plugins/di/FoodModule.kt | 0 .../nightscout/plugins/di/InsulinModule.kt | 0 .../nightscout/plugins/di/ObjectivesModule.kt | 0 .../nightscout/plugins/di/PluginsModule.kt | 0 .../nightscout/plugins/di/ProfileModule.kt | 0 .../plugins/di/SMSCommunicatorModule.kt | 0 .../info/nightscout/plugins/di/SkinsModule.kt | 0 .../nightscout/plugins/di/SourceModule.kt | 0 .../info/nightscout/plugins/di/SyncModule.kt | 0 .../plugins/di/VirtualPumpModule.kt | 0 .../extensions/PumpEnactResultExtension.kt | 0 .../general/actions/ActionsFragment.kt | 0 .../plugins/general/actions/ActionsPlugin.kt | 0 .../plugins/general/autotune/AutotuneCore.kt | 0 .../plugins/general/autotune/AutotuneFS.kt | 0 .../general/autotune/AutotuneFragment.kt | 0 .../plugins/general/autotune/AutotuneIob.kt | 0 .../general/autotune/AutotunePlugin.kt | 0 .../plugins/general/autotune/AutotunePrep.kt | 0 .../general/autotune/data/ATProfile.kt | 0 .../plugins/general/autotune/data/BGDatum.kt | 0 .../plugins/general/autotune/data/CRDatum.kt | 0 .../general/autotune/data/DiaDeviation.kt | 0 .../general/autotune/data/LocalInsulin.kt | 0 .../general/autotune/data/PeakDeviation.kt | 0 .../general/autotune/data/PreppedGlucose.kt | 0 .../autotune/events/EventAutotuneUpdateGui.kt | 0 .../plugins/general/food/FoodFragment.kt | 0 .../plugins/general/food/FoodPlugin.kt | 0 .../general/maintenance/LoggerUtils.kt | 0 .../DismissNotificationService.kt | 0 .../notifications/NotificationStore.kt | 0 .../notifications/NotificationWithAction.kt | 0 .../events/EventUpdateOverviewNotification.kt | 0 .../general/smsCommunicator/AuthRequest.kt | 0 .../general/smsCommunicator/SmsAction.kt | 0 .../SmsCommunicatorFragment.kt | 0 .../smsCommunicator/SmsCommunicatorPlugin.kt | 0 .../activities/SmsCommunicatorOtpActivity.kt | 0 .../events/EventSmsCommunicatorUpdateGui.kt | 0 .../smsCommunicator/otp/OneTimePassword.kt | 0 .../otp/OneTimePasswordValidationResult.kt | 0 .../general/themes/ThemeSwitcherPlugin.kt | 0 .../general/wear/events/EventWearUpdateGui.kt | 0 .../xdripStatusline/StatusLinePlugin.kt | 0 .../plugins/insulin/ActivityGraph.kt | 0 .../plugins/insulin/InsulinFragment.kt | 0 .../plugins/insulin/InsulinLyumjevPlugin.kt | 0 .../plugins/insulin/InsulinOrefBasePlugin.kt | 0 .../insulin/InsulinOrefFreePeakPlugin.kt | 0 .../insulin/InsulinOrefRapidActingPlugin.kt | 0 .../InsulinOrefUltraRapidActingPlugin.kt | 0 .../plugins/profile/ProfileFragment.kt | 0 .../plugins/profile/ProfilePlugin.kt | 0 .../pump/virtual/VirtualPumpFragment.kt | 0 .../plugins/pump/virtual/VirtualPumpPlugin.kt | 0 .../events/EventVirtualPumpUpdateGui.kt | 0 .../nightscout/plugins/skins/SkinButtonsOn.kt | 0 .../nightscout/plugins/skins/SkinClassic.kt | 0 .../nightscout/plugins/skins/SkinInterface.kt | 0 .../plugins/skins/SkinLargeDisplay.kt | 0 .../plugins/skins/SkinListPreference.kt | 0 .../nightscout/plugins/skins/SkinLowRes.kt | 0 .../nightscout/plugins/skins/SkinProvider.kt | 0 .../nightscout/plugins/source/AidexPlugin.kt | 0 .../plugins/source/BGSourceFragment.kt | 0 .../nightscout/plugins/source/DexcomPlugin.kt | 0 .../plugins/source/EversensePlugin.kt | 0 .../nightscout/plugins/source/GlimpPlugin.kt | 0 .../plugins/source/GlunovoPlugin.kt | 0 .../plugins/source/IntelligoPlugin.kt | 0 .../nightscout/plugins/source/MM640gPlugin.kt | 0 .../plugins/source/NSClientSourcePlugin.kt | 0 .../plugins/source/PoctechPlugin.kt | 0 .../plugins/source/RandomBgPlugin.kt | 0 .../nightscout/plugins/source/TomatoPlugin.kt | 0 .../nightscout/plugins/source/XdripPlugin.kt | 0 .../RequestDexcomPermissionActivity.kt | 0 .../plugins/sync/nsShared/NSClientFragment.kt | 0 .../plugins/sync/nsShared/StoreDataForDb.kt | 0 .../nsShared/events/EventNSClientNewLog.kt | 0 .../nsShared/events/EventNSClientResend.kt | 0 .../nsShared/events/EventNSClientStatus.kt | 0 .../nsShared/events/EventNSClientUpdateGUI.kt | 0 .../extensions/PumpEnactResultExtension.kt | 0 .../DataSyncSelectorImplementation.kt | 0 .../plugins/sync/nsclient/NSClientPlugin.kt | 0 .../sync/nsclient/NsClientReceiverDelegate.kt | 0 .../plugins/sync/nsclient/acks/NSAddAck.kt | 0 .../plugins/sync/nsclient/acks/NSAuthAck.kt | 0 .../plugins/sync/nsclient/acks/NSUpdateAck.kt | 0 .../plugins/sync/nsclient/data/AlarmAck.java | 0 .../plugins/sync/nsclient/data/NSAlarm.kt | 0 .../nsclient/data/NSDeviceStatusHandler.kt | 0 .../plugins/sync/nsclient/data/NSMbg.kt | 0 .../sync/nsclient/data/NSSettingsStatus.kt | 0 .../plugins/sync/nsclient/data/NSSgv.kt | 0 .../data/ProcessedDeviceStatusData.kt | 0 .../nsclient/extensions/BolusExtension.kt | 0 .../nsclient/extensions/CarbsExtension.kt | 0 .../extensions/DeviceStatusExtension.kt | 0 .../EffectiveProfileSwitchExtension.kt | 0 .../extensions/ExtendedBolusExtension.kt | 0 .../extensions/OfflineEventExtension.kt | 0 .../extensions/ProfileSwitchExtension.kt | 0 .../extensions/TemporaryBasalExtension.kt | 0 .../extensions/TemporaryTargetExtension.kt | 0 .../extensions/TherapyEventExtension.kt | 0 .../sync/nsclient/services/NSClientService.kt | 0 .../nsclient/workers/NSClientAddAckWorker.kt | 0 .../workers/NSClientAddUpdateWorker.kt | 0 .../nsclient/workers/NSClientMbgWorker.kt | 0 .../workers/NSClientUpdateRemoveAckWorker.kt | 0 .../sync/nsclientV3/NSClientV3Plugin.kt | 0 .../BolusCalculatorResultExtension.kt | 0 .../nsclientV3/extensions/BolusExtension.kt | 0 .../nsclientV3/extensions/CarbsExtension.kt | 0 .../EffectiveProfileSwitchExtension.kt | 0 .../extensions/ExtendedBolusExtension.kt | 0 .../extensions/OfflineEventExtension.kt | 0 .../extensions/ProfileSwitchExtension.kt | 0 .../extensions/TemporaryBasalExtension.kt | 0 .../extensions/TemporaryTargetExtension.kt | 0 .../extensions/TherapyEventExtension.kt | 0 .../sync/nsclientV3/workers/LoadBgWorker.kt | 0 .../workers/LoadDeviceStatusWorker.kt | 0 .../workers/LoadLastModificationWorker.kt | 0 .../nsclientV3/workers/LoadStatusWorker.kt | 0 .../workers/LoadTreatmentsWorker.kt | 0 .../workers/ProcessTreatmentsWorker.kt | 0 .../plugins/sync/tidepool/TidepoolFragment.kt | 0 .../plugins/sync/tidepool/TidepoolPlugin.kt | 0 .../sync/tidepool/comm/InfoInterceptor.kt | 0 .../plugins/sync/tidepool/comm/Session.kt | 0 .../sync/tidepool/comm/TidepoolApiService.kt | 0 .../sync/tidepool/comm/TidepoolCallback.kt | 0 .../sync/tidepool/comm/TidepoolUploader.kt | 0 .../plugins/sync/tidepool/comm/UploadChunk.kt | 0 .../sync/tidepool/elements/BasalElement.kt | 0 .../sync/tidepool/elements/BaseElement.kt | 0 .../tidepool/elements/BloodGlucoseElement.kt | 0 .../sync/tidepool/elements/BolusElement.kt | 0 .../sync/tidepool/elements/ProfileElement.kt | 0 .../tidepool/elements/SensorGlucoseElement.kt | 0 .../sync/tidepool/elements/WizardElement.kt | 0 .../tidepool/events/EventTidepoolDoUpload.kt | 0 .../tidepool/events/EventTidepoolResetData.kt | 0 .../tidepool/events/EventTidepoolStatus.kt | 0 .../tidepool/events/EventTidepoolUpdateGUI.kt | 0 .../tidepool/messages/AuthReplyMessage.kt | 0 .../tidepool/messages/AuthRequestMessage.kt | 0 .../sync/tidepool/messages/BaseMessage.kt | 0 .../messages/CloseDatasetRequestMessage.kt | 0 .../tidepool/messages/DatasetReplyMessage.kt | 0 .../messages/OpenDatasetRequestMessage.kt | 0 .../tidepool/messages/UploadReplyMessage.kt | 0 .../sync/tidepool/utils/GsonInstance.kt | 0 .../plugins/sync/tidepool/utils/RateLimit.kt | 0 .../plugins/ui/StatusLightHandler.kt | 0 .../nightscout/plugins/ui/TimeListEdit.java | 0 .../nightscout/plugins/utils/Percentile.kt | 0 .../ic_actions_cancel_extended_bolus.xml | 0 .../ic_arrow_drop_down_white_24dp.xml | 0 .../drawable/ic_baseline_warning_24_red.xml | 0 .../ic_baseline_warning_24_yellow.xml | 0 .../src/main/res/drawable/ic_cancel_basal.xml | 0 .../main/res/drawable/ic_cp_age_battery.xml | 0 .../main/res/drawable/ic_cp_age_cannula.xml | 0 .../main/res/drawable/ic_cp_age_insulin.xml | 0 .../main/res/drawable/ic_cp_age_sensor.xml | 0 .../src/main/res/drawable/ic_crosstarget.xml | 0 .../src/main/res/drawable/ic_dice.xml | 0 .../main/res/drawable/ic_local_activate.xml | 0 .../src/main/res/drawable/ic_local_reset.xml | 0 .../src/main/res/layout/actions_fragment.xml | 0 .../res/layout/actions_stats_fragment.xml | 0 .../src/main/res/layout/autotune_fragment.xml | 0 .../src/main/res/layout/food_fragment.xml | 0 .../src/main/res/layout/food_item.xml | 0 .../src/main/res/layout/insulin_fragment.xml | 0 .../main/res/layout/ns_client_fragment.xml | 0 .../res/layout/objectives_exam_fragment.xml | 0 .../main/res/layout/objectives_fragment.xml | 0 .../src/main/res/layout/objectives_item.xml | 0 .../res/layout/overview_buttons_layout.xml | 0 .../src/main/res/layout/overview_fragment.xml | 0 .../res/layout/overview_graphs_layout.xml | 0 .../main/res/layout/overview_info_layout.xml | 0 .../res/layout/overview_notification_item.xml | 0 .../layout/overview_statuslights_layout.xml | 0 .../src/main/res/layout/profile_fragment.xml | 0 .../layout/smscommunicator_activity_otp.xml | 0 .../res/layout/smscommunicator_fragment.xml | 0 .../src/main/res/layout/source_fragment.xml | 0 .../src/main/res/layout/source_item.xml | 0 .../src/main/res/layout/tidepool_fragment.xml | 0 .../main/res/layout/timelistedit_element.xml | 0 .../layout/timelistedit_element_vertical.xml | 0 .../main/res/layout/virtual_pump_fragment.xml | 0 .../src/main/res/raw/urgentalarm.mp3 | Bin .../src/main/res/values-af-rZA/strings.xml | 0 .../src/main/res/values-bg-rBG/strings.xml | 0 .../src/main/res/values-ca-rES/strings.xml | 0 .../src/main/res/values-cs-rCZ/strings.xml | 0 .../src/main/res/values-da-rDK/strings.xml | 0 .../src/main/res/values-de-rDE/strings.xml | 0 .../src/main/res/values-el-rGR/strings.xml | 0 .../src/main/res/values-es-rES/strings.xml | 0 .../src/main/res/values-fr-rFR/strings.xml | 0 .../src/main/res/values-ga-rIE/strings.xml | 0 .../src/main/res/values-hr-rHR/strings.xml | 0 .../src/main/res/values-hu-rHU/strings.xml | 0 .../src/main/res/values-it-rIT/strings.xml | 0 .../src/main/res/values-iw-rIL/strings.xml | 0 .../src/main/res/values-ko-rKR/strings.xml | 0 .../src/main/res/values-lt-rLT/strings.xml | 0 .../src/main/res/values-nl-rNL/strings.xml | 0 .../src/main/res/values-no-rNO/strings.xml | 0 .../src/main/res/values-pl-rPL/strings.xml | 0 .../src/main/res/values-pt-rBR/strings.xml | 0 .../src/main/res/values-pt-rPT/strings.xml | 0 .../src/main/res/values-ro-rRO/strings.xml | 0 .../src/main/res/values-ru-rRU/strings.xml | 0 .../src/main/res/values-sk-rSK/strings.xml | 0 .../src/main/res/values-sr-rCS/strings.xml | 0 .../src/main/res/values-sv-rSE/strings.xml | 0 .../src/main/res/values-tr-rTR/strings.xml | 0 .../src/main/res/values-zh-rCN/strings.xml | 0 .../{ => main}/src/main/res/values/arrays.xml | 0 .../{ => main}/src/main/res/values/exam.xml | 0 .../src/main/res/values/objectives.xml | 0 .../src/main/res/values/strings.xml | 0 .../src/main/res/xml/pref_autotune.xml | 0 .../src/main/res/xml/pref_bgsource.xml | 0 .../src/main/res/xml/pref_dexcom.xml | 0 .../main/res/xml/pref_insulinoreffreepeak.xml | 0 .../src/main/res/xml/pref_ns_client.xml | 0 .../src/main/res/xml/pref_safety.xml | 0 .../src/main/res/xml/pref_smscommunicator.xml | 0 .../src/main/res/xml/pref_tidepool.xml | 0 .../src/main/res/xml/pref_virtual_pump.xml | 0 .../src/main/res/xml/pref_xdripstatus.xml | 0 .../nightscout/androidaps/HardLimitsMock.kt | 0 .../info/nightscout/androidaps/TestBase.kt | 0 .../androidaps/TestBaseWithProfile.kt | 0 .../nightscout/androidaps/TestPumpPlugin.kt | 0 .../BgQualityCheckPluginTest.kt | 0 .../dstHelper/DstHelperPluginTest.kt | 0 .../objectives/ObjectivesPluginTest.kt | 0 .../SignatureVerifierPluginTest.kt | 0 .../storage/StorageConstraintPluginTest.kt | 0 .../versionChecker/AllowedVersionsTest.kt | 0 .../general/autotune/AutotuneCoreTest.kt | 0 .../general/autotune/AutotunePrepTest.kt | 0 .../general/autotune/PreppedGlucoseTest.kt | 0 .../smsCommunicator/AuthRequestTest.kt | 0 .../general/smsCommunicator/SmsActionTest.kt | 0 .../SmsCommunicatorPluginTest.kt | 0 .../general/smsCommunicator/SmsTest.kt | 0 .../insulin/InsulinLyumjevPluginTest.kt | 0 .../insulin/InsulinOrefBasePluginTest.kt | 0 .../insulin/InsulinOrefFreePeakPluginTest.kt | 0 .../InsulinOrefRapidActingPluginTest.kt | 0 .../InsulinOrefUltraRapidActingPluginTest.kt | 0 .../pump/virtual/VirtualPumpPluginUTest.kt | 0 .../plugins/source/GlimpPluginTest.kt | 0 .../plugins/source/MM640GPluginTest.kt | 0 .../plugins/source/NSClientPluginTest.kt | 0 .../plugins/source/XdripPluginTest.kt | 0 .../nsclient/NsClientReceiverDelegateTest.kt | 0 .../plugins/sync/tidepool/comm/SessionTest.kt | 0 .../res/autotune/test1/Convert_Log2JSON.xlsx | Bin .../autotune/test1/Oref0-Autotune_Command.txt | 0 .../test1/aaps-entries.2022-05-21.json | 0 .../test1/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test1/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test1/aapsorefprofile.json | 0 .../autotune/test1/autotune.2022-05-21.json | 0 .../test1/autotune.2022-06-17-212314.log | 0 .../test1/newaapsorefprofile.2022-05-21.json | 0 .../test1/oaps-iobCalc.2022-05-21.json | 0 .../test/res/autotune/test1/profile.pump.json | 0 .../test2/aaps-entries.2022-05-21.json | 0 .../test2/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test2/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test2/aapsorefprofile.json | 0 .../autotune/test2/autotune.2022-05-21.json | 0 .../test2/autotune.2022-06-25-111214.log | 0 .../test2/newaapsorefprofile.2022-05-21.json | 0 .../test2/oaps-iobCalc.2022-05-21.json | 0 .../test/res/autotune/test2/profile.pump.json | 0 .../test3/aaps-entries.2022-05-21.json | 0 .../test3/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test3/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test3/aapsorefprofile.json | 0 .../autotune/test3/autotune.2022-05-21.json | 0 .../test3/autotune.2022-06-25-111350.log | 0 .../test3/newaapsorefprofile.2022-05-21.json | 0 .../test3/oaps-iobCalc.2022-05-21.json | 0 .../test/res/autotune/test3/profile.pump.json | 0 .../autotune/test4/autotune.2022-05-30.json | 0 .../test4/autotune.2022-06-25-195325.log | 0 .../autotune/test4/newprofile.2022-05-30.json | 0 .../autotune/test4/ns-entries.2022-05-30.json | 0 .../test4/ns-treatments.2022-05-30.json | 0 .../autotune/test4/profile.2022-05-30.json | 0 .../test/res/autotune/test4/profile.pump.json | 0 settings.gradle | 9 +++--- 350 files changed, 65 insertions(+), 8 deletions(-) rename plugins/{ => aps}/.gitignore (100%) create mode 100644 plugins/aps/build.gradle rename plugins/{ => aps}/consumer-rules.pro (100%) rename plugins/{ => aps}/proguard-rules.pro (100%) create mode 100644 plugins/aps/src/main/AndroidManifest.xml create mode 100644 plugins/main/.gitignore rename plugins/{ => main}/build.gradle (100%) create mode 100644 plugins/main/consumer-rules.pro create mode 100644 plugins/main/proguard-rules.pro rename plugins/{ => main}/src/main/AndroidManifest.xml (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/FoodModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/InsulinModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/PluginsModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/ProfileModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/SMSCommunicatorModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/SkinsModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/SourceModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/SyncModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsAction.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePasswordValidationResult.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java (100%) rename plugins/{ => main}/src/main/java/info/nightscout/plugins/utils/Percentile.kt (100%) rename plugins/{ => main}/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_baseline_warning_24_red.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_baseline_warning_24_yellow.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_cancel_basal.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_cp_age_battery.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_cp_age_cannula.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_cp_age_insulin.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_cp_age_sensor.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_crosstarget.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_dice.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_local_activate.xml (100%) rename plugins/{ => main}/src/main/res/drawable/ic_local_reset.xml (100%) rename plugins/{ => main}/src/main/res/layout/actions_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/actions_stats_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/autotune_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/food_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/food_item.xml (100%) rename plugins/{ => main}/src/main/res/layout/insulin_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/ns_client_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/objectives_exam_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/objectives_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/objectives_item.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_buttons_layout.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_graphs_layout.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_info_layout.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_notification_item.xml (100%) rename plugins/{ => main}/src/main/res/layout/overview_statuslights_layout.xml (100%) rename plugins/{ => main}/src/main/res/layout/profile_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/smscommunicator_activity_otp.xml (100%) rename plugins/{ => main}/src/main/res/layout/smscommunicator_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/source_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/source_item.xml (100%) rename plugins/{ => main}/src/main/res/layout/tidepool_fragment.xml (100%) rename plugins/{ => main}/src/main/res/layout/timelistedit_element.xml (100%) rename plugins/{ => main}/src/main/res/layout/timelistedit_element_vertical.xml (100%) rename plugins/{ => main}/src/main/res/layout/virtual_pump_fragment.xml (100%) rename plugins/{ => main}/src/main/res/raw/urgentalarm.mp3 (100%) rename plugins/{ => main}/src/main/res/values-af-rZA/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-bg-rBG/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-ca-rES/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-cs-rCZ/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-da-rDK/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-de-rDE/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-el-rGR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-es-rES/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-fr-rFR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-ga-rIE/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-hr-rHR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-hu-rHU/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-it-rIT/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-iw-rIL/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-ko-rKR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-lt-rLT/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-nl-rNL/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-no-rNO/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-pl-rPL/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-pt-rBR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-pt-rPT/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-ro-rRO/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-ru-rRU/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-sk-rSK/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-sr-rCS/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-sv-rSE/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-tr-rTR/strings.xml (100%) rename plugins/{ => main}/src/main/res/values-zh-rCN/strings.xml (100%) rename plugins/{ => main}/src/main/res/values/arrays.xml (100%) rename plugins/{ => main}/src/main/res/values/exam.xml (100%) rename plugins/{ => main}/src/main/res/values/objectives.xml (100%) rename plugins/{ => main}/src/main/res/values/strings.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_autotune.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_bgsource.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_dexcom.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_insulinoreffreepeak.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_ns_client.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_safety.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_smscommunicator.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_tidepool.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_virtual_pump.xml (100%) rename plugins/{ => main}/src/main/res/xml/pref_xdripstatus.xml (100%) rename plugins/{ => main}/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/androidaps/TestBase.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsActionTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt (100%) rename plugins/{ => main}/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt (100%) rename plugins/{ => main}/src/test/res/autotune/test1/Convert_Log2JSON.xlsx (100%) rename plugins/{ => main}/src/test/res/autotune/test1/Oref0-Autotune_Command.txt (100%) rename plugins/{ => main}/src/test/res/autotune/test1/aaps-entries.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/aapsorefautotune_recommendations.log (100%) rename plugins/{ => main}/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/aapsorefprofile.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/autotune.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/autotune.2022-06-17-212314.log (100%) rename plugins/{ => main}/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test1/profile.pump.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/aaps-entries.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/aapsorefautotune_recommendations.log (100%) rename plugins/{ => main}/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/aapsorefprofile.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/autotune.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/autotune.2022-06-25-111214.log (100%) rename plugins/{ => main}/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test2/profile.pump.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/aaps-entries.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/aapsorefautotune_recommendations.log (100%) rename plugins/{ => main}/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/aapsorefprofile.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/autotune.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/autotune.2022-06-25-111350.log (100%) rename plugins/{ => main}/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json (100%) rename plugins/{ => main}/src/test/res/autotune/test3/profile.pump.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/autotune.2022-05-30.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/autotune.2022-06-25-195325.log (100%) rename plugins/{ => main}/src/test/res/autotune/test4/newprofile.2022-05-30.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/ns-entries.2022-05-30.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/ns-treatments.2022-05-30.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/profile.2022-05-30.json (100%) rename plugins/{ => main}/src/test/res/autotune/test4/profile.pump.json (100%) diff --git a/app/build.gradle b/app/build.gradle index 71b577f4b1..b7c039306d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -190,7 +190,7 @@ dependencies { implementation project(':core:ui') implementation project(':interfaces') implementation project(':ui') - implementation project(':plugins') + implementation project(':plugins:main') implementation project(':implementation') implementation project(':database:entities') implementation project(':database:entities') diff --git a/crowdin.yml b/crowdin.yml index 6e8a4d5bb0..a7a88bc5a8 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -13,7 +13,6 @@ files: translation: /core/src/main/res/values-%android_code%/validator.xml - source: /core/core-main/src/main/res/values/strings.xml translation: /core/core-main/src/main/res/values-%android_code%/strings.xml - translate_attributes: 0 - source: /shared/src/main/res/values/strings.xml translation: /shared/src/main/res/values-%android_code%/strings.xml - source: /pump/combo/src/main/res/values/strings.xml @@ -56,5 +55,7 @@ files: translation: /implementation/src/main/res/values-%android_code%/strings.xml - source: /ui/src/main/res/values/strings.xml translation: /ui/src/main/res/values-%android_code%/strings.xml - - source: /plugins/src/main/res/values/strings.xml - translation: /plugins/src/main/res/values-%android_code%/strings.xml + - source: /plugins/aps/src/main/res/values/strings.xml + translation: /plugins/aps/src/main/res/values-%android_code%/strings.xml + - source: /plugins/main/src/main/res/values/strings.xml + translation: /plugins/main/src/main/res/values-%android_code%/strings.xml diff --git a/plugins/.gitignore b/plugins/aps/.gitignore similarity index 100% rename from plugins/.gitignore rename to plugins/aps/.gitignore diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle new file mode 100644 index 0000000000..719b680415 --- /dev/null +++ b/plugins/aps/build.gradle @@ -0,0 +1,29 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" +android { + namespace 'info.nightscout.plugins.aps' +} + +dependencies { + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + implementation project(':database:entities') + implementation project(':database:impl') + implementation project(':core:core-main') + implementation project(':core:fabric') + implementation project(':core:ui') + implementation project(':interfaces') + + api "androidx.appcompat:appcompat:$appcompat_version" +} \ No newline at end of file diff --git a/plugins/consumer-rules.pro b/plugins/aps/consumer-rules.pro similarity index 100% rename from plugins/consumer-rules.pro rename to plugins/aps/consumer-rules.pro diff --git a/plugins/proguard-rules.pro b/plugins/aps/proguard-rules.pro similarity index 100% rename from plugins/proguard-rules.pro rename to plugins/aps/proguard-rules.pro diff --git a/plugins/aps/src/main/AndroidManifest.xml b/plugins/aps/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..a5918e68ab --- /dev/null +++ b/plugins/aps/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/plugins/main/.gitignore b/plugins/main/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/plugins/main/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/main/build.gradle similarity index 100% rename from plugins/build.gradle rename to plugins/main/build.gradle diff --git a/plugins/main/consumer-rules.pro b/plugins/main/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/plugins/main/proguard-rules.pro b/plugins/main/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/plugins/main/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/plugins/src/main/AndroidManifest.xml b/plugins/main/src/main/AndroidManifest.xml similarity index 100% rename from plugins/src/main/AndroidManifest.xml rename to plugins/main/src/main/AndroidManifest.xml diff --git a/plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt b/plugins/main/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt rename to plugins/main/src/main/java/info/nightscout/plugins/configBuilder/RunningConfiguration.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/SntpClient.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/dialogs/NtpProgressDialog.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/events/EventObjectivesUpdateGui.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective0.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective1.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective10.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective2.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective3.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective4.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective5.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective6.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective7.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/Objective9.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/objectives/SntpClient.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/phoneChecker/PhoneCheckerPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/storage/StorageConstraintPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/constraints/versionChecker/VersionCheckerPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/FoodModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/FoodModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/FoodModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/FoodModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/InsulinModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/InsulinModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/InsulinModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/InsulinModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/ObjectivesModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/PluginsModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/ProfileModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/ProfileModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/ProfileModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/ProfileModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SMSCommunicatorModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/SMSCommunicatorModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/SMSCommunicatorModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/SMSCommunicatorModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SkinsModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/SkinsModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/SkinsModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/SkinsModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/SourceModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/SourceModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/SourceModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/SyncModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/SyncModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/SyncModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt rename to plugins/main/src/main/java/info/nightscout/plugins/di/VirtualPumpModule.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/extensions/PumpEnactResultExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/food/FoodFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/food/FoodPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/DismissNotificationService.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationStore.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/NotificationWithAction.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/overview/notifications/events/EventUpdateOverviewNotification.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/AuthRequest.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsAction.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsAction.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsAction.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsAction.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/activities/SmsCommunicatorOtpActivity.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/events/EventSmsCommunicatorUpdateGui.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePassword.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePasswordValidationResult.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePasswordValidationResult.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePasswordValidationResult.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/smsCommunicator/otp/OneTimePasswordValidationResult.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/themes/ThemeSwitcherPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/wear/events/EventWearUpdateGui.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/xdripStatusline/StatusLinePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/ActivityGraph.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinLyumjevPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefBasePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/profile/ProfileFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/VirtualPumpPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/pump/virtual/events/EventVirtualPumpUpdateGui.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinButtonsOn.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinClassic.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinInterface.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinLargeDisplay.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinListPreference.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinLowRes.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt b/plugins/main/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt rename to plugins/main/src/main/java/info/nightscout/plugins/skins/SkinProvider.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/BGSourceFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/DexcomPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/EversensePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/GlimpPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/GlunovoPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/IntelligoPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/MM640gPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/NSClientSourcePlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/PoctechPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/TomatoPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt rename to plugins/main/src/main/java/info/nightscout/plugins/source/activities/RequestDexcomPermissionActivity.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/StoreDataForDb.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientNewLog.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientResend.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientStatus.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/events/EventNSClientUpdateGUI.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/extensions/PumpEnactResultExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/DataSyncSelectorImplementation.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegate.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAddAck.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSAuthAck.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/acks/NSUpdateAck.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/AlarmAck.java diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSAlarm.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSDeviceStatusHandler.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSMbg.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSettingsStatus.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/NSSgv.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/data/ProcessedDeviceStatusData.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/BolusExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/CarbsExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/DeviceStatusExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/EffectiveProfileSwitchExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ExtendedBolusExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/OfflineEventExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/ProfileSwitchExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryBasalExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TemporaryTargetExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/extensions/TherapyEventExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddAckWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientMbgWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientUpdateRemoveAckWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusCalculatorResultExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/BolusExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/CarbsExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/EffectiveProfileSwitchExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ExtendedBolusExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/OfflineEventExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/ProfileSwitchExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryBasalExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TemporaryTargetExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/extensions/TherapyEventExtension.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadBgWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadDeviceStatusWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadLastModificationWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadStatusWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/LoadTreatmentsWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolFragment.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/TidepoolPlugin.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/InfoInterceptor.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/Session.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolApiService.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolCallback.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/TidepoolUploader.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/comm/UploadChunk.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BasalElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BaseElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BloodGlucoseElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/BolusElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/ProfileElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/SensorGlucoseElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/elements/WizardElement.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolDoUpload.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolResetData.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolStatus.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/events/EventTidepoolUpdateGUI.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthReplyMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/AuthRequestMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/BaseMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/CloseDatasetRequestMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/DatasetReplyMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/OpenDatasetRequestMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/messages/UploadReplyMessage.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/utils/GsonInstance.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt rename to plugins/main/src/main/java/info/nightscout/plugins/sync/tidepool/utils/RateLimit.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt b/plugins/main/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt rename to plugins/main/src/main/java/info/nightscout/plugins/ui/StatusLightHandler.kt diff --git a/plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java b/plugins/main/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java rename to plugins/main/src/main/java/info/nightscout/plugins/ui/TimeListEdit.java diff --git a/plugins/src/main/java/info/nightscout/plugins/utils/Percentile.kt b/plugins/main/src/main/java/info/nightscout/plugins/utils/Percentile.kt similarity index 100% rename from plugins/src/main/java/info/nightscout/plugins/utils/Percentile.kt rename to plugins/main/src/main/java/info/nightscout/plugins/utils/Percentile.kt diff --git a/plugins/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml b/plugins/main/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml rename to plugins/main/src/main/res/drawable/ic_actions_cancel_extended_bolus.xml diff --git a/plugins/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml b/plugins/main/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml rename to plugins/main/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml diff --git a/plugins/src/main/res/drawable/ic_baseline_warning_24_red.xml b/plugins/main/src/main/res/drawable/ic_baseline_warning_24_red.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_baseline_warning_24_red.xml rename to plugins/main/src/main/res/drawable/ic_baseline_warning_24_red.xml diff --git a/plugins/src/main/res/drawable/ic_baseline_warning_24_yellow.xml b/plugins/main/src/main/res/drawable/ic_baseline_warning_24_yellow.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_baseline_warning_24_yellow.xml rename to plugins/main/src/main/res/drawable/ic_baseline_warning_24_yellow.xml diff --git a/plugins/src/main/res/drawable/ic_cancel_basal.xml b/plugins/main/src/main/res/drawable/ic_cancel_basal.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_cancel_basal.xml rename to plugins/main/src/main/res/drawable/ic_cancel_basal.xml diff --git a/plugins/src/main/res/drawable/ic_cp_age_battery.xml b/plugins/main/src/main/res/drawable/ic_cp_age_battery.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_cp_age_battery.xml rename to plugins/main/src/main/res/drawable/ic_cp_age_battery.xml diff --git a/plugins/src/main/res/drawable/ic_cp_age_cannula.xml b/plugins/main/src/main/res/drawable/ic_cp_age_cannula.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_cp_age_cannula.xml rename to plugins/main/src/main/res/drawable/ic_cp_age_cannula.xml diff --git a/plugins/src/main/res/drawable/ic_cp_age_insulin.xml b/plugins/main/src/main/res/drawable/ic_cp_age_insulin.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_cp_age_insulin.xml rename to plugins/main/src/main/res/drawable/ic_cp_age_insulin.xml diff --git a/plugins/src/main/res/drawable/ic_cp_age_sensor.xml b/plugins/main/src/main/res/drawable/ic_cp_age_sensor.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_cp_age_sensor.xml rename to plugins/main/src/main/res/drawable/ic_cp_age_sensor.xml diff --git a/plugins/src/main/res/drawable/ic_crosstarget.xml b/plugins/main/src/main/res/drawable/ic_crosstarget.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_crosstarget.xml rename to plugins/main/src/main/res/drawable/ic_crosstarget.xml diff --git a/plugins/src/main/res/drawable/ic_dice.xml b/plugins/main/src/main/res/drawable/ic_dice.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_dice.xml rename to plugins/main/src/main/res/drawable/ic_dice.xml diff --git a/plugins/src/main/res/drawable/ic_local_activate.xml b/plugins/main/src/main/res/drawable/ic_local_activate.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_local_activate.xml rename to plugins/main/src/main/res/drawable/ic_local_activate.xml diff --git a/plugins/src/main/res/drawable/ic_local_reset.xml b/plugins/main/src/main/res/drawable/ic_local_reset.xml similarity index 100% rename from plugins/src/main/res/drawable/ic_local_reset.xml rename to plugins/main/src/main/res/drawable/ic_local_reset.xml diff --git a/plugins/src/main/res/layout/actions_fragment.xml b/plugins/main/src/main/res/layout/actions_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/actions_fragment.xml rename to plugins/main/src/main/res/layout/actions_fragment.xml diff --git a/plugins/src/main/res/layout/actions_stats_fragment.xml b/plugins/main/src/main/res/layout/actions_stats_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/actions_stats_fragment.xml rename to plugins/main/src/main/res/layout/actions_stats_fragment.xml diff --git a/plugins/src/main/res/layout/autotune_fragment.xml b/plugins/main/src/main/res/layout/autotune_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/autotune_fragment.xml rename to plugins/main/src/main/res/layout/autotune_fragment.xml diff --git a/plugins/src/main/res/layout/food_fragment.xml b/plugins/main/src/main/res/layout/food_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/food_fragment.xml rename to plugins/main/src/main/res/layout/food_fragment.xml diff --git a/plugins/src/main/res/layout/food_item.xml b/plugins/main/src/main/res/layout/food_item.xml similarity index 100% rename from plugins/src/main/res/layout/food_item.xml rename to plugins/main/src/main/res/layout/food_item.xml diff --git a/plugins/src/main/res/layout/insulin_fragment.xml b/plugins/main/src/main/res/layout/insulin_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/insulin_fragment.xml rename to plugins/main/src/main/res/layout/insulin_fragment.xml diff --git a/plugins/src/main/res/layout/ns_client_fragment.xml b/plugins/main/src/main/res/layout/ns_client_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/ns_client_fragment.xml rename to plugins/main/src/main/res/layout/ns_client_fragment.xml diff --git a/plugins/src/main/res/layout/objectives_exam_fragment.xml b/plugins/main/src/main/res/layout/objectives_exam_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/objectives_exam_fragment.xml rename to plugins/main/src/main/res/layout/objectives_exam_fragment.xml diff --git a/plugins/src/main/res/layout/objectives_fragment.xml b/plugins/main/src/main/res/layout/objectives_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/objectives_fragment.xml rename to plugins/main/src/main/res/layout/objectives_fragment.xml diff --git a/plugins/src/main/res/layout/objectives_item.xml b/plugins/main/src/main/res/layout/objectives_item.xml similarity index 100% rename from plugins/src/main/res/layout/objectives_item.xml rename to plugins/main/src/main/res/layout/objectives_item.xml diff --git a/plugins/src/main/res/layout/overview_buttons_layout.xml b/plugins/main/src/main/res/layout/overview_buttons_layout.xml similarity index 100% rename from plugins/src/main/res/layout/overview_buttons_layout.xml rename to plugins/main/src/main/res/layout/overview_buttons_layout.xml diff --git a/plugins/src/main/res/layout/overview_fragment.xml b/plugins/main/src/main/res/layout/overview_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/overview_fragment.xml rename to plugins/main/src/main/res/layout/overview_fragment.xml diff --git a/plugins/src/main/res/layout/overview_graphs_layout.xml b/plugins/main/src/main/res/layout/overview_graphs_layout.xml similarity index 100% rename from plugins/src/main/res/layout/overview_graphs_layout.xml rename to plugins/main/src/main/res/layout/overview_graphs_layout.xml diff --git a/plugins/src/main/res/layout/overview_info_layout.xml b/plugins/main/src/main/res/layout/overview_info_layout.xml similarity index 100% rename from plugins/src/main/res/layout/overview_info_layout.xml rename to plugins/main/src/main/res/layout/overview_info_layout.xml diff --git a/plugins/src/main/res/layout/overview_notification_item.xml b/plugins/main/src/main/res/layout/overview_notification_item.xml similarity index 100% rename from plugins/src/main/res/layout/overview_notification_item.xml rename to plugins/main/src/main/res/layout/overview_notification_item.xml diff --git a/plugins/src/main/res/layout/overview_statuslights_layout.xml b/plugins/main/src/main/res/layout/overview_statuslights_layout.xml similarity index 100% rename from plugins/src/main/res/layout/overview_statuslights_layout.xml rename to plugins/main/src/main/res/layout/overview_statuslights_layout.xml diff --git a/plugins/src/main/res/layout/profile_fragment.xml b/plugins/main/src/main/res/layout/profile_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/profile_fragment.xml rename to plugins/main/src/main/res/layout/profile_fragment.xml diff --git a/plugins/src/main/res/layout/smscommunicator_activity_otp.xml b/plugins/main/src/main/res/layout/smscommunicator_activity_otp.xml similarity index 100% rename from plugins/src/main/res/layout/smscommunicator_activity_otp.xml rename to plugins/main/src/main/res/layout/smscommunicator_activity_otp.xml diff --git a/plugins/src/main/res/layout/smscommunicator_fragment.xml b/plugins/main/src/main/res/layout/smscommunicator_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/smscommunicator_fragment.xml rename to plugins/main/src/main/res/layout/smscommunicator_fragment.xml diff --git a/plugins/src/main/res/layout/source_fragment.xml b/plugins/main/src/main/res/layout/source_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/source_fragment.xml rename to plugins/main/src/main/res/layout/source_fragment.xml diff --git a/plugins/src/main/res/layout/source_item.xml b/plugins/main/src/main/res/layout/source_item.xml similarity index 100% rename from plugins/src/main/res/layout/source_item.xml rename to plugins/main/src/main/res/layout/source_item.xml diff --git a/plugins/src/main/res/layout/tidepool_fragment.xml b/plugins/main/src/main/res/layout/tidepool_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/tidepool_fragment.xml rename to plugins/main/src/main/res/layout/tidepool_fragment.xml diff --git a/plugins/src/main/res/layout/timelistedit_element.xml b/plugins/main/src/main/res/layout/timelistedit_element.xml similarity index 100% rename from plugins/src/main/res/layout/timelistedit_element.xml rename to plugins/main/src/main/res/layout/timelistedit_element.xml diff --git a/plugins/src/main/res/layout/timelistedit_element_vertical.xml b/plugins/main/src/main/res/layout/timelistedit_element_vertical.xml similarity index 100% rename from plugins/src/main/res/layout/timelistedit_element_vertical.xml rename to plugins/main/src/main/res/layout/timelistedit_element_vertical.xml diff --git a/plugins/src/main/res/layout/virtual_pump_fragment.xml b/plugins/main/src/main/res/layout/virtual_pump_fragment.xml similarity index 100% rename from plugins/src/main/res/layout/virtual_pump_fragment.xml rename to plugins/main/src/main/res/layout/virtual_pump_fragment.xml diff --git a/plugins/src/main/res/raw/urgentalarm.mp3 b/plugins/main/src/main/res/raw/urgentalarm.mp3 similarity index 100% rename from plugins/src/main/res/raw/urgentalarm.mp3 rename to plugins/main/src/main/res/raw/urgentalarm.mp3 diff --git a/plugins/src/main/res/values-af-rZA/strings.xml b/plugins/main/src/main/res/values-af-rZA/strings.xml similarity index 100% rename from plugins/src/main/res/values-af-rZA/strings.xml rename to plugins/main/src/main/res/values-af-rZA/strings.xml diff --git a/plugins/src/main/res/values-bg-rBG/strings.xml b/plugins/main/src/main/res/values-bg-rBG/strings.xml similarity index 100% rename from plugins/src/main/res/values-bg-rBG/strings.xml rename to plugins/main/src/main/res/values-bg-rBG/strings.xml diff --git a/plugins/src/main/res/values-ca-rES/strings.xml b/plugins/main/src/main/res/values-ca-rES/strings.xml similarity index 100% rename from plugins/src/main/res/values-ca-rES/strings.xml rename to plugins/main/src/main/res/values-ca-rES/strings.xml diff --git a/plugins/src/main/res/values-cs-rCZ/strings.xml b/plugins/main/src/main/res/values-cs-rCZ/strings.xml similarity index 100% rename from plugins/src/main/res/values-cs-rCZ/strings.xml rename to plugins/main/src/main/res/values-cs-rCZ/strings.xml diff --git a/plugins/src/main/res/values-da-rDK/strings.xml b/plugins/main/src/main/res/values-da-rDK/strings.xml similarity index 100% rename from plugins/src/main/res/values-da-rDK/strings.xml rename to plugins/main/src/main/res/values-da-rDK/strings.xml diff --git a/plugins/src/main/res/values-de-rDE/strings.xml b/plugins/main/src/main/res/values-de-rDE/strings.xml similarity index 100% rename from plugins/src/main/res/values-de-rDE/strings.xml rename to plugins/main/src/main/res/values-de-rDE/strings.xml diff --git a/plugins/src/main/res/values-el-rGR/strings.xml b/plugins/main/src/main/res/values-el-rGR/strings.xml similarity index 100% rename from plugins/src/main/res/values-el-rGR/strings.xml rename to plugins/main/src/main/res/values-el-rGR/strings.xml diff --git a/plugins/src/main/res/values-es-rES/strings.xml b/plugins/main/src/main/res/values-es-rES/strings.xml similarity index 100% rename from plugins/src/main/res/values-es-rES/strings.xml rename to plugins/main/src/main/res/values-es-rES/strings.xml diff --git a/plugins/src/main/res/values-fr-rFR/strings.xml b/plugins/main/src/main/res/values-fr-rFR/strings.xml similarity index 100% rename from plugins/src/main/res/values-fr-rFR/strings.xml rename to plugins/main/src/main/res/values-fr-rFR/strings.xml diff --git a/plugins/src/main/res/values-ga-rIE/strings.xml b/plugins/main/src/main/res/values-ga-rIE/strings.xml similarity index 100% rename from plugins/src/main/res/values-ga-rIE/strings.xml rename to plugins/main/src/main/res/values-ga-rIE/strings.xml diff --git a/plugins/src/main/res/values-hr-rHR/strings.xml b/plugins/main/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from plugins/src/main/res/values-hr-rHR/strings.xml rename to plugins/main/src/main/res/values-hr-rHR/strings.xml diff --git a/plugins/src/main/res/values-hu-rHU/strings.xml b/plugins/main/src/main/res/values-hu-rHU/strings.xml similarity index 100% rename from plugins/src/main/res/values-hu-rHU/strings.xml rename to plugins/main/src/main/res/values-hu-rHU/strings.xml diff --git a/plugins/src/main/res/values-it-rIT/strings.xml b/plugins/main/src/main/res/values-it-rIT/strings.xml similarity index 100% rename from plugins/src/main/res/values-it-rIT/strings.xml rename to plugins/main/src/main/res/values-it-rIT/strings.xml diff --git a/plugins/src/main/res/values-iw-rIL/strings.xml b/plugins/main/src/main/res/values-iw-rIL/strings.xml similarity index 100% rename from plugins/src/main/res/values-iw-rIL/strings.xml rename to plugins/main/src/main/res/values-iw-rIL/strings.xml diff --git a/plugins/src/main/res/values-ko-rKR/strings.xml b/plugins/main/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from plugins/src/main/res/values-ko-rKR/strings.xml rename to plugins/main/src/main/res/values-ko-rKR/strings.xml diff --git a/plugins/src/main/res/values-lt-rLT/strings.xml b/plugins/main/src/main/res/values-lt-rLT/strings.xml similarity index 100% rename from plugins/src/main/res/values-lt-rLT/strings.xml rename to plugins/main/src/main/res/values-lt-rLT/strings.xml diff --git a/plugins/src/main/res/values-nl-rNL/strings.xml b/plugins/main/src/main/res/values-nl-rNL/strings.xml similarity index 100% rename from plugins/src/main/res/values-nl-rNL/strings.xml rename to plugins/main/src/main/res/values-nl-rNL/strings.xml diff --git a/plugins/src/main/res/values-no-rNO/strings.xml b/plugins/main/src/main/res/values-no-rNO/strings.xml similarity index 100% rename from plugins/src/main/res/values-no-rNO/strings.xml rename to plugins/main/src/main/res/values-no-rNO/strings.xml diff --git a/plugins/src/main/res/values-pl-rPL/strings.xml b/plugins/main/src/main/res/values-pl-rPL/strings.xml similarity index 100% rename from plugins/src/main/res/values-pl-rPL/strings.xml rename to plugins/main/src/main/res/values-pl-rPL/strings.xml diff --git a/plugins/src/main/res/values-pt-rBR/strings.xml b/plugins/main/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from plugins/src/main/res/values-pt-rBR/strings.xml rename to plugins/main/src/main/res/values-pt-rBR/strings.xml diff --git a/plugins/src/main/res/values-pt-rPT/strings.xml b/plugins/main/src/main/res/values-pt-rPT/strings.xml similarity index 100% rename from plugins/src/main/res/values-pt-rPT/strings.xml rename to plugins/main/src/main/res/values-pt-rPT/strings.xml diff --git a/plugins/src/main/res/values-ro-rRO/strings.xml b/plugins/main/src/main/res/values-ro-rRO/strings.xml similarity index 100% rename from plugins/src/main/res/values-ro-rRO/strings.xml rename to plugins/main/src/main/res/values-ro-rRO/strings.xml diff --git a/plugins/src/main/res/values-ru-rRU/strings.xml b/plugins/main/src/main/res/values-ru-rRU/strings.xml similarity index 100% rename from plugins/src/main/res/values-ru-rRU/strings.xml rename to plugins/main/src/main/res/values-ru-rRU/strings.xml diff --git a/plugins/src/main/res/values-sk-rSK/strings.xml b/plugins/main/src/main/res/values-sk-rSK/strings.xml similarity index 100% rename from plugins/src/main/res/values-sk-rSK/strings.xml rename to plugins/main/src/main/res/values-sk-rSK/strings.xml diff --git a/plugins/src/main/res/values-sr-rCS/strings.xml b/plugins/main/src/main/res/values-sr-rCS/strings.xml similarity index 100% rename from plugins/src/main/res/values-sr-rCS/strings.xml rename to plugins/main/src/main/res/values-sr-rCS/strings.xml diff --git a/plugins/src/main/res/values-sv-rSE/strings.xml b/plugins/main/src/main/res/values-sv-rSE/strings.xml similarity index 100% rename from plugins/src/main/res/values-sv-rSE/strings.xml rename to plugins/main/src/main/res/values-sv-rSE/strings.xml diff --git a/plugins/src/main/res/values-tr-rTR/strings.xml b/plugins/main/src/main/res/values-tr-rTR/strings.xml similarity index 100% rename from plugins/src/main/res/values-tr-rTR/strings.xml rename to plugins/main/src/main/res/values-tr-rTR/strings.xml diff --git a/plugins/src/main/res/values-zh-rCN/strings.xml b/plugins/main/src/main/res/values-zh-rCN/strings.xml similarity index 100% rename from plugins/src/main/res/values-zh-rCN/strings.xml rename to plugins/main/src/main/res/values-zh-rCN/strings.xml diff --git a/plugins/src/main/res/values/arrays.xml b/plugins/main/src/main/res/values/arrays.xml similarity index 100% rename from plugins/src/main/res/values/arrays.xml rename to plugins/main/src/main/res/values/arrays.xml diff --git a/plugins/src/main/res/values/exam.xml b/plugins/main/src/main/res/values/exam.xml similarity index 100% rename from plugins/src/main/res/values/exam.xml rename to plugins/main/src/main/res/values/exam.xml diff --git a/plugins/src/main/res/values/objectives.xml b/plugins/main/src/main/res/values/objectives.xml similarity index 100% rename from plugins/src/main/res/values/objectives.xml rename to plugins/main/src/main/res/values/objectives.xml diff --git a/plugins/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml similarity index 100% rename from plugins/src/main/res/values/strings.xml rename to plugins/main/src/main/res/values/strings.xml diff --git a/plugins/src/main/res/xml/pref_autotune.xml b/plugins/main/src/main/res/xml/pref_autotune.xml similarity index 100% rename from plugins/src/main/res/xml/pref_autotune.xml rename to plugins/main/src/main/res/xml/pref_autotune.xml diff --git a/plugins/src/main/res/xml/pref_bgsource.xml b/plugins/main/src/main/res/xml/pref_bgsource.xml similarity index 100% rename from plugins/src/main/res/xml/pref_bgsource.xml rename to plugins/main/src/main/res/xml/pref_bgsource.xml diff --git a/plugins/src/main/res/xml/pref_dexcom.xml b/plugins/main/src/main/res/xml/pref_dexcom.xml similarity index 100% rename from plugins/src/main/res/xml/pref_dexcom.xml rename to plugins/main/src/main/res/xml/pref_dexcom.xml diff --git a/plugins/src/main/res/xml/pref_insulinoreffreepeak.xml b/plugins/main/src/main/res/xml/pref_insulinoreffreepeak.xml similarity index 100% rename from plugins/src/main/res/xml/pref_insulinoreffreepeak.xml rename to plugins/main/src/main/res/xml/pref_insulinoreffreepeak.xml diff --git a/plugins/src/main/res/xml/pref_ns_client.xml b/plugins/main/src/main/res/xml/pref_ns_client.xml similarity index 100% rename from plugins/src/main/res/xml/pref_ns_client.xml rename to plugins/main/src/main/res/xml/pref_ns_client.xml diff --git a/plugins/src/main/res/xml/pref_safety.xml b/plugins/main/src/main/res/xml/pref_safety.xml similarity index 100% rename from plugins/src/main/res/xml/pref_safety.xml rename to plugins/main/src/main/res/xml/pref_safety.xml diff --git a/plugins/src/main/res/xml/pref_smscommunicator.xml b/plugins/main/src/main/res/xml/pref_smscommunicator.xml similarity index 100% rename from plugins/src/main/res/xml/pref_smscommunicator.xml rename to plugins/main/src/main/res/xml/pref_smscommunicator.xml diff --git a/plugins/src/main/res/xml/pref_tidepool.xml b/plugins/main/src/main/res/xml/pref_tidepool.xml similarity index 100% rename from plugins/src/main/res/xml/pref_tidepool.xml rename to plugins/main/src/main/res/xml/pref_tidepool.xml diff --git a/plugins/src/main/res/xml/pref_virtual_pump.xml b/plugins/main/src/main/res/xml/pref_virtual_pump.xml similarity index 100% rename from plugins/src/main/res/xml/pref_virtual_pump.xml rename to plugins/main/src/main/res/xml/pref_virtual_pump.xml diff --git a/plugins/src/main/res/xml/pref_xdripstatus.xml b/plugins/main/src/main/res/xml/pref_xdripstatus.xml similarity index 100% rename from plugins/src/main/res/xml/pref_xdripstatus.xml rename to plugins/main/src/main/res/xml/pref_xdripstatus.xml diff --git a/plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt b/plugins/main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt rename to plugins/main/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBase.kt b/plugins/main/src/test/java/info/nightscout/androidaps/TestBase.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/androidaps/TestBase.kt rename to plugins/main/src/test/java/info/nightscout/androidaps/TestBase.kt diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt rename to plugins/main/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt diff --git a/plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt rename to plugins/main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/bgQualityCheck/BgQualityCheckPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/dstHelper/DstHelperPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/ObjectivesPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/signatureVerifier/SignatureVerifierPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/storage/StorageConstraintPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/versionChecker/AllowedVersionsTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/AuthRequestTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsActionTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsActionTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsActionTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsActionTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsCommunicatorPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/general/smsCommunicator/SmsTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinLyumjevPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefBasePluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefFreePeakPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefRapidActingPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/insulin/InsulinOrefUltraRapidActingPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/pump/virtual/VirtualPumpPluginUTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/source/GlimpPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/source/MM640GPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/source/NSClientPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/source/XdripPluginTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/sync/nsclient/NsClientReceiverDelegateTest.kt diff --git a/plugins/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt similarity index 100% rename from plugins/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/sync/tidepool/comm/SessionTest.kt diff --git a/plugins/src/test/res/autotune/test1/Convert_Log2JSON.xlsx b/plugins/main/src/test/res/autotune/test1/Convert_Log2JSON.xlsx similarity index 100% rename from plugins/src/test/res/autotune/test1/Convert_Log2JSON.xlsx rename to plugins/main/src/test/res/autotune/test1/Convert_Log2JSON.xlsx diff --git a/plugins/src/test/res/autotune/test1/Oref0-Autotune_Command.txt b/plugins/main/src/test/res/autotune/test1/Oref0-Autotune_Command.txt similarity index 100% rename from plugins/src/test/res/autotune/test1/Oref0-Autotune_Command.txt rename to plugins/main/src/test/res/autotune/test1/Oref0-Autotune_Command.txt diff --git a/plugins/src/test/res/autotune/test1/aaps-entries.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/aaps-entries.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/aaps-entries.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/aapsorefautotune_recommendations.log b/plugins/main/src/test/res/autotune/test1/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/src/test/res/autotune/test1/aapsorefautotune_recommendations.log rename to plugins/main/src/test/res/autotune/test1/aapsorefautotune_recommendations.log diff --git a/plugins/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test1/aapsorefprofile.json similarity index 100% rename from plugins/src/test/res/autotune/test1/aapsorefprofile.json rename to plugins/main/src/test/res/autotune/test1/aapsorefprofile.json diff --git a/plugins/src/test/res/autotune/test1/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/autotune.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/autotune.2022-06-17-212314.log b/plugins/main/src/test/res/autotune/test1/autotune.2022-06-17-212314.log similarity index 100% rename from plugins/src/test/res/autotune/test1/autotune.2022-06-17-212314.log rename to plugins/main/src/test/res/autotune/test1/autotune.2022-06-17-212314.log diff --git a/plugins/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json rename to plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test1/profile.pump.json b/plugins/main/src/test/res/autotune/test1/profile.pump.json similarity index 100% rename from plugins/src/test/res/autotune/test1/profile.pump.json rename to plugins/main/src/test/res/autotune/test1/profile.pump.json diff --git a/plugins/src/test/res/autotune/test2/aaps-entries.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/aaps-entries.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/aaps-entries.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/aapsorefautotune_recommendations.log b/plugins/main/src/test/res/autotune/test2/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/src/test/res/autotune/test2/aapsorefautotune_recommendations.log rename to plugins/main/src/test/res/autotune/test2/aapsorefautotune_recommendations.log diff --git a/plugins/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test2/aapsorefprofile.json similarity index 100% rename from plugins/src/test/res/autotune/test2/aapsorefprofile.json rename to plugins/main/src/test/res/autotune/test2/aapsorefprofile.json diff --git a/plugins/src/test/res/autotune/test2/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/autotune.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/autotune.2022-06-25-111214.log b/plugins/main/src/test/res/autotune/test2/autotune.2022-06-25-111214.log similarity index 100% rename from plugins/src/test/res/autotune/test2/autotune.2022-06-25-111214.log rename to plugins/main/src/test/res/autotune/test2/autotune.2022-06-25-111214.log diff --git a/plugins/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json rename to plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test2/profile.pump.json b/plugins/main/src/test/res/autotune/test2/profile.pump.json similarity index 100% rename from plugins/src/test/res/autotune/test2/profile.pump.json rename to plugins/main/src/test/res/autotune/test2/profile.pump.json diff --git a/plugins/src/test/res/autotune/test3/aaps-entries.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/aaps-entries.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/aaps-entries.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/aapsorefautotune_recommendations.log b/plugins/main/src/test/res/autotune/test3/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/src/test/res/autotune/test3/aapsorefautotune_recommendations.log rename to plugins/main/src/test/res/autotune/test3/aapsorefautotune_recommendations.log diff --git a/plugins/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test3/aapsorefprofile.json similarity index 100% rename from plugins/src/test/res/autotune/test3/aapsorefprofile.json rename to plugins/main/src/test/res/autotune/test3/aapsorefprofile.json diff --git a/plugins/src/test/res/autotune/test3/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/autotune.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/autotune.2022-06-25-111350.log b/plugins/main/src/test/res/autotune/test3/autotune.2022-06-25-111350.log similarity index 100% rename from plugins/src/test/res/autotune/test3/autotune.2022-06-25-111350.log rename to plugins/main/src/test/res/autotune/test3/autotune.2022-06-25-111350.log diff --git a/plugins/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json similarity index 100% rename from plugins/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json rename to plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json diff --git a/plugins/src/test/res/autotune/test3/profile.pump.json b/plugins/main/src/test/res/autotune/test3/profile.pump.json similarity index 100% rename from plugins/src/test/res/autotune/test3/profile.pump.json rename to plugins/main/src/test/res/autotune/test3/profile.pump.json diff --git a/plugins/src/test/res/autotune/test4/autotune.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json similarity index 100% rename from plugins/src/test/res/autotune/test4/autotune.2022-05-30.json rename to plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json diff --git a/plugins/src/test/res/autotune/test4/autotune.2022-06-25-195325.log b/plugins/main/src/test/res/autotune/test4/autotune.2022-06-25-195325.log similarity index 100% rename from plugins/src/test/res/autotune/test4/autotune.2022-06-25-195325.log rename to plugins/main/src/test/res/autotune/test4/autotune.2022-06-25-195325.log diff --git a/plugins/src/test/res/autotune/test4/newprofile.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json similarity index 100% rename from plugins/src/test/res/autotune/test4/newprofile.2022-05-30.json rename to plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json diff --git a/plugins/src/test/res/autotune/test4/ns-entries.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/ns-entries.2022-05-30.json similarity index 100% rename from plugins/src/test/res/autotune/test4/ns-entries.2022-05-30.json rename to plugins/main/src/test/res/autotune/test4/ns-entries.2022-05-30.json diff --git a/plugins/src/test/res/autotune/test4/ns-treatments.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/ns-treatments.2022-05-30.json similarity index 100% rename from plugins/src/test/res/autotune/test4/ns-treatments.2022-05-30.json rename to plugins/main/src/test/res/autotune/test4/ns-treatments.2022-05-30.json diff --git a/plugins/src/test/res/autotune/test4/profile.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json similarity index 100% rename from plugins/src/test/res/autotune/test4/profile.2022-05-30.json rename to plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json diff --git a/plugins/src/test/res/autotune/test4/profile.pump.json b/plugins/main/src/test/res/autotune/test4/profile.pump.json similarity index 100% rename from plugins/src/test/res/autotune/test4/profile.pump.json rename to plugins/main/src/test/res/autotune/test4/profile.pump.json diff --git a/settings.gradle b/settings.gradle index e068798fa7..f65ea5f331 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,9 +1,11 @@ include ':app' include ':wear' +include ':automation' include ':database:entities' include ':database:impl' include ':core:core-main' include ':core:fabric' +include ':core:ui' include ':app-wear-shared:rx' include ':app-wear-shared:shared' include ':app-wear-shared:shared-impl' @@ -12,7 +14,9 @@ include ':libraries' include ':ns-sdk' include ':ui' include ':implementation' -include ':plugins' +include ':interfaces' +include ':plugins:aps' +include ':plugins:main' include ':pump:combo' include ':pump:dana' include ':pump:danar' @@ -29,6 +33,3 @@ include ':pump:pump-common' include ':pump:pump-core' include ':pump:rileylink' include ':openhumans' -include ':automation' -include ':interfaces' -include ':core:ui' From 6ec4f5c4b403aead5f5f19e9586dbb5e29c52449 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 23:14:37 +0100 Subject: [PATCH 090/123] aps module --- .../shared/impl/di/SharedImplModule.kt | 6 +- .../shared/impl/logging/LImpl.kt | 2 +- .../impl/sharedPreferences/Delegates.kt | 2 +- .../sharedPreferences/SPImplementation.kt | 2 +- app/build.gradle | 10 +- .../info/nightscout/androidaps/MainApp.kt | 3 +- .../activities/MyPreferenceFragment.kt | 14 +- .../nightscout/androidaps/di/APSModule.kt | 22 - .../nightscout/androidaps/di/AppComponent.kt | 6 +- .../nightscout/androidaps/di/AppModule.kt | 3 +- .../androidaps/di/FragmentsModule.kt | 11 +- .../androidaps/di/PluginsListModule.kt | 6 +- .../dataBroadcaster/DataBroadcastPlugin.kt | 3 +- .../general/maintenance/MaintenancePlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 3 +- .../IobCobCalculatorPlugin.kt | 2 +- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 10 +- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 6 +- .../sensitivity/SensitivityAAPSPlugin.kt | 3 +- .../sensitivity/SensitivityOref1Plugin.kt | 5 +- app/src/main/res/layout/loop_fragment.xml | 2 +- app/src/main/res/values-af-rZA/strings.xml | 80 +- app/src/main/res/values-bg-rBG/strings.xml | 100 +- app/src/main/res/values-ca-rES/strings.xml | 40 +- app/src/main/res/values-cs-rCZ/strings.xml | 104 +- app/src/main/res/values-da-rDK/strings.xml | 104 +- app/src/main/res/values-de-rDE/strings.xml | 104 +- app/src/main/res/values-el-rGR/strings.xml | 82 +- app/src/main/res/values-es-rES/strings.xml | 104 +- app/src/main/res/values-fr-rFR/strings.xml | 104 +- app/src/main/res/values-it-rIT/strings.xml | 104 +- app/src/main/res/values-iw-rIL/strings.xml | 104 +- app/src/main/res/values-ko-rKR/strings.xml | 100 +- app/src/main/res/values-lt-rLT/strings.xml | 100 +- app/src/main/res/values-nl-rNL/strings.xml | 104 +- app/src/main/res/values-no-rNO/strings.xml | 104 +- app/src/main/res/values-pl-rPL/strings.xml | 100 +- app/src/main/res/values-pt-rBR/strings.xml | 96 +- app/src/main/res/values-pt-rPT/strings.xml | 100 +- app/src/main/res/values-ro-rRO/strings.xml | 100 +- app/src/main/res/values-ru-rRU/strings.xml | 104 +- app/src/main/res/values-sk-rSK/strings.xml | 104 +- app/src/main/res/values-sv-rSE/strings.xml | 100 +- app/src/main/res/values-tr-rTR/strings.xml | 104 +- app/src/main/res/values-zh-rCN/strings.xml | 100 +- app/src/main/res/values/strings.xml | 100 - .../main/res/xml/pref_absorption_oref1.xml | 10 +- app/src/main/res/xml/pref_openhumans.xml | 22 - .../interfaces/ConstraintsCheckerTest.kt | 29 +- .../maintenance/MaintenancePluginTest.kt | 2 +- .../plugins/safety/SafetyPluginTest.kt | 103 +- .../main/res/drawable/ic_local_activate.xml | 12 + .../src/main/res/drawable/ic_local_reset.xml | 9 + .../core-main/src/main/res/values/strings.xml | 3 + .../implementation/di/ImplementationModule.kt | 13 + .../implementation/logging/LoggerUtilsImpl.kt | 15 +- .../implementation/profiling/ProfilerImpl.kt | 8 +- .../interfaces/logging/LoggerUtils.kt | 7 + .../interfaces/profile/ProfileSource.kt | 6 + .../interfaces/profiling/Profiler.kt | 8 + plugins/aps/build.gradle | 3 + .../main/assets/OpenAPSAMA/basal-set-temp.js | 0 .../main/assets/OpenAPSAMA/determine-basal.js | 0 .../main/assets/OpenAPSAMA/loggerhelper.js | 0 .../main/assets/OpenAPSSMB/basal-set-temp.js | 0 .../main/assets/OpenAPSSMB/determine-basal.js | 0 .../OpenAPSSMBDynamicISF/determine-basal.js | 0 .../plugins/aps/OpenAPSFragment.kt | 13 +- .../nightscout/plugins/aps/di/AlgModule.kt | 16 + .../nightscout/plugins/aps/di/ApsModule.kt | 14 + .../plugins/aps}/di/AutotuneModule.kt | 25 +- .../aps/events/EventOpenAPSUpdateGui.kt | 2 +- .../aps/events/EventOpenAPSUpdateResultGui.kt | 2 +- .../plugins/aps/logger/LoggerCallback.kt | 7 +- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 8 +- .../aps/openAPSAMA/DetermineBasalResultAMA.kt | 2 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 47 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 16 +- .../aps/openAPSSMB/DetermineBasalResultSMB.kt | 2 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 64 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 26 +- .../OpenAPSSMBDynamicISFPlugin.kt | 10 +- .../plugins/aps}/utils/JSONFormatter.kt | 20 +- .../plugins/aps}/utils/Percentile.kt | 2 +- .../plugins/aps/utils}/ScriptReader.kt | 2 +- .../plugins/aps/utils}/StaticInjector.kt | 10 +- .../plugins/general/autotune/AutotuneCore.kt | 4 +- .../plugins/general/autotune/AutotuneFS.kt | 6 +- .../general/autotune/AutotuneFragment.kt | 61 +- .../plugins/general/autotune/AutotuneIob.kt | 83 +- .../general/autotune/AutotunePlugin.kt | 5 +- .../plugins/general/autotune/AutotunePrep.kt | 2 +- .../general/autotune/data/ATProfile.kt | 0 .../plugins/general/autotune/data/BGDatum.kt | 0 .../plugins/general/autotune/data/CRDatum.kt | 0 .../general/autotune/data/DiaDeviation.kt | 0 .../general/autotune/data/LocalInsulin.kt | 0 .../general/autotune/data/PeakDeviation.kt | 0 .../general/autotune/data/PreppedGlucose.kt | 0 .../autotune/events/EventAutotuneUpdateGui.kt | 0 .../src/main/res/layout/autotune_fragment.xml | 2 +- .../src/main/res/layout/openaps_fragment.xml | 16 +- plugins/aps/src/main/res/values/arrays.xml | 23 + plugins/aps/src/main/res/values/strings.xml | 130 + .../src/main/res/xml/pref_autotune.xml | 0 .../aps}/src/main/res/xml/pref_openapsama.xml | 34 +- .../aps}/src/main/res/xml/pref_openapssmb.xml | 68 +- .../res/xml/pref_openapssmbdynamicisf.xml | 68 +- .../nightscout/androidaps/HardLimitsMock.kt | 84 + .../info/nightscout/androidaps/TestBase.kt | 39 + .../androidaps/TestBaseWithProfile.kt | 178 + .../nightscout/androidaps/TestPumpPlugin.kt | 72 + .../general/autotune/AutotuneCoreTest.kt | 10 +- .../general/autotune/AutotunePrepTest.kt | 16 +- .../general/autotune/PreppedGlucoseTest.kt | 10 +- .../res/autotune/test1/Convert_Log2JSON.xlsx | Bin .../autotune/test1/Oref0-Autotune_Command.txt | 0 .../test1/aaps-entries.2022-05-21.json | 0 .../test1/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test1/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test1/aapsorefprofile.json | 181 + .../autotune/test1/autotune.2022-05-21.json | 4177 +++++++++++++++++ .../test1/autotune.2022-06-17-212314.log | 0 .../test1/newaapsorefprofile.2022-05-21.json | 181 + .../test1/oaps-iobCalc.2022-05-21.json | 1418 ++++++ .../test/res/autotune/test1/profile.pump.json | 0 .../test2/aaps-entries.2022-05-21.json | 0 .../test2/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test2/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test2/aapsorefprofile.json | 175 + .../autotune/test2/autotune.2022-05-21.json | 3399 ++++++++++++++ .../test2/autotune.2022-06-25-111214.log | 0 .../test2/newaapsorefprofile.2022-05-21.json | 175 + .../test2/oaps-iobCalc.2022-05-21.json | 1418 ++++++ .../test/res/autotune/test2/profile.pump.json | 0 .../test3/aaps-entries.2022-05-21.json | 0 .../test3/aaps-treatments.2022-05-21.json | 0 .../aapsorefautotune_recommendations.log | 0 .../test3/aapsorefprofile.2022-05-21.json | 0 .../res/autotune/test3/aapsorefprofile.json | 173 + .../autotune/test3/autotune.2022-05-21.json | 3976 ++++++++++++++++ .../test3/autotune.2022-06-25-111350.log | 0 .../test3/newaapsorefprofile.2022-05-21.json | 173 + .../test3/oaps-iobCalc.2022-05-21.json | 1418 ++++++ .../test/res/autotune/test3/profile.pump.json | 0 .../autotune/test4/autotune.2022-05-30.json | 4071 ++++++++++++++++ .../test4/autotune.2022-06-25-195325.log | 0 .../autotune/test4/newprofile.2022-05-30.json | 194 + .../autotune/test4/ns-entries.2022-05-30.json | 0 .../test4/ns-treatments.2022-05-30.json | 0 .../autotune/test4/profile.2022-05-30.json | 192 + .../test/res/autotune/test4/profile.pump.json | 0 .../constraints/safety/SafetyPlugin.kt | 31 - .../nightscout/plugins/di/PluginsModule.kt | 1 - .../plugins/profile/ProfilePlugin.kt | 6 +- .../main/res/drawable/ic_local_activate.xml | 12 - .../src/main/res/drawable/ic_local_reset.xml | 9 - plugins/main/src/main/res/values/strings.xml | 19 - .../res/autotune/test1/aapsorefprofile.json | 181 - .../autotune/test1/autotune.2022-05-21.json | 1 - .../test1/newaapsorefprofile.2022-05-21.json | 181 - .../test1/oaps-iobCalc.2022-05-21.json | 286 -- .../res/autotune/test2/aapsorefprofile.json | 175 - .../autotune/test2/autotune.2022-05-21.json | 1 - .../test2/newaapsorefprofile.2022-05-21.json | 175 - .../test2/oaps-iobCalc.2022-05-21.json | 286 -- .../res/autotune/test3/aapsorefprofile.json | 173 - .../autotune/test3/autotune.2022-05-21.json | 1 - .../test3/newaapsorefprofile.2022-05-21.json | 173 - .../test3/oaps-iobCalc.2022-05-21.json | 286 -- .../autotune/test4/autotune.2022-05-30.json | 1 - .../autotune/test4/newprofile.2022-05-30.json | 194 - .../autotune/test4/profile.2022-05-30.json | 192 - .../nightscout/androidaps/di/WearModule.kt | 2 +- 176 files changed, 23629 insertions(+), 4096 deletions(-) rename app-wear-shared/shared-impl/src/main/java/info/{nightcout => nightscout}/shared/impl/di/SharedImplModule.kt (69%) rename app-wear-shared/shared-impl/src/main/java/info/{nightcout => nightscout}/shared/impl/logging/LImpl.kt (97%) rename app-wear-shared/shared-impl/src/main/java/info/{nightcout => nightscout}/shared/impl/sharedPreferences/Delegates.kt (98%) rename app-wear-shared/shared-impl/src/main/java/info/{nightcout => nightscout}/shared/impl/sharedPreferences/SPImplementation.kt (99%) delete mode 100644 app/src/main/java/info/nightscout/androidaps/di/APSModule.kt delete mode 100644 app/src/main/res/xml/pref_openhumans.xml create mode 100644 core/core-main/src/main/res/drawable/ic_local_activate.xml create mode 100644 core/core-main/src/main/res/drawable/ic_local_reset.xml rename plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt => implementation/src/main/java/info/nightscout/implementation/logging/LoggerUtilsImpl.kt (74%) rename app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt => implementation/src/main/java/info/nightscout/implementation/profiling/ProfilerImpl.kt (61%) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/logging/LoggerUtils.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/profiling/Profiler.kt rename {app => plugins/aps}/src/main/assets/OpenAPSAMA/basal-set-temp.js (100%) rename {app => plugins/aps}/src/main/assets/OpenAPSAMA/determine-basal.js (100%) rename {app => plugins/aps}/src/main/assets/OpenAPSAMA/loggerhelper.js (100%) rename {app => plugins/aps}/src/main/assets/OpenAPSSMB/basal-set-temp.js (100%) rename {app => plugins/aps}/src/main/assets/OpenAPSSMB/determine-basal.js (100%) rename {app => plugins/aps}/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js (100%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/OpenAPSFragment.kt (94%) create mode 100644 plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AlgModule.kt create mode 100644 plugins/aps/src/main/java/info/nightscout/plugins/aps/di/ApsModule.kt rename plugins/{main/src/main/java/info/nightscout/plugins => aps/src/main/java/info/nightscout/plugins/aps}/di/AutotuneModule.kt (57%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/events/EventOpenAPSUpdateGui.kt (64%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/events/EventOpenAPSUpdateResultGui.kt (69%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/logger/LoggerCallback.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt (96%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt (78%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout}/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/aps/src/main/java/info/nightscout/plugins/aps}/utils/JSONFormatter.kt (87%) rename plugins/{main/src/main/java/info/nightscout/plugins => aps/src/main/java/info/nightscout/plugins/aps}/utils/Percentile.kt (94%) rename {app/src/main/java/info/nightscout/androidaps/plugins/aps/loop => plugins/aps/src/main/java/info/nightscout/plugins/aps/utils}/ScriptReader.kt (92%) rename {core/core-main/src/main/java/info/nightscout/androidaps/di => plugins/aps/src/main/java/info/nightscout/plugins/aps/utils}/StaticInjector.kt (78%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt (99%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt (98%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt (92%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt (78%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt (99%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt (99%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt (100%) rename plugins/{main => aps}/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt (100%) rename plugins/{main => aps}/src/main/res/layout/autotune_fragment.xml (99%) rename {app => plugins/aps}/src/main/res/layout/openaps_fragment.xml (97%) create mode 100644 plugins/aps/src/main/res/values/arrays.xml create mode 100644 plugins/aps/src/main/res/values/strings.xml rename plugins/{main => aps}/src/main/res/xml/pref_autotune.xml (100%) rename {app => plugins/aps}/src/main/res/xml/pref_openapsama.xml (80%) rename {app => plugins/aps}/src/main/res/xml/pref_openapssmb.xml (78%) rename {app => plugins/aps}/src/main/res/xml/pref_openapssmbdynamicisf.xml (80%) create mode 100644 plugins/aps/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt create mode 100644 plugins/aps/src/test/java/info/nightscout/androidaps/TestBase.kt create mode 100644 plugins/aps/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt create mode 100644 plugins/aps/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt rename plugins/{main => aps}/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt (94%) rename plugins/{main => aps}/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt (96%) rename plugins/{main => aps}/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt (90%) rename plugins/{main => aps}/src/test/res/autotune/test1/Convert_Log2JSON.xlsx (100%) rename plugins/{main => aps}/src/test/res/autotune/test1/Oref0-Autotune_Command.txt (100%) rename plugins/{main => aps}/src/test/res/autotune/test1/aaps-entries.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test1/aapsorefautotune_recommendations.log (100%) rename plugins/{main => aps}/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json (100%) create mode 100644 plugins/aps/src/test/res/autotune/test1/aapsorefprofile.json create mode 100644 plugins/aps/src/test/res/autotune/test1/autotune.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test1/autotune.2022-06-17-212314.log (100%) create mode 100644 plugins/aps/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json create mode 100644 plugins/aps/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test1/profile.pump.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test2/aaps-entries.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test2/aapsorefautotune_recommendations.log (100%) rename plugins/{main => aps}/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json (100%) create mode 100644 plugins/aps/src/test/res/autotune/test2/aapsorefprofile.json create mode 100644 plugins/aps/src/test/res/autotune/test2/autotune.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test2/autotune.2022-06-25-111214.log (100%) create mode 100644 plugins/aps/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json create mode 100644 plugins/aps/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test2/profile.pump.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test3/aaps-entries.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test3/aapsorefautotune_recommendations.log (100%) rename plugins/{main => aps}/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json (100%) create mode 100644 plugins/aps/src/test/res/autotune/test3/aapsorefprofile.json create mode 100644 plugins/aps/src/test/res/autotune/test3/autotune.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test3/autotune.2022-06-25-111350.log (100%) create mode 100644 plugins/aps/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json create mode 100644 plugins/aps/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json rename plugins/{main => aps}/src/test/res/autotune/test3/profile.pump.json (100%) create mode 100644 plugins/aps/src/test/res/autotune/test4/autotune.2022-05-30.json rename plugins/{main => aps}/src/test/res/autotune/test4/autotune.2022-06-25-195325.log (100%) create mode 100644 plugins/aps/src/test/res/autotune/test4/newprofile.2022-05-30.json rename plugins/{main => aps}/src/test/res/autotune/test4/ns-entries.2022-05-30.json (100%) rename plugins/{main => aps}/src/test/res/autotune/test4/ns-treatments.2022-05-30.json (100%) create mode 100644 plugins/aps/src/test/res/autotune/test4/profile.2022-05-30.json rename plugins/{main => aps}/src/test/res/autotune/test4/profile.pump.json (100%) delete mode 100644 plugins/main/src/main/res/drawable/ic_local_activate.xml delete mode 100644 plugins/main/src/main/res/drawable/ic_local_reset.xml delete mode 100644 plugins/main/src/test/res/autotune/test1/aapsorefprofile.json delete mode 100644 plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test2/aapsorefprofile.json delete mode 100644 plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test3/aapsorefprofile.json delete mode 100644 plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json delete mode 100644 plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json delete mode 100644 plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json delete mode 100644 plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/di/SharedImplModule.kt similarity index 69% rename from app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/di/SharedImplModule.kt index 01f092c1fb..ef1f5b5cc6 100644 --- a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/di/SharedImplModule.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/di/SharedImplModule.kt @@ -1,11 +1,11 @@ -package info.nightcout.shared.impl.di +package info.nightscout.shared.impl.di import android.content.Context import androidx.preference.PreferenceManager import dagger.Module import dagger.Provides -import info.nightcout.shared.impl.logging.LImpl import info.nightscout.rx.interfaces.L +import info.nightscout.shared.impl.logging.LImpl import info.nightscout.shared.sharedPreferences.SP import javax.inject.Singleton @@ -17,7 +17,7 @@ open class SharedImplModule { @Provides @Singleton - fun provideSharedPreferences(context: Context): SP = info.nightcout.shared.impl.sharedPreferences.SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) + fun provideSharedPreferences(context: Context): SP = info.nightscout.shared.impl.sharedPreferences.SPImplementation(PreferenceManager.getDefaultSharedPreferences(context), context) @Provides @Singleton diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/logging/LImpl.kt similarity index 97% rename from app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/logging/LImpl.kt index 8f7c36781b..595a8c3da7 100644 --- a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/logging/LImpl.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/logging/LImpl.kt @@ -1,4 +1,4 @@ -package info.nightcout.shared.impl.logging +package info.nightscout.shared.impl.logging import info.nightscout.rx.interfaces.L import info.nightscout.rx.interfaces.LogElement diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/Delegates.kt similarity index 98% rename from app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/Delegates.kt index 9c88ce07d8..276f77d137 100644 --- a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/Delegates.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/Delegates.kt @@ -1,4 +1,4 @@ -package info.nightcout.shared.impl.sharedPreferences +package info.nightscout.shared.impl.sharedPreferences import info.nightscout.shared.sharedPreferences.SP import kotlin.properties.ReadWriteProperty diff --git a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/SPImplementation.kt similarity index 99% rename from app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt rename to app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/SPImplementation.kt index 6e1763a819..d53abb74e4 100644 --- a/app-wear-shared/shared-impl/src/main/java/info/nightcout/shared/impl/sharedPreferences/SPImplementation.kt +++ b/app-wear-shared/shared-impl/src/main/java/info/nightscout/shared/impl/sharedPreferences/SPImplementation.kt @@ -1,4 +1,4 @@ -package info.nightcout.shared.impl.sharedPreferences +package info.nightscout.shared.impl.sharedPreferences import android.annotation.SuppressLint import android.content.Context diff --git a/app/build.gradle b/app/build.gradle index b7c039306d..0e2e4e0dda 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -174,6 +174,7 @@ allprojects { } dependencies { + implementation project(path: ':plugins:aps') wearApp project(':wear') // in order to use internet's versions you'd need to enable Jetifier again @@ -190,10 +191,12 @@ dependencies { implementation project(':core:ui') implementation project(':interfaces') implementation project(':ui') + implementation project(':plugins:aps') + implementation project(':automation') implementation project(':plugins:main') + implementation project(':openhumans') implementation project(':implementation') implementation project(':database:entities') - implementation project(':database:entities') implementation project(':database:impl') implementation project(':pump:combo') implementation project(':pump:dana') @@ -209,8 +212,6 @@ dependencies { implementation project(':pump:omnipod-common') implementation project(':pump:omnipod-eros') implementation project(':pump:omnipod-dash') - implementation project(':automation') - implementation project(':openhumans') implementation fileTree(include: ['*.jar'], dir: 'libs') @@ -223,9 +224,6 @@ dependencies { // MainApp api "com.uber.rxdogtag2:rxdogtag:2.0.1" - // APS - api 'org.mozilla:rhino:1.7.14' - } apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 0f17bfecad..6be382e4b8 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -17,7 +17,6 @@ import dagger.android.AndroidInjector import dagger.android.DaggerApplication import info.nightscout.androidaps.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent -import info.nightscout.androidaps.di.StaticInjector import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils @@ -75,7 +74,7 @@ class MainApp : DaggerApplication() { @Inject lateinit var compatDBHelper: CompatDBHelper @Inject lateinit var repository: AppRepository @Inject lateinit var dateUtil: DateUtil - @Suppress("unused") @Inject lateinit var staticInjector: StaticInjector// TODO avoid , here fake only to initialize + @Suppress("unused") @Inject lateinit var staticInjector: info.nightscout.plugins.aps.utils.StaticInjector// TODO avoid , here fake only to initialize @Inject lateinit var uel: UserEntryLogger @Inject lateinit var alarmSoundServiceHelper: AlarmSoundServiceHelper @Inject lateinit var notificationStore: NotificationStore diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt index 6dd852f99f..7d238b0633 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -24,9 +24,6 @@ import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.wear.WearPlugin @@ -50,7 +47,6 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.constraints.safety.SafetyPlugin -import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin import info.nightscout.plugins.insulin.InsulinOrefFreePeakPlugin @@ -88,7 +84,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang @Inject lateinit var config: Config @Inject lateinit var automationPlugin: AutomationPlugin - @Inject lateinit var autotunePlugin: AutotunePlugin + @Inject lateinit var autotunePlugin: info.nightscout.plugins.general.autotune.AutotunePlugin @Inject lateinit var danaRPlugin: DanaRPlugin @Inject lateinit var danaRKoreanPlugin: DanaRKoreanPlugin @Inject lateinit var danaRv2Plugin: DanaRv2Plugin @@ -100,9 +96,9 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang @Inject lateinit var medtronicPumpPlugin: MedtronicPumpPlugin @Inject lateinit var nsClientPlugin: NSClientPlugin @Inject lateinit var nsClientV3Plugin: NSClientV3Plugin - @Inject lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin - @Inject lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin - @Inject lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin + @Inject lateinit var openAPSAMAPlugin: info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin + @Inject lateinit var openAPSSMBPlugin: info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin + @Inject lateinit var openAPSSMBDynamicISFPlugin: info.nightscout.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin @Inject lateinit var safetyPlugin: SafetyPlugin @Inject lateinit var sensitivityAAPSPlugin: SensitivityAAPSPlugin @Inject lateinit var sensitivityOref1Plugin: SensitivityOref1Plugin @@ -246,7 +242,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang activity?.recreate() return } - if (key == rh.gs(R.string.key_openapsama_useautosens) && sp.getBoolean(R.string.key_openapsama_useautosens, false)) { + if (key == rh.gs(R.string.key_openapsama_use_autosens) && sp.getBoolean(R.string.key_openapsama_use_autosens, false)) { activity?.let { OKDialog.show(it, rh.gs(R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) } diff --git a/app/src/main/java/info/nightscout/androidaps/di/APSModule.kt b/app/src/main/java/info/nightscout/androidaps/di/APSModule.kt deleted file mode 100644 index 2fe03ff711..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/di/APSModule.kt +++ /dev/null @@ -1,22 +0,0 @@ -package info.nightscout.androidaps.di - -import dagger.Module -import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback -import info.nightscout.androidaps.plugins.aps.openAPSAMA.DetermineBasalAdapterAMAJS -import info.nightscout.androidaps.plugins.aps.openAPSAMA.DetermineBasalResultAMA -import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalAdapterSMBJS -import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.DetermineBasalAdapterSMBDynamicISFJS - -@Module -@Suppress("unused") -abstract class APSModule { - - @ContributesAndroidInjector abstract fun loggerCallbackInjector(): LoggerCallback - @ContributesAndroidInjector abstract fun determineBasalResultSMBInjector(): DetermineBasalResultSMB - @ContributesAndroidInjector abstract fun determineBasalResultAMAInjector(): DetermineBasalResultAMA - @ContributesAndroidInjector abstract fun determineBasalAdapterAMAJSInjector(): DetermineBasalAdapterAMAJS - @ContributesAndroidInjector abstract fun determineBasalAdapterSMBJSInjector(): DetermineBasalAdapterSMBJS - @ContributesAndroidInjector abstract fun determineBasalAdapterSMBAutoISFJSInjector(): DetermineBasalAdapterSMBDynamicISFJS -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index 6ec767919d..a36b6e30ec 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -4,7 +4,6 @@ import dagger.BindsInstance import dagger.Component import dagger.android.AndroidInjectionModule import dagger.android.AndroidInjector -import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.combo.di.ComboModule import info.nightscout.androidaps.dana.di.DanaHistoryModule @@ -24,10 +23,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule import info.nightscout.automation.di.AutomationModule import info.nightscout.database.impl.DatabaseModule import info.nightscout.implementation.di.ImplementationModule +import info.nightscout.plugins.aps.di.ApsModule import info.nightscout.plugins.di.PluginsModule -import info.nightscout.plugins.di.SkinsModule import info.nightscout.rx.di.RxModule import info.nightscout.shared.di.SharedModule +import info.nightscout.shared.impl.di.SharedImplModule import info.nightscout.ui.di.UiModule import javax.inject.Singleton @@ -42,7 +42,7 @@ import javax.inject.Singleton ReceiversModule::class, ServicesModule::class, WizardModule::class, - APSModule::class, + ApsModule::class, WorkflowModule::class, PreferencesModule::class, OverviewModule::class, diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index d582838a39..804e34eea4 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -63,7 +63,6 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.TrendCalculator -import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData @@ -140,7 +139,7 @@ open class AppModule { @Binds fun bindImportExportPrefsInterface(importExportPrefs: ImportExportPrefsImpl): ImportExportPrefs @Binds fun bindIconsProviderInterface(iconsProvider: IconsProviderImplementation): IconsProvider @Binds fun bindLoopInterface(loopPlugin: LoopPlugin): Loop - @Binds fun bindAutotuneInterface(autotunePlugin: AutotunePlugin): Autotune + @Binds fun bindAutotuneInterface(autotunePlugin: info.nightscout.plugins.general.autotune.AutotunePlugin): Autotune @Binds fun bindIobCobCalculatorInterface(iobCobCalculatorPlugin: IobCobCalculatorPlugin): IobCobCalculator @Binds fun bindSmsCommunicatorInterface(smsCommunicatorPlugin: SmsCommunicatorPlugin): SmsCommunicator @Binds fun bindDataSyncSelectorInterface(dataSyncSelectorImplementation: DataSyncSelectorImplementation): DataSyncSelector diff --git a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt index 93c61aa5ff..38bf6e9527 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/FragmentsModule.kt @@ -3,18 +3,17 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.plugins.constraints.objectives.dialogs.NtpProgressDialog -import info.nightscout.androidaps.plugins.aps.OpenAPSFragment import info.nightscout.androidaps.plugins.aps.loop.LoopFragment import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderFragment -import info.nightscout.plugins.constraints.objectives.ObjectivesFragment -import info.nightscout.plugins.constraints.objectives.activities.ObjectivesExamDialog -import info.nightscout.plugins.general.actions.ActionsFragment import info.nightscout.androidaps.plugins.general.maintenance.MaintenanceFragment import info.nightscout.androidaps.plugins.general.overview.OverviewFragment import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog import info.nightscout.androidaps.plugins.general.wear.WearFragment import info.nightscout.androidaps.utils.protection.PasswordCheck +import info.nightscout.plugins.constraints.objectives.ObjectivesFragment +import info.nightscout.plugins.constraints.objectives.activities.ObjectivesExamDialog +import info.nightscout.plugins.constraints.objectives.dialogs.NtpProgressDialog +import info.nightscout.plugins.general.actions.ActionsFragment import info.nightscout.ui.dialogs.WizardDialog @Module @@ -26,7 +25,7 @@ abstract class FragmentsModule { @ContributesAndroidInjector abstract fun contributesActionsFragment(): ActionsFragment @ContributesAndroidInjector abstract fun contributesConfigBuilderFragment(): ConfigBuilderFragment @ContributesAndroidInjector abstract fun contributesObjectivesFragment(): ObjectivesFragment - @ContributesAndroidInjector abstract fun contributesOpenAPSFragment(): OpenAPSFragment + @ContributesAndroidInjector abstract fun contributesOpenAPSFragment(): info.nightscout.plugins.aps.OpenAPSFragment @ContributesAndroidInjector abstract fun contributesOverviewFragment(): OverviewFragment @ContributesAndroidInjector abstract fun contributesLoopFragment(): LoopFragment @ContributesAndroidInjector abstract fun contributesMaintenanceFragment(): MaintenanceFragment diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index be5608650e..a0d69d5c50 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -11,9 +11,6 @@ import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin -import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.general.dataBroadcaster.DataBroadcastPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin @@ -32,6 +29,9 @@ import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.automation.AutomationPlugin import info.nightscout.interfaces.plugin.PluginBase +import info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin +import info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin +import info.nightscout.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.constraints.dstHelper.DstHelperPlugin import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 8f970e6509..af07116d13 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -8,7 +8,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toStringFull -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore @@ -72,7 +71,7 @@ class DataBroadcastPlugin @Inject constructor( override fun onStart() { super.onStart() disposable += rxBus - .toObservable(EventOpenAPSUpdateGui::class.java) + .toObservable(info.nightscout.plugins.aps.events.EventOpenAPSUpdateGui::class.java) .observeOn(aapsSchedulers.io) .subscribe({ sendData(it) }, fabricPrivacy::logException) disposable += rxBus diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index a9724212aa..3d1658ce6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -9,10 +9,10 @@ import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config +import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType -import info.nightscout.plugins.general.maintenance.LoggerUtils import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 9c90e0a964..18b1eccd3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -35,7 +35,6 @@ import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification -import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph @@ -1122,7 +1121,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList val request = loop.lastRun?.request val isfMgdl = profile?.getIsfMgdl() val variableSens = - if (config.APS && request is DetermineBasalResultSMB) request.variableSens ?: 0.0 + if (config.APS && request is info.nightscout.plugins.aps.openAPSSMB.DetermineBasalResultSMB) request.variableSens ?: 0.0 else if (config.NSCLIENT) JsonHelper.safeGetDouble(processedDeviceStatusData.getAPSResult(injector).json, "variable_sens") else 0.0 diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt index 5bceda8933..a4bbf12e59 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.kt @@ -480,7 +480,7 @@ class IobCobCalculatorPlugin @Inject constructor( val total = IobTotal(toTime) val profile = profileFunction.getProfile() ?: return total val dia = profile.dia - val divisor = sp.getDouble(R.string.key_openapsama_bolussnooze_dia_divisor, 2.0) + val divisor = sp.getDouble(R.string.key_openapsama_bolus_snooze_dia_divisor, 2.0) assert(divisor > 0) val boluses = repository.getBolusesDataFromTime(toTime - range(), true).blockingGet() diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 7154d0eecb..774519b59c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -15,7 +15,6 @@ import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository @@ -28,6 +27,7 @@ import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished @@ -151,18 +151,18 @@ class IobCobOref1Worker( // https://github.com/openaps/oref0/blob/master/lib/determine-basal/cob-autosens.js#L169 if (i < bucketedData.size - 16) { // we need 1h of data to calculate minDeviationSlope - @Suppress("UNUSED_VARIABLE") var maxDeviation = 0.0 - @Suppress("UNUSED_VARIABLE") var minDeviation = 999.0 + var maxDeviation = 0.0 + var minDeviation = 999.0 val hourAgo = bgTime + 10 * 1000 - 60 * 60 * 1000L val hourAgoData = ads.getAutosensDataAtTime(hourAgo) if (hourAgoData != null) { val initialIndex = autosensDataTable.indexOfKey(hourAgoData.time) - aapsLogger.debug(LTag.AUTOSENS, { ">>>>> bucketed_data.size()=" + bucketedData.size + " i=" + i + " hourAgoData=" + hourAgoData.toString()}) + aapsLogger.debug(LTag.AUTOSENS, { ">>>>> bucketed_data.size()=" + bucketedData.size + " i=" + i + " hourAgoData=" + hourAgoData.toString() }) var past = 1 try { while (past < 12) { val ad = autosensDataTable.valueAt(initialIndex + past) - aapsLogger.debug(LTag.AUTOSENS, {">>>>> past=" + past + " ad=" + ad?.toString()}) + aapsLogger.debug(LTag.AUTOSENS, { ">>>>> past=" + past + " ad=" + ad?.toString() }) if (ad == null) { aapsLogger.debug(LTag.AUTOSENS, {autosensDataTable.toString()}) aapsLogger.debug(LTag.AUTOSENS, {bucketedData.toString()}) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index b02ced9656..668f17b77d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -14,7 +14,6 @@ import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository @@ -26,6 +25,7 @@ import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.Event import info.nightscout.rx.events.EventAutosensCalculationFinished @@ -146,8 +146,8 @@ class IobCobOrefWorker @Inject internal constructor( // https://github.com/openaps/oref0/blob/master/lib/determine-basal/cob-autosens.js#L169 if (i < bucketedData.size - 16) { // we need 1h of data to calculate minDeviationSlope - @Suppress("UNUSED_VARIABLE") var maxDeviation = 0.0 - @Suppress("UNUSED_VARIABLE") var minDeviation = 999.0 + var maxDeviation = 0.0 + var minDeviation = 999.0 val hourAgo = bgTime + 10 * 1000 - 60 * 60 * 1000L val hourAgoData = ads.getAutosensDataAtTime(hourAgo) if (hourAgoData != null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt index 6955cc0be2..7a6ab4e86a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityAAPSPlugin.kt @@ -16,7 +16,6 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -117,7 +116,7 @@ class SensitivityAAPSPlugin @Inject constructor( val sensResult: String aapsLogger.debug(LTag.AUTOSENS, "Records: $index $pastSensitivity") Arrays.sort(deviations) - val percentile = Percentile.percentile(deviations, 0.50) + val percentile = info.nightscout.plugins.aps.utils.Percentile.percentile(deviations, 0.50) val basalOff = percentile * (60.0 / 5.0) / sens val ratio = 1 + basalOff / profile.getMaxDailyBasal() sensResult = when { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt index e82d213776..7cc466d1a6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/sensitivity/SensitivityOref1Plugin.kt @@ -19,7 +19,6 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.plugins.sync.nsclient.extensions.isTherapyEventEvent5minBack -import info.nightscout.plugins.utils.Percentile import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -163,8 +162,8 @@ class SensitivityOref1Plugin @Inject constructor( val sens = profile.getIsfMgdl() aapsLogger.debug(LTag.AUTOSENS, "Records: $index $pastSensitivity") Arrays.sort(deviations) - val pSensitive = Percentile.percentile(deviations, 0.50) - val pResistant = Percentile.percentile(deviations, 0.50) + val pSensitive = info.nightscout.plugins.aps.utils.Percentile.percentile(deviations, 0.50) + val pResistant = info.nightscout.plugins.aps.utils.Percentile.percentile(deviations, 0.50) var basalOff = 0.0 when { pSensitive < 0 -> { // sensitive diff --git a/app/src/main/res/layout/loop_fragment.xml b/app/src/main/res/layout/loop_fragment.xml index 1d26b2dcfe..2bc9545867 100644 --- a/app/src/main/res/layout/loop_fragment.xml +++ b/app/src/main/res/layout/loop_fragment.xml @@ -27,7 +27,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_lastrun_label" + android:text="@string/openapsma_last_run_label" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index a27d2d35b5..d941a7403f 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -30,15 +30,15 @@ Stoor alle behandelings wat gedoen was Begin nou VIRTUELE POMP - Vorige lopie - Insette parameters - Glukose status - Huidige temp - IOB data + Vorige lopie + Insette parameters + Glukose status + Huidige temp + IOB data Profiel - Maaltyd data + Maaltyd data Uitslag - Geen beskikbare glukose data + Geen beskikbare glukose data Versoek Delta Konfigurasie bouer @@ -79,9 +79,9 @@ Lêer nie gevind nie Voer instellings uit na Voer instellings in - Die waarde word \"maks basal\" genoem in OpenAPS konteks - Maksimum basale IAB wat OpenAPS mag lewer [U] - Hierdie waarde word Maks IAB genoem in OpenAPS konteks\nDit is die maksimum insulien in [U] wat APS op een slag kan lewer. + Die waarde word \"maks basal\" genoem in OpenAPS konteks + Maksimum basale IAB wat OpenAPS mag lewer [U] + Hierdie waarde word Maks IAB genoem in OpenAPS konteks\nDit is die maksimum insulien in [U] wat APS op een slag kan lewer. Eindverbruiker Lisensie Ooreenkoms MOET NIE GEBRUIK WORD OM MEDIESE BESLUITE TE MAAK NIE. DAAR IS GEEN WAARBORG DAT DIE PROGRAM, ONDERWORPE AAN TOEPASSELIKE WETTE EN WETGEWING. TENSY ANDERS GEMELD IN TEKS VOORSIEN DIE KOPIEREG-HOUERS EN / OF ANDER PARTYE DIE PROGRAM \"AS IS\" SONDER ËNIGE WAARBORG VAN ENIGE ORDE, UITDRUKKELIK OF IMPLISIET, INKLUSIEF, MAAR NIE BEPERK TOT DIE IMPLISIETE WAARBORG VAN TOEPAASBAARHEID OF NUT VIR EEN SPESIFIEKE DOEL. DIE TOTALE EN ALLE RISIKOVIR DIE KWALITEIT EN PRESTASIE VAN DIE PROGRAM RUS MET JOUSELF. VIR ENIGE PROGRAM DEFEKTIEWE OF FALINGS MOET JY PERSOONLIK DIE KOSTE EN REGSAANSPREEKLIKHEID DRA VAN ALLE NODIGE AKSIES, DIENS, REPARASIES OF KORREKSIES VIR USELF OF ENIGE DERDE PARTYE EN/OF AKSIES, DIENS, REPARASIES OF KORREKSIES WAT DEUR DIE PROGRAM GEDOEN WAS. EK VERSTAAN en STEM IN @@ -115,8 +115,8 @@ OpenAPS AMA Matriks van %1$d elemente. \nWerklike waarde: Autosens data - Skrip foutopspoor - Gebruik autosens kenmerk + Skrip foutopspoor + Gebruik autosens kenmerk ACT CONF LUS @@ -127,15 +127,15 @@ OBJ WEAR Verkort oortjie titels - Gebruik altyd kort gemiddelde delta in plaas van eenvoudige delta + Gebruik altyd kort gemiddelde delta in plaas van eenvoudige delta Verstek waarde: 3 dit is \'n sleutel OpenAPS veiligheidsdrumpels. Wat dit doen is om jou basale te berk tot 3 x (in hierdie mense) jou grootste basale koers. Jy sal waarskynlik nooit dit hoef te verander, maar jy moet bewus wees wat bespreek is oor \"3 x max daaglikse; 4 x huidige\"vir veiligheidsdrumpels. Verstek waarde: 4 dit is die helfte van die sleutel OpenAPS veiligheid limiete, en die ander helfte van \"3 x maks daaglikse; 4 x huidige\"van die veiligheid limiet. Dit beteken jou basale, ongeag max basale stel op jou pomp, kan enige hoër wees as hierdie nommer tye die huidige vlak van jou basale. Dit is om te verhoed dat mense in gevaarlike gebied deur instelling buitensporig hoë max basals voor om te verstaan hoe die algoritme werk. Weer, die verstek is 4 x; die meeste mense sal nooit moet dit aanpas en is eerder meer geneig om te moet aanpas ander instellings as hulle voel hulle \"loop in\" hierdie veiligheid limiet. Verstek waarde: 1.2\nThis is \'n vermenigvuldiger plafon vir autosens (en gou autotune) stel \'n 20%% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel. Verstek waarde: 0.7\nDie ander kant van die autosens veiligheidsperke, sit \'n limiet op hoe laag autosens basals kan aanpas, en hoe hoog dit ISF en BG teikens kan verstel. - Verstek waarde: waar\nDit word gebruik om autosens toe te laat om BG teikens aan te pas, benewens ISF en basale. - Verstek waarde: 2\nBolus sluimer is verorden nadat jy \'n maaltyd bolus gedoen het, so die lus sal nie werk met lae tydelike wanneer jy nou net geëet het nie. Die voorbeeld hier se verstek is 2; so \'n 3 uur DIA beteken dat bolus sluimer sal geleidelik uitgefaseer sal word oor 1.5 uur (3DIA/2). - Verstek waarde: 3.0 (AMA) of 8.0 (SMB). Dit is \'n instelling vir verstek karb absorpsie impak per 5 minute. Die verstek is \'n verwagte 3mg/dl / 5min. Dit beïnvloed hoe vinnig KOB opgeneem word, en hoeveel karb absorpsie word aanvaar sodat in die berekening van toekomstige BG, voorspel wanneer BG val meer as verwagte, of nie soveel styg as verwag. - Aandag! \nNormaalweg hoef jy nie die waardes hieronder te verander nie. KLIEK HIER Asseblief en LEES die teks en maak seker jy verstaan dit voor enige verandering aan hierdie waardes. + Verstek waarde: waar\nDit word gebruik om autosens toe te laat om BG teikens aan te pas, benewens ISF en basale. + Verstek waarde: 2\nBolus sluimer is verorden nadat jy \'n maaltyd bolus gedoen het, so die lus sal nie werk met lae tydelike wanneer jy nou net geëet het nie. Die voorbeeld hier se verstek is 2; so \'n 3 uur DIA beteken dat bolus sluimer sal geleidelik uitgefaseer sal word oor 1.5 uur (3DIA/2). + Verstek waarde: 3.0 (AMA) of 8.0 (SMB). Dit is \'n instelling vir verstek karb absorpsie impak per 5 minute. Die verstek is \'n verwagte 3mg/dl / 5min. Dit beïnvloed hoe vinnig KOB opgeneem word, en hoeveel karb absorpsie word aanvaar sodat in die berekening van toekomstige BG, voorspel wanneer BG val meer as verwagte, of nie soveel styg as verwag. + Aandag! \nNormaalweg hoef jy nie die waardes hieronder te verander nie. KLIEK HIER Asseblief en LEES die teks en maak seker jy verstaan dit voor enige verandering aan hierdie waardes. Besig met uitvoering Virtuele pomp instellings Oplaaistatus aan NS @@ -211,10 +211,10 @@ Waardes nie gestoor! Aktiveer plaaslike Uitsaai. OpenAPS SMB - Aktiveer UAM - Aktiveer SMB - Gebruik Super Mikro Boluses in plaas van of tydelike basale vir vinniger resultate - Opsporing van Onaangekondigde etes + Aktiveer UAM + Aktiveer SMB + Gebruik Super Mikro Boluses in plaas van of tydelike basale vir vinniger resultate + Opsporing van Onaangekondigde etes ONGELDIG Persentasie Tyd verskuiwing @@ -239,7 +239,7 @@ BG oplaai instellings Wys gedetailleerde delta Wys delta met een meer desimale plek - Maks minute van basale beperk SMB tot + Maks minute van basale beperk SMB tot Stuur BG data na xDrip+ Xdrip+ kies 640g/Eversense data bron NSClient BG @@ -259,15 +259,15 @@ Maksimum IAB behoorlik gestel BG beskikbaar vanaf geselekteerde bron Verlengde bolus afleweringsfout - Aktiveer SMB altyd - Aktiveer SMB altyd onafhanklik van boluse. Slegs moonlik met BG source met goeie filter van data soos G5 - Aktiveer SMB na koolhidrate - Akitveer SMB vir 6h na karbohidrate, selfs met 0 KOB. Slegs moontlik met BG bron met goeiei filters van data soos G5 - Akitveer SMB met KOB - Aktiveer SMB wanneer daar KOB aktief is. - Aktiveer SMB met tydelike doelwitte - Aktiveer SMB wanneer daar tydelike doelwitte aktief is (eetgou, oefen) - Aktiveer SMB met hoë tydelike doelwitte + Aktiveer SMB altyd + Aktiveer SMB altyd onafhanklik van boluse. Slegs moonlik met BG source met goeie filter van data soos G5 + Aktiveer SMB na koolhidrate + Akitveer SMB vir 6h na karbohidrate, selfs met 0 KOB. Slegs moontlik met BG bron met goeiei filters van data soos G5 + Akitveer SMB met KOB + Aktiveer SMB wanneer daar KOB aktief is. + Aktiveer SMB met tydelike doelwitte + Aktiveer SMB wanneer daar tydelike doelwitte aktief is (eetgou, oefen) + Aktiveer SMB met hoë tydelike doelwitte Insulien Knoppies Hoeveelheid karbs om by te voeg op druk van knoppie @@ -298,12 +298,12 @@ Ingenieurswese modus geaktiveer Pomp is nie tydelike basale bekwame Geslote lus modus in voorkeure gedeaktiveer - Autosens gedeaktiveer in voorkeure - SMB gedeaktiveer in voorkeure - UAM in voorkeure gedeaktiveer + Autosens gedeaktiveer in voorkeure + SMB gedeaktiveer in voorkeure + UAM in voorkeure gedeaktiveer UAM versper omdat dit staatmaak op Oref1 sensitiwiteit plugin - maks basale vermenigvuldiger - maks daaglikse basale vermenigvuldiger + maks basale vermenigvuldiger + maks daaglikse basale vermenigvuldiger \'n Bolus was binne die laaste 3 minute afgelewer, SMB is oorgespring Basale reggestel Verlengde bolus is beperk tot %1$.1f U as gevolg van %2$s @@ -315,8 +315,8 @@ Rekord insulien kasset verandering SMB is altyd na koolhidrate versper omdat aktiewe BG bron nie gevorderde filter ondersteun nie SMB nie toegelaat in open lus modus - Maksimum totale IAB OpenAPS kan nie oor [U] gaan - Hierdie waarde is Maks IAB genoem in OpenAPS kontekst\nOpenAPS sal nie meer insulien byvoeg as huidige IAB is groter as hierdie waarde + Maksimum totale IAB OpenAPS kan nie oor [U] gaan + Hierdie waarde is Maks IAB genoem in OpenAPS kontekst\nOpenAPS sal nie meer insulien byvoeg as huidige IAB is groter as hierdie waarde Maaltyd maks absorpsie tyd [h] Tyd waarteen enige maaltyd as geabsorbeer beskou word. Oorblywende koolhidrate sal afgesny word. Wys notas veld in behandeling dialoë @@ -337,7 +337,7 @@ Laat verbindings toe terwyl swerf Max autosens ratio Min autosens ratio - Bolus sluimer dia divisor + Bolus sluimer dia divisor Maks daaglikse veiligheids vermenigvuldiger Huidige basale veiligheids vermenigvuldiger Virtuele Pomp @@ -376,7 +376,7 @@ Skrap joernaal \'n Behandeling (insulien: %1$.2f, koolhidrate: %2$d, by: %3$s) kon nie bygevoeg word by behandelings. Kontroleer asseblief en voeg per hand \'n rekord soos vanpas. eCarbs: %1$d g (%2$d h), vertraag: %3$d m - Geen autosens data beskikbaar + Geen autosens data beskikbaar Logboekinstellings Herstel na verstek NSClient onklaar. Oorweeg om NS en NSClient te herlaai. diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 4156db52b2..b8645ddcfa 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -34,16 +34,16 @@ Записва всички процедури, които са били направени Старт сега ВИРТУАЛНА ПОМПА - Последно изпълнение - Параметри на входа - КЗ стастус - Настоящ базал - IOB данни + Последно изпълнение + Параметри на входа + КЗ стастус + Настоящ базал + IOB данни Профил - Данни за хранене + Данни за хранене Резултат Резултат: %1$s %2$s - Няма данни за КЗ + Няма данни за КЗ Искане Изменение (Δ) Конфигурация @@ -91,10 +91,10 @@ Файлът не е намерен Експорт настройки Импорт настройки - Максимален временен базал Е/ч - Макс. лимит на временен базал [Е/ч] - Максимален IOB - Този параметър се нарича максимален IOB в OpenAPS и подразбиране е 0. След няколко дни или седмици можете да го увеличите. + Максимален временен базал Е/ч + Макс. лимит на временен базал [Е/ч] + Максимален IOB + Този параметър се нарича максимален IOB в OpenAPS и подразбиране е 0. След няколко дни или седмици можете да го увеличите. Главна парола, която ще бъде използвана за криптиране на експортирани настройки. Парола, която е била използвана за криптиране на експортираните настройки. Експорт неуспешен! Настройките не са експортирани! @@ -149,8 +149,8 @@ OpenAPS AMA Общо %1$d елемента.\nАктуална стойност: Autosens данни - От скрипта - Използвайте функцията за Autosens + От скрипта + Използвайте функцията за Autosens ДЕЙСТВ КОНФ ЦИК @@ -162,17 +162,17 @@ Цел WEAR Използвай къси имена - Използвай краткоср. Δ вместо разлика от последната КЗ - Полезно при данни за КЗ с много шум. + Използвай краткоср. Δ вместо разлика от последната КЗ + Полезно при данни за КЗ с много шум. По подразбиране: 3 Това е основен параметър в сигурността на OpenAPS. Той ограничава максималният базал да бъде 3 пъти най-голямата стойност от дневните базали. Не би трябвало да има нужа от промяна, защото от опит сме проверили, че максимумите са “3x от най-високия дневен; 4x от текущия”. По подразбиране: 4\nТова е другият основен параметър в сигурността на OpenAPS, и другата половина от \"3x от най-високия дневен; 4x от текущия\". Това означава, че независимо от макс базал настроен в помпата, стойността на базала не може да е по-висока от тази стойност умножена по стойността на базала за текущият час от денонощието. Това е с цел да предпази от прекалено високи стойности на максималния базал преди да разбират как работи алгоритъма. Повечето от Вас няма да имат нужда от смяна на тази стойност и могат да се справят с настойки на другите параметри. По подразбиране: 1.2\nТова е максималният множител на autosens (а скоро autotune), за да позволи 20%% максимален лимит на autosens коефициента, който от своя страна настройва базалите, колко може да намали инсулиновата чувствителност, и колко ниско може да свали целевата КЗ. По подразбиране: 0.7\nДругата част от сигурността на autosens, слагайки ограничение на колко ниско може да ограничи базалите, колко да повиши чувствителността (ISF) и целевите КЗ. - Да променя ли autosens и целевата КЗ - По подразбиране: разрешено\nТова позволява на autosens да променя и целевите КЗ(освен чувствителност и базал). - По подразбиране: 2\nBolus snooze се активира след като поставите болус за основно хранене, така Loop няма да пуснка/намаля базалите веднага след като сте се хранили. Примерът тук е с 2; така при 3 часа DIA това ще означава че bolus snooze ще бъде внимателно изместен 1.5 часа (3DIA/2). - Стойност по подразбиране: 3.0 (АМА) или 8.0 (SMB). Това е настройка на количеството на покачване на КЗ при усвояване на въглехидратите за всеки 5 минути. По подразбиране 3мг/дл за 5мин. Това се отразява на това колко бързо се усвояват COB според алгоритъма, и как това се отразява в предвиждането на КЗ, когато тя не се покачва или пада с различен темп от очакваното. - Внимание! Обикновено Вие не трябва да променяте тези стойности. Моля НАТИСНЕТЕ ТУК, прочетете текста и бъдете сигурни, че го РАЗБИРАТЕ преди да направите каквито и да е промени! + Да променя ли autosens и целевата КЗ + По подразбиране: разрешено\nТова позволява на autosens да променя и целевите КЗ(освен чувствителност и базал). + По подразбиране: 2\nBolus snooze се активира след като поставите болус за основно хранене, така Loop няма да пуснка/намаля базалите веднага след като сте се хранили. Примерът тук е с 2; така при 3 часа DIA това ще означава че bolus snooze ще бъде внимателно изместен 1.5 часа (3DIA/2). + Стойност по подразбиране: 3.0 (АМА) или 8.0 (SMB). Това е настройка на количеството на покачване на КЗ при усвояване на въглехидратите за всеки 5 минути. По подразбиране 3мг/дл за 5мин. Това се отразява на това колко бързо се усвояват COB според алгоритъма, и как това се отразява в предвиждането на КЗ, когато тя не се покачва или пада с различен темп от очакваното. + Внимание! Обикновено Вие не трябва да променяте тези стойности. Моля НАТИСНЕТЕ ТУК, прочетете текста и бъдете сигурни, че го РАЗБИРАТЕ преди да направите каквито и да е промени! Изпълнява Настойки Виртуална Помпа Качва статуса в NS @@ -288,10 +288,10 @@ Разреши локално предаване на данни OpenAPS SMB Динамично ISF - Разреши UAM - Разреши SMB - Използвай супер микро болуси вместо временен базал за по бързо действие - Детекция на необявено хранене (UAM) + Разреши UAM + Разреши SMB + Използвай супер микро болуси вместо временен базал за по бързо действие + Детекция на необявено хранене (UAM) НЕВАЛИДНО % от профила Време на отместване @@ -319,12 +319,12 @@ Настройки при качване на КЗ към Nightscout Показвай подробна делта Показвай делта с още един десетичен знак - Интервал между SMB в минути - Максимални минути за ограничаване на базала от SMB - Максимум минути за отчитане на необявени хранения UAM - Максимални минути за ограничаване на базала при SMB за UAM - Минимум въглехидрати, необходими за аларма - Грама въглехидрати минимум, за да се покаже аларма. Нужни въглехидрати под това число няма да доведат до уведомяване. + Интервал между SMB в минути + Максимални минути за ограничаване на базала от SMB + Максимум минути за отчитане на необявени хранения UAM + Максимални минути за ограничаване на базала при SMB за UAM + Минимум въглехидрати, необходими за аларма + Грама въглехидрати минимум, за да се покаже аларма. Нужни въглехидрати под това число няма да доведат до уведомяване. Изпращай данни за КЗ към xDrip+ В xDrip+ изберете 640g/Eversense за източник на данни КЗ от NS @@ -346,16 +346,16 @@ Максимален IOB е зададен правилно Има данни за КЗ от избрания източник Грешка при доставяне на удължен болус - Разреши SMB постоянно - Разрешава SMB постоянно и независимо от болусите. Възможно само с източник на КЗ с добра филтрация като G5 - Разреши SMB след въглехидрати - Разрешава SMB 6 часа след въглехидрати, дори при COB=0. Възможно само с източник на КЗ с добра филтрация като G5 приложение - Разреши SMB с COB (въглехидрати) - Разрешава SMB, когато има активни COB - Разреши SMB с временни цели - Разрешава SMB, когато има активна временна цел на КЗ - Разреши SMB с по-високи временни цели на КЗ - Активирайте SMB, когато има висока временна цел (опитайте с над 100 мг/дл или 5,5 ммол/л) + Разреши SMB постоянно + Разрешава SMB постоянно и независимо от болусите. Възможно само с източник на КЗ с добра филтрация като G5 + Разреши SMB след въглехидрати + Разрешава SMB 6 часа след въглехидрати, дори при COB=0. Възможно само с източник на КЗ с добра филтрация като G5 приложение + Разреши SMB с COB (въглехидрати) + Разрешава SMB, когато има активни COB + Разреши SMB с временни цели + Разрешава SMB, когато има активна временна цел на КЗ + Разреши SMB с по-високи временни цели на КЗ + Активирайте SMB, когато има висока временна цел (опитайте с над 100 мг/дл или 5,5 ммол/л) Инсулин Бутони Изпрати калибрация до xDrip+ или отвори BYODA калибрационнен диалог @@ -395,12 +395,12 @@ Режим за раработчици (Engineering mode) включен Помпата не поддържа временен базал Затворения кръг е забранен в настройките - Аутосенс е забранен в настройките - SMB е забранен в настройките - UAM е забранен в настройките + Аутосенс е забранен в настройките + SMB е забранен в настройките + UAM е забранен в настройките UAM изключен, защото му трябва Oref1 плъгин за чувствителност - множител на макс. базал - множител на макс. дневен базал + множител на макс. базал + множител на макс. дневен базал Има болус през последните 3 мин, пропускам SMB Базалът е зададен коректно Ограничение на удължен болус до %1$.1f Е поради %2$s @@ -412,8 +412,8 @@ Запис смяна на резервоар SMB \"винаги включен\" и \"след въглехидрати\" е забранен, защото е активен източник на КЗ, който не поддържа необходимата филтрация SMB не е позволен в режим Отворен кръг - Максималният общ IOB OpenAPS не може да бъде повече от [U] - Тази стойност се нарича Max IOB в контекста на OpenAPS. OpenAPS няма да добавя инсулин, ако текущата IOB е по-голяма от тази стойност + Максималният общ IOB OpenAPS не може да бъде повече от [U] + Тази стойност се нарича Max IOB в контекста на OpenAPS. OpenAPS няма да добавя инсулин, ако текущата IOB е по-голяма от тази стойност Макс. време за усвояване на храна (часове) Време за което всяко хранене се счита за усвоено. Оставащите въглехидрати ще бъдат изчиствани. Показване на поле \"бележки\" в диалоговите прозорци за лечение @@ -434,7 +434,7 @@ Позволи връзка в роуминг Макс. стойност за аутосенс Мин. стойност за аутосенс - Каква част от DIA след болус да изчаква AAPS преди да направи нещо + Каква част от DIA след болус да изчаква AAPS преди да направи нещо Макс. множител за най-големия базал за денонощието Макс. множител за настоящ базал Виртуална помпа тип @@ -486,7 +486,7 @@ Изтрий логове Събитие (инсулин: %1$.2f, въглехидрати: %2$d, в: %3$s) не може да бъде добавено към събития. Моля уверете се, че е правилно и го добавете ръчно. eCarbs: %1$d г (за %2$d ч), след: %3$d м - Няма налични данни за авточувствителност + Няма налични данни за авточувствителност Настройки на логовете Възстанови настройките по подразбиране Грешка в NSClient. Рестартирайте Nightscout и NSClient @@ -521,7 +521,7 @@ !!!!! Бавна абсорбция на въглехидрати: %2$d%% от времето. Проверете въведените данни. Може да има голяма грешка !!!!!]]> Стартирай част от резултата в калкулатора [%] Калкулатора изчислява нужния инсулин, но само тази част ще бъде доставена. Полезно със SMB алгоритъма. - Повишавам максималната стойност на базал, защото тя е по-ниска от най-високата в базалния профил + Повишавам максималната стойност на базал, защото тя е по-ниска от най-високата в базалния профил Избрано: Единици Изчисти приключение diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index a9f864c87c..aa57e2014c 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -33,16 +33,16 @@ Desa tots els tractaments realitzats Executar ara BOMBA VIRTUAL - Última execució - Paràmetres d\'entrada - Estat glucèmia - Temp actual - Dades d\'IOB + Última execució + Paràmetres d\'entrada + Estat glucèmia + Temp actual + Dades d\'IOB Perfil - Dades àpat + Dades àpat Resultat Resultat: %1$s %2$s - Dades de glucèmia no disponibles + Dades de glucèmia no disponibles Petició Delta Configurador @@ -87,10 +87,10 @@ Arxiu no trobat Exportar configuració Importar configuració - Max U/h per una basal temporal - A OpenAPS d\'aquest valor se\'n diu basal màxima - Màxima basal IOB que OpenAPS pot suministrar [U] - A OpenAPS d\'aquest valor se\'n diu Màx IOB\nÉs la màxima quantitat d\'insulina en [U] que APS pot suministrar d\'una vegada. + Max U/h per una basal temporal + A OpenAPS d\'aquest valor se\'n diu basal màxima + Màxima basal IOB que OpenAPS pot suministrar [U] + A OpenAPS d\'aquest valor se\'n diu Màx IOB\nÉs la màxima quantitat d\'insulina en [U] que APS pot suministrar d\'una vegada. Se us demanarà una clau mestra, es farà servir per encriptar la configuració exportada. Se us demanarà una clau mestra, es necessita per desencriptar la configuració importada. Exportació cancel·lada! Configuració NO exportada! @@ -127,8 +127,8 @@ OpenAPS AMA Array de %1$d elements.\nValor actual: Dades autosens - Depurar script - Utilitzar funció Autosens + Depurar script + Utilitzar funció Autosens ACC CONF LLAÇ @@ -139,16 +139,16 @@ OBJ WEAR Escurçar títol pestanyes - Utilitzar sempre delta mitjana curta enlloc de delta simple - Útil quan les dades de fonts no filtrades, com xDrip+, esdevenen sorolloses. + Utilitzar sempre delta mitjana curta enlloc de delta simple + Útil quan les dades de fonts no filtrades, com xDrip+, esdevenen sorolloses. Valor per defecte: 3. Valor clau de seguretat per OpenAPS. Limita, en aquest cas, la basal a 3x la basal màxima. Normalment no cal modificar-lo, però per motius de seguretat cal tenir present què vol dir quan parlem de, per exemple \"3x max diari; 4x actual\". Valor per defecte: 4. Valor clau de seguretat per OpenAPS, per quan parlem de \"3x max diari; 4x actual\". Significa que la vostra basal, independentment de la max. basal configurada a la bomba, no pot ser més gran que aquest valor multiplicat per la vostra basal en un moment determinat. Pretén evitar basals màximes excessivament altes abans de dominar l\'algoritme. Normalment no cal modificar el valor per defecte i, en cas de conflicte amb el valor màxim de basal, sol ser més habitual haver de modificar altres paràmetres que no pas aquest. Valor per defecte: 1.2\nMultiplicador de seguretat per autosens (aviat autotune), per fixar un límit màxim del 20%% per la màxima ràtio d\'autosens, que a la seva vegada determina com d\'alta pot ajustar la basal, com de baix l\'ISF i com de baix l\'objectiu de glucèmia. - Autosens també ajusta objectius - Valor per defecte: true\nPermetre a autosens ajustar objectius de glucèmia a més d\'ISF i basals. - Valor per defecte: 2\nEl retard de bolus s\'activa després d\'un bolus d\'àpat, de manera que el llaç no contrarresti amb basals temporals baixes just després d\'haver menjat. El valor per defecte i el de l\'exemple és 2, d\'aquesta manera amb una DIA de 3 hores el bolus es retardaria gradualment durant 1.5 hores (3DIA/2). - Valor per defecte: 3 (AMA) o 8.0 (SMB). Aquest paràmetre indica el valor per defecte d\'absorció de carbohidrats en 5 minuts, quan diem 3 volem dir 3mg/dl/5min. Afecta a com de ràpid decauen els COB i quina absorció de carbohidrats es considera al calcular la predicció de glucèmia futura, quan la glucèmia cau més ràpid de l\'esperat o no puja tant com era de preveure. - Atenció!\nNormalment no cal modificar els valors d\'aquí sota. Si us plau FEU CLIC AQUÍ, LLEGIU el text i assegureu-vos de COMPRENDRE\'L abans de modificar-ne qualsevol. + Autosens també ajusta objectius + Valor per defecte: true\nPermetre a autosens ajustar objectius de glucèmia a més d\'ISF i basals. + Valor per defecte: 2\nEl retard de bolus s\'activa després d\'un bolus d\'àpat, de manera que el llaç no contrarresti amb basals temporals baixes just després d\'haver menjat. El valor per defecte i el de l\'exemple és 2, d\'aquesta manera amb una DIA de 3 hores el bolus es retardaria gradualment durant 1.5 hores (3DIA/2). + Valor per defecte: 3 (AMA) o 8.0 (SMB). Aquest paràmetre indica el valor per defecte d\'absorció de carbohidrats en 5 minuts, quan diem 3 volem dir 3mg/dl/5min. Afecta a com de ràpid decauen els COB i quina absorció de carbohidrats es considera al calcular la predicció de glucèmia futura, quan la glucèmia cau més ràpid de l\'esperat o no puja tant com era de preveure. + Atenció!\nNormalment no cal modificar els valors d\'aquí sota. Si us plau FEU CLIC AQUÍ, LLEGIU el text i assegureu-vos de COMPRENDRE\'L abans de modificar-ne qualsevol. Executant Configuració bomba virtual Enviar estat a NS diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index f6d6d57a44..2107cbb326 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -6,7 +6,7 @@ Bezpečnost zadání ošetřeni Maximální povolený bolus [U] Maximální počet sacharidů [g] - Hodnota glykémie pro zastavení inzulínu + Hodnota glykémie pro zastavení inzulínu Nastavení pluginu %1$s Nastavení Obnovit ošetření z NS @@ -36,16 +36,16 @@ Zobrazování stavu a řízení AAPS z hodinek s WearOS. Spustit teď VIRTUÁLNÍ PUMPA - Poslední spuštění - Vstupní parametry - Vstupní glykémie - Současný bazál - IOB data + Poslední spuštění + Vstupní parametry + Vstupní glykémie + Současný bazál + IOB data Profil - Data o jídle + Data o jídle Výsledek Výsledek: %1$s %2$s - Nedostupná data o glykémiích + Nedostupná data o glykémiích Požadavek Rozdíl Konfigurace @@ -97,10 +97,10 @@ Soubor nenalezen Exportovat nastavení Importovat nastavení - Max. U/h, které lze nastavit pro dočas. bazál - Tato hodnota je v kontextu OpenAPS nazývána max basal - Maximální bazální IOB [U] - Tato hodnota je v kontextu OpenAPS nazývána max IOB + Max. U/h, které lze nastavit pro dočas. bazál + Tato hodnota je v kontextu OpenAPS nazývána max basal + Maximální bazální IOB [U] + Tato hodnota je v kontextu OpenAPS nazývána max IOB Zobrazí se výzva k zadání hlavního hesla, které bude použito k šifrování exportovaných předvoleb. Zobrazí se výzva k zadání hlavního hesla, které bude použito k dešifrování importovaných předvoleb. Export zrušen! Předvolby NEBYLY exportovány! @@ -155,8 +155,8 @@ OpenAPS AMA Pole %1$d prvků.\nAktuální hodnota: Data detekce senzitivity - Ladící informace - Používat autodetekci senzitivity + Ladící informace + Používat autodetekci senzitivity AKCE KONF SMYČ @@ -168,17 +168,17 @@ CÍLE WEAR Krátké názvy modulů - Vždy používat krátkodobý průměrný rozdíl glykémií místo rozdílu posledních 2 hodnot - Výhodné, pokud data z xDripu+ obsahují velký šum. + Vždy používat krátkodobý průměrný rozdíl glykémií místo rozdílu posledních 2 hodnot + Výhodné, pokud data z xDripu+ obsahují velký šum. Výchozí hodnota: 3 Toto je klíčová hodnota zabezpečení. Říká, že maximální nastavitelný bazál je trojnásobkem maximálního denního bazálu. Patrně to nebudete muset měnit, případně si přečtete o tématu \"3x max denní; 4x aktuální\". Výchozí hodnota: 4 Toto je druhá klíčová hodnota. Říká, že maximální hodnota dočasného bazálu nikdy nebude větší, než čtyřnásobek aktuálního bazálu. Je to proto, aby se lidé nedostali do nebezpečných hodnot dříve, než pochopí jak OpenAPS pracuje. Znovu, výchozí hodnota je 4 a většina lidí ji nikdy nebude muset změnit. Pokud nestačí, obvykle je problém někde jinde. Výchozí hodnota: 1.2\nToto je bezpečnostní nastavení pro detekci sensitivity (a brzy autotune). Říká, že autosense může zvýšit bazály, snížit ISF a snížit cílovou hodnotu glykémie o 20 %. Výchozí hodnota: 0.7\nToto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosense může snížit bazály, zvýšit ISF a zvýšit cílovou hodnotu glykémie na 70 %. - Autosense také upravuje cílovou glykémii - Výchozí hodnota: zapnuto\nToto nastavení říká, že autosens může měnit také cílové hodnoty glykémií. - Výchozí hodnota: 2\nToto nastavení říká, po jakou část z hodnoty DIA smyčka po bolusu čeká a nereaguje na změny glykémií (zde 3DIA/2 = 1,5h). - Výchozí hodnota: 3.0 (AMA) nebo 8.0 (SMB) mg/dl/5min. Tato hodnota definuje minimální část strávených sacharidů za každých 5 min. Tato hodnota ovlivňuje výpočet COB. - Pozor!\nZa normálních okolností tyto hodnoty nemusíte měnit. Klikněte ZDE, PŘEČTĚTE si informace a UJISTĚTE se, že jim rozumíte dříve, než je začnete měnit. + Autosense také upravuje cílovou glykémii + Výchozí hodnota: zapnuto\nToto nastavení říká, že autosens může měnit také cílové hodnoty glykémií. + Výchozí hodnota: 2\nToto nastavení říká, po jakou část z hodnoty DIA smyčka po bolusu čeká a nereaguje na změny glykémií (zde 3DIA/2 = 1,5h). + Výchozí hodnota: 3.0 (AMA) nebo 8.0 (SMB) mg/dl/5min. Tato hodnota definuje minimální část strávených sacharidů za každých 5 min. Tato hodnota ovlivňuje výpočet COB. + Pozor!\nZa normálních okolností tyto hodnoty nemusíte měnit. Klikněte ZDE, PŘEČTĚTE si informace a UJISTĚTE se, že jim rozumíte dříve, než je začnete měnit. Provádím Nastavení virtuální pumpy Nahrávat status do NS @@ -297,10 +297,10 @@ Dynamická ISF Korekční faktor pro DynamicISF v % Korekční faktor pro DynamicISF. Pro agresivnější korekční dávky nastavte hodnoty vyšší než 100 %, pro méně agresivní korekce nižší než 100 %. - Povolit UAM - Povolit SMB - Použít super mikro bolusy místo dočasných bazálů pro zrychlení účinku - Detekce neoznámených jídel + Povolit UAM + Povolit SMB + Použít super mikro bolusy místo dočasných bazálů pro zrychlení účinku + Detekce neoznámených jídel NEPLATNÝ % změna Posun času @@ -328,12 +328,12 @@ Nastavení nahrávání glykémií Zobrazovat detailní změny Zobrazovat rozdíl s jedním desetinným místem navíc - Jak často budou SMB podávány v minutách - Maximální počet minut bazálu, ke kterým se limituje SMB - UAM SMB max. minut - Maximální počet minut bazálu, ke kterým se limituje SMB pro UAM - Minimální množství sacharidů potřebných pro návrh - Minimální množství sacharidů v gramech, které spustí upozornění návrhu sacharidů. Množství sacharidů pod touto hodnotou nespustí oznámení. + Jak často budou SMB podávány v minutách + Maximální počet minut bazálu, ke kterým se limituje SMB + UAM SMB max. minut + Maximální počet minut bazálu, ke kterým se limituje SMB pro UAM + Minimální množství sacharidů potřebných pro návrh + Minimální množství sacharidů v gramech, které spustí upozornění návrhu sacharidů. Množství sacharidů pod touto hodnotou nespustí oznámení. Odesílat data do xDrip+ V xDrip+ vyberte zdroj dat 640g/Eversense Glykémie z NS @@ -355,16 +355,16 @@ Maximální IOB nastaveno správně Glykémie dostupné z vybraného zdroje Chyba spuštění extended bolusu - Vždy povolit SMB - Povolit SMB nezávisle na bolusech. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 - Povolit SMB po jídle - Povolit SMB 6 hodin po bolusu i při nulovém COB. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 - Povolit SMB se sacharidy - Povolit SMB, pokud zbývají aktivní sacharidy. - Povolit SMB s dočasnými cíli - Povolit SMB, pokud je aktivní dočasný cíl (aktivita, před jídlem) - Povolit SMB s vysokými dočasnými cíli - Povolit SMB, je-li aktivní vysoký cíl (cvičení, vyšší než 100 mg/dl nebo 5,5 mmol/l) + Vždy povolit SMB + Povolit SMB nezávisle na bolusech. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 + Povolit SMB po jídle + Povolit SMB 6 hodin po bolusu i při nulovém COB. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 + Povolit SMB se sacharidy + Povolit SMB, pokud zbývají aktivní sacharidy. + Povolit SMB s dočasnými cíli + Povolit SMB, pokud je aktivní dočasný cíl (aktivita, před jídlem) + Povolit SMB s vysokými dočasnými cíli + Povolit SMB, je-li aktivní vysoký cíl (cvičení, vyšší než 100 mg/dl nebo 5,5 mmol/l) Inzulín Tlačítka Odeslání kalibrace do xDrip+ nebo otevření kalibračního dialogu BYODA @@ -404,12 +404,12 @@ Expertní mód povolen Pumpa nepodporuje dočasné bazály Uzavřená smyčka zakázána v nastavení - Autosens zakázán v nastavení - SMB zakázáno v nastavení - UAM zakázáno v nastavení + Autosens zakázán v nastavení + SMB zakázáno v nastavení + UAM zakázáno v nastavení UAM zakázáno, protože není povolen Oref1 plugin - maximální násobek bazálu - maximální násobek nejvyššího bazálu + maximální násobek bazálu + maximální násobek nejvyššího bazálu Odeslán bolus během posledních 3 minut, SMB přeskočeno Bazál nastaven správně Prodloužený bolus omezen na %1$.1f U: %2$s @@ -421,11 +421,11 @@ Zaznamenat výměnu inzulínu \"SMB vždy\" a \"po jídle\" zakázáno protože zdroj glykémie nepodporuje rozšířené filtrování SBM není povoleno v otevřené smyčce - Maximální celková hodnota IOB, kterou OpenAPS nemůže překročit [U] - Tato hodnota je v kontextu OpenAPS nazývána Max IOB.\nOpenAPS nikdy nepřidá inzulín, pokud je současné IOB větší než tato hodnota + Maximální celková hodnota IOB, kterou OpenAPS nemůže překročit [U] + Tato hodnota je v kontextu OpenAPS nazývána Max IOB.\nOpenAPS nikdy nepřidá inzulín, pokud je současné IOB větší než tato hodnota Maximální doba absorpce sacharidů [h] Doba, po které jsou všechny sacharidy považovány za strávené. Zbylé budou oříznuty. - Hodnota glykémie, při níž bude vydávání inzulinu zastaveno. Výchozí hodnota využívá standardní cílový model. Uživatel může nastavit hodnoty od 3,3 mmol/l do 5,5 mmol/l. Při hodnotách pod 3,6 mmol/l se použije výchozí model. + Hodnota glykémie, při níž bude vydávání inzulinu zastaveno. Výchozí hodnota využívá standardní cílový model. Uživatel může nastavit hodnoty od 3,3 mmol/l do 5,5 mmol/l. Při hodnotách pod 3,6 mmol/l se použije výchozí model. Zobrazovat kolonku poznámky v dialozích ošetření Další Zpět @@ -448,7 +448,7 @@ Povolit připojení pro roamingu Max hodnota autosens Min hodnota autosens - Dělitel \"bolus snooze\" + Dělitel \"bolus snooze\" Max násobitel denního nejvyššího bazálu Max násobitel současného bazálu Typ virtuální pumpy @@ -504,7 +504,7 @@ Smazat logy Ošetření (inzulín: %1$.2f, sacharidy: %2$d, čas: %3$s) nelze přidat. Zkontrolujte a podle potřeby ručně přidejte záznam. eCarbs: %1$d g (%2$d h), zpoždění: %3$d m - Nedostupná data o glykémiích + Nedostupná data o glykémiích Soubory protokolu Různé Nastavení logování @@ -543,7 +543,7 @@ !!!!! Detekována pomalá absorbce sacharidů: %2$d%% času. Překontrolujte kalkulaci. COB může být nadhodnocené, a proto může být započítáno více inzulínu !!!!!]]> Podat tuto část z výsledku kalkulace [%] Kalkulátor provede výpočet, ale dodána je pouze tato část inzulínu. Výhodné při používání SMB algoritmu. - Zvýšena hodnota maximálního bazálu, protože nastavení je nižší než Vaše maximální hodnota bazální profilu + Zvýšena hodnota maximálního bazálu, protože nastavení je nižší než Vaše maximální hodnota bazální profilu Vybráno: Jednotky Vymazat dokončeno diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 918482b06f..baeb20ed39 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -6,7 +6,7 @@ Behandlings sikkerhed Maks tilladt bolus [IE] Maks tilladte kulhydrater [g] - BS under værdi for LGS grænse + BS under værdi for LGS grænse %1$s indstillinger Indstillinger Opdater behandlinger fra NS @@ -35,16 +35,16 @@ Gemmer alle behandlinger, der er foretaget Kør nu VIRTUEL PUMPE - Sidst kørt - Input parametre - Glukose status - Nuværende Midlertidig Basal - IOB data + Sidst kørt + Input parametre + Glukose status + Nuværende Midlertidig Basal + IOB data Profil - Måltids data + Måltids data Resultat Resultat: %1$s %2$s - Ingen glukosedata tilgængelig + Ingen glukosedata tilgængelig Anmod Delta Konfigurations bygger @@ -92,10 +92,10 @@ Filen blev ikke fundet Eksporter indstillinger Importer indstillinger - Maks. E/t en midlertidig Basal kan angives til - Denne værdi kaldes maks. basal i OpenAPS kontekst - Maksimum basal IOB OpenAPS kan levere [U] - Denne værdi kaldes for Maks IOB i OpenAPS-kontekst\nDette er Maksimal-insulin i [U] APS kan levere på én gang. + Maks. E/t en midlertidig Basal kan angives til + Denne værdi kaldes maks. basal i OpenAPS kontekst + Maksimum basal IOB OpenAPS kan levere [U] + Denne værdi kaldes for Maks IOB i OpenAPS-kontekst\nDette er Maksimal-insulin i [U] APS kan levere på én gang. Du bliver bedt om hovedadgangskode, som vil blive brugt til at kryptere eksporterede præferencer. Du vil blive bedt om hovedadgangskode, som er nødvendig for at dekryptere importerede præferencer. Eksport annulleret! Indstillinger er IKKE eksporteret! @@ -150,8 +150,8 @@ OpenAPS AMA Række af %1$d elementer.\nFaktisk værdi: Autosens data - Script fejlfinding - Brug Autosens funktion + Script fejlfinding + Brug Autosens funktion AKT KONF LOOP @@ -163,17 +163,17 @@ OBJ UR Forkort titel - Brug altid kort gennemsnitlig delta i stedet for simpel delta - Nyttigt, når data fra ufiltrerede kilder som xDrip bliver støjende. + Brug altid kort gennemsnitlig delta i stedet for simpel delta + Nyttigt, når data fra ufiltrerede kilder som xDrip bliver støjende. Standardværdi: 3 Dette er en vigtig OpenAPS sikkerhedsforanstaltning. Hvad dette gør, er at begrænse dine basaler til at være 3x din største basal rate. Du vil sandsynligvis ikke være nødt til at ændre dette, men du skal være opmærksom på, at det er hvad der er omtalt som “3x max dagligt; 4x aktuel” i sikkerhedsforanstaltningerne. Standardværdi: 4 Dette er den anden halvdel af de vigtigste OpenAPS-sikkerhedsforanstaltninger, og den anden halvdel af \"3x maks. daglig, 4x aktuel\" i sikkerhedsforanstaltningerme. Det betyder, at din basal, uanset maks. basalrate på din pumpe, ikke kan være højere end dette antal gange det aktuelle niveau af din basal. Det er for at forhindre folk i at komme ind på et farligt område ved at opstille for høje maks basaler, før man forstår, hvordan algoritmen fungerer. Igen er standardværdien 4x; de fleste mennesker behøver aldrig at rette dette og i stedet være mere tilbøjelige til at tilpasse andre indstillinger, hvis de føler, at de er \"ved at løbe ind i\" denne sikkerhedsforanstaltning. Standardværdi: 1.2\nDette er en multiplikator top for autosens (og snart autotune) for at angive en 20%% maks. grænse for, hvor høj autosens kan være, hvilket til gengæld bestemmer, hvor høj autosens kan tilpasse sig, hvor lav den kan justere ISF, og hvor lav den kan angive BG-målet. Standardværdi: 0,7\nDen anden side af autosens sikkerhedsgrænser, idet den sætter en begrænsning på, hvor lavt autosen kan justere basalerne, og hvor høj den kan justere ISF-og BG-målene. - Autosens justerer også mål - Standardværdi: sandt\nDette bruges til at tillade autosens at justere BG mål, ud over ISF og basaler. - Standardværdi: 2\nBolus snooze starter efter du har lavet et måltid bolus, så loop ikke modvirker lave midlertidige mål, når du lige har spist. Eksemplet her og standard er 2; så en 3 timers DIA betyder, at bolus snooze gradvist udfases over 1,5 timer (3DIA/2). - Standardværdi: 3.0 (AMA) eller 8.0 (SMB). Dette er en indstilling for standardindvirkningen af kulhydrater pr. 5 minutter. Standardværdien er en forventet 3mg/dl/5min. Det påvirker, hvor hurtigt COB er faldet, og hvor meget kulhydrat absorbering forudsættes ved beregning af forudsagt BG, når BG falder mere end forventet, eller ikke stiger så meget som forventet. - Bemærk!\nNormalt behøver du ikke at ændre disse værdier nedenfor. KLIK HER og LÆS teksten og sørg for at du FORSTÅR den, før du ændrer nogen af disse. + Autosens justerer også mål + Standardværdi: sandt\nDette bruges til at tillade autosens at justere BG mål, ud over ISF og basaler. + Standardværdi: 2\nBolus snooze starter efter du har lavet et måltid bolus, så loop ikke modvirker lave midlertidige mål, når du lige har spist. Eksemplet her og standard er 2; så en 3 timers DIA betyder, at bolus snooze gradvist udfases over 1,5 timer (3DIA/2). + Standardværdi: 3.0 (AMA) eller 8.0 (SMB). Dette er en indstilling for standardindvirkningen af kulhydrater pr. 5 minutter. Standardværdien er en forventet 3mg/dl/5min. Det påvirker, hvor hurtigt COB er faldet, og hvor meget kulhydrat absorbering forudsættes ved beregning af forudsagt BG, når BG falder mere end forventet, eller ikke stiger så meget som forventet. + Bemærk!\nNormalt behøver du ikke at ændre disse værdier nedenfor. KLIK HER og LÆS teksten og sørg for at du FORSTÅR den, før du ændrer nogen af disse. Udfører Indstillinger for virtuel pumpe Upload status til NS @@ -291,10 +291,10 @@ Dynamisk ISF DynamiskISF-justeringsfaktor % Justeringsfaktor for DynamiskISF. Indstil mere end 100% for mere aggressive korrektionsdoser og mindre end 100% for mindre aggressive korrektioner. - Aktiver UAM - Aktiver SMB - Brug Super Mikro Boluser i stedet for midlertidig basal for hurtigere handling - Detektering af uanmeldte måltider + Aktiver UAM + Aktiver SMB + Brug Super Mikro Boluser i stedet for midlertidig basal for hurtigere handling + Detektering af uanmeldte måltider UGYLDIG Procent Tidsskift @@ -322,12 +322,12 @@ BS upload indstillinger Vis detaljeret data Vis delta med en decimal plads mere - Hvor ofte vil der blive givet SMB\'er i min - Max minutter af basal at begrænse SMB til - UAM SMB maks minutter - Maks antal minutter af basal at begrænse SMB til UAM - Minimum kulhydrater påkrævet for forslag - Minimum gram kulhydrater til at vise kulhydrat forslags advarsel. Kulhydrat forslag under dette tal vil ikke udløse en notifikaton. + Hvor ofte vil der blive givet SMB\'er i min + Max minutter af basal at begrænse SMB til + UAM SMB maks minutter + Maks antal minutter af basal at begrænse SMB til UAM + Minimum kulhydrater påkrævet for forslag + Minimum gram kulhydrater til at vise kulhydrat forslags advarsel. Kulhydrat forslag under dette tal vil ikke udløse en notifikaton. Seng BS data til xDrip+ I xDrip+ vælg 640g/Eversense datakilde NSClient BS @@ -349,16 +349,16 @@ Maksimal IOB sat korrekt BS tilgængelig fra valgte kilde Forlænget bolus leveringsfejl - Aktiver SMB altid - Aktiver SMB altid uafhængig af bolusser. Kun muligt med BS kilde, der har god filtrering af data såsom G5 - Aktiver SMB efter kulhydrater - Aktiver SMB i 6 timer efter kulhydrater, selv med 0 COB. Kun muligt med BS kilde, der har god filtrering af data såsom G5 - Aktiver SMB med COB - Aktiver SMB når der er COB aktiv. - Aktiver SMB med midlertidige mål - Aktiver SMB når der er midlertidig mål aktivt (Spiser snart, motion) - Aktiver SMB med høje midlertidige mål - Aktiver SMB når der er et høj midlertidig mål aktivt (motion, over 100mg/dl eller 5.5mmol/l) + Aktiver SMB altid + Aktiver SMB altid uafhængig af bolusser. Kun muligt med BS kilde, der har god filtrering af data såsom G5 + Aktiver SMB efter kulhydrater + Aktiver SMB i 6 timer efter kulhydrater, selv med 0 COB. Kun muligt med BS kilde, der har god filtrering af data såsom G5 + Aktiver SMB med COB + Aktiver SMB når der er COB aktiv. + Aktiver SMB med midlertidige mål + Aktiver SMB når der er midlertidig mål aktivt (Spiser snart, motion) + Aktiver SMB med høje midlertidige mål + Aktiver SMB når der er et høj midlertidig mål aktivt (motion, over 100mg/dl eller 5.5mmol/l) Insulin Knapper Sender en kalibrering til xDrip+ eller åbner BYODA kalibreringsmenu @@ -398,12 +398,12 @@ Engineering mode aktiveret Pumpe er ikke egnet til midlertidig basal Lukket loop tilstand deaktiveret i præferencer - Autosens deaktiveret i præferencer - SMB deaktiveret i præferencer - UAM deaktiveret i præferencer + Autosens deaktiveret i præferencer + SMB deaktiveret i præferencer + UAM deaktiveret i præferencer UAM deaktiveret, fordi det er afhængig af Oref1 følsomheds pluginnet - maks basal multiplikator - maks daglig basal multiplikator + maks basal multiplikator + maks daglig basal multiplikator En bolus blev leveret inden for de sidste 3 minutter, springer SMB over Basal sat korrekt Begrænser udvidet bolus til %1$.1f IE på grund af %2$s @@ -415,11 +415,11 @@ Registrer skift af insulinampul SMB altid og efter kulhydrater deaktiveret, fordi den aktive BS kilde ikke understøtter avanceret filtrering SMB er ikke tilladt i åben loop mode - Maks IOB OpenAPS ikke kan gå over [U] - Denne værdi kaldes Max IOB i OpenAPS kontekst\nOpenAPS vil ikke tilføje mere insulin, hvis den aktuelle IOB er større end denne værdi + Maks IOB OpenAPS ikke kan gå over [U] + Denne værdi kaldes Max IOB i OpenAPS kontekst\nOpenAPS vil ikke tilføje mere insulin, hvis den aktuelle IOB er større end denne værdi Måltid max absorptionstid [h] Tid hvor ethvert måltid betragtes som absorberet. Resterende kulhydrater vil blive afskåret. - BS værdi under hvilken insulin er suspenderet. Standard værdi bruger standard målmodel. Bruger kan indstille værdi mellem 60 mg/dl (3,3 mmol/l) og 100 mg/dl (5,5 mmol/l). Værdier under 65/3,6 resulterer i brug af standardmodel + BS værdi under hvilken insulin er suspenderet. Standard værdi bruger standard målmodel. Bruger kan indstille værdi mellem 60 mg/dl (3,3 mmol/l) og 100 mg/dl (5,5 mmol/l). Værdier under 65/3,6 resulterer i brug af standardmodel Vis notefelt i behandlingsdialoger Næste Forrige @@ -442,7 +442,7 @@ Tillad forbindelse i roaming Maks. autosens rate Min. autosens rate - Bolus snooze DIA divisor + Bolus snooze DIA divisor Maks daglig basal multiplikator Nuværende basal sikkerheds multiplikator Virtuel pumpe type @@ -494,7 +494,7 @@ Slet logs En behandling (insulin: %1$.2f, kulhydrater: %2$d, kl: %3$s) kunne ikke tilføjes til behandlinger. Tjek og tilføj venligst en note manuelt efter behov. eCarbs: %1$d g (%2$d h), forsinkelse: %3$d m - Ingen tilgængelige autosens data + Ingen tilgængelige autosens data Logfiler Diverse Log indstillinger @@ -532,7 +532,7 @@ !!!!! Langsomme kulhydrater opdaget: %2$d%% af tiden. Dobbelttjek din beregning. COB kan overvurderes og der kan således gives mere insulin !!!!!]]> Afgiv denne del af bolusguidens resultat [%] Bolus guiden udfører beregning, men kun denne del af beregnet insulin leveres. Nyttig med SMB algoritme. - Stigende max basal værdi, fordi indstillingen er lavere end din max basal i profil + Stigende max basal værdi, fordi indstillingen er lavere end din max basal i profil Valgt: Enheder Ryd færdigt diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 7d4e0e7847..cc791a9dd6 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -6,7 +6,7 @@ Sicherheitseinstellungen der Behandlungen Max. erlaubter Bolus [IE] Max. erlaubte Kohlenhydrate [g] - BG-Pegel, unterhalb dessen die Aussetzung wegen niedriger Glukoseaussetzung eintritt + BG-Pegel, unterhalb dessen die Aussetzung wegen niedriger Glukoseaussetzung eintritt %1$s-Einstellungen Einstellungen Behandlungen von NS aktualisieren @@ -35,16 +35,16 @@ Speichert alle eingegebenen Behandlungen Ausführen VIRTUELLE PUMPE - Letzte Ausführung - Eingabeparameter - Glukose-Status - Aktuelle TBR - IOB-Daten + Letzte Ausführung + Eingabeparameter + Glukose-Status + Aktuelle TBR + IOB-Daten Profil - Mahlzeitendaten + Mahlzeitendaten Ergebnis Ergebnis: %1$s %2$s - Keine BZ-Werte verfügbar + Keine BZ-Werte verfügbar Anfrage Delta Konfiguration @@ -92,10 +92,10 @@ Datei nicht gefunden Einstellungen exportieren Einstellungen importieren - Maximale IE/h, die als TBR gesetzt werden können - Dieser Wert wird \"max basal\" in OpenAPS genannt. - Maximales Basal-IOB, das OpenAPS abgeben darf [IE] - Maximale Menge von Nicht-Bolus-IOB, die OpenAPS abgeben kann. + Maximale IE/h, die als TBR gesetzt werden können + Dieser Wert wird \"max basal\" in OpenAPS genannt. + Maximales Basal-IOB, das OpenAPS abgeben darf [IE] + Maximale Menge von Nicht-Bolus-IOB, die OpenAPS abgeben kann. Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die exportierten Einstellungen verschlüsselt. Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die importierten Einstellungen entschlüsselt. Export abgebrochen! Einstellungen wurden NICHT exportiert! @@ -150,8 +150,8 @@ OpenAPS AMA Array mit %1$d Elementen.\nWert: Autosens-Daten - Skript Debug - Nutze Autosens + Skript Debug + Nutze Autosens AKT KONF LOOP @@ -163,17 +163,17 @@ ZIEL UHR Kurze Tab-Überschriften - Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas - Das ist sinnvoll, wenn die Daten von einer ungefilterten Quelle wie xDrip+ Signalrauschen haben. + Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas + Das ist sinnvoll, wenn die Daten von einer ungefilterten Quelle wie xDrip+ Signalrauschen haben. Standardwert: 3\nDies ist eine wichtige Sicherheitseinstellung. Sie begrenzt die maximale Basal-Abgabe auf die dreifache Menge (im Standardfall) deiner größten Basalrate im Profil. In der Regel solltest Du diesen Wert nicht ändern. Aber Du solltest wissen, was \"3x max daily, 4x current\" als Sicherheitseinstellung bedeutet. Standardwert: 4\nDies ist die andere wichtige Sicherheitseinstellung, die zweite Hälfte von \"3x max daily, 4x current\". Diese Grenze beschränkt die Basal-Abgabe auf die (im Standardfall) vierfache Menge der aktuellen Basalrate im Profil. Dies ist wichtig, um Nutzer davor zu bewahren, zuviel Basal-Insulin zu verabreichen. Nochmals, der Standardwert ist 4x. Die meisten Nutzer werden niemals diese Einstellung verändern, sondern andere Einstellungen anpassen, um sich nicht dieser Sicherheitsgrenze zu nähern. Standardwert: 1.2\nDies ist eine Sicherheitsgrenze für Autosens (und bald auch Autotune), die besagt, wie stark Autosens Basalraten erhöhen darf und wie niedrig der ISF (Insulin-Sensitivitäts-Faktor) und der BZ-Zielwert eingestellt werden können. 1.2 ist dabei der Multiplikationsfaktor und erlaubt eine Anpassung um 20%%. Standardwert: 0.7\nDies ist die andere Sicherheitsgrenze für autosens. Sie beschränkt, wie weit Basalraten abgesenkt und wie sehr ISF und BZ-Zielwerte erhöht werden können. - Autosens passt Zielwerte ebenfalls an - Vorgabe: erlaubt.\nErlaubt Autosens den Ziel-BZ-Bereich in Verbindung mit ISF und Basal anzupassen. - Standarwert: 2\nBolus snooze (\"Bolus-Schlummer\") bremst den Loop nach einem Mahleiten-Bolus, damit dieser nicht mit niedrigen TBR reagiert, wenn Du gerade gegessen hast. Beispiel: Der Standardwert 2 bewirkt, dass bei einem 3 Stunden DIA der Bolus snooze während 1.5 Stunden nach dem Bolus linear ausläuft (3 h Dia / 2 = 1.5 h Bolus snooze). - Standardwert: 3.0 (AMA) or 8.0 (SMB)\nDies ist eine Einstellung für die Standard-Kohlenhydrat-Absorptionswirkung pro 5 Minuten. Der Standardwert ist 3 mg/dl/5min (AMA) bzw. 8 mg/dl/5min (SMB). Dies wirkt sich darauf aus, wie schnell der COB-Wert fällt und wieviel KH-Absorption bei der Berechnung des vorhergesagten BZ angenommen wird, wenn der BZ stärker als erwartet fällt oder nicht so stark wie erwartet steigt. - Achtung!\nNormalerweise musst Du diese Werte nicht ändern. Bitte KLICKE HIER und LESE den Text. Verändere Werte erst, wenn Du den Inhalt des Textes verstanden hast. + Autosens passt Zielwerte ebenfalls an + Vorgabe: erlaubt.\nErlaubt Autosens den Ziel-BZ-Bereich in Verbindung mit ISF und Basal anzupassen. + Standarwert: 2\nBolus snooze (\"Bolus-Schlummer\") bremst den Loop nach einem Mahleiten-Bolus, damit dieser nicht mit niedrigen TBR reagiert, wenn Du gerade gegessen hast. Beispiel: Der Standardwert 2 bewirkt, dass bei einem 3 Stunden DIA der Bolus snooze während 1.5 Stunden nach dem Bolus linear ausläuft (3 h Dia / 2 = 1.5 h Bolus snooze). + Standardwert: 3.0 (AMA) or 8.0 (SMB)\nDies ist eine Einstellung für die Standard-Kohlenhydrat-Absorptionswirkung pro 5 Minuten. Der Standardwert ist 3 mg/dl/5min (AMA) bzw. 8 mg/dl/5min (SMB). Dies wirkt sich darauf aus, wie schnell der COB-Wert fällt und wieviel KH-Absorption bei der Berechnung des vorhergesagten BZ angenommen wird, wenn der BZ stärker als erwartet fällt oder nicht so stark wie erwartet steigt. + Achtung!\nNormalerweise musst Du diese Werte nicht ändern. Bitte KLICKE HIER und LESE den Text. Verändere Werte erst, wenn Du den Inhalt des Textes verstanden hast. Wird ausgeführt Einstellungen der virtuellen Pumpe Status zu Nightscout hochladen @@ -291,10 +291,10 @@ Dynamischer ISF DynamicISF Anpassungsfaktor % Anpassungsfaktor für DynamicISF. Stelle mehr als 100 % für aggressivere Korrekturdosen ein, und weniger als 100 % für weniger aggressive Korrekturen. - Aktiviere UAM - Aktiviere SMB - Benutze Super-Mikro-Boli anstelle von temporären Basalraten, um eine schnellere Wirkung zu erreichen. - Erkennung von unangekündigten Mahlzeiten + Aktiviere UAM + Aktiviere SMB + Benutze Super-Mikro-Boli anstelle von temporären Basalraten, um eine schnellere Wirkung zu erreichen. + Erkennung von unangekündigten Mahlzeiten Ungültig Prozentsatz Zeitverschiebung @@ -322,12 +322,12 @@ BZ Upload Einstellungen Zeige detailliertes Delta Delta wird mit Dezimalstelle angezeigt. - Wie häufig SMBs abgegeben werden (in Min.) - SMB Basal-Limit in Minuten - UAM SMB max. Minuten - SMB Basal-Limit in Minuten für UAM - Minimale KH-Menge, die für einen Vorschlag erforderlich ist - Minimale KH-Menge in Gramm, die Vorschlags-Alarm erforderlich ist. Vorschläge unterhalb dieser Menge, lösen keine Benachrichtigung aus. + Wie häufig SMBs abgegeben werden (in Min.) + SMB Basal-Limit in Minuten + UAM SMB max. Minuten + SMB Basal-Limit in Minuten für UAM + Minimale KH-Menge, die für einen Vorschlag erforderlich ist + Minimale KH-Menge in Gramm, die Vorschlags-Alarm erforderlich ist. Vorschläge unterhalb dieser Menge, lösen keine Benachrichtigung aus. Sende BZ-Werte zu xDrip+ Wähle in xDrip+ 640g/Eversense als Daten-Quelle. Nightscout-Client BZ @@ -349,16 +349,16 @@ Maximales IOB richtig gesetzt BZ verfügbar von gewählter Quelle Fehler bei der Abgabe eines verzögerten Bolus - SMB immer aktivieren - Aktiviere SMB immer, unabhängig von Boli. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. - Aktiviere SMB nach Mahlzeiten. - Aktiviere SMB für sechs Stunden nach der Einnahme von Kohlenhydraten, auch mit 0 COB. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. - Aktiviere SMB während aktiver Kohlenhydrate. - SMB aktivieren, wenn Kohlenhydrate aktiv sind. - Aktiviere SMB bei aktiven temporären Zielen - Aktiviere SMB, wenn ein temporäres Ziel aktiv ist (bald essen, Aktivität) - Aktiviere SMB bei temporären Zielen oberhalb des regulären Ziels - Aktiviere SMB bei hohen temporären Zielen (Sport, über 100 mg/dl bzw. 5,5 mmol/L) + SMB immer aktivieren + Aktiviere SMB immer, unabhängig von Boli. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. + Aktiviere SMB nach Mahlzeiten. + Aktiviere SMB für sechs Stunden nach der Einnahme von Kohlenhydraten, auch mit 0 COB. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. + Aktiviere SMB während aktiver Kohlenhydrate. + SMB aktivieren, wenn Kohlenhydrate aktiv sind. + Aktiviere SMB bei aktiven temporären Zielen + Aktiviere SMB, wenn ein temporäres Ziel aktiv ist (bald essen, Aktivität) + Aktiviere SMB bei temporären Zielen oberhalb des regulären Ziels + Aktiviere SMB bei hohen temporären Zielen (Sport, über 100 mg/dl bzw. 5,5 mmol/L) Insulin Schaltflächen Sendet eine Kalibierung an xDrip+ oder öffnet den BYODA Kalibrierungs-Dialog. @@ -398,12 +398,12 @@ Entwickler-Modus aktiviert Pumpe verfügt nicht über temporäre Basalraten Closed-Loop-Modus in den Einstellungen deaktiviert - Autosens in den Einstellungen deaktiviert - SMB in Einstellungen deaktiviert - UAM in Einstellungen deaktiviert + Autosens in den Einstellungen deaktiviert + SMB in Einstellungen deaktiviert + UAM in Einstellungen deaktiviert UAM deaktiviert, da diese auf die Oref1 Empfindlichkeitserkennung angewiesen sind. - max basal multiplier - max daily basal multiplier + max basal multiplier + max daily basal multiplier Aufgrund eines Bolus in den letzten 3 Minuten wird kein SMB abgegeben. Basalrate richtig eingestellt Begrenze verzögerten Bolus auf %1$.1f IE wegen %2$s @@ -415,11 +415,11 @@ Reservoir-Wechsel erfassen SMB wird immer und nach Kohlenhydraten deaktiviert, weil die aktive BZ-Quelle keine geeignete Filterung der Werte unterstützt. SMB sind im Open Loop Modus nicht erlaubt - Maximales Gesamt-IOB, das nicht überschritten werden darf [IE] - Diesen Wert nennt OpenAPS MaxIOB.\nSolange dieser Wert überschritten wird, wird AndroidAPS kein Insulin abgeben. + Maximales Gesamt-IOB, das nicht überschritten werden darf [IE] + Diesen Wert nennt OpenAPS MaxIOB.\nSolange dieser Wert überschritten wird, wird AndroidAPS kein Insulin abgeben. Maximale Dauer der Essens-Resorption [h] Zeit, nach der jede Mahlzeit mit Sicherheit absorbiert ist. Verbleibende Kohlenhydrate werden danach nicht mehr berücksichtigt. - Der BG-Wert, unter dem die Insulinzuführung ausgesetzt wird. Der Standardwert verwendet das Standard-Zielmodell. Der Benutzer kann einen Wert zwischen 60mg/dl (3.3 mmol/l) und 100mg/dl (5.5mmol/l) setzen. Werte unterhalb 65/3.6 führen zur Verwendung des Standardmodells + Der BG-Wert, unter dem die Insulinzuführung ausgesetzt wird. Der Standardwert verwendet das Standard-Zielmodell. Der Benutzer kann einen Wert zwischen 60mg/dl (3.3 mmol/l) und 100mg/dl (5.5mmol/l) setzen. Werte unterhalb 65/3.6 führen zur Verwendung des Standardmodells Zeige Feld für Notizen in den Behandlungsdialogen Weiter Zurück @@ -442,7 +442,7 @@ Erlaube Verbindung bei Roaming Max. Autosens-Faktor Min. Autosens-Faktor - Bolus-Snooze-DIA-Divisor + Bolus-Snooze-DIA-Divisor Sicherheitsmultiplikator des Basalhöchstwertes Sicherheitsmultiplikator der aktuellen Basalrate Typ der virtuellen Pumpe @@ -494,7 +494,7 @@ Logs löschen Der Eintrag (Insulin: %1$.2f, Kohlenhydrate: %2$d, um: %3$s) konnte nicht als Behandlung gespeichert werden. Bitte überprüfe die aktuelle Liste und füge, falls notwendig, den Datensatz manuell hinzu. eCarbs: %1$d g (%2$d h), Verzögerung: %3$d m - Keine Autosens-Daten verfügbar + Keine Autosens-Daten verfügbar Log Dateien Verschiedenes Log-Einstellungen @@ -533,7 +533,7 @@ Unerwartetes Verhalten. !!!!! Langsamer Kohlenhydrat-Abbau erkannt: %2$d%% der Zeit. Überprüfe Deine Berechnung. COB könnte zu hoch sein und deswegen zu viel Insulin abgegeben werden!!!!!]]> Abgabe von [%] des Ergebnisses des Bolus-Rechners Der Bolus-Rechner führt Berechnungen durch, aber nur dieser Teil der berechneten Insulin wird abgegeben. Nützlich mit SMB-Algorithmus. - Der Wert max basal wird erhöht, weil Du ihn niedriger eingestellt hast als die höchste Basalrate in Deinem Profil. + Der Wert max basal wird erhöht, weil Du ihn niedriger eingestellt hast als die höchste Basalrate in Deinem Profil. Ausgewählt: Einheiten Ziel erneut öffnen diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index a1e9962bb4..0fed773785 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -30,16 +30,16 @@ Σώζει όλες τις θεραπείες που έγιναν Έναρξη τώρα ΕΙΚΟΝΙΚΗ ΑΝΤΛΙΑ - Τελευταίος Υπολογισμός - Εισαγωγή Παραμέτρων - Κατάσταση Γλυκόζης - Τρέχων Προσωρινός Ρυθμός - Δεδομένα IOB + Τελευταίος Υπολογισμός + Εισαγωγή Παραμέτρων + Κατάσταση Γλυκόζης + Τρέχων Προσωρινός Ρυθμός + Δεδομένα IOB Προφίλ - Δεδομένα Γεύματος + Δεδομένα Γεύματος Αποτέλεσμα Αποτέλεσμα: %1$s %2$s - Μη διαθέσιμα δεδομένα γλυκόζης + Μη διαθέσιμα δεδομένα γλυκόζης Αίτημα Διαφορά Διαμόρφωση @@ -80,9 +80,9 @@ Μη εύρεση φακέλου Εξαγωγή ρυθμίσεων Εισαγωγή ρυθμίσεων - Αυτή η τιμή ονομάζεται μέγιστο βασικού ρυθμού στο περιεχόμενο του OpenAPS - Μέγιστο βασικής IOB που το OpenAPS μπορεί να δώσει [U] - Αυτή η τιμή ονομάζεται μέγιστο IOB στο OpenAPS \nΑυτή είναι η μέγιστη ινσουλίνη [U] που το APS μπορεί να δώσει με την μία. + Αυτή η τιμή ονομάζεται μέγιστο βασικού ρυθμού στο περιεχόμενο του OpenAPS + Μέγιστο βασικής IOB που το OpenAPS μπορεί να δώσει [U] + Αυτή η τιμή ονομάζεται μέγιστο IOB στο OpenAPS \nΑυτή είναι η μέγιστη ινσουλίνη [U] που το APS μπορεί να δώσει με την μία. Άδεια χρήσης τελικού χρήστη ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΓΙΑ ΝΑ ΚΑΝΕΤΕ ΙΑΤΡΙΚΗ ΑΠΟΦΑΣΗ. ΔΕΝ ΥΠΑΡΧΕΙ ΕΓΓΥΗΣΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ, ΣΤΟ ΒΑΘΜΟ ΠΟΥ ΕΠΙΤΡΕΠΕΤΑΙ ΑΠΟ ΤΟ ΕΦΑΡΜΟΣΤΕΟ ΔΙΚΑΙΟ. ΕΚΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΔΙΑΒΑΘΜΙΣΜΕΝΗ ΚΑΤΑ ΤΗΝ ΕΓΓΡΑΦΗ ΤΩΝ ΚΑΤΟΧΟΙ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΚΑΙ/Ή ΑΛΛΑ ΜΕΡΗ ΠΑΡΕΧΟΝΤΑΙ ΤΟ ΠΡΟΓΡΑΜΜΑ \"ΩΣ ΕΧΕΙ\" ΧΩΡΙΣ ΕΓΓΥΗΣΗ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΙΔΟΥΣ, ΕΞΑΙΡΟΥΜΕΝΕΣ Ή ΣΙΩΠΗΡΕΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΕΝΔΕΙΚΤΙΚΑ, ΤΩΝ ΣΙΩΠΗΡΩΝ ΕΓΓΥΗΣΕΩΝ ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ΚΑΙ ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Ο ΟΛΟΚΛΗΡΩΜΕΝΟΣ ΚΙΝΔΥΝΟΣ ΟΣΟΝ ΑΦΟΡΑ ΤΗΝ ΠΟΙΟΤΗΤΑ ΚΑΙ ΤΗΝ ΑΠΟΔΟΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΙΝΑΙ ΔΙΚΟ ΣΑΣ. ΕΑΝ ΤΟ ΠΡΟΓΡΑΜΜΑ ΔΕΝ ΕΙΝΑΙ ΕΛΑΤΤΩΜΑΤΙΚΟ, ΠΡΕΠΕΙ ΝΑ ΕΞΕΤΑΣΤΕ ΤΟ ΚΟΣΤΟΣ ΟΛΩΝ ΤΩΝ ΑΠΑΡΑΙΤΗΤΩΝ ΣΥΝΤΗΡΗΣΕΩΝ, ΕΠΙΣΚΕΥΩΝ Ή ΔΙΟΡΘΩΣΕΩΝ. ΚΑΤΑΛΑΒΑ ΚΑΙ ΣΥΜΦΩΝΩ @@ -115,8 +115,8 @@ OpenAPS AMA Πεδίο %1$d Στοιχεία.\nΤρέχουσα τιμή: Δεδομένα Autosens - Εντοπισμός σφαλμάτων δέσμης ενεργειών - Χρήση του Autosens + Εντοπισμός σφαλμάτων δέσμης ενεργειών + Χρήση του Autosens ΔΡΑΣΗ Διαμόρφωση ΚΥΚΛΩΜΑ @@ -127,15 +127,15 @@ ΣΤΟΧΟΙ WEAR Συντομογραφίες ενοτήτων - Χρησιμοποιείτε πάντα τη βραχυπρόθεσμη μέση διαφορά αντί της απλής διαφοράς + Χρησιμοποιείτε πάντα τη βραχυπρόθεσμη μέση διαφορά αντί της απλής διαφοράς Προεπιλεγμένη τιμή: 3 Αυτό είναι ένα κλειδί ασφαλείας του OpenAPS. Αυτό περιορίζει την αύξηση του βασικού x3 (σε αυτούς τους ανθρώους) από την μεγαλύτερη τιμή του. Συνήθως δεν χρειάζεται να το αλλάξετε, αλλά πρέπει να ξέρετε τι σημαίνει “3x μέγιστο ημερήσιο; 4x τρέχων” για λόγους ασφαλείας. Προεπιλεγμένη τιμή: 4 Αυτό είναι το μισό του θέματος ασφαλείας του OpenAPS, και το άλλο μισό του «3 x μέγιστο ημέρας: 4 x τρέχων» των θεμάτων ασφαλείας. Αυτό σημαίνει ότι ο βασικός ρυθμός, ανεξάρτητα από την μέγιστη τιμή βασικού ρυθμού στην αντλία σας, δεν μπορεί να είναι υψηλότερος από το πολλαπλάσιο αυτού του αριθμού. Αυτό γίνεται για να αποτρέψει τους ανθρώπους από το να μπουν σε επικίνδυνες καταστάσεις θέτωντας υψηλό βασικό πριν κατανοήσουν πλήρως πώς λειτουργεί ο αλγόριθμος. Και πάλι, η προεπιλεγμένη τιμή είναι 4x: οι περισσότεροι άνθρωποι ποτέ δεν θα χρειαστεί να το προσαρμόσουν και αντίθετα είναι πιο πιθανό να χρειαστεί να προσαρμόσουν άλλες ρυθμίσεις αν αισθάνονται ότι κινούνται με ασφάλεια. Προεπιλεγμένη τιμή: 1.2\nΑυτός είναι ένας πολλαπλασιαστής για το autosens (και σύντομα autotune) για να ορίσετε ένα 20%% ανώτατο όριο στο πόσο ψηλά μπορεί να είναι ο λόγος autosens, που με τη σειρά του καθορίζει πόσο ψηλά το autosens μπορεί να ρυθμίσει τον βασικό ρυθμό, πόσο χαμηλά μπορεί να ρυθμίσει την ISF, και πόσο χαμηλά μπορεί να ορίσει το στόχο της BG. Προεπιλεγμένη τιμή: 0.7\n H άλλη πλευρά από τα όρια ασφαλείας του autosens, θέτοντας ένα ανώτατο όριο στο πόσο χαμηλά to autosens μπορεί να προσαρμόσει τον βασικό ρυθμό και πόσο ψηλά μπορεί να ρυθμίσει τη ISF και τον στόχο του BG. - Προεπιλεγμένη τιμή: true\nΑυτό χρησιμοποιείται για να επιτρέψει στο autosens να προσαρμόσει τον στόχο BG, επιπρόσθετα από το ISF και βασικό ρυθμό. - Προεπιλεγμένη τιμή: 2\nΗ αναβολή Bolus ενεργοποιείται αφού κάνετε ένα γευματικό bolus, έτσι το κύκλωμα δεν θα εξουδετερώσει με χαμηλό προσωρινό μόλις έχετε φάει. Το παράδειγμα εδώ και η προεπιλογή είναι 2: έτσι μια τρίωρη DIA σημαίνει ότι το bolus αναβολής θα είναι σταδιακά πάνω από 1,5 ώρα (3DIA/2). - Προεπιλεγμένη τιμή: 3.0 (AMA) ή 8.0 (SMB). Αυτό είναι μια ρύθμιση για την επίπτωση της προεπιλεγμένης απορρόφησης υδατανθράκων ανά 5 λεπτά. Η προεπιλογή είναι μια αναμενόμενη 3mg/dl/5min. Αυτό επηρεάζει το πόσο γρήγορα το COB ελλατώνεται, και πόση απορρόφηση υδατανθράκων θα υποθέτει για τον υπολογισμό της μελλοντικής πρόβλεψης BG, όταν το BG πέφτει περισσότερο από το αναμενόμενο ή δεν αυξάνεται όσο το αναμενόμενο. - Προσοχή!\nΣυνήθως δεν χρειάζεται να αλλάξετε αυτές τις τιμές. Κάντε κλικ ΕΔΩ, ΔΙΑΒΑΣΤΕ τις πληροφορίες και σιγουρευτείτε ότι τις καταλαβαίνετε πριν τις αλλάξετε. + Προεπιλεγμένη τιμή: true\nΑυτό χρησιμοποιείται για να επιτρέψει στο autosens να προσαρμόσει τον στόχο BG, επιπρόσθετα από το ISF και βασικό ρυθμό. + Προεπιλεγμένη τιμή: 2\nΗ αναβολή Bolus ενεργοποιείται αφού κάνετε ένα γευματικό bolus, έτσι το κύκλωμα δεν θα εξουδετερώσει με χαμηλό προσωρινό μόλις έχετε φάει. Το παράδειγμα εδώ και η προεπιλογή είναι 2: έτσι μια τρίωρη DIA σημαίνει ότι το bolus αναβολής θα είναι σταδιακά πάνω από 1,5 ώρα (3DIA/2). + Προεπιλεγμένη τιμή: 3.0 (AMA) ή 8.0 (SMB). Αυτό είναι μια ρύθμιση για την επίπτωση της προεπιλεγμένης απορρόφησης υδατανθράκων ανά 5 λεπτά. Η προεπιλογή είναι μια αναμενόμενη 3mg/dl/5min. Αυτό επηρεάζει το πόσο γρήγορα το COB ελλατώνεται, και πόση απορρόφηση υδατανθράκων θα υποθέτει για τον υπολογισμό της μελλοντικής πρόβλεψης BG, όταν το BG πέφτει περισσότερο από το αναμενόμενο ή δεν αυξάνεται όσο το αναμενόμενο. + Προσοχή!\nΣυνήθως δεν χρειάζεται να αλλάξετε αυτές τις τιμές. Κάντε κλικ ΕΔΩ, ΔΙΑΒΑΣΤΕ τις πληροφορίες και σιγουρευτείτε ότι τις καταλαβαίνετε πριν τις αλλάξετε. Εκτελείτε Ρυθμίσεις Εικονικής αντλίας Φόρτωση κατάστασης στο NS @@ -211,10 +211,10 @@ Οι τιμές δεν αποθηκεύτηκαν! Ενεργοποιήστε τις τοπικές αποστολές. OpenAPS SMB - Ενεργοποίηση UAM - Ενεργοποίηση SMB - Χρησιμοποιήστε Super Micro Boluses αντί προσωρινού ρυθμού για ταχύτερα αποτελέσματα - Ανίχνευση απαρατήρητων γευμάτων + Ενεργοποίηση UAM + Ενεργοποίηση SMB + Χρησιμοποιήστε Super Micro Boluses αντί προσωρινού ρυθμού για ταχύτερα αποτελέσματα + Ανίχνευση απαρατήρητων γευμάτων ΜΗ ΕΓΚΥΡΟ Ποσοστό Αλλαγή της ώρας @@ -239,7 +239,7 @@ Ανέβασμα ρυθμίσεων BG Εμφάνιση λεπτομερών στατιστικών Δείξτε τη διαφορά με ένα επιπλέον δεκαδικό ψηφίο - Τα μέγιστα λεπτά του βασικού ρυθμού που περιορίζουν το SMB να + Τα μέγιστα λεπτά του βασικού ρυθμού που περιορίζουν το SMB να Αποστολή δεδομένων BG στο xDrip+ Στο xDrip+, επιλέξτε την πηγή δεδομένων 640g / Eversense NSClient BG @@ -259,15 +259,15 @@ Το μέγιστο IOB έχει ρυθμιστεί σωστά BG διαθέσιμη από επιλεγμένη πηγή Σφάλμα έγχυσης εκτεταμένου bolus - Πάντα ενεργό SMB - Ενεργοποιήστε τις ΜΜΕ ανεξάρτητα από τα bolus. Πιθανόν μόνο με πηγές BG με καλό φιλτράρισμα δεδομένων, όπως το G5 - Ενεργοποίηση SMB μετά από υδατάνθρακες - Ενεργοποίηση SMB για 6 ώρες μετά από υδατάνθρακες, ακόμη και με 0 COB. Πιθανόν μόνο με πηγή BG με καλό φιλτράρισμα δεδομένων όπως το G5 - Ενεργοποίηση SMB με COB - Ενεργοποίηση SMB όταν υπάρχει ενεργό COB. - Ενεργοποίηση SMB με προσωρινούς στόχους - Ενεργοποίηση του SMB όταν υπάρχει ενεργός προσωρινός στόχος (τρώω σύντομα, άσκηση) - Ενεργοποίηση SMB με υψηλούς προσωρινούς στόχους + Πάντα ενεργό SMB + Ενεργοποιήστε τις ΜΜΕ ανεξάρτητα από τα bolus. Πιθανόν μόνο με πηγές BG με καλό φιλτράρισμα δεδομένων, όπως το G5 + Ενεργοποίηση SMB μετά από υδατάνθρακες + Ενεργοποίηση SMB για 6 ώρες μετά από υδατάνθρακες, ακόμη και με 0 COB. Πιθανόν μόνο με πηγή BG με καλό φιλτράρισμα δεδομένων όπως το G5 + Ενεργοποίηση SMB με COB + Ενεργοποίηση SMB όταν υπάρχει ενεργό COB. + Ενεργοποίηση SMB με προσωρινούς στόχους + Ενεργοποίηση του SMB όταν υπάρχει ενεργός προσωρινός στόχος (τρώω σύντομα, άσκηση) + Ενεργοποίηση SMB με υψηλούς προσωρινούς στόχους Ινσουλίνη Πλήκτρα Αριθμός υδατανθράκων να προστεθεί όταν πατήσετε το πλήκτρο @@ -298,12 +298,12 @@ Μηχανική λειτουργία ενεργοποιημένη Η αντλία δεν υποστηρίζει προσωρινό βασικό ρυθμό Το κλειστό κύκλωμα είναι απενεργοποιημένο στις Επιλογές - Το Autosens είναι απενεργοποιημένο στις Επιλογές - Το SMB απενεργοποιήθηκε στις Επιλογές - Το UAM απενεργοποιήθηκε στις Επιλογές + Το Autosens είναι απενεργοποιημένο στις Επιλογές + Το SMB απενεργοποιήθηκε στις Επιλογές + Το UAM απενεργοποιήθηκε στις Επιλογές Το UAM απενεργοποιήθηκε επειδή είναι ενεργοποιημένο στην προσθήκη ευαισθησία στο Oref1 - πολλαπλασιαστής μέγιστου βασικού - πολλαπλασιαστής ημερήσιου μέγιστου βασικού + πολλαπλασιαστής μέγιστου βασικού + πολλαπλασιαστής ημερήσιου μέγιστου βασικού Ένα bolus παραδόθηκε μέσα στα τελευταία 3 λεπτά, παράκαμψη SMB Ο βασικός ρυθμός ορίστηκε σωστά Περιορίζεται το εκτεταμένο bolus σε %1$.1f U λόγω %2$s @@ -315,8 +315,8 @@ Καταγράψτε την αλλαγή της τοποθεσίας καθετήρα Το SMB πάντα και μετά το γεύμα απενεργοποιείται επειδή η ενεργή πηγή BG δεν υποστηρίζει προηγμένο φιλτράρισμα To SMB δεν επιτρέπεται σε λειτουργία ανοιχτού κυκλώματος - Μέγιστη συνολική IOB το OpenAPS δεν μπορεί να πάει πάνω από [U] - Αυτή η τιμή ονομάζεται μέγιστη IOB στο OpenAPS\nTο OpenAPS δεν θα προσθέσει περισσότερη ινσουλίνη αν η τρέχουσα IOB είναι μεγαλύτερη από αυτή την τιμή + Μέγιστη συνολική IOB το OpenAPS δεν μπορεί να πάει πάνω από [U] + Αυτή η τιμή ονομάζεται μέγιστη IOB στο OpenAPS\nTο OpenAPS δεν θα προσθέσει περισσότερη ινσουλίνη αν η τρέχουσα IOB είναι μεγαλύτερη από αυτή την τιμή Μέγιστος χρόνος απορρόφησης γεύματος [h] Χρόνος κατά τον οποίο οποιοδήποτε γεύμα θεωρείται απορροφημένο. Οι υπόλοιποι υδατάνθρακες θα αποκοπούν. Εμφάνιση πεδίου σημειώσεων στους διαλόγους θεραπείας @@ -337,7 +337,7 @@ Επιτρέψτε τη σύνδεση περιαγωγής Μέγιστη αναλογία autosens Ελάχιστη αναλογία autosens - Διαιρέτης Αναβολής bolus + Διαιρέτης Αναβολής bolus Μέγιστος ημερήσιος πολλαπλασιαστής ασφαλείας Τρέχων πολλαπλασιαστής ασφαλείας βασικού ρυθμού Τύπος εικονικής αντλίας @@ -377,7 +377,7 @@ Διαγραφή αρχείων καταγραφής Μια θεραπεία (ινσουλίνη: %1$.2f, υδατάνθρακες: %2$d, στο: %3$s) δεν μπορεί να προστεθεί στις θεραπείες. Παρακαλούμε ελέγξτε και προσθέστε χειροκίνητα μια εγγραφή ανάλογα με την περίπτωση. eCarbs: %1$d g (%2$d h), καθυστέρηση: %3$d m - Μη διαθέσιμα δεδομένα autosens + Μη διαθέσιμα δεδομένα autosens Ρυθμίσεις Αρχείου Καταγραφής Επαναφορά προεπιλογών Δυσλειτουργία NSClient. Εξετάστε την επανεκκίνηση του NS και του NSClient. @@ -408,7 +408,7 @@ !!!!! Μικρή απορρόφηση υδατανθράκων ανιχνεύτηκε: %2$d%% της ώρας. Τσεκάρετε τους υπολογισμούς σας. COB μπορεί να υπερεκτιμήθηκε και να δόθηκε περισσότερη ινσουλίνη!!!!!]]> Χορήγηση του αποτελέσματος αυτού του μέρους του υπολογισμού bolus [%] Ο Υπολογισμός Bolus κάνει υπολογισμούς αλλά μόνο αυτό το μέρος της υπολογίσημης ινσουλίνης χορηγείται. Χρήσιμο με τον αλγόριθμο SMB. - Αυξείστε την μέγιστη βασική τιμή, επειδή η ρύθμιση είναι χαμηλότερη από τη μέγιστη βασική στο προφίλ σας + Αυξείστε την μέγιστη βασική τιμή, επειδή η ρύθμιση είναι χαμηλότερη από τη μέγιστη βασική στο προφίλ σας diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 82205d1a4a..82c57ce965 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -6,7 +6,7 @@ Seguridad de tratamientos Máximo bolo permitido [U] Máximos carbohidratos permitidos [g] - Nivel de glucosa por debajo de valor LGS (Suspensión por glucosa baja) + Nivel de glucosa por debajo de valor LGS (Suspensión por glucosa baja) Preferencias de %1$s Preferencias Actualizar los tratamientos desde Nightscout @@ -36,16 +36,16 @@ Supervisar y controlar AAPS usando un reloj WearOS Ejecutar ahora BOMBA VIRTUAL - Última acción - Parámetros de entrada - Estado de glucosa - Basal temporal actual - Datos IOB + Última acción + Parámetros de entrada + Estado de glucosa + Basal temporal actual + Datos IOB Perfil - Datos de comidas + Datos de comidas Resultado Resultado: %1$s %2$s - No hay disponibles datos de glucosa + No hay disponibles datos de glucosa Solicitud Delta Tabla de configuraciones @@ -97,10 +97,10 @@ Archivo no encontrado Exportar ajustes Importar ajustes - Máximas U/h que la basal temporal no podrá superar - Este valor se llama \"Max basal\" en el contexto de OpenAPS - Basal máxima que OpenAPS puede entregar [U] - Este valor se denomina \"Max IOB\" en OpenAPS\nEsta es la cantidad máxima de insulina en [U] que APS puede entregar a la vez. + Máximas U/h que la basal temporal no podrá superar + Este valor se llama \"Max basal\" en el contexto de OpenAPS + Basal máxima que OpenAPS puede entregar [U] + Este valor se denomina \"Max IOB\" en OpenAPS\nEsta es la cantidad máxima de insulina en [U] que APS puede entregar a la vez. Se le solicitará la contraseña maestra, que se utilizará para cifrar los ajustes exportados Se le solicitará la contraseña maestra, que es necesaria para descifrar las preferencias importadas. ¡Exportación cancelada! ¡Las preferencias NO se han exportado! @@ -155,8 +155,8 @@ OpenAPS AMA Matriz de %1$d elementos.\nValor actual: Datos Autosens - Depurar script - Usar la función Autosens + Depurar script + Usar la función Autosens ACC CONF LAZO @@ -168,17 +168,17 @@ OBJ RELOJ Nombres cortos en pestañas - Usar siempre el delta medio corto, en lugar del delta simple - Útil cuando los datos de fuentes sin filtrar como los de xDrip+ son inestables + Usar siempre el delta medio corto, en lugar del delta simple + Útil cuando los datos de fuentes sin filtrar como los de xDrip+ son inestables Valor predeterminado: 3. Este valor es una protección de seguridad clave de OpenAPS. Limita la basal máxima que puede usar AAPS a un máximo de tres veces tu basal. Probablemente nunca necesites modificar este valor. Antes de modificarlo deberías tener en cuenta las discusiones sobre \"3x máx diaria; 4x actual\" por motivos de seguridad Valor predeterminado: 4. Esta es la otra mitad de los ajustes de seguridad de OpenAPS y de \"3x máx diaria, 4x actual\". Esto significa que tu basal, independientemente del valor de basal máxima que tengas configurado en la bomba, nunca podrá superar este valor multiplicado por tu basal actual. Esto se usa para evitar que las personas se encuentren en situaciones peligrosas por aumentar excesivamente la basal, sin entender como funciona el algoritmo. La mayoría de las personas nunca tendrán que cambiar estos valores. Si estás cerca de alcanzar éstos límites, deberías de ajustar otras configuraciones Valor predeterminado: 1.2\nEste parámetro establece un límite de seguridad máximo por defecto del 20% en autosens (y pronto en Autotune), que limita los valores máximos que puede: aumentar las basales, disminuir el factor de sensibilidad (ISF) y disminuir el objetivo de glucosa Valor predeterminado: 0.7\nEste parámetro establece un límite de seguridad mínimo por defecto del 30% en autosens, que limita los valores que puede: disminuir las basales, aumentar el factor de sensibilidad (ISF) y aumentar el objetivo de glucosa - Autosens también ajusta los objetivos - Valor predeterminado: habilitado\nEste ajuste permite que autosens pueda ajustar los objetivos de glucosa, así como, el factor de sensibilidad (ISF) y las basales - Valor predeterminado: 2\nLa característica \"Bolus snooze\" (bolo de repetición) se activa después de suministrar un bolo de comida. Esto permite que durante el periodo de tiempo resultante de dividir el valor de DIA por este ajuste, AAPS no establezca basales temporales demasiado bajas. Por ejemplo, con el valor predeterminado 2 y un valor de DIA establecido en 5 horas, la duración del bolo de repetición resultante sería de 2,5 horas (5/2=2,5h), periodo en el cuál, las basales temporales no serán demasiado bajas. - Valores predeterminados: 3.0 (AMA) y 8.0 (SMB)\nEsta configuración establece cómo se absorben los carbohidratos cada 5 minutos. Por defecto se espera que se absorban 3mg/dl cada 5 minutos. Esto afecta a la rapidez con la que los carbohidratos (COB) decaen, y cómo se calcula la predicción de la absorción de carbohidratos futuros, cuando la glucosa está cayendo más de lo esperado, o no aumenta tanto como se esperaba - ¡ATENCIÓN!\nLos valores que se muestran a continuación, normalmente no suelen ser necesario modificarlos. Por favor, PINCHA AQUÍ y lee todo el contenido. Asegúrate de que lo has entendido completamente antes de modificar alguno de estos valores. + Autosens también ajusta los objetivos + Valor predeterminado: habilitado\nEste ajuste permite que autosens pueda ajustar los objetivos de glucosa, así como, el factor de sensibilidad (ISF) y las basales + Valor predeterminado: 2\nLa característica \"Bolus snooze\" (bolo de repetición) se activa después de suministrar un bolo de comida. Esto permite que durante el periodo de tiempo resultante de dividir el valor de DIA por este ajuste, AAPS no establezca basales temporales demasiado bajas. Por ejemplo, con el valor predeterminado 2 y un valor de DIA establecido en 5 horas, la duración del bolo de repetición resultante sería de 2,5 horas (5/2=2,5h), periodo en el cuál, las basales temporales no serán demasiado bajas. + Valores predeterminados: 3.0 (AMA) y 8.0 (SMB)\nEsta configuración establece cómo se absorben los carbohidratos cada 5 minutos. Por defecto se espera que se absorban 3mg/dl cada 5 minutos. Esto afecta a la rapidez con la que los carbohidratos (COB) decaen, y cómo se calcula la predicción de la absorción de carbohidratos futuros, cuando la glucosa está cayendo más de lo esperado, o no aumenta tanto como se esperaba + ¡ATENCIÓN!\nLos valores que se muestran a continuación, normalmente no suelen ser necesario modificarlos. Por favor, PINCHA AQUÍ y lee todo el contenido. Asegúrate de que lo has entendido completamente antes de modificar alguno de estos valores. Ejecutando Ajustes de bomba virtual Subir estado a Nightscout @@ -297,10 +297,10 @@ ISF Dinámico Factor de ajuste de ISF Dinámico % Porcentaje del factor de ajuste de ISF Dinámico\nValor predeterminado: 100\nEstablecer valores por encima del 100% para que el algoritmo aplique correcciones más agresivas y valores por debajo del 100% para correcciones menos agresivas. - Activar UAM - Activar SMB - Usar microbolos en lugar de basales temporales, para corregir más rápidamente - Detectar comidas no anunciadas (UAM) + Activar UAM + Activar SMB + Usar microbolos en lugar de basales temporales, para corregir más rápidamente + Detectar comidas no anunciadas (UAM) INVÁLIDO Porcentaje Tiempo del cambio @@ -328,12 +328,12 @@ Ajuste de subida de datos de glucosa Mostrar detalles del delta Mostrar el delta con un decimal más - Con qué frecuencia se administrarán los SMB en min - Minutos máximos de basal para limitar SMB - Minutos máximos de UAM SMB - Minutos máximos de basal para limitar SMB para UAM - Carbohidratos mínimos necesarios para la sugerencia - Gramos mínimos de carbohidratos para mostrar una alerta de sugerencia de carbohitratos: las sugerencias de carbohidratos debajo de este número no iniciarán una notificación. + Con qué frecuencia se administrarán los SMB en min + Minutos máximos de basal para limitar SMB + Minutos máximos de UAM SMB + Minutos máximos de basal para limitar SMB para UAM + Carbohidratos mínimos necesarios para la sugerencia + Gramos mínimos de carbohidratos para mostrar una alerta de sugerencia de carbohitratos: las sugerencias de carbohidratos debajo de este número no iniciarán una notificación. Enviar datos de glucosa a xDrip+ En xDrip+, selecciona 640G/Eversense como fuente de datos NSClient BG @@ -355,16 +355,16 @@ Máximo IOB ajustado correctamente Glucosa disponible desde la fuente seleccionada Error al emitir bolo extendido - Habilitar SMB siempre - Habilitar SMB siempre, de forma independiente a los bolos. Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 - Habilitar SMB después de Carbohidratos - Habilitar SMB durante 6 horas después de los carbohidratos, incluso con 0g de carbohidratos (COB). Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 - Habilitar SMB con Carbohidratos - Habilitar SMB cuando hay carbohidratos activos (COB) - Habilitar SMB con Objetivos Temporales - Habilitar SMB cuando hay un Objetivo Temporal (OT) activo (ComiendoPronto, Actividad, etc.) - Habilitar SMB con Objetivos Temporales altos - Habilitar SMB cuando hay activo un objetivo temporal alto (ejercicio superior a 100 mg/dl o 5.5 mmol/l) + Habilitar SMB siempre + Habilitar SMB siempre, de forma independiente a los bolos. Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 + Habilitar SMB después de Carbohidratos + Habilitar SMB durante 6 horas después de los carbohidratos, incluso con 0g de carbohidratos (COB). Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 + Habilitar SMB con Carbohidratos + Habilitar SMB cuando hay carbohidratos activos (COB) + Habilitar SMB con Objetivos Temporales + Habilitar SMB cuando hay un Objetivo Temporal (OT) activo (ComiendoPronto, Actividad, etc.) + Habilitar SMB con Objetivos Temporales altos + Habilitar SMB cuando hay activo un objetivo temporal alto (ejercicio superior a 100 mg/dl o 5.5 mmol/l) Insulina Botones Envía una calibración a xDrip+ o abre la pantalla de calibración de Dexcom BYODA @@ -404,12 +404,12 @@ Modo de ingeniería activado La bomba no tiene capacidad basal temporal Lazo cerrado deshabilitado en preferencias - Autosens deshabilitado en preferencias - SMB deshabilitado en preferencias - UAM deshabilitado en las preferencias + Autosens deshabilitado en preferencias + SMB deshabilitado en preferencias + UAM deshabilitado en las preferencias UAM deshabilitado al usar el plugin de sensibilidad Oref1 - multiplicador basal máximo - multiplicador basal diario máximo + multiplicador basal máximo + multiplicador basal diario máximo Un Bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB Basal establecida correctamente Limitando el bolo extendido a %1$.1f U debido a %2$s @@ -421,11 +421,11 @@ Anotar cambio del cartucho de insulina SMB siempre y tras carbohidratos deshabilitados porque la fuente activa de glucosa no admite filtro avanzado SMB no permitido en modo de lazo abierto - Máximo IOB total que OpenAPS no puede superar [U] - Este valor se denomina \"Max IOB\", en el contexto de OpenAPS\nOpenAPS no podrá superar esta cantidad de insulina activa (IOB) + Máximo IOB total que OpenAPS no puede superar [U] + Este valor se denomina \"Max IOB\", en el contexto de OpenAPS\nOpenAPS no podrá superar esta cantidad de insulina activa (IOB) Tiempo máximo de absorción de la comida [h] Tiempo en el que cualquier comida se considera absorbida. Los carbohidratos restantes serán cortados. - Valor de glucosa por debajo del cual se suspende la administración de insulina. El valor predeterminado utiliza el modelo de objetivo estándar. El usuario puede establecer un valor entre 60mg/dl (3. mmol/l) y 100mg/dl (5.5mmol/l). Valores por debajo de 65/3.6 usan el modelo predeterminado + Valor de glucosa por debajo del cual se suspende la administración de insulina. El valor predeterminado utiliza el modelo de objetivo estándar. El usuario puede establecer un valor entre 60mg/dl (3. mmol/l) y 100mg/dl (5.5mmol/l). Valores por debajo de 65/3.6 usan el modelo predeterminado Mostrar el campo notas en diálogos de tratamientos Siguiente Anterior @@ -448,7 +448,7 @@ Permitir conexión en roaming Ratio máximo de autosens Ratio mínimo de autosens - DIA Divisor para suspensión de bolos + DIA Divisor para suspensión de bolos Máximo multiplicador diario de seguridad Multiplicador basal de seguridad actual Bomba virtual @@ -504,7 +504,7 @@ Borrar registros Un tratamiento (insulina: %1$.2f, carbs: %2$d, at: %3$s) no ha podido ser añadido a tratamientos. Por favor compruebe y añada manualmente el registro apropiadamente. eCarbs: %1$d g (%2$d h), retraso: %3$d m - Sin datos autosens disponibles + Sin datos autosens disponibles Archivos de registro Misceláneo Ajustes de registros @@ -543,7 +543,7 @@ ¡Se ha detectado una absorción lenta de carbohidratos: %2$d%% de tiempo. Comprueba de nuevo el cálculo. Los COB se pueden sobrestimar, por lo que se podría administrar más insulina de la cuenta!]]> Administrar esta parte del resultado del asistente de bolos [%] El asistente de bolos realiza el cálculo, pero solo se entrega esta parte de la insulina calculada. Útil con el algoritmo SMB. - Aumentar el valor basal máximo porque el ajuste es inferior a tu base máxima en el perfil + Aumentar el valor basal máximo porque el ajuste es inferior a tu base máxima en el perfil Seleccionado: Unidades Limpieza finalizada diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index fe1f235b38..a6f05f6867 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -6,7 +6,7 @@ Traitements de sécurité Maximum Bolus autorisé [U] Maximum de Glucides autorisé [g] - Glycémie au-dessous de laquelle se déclenche l\'Arrêt Glycémie Basse + Glycémie au-dessous de laquelle se déclenche l\'Arrêt Glycémie Basse Préférences de %1$s Préférences Actualiser les données depuis NS @@ -36,16 +36,16 @@ Surveillez et contrôlez AAPS en utilisant votre montre WearOS. Exécuter maintenant POMPE VIRTUELLE - Dernière exécution - Paramètres de saisie - État de la glycémie - Débit temporaire actuel - Données IA + Dernière exécution + Paramètres de saisie + État de la glycémie + Débit temporaire actuel + Données IA Profil - Données repas + Données repas Résultats Résultat: %1$s %2$s - Pas de données glycémiques disponibles + Pas de données glycémiques disponibles Requête Delta Configuration @@ -97,10 +97,10 @@ Fichier introuvable Exporter les paramètres Importer les paramètres - Débit max en U/h pour une Basal Temp. - Cette valeur est appelée Basal Maximum dans le contexte OpenAPS - IA Basal max que OpenAPS pourra délivrer [U] - Cette valeur est appelée Max IA (Insuline Active) dans le contexte OpenAPS\nC\'estlle maximum d\'insuline en [U] que APS peut délivrer en une seule fois. + Débit max en U/h pour une Basal Temp. + Cette valeur est appelée Basal Maximum dans le contexte OpenAPS + IA Basal max que OpenAPS pourra délivrer [U] + Cette valeur est appelée Max IA (Insuline Active) dans le contexte OpenAPS\nC\'estlle maximum d\'insuline en [U] que APS peut délivrer en une seule fois. Le mot de passe principal vous sera demandé pour crypter les préférences exportées. Le mot de passe principal vous sera demandé pour décrypter les préférences exportées. Export annulé ! Les préférences n\'ont PAS été exportées ! @@ -156,8 +156,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S OpenAPS AMA Tableau de %1$d éléments.\nValeur Actuelle : Données Autosens - Débogage du Script - Utiliser la fonction Autosens + Débogage du Script + Utiliser la fonction Autosens ACT CONF BOUCLE @@ -169,17 +169,17 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S OBJ WEAR Raccourcir les titres des onglets - Utiliser delta basé sur moyenne courte - Utile lorsque les données provenant de sources non filtrées comme xDrip+ deviennent incohérentes. + Utiliser delta basé sur moyenne courte + Utile lorsque les données provenant de sources non filtrées comme xDrip+ deviennent incohérentes. Valeur par défaut : 3 Ceci est un paramètre important de sécurité de l’OpenAPS. Ceci va limiter vos débits basal à 3 fois votre débit Basal maximum. Il est probable que vous n’aurez pas besoin de changer cela, mais vous devez être conscient de ce qui est discuté pour les limites de sécurité dans “3x max daily; 4x current”. Valeur par défaut : 4 Ceci est l’autre moitié des paramètres de sécurité limitant l’OpenAPS, et l’autre moitié de “3x max daily, 4x current” des paramètres de sécurité. Quel que soit le basal maximum prédéfini dans votre pompe, il ne pourra pas être plus haut que ce nombre multiplié par le Basal actuel. Ceci est fait pour ne pas mettre l’utilisateur en danger en programmant des débits Basal maximum trop élevés avant de comprendre comment l’algorithme fonctionne. Encore une fois, la valeur par défaut est 4x, la plupart des gens n’auront jamais besoin d’ajuster ce paramètre, plutôt ils auront tendance à ajuster d’autres paramètres s’ils voient qu’ils atteignent ce paramètre de limite de sécurité. Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (et bientôt Autotune) pour définir +20% en limite maximale du ratio Autosens. En consequence, ceci va définir la valeur maximale du Basal pour Autosens, la valeur minimale de la Sensibilité à l\'Insuline (SI), et la valeur minimale de la cible glycémique. Valeur par défaut: 0,7\nL\'autre volet des limites de sécurité de l\'autosens, c\'est de définir une limite basse sur l\'ajustement des débits de basal et une limite haute sur l\'ajustement de la SI et des cibles GLY effectués par l\'autosens. - Autosens ajuste aussi les cibles - Valeur par défaut : true\nCeci est utilisé pour autoriser Autosens à ajuster les cibles de glycémie en plus de SI et les basals. - Valeur par défaut : 2\nBolus snooze est activé apres votre bolus de repas, la boucle ne réagira pas avec des valeurs basses temporaire quand vous venez juste de manger. L’exemple ici et la valeur par défaut est 2 ; donc avec une Durée d\'Action (DIA) de 3 heures signifie que snooze bolus sera graduellement éliminé après 1,5 heures (3DIA/2). - Valeur par défaut : 3.0 (AMA) ou 8.0 (SMB). Il s’agit d’un paramètre décrivant l’absorption des glucides par 5 minutes. La valeur par défaut est de 3mg/dl/5min. Cela influe sur la vitesse calculée de disparition des Glucides Actifs (GA), et comment sera estimée la consommation des glucides pour calculer les valeurs futures de glycémies, lorsque la glycémie chute plus que prévu ou n\'augmente pas autant que calculé. - Attention !\nNormalement vous n\'avez pas à changer les valeurs mentionnées ci-dessous. SVP CLIQUEZ ICI et LISEZ bien le texte. Assurez-vous de bien le COMPRENDRE avant de changer n’importe laquelle de ces valeurs. + Autosens ajuste aussi les cibles + Valeur par défaut : true\nCeci est utilisé pour autoriser Autosens à ajuster les cibles de glycémie en plus de SI et les basals. + Valeur par défaut : 2\nBolus snooze est activé apres votre bolus de repas, la boucle ne réagira pas avec des valeurs basses temporaire quand vous venez juste de manger. L’exemple ici et la valeur par défaut est 2 ; donc avec une Durée d\'Action (DIA) de 3 heures signifie que snooze bolus sera graduellement éliminé après 1,5 heures (3DIA/2). + Valeur par défaut : 3.0 (AMA) ou 8.0 (SMB). Il s’agit d’un paramètre décrivant l’absorption des glucides par 5 minutes. La valeur par défaut est de 3mg/dl/5min. Cela influe sur la vitesse calculée de disparition des Glucides Actifs (GA), et comment sera estimée la consommation des glucides pour calculer les valeurs futures de glycémies, lorsque la glycémie chute plus que prévu ou n\'augmente pas autant que calculé. + Attention !\nNormalement vous n\'avez pas à changer les valeurs mentionnées ci-dessous. SVP CLIQUEZ ICI et LISEZ bien le texte. Assurez-vous de bien le COMPRENDRE avant de changer n’importe laquelle de ces valeurs. Exécution en cours Paramètres pompe virtuelle Remontée des informations vers NS @@ -298,10 +298,10 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S SI dynamique Facteur d\'ajustement Si dynamique % Facteur d\'ajustement pour Si dynamique. Définissez plus de 100 % pour des corrections plus agressives et moins de 100 % pour des corrections moins agressives. - Activer RNS - Activer SMB - Utiliser les Super Micro Bolus au lieu des débits de base temporaires pour une action rapide - Détection des Repas Non Signalés + Activer RNS + Activer SMB + Utiliser les Super Micro Bolus au lieu des débits de base temporaires pour une action rapide + Détection des Repas Non Signalés INVALIDE Pourcentage Décalage horaire @@ -329,12 +329,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Paramètres de téléchargement des glycémies Afficher le delta détaillé Afficher delta avec une décimale supplémentaire - Fréquence des SMB en min - Max. minutes de basal pour limiter le SMB - SMB RNS minutes max - Minutes de basal max pour limiter les SMB des RNS - Glucides minimum requis pour suggestion - Quantité de glucides minimum en g pour afficher une alerte de suggestion de glucides. Les suggestions inférieures ne déclencheront pas de notification. + Fréquence des SMB en min + Max. minutes de basal pour limiter le SMB + SMB RNS minutes max + Minutes de basal max pour limiter les SMB des RNS + Glucides minimum requis pour suggestion + Quantité de glucides minimum en g pour afficher une alerte de suggestion de glucides. Les suggestions inférieures ne déclencheront pas de notification. Transmettre les Gly vers xDrip+ Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de données Glycémie NSClient @@ -356,16 +356,16 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Maximum IA réglé correctement Glycémie disponible depuis la source sélectionnée Erreur administration bolus étendu - Activer en permanence les SMB - Activer toujours SMB de manière autonome pour les bolus. Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 - Activer SMB après ingestion de glucides - Activer SMB pendant 6h après ingestion de glucides, même s’il y a 0 GA (Glucides Actifs). Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 - Activer SMB avec les glucides - Activer SMB tant que des Glucides sont actifs. - Activer SMB avec les cibles temporaires - Activer SMB lorsqu\'il y a une cible temporaire active (repas imminent, exercise) - Activer SMB avec cibles temp hautes - Activer les SMB quand il y a une cible temp haute active (exercise, au dessus de 100 mg/dl ou 5.5 mmol/l) + Activer en permanence les SMB + Activer toujours SMB de manière autonome pour les bolus. Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 + Activer SMB après ingestion de glucides + Activer SMB pendant 6h après ingestion de glucides, même s’il y a 0 GA (Glucides Actifs). Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 + Activer SMB avec les glucides + Activer SMB tant que des Glucides sont actifs. + Activer SMB avec les cibles temporaires + Activer SMB lorsqu\'il y a une cible temporaire active (repas imminent, exercise) + Activer SMB avec cibles temp hautes + Activer les SMB quand il y a une cible temp haute active (exercise, au dessus de 100 mg/dl ou 5.5 mmol/l) Insuline Boutons Envoie un étalonnage à xDrip+ ou ouvre la boîte de dialogue de calibration de BYODA @@ -405,12 +405,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Mode ingénierie actif Pompe n’est pas capable de basals temporaires Mode de Boucle Fermée désactivé dans les préférences - Autosens désactivé dans les préférences - SMB désactivée dans les préférences - Repas Non Signalé (UAM) désactivé dans les préférences + Autosens désactivé dans les préférences + SMB désactivée dans les préférences + Repas Non Signalé (UAM) désactivé dans les préférences Repas Non Signalé (UAM) désactivé car il utilise le plugin Sensibilité de Oref1 - multiplicateur max basal - multiplicateur max basal quotidien + multiplicateur max basal + multiplicateur max basal quotidien Un bolus a été délivré dans les 3 dernières minutes, SMB ignoré Basal correctement configuré Limiter les bolus prolongé à %1$.1f U à cause de %2$s @@ -422,11 +422,11 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Enreg. changement de réservoir SMB toujours et post-ingestion de glucides désactivé car la source de glycémies actuelle ne supporte pas de filtrage avancé SMB non autorisé en mode Boucle Ouverte - IA totale maximale pour OpenAPS [U] - Cette valeur est appelée Max IA (Insuline Active) dans le contaxte OpenAPS\nOpenAPS n’ajoutera pas plus d’insuline si l\'IA (Insuline Active) actuelle est supérieure à cette valeur + IA totale maximale pour OpenAPS [U] + Cette valeur est appelée Max IA (Insuline Active) dans le contaxte OpenAPS\nOpenAPS n’ajoutera pas plus d’insuline si l\'IA (Insuline Active) actuelle est supérieure à cette valeur Durée maximale d’absorption pour un repas [h] Durée où n’importe quel repas est considéré absorbé. Les glucides restants ne seront pas pris en compte. - Valeur glycémique au-dessous de laquelle l\'injection de l\'insuline est suspendu. La valeur par défaut utilise le modèle standard de la cible. L\'utilisateur peut choisir entre 60mg/dl (3.3mmol/l) et 100mg/dl (5.5mmol/l). Les valeurs au-dessous de 65/3.6 déclenchent l\'utilisation du modèle standard + Valeur glycémique au-dessous de laquelle l\'injection de l\'insuline est suspendu. La valeur par défaut utilise le modèle standard de la cible. L\'utilisateur peut choisir entre 60mg/dl (3.3mmol/l) et 100mg/dl (5.5mmol/l). Les valeurs au-dessous de 65/3.6 déclenchent l\'utilisation du modèle standard Affiche les notes dans les dialogues Suivant Préc @@ -449,7 +449,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Autoriser connexion données itinérance Maximum Ratio Autosens Minimum Ratio Autosens - Snooze bolus Diviseur de DAI + Snooze bolus Diviseur de DAI Multiplicateur max quotidien de sécurité Multiplicateur de sécurité basale courante Type de pompe virtuelle @@ -505,7 +505,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Supprimer les logs Le traitement (insuline : %1$.2f, glucides : %2$d, à : %3$s) n\'a pas pu être ajouté aux traitements. Vérifiez et ajoutez SVP manuellement ce traitement. eCarbs : %1$d g (%2$d h), retard : %3$d m - Pas de données d\'Autosens disponibles + Pas de données d\'Autosens disponibles Fichiers log Divers Paramètres journal @@ -544,7 +544,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S !!!!! Absorption lente des glucides détectée : %2$d%% du temps. Vérifiez de nouveau votre calcul. Les GA (Glucides Actifs) peuvent être surestimés et alors plus d\'insuline pourrait être délivré !!!!!]]> Injecter ce pourcentage du bolus calculé par l’assistant [%] L\'assistant bolus effectue le calcul mais seulement ce pourcentage de l\'insuline calculée est délivré. Utile avec l\'algorithme SMB. - Augmentation de la valeur du débit Basal max parce que ce paramètre est inférieur au débit Basal max de votre profil + Augmentation de la valeur du débit Basal max parce que ce paramètre est inférieur au débit Basal max de votre profil Sélectionné : Unités Refaire l\'objectif diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 53a6bd7961..33d10123fe 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -6,7 +6,7 @@ Sicurezza trattamenti Max bolo consentito [U] Max CHO consentiti [g] - Glicemia sotto la quale si attiva la sospensione per glicemia bassa + Glicemia sotto la quale si attiva la sospensione per glicemia bassa %1$s Preferenze Preferenze Aggiorna trattamenti da NS @@ -36,16 +36,16 @@ Monitora e controlla AAPS usando il tuo smartwatch WearOS. Esegui ora MICRO VIRTUALE - Ultima esecuzione - Parametri di input - Stato glicemia - Temp. corrente - Dati IOB + Ultima esecuzione + Parametri di input + Stato glicemia + Temp. corrente + Dati IOB Profilo - Dati pasto + Dati pasto Risultato Risultato: %1$s %2$s - Dati glicemia non disponibili + Dati glicemia non disponibili Richiesta Delta Configuratore strutturale @@ -97,10 +97,10 @@ File non trovato Esporta impostazioni Importa impostazioni - Max U/h a cui limitare una basale temporanea - Questo valore è chiamato max basale nel contesto OpenAPS - Max IOB da basale a cui limitare OpenAPS [U] - Questo valore è chiamato Max IOB nel contesto OpenAPS\nIndica l\'insulina massima in [U] che APS può erogare in contemporanea. + Max U/h a cui limitare una basale temporanea + Questo valore è chiamato max basale nel contesto OpenAPS + Max IOB da basale a cui limitare OpenAPS [U] + Questo valore è chiamato Max IOB nel contesto OpenAPS\nIndica l\'insulina massima in [U] che APS può erogare in contemporanea. Ti verrà richiesta la password master, che verrà usata per crittografare le preferenze esportate. Ti verrà chiesta la password master, che è necessaria per decrittare le preferenze importate. Esportazione annullata! Le preferenze NON sono state esportate! @@ -155,8 +155,8 @@ OpenAPS AMA Matrice di %1$d elementi.\nValore attuale: Dati autosens - Script debug - Usa la funzione Autosens + Script debug + Usa la funzione Autosens AZN CONF LOOP @@ -168,17 +168,17 @@ OBT SMWA Accorcia titoli schede - Usa sempre il delta medio ridotto - Utile quando i dati provenienti da sorgenti non filtrate come xDrip+ diventano \"rumorosi\" (instabili). + Usa sempre il delta medio ridotto + Utile quando i dati provenienti da sorgenti non filtrate come xDrip+ diventano \"rumorosi\" (instabili). [Valore predefinito: 3] Questo è un parametro di sicurezza chiave in OpenAPS. Ciò che fa è limitare le tue basali a essere 3 volte, al più, la tua velocità basale massima. Probabilmente non avrai bisogno di cambiare questo valore, ma dovresti essere consapevole di cosa significa il gruppo di parametri \"3x max giornaliera; 4x corrente\" e per quali motivi di sicurezza siano stati impostati tali valori. [Valore predefinito: 4] Questo è un ulteriore parametro di sicurezza chiave in OpenAPS. La tua basale temporanea, indipendentemente dalla basale massima impostata sul micro, non può mai essere più alta di questo valore moltiplicato per la tua basale corrente in ogni specifico momento. Questo serve a impedire alle persone di addentrarsi in \"territori pericolosi\" impostando basali massime eccessivamente alte prima di aver capito come funziona l\'algoritmo. Ancora una volta, il valore predefinito è 4x; la maggior parte delle persone non avrà bisogno di modificare questo valore e avrà, invece, maggiori probabilità di dover regolare altre impostazioni se ha la sensazione di \"scontrarsi\" con questo limite di sicurezza. [Valore predefinito: 1.2]\nQuesto è un moltiplicatore di sicurezza per autosens (e presto autotune) per impostare un limite massimo del 20%% (col valore predefinito) su quanto alto può essere il rapporto di autosens, che a sua volta determina quanto in alto autosens può regolare le basali, quanto in basso può regolare ISF e quanto in basso può impostare il target glicemico. [Valore predefinito: 0.7]\nUn altro limite di sicurezza di autosens, imposta un blocco a quanto in basso autosens può regolare le basali e a quanto in alto può regolare ISF e target glicemici. - Autosens regola anche i target - [Valore predefinito: vero]\nViene usato per consentire ad autosens di regolare i target glicemici, in aggiunta a ISF e basali. - [Valore predefinito: 2]\nBolus snooze è attivato dopo un bolo pasto per fare in modo che il loop non imposti basali temporanee basse quando hai appena mangiato. AndroidAPS non imposterà velocità basali troppo basse nel periodo corrispondente a DIA diviso il parametro bolus snooze - divisore DIA. Con DIA di 3 ore \"bolus snooze\" durerà 1.5 ore (3/2). - [Valore predefinito: 3.0 (AMA) o 8.0 (SMB)]. Questa è un\'impostazione per l\'impatto di assorbimento predefinito dei carboidrati in 5 minuti. L\'impostazione predefinita è una previsione di 3mg/dl/5min. Ha effetto sulla velocità di decadimento dei COB (carboidrati attivi) e su quanto il loro assorbimento incide nella previsione dell’andamento glicemico, quando la glicemia sta scendendo più del previsto o non sta salendo quanto previsto. - Attenzione!\nNormalmente non dovresti modificare questi valori. FAI CLICK QUI e leggi il testo e assicurati di AVERLO CAPITO prima di cambiare uno di questi valori. + Autosens regola anche i target + [Valore predefinito: vero]\nViene usato per consentire ad autosens di regolare i target glicemici, in aggiunta a ISF e basali. + [Valore predefinito: 2]\nBolus snooze è attivato dopo un bolo pasto per fare in modo che il loop non imposti basali temporanee basse quando hai appena mangiato. AndroidAPS non imposterà velocità basali troppo basse nel periodo corrispondente a DIA diviso il parametro bolus snooze - divisore DIA. Con DIA di 3 ore \"bolus snooze\" durerà 1.5 ore (3/2). + [Valore predefinito: 3.0 (AMA) o 8.0 (SMB)]. Questa è un\'impostazione per l\'impatto di assorbimento predefinito dei carboidrati in 5 minuti. L\'impostazione predefinita è una previsione di 3mg/dl/5min. Ha effetto sulla velocità di decadimento dei COB (carboidrati attivi) e su quanto il loro assorbimento incide nella previsione dell’andamento glicemico, quando la glicemia sta scendendo più del previsto o non sta salendo quanto previsto. + Attenzione!\nNormalmente non dovresti modificare questi valori. FAI CLICK QUI e leggi il testo e assicurati di AVERLO CAPITO prima di cambiare uno di questi valori. Esecuzione Impostazioni micro virtuale Carica stato in NS @@ -297,10 +297,10 @@ ISF Dinamico Fattore di regolazione per ISF Dinamico (%) Fattore di regolazione per ISF Dinamico. Imposta più del 100% per dosi di correzione più aggressive e meno del 100% per correzioni meno aggressive. - Abilita UAM - Abilita SMB - Usa super-micro-boli al posto della basale temporanea per un\'azione più veloce - Rilevamento dei pasti non annunciati + Abilita UAM + Abilita SMB + Usa super-micro-boli al posto della basale temporanea per un\'azione più veloce + Rilevamento dei pasti non annunciati NON VALIDO Percentuale Time shift @@ -328,12 +328,12 @@ Impostazioni caricamento BG Mostra delta dettagliato Mostra delta con una cifra decimale in più - Frequenza erogazione SMB (min) - Max minuti di basale a cui limitare SMB - SMB UAM max minuti - Max minuti di basale a cui limitare SMB per UAM - CHO minimi richiesti per il suggerimento - Quantità minima di carboidrati (in grammi) necessaria per visualizzare un avviso di suggerimento CHO. Al di sotto di questo numero non verrà attivata alcuna notifica. + Frequenza erogazione SMB (min) + Max minuti di basale a cui limitare SMB + SMB UAM max minuti + Max minuti di basale a cui limitare SMB per UAM + CHO minimi richiesti per il suggerimento + Quantità minima di carboidrati (in grammi) necessaria per visualizzare un avviso di suggerimento CHO. Al di sotto di questo numero non verrà attivata alcuna notifica. Invia dati BG a xDrip+ In xDrip+ seleziona origine dati 640g/Eversense BG NSClient @@ -355,16 +355,16 @@ Max IOB impostata correttamente BG disponibile da sorgente selezionata Errore erogazione bolo esteso - Abilita SMB sempre - Abilita SMB sempre, indipendentemente dai boli. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 - Abilita SMB dopo i CHO - Abilita SMB per 6h dopo i carboidrati, anche con 0 COB. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 - Abilita SMB con COB - Abilita SMB quando COB è attivo (ci sono carboidrati non assorbiti). - Abilita SMB con target temporanei - Abilita SMB quando è attivo un target temporaneo (pasto a breve, attività fisica) - Abilita SMB con target temporanei \"alti\" - Abilita SMB quando è attivo un target temporaneo \"alto\" (attività fisica, sopra 100 mg/dl o 5.5 mmol/l) + Abilita SMB sempre + Abilita SMB sempre, indipendentemente dai boli. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 + Abilita SMB dopo i CHO + Abilita SMB per 6h dopo i carboidrati, anche con 0 COB. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 + Abilita SMB con COB + Abilita SMB quando COB è attivo (ci sono carboidrati non assorbiti). + Abilita SMB con target temporanei + Abilita SMB quando è attivo un target temporaneo (pasto a breve, attività fisica) + Abilita SMB con target temporanei \"alti\" + Abilita SMB quando è attivo un target temporaneo \"alto\" (attività fisica, sopra 100 mg/dl o 5.5 mmol/l) Insulina Tasti Invia una calibrazione a xDrip+ o apre la finestra di calibrazione di BYODA @@ -404,12 +404,12 @@ Engineering mode abilitata Micro non in grado di impostare la basale temporanea Modalità loop chiuso disabilitata nelle preferenze - Autosens disabilitato nelle preferenze - SMB disabilitato nelle preferenze - UAM disabilitato nelle preferenze + Autosens disabilitato nelle preferenze + SMB disabilitato nelle preferenze + UAM disabilitato nelle preferenze UAM disabilitato perché il plugin di sensibilità Oref1, dal quale UAM dipende, non è abilitato - moltiplicatore max basale - moltiplicatore max basale giornaliera + moltiplicatore max basale + moltiplicatore max basale giornaliera Un bolo è stato erogato negli ultimi 3 minuti, SMB ignorato Basale impostata correttamente Limitazione bolo esteso a %1$.1f U a causa di: %2$s @@ -421,11 +421,11 @@ Registra cambio cartuccia insulina Le funzioni \"SMB sempre\" e \"SMB dopo i CHO\" sono disabilitate perché l\'attuale sorgente delle glicemie non supporta il filtraggio avanzato SMB non consentito in modalità loop aperto - Max IOB totale a cui limitare OpenAPS [U] - Questo valore è chiamato Max IOB nel contesto OpenAPS\nOpenAPS non aggiungerà ulteriore insulina se IOB corrente è maggiore di questo valore + Max IOB totale a cui limitare OpenAPS [U] + Questo valore è chiamato Max IOB nel contesto OpenAPS\nOpenAPS non aggiungerà ulteriore insulina se IOB corrente è maggiore di questo valore Max tempo assorbimento pasto [h] Tempo entro il quale ogni pasto si considera assorbito. Eventuali carboidrati rimanenti verranno tagliati fuori. - Glicemia sotto la quale l\'erogazione d\'insulina è sospesa. Il valore predefinito utilizza il modello target standard. L\'utente può impostare un valore compreso tra 60 mg/dl (3.3mmol/l) e 100mg/dl (5.5mmol/l). Con valori inferiori a 65/3.6 viene usato il modello predefinito + Glicemia sotto la quale l\'erogazione d\'insulina è sospesa. Il valore predefinito utilizza il modello target standard. L\'utente può impostare un valore compreso tra 60 mg/dl (3.3mmol/l) e 100mg/dl (5.5mmol/l). Con valori inferiori a 65/3.6 viene usato il modello predefinito Finestre tratt.nto: mostra campo note Avanti Indietro @@ -448,7 +448,7 @@ Consenti connessione in roaming Max rapporto autosens Min rapporto autosens - Bolus snooze - divisore DIA + Bolus snooze - divisore DIA Moltiplicatore di sicurezza max basale giornaliera Moltiplicatore di sicurezza basale corrente Tipo micro virtuale @@ -504,7 +504,7 @@ Elimina log Un trattamento (insulina: %1$.2f, carboidrati: %2$d, a: %3$s) non può essere aggiunto ai trattamenti. Controlla e aggiungi il record necessario. eCarbs: %1$d g (%2$d h), ritardo: %3$d m - Nessun dato autosens disponibile + Nessun dato autosens disponibile File di log Miscellanea Impostazioni Log @@ -543,7 +543,7 @@ !!!!! Rilevato assorbimento lento dei carboidrati: %2$d%% del tempo. Ricontrolla il tuo calcolo. COB potrebbero essere sovrastimati e potrebbe essere somministrata più insulina !!!!!]]> Eroga parte del risultato del calcolatore [%] Il calcolatore esegue il calcolo, ma solo questa parte dell\'insulina calcolata è erogata. Utile con algoritmo SMB. - Aumento del valore max basale perché l\'impostazione è inferiore alla tua basale massima nel profilo + Aumento del valore max basale perché l\'impostazione è inferiore alla tua basale massima nel profilo Selezionato: Unità Cancella completamento diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 9e910eb36c..9fcd81363b 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -6,7 +6,7 @@ בטיחות טיפולים בולוס מקסימלי מותר [U] מקסימום פחמימות מותר [g] - רמת הסוכר נמוכה מסף ההשהיה עקב סוכר נמוך + רמת הסוכר נמוכה מסף ההשהיה עקב סוכר נמוך העדפות %1$s העדפות רענן טיפול מ-Nightscout @@ -35,16 +35,16 @@ שמירת כלל הטיפולים שנעשו בצע משאבה וירטואלית - ההפעלה האחרונה - טוען פרמטרים - מצב סוכר - בזאלי זמני נוכחי - נתוני אינסולין פעיל + ההפעלה האחרונה + טוען פרמטרים + מצב סוכר + בזאלי זמני נוכחי + נתוני אינסולין פעיל פרופיל - נתוני ארוחה + נתוני ארוחה תוצאה תוצאה: %1$s %2$s - אין ערכי סוכר זמינים + אין ערכי סוכר זמינים בקשה דלתא בונה התצורה @@ -92,10 +92,10 @@ הקובץ לא נמצא ייצא הגדרות ייבוא הגדרות - מינון בזאלי זמני מקסימלי (יח\'\\שעה) - ערך זה נקרא בזאלי מרבי ב-OpenAPS - בזאלי פעיל מרבי ש-OpenAPS יכול לספק (יחידות) - ערך זה נקרא אינסולין פעיל מקסימלי (Max IOB) ב-OpenAPS. זהו מקסימום האינסולין הפעיל ב-[U] ש-APS מאפשר. + מינון בזאלי זמני מקסימלי (יח\'\\שעה) + ערך זה נקרא בזאלי מרבי ב-OpenAPS + בזאלי פעיל מרבי ש-OpenAPS יכול לספק (יחידות) + ערך זה נקרא אינסולין פעיל מקסימלי (Max IOB) ב-OpenAPS. זהו מקסימום האינסולין הפעיל ב-[U] ש-APS מאפשר. אתם תתבקשו למלא סיסמה ראשית שתשמש להצפנת ההעדפות המיוצאות. אתם תתבקשו למלא סיסמה ראשית שתשמש לפיענוח ההעדפות המיובאות. ייצוא בוטל! ההגדרות לא יוצאו! @@ -150,8 +150,8 @@ OpenAPS AMA מערך של %1$d אלמנטים. \n ערך נוכחי: נתוני חישוב רגישות אוטו\' - תיקון באגים בסקריפט - אפשר חישוב רגישות אוטומטי (Autosens) + תיקון באגים בסקריפט + אפשר חישוב רגישות אוטומטי (Autosens) ACT CONF לולאה @@ -163,17 +163,17 @@ OBJ WEAR קצר את כותרות הלשוניות - התבסס על הפרש ממוצע קצר במקום הפרש פשוט\\רגיל - לשימוש כאשר נתונים ממקור לא מפוקח כמו xDrip אינם יציבים. + התבסס על הפרש ממוצע קצר במקום הפרש פשוט\\רגיל + לשימוש כאשר נתונים ממקור לא מפוקח כמו xDrip אינם יציבים. ערך ברירת מחדל: 3 מנגנון הגנה עיקרי של OpenAPS. מגביל את המינון הבזאלי לעד פי 3 מהמינון הבזאלי הגבוה ביותר שהוגדר. ברוב המקרים אין צורך לשנות ערך זה, אך יש לזכור שזו המשמעות של “3x max daily; 4x current” בדיון על מנגנוני הגנה. ערך ברירת מחדל: 4 זהו החצי השני של מנגנון הגנה עיקרי של OpenAPS, והחצי השני של \"3x max daily; 4x current\" במנגנוני ההגנה. המשמעות היא שהמינון הבזאלי, ללא קשר למקסימום שנקבע במשאבה, אינו יכול להיות גבוה יותר ממספר זה כפול הקצב הבזאלי הנוכחי. מיועד למנוע כניסה לתחומים מסוכנים ע\"י קביעת קצב בזאלי גבוה לפני הבנה של פעולת האלגוריתם. שוב: ברירת המחדל היא x4, רוב המשתמשים לעולם אינם צריכים לשנות ערך זה ואם הם מרגישים שמנגנון הגנה זה מפריע להם, הפתרון הוא בשינוי של הגדרות אחרות. ערך ברירת מחדל: 1.2\nזוהי מגבלת המכפיל של Autosens (ובקרוב Autotune) שמגדירה 20% כיחס מקסימלי של autosens, אשר קובע בתורו את גובה הבזאלי המקסימלי, גובהו המינימלי של יחס התיקון, ואת המינימום של ערכי המטרה האפשריים. ערך ברירת מחדל: 0.7\nבצד השני של מגבלות הבטיחות של Autosens, ערך זה מגביל את יכולתו של autosens להוריד את הערכים הבזאליים ועד כמה יכול להעלות את יחס התיקון ואת ערכי מטרת הסוכר בדם. - וויסות ערכי מטרה ע\"י Autosens - ערך ברירת מחדל: התאמה מדויקת\n נועד לאפשר ל-Autosens לשנות את המטרה של ערכי הסוכר, בנוסף ליחס התיקון והבזאלים. - ערך ברירת מחדל: 2\n מעכב בולוס מופעל אחרי שאתם מזריקים בולוס ארוחה, כך שהלולאה לא תפצה ע\"י בזאלי זמני נמוך אחרי הארוחה. הדוגמה כאן וברירת המחדל היא 2; כך שהגדרה של משך פעילות אינסולין של 3 שעות משמעה שהעיכוב יחלוף בהדרגה בתוך 1.5 שעות (3 ש\' לחלק ל-2). - ערך ברירת מחדל: 3.0 (AMA) או 8.0 (SMB). זוהי הגדרת ברירת מחדל להשפעת פחמימות על הסוכר בדם ב-5 דקות. ברירת המחדל היא 3mg/dL/5min. פעולה זו משפיעה על קצב הדעיכה של פחמ\' פעילות, ועל הנחת קצב ספיגת הפחמ\' בחישוב רמות סוכר עתידיות כשהן בירידה מהירה מהצפוי או עליה איטית מהצפוי. - שימו לב!\nבדרך כלל אינכם צריכים לשנות את הערכים שלהלן. נא ללחוץ כאן, לקרוא את הטקסט ולוודא שאתם מבינים אותו לפני שתשנו ערכים אלה. + וויסות ערכי מטרה ע\"י Autosens + ערך ברירת מחדל: התאמה מדויקת\n נועד לאפשר ל-Autosens לשנות את המטרה של ערכי הסוכר, בנוסף ליחס התיקון והבזאלים. + ערך ברירת מחדל: 2\n מעכב בולוס מופעל אחרי שאתם מזריקים בולוס ארוחה, כך שהלולאה לא תפצה ע\"י בזאלי זמני נמוך אחרי הארוחה. הדוגמה כאן וברירת המחדל היא 2; כך שהגדרה של משך פעילות אינסולין של 3 שעות משמעה שהעיכוב יחלוף בהדרגה בתוך 1.5 שעות (3 ש\' לחלק ל-2). + ערך ברירת מחדל: 3.0 (AMA) או 8.0 (SMB). זוהי הגדרת ברירת מחדל להשפעת פחמימות על הסוכר בדם ב-5 דקות. ברירת המחדל היא 3mg/dL/5min. פעולה זו משפיעה על קצב הדעיכה של פחמ\' פעילות, ועל הנחת קצב ספיגת הפחמ\' בחישוב רמות סוכר עתידיות כשהן בירידה מהירה מהצפוי או עליה איטית מהצפוי. + שימו לב!\nבדרך כלל אינכם צריכים לשנות את הערכים שלהלן. נא ללחוץ כאן, לקרוא את הטקסט ולוודא שאתם מבינים אותו לפני שתשנו ערכים אלה. מבצע הגדרות משאבה וירטואלית טוען מצב ל-Nightscout @@ -291,10 +291,10 @@ רגישות דינאמית כיוונון פקטור הרגישות הדינאמית % כיוונון פקטור הרגישות הדינאמית. הגדירו יותר מ-100% לקבלת תיקונים אגרסיביים יותר ופחות מ-100% לקבלת תיקונים עדינים יותר. - הפעלת UAM - אפשר SMB - השתמש בסופר מיקרו בולוסים במקום בבזאלי זמני לפעילות מהירה יותר - זיהוי של ארוחות לא מוכרזות + הפעלת UAM + אפשר SMB + השתמש בסופר מיקרו בולוסים במקום בבזאלי זמני לפעילות מהירה יותר + זיהוי של ארוחות לא מוכרזות לא חוקי אחוזים היסט זמן @@ -322,12 +322,12 @@ הגדרות העלאת ערכי סוכר בדם הצגת דלתא מפורטת הצגת דלתא עם עוד נק\' עשרונית אחת - תדירות מתן SMB בדקות - מקסימום הדקות של בזאלי אליו SMB מוגבל - מקס\' דקות של SMB UAM - מקס\' דקות של בזאלי להגבלת SMB לארוחות לא מוכרזות - סף מינ\' הפחמימות הנדרשות להצעה - כמות הפחמ\' המינימלית (גר\') הדרושה כדי שתוצג התראה על הצעת פחמימות. לא תוצגנה התראות על הצעות הנמוכות מכמות זו. + תדירות מתן SMB בדקות + מקסימום הדקות של בזאלי אליו SMB מוגבל + מקס\' דקות של SMB UAM + מקס\' דקות של בזאלי להגבלת SMB לארוחות לא מוכרזות + סף מינ\' הפחמימות הנדרשות להצעה + כמות הפחמ\' המינימלית (גר\') הדרושה כדי שתוצג התראה על הצעת פחמימות. לא תוצגנה התראות על הצעות הנמוכות מכמות זו. שליחת נתוני סוכר אל xDrip ב-xDrip בחרו 640g/Eversense כמקור נתונים נתוני סוכר מ-NSClient @@ -349,16 +349,16 @@ ערך IOB מקסימלי הוגדר כראוי ערכי סוכר זמינים מהמקור הנבחר שגיאה במתן הבולוס הממושך - הפעל SMB תמיד - אפשר SMB תמיד באופן עצמאי מבולוסים. אפשרי רק עם מקור ערכי סוכר עם דיוק של נתונים כמו G5 - הפעל SMB אחרי פחמימות - הפעלת SMB במשך 6 ש\' אחרי פחמימות, גם אם אין פחמ\' פעילות. אפשרי רק עם מקור ערכי סוכר עם דיוק נתונים כמו G5 - הפעלת SMB עם פחמ\' פעילות - הפעלת SMB כשיש פחמ\' פעילות. - הפעלת SMB עם ערכי מטרה זמניים - הפעלת SMB כאשר יש ערך מטרה זמני פעיל (אכילה בקרוב, פעילות גופנית) - הפעלת SMB עם ערכי מטרה גבוהים - הפעלת SMB כאשר יש ערך מטרה זמני גבוה פעיל (פעילות, מעל 100 mg/dl או 5.5 mmol/l) + הפעל SMB תמיד + אפשר SMB תמיד באופן עצמאי מבולוסים. אפשרי רק עם מקור ערכי סוכר עם דיוק של נתונים כמו G5 + הפעל SMB אחרי פחמימות + הפעלת SMB במשך 6 ש\' אחרי פחמימות, גם אם אין פחמ\' פעילות. אפשרי רק עם מקור ערכי סוכר עם דיוק נתונים כמו G5 + הפעלת SMB עם פחמ\' פעילות + הפעלת SMB כשיש פחמ\' פעילות. + הפעלת SMB עם ערכי מטרה זמניים + הפעלת SMB כאשר יש ערך מטרה זמני פעיל (אכילה בקרוב, פעילות גופנית) + הפעלת SMB עם ערכי מטרה גבוהים + הפעלת SMB כאשר יש ערך מטרה זמני גבוה פעיל (פעילות, מעל 100 mg/dl או 5.5 mmol/l) אינסולין מקשים שולח כיול ל- xDrip או פותח את חלון הכיול של אפליקציית Dexcom @@ -398,12 +398,12 @@ מצב הנדסה מופעל המשאבה אינה מסוגלת לבצע בזאלי זמני מצב לולאה סגור מושבת בהעדפות - Autosens מושבת בהעדפות - SMB מושבת בהעדפות - UAM מושבת בהעדפות + Autosens מושבת בהעדפות + SMB מושבת בהעדפות + UAM מושבת בהעדפות UAM מושבת מפני שהוא מסתמך על תוסף רגישות של Oref1 - מכפלת בזאלי מרבי - מכפלת בזאלי יומי מרבי + מכפלת בזאלי מרבי + מכפלת בזאלי יומי מרבי ניתן בולוס ב-3 הדקות האחרונות, מדלג על SMB הבזאלי הוגדר כהלכה הגבלת בולוס ממושך ל- %1$.1f יח\' בגלל %2$s @@ -415,11 +415,11 @@ רשום החלפת מכל אינסולין SMB תמידי ו-SMB לאחר פחמימות מושבתים כיוון שמקור ערכי הסוכר הפעיל אינו תומך בסינון נתונים מתקדם SMB אינו פעיל במצב לולאה פתוחה - מינון אינסולין פעיל מרבי ממנו OpenAPS לא יחרוג (יחידות) - ב-OpenAPS ערך זה נקרא מקסימום אינסולין פעיל (maxIOB). \nלא יוזרק עוד אינסולין אם כמות האינסולין הפעיל הנוכחי גדול מערך זה + מינון אינסולין פעיל מרבי ממנו OpenAPS לא יחרוג (יחידות) + ב-OpenAPS ערך זה נקרא מקסימום אינסולין פעיל (maxIOB). \nלא יוזרק עוד אינסולין אם כמות האינסולין הפעיל הנוכחי גדול מערך זה זמן ספיגה מקסימלי של הארוחה [h] משך זמן בו כל ארוחה תחשב כנספגה. לא תהיה התחשבות בפחמימות שנותרו. - ערך הסוכר שמתחתיו מושעה הזרקת אינסולין. ערך ברירת המחדל משתמש במודל מטרה סטנדרטי. המשתמש יכול להגדיר ערך בין 60 ל-100 מג\"\\ד\"ל. ערכים מתחת ל-65 מביאים לשימוש במודל ברירת המחדל + ערך הסוכר שמתחתיו מושעה הזרקת אינסולין. ערך ברירת המחדל משתמש במודל מטרה סטנדרטי. המשתמש יכול להגדיר ערך בין 60 ל-100 מג\"\\ד\"ל. ערכים מתחת ל-65 מביאים לשימוש במודל ברירת המחדל הצגת שדות הערות בתיבות דו-שיח של טיפול הבא הקודם @@ -442,7 +442,7 @@ אפשר חיבור בנדידה יחס Autosens מקסימלי יחס Autosens מינימלי - נמנום בולוס - מחלק משך פעילות אינסולין + נמנום בולוס - מחלק משך פעילות אינסולין מכפלת בטיחות בזאלי יומי מרבי מכפלת בטיחות בזאלי נוכחי סוג משאבה וירטואלית @@ -496,7 +496,7 @@ מחק רישומים לא ניתן להוסיף טיפול (אינסולין: %1$.2f, פחמ\': %2$d, בשעה: %3$s) לטיפולים. נא לבדוק ולהוסיף רשומה באופן ידני כנדרש. פחמימות ממושכות: %1$d גר\' (%2$d ש\'), עיכוב %3$d דק\' - אין נתוני Autosens זמינים + אין נתוני Autosens זמינים קבצי יומן שונות הגדרות יומן רישום @@ -534,7 +534,7 @@ !!!!!! זוהתה ספיגת פחמימות איטית: %2$d%% מהזמן הצפוי. הערכת כמות הפחמימות הפעילות עלולה להיות ביתר ולכן תיתכן הזרקת אינסולין עודפת !!!!!!]]> ספק את חלק זה מתוצאת אשף הבולוס [%] אשף הבולוס מבצע חישוב אך רק חלק זה של האינסולין המחושב מוזרק. שימושי בשימוש עם אלגוריתם SMB. - מגדיל את ערך מקסימום הבזאלי מפני שהוא נמוך מערכו המרבי בפרופיל + מגדיל את ערך מקסימום הבזאלי מפני שהוא נמוך מערכו המרבי בפרופיל נבחר: יחידות ביטול השלמה diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index d11f69e36c..75b90eaf29 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -33,16 +33,16 @@ 모든 관리를 저장합니다. 지금 실행 가상 펌프 - 최근 실행 - 입력 변수 - 혈당 상태 - 현재 임시기초 - IOB 데이터 + 최근 실행 + 입력 변수 + 혈당 상태 + 현재 임시기초 + IOB 데이터 프로파일 - 식사 데이터 + 식사 데이터 결과 결과: %1$s %2$s - 혈당 데이터 없음 + 혈당 데이터 없음 요청 증분 구성 관리자 @@ -88,10 +88,10 @@ 파일을 찾을 수 없습니다 설정 저장하기 설정 불러오기 - 임시 Basal 최대량 [U/h] - 이 값은 OpenAPS에서 Max Basal(최대 Basal)로 설정되는 값입니다 - OpenAPS가 주입할수 있는 최대 Basal IOB [U] - 이 값은 OpenAPS에서 Max IOB라고 부르는 값입니다\n기본값은 0으로 설정되어 있습니다. 몇일 혹은 몇주 정도 사용 후 적절한 값으로 변경할 수 있습니다. + 임시 Basal 최대량 [U/h] + 이 값은 OpenAPS에서 Max Basal(최대 Basal)로 설정되는 값입니다 + OpenAPS가 주입할수 있는 최대 Basal IOB [U] + 이 값은 OpenAPS에서 Max IOB라고 부르는 값입니다\n기본값은 0으로 설정되어 있습니다. 몇일 혹은 몇주 정도 사용 후 적절한 값으로 변경할 수 있습니다. 내보낸 preferences 암호화 하기 위해 마스터 비밀번호가 필요합니다. 내보낸 preferences를 가져오기 위해서는 마스터 비밀번호가 필요합니다. 내보내기 취소됩니다! 환경 설정을 내보내지 않았습니다! @@ -145,8 +145,8 @@ OpenAPS AMA %1$d 요소의 배열.\n실제 값: Autosens 정보 - 스크립트 디버그 - Autosens 기능 사용 + 스크립트 디버그 + Autosens 기능 사용 ACT CONF LOOP @@ -157,17 +157,17 @@ OBJ WEAR 탭 이름 단축 - 단순증분값 대신 단기평균증분값을 항상 사용합니다. - xDrip+처럼 필터링되지 않은 혈당 출처에서 받은 데이터의 노이즈가 심할 경우 유용함. + 단순증분값 대신 단기평균증분값을 항상 사용합니다. + xDrip+처럼 필터링되지 않은 혈당 출처에서 받은 데이터의 노이즈가 심할 경우 유용함. 기본값: 3\n이 값은 중요한 OpenAPS 안전장치입니다. 이 값의 역할은 펌프에 설정되어 있는 최대Basal보다 3배를 초과할 수 없게 제한하는 것입니다. 이 값을 변경할 필요는 없을 것이지만, 안전을 위해 \"3x max daily; 4x current\"이 의미하는 바를 알고 있어야 합니다. 기본값: 4\n이 값은 \"3x max daily; 4x current\"의 나머지 절반에 해당하는 또 다른 중요한 OpenAPS 안전장치입니다. 이것은, 펌프에 설정된 최대 Basal과는 관계없이, Basal이 설정된 현재시간의 Basal에 이 값을 곱한 양을 초과할 수 없다는 것을 의미합니다. 이는 알고리즘의 작동 방식을 이해하기 전에 과도하게 높은 최대 기본을 설정하여 위험한 상황에 빠지지 않도록 보호하기 위한 것입니다. 다시한번, 기본 값은 4배인 것을 알아두세요; 일반적으로 이것을 조정할 필요는 전혀 없으며, 대신 이 안전장치를 변경해야할것처럼 생각이 된다면, 다른 설정을 변경해야 할 가능성이 더 큽니다. 기본값: 1.2\n이 옵션은 autosens의 최대 한계 값을 20%%로 제한하기 위해 autosens(곧 autotune)이 이용하는 승수값입니다. 이 값이 autosens에 대한 Basal의 최대 값, 인슐린 민감도(ISF)의 최소값 및 혈당 목표의 최소값을 결정케 합니다. 기본값: 0.7\nautosens 안전 제한의 나머지 부분입니다. 이는 Basal을 얼마나 낮게 조절할 수 있는지, ISF와 혈당 목표범위를 얼마나 높게 설정할 수 있는지를 결정합니다. - Autosens가 목표값도 조절합니다. - 기본값: 활성\n이것은 autosens가 ISF와 Basal뿐만 아니라, 혈당 목표범위를 조절할 수 있게 합니다. - 기본값: 2\n식사주입 후 Bolus snooze가 수행되게 되고, 따라서 식사주입 직후엔 loop가 low temp에 대응하지 않게 됩니다. 기본값이 2일때 예제는 다음과 같습니다; DIA가 3시간일 경우 bolus snooz는 점차적으로 1.5시간에 걸쳐 단계적으로 사라지게 됩니다.(3DIA/2). - 기본값: 3.0 (AMA) 또는 8.0 (SMB). 5분당 탄수화물이 얼만큼 흡수되었는지에 대한 기본값 설정입니다. 기본값은 3mg/dl / 5분 입니다. 이는 혈당이 예상보다 빨리 떨어지거나 혹은 예상보다 오르지 않을때, COB가 얼마나 빨리 사라지게 되는지에 영향을 주게 되고, 추정된 탄수화물 흡수량이 미래 혈당 예측 계산시에도 영향을 주게 됩니다. - 주의!\n보통의 경우 아래의 값을 변경하면 안됩니다. 이 값들을 변경하기 전에 반드시 이곳을 클릭하고 글을 정독해서 확실하게 이해를 하여야 합니다. + Autosens가 목표값도 조절합니다. + 기본값: 활성\n이것은 autosens가 ISF와 Basal뿐만 아니라, 혈당 목표범위를 조절할 수 있게 합니다. + 기본값: 2\n식사주입 후 Bolus snooze가 수행되게 되고, 따라서 식사주입 직후엔 loop가 low temp에 대응하지 않게 됩니다. 기본값이 2일때 예제는 다음과 같습니다; DIA가 3시간일 경우 bolus snooz는 점차적으로 1.5시간에 걸쳐 단계적으로 사라지게 됩니다.(3DIA/2). + 기본값: 3.0 (AMA) 또는 8.0 (SMB). 5분당 탄수화물이 얼만큼 흡수되었는지에 대한 기본값 설정입니다. 기본값은 3mg/dl / 5분 입니다. 이는 혈당이 예상보다 빨리 떨어지거나 혹은 예상보다 오르지 않을때, COB가 얼마나 빨리 사라지게 되는지에 영향을 주게 되고, 추정된 탄수화물 흡수량이 미래 혈당 예측 계산시에도 영향을 주게 됩니다. + 주의!\n보통의 경우 아래의 값을 변경하면 안됩니다. 이 값들을 변경하기 전에 반드시 이곳을 클릭하고 글을 정독해서 확실하게 이해를 하여야 합니다. 실행중 가상펌프 설정 NS에 상태 업로드하기 @@ -282,10 +282,10 @@ 값이 저장되지 않았습니다! Local Broadcasts 활성화하기 OpenAPS SMB - UAM 활성화하기 - SMB 활성화하기 - 더 빠른 작용을 위해 임시Basal 대신 Super Micro Bolus 사용 - 알리지 않은 식사 감지 + UAM 활성화하기 + SMB 활성화하기 + 더 빠른 작용을 위해 임시Basal 대신 Super Micro Bolus 사용 + 알리지 않은 식사 감지 유효하지 않음 퍼센트 시간 이동 @@ -313,12 +313,12 @@ 혈당 업로드 설정 델타(혈당증분값) 자세히 보여주기 소수점 자리 추가된 증분값 보여주기 - SMB를 주입하는 빈도 (몇 분마다) - SMB가 Basal을 제한할 수 있는 최대 시간(분) - UAM SMB의 최대 기간 (분) - SMB가 UAM에 대해 basal을 제한할 수 있는 최대 시간(분) - 제안을 위한 최소 탄수화물 필요량 - 탄수화물 제안 알림을 보여주는 최소 탄수화물 g수. 이 양보다 적은 경우 탄수화물 제안 알림이 작동하지 않습니다. + SMB를 주입하는 빈도 (몇 분마다) + SMB가 Basal을 제한할 수 있는 최대 시간(분) + UAM SMB의 최대 기간 (분) + SMB가 UAM에 대해 basal을 제한할 수 있는 최대 시간(분) + 제안을 위한 최소 탄수화물 필요량 + 탄수화물 제안 알림을 보여주는 최소 탄수화물 g수. 이 양보다 적은 경우 탄수화물 제안 알림이 작동하지 않습니다. 혈당 데이터를 xDrip+에 전송하기 xDrip+ 데이터 소스에서 640g/Eversense을 선택하세요 NSClient 혈당 @@ -338,16 +338,16 @@ 최대 IOB가 바르게 설정됨 선택한 소스에서 혈당이 들어옵니다. 확장Bolus 주입 에러 - 항상 SMB 사용하기 - Bolus와 독립적으로 항상 SMB를 사용합니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. - 탄수화물 이후 SMB를 사용합니다. - 탄수화물 이후 6시간동안 SMB를 사용합니다, 0 COB이라도 적용됩니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. - COB와 SMB를 사용합니다. - 활성화된 COB가 있으면 SMB를 사용합니다. - 임시 목표에서 SMB 사용하기 - 활성화된 임시 목표(식사직전, 운동)가 있으면 SMB를 사용합니다. - 높은 임시 목표에서 SMB 사용하기 - 높은 임시 목표 (운동, 100mg/dl 또는 5.5 mmol/l 초과)가 활성되어 있을 때 SMB 사용하기 + 항상 SMB 사용하기 + Bolus와 독립적으로 항상 SMB를 사용합니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. + 탄수화물 이후 SMB를 사용합니다. + 탄수화물 이후 6시간동안 SMB를 사용합니다, 0 COB이라도 적용됩니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. + COB와 SMB를 사용합니다. + 활성화된 COB가 있으면 SMB를 사용합니다. + 임시 목표에서 SMB 사용하기 + 활성화된 임시 목표(식사직전, 운동)가 있으면 SMB를 사용합니다. + 높은 임시 목표에서 SMB 사용하기 + 높은 임시 목표 (운동, 100mg/dl 또는 5.5 mmol/l 초과)가 활성되어 있을 때 SMB 사용하기 인슐린 버튼 버튼을 누를 때 추가되는 탄수화물 양 @@ -385,12 +385,12 @@ 전문가 모드 사용 이 펌프 임시Basal을 지원하지 않습니다. 설정에서 Closed Loop 모드가 비활성화되었습니다. - 설정에서 Autosens가 비활성화 되었습니다. - 설정에서 SMB가 비활성화 되었습니다. - 설정에서 UAM이 비활성화 되었습니다. + 설정에서 Autosens가 비활성화 되었습니다. + 설정에서 SMB가 비활성화 되었습니다. + 설정에서 UAM이 비활성화 되었습니다. Oref1 민감도 플러그인이 필요하므로 UAM이 비활성화 되었습니다. - 최대 Basal 승수 - 최대 일 Basal 승수 + 최대 Basal 승수 + 최대 일 Basal 승수 최근 3분 이내에 Bolus가 주입되었습니다. SMB를 건너뜁니다. Basal이 정상적으로 설정되었습니다. %2$s로 인해 확장Bolus가 %1$.1f U로 제한됩니다. @@ -402,8 +402,8 @@ 인슐린 카트리지 변경 기록 선택한 혈당 출처가 고급 필터링을 지원하지 않기 때문에 SMB가 항상 비활성화됩니다. Open Loop모드에선 SMB가 허용되지 않습니다. - OpenAPS가 초과 할 수 없는 총 IOB의 최대량 [U] - 이 값은 OpenAPS에서 Max IOB라고 합니다\n현재 IOB가 이 값보다 크면 OpenAPS는 인슐린을 추가로 주입하지 않습니다. + OpenAPS가 초과 할 수 없는 총 IOB의 최대량 [U] + 이 값은 OpenAPS에서 Max IOB라고 합니다\n현재 IOB가 이 값보다 크면 OpenAPS는 인슐린을 추가로 주입하지 않습니다. 식사 최대 흡수 시간 [h] 식사가 모두 흡수되었다고 간주되는 시간. 나머지 탄수화물은 모두 없어집니다. 관리창에 노트 영역 보여주기 @@ -424,7 +424,7 @@ 로밍에서 연결 허용 최대 autosens 비율 최저 autosens 비율 - Bolus snooze DIA 나눗수 + Bolus snooze DIA 나눗수 최대 일 안전 승수 현재 Basal 안전 승수 가성펌프 종류 @@ -471,7 +471,7 @@ 로그 삭제하기 관리 데이터 (인슐린: %1$.2f, 탄수화물: %2$d, at: %3$s) 가 추가되지 못하였습니다. 확인해본 다음 적절한 데이터를 수동으로 입력하세요.. 확장탄수화물: %1$d g (%2$d 시간), 지연: %3$d 분 - 사용할 수 있는 Autosens 데이터가 없습니다. + 사용할 수 있는 Autosens 데이터가 없습니다. 로그 설정 기본값으로 초기화 NSClient가 정상적으로 작동하지 않습니다. Nightscout와 NSClient를 재시작 해보세요. @@ -504,7 +504,7 @@ !!!!! 느린 탄수화물 흡수 감지: %2$d%% of time. 계산을 다시 확인하십시오. COB를 과대하게 측정하여 더 많은 인슐린이 주입될 수 있습니다 !!!!!]]> Bolus 마법사 결과의 이 부분 주입[%] Bolus 마법사는 계산을 수행하지만 계산된 인슐린의 이 부분만 주입됩니다. SMB 알고리즘에 유용합니다. - 설정이 프로파일에서의 최대 Basal보다 낮은 이유로 최대 Basal을 올립니다 + 설정이 프로파일에서의 최대 Basal보다 낮은 이유로 최대 Basal을 올립니다 선택: 단위 완료 초기화 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 88b78378ae..4a2e7b9f29 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -33,16 +33,16 @@ Išsaugoti visus terapijos pakeitimus Paleisti dabar Virtuali pompa - Paskutinis veiksmas - Įvesties parametrai - Gliukozės statusas - Dabartinė laikina bazė - AIO duomenys + Paskutinis veiksmas + Įvesties parametrai + Gliukozės statusas + Dabartinė laikina bazė + AIO duomenys Profilis - Maisto duomenys + Maisto duomenys Rezultatas Rezultatas: %1$s %2$s - Nėra gliukozės duomenų + Nėra gliukozės duomenų Užklausa Pokytis Konfigūracija @@ -90,10 +90,10 @@ Failas nerastas Eksportuoti nustatymus Importuoti nustatymus - Maks vv/val skaičius, kuris gali būti nustatytas kaip laikina bazė - Šis skaičius OpenAPS kontekste vadinamas maks. valandine baze - Didžiausias valandinės bazės insulino kiekis, kurį gali suleisti OpenAPS [U] - Ši vertė OpenAPS kontekste vadinama Maks AIO\nTai maksimalus insulino vienetų [U] skaičius, kurį DKS gali suleisti vienu metu. + Maks vv/val skaičius, kuris gali būti nustatytas kaip laikina bazė + Šis skaičius OpenAPS kontekste vadinamas maks. valandine baze + Didžiausias valandinės bazės insulino kiekis, kurį gali suleisti OpenAPS [U] + Ši vertė OpenAPS kontekste vadinama Maks AIO\nTai maksimalus insulino vienetų [U] skaičius, kurį DKS gali suleisti vienu metu. Jūsų paprašys nustatyti slaptažodį, kuris bus naudojamas užšifruojant eksportuojamus nustatymus. Jūsų paprašys nustatyti slaptažodį, kuris bus naudojamas atšifruojant importuotus nustatymus. Eksportas nutrauktas! Nustatymai NE eksportuoti! @@ -147,8 +147,8 @@ OpenAPS AMA %1$d elementų masyvas. \naktuali vertė: Autosens duomenys - Scenarijų derinimas - Naudoti Autosens funkciją + Scenarijų derinimas + Naudoti Autosens funkciją VEIKS KONF CIKLAS @@ -159,17 +159,17 @@ TIKSL WEAR Naudoti sutrumpintus skirtukų pavadinimus - Visada naudoti trumpo laikotarpio vidutinį pokyti vietoj paprasto pokyčio - Naudinga, kai duomenys, gaunami iš nefiltruoto šaltinio, tokio kaip xDrip+, tampa nestabilūs. + Visada naudoti trumpo laikotarpio vidutinį pokyti vietoj paprasto pokyčio + Naudinga, kai duomenys, gaunami iš nefiltruoto šaltinio, tokio kaip xDrip+, tampa nestabilūs. Numatytoji reikšmė: 3 tai pagrindinis OpenAPS saugiklis. Jis apriboja Jūsų valandinę bazę iki trigubos maksimalios valandinės bazės (standartiniu atveju). Jums greičiausiai neprireiks šios reikšmės keisti, tačiau turėtumėte žinoti, kad ji naudojama kaip saugiklis apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". Numatytoji reikšmė: 4 tai antras pagrindinis OpenAPS saugiklis, apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". Jis reiškia, kad jūsų valandinė bazė, nepriklausomai nuo to, kokia maksimali valandinė bazė suprogramuota pompoje, negali būti didesnė, nei keturguba dabartinė valandinė bazė. Tai apsaugo Jus nuo pavojingų situacijų, kai nustatoma pernelyg didelė valandinė bazė, pilnai nesuprantant, kaip veikia algoritmas. Numatytoji reikšmė yra 4x; daugumai vartotojų niekada neprireikia šio skaičiaus keisti, o pajutus, kad \"atsitrenkiama\" į saugiklį, rekomenduojama peržiūrėti kitus nustatymus. Numatytoji reikšmė: 1.2\nTai daugiklis Autosens (ir netrukus Autotune) funkcijoje, kuris nustato 20%% maksimalią ribą iki kurios Autosens gali padidinti valandinę bazę, sumažinti JIF ir tikslinę gliukozės vertę. Numatytoji reikšmė: 0.7\nTai antras daugiklis Autosens funkcijoje, kuris nustato, kad Autosens gali iki minimalios 70 % ribos sumažinti valandinę bazę bei padidinti JIF ir tikslinę gliukozės vertę. - Autosens nustatomi tikslai, taip pat - Numatytoji reikšmė: true\nTai suteikia Autosens funkcijai leidimą keisti tikslinės gliukozės vertes, JIF ir valandinę bazę. - Numatytoji reikšmė: 2\nBoluso snaudimas aktyvuojamas iškart po to, kai susileidžiate bolusą maistui. Ši funkcija neleidžia sistemai nustatyti mažų LBD iškart po valgio. Pvz.: jei IVT yra 3 val, tai boluso snaudimas pamažu deaktyvuojamas per 1,5 val (3 val. / 2). - Numatytoji reikšmė: 3.0 (AMA) arba 8.0 (SMB). Tai parametras, nurodantis angliavandenių poveikį kraujo gliukozei kas 5 minutes nuo jų suvartojimo. Numatytoji reikšmė yra 3 mg/dl per 5min. Šis skaičius turi įtakos apskaičiavimams, kaip greitai mažės AAO, kokia bus kraujo gliukozės kitimo prognozė, ypač kai ji krenta daugiau nei tikėtasi, arba nedidėja tiek, kiek tikėtasi. - Dėmesio!\nPaprastai neturėtumėte keisti šių, žemiau esančių, reikšmių. Prašome PASPAUSTI ČIA ir PERSKAITYKITE tekstą ir įsitikinkite, kad SUPRANTATE prieš keisdami bet kurią iš šių verčių. + Autosens nustatomi tikslai, taip pat + Numatytoji reikšmė: true\nTai suteikia Autosens funkcijai leidimą keisti tikslinės gliukozės vertes, JIF ir valandinę bazę. + Numatytoji reikšmė: 2\nBoluso snaudimas aktyvuojamas iškart po to, kai susileidžiate bolusą maistui. Ši funkcija neleidžia sistemai nustatyti mažų LBD iškart po valgio. Pvz.: jei IVT yra 3 val, tai boluso snaudimas pamažu deaktyvuojamas per 1,5 val (3 val. / 2). + Numatytoji reikšmė: 3.0 (AMA) arba 8.0 (SMB). Tai parametras, nurodantis angliavandenių poveikį kraujo gliukozei kas 5 minutes nuo jų suvartojimo. Numatytoji reikšmė yra 3 mg/dl per 5min. Šis skaičius turi įtakos apskaičiavimams, kaip greitai mažės AAO, kokia bus kraujo gliukozės kitimo prognozė, ypač kai ji krenta daugiau nei tikėtasi, arba nedidėja tiek, kiek tikėtasi. + Dėmesio!\nPaprastai neturėtumėte keisti šių, žemiau esančių, reikšmių. Prašome PASPAUSTI ČIA ir PERSKAITYKITE tekstą ir įsitikinkite, kad SUPRANTATE prieš keisdami bet kurią iš šių verčių. Vykdoma Virtualios pompos nustatymai Perduoti būsenos duomenis į NS @@ -284,10 +284,10 @@ Reikšmės neišsaugotos! Įgalinti lokalų duomenų perdavimą. OpenAPS SMB - Įjungti NDM - Įjungti SMB - Naudoti Super Mikro Bolusus vietoj laikinos bazės greitesniam veikimui - Nedeklaruoto maisto (NDM) aptikimas + Įjungti NDM + Įjungti SMB + Naudoti Super Mikro Bolusus vietoj laikinos bazės greitesniam veikimui + Nedeklaruoto maisto (NDM) aptikimas KLAIDA Procentais Laiko perstūmimas @@ -315,12 +315,12 @@ KG duomenų perdavimo nustatymai Rodyti gliukozės pokyčio detales Rodyti pokytį su reikšme po kablelio - Kaip dažnai SMB bus leidžiami, min. - SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per - NDM SMB maks. min. - NDM SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per - Minimali būtinų angliavandenių priminimo riba - Minimalus angliavandenių kiekis gramais, apie kurį reikia įspėti. Angliavandenių pasiūlymai, mažesni už šį kiekį, nėra pranešami. + Kaip dažnai SMB bus leidžiami, min. + SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per + NDM SMB maks. min. + NDM SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per + Minimali būtinų angliavandenių priminimo riba + Minimalus angliavandenių kiekis gramais, apie kurį reikia įspėti. Angliavandenių pasiūlymai, mažesni už šį kiekį, nėra pranešami. Siųsti KG duomenis į xDrip+ Xdrip+ pasirinkite 640g/Eversense duomenų šaltinį NSClient KG @@ -341,16 +341,16 @@ Maksimalus AIO nustatytas tinkamai KG šaltinis pasirinktas teisingai Ištęstinio boluso suleidimo klaida - Leisti SMB visada - Leisti SMB visada, nepriklausomai nuo bolusų. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 - Leisti SMB po angliavandenių įvedimo - Leisti SMB iki 6 val po angliavandenių įvedimo, net jei AK yra 0. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 - Leisti SMB su AAO - Įjungti SMB, kai yra AAO. - Įjungti SMB su laikinais tikslais - Įjungti SMB, kai laikinas tikslas aktyvuotas (Netrukus valgysiu, Aktyvumas) - Įjungti SMB su intensyviais laikinais tikslais - Įjungti SMB, kai yra aktyvus aukštas tikslas (aktyvumas, daugiau nei 100 mg/dl arba 5,5 mmol/l) + Leisti SMB visada + Leisti SMB visada, nepriklausomai nuo bolusų. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 + Leisti SMB po angliavandenių įvedimo + Leisti SMB iki 6 val po angliavandenių įvedimo, net jei AK yra 0. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 + Leisti SMB su AAO + Įjungti SMB, kai yra AAO. + Įjungti SMB su laikinais tikslais + Įjungti SMB, kai laikinas tikslas aktyvuotas (Netrukus valgysiu, Aktyvumas) + Įjungti SMB su intensyviais laikinais tikslais + Įjungti SMB, kai yra aktyvus aukštas tikslas (aktyvumas, daugiau nei 100 mg/dl arba 5,5 mmol/l) Insulinas Mygtukai Siunčia kalibravimą į xDrip+ arba atidaro modifikuotos Dexcom programos BYODA kalibravimo dialogą @@ -390,12 +390,12 @@ Inžinerinis režimas įjungtas Pompa negali nustatyti laikinos bazės Uždaro ciklo būsena išjungta nustatymuose - Autosens funkcija išjungta nustatymuose - SMB išjungti nustatymuose - NDM nustatymas išjungtas nustatymuose + Autosens funkcija išjungta nustatymuose + SMB išjungti nustatymuose + NDM nustatymas išjungtas nustatymuose NDM neveikia, nes priklauso nuo Oref1 jautrumo įskiepio - maksimalus bazės daugiklis - maksimalus paros bazės daugiklis + maksimalus bazės daugiklis + maksimalus paros bazės daugiklis Bolusas buvo suleistas per paskutines 3 minutes, SMB praleidžiamas Bazė nustatyta teisingai Ištęstinis bolusas ribojamas iki %1$.1f vv dėl %2$s @@ -407,8 +407,8 @@ Įrašas apie rezervuaro keitimą Funkcijos \"SMB visada\" ir \"SMB po angliavandenių\" išjungtos, nes kraujo gliukozės duomenų šaltinis neturi reikalingo filtravimo SMB neleidžiami atviro ciklo režime - Maksimalus bendras AIO, kurio negali viršyti OpenAPS [U] - Ši vertė yra vadinama Maks AIO OpenAPS kontekste\nOpenAPS nepridės daugiau insulino, jei dabartinis AIO yra didesnis už šią vertę + Maksimalus bendras AIO, kurio negali viršyti OpenAPS [U] + Ši vertė yra vadinama Maks AIO OpenAPS kontekste\nOpenAPS nepridės daugiau insulino, jei dabartinis AIO yra didesnis už šią vertę Maksimalus maisto įsisavinimo laikas [h] Laikas, per kurį bet koks maistas laikomas įsisavintu. Likę angliavandeniai bus atmesti. Rodyti pastabų laukelį terapijos dialoguose @@ -429,7 +429,7 @@ Leisti sujungimą tarptinkliniu ryšiu Maksimali Autosens reikšmė Minimali Autosens reikšmė - Boluso snaudimo daliklis + Boluso snaudimo daliklis Maksimalus dienos bazės saugos daugiklis Dabartinės bazės saugos daugiklis Virtualios pompos tipas @@ -479,7 +479,7 @@ Ištrinti įrašus Įrašas (insulinas: %1$.2f, angl.: %2$d, ties: %3$s) negali būti pridėtas. Prašome patikrinti ir rankiniu būdu atitinkamai įtraukti įrašą. iAV.: %1$d g (%2$d h), atidėjimas: %3$d m - Nėra autosens duomenų + Nėra autosens duomenų Įrašų nustatymai Atkurti numatytuosius NSClient sutrikimas. Reikėtų paleisti iš naujo NS ir NSClient. @@ -515,7 +515,7 @@ !!!!! Nustatytas lėtas angliavandenių įsisavinimas: %2$d%% laiko. Dar karą patikrinkite savo skaičiavimus. AAO gali būti pervertinti, todėl gali būti suleista per daug insulino!!!!!]]> Suleisti šią boluso skaičiuoklės rezultato dalį [%] Boluso skaičiuoklė atlieka skaičiavimus, tačiau tik dalis apskaičiuoto insulino yra suleidžiama. Naudinga kartu su SMB algoritmu. - Didinama maksimali valandinės bazės reikšmė, nes nustatytoji reikšmė yra mažesnė nei profilio maksimali val. bazės reikšmė + Didinama maksimali valandinės bazės reikšmė, nes nustatytoji reikšmė yra mažesnė nei profilio maksimali val. bazės reikšmė Parinkta: Vienetai Išvalyti užbaigtus diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index c2c25a25be..da35ce7472 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -6,7 +6,7 @@ Behandelingen veiligheid Max toegestane bolus [E] Max toegestane koolhydraten [g] - BG niveau waarbij lage glucose onderbreking wordt geactiveerd + BG niveau waarbij lage glucose onderbreking wordt geactiveerd %1$s Instellingen Instellingen Haal behandelingen op van NS @@ -36,16 +36,16 @@ Monitor en bedien AAPS met uw WearOS horloge. Nu uitvoeren VIRTUELE POMP - Laatste berekening - Invoerparameters - Glucose status - Actueel - IOB gegevens + Laatste berekening + Invoerparameters + Glucose status + Actueel + IOB gegevens Profiel - Maaltijd gegevens + Maaltijd gegevens Resultaat Resultaat: %1$s %2$s - Geen BG gegevens beschikbaar + Geen BG gegevens beschikbaar Voorstel Verschil Configurator @@ -97,10 +97,10 @@ Bestand niet gevonden Exporteer instellingen Importeer instellingen - Maximaal instelbaar basaal E/uur - Dit is de maximale waarde waarop het basaal door OpenAPS ingesteld kan worden - Maximale basaal IOB, dat OpenAPS kan toedienen [E] - Deze waarde wordt de Max IOB genoemd in OpenAPS context\nDit is de maximale insuline hoeveelheid in [E] dat APS in één keer kan toedienen. + Maximaal instelbaar basaal E/uur + Dit is de maximale waarde waarop het basaal door OpenAPS ingesteld kan worden + Maximale basaal IOB, dat OpenAPS kan toedienen [E] + Deze waarde wordt de Max IOB genoemd in OpenAPS context\nDit is de maximale insuline hoeveelheid in [E] dat APS in één keer kan toedienen. Je wordt gevraagd om een masterwachtwoord. Daarmee worden geëxporteerde instellingen versleuteld. Je wordt gevraagd om een masterwachtwoord. Daarmee worden geïmporteerde instellingen ontsleuteld. Exporteren geannuleerd! Instellingen zijn NIET geëxporteerd! @@ -155,8 +155,8 @@ OpenAPS AMA Array van %1$d elementen. \nActuele waarde: Autosens gegevens - Script debug - Gebruik Autosens functie + Script debug + Gebruik Autosens functie ACT CONF LOOP @@ -168,17 +168,17 @@ DOEL WEAR Afgekorte tab titels - Gebruik altijd korte gemiddeld verschil ipv gewone verschil - Nuttig wanneer gegevens van niet gefilterde bronnen zoals xDrip+ veel ruis heeft. + Gebruik altijd korte gemiddeld verschil ipv gewone verschil + Nuttig wanneer gegevens van niet gefilterde bronnen zoals xDrip+ veel ruis heeft. Standaard waarde: 3.0 Dit is een belangrijke veiligheid parameter van OpenAPS. Dit limiteert je basaal met een max van 3 maal je hoogste basale dosis. Normaal hoef je deze niet te veranderen. Het is echter belangrijk dat je de ingebouwde limieten kent. Standaard waarde: 4 Dit is een combinatie van enerzijds het OpenAPS veiligheid limieten en anderzijds van “3 x max dagelijks basaal; 4x actueel”. Dit betekent dat het basaal niet hoger kan ingesteld worden dan het ingestelde nummer keer het actueel basaal waarbij de limiet in de pomp geen invloed heeft. Dit is een veiligheidsmaatregel om te voorkomen dat patiënten in gevaarlijke laag bereik komen zonder te snappen hoe het algoritme werkt. Nogmaals de standaard waarde is 4x; de meeste zullen deze waarde nooit moeten aanpassen maar zullen eerder andere waardes moeten aanpassen als ze tegen een limiet aanstoten. Standaard waarde: 1.2\nDit is een vermenigvuldigingsfactor voor autosense (en binnenkort autotune) die zorgt dat de autosens ratio maximaal 20%% kan zijn. Dit maximum bepaalt in hoeverre je basaal kan worden verhoogd, en hoeveel je ISF en BG doel verlaagd kunnen worden. Standaard waarde: 0.7\nDit is de andere kan van de autosens veiligheid limiet. Dit zet een limiet op hoe laag het basaal kan aangepast worden, en hoe hoog het ISF en het streef BG. - Autosens past ook het streefdoel aan - Staat standaard aan\n Wanneer dit aan staat, kan Autosens het BG streefdoel hoger/lager zetten wanneer hij een veranderde insulinegevoeligheid detecteert. - Standaard waarde: 2\nBolus snooze is actief nadat je een maaltijd bolus toegediend hebt, zodat de loop geen tegenvoorstel met een verlaagd tijdelijk basaal doet nadat je gegeten hebt. Het voorbeeld hier van van standaard 2; dus een 3 u DIA betekent dat de bolus snooze gemiddeld 1.5u actief is (3DIA/2). - Standaardwaarde: 3,0 (AMA) of 8,0 (SMB). Dit is een instelling voor de standaard koolhydraten absorptie-impact per 5 minuten. De standaard is een verwachte 3mg / dl / 5min. Dit is van invloed op hoe snel COB zijn opgenomen en hoeveel koolhydraten absorptie wordt verwacht, bij het voorspellen van toekomstige BG, wanneer BG meer dan verwacht daalt of niet zoveel stijgt als verwacht. - Opgelet!\n Onderstaande waardes moeten normaal gezien niet worden aangepast. KLIK HIER en LEES de tekst zodat je alles volledig BEGRIJPT voordat je een waarde wijzigt. + Autosens past ook het streefdoel aan + Staat standaard aan\n Wanneer dit aan staat, kan Autosens het BG streefdoel hoger/lager zetten wanneer hij een veranderde insulinegevoeligheid detecteert. + Standaard waarde: 2\nBolus snooze is actief nadat je een maaltijd bolus toegediend hebt, zodat de loop geen tegenvoorstel met een verlaagd tijdelijk basaal doet nadat je gegeten hebt. Het voorbeeld hier van van standaard 2; dus een 3 u DIA betekent dat de bolus snooze gemiddeld 1.5u actief is (3DIA/2). + Standaardwaarde: 3,0 (AMA) of 8,0 (SMB). Dit is een instelling voor de standaard koolhydraten absorptie-impact per 5 minuten. De standaard is een verwachte 3mg / dl / 5min. Dit is van invloed op hoe snel COB zijn opgenomen en hoeveel koolhydraten absorptie wordt verwacht, bij het voorspellen van toekomstige BG, wanneer BG meer dan verwacht daalt of niet zoveel stijgt als verwacht. + Opgelet!\n Onderstaande waardes moeten normaal gezien niet worden aangepast. KLIK HIER en LEES de tekst zodat je alles volledig BEGRIJPT voordat je een waarde wijzigt. Uitvoeren Virtuele pomp instellingen Upload status naar NS @@ -297,10 +297,10 @@ Dynamische ISF Dynamische Isf aanpassingsfactor % Aanpassingsfactor voor DynamicISF. Stel meer dan 100% in voor een agressievere correctie en minder dan 100% voor minder agressieve correctie. - Activeer UAM - Activeer SMB - SMB in plaats van tijdelijke basalen voor snellere reactie - Detectie van niet aangekondigde (UnAnnounced) Maaltijden + Activeer UAM + Activeer SMB + SMB in plaats van tijdelijke basalen voor snellere reactie + Detectie van niet aangekondigde (UnAnnounced) Maaltijden Ongeldig Percentage Tijd verschuiving @@ -328,12 +328,12 @@ BG upload instellingen Toon gedetailleerde delta Toon delta met een extra decimaal punt - Tijdsinterval in minuten tussen afgeven van SMBs - Max minuten basaal om SMB tot te limiteren - UAM SMB max minuten - Max minuten basaal om SMB tot te limiteren voor UAM - Minimaal benodigde koolhydraten voor waarschuwing - Minimum gram benodigde koolhydraten waarbij een waarschuwing wordt gegeven. Wanneer er minder koolhydraten nodig zijn dan dit getal, wordt er geen waarschuwing gegeven. + Tijdsinterval in minuten tussen afgeven van SMBs + Max minuten basaal om SMB tot te limiteren + UAM SMB max minuten + Max minuten basaal om SMB tot te limiteren voor UAM + Minimaal benodigde koolhydraten voor waarschuwing + Minimum gram benodigde koolhydraten waarbij een waarschuwing wordt gegeven. Wanneer er minder koolhydraten nodig zijn dan dit getal, wordt er geen waarschuwing gegeven. Stuur BG data naar xDrip+ In xDrip+ kies 640g/Eversense data bron NSClient BG @@ -355,16 +355,16 @@ Maximum IOB juist ingesteld BG beschikbaar op gekozen bron Vertraagde bolus toedieningsfout - Activeer SMB altijd - SMB altijd aan, onafhankelijk van bolussen. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 - Activeer SMB na koolhydraten - SMB actief gedurende 6u, zelfs met 0 COB. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 - Activeer SMB met Koolhydraten - SMB actief tijdens actieve koolhydraten - Gebruik SMB met tijdelijke streefdoelen - Gebruik SMB bij een actief tijdelijk streefdoel (eet binnenkort, activiteit) - Gebruik SMB met een hoog tijdelijk streefdoel - Schakel SMB in wanneer er een hoog tijdelijk doel actief is (uitvoeren boven 100 mg/dl of 5,5 mmol/l) + Activeer SMB altijd + SMB altijd aan, onafhankelijk van bolussen. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 + Activeer SMB na koolhydraten + SMB actief gedurende 6u, zelfs met 0 COB. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 + Activeer SMB met Koolhydraten + SMB actief tijdens actieve koolhydraten + Gebruik SMB met tijdelijke streefdoelen + Gebruik SMB bij een actief tijdelijk streefdoel (eet binnenkort, activiteit) + Gebruik SMB met een hoog tijdelijk streefdoel + Schakel SMB in wanneer er een hoog tijdelijk doel actief is (uitvoeren boven 100 mg/dl of 5,5 mmol/l) Insuline Knoppen Stuurt een kalibratie naar xDrip+ of open het BYODA kalibratie venster @@ -404,12 +404,12 @@ Engineering modus is geactiveerd Pomp kan geen tijdelijk basaal aanvaarden Closed Loop modus gedeactiveerd in de instellingen - Autosens gedeactiveerd in de instellingen - SMB gedeactiveerd in de instellingen - UAM gedeactiveerd in de instellingen + Autosens gedeactiveerd in de instellingen + SMB gedeactiveerd in de instellingen + UAM gedeactiveerd in de instellingen UAM gedeactiveerd omdat het Oref1 gevoeligheid plugin nodig heeft - Max basaal vermenigvuldiger - Max dagelijks basaal vermenigvuldiger + Max basaal vermenigvuldiger + Max dagelijks basaal vermenigvuldiger Er is een bolus toegediend gedurende de afgelopen 3 minuten, SMB wordt overgeslagen Basaal correct ingesteld Beperken van extended bolus op %1$.1f E vanwege %2$s @@ -421,11 +421,11 @@ Markeer een insuline ampul wissel in NS SMB altijd gedeactiveerd doordat de gekozen BG bron geen optimale filtering toepast SMB niet toegestaan in Open Loop modus - Max totaal IOB dat OpenAPS niet kan overschrijden [E] - Deze waarde heet MAX IOB in OpenAPS context\nOpenAPS zal geen extra insuline toedienen als de actuele IOB onderstaande waarde overschreden heeft + Max totaal IOB dat OpenAPS niet kan overschrijden [E] + Deze waarde heet MAX IOB in OpenAPS context\nOpenAPS zal geen extra insuline toedienen als de actuele IOB onderstaande waarde overschreden heeft Maximum maaltijd absorptie tijd [uur] Tijdspanne waarbinnen elke maaltijd volledig is opgenomen. Resterende KH worden niet mee gerekend. - BG waarde waarbij insuline afgifte wordt onderbroken. De standaard waarde gebruikt het standaard doelmodel. Gebruiker kan waarde instellen tussen 60 mg/dl (3.3 mmol/l) en 100mg/dl(5.6mmol/l). Waarden lager dan 65/3.6 resulteren in gebruik van het standaard model + BG waarde waarbij insuline afgifte wordt onderbroken. De standaard waarde gebruikt het standaard doelmodel. Gebruiker kan waarde instellen tussen 60 mg/dl (3.3 mmol/l) en 100mg/dl(5.6mmol/l). Waarden lager dan 65/3.6 resulteren in gebruik van het standaard model Toon notities veld in behandeling dialoogvensters Volgende Vorige @@ -448,7 +448,7 @@ Sta verbinding tijdens roaming toe Max autosens ratio Min autosens ratio - Bolus snooze dia deler + Bolus snooze dia deler Maximale dagelijkse veiligheids vermeningvuldigings factor Huidige basaalstand veiligheids vermenigvuldigings factor Virtuele pomp Type @@ -504,7 +504,7 @@ Verwijder Logs Een Behandeling (insuline: %1$.2f, koolhydraten: %2$d, in: %3$s) niet konden worden toegevoegd aan Behandelingen. Gelieve te controleren en handmatig een record toe te voegen indien nodig. eCarbs: %1$d g (%2$d h), vertraging: %3$d m - Geen autosens-gegevens beschikbaar + Geen autosens-gegevens beschikbaar Logbestanden Overige Log instellingen @@ -543,7 +543,7 @@ !!! Trage koolhydraat absorptie gedetecteerd: %2$d%% van de tijd. Controleer je berekening nogmaals. COB kan zijn overschat waardoor er misschien meer insuline wordt afgegeven!!! zijn]]> Voer dit deel van het bolus wizard resultaat uit [%] Bolus wizard voert de berekening uit maar alleen dit deel van berekende insuline wordt geleverd. Handig in combinatie met het SMB algoritme. - Verhogen van de maximale basaal waarde omdat de instelling lager is dan het maximum in het profiel + Verhogen van de maximale basaal waarde omdat de instelling lager is dan het maximum in het profiel Geselecteerd: Eenheden Voltooiing wissen diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 7604eb6f1f..5ef7bf4af7 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -6,7 +6,7 @@ Sikkerhet ved behandlinger Maks tillat bolus [U] Maks tillat karbo [g] - Insulintilførsel stoppes når BS er under denne terskelverdien + Insulintilførsel stoppes når BS er under denne terskelverdien %1$s Innstillinger Innstillinger Oppdater behandlinger fra NS @@ -36,16 +36,16 @@ Overvåke og kontrollere AAPS ved hjelp av WearOS-klokken. Utfør nå VIRTUELL PUMPE - Siste beregning - Angi verdier - Glukosestatus - Nåværende temp - IOB data + Siste beregning + Angi verdier + Glukosestatus + Nåværende temp + IOB data Profil - Måltidsdata + Måltidsdata Resultat Resultat: %1$s %2$s - Ingen BS-data tilgjengelig + Ingen BS-data tilgjengelig Forespørsel Delta Konfigurasjonsverktøy @@ -97,10 +97,10 @@ Fil ikke funnet Eksporter innstillinger Importer innstillinger - Max E/t en Temp Basal kan settes til - Denne verdien kalles max basal i OpenAPS sammenheng - Max basal IOB som OpenAPS kan levere [U] - Denne verdien kalles Max IOB i OpenAPS sammenheng.\nDet er max insulinmengde i [U] APS kan levere. + Max E/t en Temp Basal kan settes til + Denne verdien kalles max basal i OpenAPS sammenheng + Max basal IOB som OpenAPS kan levere [U] + Denne verdien kalles Max IOB i OpenAPS sammenheng.\nDet er max insulinmengde i [U] APS kan levere. Du må angi et hovedpassord som vil bli brukt til å kryptere dine eksporterte innstillinger. Du må angi et hovedpassord som vil bli brukt for å lese inn og dekryptere innstillinger. Eksport kansellert! Innstillinger ble IKKE lagret! @@ -155,8 +155,8 @@ OpenAPS AMA Liste med %1$d elementer.\nFaktisk verdi: Autosens-data - Script feilsøking - Bruk Autosens funksjon + Script feilsøking + Bruk Autosens funksjon ACT KONF LOOP @@ -168,17 +168,17 @@ MÅL WEAR Korte navn i menyfaner - Bruk alltid kort gjennomsnittsverdi delta i stedet for enkel delta - Nyttig når data fra ufiltrerte kilder som xDrip+ registrerer mye støy. + Bruk alltid kort gjennomsnittsverdi delta i stedet for enkel delta + Nyttig når data fra ufiltrerte kilder som xDrip+ registrerer mye støy. Standardverdi: 3 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine basaler til maks 3x av din høyeste basalverdi. Du vil trolig ikke behøve å endre denne verdien, men les og forstå hva som menes med \"3x max daglig; 4x gjeldende\" som sikkerhetsinnstilling. Standardverdi: 4 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine temp basal til max 4 ganger din nåværende basal dose, uansett hva som er maks basal i pumpen. Dette er for å unngå at man setter farlige høye maks basal doser uten at man har forstått algoritmene. Når du taket i denne begrensningen bør du i stedet fokusere på å endre andre innstillinger. Standardverdi: 1.2\nDetta er en multiplikatorbegrensning for autosens (og snart autotune) som begrenser at autosens ikke kan øke med mer enn 20%%, som dermed begrenser hvor mye autosens kan justere opp dine basaler, hvor mye ISK kan reduseres og hvor lavt BS målverdi kan settes. Standardverdi: 0.7\nDette er en multiplikatorbegrensning for autosens sikkerhet. Den begrenser autosens til å redusere basalverdier, og øke isulinssensitivitet (ISF) og BS mål med ikke mer enn enn 30%. - Autosens justerer også BS-målverdier - Standard verdi: sann\nGir autosens tillatelse til å justere BS-mål, i tillegg til ISF og basaler. - Standard verdi: 2\nBolus-snooze er aktivt etter at du har gitt en måltidsbolus slik at loop ikke skal forsøke å sette lav-temp når du nettopp har spist. I dette eksempelet brukes standardverdi på 2, så med en 3 timers DIA vil bolus-snoozebegrensning gradvis forsvinne etter 1.5 timer (3DIA / 2). Bolus-snooze brukes ikke hvis SMB er aktivert. - Standardverdi er: 3.0 (AMA) eller 8.0 (SMB). Dette er grunninnstillingen for KH-opptak per 5 minutt. Den påvirker hvor raskt COB skal reduseres, og benyttes i beregning av fremtidig BS-kurve når BS enten synker eller øker mer enn forventet. Standardverdi er 3mg/dl/5 min. - Advarsel!\nNormalt vil du ikke trenge å endre verdiene under. Vennligst TRYKK HER og LES teksten for å være sikker på at du FORSTÅR konsekvensene før du gjør endringer. + Autosens justerer også BS-målverdier + Standard verdi: sann\nGir autosens tillatelse til å justere BS-mål, i tillegg til ISF og basaler. + Standard verdi: 2\nBolus-snooze er aktivt etter at du har gitt en måltidsbolus slik at loop ikke skal forsøke å sette lav-temp når du nettopp har spist. I dette eksempelet brukes standardverdi på 2, så med en 3 timers DIA vil bolus-snoozebegrensning gradvis forsvinne etter 1.5 timer (3DIA / 2). Bolus-snooze brukes ikke hvis SMB er aktivert. + Standardverdi er: 3.0 (AMA) eller 8.0 (SMB). Dette er grunninnstillingen for KH-opptak per 5 minutt. Den påvirker hvor raskt COB skal reduseres, og benyttes i beregning av fremtidig BS-kurve når BS enten synker eller øker mer enn forventet. Standardverdi er 3mg/dl/5 min. + Advarsel!\nNormalt vil du ikke trenge å endre verdiene under. Vennligst TRYKK HER og LES teksten for å være sikker på at du FORSTÅR konsekvensene før du gjør endringer. Utfører Innstillinger for virtuell pumpe Last opp status til Nightscout @@ -297,10 +297,10 @@ Dynamisk ISF DynamiskISF justeringsfaktor % Justeringsfaktor for dynamisk ISF. Verdier over 100% vil gi mer aggressive korreksjonsdoser, mens verdier under 100% vil gi mildere korreksjonsdoser. - Aktiver UAM - Aktiver SMB - Bruk Super Mikro Bolus i stedet for temp basal for raskere resultat - Oppdag uannonsert måltid (UAM) + Aktiver UAM + Aktiver SMB + Bruk Super Mikro Bolus i stedet for temp basal for raskere resultat + Oppdag uannonsert måltid (UAM) UGYLDIG Prosent Tidsforskyving @@ -328,12 +328,12 @@ Innstillinger for opplasting av BS Vis detaljer om delta Vis delta med én ekstra desimal - Minste antall minutter mellom hver SMB - Maks antall minutter med basal som kan bli SMB - UAM SMB maks minutter - Maks antall minutter basal som kan bli SMB ved UAM - Minimumsgrense for KH-forslag - Minimum mengde karbohydrater i gram for å vise advarsel. Behov under denne grenseverdien vil ikke vises som et varsel. + Minste antall minutter mellom hver SMB + Maks antall minutter med basal som kan bli SMB + UAM SMB maks minutter + Maks antall minutter basal som kan bli SMB ved UAM + Minimumsgrense for KH-forslag + Minimum mengde karbohydrater i gram for å vise advarsel. Behov under denne grenseverdien vil ikke vises som et varsel. Send BS-data til xDrip+ I xDrip+, velg 640G/Eversens som datakilde NSClient BS @@ -355,16 +355,16 @@ Maks IOB er angitt riktig BS tilgjengelig fra valgt kilde Forlenget bolus feilet - Aktiver alltid SMB - Aktiver alltid SMB uavhengig av boluser. Bare mulig med en bra filtrert BS kilde som f.eks. Dexcom G5/G6 - Aktiver SMB etter karbohydrater - Aktiver SMB i 6t etter karbohydratinntak, selv med 0 IOB. Bare mulig med en bra filtrert BS kilde som f. eks. Dexcom G5/G6 - Aktiver SMB med COB - Aktiver SMB når COB er aktiv. - Aktiver SMB med temp målverdi - Aktiver SMB når temp målverdi er aktiv (spise snart, trening) - Aktiver SMB ved høye temp målverdier - Aktiver SMB når det er aktive temp målverdier (trening, over 100 mg/dl eller 5,5 mmol/l) + Aktiver alltid SMB + Aktiver alltid SMB uavhengig av boluser. Bare mulig med en bra filtrert BS kilde som f.eks. Dexcom G5/G6 + Aktiver SMB etter karbohydrater + Aktiver SMB i 6t etter karbohydratinntak, selv med 0 IOB. Bare mulig med en bra filtrert BS kilde som f. eks. Dexcom G5/G6 + Aktiver SMB med COB + Aktiver SMB når COB er aktiv. + Aktiver SMB med temp målverdi + Aktiver SMB når temp målverdi er aktiv (spise snart, trening) + Aktiver SMB ved høye temp målverdier + Aktiver SMB når det er aktive temp målverdier (trening, over 100 mg/dl eller 5,5 mmol/l) Insulin Knapper Sender en kalibrering til xDrip+ eller åpne kalibreringsdialogen i BYODA @@ -404,12 +404,12 @@ Engineering Mode aktivert Pumpen støtter ikke temp basaler Lukket Loop deaktivert i innstillinger - Autosens deaktivert i innstillinger - SMB deaktivert i innstillinger - UAM deaktivert i innstillinger + Autosens deaktivert i innstillinger + SMB deaktivert i innstillinger + UAM deaktivert i innstillinger UAM deaktivert fordi den trenger Oref1 sensitivitetsplugin - maks basal multiplikator - maks daglig basal multiplikator + maks basal multiplikator + maks daglig basal multiplikator En bolus ble gitt i løpet av de siste 3 minuttene, dropper SMB Basal justert korrekt Begrenser forlenget bolus til %1$.1f E på grunn av %2$s @@ -421,11 +421,11 @@ Logg bytte av insulinampull SMB Alltid På og SMB Etter Karbohydrater er deaktivert fordi BS kilden ikke støtter avansert filtrering SMB ikke tillatt i åpen loop - Maks total IOB OpenAPS ikke kan overstige [U] - Denne verdien kalles Maks IOB av OpenAPS\nOpenAPS vil ikke gi mere insulin hvis mengden insulin ombord (IOB) overstiger denne verdien + Maks total IOB OpenAPS ikke kan overstige [U] + Denne verdien kalles Maks IOB av OpenAPS\nOpenAPS vil ikke gi mere insulin hvis mengden insulin ombord (IOB) overstiger denne verdien Maks absorpsjonstid for måltid [h] Etter denne tiden forventes det at måltidet er absorbert. Eventuelle gjenværende karbo vil tas ut av beregninger. - BS er under terskelverdi slik at all insulintilførsel stoppes. Mulighet for bruker å definere verdier mellom 3.3mmol/l (60mg/dl) og 5.5mmol/l (100mg/dl). Verdier under 3.6/65 bruker standard målverdier + BS er under terskelverdi slik at all insulintilførsel stoppes. Mulighet for bruker å definere verdier mellom 3.3mmol/l (60mg/dl) og 5.5mmol/l (100mg/dl). Verdier under 3.6/65 bruker standard målverdier Vis merknadsfelt i dialogvindu for Behandlinger Neste Forrige @@ -448,7 +448,7 @@ Tillat tilkobling i roaming Maks autosens ratio Minimum autosens ratio - Bolus snooze DIA divisor + Bolus snooze DIA divisor Multiplikator for max daglig basal Multiplikator får gjeldende basal Virtuell pumpetype @@ -504,7 +504,7 @@ Slett logger En behandling (insulin: %1$.2f, karbohydrater: %2$d, tid: %3$s) kunne ikke legges til Behandlinger. Vennligst kontroller og manuelt legg til en registrering der det er aktuelt. eKarbo: %1$d g (%2$d t), forsinkelse: %3$d m - Ingen data tilgjengelig for autosens + Ingen data tilgjengelig for autosens Loggfiler Annet Logginnstillinger @@ -543,7 +543,7 @@ !!!!! Advarsel: Treg KH absorpsjon oppdaget: %2$d%% av tiden. Dobbeltsjekk din beregning. COB can være misvisende og du risikerer å få for mye insulin !!!!!]]> Doser denne delen av bolus wizard resultat [%] Bolus veiviser utfører beregninger, men bare denne del av beregnet insulin leveres. Nyttig ved bruk av SMB algoritmen. - Øker maks basaldose fordi innstillingen er lavere enn din maks basal i profilen + Øker maks basaldose fordi innstillingen er lavere enn din maks basal i profilen Valgt: Enheter Sletting ferdig diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 8ef5879055..50a4bab79a 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -33,16 +33,16 @@ Zapisuje wszystkie wykonane czynności leczenia Uruchom teraz POMPA WIRTUALNA - Ostatnie działanie - Parametry wejściowe - Stan glukozy - Obecna tymczasowa - Dane IOB + Ostatnie działanie + Parametry wejściowe + Stan glukozy + Obecna tymczasowa + Dane IOB Profil - Dane posiłku + Dane posiłku Rezultat Wynik: %1$s %2$s - Brak danych o glukozie + Brak danych o glukozie Żądanie Delta Konfiguracja @@ -90,10 +90,10 @@ Nie znaleziono pliku Eksportuj ustawienia Importuj ustawienia - Maksymalna wartość U/h tymczasowej bazy może być ustawiona na - Wartość określona jako Maksymalna Baza (max basal) w OpenAPS - Maksymalna bazowa IOB, którą OpenAPS może dostarczyć [U] - Ta wartość jest nazywana Max IOB w OpenAPS\nTo jest maksymalna wartość insuliny w [U], którą APS może dostarczyć w danej chwili. + Maksymalna wartość U/h tymczasowej bazy może być ustawiona na + Wartość określona jako Maksymalna Baza (max basal) w OpenAPS + Maksymalna bazowa IOB, którą OpenAPS może dostarczyć [U] + Ta wartość jest nazywana Max IOB w OpenAPS\nTo jest maksymalna wartość insuliny w [U], którą APS może dostarczyć w danej chwili. Zostaniesz poproszony o hasło główne, które będzie użyte do szyfrowania wyeksportowanych preferencji. Zostaniesz poproszony o hasło główne, które jest potrzebne do odszyfrowania zaimportowanych preferencji. Eksportowanie anulowane! Ustawienia NIE zostały wyeksportowane! @@ -148,8 +148,8 @@ OpenAPS AMA Lista %1$d elementów.\n Bieżąca wartość: Dane Autosens - Debugowanie skryptów - Użyj funkcji Autosens + Debugowanie skryptów + Użyj funkcji Autosens ACT CONF LOOP @@ -160,17 +160,17 @@ OBJ WEAR Skrócone tytuły kart - Zawsze używaj krótkiej średniej delty zamiast prostej delta - Użyteczne, jeżeli dane z niefiltrowanego źródła jak xDrip+ mają rozrzut / szumy. + Zawsze używaj krótkiej średniej delty zamiast prostej delta + Użyteczne, jeżeli dane z niefiltrowanego źródła jak xDrip+ mają rozrzut / szumy. Wartość domyślna: 3 To jest kluczowy współczynnik bezpieczeństwa OpenAPS. Ogranicza dawki bazowe do 3x twojej największej dawki bazowej. Prawdopodobnie nie będziesz musiał tego zmieniać, ale powinieneś być świadomy tego, co się rozumie przez “3x max dzienna; 4x aktualna” dla współczynników bezpieczeństwa. Wartość domyślna: 4 To jest drugi kluczowy współczynnik bezpieczeństwa OpenAPS, i druga wartość z “3x max dzienna; 4x aktualna”. To oznacza, że Twoja dawka bazowa niezależnie od maksymalnej bazy ustawionej na pompie nie może być większa niż ta ustawiona wartość razy twoja aktualna dawka bazowa. To ma na celu przestrzec ludzi przed ustawieniem zbyt wysokiej dawki maksymalnej przed zrozumieniem jak działa algorytm. Ponownie, wartość domyślna to 4x; większość ludzi nie będzie potrzebowała tego zmienić i raczej będą potrzebować dostosować inne ustawienia, jeśli czują, że zbliżają się do współczynnika bezpieczeństwa. Wartość domyślna: 1.2\nTo jest mnożnik dla autosens (wkrótce autotune), ustawia 20%% maks. limit dla najwyższej wartości jaką autosens może przyjąć, co z kolei określa jak wysoko autosens może zwiększyć bazę, jak nisko może ustawić współczynnik wrażliwości insuliny ISF, i jak nisko może ustawić docelową wartość glikemii. Wartość domyślna: 0.7\nDruga strona limitu bezpieczeństwa dla autosens, ustawia mnożnik minimalny dla wartości, do jakiej autosens może obniżyć bazę, i jak wysoko może ustawić ISF i wartość docelową BG. - Autosens dostosowuje również wartości docelowe - Domyślnie włączone\nTa funkcja pozwala wpływać na zmianę wartości docelowe BG, wartości bazy i oraz współczynnika wrażliwości na insulinę ISF. - Wartość domyślna: 2\nBolus snooze jest uruchamiany po wykonaniu bolusa posiłkowego, tak by pętla nie przeciwdziałała niskim wartościom tymczasowym zaraz po posiłku. Jako przykład: wartość domyślna ustawiona jest 2; więc 3 godzinne DIA oznacza, że bolus snooze będzie stopniowo wycofany po 1.5 godziny (3DIA/2). - Wartość domyślna: 3.0 (AMA) lub 8.0 (SMB). To jest ustawienie domyślnego wpływu wchłaniania węglowodanów w czasie 5 min. Wartością domyślną jest spodziewane 3mg/dl/5min. Ma to wpływ na szybkość zaniku COB, oraz jak duże wchłanianie węglowodanów będzie przyjęte do obliczeń przyszłych przewidywanych wartości BG, jeżeli BG obniża się bardziej niż w założono, lub nie wzrasta tak szybko jak się spodziewano. - UWAGA!\nZwykle nie trzeba zmieniać tych wartości. Proszę NACIŚNIJ TUTAJ i PRZECZYTAJ tekst i upewnij się, że ROZUMIESZ go przed zmianą którejś z tych wartości. + Autosens dostosowuje również wartości docelowe + Domyślnie włączone\nTa funkcja pozwala wpływać na zmianę wartości docelowe BG, wartości bazy i oraz współczynnika wrażliwości na insulinę ISF. + Wartość domyślna: 2\nBolus snooze jest uruchamiany po wykonaniu bolusa posiłkowego, tak by pętla nie przeciwdziałała niskim wartościom tymczasowym zaraz po posiłku. Jako przykład: wartość domyślna ustawiona jest 2; więc 3 godzinne DIA oznacza, że bolus snooze będzie stopniowo wycofany po 1.5 godziny (3DIA/2). + Wartość domyślna: 3.0 (AMA) lub 8.0 (SMB). To jest ustawienie domyślnego wpływu wchłaniania węglowodanów w czasie 5 min. Wartością domyślną jest spodziewane 3mg/dl/5min. Ma to wpływ na szybkość zaniku COB, oraz jak duże wchłanianie węglowodanów będzie przyjęte do obliczeń przyszłych przewidywanych wartości BG, jeżeli BG obniża się bardziej niż w założono, lub nie wzrasta tak szybko jak się spodziewano. + UWAGA!\nZwykle nie trzeba zmieniać tych wartości. Proszę NACIŚNIJ TUTAJ i PRZECZYTAJ tekst i upewnij się, że ROZUMIESZ go przed zmianą którejś z tych wartości. Wykonywanie Ustawienia pompy wirtualnej Przesyłaj status do NS @@ -285,10 +285,10 @@ Wartości nie są przechowywane! Włącz transmisję lokalnie. OpenAPS SMB - Włącz UAM - Włącz SMB - Używaj SMB (Super Mikro Bolusów) zamiast bazy tymczasowej dla szybszego działania - Detekcja niezapowiedzianych posiłków (UAM) + Włącz UAM + Włącz SMB + Używaj SMB (Super Mikro Bolusów) zamiast bazy tymczasowej dla szybszego działania + Detekcja niezapowiedzianych posiłków (UAM) NIEPRAWIDŁOWY Procent Zmiana czasu @@ -316,12 +316,12 @@ Ustawienia wysyłania wartości BG (poziomów cukru) Pokaż szczegółowe delta Pokaż deltę z jednym więcej miejscem dziesiętnym - Jak często SMB zostanie podane w min. - Maks. ilość minut dawki bazowej do ograniczenia SMB - Maksymalna liczba minut UAM SMB - Maks. ilość minut dawki bazowej do ograniczenia SMB dla UAM - Minimalna sugestia węglowodanów (dosłodzenia) - Minimalna ilość węglowodanów, w gramach, niezbędna dla pokazania sugestii dosłodzenia. Sugestie dosłodzenia poniżej tej wartości będą ignorowane - powiadomienie nie będzie pokazywane. + Jak często SMB zostanie podane w min. + Maks. ilość minut dawki bazowej do ograniczenia SMB + Maksymalna liczba minut UAM SMB + Maks. ilość minut dawki bazowej do ograniczenia SMB dla UAM + Minimalna sugestia węglowodanów (dosłodzenia) + Minimalna ilość węglowodanów, w gramach, niezbędna dla pokazania sugestii dosłodzenia. Sugestie dosłodzenia poniżej tej wartości będą ignorowane - powiadomienie nie będzie pokazywane. Prześlij dane BG do xDrip+ W xDrip+ wybierz źródło danych 640g/Eversense NSClient BG @@ -342,16 +342,16 @@ Maks. IOB ustawione poprawnie BG dostępne z wybranego źródła Błąd dostarczania bolusa przedłużonego - Włącz SMB (Super Mikro Bolusy) zawsze - Włącz SMB (Super Mikro Bolusy) zawsze, niezależnie od bolusów. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 - Włącz SMB po węglowodanach - Włącz SMB na 6 godzin po węglow., nawet z 0 COB. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 - Włącz SMB z COB - Włącz SMB gdy COB są aktywne. - Włącz SMB z tymczasowym poziomem docelowym (TT) - Włącz SMB gdy tymczasowy poziom docelowy (TT) jest aktywny (TT WkrótcePosiłek, TT ćwiczenia) - Włącz SMB z wysokim tymczasowym poziomem docelowym - Włącz SMB, gdy aktywowano wysoki cel tymczasowy (Ćwiczenia, powyżej 100 mg/dl lub 5, 5 mmol/l) + Włącz SMB (Super Mikro Bolusy) zawsze + Włącz SMB (Super Mikro Bolusy) zawsze, niezależnie od bolusów. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 + Włącz SMB po węglowodanach + Włącz SMB na 6 godzin po węglow., nawet z 0 COB. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 + Włącz SMB z COB + Włącz SMB gdy COB są aktywne. + Włącz SMB z tymczasowym poziomem docelowym (TT) + Włącz SMB gdy tymczasowy poziom docelowy (TT) jest aktywny (TT WkrótcePosiłek, TT ćwiczenia) + Włącz SMB z wysokim tymczasowym poziomem docelowym + Włącz SMB, gdy aktywowano wysoki cel tymczasowy (Ćwiczenia, powyżej 100 mg/dl lub 5, 5 mmol/l) Insulina Przyciski Wysyła kalibrację do xDrip+ lub otwiera dialog kalibracji w Dexcom Patched @@ -391,12 +391,12 @@ Tryb Inżynierski włączony Pompa nie jest zdolna do wykonywania dawek bazowych tymczasowych Tryb zamkniętej pętli wyłączony w ustawieniach - Autosens wyłączony w ustawieniach - SMB wyłączone w ustawieniach - UAM wyłączone w ustawieniach + Autosens wyłączony w ustawieniach + SMB wyłączone w ustawieniach + UAM wyłączone w ustawieniach UAM jest wyłączone ponieważ zależy od wtyczki wrażliwości Oref1 - mnożnik maksymalnej dawki bazowej - mnożnik maksymalnej dziennej dawki bazowej + mnożnik maksymalnej dawki bazowej + mnożnik maksymalnej dziennej dawki bazowej Bolus został podany w ciągu ostatnich 3 minut, opuszczam SMB Baza ustawiona prawidłowo Ograniczam bolus do %1$.1f U z uwagi na %2$s @@ -408,8 +408,8 @@ Zapisz zmianę zasobnika insuliny SMB zawsze i po węglow. wyłączone z uwagi na brak źródła BG z zaawansowanym filtrowaniem SMB nie dozwolone w trybie otwartej pętli - Maksymalna, całkowita IOB, której OpenAPS nie może przekroczyć [U] - Ta wartość jest nazywana Max IOB w OpenAPS\nOpenAPS nie poda więcej insuliny jeżeli obecna IOB jest większa niż ta wartość + Maksymalna, całkowita IOB, której OpenAPS nie może przekroczyć [U] + Ta wartość jest nazywana Max IOB w OpenAPS\nOpenAPS nie poda więcej insuliny jeżeli obecna IOB jest większa niż ta wartość Maksymalny czas wchłaniania posiłku [h] Czas, w którym każdy posiłek jest uznany za wchłonięty. Pozostałe węglowodany zostaną wyzerowane. Pokaż pole uwag w oknie leczenia @@ -430,7 +430,7 @@ Zezwalaj na połączenia w roamingu Maks. mnożnik autosens Min. mnożnik autosens - Bolus snooze dia divisor (Dzielnik uśpienia bolusa) + Bolus snooze dia divisor (Dzielnik uśpienia bolusa) Max daily safety multiplier (Mnożnik bezpieczeństwa maksymalnej dziennej dawki bazowej [U/godzinę]) Current basal safety multiplier (Mnożnik bezpieczeństwa aktualnej dziennej dawki bazowej [U/godzinę]) Pompa wirtualna @@ -480,7 +480,7 @@ Usuń logi Leczenie (insulina: %1$.2f, węglowodany: %2$d, czas:%3$s) nie mogą być dodane. Sprawdź i dodaj ręcznie rekord w razie potrzeby. eWęgle: %1$d g (%2$d h), Opóźnienie: %3$d m - Brak dostępnych danych autosens + Brak dostępnych danych autosens Log files Ustawienia logów Przywróć ustawienia domyślne @@ -517,7 +517,7 @@ !!!!! Wykryto powolne wchłanianie węglowodanów: %2$d%% czasu. Sprawdź ponownie swoje obliczenia. COB mogły być przeszacowane przez co mogło być podane zbyt dużo insuliny !!!!!]]> Dostarcz tą część dawki insuliny z wyniku kalkulatora bolusa [%] Kreator bolusa wykonuje obliczenia, ale tylko ta część obliczonej dawki insuliny jest dostarczana. Pomocne z algorytmem SMB. - Zwiększanie maksymalnej wartości bazowej ponieważ ustawienia są poniżej maxymalnej wartości bazy w profilu + Zwiększanie maksymalnej wartości bazowej ponieważ ustawienia są poniżej maxymalnej wartości bazy w profilu Wybrany: Jednostki Wyczyść skończone diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index edda667d49..039d3a9bc8 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -34,16 +34,16 @@ Salva todos os tratamentos que foram feitos Executar agora BOMBA VIRTUAL - Última execução - Parâmetros de entrada - Status da Glicose - Temp atual - Dados de IOB + Última execução + Parâmetros de entrada + Status da Glicose + Temp atual + Dados de IOB Perfil - Dados de refeição + Dados de refeição Resultado Resultado: %1$s %2$ss - Sem dados de glicose disponíveis + Sem dados de glicose disponíveis Solicitar Delta Configurador @@ -91,10 +91,10 @@ Arquivo não encontrado Exportar configurações Importar configurações - Max U/h em que uma Basal temporária pode ser definida - Este valor é chamado max basal no contexto do OpenAPS - Basal Máxima IOB que OpenAPS pode dar [U] - Este valor é denominado Max IOB em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que APS pode dar de uma vez. + Max U/h em que uma Basal temporária pode ser definida + Este valor é chamado max basal no contexto do OpenAPS + Basal Máxima IOB que OpenAPS pode dar [U] + Este valor é denominado Max IOB em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que APS pode dar de uma vez. Será perguntado pela senha mestre, que será usada para encriptar preferências exportadas. Será perguntado pela senha mestre, que será necessária para desencriptar preferências importadas. Exportação cancelada! Preferências NÃO foram exportadas! @@ -148,8 +148,8 @@ OpenAPS AMA Array de %1$d elementos.\nValor atual: Dados Autosens - Script debug - Usar função Autosens + Script debug + Usar função Autosens ACT CONF LOOP @@ -161,17 +161,17 @@ OBJ WEAR Abreviar títulos dos separadores - Usar sempre delta médio curto em vez de delta simples - Útil quando há ruído nos dados das fontes sem filtro como o xDrip. + Usar sempre delta médio curto em vez de delta simples + Útil quando há ruído nos dados das fontes sem filtro como o xDrip. Valor padrão: 3 Por segurança é o valor limite estabelecido por OpenAPS. O que faz é limitar a basal a x3 a basal mázima. Se necessário modificar este valor, por favor ter em conta que os dados apontam para que os limites de segurança sejam - 3 x max diario ou 4x valor atual (qual seja menor) como valores máximos. Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objetivo é evitar que sejam determinadas basais temporárias muito elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor de Sensibilidade (FSI) e baixar o valor alvo de glicose no sangue. Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de ISF e valor alvo de glucose no sangue (BG). - Autosens também ajusta os alvos - Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de ISF e basais. - Valor padrão: 2\nBolus Snooze (pausa após bolus) é executado depois de realizar um bolus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bolus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. - Valor padrão: 3.0 para assitência avançada de refeições (AAR) ou 8.0 para super micro bolus (SMB). Esta é a configuração padrão para o calculo de quanto varia a cada 5 min a glicemia (BG) devido à absorção de carboidratos. O padrão é 3mg/dl/5min. Isso afeta a rapidez com que decaem os carboidratos ativos (CA) e quanta absorção de carboidrato será considerada no cálculo da previsão de glicemia futura, tornando possível notar que glicemia está baixando mais do que o esperado ou não subindo como esperado. - Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequências antes de alterar qualquer um destes valores. + Autosens também ajusta os alvos + Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de ISF e basais. + Valor padrão: 2\nBolus Snooze (pausa após bolus) é executado depois de realizar um bolus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bolus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. + Valor padrão: 3.0 para assitência avançada de refeições (AAR) ou 8.0 para super micro bolus (SMB). Esta é a configuração padrão para o calculo de quanto varia a cada 5 min a glicemia (BG) devido à absorção de carboidratos. O padrão é 3mg/dl/5min. Isso afeta a rapidez com que decaem os carboidratos ativos (CA) e quanta absorção de carboidrato será considerada no cálculo da previsão de glicemia futura, tornando possível notar que glicemia está baixando mais do que o esperado ou não subindo como esperado. + Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequências antes de alterar qualquer um destes valores. Executando Definições da bomba virtual Enviar estado para NS @@ -272,10 +272,10 @@ Ativar partilha local. SMB OpenAPS FSI Dinâmico - Ativar UAM - Ativar SMB - Use Super Micro Boluses em vez de basal temp para uma ação mais rápida - Detecção de refeições não Introduzidas + Ativar UAM + Ativar SMB + Use Super Micro Boluses em vez de basal temp para uma ação mais rápida + Detecção de refeições não Introduzidas INVÁLIDO Percentagem Alteração Turno @@ -300,11 +300,11 @@ Configurações de upload de BG Mostrar Delta detalho Mostrar delta com mais um ponto decimal - Com que frequência em min os SMBs serão dados - Limite de minutos de basal para SMB - UAM SMB máx minutos - Max minutos de basal para limitar SMB para UAM - Limite mínimo de carboidratos necessários para sugerir + Com que frequência em min os SMBs serão dados + Limite de minutos de basal para SMB + UAM SMB máx minutos + Max minutos de basal para limitar SMB para UAM + Limite mínimo de carboidratos necessários para sugerir Enviar dados Glic. para xDrip+ Seleccionar 640g/Eversense como fonte no xDrip+ Glic NSCliente @@ -324,15 +324,15 @@ IOB máxima definida correctamente Glicemia disponivel desde a fonte selecionada Erro na entrega Bólus Estendido - SMB sempre activado - SMB sempre activo independentemente dos bolus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB após carbos - SMB activo por 6h após carbs, mesmo com 0 COB. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB com COB - Ativar SMB quando houver COB ativo. - SMB activo com valores alvo temporários - SMB activo quando há valor alvo temporário activo (exercício, etc) - SMB activo com alvos temporários elevados + SMB sempre activado + SMB sempre activo independentemente dos bolus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 + Ativar SMB após carbos + SMB activo por 6h após carbs, mesmo com 0 COB. Possível apenas quando o medidor tive um bom filtro de dados como o G5 + Ativar SMB com COB + Ativar SMB quando houver COB ativo. + SMB activo com valores alvo temporários + SMB activo quando há valor alvo temporário activo (exercício, etc) + SMB activo com alvos temporários elevados Insulina Botões Número de carboidratos a adicionar quando o botão é premido @@ -366,12 +366,12 @@ Modo engenheiro activado A bomba não é capaz de basais temporárias Loop fecchado disabilitado nas preferências - Autosens desabilitado nas preferências - SMB desactivado nas configurações - UAM desactivado nas configurações + Autosens desabilitado nas preferências + SMB desactivado nas configurações + UAM desactivado nas configurações UAM desativado porque confia no plugin de sensibilidade Oref1 - multiplicador de basal máx - multiplicador de basal máx diária + multiplicador de basal máx + multiplicador de basal máx diária Um bolus foi injectado nos últimos 3 minutos, saltando SMB Basal correctamente definida A limitar bólus estendido para %1$.1f U porque %2$s @@ -383,8 +383,8 @@ Registar mudança cartucho SMB sempre e depois dos hidratos desactivado por fonte da Glicemia activa não suportar filtro avançado SMB não permitido no modo open loop - Máximo total de IOB OpenAPS não pode superar [U] - Este valor é chamado de Max IOB em contexto de OpenAPS\nOpenAPS não adicionará mais insulina se o IOB atual for maior que este valor + Máximo total de IOB OpenAPS não pode superar [U] + Este valor é chamado de Max IOB em contexto de OpenAPS\nOpenAPS não adicionará mais insulina se o IOB atual for maior que este valor Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -405,7 +405,7 @@ Permitir ligação em roaming Rácio máx. autosens Rácio min. autosens - Pausa bólus divisor DIA + Pausa bólus divisor DIA Multiplicador máx. diário de segurança Multiplicador actual de segurança basal Tipo da Bomba Virtual @@ -451,7 +451,7 @@ Eliminar registos Um tratamento (insulina: %1$.2f, hidratos: %2$d, às: %3$s) não ficou gravado. Por favor verifique se foi realmente efectuado e se sim adicione manualmente aos tratamentos. eCarbs: %1$d g (%2$d h), atraso: %3$d m - Sem dados Autosens disponíveis + Sem dados Autosens disponíveis Definições de registo Repor definições por defeito Erro de funcionamento do NSCliente. Pondere reiniciar o NS e NSCliente. @@ -487,7 +487,7 @@ !!!!! Absorção lenta de hidratos detectada: %2$d%% do tempo. Verifique o seu cálculo. COB pode estar sobreestimado, assim mais insulina pode ser dada !!!]]> Entregue esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é entregue. Útil com o algoritmo SMB. - Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil + Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil Seleccionado: Unidades Limpeza terminado diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index d4e7b72d7d..7d676c97cc 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -33,16 +33,16 @@ Guarda todos os tratamentos que foram feitos Executar agora BOMBA VIRTUAL - Última execução - Parâmetros de entrada - Estado da glicose - Basal Temporária atual - Dados de IA + Última execução + Parâmetros de entrada + Estado da glicose + Basal Temporária atual + Dados de IA Perfil - Dados de refeição + Dados de refeição Resultado Resultado: %1$s %2$ss - Sem dados de glucose disponíveis + Sem dados de glucose disponíveis Pedido Delta Configurador @@ -90,10 +90,10 @@ Ficheiro não encontrado Exportar definições Importar definições - Máx U/h em que uma Temp Basal pode ser definida - Este valor é chamado máx basal no contexto do OpenAPS - Basal Máxima IA que OpenAPS pode administrar [U] - Este valor é denominado Máx IA em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que a APS pode administrar de uma vez. + Máx U/h em que uma Temp Basal pode ser definida + Este valor é chamado máx basal no contexto do OpenAPS + Basal Máxima IA que OpenAPS pode administrar [U] + Este valor é denominado Máx IA em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que a APS pode administrar de uma vez. Ser-lhe-á pedida a senha mestra, que será usada para encriptar preferências exportadas. Ser-lhe-á pedida a senha mestra, que será necessária para desencriptar preferências importadas. Exportação cancelada! Preferências NÃO foram exportadas! @@ -147,8 +147,8 @@ OpenAPS AMA Array de %1$d elementos.\nValor actual: Dados Autosens - Script debug - Utilizar função Autosens + Script debug + Utilizar função Autosens ACÇ CONF LOOP @@ -159,17 +159,17 @@ OBJ WEAR Abreviar títulos dos separadores - Utilizar sempre delta médio curto em vez de delta simples - Útil quando há ruído nos dados de fontes sem filtro como xDrip+. + Utilizar sempre delta médio curto em vez de delta simples + Útil quando há ruído nos dados de fontes sem filtro como xDrip+. Valor padrão: 3 Por segurança é o valor limite estabelecido pela OpenAPS. O que faz é limitar a basal a 3x a basal máxima. Se necessário modificar este valor, por favor tenha em conta que os dados apontam para que os limites de segurança sejam \"3 x máx diário ; 4 x valor atual\". Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objectivo é evitar que sejam determinadas basais temporárias demasiado elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor Sensibilidade à Insulina (FSI) e baixar o valor alvo de glicose no sangue. Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de FSI e valor alvo de glucose no sangue (BG). - Autosens ajusta os alvos, também - Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de FSI e basais. - Valor padrão: 2\nBólus Snooze (pausa após bólus) é executado depois de realizar um bólus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bólus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. - Valor padrão: 3.0 para deteção avançada de refeições (AMA) ou 8.0 para super micro bólus (SMB). Esta é a configuração padrão para o cálculo de quanto varia a cada 5 min a glicose no sangue (GLIC) devido à absorção de hidratos de carbono. O padrão é 3mg/ dl / 5min. Isso afeta a rapidez com que decaem as calorias no corpo (HCA), e quantos hidratos de carbono terão de ser considerados no cálculo da previsão de GLIC, quando é que a GLIC está baixando mais do que espectável ou não subindo como espectável. - Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequenciais antes de alterar algum destes valores. + Autosens ajusta os alvos, também + Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de FSI e basais. + Valor padrão: 2\nBólus Snooze (pausa após bólus) é executado depois de realizar um bólus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bólus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. + Valor padrão: 3.0 para deteção avançada de refeições (AMA) ou 8.0 para super micro bólus (SMB). Esta é a configuração padrão para o cálculo de quanto varia a cada 5 min a glicose no sangue (GLIC) devido à absorção de hidratos de carbono. O padrão é 3mg/ dl / 5min. Isso afeta a rapidez com que decaem as calorias no corpo (HCA), e quantos hidratos de carbono terão de ser considerados no cálculo da previsão de GLIC, quando é que a GLIC está baixando mais do que espectável ou não subindo como espectável. + Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequenciais antes de alterar algum destes valores. A Executar Definições da bomba virtual Enviar estado para NS @@ -284,10 +284,10 @@ Valores não guardados! Activar partilha local. OpenAPS SMB - Activar RNA - Activar SMB - Use Super Micro Bólus em vez de basal temporária para uma ação mais rápida - Deteção de Refeições Não Anunciadas (RNA) + Activar RNA + Activar SMB + Use Super Micro Bólus em vez de basal temporária para uma ação mais rápida + Deteção de Refeições Não Anunciadas (RNA) INVÁLIDO Percentagem Deslocamento temporal @@ -315,12 +315,12 @@ Definições de Envio da Glicose Mostrar Delta detalho Mostrar delta com mais um ponto decimal - Com que frequência em min os SMBs serão dados - Limite de minutos de basal para SMB - RNA SMB máx minutos - Máx minutos de basal para limitar SMB para RNA - Mínimo De Hidratos Necessários Para Sugestão - Mínimo de gramas de hidratos de carbono para exibir um alerta de sugestão de hidratos. As sugestões de hidratos abaixo deste número não ativarão uma notificação. + Com que frequência em min os SMBs serão dados + Limite de minutos de basal para SMB + RNA SMB máx minutos + Máx minutos de basal para limitar SMB para RNA + Mínimo De Hidratos Necessários Para Sugestão + Mínimo de gramas de hidratos de carbono para exibir um alerta de sugestão de hidratos. As sugestões de hidratos abaixo deste número não ativarão uma notificação. Enviar dados Glicose para xDrip+ Seleccionar 640g/Eversense como fonte no xDrip+ Glicose ClienteNS @@ -341,16 +341,16 @@ IA máxima definida corretamente Glicose disponível da fonte seleccionada Erro na administração Bólus Prolongado - SMB sempre activado - SMB sempre activo independentemente dos bólus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Activar SMB após hidratos - SMB ativo por 6h após HCs, mesmo com 0 HCA. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB com HCA - Ativar SMB quando tem HCA positivos. - SMB activo com valores alvo temporários - SMB activo quando há valor alvo temporário activo (comer brevemente, exercício) - SMB activo com alvos temporários elevados - Activar SMB quando há alvo temporário elevado activo (exercício, acima de 100 mg/dl ou 5,5 mmol/l) + SMB sempre activado + SMB sempre activo independentemente dos bólus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 + Activar SMB após hidratos + SMB ativo por 6h após HCs, mesmo com 0 HCA. Possível apenas quando o medidor tive um bom filtro de dados como o G5 + Ativar SMB com HCA + Ativar SMB quando tem HCA positivos. + SMB activo com valores alvo temporários + SMB activo quando há valor alvo temporário activo (comer brevemente, exercício) + SMB activo com alvos temporários elevados + Activar SMB quando há alvo temporário elevado activo (exercício, acima de 100 mg/dl ou 5,5 mmol/l) Bólus Botões Envia a calibração para o xDrip+ ou abre o diálogo de calibração do BYODA @@ -390,12 +390,12 @@ Modo engenheiro activado A bomba não é capaz de basais temporárias Loop fechado desativado nas preferências - Autosens desabilitado nas preferências - SMB desactivado nas configurações - RNA desactivada nas configurações + Autosens desabilitado nas preferências + SMB desactivado nas configurações + RNA desactivada nas configurações RNA desactivada porque confia no plugin de sensibilidade Oref1 - multiplicador de basal máx - multiplicador de basal máx diária + multiplicador de basal máx + multiplicador de basal máx diária Um bólus foi administrado nos últimos 3 minutos, a ignorar SMB Basal correctamente definida A limitar bólus prolongado para %1$.1f U porque %2$s @@ -407,8 +407,8 @@ Registar mudança de reservatório SMB sempre e depois dos hidratos desactivado por fonte da Glicose activa não suportar filtro avançado SMB não permitido no modo open loop - Máximo total de IA que a OpenAPS não pode superar [U] - Este valor é chamado de Máx IA em contexto da OpenAPS\n A OpenAPS não adicionará mais insulina se a IA atual for maior que este valor + Máximo total de IA que a OpenAPS não pode superar [U] + Este valor é chamado de Máx IA em contexto da OpenAPS\n A OpenAPS não adicionará mais insulina se a IA atual for maior que este valor Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -429,7 +429,7 @@ Permitir ligação em roaming Rácio máx. autosens Rácio min. autosens - Pausa bólus divisor DIA + Pausa bólus divisor DIA Multiplicador máx. diário de segurança Multiplicador actual de segurança basal Tipo da Bomba Virtual @@ -479,7 +479,7 @@ Eliminar registos Um tratamento (insulina: %1$.2f, hidratos: %2$d, às: %3$s) não ficou gravado. Por favor verifique se foi realmente efectuado e se sim adicione manualmente aos tratamentos. eCarbs: %1$d g (%2$d h), atraso: %3$d m - Sem dados Autosens disponíveis + Sem dados Autosens disponíveis Definições de registo Repor definições por defeito Erro de funcionamento do ClienteNS. Pondere reiniciar o NS e ClienteNS. @@ -515,7 +515,7 @@ !!!!! Absorção lenta de hidratos detetada: %2$d%% do tempo. Verifique o seu cálculo. HCA podem estar sobrestimados, assim mais insulina pode ser dada !!!]]> Administrar esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é administada. Útil com o algoritmo SMB. - Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil + Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil Seleccionado: Unidades Limpar terminado diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 3e1250a17c..450499b720 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -33,16 +33,16 @@ Salvează toate tratamentele făcute Execută POMPĂ VIRTUALĂ - Ultima execuție - Parametri de intrare - Stare glicemie - Temp curentă - Date IOB + Ultima execuție + Parametri de intrare + Stare glicemie + Temp curentă + Date IOB Profil - Date despre masă + Date despre masă Rezultat Rezultat: %1$s %2$s - Nu există date despre glicemie + Nu există date despre glicemie Solicitare Diferență Configurator @@ -90,10 +90,10 @@ Nu am găsit fișierul Exportă setările Importă setările - Valoarea maximă în U/ora a unei rate bazale temporare poate fi setată la - Această valoare este denumită bazală maximă în contextul OpenAPS - Maximul de bazală IOB pe care o poate livra OpenAPS[U] - Această valoare este denumită Max IOB în contextul OpenAPS\nAceastă valoare este implicit nulă (0). După câteva zile sau săptămâni, în funcție de opțiunea dumneavoastră, puteți ajusta acest număr. + Valoarea maximă în U/ora a unei rate bazale temporare poate fi setată la + Această valoare este denumită bazală maximă în contextul OpenAPS + Maximul de bazală IOB pe care o poate livra OpenAPS[U] + Această valoare este denumită Max IOB în contextul OpenAPS\nAceastă valoare este implicit nulă (0). După câteva zile sau săptămâni, în funcție de opțiunea dumneavoastră, puteți ajusta acest număr. Vi se va solicita parola principală, care va fi utilizată pentru criptare la exportarea setărilor. Vi se va solicita parola principală, care este necesară pentru a decripta setările importate. Exportarea a eșuat! Preferințele NU au fost exportate! @@ -147,8 +147,8 @@ OpenAPS AMA Matrice de %1$d elemente.\nValoarea curentă: Date Autosens - Depanare script - Folosește opțiunea de autosensibilitate + Depanare script + Folosește opțiunea de autosensibilitate ACT CONF BUCL @@ -159,17 +159,17 @@ OBI CEAS Scurtează titlurile secțiunilor - Folosește întotdeauna media scurtă a diferenței în locul diferenței simple - Folositor când datele de la surse nefiltrate precum xDrip+ devin \'\'zgomotoase\". + Folosește întotdeauna media scurtă a diferenței în locul diferenței simple + Folositor când datele de la surse nefiltrate precum xDrip+ devin \'\'zgomotoase\". Valoare implicită: 3\nAceasta este o setare de critică de securitate a OpenAPS. Asta înseamnă că se limitează bazala lade 3x valoarea maximă a bazalelor tale.Cel mai probabil nu veți schimba această valoare, dar trebuie să țineți cont de ce se discută despre “3x max zilnic; 4x curent” ca valori de siguranță. Valoare implicită: 4\nAceasta este cealaltă jumătate a cheii de siguranță a OpenAPS și cealaltă jumătate a \"3x max zilnic; 4x curent\" al setărilor de siguranță.Aceasta înseamnă că bazala dumneavoastră, indiferent de bazala maximă configurată în pompă, nu poate fi mai mare de acest număr înmulțit cu nivelul curent al bazalei active. Această limitare este impusă pentru a evita posibilitatea de a intra pe un teritoriu periculos prin setarea unei bazale maxime excesiv de mari înainte de a înțelege funcționarea algoritmului. Din nou, valoarea implictă este 4x; majoritatea oamenilor nu vor trebui să ajusteze această valoare și vor modifica, mai degrabă, alte valori dacă vor simți că această valoare le stă în cale. Valoare implicită: 1.2\nAceasta este valoarea limită de multiplicare pentru autosens (și pentru autotune, în curând) pentru a seta o limită maximă de 20%% din cât de mare poate fi raportul autosens, care, la rândul ei, determină cât de mult poate autosens să modifice bazalele, cât de jos poate modifica ISF și cât de jos poate pune ținta glicemiei. Valoare implicită: 0.7\nCealaltă parte a limitelor autosens, care limitează cât de jos poate ajusta bazalele și cât de mult poate mări ISF și țintele de glicemie. - Autosens ajustează si target-urile - Valoare implicită: adevărat\nAceasta se folosește pentru a permite autosens să ajusteze țintele de glicemie, pe lângă modificările asupra ISF și bazalelor. - Valoare implicită: 2\nAmânarea bolusului este aplicată după ce ați făcut un bolus de masă, astfel încât bucla să nu reacționeze cu ținte bazale temporare scăzute atunci când tocmai ați mâncat. Exemplul de față și valoarea implicită sunt 2; astfel o durată de acțiune a insulinei (DIA) de 3 ore duce la o eliminare treptată a întârzierii setării bazalelor temporare după 1.5 ore (3DIA/2). - Valoarea implicită: 3.0 (AMA) sau 8.0 (SMB). Aceasta este o setare pentru impactul implicit al carbohidraţilor pe 5 minute. Valoarea implicită este 3mg/dl la 5min. Aceasta influenţează rapiditatea cu care se scade COB şi modul în care se ia în calcul absorbţia carbohidraţilor în calcularea valorilor estimate ale glicemiei, atunci când glicemia este în scădere mai mare decât se aştepta sau nu creşte atât de repede pe cât se aştepta. - Atenție!\nÎn mod normal nu este nevoie să modificați valorile de mai jos. Vă rog să APĂSAȚI AICI și să CITIȚI textul și să vă asigurați că l-ați ÎNȚELES înainte de a schimba valorile. + Autosens ajustează si target-urile + Valoare implicită: adevărat\nAceasta se folosește pentru a permite autosens să ajusteze țintele de glicemie, pe lângă modificările asupra ISF și bazalelor. + Valoare implicită: 2\nAmânarea bolusului este aplicată după ce ați făcut un bolus de masă, astfel încât bucla să nu reacționeze cu ținte bazale temporare scăzute atunci când tocmai ați mâncat. Exemplul de față și valoarea implicită sunt 2; astfel o durată de acțiune a insulinei (DIA) de 3 ore duce la o eliminare treptată a întârzierii setării bazalelor temporare după 1.5 ore (3DIA/2). + Valoarea implicită: 3.0 (AMA) sau 8.0 (SMB). Aceasta este o setare pentru impactul implicit al carbohidraţilor pe 5 minute. Valoarea implicită este 3mg/dl la 5min. Aceasta influenţează rapiditatea cu care se scade COB şi modul în care se ia în calcul absorbţia carbohidraţilor în calcularea valorilor estimate ale glicemiei, atunci când glicemia este în scădere mai mare decât se aştepta sau nu creşte atât de repede pe cât se aştepta. + Atenție!\nÎn mod normal nu este nevoie să modificați valorile de mai jos. Vă rog să APĂSAȚI AICI și să CITIȚI textul și să vă asigurați că l-ați ÎNȚELES înainte de a schimba valorile. Se execută Setări pompă virtuală Trimitere status către NS @@ -284,10 +284,10 @@ Nu s-au salvat valorile! Permite anunțuri locale. OpenAPS SMB - Activează UAM - Activează SMB - Folosește SMB în locul bazalei temporare pentru reacție mai rapidă - S-a detectat masă neanunțată + Activează UAM + Activează SMB + Folosește SMB în locul bazalei temporare pentru reacție mai rapidă + S-a detectat masă neanunțată INVALID Procentaj Decalare @@ -315,12 +315,12 @@ Setări înregistrare glicemie Arată variație detaliată Arată variație cu încă o zecimală - Cât de des se vor administra SMB în min - Max minute de bazală la care să se limiteze SMB - UAM SMB maxim minute - Durata maxima (în minute) a bazalei pentru a limita SMB în cazul UAM - Numărul minim de carbohidrați solicitați în Sugestii - Numărul minim de carbohidrați pentru a afișa o alertă-sugestie. Sugestiile de carbohidrați mai jos acest număr nu vor declanșa o notificare. + Cât de des se vor administra SMB în min + Max minute de bazală la care să se limiteze SMB + UAM SMB maxim minute + Durata maxima (în minute) a bazalei pentru a limita SMB în cazul UAM + Numărul minim de carbohidrați solicitați în Sugestii + Numărul minim de carbohidrați pentru a afișa o alertă-sugestie. Sugestiile de carbohidrați mai jos acest număr nu vor declanșa o notificare. Trimite date glicemie la xDrip+ Selectați 640g/Eversense ca sursă de date în xDrip+ Glicemie NSClient @@ -341,16 +341,16 @@ IOB maxim configurat corect Glicemie disponibilă din sursa selectată Eroare de livrare a bolusului extins - Activează SMB întotdeauna - Activează SMB întotdeauna independent de bolusuri. Este posibil doar în cazul unei surse de glicemii filtrate, cum ar fi G5 - Activează SMB după carbohidrați - Activează SMB pentru 6 ore după carbohidrați, chiar și cu 0 COB. Este posibil doar cu o sursă de glicemii filtrate, ca datele din G5 - Activează SMB cu COB - Activează SMB atunci când sunt COB activi. - Activează SMB cu ținte temporare - Activează SMB chiar atunci când este o țintă temporară activă (mâncare in curând, exerciții fizice) - Activează SMB cu ținte temporare mari - Activați SMB atunci când există o țintă temporară activă (exerciții fizice, peste 100mg/dl sau 5.5mmol/l) + Activează SMB întotdeauna + Activează SMB întotdeauna independent de bolusuri. Este posibil doar în cazul unei surse de glicemii filtrate, cum ar fi G5 + Activează SMB după carbohidrați + Activează SMB pentru 6 ore după carbohidrați, chiar și cu 0 COB. Este posibil doar cu o sursă de glicemii filtrate, ca datele din G5 + Activează SMB cu COB + Activează SMB atunci când sunt COB activi. + Activează SMB cu ținte temporare + Activează SMB chiar atunci când este o țintă temporară activă (mâncare in curând, exerciții fizice) + Activează SMB cu ținte temporare mari + Activați SMB atunci când există o țintă temporară activă (exerciții fizice, peste 100mg/dl sau 5.5mmol/l) Insulină Butoane Trimite o calibrare la xDrip+ sau deschide fereastra de calibrare BYODA @@ -390,12 +390,12 @@ Mod inginer activat Pompa nu suportă bazale temporare Modul buclă închisă dezactivat în preferințe - Autosens dezactivat în preferințe - SMB dezactivat în preferințe - UAM dezactivat din setări + Autosens dezactivat în preferințe + SMB dezactivat în preferințe + UAM dezactivat din setări UAM dezactivat deoarece este bazat pe plugin-ul Oref1 pentru sensibilitate - maximul multiplicatorului bazalei - maximul zilnic al multiplicatorului bazalei + maximul multiplicatorului bazalei + maximul zilnic al multiplicatorului bazalei S-a livrat un bolus în ultimele 3 minute, nu se livrează SMB Bazala setată corect Se limitează bolusul extins la %1$.1f U datorită %2$s @@ -407,8 +407,8 @@ Înregistrare schimbare rezervor insulină SMB dezactivat întotdeauna și după carbohidrați, deoarece sursa glicemiei nu suportă filtrare avansată SMB nu este permis în mod buclă deschisă - Maximul total IOB peste care OpenAPS nu poate trece [U] - Această valoare este denumită Max IOB în contextul OpenAPS,\nOpenAPS nu va adăuga mai multă insulină dacă IOB este mai mare ca această valoare + Maximul total IOB peste care OpenAPS nu poate trece [U] + Această valoare este denumită Max IOB în contextul OpenAPS,\nOpenAPS nu va adăuga mai multă insulină dacă IOB este mai mare ca această valoare Timpul maxim de absorbție a mesei [h] Timpul în care orice mâncare se consideră absorbită. Carbohidrații rămași vor fi ignorați. Afișează câmp pentru note în dialogurile de tratamente @@ -429,7 +429,7 @@ Permite conexiuni în roaming Rată maximă autosens Rată minimă autosens - Amână bolusul prin divizor + Amână bolusul prin divizor Multiplicator sigur maxim zilnic Multiplicator sigur pentru bazala curentă Tipul pompei virtuale @@ -479,7 +479,7 @@ Șterge logurile Un tratament (insulină: %1$.2f, carbohidrați: %2$d, la: %3$s) nu a putut fi înregistrat. Reverificați și apoi adăugați manual înregistrarea corectă. eCarbohidrați: %1$d g (%2$d h), întârziere: %3$d m - Nu există date disponibile privind autosens + Nu există date disponibile privind autosens Setări loguri Resetare la setările implicite Funcționare incorectă a NSClient. Aveți în vedere un restart al NS și al NSClient. @@ -515,7 +515,7 @@ !!!!! A fost detectată o absorbție lentă a carbohidraților: %2$d%% din timp. Reverificați calculele. COB poate fi supraestimat, astfel că este posibilă administrarea de mai multă insulină !!!!!]]> Livrați doar partea aceasta din rezultatul sugerat de wizard [%] Wizard bolus face un calcul, dar numai o parte din insulina calculată este și livrată. Este mai eficient când se folosește cu algoritmul SMB. - Se mărește valoarea bazalei maxime deoarece setarea este mai joasă decât bazala maximă din profil + Se mărește valoarea bazalei maxime deoarece setarea este mai joasă decât bazala maximă din profil Selectat: Unități Șterge starea \"Terminat\" diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 6b0531f1da..127574d1ff 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -6,7 +6,7 @@ Безопасность терапии Макс разрешенный болюс [U] ед. Макс разрешенные углеводы (г) - Уровень ГК, ниже которого происходит остановка подачи инсулина + Уровень ГК, ниже которого происходит остановка подачи инсулина Настройки %1$s Настройки Синхронизировать назначения с NS @@ -36,16 +36,16 @@ Мониторить и контролировать AAPS при помощи часов WearOS. выполнить сейчас ВИРТУАЛЬНАЯ ПОМПА - последнее выполненное - параметры ввода - статус гликемии - текущий врем базал - данные IOB (активн инс) + последнее выполненное + параметры ввода + статус гликемии + текущий врем базал + данные IOB (активн инс) Профиль - данные приема пищи + данные приема пищи результат Результат: %1$s %2$s - данные гликемии недоступны + данные гликемии недоступны запрос изменение Конфигуратор @@ -97,10 +97,10 @@ файл не найден экспорт настроек импорт настроек - Максимальное значение ед./ч для скорости временного базала - в контексте OpenAPS называется макс базал - макс базал активн инс подаваемый с OpenAPS (ед) - Эта величина называется Max IOB (макс активн инс) в OpenAPS\n. Это макс кол-во инсулина в ед. [U] которое APS может подать единовременно. + Максимальное значение ед./ч для скорости временного базала + в контексте OpenAPS называется макс базал + макс базал активн инс подаваемый с OpenAPS (ед) + Эта величина называется Max IOB (макс активн инс) в OpenAPS\n. Это макс кол-во инсулина в ед. [U] которое APS может подать единовременно. Будет предложено ввести главный пароль, который будет использоваться для шифрования экспортированных параметров. Вам будет предложено ввести главный пароль, необходимый для расшифровки импортированных настроек. Экспорт отменен! Настройки НЕ экспортированы! @@ -155,8 +155,8 @@ Помощник болюса OpenAPS AMA Массив %1$d элементов. \nActual актуальная величина: данные autosens - отладка скрипта - Пользоваться функцией Autosens + отладка скрипта + Пользоваться функцией Autosens ДЕЙСТВ КОНФ ЗЦ @@ -168,17 +168,17 @@ ЦЕЛИ WEAR сокращенные имена табул - всегда используйте укороченное среднее приращение вместо простого - Полезно когда данные из нефильтрованных источников вроде xDrip+ начинают \"шуметь\". + всегда используйте укороченное среднее приращение вместо простого + Полезно когда данные из нефильтрованных источников вроде xDrip+ начинают \"шуметь\". значение по умолчанию:3 Это ключевой ограничитель безопасности OpenAPS. Он ограничивает величину вашего базала максимум до 3x максимума. Вам вероятно не понадобится менять эту величину но вам следует понимать, что она входит в формулу дуэта \"максимум 3x ежедневное; 4x текущее\" значение по умолчанию: 4 . Это вторая половина обеспечения безопасности OpenAPS из дуэта \"максимум 3x ежедневное; 4x текущее\" Означает что ваша база независимо от установок помпы не может быть выше чем это число умноженное на текущее значение базала. Ограничение для того, чтобы предотвратить вторжение в опасную зону из-за высокого уровня установленных значений базы без понимания алгоритма работы приложения. Большинству людей никогда не потребуется изменять это значение, скорее всего нужно поменять другие настройки если вы чувствуете, что вам мешает это ограничение. Значение по умолчанию: 1,2\n Это множитель для autosens ( и вскоре autotune) с лимитом 20%% который определяет лимит верхнего значения autosens, который в свою очередь предопределяет верхнюю границу базала, границы изменения чувствительности к инсулину ISF и нижние границы целевой ГК. по умолчанию:0.7 Еще один параметр безопасности autosens, определяющий как низко он может опускать базал и как высоко поднимать ISF (чувств к инс) и целевые СК - Autosens тоже подстроит цели - значение по умолчанию : верно. используется чтобы разрешить юстировку целевых СК, а также ISF и базала - значение по умолчанию :2 bolus snoose активируется после введения болюса на еду чтобы цикл не взаимодействовал с временными низкими СК сразу после еды. так, трехчасовой DIA при величине 2 означает постыпенное затихание bolus snooze после 1.5 часов (3DIA/2) - Значение по умолчанию: 3.0 (AMA) или 8.0 (SMB). Эта настройка на усвоение углеводов за 5 мин. По умолчанию ожидается 3мг/дл/5мин. Влияет на скорость учета поглощения углеводов COB и усвоения в расчетах прогнозируемой гликемии, когда СК падает быстрее или не растет так как ожидается. - Внимание! Обычно нет необходимости изменять приведенные ниже величины. Нажмите ЗДЕСЬ, ПРОЧТИТЕ и убедитесь что вы ПОНИМАЕТЕ изложенное прежде чем менять какую-либо из этих величин + Autosens тоже подстроит цели + значение по умолчанию : верно. используется чтобы разрешить юстировку целевых СК, а также ISF и базала + значение по умолчанию :2 bolus snoose активируется после введения болюса на еду чтобы цикл не взаимодействовал с временными низкими СК сразу после еды. так, трехчасовой DIA при величине 2 означает постыпенное затихание bolus snooze после 1.5 часов (3DIA/2) + Значение по умолчанию: 3.0 (AMA) или 8.0 (SMB). Эта настройка на усвоение углеводов за 5 мин. По умолчанию ожидается 3мг/дл/5мин. Влияет на скорость учета поглощения углеводов COB и усвоения в расчетах прогнозируемой гликемии, когда СК падает быстрее или не растет так как ожидается. + Внимание! Обычно нет необходимости изменять приведенные ниже величины. Нажмите ЗДЕСЬ, ПРОЧТИТЕ и убедитесь что вы ПОНИМАЕТЕ изложенное прежде чем менять какую-либо из этих величин выполнение настройки вирт помпы статус передачи данных в NS @@ -297,10 +297,10 @@ Динамический ISF Коэффициент регулировки динамического диапазона чувствительности ISF % Коэффициент корректировки динамического диапазона чувствительности ISF. Установите более 100% для агрессивных доз коррекции и менее 100% для менее агрессивной коррекции. - Включить непредвиденный прием пищи UAM - Включить супер микро болюс SMB - Для ускорения действия используйте супер микро болюсы SMB вместо временного базала - Поиск незапланированного приема пищи + Включить непредвиденный прием пищи UAM + Включить супер микро болюс SMB + Для ускорения действия используйте супер микро болюсы SMB вместо временного базала + Поиск незапланированного приема пищи НЕВЕРНО Процент Сдвиг по времени @@ -328,12 +328,12 @@ Параметры загрузки СК Показать подробно дельту Показать дельту еще с одним десятичным знаком - Как часто SMB будут подаваться в минутах - Верхний лимит минут базала на SMB - Максимум минут микроболюса SMB для непредвиденного приема пищи UAM - Максимум минут базала ограничивающего микроболюсы SMB на непредвиденный прием пищи UAM - Минимальный порог для напоминания о необходимых углеводах - Минимум граммов для активации предложения углеводов. Предложения ниже этой величины не будут инициировать уведомление. + Как часто SMB будут подаваться в минутах + Верхний лимит минут базала на SMB + Максимум минут микроболюса SMB для непредвиденного приема пищи UAM + Максимум минут базала ограничивающего микроболюсы SMB на непредвиденный прием пищи UAM + Минимальный порог для напоминания о необходимых углеводах + Минимум граммов для активации предложения углеводов. Предложения ниже этой величины не будут инициировать уведомление. Отправить данные СК на xDrip+ В xDrip + выберите источник данных 640g/Eversense СК с клиента Nightscout @@ -355,16 +355,16 @@ Максимум активного инсулина IOB установлен правильно СК доступны из выбранного источника Подача пролонгированного болюса не состоялась - Всегда включать супер микро болюс SMB - Всегда включать супер микро болюс SMB независимо от болюсов. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 - Активировать супер микро болюс SMB после углеводов - Включать супер микро болюс SMB на 6 часов после углеводов, даже при 0 активных углеводов COB. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 - Включить супер микро болюс при активных углеводах COB - Включить супер микро болюс SMB, когда имеются активные углеводы COB. - Включить супер микро болюс SMB с временными целями - Включить супер микро болюс SMB при активной временной цели (близкий прием пищи, нагрузка) - Включить супер микро болюс SMB с высокими значениями временных целей - Включить микроболюс SMB, когда активна высока временная цель (нагрузка, выше 100 мг/дл или 5,5 ммоль/л) + Всегда включать супер микро болюс SMB + Всегда включать супер микро болюс SMB независимо от болюсов. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 + Активировать супер микро болюс SMB после углеводов + Включать супер микро болюс SMB на 6 часов после углеводов, даже при 0 активных углеводов COB. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 + Включить супер микро болюс при активных углеводах COB + Включить супер микро болюс SMB, когда имеются активные углеводы COB. + Включить супер микро болюс SMB с временными целями + Включить супер микро болюс SMB при активной временной цели (близкий прием пищи, нагрузка) + Включить супер микро болюс SMB с высокими значениями временных целей + Включить микроболюс SMB, когда активна высока временная цель (нагрузка, выше 100 мг/дл или 5,5 ммоль/л) Инсулин Кнопки Отправляет калибровки на xDrip+ или открывает диалоговое окно калибровки BYODA DEXCOM @@ -404,12 +404,12 @@ Режим отладки включен Эта помпа не рассчитана на подачу временного базала Режим замкнутого цикла отключен в настройках - Автоматический подбор чувствительности Autosens отключен в настройках - Супер микро болюс SMB отключен в настройках - Незапланированный прием пищи UAM отключен в настройках + Автоматический подбор чувствительности Autosens отключен в настройках + Супер микро болюс SMB отключен в настройках + Незапланированный прием пищи UAM отключен в настройках Незапланированный прием пищи UAM отключен, поскольку он основывается на плагине чувствительности из Oref1 - множитель макс базала - множитель макс суточного базала + множитель макс базала + множитель макс суточного базала Болюс был подан в течение последних трех минут, минуя супер микро болюс SMB Базал задан корректно Ограничение расширенного болюса до %1$.1f U из-за %2$s @@ -421,11 +421,11 @@ Запись о замене картриджа инсулина Опция супер микро болюс всегда и после углеводов отключена т. к. активный источник данных СК не поддерживает комплексное фильтрование В режиме незамкнутого цикла open loop супер микро болюс SMB не допускается - Предел суммарного активного инсулина IOB для OpenAPS [U] - Эта величина называется Max IOB в OpenAPS context\nOpenAPS не будет добавлять инсулин если текущий активный инсулин ее превысит + Предел суммарного активного инсулина IOB для OpenAPS [U] + Эта величина называется Max IOB в OpenAPS context\nOpenAPS не будет добавлять инсулин если текущий активный инсулин ее превысит Максимальное время усваимости пищи [h] Время, за которое любая еда считается усвоившейся. Оставшиеся углеводы не будут учтены. - Значение уровня ГК, на котором происходит приостановка подачи инсулина. Значения по умолчанию являются стандартными для целевого диапазона. Пользователь может установить значения между 60 мг/дл (3.3 ммоль/л) и 100 мг/дл (5.5 ммоль/л) Параметры, заданные ниже 65/3.6 приводят к использованию значений по умолчанию + Значение уровня ГК, на котором происходит приостановка подачи инсулина. Значения по умолчанию являются стандартными для целевого диапазона. Пользователь может установить значения между 60 мг/дл (3.3 ммоль/л) и 100 мг/дл (5.5 ммоль/л) Параметры, заданные ниже 65/3.6 приводят к использованию значений по умолчанию Показать поле примечаний в диалогах назначений Далее Назад @@ -448,7 +448,7 @@ Разрешить подключение в роуминге Макс коэффициент авто чувствительности autosens Мин. коэффициент авто чувствительности autosens - Делитель продолжительности действия инсулина при болюсе OpenAPS AMA + Делитель продолжительности действия инсулина при болюсе OpenAPS AMA Множитель безопасности макс суточного базала Текущий множитель безопасности базала Тип виртуальной помпы @@ -504,7 +504,7 @@ Удалить записи журнала Назначение (инсулин: %1$.2f, углеводы: %2$d, в: %3$s) не было добавлено. Пожалуйста, проверьте и при необходимости добавьте запись вручную. eCarbs: %1$d г. (%2$d h), задержка: %3$d m - Данные autosens недоступны + Данные autosens недоступны Файлы журналов Разное Настройки журнала @@ -543,7 +543,7 @@ !!!!! Обнаружено медленное всасывание углеводов: %2$d%% времени. Еще раз проверьте свои расчеты. Возможно акт углеводы COB вне диапазона и может быть подано больше инсулина!!!!!]]> Подать эту часть рекомендации мастера болюса [%] Мастер болюса выполняет расчет, но подана только эта часть рекомендуемого инсулина. Полезно с алгоритмом SMB. - Повышаю максимальное значение базы т. к. оно меньше, чем максимальное значение в профиле + Повышаю максимальное значение базы т. к. оно меньше, чем максимальное значение в профиле Выбрано: Единицы Очистить завершенные diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index f8a8c329c7..efc1090c63 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -6,7 +6,7 @@ Bezpečnosť zadania ošetrenia Maximálny povolený bolus [JI] Maximálne povolené množstvo sacharidov [g] - Hodnota glykémie, pri ktorej sa aktivuje LGS + Hodnota glykémie, pri ktorej sa aktivuje LGS Nastavenie pluginu %1$s Nastavenia Obnoviť ošetrenia z NS @@ -36,16 +36,16 @@ Zobrazovanie stavu a riadenie AndroidAPS z hodiniek s WearOS. Spustiť teraz Virtuálna pumpa - Posledné spustenie - Vstupné parametre - Stav glykémie - Aktuálny bazál - IOB dáta + Posledné spustenie + Vstupné parametre + Stav glykémie + Aktuálny bazál + IOB dáta Profil - Dáta o jedle + Dáta o jedle Výsledok Výsledok: %1$s %2$s - Nedostupné dáta o glykémiách + Nedostupné dáta o glykémiách Požiadavka Rozdiel Konfigurácia @@ -97,10 +97,10 @@ Súbor nenájdený Exportovať nastavenia Importovať nastavenia - Max. JI/h, ktoré je možné nastaviť pre dočas. bazál - Táto hodnota je nazývaná v OpenAPS ako \"max basal\" - Maximálny bazálny IOB, ktorý OpenAPS môže podať [JI] - Táto hodnota je nazývaná v kontexte OpenAPS ako max IOB, je to maximálne množstvo inzulínu v [JI], ktoré APS môže naraz podať. + Max. JI/h, ktoré je možné nastaviť pre dočas. bazál + Táto hodnota je nazývaná v OpenAPS ako \"max basal\" + Maximálny bazálny IOB, ktorý OpenAPS môže podať [JI] + Táto hodnota je nazývaná v kontexte OpenAPS ako max IOB, je to maximálne množstvo inzulínu v [JI], ktoré APS môže naraz podať. Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie exportovaných nastavení. Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie importovaných nastavení. Export zrušený! Nastavenia neboli exportované! @@ -155,8 +155,8 @@ OpenAPS AMA Pole %1$d prvkov.\nAktuálna hodnota: Dáta detekcie citlivosti - Ladenie skriptu - Použi automatickú detekciu citlivosti + Ladenie skriptu + Použi automatickú detekciu citlivosti AKCIA KONF OKRUH @@ -168,17 +168,17 @@ CIEĽ WEAR Krátke názvy modulov - Vždy používať krátkodobý priemerný rozdiel glykémií, namiesto rozdielu posledných dvoch hodnôt - Zmysluplné, pokiaľ dáta z xDrip+ obsahujú veľký šum. + Vždy používať krátkodobý priemerný rozdiel glykémií, namiesto rozdielu posledných dvoch hodnôt + Zmysluplné, pokiaľ dáta z xDrip+ obsahujú veľký šum. Štandardná hodnota: 3 Toto je kľúčová hodnota zabezpečenia. Hovorí, že maximálny nastaviteľný bazál je trojnásobkom maximálneho denného bazálu. Spravidla to zrejme nebudete musieť meniť, prípadne si prečítate o téme \"3x max denný; 4x aktuálny\". Štandardná hodnota: 4 Toto je druhá kľúčová hodnota. Hovorí, že maximálna hodnota dočasného bazálu nikdy nebude väčšia, ako štvornásobok aktuálneho bazálu. Je to preto, aby se ľudia nedostali do nebezpečných hodnôt skôr, ako pochopia ako OpenAPS pracuje. Znovu, štandardná hodnota je 4 a väčšina ľudí ju nikdy nebude musieť meniť. Pokiaľ nestačí, obvykle je problém niekde inde. Štandardná hodnota: 1.2\nToto je bezpečnostné nastavenie pre detekciu citlivosti (a čoskoro autotune). Hovorí, že autosens môže zvýšiť bazály, znížiť ISF (citlivosť na inzulín) a znížiť cieľovú hodnotu glykémie o 20%%. Štandardná hodnota: 0.7\nToto je bezpečnostné nastavenie pre automatickú detekciu citlivosti. Hovorí, že automatická detekcia citlivosti môže znížiť bazály, zvýšiť ISF (citlivosť na inzulín) a zvýšiť cieľovú hodnotu glykémie na 70%. - Autosense takisto upravuje cieľovú glykémiu - Štandardná hodnota: zapnuté\nToto je používané, aby automatická detekcia citlivosti mohla okrem cieľovej hodnoty glekémie, upravovať aj citlivosť, prevody a bazály. - Štandardná hodnota: 2\nToto nastavenie hovorí, po akú časť z hodnoty DIA uzavretý okruh po boluse čaká a nereaguje na zmeny glykémií (tu 3DIA/2 = 1,5h). - Štandardná hodnota: 3.0 (AMA), alebo 8.0 (SMB) mg/dl/5min. Táto hodnota definuje minimálnu časť vstrebaných sacharidov za každých 5min. Táto hodnota ovplyvňuje výpočet COB. - Pozor!\nZa normálnych okolností tieto hodnoty nemusíte meniť. Kliknete TU, PREČÍTAJTE si informácie a UISTITE sa, že im rozumiete skôr, ako ich začnete meniť. + Autosense takisto upravuje cieľovú glykémiu + Štandardná hodnota: zapnuté\nToto je používané, aby automatická detekcia citlivosti mohla okrem cieľovej hodnoty glekémie, upravovať aj citlivosť, prevody a bazály. + Štandardná hodnota: 2\nToto nastavenie hovorí, po akú časť z hodnoty DIA uzavretý okruh po boluse čaká a nereaguje na zmeny glykémií (tu 3DIA/2 = 1,5h). + Štandardná hodnota: 3.0 (AMA), alebo 8.0 (SMB) mg/dl/5min. Táto hodnota definuje minimálnu časť vstrebaných sacharidov za každých 5min. Táto hodnota ovplyvňuje výpočet COB. + Pozor!\nZa normálnych okolností tieto hodnoty nemusíte meniť. Kliknete TU, PREČÍTAJTE si informácie a UISTITE sa, že im rozumiete skôr, ako ich začnete meniť. Vykonávam Nastavenie virtuálnej pumpy Nahrať stav do NS @@ -297,10 +297,10 @@ Dynamická ISF Korekčný faktor pre Dynamickú ISF v % Korekčný faktor pre dynamickú ISF. Pre agresivnejšie korekčné dávky nastavte hodnoty väčšie ako 100%, pre menej agresívne korekcie, menšie než 100%. - Povoliť UAM - Povoliť SMB - Použiť Super Mikro Bolusy namiesto dočasných bazálov, pre zrýchleniu účinku - Detekcia neoznámených jedál + Povoliť UAM + Povoliť SMB + Použiť Super Mikro Bolusy namiesto dočasných bazálov, pre zrýchleniu účinku + Detekcia neoznámených jedál NEPLATNÝ % zmena Posun času @@ -328,12 +328,12 @@ Nastavenie nahrávania glykémie Zobrazovať detailné zmeny Zobrazovať rozdiel s jedným desatinným miestom naviac - Ako často budú SMB podávané (v minutách) - Maximálny počet minút bazálu, ku ktorým se limituje SMB - UAM SMB max. minút - Maximální počet minút bazálu, ku ktorým sa limituje SMB pre UAM - Minimálne množstvo sacharidov potrebných pre návrh - Minimálne množstvo sacharidov v gramoch, ktoré spustí upozornenie návrhu sacharidov. Množstvo sacharidov pod touto hodnotou nespustí oznámenie. + Ako často budú SMB podávané (v minutách) + Maximálny počet minút bazálu, ku ktorým se limituje SMB + UAM SMB max. minút + Maximální počet minút bazálu, ku ktorým sa limituje SMB pre UAM + Minimálne množstvo sacharidov potrebných pre návrh + Minimálne množstvo sacharidov v gramoch, ktoré spustí upozornenie návrhu sacharidov. Množstvo sacharidov pod touto hodnotou nespustí oznámenie. Odosielať glykémie do xDrip+ V xDrip+ vyberte zdroj dát 640g/Eversense Glykémie z NS @@ -355,16 +355,16 @@ Maximálne IOB nastavené správne Glykémie dostupné z vybraného zdroja Chyba pri podávaní predĺženého bolusu - Vždy povoliť SMB - Povoliť SMB nezávisle na bolusoch. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 - Povoliť SMB po jedle - Povoliť SMB 6 hodín po boluse aj pri nulovom COB. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 - Povoliť SMB zo sacharidmi - Povoliť SMB, pokiaľ zostávajú aktívne sacharidy. - Povoliť SMB s dočasnými cieľmi - Povoliť SMB, pokiaľ je aktívny dočasný cieľ (aktivita, blížiace sa jedlo) - Povoliť SMB s vysokými dočasnými cieľmi - Povoliť SMB, ak je aktívny vysoký cieľ (cvičenie, vyšší ako 5,5 mmol/l) + Vždy povoliť SMB + Povoliť SMB nezávisle na bolusoch. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 + Povoliť SMB po jedle + Povoliť SMB 6 hodín po boluse aj pri nulovom COB. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 + Povoliť SMB zo sacharidmi + Povoliť SMB, pokiaľ zostávajú aktívne sacharidy. + Povoliť SMB s dočasnými cieľmi + Povoliť SMB, pokiaľ je aktívny dočasný cieľ (aktivita, blížiace sa jedlo) + Povoliť SMB s vysokými dočasnými cieľmi + Povoliť SMB, ak je aktívny vysoký cieľ (cvičenie, vyšší ako 5,5 mmol/l) Inzulín Tlačidlá Odošle kalibráciu do xDripu+, alebo otvorenie kalibračného dialógu BYODA @@ -404,12 +404,12 @@ Vývojársky mód povolený Pumpa nepodporuje dočasné bazály Uzavretý okruh zakázaný v nastaveniach - Automatická detekcia citlivosti zakázaná v nastaveniach - SMB zakázané v nastaveniach - UAM zakázané v nastaveniach + Automatická detekcia citlivosti zakázaná v nastaveniach + SMB zakázané v nastaveniach + UAM zakázané v nastaveniach UAM zakázané, pretože nie je povolený plug-in Oref1 - maximálny násobok bazálu - maximálny násobok najvyššieho bazálu + maximálny násobok bazálu + maximálny násobok najvyššieho bazálu Podaný bolus v priebehu posledných 3 minút, SMB preskočené Bazál nastavený správne Predĺžený bolus obmedzený na %1$.1f JI: %2$s @@ -421,11 +421,11 @@ Zaznamenať výmenu inzulínu \"SMB vždy\" a \"po jedle\" zakázané pretože zdroj glykémie nepodporuje rozšírené filtrovánie SBM nie sú povolené pri otvorenom okruhu - Maximálne celkové IOB, ktoré OpenAPS nemôže prekročiť [JI] - Táto hodnota je v kontexte OpenAPS nazývaná Max IOB.\nOpenAPS nikdy nepridá inzulín, pokiaľ je súčasné IOB väčšie, ako táto hodnota + Maximálne celkové IOB, ktoré OpenAPS nemôže prekročiť [JI] + Táto hodnota je v kontexte OpenAPS nazývaná Max IOB.\nOpenAPS nikdy nepridá inzulín, pokiaľ je súčasné IOB väčšie, ako táto hodnota Maximálna doba vstrebávania sacharidov [h] Doba, po ktorej sú všetky sacharidy považované za vstrebané. Zvyšné budú orezané. - Hodnota glykémie, pri ktorej bude podávanie inzulínu zastavené. Východzia hodnota využíva štandardný cieľový model. Užívateľ môže nastaviť hodnoty od 3,3 mmol/l do 5,5 mmol/l. Pri hodnotách pod 3,6 mmol/l se použije východzí model. + Hodnota glykémie, pri ktorej bude podávanie inzulínu zastavené. Východzia hodnota využíva štandardný cieľový model. Užívateľ môže nastaviť hodnoty od 3,3 mmol/l do 5,5 mmol/l. Pri hodnotách pod 3,6 mmol/l se použije východzí model. Zobrazovať kolónku poznámky v dialógoch ošetrení Ďalšia Späť @@ -448,7 +448,7 @@ Povoliť pripojenie pri roamingu Max hodnota detekcie citlivosti Min hodnota detekcie citlivosti - Deliteľ \"bolus snooze\" + Deliteľ \"bolus snooze\" Max násobiteľ denného najvyššieho bazálu Max násobiteľ súčasného bazálu Typ virtuálnej pumpy @@ -504,7 +504,7 @@ Vymazať logy Ošetrenie (inzulín: %1$.2f, sacharidy: %2$d, čas: %3$s) nie je možné pridať. Skontrolujte a podľa potreby manuálne pridajte záznam. eCarbs: %1$d g (%2$d h), Oneskorenie: %3$d m - Nedostupné dáta o glykémiách + Nedostupné dáta o glykémiách Log súbory Rôzne Nastavenie logovania @@ -543,7 +543,7 @@ !!!!! Detekovaná pomalá absorbcia sacharidov: %2$d%% času. Prekontrolujte kalkuláciu. COB môže byť úplne iné, môže byť podaného viac inzulínu!!!!!]]> Podaj túto časť z výsledku kalkulácie [%] Bolusová kalkulačka urobí výpočet, ale iba táto časť vypočítaného inzulínu je podaná. Pomáha pri SMB algoritme. - Zvýšenie maximálnej hodnoty bazálu, pretože nastavenie je nižšie, než je vaša maximálna hodnota bazálu v profile + Zvýšenie maximálnej hodnoty bazálu, pretože nastavenie je nižšie, než je vaša maximálna hodnota bazálu v profile Vybrané: Jednotky Vymazanie dokončené diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 8824fa4747..ee3560dd0d 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -35,16 +35,16 @@ Eversense-appen. Spara alla behandlingar som gjorts Utför nu Virtuell pump - Senaste beräkning - Ange värden - Glukosstatus - Nuvarande temp - IOB-data + Senaste beräkning + Ange värden + Glukosstatus + Nuvarande temp + IOB-data Profil - Måltidsdata + Måltidsdata Resultat Resultat: %1$s %2$s - Ingen BG-data tillänglig + Ingen BG-data tillänglig Beräknat behov Delta Konfigurationsverktyg @@ -92,10 +92,10 @@ Eversense-appen. Hittade inte filen Exportera inställningar Importera inställningar - Max enheter per timme som en temp basal kan sättas till - Detta värde kallas max basal inom OpenAPS - Maximal basal IOB som OpenAPS kan ge [E] - Detta värde kallas Max IOB i OpenAPS. Det är ställt till noll från start. Efter flera dagar till veckor, beroende på hur du känner, kan du välja att justera denna. + Max enheter per timme som en temp basal kan sättas till + Detta värde kallas max basal inom OpenAPS + Maximal basal IOB som OpenAPS kan ge [E] + Detta värde kallas Max IOB i OpenAPS. Det är ställt till noll från start. Efter flera dagar till veckor, beroende på hur du känner, kan du välja att justera denna. Du kommer att bli tillfrågad om huvudlösenordet som sedan kommer att användas för att kryptera exporterade inställningar. Du kommer att bli tillfrågad om huvudlösenordet som sedan kommer att användas för att avkryptera importerade inställningar. Exporten avbröts. Inställningarna har INTE exporterats! @@ -150,8 +150,8 @@ Eversense-appen. OpenAPS AMA En serie med %1$d tal.\nVärde: Autosensdata - Debug - Använd autosens + Debug + Använd autosens Act Konf Loop @@ -163,17 +163,17 @@ Eversense-appen. Mål Wear Förkorta namnen på flikarna - Använd alltid kort medeldelta istället för enkel delta - Användbart när ofiltrerade källor ger brusiga värden. + Använd alltid kort medeldelta istället för enkel delta + Användbart när ofiltrerade källor ger brusiga värden. Standardvärde: 3 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina temp basaler till maximalt 3x din största basaldos. Du behöver oftast inte ändra detta värde. Läs på och förstå skillnaden mellan 3x nuvarande och 3x daglig max som säkerhetsinställningar. Standardvärde: 4 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina tempbasaler till maximalt 4 gånger din nuvarande basaldos, oberoende av din maximala basaldos. Detta för att undvika att man av misstag gör farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning. Standardvärde: 1.2\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera upp basaler, sänka insulinkänslighet (ISF) och/eller målvärde med upp till 20%. Standardvärde: 0.7\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera ner basaler, höja insulinkänslighet (ISF) och/eller målvärde med upp till 30%% för att kompensera för t ex tillfällig hög insulinkänslighet. - Autosens justerar även mål-BG - Standardvärde: sant. Detta för att tillåta autosens justera mål-BG utöver ISF och basaler. - Standardvärde: 2 Bolus snooze är aktivt efter att du givit en måltidsbolus, detta för att inte loop ska lågtempa när du just ätit. I detta exempel och grundvärde är 2; innebär att DIA på 3 tim kommer bolus snooze kommer att fasas ut under 1,5 tim (3DIA/2). - Standardvärde: 3.0 (AMA) eller 8.0 (SMB). Detta är grundinställning för KH-absorption per 5 min. Detta styr hur snabbt COB minskar, dvs hur snabbt programmet kalkylerar att KH tagits upp, och påverkar BG framöver när BG faller mer än väntat, eller inte stiger som väntat. - Viktigt!\nNormalt behöver du inte ändra dessa värden. Vg KLICKA HÄR och LÄS texten och försäkra dig om att du FÖRSTÅTT innan du ändrar dessa värden. + Autosens justerar även mål-BG + Standardvärde: sant. Detta för att tillåta autosens justera mål-BG utöver ISF och basaler. + Standardvärde: 2 Bolus snooze är aktivt efter att du givit en måltidsbolus, detta för att inte loop ska lågtempa när du just ätit. I detta exempel och grundvärde är 2; innebär att DIA på 3 tim kommer bolus snooze kommer att fasas ut under 1,5 tim (3DIA/2). + Standardvärde: 3.0 (AMA) eller 8.0 (SMB). Detta är grundinställning för KH-absorption per 5 min. Detta styr hur snabbt COB minskar, dvs hur snabbt programmet kalkylerar att KH tagits upp, och påverkar BG framöver när BG faller mer än väntat, eller inte stiger som väntat. + Viktigt!\nNormalt behöver du inte ändra dessa värden. Vg KLICKA HÄR och LÄS texten och försäkra dig om att du FÖRSTÅTT innan du ändrar dessa värden. Utför Inställningar för Virtuell pump Ladda upp status till Nightscout @@ -288,10 +288,10 @@ Eversense-appen. Alla värden sparades inte! Aktivera lokala broadcasts OpenAPS SMB - Aktivera UAM - Aktivera SMB - Använd Super Micro Bolusar istället för temp basal för snabbare resultat - Avkänning av oförberedda måltider (UAM) + Aktivera UAM + Aktivera SMB + Använd Super Micro Bolusar istället för temp basal för snabbare resultat + Avkänning av oförberedda måltider (UAM) OGILTIG Procent Tidsförskjutning @@ -319,12 +319,12 @@ Eversense-appen. Uppladdningsinställningar för BG Visa detaljerad delta Visa delta med en extra decimal - Minsta antal minuter mellan SMB - Max antal minuter som kan bli SMB - UAM SMB max minuter - Max antal minuter basal som kan bli SMB vid UAM - Minimigräns för KH-förslag - Gränsvärde för om systemet ska föreslå en KH-korrektion. Förslag som är mindre än detta värde kommer inte att visas som notis. + Minsta antal minuter mellan SMB + Max antal minuter som kan bli SMB + UAM SMB max minuter + Max antal minuter basal som kan bli SMB vid UAM + Minimigräns för KH-förslag + Gränsvärde för om systemet ska föreslå en KH-korrektion. Förslag som är mindre än detta värde kommer inte att visas som notis. Skicka BG-data till xDrip+ Välj \"640G/Eversense\" som datakälla i xDrip+ NSClient BG @@ -346,16 +346,16 @@ Eversense-appen. Max IOB är korrekt angivet BG tillgängligt från vald källa Förlängd bolus misslyckad - Använd alltid SMB - Använd alltid SMB oberoende av bolus. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. - Använd SMB efter kolhydrater - Använd SMB i 6 timmar efter kolhydrater, även med 0 COB. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. - Använd SMB med kolhydrater (COB) - Använd SMB medan du har kolhydrater aktiva (COB) - Använd SMB vid temp målvärde - Använd SMB när temp mål är satt, t ex Äta snart eller Träning - Använd SMB vid högt målvärde - Aktivera SMB när det finns högt temp mål aktivt (träning, över 100 mg/dl eller 5,5 mmol/l) + Använd alltid SMB + Använd alltid SMB oberoende av bolus. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. + Använd SMB efter kolhydrater + Använd SMB i 6 timmar efter kolhydrater, även med 0 COB. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. + Använd SMB med kolhydrater (COB) + Använd SMB medan du har kolhydrater aktiva (COB) + Använd SMB vid temp målvärde + Använd SMB när temp mål är satt, t ex Äta snart eller Träning + Använd SMB vid högt målvärde + Aktivera SMB när det finns högt temp mål aktivt (träning, över 100 mg/dl eller 5,5 mmol/l) Insulin Knappar Sänder kalibrering till xDrip eller öppnar kalibreringsrutan i Dexcom-appen @@ -395,12 +395,12 @@ Eversense-appen. Engineering Mode aktiverat Pumpen kan inte hantera temp basaler Closed Loop inaktiverat i Inställningar - Autosens inaktiverat i Inställningar - SMB inaktiverat i Inställningar - UAM är inaktiverat i inställningarna + Autosens inaktiverat i Inställningar + SMB inaktiverat i Inställningar + UAM är inaktiverat i inställningarna UAM är inaktiverat eftersom det kräver Oref1 känslighetsplugin - multiplikator för max basal - multiplikator för daglig max basal + multiplikator för max basal + multiplikator för daglig max basal En bolus gavs för mindre än 3 min sedan. Hoppar över SMB Basal justerad korrekt Begränsar bolus till %1$.1f enheter pga %2$s @@ -412,8 +412,8 @@ Eversense-appen. Logga byte av insulinreservoar SMB Alltid På och SMB Efter Kolhydrater är inaktiverat pga att den aktiva BG-källan inte stöder avancerad filtrering SMB inte tillåtet i Open Loop - Max IOB som OpenAPS inte kan överstiga [U] - Det här värdet kallas Max IOB av OpenAPS. Om denna mängd insulin on board (IOB) nås, kan inte OpenAPS lägga till mer. + Max IOB som OpenAPS inte kan överstiga [U] + Det här värdet kallas Max IOB av OpenAPS. Om denna mängd insulin on board (IOB) nås, kan inte OpenAPS lägga till mer. Max absorptionstid för kolhydrater [tim] Efter denna tid anses alla kolhydrater vara absorberade. Om det fortfarande finns COB, kommer dessa att tas bort ur beräkningen. Anteckning i behandlingsdialoger @@ -434,7 +434,7 @@ Eversense-appen. Tillåt NS-data vid roaming Max autosens ratio Min autosens ratio - Bolus snooze DIA divisor + Bolus snooze DIA divisor Multiplikator för max daglig basal (max_daily) Multiplikator för nuvarande basal (max_current) Typ av virtuell pump @@ -484,7 +484,7 @@ Eversense-appen. Radera loggar En behandling (insulin: %1$.2f, kolhydrater: %2$d, tid: %3$s) kunde inte läggas till listan i Behandlingar. Vänligen kontrollera och lägg till en post manuellt vid behov. eCarbs: %1$d g (%2$d h), fördröjd i %3$d m - Ingen data tillgänglig för autosens + Ingen data tillgänglig för autosens Loggningsinställningar Återställ standardinställningar Fel på NSClient. Överväg att starta om NSClient och Nightscout-webbplatsen. @@ -520,7 +520,7 @@ Eversense-appen. Varning! Långsam KH-absorption upptäckt %2$d%% av tiden. Dubbelkolla din beräkning. COB kan vara väldigt missvisande och du riskerar få för mycket insulin!]]> Direkt bolus [%] Bolusguiden utför beräkningar, men endast denna del av beräknat insulin levereras. Användbar med SMB-algoritm. - Ökar maximalt basaldos eftersom inställningen är lägre än din maximala basal i profilen + Ökar maximalt basaldos eftersom inställningen är lägre än din maximala basal i profilen Valt: Enheter Rensa avslutade diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 0c116aadee..f72514b8fa 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -6,7 +6,7 @@ Tedavi güvenliği Maks izin verilen bolus [U] Maks izin verilen karbonhidrat [g] - KŞ seviyesi altında düşük glikoz duraklatma meydana gelir + KŞ seviyesi altında düşük glikoz duraklatma meydana gelir %1$s Tercihler Tercihler NS\'tan tedavileri güncelle @@ -36,16 +36,16 @@ WearOS saatinizi kullanarak AAPS\'yi izleyin ve kontrol edin. Şimdi Çalıştır SANAL POMPA - Son Çalıştırma - Girdi Parametreleri - Glikoz durumu - Mevcut Geçici Bazal - AİNS Verisi + Son Çalıştırma + Girdi Parametreleri + Glikoz durumu + Mevcut Geçici Bazal + AİNS Verisi Profil - Yemek Verisi + Yemek Verisi Sonuç Sonuç: %1$s %2$s - Glikoz verisi yok + Glikoz verisi yok İstek Delta Konfigürasyon ayarları @@ -97,10 +97,10 @@ Dosya bulunamadı Dışarı aktarma ayarları İçe aktarma ayarları - Maks Ü/s geçici Bazal ayarlanabilir - Bu değer OpenAPS\'te \"maksimum bazal\" olarak adlandırılır - OpenAPS\'in gönderebileceği maksimum bazal AİNS (Aktif insülin) [U] - Bu değere OpenAPS bağlamında Maks AİNS denir.\nAPS\'de bir kerede verilebilen maksimum insülin [U] ü. + Maks Ü/s geçici Bazal ayarlanabilir + Bu değer OpenAPS\'te \"maksimum bazal\" olarak adlandırılır + OpenAPS\'in gönderebileceği maksimum bazal AİNS (Aktif insülin) [U] + Bu değere OpenAPS bağlamında Maks AİNS denir.\nAPS\'de bir kerede verilebilen maksimum insülin [U] ü. Dışa aktarılan tercihleri şifrelemek için kullanılacak ana parola sorulacaktır. İçe aktarılan tercihlerin şifresini çözmek için gerekli olan ana parola sorulacaktır. Aktarım iptal edildi! Tercihler dışa aktarılmadı! @@ -155,8 +155,8 @@ OpenAPS AMA %1$d öğelerin dizisi.\nGerçek değer: Otoduyarlılık verileri - Skriptte hata ayıkla - Otoduyarlılık özelliğini kullan + Skriptte hata ayıkla + Otoduyarlılık özelliğini kullan EYLEM KONF DÖNGÜ @@ -168,18 +168,18 @@ GRV WEAR Kısa sekme başlıkları - Her zaman basit delta yerine kısa ortalama delta kullan - xDrip+ gibi filtrelenmemiş kaynaklardan gelen veriler gürültülü olduğunda kullanışlıdır. + Her zaman basit delta yerine kısa ortalama delta kullan + xDrip+ gibi filtrelenmemiş kaynaklardan gelen veriler gürültülü olduğunda kullanışlıdır. Varsayılan değer: 3 Bu OpenAPS için önemli bir güvenlik ayarıdır. Maksimum bazal Iob\'u, en büyük bazal oranınızın üç katı (varsayılan olarak) ile sınırlar. Genel olarak, bu değeri değiştirmemelisiniz. Ama \"3x max günlük, 4x şuan\" ın bir güvenlik ayarı olarak ne anlama geldiğini bilmelisiniz. Varsayılan ayar: 4 Bu, OpenAPS güvenlik ayarlarının diğer yarısı ve \"3x max günlük, 4x akım\" güvenlik korumasının diğer yarısıdır. Bu, başlangıç değerinizin, pompada ayarlanan taban maksimum değerinizden bağımsız olarak, mevcut bazal seviyenin bu sayısından daha yüksek olamayacağı anlamına gelir. Bu, insanların, algoritmanın nasıl çalıştığını anlamadan temel çizgiyi büyük ölçüde artırarak kendilerini tehlikeli durumlarda bulmalarını engellemektir. Varsayılan ayar 4x\'dir; Çoğu insan bu ayarları asla değiştirmek zorunda kalmayacak, ancak bu güvenlik sınırına yakınsa diğer terapi ayarlarını ayarlamalıdırlar. Varsayılan değer: 1.2\nOtoduyarlılık (yakında otoayar) çarpanı. Varsayılan değere %20 maksimum limit atamak, otoduyarlılığın bazalları ne kadar yüksek ayarlayabileceğini, ISF ve KŞ hedefini de ne kadar düşük ayarlayabileceğini belirler. Varsayılan değer: 0.7\nBu otoduyarlılık için diğer güvenlik önlemidir. Otoduyarlılığın bazal oranlarını ne kadar düşürebileceğini ve İnsülin Duyarlılık Faktörü ve KŞ hedeflerini ne kadar yüksek tutabileceğini gösterir. - Otoduyarlılık, hedefleri de ayarlar - Varsayılan değer: true\nBu otoduyarlılığın İnsülin Duyarlılık Faktörü ve bazallara ek olarak KŞ hedeflerinin ayarlanmasında kullanılır. - Varsayılan değer: 2\nYemek bolusu yaptıktan sonra bolus erteleme devreye girer, bu nedenle döngü, yeni yemek yediğinizde düşük geçici bazallar-hedefler ile etkileşime girmez. Buradaki örnek ve varsayılan 2\'dir; bu nedenle 3 saatlik bir İES, bolus ertelemenin kademeli olarak 1,5 saat (3İES/2) üzerinden aşamalı olarak sonlandırılacağı anlamına gelir. - Varsayılan değer: 3.0 (AMA) Gelişmiş Yemek Asistanı veya 8.0 (SMB) Super Micro Bolus. Bu 5 dakika başına varsayılan karbonhidrat emilimi için bir ayardır. Standart değer AMA için 3mg/dl/5dk aynı şekilde SMB 8mg/dl/5dk dir. + Otoduyarlılık, hedefleri de ayarlar + Varsayılan değer: true\nBu otoduyarlılığın İnsülin Duyarlılık Faktörü ve bazallara ek olarak KŞ hedeflerinin ayarlanmasında kullanılır. + Varsayılan değer: 2\nYemek bolusu yaptıktan sonra bolus erteleme devreye girer, bu nedenle döngü, yeni yemek yediğinizde düşük geçici bazallar-hedefler ile etkileşime girmez. Buradaki örnek ve varsayılan 2\'dir; bu nedenle 3 saatlik bir İES, bolus ertelemenin kademeli olarak 1,5 saat (3İES/2) üzerinden aşamalı olarak sonlandırılacağı anlamına gelir. + Varsayılan değer: 3.0 (AMA) Gelişmiş Yemek Asistanı veya 8.0 (SMB) Super Micro Bolus. Bu 5 dakika başına varsayılan karbonhidrat emilimi için bir ayardır. Standart değer AMA için 3mg/dl/5dk aynı şekilde SMB 8mg/dl/5dk dir. Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden daha fazla düştüğü veya beklenildiği kadar yükselmediği zamanlarda gelecekte yapılacak tahminlerde KŞ\'nin hesaplanmasında ne kadar karbonhidrat emilimi gerçekleşeceğini öngörür. - Dikkat!\nNormalde aşağıdaki bu değerleri değiştirmek zorunda değilsiniz. Lütfen burayı TIKLAYIN ve metni OKUYUN ve bu değerlerden herhangi birini değiştirmeden önce ANLADIĞINIZDAN emin olun. + Dikkat!\nNormalde aşağıdaki bu değerleri değiştirmek zorunda değilsiniz. Lütfen burayı TIKLAYIN ve metni OKUYUN ve bu değerlerden herhangi birini değiştirmeden önce ANLADIĞINIZDAN emin olun. Yürütülüyor Sanal pompa ayarları Nightscout\'a durum aktar @@ -298,10 +298,10 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Dinamik İDF DinamikİDF Ayar Faktörü % DinamikİDF için ayarlama faktörü. Daha agresif düzeltme dozları için %100\'den fazla ve daha az agresif düzeltmeler için %100\'den az ayarlayın. - UAM etkinleştir - SMB (Super Micro Bolus) etkinleştir - Daha hızlı bir etki için geçici bazal yerine Super Micro Bolus kullanın - (Uam) Bildirilmemiş öğünlerin tespiti + UAM etkinleştir + SMB (Super Micro Bolus) etkinleştir + Daha hızlı bir etki için geçici bazal yerine Super Micro Bolus kullanın + (Uam) Bildirilmemiş öğünlerin tespiti GEÇERSİZ Yüzde Zaman kaydırma @@ -329,12 +329,12 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d KŞ yükleme ayarları Ayrıntılı delta göster Deltayı bir ondalık basamakla daha göster - Kaç dakikada bir SMB verilebilecek - SMB\'yi sınırlamak için maksimum bazal dakika - UAM SMB maks. dakika ayarı - UAM da SMB\'yi sınırlamak için maksimum bazal dakika - Gerekli Minimum Karbonhidrat Önerisi - Bir karbonhidrat öneri uyarısı görüntülemek için minimum karbonhidrat gramı. Bu sayının altındaki karbonhidrat önerileri bildirilmeyecektir. + Kaç dakikada bir SMB verilebilecek + SMB\'yi sınırlamak için maksimum bazal dakika + UAM SMB maks. dakika ayarı + UAM da SMB\'yi sınırlamak için maksimum bazal dakika + Gerekli Minimum Karbonhidrat Önerisi + Bir karbonhidrat öneri uyarısı görüntülemek için minimum karbonhidrat gramı. Bu sayının altındaki karbonhidrat önerileri bildirilmeyecektir. XDrip+\'a KŞ verilerini gönder Xdrip+ içerisinde 640g/Eversense veri kaynağı seç Nightscout Client KŞ @@ -356,16 +356,16 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Maksimal AİNS doğru şekilde ayarlandı Seçili kaynaktan KŞ kullanılabilir Yayma bolus iletim hatası - SMB\'yi her zaman etkinleştir - SMB\'yi her zaman bağımsız olarak boluslarla etkinleştirin. G5 gibi verilerin yalnızca filtrelenmesiyle yalnızca KŞ kaynağıyla mümkündür - Yemeklerden sonra SMB\'yi etkinleştir - 0 AKRB (Aktif Karbonhidrat) olsa dahi, karbonhidrat alındıktan sonra 6 saat süreyle SMB\'yi (Süper Mikro Bolus) etkinleştirir. Şayet KŞ kaynağıyla kullanılacaksa verilerin iyice filtrelenmesiyle (Dexcom G5-G6 gibi) mümkündür. - SMB\'yi AKRB ile etkinleştir - AKRB (Aktif Karbonhidrat) aktif olduğunda SMB\'yi (Süper Mikro Bolus) etkinleştirin. - Geçici hedeflerle SMB\'yi etkinleştir - Geçici hedef aktif olduğunda SMB\'yi etkinleştir (yakında yeme, egzersiz) - Yüksek geçici hedeflerle SMB\'yi etkinleştir - Yüksek geçici hedef aktif olduğunda SMB\'yi etkinleştirin (egzersiz, 100 mg/dl veya 5.5 mmol/l\'nin üzerinde) + SMB\'yi her zaman etkinleştir + SMB\'yi her zaman bağımsız olarak boluslarla etkinleştirin. G5 gibi verilerin yalnızca filtrelenmesiyle yalnızca KŞ kaynağıyla mümkündür + Yemeklerden sonra SMB\'yi etkinleştir + 0 AKRB (Aktif Karbonhidrat) olsa dahi, karbonhidrat alındıktan sonra 6 saat süreyle SMB\'yi (Süper Mikro Bolus) etkinleştirir. Şayet KŞ kaynağıyla kullanılacaksa verilerin iyice filtrelenmesiyle (Dexcom G5-G6 gibi) mümkündür. + SMB\'yi AKRB ile etkinleştir + AKRB (Aktif Karbonhidrat) aktif olduğunda SMB\'yi (Süper Mikro Bolus) etkinleştirin. + Geçici hedeflerle SMB\'yi etkinleştir + Geçici hedef aktif olduğunda SMB\'yi etkinleştir (yakında yeme, egzersiz) + Yüksek geçici hedeflerle SMB\'yi etkinleştir + Yüksek geçici hedef aktif olduğunda SMB\'yi etkinleştirin (egzersiz, 100 mg/dl veya 5.5 mmol/l\'nin üzerinde) İnsülin Butonlar xDrip+\'a bir kalibrasyon gönderir veya BYODA kalibrasyon iletişim kutusunu açar @@ -405,12 +405,12 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Geliştirici modu etkinleştirildi Pompa geçici bazal özellikli değil Kapalı Döngü tercihlerde devre dışı bırakıldı - Otoduyarlılık tercihlerde devre dışı bırakıldı - SMB tercihlerde devre dışı bırakıldı - UAM tercihlerde devre dışı bırakıldı + Otoduyarlılık tercihlerde devre dışı bırakıldı + SMB tercihlerde devre dışı bırakıldı + UAM tercihlerde devre dışı bırakıldı UAM (UnAnnounced Meals), Oref1 duyarlılık eklentisine bağlı olduğu için devre dışı bırakıldı - maks bazal çarpanı - maks günlük bazal çarpan + maks bazal çarpanı + maks günlük bazal çarpan Son 3 dakika içerisinde bir bolus gönderildi, SMB (Super Micro Bolus) atlandı Bazal doğru ayarlanmış %2$s\'den dolayı yayma bolus %1$.1f Ü ile sınırlandırılıyor @@ -422,11 +422,11 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Rezervuar değişimini kaydet Aktif KŞ kaynağı gelişmiş filtrelemeyi desteklemediği için SMB (Super Micro Bolus) her zaman ve karbonhidratlardan sonra devre dışı bırakıldı Açık Döngü modunda SMB\'ye (Super Micro Bolus) izin verilmiyor - OpenAPS tarafından aşılamayacak maksimum toplam AİNS (Aktif İnsülin)[U] - Bu değer OpenAPS bağlamında Max AİNS (Aktif İnsülin) olarak adlandırılır\nOpenAPS, mevcut AİNS bu değerden daha büyükse daha fazla insülin vermez + OpenAPS tarafından aşılamayacak maksimum toplam AİNS (Aktif İnsülin)[U] + Bu değer OpenAPS bağlamında Max AİNS (Aktif İnsülin) olarak adlandırılır\nOpenAPS, mevcut AİNS bu değerden daha büyükse daha fazla insülin vermez Besinin maksimum emilim süresi [h] Herhangi bir öğünün emildiği kabul edilen zaman. Kalan karbonhidratlar kesilecek. - Altına düştüğünde insülinin askıya alındığı KŞ değeri. Varsayılan değer, standart hedef modeli kullanır. Kullanıcı değeri 60mg/dl (3,3mmol/l) ile 100mg/dl(5.5mmol/l) arasında ayarlayabilir. 65/3,6\'nın altındaki değerler varsayılan modelin kullanılmasına neden olur + Altına düştüğünde insülinin askıya alındığı KŞ değeri. Varsayılan değer, standart hedef modeli kullanır. Kullanıcı değeri 60mg/dl (3,3mmol/l) ile 100mg/dl(5.5mmol/l) arasında ayarlayabilir. 65/3,6\'nın altındaki değerler varsayılan modelin kullanılmasına neden olur Tedavi diyaloglarında not alanını göster İleri Önceki @@ -449,7 +449,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Roaming bağlantıya izin ver Maks. otoduyarlılık oranı Min. otoduyarlılık oranı - Bolus erteleme dia bölen + Bolus erteleme dia bölen Maks günlük güvenlik çarpanı Mevcut bazal güvenlik çarpanı Sanal pompa tipi @@ -505,7 +505,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Kayıtları Sil Tedavilere (insülin: %1$.2f, karbonhidrat: %2$d, %3$s) şeklinde bir tedavi eklenemedi. Lütfen kontrol edin ve uygun şekilde elle bir kayıt ekleyin. yKarb: %1$d g (%2$d sa), gecikme: %3$d dk - Otoduyarlılık verileri mevcut değil + Otoduyarlılık verileri mevcut değil Günlük dosyaları Diğer Ayarlar Günlük ayarları @@ -544,7 +544,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d !!!!! Yavaş karbonhidrat emilimi tespit edildi: zamanın %2$d%% si. Hesaplamanızı iki kez kontrol edin. Aktif Karbonhidrat (AKRB) olduğundan fazla tahmin edilebilir, bu nedenle daha fazla insülin verilebilir !!!!!]]> Bolus sihirbazı sonucunun bu kadarını ilet [%] Bolus sihirbazı hesaplamayı gerçekleştirir ancak hesaplanan insülinin yalnızca bu kısmı iletilir. SMB algoritması ile kullanışlıdır. - Profilinizdeki maksimum bazal değeriniz düşük olduğu için maksimum bazal değeri artırma + Profilinizdeki maksimum bazal değeriniz düşük olduğu için maksimum bazal değeri artırma Seçildi: Birim Komple tamamlandı diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 283d1dfd34..4260d41ddc 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -34,16 +34,16 @@ 保存所做的所有治疗 现在运行 虚拟泵 - 上一次运行 - 输入参数 - 血糖状态 - 当前临时基础率 - IOB活性胰岛素数据 + 上一次运行 + 输入参数 + 血糖状态 + 当前临时基础率 + IOB活性胰岛素数据 配置文件 - 膳食数据 + 膳食数据 结果 结果: %1$s %2$s - 没有可用的血糖数据 + 没有可用的血糖数据 请求 增量 配置生成器 @@ -91,10 +91,10 @@ 找不到文件 导出配置 导入配置 - 临时基础率可以设置的最大值(U/小时) - 这个值在 OpenAPS被称为最大基础率 - OpenAPS通过基础率可以输注的IOB活性胰岛素的最大值[U] - 这个值在OpenAPS中被成为最大IOB\n这是APS单次可以输注的胰岛素的最大值[U] + 临时基础率可以设置的最大值(U/小时) + 这个值在 OpenAPS被称为最大基础率 + OpenAPS通过基础率可以输注的IOB活性胰岛素的最大值[U] + 这个值在OpenAPS中被成为最大IOB\n这是APS单次可以输注的胰岛素的最大值[U] 请您输入主密码,该密码将用于加密导出的首选项配置。 请您输入主密码,该密码将用于解密导入的首选项配置。 导出已取消!首选项未导出! @@ -149,8 +149,8 @@ OpenAPS AMA %1$d 元素的数组. \n 实际值: Autosens 数据 - 脚本调试 - 使用Autosens功能 + 脚本调试 + 使用Autosens功能 操作 配置 闭环 @@ -162,17 +162,17 @@ 目标 手表 标题名称缩写 - 总是使用短时间的平均增量代替简单增量 - 当血糖数据未经过滤时,如xDrip+数据嘈杂,此功能非常有用。 + 总是使用短时间的平均增量代替简单增量 + 当血糖数据未经过滤时,如xDrip+数据嘈杂,此功能非常有用。 默认值: 3 这是一个关键的 OpenAPS 安全阀值。这是限制你的闭环可以最大扩张3倍的日最大基础率。你可能不需要改变这个值 但你应该这个值的含义。日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值 默认值: 4 这是另一个的关键 OpenAPS 安全阀值, 日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值。这意味着你的基础率, 无论你的泵上的最大基础率设置的多少,也 不能超过你的当前基础率的4倍。这是为了防止人们在了解该算法的工作原理之前进入危险的领域 。同样, 默认值为 4倍; 大多数人将永远不需要调整, 而是更有可能需要调整其他设置, 默认值: 1.2 \n 这是 autosens 的安全阀值 对 autosens ( 很快autotune) 比率的高值设置最大增加20%% 最大限制, 这反过来决定了 autosens 可以调整的基础率的上限值, 可以调整的胰岛素敏感系数的下限值, 以及它可以设置血糖目标的下限值。 默认值: 0.7 \n  这是autosens 的另一个安全阈值, 。这个值决定了 autosens 可以调整的基础率的下限值, 可以调整的胰岛素敏感系数的上限值, 以及它可以设置血糖目标的上限值。 - Autosens自动调整胰岛素敏感系数时,也调整血糖目标值 - 缺省值:是\n 这是用来允许 autosens调整血糖目标,还有 ISF胰岛素敏感系数和基础率这些参数。 - 默认值: 2 \n大剂量snooze是在输注餐时大剂量后开始生效的, 所以在你刚吃完饭的时候, 闭环不会因为你输注了大剂量而减少或停基础。这里的例子和缺省是 2; 因此, 3 小时的DIA(胰岛素持续作用时间) 意味着大剂量snooze将逐步在1. 5小时 (3 DIA/2) 后失效。 - 默认值: 3.0 (AMA) 或者 8.0 (SMB)。这是默认的每5分钟碳水化合物吸收量。默认值为3毫克/dl/5 分钟。 当血糖的下降超过预期时, 或者不像预期的上升的那么多时,这个值就影响了活性碳水化合物的衰减速度, 以及在计算预测未来血糖时假设的碳水化合物吸收量, - 注意! \n 正常地您不必在下面更改这些值。请点击这里, 阅读说明, 并确保您了解它之前不要更改任何这些值。 + Autosens自动调整胰岛素敏感系数时,也调整血糖目标值 + 缺省值:是\n 这是用来允许 autosens调整血糖目标,还有 ISF胰岛素敏感系数和基础率这些参数。 + 默认值: 2 \n大剂量snooze是在输注餐时大剂量后开始生效的, 所以在你刚吃完饭的时候, 闭环不会因为你输注了大剂量而减少或停基础。这里的例子和缺省是 2; 因此, 3 小时的DIA(胰岛素持续作用时间) 意味着大剂量snooze将逐步在1. 5小时 (3 DIA/2) 后失效。 + 默认值: 3.0 (AMA) 或者 8.0 (SMB)。这是默认的每5分钟碳水化合物吸收量。默认值为3毫克/dl/5 分钟。 当血糖的下降超过预期时, 或者不像预期的上升的那么多时,这个值就影响了活性碳水化合物的衰减速度, 以及在计算预测未来血糖时假设的碳水化合物吸收量, + 注意! \n 正常地您不必在下面更改这些值。请点击这里, 阅读说明, 并确保您了解它之前不要更改任何这些值。 正在执行 虚拟泵设置 将状态上传到 NS @@ -289,10 +289,10 @@ OpenAPS SMB 动态ISF(胰岛素敏感系数) 动态ISF的调整因子。设置100%以上用于更积极的校正,100%以下则不那么积极校正。 - 启用 UAM - 启用微型大剂量 - 使用微型大剂量代替使用临时基础率,更快的干预 - 检测未输入的膳食 + 启用 UAM + 启用微型大剂量 + 使用微型大剂量代替使用临时基础率,更快的干预 + 检测未输入的膳食 无效 百分比 时间偏移 @@ -320,12 +320,12 @@ 血糖上传设置 显示详细的增量 增量再多显示一个小数位 - 以分钟为单位设置SMB(微型大剂量) 的频率 - 基础率的最大分钟数限制SMB微型大剂量到 - UAM(未通知膳食) SMB(微型大剂量) 最大分钟数 - 监测到UAM(未通知膳食) 后启用SMB(微型大剂量) 替代基础率的最大分钟数 - 碳水化合物需求建议的最小值 - 显示碳水化合物需求警告的最小克数。低于此数值的碳水化合物需求不会触发通知。 + 以分钟为单位设置SMB(微型大剂量) 的频率 + 基础率的最大分钟数限制SMB微型大剂量到 + UAM(未通知膳食) SMB(微型大剂量) 最大分钟数 + 监测到UAM(未通知膳食) 后启用SMB(微型大剂量) 替代基础率的最大分钟数 + 碳水化合物需求建议的最小值 + 显示碳水化合物需求警告的最小克数。低于此数值的碳水化合物需求不会触发通知。 将血糖数据发送到 xDrip + 在 xDrip + 选择640g/Eversense 数据源 NSClient 血糖 @@ -347,16 +347,16 @@ 合理地设置最大 IOB 所选的血糖值来源的血糖是可用的 扩展大剂量(方波) 输注错误 - 始终启用 SMB - 启用SMB微型大剂量,总是独立于常规大剂量。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 - 在输入碳水化合物后启用SMB - 在输入碳水化合物后,启用SMB微型大剂量6个小时,即使活性碳水化合物COB为0。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 - 启用带活性碳水化合物的SMB - 当有活性碳水化合物时启动SMB - 启用带有临时目标的SMB - 当临时目标处于活动状态时启用 SMB (很快吃饭, 运动) - 启用具有高临时目标的 SMB - 当激活较高的临时目标时,启用SMB微型大剂量(目标血糖大于100 mg/dl或5.5 mmol/l) + 始终启用 SMB + 启用SMB微型大剂量,总是独立于常规大剂量。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 + 在输入碳水化合物后启用SMB + 在输入碳水化合物后,启用SMB微型大剂量6个小时,即使活性碳水化合物COB为0。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 + 启用带活性碳水化合物的SMB + 当有活性碳水化合物时启动SMB + 启用带有临时目标的SMB + 当临时目标处于活动状态时启用 SMB (很快吃饭, 运动) + 启用具有高临时目标的 SMB + 当激活较高的临时目标时,启用SMB微型大剂量(目标血糖大于100 mg/dl或5.5 mmol/l) 胰岛素 按钮 将校准发送到xDrip+或打开BYODA校准对话框 @@ -396,12 +396,12 @@ 已启用工程模式 这个泵无法设置临时基础率 在参数选项中禁用了闭环模式 - Autosens 在参数选项中被禁用了 - SMB微型大剂量在参数选项里被禁用了 - UAM 在参数选项中被禁用了 + Autosens 在参数选项中被禁用了 + SMB微型大剂量在参数选项里被禁用了 + UAM 在参数选项中被禁用了 UAM被禁用, 因为它依赖于 Oref1 敏感都插件 - 最大基础率倍数 - 最大日基础率倍数 + 最大基础率倍数 + 最大日基础率倍数 在最近3分钟内输注了大剂量,正在忽略SMB微型大剂量 正确地设置基础率 由于 %2$s, 将扩展大剂量限制为 %1$.1f U @@ -413,8 +413,8 @@ 记录胰岛素储药器变化 SMB always and after carbs disabled 因为实时的血糖来源不支持高级筛选 在开环模式下不允许使用SMB-微型大剂量 - OpenAPS的IOB活性胰岛素总数的最大值不能超过[U] - 该值在OpenAPS中称为最大 IOB\n如果当前IOB大于此值,则OpenAPS不会输注更多胰岛素 + OpenAPS的IOB活性胰岛素总数的最大值不能超过[U] + 该值在OpenAPS中称为最大 IOB\n如果当前IOB大于此值,则OpenAPS不会输注更多胰岛素 膳食最大吸收时间 [h] 任何膳食被认为完全吸收的时间。 剩余的碳水化合物将被忽略 在治疗对话框中显示备注字段 @@ -435,7 +435,7 @@ 允许在漫游中连接 最大 autosens 比率 最小 autosens 比率 - 大剂量snooze 胰岛素持续作用时间除数 + 大剂量snooze 胰岛素持续作用时间除数 最大日基础率安全倍数 当前基础率安全倍数 虚拟泵类型 @@ -487,7 +487,7 @@ 删除日志 一个治疗 (胰岛素: %1$.2f, 碳水: %2$d, 在: %3$s)不能被添加到治疗里。请检查并手动记录是合适的。 eCarbs: %1$d 克 (%2$d h), 延迟: %3$d 分钟 - Autosens 数据不可用 + Autosens 数据不可用 日志设置 重置为默认值 NSClient故障。 考虑Nightscout和NSClient重启。 @@ -523,7 +523,7 @@ !!!!! 检测到碳水化合物吸收缓慢:%2$d%%的时间。再次检查你的计算。COB可能被高估,因此可以给予更多胰岛素!!!!!]]> 输注大剂量向导结果的一部分[%] 大剂量向导执行计算,但只有这部分计算结果的胰岛素被输注。适用于SMB算法。 - 增加最大基础率,因为设置参数低于你配置文件中的最大基础率 + 增加最大基础率,因为设置参数低于你配置文件中的最大基础率 已选择: 单位 清除已完成 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index df0ec70b04..1ffce60003 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -32,10 +32,7 @@ smscommunicator protection absorption_category_settings - bolussnooze_dia_divisor - autosens_adjust_targets last_cleanup_run - BG level below which low glucose suspend occurs %1$s Preferences Preferences Refresh treatments from NS @@ -44,9 +41,6 @@ Exit Used for configuring the active plugins Activate or deactivate the implementation triggering the loop. - State of the algorithm in 2017 - Most recent algorithm for advanced users - Most recent algorithm for advanced users with dynamic/automatic ISF Displays the current state of your loop and buttons for most common actions Shows an ongoing notification with a short overview of what your loop is doing Sensitivity is calculated the same way like Oref0, but you can specify timeframe to the past. Minimal carb absorption is calculated from max carb absorption time from preferences. @@ -54,17 +48,6 @@ Sensitivity is calculated as a weighted average from deviations. Newer deviations have higher weight. Minimal carb absorption is calculated from max carb absorption time from preferences. This algorithm is the fastest in following sensitivity changes. Saves all treatments that were made Monitor and control AAPS using your WearOS watch. - Run now - Last run - Input parameters - Glucose status - Current temp - IOB data - Profile - Meal data - Result - No glucose data available - Request Delta Config Builder Overview @@ -80,14 +63,12 @@ Synchronization Data upload and synchronization plugins. Which constraints are applied? - Constraints Loop Use this to activate AAPS\' loop integration. APS After processed constraints Temp basal set by pump NO APS SELECTED OR PROVIDED RESULT - Plugin is disabled Constraints violation Change your input! BG Source @@ -104,10 +85,6 @@ File not found Export settings Import settings - Max U/h a Temp Basal can be set to - This value is called max basal in OpenAPS context - Maximum basal IOB OpenAPS can deliver [U] - This value is called Max IOB in OpenAPS context\nThis is maximal insulin in [U] APS can deliver at once. Language You will be asked for master password, which will be used to encrypt exported preferences. Export canceled! Preferences were NOT exported! @@ -149,33 +126,12 @@ Open Settings on Wear Ongoing Notification OLD DATA - OpenAPS AMA - Array of %1$d elements.\nActual value: - Autosens data - Script debug - Use Autosens feature CONF LOOP - OAPS - DYNISF HOME TREAT WEAR Shorten tab titles - Always use short average delta instead of simple delta - Useful when data from unfiltered sources like xDrip+ gets noisy. - Default value: 3 This is a key OpenAPS safety cap. What this does is limit your basals to be 3x (in this people) your biggest basal rate. You likely will not need to change this, but you should be aware that’s what is discussed about “3x max daily; 4x current” for safety caps. - Default value: 4 This is the other half of the key OpenAPS safety caps, and the other half of “3x max daily; 4x current” of the safety caps. This means your basal, regardless of max basal set on your pump, cannot be any higher than this number times the current level of your basal. This is to prevent people from getting into dangerous territory by setting excessively high max basals before understanding how the algorithm works. Again, the default is 4x; most people will never need to adjust this and are instead more likely to need to adjust other settings if they feel like they are “running into” this safety cap. - Default value: 1.2\nThis is a multiplier cap for autosens (and soon autotune) to set a 20%% max limit on how high the autosens ratio can be, which in turn determines how high autosens can adjust basals, how low it can adjust ISF, and how low it can set the BG target. - Default value: 0.7\nThe other side of the autosens safety limits, putting a cap on how low autosens can adjust basals, and how high it can adjust ISF and BG targets. - Autosens adjust targets, too - Default value: true\nThis is used to allow autosens to adjust BG targets, in addition to ISF and basals. - Default value: 2\nBolus snooze is enacted after you do a meal bolus, so the loop won’t counteract with low temps when you’ve just eaten. The example here and default is 2; so a 3 hour DIA means that bolus snooze will be gradually phased out over 1.5 hours (3DIA/2). - min_5m_carbimpact - Default value: 3.0 (AMA) or 8.0 (SMB). This is a setting for default carb absorption impact per 5 minutes. The default is an expected 3mg/dl/5min. This affects how fast COB are decayed, and how much carb absorption is assumed in calculating future predicted BG, when BG is falling more than expected, or not rising as much as expected. - Attention!\nNormally you do not have to change these values below. Please CLICK HERE and READ the text and make sure you UNDERSTAND it before change any of these values. - http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html - Executing Wear settings not successful - please check phone Patient name @@ -223,16 +179,7 @@ Sensitivity WeightedAverage Not all profiles loaded! Values not stored! - OpenAPS SMB - Dynamic ISF - DynISFAdjust - DynamicISF Adjustment Factor % - Adjustment factor for DynamicISF. Set more than 100% for more aggressive correction doses, and less than 100% for less aggressive corrections. smb_enable_carbs_suggestions_threshold - Enable UAM - Enable SMB - Use Super Micro Boluses instead of temp basal for faster action - Detection of Unannounced meals INVALID Default Temp-Targets eatingsoon duration @@ -251,14 +198,6 @@ Alert if carbs are required Show detailed delta Show delta with one more decimal place - smbinterval - How frequently SMBs will be given in min - Max minutes of basal to limit SMB to - UAM SMB max minutes - Max minutes of basal to limit SMB to for UAM - carbsReqThreshold - Minimum Carbs Required For Suggestion - Minimum grams of carbs to display a carbs suggestion alert. Carbs suggestions below this number will not trigger a notification. BG calculation Bolus IOB calculation Basal IOB calculation @@ -269,21 +208,6 @@ COB calculation Temporary target calculation Percentage calculation - enableSMB_always - enableSMB_with_COB - enableSMB_with_temptarget - enableSMB_after_carbs - enableSMB_with_high_temptarget - Enable SMB always - Enable SMB always independently to boluses. Possible only with BG source with nice filtering of data like G5 - Enable SMB after carbs - Enable SMB for 6h after carbs, even with 0 COB. Possible only with BG source with nice filtering of data like G5 - Enable SMB with COB - Enable SMB when there is COB active. - Enable SMB with temp targets - Enable SMB when there is temp target active (eating soon, exercise) - Enable SMB with high temp targets - Enable SMB when there is high temp target active (exercise, above 100 mg/dl or 5.5 mmol/l) Buttons show_calibration_button show_cgm_button @@ -320,11 +244,8 @@ A bolus was delivered within the last 3 minutes, skipping SMB Basal set correctly IobCobCalculator - Maximum total IOB OpenAPS can\'t go over [U] - This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value Meal max absorption time [h] Time at which any meal is considered absorbed. Remaining carbs will be cut off. - BG value below which insulin is suspended. Default value uses standard target model. User can set value between 60mg/dl (3.3mmol/l) and 100mg/dl(5.5mmol/l). Values below 65/3.6 result in use of default model Show notes field in treatment dialogs SetupWizardActivity Next @@ -338,12 +259,8 @@ Second carbs increment Third carbs increment CGM - always_use_shortavg Max autosens ratio Min autosens ratio - Bolus snooze dia divisor - Max daily safety multiplier - Current basal safety multiplier wearwizard_bg wearwizard_tt wearwizard_trend @@ -369,18 +286,6 @@ Open navigation Close navigation Plugin preferences - high_temptarget_raises_sensitivity - low_temptarget_lowers_sensitivity - High temptarget raises sensitivity - = 100]]> - Low temptarget lowers sensitivity - - resistance_lowers_target - Resistance lowers target - When resistance is detected, lower the target glucose - sensitivity_raises_target - Sensitivity raises target - When sensitivity is detected, raise the target glucose keep_screen_on Remove items Sort items @@ -400,7 +305,6 @@ Delete Logs A treatment (insulin: %1$.2f, carbs: %2$d, at: %3$s) could not be added to treatments. Please check and manually add a record as appropriate. eCarbs: %1$d g (%2$d h), delay: %3$d m - No autosens data available Log files Miscellaneous Log settings @@ -411,8 +315,6 @@ Open Loop will popup new change request only if change is bigger than this value in %. Default value is 20% short_tabtitles == ∑ %1$s U - smbmaxminutes - uamsmbmaxminutes Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. Units Select units you want to display values in @@ -490,8 +392,6 @@ Search (No Watch Connected) - dynisf_adjust_sensitivity - Adjust sensitivity and BG Database cleanup Do you want to cleanup the database?\nIt will remove tracked changes and historic data older than 3 months. Cleared entries diff --git a/app/src/main/res/xml/pref_absorption_oref1.xml b/app/src/main/res/xml/pref_absorption_oref1.xml index 62c93f1ed9..a745b3bb97 100644 --- a/app/src/main/res/xml/pref_absorption_oref1.xml +++ b/app/src/main/res/xml/pref_absorption_oref1.xml @@ -11,14 +11,14 @@ diff --git a/app/src/main/res/xml/pref_openhumans.xml b/app/src/main/res/xml/pref_openhumans.xml deleted file mode 100644 index b4b1fee2d4..0000000000 --- a/app/src/main/res/xml/pref_openhumans.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 2bfe1ef0d3..f05d4007e8 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -10,9 +10,6 @@ import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danars.DanaRSPlugin import info.nightscout.androidaps.insight.database.InsightDatabaseDao import info.nightscout.androidaps.insight.database.InsightDbHelper -import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.androidaps.plugins.pump.combo.ComboPlugin @@ -21,7 +18,6 @@ import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInf import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.androidaps.utils.Profiler import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl @@ -32,6 +28,7 @@ import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.defs.PumpDescription @@ -80,9 +77,9 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { private lateinit var danaRPlugin: DanaRPlugin private lateinit var danaRSPlugin: DanaRSPlugin private lateinit var insightPlugin: LocalInsightPlugin - private lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin - private lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin - private lateinit var openAPSSMBDynamicISFPlugin: OpenAPSSMBDynamicISFPlugin + private lateinit var openAPSSMBPlugin: info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin + private lateinit var openAPSAMAPlugin: info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin + private lateinit var openAPSSMBDynamicISFPlugin: info.nightscout.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin private val injector = HasAndroidInjector { AndroidInjector { @@ -101,13 +98,13 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { `when`(rh.gs(R.string.closed_loop_disabled_on_dev_branch)).thenReturn("Running dev version. Closed loop is disabled.") `when`(rh.gs(R.string.closedmodedisabledinpreferences)).thenReturn("Closed loop mode disabled in preferences") `when`(rh.gs(R.string.novalidbasalrate)).thenReturn("No valid basal rate read from pump") - `when`(rh.gs(R.string.autosensdisabledinpreferences)).thenReturn("Autosens disabled in preferences") - `when`(rh.gs(R.string.smbdisabledinpreferences)).thenReturn("SMB disabled in preferences") + `when`(rh.gs(R.string.autosens_disabled_in_preferences)).thenReturn("Autosens disabled in preferences") + `when`(rh.gs(R.string.smb_disabled_in_preferences)).thenReturn("SMB disabled in preferences") `when`(rh.gs(R.string.pumplimit)).thenReturn("pump limit") `when`(rh.gs(R.string.itmustbepositivevalue)).thenReturn("it must be positive value") `when`(rh.gs(R.string.maxvalueinpreferences)).thenReturn("max value in preferences") - `when`(rh.gs(R.string.maxbasalmultiplier)).thenReturn("max basal multiplier") - `when`(rh.gs(R.string.maxdailybasalmultiplier)).thenReturn("max daily basal multiplier") + `when`(rh.gs(R.string.max_basal_multiplier)).thenReturn("max basal multiplier") + `when`(rh.gs(R.string.max_daily_basal_multiplier)).thenReturn("max daily basal multiplier") `when`(rh.gs(R.string.pumplimit)).thenReturn("pump limit") `when`(rh.gs(R.string.limitingbolus)).thenReturn("Limiting bolus to %.1f U because of %s") `when`(rh.gs(R.string.hardlimit)).thenReturn("hard limit") @@ -162,7 +159,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { ) insightPlugin = LocalInsightPlugin(injector, aapsLogger, rxBus, rh, sp, commandQueue, profileFunction, context, config, dateUtil, insightDbHelper, pumpSync) openAPSSMBPlugin = - OpenAPSSMBPlugin( + info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin( injector, aapsLogger, rxBus, @@ -180,7 +177,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { glucoseStatusProvider ) openAPSSMBDynamicISFPlugin = - OpenAPSSMBDynamicISFPlugin( + info.nightscout.plugins.aps.openAPSSMBDynamicISF.OpenAPSSMBDynamicISFPlugin( injector, aapsLogger, rxBus, @@ -199,7 +196,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { buildHelper ) openAPSAMAPlugin = - OpenAPSAMAPlugin( + info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin( injector, aapsLogger, rxBus, @@ -277,8 +274,9 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { // Safety & Objectives @Test fun isAutosensModeEnabledTest() { + openAPSSMBPlugin.setPluginEnabled(PluginType.APS, true) objectivesPlugin.objectives[Objectives.AUTOSENS_OBJECTIVE].startedOn = 0 - `when`(sp.getBoolean(R.string.key_openapsama_useautosens, false)).thenReturn(false) + `when`(sp.getBoolean(R.string.key_openapsama_use_autosens, false)).thenReturn(false) val c = constraintChecker.isAutosensModeEnabled() Assert.assertEquals(true, c.reasonList.size == 2) // Safety & Objectives Assert.assertEquals(true, c.mostLimitedReasonList.size == 2) // Safety & Objectives @@ -306,6 +304,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { // Safety & Objectives @Test fun isSMBModeEnabledTest() { + openAPSSMBPlugin.setPluginEnabled(PluginType.APS, true) objectivesPlugin.objectives[Objectives.SMB_OBJECTIVE].startedOn = 0 `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(false) `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("open") diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index 170e402f99..25b1de3e71 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config -import info.nightscout.plugins.general.maintenance.LoggerUtils +import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt index 539c63db9f..5c403dfb70 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt @@ -4,10 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.androidaps.plugins.aps.openAPSAMA.OpenAPSAMAPlugin -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.Profiler import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants @@ -15,9 +12,12 @@ import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.R +import info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin +import info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.plugins.constraints.safety.SafetyPlugin import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.plugins.source.GlimpPlugin @@ -54,16 +54,16 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(rh.gs(R.string.itmustbepositivevalue)).thenReturn("it must be positive value") `when`(rh.gs(R.string.pumplimit)).thenReturn("pump limit") `when`(rh.gs(R.string.maxvalueinpreferences)).thenReturn("max value in preferences") - `when`(rh.gs(R.string.maxbasalmultiplier)).thenReturn("max basal multiplier") - `when`(rh.gs(R.string.maxdailybasalmultiplier)).thenReturn("max daily basal multiplier") + `when`(rh.gs(info.nightscout.plugins.aps.R.string.max_daily_basal_multiplier)).thenReturn("max daily basal multiplier") + `when`(rh.gs(info.nightscout.plugins.aps.R.string.max_basal_multiplier)).thenReturn("max basal multiplier") `when`(rh.gs(R.string.limitingbolus)).thenReturn("Limiting bolus to %1\$.1f U because of %2\$s") `when`(rh.gs(R.string.limitingbasalratio)).thenReturn("Limiting max basal rate to %1\$.2f U/h because of %2\$s") `when`(rh.gs(R.string.limitingiob)).thenReturn("Limiting IOB to %1\$.1f U because of %2\$s") `when`(rh.gs(R.string.limitingcarbs)).thenReturn("Limiting carbs to %1\$d g because of %2\$s") `when`(rh.gs(R.string.limitingpercentrate)).thenReturn("Limiting max percent rate to %1\$d%% because of %2\$s") `when`(rh.gs(R.string.pumpisnottempbasalcapable)).thenReturn("Pump is not temp basal capable") - `when`(rh.gs(R.string.increasingmaxbasal)).thenReturn("Increasing max basal value because setting is lower than your max basal in profile") - `when`(rh.gs(R.string.smbdisabledinpreferences)).thenReturn("SMB disabled in preferences") + `when`(rh.gs(info.nightscout.plugins.aps.R.string.increasing_max_basal)).thenReturn("Increasing max basal value because setting is lower than your max basal in profile") + `when`(rh.gs(info.nightscout.plugins.aps.R.string.smb_disabled_in_preferences)).thenReturn("SMB disabled in preferences") `when`(rh.gs(R.string.closedmodedisabledinpreferences)).thenReturn("Closed loop mode disabled in preferences") `when`(rh.gs(R.string.closed_loop_disabled_on_dev_branch)).thenReturn("Running dev version. Closed loop is disabled.") `when`(rh.gs(R.string.smbalwaysdisabled)).thenReturn("SMB always and after carbs disabled because active BG source doesn\\'t support advanced filtering") @@ -76,10 +76,14 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(config.APS).thenReturn(true) hardLimits = HardLimitsMock(sp, rh) safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, activePlugin, hardLimits, buildHelper, iobCobCalculator, config, dateUtil) - openAPSAMAPlugin = OpenAPSAMAPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, fabricPrivacy, - dateUtil, repository, glucoseStatusProvider, sp) - openAPSSMBPlugin = OpenAPSSMBPlugin(injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, sp, - dateUtil, repository, glucoseStatusProvider) + openAPSAMAPlugin = OpenAPSAMAPlugin( + injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, fabricPrivacy, + dateUtil, repository, glucoseStatusProvider, sp + ) + openAPSSMBPlugin = OpenAPSSMBPlugin( + injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, sp, + dateUtil, repository, glucoseStatusProvider + ) } @Test @@ -112,17 +116,17 @@ class SafetyPluginTest : TestBaseWithProfile() { @Test fun notEnabledSMBInPreferencesDisablesSMB() { - `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(false) + `when`(sp.getBoolean(info.nightscout.plugins.aps.R.string.key_use_smb, false)).thenReturn(false) `when`(constraintChecker.isClosedLoopAllowed(anyObject())).thenReturn(Constraint(true)) var c = Constraint(true) - c = safetyPlugin.isSMBModeEnabled(c) + c = openAPSSMBPlugin.isSMBModeEnabled(c) Assert.assertTrue(c.getReasons(aapsLogger).contains("SMB disabled in preferences")) Assert.assertEquals(false, c.value()) } @Test fun openLoopPreventsSMB() { - `when`(sp.getBoolean(R.string.key_use_smb, false)).thenReturn(true) + `when`(sp.getBoolean(info.nightscout.plugins.aps.R.string.key_use_smb, false)).thenReturn(true) `when`(constraintChecker.isClosedLoopAllowed(anyObject())).thenReturn(Constraint(false)) var c = Constraint(true) c = safetyPlugin.isSMBModeEnabled(c) @@ -141,22 +145,19 @@ class SafetyPluginTest : TestBaseWithProfile() { @Test fun basalRateShouldBeLimited() { - `when`(sp.getDouble(R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) - `when`(sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) - `when`(sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) - `when`(sp.getString(R.string.key_age, "")).thenReturn("child") + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) + `when`(sp.getString(info.nightscout.plugins.aps.R.string.key_age, "")).thenReturn("child") val c = Constraint(Constants.REALLYHIGHBASALRATE) safetyPlugin.applyBasalConstraints(c, validProfile) - Assert.assertEquals(1.0, c.value(), 0.01) + Assert.assertEquals(2.0, c.value(), 0.01) Assert.assertEquals( """ - Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences - Safety: Limiting max basal rate to 4.00 U/h because of max basal multiplier - Safety: Limiting max basal rate to 3.00 U/h because of max daily basal multiplier Safety: Limiting max basal rate to 2.00 U/h because of hard limit """.trimIndent(), c.getReasons(aapsLogger) ) - Assert.assertEquals("Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences", c.getMostLimitedReasons(aapsLogger)) + Assert.assertEquals("Safety: Limiting max basal rate to 2.00 U/h because of hard limit", c.getMostLimitedReasons(aapsLogger)) } @Test @@ -165,36 +166,49 @@ class SafetyPluginTest : TestBaseWithProfile() { val d = Constraint(-0.5) safetyPlugin.applyBasalConstraints(d, validProfile) Assert.assertEquals(0.0, d.value(), 0.01) - Assert.assertEquals( - """ - Safety: Limiting max basal rate to 0.00 U/h because of it must be positive value - Safety: Increasing max basal value because setting is lower than your max basal in profile - """.trimIndent(), d.getReasons(aapsLogger) - ) + Assert.assertEquals("Safety: Limiting max basal rate to 0.00 U/h because of it must be positive value", d.getReasons(aapsLogger)) } @Test fun percentBasalRateShouldBeLimited() { // No limit by default - `when`(sp.getDouble(R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) - `when`(sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) - `when`(sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) - `when`(sp.getString(R.string.key_age, "")).thenReturn("child") + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) + `when`(sp.getString(info.nightscout.plugins.aps.R.string.key_age, "")).thenReturn("child") val i = Constraint(Constants.REALLYHIGHPERCENTBASALRATE) safetyPlugin.applyBasalPercentConstraints(i, validProfile) - Assert.assertEquals(100, i.value()) + Assert.assertEquals(200, i.value()) Assert.assertEquals( """ - Safety: Percent rate 1111111% recalculated to 11111.11 U/h with current basal 1.00 U/h - Safety: Limiting max basal rate to 1.00 U/h because of max value in preferences - Safety: Limiting max basal rate to 4.00 U/h because of max basal multiplier - Safety: Limiting max basal rate to 3.00 U/h because of max daily basal multiplier - Safety: Limiting max basal rate to 2.00 U/h because of hard limit - Safety: Limiting max percent rate to 100% because of pump limit - Safety: Limiting max basal rate to 500.00 U/h because of pump limit +Safety: Percent rate 1111111% recalculated to 11111.11 U/h with current basal 1.00 U/h +Safety: Limiting max basal rate to 2.00 U/h because of hard limit +Safety: Limiting max percent rate to 200% because of pump limit +Safety: Limiting max basal rate to 500.00 U/h because of pump limit """.trimIndent(), i.getReasons(aapsLogger) ) - Assert.assertEquals("Safety: Limiting max percent rate to 100% because of pump limit", i.getMostLimitedReasons(aapsLogger)) + Assert.assertEquals("Safety: Limiting max percent rate to 200% because of pump limit", i.getMostLimitedReasons(aapsLogger)) + } + + @Test + fun percentBasalShouldBeLimitedBySMB() { + // No limit by default + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsma_max_basal, 1.0)).thenReturn(1.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_current_basal_safety_multiplier, 4.0)).thenReturn(4.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsama_max_daily_safety_multiplier, 3.0)).thenReturn(3.0) + `when`(sp.getString(info.nightscout.plugins.aps.R.string.key_age, "")).thenReturn("child") + openAPSSMBPlugin.setPluginEnabled(PluginType.APS, true) + val i = Constraint(Constants.REALLYHIGHBASALRATE) + openAPSSMBPlugin.applyBasalConstraints(i, validProfile) + Assert.assertEquals(1.0, i.value(), 0.01) + Assert.assertEquals( + """ + OpenAPSSMB: Limiting max basal rate to 1.00 U/h because of max value in preferences + OpenAPSSMB: Limiting max basal rate to 4.00 U/h because of max basal multiplier + OpenAPSSMB: Limiting max basal rate to 3.00 U/h because of max daily basal multiplier + """.trimIndent(), i.getReasons(aapsLogger) + ) + Assert.assertEquals("OpenAPSSMB: Limiting max basal rate to 1.00 U/h because of max value in preferences", i.getMostLimitedReasons(aapsLogger)) } @Test @@ -207,7 +221,6 @@ class SafetyPluginTest : TestBaseWithProfile() { """ Safety: Percent rate -22% recalculated to -0.22 U/h with current basal 1.00 U/h Safety: Limiting max basal rate to 0.00 U/h because of it must be positive value - Safety: Increasing max basal value because setting is lower than your max basal in profile Safety: Limiting max percent rate to 0% because of pump limit """.trimIndent(), i.getReasons(aapsLogger) ) @@ -265,8 +278,8 @@ class SafetyPluginTest : TestBaseWithProfile() { //`when`(openAPSSMBPlugin.isEnabled()).thenReturn(true) //`when`(openAPSAMAPlugin.isEnabled()).thenReturn(false) `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("lgs") - `when`(sp.getDouble(R.string.key_openapsma_max_iob, 1.5)).thenReturn(1.5) - `when`(sp.getDouble(R.string.key_openapssmb_max_iob, 3.0)).thenReturn(3.0) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapsma_max_iob, 1.5)).thenReturn(1.5) + `when`(sp.getDouble(info.nightscout.plugins.aps.R.string.key_openapssmb_max_iob, 3.0)).thenReturn(3.0) `when`(sp.getString(R.string.key_age, "")).thenReturn("teenage") // Apply all limits diff --git a/core/core-main/src/main/res/drawable/ic_local_activate.xml b/core/core-main/src/main/res/drawable/ic_local_activate.xml new file mode 100644 index 0000000000..8095f12ef6 --- /dev/null +++ b/core/core-main/src/main/res/drawable/ic_local_activate.xml @@ -0,0 +1,12 @@ + + + + diff --git a/core/core-main/src/main/res/drawable/ic_local_reset.xml b/core/core-main/src/main/res/drawable/ic_local_reset.xml new file mode 100644 index 0000000000..fb7d09c56c --- /dev/null +++ b/core/core-main/src/main/res/drawable/ic_local_reset.xml @@ -0,0 +1,9 @@ + + + diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 845858e6b6..01b27f9290 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -258,6 +258,9 @@ Open Loop Low Glucose Suspend Confirm + DIA + IC + ISF Limiting max basal rate to %1$.2f U/h because of %2$s diff --git a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt index 0b9d93e0f9..bc95fc2940 100644 --- a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt +++ b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt @@ -3,11 +3,16 @@ package info.nightscout.implementation.di import android.content.Context import dagger.Module import dagger.Provides +import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.HardLimitsImpl +import info.nightscout.implementation.logging.LoggerUtilsImpl +import info.nightscout.implementation.profiling.ProfilerImpl import info.nightscout.implementation.pump.WarnColorsImpl import info.nightscout.implementation.resources.ResourceHelperImpl +import info.nightscout.interfaces.logging.LoggerUtils +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.interfaces.pump.WarnColors import info.nightscout.interfaces.utils.HardLimits import info.nightscout.rx.bus.RxBus @@ -38,4 +43,12 @@ open class ImplementationModule { @Provides @Singleton fun provideWarnColors(rh: ResourceHelper): WarnColors = WarnColorsImpl(rh) + + @Provides + @Singleton + fun provideProfiler(aapsLogger: AAPSLogger): Profiler = ProfilerImpl(aapsLogger) + + @Provides + @Singleton + fun provideLoggerUtils(prefFileListProvider: PrefFileListProvider): LoggerUtils = LoggerUtilsImpl(prefFileListProvider) } \ No newline at end of file diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt b/implementation/src/main/java/info/nightscout/implementation/logging/LoggerUtilsImpl.kt similarity index 74% rename from plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt rename to implementation/src/main/java/info/nightscout/implementation/logging/LoggerUtilsImpl.kt index b572292ab2..bba76296dc 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/maintenance/LoggerUtils.kt +++ b/implementation/src/main/java/info/nightscout/implementation/logging/LoggerUtilsImpl.kt @@ -1,20 +1,21 @@ -package info.nightscout.plugins.general.maintenance +package info.nightscout.implementation.logging +import dagger.Reusable import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider +import info.nightscout.interfaces.logging.LoggerUtils import javax.inject.Inject -import javax.inject.Singleton /** * This class provides several methods for log-handling (eg. sending logs as emails). */ @OpenForTesting -@Singleton -class LoggerUtils @Inject constructor( +@Reusable +class LoggerUtilsImpl @Inject constructor( val prefFileListProvider: PrefFileListProvider -) { +) : LoggerUtils { - var suffix = ".log.zip" + override var suffix = ".log.zip" /** * Returns the directory, in which the logs are stored on the system. This is configured in the @@ -32,5 +33,5 @@ class LoggerUtils @Inject constructor( return lc.getProperty("EXT_FILES_DIR") } */ - val logDirectory get() = prefFileListProvider.logsPath + override val logDirectory get() = prefFileListProvider.logsPath } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt b/implementation/src/main/java/info/nightscout/implementation/profiling/ProfilerImpl.kt similarity index 61% rename from app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt rename to implementation/src/main/java/info/nightscout/implementation/profiling/ProfilerImpl.kt index 34d7ca78d5..8879542221 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/Profiler.kt +++ b/implementation/src/main/java/info/nightscout/implementation/profiling/ProfilerImpl.kt @@ -1,17 +1,17 @@ -package info.nightscout.androidaps.utils +package info.nightscout.implementation.profiling import info.nightscout.androidaps.annotations.OpenForTesting +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import javax.inject.Inject import javax.inject.Singleton @OpenForTesting @Singleton -class Profiler @Inject constructor(val aapsLogger: AAPSLogger) { +class ProfilerImpl @Inject constructor(val aapsLogger: AAPSLogger) : Profiler { - fun log(lTag: LTag, function: String, start: Long) { + override fun log(lTag: LTag, function: String, start: Long) { val milliseconds = System.currentTimeMillis() - start aapsLogger.debug(lTag, ">>> $function <<< executed in $milliseconds milliseconds") } diff --git a/interfaces/src/main/java/info/nightscout/interfaces/logging/LoggerUtils.kt b/interfaces/src/main/java/info/nightscout/interfaces/logging/LoggerUtils.kt new file mode 100644 index 0000000000..5a4e073c21 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/logging/LoggerUtils.kt @@ -0,0 +1,7 @@ +package info.nightscout.interfaces.logging + +interface LoggerUtils { + + var suffix: String + val logDirectory: String +} \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt index 618db557c5..bb8f0da487 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/profile/ProfileSource.kt @@ -1,5 +1,6 @@ package info.nightscout.interfaces.profile +import androidx.fragment.app.FragmentActivity import info.nightscout.interfaces.Constants import org.json.JSONArray @@ -34,4 +35,9 @@ interface ProfileSource { val profileName: String? fun addProfile(p: SingleProfile) fun copyFrom(pureProfile: PureProfile, newName: String): SingleProfile + + var currentProfileIndex: Int + fun currentProfile(): SingleProfile? + fun storeSettings(activity: FragmentActivity? = null) + } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/profiling/Profiler.kt b/interfaces/src/main/java/info/nightscout/interfaces/profiling/Profiler.kt new file mode 100644 index 0000000000..fb931e3bb5 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/profiling/Profiler.kt @@ -0,0 +1,8 @@ +package info.nightscout.interfaces.profiling + +import info.nightscout.rx.logging.LTag + +interface Profiler { + + fun log(lTag: LTag, function: String, start: Long) +} \ No newline at end of file diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle index 719b680415..8aa25674c8 100644 --- a/plugins/aps/build.gradle +++ b/plugins/aps/build.gradle @@ -26,4 +26,7 @@ dependencies { implementation project(':interfaces') api "androidx.appcompat:appcompat:$appcompat_version" + + // APS + api 'org.mozilla:rhino:1.7.14' } \ No newline at end of file diff --git a/app/src/main/assets/OpenAPSAMA/basal-set-temp.js b/plugins/aps/src/main/assets/OpenAPSAMA/basal-set-temp.js similarity index 100% rename from app/src/main/assets/OpenAPSAMA/basal-set-temp.js rename to plugins/aps/src/main/assets/OpenAPSAMA/basal-set-temp.js diff --git a/app/src/main/assets/OpenAPSAMA/determine-basal.js b/plugins/aps/src/main/assets/OpenAPSAMA/determine-basal.js similarity index 100% rename from app/src/main/assets/OpenAPSAMA/determine-basal.js rename to plugins/aps/src/main/assets/OpenAPSAMA/determine-basal.js diff --git a/app/src/main/assets/OpenAPSAMA/loggerhelper.js b/plugins/aps/src/main/assets/OpenAPSAMA/loggerhelper.js similarity index 100% rename from app/src/main/assets/OpenAPSAMA/loggerhelper.js rename to plugins/aps/src/main/assets/OpenAPSAMA/loggerhelper.js diff --git a/app/src/main/assets/OpenAPSSMB/basal-set-temp.js b/plugins/aps/src/main/assets/OpenAPSSMB/basal-set-temp.js similarity index 100% rename from app/src/main/assets/OpenAPSSMB/basal-set-temp.js rename to plugins/aps/src/main/assets/OpenAPSSMB/basal-set-temp.js diff --git a/app/src/main/assets/OpenAPSSMB/determine-basal.js b/plugins/aps/src/main/assets/OpenAPSSMB/determine-basal.js similarity index 100% rename from app/src/main/assets/OpenAPSSMB/determine-basal.js rename to plugins/aps/src/main/assets/OpenAPSSMB/determine-basal.js diff --git a/app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js b/plugins/aps/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js similarity index 100% rename from app/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js rename to plugins/aps/src/main/assets/OpenAPSSMBDynamicISF/determine-basal.js diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/OpenAPSFragment.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/OpenAPSFragment.kt index 67f6f7fecd..2fedc3bc4b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/OpenAPSFragment.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/OpenAPSFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps +package info.nightscout.plugins.aps import android.os.Bundle import android.os.Handler @@ -13,13 +13,12 @@ import android.view.ViewGroup import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.OpenapsFragmentBinding -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.androidaps.utils.JSONFormatter import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.plugins.aps.databinding.OpenapsFragmentBinding +import info.nightscout.plugins.aps.events.EventOpenAPSUpdateGui +import info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui +import info.nightscout.plugins.aps.utils.JSONFormatter import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -171,4 +170,4 @@ class OpenAPSFragment : DaggerFragment(), MenuProvider { binding.lastrun.text = "" binding.swipeRefresh.isRefreshing = false } -} +} \ No newline at end of file diff --git a/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AlgModule.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AlgModule.kt new file mode 100644 index 0000000000..efdc4d9a6c --- /dev/null +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AlgModule.kt @@ -0,0 +1,16 @@ +package info.nightscout.plugins.aps.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector + +@Module +@Suppress("unused") +abstract class AlgModule { + + @ContributesAndroidInjector abstract fun loggerCallbackInjector(): info.nightscout.plugins.aps.logger.LoggerCallback + @ContributesAndroidInjector abstract fun determineBasalResultSMBInjector(): info.nightscout.plugins.aps.openAPSSMB.DetermineBasalResultSMB + @ContributesAndroidInjector abstract fun determineBasalResultAMAInjector(): info.nightscout.plugins.aps.openAPSAMA.DetermineBasalResultAMA + @ContributesAndroidInjector abstract fun determineBasalAdapterAMAJSInjector(): info.nightscout.plugins.aps.openAPSAMA.DetermineBasalAdapterAMAJS + @ContributesAndroidInjector abstract fun determineBasalAdapterSMBJSInjector(): info.nightscout.plugins.aps.openAPSSMB.DetermineBasalAdapterSMBJS + @ContributesAndroidInjector abstract fun determineBasalAdapterSMBAutoISFJSInjector(): info.nightscout.plugins.aps.openAPSSMBDynamicISF.DetermineBasalAdapterSMBDynamicISFJS +} \ No newline at end of file diff --git a/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/ApsModule.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/ApsModule.kt new file mode 100644 index 0000000000..adea2a0593 --- /dev/null +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/ApsModule.kt @@ -0,0 +1,14 @@ +package info.nightscout.plugins.aps.di + +import dagger.Module +import info.nightscout.plugins.di.AutotuneModule + +@Module( + includes = [ + AutotuneModule::class, + AlgModule::class + ] +) + +@Suppress("unused") +abstract class ApsModule \ No newline at end of file diff --git a/plugins/main/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AutotuneModule.kt similarity index 57% rename from plugins/main/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AutotuneModule.kt index 7e0f512aaa..5f6ac3e358 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/di/AutotuneModule.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/di/AutotuneModule.kt @@ -2,28 +2,21 @@ package info.nightscout.plugins.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.plugins.general.autotune.AutotuneCore -import info.nightscout.plugins.general.autotune.AutotuneFS -import info.nightscout.plugins.general.autotune.AutotuneFragment -import info.nightscout.plugins.general.autotune.AutotuneIob -import info.nightscout.plugins.general.autotune.AutotunePrep -import info.nightscout.plugins.general.autotune.data.ATProfile -import info.nightscout.plugins.general.autotune.data.BGDatum -import info.nightscout.plugins.general.autotune.data.CRDatum import info.nightscout.plugins.general.autotune.data.PreppedGlucose @Module @Suppress("unused") abstract class AutotuneModule { - @ContributesAndroidInjector abstract fun contributesAutotuneFragment(): AutotuneFragment - @ContributesAndroidInjector abstract fun autoTunePrepInjector(): AutotunePrep - @ContributesAndroidInjector abstract fun autoTuneIobInjector(): AutotuneIob - @ContributesAndroidInjector abstract fun autoTuneCoreInjector(): AutotuneCore - @ContributesAndroidInjector abstract fun autoTuneFSInjector(): AutotuneFS + @ContributesAndroidInjector abstract fun contributesAutotuneFragment(): info.nightscout.plugins.general.autotune.AutotuneFragment - @ContributesAndroidInjector abstract fun autoTuneATProfileInjector(): ATProfile - @ContributesAndroidInjector abstract fun autoTuneBGDatumInjector(): BGDatum - @ContributesAndroidInjector abstract fun autoTuneCRDatumInjector(): CRDatum + @ContributesAndroidInjector abstract fun autoTunePrepInjector(): info.nightscout.plugins.general.autotune.AutotunePrep + @ContributesAndroidInjector abstract fun autoTuneIobInjector(): info.nightscout.plugins.general.autotune.AutotuneIob + @ContributesAndroidInjector abstract fun autoTuneCoreInjector(): info.nightscout.plugins.general.autotune.AutotuneCore + @ContributesAndroidInjector abstract fun autoTuneFSInjector(): info.nightscout.plugins.general.autotune.AutotuneFS + + @ContributesAndroidInjector abstract fun autoTuneATProfileInjector(): info.nightscout.plugins.general.autotune.data.ATProfile + @ContributesAndroidInjector abstract fun autoTuneBGDatumInjector(): info.nightscout.plugins.general.autotune.data.BGDatum + @ContributesAndroidInjector abstract fun autoTuneCRDatumInjector(): info.nightscout.plugins.general.autotune.data.CRDatum @ContributesAndroidInjector abstract fun autoTunePreppedGlucoseInjector(): PreppedGlucose } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateGui.kt similarity index 64% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateGui.kt index f69265412a..263b5c0515 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateGui.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.events +package info.nightscout.plugins.aps.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateResultGui.kt similarity index 69% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateResultGui.kt index 0cb233502d..e423d34b42 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/events/EventOpenAPSUpdateResultGui.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/events/EventOpenAPSUpdateResultGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.events +package info.nightscout.plugins.aps.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/logger/LoggerCallback.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/logger/LoggerCallback.kt index bf095df835..fbd81f5c34 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/logger/LoggerCallback.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/logger/LoggerCallback.kt @@ -1,9 +1,8 @@ -package info.nightscout.androidaps.plugins.aps.logger +package info.nightscout.plugins.aps.logger -import info.nightscout.androidaps.di.StaticInjector +import info.nightscout.plugins.aps.utils.StaticInjector import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag - import org.mozilla.javascript.ScriptableObject import javax.inject.Inject @@ -57,6 +56,6 @@ class LoggerCallback : ScriptableObject() { errorBuffer = StringBuffer() logBuffer = StringBuffer() @Suppress("DEPRECATION") - StaticInjector.Companion.getInstance().androidInjector().inject(this) + StaticInjector.getInstance().androidInjector().inject(this) } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt index b4383e2b0e..3484fe28da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalAdapterAMAJS.kt @@ -1,13 +1,10 @@ -package info.nightscout.androidaps.plugins.aps.openAPSAMA +package info.nightscout.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults @@ -18,6 +15,9 @@ import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.logger.LoggerCallback +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt index a5dc3bb627..81efeca444 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/DetermineBasalResultAMA.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.openAPSAMA +package info.nightscout.plugins.aps.openAPSAMA import dagger.android.HasAndroidInjector import info.nightscout.androidaps.plugins.aps.loop.APSResultObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt index 7810eac31c..071378a0fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSAMA/OpenAPSAMAPlugin.kt @@ -1,16 +1,10 @@ -package info.nightscout.androidaps.plugins.aps.openAPSAMA +package info.nightscout.plugins.aps.openAPSAMA import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.plugins.aps.OpenAPSFragment -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository @@ -27,8 +21,14 @@ 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.profiling.Profiler import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round +import info.nightscout.plugins.aps.OpenAPSFragment +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.events.EventOpenAPSUpdateGui +import info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -38,6 +38,7 @@ import info.nightscout.shared.utils.DateUtil import org.json.JSONException import javax.inject.Inject import javax.inject.Singleton +import kotlin.math.floor @OpenForTesting @Singleton @@ -109,8 +110,8 @@ class OpenAPSAMAPlugin @Inject constructor( return } if (glucoseStatus == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_noglucosedata))) - aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_noglucosedata)) + rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_no_glucose_data))) + aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_no_glucose_data)) return } val inputConstraints = Constraint(0.0) // fake. only for collecting all results @@ -166,7 +167,7 @@ class OpenAPSAMAPlugin @Inject constructor( if (constraintChecker.isAutosensModeEnabled().value()) { val autosensData = iobCobCalculator.getLastAutosensDataWithWaitForCalculationFinish("OpenAPSPlugin") if (autosensData == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openaps_noasdata))) + rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openaps_no_as_data))) return } lastAutosensResult = autosensData.autosensResult @@ -218,4 +219,30 @@ class OpenAPSAMAPlugin @Inject constructor( } return maxIob } + + override fun applyBasalConstraints(absoluteRate: Constraint, profile: Profile): Constraint { + if (isEnabled()) { + var maxBasal = sp.getDouble(R.string.key_openapsma_max_basal, 1.0) + if (maxBasal < profile.getMaxDailyBasal()) { + maxBasal = profile.getMaxDailyBasal() + absoluteRate.addReason(rh.gs(R.string.increasing_max_basal), this) + } + absoluteRate.setIfSmaller(aapsLogger, maxBasal, rh.gs(R.string.limitingbasalratio, maxBasal, rh.gs(R.string.maxvalueinpreferences)), this) + + // Check percentRate but absolute rate too, because we know real current basal in pump + val maxBasalMultiplier = sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0) + val maxFromBasalMultiplier = floor(maxBasalMultiplier * profile.getBasal() * 100) / 100 + absoluteRate.setIfSmaller(aapsLogger, maxFromBasalMultiplier, rh.gs(R.string.limitingbasalratio, maxFromBasalMultiplier, rh.gs(R.string.max_basal_multiplier)), this) + val maxBasalFromDaily = sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0) + val maxFromDaily = floor(profile.getMaxDailyBasal() * maxBasalFromDaily * 100) / 100 + absoluteRate.setIfSmaller(aapsLogger, maxFromDaily, rh.gs(R.string.limitingbasalratio, maxFromDaily, rh.gs(R.string.max_daily_basal_multiplier)), this) + } + return absoluteRate + } + + override fun isAutosensModeEnabled(value: Constraint): Constraint { + val enabled = sp.getBoolean(R.string.key_openapsama_use_autosens, false) + if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.autosens_disabled_in_preferences), this) + return value + } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt similarity index 96% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt index 6244c9ca38..05affb0401 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.kt @@ -1,13 +1,10 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMB +package info.nightscout.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes -import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback import info.nightscout.androidaps.plugins.aps.loop.APSResultObject -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults @@ -19,10 +16,12 @@ import info.nightscout.interfaces.iob.MealData import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.logger.LoggerCallback +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException @@ -45,7 +44,6 @@ class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader: @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var constraintChecker: Constraints @Inject lateinit var sp: SP - @Inject lateinit var rh: ResourceHelper @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var iobCobCalculator: IobCobCalculator @Inject lateinit var activePlugin: ActivePlugin @@ -214,14 +212,14 @@ class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader: this.profile.put("enableUAM", uamAllowed) this.profile.put("A52_risk_enable", SMBDefaults.A52_risk_enable) val smbEnabled = sp.getBoolean(R.string.key_use_smb, false) - this.profile.put("SMBInterval", sp.getInt(R.string.key_smbinterval, SMBDefaults.SMBInterval)) + this.profile.put("SMBInterval", sp.getInt(R.string.key_smb_interval, SMBDefaults.SMBInterval)) this.profile.put("enableSMB_with_COB", smbEnabled && sp.getBoolean(R.string.key_enableSMB_with_COB, false)) this.profile.put("enableSMB_with_temptarget", smbEnabled && sp.getBoolean(R.string.key_enableSMB_with_temptarget, false)) this.profile.put("allowSMB_with_high_temptarget", smbEnabled && sp.getBoolean(R.string.key_allowSMB_with_high_temptarget, false)) this.profile.put("enableSMB_always", smbEnabled && sp.getBoolean(R.string.key_enableSMB_always, false) && advancedFiltering) this.profile.put("enableSMB_after_carbs", smbEnabled && sp.getBoolean(R.string.key_enableSMB_after_carbs, false) && advancedFiltering) - this.profile.put("maxSMBBasalMinutes", sp.getInt(R.string.key_smbmaxminutes, SMBDefaults.maxSMBBasalMinutes)) - this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uamsmbmaxminutes, SMBDefaults.maxUAMSMBBasalMinutes)) + this.profile.put("maxSMBBasalMinutes", sp.getInt(R.string.key_smb_max_minutes, SMBDefaults.maxSMBBasalMinutes)) + this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uam_smb_max_minutes, SMBDefaults.maxUAMSMBBasalMinutes)) //set the min SMB amount to be the amount set by the pump. this.profile.put("bolus_increment", pumpBolusStep) this.profile.put("carbsReqThreshold", sp.getInt(R.string.key_carbsReqThreshold, SMBDefaults.carbsReqThreshold)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt index e3ac98ec65..38803cf924 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/DetermineBasalResultSMB.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMB +package info.nightscout.plugins.aps.openAPSSMB import dagger.android.HasAndroidInjector import info.nightscout.androidaps.plugins.aps.loop.APSResultObject diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt similarity index 78% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt index 16a030792f..47f3ef245f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.kt @@ -1,18 +1,12 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMB +package info.nightscout.plugins.aps.openAPSSMB import android.content.Context import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.target -import info.nightscout.androidaps.plugins.aps.OpenAPSFragment -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui -import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateResultGui -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.Profiler import info.nightscout.core.profile.secondsFromMidnight import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper @@ -29,8 +23,11 @@ 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.profiling.Profiler import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.Round +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag @@ -39,6 +36,7 @@ import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil import javax.inject.Inject import javax.inject.Singleton +import kotlin.math.floor @OpenForTesting @Singleton @@ -61,7 +59,7 @@ class OpenAPSSMBPlugin @Inject constructor( ) : PluginBase( PluginDescription() .mainType(PluginType.APS) - .fragmentClass(OpenAPSFragment::class.java.name) + .fragmentClass(info.nightscout.plugins.aps.OpenAPSFragment::class.java.name) .pluginIcon(R.drawable.ic_generic_icon) .pluginName(R.string.openapssmb) .shortName(R.string.smb_shortname) @@ -106,18 +104,18 @@ class OpenAPSSMBPlugin @Inject constructor( val profile = profileFunction.getProfile() val pump = activePlugin.activePump if (profile == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.no_profile_set))) + rxBus.send(info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui(rh.gs(R.string.no_profile_set))) aapsLogger.debug(LTag.APS, rh.gs(R.string.no_profile_set)) return } if (!isEnabled()) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_disabled))) + rxBus.send(info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_disabled))) aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_disabled)) return } if (glucoseStatus == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_noglucosedata))) - aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_noglucosedata)) + rxBus.send(info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui(rh.gs(R.string.openapsma_no_glucose_data))) + aapsLogger.debug(LTag.APS, rh.gs(R.string.openapsma_no_glucose_data)) return } @@ -171,7 +169,7 @@ class OpenAPSSMBPlugin @Inject constructor( if (constraintChecker.isAutosensModeEnabled().value()) { val autosensData = iobCobCalculator.getLastAutosensDataWithWaitForCalculationFinish("OpenAPSPlugin") if (autosensData == null) { - rxBus.send(EventOpenAPSUpdateResultGui(rh.gs(R.string.openaps_noasdata))) + rxBus.send(info.nightscout.plugins.aps.events.EventOpenAPSUpdateResultGui(rh.gs(R.string.openaps_no_as_data))) return } lastAutosensResult = autosensData.autosensResult @@ -232,7 +230,7 @@ class OpenAPSSMBPlugin @Inject constructor( lastAPSRun = now } } - rxBus.send(EventOpenAPSUpdateGui()) + rxBus.send(info.nightscout.plugins.aps.events.EventOpenAPSUpdateGui()) } override fun isSuperBolusEnabled(value: Constraint): Constraint { @@ -249,5 +247,43 @@ class OpenAPSSMBPlugin @Inject constructor( return maxIob } + override fun applyBasalConstraints(absoluteRate: Constraint, profile: Profile): Constraint { + if (isEnabled()) { + var maxBasal = sp.getDouble(R.string.key_openapsma_max_basal, 1.0) + if (maxBasal < profile.getMaxDailyBasal()) { + maxBasal = profile.getMaxDailyBasal() + absoluteRate.addReason(rh.gs(R.string.increasing_max_basal), this) + } + absoluteRate.setIfSmaller(aapsLogger, maxBasal, rh.gs(R.string.limitingbasalratio, maxBasal, rh.gs(R.string.maxvalueinpreferences)), this) + + // Check percentRate but absolute rate too, because we know real current basal in pump + val maxBasalMultiplier = sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0) + val maxFromBasalMultiplier = floor(maxBasalMultiplier * profile.getBasal() * 100) / 100 + absoluteRate.setIfSmaller(aapsLogger, maxFromBasalMultiplier, rh.gs(R.string.limitingbasalratio, maxFromBasalMultiplier, rh.gs(R.string.max_basal_multiplier)), this) + val maxBasalFromDaily = sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0) + val maxFromDaily = floor(profile.getMaxDailyBasal() * maxBasalFromDaily * 100) / 100 + absoluteRate.setIfSmaller(aapsLogger, maxFromDaily, rh.gs(R.string.limitingbasalratio, maxFromDaily, rh.gs(R.string.max_daily_basal_multiplier)), this) + } + return absoluteRate + } + + override fun isSMBModeEnabled(value: Constraint): Constraint { + val enabled = sp.getBoolean(R.string.key_use_smb, false) + if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.smb_disabled_in_preferences), this) + return value + } + + override fun isUAMEnabled(value: Constraint): Constraint { + val enabled = sp.getBoolean(R.string.key_use_uam, false) + if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.uam_disabled_in_preferences), this) + return value + } + + override fun isAutosensModeEnabled(value: Constraint): Constraint { + val enabled = sp.getBoolean(R.string.key_openapsama_use_autosens, false) + if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.autosens_disabled_in_preferences), this) + return value + } + fun provideDetermineBasalAdapter(): DetermineBasalAdapter = DetermineBasalAdapterSMBJS(ScriptReader(context), injector) } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt index 0a09c4a221..d0c02182b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/DetermineBasalAdapterSMBDynamicISFJS.kt @@ -1,20 +1,14 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF +package info.nightscout.plugins.aps.openAPSSMBDynamicISF import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.interfaces.stats.TddCalculator -import info.nightscout.androidaps.plugins.aps.logger.LoggerCallback -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.aps.openAPSSMB.DetermineBasalResultSMB import info.nightscout.core.profile.toMgdl -import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.aps.SMBDefaults -import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.GlucoseStatus import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.iob.IobTotal @@ -23,12 +17,14 @@ import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.logger.LoggerCallback +import info.nightscout.plugins.aps.openAPSSMB.DetermineBasalResultSMB +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.SafeParse -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.shared.utils.DateUtil import org.json.JSONArray import org.json.JSONException import org.json.JSONObject @@ -49,14 +45,10 @@ import kotlin.math.ln class DetermineBasalAdapterSMBDynamicISFJS internal constructor(private val scriptReader: ScriptReader, private val injector: HasAndroidInjector) : DetermineBasalAdapter { @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var constraintChecker: Constraints @Inject lateinit var sp: SP - @Inject lateinit var rh: ResourceHelper @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var iobCobCalculator: IobCobCalculator @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var repository: AppRepository - @Inject lateinit var dateUtil: DateUtil @Inject lateinit var tddCalculator: TddCalculator private var profile = JSONObject() @@ -224,15 +216,15 @@ class DetermineBasalAdapterSMBDynamicISFJS internal constructor(private val scri this.profile.put("enableUAM", uamAllowed) this.profile.put("A52_risk_enable", SMBDefaults.A52_risk_enable) val smbEnabled = sp.getBoolean(R.string.key_use_smb, false) - this.profile.put("SMBInterval", sp.getInt(R.string.key_smbinterval, SMBDefaults.SMBInterval)) + this.profile.put("SMBInterval", sp.getInt(R.string.key_smb_interval, SMBDefaults.SMBInterval)) this.profile.put("enableSMB_with_COB", smbEnabled && sp.getBoolean(R.string.key_enableSMB_with_COB, false)) this.profile.put("enableSMB_with_temptarget", smbEnabled && sp.getBoolean(R.string.key_enableSMB_with_temptarget, false)) this.profile.put("allowSMB_with_high_temptarget", smbEnabled && sp.getBoolean(R.string.key_allowSMB_with_high_temptarget, false)) this.profile.put("enableSMB_always", smbEnabled && sp.getBoolean(R.string.key_enableSMB_always, false) && advancedFiltering) this.profile.put("enableSMB_after_carbs", smbEnabled && sp.getBoolean(R.string.key_enableSMB_after_carbs, false) && advancedFiltering) - this.profile.put("maxSMBBasalMinutes", sp.getInt(R.string.key_smbmaxminutes, SMBDefaults.maxSMBBasalMinutes)) - this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uamsmbmaxminutes, SMBDefaults.maxUAMSMBBasalMinutes)) - this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uamsmbmaxminutes, SMBDefaults.maxUAMSMBBasalMinutes)) + this.profile.put("maxSMBBasalMinutes", sp.getInt(R.string.key_smb_max_minutes, SMBDefaults.maxSMBBasalMinutes)) + this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uam_smb_max_minutes, SMBDefaults.maxUAMSMBBasalMinutes)) + this.profile.put("maxUAMSMBBasalMinutes", sp.getInt(R.string.key_uam_smb_max_minutes, SMBDefaults.maxUAMSMBBasalMinutes)) //set the min SMB amount to be the amount set by the pump. this.profile.put("bolus_increment", pumpBolusStep) this.profile.put("carbsReqThreshold", sp.getInt(R.string.key_carbsReqThreshold, SMBDefaults.carbsReqThreshold)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 2bae7caf9f..2477d539cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -1,13 +1,9 @@ -package info.nightscout.androidaps.plugins.aps.openAPSSMBDynamicISF +package info.nightscout.plugins.aps.openAPSSMBDynamicISF import android.content.Context import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.plugins.aps.loop.ScriptReader -import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.utils.Profiler import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.aps.DetermineBasalAdapter @@ -15,7 +11,11 @@ import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobCobCalculator import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.profiling.Profiler import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin +import info.nightscout.plugins.aps.utils.ScriptReader import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper diff --git a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/JSONFormatter.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/JSONFormatter.kt index e9d6fcc417..2eb96c04d8 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/JSONFormatter.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/JSONFormatter.kt @@ -1,7 +1,7 @@ -package info.nightscout.androidaps.utils +package info.nightscout.plugins.aps.utils import android.text.Spanned -import info.nightscout.interfaces.utils.HtmlHelper.fromHtml +import info.nightscout.interfaces.utils.HtmlHelper import info.nightscout.rx.logging.AAPSLogger import org.json.JSONArray import org.json.JSONException @@ -19,28 +19,28 @@ class JSONFormatter @Inject constructor( ) { fun format(jsonString: String?): Spanned { - jsonString ?: return fromHtml("") + jsonString ?: return HtmlHelper.fromHtml("") val visitor = JsonVisitor(1, '\t') return try { when { - jsonString == "undefined" -> fromHtml("undefined") - jsonString.toByteArray()[0] == '['.code.toByte() -> fromHtml(visitor.visit(JSONArray(jsonString), 0)) - else -> fromHtml(visitor.visit(JSONObject(jsonString), 0)) + jsonString == "undefined" -> HtmlHelper.fromHtml("undefined") + jsonString.toByteArray()[0] == '['.code.toByte() -> HtmlHelper.fromHtml(visitor.visit(JSONArray(jsonString), 0)) + else -> HtmlHelper.fromHtml(visitor.visit(JSONObject(jsonString), 0)) } } catch (e: JSONException) { aapsLogger.error("Unhandled exception", e) - fromHtml("") + HtmlHelper.fromHtml("") } } fun format(jsonObject: JSONObject?): Spanned { - jsonObject ?: return fromHtml("") + jsonObject ?: return HtmlHelper.fromHtml("") val visitor = JsonVisitor(1, '\t') return try { - fromHtml(visitor.visit(jsonObject, 0)) + HtmlHelper.fromHtml(visitor.visit(jsonObject, 0)) } catch (e: JSONException) { aapsLogger.error("Unhandled exception", e) - fromHtml("") + HtmlHelper.fromHtml("") } } diff --git a/plugins/main/src/main/java/info/nightscout/plugins/utils/Percentile.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/Percentile.kt similarity index 94% rename from plugins/main/src/main/java/info/nightscout/plugins/utils/Percentile.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/Percentile.kt index 46e2ae4ec6..f71f2158cb 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/utils/Percentile.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/Percentile.kt @@ -1,4 +1,4 @@ -package info.nightscout.plugins.utils +package info.nightscout.plugins.aps.utils import kotlin.math.floor diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/ScriptReader.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/ScriptReader.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/ScriptReader.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/ScriptReader.kt index 000cd55900..3781c4b89a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/ScriptReader.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/ScriptReader.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop +package info.nightscout.plugins.aps.utils import android.content.Context import java.io.ByteArrayOutputStream diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/StaticInjector.kt similarity index 78% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/StaticInjector.kt index daf3d7c0b2..a861a6d4fe 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/StaticInjector.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/utils/StaticInjector.kt @@ -1,8 +1,7 @@ -package info.nightscout.androidaps.di +package info.nightscout.plugins.aps.utils import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector -import java.lang.IllegalStateException import javax.inject.Inject import javax.inject.Singleton @@ -10,11 +9,13 @@ import javax.inject.Singleton class StaticInjector @Inject constructor( private val injector: HasAndroidInjector ) : HasAndroidInjector { + companion object { - private var instance : StaticInjector? = null + + private var instance: StaticInjector? = null @Deprecated("Use only for classes instantiated by 3rd party") - fun getInstance() : StaticInjector { + fun getInstance(): StaticInjector { if (instance == null) throw IllegalStateException("StaticInjector not initialized") return instance!! } @@ -23,5 +24,6 @@ class StaticInjector @Inject constructor( init { instance = this } + override fun androidInjector(): AndroidInjector = injector.androidInjector() } \ No newline at end of file diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt similarity index 99% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt index e43eca07cf..38304a4d76 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneCore.kt @@ -1,11 +1,11 @@ package info.nightscout.plugins.general.autotune import info.nightscout.interfaces.utils.Round -import info.nightscout.plugins.R +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.utils.Percentile import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose -import info.nightscout.plugins.utils.Percentile import info.nightscout.shared.sharedPreferences.SP import java.util.Calendar import javax.inject.Inject diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt similarity index 98% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt index 1eb3d7addf..14449e6515 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFS.kt @@ -1,10 +1,10 @@ package info.nightscout.plugins.general.autotune -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.plugins.R +import info.nightscout.interfaces.logging.LoggerUtils +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.PreppedGlucose -import info.nightscout.plugins.general.maintenance.LoggerUtils +import info.nightscout.shared.interfaces.ResourceHelper import org.json.JSONException import org.slf4j.LoggerFactory import java.io.BufferedInputStream diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt similarity index 92% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt index 2831088449..eeb7e624c2 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneFragment.kt @@ -36,12 +36,11 @@ import info.nightscout.interfaces.profile.ProfileStore import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round -import info.nightscout.plugins.R -import info.nightscout.plugins.databinding.AutotuneFragmentBinding +import info.nightscout.plugins.aps.R +import info.nightscout.plugins.aps.databinding.AutotuneFragmentBinding import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged @@ -65,7 +64,6 @@ class AutotuneFragment : DaggerFragment() { @Inject lateinit var sp: SP @Inject lateinit var dateUtil: DateUtil @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var profilePlugin: ProfilePlugin @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var uel: UserEntryLogger @Inject lateinit var rh: ResourceHelper @@ -137,6 +135,7 @@ class AutotuneFragment : DaggerFragment() { rh.gs(R.string.autotune_copy_localprofile_button), rh.gs(R.string.autotune_copy_local_profile_message) + "\n" + localName, Runnable { + val profilePlugin = activePlugin.activeProfileSource profilePlugin.addProfile(profilePlugin.copyFrom(tunedProfile.getProfile(circadian), localName)) rxBus.send(EventLocalProfileChanged()) uel.log( @@ -232,33 +231,33 @@ class AutotuneFragment : DaggerFragment() { tunedProfile?.let { tunedP -> tunedP.profileStore(circadian)?.let { OKDialog.showConfirmation(requireContext(), - rh.gs(R.string.activate_profile) + ": " + tunedP.profilename + " ?", - Runnable { - uel.log( - UserEntry.Action.STORE_PROFILE, - UserEntry.Sources.Autotune, - ValueWithUnit.SimpleString(tunedP.profilename) - ) - val now = dateUtil.now() - if (profileFunction.createProfileSwitch( - it, - profileName = tunedP.profilename, - durationInMinutes = 0, - percentage = 100, - timeShiftInHours = 0, - timestamp = now - ) - ) { - uel.log( - UserEntry.Action.PROFILE_SWITCH, - UserEntry.Sources.Autotune, - "Autotune AutoSwitch", - ValueWithUnit.SimpleString(autotunePlugin.tunedProfile!!.profilename) - ) - } - rxBus.send(EventLocalProfileChanged()) - updateGui() - } + rh.gs(R.string.activate_profile) + ": " + tunedP.profilename + " ?", + { + uel.log( + UserEntry.Action.STORE_PROFILE, + UserEntry.Sources.Autotune, + ValueWithUnit.SimpleString(tunedP.profilename) + ) + val now = dateUtil.now() + if (profileFunction.createProfileSwitch( + it, + profileName = tunedP.profilename, + durationInMinutes = 0, + percentage = 100, + timeShiftInHours = 0, + timestamp = now + ) + ) { + uel.log( + UserEntry.Action.PROFILE_SWITCH, + UserEntry.Sources.Autotune, + "Autotune AutoSwitch", + ValueWithUnit.SimpleString(autotunePlugin.tunedProfile!!.profilename) + ) + } + rxBus.send(EventLocalProfileChanged()) + updateGui() + } ) } } diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt similarity index 78% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt index 8765b2d0f6..6a7661c676 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotuneIob.kt @@ -1,5 +1,6 @@ package info.nightscout.plugins.general.autotune +import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toJson import info.nightscout.androidaps.extensions.toTemporaryBasal @@ -19,10 +20,9 @@ import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.Round -import info.nightscout.plugins.R +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.LocalInsulin -import info.nightscout.plugins.sync.nsclient.extensions.toJson import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.sharedPreferences.SP @@ -325,6 +325,22 @@ open class AutotuneIob @Inject constructor( return result } + fun Bolus.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("eventType", if (type == Bolus.Type.SMB) TherapyEvent.Type.CORRECTION_BOLUS.text else info.nightscout.database.entities.TherapyEvent.Type.MEAL_BOLUS.text) + .put("insulin", amount) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("date", timestamp) + .put("type", type.name) + .put("notes", notes) + .put("isValid", isValid) + .put("isSMB", type == Bolus.Type.SMB).also { + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + @Synchronized fun glucoseToJSON(): String { val glucoseJson = JSONArray() @@ -384,6 +400,69 @@ open class AutotuneIob @Inject constructor( eventType = TherapyEvent.Type.COMBO_BOLUS } + fun TemporaryBasal.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", "openaps://" + "AndroidAPS") + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.TEMPORARY_BASAL.text) + .put("isValid", isValid) + .put("duration", T.msecs(duration).mins()) + .put("durationInMilliseconds", duration) // rounded duration leads to different basal IOB + .put("type", type.name) + .put("rate", convertedToAbsolute(timestamp, profile)) // generated by OpenAPS, for compatibility + .also { + if (isAbsolute) it.put("absolute", rate) + else it.put("percent", rate - 100) + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + + fun ExtendedBolus.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil): JSONObject = + if (isEmulatingTempBasal) + toTemporaryBasal(profile) + .toJson(isAdd, profile, dateUtil) + .put("extendedEmulated", toRealJson(isAdd, dateUtil)) + else toRealJson(isAdd, dateUtil) + + fun ExtendedBolus.toRealJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("created_at", dateUtil.toISOString(timestamp)) + .put("enteredBy", "openaps://" + "AndroidAPS") + .put("eventType", info.nightscout.database.entities.TherapyEvent.Type.COMBO_BOLUS.text) + .put("duration", T.msecs(duration).mins()) + .put("durationInMilliseconds", duration) + .put("splitNow", 0) + .put("splitExt", 100) + .put("enteredinsulin", amount) + .put("relative", rate) + .put("isValid", isValid) + .put("isEmulatingTempBasal", isEmulatingTempBasal) + .also { + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + + fun Carbs.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = + JSONObject() + .put("eventType", if (amount < 12) info.nightscout.database.entities.TherapyEvent.Type.CARBS_CORRECTION.text else info.nightscout.database.entities.TherapyEvent.Type.MEAL_BOLUS.text) + .put("carbs", amount) + .put("notes", notes) + .put("created_at", dateUtil.toISOString(timestamp)) + .put("isValid", isValid) + .put("date", timestamp).also { + if (duration != 0L) it.put("duration", duration) + if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) + if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) + if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + } + fun toJson(): JSONObject? { val cpJson = JSONObject() return when (eventType) { diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt similarity index 99% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 0ab807533d..63b3f01c68 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -19,12 +19,11 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.plugins.R +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.LocalInsulin import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.plugins.general.autotune.events.EventAutotuneUpdateGui -import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventLocalProfileChanged import info.nightscout.rx.logging.AAPSLogger @@ -55,7 +54,6 @@ class AutotunePlugin @Inject constructor( private val profileFunction: ProfileFunction, private val dateUtil: DateUtil, private val activePlugin: ActivePlugin, - private val profilePlugin: ProfilePlugin, private val autotuneFS: AutotuneFS, private val autotuneIob: AutotuneIob, private val autotunePrep: AutotunePrep, @@ -324,6 +322,7 @@ class AutotunePlugin @Inject constructor( fun updateProfile(newProfile: ATProfile?) { if (newProfile == null) return + val profilePlugin = activePlugin.activeProfileSource val circadian = sp.getBoolean(R.string.key_autotune_circadian_ic_isf, false) val profileStore = activePlugin.activeProfileSource.profile ?: ProfileStoreObject(injector, JSONObject(), dateUtil) val profileList: ArrayList = profileStore.getProfileList() diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt similarity index 99% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt index 4a02eb820d..0d942ebaf5 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePrep.kt @@ -5,7 +5,7 @@ import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.utils.MidnightTime import info.nightscout.interfaces.utils.Round -import info.nightscout.plugins.R +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.ATProfile import info.nightscout.plugins.general.autotune.data.BGDatum import info.nightscout.plugins.general.autotune.data.CRDatum diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/ATProfile.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/BGDatum.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/CRDatum.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/DiaDeviation.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/LocalInsulin.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/PeakDeviation.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/data/PreppedGlucose.kt diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt similarity index 100% rename from plugins/main/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt rename to plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/events/EventAutotuneUpdateGui.kt diff --git a/plugins/main/src/main/res/layout/autotune_fragment.xml b/plugins/aps/src/main/res/layout/autotune_fragment.xml similarity index 99% rename from plugins/main/src/main/res/layout/autotune_fragment.xml rename to plugins/aps/src/main/res/layout/autotune_fragment.xml index d71a38d5ee..853c46b2b7 100644 --- a/plugins/main/src/main/res/layout/autotune_fragment.xml +++ b/plugins/aps/src/main/res/layout/autotune_fragment.xml @@ -141,7 +141,7 @@ android:paddingStart="5dp" android:paddingEnd="5dp" android:textSize="14sp" - android:textColor="@color/colorCalculatorButton"/> + android:textColor="@color/colorCalculatorButton" /> diff --git a/app/src/main/res/layout/openaps_fragment.xml b/plugins/aps/src/main/res/layout/openaps_fragment.xml similarity index 97% rename from app/src/main/res/layout/openaps_fragment.xml rename to plugins/aps/src/main/res/layout/openaps_fragment.xml index f9800e0f25..3e1d707ace 100644 --- a/app/src/main/res/layout/openaps_fragment.xml +++ b/plugins/aps/src/main/res/layout/openaps_fragment.xml @@ -3,7 +3,7 @@ android:id="@+id/swipeRefresh" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".plugins.aps.OpenAPSFragment"> + tools:context=".OpenAPSFragment"> @@ -76,7 +76,7 @@ android:gravity="center_horizontal" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_inputparameters_label" + android:text="@string/openapsma_input_parameters_label" android:textSize="14sp" /> @@ -151,7 +151,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_glucosestatus_label" + android:text="@string/openapsma_glucose_status_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -200,7 +200,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_currenttemp_label" + android:text="@string/openapsma_current_temp_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -248,7 +248,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_iobdata_label" + android:text="@string/openapsma_iob_data_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -344,7 +344,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_mealdata_label" + android:text="@string/openapsma_meal_data_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -475,7 +475,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_scriptdebugdata_label" + android:text="@string/openapsma_script_debug_data_label" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/plugins/aps/src/main/res/values/arrays.xml b/plugins/aps/src/main/res/values/arrays.xml new file mode 100644 index 0000000000..28e2e0bb9a --- /dev/null +++ b/plugins/aps/src/main/res/values/arrays.xml @@ -0,0 +1,23 @@ + + + + + 15 + 30 + 45 + 60 + 75 + 90 + 105 + 120 + + + + @string/noprotection + @string/biometric + @string/master_password + @string/custom_password + @string/custom_pin + + + diff --git a/plugins/aps/src/main/res/values/strings.xml b/plugins/aps/src/main/res/values/strings.xml new file mode 100644 index 0000000000..f96ef6f82b --- /dev/null +++ b/plugins/aps/src/main/res/values/strings.xml @@ -0,0 +1,130 @@ + + + openapsama_max_daily_safety_multiplier + openapsama_current_basal_safety_multiplier + autosens_adjust_targets + always_use_shortavg + openapsma_max_iob + sensitivity_raises_target + resistance_lowers_target + use_smb + use_uam + smbinterval + enableSMB_always + enableSMB_with_COB + enableSMB_with_temptarget + enableSMB_after_carbs + enableSMB_with_high_temptarget + smbmaxminutes + uamsmbmaxminutes + carbsReqThreshold + openapsmb_max_iob + lgsThreshold + high_temptarget_raises_sensitivity + low_temptarget_lowers_sensitivity + DynISFAdjust + dynisf_adjust_sensitivity + openapsma_max_basal + openapsama_useautosens + bolussnooze_dia_divisor + + Adjust sensitivity and BG + DynamicISF Adjustment Factor % + Adjustment factor for DynamicISF. Set more than 100% for more aggressive correction doses, and less than 100% for less aggressive corrections. + High temptarget raises sensitivity + = 100]]> + Low temptarget lowers sensitivity + + OpenAPS SMB + Dynamic ISF + How frequently SMBs will be given in min + Resistance lowers target + When resistance is detected, lower the target glucose + Sensitivity raises target + When sensitivity is detected, raise the target glucose + Plugin is disabled + No glucose data available + No autosens data available + DYNISF + Executing + OpenAPS AMA + Array of %1$d elements.\nActual value: + OAPS + State of the algorithm in 2017 + Most recent algorithm for advanced users + Most recent algorithm for advanced users with dynamic/automatic ISF + Bolus snooze dia divisor + + Run now + Last run + Input parameters + Glucose status + Current temp + IOB data + Profile + Meal data + Result + Request + Constraints + Autosens data + Script debug + Use Autosens feature + Max U/h a Temp Basal can be set to + This value is called max basal in OpenAPS context + Maximum basal IOB OpenAPS can deliver [U] + This value is called Max IOB in OpenAPS context\nThis is maximal insulin in [U] APS can deliver at once. + Default value: true\nThis is used to allow autosens to adjust BG targets, in addition to ISF and basals. + Autosens adjust targets, too + min_5m_carbimpact + Default value: 3.0 (AMA) or 8.0 (SMB). This is a setting for default carb absorption impact per 5 minutes. The default is an expected 3mg/dl/5min. This affects how fast COB are decayed, and how much carb absorption is assumed in calculating future predicted BG, when BG is falling more than expected, or not rising as much as expected. + Default value: 3 This is a key OpenAPS safety cap. What this does is limit your basals to be 3x (in this people) your biggest basal rate. You likely will not need to change this, but you should be aware that’s what is discussed about “3x max daily; 4x current” for safety caps. + Default value: 4 This is the other half of the key OpenAPS safety caps, and the other half of “3x max daily; 4x current” of the safety caps. This means your basal, regardless of max basal set on your pump, cannot be any higher than this number times the current level of your basal. This is to prevent people from getting into dangerous territory by setting excessively high max basals before understanding how the algorithm works. Again, the default is 4x; most people will never need to adjust this and are instead more likely to need to adjust other settings if they feel like they are “running into” this safety cap. + Default value: 2\nBolus snooze is enacted after you do a meal bolus, so the loop won’t counteract with low temps when you’ve just eaten. The example here and default is 2; so a 3 hour DIA means that bolus snooze will be gradually phased out over 1.5 hours (3DIA/2). + Attention!\nNormally you do not have to change these values below. Please CLICK HERE and READ the text and make sure you UNDERSTAND it before change any of these values. + http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html + Always use short average delta instead of simple delta + Useful when data from unfiltered sources like xDrip+ gets noisy. + Max daily safety multiplier + Current basal safety multiplier + Maximum total IOB OpenAPS can\'t go over [U] + This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value + Enable UAM + Enable SMB + Use Super Micro Boluses instead of temp basal for faster action + Detection of Unannounced meals + Enable SMB always + Enable SMB always independently to boluses. Possible only with BG source with nice filtering of data like G5 + Enable SMB after carbs + Enable SMB for 6h after carbs, even with 0 COB. Possible only with BG source with nice filtering of data like G5 + Enable SMB with COB + Enable SMB when there is COB active. + Enable SMB with temp targets + Enable SMB when there is temp target active (eating soon, exercise) + Enable SMB with high temp targets + Enable SMB when there is high temp target active (exercise, above 100 mg/dl or 5.5 mmol/l) + Max minutes of basal to limit SMB to + UAM SMB max minutes + Max minutes of basal to limit SMB to for UAM + Minimum Carbs Required For Suggestion + Minimum grams of carbs to display a carbs suggestion alert. Carbs suggestions below this number will not trigger a notification. + BG value below which insulin is suspended. Default value uses standard target model. User can set value between 60mg/dl (3.3mmol/l) and 100mg/dl(5.5mmol/l). Values below 65/3.6 result in use of default model + BG level below which low glucose suspend occurs + Default value: 1.2\nThis is a multiplier cap for autosens (and soon autotune) to set a 20%% max limit on how high the autosens ratio can be, which in turn determines how high autosens can adjust basals, how low it can adjust ISF, and how low it can set the BG target. + Default value: 0.7\nThe other side of the autosens safety limits, putting a cap on how low autosens can adjust basals, and how high it can adjust ISF and BG targets. + + Increasing max basal value because setting is lower than your max basal in profile + max basal multiplier + max daily basal multiplier + SMB disabled in preferences + UAM disabled in preferences + Autosens disabled in preferences + + + Limiting IOB to %1$.1f U because of %2$s + max value in preferences + hard limit + + + Peak + + \ No newline at end of file diff --git a/plugins/main/src/main/res/xml/pref_autotune.xml b/plugins/aps/src/main/res/xml/pref_autotune.xml similarity index 100% rename from plugins/main/src/main/res/xml/pref_autotune.xml rename to plugins/aps/src/main/res/xml/pref_autotune.xml diff --git a/app/src/main/res/xml/pref_openapsama.xml b/plugins/aps/src/main/res/xml/pref_openapsama.xml similarity index 80% rename from app/src/main/res/xml/pref_openapsama.xml rename to plugins/aps/src/main/res/xml/pref_openapsama.xml index 901d8d8d80..7f45de3ce0 100644 --- a/app/src/main/res/xml/pref_openapsama.xml +++ b/plugins/aps/src/main/res/xml/pref_openapsama.xml @@ -10,42 +10,42 @@ + android:key="@string/key_openapsama_use_autosens" + android:title="@string/openapsama_use_autosens" /> + android:summary="@string/openapsama_autosens_adjust_targets_summary" + android:title="@string/openapsama_autosens_adjust_targets" /> @@ -54,17 +54,17 @@ android:key="absorption_ama_advanced" android:title="@string/advancedsettings_title"> - + + android:data="@string/openapsama_link_to_preference_json_doc" /> + android:summary="@string/always_use_short_avg_summary" + android:title="@string/always_use_short_avg" /> diff --git a/app/src/main/res/xml/pref_openapssmb.xml b/plugins/aps/src/main/res/xml/pref_openapssmb.xml similarity index 78% rename from app/src/main/res/xml/pref_openapssmb.xml rename to plugins/aps/src/main/res/xml/pref_openapssmb.xml index 3bc1e985db..10e5f7c24e 100644 --- a/app/src/main/res/xml/pref_openapssmb.xml +++ b/plugins/aps/src/main/res/xml/pref_openapssmb.xml @@ -10,79 +10,79 @@ + android:key="@string/key_openapsama_use_autosens" + android:title="@string/openapsama_use_autosens" /> + android:summary="@string/enable_smb_summary" + android:title="@string/enable_smb" /> + android:summary="@string/enable_smb_with_high_temp_target_summary" + android:title="@string/enable_smb_with_high_temp_target" /> + android:summary="@string/enable_smb_always_summary" + android:title="@string/enable_smb_always" /> + android:summary="@string/enable_smb_with_cob_summary" + android:title="@string/enable_smb_with_cob" /> + android:summary="@string/enable_smb_with_temp_target_summary" + android:title="@string/enable_smb_with_temp_target" /> + android:summary="@string/enable_smb_after_carbs_summary" + android:title="@string/enable_smb_after_carbs" /> @@ -93,22 +93,22 @@ android:entries="@array/smbMaxMinutes" android:entryValues="@array/smbMaxMinutes" android:inputType="number" - android:key="@string/key_smbmaxminutes" - android:title="@string/smbmaxminutes_summary" + android:key="@string/key_smb_max_minutes" + android:title="@string/smb_max_minutes_summary" validate:maxNumber="120" validate:minNumber="15" validate:testType="numericRange" /> @@ -116,8 +116,8 @@ + android:summary="@string/enable_uam_summary" + android:title="@string/enable_uam" /> @@ -164,17 +164,17 @@ android:key="absorption_smb_advanced" android:title="@string/advancedsettings_title"> - + + android:data="@string/openapsama_link_to_preference_json_doc" /> + android:summary="@string/always_use_short_avg_summary" + android:title="@string/always_use_short_avg" /> @@ -42,9 +42,9 @@ @@ -57,53 +57,53 @@ + android:summary="@string/enable_smb_summary" + android:title="@string/enable_smb" /> + android:summary="@string/enable_smb_with_high_temp_target_summary" + android:title="@string/enable_smb_with_high_temp_target" /> + android:summary="@string/enable_smb_always_summary" + android:title="@string/enable_smb_always" /> + android:summary="@string/enable_smb_with_cob_summary" + android:title="@string/enable_smb_with_cob" /> + android:summary="@string/enable_smb_with_temp_target_summary" + android:title="@string/enable_smb_with_temp_target" /> + android:summary="@string/enable_smb_after_carbs_summary" + android:title="@string/enable_smb_after_carbs" /> @@ -114,22 +114,22 @@ android:entries="@array/smbMaxMinutes" android:entryValues="@array/smbMaxMinutes" android:inputType="number" - android:key="@string/key_smbmaxminutes" - android:title="@string/smbmaxminutes_summary" + android:key="@string/key_smb_max_minutes" + android:title="@string/smb_max_minutes_summary" validate:maxNumber="120" validate:minNumber="15" validate:testType="numericRange" /> @@ -137,8 +137,8 @@ + android:summary="@string/enable_uam_summary" + android:title="@string/enable_uam" /> @@ -185,17 +185,17 @@ android:key="absorption_smb_advanced" android:title="@string/advancedsettings_title"> - + + android:data="@string/openapsama_link_to_preference_json_doc" /> + android:summary="@string/always_use_short_avg_summary" + android:title="@string/always_use_short_avg" /> CHILD + rh.gs(R.string.key_teenage) -> TEENAGE + rh.gs(R.string.key_adult) -> ADULT + rh.gs(R.string.key_resistantadult) -> RESISTANT_ADULT + rh.gs(R.string.key_pregnant) -> PREGNANT + else -> ADULT + } + + override fun maxBolus(): Double = MAX_BOLUS[loadAge()] + override fun maxIobAMA(): Double = MAX_IOB_AMA[loadAge()] + override fun maxIobSMB(): Double = MAX_IOB_SMB[loadAge()] + override fun maxBasal(): Double = MAX_BASAL[loadAge()] + override fun minDia(): Double = MIN_DIA[loadAge()] + override fun maxDia(): Double = MAX_DIA[loadAge()] + override fun minIC(): Double = MIN_IC[loadAge()] + override fun maxIC(): Double = MAX_IC[loadAge()] + + // safety checks + override fun checkHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Boolean = + value == verifyHardLimits(value, valueName, lowLimit, highLimit) + + override fun isInRange(value: Double, lowLimit: Double, highLimit: Double): Boolean = + value in lowLimit..highLimit + + override fun verifyHardLimits(value: Double, valueName: Int, lowLimit: Double, highLimit: Double): Double { + var newValue = value + if (newValue < lowLimit || newValue > highLimit) { + newValue = max(newValue, lowLimit) + newValue = min(newValue, highLimit) + } + return newValue + } +} \ No newline at end of file diff --git a/plugins/aps/src/test/java/info/nightscout/androidaps/TestBase.kt b/plugins/aps/src/test/java/info/nightscout/androidaps/TestBase.kt new file mode 100644 index 0000000000..03d778b101 --- /dev/null +++ b/plugins/aps/src/test/java/info/nightscout/androidaps/TestBase.kt @@ -0,0 +1,39 @@ +package info.nightscout.androidaps + +import info.nightscout.rx.AapsSchedulers +import info.nightscout.rx.TestAapsSchedulers +import info.nightscout.rx.logging.AAPSLoggerTest +import org.junit.Before +import org.junit.Rule +import org.mockito.Mockito +import org.mockito.junit.MockitoJUnit +import org.mockito.junit.MockitoRule +import java.util.Locale + +open class TestBase { + + val aapsLogger = AAPSLoggerTest() + val aapsSchedulers: AapsSchedulers = TestAapsSchedulers() + + // Add a JUnit rule that will setup the @Mock annotated vars and log. + // Another possibility would be to add `MockitoAnnotations.initMocks(this) to the setup method. + @get:Rule + val mockitoRule: MockitoRule = MockitoJUnit.rule() + + @Before + fun setupLocale() { + Locale.setDefault(Locale.ENGLISH) + System.setProperty("disableFirebase", "true") + } + + // Workaround for Kotlin nullability. + // https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791 + // https://stackoverflow.com/questions/30305217/is-it-possible-to-use-mockito-in-kotlin + fun anyObject(): T { + Mockito.any() + return uninitialized() + } + + @Suppress("Unchecked_Cast") + fun uninitialized(): T = null as T +} \ No newline at end of file diff --git a/plugins/aps/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/aps/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt new file mode 100644 index 0000000000..c967ecfb6c --- /dev/null +++ b/plugins/aps/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt @@ -0,0 +1,178 @@ +package info.nightscout.androidaps + +import android.content.Context +import dagger.android.AndroidInjector +import dagger.android.HasAndroidInjector +import info.nightscout.androidaps.data.ProfileSealed +import info.nightscout.androidaps.extensions.pureProfileFromJson +import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.database.entities.EffectiveProfileSwitch +import info.nightscout.database.entities.embedments.InsulinConfiguration +import info.nightscout.interfaces.Config +import info.nightscout.interfaces.iob.IobCobCalculator +import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.profile.ProfileStore +import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper +import info.nightscout.shared.utils.DateUtil +import org.json.JSONObject +import org.junit.Before +import org.mockito.ArgumentMatchers.anyDouble +import org.mockito.ArgumentMatchers.anyInt +import org.mockito.ArgumentMatchers.anyString +import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.Mockito.`when` +import org.mockito.invocation.InvocationOnMock + +@Suppress("SpellCheckingInspection") +open class TestBaseWithProfile : TestBase() { + + @Mock lateinit var activePluginProvider: ActivePlugin + @Mock lateinit var rh: ResourceHelper + @Mock lateinit var iobCobCalculator: IobCobCalculator + @Mock lateinit var fabricPrivacy: FabricPrivacy + @Mock lateinit var profileFunction: ProfileFunction + @Mock lateinit var config: Config + @Mock lateinit var context: Context + + lateinit var dateUtil: DateUtil + val rxBus = RxBus(aapsSchedulers, aapsLogger) + + val profileInjector = HasAndroidInjector { AndroidInjector { } } + + private lateinit var validProfileJSON: String + lateinit var validProfile: ProfileSealed.Pure + lateinit var effectiveProfileSwitch: EffectiveProfileSwitch + + @Suppress("PropertyName") val TESTPROFILENAME = "someProfile" + + @Before + fun prepareMock() { + validProfileJSON = "{\"dia\":\"5\",\"carbratio\":[{\"time\":\"00:00\",\"value\":\"30\"}],\"carbs_hr\":\"20\",\"delay\":\"20\",\"sens\":[{\"time\":\"00:00\",\"value\":\"3\"}," + + "{\"time\":\"2:00\",\"value\":\"3.4\"}],\"timezone\":\"UTC\",\"basal\":[{\"time\":\"00:00\",\"value\":\"1\"}],\"target_low\":[{\"time\":\"00:00\",\"value\":\"4.5\"}]," + + "\"target_high\":[{\"time\":\"00:00\",\"value\":\"7\"}],\"startDate\":\"1970-01-01T00:00:00.000Z\",\"units\":\"mmol\"}" + dateUtil = Mockito.spy(DateUtil(context)) + `when`(dateUtil.now()).thenReturn(1656358822000) + validProfile = ProfileSealed.Pure(pureProfileFromJson(JSONObject(validProfileJSON), dateUtil)!!) + effectiveProfileSwitch = EffectiveProfileSwitch( + timestamp = dateUtil.now(), + basalBlocks = validProfile.basalBlocks, + isfBlocks = validProfile.isfBlocks, + icBlocks = validProfile.icBlocks, + targetBlocks = validProfile.targetBlocks, + glucoseUnit = EffectiveProfileSwitch.GlucoseUnit.MMOL, + originalProfileName = "", + originalCustomizedName = "", + originalTimeshift = 0, + originalPercentage = 100, + originalDuration = 0, + originalEnd = 0, + insulinConfiguration = InsulinConfiguration("", 0, 0) + ) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + String.format(rh.gs(string), arg1) + }.`when`(rh).gs(anyInt(), anyInt()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + String.format(rh.gs(string), arg1) + }.`when`(rh).gs(anyInt(), anyDouble()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + String.format(rh.gs(string), arg1) + }.`when`(rh).gs(anyInt(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyString(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyString(), anyInt()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyDouble(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyDouble(), anyInt()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyInt(), anyInt()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + String.format(rh.gs(string), arg1, arg2) + }.`when`(rh).gs(anyInt(), anyInt(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + val arg3 = invocation.getArgument(3) + String.format(rh.gs(string), arg1, arg2, arg3) + }.`when`(rh).gs(anyInt(), anyInt(), anyInt(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + val arg3 = invocation.getArgument(3) + String.format(rh.gs(string), arg1, arg2, arg3) + }.`when`(rh).gs(anyInt(), anyInt(), anyString(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + val arg3 = invocation.getArgument(3) + String.format(rh.gs(string), arg1, arg2, arg3) + }.`when`(rh).gs(anyInt(), anyDouble(), anyInt(), anyString()) + + Mockito.doAnswer { invocation: InvocationOnMock -> + val string = invocation.getArgument(0) + val arg1 = invocation.getArgument(1) + val arg2 = invocation.getArgument(2) + val arg3 = invocation.getArgument(3) + String.format(rh.gs(string), arg1, arg2, arg3) + }.`when`(rh).gs(anyInt(), anyString(), anyInt(), anyString()) + + } + + fun getValidProfileStore(): ProfileStore { + val json = JSONObject() + val store = JSONObject() + store.put(TESTPROFILENAME, JSONObject(validProfileJSON)) + json.put("defaultProfile", TESTPROFILENAME) + json.put("store", store) + return ProfileStoreObject(profileInjector, json, dateUtil) + } +} diff --git a/plugins/aps/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/aps/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt new file mode 100644 index 0000000000..af18cd7321 --- /dev/null +++ b/plugins/aps/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -0,0 +1,72 @@ +package info.nightscout.androidaps + +import dagger.android.HasAndroidInjector +import info.nightscout.interfaces.profile.Profile +import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.Pump +import info.nightscout.interfaces.pump.PumpEnactResult +import info.nightscout.interfaces.pump.PumpSync +import info.nightscout.interfaces.pump.defs.ManufacturerType +import info.nightscout.interfaces.pump.defs.PumpDescription +import info.nightscout.interfaces.pump.defs.PumpType +import info.nightscout.interfaces.utils.TimeChangeType +import org.json.JSONObject + +@Suppress("MemberVisibilityCanBePrivate") +class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { + + var connected = false + var isProfileSet = true + + override fun isConnected() = connected + override fun isConnecting() = false + override fun isHandshakeInProgress() = false + val lastData = 0L + + val baseBasal = 0.0 + override val pumpDescription = PumpDescription() + + override fun isInitialized(): Boolean = true + override fun isSuspended(): Boolean = false + override fun isBusy(): Boolean = false + override fun connect(reason: String) { + connected = true + } + + override fun disconnect(reason: String) { + connected = false + } + + override fun stopConnecting() { + connected = false + } + + override fun waitForDisconnectionInSeconds(): Int = 0 + override fun getPumpStatus(reason: String) {} + override fun setNewBasalProfile(profile: Profile): PumpEnactResult = PumpEnactResult(injector) + override fun isThisProfileSet(profile: Profile): Boolean = isProfileSet + override fun lastDataTime(): Long = lastData + override val baseBasalRate: Double = baseBasal + override val reservoirLevel: Double = 0.0 + override val batteryLevel: Int = 0 + override fun deliverTreatment(detailedBolusInfo: DetailedBolusInfo): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun stopBolusDelivering() {} + override fun setTempBasalAbsolute(absoluteRate: Double, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResult(injector).success(true) + + override fun setTempBasalPercent(percent: Int, durationInMinutes: Int, profile: Profile, enforceNew: Boolean, tbrType: PumpSync.TemporaryBasalType): PumpEnactResult = + PumpEnactResult(injector).success(true) + + override fun setExtendedBolus(insulin: Double, durationInMinutes: Int): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelTempBasal(enforceNew: Boolean): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun cancelExtendedBolus(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject = JSONObject() + override fun manufacturer(): ManufacturerType = ManufacturerType.AAPS + override fun model(): PumpType = PumpType.GENERIC_AAPS + override fun serialNumber(): String = "1" + override fun shortStatus(veryShort: Boolean): String = "" + override val isFakingTempsByExtendedBoluses: Boolean = false + override fun loadTDDs(): PumpEnactResult = PumpEnactResult(injector).success(true) + override fun canHandleDST(): Boolean = true + override fun timezoneOrDSTChanged(timeChangeType: TimeChangeType) {} +} \ No newline at end of file diff --git a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt similarity index 94% rename from plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt rename to plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt index 66b3c4a597..a377362d26 100644 --- a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt +++ b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotuneCoreTest.kt @@ -8,9 +8,7 @@ import info.nightscout.database.entities.data.TargetBlock import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.plugins.R -import info.nightscout.plugins.general.autotune.data.ATProfile -import info.nightscout.plugins.general.autotune.data.LocalInsulin +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil @@ -92,7 +90,7 @@ class AutotuneCoreTest : TestBaseWithProfile() { * OpenAPS profile for Autotune only have one ISF value and one IC value */ @Suppress("SpellCheckingInspection") - private fun atProfileFromOapsJson(jsonObject: JSONObject, dateUtil: DateUtil, defaultUnits: String? = null): ATProfile? { + private fun atProfileFromOapsJson(jsonObject: JSONObject, dateUtil: DateUtil, defaultUnits: String? = null): info.nightscout.plugins.general.autotune.data.ATProfile? { try { min5mCarbImpact = JsonHelper.safeGetDoubleAllowNull(jsonObject, "min_5m_carbimpact") ?: return null autotuneMin = JsonHelper.safeGetDoubleAllowNull(jsonObject, "autosens_min") ?: return null @@ -101,7 +99,7 @@ class AutotuneCoreTest : TestBaseWithProfile() { val units = GlucoseUnit.fromText(txtUnits) val dia = JsonHelper.safeGetDoubleAllowNull(jsonObject, "dia") ?: return null val peak = JsonHelper.safeGetIntAllowNull(jsonObject, "insulinPeakTime") ?: return null - val localInsulin = LocalInsulin("insulin", peak, dia) + val localInsulin = info.nightscout.plugins.general.autotune.data.LocalInsulin("insulin", peak, dia) val timezone = TimeZone.getTimeZone(JsonHelper.safeGetString(jsonObject, "timezone", "UTC")) val isfJson = jsonObject.getJSONObject("isfProfile") val isfBlocks = ArrayList(1).also { @@ -129,7 +127,7 @@ class AutotuneCoreTest : TestBaseWithProfile() { timeZone = timezone, dia = dia ) - return ATProfile(ProfileSealed.Pure(pure), localInsulin, profileInjector).also { it.dateUtil = dateUtil } + return info.nightscout.plugins.general.autotune.data.ATProfile(ProfileSealed.Pure(pure), localInsulin, profileInjector).also { it.dateUtil = dateUtil } } catch (ignored: Exception) { return null } diff --git a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt similarity index 96% rename from plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt rename to plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt index 4874f755f7..25ca50971f 100644 --- a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt +++ b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/AutotunePrepTest.kt @@ -15,9 +15,7 @@ import info.nightscout.interfaces.iob.IobTotal import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profile.PureProfile import info.nightscout.interfaces.utils.JsonHelper -import info.nightscout.plugins.R -import info.nightscout.plugins.general.autotune.data.ATProfile -import info.nightscout.plugins.general.autotune.data.LocalInsulin +import info.nightscout.plugins.aps.R import info.nightscout.plugins.general.autotune.data.PreppedGlucose import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.sharedPreferences.SP @@ -173,7 +171,7 @@ class AutotunePrepTest : TestBaseWithProfile() { * OpenAPS profile for Autotune only have one ISF value and one IC value */ @Suppress("SpellCheckingInspection") - private fun atProfileFromOapsJson(jsonObject: JSONObject, dateUtil: DateUtil, defaultUnits: String? = null): ATProfile? { + private fun atProfileFromOapsJson(jsonObject: JSONObject, dateUtil: DateUtil, defaultUnits: String? = null): info.nightscout.plugins.general.autotune.data.ATProfile? { try { min5mCarbImpact = JsonHelper.safeGetDoubleAllowNull(jsonObject, "min_5m_carbimpact") ?: return null autotuneMin = JsonHelper.safeGetDoubleAllowNull(jsonObject, "autosens_min") ?: return null @@ -182,7 +180,7 @@ class AutotunePrepTest : TestBaseWithProfile() { val units = GlucoseUnit.fromText(txtUnits) val dia = JsonHelper.safeGetDoubleAllowNull(jsonObject, "dia") ?: return null val peak = JsonHelper.safeGetIntAllowNull(jsonObject, "insulinPeakTime") ?: return null - val localInsulin = LocalInsulin("insulin", peak, dia) + val localInsulin = info.nightscout.plugins.general.autotune.data.LocalInsulin("insulin", peak, dia) val timezone = TimeZone.getTimeZone(JsonHelper.safeGetString(jsonObject, "timezone", "UTC")) val isfJson = jsonObject.getJSONObject("isfProfile") val isfBlocks = ArrayList(1).also { @@ -202,7 +200,7 @@ class AutotunePrepTest : TestBaseWithProfile() { val pure = PureProfile( jsonObject = jsonObject, - basalBlocks = basalBlocks.shiftBlock(1.0,ts), + basalBlocks = basalBlocks.shiftBlock(1.0, ts), isfBlocks = isfBlocks, icBlocks = icBlocks, targetBlocks = targetBlocks, @@ -210,7 +208,7 @@ class AutotunePrepTest : TestBaseWithProfile() { timeZone = timezone, dia = dia ) - return ATProfile(ProfileSealed.Pure(pure), localInsulin, profileInjector).also { it.dateUtil = dateUtil } + return info.nightscout.plugins.general.autotune.data.ATProfile(ProfileSealed.Pure(pure), localInsulin, profileInjector).also { it.dateUtil = dateUtil } } catch (ignored: Exception) { return null } @@ -304,7 +302,7 @@ class AutotunePrepTest : TestBaseWithProfile() { } class TestAutotuneIob( - val aapsLogger: AAPSLogger, + aapsLogger: AAPSLogger, repository: AppRepository, profileFunction: ProfileFunction, sp: SP, @@ -320,7 +318,7 @@ class AutotunePrepTest : TestBaseWithProfile() { autotuneFS ) { - override fun getIOB(time: Long, localInsulin: LocalInsulin): IobTotal { + override fun getIOB(time: Long, localInsulin: info.nightscout.plugins.general.autotune.data.LocalInsulin): IobTotal { val bolusIob = IobTotal(time) iobOapsCalculation.forEach { if (it.time == time) diff --git a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt similarity index 90% rename from plugins/main/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt rename to plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt index a20f33e31a..a88405755f 100644 --- a/plugins/main/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt +++ b/plugins/aps/src/test/java/info/nightscout/plugins/general/autotune/PreppedGlucoseTest.kt @@ -1,8 +1,6 @@ package info.nightscout.plugins.general.autotune import info.nightscout.androidaps.TestBaseWithProfile -import info.nightscout.plugins.general.autotune.data.BGDatum -import info.nightscout.plugins.general.autotune.data.CRDatum import info.nightscout.plugins.general.autotune.data.PreppedGlucose import org.json.JSONObject import org.junit.Assert @@ -24,22 +22,22 @@ class PreppedGlucoseTest : TestBaseWithProfile() { @Test fun preppedGlucoseLoadTest() { // Test if load from file of OpenAPS categorisation is Ok val crData0 = - CRDatum( + info.nightscout.plugins.general.autotune.data.CRDatum( JSONObject("{\"CRInitialIOB\":13.594,\"CRInitialBG\":123,\"CRInitialCarbTime\":\"2022-05-21T07:54:09.000Z\",\"CREndIOB\":-0.155,\"CREndBG\":98,\"CREndTime\":\"2022-05-21T11:19:08.000Z\",\"CRCarbs\":70,\"CRInsulin\":-2.13}"), dateUtil ) val csfDataEnd = - BGDatum( + info.nightscout.plugins.general.autotune.data.BGDatum( JSONObject("{\"device\":\"AndroidAPS-DexcomG6\",\"date\":1653176050000,\"dateString\":\"2022-05-21T23:34:10.000Z\",\"isValid\":true,\"sgv\":127,\"direction\":\"Flat\",\"type\":\"sgv\",\"_id\":\"6289771371a363000480abc1\",\"glucose\":127,\"avgDelta\":\"2.50\",\"BGI\":-2.93,\"deviation\":\"5.43\",\"mealCarbs\":0,\"mealAbsorption\":\"end\"}"), dateUtil ) val isfData0 = - BGDatum( + info.nightscout.plugins.general.autotune.data.BGDatum( JSONObject("{\"device\":\"AndroidAPS-DexcomG6\",\"date\":1653108249000,\"dateString\":\"2022-05-21T04:44:09.000Z\",\"isValid\":true,\"sgv\":123,\"direction\":\"FortyFiveDown\",\"type\":\"sgv\",\"_id\":\"62886e2919e2e60004989bba\",\"glucose\":123,\"avgDelta\":\"-7.50\",\"BGI\":-7.59,\"deviation\":\"0.09\"}"), dateUtil ) val basalDataEnd = - BGDatum( + info.nightscout.plugins.general.autotune.data.BGDatum( JSONObject("{\"device\":\"AndroidAPS-DexcomG6\",\"date\":1653180549000,\"dateString\":\"2022-05-22T00:49:09.000Z\",\"isValid\":true,\"sgv\":121,\"direction\":\"FortyFiveDown\",\"type\":\"sgv\",\"_id\":\"628988a3da46aa0004d1e0f5\",\"glucose\":121,\"avgDelta\":\"-5.25\",\"BGI\":-3.32,\"deviation\":\"-1.93\"}"), dateUtil ) diff --git a/plugins/main/src/test/res/autotune/test1/Convert_Log2JSON.xlsx b/plugins/aps/src/test/res/autotune/test1/Convert_Log2JSON.xlsx similarity index 100% rename from plugins/main/src/test/res/autotune/test1/Convert_Log2JSON.xlsx rename to plugins/aps/src/test/res/autotune/test1/Convert_Log2JSON.xlsx diff --git a/plugins/main/src/test/res/autotune/test1/Oref0-Autotune_Command.txt b/plugins/aps/src/test/res/autotune/test1/Oref0-Autotune_Command.txt similarity index 100% rename from plugins/main/src/test/res/autotune/test1/Oref0-Autotune_Command.txt rename to plugins/aps/src/test/res/autotune/test1/Oref0-Autotune_Command.txt diff --git a/plugins/main/src/test/res/autotune/test1/aaps-entries.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test1/aaps-entries.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test1/aaps-entries.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test1/aaps-treatments.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test1/aapsorefautotune_recommendations.log b/plugins/aps/src/test/res/autotune/test1/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/main/src/test/res/autotune/test1/aapsorefautotune_recommendations.log rename to plugins/aps/src/test/res/autotune/test1/aapsorefautotune_recommendations.log diff --git a/plugins/main/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test1/aapsorefprofile.2022-05-21.json diff --git a/plugins/aps/src/test/res/autotune/test1/aapsorefprofile.json b/plugins/aps/src/test/res/autotune/test1/aapsorefprofile.json new file mode 100644 index 0000000000..122b05ba40 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test1/aapsorefprofile.json @@ -0,0 +1,181 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.002, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 1.091, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 1.118, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.321, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.091, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.965, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.825, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 0.849, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 0.909, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 0.903, + "start": "09:00:00", + "untuned": 1 + }, + { + "i": 10, + "minutes": 600, + "rate": 0.906, + "start": "10:00:00", + "untuned": 1 + }, + { + "i": 11, + "minutes": 660, + "rate": 0.878, + "start": "11:00:00", + "untuned": 1 + }, + { + "i": 12, + "minutes": 720, + "rate": 0.861, + "start": "12:00:00", + "untuned": 1 + }, + { + "i": 13, + "minutes": 780, + "rate": 0.855, + "start": "13:00:00", + "untuned": 1 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.848, + "start": "14:00:00", + "untuned": 1 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.834, + "start": "15:00:00", + "untuned": 1 + }, + { + "i": 16, + "minutes": 960, + "rate": 0.762, + "start": "16:00:00", + "untuned": 1 + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.647, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.631, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.728, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.838, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.871, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.886, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.893, + "start": "23:00:00" + } + ], + "carb_ratio": 5.817, + "csf": 16.025, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 85.993, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 85.993, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test1/autotune.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/autotune.2022-05-21.json new file mode 100644 index 0000000000..1759d320fc --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test1/autotune.2022-05-21.json @@ -0,0 +1,4177 @@ +{ + "CRData": [ + { + "CRInitialIOB": 13.594, + "CRInitialBG": 123, + "CRInitialCarbTime": "2022-05-21T07:54:09.000Z", + "CREndIOB": -0.155, + "CREndBG": 98, + "CREndTime": "2022-05-21T11:19:08.000Z", + "CRCarbs": 70, + "CRInsulin": -2.13 + }, + { + "CRInitialIOB": 8.11, + "CRInitialBG": 109, + "CRInitialCarbTime": "2022-05-21T11:24:09.000Z", + "CREndIOB": -0.073, + "CREndBG": 104, + "CREndTime": "2022-05-21T18:34:09.000Z", + "CRCarbs": 80, + "CRInsulin": 5.22 + }, + { + "CRInitialIOB": 9.296, + "CRInitialBG": 133, + "CRInitialCarbTime": "2022-05-21T20:24:09.000Z", + "CREndIOB": 0.304, + "CREndBG": 127, + "CREndTime": "2022-05-21T23:34:10.000Z", + "CRCarbs": 50, + "CRInsulin": -0.81 + } + ], + "CSFGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119649000, + "dateString": "2022-05-21T07:54:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889ac27ff1e700040f17dc", + "glucose": 123, + "avgDelta": "7.75", + "BGI": -0.99, + "deviation": "8.74", + "mealAbsorption": "start", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119949000, + "dateString": "2022-05-21T07:59:09.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889be4a4cc860004a251c7", + "glucose": 132, + "avgDelta": "8.75", + "BGI": -14.27, + "deviation": "23.02", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120249000, + "dateString": "2022-05-21T08:04:09.000Z", + "isValid": true, + "sgv": 141, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889d13a4cc860004a251c9", + "glucose": 141, + "avgDelta": "9.00", + "BGI": -24.7, + "deviation": "33.70", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120548000, + "dateString": "2022-05-21T08:09:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889e41a4cc860004a251cb", + "glucose": 146, + "avgDelta": "8.00", + "BGI": -32.76, + "deviation": "40.76", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120849000, + "dateString": "2022-05-21T08:14:09.000Z", + "isValid": true, + "sgv": 148, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889f6fa4cc860004a251cc", + "glucose": 148, + "avgDelta": "6.25", + "BGI": -38.79, + "deviation": "45.04", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121149000, + "dateString": "2022-05-21T08:19:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6288a09fa4cc860004a251ce", + "glucose": 147, + "avgDelta": "3.75", + "BGI": -43.14, + "deviation": "46.89", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121449000, + "dateString": "2022-05-21T08:24:09.000Z", + "isValid": true, + "sgv": 145, + "direction": "Flat", + "type": "sgv", + "_id": "6288a1cda4cc860004a251d1", + "glucose": 145, + "avgDelta": "1.00", + "BGI": -46.03, + "deviation": "47.03", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121749000, + "dateString": "2022-05-21T08:29:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "Flat", + "type": "sgv", + "_id": "6288a2fca4cc860004a251d2", + "glucose": 138, + "avgDelta": "-2.00", + "BGI": -47.84, + "deviation": "45.84", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122049000, + "dateString": "2022-05-21T08:34:09.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "6288a42099fc930004d6bde8", + "glucose": 128, + "avgDelta": "-5.00", + "BGI": -48.66, + "deviation": "43.66", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122349000, + "dateString": "2022-05-21T08:39:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a55199fc930004d6bdeb", + "glucose": 118, + "avgDelta": "-7.25", + "BGI": -48.66, + "deviation": "41.41", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122649000, + "dateString": "2022-05-21T08:44:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a73099fc930004d6bded", + "glucose": 111, + "avgDelta": "-8.50", + "BGI": -48.01, + "deviation": "39.51", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122949000, + "dateString": "2022-05-21T08:49:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a7ad99fc930004d6bdef", + "glucose": 108, + "avgDelta": "-7.50", + "BGI": -46.89, + "deviation": "39.39", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123248000, + "dateString": "2022-05-21T08:54:08.000Z", + "isValid": true, + "sgv": 107, + "direction": "Flat", + "type": "sgv", + "_id": "6288a8db99fc930004d6bdf1", + "glucose": 107, + "avgDelta": "-5.25", + "BGI": -45.38, + "deviation": "40.13", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123549000, + "dateString": "2022-05-21T08:59:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "Flat", + "type": "sgv", + "_id": "6288a9f099fc930004d6bdf4", + "glucose": 109, + "avgDelta": "-2.25", + "BGI": -43.62, + "deviation": "41.37", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123849000, + "dateString": "2022-05-21T09:04:09.000Z", + "isValid": true, + "sgv": 113, + "direction": "Flat", + "type": "sgv", + "_id": "6288ab1d99fc930004d6bdf6", + "glucose": 113, + "avgDelta": "0.50", + "BGI": -41.85, + "deviation": "42.35", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124149000, + "dateString": "2022-05-21T09:09:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288ac4b99fc930004d6bdf8", + "glucose": 119, + "avgDelta": "2.75", + "BGI": -39.95, + "deviation": "42.70", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124448000, + "dateString": "2022-05-21T09:14:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "6288ad7999fc930004d6bdfa", + "glucose": 124, + "avgDelta": "4.25", + "BGI": -37.84, + "deviation": "42.09", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124749000, + "dateString": "2022-05-21T09:19:09.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "6288aea799fc930004d6bdfb", + "glucose": 125, + "avgDelta": "4.00", + "BGI": -35.69, + "deviation": "39.69", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125048000, + "dateString": "2022-05-21T09:24:08.000Z", + "isValid": true, + "sgv": 122, + "direction": "Flat", + "type": "sgv", + "_id": "6288afd5c9c02c00041f7ef8", + "glucose": 122, + "avgDelta": "2.25", + "BGI": -33.4, + "deviation": "35.65", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125349000, + "dateString": "2022-05-21T09:29:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "6288b103c9c02c00041f7efc", + "glucose": 120, + "avgDelta": "0.25", + "BGI": -31.2, + "deviation": "31.45", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125649000, + "dateString": "2022-05-21T09:34:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b231c9c02c00041f7efe", + "glucose": 118, + "avgDelta": "-1.50", + "BGI": -28.96, + "deviation": "27.46", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125948000, + "dateString": "2022-05-21T09:39:08.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b35fc9c02c00041f7f00", + "glucose": 118, + "avgDelta": "-1.75", + "BGI": -26.77, + "deviation": "25.02", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126249000, + "dateString": "2022-05-21T09:44:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b48dc9c02c00041f7f02", + "glucose": 118, + "avgDelta": "-1.00", + "BGI": -24.61, + "deviation": "23.61", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126549000, + "dateString": "2022-05-21T09:49:09.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288b5bbc9c02c00041f7f04", + "glucose": 117, + "avgDelta": "-0.75", + "BGI": -22.5, + "deviation": "21.75", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126849000, + "dateString": "2022-05-21T09:54:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b6e9c9c02c00041f7f06", + "glucose": 118, + "avgDelta": "0.00", + "BGI": -20.52, + "deviation": "20.52", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127149000, + "dateString": "2022-05-21T09:59:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288b813abbef90004616ceb", + "glucose": 119, + "avgDelta": "0.25", + "BGI": -18.58, + "deviation": "18.83", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127449000, + "dateString": "2022-05-21T10:04:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288b941abbef90004616cf0", + "glucose": 119, + "avgDelta": "0.25", + "BGI": -16.72, + "deviation": "16.97", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127748000, + "dateString": "2022-05-21T10:09:08.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "6288ba56abbef90004616cf2", + "glucose": 115, + "avgDelta": "-0.50", + "BGI": -14.96, + "deviation": "14.46", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128049000, + "dateString": "2022-05-21T10:14:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "6288bb84abbef90004616cf4", + "glucose": 110, + "avgDelta": "-2.00", + "BGI": -13.32, + "deviation": "11.32", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128349000, + "dateString": "2022-05-21T10:19:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "Flat", + "type": "sgv", + "_id": "6288bcb2abbef90004616cf6", + "glucose": 104, + "avgDelta": "-3.75", + "BGI": -11.72, + "deviation": "7.97", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128649000, + "dateString": "2022-05-21T10:24:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288bde0abbef90004616cf8", + "glucose": 101, + "avgDelta": "-4.50", + "BGI": -10.3, + "deviation": "5.80", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128948000, + "dateString": "2022-05-21T10:29:08.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6288bf061991280004dce457", + "glucose": 99, + "avgDelta": "-4.00", + "BGI": -8.88, + "deviation": "4.88", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129249000, + "dateString": "2022-05-21T10:34:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "_id": "6288c0341991280004dce459", + "glucose": 96, + "avgDelta": "-3.50", + "BGI": -7.59, + "deviation": "4.09", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129548000, + "dateString": "2022-05-21T10:39:08.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288c1631991280004dce45b", + "glucose": 94, + "avgDelta": "-2.50", + "BGI": -6.38, + "deviation": "3.88", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129848000, + "dateString": "2022-05-21T10:44:08.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288c2911991280004dce45e", + "glucose": 93, + "avgDelta": "-2.00", + "BGI": -5.26, + "deviation": "3.26", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130149000, + "dateString": "2022-05-21T10:49:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288c3be1991280004dce461", + "glucose": 91, + "avgDelta": "-2.00", + "BGI": -4.27, + "deviation": "2.27", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130448000, + "dateString": "2022-05-21T10:54:08.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6288c4ec1991280004dce464", + "glucose": 88, + "avgDelta": "-2.00", + "BGI": -3.36, + "deviation": "1.36", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130748000, + "dateString": "2022-05-21T10:59:08.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "_id": "6288c61a1991280004dce468", + "glucose": 84, + "avgDelta": "-2.50", + "BGI": -2.59, + "deviation": "0.09", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131049000, + "dateString": "2022-05-21T11:04:09.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "_id": "6288c7418e9ed800049b39e3", + "glucose": 81, + "avgDelta": "-3.00", + "BGI": -1.9, + "deviation": "-1.10", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131349000, + "dateString": "2022-05-21T11:09:09.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "6288c86f8e9ed800049b39e5", + "glucose": 82, + "avgDelta": "-2.25", + "BGI": -1.25, + "deviation": "-1.00", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131649000, + "dateString": "2022-05-21T11:14:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6288c99e8e9ed800049b39e8", + "glucose": 89, + "avgDelta": "0.25", + "BGI": -0.65, + "deviation": "0.90", + "mealCarbs": 70 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131948000, + "dateString": "2022-05-21T11:19:08.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6288cacb8e9ed800049b39ec", + "glucose": 98, + "avgDelta": "3.50", + "BGI": -0.3, + "deviation": "3.80", + "mealCarbs": 0 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132249000, + "dateString": "2022-05-21T11:24:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288cbf98e9ed800049b39f2", + "glucose": 109, + "avgDelta": "7.00", + "BGI": -1.94, + "deviation": "8.94", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132549000, + "dateString": "2022-05-21T11:29:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288cd278e9ed800049b39f5", + "glucose": 118, + "avgDelta": "9.00", + "BGI": -9.57, + "deviation": "18.57", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132849000, + "dateString": "2022-05-21T11:34:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ce548e9ed800049b39f7", + "glucose": 121, + "avgDelta": "8.00", + "BGI": -15.47, + "deviation": "23.47", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133149000, + "dateString": "2022-05-21T11:39:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6288cf770f1be700041e59c8", + "glucose": 114, + "avgDelta": "4.00", + "BGI": -20.04, + "deviation": "24.04", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133449000, + "dateString": "2022-05-21T11:44:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288d0a80f1be700041e59cb", + "glucose": 101, + "avgDelta": "-2.00", + "BGI": -23.32, + "deviation": "21.32", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133749000, + "dateString": "2022-05-21T11:49:09.000Z", + "isValid": true, + "sgv": 87, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d1d80f1be700041e59cf", + "glucose": 87, + "avgDelta": "-7.75", + "BGI": -25.69, + "deviation": "17.94", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134049000, + "dateString": "2022-05-21T11:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d3060f1be700041e59d2", + "glucose": 79, + "avgDelta": "-10.50", + "BGI": -27.28, + "deviation": "0.00", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134349000, + "dateString": "2022-05-21T11:59:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d4220f1be700041e59d5", + "glucose": 76, + "avgDelta": "-9.50", + "BGI": -28.06, + "deviation": "0.00", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134649000, + "dateString": "2022-05-21T12:04:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "_id": "6288d5500f1be700041e59d7", + "glucose": 77, + "avgDelta": "-6.00", + "BGI": -28.32, + "deviation": "0.00", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134949000, + "dateString": "2022-05-21T12:09:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d67f0f1be700041e59da", + "glucose": 78, + "avgDelta": "-2.25", + "BGI": -28.14, + "deviation": "0.00", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135249000, + "dateString": "2022-05-21T12:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288d7ae0f1be700041e59de", + "glucose": 79, + "avgDelta": "0.00", + "BGI": -27.76, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135549000, + "dateString": "2022-05-21T12:19:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d8e00f1be700041e59e0", + "glucose": 78, + "avgDelta": "0.50", + "BGI": -27.02, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135849000, + "dateString": "2022-05-21T12:24:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288d9fb0f1be700041e59e2", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": -26.12, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136149000, + "dateString": "2022-05-21T12:29:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6288db8a0f1be700041e59e5", + "glucose": 73, + "avgDelta": "-1.25", + "BGI": -25, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136449000, + "dateString": "2022-05-21T12:34:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "6288dd270f1be700041e59e8", + "glucose": 70, + "avgDelta": "-2.25", + "BGI": -23.7, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136749000, + "dateString": "2022-05-21T12:39:09.000Z", + "isValid": true, + "sgv": 68, + "direction": "Flat", + "type": "sgv", + "_id": "6288de580f1be700041e59ea", + "glucose": 68, + "avgDelta": "-2.50", + "BGI": -22.37, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137049000, + "dateString": "2022-05-21T12:44:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "6288df8a0f1be700041e59ec", + "glucose": 69, + "avgDelta": "-1.75", + "BGI": -20.95, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137350000, + "dateString": "2022-05-21T12:49:10.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6288dfd60f1be700041e59ee", + "glucose": 72, + "avgDelta": "-0.25", + "BGI": -19.52, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137649000, + "dateString": "2022-05-21T12:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288e1040f1be700041e59f0", + "glucose": 79, + "avgDelta": "2.25", + "BGI": -18.02, + "deviation": "0.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137949000, + "dateString": "2022-05-21T12:59:09.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "_id": "6288e24c0f1be700041e59f3", + "glucose": 86, + "avgDelta": "4.50", + "BGI": -17.54, + "deviation": "22.04", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138249000, + "dateString": "2022-05-21T13:04:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288e3610f1be700041e59f6", + "glucose": 93, + "avgDelta": "6.00", + "BGI": -17.8, + "deviation": "23.80", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138549000, + "dateString": "2022-05-21T13:09:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288e4900f1be700041e59f8", + "glucose": 95, + "avgDelta": "5.75", + "BGI": -18.1, + "deviation": "23.85", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138849000, + "dateString": "2022-05-21T13:14:09.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288e5d00f1be700041e59fb", + "glucose": 94, + "avgDelta": "3.75", + "BGI": -18.53, + "deviation": "22.28", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139150000, + "dateString": "2022-05-21T13:19:10.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288e7030f1be700041e59fd", + "glucose": 93, + "avgDelta": "1.75", + "BGI": -18.83, + "deviation": "20.58", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139450000, + "dateString": "2022-05-21T13:24:10.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288e82c0f1be700041e5a00", + "glucose": 94, + "avgDelta": "0.25", + "BGI": -18.83, + "deviation": "19.08", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139749000, + "dateString": "2022-05-21T13:29:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6288e9410f1be700041e5a03", + "glucose": 98, + "avgDelta": "0.75", + "BGI": -18.58, + "deviation": "19.33", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140049000, + "dateString": "2022-05-21T13:34:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "_id": "6288ea6e0f1be700041e5a06", + "glucose": 105, + "avgDelta": "2.75", + "BGI": -18.45, + "deviation": "21.20", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140349000, + "dateString": "2022-05-21T13:39:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288eb9d0f1be700041e5a09", + "glucose": 114, + "avgDelta": "5.25", + "BGI": -18.58, + "deviation": "23.83", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140648000, + "dateString": "2022-05-21T13:44:08.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ecca0f1be700041e5a0b", + "glucose": 121, + "avgDelta": "6.75", + "BGI": -18.71, + "deviation": "25.46", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140949000, + "dateString": "2022-05-21T13:49:09.000Z", + "isValid": true, + "sgv": 126, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288edfc2634cd0004296065", + "glucose": 126, + "avgDelta": "7.00", + "BGI": -19.05, + "deviation": "26.05", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141249000, + "dateString": "2022-05-21T13:54:09.000Z", + "isValid": true, + "sgv": 131, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ef2a2634cd0004296067", + "glucose": 131, + "avgDelta": "6.50", + "BGI": -19.48, + "deviation": "25.98", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141548000, + "dateString": "2022-05-21T13:59:08.000Z", + "isValid": true, + "sgv": 139, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f03f2634cd000429606a", + "glucose": 139, + "avgDelta": "6.25", + "BGI": -19.91, + "deviation": "26.16", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141849000, + "dateString": "2022-05-21T14:04:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f16d2634cd000429606c", + "glucose": 147, + "avgDelta": "6.50", + "BGI": -20.17, + "deviation": "26.67", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142149000, + "dateString": "2022-05-21T14:09:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f29b2634cd000429606f", + "glucose": 155, + "avgDelta": "7.25", + "BGI": -20.73, + "deviation": "27.98", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142449000, + "dateString": "2022-05-21T14:14:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f3c92634cd0004296071", + "glucose": 160, + "avgDelta": "7.25", + "BGI": -21.08, + "deviation": "28.33", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142749000, + "dateString": "2022-05-21T14:19:09.000Z", + "isValid": true, + "sgv": 166, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f4f72634cd0004296074", + "glucose": 166, + "avgDelta": "6.75", + "BGI": -21.55, + "deviation": "28.30", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143049000, + "dateString": "2022-05-21T14:24:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f62c0e0c880004d58dd8", + "glucose": 174, + "avgDelta": "6.75", + "BGI": -21.89, + "deviation": "28.64", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143349000, + "dateString": "2022-05-21T14:29:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f75a0e0c880004d58ddb", + "glucose": 182, + "avgDelta": "6.75", + "BGI": -21.98, + "deviation": "28.73", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143650000, + "dateString": "2022-05-21T14:34:10.000Z", + "isValid": true, + "sgv": 185, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f8880e0c880004d58dde", + "glucose": 185, + "avgDelta": "6.25", + "BGI": -21.85, + "deviation": "28.10", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143949000, + "dateString": "2022-05-21T14:39:09.000Z", + "isValid": true, + "sgv": 184, + "direction": "Flat", + "type": "sgv", + "_id": "6288f9b60e0c880004d58de0", + "glucose": 184, + "avgDelta": "4.50", + "BGI": -21.46, + "deviation": "25.96", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144249000, + "dateString": "2022-05-21T14:44:09.000Z", + "isValid": true, + "sgv": 180, + "direction": "Flat", + "type": "sgv", + "_id": "6288facb0e0c880004d58de3", + "glucose": 180, + "avgDelta": "1.50", + "BGI": -20.82, + "deviation": "22.32", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144550000, + "dateString": "2022-05-21T14:49:10.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6288fbf90e0c880004d58de5", + "glucose": 178, + "avgDelta": "-1.00", + "BGI": -20, + "deviation": "19.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144849000, + "dateString": "2022-05-21T14:54:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6288fd270e0c880004d58de7", + "glucose": 177, + "avgDelta": "-2.00", + "BGI": -19.01, + "deviation": "17.01", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145149000, + "dateString": "2022-05-21T14:59:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "6288fe56c9346b0004863359", + "glucose": 176, + "avgDelta": "-2.00", + "BGI": -17.97, + "deviation": "15.97", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145449000, + "dateString": "2022-05-21T15:04:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6288ff9ec9346b000486335b", + "glucose": 177, + "avgDelta": "-0.75", + "BGI": -16.85, + "deviation": "16.10", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145750000, + "dateString": "2022-05-21T15:09:10.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "628900b2c9346b000486335d", + "glucose": 177, + "avgDelta": "-0.25", + "BGI": -15.73, + "deviation": "15.48", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146050000, + "dateString": "2022-05-21T15:14:10.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "628901e0c9346b000486335f", + "glucose": 177, + "avgDelta": "0.00", + "BGI": -14.57, + "deviation": "14.57", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146349000, + "dateString": "2022-05-21T15:19:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6289030ec9346b0004863361", + "glucose": 177, + "avgDelta": "0.25", + "BGI": -13.45, + "deviation": "13.70", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146650000, + "dateString": "2022-05-21T15:24:10.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6289043cc9346b0004863363", + "glucose": 178, + "avgDelta": "0.25", + "BGI": -12.33, + "deviation": "12.58", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146949000, + "dateString": "2022-05-21T15:29:09.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6289056ac9346b0004863366", + "glucose": 178, + "avgDelta": "0.25", + "BGI": -11.29, + "deviation": "11.54", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147249000, + "dateString": "2022-05-21T15:34:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6289067fc9346b0004863369", + "glucose": 177, + "avgDelta": "0.00", + "BGI": -10.17, + "deviation": "10.17", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147549000, + "dateString": "2022-05-21T15:39:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "628907c5cf7ee10004a2b1ce", + "glucose": 176, + "avgDelta": "-0.25", + "BGI": -9.27, + "deviation": "9.02", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147849000, + "dateString": "2022-05-21T15:44:09.000Z", + "isValid": true, + "sgv": 175, + "direction": "Flat", + "type": "sgv", + "_id": "628908f3cf7ee10004a2b1d1", + "glucose": 175, + "avgDelta": "-0.75", + "BGI": -8.49, + "deviation": "7.74", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148149000, + "dateString": "2022-05-21T15:49:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890a21cf7ee10004a2b1d3", + "glucose": 174, + "avgDelta": "-1.00", + "BGI": -7.89, + "deviation": "6.89", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148450000, + "dateString": "2022-05-21T15:54:10.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890b36cf7ee10004a2b1d7", + "glucose": 176, + "avgDelta": "-0.25", + "BGI": -7.37, + "deviation": "7.12", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148749000, + "dateString": "2022-05-21T15:59:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890c64cf7ee10004a2b1da", + "glucose": 176, + "avgDelta": "0.00", + "BGI": -6.94, + "deviation": "6.94", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149049000, + "dateString": "2022-05-21T16:04:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890daccf7ee10004a2b1de", + "glucose": 176, + "avgDelta": "0.25", + "BGI": -6.72, + "deviation": "6.97", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149349000, + "dateString": "2022-05-21T16:09:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890edacf7ee10004a2b1e2", + "glucose": 174, + "avgDelta": "0.00", + "BGI": -6.64, + "deviation": "6.64", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149650000, + "dateString": "2022-05-21T16:14:10.000Z", + "isValid": true, + "sgv": 173, + "direction": "Flat", + "type": "sgv", + "_id": "62890fff1090500004ca46fd", + "glucose": 173, + "avgDelta": "-0.75", + "BGI": -6.42, + "deviation": "5.67", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149949000, + "dateString": "2022-05-21T16:19:09.000Z", + "isValid": true, + "sgv": 172, + "direction": "Flat", + "type": "sgv", + "_id": "6289130f1090500004ca46ff", + "glucose": 172, + "avgDelta": "-1.00", + "BGI": -6.12, + "deviation": "5.12", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150249000, + "dateString": "2022-05-21T16:24:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "Flat", + "type": "sgv", + "_id": "628913111090500004ca4704", + "glucose": 170, + "avgDelta": "-1.50", + "BGI": -5.95, + "deviation": "4.45", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150549000, + "dateString": "2022-05-21T16:29:09.000Z", + "isValid": true, + "sgv": 165, + "direction": "Flat", + "type": "sgv", + "_id": "628913731090500004ca4706", + "glucose": 165, + "avgDelta": "-2.25", + "BGI": -5.73, + "deviation": "3.48", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150849000, + "dateString": "2022-05-21T16:34:09.000Z", + "isValid": true, + "sgv": 161, + "direction": "Flat", + "type": "sgv", + "_id": "628914d01090500004ca4709", + "glucose": 161, + "avgDelta": "-3.00", + "BGI": -5.47, + "deviation": "2.47", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151149000, + "dateString": "2022-05-21T16:39:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628915ce1090500004ca470c", + "glucose": 158, + "avgDelta": "-3.50", + "BGI": -5.09, + "deviation": "1.59", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151449000, + "dateString": "2022-05-21T16:44:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628916f81090500004ca4710", + "glucose": 158, + "avgDelta": "-3.00", + "BGI": -4.74, + "deviation": "1.74", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151749000, + "dateString": "2022-05-21T16:49:09.000Z", + "isValid": true, + "sgv": 159, + "direction": "Flat", + "type": "sgv", + "_id": "628918261090500004ca4714", + "glucose": 159, + "avgDelta": "-1.50", + "BGI": -4.53, + "deviation": "3.03", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152049000, + "dateString": "2022-05-21T16:54:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "Flat", + "type": "sgv", + "_id": "628919531090500004ca4717", + "glucose": 160, + "avgDelta": "-0.25", + "BGI": -4.35, + "deviation": "4.10", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152349000, + "dateString": "2022-05-21T16:59:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "62891a811090500004ca471a", + "glucose": 158, + "avgDelta": "0.00", + "BGI": -4.35, + "deviation": "4.35", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152649000, + "dateString": "2022-05-21T17:04:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62891ba31090500004ca471d", + "glucose": 149, + "avgDelta": "-2.25", + "BGI": -4.35, + "deviation": "2.10", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152949000, + "dateString": "2022-05-21T17:09:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891cd01090500004ca471f", + "glucose": 138, + "avgDelta": "-5.25", + "BGI": -4.22, + "deviation": "-1.03", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153249000, + "dateString": "2022-05-21T17:14:09.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891dfd1090500004ca4722", + "glucose": 124, + "avgDelta": "-9.00", + "BGI": -4.05, + "deviation": "-4.95", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153549000, + "dateString": "2022-05-21T17:19:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "SingleDown", + "type": "sgv", + "_id": "62891f2b1090500004ca4724", + "glucose": 110, + "avgDelta": "-12.00", + "BGI": -3.79, + "deviation": "-8.21", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153849000, + "dateString": "2022-05-21T17:24:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "SingleDown", + "type": "sgv", + "_id": "628920591090500004ca4727", + "glucose": 96, + "avgDelta": "-13.25", + "BGI": -3.49, + "deviation": "-9.76", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154149000, + "dateString": "2022-05-21T17:29:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "SingleDown", + "type": "sgv", + "_id": "628921861090500004ca472b", + "glucose": 93, + "avgDelta": "-11.25", + "BGI": -3.19, + "deviation": "-8.06", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154449000, + "dateString": "2022-05-21T17:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628922b18809e60004c644d6", + "glucose": 97, + "avgDelta": "-6.75", + "BGI": -2.84, + "deviation": "-3.91", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154749000, + "dateString": "2022-05-21T17:39:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "NONE", + "type": "sgv", + "_id": "628923df8809e60004c644d9", + "glucose": 108, + "avgDelta": "-0.50", + "BGI": -2.5, + "deviation": "2.00", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155049000, + "dateString": "2022-05-21T17:44:09.000Z", + "isValid": true, + "sgv": 116, + "direction": "NONE", + "type": "sgv", + "_id": "6289250d8809e60004c644dd", + "glucose": 116, + "avgDelta": "5.00", + "BGI": -2.16, + "deviation": "7.16", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155349000, + "dateString": "2022-05-21T17:49:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "NONE", + "type": "sgv", + "_id": "6289263c8809e60004c644e1", + "glucose": 123, + "avgDelta": "7.50", + "BGI": -2.07, + "deviation": "9.57", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155649000, + "dateString": "2022-05-21T17:54:09.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "6289276a8809e60004c644e3", + "glucose": 124, + "avgDelta": "6.75", + "BGI": -2.11, + "deviation": "8.86", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155950000, + "dateString": "2022-05-21T17:59:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "6289287e8809e60004c644e6", + "glucose": 123, + "avgDelta": "3.75", + "BGI": -2.16, + "deviation": "5.91", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156250000, + "dateString": "2022-05-21T18:04:10.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "628929ac8809e60004c644e9", + "glucose": 119, + "avgDelta": "0.75", + "BGI": -2.07, + "deviation": "2.82", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156549000, + "dateString": "2022-05-21T18:09:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "62892af2840d8d0004a20bf0", + "glucose": 114, + "avgDelta": "-2.25", + "BGI": -1.9, + "deviation": "-0.35", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156849000, + "dateString": "2022-05-21T18:14:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62892c06840d8d0004a20bf2", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -1.72, + "deviation": "-1.78", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157149000, + "dateString": "2022-05-21T18:19:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892d34840d8d0004a20bf5", + "glucose": 108, + "avgDelta": "-3.75", + "BGI": -1.47, + "deviation": "-2.28", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157449000, + "dateString": "2022-05-21T18:24:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892e62840d8d0004a20bf8", + "glucose": 108, + "avgDelta": "-2.75", + "BGI": -1.21, + "deviation": "-1.54", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157750000, + "dateString": "2022-05-21T18:29:10.000Z", + "isValid": true, + "sgv": 106, + "direction": "Flat", + "type": "sgv", + "_id": "62892f8f840d8d0004a20bfa", + "glucose": 106, + "avgDelta": "-2.00", + "BGI": -0.95, + "deviation": "-1.05", + "mealCarbs": 80 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158049000, + "dateString": "2022-05-21T18:34:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "Flat", + "type": "sgv", + "_id": "628930bc840d8d0004a20bfd", + "glucose": 104, + "avgDelta": "-1.50", + "BGI": -0.69, + "deviation": "-0.81", + "mealCarbs": 0, + "mealAbsorption": "end" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164649000, + "dateString": "2022-05-21T20:24:09.000Z", + "isValid": true, + "sgv": 133, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62894a7e4493460004e63a38", + "glucose": 133, + "avgDelta": "9.50", + "BGI": -6.46, + "deviation": "15.96", + "mealAbsorption": "start", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164950000, + "dateString": "2022-05-21T20:29:10.000Z", + "isValid": true, + "sgv": 143, + "direction": "SingleUp", + "type": "sgv", + "_id": "62894bab80fc7e00041b229b", + "glucose": 143, + "avgDelta": "10.75", + "BGI": -14.31, + "deviation": "25.06", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165249000, + "dateString": "2022-05-21T20:34:09.000Z", + "isValid": true, + "sgv": 145, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62894cdb80fc7e00041b229e", + "glucose": 145, + "avgDelta": "9.00", + "BGI": -20.43, + "deviation": "29.43", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165550000, + "dateString": "2022-05-21T20:39:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "62894e0980fc7e00041b22a0", + "glucose": 139, + "avgDelta": "4.75", + "BGI": -25.17, + "deviation": "29.92", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165850000, + "dateString": "2022-05-21T20:44:10.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "62894f3880fc7e00041b22a3", + "glucose": 128, + "avgDelta": "-1.25", + "BGI": -28.62, + "deviation": "27.37", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166149000, + "dateString": "2022-05-21T20:49:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6289506680fc7e00041b22a5", + "glucose": 118, + "avgDelta": "-6.25", + "BGI": -30.95, + "deviation": "24.70", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166450000, + "dateString": "2022-05-21T20:54:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6289519580fc7e00041b22a7", + "glucose": 110, + "avgDelta": "-8.75", + "BGI": -32.45, + "deviation": "23.70", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166749000, + "dateString": "2022-05-21T20:59:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628952c680fc7e00041b22a9", + "glucose": 104, + "avgDelta": "-8.75", + "BGI": -33.27, + "deviation": "24.52", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167049000, + "dateString": "2022-05-21T21:04:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628953e79bf1e6000482ff90", + "glucose": 101, + "avgDelta": "-6.75", + "BGI": -33.45, + "deviation": "26.70", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167350000, + "dateString": "2022-05-21T21:09:10.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "628955179bf1e6000482ff92", + "glucose": 99, + "avgDelta": "-4.75", + "BGI": -33.14, + "deviation": "28.39", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167650000, + "dateString": "2022-05-21T21:14:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628956919bf1e6000482ff96", + "glucose": 98, + "avgDelta": "-3.00", + "BGI": -32.5, + "deviation": "29.50", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167949000, + "dateString": "2022-05-21T21:19:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6289583f9bf1e6000482ff9b", + "glucose": 98, + "avgDelta": "-1.50", + "BGI": -31.64, + "deviation": "30.14", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168250000, + "dateString": "2022-05-21T21:24:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628959ed9bf1e6000482ff9e", + "glucose": 98, + "avgDelta": "-0.75", + "BGI": -30.69, + "deviation": "29.94", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168549000, + "dateString": "2022-05-21T21:29:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "62895b9a9bf1e6000482ffa1", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": -29.74, + "deviation": "29.49", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168849000, + "dateString": "2022-05-21T21:34:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "62895d98fb144900043c34e5", + "glucose": 100, + "avgDelta": "0.50", + "BGI": -28.58, + "deviation": "29.08", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169150000, + "dateString": "2022-05-21T21:39:10.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62895f5ffb144900043c34e8", + "glucose": 102, + "avgDelta": "1.00", + "BGI": -27.28, + "deviation": "28.28", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169449000, + "dateString": "2022-05-21T21:44:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "_id": "628961a4fb144900043c34ea", + "glucose": 105, + "avgDelta": "1.75", + "BGI": -25.82, + "deviation": "27.57", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169749000, + "dateString": "2022-05-21T21:49:09.000Z", + "isValid": true, + "sgv": 107, + "direction": "Flat", + "type": "sgv", + "_id": "628964906a5ecf00042d546b", + "glucose": 107, + "avgDelta": "2.25", + "BGI": -24.39, + "deviation": "26.64", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170049000, + "dateString": "2022-05-21T21:54:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "628967a06a5ecf00042d546e", + "glucose": 110, + "avgDelta": "2.50", + "BGI": -22.84, + "deviation": "25.34", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170350000, + "dateString": "2022-05-21T21:59:10.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "_id": "628969016a5ecf00042d5470", + "glucose": 112, + "avgDelta": "2.50", + "BGI": -21.29, + "deviation": "23.79", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170650000, + "dateString": "2022-05-21T22:04:10.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "628969fd6a5ecf00042d5471", + "glucose": 115, + "avgDelta": "2.50", + "BGI": -19.7, + "deviation": "22.20", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170950000, + "dateString": "2022-05-21T22:09:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "62896ac76a5ecf00042d5472", + "glucose": 117, + "avgDelta": "2.50", + "BGI": -18.15, + "deviation": "20.65", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171250000, + "dateString": "2022-05-21T22:14:10.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "62896b5f6a5ecf00042d5474", + "glucose": 118, + "avgDelta": "2.00", + "BGI": -16.59, + "deviation": "18.59", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171549000, + "dateString": "2022-05-21T22:19:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "62896c1037d09a00043f2b13", + "glucose": 120, + "avgDelta": "2.00", + "BGI": -15.13, + "deviation": "17.13", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171849000, + "dateString": "2022-05-21T22:24:09.000Z", + "isValid": true, + "sgv": 122, + "direction": "Flat", + "type": "sgv", + "_id": "62896c7537d09a00043f2b14", + "glucose": 122, + "avgDelta": "1.75", + "BGI": -13.75, + "deviation": "15.50", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172150000, + "dateString": "2022-05-21T22:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "62896cda37d09a00043f2b16", + "glucose": 124, + "avgDelta": "1.75", + "BGI": -12.41, + "deviation": "14.16", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172450000, + "dateString": "2022-05-21T22:34:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "62896d8b37d09a00043f2b17", + "glucose": 124, + "avgDelta": "1.50", + "BGI": -11.21, + "deviation": "12.71", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172749000, + "dateString": "2022-05-21T22:39:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "62896e8937d09a00043f2b19", + "glucose": 120, + "avgDelta": "0.00", + "BGI": -10.13, + "deviation": "10.13", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173050000, + "dateString": "2022-05-21T22:44:10.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "62896f8537d09a00043f2b1a", + "glucose": 115, + "avgDelta": "-1.75", + "BGI": -9.05, + "deviation": "7.30", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173350000, + "dateString": "2022-05-21T22:49:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62896fb837d09a00043f2b1b", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -8.15, + "deviation": "4.65", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173650000, + "dateString": "2022-05-21T22:54:10.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289717d37d09a00043f2b1e", + "glucose": 108, + "avgDelta": "-4.00", + "BGI": -7.28, + "deviation": "3.28", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173949000, + "dateString": "2022-05-21T22:59:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289721437d09a00043f2b1f", + "glucose": 108, + "avgDelta": "-3.00", + "BGI": -6.42, + "deviation": "3.42", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174249000, + "dateString": "2022-05-21T23:04:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "Flat", + "type": "sgv", + "_id": "6289726037d09a00043f2b20", + "glucose": 111, + "avgDelta": "-1.00", + "BGI": -5.69, + "deviation": "4.69", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174550000, + "dateString": "2022-05-21T23:09:10.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6289727937d09a00043f2b21", + "glucose": 114, + "avgDelta": "1.00", + "BGI": -4.96, + "deviation": "5.96", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174850000, + "dateString": "2022-05-21T23:14:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6289727a37d09a00043f2b22", + "glucose": 117, + "avgDelta": "2.25", + "BGI": -4.35, + "deviation": "6.60", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175149000, + "dateString": "2022-05-21T23:19:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "6289738f37d09a00043f2b26", + "glucose": 120, + "avgDelta": "3.00", + "BGI": -3.84, + "deviation": "6.84", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175450000, + "dateString": "2022-05-21T23:24:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "628974b671a363000480abbc", + "glucose": 123, + "avgDelta": "3.00", + "BGI": -3.4, + "deviation": "6.40", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175750000, + "dateString": "2022-05-21T23:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "628975e471a363000480abbe", + "glucose": 124, + "avgDelta": "2.50", + "BGI": -3.19, + "deviation": "5.69", + "mealCarbs": 50 + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176050000, + "dateString": "2022-05-21T23:34:10.000Z", + "isValid": true, + "sgv": 127, + "direction": "Flat", + "type": "sgv", + "_id": "6289771371a363000480abc1", + "glucose": 127, + "avgDelta": "2.50", + "BGI": -2.93, + "deviation": "5.43", + "mealCarbs": 0, + "mealAbsorption": "end" + } + ], + "ISFGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108249000, + "dateString": "2022-05-21T04:44:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886e2919e2e60004989bba", + "glucose": 123, + "avgDelta": "-7.50", + "BGI": -7.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108548000, + "dateString": "2022-05-21T04:49:08.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "62886f5719e2e60004989bbc", + "glucose": 128, + "avgDelta": "-4.00", + "BGI": -7.2, + "deviation": "3.20" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110649000, + "dateString": "2022-05-21T05:24:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628877a5363e6c0004f710e0", + "glucose": 98, + "avgDelta": "-6.75", + "BGI": -4.44, + "deviation": "-2.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110949000, + "dateString": "2022-05-21T05:29:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628878bbe964810004aa5655", + "glucose": 97, + "avgDelta": "-5.00", + "BGI": -3.92, + "deviation": "-1.08" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111249000, + "dateString": "2022-05-21T05:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628879e9e964810004aa5657", + "glucose": 97, + "avgDelta": "-3.00", + "BGI": -3.45, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111549000, + "dateString": "2022-05-21T05:39:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "62887b17e964810004aa565a", + "glucose": 100, + "avgDelta": "-0.50", + "BGI": -2.84, + "deviation": "2.34" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111849000, + "dateString": "2022-05-21T05:44:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887c44e964810004aa565d", + "glucose": 102, + "avgDelta": "1.00", + "BGI": -2.37, + "deviation": "3.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112148000, + "dateString": "2022-05-21T05:49:08.000Z", + "isValid": true, + "sgv": 103, + "direction": "Flat", + "type": "sgv", + "_id": "62887d72e964810004aa5661", + "glucose": 103, + "avgDelta": "1.50", + "BGI": -2.07, + "deviation": "3.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112449000, + "dateString": "2022-05-21T05:54:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887ea1e964810004aa5664", + "glucose": 102, + "avgDelta": "1.25", + "BGI": -2.28, + "deviation": "3.53" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112749000, + "dateString": "2022-05-21T05:59:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "62887fcee964810004aa5666", + "glucose": 101, + "avgDelta": "0.25", + "BGI": -2.46, + "deviation": "2.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113049000, + "dateString": "2022-05-21T06:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628880ee8ff3530004dc6060", + "glucose": 98, + "avgDelta": "-1.00", + "BGI": -2.5, + "deviation": "1.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113349000, + "dateString": "2022-05-21T06:09:09.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288821b8ff3530004dc6062", + "glucose": 94, + "avgDelta": "-2.25", + "BGI": -2.46, + "deviation": "0.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113649000, + "dateString": "2022-05-21T06:14:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288834a8ff3530004dc6065", + "glucose": 91, + "avgDelta": "-2.75", + "BGI": -2.28, + "deviation": "-0.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113949000, + "dateString": "2022-05-21T06:19:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "628884778ff3530004dc6067", + "glucose": 89, + "avgDelta": "-3.00", + "BGI": -2.07, + "deviation": "-0.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114249000, + "dateString": "2022-05-21T06:24:09.000Z", + "isValid": true, + "sgv": 85, + "direction": "Flat", + "type": "sgv", + "_id": "628885a48ff3530004dc6069", + "glucose": 85, + "avgDelta": "-3.25", + "BGI": -1.77, + "deviation": "-1.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176350000, + "dateString": "2022-05-21T23:39:10.000Z", + "isValid": true, + "sgv": 132, + "direction": "Flat", + "type": "sgv", + "_id": "6289784271a363000480abc3", + "glucose": 132, + "avgDelta": "3.00", + "BGI": -2.67, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180849000, + "dateString": "2022-05-22T00:54:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "SingleDown", + "type": "sgv", + "_id": "628989d2da46aa0004d1e0f8", + "glucose": 105, + "avgDelta": "-9.50", + "BGI": -3.1, + "deviation": "-6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181150000, + "dateString": "2022-05-22T00:59:10.000Z", + "isValid": true, + "sgv": 97, + "direction": "SingleDown", + "type": "sgv", + "_id": "62898b01da46aa0004d1e0fa", + "glucose": 97, + "avgDelta": "-11.50", + "BGI": -2.84, + "deviation": "-8.66" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181450000, + "dateString": "2022-05-22T01:04:10.000Z", + "isValid": true, + "sgv": 92, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898c2fda46aa0004d1e0fc", + "glucose": 92, + "avgDelta": "-10.75", + "BGI": -2.5, + "deviation": "-8.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181750000, + "dateString": "2022-05-22T01:09:10.000Z", + "isValid": true, + "sgv": 87, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898d4750e51d0004429e5f", + "glucose": 87, + "avgDelta": "-8.50", + "BGI": -2.11, + "deviation": "-6.39" + } + ], + "basalGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114549000, + "dateString": "2022-05-21T06:29:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628886d28ff3530004dc606b", + "glucose": 80, + "avgDelta": "-3.50", + "BGI": -1.47, + "deviation": "-2.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114849000, + "dateString": "2022-05-21T06:34:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "628888018ff3530004dc6070", + "glucose": 78, + "avgDelta": "-3.25", + "BGI": -1.12, + "deviation": "-2.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115149000, + "dateString": "2022-05-21T06:39:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288892a149196000412bf49", + "glucose": 76, + "avgDelta": "-3.25", + "BGI": -0.78, + "deviation": "-2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115449000, + "dateString": "2022-05-21T06:44:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888a57149196000412bf4b", + "glucose": 74, + "avgDelta": "-2.75", + "BGI": -0.34, + "deviation": "-2.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115749000, + "dateString": "2022-05-21T06:49:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888b85149196000412bf4d", + "glucose": 70, + "avgDelta": "-2.50", + "BGI": 0, + "deviation": "-2.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116049000, + "dateString": "2022-05-21T06:54:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "62888ccc149196000412bf4f", + "glucose": 69, + "avgDelta": "-2.25", + "BGI": 0.43, + "deviation": "-2.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116349000, + "dateString": "2022-05-21T06:59:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888de2149196000412bf51", + "glucose": 70, + "avgDelta": "-1.50", + "BGI": 0.78, + "deviation": "-2.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116649000, + "dateString": "2022-05-21T07:04:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888f0f149196000412bf54", + "glucose": 74, + "avgDelta": "0.00", + "BGI": 1.12, + "deviation": "-1.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116949000, + "dateString": "2022-05-21T07:09:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "62889024149196000412bf57", + "glucose": 76, + "avgDelta": "1.50", + "BGI": 1.47, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117249000, + "dateString": "2022-05-21T07:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "628891627ff1e700040f17c6", + "glucose": 79, + "avgDelta": "2.50", + "BGI": 1.77, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117549000, + "dateString": "2022-05-21T07:19:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628892907ff1e700040f17c7", + "glucose": 80, + "avgDelta": "2.50", + "BGI": 2.11, + "deviation": "0.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117848000, + "dateString": "2022-05-21T07:24:08.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "628893bd7ff1e700040f17c9", + "glucose": 82, + "avgDelta": "2.00", + "BGI": 2.37, + "deviation": "-0.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118149000, + "dateString": "2022-05-21T07:29:09.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "_id": "628894d37ff1e700040f17cd", + "glucose": 86, + "avgDelta": "2.50", + "BGI": 2.63, + "deviation": "-0.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118449000, + "dateString": "2022-05-21T07:34:09.000Z", + "isValid": true, + "sgv": 92, + "direction": "Flat", + "type": "sgv", + "_id": "6288961d7ff1e700040f17ce", + "glucose": 92, + "avgDelta": "3.25", + "BGI": 2.84, + "deviation": "0.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118748000, + "dateString": "2022-05-21T07:39:08.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628897357ff1e700040f17d3", + "glucose": 97, + "avgDelta": "4.25", + "BGI": 3.06, + "deviation": "1.19" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119049000, + "dateString": "2022-05-21T07:44:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628898627ff1e700040f17d5", + "glucose": 105, + "avgDelta": "5.75", + "BGI": 2.76, + "deviation": "2.99" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119349000, + "dateString": "2022-05-21T07:49:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628899957ff1e700040f17d7", + "glucose": 114, + "avgDelta": "7.00", + "BGI": 2.37, + "deviation": "4.63" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158349000, + "dateString": "2022-05-21T18:39:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "628931e9840d8d0004a20bff", + "glucose": 102, + "avgDelta": "-1.50", + "BGI": -0.47, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158649000, + "dateString": "2022-05-21T18:44:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6289331c22fbc8000495b813", + "glucose": 101, + "avgDelta": "-1.75", + "BGI": -0.3, + "deviation": "-1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158949000, + "dateString": "2022-05-21T18:49:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289344a22fbc8000495b815", + "glucose": 100, + "avgDelta": "-1.50", + "BGI": -0.17, + "deviation": "-1.33" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159249000, + "dateString": "2022-05-21T18:54:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6289357622fbc8000495b818", + "glucose": 99, + "avgDelta": "-1.25", + "BGI": -0.04, + "deviation": "-1.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159549000, + "dateString": "2022-05-21T18:59:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "628936a422fbc8000495b81a", + "glucose": 99, + "avgDelta": "-0.75", + "BGI": 0.04, + "deviation": "-0.79" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159849000, + "dateString": "2022-05-21T19:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628937b822fbc8000495b81d", + "glucose": 98, + "avgDelta": "-0.75", + "BGI": 0.17, + "deviation": "-0.92" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160150000, + "dateString": "2022-05-21T19:09:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628938fe22fbc8000495b81f", + "glucose": 98, + "avgDelta": "-0.50", + "BGI": 0.3, + "deviation": "-0.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160449000, + "dateString": "2022-05-21T19:14:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "62893a1222fbc8000495b822", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": 0.43, + "deviation": "-0.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160749000, + "dateString": "2022-05-21T19:19:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "62893b4f598f780004bb3b22", + "glucose": 97, + "avgDelta": "-0.50", + "BGI": 0.52, + "deviation": "-1.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161049000, + "dateString": "2022-05-21T19:24:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "62893c7d598f780004bb3b24", + "glucose": 95, + "avgDelta": "-0.75", + "BGI": 0.6, + "deviation": "-1.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161350000, + "dateString": "2022-05-21T19:29:10.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "62893daa598f780004bb3b27", + "glucose": 94, + "avgDelta": "-1.00", + "BGI": 0.65, + "deviation": "-1.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161649000, + "dateString": "2022-05-21T19:34:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "62893ed7598f780004bb3b29", + "glucose": 93, + "avgDelta": "-1.25", + "BGI": 0.73, + "deviation": "-1.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161950000, + "dateString": "2022-05-21T19:39:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "62893feb598f780004bb3b2b", + "glucose": 91, + "avgDelta": "-1.50", + "BGI": 0.86, + "deviation": "-2.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162250000, + "dateString": "2022-05-21T19:44:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "62894118598f780004bb3b2d", + "glucose": 89, + "avgDelta": "-1.50", + "BGI": 0.99, + "deviation": "-2.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162549000, + "dateString": "2022-05-21T19:49:09.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6289425f598f780004bb3b30", + "glucose": 88, + "avgDelta": "-1.50", + "BGI": 1.12, + "deviation": "-2.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162850000, + "dateString": "2022-05-21T19:54:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6289437f4493460004e63a25", + "glucose": 89, + "avgDelta": "-1.00", + "BGI": 1.25, + "deviation": "-2.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163150000, + "dateString": "2022-05-21T19:59:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "628944ae4493460004e63a27", + "glucose": 91, + "avgDelta": "0.00", + "BGI": 1.38, + "deviation": "-1.38" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163449000, + "dateString": "2022-05-21T20:04:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "628945dc4493460004e63a2a", + "glucose": 95, + "avgDelta": "1.50", + "BGI": 1.51, + "deviation": "-0.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163749000, + "dateString": "2022-05-21T20:09:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289470c4493460004e63a2d", + "glucose": 100, + "avgDelta": "3.00", + "BGI": 1.55, + "deviation": "1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164049000, + "dateString": "2022-05-21T20:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "Flat", + "type": "sgv", + "_id": "628948214493460004e63a31", + "glucose": 109, + "avgDelta": "5.00", + "BGI": 1.51, + "deviation": "3.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164350000, + "dateString": "2022-05-21T20:19:10.000Z", + "isValid": true, + "sgv": 120, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6289496a4493460004e63a34", + "glucose": 120, + "avgDelta": "7.25", + "BGI": 1.34, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182050000, + "dateString": "2022-05-22T01:14:10.000Z", + "isValid": true, + "sgv": 81, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898e7650e51d0004429e63", + "glucose": 81, + "avgDelta": "-6.00", + "BGI": -1.68, + "deviation": "-4.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182349000, + "dateString": "2022-05-22T01:19:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898fa550e51d0004429e65", + "glucose": 77, + "avgDelta": "-5.00", + "BGI": -1.25, + "deviation": "-3.75" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182650000, + "dateString": "2022-05-22T01:24:10.000Z", + "isValid": true, + "sgv": 74, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628990d350e51d0004429e67", + "glucose": 74, + "avgDelta": "-4.50", + "BGI": -0.78, + "deviation": "-3.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182949000, + "dateString": "2022-05-22T01:29:09.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6289920150e51d0004429e69", + "glucose": 72, + "avgDelta": "-3.75", + "BGI": -0.3, + "deviation": "-3.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183249000, + "dateString": "2022-05-22T01:34:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6289933050e51d0004429e6b", + "glucose": 73, + "avgDelta": "-2.00", + "BGI": 0.22, + "deviation": "-2.22" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183550000, + "dateString": "2022-05-22T01:39:10.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6289945f50e51d0004429e6d", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": 0.69, + "deviation": "-0.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183850000, + "dateString": "2022-05-22T01:44:10.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6289957b61a829000474037f", + "glucose": 79, + "avgDelta": "1.25", + "BGI": 1.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184150000, + "dateString": "2022-05-22T01:49:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628996a961a8290004740382", + "glucose": 80, + "avgDelta": "2.00", + "BGI": 1.55, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184450000, + "dateString": "2022-05-22T01:54:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628997d861a8290004740385", + "glucose": 80, + "avgDelta": "1.75", + "BGI": 1.9, + "deviation": "-0.15" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653099848000, + "dateString": "2022-05-21T02:24:08.000Z", + "isValid": true, + "sgv": 308, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62884d6793668c0004a30514", + "glucose": 308, + "avgDelta": "9.25", + "BGI": -16.85, + "deviation": "26.10", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100148000, + "dateString": "2022-05-21T02:29:08.000Z", + "isValid": true, + "sgv": 307, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62884e9493668c0004a30517", + "glucose": 307, + "avgDelta": "9.00", + "BGI": -18.88, + "deviation": "27.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100449000, + "dateString": "2022-05-21T02:34:09.000Z", + "isValid": true, + "sgv": 297, + "direction": "Flat", + "type": "sgv", + "_id": "62884fb05151b5000462a1dc", + "glucose": 297, + "avgDelta": "3.75", + "BGI": -20.26, + "deviation": "24.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100748000, + "dateString": "2022-05-21T02:39:08.000Z", + "isValid": true, + "sgv": 283, + "direction": "Flat", + "type": "sgv", + "_id": "628850de5151b5000462a1df", + "glucose": 283, + "avgDelta": "-3.25", + "BGI": -21.08, + "deviation": "17.83" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101048000, + "dateString": "2022-05-21T02:44:08.000Z", + "isValid": true, + "sgv": 267, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288520b5151b5000462a1e2", + "glucose": 267, + "avgDelta": "-10.25", + "BGI": -21.46, + "deviation": "11.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101348000, + "dateString": "2022-05-21T02:49:08.000Z", + "isValid": true, + "sgv": 253, + "direction": "SingleDown", + "type": "sgv", + "_id": "628853395151b5000462a1e4", + "glucose": 253, + "avgDelta": "-13.50", + "BGI": -21.46, + "deviation": "7.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101648000, + "dateString": "2022-05-21T02:54:08.000Z", + "isValid": true, + "sgv": 241, + "direction": "SingleDown", + "type": "sgv", + "_id": "6288547f5151b5000462a1e6", + "glucose": 241, + "avgDelta": "-14.00", + "BGI": -21.16, + "deviation": "7.16" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101948000, + "dateString": "2022-05-21T02:59:08.000Z", + "isValid": true, + "sgv": 228, + "direction": "SingleDown", + "type": "sgv", + "_id": "628855935151b5000462a1e8", + "glucose": 228, + "avgDelta": "-13.75", + "BGI": -20.52, + "deviation": "6.77" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102249000, + "dateString": "2022-05-21T03:04:09.000Z", + "isValid": true, + "sgv": 216, + "direction": "SingleDown", + "type": "sgv", + "_id": "628856da5151b5000462a1ea", + "glucose": 216, + "avgDelta": "-12.75", + "BGI": -19.7, + "deviation": "6.95" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102548000, + "dateString": "2022-05-21T03:09:08.000Z", + "isValid": true, + "sgv": 204, + "direction": "SingleDown", + "type": "sgv", + "_id": "628857f7293f3e00042c31d3", + "glucose": 204, + "avgDelta": "-12.25", + "BGI": -18.79, + "deviation": "6.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102848000, + "dateString": "2022-05-21T03:14:08.000Z", + "isValid": true, + "sgv": 193, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885924293f3e00042c31d5", + "glucose": 193, + "avgDelta": "-12.00", + "BGI": -17.71, + "deviation": "5.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103149000, + "dateString": "2022-05-21T03:19:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885a52293f3e00042c31d7", + "glucose": 182, + "avgDelta": "-11.50", + "BGI": -16.64, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103448000, + "dateString": "2022-05-21T03:24:08.000Z", + "isValid": true, + "sgv": 174, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885b81293f3e00042c31d9", + "glucose": 174, + "avgDelta": "-10.50", + "BGI": -15.43, + "deviation": "4.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103748000, + "dateString": "2022-05-21T03:29:08.000Z", + "isValid": true, + "sgv": 171, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885c95293f3e00042c31db", + "glucose": 171, + "avgDelta": "-8.25", + "BGI": -14.31, + "deviation": "6.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104049000, + "dateString": "2022-05-21T03:34:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885dc3293f3e00042c31de", + "glucose": 170, + "avgDelta": "-5.75", + "BGI": -13.1, + "deviation": "7.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104349000, + "dateString": "2022-05-21T03:39:09.000Z", + "isValid": true, + "sgv": 167, + "direction": "Flat", + "type": "sgv", + "_id": "62885ef1293f3e00042c31e2", + "glucose": 167, + "avgDelta": "-3.75", + "BGI": -12.07, + "deviation": "8.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104648000, + "dateString": "2022-05-21T03:44:08.000Z", + "isValid": true, + "sgv": 162, + "direction": "Flat", + "type": "sgv", + "_id": "6288601b42c1220004f95729", + "glucose": 162, + "avgDelta": "-3.00", + "BGI": -11.64, + "deviation": "8.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104949000, + "dateString": "2022-05-21T03:49:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288614942c1220004f9572c", + "glucose": 155, + "avgDelta": "-4.00", + "BGI": -11.12, + "deviation": "7.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105248000, + "dateString": "2022-05-21T03:54:08.000Z", + "isValid": true, + "sgv": 149, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288629042c1220004f9572e", + "glucose": 149, + "avgDelta": "-5.25", + "BGI": -10.56, + "deviation": "5.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105549000, + "dateString": "2022-05-21T03:59:09.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628863a542c1220004f95730", + "glucose": 146, + "avgDelta": "-5.25", + "BGI": -9.87, + "deviation": "4.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105848000, + "dateString": "2022-05-21T04:04:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "628864d342c1220004f95733", + "glucose": 146, + "avgDelta": "-4.00", + "BGI": -9.14, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106149000, + "dateString": "2022-05-21T04:09:09.000Z", + "isValid": true, + "sgv": 151, + "direction": "Flat", + "type": "sgv", + "_id": "6288660142c1220004f95736", + "glucose": 151, + "avgDelta": "-1.00", + "BGI": -8.36, + "deviation": "7.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106449000, + "dateString": "2022-05-21T04:14:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "Flat", + "type": "sgv", + "_id": "6288672f42c1220004f9573a", + "glucose": 155, + "avgDelta": "1.50", + "BGI": -7.8, + "deviation": "9.30" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106749000, + "dateString": "2022-05-21T04:19:09.000Z", + "isValid": true, + "sgv": 157, + "direction": "Flat", + "type": "sgv", + "_id": "6288685d19e2e60004989bac", + "glucose": 157, + "avgDelta": "2.75", + "BGI": -7.93, + "deviation": "10.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107048000, + "dateString": "2022-05-21T04:24:08.000Z", + "isValid": true, + "sgv": 153, + "direction": "Flat", + "type": "sgv", + "_id": "6288698b19e2e60004989bb0", + "glucose": 153, + "avgDelta": "1.75", + "BGI": -8.06, + "deviation": "9.81" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107348000, + "dateString": "2022-05-21T04:29:08.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "62886ab919e2e60004989bb3", + "glucose": 144, + "avgDelta": "-1.75", + "BGI": -8.19, + "deviation": "6.44" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107648000, + "dateString": "2022-05-21T04:34:08.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886be719e2e60004989bb5", + "glucose": 132, + "avgDelta": "-5.75", + "BGI": -8.1, + "deviation": "2.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107948000, + "dateString": "2022-05-21T04:39:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886cfc19e2e60004989bb8", + "glucose": 124, + "avgDelta": "-8.25", + "BGI": -7.89, + "deviation": "-0.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108848000, + "dateString": "2022-05-21T04:54:08.000Z", + "isValid": true, + "sgv": 130, + "direction": "Flat", + "type": "sgv", + "_id": "62887093363e6c0004f710cf", + "glucose": 130, + "avgDelta": "-0.50", + "BGI": -6.72, + "deviation": "6.22", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109148000, + "dateString": "2022-05-21T04:59:08.000Z", + "isValid": true, + "sgv": 129, + "direction": "Flat", + "type": "sgv", + "_id": "628871c1363e6c0004f710d3", + "glucose": 129, + "avgDelta": "1.25", + "BGI": -6.34, + "deviation": "7.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109448000, + "dateString": "2022-05-21T05:04:08.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "628872ef363e6c0004f710d6", + "glucose": 125, + "avgDelta": "0.50", + "BGI": -6.08, + "deviation": "6.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109748000, + "dateString": "2022-05-21T05:09:08.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288741c363e6c0004f710d9", + "glucose": 117, + "avgDelta": "-2.75", + "BGI": -5.73, + "deviation": "2.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110049000, + "dateString": "2022-05-21T05:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887549363e6c0004f710dc", + "glucose": 109, + "avgDelta": "-5.25", + "BGI": -5.34, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110348000, + "dateString": "2022-05-21T05:19:08.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887677363e6c0004f710de", + "glucose": 102, + "avgDelta": "-6.75", + "BGI": -4.91, + "deviation": "-1.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176650000, + "dateString": "2022-05-21T23:44:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "6289797071a363000480abc7", + "glucose": 139, + "avgDelta": "4.00", + "BGI": -2.59, + "deviation": "6.59", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176950000, + "dateString": "2022-05-21T23:49:10.000Z", + "isValid": true, + "sgv": 143, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62897a8771a363000480abca", + "glucose": 143, + "avgDelta": "4.75", + "BGI": -2.63, + "deviation": "7.38" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177250000, + "dateString": "2022-05-21T23:54:10.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "62897bc89d6f1800047cd0c9", + "glucose": 146, + "avgDelta": "4.75", + "BGI": -3.23, + "deviation": "7.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177550000, + "dateString": "2022-05-21T23:59:10.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "62897cde9d6f1800047cd0cc", + "glucose": 147, + "avgDelta": "3.75", + "BGI": -3.79, + "deviation": "7.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177850000, + "dateString": "2022-05-22T00:04:10.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897e0c9d6f1800047cd0d0", + "glucose": 149, + "avgDelta": "2.50", + "BGI": -4.22, + "deviation": "6.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178149000, + "dateString": "2022-05-22T00:09:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897f3b9d6f1800047cd0d3", + "glucose": 149, + "avgDelta": "1.50", + "BGI": -4.48, + "deviation": "5.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178449000, + "dateString": "2022-05-22T00:14:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6289806a9d6f1800047cd0d6", + "glucose": 147, + "avgDelta": "0.25", + "BGI": -4.61, + "deviation": "4.86" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178750000, + "dateString": "2022-05-22T00:19:10.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "628981999d6f1800047cd0d8", + "glucose": 144, + "avgDelta": "-0.75", + "BGI": -4.57, + "deviation": "3.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179050000, + "dateString": "2022-05-22T00:24:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628982c89d6f1800047cd0db", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.48, + "deviation": "2.73" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179350000, + "dateString": "2022-05-22T00:29:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628983f69d6f1800047cd0dd", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.27, + "deviation": "2.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179649000, + "dateString": "2022-05-22T00:34:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898517da46aa0004d1e0ea", + "glucose": 143, + "avgDelta": "-1.00", + "BGI": -4.01, + "deviation": "3.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179949000, + "dateString": "2022-05-22T00:39:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898645da46aa0004d1e0ee", + "glucose": 143, + "avgDelta": "-0.25", + "BGI": -3.75, + "deviation": "3.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180250000, + "dateString": "2022-05-22T00:44:10.000Z", + "isValid": true, + "sgv": 135, + "direction": "Flat", + "type": "sgv", + "_id": "62898774da46aa0004d1e0f1", + "glucose": 135, + "avgDelta": "-1.75", + "BGI": -3.49, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180549000, + "dateString": "2022-05-22T00:49:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628988a3da46aa0004d1e0f5", + "glucose": 121, + "avgDelta": "-5.25", + "BGI": -3.32, + "deviation": "-1.93" + } + ] +} diff --git a/plugins/main/src/test/res/autotune/test1/autotune.2022-06-17-212314.log b/plugins/aps/src/test/res/autotune/test1/autotune.2022-06-17-212314.log similarity index 100% rename from plugins/main/src/test/res/autotune/test1/autotune.2022-06-17-212314.log rename to plugins/aps/src/test/res/autotune/test1/autotune.2022-06-17-212314.log diff --git a/plugins/aps/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json new file mode 100644 index 0000000000..122b05ba40 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json @@ -0,0 +1,181 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.002, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 1.091, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 1.118, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.321, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.091, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.965, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.825, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 0.849, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 0.909, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 0.903, + "start": "09:00:00", + "untuned": 1 + }, + { + "i": 10, + "minutes": 600, + "rate": 0.906, + "start": "10:00:00", + "untuned": 1 + }, + { + "i": 11, + "minutes": 660, + "rate": 0.878, + "start": "11:00:00", + "untuned": 1 + }, + { + "i": 12, + "minutes": 720, + "rate": 0.861, + "start": "12:00:00", + "untuned": 1 + }, + { + "i": 13, + "minutes": 780, + "rate": 0.855, + "start": "13:00:00", + "untuned": 1 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.848, + "start": "14:00:00", + "untuned": 1 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.834, + "start": "15:00:00", + "untuned": 1 + }, + { + "i": 16, + "minutes": 960, + "rate": 0.762, + "start": "16:00:00", + "untuned": 1 + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.647, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.631, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.728, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.838, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.871, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.886, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.893, + "start": "23:00:00" + } + ], + "carb_ratio": 5.817, + "csf": 16.025, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 85.993, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 85.993, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json b/plugins/aps/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json new file mode 100644 index 0000000000..b563f70131 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json @@ -0,0 +1,1418 @@ +[ + { + "iob": 5.249, + "activity": 0.0391, + "date": 1653099848000 + }, + { + "iob": 5.292, + "activity": 0.0438, + "date": 1653100148000 + }, + { + "iob": 4.964, + "activity": 0.047, + "date": 1653100449000 + }, + { + "iob": 4.674, + "activity": 0.0489, + "date": 1653100748000 + }, + { + "iob": 4.377, + "activity": 0.0498, + "date": 1653101048000 + }, + { + "iob": 4.077, + "activity": 0.0498, + "date": 1653101348000 + }, + { + "iob": 3.73, + "activity": 0.0491, + "date": 1653101648000 + }, + { + "iob": 3.389, + "activity": 0.0476, + "date": 1653101948000 + }, + { + "iob": 3.055, + "activity": 0.0457, + "date": 1653102249000 + }, + { + "iob": 2.782, + "activity": 0.0436, + "date": 1653102548000 + }, + { + "iob": 2.47, + "activity": 0.0411, + "date": 1653102848000 + }, + { + "iob": 2.22, + "activity": 0.0386, + "date": 1653103149000 + }, + { + "iob": 1.935, + "activity": 0.0358, + "date": 1653103448000 + }, + { + "iob": 1.711, + "activity": 0.0332, + "date": 1653103748000 + }, + { + "iob": 1.452, + "activity": 0.0304, + "date": 1653104049000 + }, + { + "iob": 1.927, + "activity": 0.028, + "date": 1653104349000 + }, + { + "iob": 1.84, + "activity": 0.027, + "date": 1653104648000 + }, + { + "iob": 1.658, + "activity": 0.0258, + "date": 1653104949000 + }, + { + "iob": 1.482, + "activity": 0.0245, + "date": 1653105248000 + }, + { + "iob": 1.264, + "activity": 0.0229, + "date": 1653105549000 + }, + { + "iob": 1.104, + "activity": 0.0212, + "date": 1653105848000 + }, + { + "iob": 0.952, + "activity": 0.0194, + "date": 1653106149000 + }, + { + "iob": 1.619, + "activity": 0.0181, + "date": 1653106449000 + }, + { + "iob": 1.678, + "activity": 0.0184, + "date": 1653106749000 + }, + { + "iob": 1.775, + "activity": 0.0187, + "date": 1653107048000 + }, + { + "iob": 1.581, + "activity": 0.019, + "date": 1653107348000 + }, + { + "iob": 1.437, + "activity": 0.0188, + "date": 1653107648000 + }, + { + "iob": 1.294, + "activity": 0.0183, + "date": 1653107948000 + }, + { + "iob": 1.153, + "activity": 0.0176, + "date": 1653108249000 + }, + { + "iob": 1.017, + "activity": 0.0167, + "date": 1653108548000 + }, + { + "iob": 0.887, + "activity": 0.0156, + "date": 1653108848000 + }, + { + "iob": 1.011, + "activity": 0.0147, + "date": 1653109148000 + }, + { + "iob": 0.889, + "activity": 0.0141, + "date": 1653109448000 + }, + { + "iob": 0.771, + "activity": 0.0133, + "date": 1653109748000 + }, + { + "iob": 0.656, + "activity": 0.0124, + "date": 1653110049000 + }, + { + "iob": 0.547, + "activity": 0.0114, + "date": 1653110348000 + }, + { + "iob": 0.392, + "activity": 0.0103, + "date": 1653110649000 + }, + { + "iob": 0.294, + "activity": 0.0091, + "date": 1653110949000 + }, + { + "iob": 0.2, + "activity": 0.008, + "date": 1653111249000 + }, + { + "iob": 0.065, + "activity": 0.0066, + "date": 1653111549000 + }, + { + "iob": 0.034, + "activity": 0.0055, + "date": 1653111849000 + }, + { + "iob": 0.549, + "activity": 0.0048, + "date": 1653112148000 + }, + { + "iob": 0.674, + "activity": 0.0053, + "date": 1653112449000 + }, + { + "iob": 0.597, + "activity": 0.0057, + "date": 1653112749000 + }, + { + "iob": 0.468, + "activity": 0.0058, + "date": 1653113049000 + }, + { + "iob": 0.389, + "activity": 0.0057, + "date": 1653113349000 + }, + { + "iob": 0.262, + "activity": 0.0053, + "date": 1653113649000 + }, + { + "iob": 0.186, + "activity": 0.0048, + "date": 1653113949000 + }, + { + "iob": 0.064, + "activity": 0.0041, + "date": 1653114249000 + }, + { + "iob": -0.005, + "activity": 0.0034, + "date": 1653114549000 + }, + { + "iob": -0.12, + "activity": 0.0026, + "date": 1653114849000 + }, + { + "iob": -0.181, + "activity": 0.0018, + "date": 1653115149000 + }, + { + "iob": -0.287, + "activity": 0.0008, + "date": 1653115449000 + }, + { + "iob": -0.34, + "activity": 0, + "date": 1653115749000 + }, + { + "iob": -0.436, + "activity": -0.001, + "date": 1653116049000 + }, + { + "iob": -0.48, + "activity": -0.0018, + "date": 1653116349000 + }, + { + "iob": -0.519, + "activity": -0.0026, + "date": 1653116649000 + }, + { + "iob": -0.554, + "activity": -0.0034, + "date": 1653116949000 + }, + { + "iob": -0.585, + "activity": -0.0041, + "date": 1653117249000 + }, + { + "iob": -0.662, + "activity": -0.0049, + "date": 1653117549000 + }, + { + "iob": -0.687, + "activity": -0.0055, + "date": 1653117848000 + }, + { + "iob": -0.708, + "activity": -0.0061, + "date": 1653118149000 + }, + { + "iob": -0.726, + "activity": -0.0066, + "date": 1653118449000 + }, + { + "iob": -0.351, + "activity": -0.0071, + "date": 1653118748000 + }, + { + "iob": -0.218, + "activity": -0.0064, + "date": 1653119049000 + }, + { + "iob": -0.088, + "activity": -0.0055, + "date": 1653119349000 + }, + { + "iob": 13.594, + "activity": 0.0023, + "date": 1653119649000 + }, + { + "iob": 13.552, + "activity": 0.0331, + "date": 1653119949000 + }, + { + "iob": 13.224, + "activity": 0.0573, + "date": 1653120249000 + }, + { + "iob": 12.838, + "activity": 0.076, + "date": 1653120548000 + }, + { + "iob": 12.322, + "activity": 0.09, + "date": 1653120849000 + }, + { + "iob": 11.794, + "activity": 0.1001, + "date": 1653121149000 + }, + { + "iob": 11.177, + "activity": 0.1068, + "date": 1653121449000 + }, + { + "iob": 10.58, + "activity": 0.111, + "date": 1653121749000 + }, + { + "iob": 9.919, + "activity": 0.1129, + "date": 1653122049000 + }, + { + "iob": 9.254, + "activity": 0.1129, + "date": 1653122349000 + }, + { + "iob": 8.643, + "activity": 0.1114, + "date": 1653122649000 + }, + { + "iob": 7.992, + "activity": 0.1088, + "date": 1653122949000 + }, + { + "iob": 7.406, + "activity": 0.1053, + "date": 1653123248000 + }, + { + "iob": 7.111, + "activity": 0.1012, + "date": 1653123549000 + }, + { + "iob": 6.515, + "activity": 0.0971, + "date": 1653123849000 + }, + { + "iob": 5.99, + "activity": 0.0927, + "date": 1653124149000 + }, + { + "iob": 5.439, + "activity": 0.0878, + "date": 1653124448000 + }, + { + "iob": 4.962, + "activity": 0.0828, + "date": 1653124749000 + }, + { + "iob": 4.462, + "activity": 0.0775, + "date": 1653125048000 + }, + { + "iob": 4.036, + "activity": 0.0724, + "date": 1653125349000 + }, + { + "iob": 3.638, + "activity": 0.0672, + "date": 1653125649000 + }, + { + "iob": 3.214, + "activity": 0.0621, + "date": 1653125948000 + }, + { + "iob": 2.866, + "activity": 0.0571, + "date": 1653126249000 + }, + { + "iob": 2.494, + "activity": 0.0522, + "date": 1653126549000 + }, + { + "iob": 2.193, + "activity": 0.0476, + "date": 1653126849000 + }, + { + "iob": 1.867, + "activity": 0.0431, + "date": 1653127149000 + }, + { + "iob": 1.563, + "activity": 0.0388, + "date": 1653127449000 + }, + { + "iob": 1.329, + "activity": 0.0347, + "date": 1653127748000 + }, + { + "iob": 1.115, + "activity": 0.0309, + "date": 1653128049000 + }, + { + "iob": 0.87, + "activity": 0.0272, + "date": 1653128349000 + }, + { + "iob": 0.692, + "activity": 0.0239, + "date": 1653128649000 + }, + { + "iob": 0.482, + "activity": 0.0206, + "date": 1653128948000 + }, + { + "iob": 0.287, + "activity": 0.0176, + "date": 1653129249000 + }, + { + "iob": 0.156, + "activity": 0.0148, + "date": 1653129548000 + }, + { + "iob": 0.038, + "activity": 0.0122, + "date": 1653129848000 + }, + { + "iob": -0.067, + "activity": 0.0099, + "date": 1653130149000 + }, + { + "iob": -0.161, + "activity": 0.0078, + "date": 1653130448000 + }, + { + "iob": -0.195, + "activity": 0.006, + "date": 1653130748000 + }, + { + "iob": -0.271, + "activity": 0.0044, + "date": 1653131049000 + }, + { + "iob": -0.339, + "activity": 0.0029, + "date": 1653131349000 + }, + { + "iob": -0.4, + "activity": 0.0015, + "date": 1653131649000 + }, + { + "iob": -0.155, + "activity": 0.0007, + "date": 1653131948000 + }, + { + "iob": 8.11, + "activity": 0.0045, + "date": 1653132249000 + }, + { + "iob": 7.992, + "activity": 0.0222, + "date": 1653132549000 + }, + { + "iob": 7.745, + "activity": 0.0359, + "date": 1653132849000 + }, + { + "iob": 7.488, + "activity": 0.0465, + "date": 1653133149000 + }, + { + "iob": 7.136, + "activity": 0.0541, + "date": 1653133449000 + }, + { + "iob": 6.8, + "activity": 0.0596, + "date": 1653133749000 + }, + { + "iob": 6.441, + "activity": 0.0633, + "date": 1653134049000 + }, + { + "iob": 6.022, + "activity": 0.0651, + "date": 1653134349000 + }, + { + "iob": 5.644, + "activity": 0.0657, + "date": 1653134649000 + }, + { + "iob": 5.216, + "activity": 0.0653, + "date": 1653134949000 + }, + { + "iob": 4.962, + "activity": 0.0644, + "date": 1653135249000 + }, + { + "iob": 4.544, + "activity": 0.0627, + "date": 1653135549000 + }, + { + "iob": 4.185, + "activity": 0.0606, + "date": 1653135849000 + }, + { + "iob": 3.839, + "activity": 0.058, + "date": 1653136149000 + }, + { + "iob": 3.456, + "activity": 0.055, + "date": 1653136449000 + }, + { + "iob": 3.139, + "activity": 0.0519, + "date": 1653136749000 + }, + { + "iob": 2.788, + "activity": 0.0486, + "date": 1653137049000 + }, + { + "iob": 2.503, + "activity": 0.0453, + "date": 1653137350000 + }, + { + "iob": 2.186, + "activity": 0.0418, + "date": 1653137649000 + }, + { + "iob": 3.17, + "activity": 0.0407, + "date": 1653137949000 + }, + { + "iob": 3.956, + "activity": 0.0413, + "date": 1653138249000 + }, + { + "iob": 3.648, + "activity": 0.042, + "date": 1653138549000 + }, + { + "iob": 4.126, + "activity": 0.043, + "date": 1653138849000 + }, + { + "iob": 3.81, + "activity": 0.0437, + "date": 1653139150000 + }, + { + "iob": 3.541, + "activity": 0.0437, + "date": 1653139450000 + }, + { + "iob": 3.272, + "activity": 0.0431, + "date": 1653139749000 + }, + { + "iob": 3.588, + "activity": 0.0428, + "date": 1653140049000 + }, + { + "iob": 3.875, + "activity": 0.0431, + "date": 1653140349000 + }, + { + "iob": 3.608, + "activity": 0.0434, + "date": 1653140648000 + }, + { + "iob": 4.271, + "activity": 0.0442, + "date": 1653140949000 + }, + { + "iob": 3.996, + "activity": 0.0452, + "date": 1653141249000 + }, + { + "iob": 4.298, + "activity": 0.0462, + "date": 1653141548000 + }, + { + "iob": 4.015, + "activity": 0.0468, + "date": 1653141849000 + }, + { + "iob": 4.538, + "activity": 0.0481, + "date": 1653142149000 + }, + { + "iob": 4.245, + "activity": 0.0489, + "date": 1653142449000 + }, + { + "iob": 4.729, + "activity": 0.05, + "date": 1653142749000 + }, + { + "iob": 4.426, + "activity": 0.0508, + "date": 1653143049000 + }, + { + "iob": 4.353, + "activity": 0.051, + "date": 1653143349000 + }, + { + "iob": 4.049, + "activity": 0.0507, + "date": 1653143650000 + }, + { + "iob": 3.747, + "activity": 0.0498, + "date": 1653143949000 + }, + { + "iob": 3.402, + "activity": 0.0483, + "date": 1653144249000 + }, + { + "iob": 3.115, + "activity": 0.0464, + "date": 1653144550000 + }, + { + "iob": 2.788, + "activity": 0.0441, + "date": 1653144849000 + }, + { + "iob": 2.524, + "activity": 0.0417, + "date": 1653145149000 + }, + { + "iob": 2.271, + "activity": 0.0391, + "date": 1653145449000 + }, + { + "iob": 2.033, + "activity": 0.0365, + "date": 1653145750000 + }, + { + "iob": 1.807, + "activity": 0.0338, + "date": 1653146050000 + }, + { + "iob": 1.594, + "activity": 0.0312, + "date": 1653146349000 + }, + { + "iob": 1.395, + "activity": 0.0286, + "date": 1653146650000 + }, + { + "iob": 1.258, + "activity": 0.0262, + "date": 1653146949000 + }, + { + "iob": 1.034, + "activity": 0.0236, + "date": 1653147249000 + }, + { + "iob": 0.971, + "activity": 0.0215, + "date": 1653147549000 + }, + { + "iob": 1.008, + "activity": 0.0197, + "date": 1653147849000 + }, + { + "iob": 0.963, + "activity": 0.0183, + "date": 1653148149000 + }, + { + "iob": 1.046, + "activity": 0.0171, + "date": 1653148450000 + }, + { + "iob": 0.912, + "activity": 0.0161, + "date": 1653148749000 + }, + { + "iob": 1.254, + "activity": 0.0156, + "date": 1653149049000 + }, + { + "iob": 1.176, + "activity": 0.0154, + "date": 1653149349000 + }, + { + "iob": 1.051, + "activity": 0.0149, + "date": 1653149650000 + }, + { + "iob": 0.928, + "activity": 0.0142, + "date": 1653149949000 + }, + { + "iob": 1.008, + "activity": 0.0138, + "date": 1653150249000 + }, + { + "iob": 0.89, + "activity": 0.0133, + "date": 1653150549000 + }, + { + "iob": 0.775, + "activity": 0.0127, + "date": 1653150849000 + }, + { + "iob": 0.664, + "activity": 0.0118, + "date": 1653151149000 + }, + { + "iob": 0.606, + "activity": 0.011, + "date": 1653151449000 + }, + { + "iob": 0.703, + "activity": 0.0105, + "date": 1653151749000 + }, + { + "iob": 0.702, + "activity": 0.0101, + "date": 1653152049000 + }, + { + "iob": 0.902, + "activity": 0.0101, + "date": 1653152349000 + }, + { + "iob": 0.801, + "activity": 0.0101, + "date": 1653152649000 + }, + { + "iob": 0.701, + "activity": 0.0098, + "date": 1653152949000 + }, + { + "iob": 0.603, + "activity": 0.0094, + "date": 1653153249000 + }, + { + "iob": 0.508, + "activity": 0.0088, + "date": 1653153549000 + }, + { + "iob": 0.415, + "activity": 0.0081, + "date": 1653153849000 + }, + { + "iob": 0.327, + "activity": 0.0074, + "date": 1653154149000 + }, + { + "iob": 0.242, + "activity": 0.0066, + "date": 1653154449000 + }, + { + "iob": 0.161, + "activity": 0.0058, + "date": 1653154749000 + }, + { + "iob": 0.134, + "activity": 0.005, + "date": 1653155049000 + }, + { + "iob": 0.4, + "activity": 0.0048, + "date": 1653155349000 + }, + { + "iob": 0.475, + "activity": 0.0049, + "date": 1653155649000 + }, + { + "iob": 0.401, + "activity": 0.005, + "date": 1653155950000 + }, + { + "iob": 0.327, + "activity": 0.0048, + "date": 1653156250000 + }, + { + "iob": 0.203, + "activity": 0.0044, + "date": 1653156549000 + }, + { + "iob": 0.132, + "activity": 0.004, + "date": 1653156849000 + }, + { + "iob": 0.064, + "activity": 0.0034, + "date": 1653157149000 + }, + { + "iob": -0.002, + "activity": 0.0028, + "date": 1653157449000 + }, + { + "iob": -0.064, + "activity": 0.0022, + "date": 1653157750000 + }, + { + "iob": -0.073, + "activity": 0.0016, + "date": 1653158049000 + }, + { + "iob": -0.08, + "activity": 0.0011, + "date": 1653158349000 + }, + { + "iob": -0.085, + "activity": 0.0007, + "date": 1653158649000 + }, + { + "iob": -0.087, + "activity": 0.0004, + "date": 1653158949000 + }, + { + "iob": -0.088, + "activity": 0.0001, + "date": 1653159249000 + }, + { + "iob": -0.088, + "activity": -0.0001, + "date": 1653159549000 + }, + { + "iob": -0.137, + "activity": -0.0004, + "date": 1653159849000 + }, + { + "iob": -0.184, + "activity": -0.0007, + "date": 1653160150000 + }, + { + "iob": -0.18, + "activity": -0.001, + "date": 1653160449000 + }, + { + "iob": -0.175, + "activity": -0.0012, + "date": 1653160749000 + }, + { + "iob": -0.168, + "activity": -0.0014, + "date": 1653161049000 + }, + { + "iob": -0.211, + "activity": -0.0015, + "date": 1653161350000 + }, + { + "iob": -0.203, + "activity": -0.0017, + "date": 1653161649000 + }, + { + "iob": -0.243, + "activity": -0.002, + "date": 1653161950000 + }, + { + "iob": -0.282, + "activity": -0.0023, + "date": 1653162250000 + }, + { + "iob": -0.32, + "activity": -0.0026, + "date": 1653162549000 + }, + { + "iob": -0.357, + "activity": -0.0029, + "date": 1653162850000 + }, + { + "iob": -0.391, + "activity": -0.0032, + "date": 1653163150000 + }, + { + "iob": -0.375, + "activity": -0.0035, + "date": 1653163449000 + }, + { + "iob": -0.357, + "activity": -0.0036, + "date": 1653163749000 + }, + { + "iob": -0.149, + "activity": -0.0035, + "date": 1653164049000 + }, + { + "iob": -0.132, + "activity": -0.0031, + "date": 1653164350000 + }, + { + "iob": 9.296, + "activity": 0.015, + "date": 1653164649000 + }, + { + "iob": 9.123, + "activity": 0.0332, + "date": 1653164950000 + }, + { + "iob": 8.96, + "activity": 0.0474, + "date": 1653165249000 + }, + { + "iob": 8.644, + "activity": 0.0584, + "date": 1653165550000 + }, + { + "iob": 8.282, + "activity": 0.0664, + "date": 1653165850000 + }, + { + "iob": 7.835, + "activity": 0.0718, + "date": 1653166149000 + }, + { + "iob": 7.416, + "activity": 0.0753, + "date": 1653166450000 + }, + { + "iob": 6.984, + "activity": 0.0772, + "date": 1653166749000 + }, + { + "iob": 6.547, + "activity": 0.0776, + "date": 1653167049000 + }, + { + "iob": 6.061, + "activity": 0.0769, + "date": 1653167350000 + }, + { + "iob": 5.68, + "activity": 0.0754, + "date": 1653167650000 + }, + { + "iob": 5.458, + "activity": 0.0734, + "date": 1653167949000 + }, + { + "iob": 5.046, + "activity": 0.0712, + "date": 1653168250000 + }, + { + "iob": 4.925, + "activity": 0.069, + "date": 1653168549000 + }, + { + "iob": 4.487, + "activity": 0.0663, + "date": 1653168849000 + }, + { + "iob": 4.113, + "activity": 0.0633, + "date": 1653169150000 + }, + { + "iob": 3.706, + "activity": 0.0599, + "date": 1653169449000 + }, + { + "iob": 3.363, + "activity": 0.0566, + "date": 1653169749000 + }, + { + "iob": 3.039, + "activity": 0.053, + "date": 1653170049000 + }, + { + "iob": 2.733, + "activity": 0.0494, + "date": 1653170350000 + }, + { + "iob": 2.395, + "activity": 0.0457, + "date": 1653170650000 + }, + { + "iob": 2.126, + "activity": 0.0421, + "date": 1653170950000 + }, + { + "iob": 1.824, + "activity": 0.0385, + "date": 1653171250000 + }, + { + "iob": 1.64, + "activity": 0.0351, + "date": 1653171549000 + }, + { + "iob": 1.473, + "activity": 0.0319, + "date": 1653171849000 + }, + { + "iob": 1.273, + "activity": 0.0288, + "date": 1653172150000 + }, + { + "iob": 1.136, + "activity": 0.026, + "date": 1653172450000 + }, + { + "iob": 1.011, + "activity": 0.0235, + "date": 1653172749000 + }, + { + "iob": 0.852, + "activity": 0.021, + "date": 1653173050000 + }, + { + "iob": 0.752, + "activity": 0.0189, + "date": 1653173350000 + }, + { + "iob": 0.662, + "activity": 0.0169, + "date": 1653173650000 + }, + { + "iob": 0.534, + "activity": 0.0149, + "date": 1653173949000 + }, + { + "iob": 0.463, + "activity": 0.0132, + "date": 1653174249000 + }, + { + "iob": 0.352, + "activity": 0.0115, + "date": 1653174550000 + }, + { + "iob": 0.298, + "activity": 0.0101, + "date": 1653174850000 + }, + { + "iob": 0.25, + "activity": 0.0089, + "date": 1653175149000 + }, + { + "iob": 0.329, + "activity": 0.0079, + "date": 1653175450000 + }, + { + "iob": 0.34, + "activity": 0.0074, + "date": 1653175750000 + }, + { + "iob": 0.304, + "activity": 0.0068, + "date": 1653176050000 + }, + { + "iob": 0.272, + "activity": 0.0062, + "date": 1653176350000 + }, + { + "iob": 0.512, + "activity": 0.006, + "date": 1653176650000 + }, + { + "iob": 0.581, + "activity": 0.0061, + "date": 1653176950000 + }, + { + "iob": 1.238, + "activity": 0.0075, + "date": 1653177250000 + }, + { + "iob": 1.147, + "activity": 0.0088, + "date": 1653177550000 + }, + { + "iob": 1.151, + "activity": 0.0098, + "date": 1653177850000 + }, + { + "iob": 1.05, + "activity": 0.0104, + "date": 1653178149000 + }, + { + "iob": 0.947, + "activity": 0.0107, + "date": 1653178449000 + }, + { + "iob": 0.844, + "activity": 0.0106, + "date": 1653178750000 + }, + { + "iob": 0.741, + "activity": 0.0104, + "date": 1653179050000 + }, + { + "iob": 0.59, + "activity": 0.0099, + "date": 1653179350000 + }, + { + "iob": 0.542, + "activity": 0.0093, + "date": 1653179649000 + }, + { + "iob": 0.497, + "activity": 0.0087, + "date": 1653179949000 + }, + { + "iob": 0.456, + "activity": 0.0081, + "date": 1653180250000 + }, + { + "iob": 0.516, + "activity": 0.0077, + "date": 1653180549000 + }, + { + "iob": 0.429, + "activity": 0.0072, + "date": 1653180849000 + }, + { + "iob": 0.294, + "activity": 0.0066, + "date": 1653181150000 + }, + { + "iob": 0.163, + "activity": 0.0058, + "date": 1653181450000 + }, + { + "iob": 0.037, + "activity": 0.0049, + "date": 1653181750000 + }, + { + "iob": -0.085, + "activity": 0.0039, + "date": 1653182050000 + }, + { + "iob": -0.153, + "activity": 0.0029, + "date": 1653182349000 + }, + { + "iob": -0.265, + "activity": 0.0018, + "date": 1653182650000 + }, + { + "iob": -0.371, + "activity": 0.0007, + "date": 1653182949000 + }, + { + "iob": -0.471, + "activity": -0.0005, + "date": 1653183249000 + }, + { + "iob": -0.566, + "activity": -0.0016, + "date": 1653183550000 + }, + { + "iob": -0.606, + "activity": -0.0026, + "date": 1653183850000 + }, + { + "iob": -0.64, + "activity": -0.0036, + "date": 1653184150000 + }, + { + "iob": -0.67, + "activity": -0.0044, + "date": 1653184450000 + } +] + diff --git a/plugins/main/src/test/res/autotune/test1/profile.pump.json b/plugins/aps/src/test/res/autotune/test1/profile.pump.json similarity index 100% rename from plugins/main/src/test/res/autotune/test1/profile.pump.json rename to plugins/aps/src/test/res/autotune/test1/profile.pump.json diff --git a/plugins/main/src/test/res/autotune/test2/aaps-entries.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test2/aaps-entries.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test2/aaps-entries.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test2/aaps-treatments.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test2/aapsorefautotune_recommendations.log b/plugins/aps/src/test/res/autotune/test2/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/main/src/test/res/autotune/test2/aapsorefautotune_recommendations.log rename to plugins/aps/src/test/res/autotune/test2/aapsorefautotune_recommendations.log diff --git a/plugins/main/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test2/aapsorefprofile.2022-05-21.json diff --git a/plugins/aps/src/test/res/autotune/test2/aapsorefprofile.json b/plugins/aps/src/test/res/autotune/test2/aapsorefprofile.json new file mode 100644 index 0000000000..39ddc29371 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test2/aapsorefprofile.json @@ -0,0 +1,175 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.009, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 0.984, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 0.988, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.158, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.028, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.933, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.824, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 0.849, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 0.909, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 0.954, + "start": "09:00:00" + }, + { + "i": 10, + "minutes": 600, + "rate": 0.961, + "start": "10:00:00" + }, + { + "i": 11, + "minutes": 660, + "rate": 0.926, + "start": "11:00:00" + }, + { + "i": 12, + "minutes": 720, + "rate": 0.885, + "start": "12:00:00" + }, + { + "i": 13, + "minutes": 780, + "rate": 0.876, + "start": "13:00:00", + "untuned": 1 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.869, + "start": "14:00:00", + "untuned": 1 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.881, + "start": "15:00:00" + }, + { + "i": 16, + "minutes": 960, + "rate": 0.798, + "start": "16:00:00" + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.683, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.634, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.725, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.838, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.881, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.91, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.91, + "start": "23:00:00" + } + ], + "carb_ratio": 5.75, + "csf": 14.991, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 82.222, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 82.222, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test2/autotune.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/autotune.2022-05-21.json new file mode 100644 index 0000000000..4e76301775 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test2/autotune.2022-05-21.json @@ -0,0 +1,3399 @@ +{ + "CRData": [], + "CSFGlucoseData": [], + "ISFGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153849000, + "dateString": "2022-05-21T17:24:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "SingleDown", + "type": "sgv", + "_id": "628920591090500004ca4727", + "glucose": 96, + "avgDelta": "-13.25", + "BGI": -3.49, + "deviation": "-9.76" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181150000, + "dateString": "2022-05-22T00:59:10.000Z", + "isValid": true, + "sgv": 97, + "direction": "SingleDown", + "type": "sgv", + "_id": "62898b01da46aa0004d1e0fa", + "glucose": 97, + "avgDelta": "-11.50", + "BGI": -2.84, + "deviation": "-8.66" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181450000, + "dateString": "2022-05-22T01:04:10.000Z", + "isValid": true, + "sgv": 92, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898c2fda46aa0004d1e0fc", + "glucose": 92, + "avgDelta": "-10.75", + "BGI": -2.5, + "deviation": "-8.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153549000, + "dateString": "2022-05-21T17:19:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "SingleDown", + "type": "sgv", + "_id": "62891f2b1090500004ca4724", + "glucose": 110, + "avgDelta": "-12.00", + "BGI": -3.79, + "deviation": "-8.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154149000, + "dateString": "2022-05-21T17:29:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "SingleDown", + "type": "sgv", + "_id": "628921861090500004ca472b", + "glucose": 93, + "avgDelta": "-11.25", + "BGI": -3.19, + "deviation": "-8.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180849000, + "dateString": "2022-05-22T00:54:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "SingleDown", + "type": "sgv", + "_id": "628989d2da46aa0004d1e0f8", + "glucose": 105, + "avgDelta": "-9.50", + "BGI": -3.1, + "deviation": "-6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181750000, + "dateString": "2022-05-22T01:09:10.000Z", + "isValid": true, + "sgv": 87, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898d4750e51d0004429e5f", + "glucose": 87, + "avgDelta": "-8.50", + "BGI": -2.11, + "deviation": "-6.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153249000, + "dateString": "2022-05-21T17:14:09.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891dfd1090500004ca4722", + "glucose": 124, + "avgDelta": "-9.00", + "BGI": -4.05, + "deviation": "-4.95" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154449000, + "dateString": "2022-05-21T17:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628922b18809e60004c644d6", + "glucose": 97, + "avgDelta": "-6.75", + "BGI": -2.84, + "deviation": "-3.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110649000, + "dateString": "2022-05-21T05:24:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628877a5363e6c0004f710e0", + "glucose": 98, + "avgDelta": "-6.75", + "BGI": -4.44, + "deviation": "-2.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180549000, + "dateString": "2022-05-22T00:49:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628988a3da46aa0004d1e0f5", + "glucose": 121, + "avgDelta": "-5.25", + "BGI": -3.32, + "deviation": "-1.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110348000, + "dateString": "2022-05-21T05:19:08.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887677363e6c0004f710de", + "glucose": 102, + "avgDelta": "-6.75", + "BGI": -4.91, + "deviation": "-1.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156849000, + "dateString": "2022-05-21T18:14:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62892c06840d8d0004a20bf2", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -1.72, + "deviation": "-1.78" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114249000, + "dateString": "2022-05-21T06:24:09.000Z", + "isValid": true, + "sgv": 85, + "direction": "Flat", + "type": "sgv", + "_id": "628885a48ff3530004dc6069", + "glucose": 85, + "avgDelta": "-3.25", + "BGI": -1.77, + "deviation": "-1.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131049000, + "dateString": "2022-05-21T11:04:09.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "_id": "6288c7418e9ed800049b39e3", + "glucose": 81, + "avgDelta": "-3.00", + "BGI": -1.9, + "deviation": "-1.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110949000, + "dateString": "2022-05-21T05:29:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628878bbe964810004aa5655", + "glucose": 97, + "avgDelta": "-5.00", + "BGI": -3.92, + "deviation": "-1.08" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152949000, + "dateString": "2022-05-21T17:09:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891cd01090500004ca471f", + "glucose": 138, + "avgDelta": "-5.25", + "BGI": -4.22, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113949000, + "dateString": "2022-05-21T06:19:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "628884778ff3530004dc6067", + "glucose": 89, + "avgDelta": "-3.00", + "BGI": -2.07, + "deviation": "-0.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113649000, + "dateString": "2022-05-21T06:14:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288834a8ff3530004dc6065", + "glucose": 91, + "avgDelta": "-2.75", + "BGI": -2.28, + "deviation": "-0.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107948000, + "dateString": "2022-05-21T04:39:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886cfc19e2e60004989bb8", + "glucose": 124, + "avgDelta": "-8.25", + "BGI": -7.89, + "deviation": "-0.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156549000, + "dateString": "2022-05-21T18:09:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "62892af2840d8d0004a20bf0", + "glucose": 114, + "avgDelta": "-2.25", + "BGI": -1.9, + "deviation": "-0.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137649000, + "dateString": "2022-05-21T12:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288e1040f1be700041e59f0", + "glucose": 79, + "avgDelta": "2.25", + "BGI": -18.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137350000, + "dateString": "2022-05-21T12:49:10.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6288dfd60f1be700041e59ee", + "glucose": 72, + "avgDelta": "-0.25", + "BGI": -19.52, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137049000, + "dateString": "2022-05-21T12:44:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "6288df8a0f1be700041e59ec", + "glucose": 69, + "avgDelta": "-1.75", + "BGI": -20.95, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136449000, + "dateString": "2022-05-21T12:34:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "6288dd270f1be700041e59e8", + "glucose": 70, + "avgDelta": "-2.25", + "BGI": -23.7, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136149000, + "dateString": "2022-05-21T12:29:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6288db8a0f1be700041e59e5", + "glucose": 73, + "avgDelta": "-1.25", + "BGI": -25, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135249000, + "dateString": "2022-05-21T12:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288d7ae0f1be700041e59de", + "glucose": 79, + "avgDelta": "0.00", + "BGI": -27.76, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134949000, + "dateString": "2022-05-21T12:09:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d67f0f1be700041e59da", + "glucose": 78, + "avgDelta": "-2.25", + "BGI": -28.14, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134649000, + "dateString": "2022-05-21T12:04:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "_id": "6288d5500f1be700041e59d7", + "glucose": 77, + "avgDelta": "-6.00", + "BGI": -28.32, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134349000, + "dateString": "2022-05-21T11:59:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d4220f1be700041e59d5", + "glucose": 76, + "avgDelta": "-9.50", + "BGI": -28.06, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134049000, + "dateString": "2022-05-21T11:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d3060f1be700041e59d2", + "glucose": 79, + "avgDelta": "-10.50", + "BGI": -27.28, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135849000, + "dateString": "2022-05-21T12:24:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288d9fb0f1be700041e59e2", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": -26.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136749000, + "dateString": "2022-05-21T12:39:09.000Z", + "isValid": true, + "sgv": 68, + "direction": "Flat", + "type": "sgv", + "_id": "6288de580f1be700041e59ea", + "glucose": 68, + "avgDelta": "-2.50", + "BGI": -22.37, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135549000, + "dateString": "2022-05-21T12:19:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d8e00f1be700041e59e0", + "glucose": 78, + "avgDelta": "0.50", + "BGI": -27.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108249000, + "dateString": "2022-05-21T04:44:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886e2919e2e60004989bba", + "glucose": 123, + "avgDelta": "-7.50", + "BGI": -7.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130748000, + "dateString": "2022-05-21T10:59:08.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "_id": "6288c61a1991280004dce468", + "glucose": 84, + "avgDelta": "-2.50", + "BGI": -2.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110049000, + "dateString": "2022-05-21T05:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887549363e6c0004f710dc", + "glucose": 109, + "avgDelta": "-5.25", + "BGI": -5.34, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113349000, + "dateString": "2022-05-21T06:09:09.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288821b8ff3530004dc6062", + "glucose": 94, + "avgDelta": "-2.25", + "BGI": -2.46, + "deviation": "0.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111249000, + "dateString": "2022-05-21T05:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628879e9e964810004aa5657", + "glucose": 97, + "avgDelta": "-3.00", + "BGI": -3.45, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130448000, + "dateString": "2022-05-21T10:54:08.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6288c4ec1991280004dce464", + "glucose": 88, + "avgDelta": "-2.00", + "BGI": -3.36, + "deviation": "1.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113049000, + "dateString": "2022-05-21T06:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628880ee8ff3530004dc6060", + "glucose": 98, + "avgDelta": "-1.00", + "BGI": -2.5, + "deviation": "1.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151149000, + "dateString": "2022-05-21T16:39:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628915ce1090500004ca470c", + "glucose": 158, + "avgDelta": "-3.50", + "BGI": -5.09, + "deviation": "1.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180250000, + "dateString": "2022-05-22T00:44:10.000Z", + "isValid": true, + "sgv": 135, + "direction": "Flat", + "type": "sgv", + "_id": "62898774da46aa0004d1e0f1", + "glucose": 135, + "avgDelta": "-1.75", + "BGI": -3.49, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151449000, + "dateString": "2022-05-21T16:44:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628916f81090500004ca4710", + "glucose": 158, + "avgDelta": "-3.00", + "BGI": -4.74, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154749000, + "dateString": "2022-05-21T17:39:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "NONE", + "type": "sgv", + "_id": "628923df8809e60004c644d9", + "glucose": 108, + "avgDelta": "-0.50", + "BGI": -2.5, + "deviation": "2.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152649000, + "dateString": "2022-05-21T17:04:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62891ba31090500004ca471d", + "glucose": 149, + "avgDelta": "-2.25", + "BGI": -4.35, + "deviation": "2.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130149000, + "dateString": "2022-05-21T10:49:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288c3be1991280004dce461", + "glucose": 91, + "avgDelta": "-2.00", + "BGI": -4.27, + "deviation": "2.27" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111549000, + "dateString": "2022-05-21T05:39:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "62887b17e964810004aa565a", + "glucose": 100, + "avgDelta": "-0.50", + "BGI": -2.84, + "deviation": "2.34" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107648000, + "dateString": "2022-05-21T04:34:08.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886be719e2e60004989bb5", + "glucose": 132, + "avgDelta": "-5.75", + "BGI": -8.1, + "deviation": "2.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150849000, + "dateString": "2022-05-21T16:34:09.000Z", + "isValid": true, + "sgv": 161, + "direction": "Flat", + "type": "sgv", + "_id": "628914d01090500004ca4709", + "glucose": 161, + "avgDelta": "-3.00", + "BGI": -5.47, + "deviation": "2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179350000, + "dateString": "2022-05-22T00:29:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628983f69d6f1800047cd0dd", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.27, + "deviation": "2.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112749000, + "dateString": "2022-05-21T05:59:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "62887fcee964810004aa5666", + "glucose": 101, + "avgDelta": "0.25", + "BGI": -2.46, + "deviation": "2.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179050000, + "dateString": "2022-05-22T00:24:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628982c89d6f1800047cd0db", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.48, + "deviation": "2.73" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156250000, + "dateString": "2022-05-21T18:04:10.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "628929ac8809e60004c644e9", + "glucose": 119, + "avgDelta": "0.75", + "BGI": -2.07, + "deviation": "2.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109748000, + "dateString": "2022-05-21T05:09:08.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288741c363e6c0004f710d9", + "glucose": 117, + "avgDelta": "-2.75", + "BGI": -5.73, + "deviation": "2.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179649000, + "dateString": "2022-05-22T00:34:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898517da46aa0004d1e0ea", + "glucose": 143, + "avgDelta": "-1.00", + "BGI": -4.01, + "deviation": "3.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151749000, + "dateString": "2022-05-21T16:49:09.000Z", + "isValid": true, + "sgv": 159, + "direction": "Flat", + "type": "sgv", + "_id": "628918261090500004ca4714", + "glucose": 159, + "avgDelta": "-1.50", + "BGI": -4.53, + "deviation": "3.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108548000, + "dateString": "2022-05-21T04:49:08.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "62886f5719e2e60004989bbc", + "glucose": 128, + "avgDelta": "-4.00", + "BGI": -7.2, + "deviation": "3.20" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129848000, + "dateString": "2022-05-21T10:44:08.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288c2911991280004dce45e", + "glucose": 93, + "avgDelta": "-2.00", + "BGI": -5.26, + "deviation": "3.26" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173650000, + "dateString": "2022-05-21T22:54:10.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289717d37d09a00043f2b1e", + "glucose": 108, + "avgDelta": "-4.00", + "BGI": -7.28, + "deviation": "3.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111849000, + "dateString": "2022-05-21T05:44:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887c44e964810004aa565d", + "glucose": 102, + "avgDelta": "1.00", + "BGI": -2.37, + "deviation": "3.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173949000, + "dateString": "2022-05-21T22:59:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289721437d09a00043f2b1f", + "glucose": 108, + "avgDelta": "-3.00", + "BGI": -6.42, + "deviation": "3.42" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150549000, + "dateString": "2022-05-21T16:29:09.000Z", + "isValid": true, + "sgv": 165, + "direction": "Flat", + "type": "sgv", + "_id": "628913731090500004ca4706", + "glucose": 165, + "avgDelta": "-2.25", + "BGI": -5.73, + "deviation": "3.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179949000, + "dateString": "2022-05-22T00:39:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898645da46aa0004d1e0ee", + "glucose": 143, + "avgDelta": "-0.25", + "BGI": -3.75, + "deviation": "3.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112449000, + "dateString": "2022-05-21T05:54:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887ea1e964810004aa5664", + "glucose": 102, + "avgDelta": "1.25", + "BGI": -2.28, + "deviation": "3.53" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112148000, + "dateString": "2022-05-21T05:49:08.000Z", + "isValid": true, + "sgv": 103, + "direction": "Flat", + "type": "sgv", + "_id": "62887d72e964810004aa5661", + "glucose": 103, + "avgDelta": "1.50", + "BGI": -2.07, + "deviation": "3.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178750000, + "dateString": "2022-05-22T00:19:10.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "628981999d6f1800047cd0d8", + "glucose": 144, + "avgDelta": "-0.75", + "BGI": -4.57, + "deviation": "3.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129548000, + "dateString": "2022-05-21T10:39:08.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288c1631991280004dce45b", + "glucose": 94, + "avgDelta": "-2.50", + "BGI": -6.38, + "deviation": "3.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129249000, + "dateString": "2022-05-21T10:34:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "_id": "6288c0341991280004dce459", + "glucose": 96, + "avgDelta": "-3.50", + "BGI": -7.59, + "deviation": "4.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152049000, + "dateString": "2022-05-21T16:54:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "Flat", + "type": "sgv", + "_id": "628919531090500004ca4717", + "glucose": 160, + "avgDelta": "-0.25", + "BGI": -4.35, + "deviation": "4.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152349000, + "dateString": "2022-05-21T16:59:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "62891a811090500004ca471a", + "glucose": 158, + "avgDelta": "0.00", + "BGI": -4.35, + "deviation": "4.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150249000, + "dateString": "2022-05-21T16:24:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "Flat", + "type": "sgv", + "_id": "628913111090500004ca4704", + "glucose": 170, + "avgDelta": "-1.50", + "BGI": -5.95, + "deviation": "4.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105549000, + "dateString": "2022-05-21T03:59:09.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628863a542c1220004f95730", + "glucose": 146, + "avgDelta": "-5.25", + "BGI": -9.87, + "deviation": "4.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173350000, + "dateString": "2022-05-21T22:49:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62896fb837d09a00043f2b1b", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -8.15, + "deviation": "4.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174249000, + "dateString": "2022-05-21T23:04:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "Flat", + "type": "sgv", + "_id": "6289726037d09a00043f2b20", + "glucose": 111, + "avgDelta": "-1.00", + "BGI": -5.69, + "deviation": "4.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178449000, + "dateString": "2022-05-22T00:14:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6289806a9d6f1800047cd0d6", + "glucose": 147, + "avgDelta": "0.25", + "BGI": -4.61, + "deviation": "4.86" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128948000, + "dateString": "2022-05-21T10:29:08.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6288bf061991280004dce457", + "glucose": 99, + "avgDelta": "-4.00", + "BGI": -8.88, + "deviation": "4.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103448000, + "dateString": "2022-05-21T03:24:08.000Z", + "isValid": true, + "sgv": 174, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885b81293f3e00042c31d9", + "glucose": 174, + "avgDelta": "-10.50", + "BGI": -15.43, + "deviation": "4.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149949000, + "dateString": "2022-05-21T16:19:09.000Z", + "isValid": true, + "sgv": 172, + "direction": "Flat", + "type": "sgv", + "_id": "6289130f1090500004ca46ff", + "glucose": 172, + "avgDelta": "-1.00", + "BGI": -6.12, + "deviation": "5.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105848000, + "dateString": "2022-05-21T04:04:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "628864d342c1220004f95733", + "glucose": 146, + "avgDelta": "-4.00", + "BGI": -9.14, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103149000, + "dateString": "2022-05-21T03:19:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885a52293f3e00042c31d7", + "glucose": 182, + "avgDelta": "-11.50", + "BGI": -16.64, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105248000, + "dateString": "2022-05-21T03:54:08.000Z", + "isValid": true, + "sgv": 149, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288629042c1220004f9572e", + "glucose": 149, + "avgDelta": "-5.25", + "BGI": -10.56, + "deviation": "5.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176050000, + "dateString": "2022-05-21T23:34:10.000Z", + "isValid": true, + "sgv": 127, + "direction": "Flat", + "type": "sgv", + "_id": "6289771371a363000480abc1", + "glucose": 127, + "avgDelta": "2.50", + "BGI": -2.93, + "deviation": "5.43" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149650000, + "dateString": "2022-05-21T16:14:10.000Z", + "isValid": true, + "sgv": 173, + "direction": "Flat", + "type": "sgv", + "_id": "62890fff1090500004ca46fd", + "glucose": 173, + "avgDelta": "-0.75", + "BGI": -6.42, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176350000, + "dateString": "2022-05-21T23:39:10.000Z", + "isValid": true, + "sgv": 132, + "direction": "Flat", + "type": "sgv", + "_id": "6289784271a363000480abc3", + "glucose": 132, + "avgDelta": "3.00", + "BGI": -2.67, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175750000, + "dateString": "2022-05-21T23:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "628975e471a363000480abbe", + "glucose": 124, + "avgDelta": "2.50", + "BGI": -3.19, + "deviation": "5.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102848000, + "dateString": "2022-05-21T03:14:08.000Z", + "isValid": true, + "sgv": 193, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885924293f3e00042c31d5", + "glucose": 193, + "avgDelta": "-12.00", + "BGI": -17.71, + "deviation": "5.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128649000, + "dateString": "2022-05-21T10:24:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288bde0abbef90004616cf8", + "glucose": 101, + "avgDelta": "-4.50", + "BGI": -10.3, + "deviation": "5.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155950000, + "dateString": "2022-05-21T17:59:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "6289287e8809e60004c644e6", + "glucose": 123, + "avgDelta": "3.75", + "BGI": -2.16, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174550000, + "dateString": "2022-05-21T23:09:10.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6289727937d09a00043f2b21", + "glucose": 114, + "avgDelta": "1.00", + "BGI": -4.96, + "deviation": "5.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178149000, + "dateString": "2022-05-22T00:09:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897f3b9d6f1800047cd0d3", + "glucose": 149, + "avgDelta": "1.50", + "BGI": -4.48, + "deviation": "5.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103748000, + "dateString": "2022-05-21T03:29:08.000Z", + "isValid": true, + "sgv": 171, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885c95293f3e00042c31db", + "glucose": 171, + "avgDelta": "-8.25", + "BGI": -14.31, + "deviation": "6.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108848000, + "dateString": "2022-05-21T04:54:08.000Z", + "isValid": true, + "sgv": 130, + "direction": "Flat", + "type": "sgv", + "_id": "62887093363e6c0004f710cf", + "glucose": 130, + "avgDelta": "-0.50", + "BGI": -6.72, + "deviation": "6.22", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175450000, + "dateString": "2022-05-21T23:24:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "628974b671a363000480abbc", + "glucose": 123, + "avgDelta": "3.00", + "BGI": -3.4, + "deviation": "6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107348000, + "dateString": "2022-05-21T04:29:08.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "62886ab919e2e60004989bb3", + "glucose": 144, + "avgDelta": "-1.75", + "BGI": -8.19, + "deviation": "6.44" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102548000, + "dateString": "2022-05-21T03:09:08.000Z", + "isValid": true, + "sgv": 204, + "direction": "SingleDown", + "type": "sgv", + "_id": "628857f7293f3e00042c31d3", + "glucose": 204, + "avgDelta": "-12.25", + "BGI": -18.79, + "deviation": "6.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109448000, + "dateString": "2022-05-21T05:04:08.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "628872ef363e6c0004f710d6", + "glucose": 125, + "avgDelta": "0.50", + "BGI": -6.08, + "deviation": "6.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176650000, + "dateString": "2022-05-21T23:44:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "6289797071a363000480abc7", + "glucose": 139, + "avgDelta": "4.00", + "BGI": -2.59, + "deviation": "6.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174850000, + "dateString": "2022-05-21T23:14:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6289727a37d09a00043f2b22", + "glucose": 117, + "avgDelta": "2.25", + "BGI": -4.35, + "deviation": "6.60" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149349000, + "dateString": "2022-05-21T16:09:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890edacf7ee10004a2b1e2", + "glucose": 174, + "avgDelta": "0.00", + "BGI": -6.64, + "deviation": "6.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177850000, + "dateString": "2022-05-22T00:04:10.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897e0c9d6f1800047cd0d0", + "glucose": 149, + "avgDelta": "2.50", + "BGI": -4.22, + "deviation": "6.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101948000, + "dateString": "2022-05-21T02:59:08.000Z", + "isValid": true, + "sgv": 228, + "direction": "SingleDown", + "type": "sgv", + "_id": "628855935151b5000462a1e8", + "glucose": 228, + "avgDelta": "-13.75", + "BGI": -20.52, + "deviation": "6.77" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175149000, + "dateString": "2022-05-21T23:19:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "6289738f37d09a00043f2b26", + "glucose": 120, + "avgDelta": "3.00", + "BGI": -3.84, + "deviation": "6.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148149000, + "dateString": "2022-05-21T15:49:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890a21cf7ee10004a2b1d3", + "glucose": 174, + "avgDelta": "-1.00", + "BGI": -7.89, + "deviation": "6.89" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148749000, + "dateString": "2022-05-21T15:59:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890c64cf7ee10004a2b1da", + "glucose": 176, + "avgDelta": "0.00", + "BGI": -6.94, + "deviation": "6.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102249000, + "dateString": "2022-05-21T03:04:09.000Z", + "isValid": true, + "sgv": 216, + "direction": "SingleDown", + "type": "sgv", + "_id": "628856da5151b5000462a1ea", + "glucose": 216, + "avgDelta": "-12.75", + "BGI": -19.7, + "deviation": "6.95" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149049000, + "dateString": "2022-05-21T16:04:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890daccf7ee10004a2b1de", + "glucose": 176, + "avgDelta": "0.25", + "BGI": -6.72, + "deviation": "6.97" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148450000, + "dateString": "2022-05-21T15:54:10.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890b36cf7ee10004a2b1d7", + "glucose": 176, + "avgDelta": "-0.25", + "BGI": -7.37, + "deviation": "7.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104949000, + "dateString": "2022-05-21T03:49:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288614942c1220004f9572c", + "glucose": 155, + "avgDelta": "-4.00", + "BGI": -11.12, + "deviation": "7.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101648000, + "dateString": "2022-05-21T02:54:08.000Z", + "isValid": true, + "sgv": 241, + "direction": "SingleDown", + "type": "sgv", + "_id": "6288547f5151b5000462a1e6", + "glucose": 241, + "avgDelta": "-14.00", + "BGI": -21.16, + "deviation": "7.16" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155049000, + "dateString": "2022-05-21T17:44:09.000Z", + "isValid": true, + "sgv": 116, + "direction": "NONE", + "type": "sgv", + "_id": "6289250d8809e60004c644dd", + "glucose": 116, + "avgDelta": "5.00", + "BGI": -2.16, + "deviation": "7.16", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173050000, + "dateString": "2022-05-21T22:44:10.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "62896f8537d09a00043f2b1a", + "glucose": 115, + "avgDelta": "-1.75", + "BGI": -9.05, + "deviation": "7.30" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104049000, + "dateString": "2022-05-21T03:34:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885dc3293f3e00042c31de", + "glucose": 170, + "avgDelta": "-5.75", + "BGI": -13.1, + "deviation": "7.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106149000, + "dateString": "2022-05-21T04:09:09.000Z", + "isValid": true, + "sgv": 151, + "direction": "Flat", + "type": "sgv", + "_id": "6288660142c1220004f95736", + "glucose": 151, + "avgDelta": "-1.00", + "BGI": -8.36, + "deviation": "7.36" + } + ], + "basalGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182050000, + "dateString": "2022-05-22T01:14:10.000Z", + "isValid": true, + "sgv": 81, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898e7650e51d0004429e63", + "glucose": 81, + "avgDelta": "-6.00", + "BGI": -1.68, + "deviation": "-4.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182349000, + "dateString": "2022-05-22T01:19:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898fa550e51d0004429e65", + "glucose": 77, + "avgDelta": "-5.00", + "BGI": -1.25, + "deviation": "-3.75" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182650000, + "dateString": "2022-05-22T01:24:10.000Z", + "isValid": true, + "sgv": 74, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628990d350e51d0004429e67", + "glucose": 74, + "avgDelta": "-4.50", + "BGI": -0.78, + "deviation": "-3.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182949000, + "dateString": "2022-05-22T01:29:09.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6289920150e51d0004429e69", + "glucose": 72, + "avgDelta": "-3.75", + "BGI": -0.3, + "deviation": "-3.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116049000, + "dateString": "2022-05-21T06:54:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "62888ccc149196000412bf4f", + "glucose": 69, + "avgDelta": "-2.25", + "BGI": 0.43, + "deviation": "-2.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162549000, + "dateString": "2022-05-21T19:49:09.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6289425f598f780004bb3b30", + "glucose": 88, + "avgDelta": "-1.50", + "BGI": 1.12, + "deviation": "-2.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115749000, + "dateString": "2022-05-21T06:49:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888b85149196000412bf4d", + "glucose": 70, + "avgDelta": "-2.50", + "BGI": 0, + "deviation": "-2.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162250000, + "dateString": "2022-05-21T19:44:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "62894118598f780004bb3b2d", + "glucose": 89, + "avgDelta": "-1.50", + "BGI": 0.99, + "deviation": "-2.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115149000, + "dateString": "2022-05-21T06:39:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288892a149196000412bf49", + "glucose": 76, + "avgDelta": "-3.25", + "BGI": -0.78, + "deviation": "-2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115449000, + "dateString": "2022-05-21T06:44:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888a57149196000412bf4b", + "glucose": 74, + "avgDelta": "-2.75", + "BGI": -0.34, + "deviation": "-2.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161950000, + "dateString": "2022-05-21T19:39:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "62893feb598f780004bb3b2b", + "glucose": 91, + "avgDelta": "-1.50", + "BGI": 0.86, + "deviation": "-2.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116349000, + "dateString": "2022-05-21T06:59:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888de2149196000412bf51", + "glucose": 70, + "avgDelta": "-1.50", + "BGI": 0.78, + "deviation": "-2.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157149000, + "dateString": "2022-05-21T18:19:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892d34840d8d0004a20bf5", + "glucose": 108, + "avgDelta": "-3.75", + "BGI": -1.47, + "deviation": "-2.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162850000, + "dateString": "2022-05-21T19:54:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6289437f4493460004e63a25", + "glucose": 89, + "avgDelta": "-1.00", + "BGI": 1.25, + "deviation": "-2.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183249000, + "dateString": "2022-05-22T01:34:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6289933050e51d0004429e6b", + "glucose": 73, + "avgDelta": "-2.00", + "BGI": 0.22, + "deviation": "-2.22" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114849000, + "dateString": "2022-05-21T06:34:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "628888018ff3530004dc6070", + "glucose": 78, + "avgDelta": "-3.25", + "BGI": -1.12, + "deviation": "-2.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114549000, + "dateString": "2022-05-21T06:29:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628886d28ff3530004dc606b", + "glucose": 80, + "avgDelta": "-3.50", + "BGI": -1.47, + "deviation": "-2.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161649000, + "dateString": "2022-05-21T19:34:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "62893ed7598f780004bb3b29", + "glucose": 93, + "avgDelta": "-1.25", + "BGI": 0.73, + "deviation": "-1.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180549000, + "dateString": "2022-05-22T00:49:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628988a3da46aa0004d1e0f5", + "glucose": 121, + "avgDelta": "-5.25", + "BGI": -3.32, + "deviation": "-1.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110348000, + "dateString": "2022-05-21T05:19:08.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887677363e6c0004f710de", + "glucose": 102, + "avgDelta": "-6.75", + "BGI": -4.91, + "deviation": "-1.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161350000, + "dateString": "2022-05-21T19:29:10.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "62893daa598f780004bb3b27", + "glucose": 94, + "avgDelta": "-1.00", + "BGI": 0.65, + "deviation": "-1.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157449000, + "dateString": "2022-05-21T18:24:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892e62840d8d0004a20bf8", + "glucose": 108, + "avgDelta": "-2.75", + "BGI": -1.21, + "deviation": "-1.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158649000, + "dateString": "2022-05-21T18:44:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6289331c22fbc8000495b813", + "glucose": 101, + "avgDelta": "-1.75", + "BGI": -0.3, + "deviation": "-1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163150000, + "dateString": "2022-05-21T19:59:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "628944ae4493460004e63a27", + "glucose": 91, + "avgDelta": "0.00", + "BGI": 1.38, + "deviation": "-1.38" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161049000, + "dateString": "2022-05-21T19:24:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "62893c7d598f780004bb3b24", + "glucose": 95, + "avgDelta": "-0.75", + "BGI": 0.6, + "deviation": "-1.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158949000, + "dateString": "2022-05-21T18:49:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289344a22fbc8000495b815", + "glucose": 100, + "avgDelta": "-1.50", + "BGI": -0.17, + "deviation": "-1.33" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159249000, + "dateString": "2022-05-21T18:54:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6289357622fbc8000495b818", + "glucose": 99, + "avgDelta": "-1.25", + "BGI": -0.04, + "deviation": "-1.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116649000, + "dateString": "2022-05-21T07:04:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888f0f149196000412bf54", + "glucose": 74, + "avgDelta": "0.00", + "BGI": 1.12, + "deviation": "-1.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131049000, + "dateString": "2022-05-21T11:04:09.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "_id": "6288c7418e9ed800049b39e3", + "glucose": 81, + "avgDelta": "-3.00", + "BGI": -1.9, + "deviation": "-1.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157750000, + "dateString": "2022-05-21T18:29:10.000Z", + "isValid": true, + "sgv": 106, + "direction": "Flat", + "type": "sgv", + "_id": "62892f8f840d8d0004a20bfa", + "glucose": 106, + "avgDelta": "-2.00", + "BGI": -0.95, + "deviation": "-1.05" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152949000, + "dateString": "2022-05-21T17:09:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891cd01090500004ca471f", + "glucose": 138, + "avgDelta": "-5.25", + "BGI": -4.22, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158349000, + "dateString": "2022-05-21T18:39:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "628931e9840d8d0004a20bff", + "glucose": 102, + "avgDelta": "-1.50", + "BGI": -0.47, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160749000, + "dateString": "2022-05-21T19:19:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "62893b4f598f780004bb3b22", + "glucose": 97, + "avgDelta": "-0.50", + "BGI": 0.52, + "deviation": "-1.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131349000, + "dateString": "2022-05-21T11:09:09.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "6288c86f8e9ed800049b39e5", + "glucose": 82, + "avgDelta": "-2.25", + "BGI": -1.25, + "deviation": "-1.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183550000, + "dateString": "2022-05-22T01:39:10.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6289945f50e51d0004429e6d", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": 0.69, + "deviation": "-0.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159849000, + "dateString": "2022-05-21T19:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628937b822fbc8000495b81d", + "glucose": 98, + "avgDelta": "-0.75", + "BGI": 0.17, + "deviation": "-0.92" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158049000, + "dateString": "2022-05-21T18:34:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "Flat", + "type": "sgv", + "_id": "628930bc840d8d0004a20bfd", + "glucose": 104, + "avgDelta": "-1.50", + "BGI": -0.69, + "deviation": "-0.81" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160150000, + "dateString": "2022-05-21T19:09:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628938fe22fbc8000495b81f", + "glucose": 98, + "avgDelta": "-0.50", + "BGI": 0.3, + "deviation": "-0.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159549000, + "dateString": "2022-05-21T18:59:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "628936a422fbc8000495b81a", + "glucose": 99, + "avgDelta": "-0.75", + "BGI": 0.04, + "deviation": "-0.79" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160449000, + "dateString": "2022-05-21T19:14:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "62893a1222fbc8000495b822", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": 0.43, + "deviation": "-0.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117848000, + "dateString": "2022-05-21T07:24:08.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "628893bd7ff1e700040f17c9", + "glucose": 82, + "avgDelta": "2.00", + "BGI": 2.37, + "deviation": "-0.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107948000, + "dateString": "2022-05-21T04:39:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886cfc19e2e60004989bb8", + "glucose": 124, + "avgDelta": "-8.25", + "BGI": -7.89, + "deviation": "-0.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156549000, + "dateString": "2022-05-21T18:09:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "62892af2840d8d0004a20bf0", + "glucose": 114, + "avgDelta": "-2.25", + "BGI": -1.9, + "deviation": "-0.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184450000, + "dateString": "2022-05-22T01:54:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628997d861a8290004740385", + "glucose": 80, + "avgDelta": "1.75", + "BGI": 1.9, + "deviation": "-0.15" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118149000, + "dateString": "2022-05-21T07:29:09.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "_id": "628894d37ff1e700040f17cd", + "glucose": 86, + "avgDelta": "2.50", + "BGI": 2.63, + "deviation": "-0.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163449000, + "dateString": "2022-05-21T20:04:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "628945dc4493460004e63a2a", + "glucose": 95, + "avgDelta": "1.50", + "BGI": 1.51, + "deviation": "-0.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183850000, + "dateString": "2022-05-22T01:44:10.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6289957b61a829000474037f", + "glucose": 79, + "avgDelta": "1.25", + "BGI": 1.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116949000, + "dateString": "2022-05-21T07:09:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "62889024149196000412bf57", + "glucose": 76, + "avgDelta": "1.50", + "BGI": 1.47, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135249000, + "dateString": "2022-05-21T12:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288d7ae0f1be700041e59de", + "glucose": 79, + "avgDelta": "0.00", + "BGI": -27.76, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135549000, + "dateString": "2022-05-21T12:19:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d8e00f1be700041e59e0", + "glucose": 78, + "avgDelta": "0.50", + "BGI": -27.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137049000, + "dateString": "2022-05-21T12:44:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "6288df8a0f1be700041e59ec", + "glucose": 69, + "avgDelta": "-1.75", + "BGI": -20.95, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134349000, + "dateString": "2022-05-21T11:59:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d4220f1be700041e59d5", + "glucose": 76, + "avgDelta": "-9.50", + "BGI": -28.06, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135849000, + "dateString": "2022-05-21T12:24:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288d9fb0f1be700041e59e2", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": -26.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137350000, + "dateString": "2022-05-21T12:49:10.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6288dfd60f1be700041e59ee", + "glucose": 72, + "avgDelta": "-0.25", + "BGI": -19.52, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136149000, + "dateString": "2022-05-21T12:29:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6288db8a0f1be700041e59e5", + "glucose": 73, + "avgDelta": "-1.25", + "BGI": -25, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137649000, + "dateString": "2022-05-21T12:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288e1040f1be700041e59f0", + "glucose": 79, + "avgDelta": "2.25", + "BGI": -18.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136449000, + "dateString": "2022-05-21T12:34:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "6288dd270f1be700041e59e8", + "glucose": 70, + "avgDelta": "-2.25", + "BGI": -23.7, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134649000, + "dateString": "2022-05-21T12:04:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "_id": "6288d5500f1be700041e59d7", + "glucose": 77, + "avgDelta": "-6.00", + "BGI": -28.32, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134949000, + "dateString": "2022-05-21T12:09:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d67f0f1be700041e59da", + "glucose": 78, + "avgDelta": "-2.25", + "BGI": -28.14, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136749000, + "dateString": "2022-05-21T12:39:09.000Z", + "isValid": true, + "sgv": 68, + "direction": "Flat", + "type": "sgv", + "_id": "6288de580f1be700041e59ea", + "glucose": 68, + "avgDelta": "-2.50", + "BGI": -22.37, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117249000, + "dateString": "2022-05-21T07:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "628891627ff1e700040f17c6", + "glucose": 79, + "avgDelta": "2.50", + "BGI": 1.77, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134049000, + "dateString": "2022-05-21T11:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d3060f1be700041e59d2", + "glucose": 79, + "avgDelta": "-10.50", + "BGI": -27.28, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130748000, + "dateString": "2022-05-21T10:59:08.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "_id": "6288c61a1991280004dce468", + "glucose": 84, + "avgDelta": "-2.50", + "BGI": -2.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110049000, + "dateString": "2022-05-21T05:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887549363e6c0004f710dc", + "glucose": 109, + "avgDelta": "-5.25", + "BGI": -5.34, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117549000, + "dateString": "2022-05-21T07:19:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628892907ff1e700040f17c7", + "glucose": 80, + "avgDelta": "2.50", + "BGI": 2.11, + "deviation": "0.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118449000, + "dateString": "2022-05-21T07:34:09.000Z", + "isValid": true, + "sgv": 92, + "direction": "Flat", + "type": "sgv", + "_id": "6288961d7ff1e700040f17ce", + "glucose": 92, + "avgDelta": "3.25", + "BGI": 2.84, + "deviation": "0.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184150000, + "dateString": "2022-05-22T01:49:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628996a961a8290004740382", + "glucose": 80, + "avgDelta": "2.00", + "BGI": 1.55, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131649000, + "dateString": "2022-05-21T11:14:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6288c99e8e9ed800049b39e8", + "glucose": 89, + "avgDelta": "0.25", + "BGI": -0.65, + "deviation": "0.90" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118748000, + "dateString": "2022-05-21T07:39:08.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628897357ff1e700040f17d3", + "glucose": 97, + "avgDelta": "4.25", + "BGI": 3.06, + "deviation": "1.19" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130448000, + "dateString": "2022-05-21T10:54:08.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6288c4ec1991280004dce464", + "glucose": 88, + "avgDelta": "-2.00", + "BGI": -3.36, + "deviation": "1.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163749000, + "dateString": "2022-05-21T20:09:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289470c4493460004e63a2d", + "glucose": 100, + "avgDelta": "3.00", + "BGI": 1.55, + "deviation": "1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151149000, + "dateString": "2022-05-21T16:39:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628915ce1090500004ca470c", + "glucose": 158, + "avgDelta": "-3.50", + "BGI": -5.09, + "deviation": "1.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180250000, + "dateString": "2022-05-22T00:44:10.000Z", + "isValid": true, + "sgv": 135, + "direction": "Flat", + "type": "sgv", + "_id": "62898774da46aa0004d1e0f1", + "glucose": 135, + "avgDelta": "-1.75", + "BGI": -3.49, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151449000, + "dateString": "2022-05-21T16:44:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628916f81090500004ca4710", + "glucose": 158, + "avgDelta": "-3.00", + "BGI": -4.74, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152649000, + "dateString": "2022-05-21T17:04:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62891ba31090500004ca471d", + "glucose": 149, + "avgDelta": "-2.25", + "BGI": -4.35, + "deviation": "2.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130149000, + "dateString": "2022-05-21T10:49:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288c3be1991280004dce461", + "glucose": 91, + "avgDelta": "-2.00", + "BGI": -4.27, + "deviation": "2.27" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107648000, + "dateString": "2022-05-21T04:34:08.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886be719e2e60004989bb5", + "glucose": 132, + "avgDelta": "-5.75", + "BGI": -8.1, + "deviation": "2.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150849000, + "dateString": "2022-05-21T16:34:09.000Z", + "isValid": true, + "sgv": 161, + "direction": "Flat", + "type": "sgv", + "_id": "628914d01090500004ca4709", + "glucose": 161, + "avgDelta": "-3.00", + "BGI": -5.47, + "deviation": "2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179350000, + "dateString": "2022-05-22T00:29:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628983f69d6f1800047cd0dd", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.27, + "deviation": "2.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179050000, + "dateString": "2022-05-22T00:24:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628982c89d6f1800047cd0db", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.48, + "deviation": "2.73" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156250000, + "dateString": "2022-05-21T18:04:10.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "628929ac8809e60004c644e9", + "glucose": 119, + "avgDelta": "0.75", + "BGI": -2.07, + "deviation": "2.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109748000, + "dateString": "2022-05-21T05:09:08.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288741c363e6c0004f710d9", + "glucose": 117, + "avgDelta": "-2.75", + "BGI": -5.73, + "deviation": "2.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119049000, + "dateString": "2022-05-21T07:44:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628898627ff1e700040f17d5", + "glucose": 105, + "avgDelta": "5.75", + "BGI": 2.76, + "deviation": "2.99" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179649000, + "dateString": "2022-05-22T00:34:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898517da46aa0004d1e0ea", + "glucose": 143, + "avgDelta": "-1.00", + "BGI": -4.01, + "deviation": "3.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151749000, + "dateString": "2022-05-21T16:49:09.000Z", + "isValid": true, + "sgv": 159, + "direction": "Flat", + "type": "sgv", + "_id": "628918261090500004ca4714", + "glucose": 159, + "avgDelta": "-1.50", + "BGI": -4.53, + "deviation": "3.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129848000, + "dateString": "2022-05-21T10:44:08.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288c2911991280004dce45e", + "glucose": 93, + "avgDelta": "-2.00", + "BGI": -5.26, + "deviation": "3.26" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173650000, + "dateString": "2022-05-21T22:54:10.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289717d37d09a00043f2b1e", + "glucose": 108, + "avgDelta": "-4.00", + "BGI": -7.28, + "deviation": "3.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173949000, + "dateString": "2022-05-21T22:59:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289721437d09a00043f2b1f", + "glucose": 108, + "avgDelta": "-3.00", + "BGI": -6.42, + "deviation": "3.42" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150549000, + "dateString": "2022-05-21T16:29:09.000Z", + "isValid": true, + "sgv": 165, + "direction": "Flat", + "type": "sgv", + "_id": "628913731090500004ca4706", + "glucose": 165, + "avgDelta": "-2.25", + "BGI": -5.73, + "deviation": "3.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164049000, + "dateString": "2022-05-21T20:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "Flat", + "type": "sgv", + "_id": "628948214493460004e63a31", + "glucose": 109, + "avgDelta": "5.00", + "BGI": 1.51, + "deviation": "3.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179949000, + "dateString": "2022-05-22T00:39:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898645da46aa0004d1e0ee", + "glucose": 143, + "avgDelta": "-0.25", + "BGI": -3.75, + "deviation": "3.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131948000, + "dateString": "2022-05-21T11:19:08.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6288cacb8e9ed800049b39ec", + "glucose": 98, + "avgDelta": "3.50", + "BGI": -0.3, + "deviation": "3.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178750000, + "dateString": "2022-05-22T00:19:10.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "628981999d6f1800047cd0d8", + "glucose": 144, + "avgDelta": "-0.75", + "BGI": -4.57, + "deviation": "3.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129548000, + "dateString": "2022-05-21T10:39:08.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288c1631991280004dce45b", + "glucose": 94, + "avgDelta": "-2.50", + "BGI": -6.38, + "deviation": "3.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129249000, + "dateString": "2022-05-21T10:34:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "_id": "6288c0341991280004dce459", + "glucose": 96, + "avgDelta": "-3.50", + "BGI": -7.59, + "deviation": "4.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152049000, + "dateString": "2022-05-21T16:54:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "Flat", + "type": "sgv", + "_id": "628919531090500004ca4717", + "glucose": 160, + "avgDelta": "-0.25", + "BGI": -4.35, + "deviation": "4.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152349000, + "dateString": "2022-05-21T16:59:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "62891a811090500004ca471a", + "glucose": 158, + "avgDelta": "0.00", + "BGI": -4.35, + "deviation": "4.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150249000, + "dateString": "2022-05-21T16:24:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "Flat", + "type": "sgv", + "_id": "628913111090500004ca4704", + "glucose": 170, + "avgDelta": "-1.50", + "BGI": -5.95, + "deviation": "4.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105549000, + "dateString": "2022-05-21T03:59:09.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628863a542c1220004f95730", + "glucose": 146, + "avgDelta": "-5.25", + "BGI": -9.87, + "deviation": "4.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119349000, + "dateString": "2022-05-21T07:49:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628899957ff1e700040f17d7", + "glucose": 114, + "avgDelta": "7.00", + "BGI": 2.37, + "deviation": "4.63" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173350000, + "dateString": "2022-05-21T22:49:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62896fb837d09a00043f2b1b", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -8.15, + "deviation": "4.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174249000, + "dateString": "2022-05-21T23:04:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "Flat", + "type": "sgv", + "_id": "6289726037d09a00043f2b20", + "glucose": 111, + "avgDelta": "-1.00", + "BGI": -5.69, + "deviation": "4.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178449000, + "dateString": "2022-05-22T00:14:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6289806a9d6f1800047cd0d6", + "glucose": 147, + "avgDelta": "0.25", + "BGI": -4.61, + "deviation": "4.86" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128948000, + "dateString": "2022-05-21T10:29:08.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6288bf061991280004dce457", + "glucose": 99, + "avgDelta": "-4.00", + "BGI": -8.88, + "deviation": "4.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103448000, + "dateString": "2022-05-21T03:24:08.000Z", + "isValid": true, + "sgv": 174, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885b81293f3e00042c31d9", + "glucose": 174, + "avgDelta": "-10.50", + "BGI": -15.43, + "deviation": "4.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149949000, + "dateString": "2022-05-21T16:19:09.000Z", + "isValid": true, + "sgv": 172, + "direction": "Flat", + "type": "sgv", + "_id": "6289130f1090500004ca46ff", + "glucose": 172, + "avgDelta": "-1.00", + "BGI": -6.12, + "deviation": "5.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105848000, + "dateString": "2022-05-21T04:04:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "628864d342c1220004f95733", + "glucose": 146, + "avgDelta": "-4.00", + "BGI": -9.14, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103149000, + "dateString": "2022-05-21T03:19:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885a52293f3e00042c31d7", + "glucose": 182, + "avgDelta": "-11.50", + "BGI": -16.64, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105248000, + "dateString": "2022-05-21T03:54:08.000Z", + "isValid": true, + "sgv": 149, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288629042c1220004f9572e", + "glucose": 149, + "avgDelta": "-5.25", + "BGI": -10.56, + "deviation": "5.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176050000, + "dateString": "2022-05-21T23:34:10.000Z", + "isValid": true, + "sgv": 127, + "direction": "Flat", + "type": "sgv", + "_id": "6289771371a363000480abc1", + "glucose": 127, + "avgDelta": "2.50", + "BGI": -2.93, + "deviation": "5.43" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176350000, + "dateString": "2022-05-21T23:39:10.000Z", + "isValid": true, + "sgv": 132, + "direction": "Flat", + "type": "sgv", + "_id": "6289784271a363000480abc3", + "glucose": 132, + "avgDelta": "3.00", + "BGI": -2.67, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149650000, + "dateString": "2022-05-21T16:14:10.000Z", + "isValid": true, + "sgv": 173, + "direction": "Flat", + "type": "sgv", + "_id": "62890fff1090500004ca46fd", + "glucose": 173, + "avgDelta": "-0.75", + "BGI": -6.42, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175750000, + "dateString": "2022-05-21T23:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "628975e471a363000480abbe", + "glucose": 124, + "avgDelta": "2.50", + "BGI": -3.19, + "deviation": "5.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102848000, + "dateString": "2022-05-21T03:14:08.000Z", + "isValid": true, + "sgv": 193, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885924293f3e00042c31d5", + "glucose": 193, + "avgDelta": "-12.00", + "BGI": -17.71, + "deviation": "5.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128649000, + "dateString": "2022-05-21T10:24:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288bde0abbef90004616cf8", + "glucose": 101, + "avgDelta": "-4.50", + "BGI": -10.3, + "deviation": "5.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164350000, + "dateString": "2022-05-21T20:19:10.000Z", + "isValid": true, + "sgv": 120, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6289496a4493460004e63a34", + "glucose": 120, + "avgDelta": "7.25", + "BGI": 1.34, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155950000, + "dateString": "2022-05-21T17:59:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "6289287e8809e60004c644e6", + "glucose": 123, + "avgDelta": "3.75", + "BGI": -2.16, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174550000, + "dateString": "2022-05-21T23:09:10.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6289727937d09a00043f2b21", + "glucose": 114, + "avgDelta": "1.00", + "BGI": -4.96, + "deviation": "5.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178149000, + "dateString": "2022-05-22T00:09:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897f3b9d6f1800047cd0d3", + "glucose": 149, + "avgDelta": "1.50", + "BGI": -4.48, + "deviation": "5.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103748000, + "dateString": "2022-05-21T03:29:08.000Z", + "isValid": true, + "sgv": 171, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885c95293f3e00042c31db", + "glucose": 171, + "avgDelta": "-8.25", + "BGI": -14.31, + "deviation": "6.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108848000, + "dateString": "2022-05-21T04:54:08.000Z", + "isValid": true, + "sgv": 130, + "direction": "Flat", + "type": "sgv", + "_id": "62887093363e6c0004f710cf", + "glucose": 130, + "avgDelta": "-0.50", + "BGI": -6.72, + "deviation": "6.22", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175450000, + "dateString": "2022-05-21T23:24:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "628974b671a363000480abbc", + "glucose": 123, + "avgDelta": "3.00", + "BGI": -3.4, + "deviation": "6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107348000, + "dateString": "2022-05-21T04:29:08.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "62886ab919e2e60004989bb3", + "glucose": 144, + "avgDelta": "-1.75", + "BGI": -8.19, + "deviation": "6.44" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102548000, + "dateString": "2022-05-21T03:09:08.000Z", + "isValid": true, + "sgv": 204, + "direction": "SingleDown", + "type": "sgv", + "_id": "628857f7293f3e00042c31d3", + "glucose": 204, + "avgDelta": "-12.25", + "BGI": -18.79, + "deviation": "6.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109448000, + "dateString": "2022-05-21T05:04:08.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "628872ef363e6c0004f710d6", + "glucose": 125, + "avgDelta": "0.50", + "BGI": -6.08, + "deviation": "6.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176650000, + "dateString": "2022-05-21T23:44:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "6289797071a363000480abc7", + "glucose": 139, + "avgDelta": "4.00", + "BGI": -2.59, + "deviation": "6.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174850000, + "dateString": "2022-05-21T23:14:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6289727a37d09a00043f2b22", + "glucose": 117, + "avgDelta": "2.25", + "BGI": -4.35, + "deviation": "6.60" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149349000, + "dateString": "2022-05-21T16:09:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890edacf7ee10004a2b1e2", + "glucose": 174, + "avgDelta": "0.00", + "BGI": -6.64, + "deviation": "6.64" + } + ] +} diff --git a/plugins/main/src/test/res/autotune/test2/autotune.2022-06-25-111214.log b/plugins/aps/src/test/res/autotune/test2/autotune.2022-06-25-111214.log similarity index 100% rename from plugins/main/src/test/res/autotune/test2/autotune.2022-06-25-111214.log rename to plugins/aps/src/test/res/autotune/test2/autotune.2022-06-25-111214.log diff --git a/plugins/aps/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json new file mode 100644 index 0000000000..39ddc29371 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json @@ -0,0 +1,175 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.009, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 0.984, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 0.988, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.158, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.028, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.933, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.824, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 0.849, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 0.909, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 0.954, + "start": "09:00:00" + }, + { + "i": 10, + "minutes": 600, + "rate": 0.961, + "start": "10:00:00" + }, + { + "i": 11, + "minutes": 660, + "rate": 0.926, + "start": "11:00:00" + }, + { + "i": 12, + "minutes": 720, + "rate": 0.885, + "start": "12:00:00" + }, + { + "i": 13, + "minutes": 780, + "rate": 0.876, + "start": "13:00:00", + "untuned": 1 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.869, + "start": "14:00:00", + "untuned": 1 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.881, + "start": "15:00:00" + }, + { + "i": 16, + "minutes": 960, + "rate": 0.798, + "start": "16:00:00" + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.683, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.634, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.725, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.838, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.881, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.91, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.91, + "start": "23:00:00" + } + ], + "carb_ratio": 5.75, + "csf": 14.991, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 82.222, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 82.222, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json b/plugins/aps/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json new file mode 100644 index 0000000000..b563f70131 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json @@ -0,0 +1,1418 @@ +[ + { + "iob": 5.249, + "activity": 0.0391, + "date": 1653099848000 + }, + { + "iob": 5.292, + "activity": 0.0438, + "date": 1653100148000 + }, + { + "iob": 4.964, + "activity": 0.047, + "date": 1653100449000 + }, + { + "iob": 4.674, + "activity": 0.0489, + "date": 1653100748000 + }, + { + "iob": 4.377, + "activity": 0.0498, + "date": 1653101048000 + }, + { + "iob": 4.077, + "activity": 0.0498, + "date": 1653101348000 + }, + { + "iob": 3.73, + "activity": 0.0491, + "date": 1653101648000 + }, + { + "iob": 3.389, + "activity": 0.0476, + "date": 1653101948000 + }, + { + "iob": 3.055, + "activity": 0.0457, + "date": 1653102249000 + }, + { + "iob": 2.782, + "activity": 0.0436, + "date": 1653102548000 + }, + { + "iob": 2.47, + "activity": 0.0411, + "date": 1653102848000 + }, + { + "iob": 2.22, + "activity": 0.0386, + "date": 1653103149000 + }, + { + "iob": 1.935, + "activity": 0.0358, + "date": 1653103448000 + }, + { + "iob": 1.711, + "activity": 0.0332, + "date": 1653103748000 + }, + { + "iob": 1.452, + "activity": 0.0304, + "date": 1653104049000 + }, + { + "iob": 1.927, + "activity": 0.028, + "date": 1653104349000 + }, + { + "iob": 1.84, + "activity": 0.027, + "date": 1653104648000 + }, + { + "iob": 1.658, + "activity": 0.0258, + "date": 1653104949000 + }, + { + "iob": 1.482, + "activity": 0.0245, + "date": 1653105248000 + }, + { + "iob": 1.264, + "activity": 0.0229, + "date": 1653105549000 + }, + { + "iob": 1.104, + "activity": 0.0212, + "date": 1653105848000 + }, + { + "iob": 0.952, + "activity": 0.0194, + "date": 1653106149000 + }, + { + "iob": 1.619, + "activity": 0.0181, + "date": 1653106449000 + }, + { + "iob": 1.678, + "activity": 0.0184, + "date": 1653106749000 + }, + { + "iob": 1.775, + "activity": 0.0187, + "date": 1653107048000 + }, + { + "iob": 1.581, + "activity": 0.019, + "date": 1653107348000 + }, + { + "iob": 1.437, + "activity": 0.0188, + "date": 1653107648000 + }, + { + "iob": 1.294, + "activity": 0.0183, + "date": 1653107948000 + }, + { + "iob": 1.153, + "activity": 0.0176, + "date": 1653108249000 + }, + { + "iob": 1.017, + "activity": 0.0167, + "date": 1653108548000 + }, + { + "iob": 0.887, + "activity": 0.0156, + "date": 1653108848000 + }, + { + "iob": 1.011, + "activity": 0.0147, + "date": 1653109148000 + }, + { + "iob": 0.889, + "activity": 0.0141, + "date": 1653109448000 + }, + { + "iob": 0.771, + "activity": 0.0133, + "date": 1653109748000 + }, + { + "iob": 0.656, + "activity": 0.0124, + "date": 1653110049000 + }, + { + "iob": 0.547, + "activity": 0.0114, + "date": 1653110348000 + }, + { + "iob": 0.392, + "activity": 0.0103, + "date": 1653110649000 + }, + { + "iob": 0.294, + "activity": 0.0091, + "date": 1653110949000 + }, + { + "iob": 0.2, + "activity": 0.008, + "date": 1653111249000 + }, + { + "iob": 0.065, + "activity": 0.0066, + "date": 1653111549000 + }, + { + "iob": 0.034, + "activity": 0.0055, + "date": 1653111849000 + }, + { + "iob": 0.549, + "activity": 0.0048, + "date": 1653112148000 + }, + { + "iob": 0.674, + "activity": 0.0053, + "date": 1653112449000 + }, + { + "iob": 0.597, + "activity": 0.0057, + "date": 1653112749000 + }, + { + "iob": 0.468, + "activity": 0.0058, + "date": 1653113049000 + }, + { + "iob": 0.389, + "activity": 0.0057, + "date": 1653113349000 + }, + { + "iob": 0.262, + "activity": 0.0053, + "date": 1653113649000 + }, + { + "iob": 0.186, + "activity": 0.0048, + "date": 1653113949000 + }, + { + "iob": 0.064, + "activity": 0.0041, + "date": 1653114249000 + }, + { + "iob": -0.005, + "activity": 0.0034, + "date": 1653114549000 + }, + { + "iob": -0.12, + "activity": 0.0026, + "date": 1653114849000 + }, + { + "iob": -0.181, + "activity": 0.0018, + "date": 1653115149000 + }, + { + "iob": -0.287, + "activity": 0.0008, + "date": 1653115449000 + }, + { + "iob": -0.34, + "activity": 0, + "date": 1653115749000 + }, + { + "iob": -0.436, + "activity": -0.001, + "date": 1653116049000 + }, + { + "iob": -0.48, + "activity": -0.0018, + "date": 1653116349000 + }, + { + "iob": -0.519, + "activity": -0.0026, + "date": 1653116649000 + }, + { + "iob": -0.554, + "activity": -0.0034, + "date": 1653116949000 + }, + { + "iob": -0.585, + "activity": -0.0041, + "date": 1653117249000 + }, + { + "iob": -0.662, + "activity": -0.0049, + "date": 1653117549000 + }, + { + "iob": -0.687, + "activity": -0.0055, + "date": 1653117848000 + }, + { + "iob": -0.708, + "activity": -0.0061, + "date": 1653118149000 + }, + { + "iob": -0.726, + "activity": -0.0066, + "date": 1653118449000 + }, + { + "iob": -0.351, + "activity": -0.0071, + "date": 1653118748000 + }, + { + "iob": -0.218, + "activity": -0.0064, + "date": 1653119049000 + }, + { + "iob": -0.088, + "activity": -0.0055, + "date": 1653119349000 + }, + { + "iob": 13.594, + "activity": 0.0023, + "date": 1653119649000 + }, + { + "iob": 13.552, + "activity": 0.0331, + "date": 1653119949000 + }, + { + "iob": 13.224, + "activity": 0.0573, + "date": 1653120249000 + }, + { + "iob": 12.838, + "activity": 0.076, + "date": 1653120548000 + }, + { + "iob": 12.322, + "activity": 0.09, + "date": 1653120849000 + }, + { + "iob": 11.794, + "activity": 0.1001, + "date": 1653121149000 + }, + { + "iob": 11.177, + "activity": 0.1068, + "date": 1653121449000 + }, + { + "iob": 10.58, + "activity": 0.111, + "date": 1653121749000 + }, + { + "iob": 9.919, + "activity": 0.1129, + "date": 1653122049000 + }, + { + "iob": 9.254, + "activity": 0.1129, + "date": 1653122349000 + }, + { + "iob": 8.643, + "activity": 0.1114, + "date": 1653122649000 + }, + { + "iob": 7.992, + "activity": 0.1088, + "date": 1653122949000 + }, + { + "iob": 7.406, + "activity": 0.1053, + "date": 1653123248000 + }, + { + "iob": 7.111, + "activity": 0.1012, + "date": 1653123549000 + }, + { + "iob": 6.515, + "activity": 0.0971, + "date": 1653123849000 + }, + { + "iob": 5.99, + "activity": 0.0927, + "date": 1653124149000 + }, + { + "iob": 5.439, + "activity": 0.0878, + "date": 1653124448000 + }, + { + "iob": 4.962, + "activity": 0.0828, + "date": 1653124749000 + }, + { + "iob": 4.462, + "activity": 0.0775, + "date": 1653125048000 + }, + { + "iob": 4.036, + "activity": 0.0724, + "date": 1653125349000 + }, + { + "iob": 3.638, + "activity": 0.0672, + "date": 1653125649000 + }, + { + "iob": 3.214, + "activity": 0.0621, + "date": 1653125948000 + }, + { + "iob": 2.866, + "activity": 0.0571, + "date": 1653126249000 + }, + { + "iob": 2.494, + "activity": 0.0522, + "date": 1653126549000 + }, + { + "iob": 2.193, + "activity": 0.0476, + "date": 1653126849000 + }, + { + "iob": 1.867, + "activity": 0.0431, + "date": 1653127149000 + }, + { + "iob": 1.563, + "activity": 0.0388, + "date": 1653127449000 + }, + { + "iob": 1.329, + "activity": 0.0347, + "date": 1653127748000 + }, + { + "iob": 1.115, + "activity": 0.0309, + "date": 1653128049000 + }, + { + "iob": 0.87, + "activity": 0.0272, + "date": 1653128349000 + }, + { + "iob": 0.692, + "activity": 0.0239, + "date": 1653128649000 + }, + { + "iob": 0.482, + "activity": 0.0206, + "date": 1653128948000 + }, + { + "iob": 0.287, + "activity": 0.0176, + "date": 1653129249000 + }, + { + "iob": 0.156, + "activity": 0.0148, + "date": 1653129548000 + }, + { + "iob": 0.038, + "activity": 0.0122, + "date": 1653129848000 + }, + { + "iob": -0.067, + "activity": 0.0099, + "date": 1653130149000 + }, + { + "iob": -0.161, + "activity": 0.0078, + "date": 1653130448000 + }, + { + "iob": -0.195, + "activity": 0.006, + "date": 1653130748000 + }, + { + "iob": -0.271, + "activity": 0.0044, + "date": 1653131049000 + }, + { + "iob": -0.339, + "activity": 0.0029, + "date": 1653131349000 + }, + { + "iob": -0.4, + "activity": 0.0015, + "date": 1653131649000 + }, + { + "iob": -0.155, + "activity": 0.0007, + "date": 1653131948000 + }, + { + "iob": 8.11, + "activity": 0.0045, + "date": 1653132249000 + }, + { + "iob": 7.992, + "activity": 0.0222, + "date": 1653132549000 + }, + { + "iob": 7.745, + "activity": 0.0359, + "date": 1653132849000 + }, + { + "iob": 7.488, + "activity": 0.0465, + "date": 1653133149000 + }, + { + "iob": 7.136, + "activity": 0.0541, + "date": 1653133449000 + }, + { + "iob": 6.8, + "activity": 0.0596, + "date": 1653133749000 + }, + { + "iob": 6.441, + "activity": 0.0633, + "date": 1653134049000 + }, + { + "iob": 6.022, + "activity": 0.0651, + "date": 1653134349000 + }, + { + "iob": 5.644, + "activity": 0.0657, + "date": 1653134649000 + }, + { + "iob": 5.216, + "activity": 0.0653, + "date": 1653134949000 + }, + { + "iob": 4.962, + "activity": 0.0644, + "date": 1653135249000 + }, + { + "iob": 4.544, + "activity": 0.0627, + "date": 1653135549000 + }, + { + "iob": 4.185, + "activity": 0.0606, + "date": 1653135849000 + }, + { + "iob": 3.839, + "activity": 0.058, + "date": 1653136149000 + }, + { + "iob": 3.456, + "activity": 0.055, + "date": 1653136449000 + }, + { + "iob": 3.139, + "activity": 0.0519, + "date": 1653136749000 + }, + { + "iob": 2.788, + "activity": 0.0486, + "date": 1653137049000 + }, + { + "iob": 2.503, + "activity": 0.0453, + "date": 1653137350000 + }, + { + "iob": 2.186, + "activity": 0.0418, + "date": 1653137649000 + }, + { + "iob": 3.17, + "activity": 0.0407, + "date": 1653137949000 + }, + { + "iob": 3.956, + "activity": 0.0413, + "date": 1653138249000 + }, + { + "iob": 3.648, + "activity": 0.042, + "date": 1653138549000 + }, + { + "iob": 4.126, + "activity": 0.043, + "date": 1653138849000 + }, + { + "iob": 3.81, + "activity": 0.0437, + "date": 1653139150000 + }, + { + "iob": 3.541, + "activity": 0.0437, + "date": 1653139450000 + }, + { + "iob": 3.272, + "activity": 0.0431, + "date": 1653139749000 + }, + { + "iob": 3.588, + "activity": 0.0428, + "date": 1653140049000 + }, + { + "iob": 3.875, + "activity": 0.0431, + "date": 1653140349000 + }, + { + "iob": 3.608, + "activity": 0.0434, + "date": 1653140648000 + }, + { + "iob": 4.271, + "activity": 0.0442, + "date": 1653140949000 + }, + { + "iob": 3.996, + "activity": 0.0452, + "date": 1653141249000 + }, + { + "iob": 4.298, + "activity": 0.0462, + "date": 1653141548000 + }, + { + "iob": 4.015, + "activity": 0.0468, + "date": 1653141849000 + }, + { + "iob": 4.538, + "activity": 0.0481, + "date": 1653142149000 + }, + { + "iob": 4.245, + "activity": 0.0489, + "date": 1653142449000 + }, + { + "iob": 4.729, + "activity": 0.05, + "date": 1653142749000 + }, + { + "iob": 4.426, + "activity": 0.0508, + "date": 1653143049000 + }, + { + "iob": 4.353, + "activity": 0.051, + "date": 1653143349000 + }, + { + "iob": 4.049, + "activity": 0.0507, + "date": 1653143650000 + }, + { + "iob": 3.747, + "activity": 0.0498, + "date": 1653143949000 + }, + { + "iob": 3.402, + "activity": 0.0483, + "date": 1653144249000 + }, + { + "iob": 3.115, + "activity": 0.0464, + "date": 1653144550000 + }, + { + "iob": 2.788, + "activity": 0.0441, + "date": 1653144849000 + }, + { + "iob": 2.524, + "activity": 0.0417, + "date": 1653145149000 + }, + { + "iob": 2.271, + "activity": 0.0391, + "date": 1653145449000 + }, + { + "iob": 2.033, + "activity": 0.0365, + "date": 1653145750000 + }, + { + "iob": 1.807, + "activity": 0.0338, + "date": 1653146050000 + }, + { + "iob": 1.594, + "activity": 0.0312, + "date": 1653146349000 + }, + { + "iob": 1.395, + "activity": 0.0286, + "date": 1653146650000 + }, + { + "iob": 1.258, + "activity": 0.0262, + "date": 1653146949000 + }, + { + "iob": 1.034, + "activity": 0.0236, + "date": 1653147249000 + }, + { + "iob": 0.971, + "activity": 0.0215, + "date": 1653147549000 + }, + { + "iob": 1.008, + "activity": 0.0197, + "date": 1653147849000 + }, + { + "iob": 0.963, + "activity": 0.0183, + "date": 1653148149000 + }, + { + "iob": 1.046, + "activity": 0.0171, + "date": 1653148450000 + }, + { + "iob": 0.912, + "activity": 0.0161, + "date": 1653148749000 + }, + { + "iob": 1.254, + "activity": 0.0156, + "date": 1653149049000 + }, + { + "iob": 1.176, + "activity": 0.0154, + "date": 1653149349000 + }, + { + "iob": 1.051, + "activity": 0.0149, + "date": 1653149650000 + }, + { + "iob": 0.928, + "activity": 0.0142, + "date": 1653149949000 + }, + { + "iob": 1.008, + "activity": 0.0138, + "date": 1653150249000 + }, + { + "iob": 0.89, + "activity": 0.0133, + "date": 1653150549000 + }, + { + "iob": 0.775, + "activity": 0.0127, + "date": 1653150849000 + }, + { + "iob": 0.664, + "activity": 0.0118, + "date": 1653151149000 + }, + { + "iob": 0.606, + "activity": 0.011, + "date": 1653151449000 + }, + { + "iob": 0.703, + "activity": 0.0105, + "date": 1653151749000 + }, + { + "iob": 0.702, + "activity": 0.0101, + "date": 1653152049000 + }, + { + "iob": 0.902, + "activity": 0.0101, + "date": 1653152349000 + }, + { + "iob": 0.801, + "activity": 0.0101, + "date": 1653152649000 + }, + { + "iob": 0.701, + "activity": 0.0098, + "date": 1653152949000 + }, + { + "iob": 0.603, + "activity": 0.0094, + "date": 1653153249000 + }, + { + "iob": 0.508, + "activity": 0.0088, + "date": 1653153549000 + }, + { + "iob": 0.415, + "activity": 0.0081, + "date": 1653153849000 + }, + { + "iob": 0.327, + "activity": 0.0074, + "date": 1653154149000 + }, + { + "iob": 0.242, + "activity": 0.0066, + "date": 1653154449000 + }, + { + "iob": 0.161, + "activity": 0.0058, + "date": 1653154749000 + }, + { + "iob": 0.134, + "activity": 0.005, + "date": 1653155049000 + }, + { + "iob": 0.4, + "activity": 0.0048, + "date": 1653155349000 + }, + { + "iob": 0.475, + "activity": 0.0049, + "date": 1653155649000 + }, + { + "iob": 0.401, + "activity": 0.005, + "date": 1653155950000 + }, + { + "iob": 0.327, + "activity": 0.0048, + "date": 1653156250000 + }, + { + "iob": 0.203, + "activity": 0.0044, + "date": 1653156549000 + }, + { + "iob": 0.132, + "activity": 0.004, + "date": 1653156849000 + }, + { + "iob": 0.064, + "activity": 0.0034, + "date": 1653157149000 + }, + { + "iob": -0.002, + "activity": 0.0028, + "date": 1653157449000 + }, + { + "iob": -0.064, + "activity": 0.0022, + "date": 1653157750000 + }, + { + "iob": -0.073, + "activity": 0.0016, + "date": 1653158049000 + }, + { + "iob": -0.08, + "activity": 0.0011, + "date": 1653158349000 + }, + { + "iob": -0.085, + "activity": 0.0007, + "date": 1653158649000 + }, + { + "iob": -0.087, + "activity": 0.0004, + "date": 1653158949000 + }, + { + "iob": -0.088, + "activity": 0.0001, + "date": 1653159249000 + }, + { + "iob": -0.088, + "activity": -0.0001, + "date": 1653159549000 + }, + { + "iob": -0.137, + "activity": -0.0004, + "date": 1653159849000 + }, + { + "iob": -0.184, + "activity": -0.0007, + "date": 1653160150000 + }, + { + "iob": -0.18, + "activity": -0.001, + "date": 1653160449000 + }, + { + "iob": -0.175, + "activity": -0.0012, + "date": 1653160749000 + }, + { + "iob": -0.168, + "activity": -0.0014, + "date": 1653161049000 + }, + { + "iob": -0.211, + "activity": -0.0015, + "date": 1653161350000 + }, + { + "iob": -0.203, + "activity": -0.0017, + "date": 1653161649000 + }, + { + "iob": -0.243, + "activity": -0.002, + "date": 1653161950000 + }, + { + "iob": -0.282, + "activity": -0.0023, + "date": 1653162250000 + }, + { + "iob": -0.32, + "activity": -0.0026, + "date": 1653162549000 + }, + { + "iob": -0.357, + "activity": -0.0029, + "date": 1653162850000 + }, + { + "iob": -0.391, + "activity": -0.0032, + "date": 1653163150000 + }, + { + "iob": -0.375, + "activity": -0.0035, + "date": 1653163449000 + }, + { + "iob": -0.357, + "activity": -0.0036, + "date": 1653163749000 + }, + { + "iob": -0.149, + "activity": -0.0035, + "date": 1653164049000 + }, + { + "iob": -0.132, + "activity": -0.0031, + "date": 1653164350000 + }, + { + "iob": 9.296, + "activity": 0.015, + "date": 1653164649000 + }, + { + "iob": 9.123, + "activity": 0.0332, + "date": 1653164950000 + }, + { + "iob": 8.96, + "activity": 0.0474, + "date": 1653165249000 + }, + { + "iob": 8.644, + "activity": 0.0584, + "date": 1653165550000 + }, + { + "iob": 8.282, + "activity": 0.0664, + "date": 1653165850000 + }, + { + "iob": 7.835, + "activity": 0.0718, + "date": 1653166149000 + }, + { + "iob": 7.416, + "activity": 0.0753, + "date": 1653166450000 + }, + { + "iob": 6.984, + "activity": 0.0772, + "date": 1653166749000 + }, + { + "iob": 6.547, + "activity": 0.0776, + "date": 1653167049000 + }, + { + "iob": 6.061, + "activity": 0.0769, + "date": 1653167350000 + }, + { + "iob": 5.68, + "activity": 0.0754, + "date": 1653167650000 + }, + { + "iob": 5.458, + "activity": 0.0734, + "date": 1653167949000 + }, + { + "iob": 5.046, + "activity": 0.0712, + "date": 1653168250000 + }, + { + "iob": 4.925, + "activity": 0.069, + "date": 1653168549000 + }, + { + "iob": 4.487, + "activity": 0.0663, + "date": 1653168849000 + }, + { + "iob": 4.113, + "activity": 0.0633, + "date": 1653169150000 + }, + { + "iob": 3.706, + "activity": 0.0599, + "date": 1653169449000 + }, + { + "iob": 3.363, + "activity": 0.0566, + "date": 1653169749000 + }, + { + "iob": 3.039, + "activity": 0.053, + "date": 1653170049000 + }, + { + "iob": 2.733, + "activity": 0.0494, + "date": 1653170350000 + }, + { + "iob": 2.395, + "activity": 0.0457, + "date": 1653170650000 + }, + { + "iob": 2.126, + "activity": 0.0421, + "date": 1653170950000 + }, + { + "iob": 1.824, + "activity": 0.0385, + "date": 1653171250000 + }, + { + "iob": 1.64, + "activity": 0.0351, + "date": 1653171549000 + }, + { + "iob": 1.473, + "activity": 0.0319, + "date": 1653171849000 + }, + { + "iob": 1.273, + "activity": 0.0288, + "date": 1653172150000 + }, + { + "iob": 1.136, + "activity": 0.026, + "date": 1653172450000 + }, + { + "iob": 1.011, + "activity": 0.0235, + "date": 1653172749000 + }, + { + "iob": 0.852, + "activity": 0.021, + "date": 1653173050000 + }, + { + "iob": 0.752, + "activity": 0.0189, + "date": 1653173350000 + }, + { + "iob": 0.662, + "activity": 0.0169, + "date": 1653173650000 + }, + { + "iob": 0.534, + "activity": 0.0149, + "date": 1653173949000 + }, + { + "iob": 0.463, + "activity": 0.0132, + "date": 1653174249000 + }, + { + "iob": 0.352, + "activity": 0.0115, + "date": 1653174550000 + }, + { + "iob": 0.298, + "activity": 0.0101, + "date": 1653174850000 + }, + { + "iob": 0.25, + "activity": 0.0089, + "date": 1653175149000 + }, + { + "iob": 0.329, + "activity": 0.0079, + "date": 1653175450000 + }, + { + "iob": 0.34, + "activity": 0.0074, + "date": 1653175750000 + }, + { + "iob": 0.304, + "activity": 0.0068, + "date": 1653176050000 + }, + { + "iob": 0.272, + "activity": 0.0062, + "date": 1653176350000 + }, + { + "iob": 0.512, + "activity": 0.006, + "date": 1653176650000 + }, + { + "iob": 0.581, + "activity": 0.0061, + "date": 1653176950000 + }, + { + "iob": 1.238, + "activity": 0.0075, + "date": 1653177250000 + }, + { + "iob": 1.147, + "activity": 0.0088, + "date": 1653177550000 + }, + { + "iob": 1.151, + "activity": 0.0098, + "date": 1653177850000 + }, + { + "iob": 1.05, + "activity": 0.0104, + "date": 1653178149000 + }, + { + "iob": 0.947, + "activity": 0.0107, + "date": 1653178449000 + }, + { + "iob": 0.844, + "activity": 0.0106, + "date": 1653178750000 + }, + { + "iob": 0.741, + "activity": 0.0104, + "date": 1653179050000 + }, + { + "iob": 0.59, + "activity": 0.0099, + "date": 1653179350000 + }, + { + "iob": 0.542, + "activity": 0.0093, + "date": 1653179649000 + }, + { + "iob": 0.497, + "activity": 0.0087, + "date": 1653179949000 + }, + { + "iob": 0.456, + "activity": 0.0081, + "date": 1653180250000 + }, + { + "iob": 0.516, + "activity": 0.0077, + "date": 1653180549000 + }, + { + "iob": 0.429, + "activity": 0.0072, + "date": 1653180849000 + }, + { + "iob": 0.294, + "activity": 0.0066, + "date": 1653181150000 + }, + { + "iob": 0.163, + "activity": 0.0058, + "date": 1653181450000 + }, + { + "iob": 0.037, + "activity": 0.0049, + "date": 1653181750000 + }, + { + "iob": -0.085, + "activity": 0.0039, + "date": 1653182050000 + }, + { + "iob": -0.153, + "activity": 0.0029, + "date": 1653182349000 + }, + { + "iob": -0.265, + "activity": 0.0018, + "date": 1653182650000 + }, + { + "iob": -0.371, + "activity": 0.0007, + "date": 1653182949000 + }, + { + "iob": -0.471, + "activity": -0.0005, + "date": 1653183249000 + }, + { + "iob": -0.566, + "activity": -0.0016, + "date": 1653183550000 + }, + { + "iob": -0.606, + "activity": -0.0026, + "date": 1653183850000 + }, + { + "iob": -0.64, + "activity": -0.0036, + "date": 1653184150000 + }, + { + "iob": -0.67, + "activity": -0.0044, + "date": 1653184450000 + } +] + diff --git a/plugins/main/src/test/res/autotune/test2/profile.pump.json b/plugins/aps/src/test/res/autotune/test2/profile.pump.json similarity index 100% rename from plugins/main/src/test/res/autotune/test2/profile.pump.json rename to plugins/aps/src/test/res/autotune/test2/profile.pump.json diff --git a/plugins/main/src/test/res/autotune/test3/aaps-entries.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/aaps-entries.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test3/aaps-entries.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test3/aaps-entries.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test3/aaps-treatments.2022-05-21.json diff --git a/plugins/main/src/test/res/autotune/test3/aapsorefautotune_recommendations.log b/plugins/aps/src/test/res/autotune/test3/aapsorefautotune_recommendations.log similarity index 100% rename from plugins/main/src/test/res/autotune/test3/aapsorefautotune_recommendations.log rename to plugins/aps/src/test/res/autotune/test3/aapsorefautotune_recommendations.log diff --git a/plugins/main/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json similarity index 100% rename from plugins/main/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json rename to plugins/aps/src/test/res/autotune/test3/aapsorefprofile.2022-05-21.json diff --git a/plugins/aps/src/test/res/autotune/test3/aapsorefprofile.json b/plugins/aps/src/test/res/autotune/test3/aapsorefprofile.json new file mode 100644 index 0000000000..db52158b98 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test3/aapsorefprofile.json @@ -0,0 +1,173 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.039, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 1.091, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 1.118, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.321, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.091, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.965, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.848, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 1.112, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 1.173, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 1.214, + "start": "09:00:00" + }, + { + "i": 10, + "minutes": 600, + "rate": 1.219, + "start": "10:00:00" + }, + { + "i": 11, + "minutes": 660, + "rate": 1.07, + "start": "11:00:00" + }, + { + "i": 12, + "minutes": 720, + "rate": 1.147, + "start": "12:00:00" + }, + { + "i": 13, + "minutes": 780, + "rate": 1.136, + "start": "13:00:00" + }, + { + "i": 14, + "minutes": 840, + "rate": 1.126, + "start": "14:00:00" + }, + { + "i": 15, + "minutes": 900, + "rate": 1.102, + "start": "15:00:00" + }, + { + "i": 16, + "minutes": 960, + "rate": 0.928, + "start": "16:00:00" + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.71, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.654, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.878, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 1.101, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 1.119, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 1.122, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 1.047, + "start": "23:00:00" + } + ], + "carb_ratio": 5.75, + "csf": 14.991, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 93.589, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 93.589, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test3/autotune.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/autotune.2022-05-21.json new file mode 100644 index 0000000000..37e411b698 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test3/autotune.2022-05-21.json @@ -0,0 +1,3976 @@ +{ + "CRData": [], + "CSFGlucoseData": [], + "ISFGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108249000, + "dateString": "2022-05-21T04:44:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886e2919e2e60004989bba", + "glucose": 123, + "avgDelta": "-7.50", + "BGI": -7.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108548000, + "dateString": "2022-05-21T04:49:08.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "62886f5719e2e60004989bbc", + "glucose": 128, + "avgDelta": "-4.00", + "BGI": -7.2, + "deviation": "3.20" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110649000, + "dateString": "2022-05-21T05:24:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628877a5363e6c0004f710e0", + "glucose": 98, + "avgDelta": "-6.75", + "BGI": -4.44, + "deviation": "-2.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110949000, + "dateString": "2022-05-21T05:29:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628878bbe964810004aa5655", + "glucose": 97, + "avgDelta": "-5.00", + "BGI": -3.92, + "deviation": "-1.08" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111249000, + "dateString": "2022-05-21T05:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628879e9e964810004aa5657", + "glucose": 97, + "avgDelta": "-3.00", + "BGI": -3.45, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111549000, + "dateString": "2022-05-21T05:39:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "62887b17e964810004aa565a", + "glucose": 100, + "avgDelta": "-0.50", + "BGI": -2.84, + "deviation": "2.34" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653111849000, + "dateString": "2022-05-21T05:44:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887c44e964810004aa565d", + "glucose": 102, + "avgDelta": "1.00", + "BGI": -2.37, + "deviation": "3.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112148000, + "dateString": "2022-05-21T05:49:08.000Z", + "isValid": true, + "sgv": 103, + "direction": "Flat", + "type": "sgv", + "_id": "62887d72e964810004aa5661", + "glucose": 103, + "avgDelta": "1.50", + "BGI": -2.07, + "deviation": "3.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112449000, + "dateString": "2022-05-21T05:54:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62887ea1e964810004aa5664", + "glucose": 102, + "avgDelta": "1.25", + "BGI": -2.28, + "deviation": "3.53" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653112749000, + "dateString": "2022-05-21T05:59:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "62887fcee964810004aa5666", + "glucose": 101, + "avgDelta": "0.25", + "BGI": -2.46, + "deviation": "2.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113049000, + "dateString": "2022-05-21T06:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628880ee8ff3530004dc6060", + "glucose": 98, + "avgDelta": "-1.00", + "BGI": -2.5, + "deviation": "1.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113349000, + "dateString": "2022-05-21T06:09:09.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288821b8ff3530004dc6062", + "glucose": 94, + "avgDelta": "-2.25", + "BGI": -2.46, + "deviation": "0.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113649000, + "dateString": "2022-05-21T06:14:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288834a8ff3530004dc6065", + "glucose": 91, + "avgDelta": "-2.75", + "BGI": -2.28, + "deviation": "-0.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653113949000, + "dateString": "2022-05-21T06:19:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "628884778ff3530004dc6067", + "glucose": 89, + "avgDelta": "-3.00", + "BGI": -2.07, + "deviation": "-0.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114249000, + "dateString": "2022-05-21T06:24:09.000Z", + "isValid": true, + "sgv": 85, + "direction": "Flat", + "type": "sgv", + "_id": "628885a48ff3530004dc6069", + "glucose": 85, + "avgDelta": "-3.25", + "BGI": -1.77, + "deviation": "-1.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153249000, + "dateString": "2022-05-21T17:14:09.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891dfd1090500004ca4722", + "glucose": 124, + "avgDelta": "-9.00", + "BGI": -4.05, + "deviation": "-4.95" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153549000, + "dateString": "2022-05-21T17:19:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "SingleDown", + "type": "sgv", + "_id": "62891f2b1090500004ca4724", + "glucose": 110, + "avgDelta": "-12.00", + "BGI": -3.79, + "deviation": "-8.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653153849000, + "dateString": "2022-05-21T17:24:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "SingleDown", + "type": "sgv", + "_id": "628920591090500004ca4727", + "glucose": 96, + "avgDelta": "-13.25", + "BGI": -3.49, + "deviation": "-9.76" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154149000, + "dateString": "2022-05-21T17:29:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "SingleDown", + "type": "sgv", + "_id": "628921861090500004ca472b", + "glucose": 93, + "avgDelta": "-11.25", + "BGI": -3.19, + "deviation": "-8.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154449000, + "dateString": "2022-05-21T17:34:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628922b18809e60004c644d6", + "glucose": 97, + "avgDelta": "-6.75", + "BGI": -2.84, + "deviation": "-3.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653154749000, + "dateString": "2022-05-21T17:39:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "NONE", + "type": "sgv", + "_id": "628923df8809e60004c644d9", + "glucose": 108, + "avgDelta": "-0.50", + "BGI": -2.5, + "deviation": "2.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156849000, + "dateString": "2022-05-21T18:14:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62892c06840d8d0004a20bf2", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -1.72, + "deviation": "-1.78" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180849000, + "dateString": "2022-05-22T00:54:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "SingleDown", + "type": "sgv", + "_id": "628989d2da46aa0004d1e0f8", + "glucose": 105, + "avgDelta": "-9.50", + "BGI": -3.1, + "deviation": "-6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181150000, + "dateString": "2022-05-22T00:59:10.000Z", + "isValid": true, + "sgv": 97, + "direction": "SingleDown", + "type": "sgv", + "_id": "62898b01da46aa0004d1e0fa", + "glucose": 97, + "avgDelta": "-11.50", + "BGI": -2.84, + "deviation": "-8.66" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181450000, + "dateString": "2022-05-22T01:04:10.000Z", + "isValid": true, + "sgv": 92, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898c2fda46aa0004d1e0fc", + "glucose": 92, + "avgDelta": "-10.75", + "BGI": -2.5, + "deviation": "-8.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653181750000, + "dateString": "2022-05-22T01:09:10.000Z", + "isValid": true, + "sgv": 87, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898d4750e51d0004429e5f", + "glucose": 87, + "avgDelta": "-8.50", + "BGI": -2.11, + "deviation": "-6.39" + } + ], + "basalGlucoseData": [ + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114549000, + "dateString": "2022-05-21T06:29:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628886d28ff3530004dc606b", + "glucose": 80, + "avgDelta": "-3.50", + "BGI": -1.47, + "deviation": "-2.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653114849000, + "dateString": "2022-05-21T06:34:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "628888018ff3530004dc6070", + "glucose": 78, + "avgDelta": "-3.25", + "BGI": -1.12, + "deviation": "-2.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115149000, + "dateString": "2022-05-21T06:39:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288892a149196000412bf49", + "glucose": 76, + "avgDelta": "-3.25", + "BGI": -0.78, + "deviation": "-2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115449000, + "dateString": "2022-05-21T06:44:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888a57149196000412bf4b", + "glucose": 74, + "avgDelta": "-2.75", + "BGI": -0.34, + "deviation": "-2.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653115749000, + "dateString": "2022-05-21T06:49:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888b85149196000412bf4d", + "glucose": 70, + "avgDelta": "-2.50", + "BGI": 0, + "deviation": "-2.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116049000, + "dateString": "2022-05-21T06:54:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "62888ccc149196000412bf4f", + "glucose": 69, + "avgDelta": "-2.25", + "BGI": 0.43, + "deviation": "-2.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116349000, + "dateString": "2022-05-21T06:59:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "62888de2149196000412bf51", + "glucose": 70, + "avgDelta": "-1.50", + "BGI": 0.78, + "deviation": "-2.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116649000, + "dateString": "2022-05-21T07:04:09.000Z", + "isValid": true, + "sgv": 74, + "direction": "Flat", + "type": "sgv", + "_id": "62888f0f149196000412bf54", + "glucose": 74, + "avgDelta": "0.00", + "BGI": 1.12, + "deviation": "-1.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653116949000, + "dateString": "2022-05-21T07:09:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "62889024149196000412bf57", + "glucose": 76, + "avgDelta": "1.50", + "BGI": 1.47, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117249000, + "dateString": "2022-05-21T07:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "628891627ff1e700040f17c6", + "glucose": 79, + "avgDelta": "2.50", + "BGI": 1.77, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117549000, + "dateString": "2022-05-21T07:19:09.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628892907ff1e700040f17c7", + "glucose": 80, + "avgDelta": "2.50", + "BGI": 2.11, + "deviation": "0.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653117848000, + "dateString": "2022-05-21T07:24:08.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "628893bd7ff1e700040f17c9", + "glucose": 82, + "avgDelta": "2.00", + "BGI": 2.37, + "deviation": "-0.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118149000, + "dateString": "2022-05-21T07:29:09.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "_id": "628894d37ff1e700040f17cd", + "glucose": 86, + "avgDelta": "2.50", + "BGI": 2.63, + "deviation": "-0.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118449000, + "dateString": "2022-05-21T07:34:09.000Z", + "isValid": true, + "sgv": 92, + "direction": "Flat", + "type": "sgv", + "_id": "6288961d7ff1e700040f17ce", + "glucose": 92, + "avgDelta": "3.25", + "BGI": 2.84, + "deviation": "0.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653118748000, + "dateString": "2022-05-21T07:39:08.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "628897357ff1e700040f17d3", + "glucose": 97, + "avgDelta": "4.25", + "BGI": 3.06, + "deviation": "1.19" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119049000, + "dateString": "2022-05-21T07:44:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628898627ff1e700040f17d5", + "glucose": 105, + "avgDelta": "5.75", + "BGI": 2.76, + "deviation": "2.99" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119349000, + "dateString": "2022-05-21T07:49:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "628899957ff1e700040f17d7", + "glucose": 114, + "avgDelta": "7.00", + "BGI": 2.37, + "deviation": "4.63" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131349000, + "dateString": "2022-05-21T11:09:09.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "_id": "6288c86f8e9ed800049b39e5", + "glucose": 82, + "avgDelta": "-2.25", + "BGI": -1.25, + "deviation": "-1.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131649000, + "dateString": "2022-05-21T11:14:09.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6288c99e8e9ed800049b39e8", + "glucose": 89, + "avgDelta": "0.25", + "BGI": -0.65, + "deviation": "0.90" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131948000, + "dateString": "2022-05-21T11:19:08.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6288cacb8e9ed800049b39ec", + "glucose": 98, + "avgDelta": "3.50", + "BGI": -0.3, + "deviation": "3.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157149000, + "dateString": "2022-05-21T18:19:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892d34840d8d0004a20bf5", + "glucose": 108, + "avgDelta": "-3.75", + "BGI": -1.47, + "deviation": "-2.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157449000, + "dateString": "2022-05-21T18:24:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "62892e62840d8d0004a20bf8", + "glucose": 108, + "avgDelta": "-2.75", + "BGI": -1.21, + "deviation": "-1.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653157750000, + "dateString": "2022-05-21T18:29:10.000Z", + "isValid": true, + "sgv": 106, + "direction": "Flat", + "type": "sgv", + "_id": "62892f8f840d8d0004a20bfa", + "glucose": 106, + "avgDelta": "-2.00", + "BGI": -0.95, + "deviation": "-1.05" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158049000, + "dateString": "2022-05-21T18:34:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "Flat", + "type": "sgv", + "_id": "628930bc840d8d0004a20bfd", + "glucose": 104, + "avgDelta": "-1.50", + "BGI": -0.69, + "deviation": "-0.81" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158349000, + "dateString": "2022-05-21T18:39:09.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "628931e9840d8d0004a20bff", + "glucose": 102, + "avgDelta": "-1.50", + "BGI": -0.47, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158649000, + "dateString": "2022-05-21T18:44:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6289331c22fbc8000495b813", + "glucose": 101, + "avgDelta": "-1.75", + "BGI": -0.3, + "deviation": "-1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653158949000, + "dateString": "2022-05-21T18:49:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289344a22fbc8000495b815", + "glucose": 100, + "avgDelta": "-1.50", + "BGI": -0.17, + "deviation": "-1.33" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159249000, + "dateString": "2022-05-21T18:54:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6289357622fbc8000495b818", + "glucose": 99, + "avgDelta": "-1.25", + "BGI": -0.04, + "deviation": "-1.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159549000, + "dateString": "2022-05-21T18:59:09.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "628936a422fbc8000495b81a", + "glucose": 99, + "avgDelta": "-0.75", + "BGI": 0.04, + "deviation": "-0.79" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653159849000, + "dateString": "2022-05-21T19:04:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628937b822fbc8000495b81d", + "glucose": 98, + "avgDelta": "-0.75", + "BGI": 0.17, + "deviation": "-0.92" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160150000, + "dateString": "2022-05-21T19:09:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628938fe22fbc8000495b81f", + "glucose": 98, + "avgDelta": "-0.50", + "BGI": 0.3, + "deviation": "-0.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160449000, + "dateString": "2022-05-21T19:14:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "62893a1222fbc8000495b822", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": 0.43, + "deviation": "-0.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653160749000, + "dateString": "2022-05-21T19:19:09.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "_id": "62893b4f598f780004bb3b22", + "glucose": 97, + "avgDelta": "-0.50", + "BGI": 0.52, + "deviation": "-1.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161049000, + "dateString": "2022-05-21T19:24:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "62893c7d598f780004bb3b24", + "glucose": 95, + "avgDelta": "-0.75", + "BGI": 0.6, + "deviation": "-1.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161350000, + "dateString": "2022-05-21T19:29:10.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "62893daa598f780004bb3b27", + "glucose": 94, + "avgDelta": "-1.00", + "BGI": 0.65, + "deviation": "-1.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161649000, + "dateString": "2022-05-21T19:34:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "62893ed7598f780004bb3b29", + "glucose": 93, + "avgDelta": "-1.25", + "BGI": 0.73, + "deviation": "-1.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653161950000, + "dateString": "2022-05-21T19:39:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "62893feb598f780004bb3b2b", + "glucose": 91, + "avgDelta": "-1.50", + "BGI": 0.86, + "deviation": "-2.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162250000, + "dateString": "2022-05-21T19:44:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "62894118598f780004bb3b2d", + "glucose": 89, + "avgDelta": "-1.50", + "BGI": 0.99, + "deviation": "-2.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162549000, + "dateString": "2022-05-21T19:49:09.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6289425f598f780004bb3b30", + "glucose": 88, + "avgDelta": "-1.50", + "BGI": 1.12, + "deviation": "-2.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653162850000, + "dateString": "2022-05-21T19:54:10.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "_id": "6289437f4493460004e63a25", + "glucose": 89, + "avgDelta": "-1.00", + "BGI": 1.25, + "deviation": "-2.25" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163150000, + "dateString": "2022-05-21T19:59:10.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "628944ae4493460004e63a27", + "glucose": 91, + "avgDelta": "0.00", + "BGI": 1.38, + "deviation": "-1.38" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163449000, + "dateString": "2022-05-21T20:04:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "Flat", + "type": "sgv", + "_id": "628945dc4493460004e63a2a", + "glucose": 95, + "avgDelta": "1.50", + "BGI": 1.51, + "deviation": "-0.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653163749000, + "dateString": "2022-05-21T20:09:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "6289470c4493460004e63a2d", + "glucose": 100, + "avgDelta": "3.00", + "BGI": 1.55, + "deviation": "1.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164049000, + "dateString": "2022-05-21T20:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "Flat", + "type": "sgv", + "_id": "628948214493460004e63a31", + "glucose": 109, + "avgDelta": "5.00", + "BGI": 1.51, + "deviation": "3.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164350000, + "dateString": "2022-05-21T20:19:10.000Z", + "isValid": true, + "sgv": 120, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6289496a4493460004e63a34", + "glucose": 120, + "avgDelta": "7.25", + "BGI": 1.34, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182050000, + "dateString": "2022-05-22T01:14:10.000Z", + "isValid": true, + "sgv": 81, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898e7650e51d0004429e63", + "glucose": 81, + "avgDelta": "-6.00", + "BGI": -1.68, + "deviation": "-4.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182349000, + "dateString": "2022-05-22T01:19:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62898fa550e51d0004429e65", + "glucose": 77, + "avgDelta": "-5.00", + "BGI": -1.25, + "deviation": "-3.75" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182650000, + "dateString": "2022-05-22T01:24:10.000Z", + "isValid": true, + "sgv": 74, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628990d350e51d0004429e67", + "glucose": 74, + "avgDelta": "-4.50", + "BGI": -0.78, + "deviation": "-3.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653182949000, + "dateString": "2022-05-22T01:29:09.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6289920150e51d0004429e69", + "glucose": 72, + "avgDelta": "-3.75", + "BGI": -0.3, + "deviation": "-3.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183249000, + "dateString": "2022-05-22T01:34:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6289933050e51d0004429e6b", + "glucose": 73, + "avgDelta": "-2.00", + "BGI": 0.22, + "deviation": "-2.22" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183550000, + "dateString": "2022-05-22T01:39:10.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6289945f50e51d0004429e6d", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": 0.69, + "deviation": "-0.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653183850000, + "dateString": "2022-05-22T01:44:10.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6289957b61a829000474037f", + "glucose": 79, + "avgDelta": "1.25", + "BGI": 1.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184150000, + "dateString": "2022-05-22T01:49:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628996a961a8290004740382", + "glucose": 80, + "avgDelta": "2.00", + "BGI": 1.55, + "deviation": "0.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653184450000, + "dateString": "2022-05-22T01:54:10.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "_id": "628997d861a8290004740385", + "glucose": 80, + "avgDelta": "1.75", + "BGI": 1.9, + "deviation": "-0.15" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653099848000, + "dateString": "2022-05-21T02:24:08.000Z", + "isValid": true, + "sgv": 308, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62884d6793668c0004a30514", + "glucose": 308, + "avgDelta": "9.25", + "BGI": -16.85, + "deviation": "26.10", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100148000, + "dateString": "2022-05-21T02:29:08.000Z", + "isValid": true, + "sgv": 307, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62884e9493668c0004a30517", + "glucose": 307, + "avgDelta": "9.00", + "BGI": -18.88, + "deviation": "27.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100449000, + "dateString": "2022-05-21T02:34:09.000Z", + "isValid": true, + "sgv": 297, + "direction": "Flat", + "type": "sgv", + "_id": "62884fb05151b5000462a1dc", + "glucose": 297, + "avgDelta": "3.75", + "BGI": -20.26, + "deviation": "24.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653100748000, + "dateString": "2022-05-21T02:39:08.000Z", + "isValid": true, + "sgv": 283, + "direction": "Flat", + "type": "sgv", + "_id": "628850de5151b5000462a1df", + "glucose": 283, + "avgDelta": "-3.25", + "BGI": -21.08, + "deviation": "17.83" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101048000, + "dateString": "2022-05-21T02:44:08.000Z", + "isValid": true, + "sgv": 267, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288520b5151b5000462a1e2", + "glucose": 267, + "avgDelta": "-10.25", + "BGI": -21.46, + "deviation": "11.21" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101348000, + "dateString": "2022-05-21T02:49:08.000Z", + "isValid": true, + "sgv": 253, + "direction": "SingleDown", + "type": "sgv", + "_id": "628853395151b5000462a1e4", + "glucose": 253, + "avgDelta": "-13.50", + "BGI": -21.46, + "deviation": "7.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101648000, + "dateString": "2022-05-21T02:54:08.000Z", + "isValid": true, + "sgv": 241, + "direction": "SingleDown", + "type": "sgv", + "_id": "6288547f5151b5000462a1e6", + "glucose": 241, + "avgDelta": "-14.00", + "BGI": -21.16, + "deviation": "7.16" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653101948000, + "dateString": "2022-05-21T02:59:08.000Z", + "isValid": true, + "sgv": 228, + "direction": "SingleDown", + "type": "sgv", + "_id": "628855935151b5000462a1e8", + "glucose": 228, + "avgDelta": "-13.75", + "BGI": -20.52, + "deviation": "6.77" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102249000, + "dateString": "2022-05-21T03:04:09.000Z", + "isValid": true, + "sgv": 216, + "direction": "SingleDown", + "type": "sgv", + "_id": "628856da5151b5000462a1ea", + "glucose": 216, + "avgDelta": "-12.75", + "BGI": -19.7, + "deviation": "6.95" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102548000, + "dateString": "2022-05-21T03:09:08.000Z", + "isValid": true, + "sgv": 204, + "direction": "SingleDown", + "type": "sgv", + "_id": "628857f7293f3e00042c31d3", + "glucose": 204, + "avgDelta": "-12.25", + "BGI": -18.79, + "deviation": "6.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653102848000, + "dateString": "2022-05-21T03:14:08.000Z", + "isValid": true, + "sgv": 193, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885924293f3e00042c31d5", + "glucose": 193, + "avgDelta": "-12.00", + "BGI": -17.71, + "deviation": "5.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103149000, + "dateString": "2022-05-21T03:19:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885a52293f3e00042c31d7", + "glucose": 182, + "avgDelta": "-11.50", + "BGI": -16.64, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103448000, + "dateString": "2022-05-21T03:24:08.000Z", + "isValid": true, + "sgv": 174, + "direction": "SingleDown", + "type": "sgv", + "_id": "62885b81293f3e00042c31d9", + "glucose": 174, + "avgDelta": "-10.50", + "BGI": -15.43, + "deviation": "4.93" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653103748000, + "dateString": "2022-05-21T03:29:08.000Z", + "isValid": true, + "sgv": 171, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885c95293f3e00042c31db", + "glucose": 171, + "avgDelta": "-8.25", + "BGI": -14.31, + "deviation": "6.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104049000, + "dateString": "2022-05-21T03:34:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62885dc3293f3e00042c31de", + "glucose": 170, + "avgDelta": "-5.75", + "BGI": -13.1, + "deviation": "7.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104349000, + "dateString": "2022-05-21T03:39:09.000Z", + "isValid": true, + "sgv": 167, + "direction": "Flat", + "type": "sgv", + "_id": "62885ef1293f3e00042c31e2", + "glucose": 167, + "avgDelta": "-3.75", + "BGI": -12.07, + "deviation": "8.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104648000, + "dateString": "2022-05-21T03:44:08.000Z", + "isValid": true, + "sgv": 162, + "direction": "Flat", + "type": "sgv", + "_id": "6288601b42c1220004f95729", + "glucose": 162, + "avgDelta": "-3.00", + "BGI": -11.64, + "deviation": "8.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653104949000, + "dateString": "2022-05-21T03:49:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288614942c1220004f9572c", + "glucose": 155, + "avgDelta": "-4.00", + "BGI": -11.12, + "deviation": "7.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105248000, + "dateString": "2022-05-21T03:54:08.000Z", + "isValid": true, + "sgv": 149, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288629042c1220004f9572e", + "glucose": 149, + "avgDelta": "-5.25", + "BGI": -10.56, + "deviation": "5.31" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105549000, + "dateString": "2022-05-21T03:59:09.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628863a542c1220004f95730", + "glucose": 146, + "avgDelta": "-5.25", + "BGI": -9.87, + "deviation": "4.62" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653105848000, + "dateString": "2022-05-21T04:04:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "628864d342c1220004f95733", + "glucose": 146, + "avgDelta": "-4.00", + "BGI": -9.14, + "deviation": "5.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106149000, + "dateString": "2022-05-21T04:09:09.000Z", + "isValid": true, + "sgv": 151, + "direction": "Flat", + "type": "sgv", + "_id": "6288660142c1220004f95736", + "glucose": 151, + "avgDelta": "-1.00", + "BGI": -8.36, + "deviation": "7.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106449000, + "dateString": "2022-05-21T04:14:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "Flat", + "type": "sgv", + "_id": "6288672f42c1220004f9573a", + "glucose": 155, + "avgDelta": "1.50", + "BGI": -7.8, + "deviation": "9.30" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653106749000, + "dateString": "2022-05-21T04:19:09.000Z", + "isValid": true, + "sgv": 157, + "direction": "Flat", + "type": "sgv", + "_id": "6288685d19e2e60004989bac", + "glucose": 157, + "avgDelta": "2.75", + "BGI": -7.93, + "deviation": "10.68" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107048000, + "dateString": "2022-05-21T04:24:08.000Z", + "isValid": true, + "sgv": 153, + "direction": "Flat", + "type": "sgv", + "_id": "6288698b19e2e60004989bb0", + "glucose": 153, + "avgDelta": "1.75", + "BGI": -8.06, + "deviation": "9.81" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107348000, + "dateString": "2022-05-21T04:29:08.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "62886ab919e2e60004989bb3", + "glucose": 144, + "avgDelta": "-1.75", + "BGI": -8.19, + "deviation": "6.44" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107648000, + "dateString": "2022-05-21T04:34:08.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886be719e2e60004989bb5", + "glucose": 132, + "avgDelta": "-5.75", + "BGI": -8.1, + "deviation": "2.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653107948000, + "dateString": "2022-05-21T04:39:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62886cfc19e2e60004989bb8", + "glucose": 124, + "avgDelta": "-8.25", + "BGI": -7.89, + "deviation": "-0.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653108848000, + "dateString": "2022-05-21T04:54:08.000Z", + "isValid": true, + "sgv": 130, + "direction": "Flat", + "type": "sgv", + "_id": "62887093363e6c0004f710cf", + "glucose": 130, + "avgDelta": "-0.50", + "BGI": -6.72, + "deviation": "6.22", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109148000, + "dateString": "2022-05-21T04:59:08.000Z", + "isValid": true, + "sgv": 129, + "direction": "Flat", + "type": "sgv", + "_id": "628871c1363e6c0004f710d3", + "glucose": 129, + "avgDelta": "1.25", + "BGI": -6.34, + "deviation": "7.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109448000, + "dateString": "2022-05-21T05:04:08.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "628872ef363e6c0004f710d6", + "glucose": 125, + "avgDelta": "0.50", + "BGI": -6.08, + "deviation": "6.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653109748000, + "dateString": "2022-05-21T05:09:08.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288741c363e6c0004f710d9", + "glucose": 117, + "avgDelta": "-2.75", + "BGI": -5.73, + "deviation": "2.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110049000, + "dateString": "2022-05-21T05:14:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887549363e6c0004f710dc", + "glucose": 109, + "avgDelta": "-5.25", + "BGI": -5.34, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653110348000, + "dateString": "2022-05-21T05:19:08.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62887677363e6c0004f710de", + "glucose": 102, + "avgDelta": "-6.75", + "BGI": -4.91, + "deviation": "-1.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119649000, + "dateString": "2022-05-21T07:54:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889ac27ff1e700040f17dc", + "glucose": 123, + "avgDelta": "7.75", + "BGI": -0.99, + "deviation": "8.74", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653119949000, + "dateString": "2022-05-21T07:59:09.000Z", + "isValid": true, + "sgv": 132, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889be4a4cc860004a251c7", + "glucose": 132, + "avgDelta": "8.75", + "BGI": -14.27, + "deviation": "23.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120249000, + "dateString": "2022-05-21T08:04:09.000Z", + "isValid": true, + "sgv": 141, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889d13a4cc860004a251c9", + "glucose": 141, + "avgDelta": "9.00", + "BGI": -24.7, + "deviation": "33.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120548000, + "dateString": "2022-05-21T08:09:08.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889e41a4cc860004a251cb", + "glucose": 146, + "avgDelta": "8.00", + "BGI": -32.76, + "deviation": "40.76" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653120849000, + "dateString": "2022-05-21T08:14:09.000Z", + "isValid": true, + "sgv": 148, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62889f6fa4cc860004a251cc", + "glucose": 148, + "avgDelta": "6.25", + "BGI": -38.79, + "deviation": "45.04" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121149000, + "dateString": "2022-05-21T08:19:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6288a09fa4cc860004a251ce", + "glucose": 147, + "avgDelta": "3.75", + "BGI": -43.14, + "deviation": "46.89" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121449000, + "dateString": "2022-05-21T08:24:09.000Z", + "isValid": true, + "sgv": 145, + "direction": "Flat", + "type": "sgv", + "_id": "6288a1cda4cc860004a251d1", + "glucose": 145, + "avgDelta": "1.00", + "BGI": -46.03, + "deviation": "47.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653121749000, + "dateString": "2022-05-21T08:29:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "Flat", + "type": "sgv", + "_id": "6288a2fca4cc860004a251d2", + "glucose": 138, + "avgDelta": "-2.00", + "BGI": -47.84, + "deviation": "45.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122049000, + "dateString": "2022-05-21T08:34:09.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "6288a42099fc930004d6bde8", + "glucose": 128, + "avgDelta": "-5.00", + "BGI": -48.66, + "deviation": "43.66" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122349000, + "dateString": "2022-05-21T08:39:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a55199fc930004d6bdeb", + "glucose": 118, + "avgDelta": "-7.25", + "BGI": -48.66, + "deviation": "41.41" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122649000, + "dateString": "2022-05-21T08:44:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a73099fc930004d6bded", + "glucose": 111, + "avgDelta": "-8.50", + "BGI": -48.01, + "deviation": "39.51" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653122949000, + "dateString": "2022-05-21T08:49:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288a7ad99fc930004d6bdef", + "glucose": 108, + "avgDelta": "-7.50", + "BGI": -46.89, + "deviation": "39.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123248000, + "dateString": "2022-05-21T08:54:08.000Z", + "isValid": true, + "sgv": 107, + "direction": "Flat", + "type": "sgv", + "_id": "6288a8db99fc930004d6bdf1", + "glucose": 107, + "avgDelta": "-5.25", + "BGI": -45.38, + "deviation": "40.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123549000, + "dateString": "2022-05-21T08:59:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "Flat", + "type": "sgv", + "_id": "6288a9f099fc930004d6bdf4", + "glucose": 109, + "avgDelta": "-2.25", + "BGI": -43.62, + "deviation": "41.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653123849000, + "dateString": "2022-05-21T09:04:09.000Z", + "isValid": true, + "sgv": 113, + "direction": "Flat", + "type": "sgv", + "_id": "6288ab1d99fc930004d6bdf6", + "glucose": 113, + "avgDelta": "0.50", + "BGI": -41.85, + "deviation": "42.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124149000, + "dateString": "2022-05-21T09:09:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288ac4b99fc930004d6bdf8", + "glucose": 119, + "avgDelta": "2.75", + "BGI": -39.95, + "deviation": "42.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124448000, + "dateString": "2022-05-21T09:14:08.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "6288ad7999fc930004d6bdfa", + "glucose": 124, + "avgDelta": "4.25", + "BGI": -37.84, + "deviation": "42.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653124749000, + "dateString": "2022-05-21T09:19:09.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "_id": "6288aea799fc930004d6bdfb", + "glucose": 125, + "avgDelta": "4.00", + "BGI": -35.69, + "deviation": "39.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125048000, + "dateString": "2022-05-21T09:24:08.000Z", + "isValid": true, + "sgv": 122, + "direction": "Flat", + "type": "sgv", + "_id": "6288afd5c9c02c00041f7ef8", + "glucose": 122, + "avgDelta": "2.25", + "BGI": -33.4, + "deviation": "35.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125349000, + "dateString": "2022-05-21T09:29:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "6288b103c9c02c00041f7efc", + "glucose": 120, + "avgDelta": "0.25", + "BGI": -31.2, + "deviation": "31.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125649000, + "dateString": "2022-05-21T09:34:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b231c9c02c00041f7efe", + "glucose": 118, + "avgDelta": "-1.50", + "BGI": -28.96, + "deviation": "27.46" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653125948000, + "dateString": "2022-05-21T09:39:08.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b35fc9c02c00041f7f00", + "glucose": 118, + "avgDelta": "-1.75", + "BGI": -26.77, + "deviation": "25.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126249000, + "dateString": "2022-05-21T09:44:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b48dc9c02c00041f7f02", + "glucose": 118, + "avgDelta": "-1.00", + "BGI": -24.61, + "deviation": "23.61" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126549000, + "dateString": "2022-05-21T09:49:09.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6288b5bbc9c02c00041f7f04", + "glucose": 117, + "avgDelta": "-0.75", + "BGI": -22.5, + "deviation": "21.75" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653126849000, + "dateString": "2022-05-21T09:54:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "6288b6e9c9c02c00041f7f06", + "glucose": 118, + "avgDelta": "0.00", + "BGI": -20.52, + "deviation": "20.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127149000, + "dateString": "2022-05-21T09:59:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288b813abbef90004616ceb", + "glucose": 119, + "avgDelta": "0.25", + "BGI": -18.58, + "deviation": "18.83" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127449000, + "dateString": "2022-05-21T10:04:09.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "6288b941abbef90004616cf0", + "glucose": 119, + "avgDelta": "0.25", + "BGI": -16.72, + "deviation": "16.97" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653127748000, + "dateString": "2022-05-21T10:09:08.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "6288ba56abbef90004616cf2", + "glucose": 115, + "avgDelta": "-0.50", + "BGI": -14.96, + "deviation": "14.46" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128049000, + "dateString": "2022-05-21T10:14:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "6288bb84abbef90004616cf4", + "glucose": 110, + "avgDelta": "-2.00", + "BGI": -13.32, + "deviation": "11.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128349000, + "dateString": "2022-05-21T10:19:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "Flat", + "type": "sgv", + "_id": "6288bcb2abbef90004616cf6", + "glucose": 104, + "avgDelta": "-3.75", + "BGI": -11.72, + "deviation": "7.97" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128649000, + "dateString": "2022-05-21T10:24:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288bde0abbef90004616cf8", + "glucose": 101, + "avgDelta": "-4.50", + "BGI": -10.3, + "deviation": "5.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653128948000, + "dateString": "2022-05-21T10:29:08.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "6288bf061991280004dce457", + "glucose": 99, + "avgDelta": "-4.00", + "BGI": -8.88, + "deviation": "4.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129249000, + "dateString": "2022-05-21T10:34:09.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "_id": "6288c0341991280004dce459", + "glucose": 96, + "avgDelta": "-3.50", + "BGI": -7.59, + "deviation": "4.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129548000, + "dateString": "2022-05-21T10:39:08.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288c1631991280004dce45b", + "glucose": 94, + "avgDelta": "-2.50", + "BGI": -6.38, + "deviation": "3.88" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653129848000, + "dateString": "2022-05-21T10:44:08.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288c2911991280004dce45e", + "glucose": 93, + "avgDelta": "-2.00", + "BGI": -5.26, + "deviation": "3.26" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130149000, + "dateString": "2022-05-21T10:49:09.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "_id": "6288c3be1991280004dce461", + "glucose": 91, + "avgDelta": "-2.00", + "BGI": -4.27, + "deviation": "2.27" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130448000, + "dateString": "2022-05-21T10:54:08.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "_id": "6288c4ec1991280004dce464", + "glucose": 88, + "avgDelta": "-2.00", + "BGI": -3.36, + "deviation": "1.36" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653130748000, + "dateString": "2022-05-21T10:59:08.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "_id": "6288c61a1991280004dce468", + "glucose": 84, + "avgDelta": "-2.50", + "BGI": -2.59, + "deviation": "0.09" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653131049000, + "dateString": "2022-05-21T11:04:09.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "_id": "6288c7418e9ed800049b39e3", + "glucose": 81, + "avgDelta": "-3.00", + "BGI": -1.9, + "deviation": "-1.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132249000, + "dateString": "2022-05-21T11:24:09.000Z", + "isValid": true, + "sgv": 109, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288cbf98e9ed800049b39f2", + "glucose": 109, + "avgDelta": "7.00", + "BGI": -1.94, + "deviation": "8.94", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132549000, + "dateString": "2022-05-21T11:29:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288cd278e9ed800049b39f5", + "glucose": 118, + "avgDelta": "9.00", + "BGI": -9.57, + "deviation": "18.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653132849000, + "dateString": "2022-05-21T11:34:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ce548e9ed800049b39f7", + "glucose": 121, + "avgDelta": "8.00", + "BGI": -15.47, + "deviation": "23.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133149000, + "dateString": "2022-05-21T11:39:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6288cf770f1be700041e59c8", + "glucose": 114, + "avgDelta": "4.00", + "BGI": -20.04, + "deviation": "24.04" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133449000, + "dateString": "2022-05-21T11:44:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "_id": "6288d0a80f1be700041e59cb", + "glucose": 101, + "avgDelta": "-2.00", + "BGI": -23.32, + "deviation": "21.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653133749000, + "dateString": "2022-05-21T11:49:09.000Z", + "isValid": true, + "sgv": 87, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d1d80f1be700041e59cf", + "glucose": 87, + "avgDelta": "-7.75", + "BGI": -25.69, + "deviation": "17.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134049000, + "dateString": "2022-05-21T11:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d3060f1be700041e59d2", + "glucose": 79, + "avgDelta": "-10.50", + "BGI": -27.28, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134349000, + "dateString": "2022-05-21T11:59:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6288d4220f1be700041e59d5", + "glucose": 76, + "avgDelta": "-9.50", + "BGI": -28.06, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134649000, + "dateString": "2022-05-21T12:04:09.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "_id": "6288d5500f1be700041e59d7", + "glucose": 77, + "avgDelta": "-6.00", + "BGI": -28.32, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653134949000, + "dateString": "2022-05-21T12:09:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d67f0f1be700041e59da", + "glucose": 78, + "avgDelta": "-2.25", + "BGI": -28.14, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135249000, + "dateString": "2022-05-21T12:14:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288d7ae0f1be700041e59de", + "glucose": 79, + "avgDelta": "0.00", + "BGI": -27.76, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135549000, + "dateString": "2022-05-21T12:19:09.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "_id": "6288d8e00f1be700041e59e0", + "glucose": 78, + "avgDelta": "0.50", + "BGI": -27.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653135849000, + "dateString": "2022-05-21T12:24:09.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "_id": "6288d9fb0f1be700041e59e2", + "glucose": 76, + "avgDelta": "-0.25", + "BGI": -26.12, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136149000, + "dateString": "2022-05-21T12:29:09.000Z", + "isValid": true, + "sgv": 73, + "direction": "Flat", + "type": "sgv", + "_id": "6288db8a0f1be700041e59e5", + "glucose": 73, + "avgDelta": "-1.25", + "BGI": -25, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136449000, + "dateString": "2022-05-21T12:34:09.000Z", + "isValid": true, + "sgv": 70, + "direction": "Flat", + "type": "sgv", + "_id": "6288dd270f1be700041e59e8", + "glucose": 70, + "avgDelta": "-2.25", + "BGI": -23.7, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653136749000, + "dateString": "2022-05-21T12:39:09.000Z", + "isValid": true, + "sgv": 68, + "direction": "Flat", + "type": "sgv", + "_id": "6288de580f1be700041e59ea", + "glucose": 68, + "avgDelta": "-2.50", + "BGI": -22.37, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137049000, + "dateString": "2022-05-21T12:44:09.000Z", + "isValid": true, + "sgv": 69, + "direction": "Flat", + "type": "sgv", + "_id": "6288df8a0f1be700041e59ec", + "glucose": 69, + "avgDelta": "-1.75", + "BGI": -20.95, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137350000, + "dateString": "2022-05-21T12:49:10.000Z", + "isValid": true, + "sgv": 72, + "direction": "Flat", + "type": "sgv", + "_id": "6288dfd60f1be700041e59ee", + "glucose": 72, + "avgDelta": "-0.25", + "BGI": -19.52, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137649000, + "dateString": "2022-05-21T12:54:09.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "_id": "6288e1040f1be700041e59f0", + "glucose": 79, + "avgDelta": "2.25", + "BGI": -18.02, + "deviation": "0.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653137949000, + "dateString": "2022-05-21T12:59:09.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "_id": "6288e24c0f1be700041e59f3", + "glucose": 86, + "avgDelta": "4.50", + "BGI": -17.54, + "deviation": "22.04" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138249000, + "dateString": "2022-05-21T13:04:09.000Z", + "isValid": true, + "sgv": 93, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288e3610f1be700041e59f6", + "glucose": 93, + "avgDelta": "6.00", + "BGI": -17.8, + "deviation": "23.80" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138549000, + "dateString": "2022-05-21T13:09:09.000Z", + "isValid": true, + "sgv": 95, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288e4900f1be700041e59f8", + "glucose": 95, + "avgDelta": "5.75", + "BGI": -18.1, + "deviation": "23.85" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653138849000, + "dateString": "2022-05-21T13:14:09.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288e5d00f1be700041e59fb", + "glucose": 94, + "avgDelta": "3.75", + "BGI": -18.53, + "deviation": "22.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139150000, + "dateString": "2022-05-21T13:19:10.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "_id": "6288e7030f1be700041e59fd", + "glucose": 93, + "avgDelta": "1.75", + "BGI": -18.83, + "deviation": "20.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139450000, + "dateString": "2022-05-21T13:24:10.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "_id": "6288e82c0f1be700041e5a00", + "glucose": 94, + "avgDelta": "0.25", + "BGI": -18.83, + "deviation": "19.08" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653139749000, + "dateString": "2022-05-21T13:29:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6288e9410f1be700041e5a03", + "glucose": 98, + "avgDelta": "0.75", + "BGI": -18.58, + "deviation": "19.33" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140049000, + "dateString": "2022-05-21T13:34:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "_id": "6288ea6e0f1be700041e5a06", + "glucose": 105, + "avgDelta": "2.75", + "BGI": -18.45, + "deviation": "21.20" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140349000, + "dateString": "2022-05-21T13:39:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288eb9d0f1be700041e5a09", + "glucose": 114, + "avgDelta": "5.25", + "BGI": -18.58, + "deviation": "23.83" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140648000, + "dateString": "2022-05-21T13:44:08.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ecca0f1be700041e5a0b", + "glucose": 121, + "avgDelta": "6.75", + "BGI": -18.71, + "deviation": "25.46" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653140949000, + "dateString": "2022-05-21T13:49:09.000Z", + "isValid": true, + "sgv": 126, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288edfc2634cd0004296065", + "glucose": 126, + "avgDelta": "7.00", + "BGI": -19.05, + "deviation": "26.05" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141249000, + "dateString": "2022-05-21T13:54:09.000Z", + "isValid": true, + "sgv": 131, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288ef2a2634cd0004296067", + "glucose": 131, + "avgDelta": "6.50", + "BGI": -19.48, + "deviation": "25.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141548000, + "dateString": "2022-05-21T13:59:08.000Z", + "isValid": true, + "sgv": 139, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f03f2634cd000429606a", + "glucose": 139, + "avgDelta": "6.25", + "BGI": -19.91, + "deviation": "26.16" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653141849000, + "dateString": "2022-05-21T14:04:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f16d2634cd000429606c", + "glucose": 147, + "avgDelta": "6.50", + "BGI": -20.17, + "deviation": "26.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142149000, + "dateString": "2022-05-21T14:09:09.000Z", + "isValid": true, + "sgv": 155, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f29b2634cd000429606f", + "glucose": 155, + "avgDelta": "7.25", + "BGI": -20.73, + "deviation": "27.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142449000, + "dateString": "2022-05-21T14:14:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f3c92634cd0004296071", + "glucose": 160, + "avgDelta": "7.25", + "BGI": -21.08, + "deviation": "28.33" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653142749000, + "dateString": "2022-05-21T14:19:09.000Z", + "isValid": true, + "sgv": 166, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f4f72634cd0004296074", + "glucose": 166, + "avgDelta": "6.75", + "BGI": -21.55, + "deviation": "28.30" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143049000, + "dateString": "2022-05-21T14:24:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f62c0e0c880004d58dd8", + "glucose": 174, + "avgDelta": "6.75", + "BGI": -21.89, + "deviation": "28.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143349000, + "dateString": "2022-05-21T14:29:09.000Z", + "isValid": true, + "sgv": 182, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f75a0e0c880004d58ddb", + "glucose": 182, + "avgDelta": "6.75", + "BGI": -21.98, + "deviation": "28.73" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143650000, + "dateString": "2022-05-21T14:34:10.000Z", + "isValid": true, + "sgv": 185, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "6288f8880e0c880004d58dde", + "glucose": 185, + "avgDelta": "6.25", + "BGI": -21.85, + "deviation": "28.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653143949000, + "dateString": "2022-05-21T14:39:09.000Z", + "isValid": true, + "sgv": 184, + "direction": "Flat", + "type": "sgv", + "_id": "6288f9b60e0c880004d58de0", + "glucose": 184, + "avgDelta": "4.50", + "BGI": -21.46, + "deviation": "25.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144249000, + "dateString": "2022-05-21T14:44:09.000Z", + "isValid": true, + "sgv": 180, + "direction": "Flat", + "type": "sgv", + "_id": "6288facb0e0c880004d58de3", + "glucose": 180, + "avgDelta": "1.50", + "BGI": -20.82, + "deviation": "22.32" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144550000, + "dateString": "2022-05-21T14:49:10.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6288fbf90e0c880004d58de5", + "glucose": 178, + "avgDelta": "-1.00", + "BGI": -20, + "deviation": "19.00" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653144849000, + "dateString": "2022-05-21T14:54:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6288fd270e0c880004d58de7", + "glucose": 177, + "avgDelta": "-2.00", + "BGI": -19.01, + "deviation": "17.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145149000, + "dateString": "2022-05-21T14:59:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "6288fe56c9346b0004863359", + "glucose": 176, + "avgDelta": "-2.00", + "BGI": -17.97, + "deviation": "15.97" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145449000, + "dateString": "2022-05-21T15:04:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6288ff9ec9346b000486335b", + "glucose": 177, + "avgDelta": "-0.75", + "BGI": -16.85, + "deviation": "16.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653145750000, + "dateString": "2022-05-21T15:09:10.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "628900b2c9346b000486335d", + "glucose": 177, + "avgDelta": "-0.25", + "BGI": -15.73, + "deviation": "15.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146050000, + "dateString": "2022-05-21T15:14:10.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "628901e0c9346b000486335f", + "glucose": 177, + "avgDelta": "0.00", + "BGI": -14.57, + "deviation": "14.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146349000, + "dateString": "2022-05-21T15:19:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6289030ec9346b0004863361", + "glucose": 177, + "avgDelta": "0.25", + "BGI": -13.45, + "deviation": "13.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146650000, + "dateString": "2022-05-21T15:24:10.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6289043cc9346b0004863363", + "glucose": 178, + "avgDelta": "0.25", + "BGI": -12.33, + "deviation": "12.58" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653146949000, + "dateString": "2022-05-21T15:29:09.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "_id": "6289056ac9346b0004863366", + "glucose": 178, + "avgDelta": "0.25", + "BGI": -11.29, + "deviation": "11.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147249000, + "dateString": "2022-05-21T15:34:09.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "_id": "6289067fc9346b0004863369", + "glucose": 177, + "avgDelta": "0.00", + "BGI": -10.17, + "deviation": "10.17" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147549000, + "dateString": "2022-05-21T15:39:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "628907c5cf7ee10004a2b1ce", + "glucose": 176, + "avgDelta": "-0.25", + "BGI": -9.27, + "deviation": "9.02" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653147849000, + "dateString": "2022-05-21T15:44:09.000Z", + "isValid": true, + "sgv": 175, + "direction": "Flat", + "type": "sgv", + "_id": "628908f3cf7ee10004a2b1d1", + "glucose": 175, + "avgDelta": "-0.75", + "BGI": -8.49, + "deviation": "7.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148149000, + "dateString": "2022-05-21T15:49:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890a21cf7ee10004a2b1d3", + "glucose": 174, + "avgDelta": "-1.00", + "BGI": -7.89, + "deviation": "6.89" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148450000, + "dateString": "2022-05-21T15:54:10.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890b36cf7ee10004a2b1d7", + "glucose": 176, + "avgDelta": "-0.25", + "BGI": -7.37, + "deviation": "7.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653148749000, + "dateString": "2022-05-21T15:59:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890c64cf7ee10004a2b1da", + "glucose": 176, + "avgDelta": "0.00", + "BGI": -6.94, + "deviation": "6.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149049000, + "dateString": "2022-05-21T16:04:09.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "_id": "62890daccf7ee10004a2b1de", + "glucose": 176, + "avgDelta": "0.25", + "BGI": -6.72, + "deviation": "6.97" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149349000, + "dateString": "2022-05-21T16:09:09.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "_id": "62890edacf7ee10004a2b1e2", + "glucose": 174, + "avgDelta": "0.00", + "BGI": -6.64, + "deviation": "6.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149650000, + "dateString": "2022-05-21T16:14:10.000Z", + "isValid": true, + "sgv": 173, + "direction": "Flat", + "type": "sgv", + "_id": "62890fff1090500004ca46fd", + "glucose": 173, + "avgDelta": "-0.75", + "BGI": -6.42, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653149949000, + "dateString": "2022-05-21T16:19:09.000Z", + "isValid": true, + "sgv": 172, + "direction": "Flat", + "type": "sgv", + "_id": "6289130f1090500004ca46ff", + "glucose": 172, + "avgDelta": "-1.00", + "BGI": -6.12, + "deviation": "5.12" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150249000, + "dateString": "2022-05-21T16:24:09.000Z", + "isValid": true, + "sgv": 170, + "direction": "Flat", + "type": "sgv", + "_id": "628913111090500004ca4704", + "glucose": 170, + "avgDelta": "-1.50", + "BGI": -5.95, + "deviation": "4.45" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150549000, + "dateString": "2022-05-21T16:29:09.000Z", + "isValid": true, + "sgv": 165, + "direction": "Flat", + "type": "sgv", + "_id": "628913731090500004ca4706", + "glucose": 165, + "avgDelta": "-2.25", + "BGI": -5.73, + "deviation": "3.48" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653150849000, + "dateString": "2022-05-21T16:34:09.000Z", + "isValid": true, + "sgv": 161, + "direction": "Flat", + "type": "sgv", + "_id": "628914d01090500004ca4709", + "glucose": 161, + "avgDelta": "-3.00", + "BGI": -5.47, + "deviation": "2.47" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151149000, + "dateString": "2022-05-21T16:39:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628915ce1090500004ca470c", + "glucose": 158, + "avgDelta": "-3.50", + "BGI": -5.09, + "deviation": "1.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151449000, + "dateString": "2022-05-21T16:44:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "628916f81090500004ca4710", + "glucose": 158, + "avgDelta": "-3.00", + "BGI": -4.74, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653151749000, + "dateString": "2022-05-21T16:49:09.000Z", + "isValid": true, + "sgv": 159, + "direction": "Flat", + "type": "sgv", + "_id": "628918261090500004ca4714", + "glucose": 159, + "avgDelta": "-1.50", + "BGI": -4.53, + "deviation": "3.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152049000, + "dateString": "2022-05-21T16:54:09.000Z", + "isValid": true, + "sgv": 160, + "direction": "Flat", + "type": "sgv", + "_id": "628919531090500004ca4717", + "glucose": 160, + "avgDelta": "-0.25", + "BGI": -4.35, + "deviation": "4.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152349000, + "dateString": "2022-05-21T16:59:09.000Z", + "isValid": true, + "sgv": 158, + "direction": "Flat", + "type": "sgv", + "_id": "62891a811090500004ca471a", + "glucose": 158, + "avgDelta": "0.00", + "BGI": -4.35, + "deviation": "4.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152649000, + "dateString": "2022-05-21T17:04:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62891ba31090500004ca471d", + "glucose": 149, + "avgDelta": "-2.25", + "BGI": -4.35, + "deviation": "2.10" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653152949000, + "dateString": "2022-05-21T17:09:09.000Z", + "isValid": true, + "sgv": 138, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "62891cd01090500004ca471f", + "glucose": 138, + "avgDelta": "-5.25", + "BGI": -4.22, + "deviation": "-1.03" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155049000, + "dateString": "2022-05-21T17:44:09.000Z", + "isValid": true, + "sgv": 116, + "direction": "NONE", + "type": "sgv", + "_id": "6289250d8809e60004c644dd", + "glucose": 116, + "avgDelta": "5.00", + "BGI": -2.16, + "deviation": "7.16", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155349000, + "dateString": "2022-05-21T17:49:09.000Z", + "isValid": true, + "sgv": 123, + "direction": "NONE", + "type": "sgv", + "_id": "6289263c8809e60004c644e1", + "glucose": 123, + "avgDelta": "7.50", + "BGI": -2.07, + "deviation": "9.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155649000, + "dateString": "2022-05-21T17:54:09.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "6289276a8809e60004c644e3", + "glucose": 124, + "avgDelta": "6.75", + "BGI": -2.11, + "deviation": "8.86" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653155950000, + "dateString": "2022-05-21T17:59:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "6289287e8809e60004c644e6", + "glucose": 123, + "avgDelta": "3.75", + "BGI": -2.16, + "deviation": "5.91" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156250000, + "dateString": "2022-05-21T18:04:10.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "_id": "628929ac8809e60004c644e9", + "glucose": 119, + "avgDelta": "0.75", + "BGI": -2.07, + "deviation": "2.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653156549000, + "dateString": "2022-05-21T18:09:09.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "62892af2840d8d0004a20bf0", + "glucose": 114, + "avgDelta": "-2.25", + "BGI": -1.9, + "deviation": "-0.35" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164649000, + "dateString": "2022-05-21T20:24:09.000Z", + "isValid": true, + "sgv": 133, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62894a7e4493460004e63a38", + "glucose": 133, + "avgDelta": "9.50", + "BGI": -6.46, + "deviation": "15.96", + "uamAbsorption": "start" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653164950000, + "dateString": "2022-05-21T20:29:10.000Z", + "isValid": true, + "sgv": 143, + "direction": "SingleUp", + "type": "sgv", + "_id": "62894bab80fc7e00041b229b", + "glucose": 143, + "avgDelta": "10.75", + "BGI": -14.31, + "deviation": "25.06" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165249000, + "dateString": "2022-05-21T20:34:09.000Z", + "isValid": true, + "sgv": 145, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62894cdb80fc7e00041b229e", + "glucose": 145, + "avgDelta": "9.00", + "BGI": -20.43, + "deviation": "29.43" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165550000, + "dateString": "2022-05-21T20:39:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "62894e0980fc7e00041b22a0", + "glucose": 139, + "avgDelta": "4.75", + "BGI": -25.17, + "deviation": "29.92" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653165850000, + "dateString": "2022-05-21T20:44:10.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "_id": "62894f3880fc7e00041b22a3", + "glucose": 128, + "avgDelta": "-1.25", + "BGI": -28.62, + "deviation": "27.37" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166149000, + "dateString": "2022-05-21T20:49:09.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6289506680fc7e00041b22a5", + "glucose": 118, + "avgDelta": "-6.25", + "BGI": -30.95, + "deviation": "24.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166450000, + "dateString": "2022-05-21T20:54:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "6289519580fc7e00041b22a7", + "glucose": 110, + "avgDelta": "-8.75", + "BGI": -32.45, + "deviation": "23.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653166749000, + "dateString": "2022-05-21T20:59:09.000Z", + "isValid": true, + "sgv": 104, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628952c680fc7e00041b22a9", + "glucose": 104, + "avgDelta": "-8.75", + "BGI": -33.27, + "deviation": "24.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167049000, + "dateString": "2022-05-21T21:04:09.000Z", + "isValid": true, + "sgv": 101, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628953e79bf1e6000482ff90", + "glucose": 101, + "avgDelta": "-6.75", + "BGI": -33.45, + "deviation": "26.70" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167350000, + "dateString": "2022-05-21T21:09:10.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "_id": "628955179bf1e6000482ff92", + "glucose": 99, + "avgDelta": "-4.75", + "BGI": -33.14, + "deviation": "28.39" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167650000, + "dateString": "2022-05-21T21:14:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628956919bf1e6000482ff96", + "glucose": 98, + "avgDelta": "-3.00", + "BGI": -32.5, + "deviation": "29.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653167949000, + "dateString": "2022-05-21T21:19:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "6289583f9bf1e6000482ff9b", + "glucose": 98, + "avgDelta": "-1.50", + "BGI": -31.64, + "deviation": "30.14" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168250000, + "dateString": "2022-05-21T21:24:10.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "628959ed9bf1e6000482ff9e", + "glucose": 98, + "avgDelta": "-0.75", + "BGI": -30.69, + "deviation": "29.94" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168549000, + "dateString": "2022-05-21T21:29:09.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "_id": "62895b9a9bf1e6000482ffa1", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": -29.74, + "deviation": "29.49" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653168849000, + "dateString": "2022-05-21T21:34:09.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "_id": "62895d98fb144900043c34e5", + "glucose": 100, + "avgDelta": "0.50", + "BGI": -28.58, + "deviation": "29.08" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169150000, + "dateString": "2022-05-21T21:39:10.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "_id": "62895f5ffb144900043c34e8", + "glucose": 102, + "avgDelta": "1.00", + "BGI": -27.28, + "deviation": "28.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169449000, + "dateString": "2022-05-21T21:44:09.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "_id": "628961a4fb144900043c34ea", + "glucose": 105, + "avgDelta": "1.75", + "BGI": -25.82, + "deviation": "27.57" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653169749000, + "dateString": "2022-05-21T21:49:09.000Z", + "isValid": true, + "sgv": 107, + "direction": "Flat", + "type": "sgv", + "_id": "628964906a5ecf00042d546b", + "glucose": 107, + "avgDelta": "2.25", + "BGI": -24.39, + "deviation": "26.64" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170049000, + "dateString": "2022-05-21T21:54:09.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "628967a06a5ecf00042d546e", + "glucose": 110, + "avgDelta": "2.50", + "BGI": -22.84, + "deviation": "25.34" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170350000, + "dateString": "2022-05-21T21:59:10.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "_id": "628969016a5ecf00042d5470", + "glucose": 112, + "avgDelta": "2.50", + "BGI": -21.29, + "deviation": "23.79" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170650000, + "dateString": "2022-05-21T22:04:10.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "628969fd6a5ecf00042d5471", + "glucose": 115, + "avgDelta": "2.50", + "BGI": -19.7, + "deviation": "22.20" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653170950000, + "dateString": "2022-05-21T22:09:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "62896ac76a5ecf00042d5472", + "glucose": 117, + "avgDelta": "2.50", + "BGI": -18.15, + "deviation": "20.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171250000, + "dateString": "2022-05-21T22:14:10.000Z", + "isValid": true, + "sgv": 118, + "direction": "Flat", + "type": "sgv", + "_id": "62896b5f6a5ecf00042d5474", + "glucose": 118, + "avgDelta": "2.00", + "BGI": -16.59, + "deviation": "18.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171549000, + "dateString": "2022-05-21T22:19:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "62896c1037d09a00043f2b13", + "glucose": 120, + "avgDelta": "2.00", + "BGI": -15.13, + "deviation": "17.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653171849000, + "dateString": "2022-05-21T22:24:09.000Z", + "isValid": true, + "sgv": 122, + "direction": "Flat", + "type": "sgv", + "_id": "62896c7537d09a00043f2b14", + "glucose": 122, + "avgDelta": "1.75", + "BGI": -13.75, + "deviation": "15.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172150000, + "dateString": "2022-05-21T22:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "62896cda37d09a00043f2b16", + "glucose": 124, + "avgDelta": "1.75", + "BGI": -12.41, + "deviation": "14.16" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172450000, + "dateString": "2022-05-21T22:34:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "62896d8b37d09a00043f2b17", + "glucose": 124, + "avgDelta": "1.50", + "BGI": -11.21, + "deviation": "12.71" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653172749000, + "dateString": "2022-05-21T22:39:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "62896e8937d09a00043f2b19", + "glucose": 120, + "avgDelta": "0.00", + "BGI": -10.13, + "deviation": "10.13" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173050000, + "dateString": "2022-05-21T22:44:10.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "_id": "62896f8537d09a00043f2b1a", + "glucose": 115, + "avgDelta": "-1.75", + "BGI": -9.05, + "deviation": "7.30" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173350000, + "dateString": "2022-05-21T22:49:10.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "_id": "62896fb837d09a00043f2b1b", + "glucose": 110, + "avgDelta": "-3.50", + "BGI": -8.15, + "deviation": "4.65" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173650000, + "dateString": "2022-05-21T22:54:10.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289717d37d09a00043f2b1e", + "glucose": 108, + "avgDelta": "-4.00", + "BGI": -7.28, + "deviation": "3.28" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653173949000, + "dateString": "2022-05-21T22:59:09.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "_id": "6289721437d09a00043f2b1f", + "glucose": 108, + "avgDelta": "-3.00", + "BGI": -6.42, + "deviation": "3.42" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174249000, + "dateString": "2022-05-21T23:04:09.000Z", + "isValid": true, + "sgv": 111, + "direction": "Flat", + "type": "sgv", + "_id": "6289726037d09a00043f2b20", + "glucose": 111, + "avgDelta": "-1.00", + "BGI": -5.69, + "deviation": "4.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174550000, + "dateString": "2022-05-21T23:09:10.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "_id": "6289727937d09a00043f2b21", + "glucose": 114, + "avgDelta": "1.00", + "BGI": -4.96, + "deviation": "5.96" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653174850000, + "dateString": "2022-05-21T23:14:10.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "_id": "6289727a37d09a00043f2b22", + "glucose": 117, + "avgDelta": "2.25", + "BGI": -4.35, + "deviation": "6.60" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175149000, + "dateString": "2022-05-21T23:19:09.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "_id": "6289738f37d09a00043f2b26", + "glucose": 120, + "avgDelta": "3.00", + "BGI": -3.84, + "deviation": "6.84" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175450000, + "dateString": "2022-05-21T23:24:10.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "_id": "628974b671a363000480abbc", + "glucose": 123, + "avgDelta": "3.00", + "BGI": -3.4, + "deviation": "6.40" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653175750000, + "dateString": "2022-05-21T23:29:10.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "_id": "628975e471a363000480abbe", + "glucose": 124, + "avgDelta": "2.50", + "BGI": -3.19, + "deviation": "5.69" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176050000, + "dateString": "2022-05-21T23:34:10.000Z", + "isValid": true, + "sgv": 127, + "direction": "Flat", + "type": "sgv", + "_id": "6289771371a363000480abc1", + "glucose": 127, + "avgDelta": "2.50", + "BGI": -2.93, + "deviation": "5.43" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176350000, + "dateString": "2022-05-21T23:39:10.000Z", + "isValid": true, + "sgv": 132, + "direction": "Flat", + "type": "sgv", + "_id": "6289784271a363000480abc3", + "glucose": 132, + "avgDelta": "3.00", + "BGI": -2.67, + "deviation": "5.67" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176650000, + "dateString": "2022-05-21T23:44:10.000Z", + "isValid": true, + "sgv": 139, + "direction": "Flat", + "type": "sgv", + "_id": "6289797071a363000480abc7", + "glucose": 139, + "avgDelta": "4.00", + "BGI": -2.59, + "deviation": "6.59" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653176950000, + "dateString": "2022-05-21T23:49:10.000Z", + "isValid": true, + "sgv": 143, + "direction": "FortyFiveUp", + "type": "sgv", + "_id": "62897a8771a363000480abca", + "glucose": 143, + "avgDelta": "4.75", + "BGI": -2.63, + "deviation": "7.38" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177250000, + "dateString": "2022-05-21T23:54:10.000Z", + "isValid": true, + "sgv": 146, + "direction": "Flat", + "type": "sgv", + "_id": "62897bc89d6f1800047cd0c9", + "glucose": 146, + "avgDelta": "4.75", + "BGI": -3.23, + "deviation": "7.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177550000, + "dateString": "2022-05-21T23:59:10.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "62897cde9d6f1800047cd0cc", + "glucose": 147, + "avgDelta": "3.75", + "BGI": -3.79, + "deviation": "7.54" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653177850000, + "dateString": "2022-05-22T00:04:10.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897e0c9d6f1800047cd0d0", + "glucose": 149, + "avgDelta": "2.50", + "BGI": -4.22, + "deviation": "6.72" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178149000, + "dateString": "2022-05-22T00:09:09.000Z", + "isValid": true, + "sgv": 149, + "direction": "Flat", + "type": "sgv", + "_id": "62897f3b9d6f1800047cd0d3", + "glucose": 149, + "avgDelta": "1.50", + "BGI": -4.48, + "deviation": "5.98" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178449000, + "dateString": "2022-05-22T00:14:09.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "_id": "6289806a9d6f1800047cd0d6", + "glucose": 147, + "avgDelta": "0.25", + "BGI": -4.61, + "deviation": "4.86" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653178750000, + "dateString": "2022-05-22T00:19:10.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "_id": "628981999d6f1800047cd0d8", + "glucose": 144, + "avgDelta": "-0.75", + "BGI": -4.57, + "deviation": "3.82" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179050000, + "dateString": "2022-05-22T00:24:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628982c89d6f1800047cd0db", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.48, + "deviation": "2.73" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179350000, + "dateString": "2022-05-22T00:29:10.000Z", + "isValid": true, + "sgv": 142, + "direction": "Flat", + "type": "sgv", + "_id": "628983f69d6f1800047cd0dd", + "glucose": 142, + "avgDelta": "-1.75", + "BGI": -4.27, + "deviation": "2.52" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179649000, + "dateString": "2022-05-22T00:34:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898517da46aa0004d1e0ea", + "glucose": 143, + "avgDelta": "-1.00", + "BGI": -4.01, + "deviation": "3.01" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653179949000, + "dateString": "2022-05-22T00:39:09.000Z", + "isValid": true, + "sgv": 143, + "direction": "Flat", + "type": "sgv", + "_id": "62898645da46aa0004d1e0ee", + "glucose": 143, + "avgDelta": "-0.25", + "BGI": -3.75, + "deviation": "3.50" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180250000, + "dateString": "2022-05-22T00:44:10.000Z", + "isValid": true, + "sgv": 135, + "direction": "Flat", + "type": "sgv", + "_id": "62898774da46aa0004d1e0f1", + "glucose": 135, + "avgDelta": "-1.75", + "BGI": -3.49, + "deviation": "1.74" + }, + { + "device": "AndroidAPS-DexcomG6", + "date": 1653180549000, + "dateString": "2022-05-22T00:49:09.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "_id": "628988a3da46aa0004d1e0f5", + "glucose": 121, + "avgDelta": "-5.25", + "BGI": -3.32, + "deviation": "-1.93" + } + ] +} diff --git a/plugins/main/src/test/res/autotune/test3/autotune.2022-06-25-111350.log b/plugins/aps/src/test/res/autotune/test3/autotune.2022-06-25-111350.log similarity index 100% rename from plugins/main/src/test/res/autotune/test3/autotune.2022-06-25-111350.log rename to plugins/aps/src/test/res/autotune/test3/autotune.2022-06-25-111350.log diff --git a/plugins/aps/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json new file mode 100644 index 0000000000..db52158b98 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json @@ -0,0 +1,173 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 1.039, + "start": "00:00:00" + }, + { + "i": 1, + "minutes": 60, + "rate": 1.091, + "start": "01:00:00" + }, + { + "i": 2, + "minutes": 120, + "rate": 1.118, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.321, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 1.091, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.965, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.848, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 1.112, + "start": "07:00:00" + }, + { + "i": 8, + "minutes": 480, + "rate": 1.173, + "start": "08:00:00" + }, + { + "i": 9, + "minutes": 540, + "rate": 1.214, + "start": "09:00:00" + }, + { + "i": 10, + "minutes": 600, + "rate": 1.219, + "start": "10:00:00" + }, + { + "i": 11, + "minutes": 660, + "rate": 1.07, + "start": "11:00:00" + }, + { + "i": 12, + "minutes": 720, + "rate": 1.147, + "start": "12:00:00" + }, + { + "i": 13, + "minutes": 780, + "rate": 1.136, + "start": "13:00:00" + }, + { + "i": 14, + "minutes": 840, + "rate": 1.126, + "start": "14:00:00" + }, + { + "i": 15, + "minutes": 900, + "rate": 1.102, + "start": "15:00:00" + }, + { + "i": 16, + "minutes": 960, + "rate": 0.928, + "start": "16:00:00" + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.71, + "start": "17:00:00" + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.654, + "start": "18:00:00" + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.878, + "start": "19:00:00" + }, + { + "i": 20, + "minutes": 1200, + "rate": 1.101, + "start": "20:00:00" + }, + { + "i": 21, + "minutes": 1260, + "rate": 1.119, + "start": "21:00:00" + }, + { + "i": 22, + "minutes": 1320, + "rate": 1.122, + "start": "22:00:00" + }, + { + "i": 23, + "minutes": 1380, + "rate": 1.047, + "start": "23:00:00" + } + ], + "carb_ratio": 5.75, + "csf": 14.991, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 93.589, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 93.589, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/aps/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json b/plugins/aps/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json new file mode 100644 index 0000000000..b563f70131 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json @@ -0,0 +1,1418 @@ +[ + { + "iob": 5.249, + "activity": 0.0391, + "date": 1653099848000 + }, + { + "iob": 5.292, + "activity": 0.0438, + "date": 1653100148000 + }, + { + "iob": 4.964, + "activity": 0.047, + "date": 1653100449000 + }, + { + "iob": 4.674, + "activity": 0.0489, + "date": 1653100748000 + }, + { + "iob": 4.377, + "activity": 0.0498, + "date": 1653101048000 + }, + { + "iob": 4.077, + "activity": 0.0498, + "date": 1653101348000 + }, + { + "iob": 3.73, + "activity": 0.0491, + "date": 1653101648000 + }, + { + "iob": 3.389, + "activity": 0.0476, + "date": 1653101948000 + }, + { + "iob": 3.055, + "activity": 0.0457, + "date": 1653102249000 + }, + { + "iob": 2.782, + "activity": 0.0436, + "date": 1653102548000 + }, + { + "iob": 2.47, + "activity": 0.0411, + "date": 1653102848000 + }, + { + "iob": 2.22, + "activity": 0.0386, + "date": 1653103149000 + }, + { + "iob": 1.935, + "activity": 0.0358, + "date": 1653103448000 + }, + { + "iob": 1.711, + "activity": 0.0332, + "date": 1653103748000 + }, + { + "iob": 1.452, + "activity": 0.0304, + "date": 1653104049000 + }, + { + "iob": 1.927, + "activity": 0.028, + "date": 1653104349000 + }, + { + "iob": 1.84, + "activity": 0.027, + "date": 1653104648000 + }, + { + "iob": 1.658, + "activity": 0.0258, + "date": 1653104949000 + }, + { + "iob": 1.482, + "activity": 0.0245, + "date": 1653105248000 + }, + { + "iob": 1.264, + "activity": 0.0229, + "date": 1653105549000 + }, + { + "iob": 1.104, + "activity": 0.0212, + "date": 1653105848000 + }, + { + "iob": 0.952, + "activity": 0.0194, + "date": 1653106149000 + }, + { + "iob": 1.619, + "activity": 0.0181, + "date": 1653106449000 + }, + { + "iob": 1.678, + "activity": 0.0184, + "date": 1653106749000 + }, + { + "iob": 1.775, + "activity": 0.0187, + "date": 1653107048000 + }, + { + "iob": 1.581, + "activity": 0.019, + "date": 1653107348000 + }, + { + "iob": 1.437, + "activity": 0.0188, + "date": 1653107648000 + }, + { + "iob": 1.294, + "activity": 0.0183, + "date": 1653107948000 + }, + { + "iob": 1.153, + "activity": 0.0176, + "date": 1653108249000 + }, + { + "iob": 1.017, + "activity": 0.0167, + "date": 1653108548000 + }, + { + "iob": 0.887, + "activity": 0.0156, + "date": 1653108848000 + }, + { + "iob": 1.011, + "activity": 0.0147, + "date": 1653109148000 + }, + { + "iob": 0.889, + "activity": 0.0141, + "date": 1653109448000 + }, + { + "iob": 0.771, + "activity": 0.0133, + "date": 1653109748000 + }, + { + "iob": 0.656, + "activity": 0.0124, + "date": 1653110049000 + }, + { + "iob": 0.547, + "activity": 0.0114, + "date": 1653110348000 + }, + { + "iob": 0.392, + "activity": 0.0103, + "date": 1653110649000 + }, + { + "iob": 0.294, + "activity": 0.0091, + "date": 1653110949000 + }, + { + "iob": 0.2, + "activity": 0.008, + "date": 1653111249000 + }, + { + "iob": 0.065, + "activity": 0.0066, + "date": 1653111549000 + }, + { + "iob": 0.034, + "activity": 0.0055, + "date": 1653111849000 + }, + { + "iob": 0.549, + "activity": 0.0048, + "date": 1653112148000 + }, + { + "iob": 0.674, + "activity": 0.0053, + "date": 1653112449000 + }, + { + "iob": 0.597, + "activity": 0.0057, + "date": 1653112749000 + }, + { + "iob": 0.468, + "activity": 0.0058, + "date": 1653113049000 + }, + { + "iob": 0.389, + "activity": 0.0057, + "date": 1653113349000 + }, + { + "iob": 0.262, + "activity": 0.0053, + "date": 1653113649000 + }, + { + "iob": 0.186, + "activity": 0.0048, + "date": 1653113949000 + }, + { + "iob": 0.064, + "activity": 0.0041, + "date": 1653114249000 + }, + { + "iob": -0.005, + "activity": 0.0034, + "date": 1653114549000 + }, + { + "iob": -0.12, + "activity": 0.0026, + "date": 1653114849000 + }, + { + "iob": -0.181, + "activity": 0.0018, + "date": 1653115149000 + }, + { + "iob": -0.287, + "activity": 0.0008, + "date": 1653115449000 + }, + { + "iob": -0.34, + "activity": 0, + "date": 1653115749000 + }, + { + "iob": -0.436, + "activity": -0.001, + "date": 1653116049000 + }, + { + "iob": -0.48, + "activity": -0.0018, + "date": 1653116349000 + }, + { + "iob": -0.519, + "activity": -0.0026, + "date": 1653116649000 + }, + { + "iob": -0.554, + "activity": -0.0034, + "date": 1653116949000 + }, + { + "iob": -0.585, + "activity": -0.0041, + "date": 1653117249000 + }, + { + "iob": -0.662, + "activity": -0.0049, + "date": 1653117549000 + }, + { + "iob": -0.687, + "activity": -0.0055, + "date": 1653117848000 + }, + { + "iob": -0.708, + "activity": -0.0061, + "date": 1653118149000 + }, + { + "iob": -0.726, + "activity": -0.0066, + "date": 1653118449000 + }, + { + "iob": -0.351, + "activity": -0.0071, + "date": 1653118748000 + }, + { + "iob": -0.218, + "activity": -0.0064, + "date": 1653119049000 + }, + { + "iob": -0.088, + "activity": -0.0055, + "date": 1653119349000 + }, + { + "iob": 13.594, + "activity": 0.0023, + "date": 1653119649000 + }, + { + "iob": 13.552, + "activity": 0.0331, + "date": 1653119949000 + }, + { + "iob": 13.224, + "activity": 0.0573, + "date": 1653120249000 + }, + { + "iob": 12.838, + "activity": 0.076, + "date": 1653120548000 + }, + { + "iob": 12.322, + "activity": 0.09, + "date": 1653120849000 + }, + { + "iob": 11.794, + "activity": 0.1001, + "date": 1653121149000 + }, + { + "iob": 11.177, + "activity": 0.1068, + "date": 1653121449000 + }, + { + "iob": 10.58, + "activity": 0.111, + "date": 1653121749000 + }, + { + "iob": 9.919, + "activity": 0.1129, + "date": 1653122049000 + }, + { + "iob": 9.254, + "activity": 0.1129, + "date": 1653122349000 + }, + { + "iob": 8.643, + "activity": 0.1114, + "date": 1653122649000 + }, + { + "iob": 7.992, + "activity": 0.1088, + "date": 1653122949000 + }, + { + "iob": 7.406, + "activity": 0.1053, + "date": 1653123248000 + }, + { + "iob": 7.111, + "activity": 0.1012, + "date": 1653123549000 + }, + { + "iob": 6.515, + "activity": 0.0971, + "date": 1653123849000 + }, + { + "iob": 5.99, + "activity": 0.0927, + "date": 1653124149000 + }, + { + "iob": 5.439, + "activity": 0.0878, + "date": 1653124448000 + }, + { + "iob": 4.962, + "activity": 0.0828, + "date": 1653124749000 + }, + { + "iob": 4.462, + "activity": 0.0775, + "date": 1653125048000 + }, + { + "iob": 4.036, + "activity": 0.0724, + "date": 1653125349000 + }, + { + "iob": 3.638, + "activity": 0.0672, + "date": 1653125649000 + }, + { + "iob": 3.214, + "activity": 0.0621, + "date": 1653125948000 + }, + { + "iob": 2.866, + "activity": 0.0571, + "date": 1653126249000 + }, + { + "iob": 2.494, + "activity": 0.0522, + "date": 1653126549000 + }, + { + "iob": 2.193, + "activity": 0.0476, + "date": 1653126849000 + }, + { + "iob": 1.867, + "activity": 0.0431, + "date": 1653127149000 + }, + { + "iob": 1.563, + "activity": 0.0388, + "date": 1653127449000 + }, + { + "iob": 1.329, + "activity": 0.0347, + "date": 1653127748000 + }, + { + "iob": 1.115, + "activity": 0.0309, + "date": 1653128049000 + }, + { + "iob": 0.87, + "activity": 0.0272, + "date": 1653128349000 + }, + { + "iob": 0.692, + "activity": 0.0239, + "date": 1653128649000 + }, + { + "iob": 0.482, + "activity": 0.0206, + "date": 1653128948000 + }, + { + "iob": 0.287, + "activity": 0.0176, + "date": 1653129249000 + }, + { + "iob": 0.156, + "activity": 0.0148, + "date": 1653129548000 + }, + { + "iob": 0.038, + "activity": 0.0122, + "date": 1653129848000 + }, + { + "iob": -0.067, + "activity": 0.0099, + "date": 1653130149000 + }, + { + "iob": -0.161, + "activity": 0.0078, + "date": 1653130448000 + }, + { + "iob": -0.195, + "activity": 0.006, + "date": 1653130748000 + }, + { + "iob": -0.271, + "activity": 0.0044, + "date": 1653131049000 + }, + { + "iob": -0.339, + "activity": 0.0029, + "date": 1653131349000 + }, + { + "iob": -0.4, + "activity": 0.0015, + "date": 1653131649000 + }, + { + "iob": -0.155, + "activity": 0.0007, + "date": 1653131948000 + }, + { + "iob": 8.11, + "activity": 0.0045, + "date": 1653132249000 + }, + { + "iob": 7.992, + "activity": 0.0222, + "date": 1653132549000 + }, + { + "iob": 7.745, + "activity": 0.0359, + "date": 1653132849000 + }, + { + "iob": 7.488, + "activity": 0.0465, + "date": 1653133149000 + }, + { + "iob": 7.136, + "activity": 0.0541, + "date": 1653133449000 + }, + { + "iob": 6.8, + "activity": 0.0596, + "date": 1653133749000 + }, + { + "iob": 6.441, + "activity": 0.0633, + "date": 1653134049000 + }, + { + "iob": 6.022, + "activity": 0.0651, + "date": 1653134349000 + }, + { + "iob": 5.644, + "activity": 0.0657, + "date": 1653134649000 + }, + { + "iob": 5.216, + "activity": 0.0653, + "date": 1653134949000 + }, + { + "iob": 4.962, + "activity": 0.0644, + "date": 1653135249000 + }, + { + "iob": 4.544, + "activity": 0.0627, + "date": 1653135549000 + }, + { + "iob": 4.185, + "activity": 0.0606, + "date": 1653135849000 + }, + { + "iob": 3.839, + "activity": 0.058, + "date": 1653136149000 + }, + { + "iob": 3.456, + "activity": 0.055, + "date": 1653136449000 + }, + { + "iob": 3.139, + "activity": 0.0519, + "date": 1653136749000 + }, + { + "iob": 2.788, + "activity": 0.0486, + "date": 1653137049000 + }, + { + "iob": 2.503, + "activity": 0.0453, + "date": 1653137350000 + }, + { + "iob": 2.186, + "activity": 0.0418, + "date": 1653137649000 + }, + { + "iob": 3.17, + "activity": 0.0407, + "date": 1653137949000 + }, + { + "iob": 3.956, + "activity": 0.0413, + "date": 1653138249000 + }, + { + "iob": 3.648, + "activity": 0.042, + "date": 1653138549000 + }, + { + "iob": 4.126, + "activity": 0.043, + "date": 1653138849000 + }, + { + "iob": 3.81, + "activity": 0.0437, + "date": 1653139150000 + }, + { + "iob": 3.541, + "activity": 0.0437, + "date": 1653139450000 + }, + { + "iob": 3.272, + "activity": 0.0431, + "date": 1653139749000 + }, + { + "iob": 3.588, + "activity": 0.0428, + "date": 1653140049000 + }, + { + "iob": 3.875, + "activity": 0.0431, + "date": 1653140349000 + }, + { + "iob": 3.608, + "activity": 0.0434, + "date": 1653140648000 + }, + { + "iob": 4.271, + "activity": 0.0442, + "date": 1653140949000 + }, + { + "iob": 3.996, + "activity": 0.0452, + "date": 1653141249000 + }, + { + "iob": 4.298, + "activity": 0.0462, + "date": 1653141548000 + }, + { + "iob": 4.015, + "activity": 0.0468, + "date": 1653141849000 + }, + { + "iob": 4.538, + "activity": 0.0481, + "date": 1653142149000 + }, + { + "iob": 4.245, + "activity": 0.0489, + "date": 1653142449000 + }, + { + "iob": 4.729, + "activity": 0.05, + "date": 1653142749000 + }, + { + "iob": 4.426, + "activity": 0.0508, + "date": 1653143049000 + }, + { + "iob": 4.353, + "activity": 0.051, + "date": 1653143349000 + }, + { + "iob": 4.049, + "activity": 0.0507, + "date": 1653143650000 + }, + { + "iob": 3.747, + "activity": 0.0498, + "date": 1653143949000 + }, + { + "iob": 3.402, + "activity": 0.0483, + "date": 1653144249000 + }, + { + "iob": 3.115, + "activity": 0.0464, + "date": 1653144550000 + }, + { + "iob": 2.788, + "activity": 0.0441, + "date": 1653144849000 + }, + { + "iob": 2.524, + "activity": 0.0417, + "date": 1653145149000 + }, + { + "iob": 2.271, + "activity": 0.0391, + "date": 1653145449000 + }, + { + "iob": 2.033, + "activity": 0.0365, + "date": 1653145750000 + }, + { + "iob": 1.807, + "activity": 0.0338, + "date": 1653146050000 + }, + { + "iob": 1.594, + "activity": 0.0312, + "date": 1653146349000 + }, + { + "iob": 1.395, + "activity": 0.0286, + "date": 1653146650000 + }, + { + "iob": 1.258, + "activity": 0.0262, + "date": 1653146949000 + }, + { + "iob": 1.034, + "activity": 0.0236, + "date": 1653147249000 + }, + { + "iob": 0.971, + "activity": 0.0215, + "date": 1653147549000 + }, + { + "iob": 1.008, + "activity": 0.0197, + "date": 1653147849000 + }, + { + "iob": 0.963, + "activity": 0.0183, + "date": 1653148149000 + }, + { + "iob": 1.046, + "activity": 0.0171, + "date": 1653148450000 + }, + { + "iob": 0.912, + "activity": 0.0161, + "date": 1653148749000 + }, + { + "iob": 1.254, + "activity": 0.0156, + "date": 1653149049000 + }, + { + "iob": 1.176, + "activity": 0.0154, + "date": 1653149349000 + }, + { + "iob": 1.051, + "activity": 0.0149, + "date": 1653149650000 + }, + { + "iob": 0.928, + "activity": 0.0142, + "date": 1653149949000 + }, + { + "iob": 1.008, + "activity": 0.0138, + "date": 1653150249000 + }, + { + "iob": 0.89, + "activity": 0.0133, + "date": 1653150549000 + }, + { + "iob": 0.775, + "activity": 0.0127, + "date": 1653150849000 + }, + { + "iob": 0.664, + "activity": 0.0118, + "date": 1653151149000 + }, + { + "iob": 0.606, + "activity": 0.011, + "date": 1653151449000 + }, + { + "iob": 0.703, + "activity": 0.0105, + "date": 1653151749000 + }, + { + "iob": 0.702, + "activity": 0.0101, + "date": 1653152049000 + }, + { + "iob": 0.902, + "activity": 0.0101, + "date": 1653152349000 + }, + { + "iob": 0.801, + "activity": 0.0101, + "date": 1653152649000 + }, + { + "iob": 0.701, + "activity": 0.0098, + "date": 1653152949000 + }, + { + "iob": 0.603, + "activity": 0.0094, + "date": 1653153249000 + }, + { + "iob": 0.508, + "activity": 0.0088, + "date": 1653153549000 + }, + { + "iob": 0.415, + "activity": 0.0081, + "date": 1653153849000 + }, + { + "iob": 0.327, + "activity": 0.0074, + "date": 1653154149000 + }, + { + "iob": 0.242, + "activity": 0.0066, + "date": 1653154449000 + }, + { + "iob": 0.161, + "activity": 0.0058, + "date": 1653154749000 + }, + { + "iob": 0.134, + "activity": 0.005, + "date": 1653155049000 + }, + { + "iob": 0.4, + "activity": 0.0048, + "date": 1653155349000 + }, + { + "iob": 0.475, + "activity": 0.0049, + "date": 1653155649000 + }, + { + "iob": 0.401, + "activity": 0.005, + "date": 1653155950000 + }, + { + "iob": 0.327, + "activity": 0.0048, + "date": 1653156250000 + }, + { + "iob": 0.203, + "activity": 0.0044, + "date": 1653156549000 + }, + { + "iob": 0.132, + "activity": 0.004, + "date": 1653156849000 + }, + { + "iob": 0.064, + "activity": 0.0034, + "date": 1653157149000 + }, + { + "iob": -0.002, + "activity": 0.0028, + "date": 1653157449000 + }, + { + "iob": -0.064, + "activity": 0.0022, + "date": 1653157750000 + }, + { + "iob": -0.073, + "activity": 0.0016, + "date": 1653158049000 + }, + { + "iob": -0.08, + "activity": 0.0011, + "date": 1653158349000 + }, + { + "iob": -0.085, + "activity": 0.0007, + "date": 1653158649000 + }, + { + "iob": -0.087, + "activity": 0.0004, + "date": 1653158949000 + }, + { + "iob": -0.088, + "activity": 0.0001, + "date": 1653159249000 + }, + { + "iob": -0.088, + "activity": -0.0001, + "date": 1653159549000 + }, + { + "iob": -0.137, + "activity": -0.0004, + "date": 1653159849000 + }, + { + "iob": -0.184, + "activity": -0.0007, + "date": 1653160150000 + }, + { + "iob": -0.18, + "activity": -0.001, + "date": 1653160449000 + }, + { + "iob": -0.175, + "activity": -0.0012, + "date": 1653160749000 + }, + { + "iob": -0.168, + "activity": -0.0014, + "date": 1653161049000 + }, + { + "iob": -0.211, + "activity": -0.0015, + "date": 1653161350000 + }, + { + "iob": -0.203, + "activity": -0.0017, + "date": 1653161649000 + }, + { + "iob": -0.243, + "activity": -0.002, + "date": 1653161950000 + }, + { + "iob": -0.282, + "activity": -0.0023, + "date": 1653162250000 + }, + { + "iob": -0.32, + "activity": -0.0026, + "date": 1653162549000 + }, + { + "iob": -0.357, + "activity": -0.0029, + "date": 1653162850000 + }, + { + "iob": -0.391, + "activity": -0.0032, + "date": 1653163150000 + }, + { + "iob": -0.375, + "activity": -0.0035, + "date": 1653163449000 + }, + { + "iob": -0.357, + "activity": -0.0036, + "date": 1653163749000 + }, + { + "iob": -0.149, + "activity": -0.0035, + "date": 1653164049000 + }, + { + "iob": -0.132, + "activity": -0.0031, + "date": 1653164350000 + }, + { + "iob": 9.296, + "activity": 0.015, + "date": 1653164649000 + }, + { + "iob": 9.123, + "activity": 0.0332, + "date": 1653164950000 + }, + { + "iob": 8.96, + "activity": 0.0474, + "date": 1653165249000 + }, + { + "iob": 8.644, + "activity": 0.0584, + "date": 1653165550000 + }, + { + "iob": 8.282, + "activity": 0.0664, + "date": 1653165850000 + }, + { + "iob": 7.835, + "activity": 0.0718, + "date": 1653166149000 + }, + { + "iob": 7.416, + "activity": 0.0753, + "date": 1653166450000 + }, + { + "iob": 6.984, + "activity": 0.0772, + "date": 1653166749000 + }, + { + "iob": 6.547, + "activity": 0.0776, + "date": 1653167049000 + }, + { + "iob": 6.061, + "activity": 0.0769, + "date": 1653167350000 + }, + { + "iob": 5.68, + "activity": 0.0754, + "date": 1653167650000 + }, + { + "iob": 5.458, + "activity": 0.0734, + "date": 1653167949000 + }, + { + "iob": 5.046, + "activity": 0.0712, + "date": 1653168250000 + }, + { + "iob": 4.925, + "activity": 0.069, + "date": 1653168549000 + }, + { + "iob": 4.487, + "activity": 0.0663, + "date": 1653168849000 + }, + { + "iob": 4.113, + "activity": 0.0633, + "date": 1653169150000 + }, + { + "iob": 3.706, + "activity": 0.0599, + "date": 1653169449000 + }, + { + "iob": 3.363, + "activity": 0.0566, + "date": 1653169749000 + }, + { + "iob": 3.039, + "activity": 0.053, + "date": 1653170049000 + }, + { + "iob": 2.733, + "activity": 0.0494, + "date": 1653170350000 + }, + { + "iob": 2.395, + "activity": 0.0457, + "date": 1653170650000 + }, + { + "iob": 2.126, + "activity": 0.0421, + "date": 1653170950000 + }, + { + "iob": 1.824, + "activity": 0.0385, + "date": 1653171250000 + }, + { + "iob": 1.64, + "activity": 0.0351, + "date": 1653171549000 + }, + { + "iob": 1.473, + "activity": 0.0319, + "date": 1653171849000 + }, + { + "iob": 1.273, + "activity": 0.0288, + "date": 1653172150000 + }, + { + "iob": 1.136, + "activity": 0.026, + "date": 1653172450000 + }, + { + "iob": 1.011, + "activity": 0.0235, + "date": 1653172749000 + }, + { + "iob": 0.852, + "activity": 0.021, + "date": 1653173050000 + }, + { + "iob": 0.752, + "activity": 0.0189, + "date": 1653173350000 + }, + { + "iob": 0.662, + "activity": 0.0169, + "date": 1653173650000 + }, + { + "iob": 0.534, + "activity": 0.0149, + "date": 1653173949000 + }, + { + "iob": 0.463, + "activity": 0.0132, + "date": 1653174249000 + }, + { + "iob": 0.352, + "activity": 0.0115, + "date": 1653174550000 + }, + { + "iob": 0.298, + "activity": 0.0101, + "date": 1653174850000 + }, + { + "iob": 0.25, + "activity": 0.0089, + "date": 1653175149000 + }, + { + "iob": 0.329, + "activity": 0.0079, + "date": 1653175450000 + }, + { + "iob": 0.34, + "activity": 0.0074, + "date": 1653175750000 + }, + { + "iob": 0.304, + "activity": 0.0068, + "date": 1653176050000 + }, + { + "iob": 0.272, + "activity": 0.0062, + "date": 1653176350000 + }, + { + "iob": 0.512, + "activity": 0.006, + "date": 1653176650000 + }, + { + "iob": 0.581, + "activity": 0.0061, + "date": 1653176950000 + }, + { + "iob": 1.238, + "activity": 0.0075, + "date": 1653177250000 + }, + { + "iob": 1.147, + "activity": 0.0088, + "date": 1653177550000 + }, + { + "iob": 1.151, + "activity": 0.0098, + "date": 1653177850000 + }, + { + "iob": 1.05, + "activity": 0.0104, + "date": 1653178149000 + }, + { + "iob": 0.947, + "activity": 0.0107, + "date": 1653178449000 + }, + { + "iob": 0.844, + "activity": 0.0106, + "date": 1653178750000 + }, + { + "iob": 0.741, + "activity": 0.0104, + "date": 1653179050000 + }, + { + "iob": 0.59, + "activity": 0.0099, + "date": 1653179350000 + }, + { + "iob": 0.542, + "activity": 0.0093, + "date": 1653179649000 + }, + { + "iob": 0.497, + "activity": 0.0087, + "date": 1653179949000 + }, + { + "iob": 0.456, + "activity": 0.0081, + "date": 1653180250000 + }, + { + "iob": 0.516, + "activity": 0.0077, + "date": 1653180549000 + }, + { + "iob": 0.429, + "activity": 0.0072, + "date": 1653180849000 + }, + { + "iob": 0.294, + "activity": 0.0066, + "date": 1653181150000 + }, + { + "iob": 0.163, + "activity": 0.0058, + "date": 1653181450000 + }, + { + "iob": 0.037, + "activity": 0.0049, + "date": 1653181750000 + }, + { + "iob": -0.085, + "activity": 0.0039, + "date": 1653182050000 + }, + { + "iob": -0.153, + "activity": 0.0029, + "date": 1653182349000 + }, + { + "iob": -0.265, + "activity": 0.0018, + "date": 1653182650000 + }, + { + "iob": -0.371, + "activity": 0.0007, + "date": 1653182949000 + }, + { + "iob": -0.471, + "activity": -0.0005, + "date": 1653183249000 + }, + { + "iob": -0.566, + "activity": -0.0016, + "date": 1653183550000 + }, + { + "iob": -0.606, + "activity": -0.0026, + "date": 1653183850000 + }, + { + "iob": -0.64, + "activity": -0.0036, + "date": 1653184150000 + }, + { + "iob": -0.67, + "activity": -0.0044, + "date": 1653184450000 + } +] + diff --git a/plugins/main/src/test/res/autotune/test3/profile.pump.json b/plugins/aps/src/test/res/autotune/test3/profile.pump.json similarity index 100% rename from plugins/main/src/test/res/autotune/test3/profile.pump.json rename to plugins/aps/src/test/res/autotune/test3/profile.pump.json diff --git a/plugins/aps/src/test/res/autotune/test4/autotune.2022-05-30.json b/plugins/aps/src/test/res/autotune/test4/autotune.2022-05-30.json new file mode 100644 index 0000000000..11f806cec6 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test4/autotune.2022-05-30.json @@ -0,0 +1,4071 @@ +{ + "CRData": [ + { + "CRInitialIOB": -0.087, + "CRInitialBG": 92, + "CRInitialCarbTime": "2022-05-30T06:09:21.000Z", + "CREndIOB": 0.396, + "CREndBG": 131, + "CREndTime": "2022-05-30T09:29:21.000Z", + "CRCarbs": 75, + "CRInsulin": 14.47 + }, + { + "CRInitialIOB": -0.454, + "CRInitialBG": 77, + "CRInitialCarbTime": "2022-05-30T10:44:21.000Z", + "CREndIOB": 0.339, + "CREndBG": 100, + "CREndTime": "2022-05-30T14:14:22.000Z", + "CRCarbs": 50, + "CRInsulin": 10.84 + }, + { + "CRInitialIOB": -0.947, + "CRInitialBG": 87, + "CRInitialCarbTime": "2022-05-30T16:04:22.000Z", + "CREndIOB": -0.346, + "CREndBG": 130, + "CREndTime": "2022-05-30T17:44:22.000Z", + "CRCarbs": 10, + "CRInsulin": 0.01 + } + ], + "CSFGlucoseData": [ + { + "_id": "62945faad2cadd0004350d89", + "device": "AndroidAPS-DexcomG6", + "date": 1653890961000, + "dateString": "2022-05-30T06:09:21.000Z", + "isValid": true, + "sgv": 92, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T06:09:46.664Z", + "glucose": 92, + "avgDelta": "-0.50", + "BGI": -0.62, + "deviation": "0.12", + "mealAbsorption": "start", + "mealCarbs": 75 + }, + { + "_id": "629460cdb82b320004ef5ec4", + "device": "AndroidAPS-DexcomG6", + "date": 1653891261000, + "dateString": "2022-05-30T06:14:21.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T06:14:37.040Z", + "glucose": 101, + "avgDelta": "2.25", + "BGI": -0.42, + "deviation": "2.67", + "mealCarbs": 75 + }, + { + "_id": "62946214b82b320004ef5ec6", + "device": "AndroidAPS-DexcomG6", + "date": 1653891561000, + "dateString": "2022-05-30T06:19:21.000Z", + "isValid": true, + "sgv": 118, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T06:20:04.840Z", + "glucose": 118, + "avgDelta": "7.00", + "BGI": -0.21, + "deviation": "7.21", + "mealCarbs": 75 + }, + { + "_id": "6294632ab82b320004ef5ecc", + "device": "AndroidAPS-DexcomG6", + "date": 1653891861000, + "dateString": "2022-05-30T06:24:21.000Z", + "isValid": true, + "sgv": 137, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T06:24:42.093Z", + "glucose": 137, + "avgDelta": "12.00", + "BGI": -12.66, + "deviation": "24.66", + "mealCarbs": 75 + }, + { + "_id": "62946458b82b320004ef5ecf", + "device": "AndroidAPS-DexcomG6", + "date": 1653892161000, + "dateString": "2022-05-30T06:29:21.000Z", + "isValid": true, + "sgv": 157, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T06:29:44.223Z", + "glucose": 157, + "avgDelta": "16.25", + "BGI": -25.36, + "deviation": "41.61", + "mealCarbs": 75 + }, + { + "_id": "62946586b82b320004ef5ed1", + "device": "AndroidAPS-DexcomG6", + "date": 1653892461000, + "dateString": "2022-05-30T06:34:21.000Z", + "isValid": true, + "sgv": 173, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T06:34:46.169Z", + "glucose": 173, + "avgDelta": "18.00", + "BGI": -35.2, + "deviation": "53.20", + "mealCarbs": 75 + }, + { + "_id": "629466b3b82b320004ef5ed3", + "device": "AndroidAPS-DexcomG6", + "date": 1653892761000, + "dateString": "2022-05-30T06:39:21.000Z", + "isValid": true, + "sgv": 185, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T06:39:47.469Z", + "glucose": 185, + "avgDelta": "16.75", + "BGI": -42.67, + "deviation": "59.42", + "mealCarbs": 75 + }, + { + "_id": "629467e1b82b320004ef5ed5", + "device": "AndroidAPS-DexcomG6", + "date": 1653893061000, + "dateString": "2022-05-30T06:44:21.000Z", + "isValid": true, + "sgv": 193, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T06:44:49.181Z", + "glucose": 193, + "avgDelta": "14.00", + "BGI": -48.07, + "deviation": "62.07", + "mealCarbs": 75 + }, + { + "_id": "629469166e1b8e0004363dfc", + "device": "AndroidAPS-DexcomG6", + "date": 1653893361000, + "dateString": "2022-05-30T06:49:21.000Z", + "isValid": true, + "sgv": 198, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T06:49:58.419Z", + "glucose": 198, + "avgDelta": "10.25", + "BGI": -51.84, + "deviation": "62.09", + "mealCarbs": 75 + }, + { + "_id": "62946a5e6e1b8e0004363dfe", + "device": "AndroidAPS-DexcomG6", + "date": 1653893661000, + "dateString": "2022-05-30T06:54:21.000Z", + "isValid": true, + "sgv": 201, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T06:55:26.117Z", + "glucose": 201, + "avgDelta": "7.00", + "BGI": -54.17, + "deviation": "61.17", + "mealCarbs": 75 + }, + { + "_id": "62946b8a6e1b8e0004363e01", + "device": "AndroidAPS-DexcomG6", + "date": 1653893961000, + "dateString": "2022-05-30T06:59:21.000Z", + "isValid": true, + "sgv": 203, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T07:00:26.210Z", + "glucose": 203, + "avgDelta": "4.50", + "BGI": -55.41, + "deviation": "59.91", + "mealCarbs": 75 + }, + { + "_id": "62946c9e6e1b8e0004363e03", + "device": "AndroidAPS-DexcomG6", + "date": 1653894260000, + "dateString": "2022-05-30T07:04:20.000Z", + "isValid": true, + "sgv": 203, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:05:02.549Z", + "glucose": 203, + "avgDelta": "2.50", + "BGI": -55.7, + "deviation": "58.20", + "mealCarbs": 75 + }, + { + "_id": "62946db36e1b8e0004363e05", + "device": "AndroidAPS-DexcomG6", + "date": 1653894562000, + "dateString": "2022-05-30T07:09:22.000Z", + "isValid": true, + "sgv": 202, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:09:39.329Z", + "glucose": 202, + "avgDelta": "1.00", + "BGI": -55.25, + "deviation": "56.25", + "mealCarbs": 75 + }, + { + "_id": "62946ee06e1b8e0004363e07", + "device": "AndroidAPS-DexcomG6", + "date": 1653894861000, + "dateString": "2022-05-30T07:14:21.000Z", + "isValid": true, + "sgv": 201, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:14:40.201Z", + "glucose": 201, + "avgDelta": "0.00", + "BGI": -54.21, + "deviation": "54.21", + "mealCarbs": 75 + }, + { + "_id": "6294700d6e1b8e0004363e09", + "device": "AndroidAPS-DexcomG6", + "date": 1653895162000, + "dateString": "2022-05-30T07:19:22.000Z", + "isValid": true, + "sgv": 202, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:19:41.498Z", + "glucose": 202, + "avgDelta": "-0.25", + "BGI": -52.63, + "deviation": "52.38", + "mealCarbs": 75 + }, + { + "_id": "629471377e1237000471bf42", + "device": "AndroidAPS-DexcomG6", + "date": 1653895461000, + "dateString": "2022-05-30T07:24:21.000Z", + "isValid": true, + "sgv": 204, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:24:39.113Z", + "glucose": 204, + "avgDelta": "0.25", + "BGI": -50.76, + "deviation": "51.01", + "mealCarbs": 75 + }, + { + "_id": "629472647e1237000471bf44", + "device": "AndroidAPS-DexcomG6", + "date": 1653895761000, + "dateString": "2022-05-30T07:29:21.000Z", + "isValid": true, + "sgv": 208, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:29:40.917Z", + "glucose": 208, + "avgDelta": "1.50", + "BGI": -48.56, + "deviation": "50.06", + "mealCarbs": 75 + }, + { + "_id": "629473927e1237000471bf46", + "device": "AndroidAPS-DexcomG6", + "date": 1653896061000, + "dateString": "2022-05-30T07:34:21.000Z", + "isValid": true, + "sgv": 213, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:34:42.398Z", + "glucose": 213, + "avgDelta": "3.00", + "BGI": -46.24, + "deviation": "49.24", + "mealCarbs": 75 + }, + { + "_id": "629474c07e1237000471bf48", + "device": "AndroidAPS-DexcomG6", + "date": 1653896361000, + "dateString": "2022-05-30T07:39:21.000Z", + "isValid": true, + "sgv": 217, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:39:44.449Z", + "glucose": 217, + "avgDelta": "3.75", + "BGI": -43.87, + "deviation": "47.62", + "mealCarbs": 75 + }, + { + "_id": "629475ed7e1237000471bf4a", + "device": "AndroidAPS-DexcomG6", + "date": 1653896662000, + "dateString": "2022-05-30T07:44:22.000Z", + "isValid": true, + "sgv": 218, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:44:45.778Z", + "glucose": 218, + "avgDelta": "3.50", + "BGI": -41.47, + "deviation": "44.97", + "mealCarbs": 75 + }, + { + "_id": "6294771a7e1237000471bf4c", + "device": "AndroidAPS-DexcomG6", + "date": 1653896961000, + "dateString": "2022-05-30T07:49:21.000Z", + "isValid": true, + "sgv": 219, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:49:46.684Z", + "glucose": 219, + "avgDelta": "2.75", + "BGI": -39.06, + "deviation": "41.81", + "mealCarbs": 75 + }, + { + "_id": "629478477e1237000471bf4e", + "device": "AndroidAPS-DexcomG6", + "date": 1653897262000, + "dateString": "2022-05-30T07:54:22.000Z", + "isValid": true, + "sgv": 219, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:54:47.898Z", + "glucose": 219, + "avgDelta": "1.50", + "BGI": -36.69, + "deviation": "38.19", + "mealCarbs": 75 + }, + { + "_id": "62947975d10aeb0004cd3fe5", + "device": "AndroidAPS-DexcomG6", + "date": 1653897561000, + "dateString": "2022-05-30T07:59:21.000Z", + "isValid": true, + "sgv": 217, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T07:59:49.147Z", + "glucose": 217, + "avgDelta": "0.00", + "BGI": -33.21, + "deviation": "33.21", + "mealCarbs": 75 + }, + { + "_id": "62947aa2d10aeb0004cd3fe7", + "device": "AndroidAPS-DexcomG6", + "date": 1653897861000, + "dateString": "2022-05-30T08:04:21.000Z", + "isValid": true, + "sgv": 213, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:04:50.320Z", + "glucose": 213, + "avgDelta": "-1.25", + "BGI": -30.67, + "deviation": "29.42", + "mealCarbs": 75 + }, + { + "_id": "62947bcfd10aeb0004cd3fe9", + "device": "AndroidAPS-DexcomG6", + "date": 1653898161000, + "dateString": "2022-05-30T08:09:21.000Z", + "isValid": true, + "sgv": 209, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:09:51.204Z", + "glucose": 209, + "avgDelta": "-2.50", + "BGI": -28.22, + "deviation": "25.72", + "mealCarbs": 75 + }, + { + "_id": "62947cfcd10aeb0004cd3feb", + "device": "AndroidAPS-DexcomG6", + "date": 1653898461000, + "dateString": "2022-05-30T08:14:21.000Z", + "isValid": true, + "sgv": 207, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:14:52.631Z", + "glucose": 207, + "avgDelta": "-3.00", + "BGI": -25.86, + "deviation": "22.86", + "mealCarbs": 75 + }, + { + "_id": "62947e29d10aeb0004cd3fed", + "device": "AndroidAPS-DexcomG6", + "date": 1653898761000, + "dateString": "2022-05-30T08:19:21.000Z", + "isValid": true, + "sgv": 206, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:19:53.852Z", + "glucose": 206, + "avgDelta": "-2.75", + "BGI": -23.58, + "deviation": "20.83", + "mealCarbs": 75 + }, + { + "_id": "62947f56d10aeb0004cd3ff0", + "device": "AndroidAPS-DexcomG6", + "date": 1653899062000, + "dateString": "2022-05-30T08:24:22.000Z", + "isValid": true, + "sgv": 205, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:24:54.980Z", + "glucose": 205, + "avgDelta": "-2.00", + "BGI": -21.42, + "deviation": "19.42", + "mealCarbs": 75 + }, + { + "_id": "62948083d10aeb0004cd3ff4", + "device": "AndroidAPS-DexcomG6", + "date": 1653899361000, + "dateString": "2022-05-30T08:29:21.000Z", + "isValid": true, + "sgv": 202, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:29:55.869Z", + "glucose": 202, + "avgDelta": "-1.75", + "BGI": -19.47, + "deviation": "17.72", + "mealCarbs": 75 + }, + { + "_id": "629481a58ecbb3000401e2cd", + "device": "AndroidAPS-DexcomG6", + "date": 1653899661000, + "dateString": "2022-05-30T08:34:21.000Z", + "isValid": true, + "sgv": 199, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:34:45.627Z", + "glucose": 199, + "avgDelta": "-2.00", + "BGI": -17.72, + "deviation": "15.72", + "mealCarbs": 75 + }, + { + "_id": "629482d28ecbb3000401e2d0", + "device": "AndroidAPS-DexcomG6", + "date": 1653899961000, + "dateString": "2022-05-30T08:39:21.000Z", + "isValid": true, + "sgv": 197, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:39:46.821Z", + "glucose": 197, + "avgDelta": "-2.25", + "BGI": -16.02, + "deviation": "13.77", + "mealCarbs": 75 + }, + { + "_id": "629484008ecbb3000401e2d3", + "device": "AndroidAPS-DexcomG6", + "date": 1653900261000, + "dateString": "2022-05-30T08:44:21.000Z", + "isValid": true, + "sgv": 195, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:44:48.348Z", + "glucose": 195, + "avgDelta": "-2.50", + "BGI": -14.49, + "deviation": "11.99", + "mealCarbs": 75 + }, + { + "_id": "6294852d8ecbb3000401e2d7", + "device": "AndroidAPS-DexcomG6", + "date": 1653900561000, + "dateString": "2022-05-30T08:49:21.000Z", + "isValid": true, + "sgv": 193, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:49:49.550Z", + "glucose": 193, + "avgDelta": "-2.25", + "BGI": -13.28, + "deviation": "11.03", + "mealCarbs": 75 + }, + { + "_id": "6294865a8ecbb3000401e2da", + "device": "AndroidAPS-DexcomG6", + "date": 1653900861000, + "dateString": "2022-05-30T08:54:21.000Z", + "isValid": true, + "sgv": 189, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:54:50.449Z", + "glucose": 189, + "avgDelta": "-2.50", + "BGI": -12.2, + "deviation": "9.70", + "mealCarbs": 75 + }, + { + "_id": "629487878ecbb3000401e2dc", + "device": "AndroidAPS-DexcomG6", + "date": 1653901161000, + "dateString": "2022-05-30T08:59:21.000Z", + "isValid": true, + "sgv": 183, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T08:59:51.963Z", + "glucose": 183, + "avgDelta": "-3.50", + "BGI": -11.21, + "deviation": "7.71", + "mealCarbs": 75 + }, + { + "_id": "629488b58ecbb3000401e2de", + "device": "AndroidAPS-DexcomG6", + "date": 1653901461000, + "dateString": "2022-05-30T09:04:21.000Z", + "isValid": true, + "sgv": 175, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:04:53.220Z", + "glucose": 175, + "avgDelta": "-5.00", + "BGI": -10.29, + "deviation": "5.29", + "mealCarbs": 75 + }, + { + "_id": "62948a0776174b0004fbd21d", + "device": "AndroidAPS-DexcomG6", + "date": 1653901761000, + "dateString": "2022-05-30T09:09:21.000Z", + "isValid": true, + "sgv": 166, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:10:31.409Z", + "glucose": 166, + "avgDelta": "-6.75", + "BGI": -9.38, + "deviation": "2.63", + "mealCarbs": 75 + }, + { + "_id": "62948b0276174b0004fbd21f", + "device": "AndroidAPS-DexcomG6", + "date": 1653902061000, + "dateString": "2022-05-30T09:14:21.000Z", + "isValid": true, + "sgv": 156, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:14:42.378Z", + "glucose": 156, + "avgDelta": "-8.25", + "BGI": -8.47, + "deviation": "0.22", + "mealCarbs": 75 + }, + { + "_id": "62948c4876174b0004fbd222", + "device": "AndroidAPS-DexcomG6", + "date": 1653902361000, + "dateString": "2022-05-30T09:19:21.000Z", + "isValid": true, + "sgv": 146, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:20:08.645Z", + "glucose": 146, + "avgDelta": "-9.25", + "BGI": -7.6, + "deviation": "-1.65", + "mealCarbs": 0, + "mealAbsorption": "end" + }, + { + "_id": "6294a02dc2e464000413b7a6", + "device": "AndroidAPS-DexcomG6", + "date": 1653907461000, + "dateString": "2022-05-30T10:44:21.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:45:01.559Z", + "glucose": 77, + "avgDelta": "-1.25", + "BGI": 1.45, + "deviation": "-2.70", + "mealAbsorption": "start", + "mealCarbs": 50 + }, + { + "_id": "6294a15bc2e464000413b7a8", + "device": "AndroidAPS-DexcomG6", + "date": 1653907762000, + "dateString": "2022-05-30T10:49:22.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:50:03.007Z", + "glucose": 76, + "avgDelta": "-1.00", + "BGI": 1.66, + "deviation": "-2.66", + "mealCarbs": 50 + }, + { + "_id": "6294a274ac54000004308874", + "device": "AndroidAPS-DexcomG6", + "date": 1653908062000, + "dateString": "2022-05-30T10:54:22.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:54:44.532Z", + "glucose": 77, + "avgDelta": "-0.50", + "BGI": 1.78, + "deviation": "-2.28", + "mealCarbs": 50 + }, + { + "_id": "6294a3a3ac54000004308877", + "device": "AndroidAPS-DexcomG6", + "date": 1653908361000, + "dateString": "2022-05-30T10:59:21.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:59:47.232Z", + "glucose": 81, + "avgDelta": "0.75", + "BGI": 1.87, + "deviation": "-1.12", + "mealCarbs": 50 + }, + { + "_id": "6294a4d1ac5400000430887a", + "device": "AndroidAPS-DexcomG6", + "date": 1653908662000, + "dateString": "2022-05-30T11:04:22.000Z", + "isValid": true, + "sgv": 88, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T11:04:49.434Z", + "glucose": 88, + "avgDelta": "2.75", + "BGI": 1.95, + "deviation": "0.80", + "mealCarbs": 50 + }, + { + "_id": "6294a60eac5400000430887d", + "device": "AndroidAPS-DexcomG6", + "date": 1653908962000, + "dateString": "2022-05-30T11:09:22.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T11:10:06.733Z", + "glucose": 102, + "avgDelta": "6.50", + "BGI": 1.99, + "deviation": "4.51", + "mealCarbs": 50 + }, + { + "_id": "6294a723ac54000004308881", + "device": "AndroidAPS-DexcomG6", + "date": 1653909261000, + "dateString": "2022-05-30T11:14:21.000Z", + "isValid": true, + "sgv": 122, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T11:14:43.529Z", + "glucose": 122, + "avgDelta": "11.25", + "BGI": 1.66, + "deviation": "9.59", + "mealCarbs": 50 + }, + { + "_id": "6294a851ac54000004308883", + "device": "AndroidAPS-DexcomG6", + "date": 1653909561000, + "dateString": "2022-05-30T11:19:21.000Z", + "isValid": true, + "sgv": 146, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:19:45.466Z", + "glucose": 146, + "avgDelta": "16.25", + "BGI": 1, + "deviation": "15.25", + "mealCarbs": 50 + }, + { + "_id": "6294a97eac54000004308887", + "device": "AndroidAPS-DexcomG6", + "date": 1653909861000, + "dateString": "2022-05-30T11:24:21.000Z", + "isValid": true, + "sgv": 172, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:24:46.490Z", + "glucose": 172, + "avgDelta": "21.00", + "BGI": -0.46, + "deviation": "21.46", + "mealCarbs": 50 + }, + { + "_id": "6294aaabac5400000430888a", + "device": "AndroidAPS-DexcomG6", + "date": 1653910161000, + "dateString": "2022-05-30T11:29:21.000Z", + "isValid": true, + "sgv": 195, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:29:47.695Z", + "glucose": 195, + "avgDelta": "23.25", + "BGI": -2.2, + "deviation": "25.45", + "mealCarbs": 50 + }, + { + "_id": "6294abd9ac5400000430888e", + "device": "AndroidAPS-DexcomG6", + "date": 1653910462000, + "dateString": "2022-05-30T11:34:22.000Z", + "isValid": true, + "sgv": 215, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:34:49.146Z", + "glucose": 215, + "avgDelta": "23.25", + "BGI": -3.86, + "deviation": "27.11", + "mealCarbs": 50 + }, + { + "_id": "6294ad1b0f39100004ec41e2", + "device": "AndroidAPS-DexcomG6", + "date": 1653910761000, + "dateString": "2022-05-30T11:39:21.000Z", + "isValid": true, + "sgv": 230, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:40:11.205Z", + "glucose": 230, + "avgDelta": "21.00", + "BGI": -5.27, + "deviation": "26.27", + "mealCarbs": 50 + }, + { + "_id": "6294ae2f0f39100004ec41e7", + "device": "AndroidAPS-DexcomG6", + "date": 1653911061000, + "dateString": "2022-05-30T11:44:21.000Z", + "isValid": true, + "sgv": 240, + "direction": "DoubleUp", + "type": "sgv", + "created_at": "2022-05-30T11:44:47.323Z", + "glucose": 240, + "avgDelta": "17.00", + "BGI": -14.24, + "deviation": "31.24", + "mealCarbs": 50 + }, + { + "_id": "6294af5c0f39100004ec41ed", + "device": "AndroidAPS-DexcomG6", + "date": 1653911361000, + "dateString": "2022-05-30T11:49:21.000Z", + "isValid": true, + "sgv": 246, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T11:49:48.926Z", + "glucose": 246, + "avgDelta": "12.75", + "BGI": -22.99, + "deviation": "35.74", + "mealCarbs": 50 + }, + { + "_id": "6294b08a0f39100004ec41ef", + "device": "AndroidAPS-DexcomG6", + "date": 1653911662000, + "dateString": "2022-05-30T11:54:22.000Z", + "isValid": true, + "sgv": 249, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T11:54:50.545Z", + "glucose": 249, + "avgDelta": "8.50", + "BGI": -29.72, + "deviation": "38.22", + "mealCarbs": 50 + }, + { + "_id": "6294b1d10f39100004ec41f1", + "device": "AndroidAPS-DexcomG6", + "date": 1653911961000, + "dateString": "2022-05-30T11:59:21.000Z", + "isValid": true, + "sgv": 251, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T12:00:17.223Z", + "glucose": 251, + "avgDelta": "5.25", + "BGI": -34.7, + "deviation": "39.95", + "mealCarbs": 50 + }, + { + "_id": "6294b2e50f39100004ec41f3", + "device": "AndroidAPS-DexcomG6", + "date": 1653912261000, + "dateString": "2022-05-30T12:04:21.000Z", + "isValid": true, + "sgv": 251, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T12:04:53.216Z", + "glucose": 251, + "avgDelta": "2.75", + "BGI": -38.27, + "deviation": "41.02", + "mealCarbs": 50 + }, + { + "_id": "6294b4130f39100004ec41f5", + "device": "AndroidAPS-DexcomG6", + "date": 1653912562000, + "dateString": "2022-05-30T12:09:22.000Z", + "isValid": true, + "sgv": 248, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T12:09:55.708Z", + "glucose": 248, + "avgDelta": "0.50", + "BGI": -40.64, + "deviation": "41.14", + "mealCarbs": 50 + }, + { + "_id": "6294b53dff39db0004546852", + "device": "AndroidAPS-DexcomG6", + "date": 1653912862000, + "dateString": "2022-05-30T12:14:22.000Z", + "isValid": true, + "sgv": 242, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T12:14:53.986Z", + "glucose": 242, + "avgDelta": "-1.75", + "BGI": -42.05, + "deviation": "40.30", + "mealCarbs": 50 + }, + { + "_id": "6294b66bff39db0004546853", + "device": "AndroidAPS-DexcomG6", + "date": 1653913162000, + "dateString": "2022-05-30T12:19:22.000Z", + "isValid": true, + "sgv": 232, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T12:19:55.640Z", + "glucose": 232, + "avgDelta": "-4.75", + "BGI": -42.67, + "deviation": "37.92", + "mealCarbs": 50 + }, + { + "_id": "6294b799ff39db0004546858", + "device": "AndroidAPS-DexcomG6", + "date": 1653913462000, + "dateString": "2022-05-30T12:24:22.000Z", + "isValid": true, + "sgv": 223, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:24:57.749Z", + "glucose": 223, + "avgDelta": "-7.00", + "BGI": -42.63, + "deviation": "35.63", + "mealCarbs": 50 + }, + { + "_id": "6294b8c7ff39db000454685b", + "device": "AndroidAPS-DexcomG6", + "date": 1653913762000, + "dateString": "2022-05-30T12:29:22.000Z", + "isValid": true, + "sgv": 213, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:29:59.741Z", + "glucose": 213, + "avgDelta": "-8.75", + "BGI": -42.09, + "deviation": "33.34", + "mealCarbs": 50 + }, + { + "_id": "6294b9f6ff39db000454685e", + "device": "AndroidAPS-DexcomG6", + "date": 1653914062000, + "dateString": "2022-05-30T12:34:22.000Z", + "isValid": true, + "sgv": 203, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:35:02.052Z", + "glucose": 203, + "avgDelta": "-9.75", + "BGI": -41.09, + "deviation": "31.34", + "mealCarbs": 50 + }, + { + "_id": "6294bb0bff39db0004546861", + "device": "AndroidAPS-DexcomG6", + "date": 1653914362000, + "dateString": "2022-05-30T12:39:22.000Z", + "isValid": true, + "sgv": 195, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:39:39.194Z", + "glucose": 195, + "avgDelta": "-9.25", + "BGI": -39.72, + "deviation": "30.47", + "mealCarbs": 50 + }, + { + "_id": "6294bc52ff39db0004546864", + "device": "AndroidAPS-DexcomG6", + "date": 1653914661000, + "dateString": "2022-05-30T12:44:21.000Z", + "isValid": true, + "sgv": 188, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:45:06.129Z", + "glucose": 188, + "avgDelta": "-8.75", + "BGI": -38.19, + "deviation": "29.44", + "mealCarbs": 50 + }, + { + "_id": "6294bd7352bed20004c9a2ac", + "device": "AndroidAPS-DexcomG6", + "date": 1653914962000, + "dateString": "2022-05-30T12:49:22.000Z", + "isValid": true, + "sgv": 182, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:49:55.775Z", + "glucose": 182, + "avgDelta": "-7.75", + "BGI": -36.4, + "deviation": "28.65", + "mealCarbs": 50 + }, + { + "_id": "6294bea052bed20004c9a2af", + "device": "AndroidAPS-DexcomG6", + "date": 1653915262000, + "dateString": "2022-05-30T12:54:22.000Z", + "isValid": true, + "sgv": 176, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:54:56.765Z", + "glucose": 176, + "avgDelta": "-6.75", + "BGI": -34.41, + "deviation": "27.66", + "mealCarbs": 50 + }, + { + "_id": "6294bfce52bed20004c9a2b2", + "device": "AndroidAPS-DexcomG6", + "date": 1653915561000, + "dateString": "2022-05-30T12:59:21.000Z", + "isValid": true, + "sgv": 170, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T12:59:58.302Z", + "glucose": 170, + "avgDelta": "-6.25", + "BGI": -32.42, + "deviation": "26.17", + "mealCarbs": 50 + }, + { + "_id": "6294c0fb52bed20004c9a2b5", + "device": "AndroidAPS-DexcomG6", + "date": 1653915862000, + "dateString": "2022-05-30T13:04:22.000Z", + "isValid": true, + "sgv": 164, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:04:59.247Z", + "glucose": 164, + "avgDelta": "-6.00", + "BGI": -30.38, + "deviation": "24.38", + "mealCarbs": 50 + }, + { + "_id": "6294c22852bed20004c9a2b7", + "device": "AndroidAPS-DexcomG6", + "date": 1653916162000, + "dateString": "2022-05-30T13:09:22.000Z", + "isValid": true, + "sgv": 158, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:10:00.478Z", + "glucose": 158, + "avgDelta": "-6.00", + "BGI": -28.31, + "deviation": "22.31", + "mealCarbs": 50 + }, + { + "_id": "6294c35552bed20004c9a2ba", + "device": "AndroidAPS-DexcomG6", + "date": 1653916461000, + "dateString": "2022-05-30T13:14:21.000Z", + "isValid": true, + "sgv": 152, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:15:01.720Z", + "glucose": 152, + "avgDelta": "-6.00", + "BGI": -26.23, + "deviation": "20.23", + "mealCarbs": 50 + }, + { + "_id": "6294c48252bed20004c9a2bc", + "device": "AndroidAPS-DexcomG6", + "date": 1653916762000, + "dateString": "2022-05-30T13:19:22.000Z", + "isValid": true, + "sgv": 147, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:20:02.947Z", + "glucose": 147, + "avgDelta": "-5.75", + "BGI": -24.2, + "deviation": "18.45", + "mealCarbs": 50 + }, + { + "_id": "6294c5a6b8c0c10004ff0007", + "device": "AndroidAPS-DexcomG6", + "date": 1653917062000, + "dateString": "2022-05-30T13:24:22.000Z", + "isValid": true, + "sgv": 141, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:24:54.571Z", + "glucose": 141, + "avgDelta": "-5.75", + "BGI": -22.21, + "deviation": "16.46", + "mealCarbs": 50 + }, + { + "_id": "6294c6d3b8c0c10004ff0009", + "device": "AndroidAPS-DexcomG6", + "date": 1653917362000, + "dateString": "2022-05-30T13:29:22.000Z", + "isValid": true, + "sgv": 136, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:29:55.794Z", + "glucose": 136, + "avgDelta": "-5.50", + "BGI": -20.34, + "deviation": "14.84", + "mealCarbs": 50 + }, + { + "_id": "6294c801b8c0c10004ff000b", + "device": "AndroidAPS-DexcomG6", + "date": 1653917662000, + "dateString": "2022-05-30T13:34:22.000Z", + "isValid": true, + "sgv": 130, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:34:57.267Z", + "glucose": 130, + "avgDelta": "-5.50", + "BGI": -18.47, + "deviation": "12.97", + "mealCarbs": 50 + }, + { + "_id": "6294c92eb8c0c10004ff000d", + "device": "AndroidAPS-DexcomG6", + "date": 1653917962000, + "dateString": "2022-05-30T13:39:22.000Z", + "isValid": true, + "sgv": 126, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:39:58.439Z", + "glucose": 126, + "avgDelta": "-5.25", + "BGI": -16.73, + "deviation": "11.48", + "mealCarbs": 50 + }, + { + "_id": "6294ca5bb8c0c10004ff0010", + "device": "AndroidAPS-DexcomG6", + "date": 1653918262000, + "dateString": "2022-05-30T13:44:22.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T13:44:59.703Z", + "glucose": 121, + "avgDelta": "-5.00", + "BGI": -15.11, + "deviation": "10.11", + "mealCarbs": 50 + }, + { + "_id": "6294cb88b8c0c10004ff0012", + "device": "AndroidAPS-DexcomG6", + "date": 1653918561000, + "dateString": "2022-05-30T13:49:21.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T13:50:00.678Z", + "glucose": 117, + "avgDelta": "-4.75", + "BGI": -13.49, + "deviation": "8.74", + "mealCarbs": 50 + }, + { + "_id": "6294cc9cb8c0c10004ff0014", + "device": "AndroidAPS-DexcomG6", + "date": 1653918862000, + "dateString": "2022-05-30T13:54:22.000Z", + "isValid": true, + "sgv": 113, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T13:54:36.799Z", + "glucose": 113, + "avgDelta": "-4.25", + "BGI": -12.04, + "deviation": "7.79", + "mealCarbs": 50 + }, + { + "_id": "6294cdccdac1e20004fde58d", + "device": "AndroidAPS-DexcomG6", + "date": 1653919161000, + "dateString": "2022-05-30T13:59:21.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T13:59:40.487Z", + "glucose": 110, + "avgDelta": "-4.00", + "BGI": -10.63, + "deviation": "6.63", + "mealCarbs": 50 + }, + { + "_id": "6294cf12dac1e20004fde58f", + "device": "AndroidAPS-DexcomG6", + "date": 1653919462000, + "dateString": "2022-05-30T14:04:22.000Z", + "isValid": true, + "sgv": 106, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:05:06.902Z", + "glucose": 106, + "avgDelta": "-3.75", + "BGI": -9.26, + "deviation": "5.51", + "mealCarbs": 50 + }, + { + "_id": "6294d026dac1e20004fde592", + "device": "AndroidAPS-DexcomG6", + "date": 1653919761000, + "dateString": "2022-05-30T14:09:21.000Z", + "isValid": true, + "sgv": 103, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:09:42.740Z", + "glucose": 103, + "avgDelta": "-3.50", + "BGI": -7.97, + "deviation": "4.47", + "mealCarbs": 50 + }, + { + "_id": "6294d154dac1e20004fde594", + "device": "AndroidAPS-DexcomG6", + "date": 1653920062000, + "dateString": "2022-05-30T14:14:22.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:14:44.142Z", + "glucose": 100, + "avgDelta": "-3.25", + "BGI": -6.85, + "deviation": "3.60", + "mealCarbs": 0, + "mealAbsorption": "end" + }, + { + "_id": "6294eb2bb23f340004e841d8", + "device": "AndroidAPS-DexcomG6", + "date": 1653926662000, + "dateString": "2022-05-30T16:04:22.000Z", + "isValid": true, + "sgv": 87, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:04:59.310Z", + "glucose": 87, + "avgDelta": "2.25", + "BGI": 3.86, + "deviation": "-1.61", + "mealAbsorption": "start", + "mealCarbs": 10 + }, + { + "_id": "6294ec59b23f340004e841da", + "device": "AndroidAPS-DexcomG6", + "date": 1653926962000, + "dateString": "2022-05-30T16:09:22.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:10:01.438Z", + "glucose": 97, + "avgDelta": "4.50", + "BGI": 4.03, + "deviation": "0.47", + "mealCarbs": 10 + }, + { + "_id": "6294ed6eb23f340004e841de", + "device": "AndroidAPS-DexcomG6", + "date": 1653927262000, + "dateString": "2022-05-30T16:14:22.000Z", + "isValid": true, + "sgv": 111, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T16:14:38.319Z", + "glucose": 111, + "avgDelta": "7.50", + "BGI": 4.07, + "deviation": "3.43", + "mealCarbs": 10 + }, + { + "_id": "6294eeb5b23f340004e841e1", + "device": "AndroidAPS-DexcomG6", + "date": 1653927562000, + "dateString": "2022-05-30T16:19:22.000Z", + "isValid": true, + "sgv": 123, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T16:20:05.391Z", + "glucose": 123, + "avgDelta": "10.25", + "BGI": 3.94, + "deviation": "6.31", + "mealCarbs": 10 + }, + { + "_id": "6294efcab23f340004e841e5", + "device": "AndroidAPS-DexcomG6", + "date": 1653927861000, + "dateString": "2022-05-30T16:24:21.000Z", + "isValid": true, + "sgv": 131, + "direction": "SingleUp", + "type": "sgv", + "created_at": "2022-05-30T16:24:42.057Z", + "glucose": 131, + "avgDelta": "11.00", + "BGI": 3.49, + "deviation": "7.51", + "mealCarbs": 10 + }, + { + "_id": "6294f0f8b23f340004e841e8", + "device": "AndroidAPS-DexcomG6", + "date": 1653928161000, + "dateString": "2022-05-30T16:29:21.000Z", + "isValid": true, + "sgv": 133, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T16:29:44.123Z", + "glucose": 133, + "avgDelta": "9.00", + "BGI": 2.91, + "deviation": "6.09", + "mealCarbs": 10 + }, + { + "_id": "6294f23fb23f340004e841eb", + "device": "AndroidAPS-DexcomG6", + "date": 1653928462000, + "dateString": "2022-05-30T16:34:22.000Z", + "isValid": true, + "sgv": 132, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:35:11.666Z", + "glucose": 132, + "avgDelta": "5.25", + "BGI": 2.49, + "deviation": "2.76", + "mealCarbs": 10 + }, + { + "_id": "6294f35555b9dd00048a547a", + "device": "AndroidAPS-DexcomG6", + "date": 1653928761000, + "dateString": "2022-05-30T16:39:21.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:39:49.489Z", + "glucose": 128, + "avgDelta": "1.25", + "BGI": 2.2, + "deviation": "-0.95", + "mealCarbs": 10 + }, + { + "_id": "6294f4db55b9dd00048a547d", + "device": "AndroidAPS-DexcomG6", + "date": 1653929062000, + "dateString": "2022-05-30T16:44:22.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:46:19.989Z", + "glucose": 125, + "avgDelta": "-1.50", + "BGI": 1.95, + "deviation": "-3.45", + "mealCarbs": 10 + }, + { + "_id": "6294f5bd55b9dd00048a547f", + "device": "AndroidAPS-DexcomG6", + "date": 1653929361000, + "dateString": "2022-05-30T16:49:21.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:50:05.068Z", + "glucose": 123, + "avgDelta": "-2.50", + "BGI": 1.83, + "deviation": "-4.33", + "mealCarbs": 10 + }, + { + "_id": "6294f6ea55b9dd00048a5481", + "device": "AndroidAPS-DexcomG6", + "date": 1653929662000, + "dateString": "2022-05-30T16:54:22.000Z", + "isValid": true, + "sgv": 121, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:55:06.087Z", + "glucose": 121, + "avgDelta": "-2.75", + "BGI": 1.83, + "deviation": "-4.58", + "mealCarbs": 10 + }, + { + "_id": "6294f7fe55b9dd00048a5483", + "device": "AndroidAPS-DexcomG6", + "date": 1653929962000, + "dateString": "2022-05-30T16:59:22.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:59:42.653Z", + "glucose": 120, + "avgDelta": "-2.00", + "BGI": 1.78, + "deviation": "-3.78", + "mealCarbs": 10 + }, + { + "_id": "6294f92d55b9dd00048a5486", + "device": "AndroidAPS-DexcomG6", + "date": 1653930261000, + "dateString": "2022-05-30T17:04:21.000Z", + "isValid": true, + "sgv": 120, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:04:45.622Z", + "glucose": 120, + "avgDelta": "-1.25", + "BGI": 1.78, + "deviation": "-3.03", + "mealCarbs": 10 + }, + { + "_id": "6294fa6255b9dd00048a5488", + "device": "AndroidAPS-DexcomG6", + "date": 1653930562000, + "dateString": "2022-05-30T17:09:22.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:09:54.701Z", + "glucose": 119, + "avgDelta": "-1.00", + "BGI": 1.91, + "deviation": "-2.91", + "mealCarbs": 10 + }, + { + "_id": "6294fb9155b9dd00048a548a", + "device": "AndroidAPS-DexcomG6", + "date": 1653930862000, + "dateString": "2022-05-30T17:14:22.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:14:57.054Z", + "glucose": 119, + "avgDelta": "-0.50", + "BGI": 1.95, + "deviation": "-2.45", + "mealCarbs": 10 + }, + { + "_id": "6294fcbf55b9dd00048a548c", + "device": "AndroidAPS-DexcomG6", + "date": 1653931162000, + "dateString": "2022-05-30T17:19:22.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:19:59.153Z", + "glucose": 119, + "avgDelta": "-0.25", + "BGI": 1.99, + "deviation": "-2.24", + "mealCarbs": 10 + }, + { + "_id": "6294fded55b9dd00048a548e", + "device": "AndroidAPS-DexcomG6", + "date": 1653931462000, + "dateString": "2022-05-30T17:24:22.000Z", + "isValid": true, + "sgv": 121, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:25:01.436Z", + "glucose": 121, + "avgDelta": "0.25", + "BGI": 2.03, + "deviation": "-1.78", + "mealCarbs": 10 + }, + { + "_id": "6294ff1c55b9dd00048a5490", + "device": "AndroidAPS-DexcomG6", + "date": 1653931761000, + "dateString": "2022-05-30T17:29:21.000Z", + "isValid": true, + "sgv": 123, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:30:04.244Z", + "glucose": 123, + "avgDelta": "1.00", + "BGI": 1.99, + "deviation": "-0.99", + "mealCarbs": 10 + }, + { + "_id": "6295003055b9dd00048a5493", + "device": "AndroidAPS-DexcomG6", + "date": 1653932061000, + "dateString": "2022-05-30T17:34:21.000Z", + "isValid": true, + "sgv": 125, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:34:40.905Z", + "glucose": 125, + "avgDelta": "1.50", + "BGI": 1.95, + "deviation": "-0.45", + "mealCarbs": 10 + }, + { + "_id": "6295015e55b9dd00048a5495", + "device": "AndroidAPS-DexcomG6", + "date": 1653932362000, + "dateString": "2022-05-30T17:39:22.000Z", + "isValid": true, + "sgv": 127, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:39:42.833Z", + "glucose": 127, + "avgDelta": "2.00", + "BGI": 1.99, + "deviation": "0.01", + "mealCarbs": 10 + }, + { + "_id": "6295029d409703000484d1b7", + "device": "AndroidAPS-DexcomG6", + "date": 1653932662000, + "dateString": "2022-05-30T17:44:22.000Z", + "isValid": true, + "sgv": 130, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:45:01.816Z", + "glucose": 130, + "avgDelta": "2.25", + "BGI": 1.95, + "deviation": "0.30", + "mealCarbs": 0, + "mealAbsorption": "end" + }, + { + "_id": "62953178e3aedd00046f3879", + "device": "AndroidAPS-DexcomG6", + "date": 1653944662000, + "dateString": "2022-05-30T21:04:22.000Z", + "isValid": true, + "sgv": 163, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:04:56.492Z", + "glucose": 163, + "avgDelta": "-2.50", + "BGI": -6.64, + "deviation": "4.14", + "mealAbsorption": "start", + "mealCarbs": 35 + }, + { + "_id": "629532a6e3aedd00046f387c", + "device": "AndroidAPS-DexcomG6", + "date": 1653944962000, + "dateString": "2022-05-30T21:09:22.000Z", + "isValid": true, + "sgv": 161, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:09:58.543Z", + "glucose": 161, + "avgDelta": "-2.50", + "BGI": -11.7, + "deviation": "9.20", + "mealCarbs": 35 + }, + { + "_id": "629533d3e3aedd00046f387e", + "device": "AndroidAPS-DexcomG6", + "date": 1653945263000, + "dateString": "2022-05-30T21:14:23.000Z", + "isValid": true, + "sgv": 162, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:14:59.957Z", + "glucose": 162, + "avgDelta": "-1.75", + "BGI": -15.52, + "deviation": "13.77", + "mealCarbs": 35 + }, + { + "_id": "62953501e3aedd00046f3880", + "device": "AndroidAPS-DexcomG6", + "date": 1653945562000, + "dateString": "2022-05-30T21:19:22.000Z", + "isValid": true, + "sgv": 167, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:20:01.384Z", + "glucose": 167, + "avgDelta": "0.25", + "BGI": -18.39, + "deviation": "18.64", + "mealCarbs": 35 + }, + { + "_id": "6295362fe3aedd00046f3884", + "device": "AndroidAPS-DexcomG6", + "date": 1653945863000, + "dateString": "2022-05-30T21:24:23.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:25:03.893Z", + "glucose": 176, + "avgDelta": "3.25", + "BGI": -20.5, + "deviation": "23.75", + "mealCarbs": 35 + }, + { + "_id": "6295374986a3df0004eb44f6", + "device": "AndroidAPS-DexcomG6", + "date": 1653946162000, + "dateString": "2022-05-30T21:29:22.000Z", + "isValid": true, + "sgv": 187, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T21:29:45.117Z", + "glucose": 187, + "avgDelta": "6.50", + "BGI": -21.87, + "deviation": "28.37", + "mealCarbs": 35 + }, + { + "_id": "6295387786a3df0004eb44f9", + "device": "AndroidAPS-DexcomG6", + "date": 1653946462000, + "dateString": "2022-05-30T21:34:22.000Z", + "isValid": true, + "sgv": 192, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T21:34:47.953Z", + "glucose": 192, + "avgDelta": "7.50", + "BGI": -22.83, + "deviation": "30.33", + "mealCarbs": 35 + }, + { + "_id": "629539a586a3df0004eb44fb", + "device": "AndroidAPS-DexcomG6", + "date": 1653946762000, + "dateString": "2022-05-30T21:39:22.000Z", + "isValid": true, + "sgv": 188, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:39:49.822Z", + "glucose": 188, + "avgDelta": "5.25", + "BGI": -23.37, + "deviation": "28.62", + "mealCarbs": 35 + }, + { + "_id": "62953ad486a3df0004eb44fd", + "device": "AndroidAPS-DexcomG6", + "date": 1653947062000, + "dateString": "2022-05-30T21:44:22.000Z", + "isValid": true, + "sgv": 181, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:44:52.471Z", + "glucose": 181, + "avgDelta": "1.25", + "BGI": -23.33, + "deviation": "24.58", + "mealCarbs": 35 + }, + { + "_id": "62953c0286a3df0004eb4500", + "device": "AndroidAPS-DexcomG6", + "date": 1653947361000, + "dateString": "2022-05-30T21:49:21.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:49:54.555Z", + "glucose": 177, + "avgDelta": "-2.50", + "BGI": -23.08, + "deviation": "20.58", + "mealCarbs": 35 + }, + { + "_id": "62953d3086a3df0004eb4502", + "device": "AndroidAPS-DexcomG6", + "date": 1653947662000, + "dateString": "2022-05-30T21:54:22.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:54:56.505Z", + "glucose": 177, + "avgDelta": "-3.75", + "BGI": -22.5, + "deviation": "18.75", + "mealCarbs": 35 + }, + { + "_id": "62953e5d86a3df0004eb4504", + "device": "AndroidAPS-DexcomG6", + "date": 1653947962000, + "dateString": "2022-05-30T21:59:22.000Z", + "isValid": true, + "sgv": 181, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T21:59:57.963Z", + "glucose": 181, + "avgDelta": "-1.75", + "BGI": -21.71, + "deviation": "19.96", + "mealCarbs": 35 + }, + { + "_id": "62953f7e1ded00000454b737", + "device": "AndroidAPS-DexcomG6", + "date": 1653948262000, + "dateString": "2022-05-30T22:04:22.000Z", + "isValid": true, + "sgv": 185, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:04:46.798Z", + "glucose": 185, + "avgDelta": "1.00", + "BGI": -20.8, + "deviation": "21.80", + "mealCarbs": 35 + }, + { + "_id": "629540ac1ded00000454b739", + "device": "AndroidAPS-DexcomG6", + "date": 1653948562000, + "dateString": "2022-05-30T22:09:22.000Z", + "isValid": true, + "sgv": 188, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:09:48.384Z", + "glucose": 188, + "avgDelta": "2.75", + "BGI": -19.72, + "deviation": "22.47", + "mealCarbs": 35 + }, + { + "_id": "629541da1ded00000454b73d", + "device": "AndroidAPS-DexcomG6", + "date": 1653948861000, + "dateString": "2022-05-30T22:14:21.000Z", + "isValid": true, + "sgv": 189, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:14:50.845Z", + "glucose": 189, + "avgDelta": "3.00", + "BGI": -18.64, + "deviation": "21.64", + "mealCarbs": 35 + }, + { + "_id": "629543081ded00000454b740", + "device": "AndroidAPS-DexcomG6", + "date": 1653949162000, + "dateString": "2022-05-30T22:19:22.000Z", + "isValid": true, + "sgv": 188, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:19:52.210Z", + "glucose": 188, + "avgDelta": "1.75", + "BGI": -17.47, + "deviation": "19.22", + "mealCarbs": 35 + }, + { + "_id": "629544361ded00000454b742", + "device": "AndroidAPS-DexcomG6", + "date": 1653949462000, + "dateString": "2022-05-30T22:24:22.000Z", + "isValid": true, + "sgv": 186, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:24:54.381Z", + "glucose": 186, + "avgDelta": "0.25", + "BGI": -16.27, + "deviation": "16.52", + "mealCarbs": 35 + }, + { + "_id": "629545651ded00000454b744", + "device": "AndroidAPS-DexcomG6", + "date": 1653949762000, + "dateString": "2022-05-30T22:29:22.000Z", + "isValid": true, + "sgv": 183, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:29:57.528Z", + "glucose": 183, + "avgDelta": "-1.25", + "BGI": -15.03, + "deviation": "13.78", + "mealCarbs": 35 + }, + { + "_id": "629546941ded00000454b746", + "device": "AndroidAPS-DexcomG6", + "date": 1653950062000, + "dateString": "2022-05-30T22:34:22.000Z", + "isValid": true, + "sgv": 180, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:35:00.013Z", + "glucose": 180, + "avgDelta": "-2.25", + "BGI": -13.82, + "deviation": "11.57", + "mealCarbs": 35 + }, + { + "_id": "629547acf89bc40004df9f57", + "device": "AndroidAPS-DexcomG6", + "date": 1653950362000, + "dateString": "2022-05-30T22:39:22.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:39:40.750Z", + "glucose": 177, + "avgDelta": "-2.75", + "BGI": -12.58, + "deviation": "9.83", + "mealCarbs": 35 + }, + { + "_id": "629548f3f89bc40004df9f5a", + "device": "AndroidAPS-DexcomG6", + "date": 1653950662000, + "dateString": "2022-05-30T22:44:22.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:45:07.405Z", + "glucose": 174, + "avgDelta": "-3.00", + "BGI": -11.41, + "deviation": "8.41", + "mealCarbs": 35 + }, + { + "_id": "62954a21f89bc40004df9f5d", + "device": "AndroidAPS-DexcomG6", + "date": 1653950961000, + "dateString": "2022-05-30T22:49:21.000Z", + "isValid": true, + "sgv": 172, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:50:09.405Z", + "glucose": 172, + "avgDelta": "-2.75", + "BGI": -10.34, + "deviation": "7.59", + "mealCarbs": 35 + }, + { + "_id": "62954b36f89bc40004df9f60", + "device": "AndroidAPS-DexcomG6", + "date": 1653951262000, + "dateString": "2022-05-30T22:54:22.000Z", + "isValid": true, + "sgv": 170, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T22:54:46.692Z", + "glucose": 170, + "avgDelta": "-2.50", + "BGI": -9.3, + "deviation": "6.80", + "mealCarbs": 35 + }, + { + "_id": "6295687de4f1e400046e05b4", + "device": "AndroidAPS-DexcomG6", + "date": 1653958762000, + "dateString": "2022-05-31T00:59:22.000Z", + "isValid": true, + "sgv": 121, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-31T00:59:41.709Z", + "glucose": 121, + "avgDelta": "-14.00", + "BGI": -0.91, + "deviation": "-13.09", + "mealCarbs": 35 + }, + { + "_id": "629569abe4f1e400046e05b8", + "device": "AndroidAPS-DexcomG6", + "date": 1653959062000, + "dateString": "2022-05-31T01:04:22.000Z", + "isValid": true, + "sgv": 117, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-31T01:04:43.046Z", + "glucose": 117, + "avgDelta": "-14.25", + "BGI": -0.95, + "deviation": "-13.30", + "mealCarbs": 35 + }, + { + "_id": "62956adae4f1e400046e05bb", + "device": "AndroidAPS-DexcomG6", + "date": 1653959362000, + "dateString": "2022-05-31T01:09:22.000Z", + "isValid": true, + "sgv": 112, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-31T01:09:46.322Z", + "glucose": 112, + "avgDelta": "-15.00", + "BGI": -1, + "deviation": "-14.00", + "mealCarbs": 35 + }, + { + "_id": "62956c07e4f1e400046e05be", + "device": "AndroidAPS-DexcomG6", + "date": 1653959662000, + "dateString": "2022-05-31T01:14:22.000Z", + "isValid": true, + "sgv": 108, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-31T01:14:47.990Z", + "glucose": 108, + "avgDelta": "-15.50", + "BGI": -1, + "deviation": "-14.50", + "mealCarbs": 35 + }, + { + "_id": "62956d35e4f1e400046e05c1", + "device": "AndroidAPS-DexcomG6", + "date": 1653959962000, + "dateString": "2022-05-31T01:19:22.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:19:49.260Z", + "glucose": 105, + "avgDelta": "-4.00", + "BGI": -0.91, + "deviation": "-3.09", + "mealCarbs": 35 + }, + { + "_id": "62956e62e4f1e400046e05c3", + "device": "AndroidAPS-DexcomG6", + "date": 1653960262000, + "dateString": "2022-05-31T01:24:22.000Z", + "isValid": true, + "sgv": 107, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:24:50.951Z", + "glucose": 107, + "avgDelta": "-2.50", + "BGI": -0.75, + "deviation": "-1.75", + "mealCarbs": 35 + }, + { + "_id": "62956f90e4f1e400046e05c7", + "device": "AndroidAPS-DexcomG6", + "date": 1653960561000, + "dateString": "2022-05-31T01:29:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:29:52.070Z", + "glucose": 112, + "avgDelta": "0.00", + "BGI": -0.54, + "deviation": "0.54", + "mealCarbs": 35 + }, + { + "_id": "629570bb9bc0370004b42b77", + "device": "AndroidAPS-DexcomG6", + "date": 1653960862000, + "dateString": "2022-05-31T01:34:22.000Z", + "isValid": true, + "sgv": 116, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:34:51.145Z", + "glucose": 116, + "avgDelta": "2.00", + "BGI": -0.5, + "deviation": "2.50", + "mealCarbs": 35 + }, + { + "_id": "629571e89bc0370004b42b7a", + "device": "AndroidAPS-DexcomG6", + "date": 1653961162000, + "dateString": "2022-05-31T01:39:22.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:39:52.509Z", + "glucose": 119, + "avgDelta": "3.50", + "BGI": -0.58, + "deviation": "4.08", + "mealCarbs": 35 + }, + { + "_id": "629573159bc0370004b42b7d", + "device": "AndroidAPS-DexcomG6", + "date": 1653961462000, + "dateString": "2022-05-31T01:44:22.000Z", + "isValid": true, + "sgv": 117, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:44:53.650Z", + "glucose": 117, + "avgDelta": "2.50", + "BGI": -0.71, + "deviation": "3.21", + "mealCarbs": 35 + }, + { + "_id": "629574429bc0370004b42b80", + "device": "AndroidAPS-DexcomG6", + "date": 1653961763000, + "dateString": "2022-05-31T01:49:23.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:49:54.739Z", + "glucose": 112, + "avgDelta": "0.00", + "BGI": -0.83, + "deviation": "0.83", + "mealCarbs": 35 + }, + { + "_id": "6295756f9bc0370004b42b83", + "device": "AndroidAPS-DexcomG6", + "date": 1653962062000, + "dateString": "2022-05-31T01:54:22.000Z", + "isValid": true, + "sgv": 103, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-31T01:54:55.893Z", + "glucose": 103, + "avgDelta": "-3.25", + "BGI": -0.83, + "deviation": "-2.42", + "mealCarbs": 35 + } + ], + "ISFGlucoseData": [ + { + "_id": "62943b53a743da00044e28e2", + "device": "AndroidAPS-DexcomG6", + "date": 1653881661000, + "dateString": "2022-05-30T03:34:21.000Z", + "isValid": true, + "sgv": 131, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:34:43.850Z", + "glucose": 131, + "avgDelta": "1.50", + "BGI": -1.62, + "deviation": "3.12" + }, + { + "_id": "62943c81a743da00044e28e5", + "device": "AndroidAPS-DexcomG6", + "date": 1653881961000, + "dateString": "2022-05-30T03:39:21.000Z", + "isValid": true, + "sgv": 128, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:39:45.390Z", + "glucose": 128, + "avgDelta": "0.00", + "BGI": -2.32, + "deviation": "2.32" + }, + { + "_id": "62943daea743da00044e28e7", + "device": "AndroidAPS-DexcomG6", + "date": 1653882261000, + "dateString": "2022-05-30T03:44:21.000Z", + "isValid": true, + "sgv": 126, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:44:46.579Z", + "glucose": 126, + "avgDelta": "-1.25", + "BGI": -2.78, + "deviation": "1.53" + }, + { + "_id": "62943edca743da00044e28e9", + "device": "AndroidAPS-DexcomG6", + "date": 1653882561000, + "dateString": "2022-05-30T03:49:21.000Z", + "isValid": true, + "sgv": 124, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:49:48.266Z", + "glucose": 124, + "avgDelta": "-1.75", + "BGI": -3.07, + "deviation": "1.32" + }, + { + "_id": "6294400aa743da00044e28eb", + "device": "AndroidAPS-DexcomG6", + "date": 1653882861000, + "dateString": "2022-05-30T03:54:21.000Z", + "isValid": true, + "sgv": 121, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:54:50.162Z", + "glucose": 121, + "avgDelta": "-2.50", + "BGI": -3.15, + "deviation": "0.65" + }, + { + "_id": "6294413fc319020004344fb0", + "device": "AndroidAPS-DexcomG6", + "date": 1653883161000, + "dateString": "2022-05-30T03:59:21.000Z", + "isValid": true, + "sgv": 119, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:59:59.474Z", + "glucose": 119, + "avgDelta": "-2.25", + "BGI": -3.15, + "deviation": "0.90" + }, + { + "_id": "6294426dc319020004344fb4", + "device": "AndroidAPS-DexcomG6", + "date": 1653883461000, + "dateString": "2022-05-30T04:04:21.000Z", + "isValid": true, + "sgv": 116, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:05:01.284Z", + "glucose": 116, + "avgDelta": "-2.50", + "BGI": -3.07, + "deviation": "0.57" + }, + { + "_id": "6294439ac319020004344fb7", + "device": "AndroidAPS-DexcomG6", + "date": 1653883761000, + "dateString": "2022-05-30T04:09:21.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:10:02.526Z", + "glucose": 115, + "avgDelta": "-2.25", + "BGI": -2.95, + "deviation": "0.70" + }, + { + "_id": "629444afc319020004344fba", + "device": "AndroidAPS-DexcomG6", + "date": 1653884061000, + "dateString": "2022-05-30T04:14:21.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:14:39.235Z", + "glucose": 114, + "avgDelta": "-1.75", + "BGI": -2.82, + "deviation": "1.07" + }, + { + "_id": "629445f6c319020004344fbe", + "device": "AndroidAPS-DexcomG6", + "date": 1653884361000, + "dateString": "2022-05-30T04:19:21.000Z", + "isValid": true, + "sgv": 115, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:20:06.094Z", + "glucose": 115, + "avgDelta": "-1.00", + "BGI": -2.78, + "deviation": "1.78" + }, + { + "_id": "6294470ac319020004344fc1", + "device": "AndroidAPS-DexcomG6", + "date": 1653884661000, + "dateString": "2022-05-30T04:24:21.000Z", + "isValid": true, + "sgv": 114, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:24:42.523Z", + "glucose": 114, + "avgDelta": "-0.50", + "BGI": -2.82, + "deviation": "2.32" + }, + { + "_id": "62944846c0f24700048ea5e4", + "device": "AndroidAPS-DexcomG6", + "date": 1653884961000, + "dateString": "2022-05-30T04:29:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:29:58.536Z", + "glucose": 112, + "avgDelta": "-0.75", + "BGI": -2.99, + "deviation": "2.24" + }, + { + "_id": "62944973c0f24700048ea5e7", + "device": "AndroidAPS-DexcomG6", + "date": 1653885261000, + "dateString": "2022-05-30T04:34:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:34:59.937Z", + "glucose": 112, + "avgDelta": "-0.50", + "BGI": -3.03, + "deviation": "2.53" + }, + { + "_id": "62944aa1c0f24700048ea5e9", + "device": "AndroidAPS-DexcomG6", + "date": 1653885561000, + "dateString": "2022-05-30T04:39:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:40:01.830Z", + "glucose": 112, + "avgDelta": "-0.75", + "BGI": -2.99, + "deviation": "2.24" + }, + { + "_id": "62944bb6c0f24700048ea5ee", + "device": "AndroidAPS-DexcomG6", + "date": 1653885861000, + "dateString": "2022-05-30T04:44:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:44:38.372Z", + "glucose": 112, + "avgDelta": "-0.50", + "BGI": -3.03, + "deviation": "2.53" + }, + { + "_id": "62944ce3c0f24700048ea5f1", + "device": "AndroidAPS-DexcomG6", + "date": 1653886161000, + "dateString": "2022-05-30T04:49:21.000Z", + "isValid": true, + "sgv": 110, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:49:39.435Z", + "glucose": 110, + "avgDelta": "-0.50", + "BGI": -3.11, + "deviation": "2.61" + }, + { + "_id": "62944e11c0f24700048ea5f3", + "device": "AndroidAPS-DexcomG6", + "date": 1653886461000, + "dateString": "2022-05-30T04:54:21.000Z", + "isValid": true, + "sgv": 108, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:54:41.186Z", + "glucose": 108, + "avgDelta": "-1.00", + "BGI": -3.07, + "deviation": "2.07" + }, + { + "_id": "62944f3fc0f24700048ea5f6", + "device": "AndroidAPS-DexcomG6", + "date": 1653886761000, + "dateString": "2022-05-30T04:59:21.000Z", + "isValid": true, + "sgv": 105, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T04:59:43.617Z", + "glucose": 105, + "avgDelta": "-1.75", + "BGI": -2.95, + "deviation": "1.20" + }, + { + "_id": "6294506dc0f24700048ea5f8", + "device": "AndroidAPS-DexcomG6", + "date": 1653887061000, + "dateString": "2022-05-30T05:04:21.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:04:45.582Z", + "glucose": 102, + "avgDelta": "-2.50", + "BGI": -2.82, + "deviation": "0.32" + }, + { + "_id": "629451ab13be4d00048f99d4", + "device": "AndroidAPS-DexcomG6", + "date": 1653887361000, + "dateString": "2022-05-30T05:09:21.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:10:03.174Z", + "glucose": 99, + "avgDelta": "-2.75", + "BGI": -2.66, + "deviation": "-0.09" + }, + { + "_id": "629452bf13be4d00048f99d7", + "device": "AndroidAPS-DexcomG6", + "date": 1653887661000, + "dateString": "2022-05-30T05:14:21.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:14:39.295Z", + "glucose": 98, + "avgDelta": "-2.50", + "BGI": -2.45, + "deviation": "-0.05" + }, + { + "_id": "6294540513be4d00048f99d9", + "device": "AndroidAPS-DexcomG6", + "date": 1653887961000, + "dateString": "2022-05-30T05:19:21.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:20:05.981Z", + "glucose": 99, + "avgDelta": "-1.50", + "BGI": -2.2, + "deviation": "0.70" + }, + { + "_id": "6294551a13be4d00048f99dd", + "device": "AndroidAPS-DexcomG6", + "date": 1653888261000, + "dateString": "2022-05-30T05:24:21.000Z", + "isValid": true, + "sgv": 100, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:24:42.074Z", + "glucose": 100, + "avgDelta": "-0.50", + "BGI": -1.99, + "deviation": "1.49" + }, + { + "_id": "6294564813be4d00048f99e0", + "device": "AndroidAPS-DexcomG6", + "date": 1653888561000, + "dateString": "2022-05-30T05:29:21.000Z", + "isValid": true, + "sgv": 101, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:29:44.188Z", + "glucose": 101, + "avgDelta": "0.50", + "BGI": -1.99, + "deviation": "2.49" + }, + { + "_id": "6294577513be4d00048f99e3", + "device": "AndroidAPS-DexcomG6", + "date": 1653888862000, + "dateString": "2022-05-30T05:34:22.000Z", + "isValid": true, + "sgv": 99, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:34:45.547Z", + "glucose": 99, + "avgDelta": "0.25", + "BGI": -1.91, + "deviation": "2.16" + }, + { + "_id": "629458b0d2cadd0004350d76", + "device": "AndroidAPS-DexcomG6", + "date": 1653889161000, + "dateString": "2022-05-30T05:39:21.000Z", + "isValid": true, + "sgv": 98, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:40:00.401Z", + "glucose": 98, + "avgDelta": "-0.25", + "BGI": -1.83, + "deviation": "1.58" + }, + { + "_id": "629459ddd2cadd0004350d7a", + "device": "AndroidAPS-DexcomG6", + "date": 1653889461000, + "dateString": "2022-05-30T05:44:21.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:45:01.449Z", + "glucose": 96, + "avgDelta": "-1.00", + "BGI": -1.66, + "deviation": "0.66" + }, + { + "_id": "62945b0bd2cadd0004350d7d", + "device": "AndroidAPS-DexcomG6", + "date": 1653889761000, + "dateString": "2022-05-30T05:49:21.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:50:03.127Z", + "glucose": 94, + "avgDelta": "-1.75", + "BGI": -1.49, + "deviation": "-0.26" + }, + { + "_id": "62948d5d76174b0004fbd225", + "device": "AndroidAPS-DexcomG6", + "date": 1653902661000, + "dateString": "2022-05-30T09:24:21.000Z", + "isValid": true, + "sgv": 138, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:24:45.006Z", + "glucose": 138, + "avgDelta": "-9.25", + "BGI": -6.77, + "deviation": "-2.48" + }, + { + "_id": "62948ebc76174b0004fbd227", + "device": "AndroidAPS-DexcomG6", + "date": 1653902961000, + "dateString": "2022-05-30T09:29:21.000Z", + "isValid": true, + "sgv": 131, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:30:36.089Z", + "glucose": 131, + "avgDelta": "-8.75", + "BGI": -5.94, + "deviation": "-2.81" + }, + { + "_id": "62948fb776174b0004fbd229", + "device": "AndroidAPS-DexcomG6", + "date": 1653903261000, + "dateString": "2022-05-30T09:34:21.000Z", + "isValid": true, + "sgv": 125, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:34:47.315Z", + "glucose": 125, + "avgDelta": "-7.75", + "BGI": -5.19, + "deviation": "-2.56" + }, + { + "_id": "629490e476174b0004fbd22b", + "device": "AndroidAPS-DexcomG6", + "date": 1653903561000, + "dateString": "2022-05-30T09:39:21.000Z", + "isValid": true, + "sgv": 119, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:39:48.475Z", + "glucose": 119, + "avgDelta": "-6.75", + "BGI": -4.44, + "deviation": "-2.31" + }, + { + "_id": "6294920b5989a90004f0c223", + "device": "AndroidAPS-DexcomG6", + "date": 1653903861000, + "dateString": "2022-05-30T09:44:21.000Z", + "isValid": true, + "sgv": 112, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:44:43.997Z", + "glucose": 112, + "avgDelta": "-6.50", + "BGI": -3.65, + "deviation": "-2.85" + }, + { + "_id": "629493395989a90004f0c225", + "device": "AndroidAPS-DexcomG6", + "date": 1653904161000, + "dateString": "2022-05-30T09:49:21.000Z", + "isValid": true, + "sgv": 107, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:49:45.193Z", + "glucose": 107, + "avgDelta": "-6.00", + "BGI": -2.99, + "deviation": "-3.01" + }, + { + "_id": "629494665989a90004f0c228", + "device": "AndroidAPS-DexcomG6", + "date": 1653904461000, + "dateString": "2022-05-30T09:54:21.000Z", + "isValid": true, + "sgv": 102, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T09:54:46.582Z", + "glucose": 102, + "avgDelta": "-5.75", + "BGI": -2.32, + "deviation": "-3.43" + }, + { + "_id": "629495ac5989a90004f0c22a", + "device": "AndroidAPS-DexcomG6", + "date": 1653904761000, + "dateString": "2022-05-30T09:59:21.000Z", + "isValid": true, + "sgv": 99, + "direction": "FortyFiveDown", + "type": "sgv", + "created_at": "2022-05-30T10:00:12.873Z", + "glucose": 99, + "avgDelta": "-5.00", + "BGI": -1.66, + "deviation": "-3.34" + }, + { + "_id": "6294d281dac1e20004fde596", + "device": "AndroidAPS-DexcomG6", + "date": 1653920361000, + "dateString": "2022-05-30T14:19:21.000Z", + "isValid": true, + "sgv": 97, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:19:45.303Z", + "glucose": 97, + "avgDelta": "-3.25", + "BGI": -5.85, + "deviation": "2.60" + }, + { + "_id": "6294d3aedac1e20004fde598", + "device": "AndroidAPS-DexcomG6", + "date": 1653920661000, + "dateString": "2022-05-30T14:24:21.000Z", + "isValid": true, + "sgv": 93, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:24:46.261Z", + "glucose": 93, + "avgDelta": "-3.25", + "BGI": -4.98, + "deviation": "1.73" + }, + { + "_id": "6294d4dbdac1e20004fde59a", + "device": "AndroidAPS-DexcomG6", + "date": 1653920961000, + "dateString": "2022-05-30T14:29:21.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:29:47.439Z", + "glucose": 89, + "avgDelta": "-3.50", + "BGI": -4.23, + "deviation": "0.73" + }, + { + "_id": "6294d6005f047100042886ba", + "device": "AndroidAPS-DexcomG6", + "date": 1653921261000, + "dateString": "2022-05-30T14:34:21.000Z", + "isValid": true, + "sgv": 87, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:34:40.716Z", + "glucose": 87, + "avgDelta": "-3.25", + "BGI": -3.53, + "deviation": "0.28" + }, + { + "_id": "6294d72e5f047100042886bc", + "device": "AndroidAPS-DexcomG6", + "date": 1653921561000, + "dateString": "2022-05-30T14:39:21.000Z", + "isValid": true, + "sgv": 85, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:39:42.170Z", + "glucose": 85, + "avgDelta": "-3.00", + "BGI": -2.82, + "deviation": "-0.18" + }, + { + "_id": "6294d85b5f047100042886be", + "device": "AndroidAPS-DexcomG6", + "date": 1653921862000, + "dateString": "2022-05-30T14:44:22.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:44:43.154Z", + "glucose": 84, + "avgDelta": "-2.25", + "BGI": -2.2, + "deviation": "-0.05" + }, + { + "_id": "6294da065f047100042886c0", + "device": "AndroidAPS-DexcomG6", + "date": 1653922161000, + "dateString": "2022-05-30T14:49:21.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:51:50.006Z", + "glucose": 82, + "avgDelta": "-1.75", + "BGI": -1.62, + "deviation": "-0.13" + } + ], + "basalGlucoseData": [ + { + "_id": "62942af6ee9e6e00046d7fe8", + "device": "AndroidAPS-DexcomG6", + "date": 1653877461000, + "dateString": "2022-05-30T02:24:21.000Z", + "isValid": true, + "sgv": 76, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:24:54.787Z", + "glucose": 76, + "avgDelta": "2.25", + "BGI": 6.52, + "deviation": "-4.27" + }, + { + "_id": "62942c24ee9e6e00046d7fea", + "device": "AndroidAPS-DexcomG6", + "date": 1653877761000, + "dateString": "2022-05-30T02:29:21.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:29:56.392Z", + "glucose": 78, + "avgDelta": "1.75", + "BGI": 6.56, + "deviation": "-4.81" + }, + { + "_id": "62942d51ee9e6e00046d7fec", + "device": "AndroidAPS-DexcomG6", + "date": 1653878061000, + "dateString": "2022-05-30T02:34:21.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:34:57.498Z", + "glucose": 82, + "avgDelta": "2.00", + "BGI": 6.56, + "deviation": "-4.56" + }, + { + "_id": "62942e7fee9e6e00046d7fef", + "device": "AndroidAPS-DexcomG6", + "date": 1653878361000, + "dateString": "2022-05-30T02:39:21.000Z", + "isValid": true, + "sgv": 86, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:39:59.070Z", + "glucose": 86, + "avgDelta": "2.75", + "BGI": 6.56, + "deviation": "-3.81" + }, + { + "_id": "62942facee9e6e00046d7ff2", + "device": "AndroidAPS-DexcomG6", + "date": 1653878661000, + "dateString": "2022-05-30T02:44:21.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:45:00.369Z", + "glucose": 91, + "avgDelta": "3.75", + "BGI": 6.52, + "deviation": "-2.77" + }, + { + "_id": "629430c1ee9e6e00046d7ff7", + "device": "AndroidAPS-DexcomG6", + "date": 1653878961000, + "dateString": "2022-05-30T02:49:21.000Z", + "isValid": true, + "sgv": 96, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:49:37.117Z", + "glucose": 96, + "avgDelta": "4.50", + "BGI": 6.27, + "deviation": "-1.77" + }, + { + "_id": "629431f9a365640004d83cb9", + "device": "AndroidAPS-DexcomG6", + "date": 1653879261000, + "dateString": "2022-05-30T02:54:21.000Z", + "isValid": true, + "sgv": 102, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T02:54:49.321Z", + "glucose": 102, + "avgDelta": "5.00", + "BGI": 5.77, + "deviation": "-0.77" + }, + { + "_id": "62943327a365640004d83cbe", + "device": "AndroidAPS-DexcomG6", + "date": 1653879561000, + "dateString": "2022-05-30T02:59:21.000Z", + "isValid": true, + "sgv": 108, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T02:59:51.442Z", + "glucose": 108, + "avgDelta": "5.50", + "BGI": 5.11, + "deviation": "0.39" + }, + { + "_id": "62943454a365640004d83cc0", + "device": "AndroidAPS-DexcomG6", + "date": 1653879861000, + "dateString": "2022-05-30T03:04:21.000Z", + "isValid": true, + "sgv": 114, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T03:04:52.790Z", + "glucose": 114, + "avgDelta": "5.75", + "BGI": 4.23, + "deviation": "1.52" + }, + { + "_id": "62943582a365640004d83cc3", + "device": "AndroidAPS-DexcomG6", + "date": 1653880161000, + "dateString": "2022-05-30T03:09:21.000Z", + "isValid": true, + "sgv": 119, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T03:09:54.494Z", + "glucose": 119, + "avgDelta": "5.75", + "BGI": 3.32, + "deviation": "2.43" + }, + { + "_id": "629436b0a365640004d83cc5", + "device": "AndroidAPS-DexcomG6", + "date": 1653880461000, + "dateString": "2022-05-30T03:14:21.000Z", + "isValid": true, + "sgv": 125, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T03:14:56.027Z", + "glucose": 125, + "avgDelta": "5.75", + "BGI": 2.41, + "deviation": "3.34" + }, + { + "_id": "629437dfa365640004d83cc9", + "device": "AndroidAPS-DexcomG6", + "date": 1653880761000, + "dateString": "2022-05-30T03:19:21.000Z", + "isValid": true, + "sgv": 128, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T03:19:59.695Z", + "glucose": 128, + "avgDelta": "5.00", + "BGI": 1.37, + "deviation": "3.63" + }, + { + "_id": "629438f8a743da00044e28dc", + "device": "AndroidAPS-DexcomG6", + "date": 1653881062000, + "dateString": "2022-05-30T03:24:22.000Z", + "isValid": true, + "sgv": 131, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:24:40.834Z", + "glucose": 131, + "avgDelta": "4.25", + "BGI": 0.17, + "deviation": "4.08" + }, + { + "_id": "62943a26a743da00044e28de", + "device": "AndroidAPS-DexcomG6", + "date": 1653881361000, + "dateString": "2022-05-30T03:29:21.000Z", + "isValid": true, + "sgv": 131, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T03:29:42.328Z", + "glucose": 131, + "avgDelta": "3.00", + "BGI": -0.75, + "deviation": "3.75" + }, + { + "_id": "62945c38d2cadd0004350d80", + "device": "AndroidAPS-DexcomG6", + "date": 1653890061000, + "dateString": "2022-05-30T05:54:21.000Z", + "isValid": true, + "sgv": 92, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:55:04.735Z", + "glucose": 92, + "avgDelta": "-1.75", + "BGI": -1.25, + "deviation": "-0.50" + }, + { + "_id": "62945d4dd2cadd0004350d83", + "device": "AndroidAPS-DexcomG6", + "date": 1653890361000, + "dateString": "2022-05-30T05:59:21.000Z", + "isValid": true, + "sgv": 90, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T05:59:41.863Z", + "glucose": 90, + "avgDelta": "-2.00", + "BGI": -1.08, + "deviation": "-0.92" + }, + { + "_id": "62945e7cd2cadd0004350d86", + "device": "AndroidAPS-DexcomG6", + "date": 1653890661000, + "dateString": "2022-05-30T06:04:21.000Z", + "isValid": true, + "sgv": 89, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T06:04:44.141Z", + "glucose": 89, + "avgDelta": "-1.75", + "BGI": -0.83, + "deviation": "-0.92" + }, + { + "_id": "629496c15989a90004f0c22d", + "device": "AndroidAPS-DexcomG6", + "date": 1653905061000, + "dateString": "2022-05-30T10:04:21.000Z", + "isValid": true, + "sgv": 94, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:04:49.010Z", + "glucose": 94, + "avgDelta": "-4.50", + "BGI": -1.12, + "deviation": "-3.38" + }, + { + "_id": "629497ee5989a90004f0c230", + "device": "AndroidAPS-DexcomG6", + "date": 1653905362000, + "dateString": "2022-05-30T10:09:22.000Z", + "isValid": true, + "sgv": 91, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:09:50.202Z", + "glucose": 91, + "avgDelta": "-4.00", + "BGI": -0.62, + "deviation": "-3.38" + }, + { + "_id": "6294991b5989a90004f0c233", + "device": "AndroidAPS-DexcomG6", + "date": 1653905661000, + "dateString": "2022-05-30T10:14:21.000Z", + "isValid": true, + "sgv": 87, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:14:51.432Z", + "glucose": 87, + "avgDelta": "-3.75", + "BGI": -0.21, + "deviation": "-3.54" + }, + { + "_id": "62949a4ac2e464000413b79a", + "device": "AndroidAPS-DexcomG6", + "date": 1653905961000, + "dateString": "2022-05-30T10:19:21.000Z", + "isValid": true, + "sgv": 84, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:19:54.421Z", + "glucose": 84, + "avgDelta": "-3.75", + "BGI": 0.17, + "deviation": "-3.92" + }, + { + "_id": "62949b77c2e464000413b79d", + "device": "AndroidAPS-DexcomG6", + "date": 1653906262000, + "dateString": "2022-05-30T10:24:22.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:24:55.547Z", + "glucose": 82, + "avgDelta": "-3.00", + "BGI": 0.46, + "deviation": "-3.46" + }, + { + "_id": "62949ca4c2e464000413b79f", + "device": "AndroidAPS-DexcomG6", + "date": 1653906561000, + "dateString": "2022-05-30T10:29:21.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:29:56.711Z", + "glucose": 80, + "avgDelta": "-2.75", + "BGI": 0.79, + "deviation": "-3.54" + }, + { + "_id": "62949debc2e464000413b7a1", + "device": "AndroidAPS-DexcomG6", + "date": 1653906861000, + "dateString": "2022-05-30T10:34:21.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:35:23.163Z", + "glucose": 79, + "avgDelta": "-2.00", + "BGI": 1, + "deviation": "-3.00" + }, + { + "_id": "62949f00c2e464000413b7a3", + "device": "AndroidAPS-DexcomG6", + "date": 1653907162000, + "dateString": "2022-05-30T10:39:22.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T10:40:00.055Z", + "glucose": 78, + "avgDelta": "-1.50", + "BGI": 1.29, + "deviation": "-2.79" + }, + { + "_id": "6294db4c5f047100042886c3", + "device": "AndroidAPS-DexcomG6", + "date": 1653922461000, + "dateString": "2022-05-30T14:54:21.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T14:57:16.389Z", + "glucose": 81, + "avgDelta": "-1.50", + "BGI": -1, + "deviation": "-0.50" + }, + { + "_id": "6294dcde5f047100042886c5", + "device": "AndroidAPS-DexcomG6", + "date": 1653922761000, + "dateString": "2022-05-30T14:59:21.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:03:58.124Z", + "glucose": 79, + "avgDelta": "-1.50", + "BGI": -0.46, + "deviation": "-1.04" + }, + { + "_id": "6294ddc7706f120004b7d152", + "device": "AndroidAPS-DexcomG6", + "date": 1653923061000, + "dateString": "2022-05-30T15:04:21.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:07:51.780Z", + "glucose": 79, + "avgDelta": "-1.25", + "BGI": 0.04, + "deviation": "-1.29" + }, + { + "_id": "6294df40706f120004b7d154", + "device": "AndroidAPS-DexcomG6", + "date": 1653923361000, + "dateString": "2022-05-30T15:09:21.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:14:08.395Z", + "glucose": 79, + "avgDelta": "-0.75", + "BGI": 0.5, + "deviation": "-1.25" + }, + { + "_id": "6294dfbd706f120004b7d156", + "device": "AndroidAPS-DexcomG6", + "date": 1653923662000, + "dateString": "2022-05-30T15:14:22.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:16:13.728Z", + "glucose": 80, + "avgDelta": "-0.25", + "BGI": 0.95, + "deviation": "-1.20" + }, + { + "_id": "6294e09f706f120004b7d158", + "device": "AndroidAPS-DexcomG6", + "date": 1653923961000, + "dateString": "2022-05-30T15:19:21.000Z", + "isValid": true, + "sgv": 80, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:19:59.752Z", + "glucose": 80, + "avgDelta": "0.25", + "BGI": 1.33, + "deviation": "-1.08" + }, + { + "_id": "6294e1cd706f120004b7d15a", + "device": "AndroidAPS-DexcomG6", + "date": 1653924262000, + "dateString": "2022-05-30T15:24:22.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:25:01.236Z", + "glucose": 79, + "avgDelta": "0.00", + "BGI": 1.66, + "deviation": "-1.66" + }, + { + "_id": "6294e2fa706f120004b7d15c", + "device": "AndroidAPS-DexcomG6", + "date": 1653924562000, + "dateString": "2022-05-30T15:29:22.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:30:02.194Z", + "glucose": 78, + "avgDelta": "-0.25", + "BGI": 2.08, + "deviation": "-2.33" + }, + { + "_id": "6294e427706f120004b7d15f", + "device": "AndroidAPS-DexcomG6", + "date": 1653924862000, + "dateString": "2022-05-30T15:34:22.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:35:03.426Z", + "glucose": 77, + "avgDelta": "-0.75", + "BGI": 2.41, + "deviation": "-3.16" + }, + { + "_id": "6294e554706f120004b7d161", + "device": "AndroidAPS-DexcomG6", + "date": 1653925162000, + "dateString": "2022-05-30T15:39:22.000Z", + "isValid": true, + "sgv": 77, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:40:04.657Z", + "glucose": 77, + "avgDelta": "-0.75", + "BGI": 2.7, + "deviation": "-3.45" + }, + { + "_id": "6294e66eb23f340004e841cf", + "device": "AndroidAPS-DexcomG6", + "date": 1653925462000, + "dateString": "2022-05-30T15:44:22.000Z", + "isValid": true, + "sgv": 78, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:44:46.677Z", + "glucose": 78, + "avgDelta": "-0.25", + "BGI": 2.99, + "deviation": "-3.24" + }, + { + "_id": "6294e79bb23f340004e841d1", + "device": "AndroidAPS-DexcomG6", + "date": 1653925761000, + "dateString": "2022-05-30T15:49:21.000Z", + "isValid": true, + "sgv": 79, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:49:47.886Z", + "glucose": 79, + "avgDelta": "0.25", + "BGI": 3.24, + "deviation": "-2.99" + }, + { + "_id": "6294e8c9b23f340004e841d3", + "device": "AndroidAPS-DexcomG6", + "date": 1653926062000, + "dateString": "2022-05-30T15:54:22.000Z", + "isValid": true, + "sgv": 81, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T15:54:49.400Z", + "glucose": 81, + "avgDelta": "1.00", + "BGI": 3.4, + "deviation": "-2.40" + }, + { + "_id": "6294ea10b23f340004e841d5", + "device": "AndroidAPS-DexcomG6", + "date": 1653926362000, + "dateString": "2022-05-30T15:59:22.000Z", + "isValid": true, + "sgv": 82, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T16:00:16.597Z", + "glucose": 82, + "avgDelta": "1.25", + "BGI": 3.69, + "deviation": "-2.44" + }, + { + "_id": "629503cb409703000484d1ba", + "device": "AndroidAPS-DexcomG6", + "date": 1653932962000, + "dateString": "2022-05-30T17:49:22.000Z", + "isValid": true, + "sgv": 133, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:50:03.997Z", + "glucose": 133, + "avgDelta": "2.50", + "BGI": 1.87, + "deviation": "0.63" + }, + { + "_id": "629504e1409703000484d1be", + "device": "AndroidAPS-DexcomG6", + "date": 1653933262000, + "dateString": "2022-05-30T17:54:22.000Z", + "isValid": true, + "sgv": 135, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:54:41.141Z", + "glucose": 135, + "avgDelta": "2.50", + "BGI": 1.74, + "deviation": "0.76" + }, + { + "_id": "6295060f409703000484d1c1", + "device": "AndroidAPS-DexcomG6", + "date": 1653933562000, + "dateString": "2022-05-30T17:59:22.000Z", + "isValid": true, + "sgv": 136, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T17:59:43.089Z", + "glucose": 136, + "avgDelta": "2.25", + "BGI": 1.62, + "deviation": "0.63" + }, + { + "_id": "6295073d409703000484d1c4", + "device": "AndroidAPS-DexcomG6", + "date": 1653933862000, + "dateString": "2022-05-30T18:04:22.000Z", + "isValid": true, + "sgv": 137, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:04:45.808Z", + "glucose": 137, + "avgDelta": "1.75", + "BGI": 1.58, + "deviation": "0.17" + }, + { + "_id": "6295086b409703000484d1c6", + "device": "AndroidAPS-DexcomG6", + "date": 1653934162000, + "dateString": "2022-05-30T18:09:22.000Z", + "isValid": true, + "sgv": 140, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:09:47.806Z", + "glucose": 140, + "avgDelta": "1.75", + "BGI": 1.49, + "deviation": "0.26" + }, + { + "_id": "6295099a409703000484d1c9", + "device": "AndroidAPS-DexcomG6", + "date": 1653934461000, + "dateString": "2022-05-30T18:14:21.000Z", + "isValid": true, + "sgv": 144, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:14:50.027Z", + "glucose": 144, + "avgDelta": "2.25", + "BGI": 1.45, + "deviation": "0.80" + }, + { + "_id": "62950acb0f8c2e000428308d", + "device": "AndroidAPS-DexcomG6", + "date": 1653934761000, + "dateString": "2022-05-30T18:19:21.000Z", + "isValid": true, + "sgv": 147, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:19:55.662Z", + "glucose": 147, + "avgDelta": "2.75", + "BGI": 1.37, + "deviation": "1.38" + }, + { + "_id": "62950bf90f8c2e0004283091", + "device": "AndroidAPS-DexcomG6", + "date": 1653935062000, + "dateString": "2022-05-30T18:24:22.000Z", + "isValid": true, + "sgv": 150, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:24:57.761Z", + "glucose": 150, + "avgDelta": "3.25", + "BGI": 1.16, + "deviation": "2.09" + }, + { + "_id": "62950d280f8c2e0004283094", + "device": "AndroidAPS-DexcomG6", + "date": 1653935363000, + "dateString": "2022-05-30T18:29:23.000Z", + "isValid": true, + "sgv": 156, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:30:00.224Z", + "glucose": 156, + "avgDelta": "4.00", + "BGI": 0.91, + "deviation": "3.09" + }, + { + "_id": "62950e3d0f8c2e0004283099", + "device": "AndroidAPS-DexcomG6", + "date": 1653935663000, + "dateString": "2022-05-30T18:34:23.000Z", + "isValid": true, + "sgv": 164, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T18:34:37.460Z", + "glucose": 164, + "avgDelta": "5.00", + "BGI": 0.58, + "deviation": "4.42" + }, + { + "_id": "62950f6b0f8c2e000428309c", + "device": "AndroidAPS-DexcomG6", + "date": 1653935962000, + "dateString": "2022-05-30T18:39:22.000Z", + "isValid": true, + "sgv": 172, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T18:39:39.460Z", + "glucose": 172, + "avgDelta": "6.25", + "BGI": 0.12, + "deviation": "6.13", + "uamAbsorption": "start" + }, + { + "_id": "629510990f8c2e000428309f", + "device": "AndroidAPS-DexcomG6", + "date": 1653936262000, + "dateString": "2022-05-30T18:44:22.000Z", + "isValid": true, + "sgv": 175, + "direction": "FortyFiveUp", + "type": "sgv", + "created_at": "2022-05-30T18:44:41.570Z", + "glucose": 175, + "avgDelta": "6.25", + "BGI": -1.04, + "deviation": "7.29" + }, + { + "_id": "629511c70f8c2e00042830a2", + "device": "AndroidAPS-DexcomG6", + "date": 1653936563000, + "dateString": "2022-05-30T18:49:23.000Z", + "isValid": true, + "sgv": 177, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:49:43.497Z", + "glucose": 177, + "avgDelta": "5.25", + "BGI": -2.08, + "deviation": "7.33" + }, + { + "_id": "629512fcf63c010004ea5cf7", + "device": "AndroidAPS-DexcomG6", + "date": 1653936863000, + "dateString": "2022-05-30T18:54:23.000Z", + "isValid": true, + "sgv": 179, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:54:52.395Z", + "glucose": 179, + "avgDelta": "3.75", + "BGI": -2.86, + "deviation": "6.61" + }, + { + "_id": "6295142af63c010004ea5cfa", + "device": "AndroidAPS-DexcomG6", + "date": 1653937162000, + "dateString": "2022-05-30T18:59:22.000Z", + "isValid": true, + "sgv": 180, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T18:59:54.428Z", + "glucose": 180, + "avgDelta": "2.00", + "BGI": -3.45, + "deviation": "5.45" + }, + { + "_id": "62951558f63c010004ea5cfc", + "device": "AndroidAPS-DexcomG6", + "date": 1653937462000, + "dateString": "2022-05-30T19:04:22.000Z", + "isValid": true, + "sgv": 181, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:04:56.708Z", + "glucose": 181, + "avgDelta": "1.50", + "BGI": -3.78, + "deviation": "5.28" + }, + { + "_id": "62951683f63c010004ea5cff", + "device": "AndroidAPS-DexcomG6", + "date": 1653937762000, + "dateString": "2022-05-30T19:09:22.000Z", + "isValid": true, + "sgv": 181, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:09:55.010Z", + "glucose": 181, + "avgDelta": "1.00", + "BGI": -4.03, + "deviation": "5.03" + }, + { + "_id": "629517b0f63c010004ea5d01", + "device": "AndroidAPS-DexcomG6", + "date": 1653938062000, + "dateString": "2022-05-30T19:14:22.000Z", + "isValid": true, + "sgv": 182, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:14:56.712Z", + "glucose": 182, + "avgDelta": "0.75", + "BGI": -4.11, + "deviation": "4.86" + }, + { + "_id": "629518def63c010004ea5d04", + "device": "AndroidAPS-DexcomG6", + "date": 1653938362000, + "dateString": "2022-05-30T19:19:22.000Z", + "isValid": true, + "sgv": 183, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:19:58.457Z", + "glucose": 183, + "avgDelta": "0.75", + "BGI": -4.11, + "deviation": "4.86" + }, + { + "_id": "62951a0ef63c010004ea5d08", + "device": "AndroidAPS-DexcomG6", + "date": 1653938661000, + "dateString": "2022-05-30T19:24:21.000Z", + "isValid": true, + "sgv": 184, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:25:02.070Z", + "glucose": 184, + "avgDelta": "0.75", + "BGI": -4.23, + "deviation": "4.98" + }, + { + "_id": "62951b23f63c010004ea5d0b", + "device": "AndroidAPS-DexcomG6", + "date": 1653938962000, + "dateString": "2022-05-30T19:29:22.000Z", + "isValid": true, + "sgv": 185, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:29:39.093Z", + "glucose": 185, + "avgDelta": "1.00", + "BGI": -4.32, + "deviation": "5.32" + }, + { + "_id": "62951c51f63c010004ea5d0f", + "device": "AndroidAPS-DexcomG6", + "date": 1653939262000, + "dateString": "2022-05-30T19:34:22.000Z", + "isValid": true, + "sgv": 186, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:34:41.514Z", + "glucose": 186, + "avgDelta": "1.00", + "BGI": -4.48, + "deviation": "5.48" + }, + { + "_id": "62951d7ff63c010004ea5d12", + "device": "AndroidAPS-DexcomG6", + "date": 1653939561000, + "dateString": "2022-05-30T19:39:21.000Z", + "isValid": true, + "sgv": 187, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:39:43.397Z", + "glucose": 187, + "avgDelta": "1.00", + "BGI": -4.57, + "deviation": "5.57" + }, + { + "_id": "62951eddf63c010004ea5d16", + "device": "AndroidAPS-DexcomG6", + "date": 1653939861000, + "dateString": "2022-05-30T19:44:21.000Z", + "isValid": true, + "sgv": 186, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:45:33.306Z", + "glucose": 186, + "avgDelta": "0.50", + "BGI": -4.73, + "deviation": "5.23" + }, + { + "_id": "62951fd8f63c010004ea5d1a", + "device": "AndroidAPS-DexcomG6", + "date": 1653940161000, + "dateString": "2022-05-30T19:49:21.000Z", + "isValid": true, + "sgv": 185, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:49:44.530Z", + "glucose": 185, + "avgDelta": "0.00", + "BGI": -4.9, + "deviation": "4.90" + }, + { + "_id": "6295211ef63c010004ea5d1c", + "device": "AndroidAPS-DexcomG6", + "date": 1653940461000, + "dateString": "2022-05-30T19:54:21.000Z", + "isValid": true, + "sgv": 184, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:55:10.510Z", + "glucose": 184, + "avgDelta": "-0.50", + "BGI": -4.98, + "deviation": "4.48" + }, + { + "_id": "62952232f63c010004ea5d1f", + "device": "AndroidAPS-DexcomG6", + "date": 1653940762000, + "dateString": "2022-05-30T19:59:22.000Z", + "isValid": true, + "sgv": 183, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T19:59:46.536Z", + "glucose": 183, + "avgDelta": "-1.00", + "BGI": -4.94, + "deviation": "3.94" + }, + { + "_id": "62952379f63c010004ea5d22", + "device": "AndroidAPS-DexcomG6", + "date": 1653941062000, + "dateString": "2022-05-30T20:04:22.000Z", + "isValid": true, + "sgv": 182, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:05:13.099Z", + "glucose": 182, + "avgDelta": "-1.00", + "BGI": -4.77, + "deviation": "3.77" + }, + { + "_id": "629524a6f63c010004ea5d26", + "device": "AndroidAPS-DexcomG6", + "date": 1653941361000, + "dateString": "2022-05-30T20:09:21.000Z", + "isValid": true, + "sgv": 181, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:10:14.057Z", + "glucose": 181, + "avgDelta": "-1.00", + "BGI": -4.65, + "deviation": "3.65" + }, + { + "_id": "629525baf63c010004ea5d29", + "device": "AndroidAPS-DexcomG6", + "date": 1653941662000, + "dateString": "2022-05-30T20:14:22.000Z", + "isValid": true, + "sgv": 180, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:14:50.164Z", + "glucose": 180, + "avgDelta": "-1.00", + "BGI": -4.44, + "deviation": "3.44" + }, + { + "_id": "629526eee3aedd00046f3855", + "device": "AndroidAPS-DexcomG6", + "date": 1653941961000, + "dateString": "2022-05-30T20:19:21.000Z", + "isValid": true, + "sgv": 179, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:19:58.496Z", + "glucose": 179, + "avgDelta": "-1.00", + "BGI": -4.36, + "deviation": "3.36" + }, + { + "_id": "6295284ee3aedd00046f3858", + "device": "AndroidAPS-DexcomG6", + "date": 1653942262000, + "dateString": "2022-05-30T20:24:22.000Z", + "isValid": true, + "sgv": 178, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:25:50.333Z", + "glucose": 178, + "avgDelta": "-1.00", + "BGI": -4.32, + "deviation": "3.32" + }, + { + "_id": "62952949e3aedd00046f385c", + "device": "AndroidAPS-DexcomG6", + "date": 1653942563000, + "dateString": "2022-05-30T20:29:23.000Z", + "isValid": true, + "sgv": 176, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:30:01.193Z", + "glucose": 176, + "avgDelta": "-1.25", + "BGI": -4.28, + "deviation": "3.03" + }, + { + "_id": "62952a5de3aedd00046f385f", + "device": "AndroidAPS-DexcomG6", + "date": 1653942863000, + "dateString": "2022-05-30T20:34:23.000Z", + "isValid": true, + "sgv": 175, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:34:37.302Z", + "glucose": 175, + "avgDelta": "-1.25", + "BGI": -4.28, + "deviation": "3.03" + }, + { + "_id": "62952b89e3aedd00046f3866", + "device": "AndroidAPS-DexcomG6", + "date": 1653943162000, + "dateString": "2022-05-30T20:39:22.000Z", + "isValid": true, + "sgv": 174, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:39:37.778Z", + "glucose": 174, + "avgDelta": "-1.25", + "BGI": -4.23, + "deviation": "2.98" + }, + { + "_id": "62952cb7e3aedd00046f386a", + "device": "AndroidAPS-DexcomG6", + "date": 1653943462000, + "dateString": "2022-05-30T20:44:22.000Z", + "isValid": true, + "sgv": 173, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:44:39.868Z", + "glucose": 173, + "avgDelta": "-1.25", + "BGI": -4.19, + "deviation": "2.94" + }, + { + "_id": "62952de5e3aedd00046f386d", + "device": "AndroidAPS-DexcomG6", + "date": 1653943762000, + "dateString": "2022-05-30T20:49:22.000Z", + "isValid": true, + "sgv": 171, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:49:41.125Z", + "glucose": 171, + "avgDelta": "-1.25", + "BGI": -4.28, + "deviation": "3.03" + }, + { + "_id": "62952f1be3aedd00046f3871", + "device": "AndroidAPS-DexcomG6", + "date": 1653944062000, + "dateString": "2022-05-30T20:54:22.000Z", + "isValid": true, + "sgv": 169, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:54:51.953Z", + "glucose": 169, + "avgDelta": "-1.50", + "BGI": -4.32, + "deviation": "2.82" + }, + { + "_id": "62953049e3aedd00046f3874", + "device": "AndroidAPS-DexcomG6", + "date": 1653944362000, + "dateString": "2022-05-30T20:59:22.000Z", + "isValid": true, + "sgv": 166, + "direction": "Flat", + "type": "sgv", + "created_at": "2022-05-30T20:59:53.874Z", + "glucose": 166, + "avgDelta": "-2.00", + "BGI": -4.32, + "deviation": "2.32" + } + ] +} diff --git a/plugins/main/src/test/res/autotune/test4/autotune.2022-06-25-195325.log b/plugins/aps/src/test/res/autotune/test4/autotune.2022-06-25-195325.log similarity index 100% rename from plugins/main/src/test/res/autotune/test4/autotune.2022-06-25-195325.log rename to plugins/aps/src/test/res/autotune/test4/autotune.2022-06-25-195325.log diff --git a/plugins/aps/src/test/res/autotune/test4/newprofile.2022-05-30.json b/plugins/aps/src/test/res/autotune/test4/newprofile.2022-05-30.json new file mode 100644 index 0000000000..da86ce40fc --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test4/newprofile.2022-05-30.json @@ -0,0 +1,194 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 0.979, + "start": "00:00:00", + "untuned": 5 + }, + { + "i": 1, + "minutes": 60, + "rate": 0.995, + "start": "01:00:00", + "untuned": 1 + }, + { + "i": 2, + "minutes": 120, + "rate": 0.997, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.129, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 0.954, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.883, + "start": "05:00:00", + "untuned": 1 + }, + { + "i": 6, + "minutes": 360, + "rate": 0.804, + "start": "06:00:00", + "untuned": 1 + }, + { + "i": 7, + "minutes": 420, + "rate": 0.843, + "start": "07:00:00", + "untuned": 2 + }, + { + "i": 8, + "minutes": 480, + "rate": 0.887, + "start": "08:00:00", + "untuned": 2 + }, + { + "i": 9, + "minutes": 540, + "rate": 0.855, + "start": "09:00:00", + "untuned": 5 + }, + { + "i": 10, + "minutes": 600, + "rate": 0.856, + "start": "10:00:00", + "untuned": 5 + }, + { + "i": 11, + "minutes": 660, + "rate": 0.844, + "start": "11:00:00", + "untuned": 5 + }, + { + "i": 12, + "minutes": 720, + "rate": 0.856, + "start": "12:00:00", + "untuned": 6 + }, + { + "i": 13, + "minutes": 780, + "rate": 0.854, + "start": "13:00:00", + "untuned": 6 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.835, + "start": "14:00:00", + "untuned": 5 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.83, + "start": "15:00:00", + "untuned": 5 + }, + { + "i": 16, + "minutes": 960, + "rate": 0.801, + "start": "16:00:00", + "untuned": 5 + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.821, + "start": "17:00:00", + "untuned": 5 + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.842, + "start": "18:00:00", + "untuned": 4 + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.929, + "start": "19:00:00", + "untuned": 4 + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.931, + "start": "20:00:00", + "untuned": 3 + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.879, + "start": "21:00:00", + "untuned": 4 + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.851, + "start": "22:00:00", + "untuned": 5 + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.847, + "start": "23:00:00", + "untuned": 5 + } + ], + "carb_ratio": 4.997, + "csf": 16.363, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 79.673, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 79.673, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/main/src/test/res/autotune/test4/ns-entries.2022-05-30.json b/plugins/aps/src/test/res/autotune/test4/ns-entries.2022-05-30.json similarity index 100% rename from plugins/main/src/test/res/autotune/test4/ns-entries.2022-05-30.json rename to plugins/aps/src/test/res/autotune/test4/ns-entries.2022-05-30.json diff --git a/plugins/main/src/test/res/autotune/test4/ns-treatments.2022-05-30.json b/plugins/aps/src/test/res/autotune/test4/ns-treatments.2022-05-30.json similarity index 100% rename from plugins/main/src/test/res/autotune/test4/ns-treatments.2022-05-30.json rename to plugins/aps/src/test/res/autotune/test4/ns-treatments.2022-05-30.json diff --git a/plugins/aps/src/test/res/autotune/test4/profile.2022-05-30.json b/plugins/aps/src/test/res/autotune/test4/profile.2022-05-30.json new file mode 100644 index 0000000000..fd85e5fdd6 --- /dev/null +++ b/plugins/aps/src/test/res/autotune/test4/profile.2022-05-30.json @@ -0,0 +1,192 @@ +{ + "autosens_max": 1.3, + "autosens_min": 0.7, + "basalprofile": [ + { + "i": 0, + "minutes": 0, + "rate": 0.977, + "start": "00:00:00", + "untuned": 4 + }, + { + "i": 1, + "minutes": 60, + "rate": 1.011, + "start": "01:00:00", + "untuned": 1 + }, + { + "i": 2, + "minutes": 120, + "rate": 0.996, + "start": "02:00:00" + }, + { + "i": 3, + "minutes": 180, + "rate": 1.13, + "start": "03:00:00" + }, + { + "i": 4, + "minutes": 240, + "rate": 0.937, + "start": "04:00:00" + }, + { + "i": 5, + "minutes": 300, + "rate": 0.877, + "start": "05:00:00" + }, + { + "i": 6, + "minutes": 360, + "rate": 0.779, + "start": "06:00:00" + }, + { + "i": 7, + "minutes": 420, + "rate": 0.827, + "start": "07:00:00", + "untuned": 1 + }, + { + "i": 8, + "minutes": 480, + "rate": 0.882, + "start": "08:00:00", + "untuned": 1 + }, + { + "i": 9, + "minutes": 540, + "rate": 0.878, + "start": "09:00:00", + "untuned": 5 + }, + { + "i": 10, + "minutes": 600, + "rate": 0.879, + "start": "10:00:00", + "untuned": 5 + }, + { + "i": 11, + "minutes": 660, + "rate": 0.867, + "start": "11:00:00", + "untuned": 5 + }, + { + "i": 12, + "minutes": 720, + "rate": 0.86, + "start": "12:00:00", + "untuned": 5 + }, + { + "i": 13, + "minutes": 780, + "rate": 0.858, + "start": "13:00:00", + "untuned": 5 + }, + { + "i": 14, + "minutes": 840, + "rate": 0.855, + "start": "14:00:00", + "untuned": 5 + }, + { + "i": 15, + "minutes": 900, + "rate": 0.85, + "start": "15:00:00", + "untuned": 5 + }, + { + "i": 16, + "minutes": 960, + "rate": 0.82, + "start": "16:00:00", + "untuned": 5 + }, + { + "i": 17, + "minutes": 1020, + "rate": 0.784, + "start": "17:00:00", + "untuned": 5 + }, + { + "i": 18, + "minutes": 1080, + "rate": 0.778, + "start": "18:00:00", + "untuned": 4 + }, + { + "i": 19, + "minutes": 1140, + "rate": 0.815, + "start": "19:00:00", + "untuned": 4 + }, + { + "i": 20, + "minutes": 1200, + "rate": 0.854, + "start": "20:00:00", + "untuned": 3 + }, + { + "i": 21, + "minutes": 1260, + "rate": 0.849, + "start": "21:00:00", + "untuned": 4 + }, + { + "i": 22, + "minutes": 1320, + "rate": 0.849, + "start": "22:00:00", + "untuned": 4 + }, + { + "i": 23, + "minutes": 1380, + "rate": 0.843, + "start": "23:00:00", + "untuned": 4 + } + ], + "carb_ratio": 5.021, + "csf": 15.669, + "curve": "ultra-rapid", + "dia": 6, + "insulinPeakTime": 45, + "isfProfile": { + "sensitivities": [ + { + "endoffset": 1440, + "i": 0, + "offset": 0, + "sensitivity": 83.014, + "start": "00:00:00", + "x": 0 + } + ] + }, + "min_5m_carbimpact": 8, + "name": "Tuned Dyn2", + "sens": 83.014, + "timezone": "Europe/Paris", + "units": "mg/dl", + "useCustomPeakTime": true +} diff --git a/plugins/main/src/test/res/autotune/test4/profile.pump.json b/plugins/aps/src/test/res/autotune/test4/profile.pump.json similarity index 100% rename from plugins/main/src/test/res/autotune/test4/profile.pump.json rename to plugins/aps/src/test/res/autotune/test4/profile.pump.json diff --git a/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt index 685c106961..982a0574bf 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt @@ -33,7 +33,6 @@ import info.nightscout.shared.utils.DateUtil import org.json.JSONObject import javax.inject.Inject import javax.inject.Singleton -import kotlin.math.floor @Singleton class SafetyPlugin @Inject constructor( @@ -85,26 +84,12 @@ class SafetyPlugin @Inject constructor( return value } - override fun isAutosensModeEnabled(value: Constraint): Constraint { - val enabled = sp.getBoolean(R.string.key_openapsama_useautosens, false) - if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.autosensdisabledinpreferences), this) - return value - } - override fun isSMBModeEnabled(value: Constraint): Constraint { - val enabled = sp.getBoolean(R.string.key_use_smb, false) - if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.smbdisabledinpreferences), this) val closedLoop = constraintChecker.isClosedLoopAllowed() if (!closedLoop.value()) value.set(aapsLogger, false, rh.gs(R.string.smbnotallowedinopenloopmode), this) return value } - override fun isUAMEnabled(value: Constraint): Constraint { - val enabled = sp.getBoolean(R.string.key_use_uam, false) - if (!enabled) value.set(aapsLogger, false, rh.gs(R.string.uamdisabledinpreferences), this) - return value - } - override fun isAdvancedFilteringEnabled(value: Constraint): Constraint { val bgSource = activePlugin.activeBgSource if (!bgSource.advancedFilteringSupported()) value.set(aapsLogger, false, rh.gs(R.string.smbalwaysdisabled), this) @@ -113,22 +98,6 @@ class SafetyPlugin @Inject constructor( override fun applyBasalConstraints(absoluteRate: Constraint, profile: Profile): Constraint { absoluteRate.setIfGreater(aapsLogger, 0.0, rh.gs(R.string.limitingbasalratio, 0.0, rh.gs(R.string.itmustbepositivevalue)), this) - if (config.APS) { - var maxBasal = sp.getDouble(R.string.key_openapsma_max_basal, 1.0) - if (maxBasal < profile.getMaxDailyBasal()) { - maxBasal = profile.getMaxDailyBasal() - absoluteRate.addReason(rh.gs(R.string.increasingmaxbasal), this) - } - absoluteRate.setIfSmaller(aapsLogger, maxBasal,rh.gs(R.string.limitingbasalratio, maxBasal, rh.gs(R.string.maxvalueinpreferences)), this) - - // Check percentRate but absolute rate too, because we know real current basal in pump - val maxBasalMultiplier = sp.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4.0) - val maxFromBasalMultiplier = floor(maxBasalMultiplier * profile.getBasal() * 100) / 100 - absoluteRate.setIfSmaller(aapsLogger, maxFromBasalMultiplier, rh.gs(R.string.limitingbasalratio, maxFromBasalMultiplier, rh.gs(R.string.maxbasalmultiplier)), this) - val maxBasalFromDaily = sp.getDouble(R.string.key_openapsama_max_daily_safety_multiplier, 3.0) - val maxFromDaily = floor(profile.getMaxDailyBasal() * maxBasalFromDaily * 100) / 100 - absoluteRate.setIfSmaller(aapsLogger, maxFromDaily,rh.gs(R.string.limitingbasalratio, maxFromDaily, rh.gs(R.string.maxdailybasalmultiplier)), this) - } absoluteRate.setIfSmaller(aapsLogger, hardLimits.maxBasal(),rh.gs(R.string.limitingbasalratio, hardLimits.maxBasal(), rh.gs(R.string.hardlimit)), this) val pump = activePlugin.activePump // check for pump max diff --git a/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt index e461798ffd..f5d4d8c7a3 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt @@ -7,7 +7,6 @@ import dagger.Module InsulinModule::class, FoodModule::class, SMSCommunicatorModule::class, - AutotuneModule::class, ProfileModule::class, SyncModule::class, SourceModule::class, diff --git a/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt index 13d5950199..80cd2f5c69 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/profile/ProfilePlugin.kt @@ -87,9 +87,9 @@ class ProfilePlugin @Inject constructor( var profiles: ArrayList = ArrayList() val numOfProfiles get() = profiles.size - var currentProfileIndex = 0 + override var currentProfileIndex = 0 - fun currentProfile(): ProfileSource.SingleProfile? = if (numOfProfiles > 0 && currentProfileIndex < numOfProfiles) profiles[currentProfileIndex] else null + override fun currentProfile(): ProfileSource.SingleProfile? = if (numOfProfiles > 0 && currentProfileIndex < numOfProfiles) profiles[currentProfileIndex] else null @Synchronized fun isValidEditState(activity: FragmentActivity?): Boolean { @@ -174,7 +174,7 @@ class ProfilePlugin @Inject constructor( } @Synchronized - fun storeSettings(activity: FragmentActivity? = null) { + override fun storeSettings(activity: FragmentActivity?) { for (i in 0 until numOfProfiles) { profiles[i].run { name?.let { name -> diff --git a/plugins/main/src/main/res/drawable/ic_local_activate.xml b/plugins/main/src/main/res/drawable/ic_local_activate.xml deleted file mode 100644 index b6ef8ff973..0000000000 --- a/plugins/main/src/main/res/drawable/ic_local_activate.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/plugins/main/src/main/res/drawable/ic_local_reset.xml b/plugins/main/src/main/res/drawable/ic_local_reset.xml deleted file mode 100644 index b1008a92da..0000000000 --- a/plugins/main/src/main/res/drawable/ic_local_reset.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/plugins/main/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml index 582bf4104a..31bc73da92 100644 --- a/plugins/main/src/main/res/values/strings.xml +++ b/plugins/main/src/main/res/values/strings.xml @@ -115,7 +115,6 @@ insulin_oref_peak insulin_oref_peak_settings - DIA Lyumjev Insulin preset for Humalog and NovoRapid / NovoLog Insulin preset for Fiasp @@ -124,7 +123,6 @@ INS IOB Curve Peak Time Peak Time [min] - Peak Free-Peak Oref Rapid-Acting Oref Ultra-Rapid Oref @@ -196,8 +194,6 @@ clone current profile delete current profile DIA - IC - ISF TARG BAS @@ -276,35 +272,20 @@ Patch pump - openapsama_useautosens - use_smb - use_uam - openapsma_max_basal - openapsama_current_basal_safety_multiplier - openapsama_max_daily_safety_multiplier treatmentssafety_maxbolus - lgsThreshold - openapsmb_max_iob Limiting extended bolus to %1$.1f U because of %2$s Limiting carbs to %1$d g because of %2$s Limiting IOB to %1$.1f U because of %2$s - max basal multiplier - max daily basal multiplier - openapsma_max_iob Safety Pump is not temp basal capable Closed loop mode disabled in preferences - Autosens disabled in preferences - SMB disabled in preferences - UAM disabled in preferences UAM disabled because it rely on Oref1 sensitivity plugin Running dev version. Closed loop is disabled. Closed loop disabled because of running Extended bolus SMB always and after carbs disabled because active BG source doesn\'t support advanced filtering SMB not allowed in open loop mode - Increasing max basal value because setting is lower than your max basal in profile max value in preferences hard limit Treatments safety diff --git a/plugins/main/src/test/res/autotune/test1/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test1/aapsorefprofile.json deleted file mode 100644 index 80bf4e3925..0000000000 --- a/plugins/main/src/test/res/autotune/test1/aapsorefprofile.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.002, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 1.091, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 1.118, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.321, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.091, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.965, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.825, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 0.849, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 0.909, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 0.903, - "start": "09:00:00", - "untuned": 1 - }, - { - "i": 10, - "minutes": 600, - "rate": 0.906, - "start": "10:00:00", - "untuned": 1 - }, - { - "i": 11, - "minutes": 660, - "rate": 0.878, - "start": "11:00:00", - "untuned": 1 - }, - { - "i": 12, - "minutes": 720, - "rate": 0.861, - "start": "12:00:00", - "untuned": 1 - }, - { - "i": 13, - "minutes": 780, - "rate": 0.855, - "start": "13:00:00", - "untuned": 1 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.848, - "start": "14:00:00", - "untuned": 1 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.834, - "start": "15:00:00", - "untuned": 1 - }, - { - "i": 16, - "minutes": 960, - "rate": 0.762, - "start": "16:00:00", - "untuned": 1 - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.647, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.631, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.728, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.838, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.871, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.886, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.893, - "start": "23:00:00" - } - ], - "carb_ratio": 5.817, - "csf": 16.025, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 85.993, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 85.993, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json deleted file mode 100644 index 1c887a4c74..0000000000 --- a/plugins/main/src/test/res/autotune/test1/autotune.2022-05-21.json +++ /dev/null @@ -1 +0,0 @@ -{"CRData":[{"CRInitialIOB":13.594,"CRInitialBG":123,"CRInitialCarbTime":"2022-05-21T07:54:09.000Z","CREndIOB":-0.155,"CREndBG":98,"CREndTime":"2022-05-21T11:19:08.000Z","CRCarbs":70,"CRInsulin":-2.13},{"CRInitialIOB":8.11,"CRInitialBG":109,"CRInitialCarbTime":"2022-05-21T11:24:09.000Z","CREndIOB":-0.073,"CREndBG":104,"CREndTime":"2022-05-21T18:34:09.000Z","CRCarbs":80,"CRInsulin":5.22},{"CRInitialIOB":9.296,"CRInitialBG":133,"CRInitialCarbTime":"2022-05-21T20:24:09.000Z","CREndIOB":0.304,"CREndBG":127,"CREndTime":"2022-05-21T23:34:10.000Z","CRCarbs":50,"CRInsulin":-0.81}],"CSFGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653119649000,"dateString":"2022-05-21T07:54:09.000Z","isValid":true,"sgv":123,"direction":"FortyFiveUp","type":"sgv","_id":"62889ac27ff1e700040f17dc","glucose":123,"avgDelta":"7.75","BGI":-0.99,"deviation":"8.74","mealAbsorption":"start","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653119949000,"dateString":"2022-05-21T07:59:09.000Z","isValid":true,"sgv":132,"direction":"FortyFiveUp","type":"sgv","_id":"62889be4a4cc860004a251c7","glucose":132,"avgDelta":"8.75","BGI":-14.27,"deviation":"23.02","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653120249000,"dateString":"2022-05-21T08:04:09.000Z","isValid":true,"sgv":141,"direction":"FortyFiveUp","type":"sgv","_id":"62889d13a4cc860004a251c9","glucose":141,"avgDelta":"9.00","BGI":-24.7,"deviation":"33.70","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653120548000,"dateString":"2022-05-21T08:09:08.000Z","isValid":true,"sgv":146,"direction":"FortyFiveUp","type":"sgv","_id":"62889e41a4cc860004a251cb","glucose":146,"avgDelta":"8.00","BGI":-32.76,"deviation":"40.76","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653120849000,"dateString":"2022-05-21T08:14:09.000Z","isValid":true,"sgv":148,"direction":"FortyFiveUp","type":"sgv","_id":"62889f6fa4cc860004a251cc","glucose":148,"avgDelta":"6.25","BGI":-38.79,"deviation":"45.04","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653121149000,"dateString":"2022-05-21T08:19:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6288a09fa4cc860004a251ce","glucose":147,"avgDelta":"3.75","BGI":-43.14,"deviation":"46.89","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653121449000,"dateString":"2022-05-21T08:24:09.000Z","isValid":true,"sgv":145,"direction":"Flat","type":"sgv","_id":"6288a1cda4cc860004a251d1","glucose":145,"avgDelta":"1.00","BGI":-46.03,"deviation":"47.03","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653121749000,"dateString":"2022-05-21T08:29:09.000Z","isValid":true,"sgv":138,"direction":"Flat","type":"sgv","_id":"6288a2fca4cc860004a251d2","glucose":138,"avgDelta":"-2.00","BGI":-47.84,"deviation":"45.84","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653122049000,"dateString":"2022-05-21T08:34:09.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"6288a42099fc930004d6bde8","glucose":128,"avgDelta":"-5.00","BGI":-48.66,"deviation":"43.66","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653122349000,"dateString":"2022-05-21T08:39:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveDown","type":"sgv","_id":"6288a55199fc930004d6bdeb","glucose":118,"avgDelta":"-7.25","BGI":-48.66,"deviation":"41.41","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653122649000,"dateString":"2022-05-21T08:44:09.000Z","isValid":true,"sgv":111,"direction":"FortyFiveDown","type":"sgv","_id":"6288a73099fc930004d6bded","glucose":111,"avgDelta":"-8.50","BGI":-48.01,"deviation":"39.51","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653122949000,"dateString":"2022-05-21T08:49:09.000Z","isValid":true,"sgv":108,"direction":"FortyFiveDown","type":"sgv","_id":"6288a7ad99fc930004d6bdef","glucose":108,"avgDelta":"-7.50","BGI":-46.89,"deviation":"39.39","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653123248000,"dateString":"2022-05-21T08:54:08.000Z","isValid":true,"sgv":107,"direction":"Flat","type":"sgv","_id":"6288a8db99fc930004d6bdf1","glucose":107,"avgDelta":"-5.25","BGI":-45.38,"deviation":"40.13","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653123549000,"dateString":"2022-05-21T08:59:09.000Z","isValid":true,"sgv":109,"direction":"Flat","type":"sgv","_id":"6288a9f099fc930004d6bdf4","glucose":109,"avgDelta":"-2.25","BGI":-43.62,"deviation":"41.37","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653123849000,"dateString":"2022-05-21T09:04:09.000Z","isValid":true,"sgv":113,"direction":"Flat","type":"sgv","_id":"6288ab1d99fc930004d6bdf6","glucose":113,"avgDelta":"0.50","BGI":-41.85,"deviation":"42.35","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653124149000,"dateString":"2022-05-21T09:09:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288ac4b99fc930004d6bdf8","glucose":119,"avgDelta":"2.75","BGI":-39.95,"deviation":"42.70","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653124448000,"dateString":"2022-05-21T09:14:08.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"6288ad7999fc930004d6bdfa","glucose":124,"avgDelta":"4.25","BGI":-37.84,"deviation":"42.09","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653124749000,"dateString":"2022-05-21T09:19:09.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"6288aea799fc930004d6bdfb","glucose":125,"avgDelta":"4.00","BGI":-35.69,"deviation":"39.69","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653125048000,"dateString":"2022-05-21T09:24:08.000Z","isValid":true,"sgv":122,"direction":"Flat","type":"sgv","_id":"6288afd5c9c02c00041f7ef8","glucose":122,"avgDelta":"2.25","BGI":-33.4,"deviation":"35.65","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653125349000,"dateString":"2022-05-21T09:29:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"6288b103c9c02c00041f7efc","glucose":120,"avgDelta":"0.25","BGI":-31.2,"deviation":"31.45","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653125649000,"dateString":"2022-05-21T09:34:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b231c9c02c00041f7efe","glucose":118,"avgDelta":"-1.50","BGI":-28.96,"deviation":"27.46","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653125948000,"dateString":"2022-05-21T09:39:08.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b35fc9c02c00041f7f00","glucose":118,"avgDelta":"-1.75","BGI":-26.77,"deviation":"25.02","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653126249000,"dateString":"2022-05-21T09:44:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b48dc9c02c00041f7f02","glucose":118,"avgDelta":"-1.00","BGI":-24.61,"deviation":"23.61","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653126549000,"dateString":"2022-05-21T09:49:09.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288b5bbc9c02c00041f7f04","glucose":117,"avgDelta":"-0.75","BGI":-22.5,"deviation":"21.75","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653126849000,"dateString":"2022-05-21T09:54:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b6e9c9c02c00041f7f06","glucose":118,"avgDelta":"0.00","BGI":-20.52,"deviation":"20.52","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653127149000,"dateString":"2022-05-21T09:59:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288b813abbef90004616ceb","glucose":119,"avgDelta":"0.25","BGI":-18.58,"deviation":"18.83","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653127449000,"dateString":"2022-05-21T10:04:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288b941abbef90004616cf0","glucose":119,"avgDelta":"0.25","BGI":-16.72,"deviation":"16.97","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653127748000,"dateString":"2022-05-21T10:09:08.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"6288ba56abbef90004616cf2","glucose":115,"avgDelta":"-0.50","BGI":-14.96,"deviation":"14.46","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653128049000,"dateString":"2022-05-21T10:14:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"6288bb84abbef90004616cf4","glucose":110,"avgDelta":"-2.00","BGI":-13.32,"deviation":"11.32","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653128349000,"dateString":"2022-05-21T10:19:09.000Z","isValid":true,"sgv":104,"direction":"Flat","type":"sgv","_id":"6288bcb2abbef90004616cf6","glucose":104,"avgDelta":"-3.75","BGI":-11.72,"deviation":"7.97","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653128649000,"dateString":"2022-05-21T10:24:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288bde0abbef90004616cf8","glucose":101,"avgDelta":"-4.50","BGI":-10.3,"deviation":"5.80","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653128948000,"dateString":"2022-05-21T10:29:08.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6288bf061991280004dce457","glucose":99,"avgDelta":"-4.00","BGI":-8.88,"deviation":"4.88","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653129249000,"dateString":"2022-05-21T10:34:09.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","_id":"6288c0341991280004dce459","glucose":96,"avgDelta":"-3.50","BGI":-7.59,"deviation":"4.09","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653129548000,"dateString":"2022-05-21T10:39:08.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288c1631991280004dce45b","glucose":94,"avgDelta":"-2.50","BGI":-6.38,"deviation":"3.88","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653129848000,"dateString":"2022-05-21T10:44:08.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288c2911991280004dce45e","glucose":93,"avgDelta":"-2.00","BGI":-5.26,"deviation":"3.26","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653130149000,"dateString":"2022-05-21T10:49:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288c3be1991280004dce461","glucose":91,"avgDelta":"-2.00","BGI":-4.27,"deviation":"2.27","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653130448000,"dateString":"2022-05-21T10:54:08.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6288c4ec1991280004dce464","glucose":88,"avgDelta":"-2.00","BGI":-3.36,"deviation":"1.36","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653130748000,"dateString":"2022-05-21T10:59:08.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","_id":"6288c61a1991280004dce468","glucose":84,"avgDelta":"-2.50","BGI":-2.59,"deviation":"0.09","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653131049000,"dateString":"2022-05-21T11:04:09.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","_id":"6288c7418e9ed800049b39e3","glucose":81,"avgDelta":"-3.00","BGI":-1.9,"deviation":"-1.10","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653131349000,"dateString":"2022-05-21T11:09:09.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"6288c86f8e9ed800049b39e5","glucose":82,"avgDelta":"-2.25","BGI":-1.25,"deviation":"-1.00","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653131649000,"dateString":"2022-05-21T11:14:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6288c99e8e9ed800049b39e8","glucose":89,"avgDelta":"0.25","BGI":-0.65,"deviation":"0.90","mealCarbs":70},{"device":"AndroidAPS-DexcomG6","date":1653131948000,"dateString":"2022-05-21T11:19:08.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6288cacb8e9ed800049b39ec","glucose":98,"avgDelta":"3.50","BGI":-0.3,"deviation":"3.80","mealCarbs":0},{"device":"AndroidAPS-DexcomG6","date":1653132249000,"dateString":"2022-05-21T11:24:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveUp","type":"sgv","_id":"6288cbf98e9ed800049b39f2","glucose":109,"avgDelta":"7.00","BGI":-1.94,"deviation":"8.94","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653132549000,"dateString":"2022-05-21T11:29:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveUp","type":"sgv","_id":"6288cd278e9ed800049b39f5","glucose":118,"avgDelta":"9.00","BGI":-9.57,"deviation":"18.57","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653132849000,"dateString":"2022-05-21T11:34:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveUp","type":"sgv","_id":"6288ce548e9ed800049b39f7","glucose":121,"avgDelta":"8.00","BGI":-15.47,"deviation":"23.47","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653133149000,"dateString":"2022-05-21T11:39:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6288cf770f1be700041e59c8","glucose":114,"avgDelta":"4.00","BGI":-20.04,"deviation":"24.04","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653133449000,"dateString":"2022-05-21T11:44:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288d0a80f1be700041e59cb","glucose":101,"avgDelta":"-2.00","BGI":-23.32,"deviation":"21.32","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653133749000,"dateString":"2022-05-21T11:49:09.000Z","isValid":true,"sgv":87,"direction":"FortyFiveDown","type":"sgv","_id":"6288d1d80f1be700041e59cf","glucose":87,"avgDelta":"-7.75","BGI":-25.69,"deviation":"17.94","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653134049000,"dateString":"2022-05-21T11:54:09.000Z","isValid":true,"sgv":79,"direction":"FortyFiveDown","type":"sgv","_id":"6288d3060f1be700041e59d2","glucose":79,"avgDelta":"-10.50","BGI":-27.28,"deviation":"0.00","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653134349000,"dateString":"2022-05-21T11:59:09.000Z","isValid":true,"sgv":76,"direction":"FortyFiveDown","type":"sgv","_id":"6288d4220f1be700041e59d5","glucose":76,"avgDelta":"-9.50","BGI":-28.06,"deviation":"0.00","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653134649000,"dateString":"2022-05-21T12:04:09.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","_id":"6288d5500f1be700041e59d7","glucose":77,"avgDelta":"-6.00","BGI":-28.32,"deviation":"0.00","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653134949000,"dateString":"2022-05-21T12:09:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d67f0f1be700041e59da","glucose":78,"avgDelta":"-2.25","BGI":-28.14,"deviation":"0.00","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653135249000,"dateString":"2022-05-21T12:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288d7ae0f1be700041e59de","glucose":79,"avgDelta":"0.00","BGI":-27.76,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653135549000,"dateString":"2022-05-21T12:19:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d8e00f1be700041e59e0","glucose":78,"avgDelta":"0.50","BGI":-27.02,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653135849000,"dateString":"2022-05-21T12:24:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288d9fb0f1be700041e59e2","glucose":76,"avgDelta":"-0.25","BGI":-26.12,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653136149000,"dateString":"2022-05-21T12:29:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6288db8a0f1be700041e59e5","glucose":73,"avgDelta":"-1.25","BGI":-25,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653136449000,"dateString":"2022-05-21T12:34:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"6288dd270f1be700041e59e8","glucose":70,"avgDelta":"-2.25","BGI":-23.7,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653136749000,"dateString":"2022-05-21T12:39:09.000Z","isValid":true,"sgv":68,"direction":"Flat","type":"sgv","_id":"6288de580f1be700041e59ea","glucose":68,"avgDelta":"-2.50","BGI":-22.37,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653137049000,"dateString":"2022-05-21T12:44:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"6288df8a0f1be700041e59ec","glucose":69,"avgDelta":"-1.75","BGI":-20.95,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653137350000,"dateString":"2022-05-21T12:49:10.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6288dfd60f1be700041e59ee","glucose":72,"avgDelta":"-0.25","BGI":-19.52,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653137649000,"dateString":"2022-05-21T12:54:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288e1040f1be700041e59f0","glucose":79,"avgDelta":"2.25","BGI":-18.02,"deviation":"0.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653137949000,"dateString":"2022-05-21T12:59:09.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","_id":"6288e24c0f1be700041e59f3","glucose":86,"avgDelta":"4.50","BGI":-17.54,"deviation":"22.04","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653138249000,"dateString":"2022-05-21T13:04:09.000Z","isValid":true,"sgv":93,"direction":"FortyFiveUp","type":"sgv","_id":"6288e3610f1be700041e59f6","glucose":93,"avgDelta":"6.00","BGI":-17.8,"deviation":"23.80","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653138549000,"dateString":"2022-05-21T13:09:09.000Z","isValid":true,"sgv":95,"direction":"FortyFiveUp","type":"sgv","_id":"6288e4900f1be700041e59f8","glucose":95,"avgDelta":"5.75","BGI":-18.1,"deviation":"23.85","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653138849000,"dateString":"2022-05-21T13:14:09.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288e5d00f1be700041e59fb","glucose":94,"avgDelta":"3.75","BGI":-18.53,"deviation":"22.28","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653139150000,"dateString":"2022-05-21T13:19:10.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288e7030f1be700041e59fd","glucose":93,"avgDelta":"1.75","BGI":-18.83,"deviation":"20.58","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653139450000,"dateString":"2022-05-21T13:24:10.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288e82c0f1be700041e5a00","glucose":94,"avgDelta":"0.25","BGI":-18.83,"deviation":"19.08","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653139749000,"dateString":"2022-05-21T13:29:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6288e9410f1be700041e5a03","glucose":98,"avgDelta":"0.75","BGI":-18.58,"deviation":"19.33","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653140049000,"dateString":"2022-05-21T13:34:09.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","_id":"6288ea6e0f1be700041e5a06","glucose":105,"avgDelta":"2.75","BGI":-18.45,"deviation":"21.20","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653140349000,"dateString":"2022-05-21T13:39:09.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","_id":"6288eb9d0f1be700041e5a09","glucose":114,"avgDelta":"5.25","BGI":-18.58,"deviation":"23.83","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653140648000,"dateString":"2022-05-21T13:44:08.000Z","isValid":true,"sgv":121,"direction":"FortyFiveUp","type":"sgv","_id":"6288ecca0f1be700041e5a0b","glucose":121,"avgDelta":"6.75","BGI":-18.71,"deviation":"25.46","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653140949000,"dateString":"2022-05-21T13:49:09.000Z","isValid":true,"sgv":126,"direction":"FortyFiveUp","type":"sgv","_id":"6288edfc2634cd0004296065","glucose":126,"avgDelta":"7.00","BGI":-19.05,"deviation":"26.05","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653141249000,"dateString":"2022-05-21T13:54:09.000Z","isValid":true,"sgv":131,"direction":"FortyFiveUp","type":"sgv","_id":"6288ef2a2634cd0004296067","glucose":131,"avgDelta":"6.50","BGI":-19.48,"deviation":"25.98","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653141548000,"dateString":"2022-05-21T13:59:08.000Z","isValid":true,"sgv":139,"direction":"FortyFiveUp","type":"sgv","_id":"6288f03f2634cd000429606a","glucose":139,"avgDelta":"6.25","BGI":-19.91,"deviation":"26.16","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653141849000,"dateString":"2022-05-21T14:04:09.000Z","isValid":true,"sgv":147,"direction":"FortyFiveUp","type":"sgv","_id":"6288f16d2634cd000429606c","glucose":147,"avgDelta":"6.50","BGI":-20.17,"deviation":"26.67","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653142149000,"dateString":"2022-05-21T14:09:09.000Z","isValid":true,"sgv":155,"direction":"FortyFiveUp","type":"sgv","_id":"6288f29b2634cd000429606f","glucose":155,"avgDelta":"7.25","BGI":-20.73,"deviation":"27.98","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653142449000,"dateString":"2022-05-21T14:14:09.000Z","isValid":true,"sgv":160,"direction":"FortyFiveUp","type":"sgv","_id":"6288f3c92634cd0004296071","glucose":160,"avgDelta":"7.25","BGI":-21.08,"deviation":"28.33","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653142749000,"dateString":"2022-05-21T14:19:09.000Z","isValid":true,"sgv":166,"direction":"FortyFiveUp","type":"sgv","_id":"6288f4f72634cd0004296074","glucose":166,"avgDelta":"6.75","BGI":-21.55,"deviation":"28.30","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653143049000,"dateString":"2022-05-21T14:24:09.000Z","isValid":true,"sgv":174,"direction":"FortyFiveUp","type":"sgv","_id":"6288f62c0e0c880004d58dd8","glucose":174,"avgDelta":"6.75","BGI":-21.89,"deviation":"28.64","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653143349000,"dateString":"2022-05-21T14:29:09.000Z","isValid":true,"sgv":182,"direction":"FortyFiveUp","type":"sgv","_id":"6288f75a0e0c880004d58ddb","glucose":182,"avgDelta":"6.75","BGI":-21.98,"deviation":"28.73","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653143650000,"dateString":"2022-05-21T14:34:10.000Z","isValid":true,"sgv":185,"direction":"FortyFiveUp","type":"sgv","_id":"6288f8880e0c880004d58dde","glucose":185,"avgDelta":"6.25","BGI":-21.85,"deviation":"28.10","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653143949000,"dateString":"2022-05-21T14:39:09.000Z","isValid":true,"sgv":184,"direction":"Flat","type":"sgv","_id":"6288f9b60e0c880004d58de0","glucose":184,"avgDelta":"4.50","BGI":-21.46,"deviation":"25.96","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653144249000,"dateString":"2022-05-21T14:44:09.000Z","isValid":true,"sgv":180,"direction":"Flat","type":"sgv","_id":"6288facb0e0c880004d58de3","glucose":180,"avgDelta":"1.50","BGI":-20.82,"deviation":"22.32","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653144550000,"dateString":"2022-05-21T14:49:10.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6288fbf90e0c880004d58de5","glucose":178,"avgDelta":"-1.00","BGI":-20,"deviation":"19.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653144849000,"dateString":"2022-05-21T14:54:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6288fd270e0c880004d58de7","glucose":177,"avgDelta":"-2.00","BGI":-19.01,"deviation":"17.01","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653145149000,"dateString":"2022-05-21T14:59:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"6288fe56c9346b0004863359","glucose":176,"avgDelta":"-2.00","BGI":-17.97,"deviation":"15.97","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653145449000,"dateString":"2022-05-21T15:04:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6288ff9ec9346b000486335b","glucose":177,"avgDelta":"-0.75","BGI":-16.85,"deviation":"16.10","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653145750000,"dateString":"2022-05-21T15:09:10.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"628900b2c9346b000486335d","glucose":177,"avgDelta":"-0.25","BGI":-15.73,"deviation":"15.48","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653146050000,"dateString":"2022-05-21T15:14:10.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"628901e0c9346b000486335f","glucose":177,"avgDelta":"0.00","BGI":-14.57,"deviation":"14.57","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653146349000,"dateString":"2022-05-21T15:19:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6289030ec9346b0004863361","glucose":177,"avgDelta":"0.25","BGI":-13.45,"deviation":"13.70","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653146650000,"dateString":"2022-05-21T15:24:10.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6289043cc9346b0004863363","glucose":178,"avgDelta":"0.25","BGI":-12.33,"deviation":"12.58","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653146949000,"dateString":"2022-05-21T15:29:09.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6289056ac9346b0004863366","glucose":178,"avgDelta":"0.25","BGI":-11.29,"deviation":"11.54","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653147249000,"dateString":"2022-05-21T15:34:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6289067fc9346b0004863369","glucose":177,"avgDelta":"0.00","BGI":-10.17,"deviation":"10.17","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653147549000,"dateString":"2022-05-21T15:39:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"628907c5cf7ee10004a2b1ce","glucose":176,"avgDelta":"-0.25","BGI":-9.27,"deviation":"9.02","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653147849000,"dateString":"2022-05-21T15:44:09.000Z","isValid":true,"sgv":175,"direction":"Flat","type":"sgv","_id":"628908f3cf7ee10004a2b1d1","glucose":175,"avgDelta":"-0.75","BGI":-8.49,"deviation":"7.74","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653148149000,"dateString":"2022-05-21T15:49:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890a21cf7ee10004a2b1d3","glucose":174,"avgDelta":"-1.00","BGI":-7.89,"deviation":"6.89","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653148450000,"dateString":"2022-05-21T15:54:10.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890b36cf7ee10004a2b1d7","glucose":176,"avgDelta":"-0.25","BGI":-7.37,"deviation":"7.12","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653148749000,"dateString":"2022-05-21T15:59:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890c64cf7ee10004a2b1da","glucose":176,"avgDelta":"0.00","BGI":-6.94,"deviation":"6.94","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653149049000,"dateString":"2022-05-21T16:04:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890daccf7ee10004a2b1de","glucose":176,"avgDelta":"0.25","BGI":-6.72,"deviation":"6.97","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653149349000,"dateString":"2022-05-21T16:09:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890edacf7ee10004a2b1e2","glucose":174,"avgDelta":"0.00","BGI":-6.64,"deviation":"6.64","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653149650000,"dateString":"2022-05-21T16:14:10.000Z","isValid":true,"sgv":173,"direction":"Flat","type":"sgv","_id":"62890fff1090500004ca46fd","glucose":173,"avgDelta":"-0.75","BGI":-6.42,"deviation":"5.67","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653149949000,"dateString":"2022-05-21T16:19:09.000Z","isValid":true,"sgv":172,"direction":"Flat","type":"sgv","_id":"6289130f1090500004ca46ff","glucose":172,"avgDelta":"-1.00","BGI":-6.12,"deviation":"5.12","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653150249000,"dateString":"2022-05-21T16:24:09.000Z","isValid":true,"sgv":170,"direction":"Flat","type":"sgv","_id":"628913111090500004ca4704","glucose":170,"avgDelta":"-1.50","BGI":-5.95,"deviation":"4.45","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653150549000,"dateString":"2022-05-21T16:29:09.000Z","isValid":true,"sgv":165,"direction":"Flat","type":"sgv","_id":"628913731090500004ca4706","glucose":165,"avgDelta":"-2.25","BGI":-5.73,"deviation":"3.48","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653150849000,"dateString":"2022-05-21T16:34:09.000Z","isValid":true,"sgv":161,"direction":"Flat","type":"sgv","_id":"628914d01090500004ca4709","glucose":161,"avgDelta":"-3.00","BGI":-5.47,"deviation":"2.47","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653151149000,"dateString":"2022-05-21T16:39:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628915ce1090500004ca470c","glucose":158,"avgDelta":"-3.50","BGI":-5.09,"deviation":"1.59","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653151449000,"dateString":"2022-05-21T16:44:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628916f81090500004ca4710","glucose":158,"avgDelta":"-3.00","BGI":-4.74,"deviation":"1.74","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653151749000,"dateString":"2022-05-21T16:49:09.000Z","isValid":true,"sgv":159,"direction":"Flat","type":"sgv","_id":"628918261090500004ca4714","glucose":159,"avgDelta":"-1.50","BGI":-4.53,"deviation":"3.03","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653152049000,"dateString":"2022-05-21T16:54:09.000Z","isValid":true,"sgv":160,"direction":"Flat","type":"sgv","_id":"628919531090500004ca4717","glucose":160,"avgDelta":"-0.25","BGI":-4.35,"deviation":"4.10","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653152349000,"dateString":"2022-05-21T16:59:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"62891a811090500004ca471a","glucose":158,"avgDelta":"0.00","BGI":-4.35,"deviation":"4.35","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653152649000,"dateString":"2022-05-21T17:04:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62891ba31090500004ca471d","glucose":149,"avgDelta":"-2.25","BGI":-4.35,"deviation":"2.10","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653152949000,"dateString":"2022-05-21T17:09:09.000Z","isValid":true,"sgv":138,"direction":"FortyFiveDown","type":"sgv","_id":"62891cd01090500004ca471f","glucose":138,"avgDelta":"-5.25","BGI":-4.22,"deviation":"-1.03","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653153249000,"dateString":"2022-05-21T17:14:09.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62891dfd1090500004ca4722","glucose":124,"avgDelta":"-9.00","BGI":-4.05,"deviation":"-4.95","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653153549000,"dateString":"2022-05-21T17:19:09.000Z","isValid":true,"sgv":110,"direction":"SingleDown","type":"sgv","_id":"62891f2b1090500004ca4724","glucose":110,"avgDelta":"-12.00","BGI":-3.79,"deviation":"-8.21","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653153849000,"dateString":"2022-05-21T17:24:09.000Z","isValid":true,"sgv":96,"direction":"SingleDown","type":"sgv","_id":"628920591090500004ca4727","glucose":96,"avgDelta":"-13.25","BGI":-3.49,"deviation":"-9.76","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653154149000,"dateString":"2022-05-21T17:29:09.000Z","isValid":true,"sgv":93,"direction":"SingleDown","type":"sgv","_id":"628921861090500004ca472b","glucose":93,"avgDelta":"-11.25","BGI":-3.19,"deviation":"-8.06","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653154449000,"dateString":"2022-05-21T17:34:09.000Z","isValid":true,"sgv":97,"direction":"FortyFiveDown","type":"sgv","_id":"628922b18809e60004c644d6","glucose":97,"avgDelta":"-6.75","BGI":-2.84,"deviation":"-3.91","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653154749000,"dateString":"2022-05-21T17:39:09.000Z","isValid":true,"sgv":108,"direction":"NONE","type":"sgv","_id":"628923df8809e60004c644d9","glucose":108,"avgDelta":"-0.50","BGI":-2.5,"deviation":"2.00","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653155049000,"dateString":"2022-05-21T17:44:09.000Z","isValid":true,"sgv":116,"direction":"NONE","type":"sgv","_id":"6289250d8809e60004c644dd","glucose":116,"avgDelta":"5.00","BGI":-2.16,"deviation":"7.16","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653155349000,"dateString":"2022-05-21T17:49:09.000Z","isValid":true,"sgv":123,"direction":"NONE","type":"sgv","_id":"6289263c8809e60004c644e1","glucose":123,"avgDelta":"7.50","BGI":-2.07,"deviation":"9.57","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653155649000,"dateString":"2022-05-21T17:54:09.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"6289276a8809e60004c644e3","glucose":124,"avgDelta":"6.75","BGI":-2.11,"deviation":"8.86","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653155950000,"dateString":"2022-05-21T17:59:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"6289287e8809e60004c644e6","glucose":123,"avgDelta":"3.75","BGI":-2.16,"deviation":"5.91","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653156250000,"dateString":"2022-05-21T18:04:10.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"628929ac8809e60004c644e9","glucose":119,"avgDelta":"0.75","BGI":-2.07,"deviation":"2.82","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653156549000,"dateString":"2022-05-21T18:09:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"62892af2840d8d0004a20bf0","glucose":114,"avgDelta":"-2.25","BGI":-1.9,"deviation":"-0.35","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653156849000,"dateString":"2022-05-21T18:14:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62892c06840d8d0004a20bf2","glucose":110,"avgDelta":"-3.50","BGI":-1.72,"deviation":"-1.78","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653157149000,"dateString":"2022-05-21T18:19:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892d34840d8d0004a20bf5","glucose":108,"avgDelta":"-3.75","BGI":-1.47,"deviation":"-2.28","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653157449000,"dateString":"2022-05-21T18:24:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892e62840d8d0004a20bf8","glucose":108,"avgDelta":"-2.75","BGI":-1.21,"deviation":"-1.54","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653157750000,"dateString":"2022-05-21T18:29:10.000Z","isValid":true,"sgv":106,"direction":"Flat","type":"sgv","_id":"62892f8f840d8d0004a20bfa","glucose":106,"avgDelta":"-2.00","BGI":-0.95,"deviation":"-1.05","mealCarbs":80},{"device":"AndroidAPS-DexcomG6","date":1653158049000,"dateString":"2022-05-21T18:34:09.000Z","isValid":true,"sgv":104,"direction":"Flat","type":"sgv","_id":"628930bc840d8d0004a20bfd","glucose":104,"avgDelta":"-1.50","BGI":-0.69,"deviation":"-0.81","mealCarbs":0,"mealAbsorption":"end"},{"device":"AndroidAPS-DexcomG6","date":1653164649000,"dateString":"2022-05-21T20:24:09.000Z","isValid":true,"sgv":133,"direction":"FortyFiveUp","type":"sgv","_id":"62894a7e4493460004e63a38","glucose":133,"avgDelta":"9.50","BGI":-6.46,"deviation":"15.96","mealAbsorption":"start","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653164950000,"dateString":"2022-05-21T20:29:10.000Z","isValid":true,"sgv":143,"direction":"SingleUp","type":"sgv","_id":"62894bab80fc7e00041b229b","glucose":143,"avgDelta":"10.75","BGI":-14.31,"deviation":"25.06","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653165249000,"dateString":"2022-05-21T20:34:09.000Z","isValid":true,"sgv":145,"direction":"FortyFiveUp","type":"sgv","_id":"62894cdb80fc7e00041b229e","glucose":145,"avgDelta":"9.00","BGI":-20.43,"deviation":"29.43","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653165550000,"dateString":"2022-05-21T20:39:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"62894e0980fc7e00041b22a0","glucose":139,"avgDelta":"4.75","BGI":-25.17,"deviation":"29.92","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653165850000,"dateString":"2022-05-21T20:44:10.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"62894f3880fc7e00041b22a3","glucose":128,"avgDelta":"-1.25","BGI":-28.62,"deviation":"27.37","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653166149000,"dateString":"2022-05-21T20:49:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveDown","type":"sgv","_id":"6289506680fc7e00041b22a5","glucose":118,"avgDelta":"-6.25","BGI":-30.95,"deviation":"24.70","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653166450000,"dateString":"2022-05-21T20:54:10.000Z","isValid":true,"sgv":110,"direction":"FortyFiveDown","type":"sgv","_id":"6289519580fc7e00041b22a7","glucose":110,"avgDelta":"-8.75","BGI":-32.45,"deviation":"23.70","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653166749000,"dateString":"2022-05-21T20:59:09.000Z","isValid":true,"sgv":104,"direction":"FortyFiveDown","type":"sgv","_id":"628952c680fc7e00041b22a9","glucose":104,"avgDelta":"-8.75","BGI":-33.27,"deviation":"24.52","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653167049000,"dateString":"2022-05-21T21:04:09.000Z","isValid":true,"sgv":101,"direction":"FortyFiveDown","type":"sgv","_id":"628953e79bf1e6000482ff90","glucose":101,"avgDelta":"-6.75","BGI":-33.45,"deviation":"26.70","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653167350000,"dateString":"2022-05-21T21:09:10.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"628955179bf1e6000482ff92","glucose":99,"avgDelta":"-4.75","BGI":-33.14,"deviation":"28.39","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653167650000,"dateString":"2022-05-21T21:14:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628956919bf1e6000482ff96","glucose":98,"avgDelta":"-3.00","BGI":-32.5,"deviation":"29.50","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653167949000,"dateString":"2022-05-21T21:19:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6289583f9bf1e6000482ff9b","glucose":98,"avgDelta":"-1.50","BGI":-31.64,"deviation":"30.14","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653168250000,"dateString":"2022-05-21T21:24:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628959ed9bf1e6000482ff9e","glucose":98,"avgDelta":"-0.75","BGI":-30.69,"deviation":"29.94","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653168549000,"dateString":"2022-05-21T21:29:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"62895b9a9bf1e6000482ffa1","glucose":98,"avgDelta":"-0.25","BGI":-29.74,"deviation":"29.49","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653168849000,"dateString":"2022-05-21T21:34:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"62895d98fb144900043c34e5","glucose":100,"avgDelta":"0.50","BGI":-28.58,"deviation":"29.08","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653169150000,"dateString":"2022-05-21T21:39:10.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62895f5ffb144900043c34e8","glucose":102,"avgDelta":"1.00","BGI":-27.28,"deviation":"28.28","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653169449000,"dateString":"2022-05-21T21:44:09.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","_id":"628961a4fb144900043c34ea","glucose":105,"avgDelta":"1.75","BGI":-25.82,"deviation":"27.57","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653169749000,"dateString":"2022-05-21T21:49:09.000Z","isValid":true,"sgv":107,"direction":"Flat","type":"sgv","_id":"628964906a5ecf00042d546b","glucose":107,"avgDelta":"2.25","BGI":-24.39,"deviation":"26.64","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653170049000,"dateString":"2022-05-21T21:54:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"628967a06a5ecf00042d546e","glucose":110,"avgDelta":"2.50","BGI":-22.84,"deviation":"25.34","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653170350000,"dateString":"2022-05-21T21:59:10.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","_id":"628969016a5ecf00042d5470","glucose":112,"avgDelta":"2.50","BGI":-21.29,"deviation":"23.79","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653170650000,"dateString":"2022-05-21T22:04:10.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"628969fd6a5ecf00042d5471","glucose":115,"avgDelta":"2.50","BGI":-19.7,"deviation":"22.20","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653170950000,"dateString":"2022-05-21T22:09:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"62896ac76a5ecf00042d5472","glucose":117,"avgDelta":"2.50","BGI":-18.15,"deviation":"20.65","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653171250000,"dateString":"2022-05-21T22:14:10.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"62896b5f6a5ecf00042d5474","glucose":118,"avgDelta":"2.00","BGI":-16.59,"deviation":"18.59","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653171549000,"dateString":"2022-05-21T22:19:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"62896c1037d09a00043f2b13","glucose":120,"avgDelta":"2.00","BGI":-15.13,"deviation":"17.13","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653171849000,"dateString":"2022-05-21T22:24:09.000Z","isValid":true,"sgv":122,"direction":"Flat","type":"sgv","_id":"62896c7537d09a00043f2b14","glucose":122,"avgDelta":"1.75","BGI":-13.75,"deviation":"15.50","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653172150000,"dateString":"2022-05-21T22:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"62896cda37d09a00043f2b16","glucose":124,"avgDelta":"1.75","BGI":-12.41,"deviation":"14.16","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653172450000,"dateString":"2022-05-21T22:34:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"62896d8b37d09a00043f2b17","glucose":124,"avgDelta":"1.50","BGI":-11.21,"deviation":"12.71","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653172749000,"dateString":"2022-05-21T22:39:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"62896e8937d09a00043f2b19","glucose":120,"avgDelta":"0.00","BGI":-10.13,"deviation":"10.13","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653173050000,"dateString":"2022-05-21T22:44:10.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"62896f8537d09a00043f2b1a","glucose":115,"avgDelta":"-1.75","BGI":-9.05,"deviation":"7.30","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653173350000,"dateString":"2022-05-21T22:49:10.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62896fb837d09a00043f2b1b","glucose":110,"avgDelta":"-3.50","BGI":-8.15,"deviation":"4.65","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653173650000,"dateString":"2022-05-21T22:54:10.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289717d37d09a00043f2b1e","glucose":108,"avgDelta":"-4.00","BGI":-7.28,"deviation":"3.28","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653173949000,"dateString":"2022-05-21T22:59:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289721437d09a00043f2b1f","glucose":108,"avgDelta":"-3.00","BGI":-6.42,"deviation":"3.42","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653174249000,"dateString":"2022-05-21T23:04:09.000Z","isValid":true,"sgv":111,"direction":"Flat","type":"sgv","_id":"6289726037d09a00043f2b20","glucose":111,"avgDelta":"-1.00","BGI":-5.69,"deviation":"4.69","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653174550000,"dateString":"2022-05-21T23:09:10.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6289727937d09a00043f2b21","glucose":114,"avgDelta":"1.00","BGI":-4.96,"deviation":"5.96","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653174850000,"dateString":"2022-05-21T23:14:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6289727a37d09a00043f2b22","glucose":117,"avgDelta":"2.25","BGI":-4.35,"deviation":"6.60","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653175149000,"dateString":"2022-05-21T23:19:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"6289738f37d09a00043f2b26","glucose":120,"avgDelta":"3.00","BGI":-3.84,"deviation":"6.84","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653175450000,"dateString":"2022-05-21T23:24:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"628974b671a363000480abbc","glucose":123,"avgDelta":"3.00","BGI":-3.4,"deviation":"6.40","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653175750000,"dateString":"2022-05-21T23:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"628975e471a363000480abbe","glucose":124,"avgDelta":"2.50","BGI":-3.19,"deviation":"5.69","mealCarbs":50},{"device":"AndroidAPS-DexcomG6","date":1653176050000,"dateString":"2022-05-21T23:34:10.000Z","isValid":true,"sgv":127,"direction":"Flat","type":"sgv","_id":"6289771371a363000480abc1","glucose":127,"avgDelta":"2.50","BGI":-2.93,"deviation":"5.43","mealCarbs":0,"mealAbsorption":"end"}],"ISFGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653108249000,"dateString":"2022-05-21T04:44:09.000Z","isValid":true,"sgv":123,"direction":"FortyFiveDown","type":"sgv","_id":"62886e2919e2e60004989bba","glucose":123,"avgDelta":"-7.50","BGI":-7.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653108548000,"dateString":"2022-05-21T04:49:08.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"62886f5719e2e60004989bbc","glucose":128,"avgDelta":"-4.00","BGI":-7.2,"deviation":"3.20"},{"device":"AndroidAPS-DexcomG6","date":1653110649000,"dateString":"2022-05-21T05:24:09.000Z","isValid":true,"sgv":98,"direction":"FortyFiveDown","type":"sgv","_id":"628877a5363e6c0004f710e0","glucose":98,"avgDelta":"-6.75","BGI":-4.44,"deviation":"-2.31"},{"device":"AndroidAPS-DexcomG6","date":1653110949000,"dateString":"2022-05-21T05:29:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628878bbe964810004aa5655","glucose":97,"avgDelta":"-5.00","BGI":-3.92,"deviation":"-1.08"},{"device":"AndroidAPS-DexcomG6","date":1653111249000,"dateString":"2022-05-21T05:34:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628879e9e964810004aa5657","glucose":97,"avgDelta":"-3.00","BGI":-3.45,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653111549000,"dateString":"2022-05-21T05:39:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"62887b17e964810004aa565a","glucose":100,"avgDelta":"-0.50","BGI":-2.84,"deviation":"2.34"},{"device":"AndroidAPS-DexcomG6","date":1653111849000,"dateString":"2022-05-21T05:44:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887c44e964810004aa565d","glucose":102,"avgDelta":"1.00","BGI":-2.37,"deviation":"3.37"},{"device":"AndroidAPS-DexcomG6","date":1653112148000,"dateString":"2022-05-21T05:49:08.000Z","isValid":true,"sgv":103,"direction":"Flat","type":"sgv","_id":"62887d72e964810004aa5661","glucose":103,"avgDelta":"1.50","BGI":-2.07,"deviation":"3.57"},{"device":"AndroidAPS-DexcomG6","date":1653112449000,"dateString":"2022-05-21T05:54:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887ea1e964810004aa5664","glucose":102,"avgDelta":"1.25","BGI":-2.28,"deviation":"3.53"},{"device":"AndroidAPS-DexcomG6","date":1653112749000,"dateString":"2022-05-21T05:59:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"62887fcee964810004aa5666","glucose":101,"avgDelta":"0.25","BGI":-2.46,"deviation":"2.71"},{"device":"AndroidAPS-DexcomG6","date":1653113049000,"dateString":"2022-05-21T06:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628880ee8ff3530004dc6060","glucose":98,"avgDelta":"-1.00","BGI":-2.5,"deviation":"1.50"},{"device":"AndroidAPS-DexcomG6","date":1653113349000,"dateString":"2022-05-21T06:09:09.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288821b8ff3530004dc6062","glucose":94,"avgDelta":"-2.25","BGI":-2.46,"deviation":"0.21"},{"device":"AndroidAPS-DexcomG6","date":1653113649000,"dateString":"2022-05-21T06:14:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288834a8ff3530004dc6065","glucose":91,"avgDelta":"-2.75","BGI":-2.28,"deviation":"-0.47"},{"device":"AndroidAPS-DexcomG6","date":1653113949000,"dateString":"2022-05-21T06:19:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"628884778ff3530004dc6067","glucose":89,"avgDelta":"-3.00","BGI":-2.07,"deviation":"-0.93"},{"device":"AndroidAPS-DexcomG6","date":1653114249000,"dateString":"2022-05-21T06:24:09.000Z","isValid":true,"sgv":85,"direction":"Flat","type":"sgv","_id":"628885a48ff3530004dc6069","glucose":85,"avgDelta":"-3.25","BGI":-1.77,"deviation":"-1.48"},{"device":"AndroidAPS-DexcomG6","date":1653176350000,"dateString":"2022-05-21T23:39:10.000Z","isValid":true,"sgv":132,"direction":"Flat","type":"sgv","_id":"6289784271a363000480abc3","glucose":132,"avgDelta":"3.00","BGI":-2.67,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653180849000,"dateString":"2022-05-22T00:54:09.000Z","isValid":true,"sgv":105,"direction":"SingleDown","type":"sgv","_id":"628989d2da46aa0004d1e0f8","glucose":105,"avgDelta":"-9.50","BGI":-3.1,"deviation":"-6.40"},{"device":"AndroidAPS-DexcomG6","date":1653181150000,"dateString":"2022-05-22T00:59:10.000Z","isValid":true,"sgv":97,"direction":"SingleDown","type":"sgv","_id":"62898b01da46aa0004d1e0fa","glucose":97,"avgDelta":"-11.50","BGI":-2.84,"deviation":"-8.66"},{"device":"AndroidAPS-DexcomG6","date":1653181450000,"dateString":"2022-05-22T01:04:10.000Z","isValid":true,"sgv":92,"direction":"FortyFiveDown","type":"sgv","_id":"62898c2fda46aa0004d1e0fc","glucose":92,"avgDelta":"-10.75","BGI":-2.5,"deviation":"-8.25"},{"device":"AndroidAPS-DexcomG6","date":1653181750000,"dateString":"2022-05-22T01:09:10.000Z","isValid":true,"sgv":87,"direction":"FortyFiveDown","type":"sgv","_id":"62898d4750e51d0004429e5f","glucose":87,"avgDelta":"-8.50","BGI":-2.11,"deviation":"-6.39"}],"basalGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653114549000,"dateString":"2022-05-21T06:29:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628886d28ff3530004dc606b","glucose":80,"avgDelta":"-3.50","BGI":-1.47,"deviation":"-2.03"},{"device":"AndroidAPS-DexcomG6","date":1653114849000,"dateString":"2022-05-21T06:34:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"628888018ff3530004dc6070","glucose":78,"avgDelta":"-3.25","BGI":-1.12,"deviation":"-2.13"},{"device":"AndroidAPS-DexcomG6","date":1653115149000,"dateString":"2022-05-21T06:39:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288892a149196000412bf49","glucose":76,"avgDelta":"-3.25","BGI":-0.78,"deviation":"-2.47"},{"device":"AndroidAPS-DexcomG6","date":1653115449000,"dateString":"2022-05-21T06:44:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888a57149196000412bf4b","glucose":74,"avgDelta":"-2.75","BGI":-0.34,"deviation":"-2.41"},{"device":"AndroidAPS-DexcomG6","date":1653115749000,"dateString":"2022-05-21T06:49:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888b85149196000412bf4d","glucose":70,"avgDelta":"-2.50","BGI":0,"deviation":"-2.50"},{"device":"AndroidAPS-DexcomG6","date":1653116049000,"dateString":"2022-05-21T06:54:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"62888ccc149196000412bf4f","glucose":69,"avgDelta":"-2.25","BGI":0.43,"deviation":"-2.68"},{"device":"AndroidAPS-DexcomG6","date":1653116349000,"dateString":"2022-05-21T06:59:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888de2149196000412bf51","glucose":70,"avgDelta":"-1.50","BGI":0.78,"deviation":"-2.28"},{"device":"AndroidAPS-DexcomG6","date":1653116649000,"dateString":"2022-05-21T07:04:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888f0f149196000412bf54","glucose":74,"avgDelta":"0.00","BGI":1.12,"deviation":"-1.12"},{"device":"AndroidAPS-DexcomG6","date":1653116949000,"dateString":"2022-05-21T07:09:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"62889024149196000412bf57","glucose":76,"avgDelta":"1.50","BGI":1.47,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653117249000,"dateString":"2022-05-21T07:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"628891627ff1e700040f17c6","glucose":79,"avgDelta":"2.50","BGI":1.77,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653117549000,"dateString":"2022-05-21T07:19:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628892907ff1e700040f17c7","glucose":80,"avgDelta":"2.50","BGI":2.11,"deviation":"0.39"},{"device":"AndroidAPS-DexcomG6","date":1653117848000,"dateString":"2022-05-21T07:24:08.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"628893bd7ff1e700040f17c9","glucose":82,"avgDelta":"2.00","BGI":2.37,"deviation":"-0.37"},{"device":"AndroidAPS-DexcomG6","date":1653118149000,"dateString":"2022-05-21T07:29:09.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","_id":"628894d37ff1e700040f17cd","glucose":86,"avgDelta":"2.50","BGI":2.63,"deviation":"-0.13"},{"device":"AndroidAPS-DexcomG6","date":1653118449000,"dateString":"2022-05-21T07:34:09.000Z","isValid":true,"sgv":92,"direction":"Flat","type":"sgv","_id":"6288961d7ff1e700040f17ce","glucose":92,"avgDelta":"3.25","BGI":2.84,"deviation":"0.41"},{"device":"AndroidAPS-DexcomG6","date":1653118748000,"dateString":"2022-05-21T07:39:08.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628897357ff1e700040f17d3","glucose":97,"avgDelta":"4.25","BGI":3.06,"deviation":"1.19"},{"device":"AndroidAPS-DexcomG6","date":1653119049000,"dateString":"2022-05-21T07:44:09.000Z","isValid":true,"sgv":105,"direction":"FortyFiveUp","type":"sgv","_id":"628898627ff1e700040f17d5","glucose":105,"avgDelta":"5.75","BGI":2.76,"deviation":"2.99"},{"device":"AndroidAPS-DexcomG6","date":1653119349000,"dateString":"2022-05-21T07:49:09.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","_id":"628899957ff1e700040f17d7","glucose":114,"avgDelta":"7.00","BGI":2.37,"deviation":"4.63"},{"device":"AndroidAPS-DexcomG6","date":1653158349000,"dateString":"2022-05-21T18:39:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"628931e9840d8d0004a20bff","glucose":102,"avgDelta":"-1.50","BGI":-0.47,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653158649000,"dateString":"2022-05-21T18:44:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6289331c22fbc8000495b813","glucose":101,"avgDelta":"-1.75","BGI":-0.3,"deviation":"-1.45"},{"device":"AndroidAPS-DexcomG6","date":1653158949000,"dateString":"2022-05-21T18:49:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289344a22fbc8000495b815","glucose":100,"avgDelta":"-1.50","BGI":-0.17,"deviation":"-1.33"},{"device":"AndroidAPS-DexcomG6","date":1653159249000,"dateString":"2022-05-21T18:54:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6289357622fbc8000495b818","glucose":99,"avgDelta":"-1.25","BGI":-0.04,"deviation":"-1.21"},{"device":"AndroidAPS-DexcomG6","date":1653159549000,"dateString":"2022-05-21T18:59:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"628936a422fbc8000495b81a","glucose":99,"avgDelta":"-0.75","BGI":0.04,"deviation":"-0.79"},{"device":"AndroidAPS-DexcomG6","date":1653159849000,"dateString":"2022-05-21T19:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628937b822fbc8000495b81d","glucose":98,"avgDelta":"-0.75","BGI":0.17,"deviation":"-0.92"},{"device":"AndroidAPS-DexcomG6","date":1653160150000,"dateString":"2022-05-21T19:09:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628938fe22fbc8000495b81f","glucose":98,"avgDelta":"-0.50","BGI":0.3,"deviation":"-0.80"},{"device":"AndroidAPS-DexcomG6","date":1653160449000,"dateString":"2022-05-21T19:14:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"62893a1222fbc8000495b822","glucose":98,"avgDelta":"-0.25","BGI":0.43,"deviation":"-0.68"},{"device":"AndroidAPS-DexcomG6","date":1653160749000,"dateString":"2022-05-21T19:19:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"62893b4f598f780004bb3b22","glucose":97,"avgDelta":"-0.50","BGI":0.52,"deviation":"-1.02"},{"device":"AndroidAPS-DexcomG6","date":1653161049000,"dateString":"2022-05-21T19:24:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"62893c7d598f780004bb3b24","glucose":95,"avgDelta":"-0.75","BGI":0.6,"deviation":"-1.35"},{"device":"AndroidAPS-DexcomG6","date":1653161350000,"dateString":"2022-05-21T19:29:10.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"62893daa598f780004bb3b27","glucose":94,"avgDelta":"-1.00","BGI":0.65,"deviation":"-1.65"},{"device":"AndroidAPS-DexcomG6","date":1653161649000,"dateString":"2022-05-21T19:34:09.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"62893ed7598f780004bb3b29","glucose":93,"avgDelta":"-1.25","BGI":0.73,"deviation":"-1.98"},{"device":"AndroidAPS-DexcomG6","date":1653161950000,"dateString":"2022-05-21T19:39:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"62893feb598f780004bb3b2b","glucose":91,"avgDelta":"-1.50","BGI":0.86,"deviation":"-2.36"},{"device":"AndroidAPS-DexcomG6","date":1653162250000,"dateString":"2022-05-21T19:44:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"62894118598f780004bb3b2d","glucose":89,"avgDelta":"-1.50","BGI":0.99,"deviation":"-2.49"},{"device":"AndroidAPS-DexcomG6","date":1653162549000,"dateString":"2022-05-21T19:49:09.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6289425f598f780004bb3b30","glucose":88,"avgDelta":"-1.50","BGI":1.12,"deviation":"-2.62"},{"device":"AndroidAPS-DexcomG6","date":1653162850000,"dateString":"2022-05-21T19:54:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6289437f4493460004e63a25","glucose":89,"avgDelta":"-1.00","BGI":1.25,"deviation":"-2.25"},{"device":"AndroidAPS-DexcomG6","date":1653163150000,"dateString":"2022-05-21T19:59:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"628944ae4493460004e63a27","glucose":91,"avgDelta":"0.00","BGI":1.38,"deviation":"-1.38"},{"device":"AndroidAPS-DexcomG6","date":1653163449000,"dateString":"2022-05-21T20:04:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"628945dc4493460004e63a2a","glucose":95,"avgDelta":"1.50","BGI":1.51,"deviation":"-0.01"},{"device":"AndroidAPS-DexcomG6","date":1653163749000,"dateString":"2022-05-21T20:09:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289470c4493460004e63a2d","glucose":100,"avgDelta":"3.00","BGI":1.55,"deviation":"1.45"},{"device":"AndroidAPS-DexcomG6","date":1653164049000,"dateString":"2022-05-21T20:14:09.000Z","isValid":true,"sgv":109,"direction":"Flat","type":"sgv","_id":"628948214493460004e63a31","glucose":109,"avgDelta":"5.00","BGI":1.51,"deviation":"3.49"},{"device":"AndroidAPS-DexcomG6","date":1653164350000,"dateString":"2022-05-21T20:19:10.000Z","isValid":true,"sgv":120,"direction":"FortyFiveUp","type":"sgv","_id":"6289496a4493460004e63a34","glucose":120,"avgDelta":"7.25","BGI":1.34,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653182050000,"dateString":"2022-05-22T01:14:10.000Z","isValid":true,"sgv":81,"direction":"FortyFiveDown","type":"sgv","_id":"62898e7650e51d0004429e63","glucose":81,"avgDelta":"-6.00","BGI":-1.68,"deviation":"-4.32"},{"device":"AndroidAPS-DexcomG6","date":1653182349000,"dateString":"2022-05-22T01:19:09.000Z","isValid":true,"sgv":77,"direction":"FortyFiveDown","type":"sgv","_id":"62898fa550e51d0004429e65","glucose":77,"avgDelta":"-5.00","BGI":-1.25,"deviation":"-3.75"},{"device":"AndroidAPS-DexcomG6","date":1653182650000,"dateString":"2022-05-22T01:24:10.000Z","isValid":true,"sgv":74,"direction":"FortyFiveDown","type":"sgv","_id":"628990d350e51d0004429e67","glucose":74,"avgDelta":"-4.50","BGI":-0.78,"deviation":"-3.72"},{"device":"AndroidAPS-DexcomG6","date":1653182949000,"dateString":"2022-05-22T01:29:09.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6289920150e51d0004429e69","glucose":72,"avgDelta":"-3.75","BGI":-0.3,"deviation":"-3.45"},{"device":"AndroidAPS-DexcomG6","date":1653183249000,"dateString":"2022-05-22T01:34:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6289933050e51d0004429e6b","glucose":73,"avgDelta":"-2.00","BGI":0.22,"deviation":"-2.22"},{"device":"AndroidAPS-DexcomG6","date":1653183550000,"dateString":"2022-05-22T01:39:10.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6289945f50e51d0004429e6d","glucose":76,"avgDelta":"-0.25","BGI":0.69,"deviation":"-0.94"},{"device":"AndroidAPS-DexcomG6","date":1653183850000,"dateString":"2022-05-22T01:44:10.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6289957b61a829000474037f","glucose":79,"avgDelta":"1.25","BGI":1.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653184150000,"dateString":"2022-05-22T01:49:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628996a961a8290004740382","glucose":80,"avgDelta":"2.00","BGI":1.55,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653184450000,"dateString":"2022-05-22T01:54:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628997d861a8290004740385","glucose":80,"avgDelta":"1.75","BGI":1.9,"deviation":"-0.15"},{"device":"AndroidAPS-DexcomG6","date":1653099848000,"dateString":"2022-05-21T02:24:08.000Z","isValid":true,"sgv":308,"direction":"FortyFiveUp","type":"sgv","_id":"62884d6793668c0004a30514","glucose":308,"avgDelta":"9.25","BGI":-16.85,"deviation":"26.10","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653100148000,"dateString":"2022-05-21T02:29:08.000Z","isValid":true,"sgv":307,"direction":"FortyFiveUp","type":"sgv","_id":"62884e9493668c0004a30517","glucose":307,"avgDelta":"9.00","BGI":-18.88,"deviation":"27.88"},{"device":"AndroidAPS-DexcomG6","date":1653100449000,"dateString":"2022-05-21T02:34:09.000Z","isValid":true,"sgv":297,"direction":"Flat","type":"sgv","_id":"62884fb05151b5000462a1dc","glucose":297,"avgDelta":"3.75","BGI":-20.26,"deviation":"24.01"},{"device":"AndroidAPS-DexcomG6","date":1653100748000,"dateString":"2022-05-21T02:39:08.000Z","isValid":true,"sgv":283,"direction":"Flat","type":"sgv","_id":"628850de5151b5000462a1df","glucose":283,"avgDelta":"-3.25","BGI":-21.08,"deviation":"17.83"},{"device":"AndroidAPS-DexcomG6","date":1653101048000,"dateString":"2022-05-21T02:44:08.000Z","isValid":true,"sgv":267,"direction":"FortyFiveDown","type":"sgv","_id":"6288520b5151b5000462a1e2","glucose":267,"avgDelta":"-10.25","BGI":-21.46,"deviation":"11.21"},{"device":"AndroidAPS-DexcomG6","date":1653101348000,"dateString":"2022-05-21T02:49:08.000Z","isValid":true,"sgv":253,"direction":"SingleDown","type":"sgv","_id":"628853395151b5000462a1e4","glucose":253,"avgDelta":"-13.50","BGI":-21.46,"deviation":"7.96"},{"device":"AndroidAPS-DexcomG6","date":1653101648000,"dateString":"2022-05-21T02:54:08.000Z","isValid":true,"sgv":241,"direction":"SingleDown","type":"sgv","_id":"6288547f5151b5000462a1e6","glucose":241,"avgDelta":"-14.00","BGI":-21.16,"deviation":"7.16"},{"device":"AndroidAPS-DexcomG6","date":1653101948000,"dateString":"2022-05-21T02:59:08.000Z","isValid":true,"sgv":228,"direction":"SingleDown","type":"sgv","_id":"628855935151b5000462a1e8","glucose":228,"avgDelta":"-13.75","BGI":-20.52,"deviation":"6.77"},{"device":"AndroidAPS-DexcomG6","date":1653102249000,"dateString":"2022-05-21T03:04:09.000Z","isValid":true,"sgv":216,"direction":"SingleDown","type":"sgv","_id":"628856da5151b5000462a1ea","glucose":216,"avgDelta":"-12.75","BGI":-19.7,"deviation":"6.95"},{"device":"AndroidAPS-DexcomG6","date":1653102548000,"dateString":"2022-05-21T03:09:08.000Z","isValid":true,"sgv":204,"direction":"SingleDown","type":"sgv","_id":"628857f7293f3e00042c31d3","glucose":204,"avgDelta":"-12.25","BGI":-18.79,"deviation":"6.54"},{"device":"AndroidAPS-DexcomG6","date":1653102848000,"dateString":"2022-05-21T03:14:08.000Z","isValid":true,"sgv":193,"direction":"SingleDown","type":"sgv","_id":"62885924293f3e00042c31d5","glucose":193,"avgDelta":"-12.00","BGI":-17.71,"deviation":"5.71"},{"device":"AndroidAPS-DexcomG6","date":1653103149000,"dateString":"2022-05-21T03:19:09.000Z","isValid":true,"sgv":182,"direction":"SingleDown","type":"sgv","_id":"62885a52293f3e00042c31d7","glucose":182,"avgDelta":"-11.50","BGI":-16.64,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653103448000,"dateString":"2022-05-21T03:24:08.000Z","isValid":true,"sgv":174,"direction":"SingleDown","type":"sgv","_id":"62885b81293f3e00042c31d9","glucose":174,"avgDelta":"-10.50","BGI":-15.43,"deviation":"4.93"},{"device":"AndroidAPS-DexcomG6","date":1653103748000,"dateString":"2022-05-21T03:29:08.000Z","isValid":true,"sgv":171,"direction":"FortyFiveDown","type":"sgv","_id":"62885c95293f3e00042c31db","glucose":171,"avgDelta":"-8.25","BGI":-14.31,"deviation":"6.06"},{"device":"AndroidAPS-DexcomG6","date":1653104049000,"dateString":"2022-05-21T03:34:09.000Z","isValid":true,"sgv":170,"direction":"FortyFiveDown","type":"sgv","_id":"62885dc3293f3e00042c31de","glucose":170,"avgDelta":"-5.75","BGI":-13.1,"deviation":"7.35"},{"device":"AndroidAPS-DexcomG6","date":1653104349000,"dateString":"2022-05-21T03:39:09.000Z","isValid":true,"sgv":167,"direction":"Flat","type":"sgv","_id":"62885ef1293f3e00042c31e2","glucose":167,"avgDelta":"-3.75","BGI":-12.07,"deviation":"8.32"},{"device":"AndroidAPS-DexcomG6","date":1653104648000,"dateString":"2022-05-21T03:44:08.000Z","isValid":true,"sgv":162,"direction":"Flat","type":"sgv","_id":"6288601b42c1220004f95729","glucose":162,"avgDelta":"-3.00","BGI":-11.64,"deviation":"8.64"},{"device":"AndroidAPS-DexcomG6","date":1653104949000,"dateString":"2022-05-21T03:49:09.000Z","isValid":true,"sgv":155,"direction":"FortyFiveDown","type":"sgv","_id":"6288614942c1220004f9572c","glucose":155,"avgDelta":"-4.00","BGI":-11.12,"deviation":"7.12"},{"device":"AndroidAPS-DexcomG6","date":1653105248000,"dateString":"2022-05-21T03:54:08.000Z","isValid":true,"sgv":149,"direction":"FortyFiveDown","type":"sgv","_id":"6288629042c1220004f9572e","glucose":149,"avgDelta":"-5.25","BGI":-10.56,"deviation":"5.31"},{"device":"AndroidAPS-DexcomG6","date":1653105549000,"dateString":"2022-05-21T03:59:09.000Z","isValid":true,"sgv":146,"direction":"FortyFiveDown","type":"sgv","_id":"628863a542c1220004f95730","glucose":146,"avgDelta":"-5.25","BGI":-9.87,"deviation":"4.62"},{"device":"AndroidAPS-DexcomG6","date":1653105848000,"dateString":"2022-05-21T04:04:08.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"628864d342c1220004f95733","glucose":146,"avgDelta":"-4.00","BGI":-9.14,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653106149000,"dateString":"2022-05-21T04:09:09.000Z","isValid":true,"sgv":151,"direction":"Flat","type":"sgv","_id":"6288660142c1220004f95736","glucose":151,"avgDelta":"-1.00","BGI":-8.36,"deviation":"7.36"},{"device":"AndroidAPS-DexcomG6","date":1653106449000,"dateString":"2022-05-21T04:14:09.000Z","isValid":true,"sgv":155,"direction":"Flat","type":"sgv","_id":"6288672f42c1220004f9573a","glucose":155,"avgDelta":"1.50","BGI":-7.8,"deviation":"9.30"},{"device":"AndroidAPS-DexcomG6","date":1653106749000,"dateString":"2022-05-21T04:19:09.000Z","isValid":true,"sgv":157,"direction":"Flat","type":"sgv","_id":"6288685d19e2e60004989bac","glucose":157,"avgDelta":"2.75","BGI":-7.93,"deviation":"10.68"},{"device":"AndroidAPS-DexcomG6","date":1653107048000,"dateString":"2022-05-21T04:24:08.000Z","isValid":true,"sgv":153,"direction":"Flat","type":"sgv","_id":"6288698b19e2e60004989bb0","glucose":153,"avgDelta":"1.75","BGI":-8.06,"deviation":"9.81"},{"device":"AndroidAPS-DexcomG6","date":1653107348000,"dateString":"2022-05-21T04:29:08.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"62886ab919e2e60004989bb3","glucose":144,"avgDelta":"-1.75","BGI":-8.19,"deviation":"6.44"},{"device":"AndroidAPS-DexcomG6","date":1653107648000,"dateString":"2022-05-21T04:34:08.000Z","isValid":true,"sgv":132,"direction":"FortyFiveDown","type":"sgv","_id":"62886be719e2e60004989bb5","glucose":132,"avgDelta":"-5.75","BGI":-8.1,"deviation":"2.35"},{"device":"AndroidAPS-DexcomG6","date":1653107948000,"dateString":"2022-05-21T04:39:08.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62886cfc19e2e60004989bb8","glucose":124,"avgDelta":"-8.25","BGI":-7.89,"deviation":"-0.36"},{"device":"AndroidAPS-DexcomG6","date":1653108848000,"dateString":"2022-05-21T04:54:08.000Z","isValid":true,"sgv":130,"direction":"Flat","type":"sgv","_id":"62887093363e6c0004f710cf","glucose":130,"avgDelta":"-0.50","BGI":-6.72,"deviation":"6.22","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653109148000,"dateString":"2022-05-21T04:59:08.000Z","isValid":true,"sgv":129,"direction":"Flat","type":"sgv","_id":"628871c1363e6c0004f710d3","glucose":129,"avgDelta":"1.25","BGI":-6.34,"deviation":"7.59"},{"device":"AndroidAPS-DexcomG6","date":1653109448000,"dateString":"2022-05-21T05:04:08.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"628872ef363e6c0004f710d6","glucose":125,"avgDelta":"0.50","BGI":-6.08,"deviation":"6.58"},{"device":"AndroidAPS-DexcomG6","date":1653109748000,"dateString":"2022-05-21T05:09:08.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288741c363e6c0004f710d9","glucose":117,"avgDelta":"-2.75","BGI":-5.73,"deviation":"2.98"},{"device":"AndroidAPS-DexcomG6","date":1653110049000,"dateString":"2022-05-21T05:14:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveDown","type":"sgv","_id":"62887549363e6c0004f710dc","glucose":109,"avgDelta":"-5.25","BGI":-5.34,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653110348000,"dateString":"2022-05-21T05:19:08.000Z","isValid":true,"sgv":102,"direction":"FortyFiveDown","type":"sgv","_id":"62887677363e6c0004f710de","glucose":102,"avgDelta":"-6.75","BGI":-4.91,"deviation":"-1.84"},{"device":"AndroidAPS-DexcomG6","date":1653176650000,"dateString":"2022-05-21T23:44:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"6289797071a363000480abc7","glucose":139,"avgDelta":"4.00","BGI":-2.59,"deviation":"6.59","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653176950000,"dateString":"2022-05-21T23:49:10.000Z","isValid":true,"sgv":143,"direction":"FortyFiveUp","type":"sgv","_id":"62897a8771a363000480abca","glucose":143,"avgDelta":"4.75","BGI":-2.63,"deviation":"7.38"},{"device":"AndroidAPS-DexcomG6","date":1653177250000,"dateString":"2022-05-21T23:54:10.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"62897bc89d6f1800047cd0c9","glucose":146,"avgDelta":"4.75","BGI":-3.23,"deviation":"7.98"},{"device":"AndroidAPS-DexcomG6","date":1653177550000,"dateString":"2022-05-21T23:59:10.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"62897cde9d6f1800047cd0cc","glucose":147,"avgDelta":"3.75","BGI":-3.79,"deviation":"7.54"},{"device":"AndroidAPS-DexcomG6","date":1653177850000,"dateString":"2022-05-22T00:04:10.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897e0c9d6f1800047cd0d0","glucose":149,"avgDelta":"2.50","BGI":-4.22,"deviation":"6.72"},{"device":"AndroidAPS-DexcomG6","date":1653178149000,"dateString":"2022-05-22T00:09:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897f3b9d6f1800047cd0d3","glucose":149,"avgDelta":"1.50","BGI":-4.48,"deviation":"5.98"},{"device":"AndroidAPS-DexcomG6","date":1653178449000,"dateString":"2022-05-22T00:14:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6289806a9d6f1800047cd0d6","glucose":147,"avgDelta":"0.25","BGI":-4.61,"deviation":"4.86"},{"device":"AndroidAPS-DexcomG6","date":1653178750000,"dateString":"2022-05-22T00:19:10.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"628981999d6f1800047cd0d8","glucose":144,"avgDelta":"-0.75","BGI":-4.57,"deviation":"3.82"},{"device":"AndroidAPS-DexcomG6","date":1653179050000,"dateString":"2022-05-22T00:24:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628982c89d6f1800047cd0db","glucose":142,"avgDelta":"-1.75","BGI":-4.48,"deviation":"2.73"},{"device":"AndroidAPS-DexcomG6","date":1653179350000,"dateString":"2022-05-22T00:29:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628983f69d6f1800047cd0dd","glucose":142,"avgDelta":"-1.75","BGI":-4.27,"deviation":"2.52"},{"device":"AndroidAPS-DexcomG6","date":1653179649000,"dateString":"2022-05-22T00:34:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898517da46aa0004d1e0ea","glucose":143,"avgDelta":"-1.00","BGI":-4.01,"deviation":"3.01"},{"device":"AndroidAPS-DexcomG6","date":1653179949000,"dateString":"2022-05-22T00:39:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898645da46aa0004d1e0ee","glucose":143,"avgDelta":"-0.25","BGI":-3.75,"deviation":"3.50"},{"device":"AndroidAPS-DexcomG6","date":1653180250000,"dateString":"2022-05-22T00:44:10.000Z","isValid":true,"sgv":135,"direction":"Flat","type":"sgv","_id":"62898774da46aa0004d1e0f1","glucose":135,"avgDelta":"-1.75","BGI":-3.49,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653180549000,"dateString":"2022-05-22T00:49:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","_id":"628988a3da46aa0004d1e0f5","glucose":121,"avgDelta":"-5.25","BGI":-3.32,"deviation":"-1.93"}]} diff --git a/plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json deleted file mode 100644 index 80bf4e3925..0000000000 --- a/plugins/main/src/test/res/autotune/test1/newaapsorefprofile.2022-05-21.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.002, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 1.091, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 1.118, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.321, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.091, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.965, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.825, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 0.849, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 0.909, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 0.903, - "start": "09:00:00", - "untuned": 1 - }, - { - "i": 10, - "minutes": 600, - "rate": 0.906, - "start": "10:00:00", - "untuned": 1 - }, - { - "i": 11, - "minutes": 660, - "rate": 0.878, - "start": "11:00:00", - "untuned": 1 - }, - { - "i": 12, - "minutes": 720, - "rate": 0.861, - "start": "12:00:00", - "untuned": 1 - }, - { - "i": 13, - "minutes": 780, - "rate": 0.855, - "start": "13:00:00", - "untuned": 1 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.848, - "start": "14:00:00", - "untuned": 1 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.834, - "start": "15:00:00", - "untuned": 1 - }, - { - "i": 16, - "minutes": 960, - "rate": 0.762, - "start": "16:00:00", - "untuned": 1 - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.647, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.631, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.728, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.838, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.871, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.886, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.893, - "start": "23:00:00" - } - ], - "carb_ratio": 5.817, - "csf": 16.025, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 85.993, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 85.993, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json deleted file mode 100644 index 92304dbf45..0000000000 --- a/plugins/main/src/test/res/autotune/test1/oaps-iobCalc.2022-05-21.json +++ /dev/null @@ -1,286 +0,0 @@ -[ - { "iob": 5.249, "activity": 0.0391, "date": 1653099848000}, - { "iob": 5.292, "activity": 0.0438, "date": 1653100148000}, - { "iob": 4.964, "activity": 0.047, "date": 1653100449000}, - { "iob": 4.674, "activity": 0.0489, "date": 1653100748000}, - { "iob": 4.377, "activity": 0.0498, "date": 1653101048000}, - { "iob": 4.077, "activity": 0.0498, "date": 1653101348000}, - { "iob": 3.73, "activity": 0.0491, "date": 1653101648000}, - { "iob": 3.389, "activity": 0.0476, "date": 1653101948000}, - { "iob": 3.055, "activity": 0.0457, "date": 1653102249000}, - { "iob": 2.782, "activity": 0.0436, "date": 1653102548000}, - { "iob": 2.47, "activity": 0.0411, "date": 1653102848000}, - { "iob": 2.22, "activity": 0.0386, "date": 1653103149000}, - { "iob": 1.935, "activity": 0.0358, "date": 1653103448000}, - { "iob": 1.711, "activity": 0.0332, "date": 1653103748000}, - { "iob": 1.452, "activity": 0.0304, "date": 1653104049000}, - { "iob": 1.927, "activity": 0.028, "date": 1653104349000}, - { "iob": 1.84, "activity": 0.027, "date": 1653104648000}, - { "iob": 1.658, "activity": 0.0258, "date": 1653104949000}, - { "iob": 1.482, "activity": 0.0245, "date": 1653105248000}, - { "iob": 1.264, "activity": 0.0229, "date": 1653105549000}, - { "iob": 1.104, "activity": 0.0212, "date": 1653105848000}, - { "iob": 0.952, "activity": 0.0194, "date": 1653106149000}, - { "iob": 1.619, "activity": 0.0181, "date": 1653106449000}, - { "iob": 1.678, "activity": 0.0184, "date": 1653106749000}, - { "iob": 1.775, "activity": 0.0187, "date": 1653107048000}, - { "iob": 1.581, "activity": 0.019, "date": 1653107348000}, - { "iob": 1.437, "activity": 0.0188, "date": 1653107648000}, - { "iob": 1.294, "activity": 0.0183, "date": 1653107948000}, - { "iob": 1.153, "activity": 0.0176, "date": 1653108249000}, - { "iob": 1.017, "activity": 0.0167, "date": 1653108548000}, - { "iob": 0.887, "activity": 0.0156, "date": 1653108848000}, - { "iob": 1.011, "activity": 0.0147, "date": 1653109148000}, - { "iob": 0.889, "activity": 0.0141, "date": 1653109448000}, - { "iob": 0.771, "activity": 0.0133, "date": 1653109748000}, - { "iob": 0.656, "activity": 0.0124, "date": 1653110049000}, - { "iob": 0.547, "activity": 0.0114, "date": 1653110348000}, - { "iob": 0.392, "activity": 0.0103, "date": 1653110649000}, - { "iob": 0.294, "activity": 0.0091, "date": 1653110949000}, - { "iob": 0.2, "activity": 0.008, "date": 1653111249000}, - { "iob": 0.065, "activity": 0.0066, "date": 1653111549000}, - { "iob": 0.034, "activity": 0.0055, "date": 1653111849000}, - { "iob": 0.549, "activity": 0.0048, "date": 1653112148000}, - { "iob": 0.674, "activity": 0.0053, "date": 1653112449000}, - { "iob": 0.597, "activity": 0.0057, "date": 1653112749000}, - { "iob": 0.468, "activity": 0.0058, "date": 1653113049000}, - { "iob": 0.389, "activity": 0.0057, "date": 1653113349000}, - { "iob": 0.262, "activity": 0.0053, "date": 1653113649000}, - { "iob": 0.186, "activity": 0.0048, "date": 1653113949000}, - { "iob": 0.064, "activity": 0.0041, "date": 1653114249000}, - { "iob": -0.005, "activity": 0.0034, "date": 1653114549000}, - { "iob": -0.12, "activity": 0.0026, "date": 1653114849000}, - { "iob": -0.181, "activity": 0.0018, "date": 1653115149000}, - { "iob": -0.287, "activity": 0.0008, "date": 1653115449000}, - { "iob": -0.34, "activity": 0, "date": 1653115749000}, - { "iob": -0.436, "activity": -0.001, "date": 1653116049000}, - { "iob": -0.48, "activity": -0.0018, "date": 1653116349000}, - { "iob": -0.519, "activity": -0.0026, "date": 1653116649000}, - { "iob": -0.554, "activity": -0.0034, "date": 1653116949000}, - { "iob": -0.585, "activity": -0.0041, "date": 1653117249000}, - { "iob": -0.662, "activity": -0.0049, "date": 1653117549000}, - { "iob": -0.687, "activity": -0.0055, "date": 1653117848000}, - { "iob": -0.708, "activity": -0.0061, "date": 1653118149000}, - { "iob": -0.726, "activity": -0.0066, "date": 1653118449000}, - { "iob": -0.351, "activity": -0.0071, "date": 1653118748000}, - { "iob": -0.218, "activity": -0.0064, "date": 1653119049000}, - { "iob": -0.088, "activity": -0.0055, "date": 1653119349000}, - { "iob": 13.594, "activity": 0.0023, "date": 1653119649000}, - { "iob": 13.552, "activity": 0.0331, "date": 1653119949000}, - { "iob": 13.224, "activity": 0.0573, "date": 1653120249000}, - { "iob": 12.838, "activity": 0.076, "date": 1653120548000}, - { "iob": 12.322, "activity": 0.09, "date": 1653120849000}, - { "iob": 11.794, "activity": 0.1001, "date": 1653121149000}, - { "iob": 11.177, "activity": 0.1068, "date": 1653121449000}, - { "iob": 10.58, "activity": 0.111, "date": 1653121749000}, - { "iob": 9.919, "activity": 0.1129, "date": 1653122049000}, - { "iob": 9.254, "activity": 0.1129, "date": 1653122349000}, - { "iob": 8.643, "activity": 0.1114, "date": 1653122649000}, - { "iob": 7.992, "activity": 0.1088, "date": 1653122949000}, - { "iob": 7.406, "activity": 0.1053, "date": 1653123248000}, - { "iob": 7.111, "activity": 0.1012, "date": 1653123549000}, - { "iob": 6.515, "activity": 0.0971, "date": 1653123849000}, - { "iob": 5.99, "activity": 0.0927, "date": 1653124149000}, - { "iob": 5.439, "activity": 0.0878, "date": 1653124448000}, - { "iob": 4.962, "activity": 0.0828, "date": 1653124749000}, - { "iob": 4.462, "activity": 0.0775, "date": 1653125048000}, - { "iob": 4.036, "activity": 0.0724, "date": 1653125349000}, - { "iob": 3.638, "activity": 0.0672, "date": 1653125649000}, - { "iob": 3.214, "activity": 0.0621, "date": 1653125948000}, - { "iob": 2.866, "activity": 0.0571, "date": 1653126249000}, - { "iob": 2.494, "activity": 0.0522, "date": 1653126549000}, - { "iob": 2.193, "activity": 0.0476, "date": 1653126849000}, - { "iob": 1.867, "activity": 0.0431, "date": 1653127149000}, - { "iob": 1.563, "activity": 0.0388, "date": 1653127449000}, - { "iob": 1.329, "activity": 0.0347, "date": 1653127748000}, - { "iob": 1.115, "activity": 0.0309, "date": 1653128049000}, - { "iob": 0.87, "activity": 0.0272, "date": 1653128349000}, - { "iob": 0.692, "activity": 0.0239, "date": 1653128649000}, - { "iob": 0.482, "activity": 0.0206, "date": 1653128948000}, - { "iob": 0.287, "activity": 0.0176, "date": 1653129249000}, - { "iob": 0.156, "activity": 0.0148, "date": 1653129548000}, - { "iob": 0.038, "activity": 0.0122, "date": 1653129848000}, - { "iob": -0.067, "activity": 0.0099, "date": 1653130149000}, - { "iob": -0.161, "activity": 0.0078, "date": 1653130448000}, - { "iob": -0.195, "activity": 0.006, "date": 1653130748000}, - { "iob": -0.271, "activity": 0.0044, "date": 1653131049000}, - { "iob": -0.339, "activity": 0.0029, "date": 1653131349000}, - { "iob": -0.4, "activity": 0.0015, "date": 1653131649000}, - { "iob": -0.155, "activity": 0.0007, "date": 1653131948000}, - { "iob": 8.11, "activity": 0.0045, "date": 1653132249000}, - { "iob": 7.992, "activity": 0.0222, "date": 1653132549000}, - { "iob": 7.745, "activity": 0.0359, "date": 1653132849000}, - { "iob": 7.488, "activity": 0.0465, "date": 1653133149000}, - { "iob": 7.136, "activity": 0.0541, "date": 1653133449000}, - { "iob": 6.8, "activity": 0.0596, "date": 1653133749000}, - { "iob": 6.441, "activity": 0.0633, "date": 1653134049000}, - { "iob": 6.022, "activity": 0.0651, "date": 1653134349000}, - { "iob": 5.644, "activity": 0.0657, "date": 1653134649000}, - { "iob": 5.216, "activity": 0.0653, "date": 1653134949000}, - { "iob": 4.962, "activity": 0.0644, "date": 1653135249000}, - { "iob": 4.544, "activity": 0.0627, "date": 1653135549000}, - { "iob": 4.185, "activity": 0.0606, "date": 1653135849000}, - { "iob": 3.839, "activity": 0.058, "date": 1653136149000}, - { "iob": 3.456, "activity": 0.055, "date": 1653136449000}, - { "iob": 3.139, "activity": 0.0519, "date": 1653136749000}, - { "iob": 2.788, "activity": 0.0486, "date": 1653137049000}, - { "iob": 2.503, "activity": 0.0453, "date": 1653137350000}, - { "iob": 2.186, "activity": 0.0418, "date": 1653137649000}, - { "iob": 3.17, "activity": 0.0407, "date": 1653137949000}, - { "iob": 3.956, "activity": 0.0413, "date": 1653138249000}, - { "iob": 3.648, "activity": 0.042, "date": 1653138549000}, - { "iob": 4.126, "activity": 0.043, "date": 1653138849000}, - { "iob": 3.81, "activity": 0.0437, "date": 1653139150000}, - { "iob": 3.541, "activity": 0.0437, "date": 1653139450000}, - { "iob": 3.272, "activity": 0.0431, "date": 1653139749000}, - { "iob": 3.588, "activity": 0.0428, "date": 1653140049000}, - { "iob": 3.875, "activity": 0.0431, "date": 1653140349000}, - { "iob": 3.608, "activity": 0.0434, "date": 1653140648000}, - { "iob": 4.271, "activity": 0.0442, "date": 1653140949000}, - { "iob": 3.996, "activity": 0.0452, "date": 1653141249000}, - { "iob": 4.298, "activity": 0.0462, "date": 1653141548000}, - { "iob": 4.015, "activity": 0.0468, "date": 1653141849000}, - { "iob": 4.538, "activity": 0.0481, "date": 1653142149000}, - { "iob": 4.245, "activity": 0.0489, "date": 1653142449000}, - { "iob": 4.729, "activity": 0.05, "date": 1653142749000}, - { "iob": 4.426, "activity": 0.0508, "date": 1653143049000}, - { "iob": 4.353, "activity": 0.051, "date": 1653143349000}, - { "iob": 4.049, "activity": 0.0507, "date": 1653143650000}, - { "iob": 3.747, "activity": 0.0498, "date": 1653143949000}, - { "iob": 3.402, "activity": 0.0483, "date": 1653144249000}, - { "iob": 3.115, "activity": 0.0464, "date": 1653144550000}, - { "iob": 2.788, "activity": 0.0441, "date": 1653144849000}, - { "iob": 2.524, "activity": 0.0417, "date": 1653145149000}, - { "iob": 2.271, "activity": 0.0391, "date": 1653145449000}, - { "iob": 2.033, "activity": 0.0365, "date": 1653145750000}, - { "iob": 1.807, "activity": 0.0338, "date": 1653146050000}, - { "iob": 1.594, "activity": 0.0312, "date": 1653146349000}, - { "iob": 1.395, "activity": 0.0286, "date": 1653146650000}, - { "iob": 1.258, "activity": 0.0262, "date": 1653146949000}, - { "iob": 1.034, "activity": 0.0236, "date": 1653147249000}, - { "iob": 0.971, "activity": 0.0215, "date": 1653147549000}, - { "iob": 1.008, "activity": 0.0197, "date": 1653147849000}, - { "iob": 0.963, "activity": 0.0183, "date": 1653148149000}, - { "iob": 1.046, "activity": 0.0171, "date": 1653148450000}, - { "iob": 0.912, "activity": 0.0161, "date": 1653148749000}, - { "iob": 1.254, "activity": 0.0156, "date": 1653149049000}, - { "iob": 1.176, "activity": 0.0154, "date": 1653149349000}, - { "iob": 1.051, "activity": 0.0149, "date": 1653149650000}, - { "iob": 0.928, "activity": 0.0142, "date": 1653149949000}, - { "iob": 1.008, "activity": 0.0138, "date": 1653150249000}, - { "iob": 0.89, "activity": 0.0133, "date": 1653150549000}, - { "iob": 0.775, "activity": 0.0127, "date": 1653150849000}, - { "iob": 0.664, "activity": 0.0118, "date": 1653151149000}, - { "iob": 0.606, "activity": 0.011, "date": 1653151449000}, - { "iob": 0.703, "activity": 0.0105, "date": 1653151749000}, - { "iob": 0.702, "activity": 0.0101, "date": 1653152049000}, - { "iob": 0.902, "activity": 0.0101, "date": 1653152349000}, - { "iob": 0.801, "activity": 0.0101, "date": 1653152649000}, - { "iob": 0.701, "activity": 0.0098, "date": 1653152949000}, - { "iob": 0.603, "activity": 0.0094, "date": 1653153249000}, - { "iob": 0.508, "activity": 0.0088, "date": 1653153549000}, - { "iob": 0.415, "activity": 0.0081, "date": 1653153849000}, - { "iob": 0.327, "activity": 0.0074, "date": 1653154149000}, - { "iob": 0.242, "activity": 0.0066, "date": 1653154449000}, - { "iob": 0.161, "activity": 0.0058, "date": 1653154749000}, - { "iob": 0.134, "activity": 0.005, "date": 1653155049000}, - { "iob": 0.4, "activity": 0.0048, "date": 1653155349000}, - { "iob": 0.475, "activity": 0.0049, "date": 1653155649000}, - { "iob": 0.401, "activity": 0.005, "date": 1653155950000}, - { "iob": 0.327, "activity": 0.0048, "date": 1653156250000}, - { "iob": 0.203, "activity": 0.0044, "date": 1653156549000}, - { "iob": 0.132, "activity": 0.004, "date": 1653156849000}, - { "iob": 0.064, "activity": 0.0034, "date": 1653157149000}, - { "iob": -0.002, "activity": 0.0028, "date": 1653157449000}, - { "iob": -0.064, "activity": 0.0022, "date": 1653157750000}, - { "iob": -0.073, "activity": 0.0016, "date": 1653158049000}, - { "iob": -0.08, "activity": 0.0011, "date": 1653158349000}, - { "iob": -0.085, "activity": 0.0007, "date": 1653158649000}, - { "iob": -0.087, "activity": 0.0004, "date": 1653158949000}, - { "iob": -0.088, "activity": 0.0001, "date": 1653159249000}, - { "iob": -0.088, "activity": -0.0001, "date": 1653159549000}, - { "iob": -0.137, "activity": -0.0004, "date": 1653159849000}, - { "iob": -0.184, "activity": -0.0007, "date": 1653160150000}, - { "iob": -0.18, "activity": -0.001, "date": 1653160449000}, - { "iob": -0.175, "activity": -0.0012, "date": 1653160749000}, - { "iob": -0.168, "activity": -0.0014, "date": 1653161049000}, - { "iob": -0.211, "activity": -0.0015, "date": 1653161350000}, - { "iob": -0.203, "activity": -0.0017, "date": 1653161649000}, - { "iob": -0.243, "activity": -0.002, "date": 1653161950000}, - { "iob": -0.282, "activity": -0.0023, "date": 1653162250000}, - { "iob": -0.32, "activity": -0.0026, "date": 1653162549000}, - { "iob": -0.357, "activity": -0.0029, "date": 1653162850000}, - { "iob": -0.391, "activity": -0.0032, "date": 1653163150000}, - { "iob": -0.375, "activity": -0.0035, "date": 1653163449000}, - { "iob": -0.357, "activity": -0.0036, "date": 1653163749000}, - { "iob": -0.149, "activity": -0.0035, "date": 1653164049000}, - { "iob": -0.132, "activity": -0.0031, "date": 1653164350000}, - { "iob": 9.296, "activity": 0.015, "date": 1653164649000}, - { "iob": 9.123, "activity": 0.0332, "date": 1653164950000}, - { "iob": 8.96, "activity": 0.0474, "date": 1653165249000}, - { "iob": 8.644, "activity": 0.0584, "date": 1653165550000}, - { "iob": 8.282, "activity": 0.0664, "date": 1653165850000}, - { "iob": 7.835, "activity": 0.0718, "date": 1653166149000}, - { "iob": 7.416, "activity": 0.0753, "date": 1653166450000}, - { "iob": 6.984, "activity": 0.0772, "date": 1653166749000}, - { "iob": 6.547, "activity": 0.0776, "date": 1653167049000}, - { "iob": 6.061, "activity": 0.0769, "date": 1653167350000}, - { "iob": 5.68, "activity": 0.0754, "date": 1653167650000}, - { "iob": 5.458, "activity": 0.0734, "date": 1653167949000}, - { "iob": 5.046, "activity": 0.0712, "date": 1653168250000}, - { "iob": 4.925, "activity": 0.069, "date": 1653168549000}, - { "iob": 4.487, "activity": 0.0663, "date": 1653168849000}, - { "iob": 4.113, "activity": 0.0633, "date": 1653169150000}, - { "iob": 3.706, "activity": 0.0599, "date": 1653169449000}, - { "iob": 3.363, "activity": 0.0566, "date": 1653169749000}, - { "iob": 3.039, "activity": 0.053, "date": 1653170049000}, - { "iob": 2.733, "activity": 0.0494, "date": 1653170350000}, - { "iob": 2.395, "activity": 0.0457, "date": 1653170650000}, - { "iob": 2.126, "activity": 0.0421, "date": 1653170950000}, - { "iob": 1.824, "activity": 0.0385, "date": 1653171250000}, - { "iob": 1.64, "activity": 0.0351, "date": 1653171549000}, - { "iob": 1.473, "activity": 0.0319, "date": 1653171849000}, - { "iob": 1.273, "activity": 0.0288, "date": 1653172150000}, - { "iob": 1.136, "activity": 0.026, "date": 1653172450000}, - { "iob": 1.011, "activity": 0.0235, "date": 1653172749000}, - { "iob": 0.852, "activity": 0.021, "date": 1653173050000}, - { "iob": 0.752, "activity": 0.0189, "date": 1653173350000}, - { "iob": 0.662, "activity": 0.0169, "date": 1653173650000}, - { "iob": 0.534, "activity": 0.0149, "date": 1653173949000}, - { "iob": 0.463, "activity": 0.0132, "date": 1653174249000}, - { "iob": 0.352, "activity": 0.0115, "date": 1653174550000}, - { "iob": 0.298, "activity": 0.0101, "date": 1653174850000}, - { "iob": 0.25, "activity": 0.0089, "date": 1653175149000}, - { "iob": 0.329, "activity": 0.0079, "date": 1653175450000}, - { "iob": 0.34, "activity": 0.0074, "date": 1653175750000}, - { "iob": 0.304, "activity": 0.0068, "date": 1653176050000}, - { "iob": 0.272, "activity": 0.0062, "date": 1653176350000}, - { "iob": 0.512, "activity": 0.006, "date": 1653176650000}, - { "iob": 0.581, "activity": 0.0061, "date": 1653176950000}, - { "iob": 1.238, "activity": 0.0075, "date": 1653177250000}, - { "iob": 1.147, "activity": 0.0088, "date": 1653177550000}, - { "iob": 1.151, "activity": 0.0098, "date": 1653177850000}, - { "iob": 1.05, "activity": 0.0104, "date": 1653178149000}, - { "iob": 0.947, "activity": 0.0107, "date": 1653178449000}, - { "iob": 0.844, "activity": 0.0106, "date": 1653178750000}, - { "iob": 0.741, "activity": 0.0104, "date": 1653179050000}, - { "iob": 0.59, "activity": 0.0099, "date": 1653179350000}, - { "iob": 0.542, "activity": 0.0093, "date": 1653179649000}, - { "iob": 0.497, "activity": 0.0087, "date": 1653179949000}, - { "iob": 0.456, "activity": 0.0081, "date": 1653180250000}, - { "iob": 0.516, "activity": 0.0077, "date": 1653180549000}, - { "iob": 0.429, "activity": 0.0072, "date": 1653180849000}, - { "iob": 0.294, "activity": 0.0066, "date": 1653181150000}, - { "iob": 0.163, "activity": 0.0058, "date": 1653181450000}, - { "iob": 0.037, "activity": 0.0049, "date": 1653181750000}, - { "iob": -0.085, "activity": 0.0039, "date": 1653182050000}, - { "iob": -0.153, "activity": 0.0029, "date": 1653182349000}, - { "iob": -0.265, "activity": 0.0018, "date": 1653182650000}, - { "iob": -0.371, "activity": 0.0007, "date": 1653182949000}, - { "iob": -0.471, "activity": -0.0005, "date": 1653183249000}, - { "iob": -0.566, "activity": -0.0016, "date": 1653183550000}, - { "iob": -0.606, "activity": -0.0026, "date": 1653183850000}, - { "iob": -0.64, "activity": -0.0036, "date": 1653184150000}, - { "iob": -0.67, "activity": -0.0044, "date": 1653184450000} -] - diff --git a/plugins/main/src/test/res/autotune/test2/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test2/aapsorefprofile.json deleted file mode 100644 index ad7b75b70c..0000000000 --- a/plugins/main/src/test/res/autotune/test2/aapsorefprofile.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.009, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 0.984, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 0.988, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.158, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.028, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.933, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.824, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 0.849, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 0.909, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 0.954, - "start": "09:00:00" - }, - { - "i": 10, - "minutes": 600, - "rate": 0.961, - "start": "10:00:00" - }, - { - "i": 11, - "minutes": 660, - "rate": 0.926, - "start": "11:00:00" - }, - { - "i": 12, - "minutes": 720, - "rate": 0.885, - "start": "12:00:00" - }, - { - "i": 13, - "minutes": 780, - "rate": 0.876, - "start": "13:00:00", - "untuned": 1 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.869, - "start": "14:00:00", - "untuned": 1 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.881, - "start": "15:00:00" - }, - { - "i": 16, - "minutes": 960, - "rate": 0.798, - "start": "16:00:00" - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.683, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.634, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.725, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.838, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.881, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.91, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.91, - "start": "23:00:00" - } - ], - "carb_ratio": 5.75, - "csf": 14.991, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 82.222, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 82.222, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json deleted file mode 100644 index cfedd0cf9b..0000000000 --- a/plugins/main/src/test/res/autotune/test2/autotune.2022-05-21.json +++ /dev/null @@ -1 +0,0 @@ -{"CRData":[],"CSFGlucoseData":[],"ISFGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653153849000,"dateString":"2022-05-21T17:24:09.000Z","isValid":true,"sgv":96,"direction":"SingleDown","type":"sgv","_id":"628920591090500004ca4727","glucose":96,"avgDelta":"-13.25","BGI":-3.49,"deviation":"-9.76"},{"device":"AndroidAPS-DexcomG6","date":1653181150000,"dateString":"2022-05-22T00:59:10.000Z","isValid":true,"sgv":97,"direction":"SingleDown","type":"sgv","_id":"62898b01da46aa0004d1e0fa","glucose":97,"avgDelta":"-11.50","BGI":-2.84,"deviation":"-8.66"},{"device":"AndroidAPS-DexcomG6","date":1653181450000,"dateString":"2022-05-22T01:04:10.000Z","isValid":true,"sgv":92,"direction":"FortyFiveDown","type":"sgv","_id":"62898c2fda46aa0004d1e0fc","glucose":92,"avgDelta":"-10.75","BGI":-2.5,"deviation":"-8.25"},{"device":"AndroidAPS-DexcomG6","date":1653153549000,"dateString":"2022-05-21T17:19:09.000Z","isValid":true,"sgv":110,"direction":"SingleDown","type":"sgv","_id":"62891f2b1090500004ca4724","glucose":110,"avgDelta":"-12.00","BGI":-3.79,"deviation":"-8.21"},{"device":"AndroidAPS-DexcomG6","date":1653154149000,"dateString":"2022-05-21T17:29:09.000Z","isValid":true,"sgv":93,"direction":"SingleDown","type":"sgv","_id":"628921861090500004ca472b","glucose":93,"avgDelta":"-11.25","BGI":-3.19,"deviation":"-8.06"},{"device":"AndroidAPS-DexcomG6","date":1653180849000,"dateString":"2022-05-22T00:54:09.000Z","isValid":true,"sgv":105,"direction":"SingleDown","type":"sgv","_id":"628989d2da46aa0004d1e0f8","glucose":105,"avgDelta":"-9.50","BGI":-3.1,"deviation":"-6.40"},{"device":"AndroidAPS-DexcomG6","date":1653181750000,"dateString":"2022-05-22T01:09:10.000Z","isValid":true,"sgv":87,"direction":"FortyFiveDown","type":"sgv","_id":"62898d4750e51d0004429e5f","glucose":87,"avgDelta":"-8.50","BGI":-2.11,"deviation":"-6.39"},{"device":"AndroidAPS-DexcomG6","date":1653153249000,"dateString":"2022-05-21T17:14:09.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62891dfd1090500004ca4722","glucose":124,"avgDelta":"-9.00","BGI":-4.05,"deviation":"-4.95"},{"device":"AndroidAPS-DexcomG6","date":1653154449000,"dateString":"2022-05-21T17:34:09.000Z","isValid":true,"sgv":97,"direction":"FortyFiveDown","type":"sgv","_id":"628922b18809e60004c644d6","glucose":97,"avgDelta":"-6.75","BGI":-2.84,"deviation":"-3.91"},{"device":"AndroidAPS-DexcomG6","date":1653110649000,"dateString":"2022-05-21T05:24:09.000Z","isValid":true,"sgv":98,"direction":"FortyFiveDown","type":"sgv","_id":"628877a5363e6c0004f710e0","glucose":98,"avgDelta":"-6.75","BGI":-4.44,"deviation":"-2.31"},{"device":"AndroidAPS-DexcomG6","date":1653180549000,"dateString":"2022-05-22T00:49:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","_id":"628988a3da46aa0004d1e0f5","glucose":121,"avgDelta":"-5.25","BGI":-3.32,"deviation":"-1.93"},{"device":"AndroidAPS-DexcomG6","date":1653110348000,"dateString":"2022-05-21T05:19:08.000Z","isValid":true,"sgv":102,"direction":"FortyFiveDown","type":"sgv","_id":"62887677363e6c0004f710de","glucose":102,"avgDelta":"-6.75","BGI":-4.91,"deviation":"-1.84"},{"device":"AndroidAPS-DexcomG6","date":1653156849000,"dateString":"2022-05-21T18:14:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62892c06840d8d0004a20bf2","glucose":110,"avgDelta":"-3.50","BGI":-1.72,"deviation":"-1.78"},{"device":"AndroidAPS-DexcomG6","date":1653114249000,"dateString":"2022-05-21T06:24:09.000Z","isValid":true,"sgv":85,"direction":"Flat","type":"sgv","_id":"628885a48ff3530004dc6069","glucose":85,"avgDelta":"-3.25","BGI":-1.77,"deviation":"-1.48"},{"device":"AndroidAPS-DexcomG6","date":1653131049000,"dateString":"2022-05-21T11:04:09.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","_id":"6288c7418e9ed800049b39e3","glucose":81,"avgDelta":"-3.00","BGI":-1.9,"deviation":"-1.10"},{"device":"AndroidAPS-DexcomG6","date":1653110949000,"dateString":"2022-05-21T05:29:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628878bbe964810004aa5655","glucose":97,"avgDelta":"-5.00","BGI":-3.92,"deviation":"-1.08"},{"device":"AndroidAPS-DexcomG6","date":1653152949000,"dateString":"2022-05-21T17:09:09.000Z","isValid":true,"sgv":138,"direction":"FortyFiveDown","type":"sgv","_id":"62891cd01090500004ca471f","glucose":138,"avgDelta":"-5.25","BGI":-4.22,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653113949000,"dateString":"2022-05-21T06:19:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"628884778ff3530004dc6067","glucose":89,"avgDelta":"-3.00","BGI":-2.07,"deviation":"-0.93"},{"device":"AndroidAPS-DexcomG6","date":1653113649000,"dateString":"2022-05-21T06:14:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288834a8ff3530004dc6065","glucose":91,"avgDelta":"-2.75","BGI":-2.28,"deviation":"-0.47"},{"device":"AndroidAPS-DexcomG6","date":1653107948000,"dateString":"2022-05-21T04:39:08.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62886cfc19e2e60004989bb8","glucose":124,"avgDelta":"-8.25","BGI":-7.89,"deviation":"-0.36"},{"device":"AndroidAPS-DexcomG6","date":1653156549000,"dateString":"2022-05-21T18:09:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"62892af2840d8d0004a20bf0","glucose":114,"avgDelta":"-2.25","BGI":-1.9,"deviation":"-0.35"},{"device":"AndroidAPS-DexcomG6","date":1653137649000,"dateString":"2022-05-21T12:54:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288e1040f1be700041e59f0","glucose":79,"avgDelta":"2.25","BGI":-18.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137350000,"dateString":"2022-05-21T12:49:10.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6288dfd60f1be700041e59ee","glucose":72,"avgDelta":"-0.25","BGI":-19.52,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137049000,"dateString":"2022-05-21T12:44:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"6288df8a0f1be700041e59ec","glucose":69,"avgDelta":"-1.75","BGI":-20.95,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136449000,"dateString":"2022-05-21T12:34:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"6288dd270f1be700041e59e8","glucose":70,"avgDelta":"-2.25","BGI":-23.7,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136149000,"dateString":"2022-05-21T12:29:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6288db8a0f1be700041e59e5","glucose":73,"avgDelta":"-1.25","BGI":-25,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135249000,"dateString":"2022-05-21T12:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288d7ae0f1be700041e59de","glucose":79,"avgDelta":"0.00","BGI":-27.76,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134949000,"dateString":"2022-05-21T12:09:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d67f0f1be700041e59da","glucose":78,"avgDelta":"-2.25","BGI":-28.14,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134649000,"dateString":"2022-05-21T12:04:09.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","_id":"6288d5500f1be700041e59d7","glucose":77,"avgDelta":"-6.00","BGI":-28.32,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134349000,"dateString":"2022-05-21T11:59:09.000Z","isValid":true,"sgv":76,"direction":"FortyFiveDown","type":"sgv","_id":"6288d4220f1be700041e59d5","glucose":76,"avgDelta":"-9.50","BGI":-28.06,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134049000,"dateString":"2022-05-21T11:54:09.000Z","isValid":true,"sgv":79,"direction":"FortyFiveDown","type":"sgv","_id":"6288d3060f1be700041e59d2","glucose":79,"avgDelta":"-10.50","BGI":-27.28,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135849000,"dateString":"2022-05-21T12:24:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288d9fb0f1be700041e59e2","glucose":76,"avgDelta":"-0.25","BGI":-26.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136749000,"dateString":"2022-05-21T12:39:09.000Z","isValid":true,"sgv":68,"direction":"Flat","type":"sgv","_id":"6288de580f1be700041e59ea","glucose":68,"avgDelta":"-2.50","BGI":-22.37,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135549000,"dateString":"2022-05-21T12:19:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d8e00f1be700041e59e0","glucose":78,"avgDelta":"0.50","BGI":-27.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653108249000,"dateString":"2022-05-21T04:44:09.000Z","isValid":true,"sgv":123,"direction":"FortyFiveDown","type":"sgv","_id":"62886e2919e2e60004989bba","glucose":123,"avgDelta":"-7.50","BGI":-7.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653130748000,"dateString":"2022-05-21T10:59:08.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","_id":"6288c61a1991280004dce468","glucose":84,"avgDelta":"-2.50","BGI":-2.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653110049000,"dateString":"2022-05-21T05:14:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveDown","type":"sgv","_id":"62887549363e6c0004f710dc","glucose":109,"avgDelta":"-5.25","BGI":-5.34,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653113349000,"dateString":"2022-05-21T06:09:09.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288821b8ff3530004dc6062","glucose":94,"avgDelta":"-2.25","BGI":-2.46,"deviation":"0.21"},{"device":"AndroidAPS-DexcomG6","date":1653111249000,"dateString":"2022-05-21T05:34:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628879e9e964810004aa5657","glucose":97,"avgDelta":"-3.00","BGI":-3.45,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653130448000,"dateString":"2022-05-21T10:54:08.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6288c4ec1991280004dce464","glucose":88,"avgDelta":"-2.00","BGI":-3.36,"deviation":"1.36"},{"device":"AndroidAPS-DexcomG6","date":1653113049000,"dateString":"2022-05-21T06:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628880ee8ff3530004dc6060","glucose":98,"avgDelta":"-1.00","BGI":-2.5,"deviation":"1.50"},{"device":"AndroidAPS-DexcomG6","date":1653151149000,"dateString":"2022-05-21T16:39:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628915ce1090500004ca470c","glucose":158,"avgDelta":"-3.50","BGI":-5.09,"deviation":"1.59"},{"device":"AndroidAPS-DexcomG6","date":1653180250000,"dateString":"2022-05-22T00:44:10.000Z","isValid":true,"sgv":135,"direction":"Flat","type":"sgv","_id":"62898774da46aa0004d1e0f1","glucose":135,"avgDelta":"-1.75","BGI":-3.49,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653151449000,"dateString":"2022-05-21T16:44:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628916f81090500004ca4710","glucose":158,"avgDelta":"-3.00","BGI":-4.74,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653154749000,"dateString":"2022-05-21T17:39:09.000Z","isValid":true,"sgv":108,"direction":"NONE","type":"sgv","_id":"628923df8809e60004c644d9","glucose":108,"avgDelta":"-0.50","BGI":-2.5,"deviation":"2.00"},{"device":"AndroidAPS-DexcomG6","date":1653152649000,"dateString":"2022-05-21T17:04:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62891ba31090500004ca471d","glucose":149,"avgDelta":"-2.25","BGI":-4.35,"deviation":"2.10"},{"device":"AndroidAPS-DexcomG6","date":1653130149000,"dateString":"2022-05-21T10:49:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288c3be1991280004dce461","glucose":91,"avgDelta":"-2.00","BGI":-4.27,"deviation":"2.27"},{"device":"AndroidAPS-DexcomG6","date":1653111549000,"dateString":"2022-05-21T05:39:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"62887b17e964810004aa565a","glucose":100,"avgDelta":"-0.50","BGI":-2.84,"deviation":"2.34"},{"device":"AndroidAPS-DexcomG6","date":1653107648000,"dateString":"2022-05-21T04:34:08.000Z","isValid":true,"sgv":132,"direction":"FortyFiveDown","type":"sgv","_id":"62886be719e2e60004989bb5","glucose":132,"avgDelta":"-5.75","BGI":-8.1,"deviation":"2.35"},{"device":"AndroidAPS-DexcomG6","date":1653150849000,"dateString":"2022-05-21T16:34:09.000Z","isValid":true,"sgv":161,"direction":"Flat","type":"sgv","_id":"628914d01090500004ca4709","glucose":161,"avgDelta":"-3.00","BGI":-5.47,"deviation":"2.47"},{"device":"AndroidAPS-DexcomG6","date":1653179350000,"dateString":"2022-05-22T00:29:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628983f69d6f1800047cd0dd","glucose":142,"avgDelta":"-1.75","BGI":-4.27,"deviation":"2.52"},{"device":"AndroidAPS-DexcomG6","date":1653112749000,"dateString":"2022-05-21T05:59:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"62887fcee964810004aa5666","glucose":101,"avgDelta":"0.25","BGI":-2.46,"deviation":"2.71"},{"device":"AndroidAPS-DexcomG6","date":1653179050000,"dateString":"2022-05-22T00:24:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628982c89d6f1800047cd0db","glucose":142,"avgDelta":"-1.75","BGI":-4.48,"deviation":"2.73"},{"device":"AndroidAPS-DexcomG6","date":1653156250000,"dateString":"2022-05-21T18:04:10.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"628929ac8809e60004c644e9","glucose":119,"avgDelta":"0.75","BGI":-2.07,"deviation":"2.82"},{"device":"AndroidAPS-DexcomG6","date":1653109748000,"dateString":"2022-05-21T05:09:08.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288741c363e6c0004f710d9","glucose":117,"avgDelta":"-2.75","BGI":-5.73,"deviation":"2.98"},{"device":"AndroidAPS-DexcomG6","date":1653179649000,"dateString":"2022-05-22T00:34:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898517da46aa0004d1e0ea","glucose":143,"avgDelta":"-1.00","BGI":-4.01,"deviation":"3.01"},{"device":"AndroidAPS-DexcomG6","date":1653151749000,"dateString":"2022-05-21T16:49:09.000Z","isValid":true,"sgv":159,"direction":"Flat","type":"sgv","_id":"628918261090500004ca4714","glucose":159,"avgDelta":"-1.50","BGI":-4.53,"deviation":"3.03"},{"device":"AndroidAPS-DexcomG6","date":1653108548000,"dateString":"2022-05-21T04:49:08.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"62886f5719e2e60004989bbc","glucose":128,"avgDelta":"-4.00","BGI":-7.2,"deviation":"3.20"},{"device":"AndroidAPS-DexcomG6","date":1653129848000,"dateString":"2022-05-21T10:44:08.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288c2911991280004dce45e","glucose":93,"avgDelta":"-2.00","BGI":-5.26,"deviation":"3.26"},{"device":"AndroidAPS-DexcomG6","date":1653173650000,"dateString":"2022-05-21T22:54:10.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289717d37d09a00043f2b1e","glucose":108,"avgDelta":"-4.00","BGI":-7.28,"deviation":"3.28"},{"device":"AndroidAPS-DexcomG6","date":1653111849000,"dateString":"2022-05-21T05:44:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887c44e964810004aa565d","glucose":102,"avgDelta":"1.00","BGI":-2.37,"deviation":"3.37"},{"device":"AndroidAPS-DexcomG6","date":1653173949000,"dateString":"2022-05-21T22:59:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289721437d09a00043f2b1f","glucose":108,"avgDelta":"-3.00","BGI":-6.42,"deviation":"3.42"},{"device":"AndroidAPS-DexcomG6","date":1653150549000,"dateString":"2022-05-21T16:29:09.000Z","isValid":true,"sgv":165,"direction":"Flat","type":"sgv","_id":"628913731090500004ca4706","glucose":165,"avgDelta":"-2.25","BGI":-5.73,"deviation":"3.48"},{"device":"AndroidAPS-DexcomG6","date":1653179949000,"dateString":"2022-05-22T00:39:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898645da46aa0004d1e0ee","glucose":143,"avgDelta":"-0.25","BGI":-3.75,"deviation":"3.50"},{"device":"AndroidAPS-DexcomG6","date":1653112449000,"dateString":"2022-05-21T05:54:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887ea1e964810004aa5664","glucose":102,"avgDelta":"1.25","BGI":-2.28,"deviation":"3.53"},{"device":"AndroidAPS-DexcomG6","date":1653112148000,"dateString":"2022-05-21T05:49:08.000Z","isValid":true,"sgv":103,"direction":"Flat","type":"sgv","_id":"62887d72e964810004aa5661","glucose":103,"avgDelta":"1.50","BGI":-2.07,"deviation":"3.57"},{"device":"AndroidAPS-DexcomG6","date":1653178750000,"dateString":"2022-05-22T00:19:10.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"628981999d6f1800047cd0d8","glucose":144,"avgDelta":"-0.75","BGI":-4.57,"deviation":"3.82"},{"device":"AndroidAPS-DexcomG6","date":1653129548000,"dateString":"2022-05-21T10:39:08.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288c1631991280004dce45b","glucose":94,"avgDelta":"-2.50","BGI":-6.38,"deviation":"3.88"},{"device":"AndroidAPS-DexcomG6","date":1653129249000,"dateString":"2022-05-21T10:34:09.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","_id":"6288c0341991280004dce459","glucose":96,"avgDelta":"-3.50","BGI":-7.59,"deviation":"4.09"},{"device":"AndroidAPS-DexcomG6","date":1653152049000,"dateString":"2022-05-21T16:54:09.000Z","isValid":true,"sgv":160,"direction":"Flat","type":"sgv","_id":"628919531090500004ca4717","glucose":160,"avgDelta":"-0.25","BGI":-4.35,"deviation":"4.10"},{"device":"AndroidAPS-DexcomG6","date":1653152349000,"dateString":"2022-05-21T16:59:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"62891a811090500004ca471a","glucose":158,"avgDelta":"0.00","BGI":-4.35,"deviation":"4.35"},{"device":"AndroidAPS-DexcomG6","date":1653150249000,"dateString":"2022-05-21T16:24:09.000Z","isValid":true,"sgv":170,"direction":"Flat","type":"sgv","_id":"628913111090500004ca4704","glucose":170,"avgDelta":"-1.50","BGI":-5.95,"deviation":"4.45"},{"device":"AndroidAPS-DexcomG6","date":1653105549000,"dateString":"2022-05-21T03:59:09.000Z","isValid":true,"sgv":146,"direction":"FortyFiveDown","type":"sgv","_id":"628863a542c1220004f95730","glucose":146,"avgDelta":"-5.25","BGI":-9.87,"deviation":"4.62"},{"device":"AndroidAPS-DexcomG6","date":1653173350000,"dateString":"2022-05-21T22:49:10.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62896fb837d09a00043f2b1b","glucose":110,"avgDelta":"-3.50","BGI":-8.15,"deviation":"4.65"},{"device":"AndroidAPS-DexcomG6","date":1653174249000,"dateString":"2022-05-21T23:04:09.000Z","isValid":true,"sgv":111,"direction":"Flat","type":"sgv","_id":"6289726037d09a00043f2b20","glucose":111,"avgDelta":"-1.00","BGI":-5.69,"deviation":"4.69"},{"device":"AndroidAPS-DexcomG6","date":1653178449000,"dateString":"2022-05-22T00:14:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6289806a9d6f1800047cd0d6","glucose":147,"avgDelta":"0.25","BGI":-4.61,"deviation":"4.86"},{"device":"AndroidAPS-DexcomG6","date":1653128948000,"dateString":"2022-05-21T10:29:08.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6288bf061991280004dce457","glucose":99,"avgDelta":"-4.00","BGI":-8.88,"deviation":"4.88"},{"device":"AndroidAPS-DexcomG6","date":1653103448000,"dateString":"2022-05-21T03:24:08.000Z","isValid":true,"sgv":174,"direction":"SingleDown","type":"sgv","_id":"62885b81293f3e00042c31d9","glucose":174,"avgDelta":"-10.50","BGI":-15.43,"deviation":"4.93"},{"device":"AndroidAPS-DexcomG6","date":1653149949000,"dateString":"2022-05-21T16:19:09.000Z","isValid":true,"sgv":172,"direction":"Flat","type":"sgv","_id":"6289130f1090500004ca46ff","glucose":172,"avgDelta":"-1.00","BGI":-6.12,"deviation":"5.12"},{"device":"AndroidAPS-DexcomG6","date":1653105848000,"dateString":"2022-05-21T04:04:08.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"628864d342c1220004f95733","glucose":146,"avgDelta":"-4.00","BGI":-9.14,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653103149000,"dateString":"2022-05-21T03:19:09.000Z","isValid":true,"sgv":182,"direction":"SingleDown","type":"sgv","_id":"62885a52293f3e00042c31d7","glucose":182,"avgDelta":"-11.50","BGI":-16.64,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653105248000,"dateString":"2022-05-21T03:54:08.000Z","isValid":true,"sgv":149,"direction":"FortyFiveDown","type":"sgv","_id":"6288629042c1220004f9572e","glucose":149,"avgDelta":"-5.25","BGI":-10.56,"deviation":"5.31"},{"device":"AndroidAPS-DexcomG6","date":1653176050000,"dateString":"2022-05-21T23:34:10.000Z","isValid":true,"sgv":127,"direction":"Flat","type":"sgv","_id":"6289771371a363000480abc1","glucose":127,"avgDelta":"2.50","BGI":-2.93,"deviation":"5.43"},{"device":"AndroidAPS-DexcomG6","date":1653149650000,"dateString":"2022-05-21T16:14:10.000Z","isValid":true,"sgv":173,"direction":"Flat","type":"sgv","_id":"62890fff1090500004ca46fd","glucose":173,"avgDelta":"-0.75","BGI":-6.42,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653176350000,"dateString":"2022-05-21T23:39:10.000Z","isValid":true,"sgv":132,"direction":"Flat","type":"sgv","_id":"6289784271a363000480abc3","glucose":132,"avgDelta":"3.00","BGI":-2.67,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653175750000,"dateString":"2022-05-21T23:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"628975e471a363000480abbe","glucose":124,"avgDelta":"2.50","BGI":-3.19,"deviation":"5.69"},{"device":"AndroidAPS-DexcomG6","date":1653102848000,"dateString":"2022-05-21T03:14:08.000Z","isValid":true,"sgv":193,"direction":"SingleDown","type":"sgv","_id":"62885924293f3e00042c31d5","glucose":193,"avgDelta":"-12.00","BGI":-17.71,"deviation":"5.71"},{"device":"AndroidAPS-DexcomG6","date":1653128649000,"dateString":"2022-05-21T10:24:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288bde0abbef90004616cf8","glucose":101,"avgDelta":"-4.50","BGI":-10.3,"deviation":"5.80"},{"device":"AndroidAPS-DexcomG6","date":1653155950000,"dateString":"2022-05-21T17:59:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"6289287e8809e60004c644e6","glucose":123,"avgDelta":"3.75","BGI":-2.16,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653174550000,"dateString":"2022-05-21T23:09:10.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6289727937d09a00043f2b21","glucose":114,"avgDelta":"1.00","BGI":-4.96,"deviation":"5.96"},{"device":"AndroidAPS-DexcomG6","date":1653178149000,"dateString":"2022-05-22T00:09:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897f3b9d6f1800047cd0d3","glucose":149,"avgDelta":"1.50","BGI":-4.48,"deviation":"5.98"},{"device":"AndroidAPS-DexcomG6","date":1653103748000,"dateString":"2022-05-21T03:29:08.000Z","isValid":true,"sgv":171,"direction":"FortyFiveDown","type":"sgv","_id":"62885c95293f3e00042c31db","glucose":171,"avgDelta":"-8.25","BGI":-14.31,"deviation":"6.06"},{"device":"AndroidAPS-DexcomG6","date":1653108848000,"dateString":"2022-05-21T04:54:08.000Z","isValid":true,"sgv":130,"direction":"Flat","type":"sgv","_id":"62887093363e6c0004f710cf","glucose":130,"avgDelta":"-0.50","BGI":-6.72,"deviation":"6.22","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653175450000,"dateString":"2022-05-21T23:24:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"628974b671a363000480abbc","glucose":123,"avgDelta":"3.00","BGI":-3.4,"deviation":"6.40"},{"device":"AndroidAPS-DexcomG6","date":1653107348000,"dateString":"2022-05-21T04:29:08.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"62886ab919e2e60004989bb3","glucose":144,"avgDelta":"-1.75","BGI":-8.19,"deviation":"6.44"},{"device":"AndroidAPS-DexcomG6","date":1653102548000,"dateString":"2022-05-21T03:09:08.000Z","isValid":true,"sgv":204,"direction":"SingleDown","type":"sgv","_id":"628857f7293f3e00042c31d3","glucose":204,"avgDelta":"-12.25","BGI":-18.79,"deviation":"6.54"},{"device":"AndroidAPS-DexcomG6","date":1653109448000,"dateString":"2022-05-21T05:04:08.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"628872ef363e6c0004f710d6","glucose":125,"avgDelta":"0.50","BGI":-6.08,"deviation":"6.58"},{"device":"AndroidAPS-DexcomG6","date":1653176650000,"dateString":"2022-05-21T23:44:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"6289797071a363000480abc7","glucose":139,"avgDelta":"4.00","BGI":-2.59,"deviation":"6.59"},{"device":"AndroidAPS-DexcomG6","date":1653174850000,"dateString":"2022-05-21T23:14:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6289727a37d09a00043f2b22","glucose":117,"avgDelta":"2.25","BGI":-4.35,"deviation":"6.60"},{"device":"AndroidAPS-DexcomG6","date":1653149349000,"dateString":"2022-05-21T16:09:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890edacf7ee10004a2b1e2","glucose":174,"avgDelta":"0.00","BGI":-6.64,"deviation":"6.64"},{"device":"AndroidAPS-DexcomG6","date":1653177850000,"dateString":"2022-05-22T00:04:10.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897e0c9d6f1800047cd0d0","glucose":149,"avgDelta":"2.50","BGI":-4.22,"deviation":"6.72"},{"device":"AndroidAPS-DexcomG6","date":1653101948000,"dateString":"2022-05-21T02:59:08.000Z","isValid":true,"sgv":228,"direction":"SingleDown","type":"sgv","_id":"628855935151b5000462a1e8","glucose":228,"avgDelta":"-13.75","BGI":-20.52,"deviation":"6.77"},{"device":"AndroidAPS-DexcomG6","date":1653175149000,"dateString":"2022-05-21T23:19:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"6289738f37d09a00043f2b26","glucose":120,"avgDelta":"3.00","BGI":-3.84,"deviation":"6.84"},{"device":"AndroidAPS-DexcomG6","date":1653148149000,"dateString":"2022-05-21T15:49:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890a21cf7ee10004a2b1d3","glucose":174,"avgDelta":"-1.00","BGI":-7.89,"deviation":"6.89"},{"device":"AndroidAPS-DexcomG6","date":1653148749000,"dateString":"2022-05-21T15:59:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890c64cf7ee10004a2b1da","glucose":176,"avgDelta":"0.00","BGI":-6.94,"deviation":"6.94"},{"device":"AndroidAPS-DexcomG6","date":1653102249000,"dateString":"2022-05-21T03:04:09.000Z","isValid":true,"sgv":216,"direction":"SingleDown","type":"sgv","_id":"628856da5151b5000462a1ea","glucose":216,"avgDelta":"-12.75","BGI":-19.7,"deviation":"6.95"},{"device":"AndroidAPS-DexcomG6","date":1653149049000,"dateString":"2022-05-21T16:04:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890daccf7ee10004a2b1de","glucose":176,"avgDelta":"0.25","BGI":-6.72,"deviation":"6.97"},{"device":"AndroidAPS-DexcomG6","date":1653148450000,"dateString":"2022-05-21T15:54:10.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890b36cf7ee10004a2b1d7","glucose":176,"avgDelta":"-0.25","BGI":-7.37,"deviation":"7.12"},{"device":"AndroidAPS-DexcomG6","date":1653104949000,"dateString":"2022-05-21T03:49:09.000Z","isValid":true,"sgv":155,"direction":"FortyFiveDown","type":"sgv","_id":"6288614942c1220004f9572c","glucose":155,"avgDelta":"-4.00","BGI":-11.12,"deviation":"7.12"},{"device":"AndroidAPS-DexcomG6","date":1653101648000,"dateString":"2022-05-21T02:54:08.000Z","isValid":true,"sgv":241,"direction":"SingleDown","type":"sgv","_id":"6288547f5151b5000462a1e6","glucose":241,"avgDelta":"-14.00","BGI":-21.16,"deviation":"7.16"},{"device":"AndroidAPS-DexcomG6","date":1653155049000,"dateString":"2022-05-21T17:44:09.000Z","isValid":true,"sgv":116,"direction":"NONE","type":"sgv","_id":"6289250d8809e60004c644dd","glucose":116,"avgDelta":"5.00","BGI":-2.16,"deviation":"7.16","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653173050000,"dateString":"2022-05-21T22:44:10.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"62896f8537d09a00043f2b1a","glucose":115,"avgDelta":"-1.75","BGI":-9.05,"deviation":"7.30"},{"device":"AndroidAPS-DexcomG6","date":1653104049000,"dateString":"2022-05-21T03:34:09.000Z","isValid":true,"sgv":170,"direction":"FortyFiveDown","type":"sgv","_id":"62885dc3293f3e00042c31de","glucose":170,"avgDelta":"-5.75","BGI":-13.1,"deviation":"7.35"},{"device":"AndroidAPS-DexcomG6","date":1653106149000,"dateString":"2022-05-21T04:09:09.000Z","isValid":true,"sgv":151,"direction":"Flat","type":"sgv","_id":"6288660142c1220004f95736","glucose":151,"avgDelta":"-1.00","BGI":-8.36,"deviation":"7.36"}],"basalGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653182050000,"dateString":"2022-05-22T01:14:10.000Z","isValid":true,"sgv":81,"direction":"FortyFiveDown","type":"sgv","_id":"62898e7650e51d0004429e63","glucose":81,"avgDelta":"-6.00","BGI":-1.68,"deviation":"-4.32"},{"device":"AndroidAPS-DexcomG6","date":1653182349000,"dateString":"2022-05-22T01:19:09.000Z","isValid":true,"sgv":77,"direction":"FortyFiveDown","type":"sgv","_id":"62898fa550e51d0004429e65","glucose":77,"avgDelta":"-5.00","BGI":-1.25,"deviation":"-3.75"},{"device":"AndroidAPS-DexcomG6","date":1653182650000,"dateString":"2022-05-22T01:24:10.000Z","isValid":true,"sgv":74,"direction":"FortyFiveDown","type":"sgv","_id":"628990d350e51d0004429e67","glucose":74,"avgDelta":"-4.50","BGI":-0.78,"deviation":"-3.72"},{"device":"AndroidAPS-DexcomG6","date":1653182949000,"dateString":"2022-05-22T01:29:09.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6289920150e51d0004429e69","glucose":72,"avgDelta":"-3.75","BGI":-0.3,"deviation":"-3.45"},{"device":"AndroidAPS-DexcomG6","date":1653116049000,"dateString":"2022-05-21T06:54:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"62888ccc149196000412bf4f","glucose":69,"avgDelta":"-2.25","BGI":0.43,"deviation":"-2.68"},{"device":"AndroidAPS-DexcomG6","date":1653162549000,"dateString":"2022-05-21T19:49:09.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6289425f598f780004bb3b30","glucose":88,"avgDelta":"-1.50","BGI":1.12,"deviation":"-2.62"},{"device":"AndroidAPS-DexcomG6","date":1653115749000,"dateString":"2022-05-21T06:49:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888b85149196000412bf4d","glucose":70,"avgDelta":"-2.50","BGI":0,"deviation":"-2.50"},{"device":"AndroidAPS-DexcomG6","date":1653162250000,"dateString":"2022-05-21T19:44:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"62894118598f780004bb3b2d","glucose":89,"avgDelta":"-1.50","BGI":0.99,"deviation":"-2.49"},{"device":"AndroidAPS-DexcomG6","date":1653115149000,"dateString":"2022-05-21T06:39:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288892a149196000412bf49","glucose":76,"avgDelta":"-3.25","BGI":-0.78,"deviation":"-2.47"},{"device":"AndroidAPS-DexcomG6","date":1653115449000,"dateString":"2022-05-21T06:44:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888a57149196000412bf4b","glucose":74,"avgDelta":"-2.75","BGI":-0.34,"deviation":"-2.41"},{"device":"AndroidAPS-DexcomG6","date":1653161950000,"dateString":"2022-05-21T19:39:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"62893feb598f780004bb3b2b","glucose":91,"avgDelta":"-1.50","BGI":0.86,"deviation":"-2.36"},{"device":"AndroidAPS-DexcomG6","date":1653116349000,"dateString":"2022-05-21T06:59:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888de2149196000412bf51","glucose":70,"avgDelta":"-1.50","BGI":0.78,"deviation":"-2.28"},{"device":"AndroidAPS-DexcomG6","date":1653157149000,"dateString":"2022-05-21T18:19:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892d34840d8d0004a20bf5","glucose":108,"avgDelta":"-3.75","BGI":-1.47,"deviation":"-2.28"},{"device":"AndroidAPS-DexcomG6","date":1653162850000,"dateString":"2022-05-21T19:54:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6289437f4493460004e63a25","glucose":89,"avgDelta":"-1.00","BGI":1.25,"deviation":"-2.25"},{"device":"AndroidAPS-DexcomG6","date":1653183249000,"dateString":"2022-05-22T01:34:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6289933050e51d0004429e6b","glucose":73,"avgDelta":"-2.00","BGI":0.22,"deviation":"-2.22"},{"device":"AndroidAPS-DexcomG6","date":1653114849000,"dateString":"2022-05-21T06:34:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"628888018ff3530004dc6070","glucose":78,"avgDelta":"-3.25","BGI":-1.12,"deviation":"-2.13"},{"device":"AndroidAPS-DexcomG6","date":1653114549000,"dateString":"2022-05-21T06:29:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628886d28ff3530004dc606b","glucose":80,"avgDelta":"-3.50","BGI":-1.47,"deviation":"-2.03"},{"device":"AndroidAPS-DexcomG6","date":1653161649000,"dateString":"2022-05-21T19:34:09.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"62893ed7598f780004bb3b29","glucose":93,"avgDelta":"-1.25","BGI":0.73,"deviation":"-1.98"},{"device":"AndroidAPS-DexcomG6","date":1653180549000,"dateString":"2022-05-22T00:49:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","_id":"628988a3da46aa0004d1e0f5","glucose":121,"avgDelta":"-5.25","BGI":-3.32,"deviation":"-1.93"},{"device":"AndroidAPS-DexcomG6","date":1653110348000,"dateString":"2022-05-21T05:19:08.000Z","isValid":true,"sgv":102,"direction":"FortyFiveDown","type":"sgv","_id":"62887677363e6c0004f710de","glucose":102,"avgDelta":"-6.75","BGI":-4.91,"deviation":"-1.84"},{"device":"AndroidAPS-DexcomG6","date":1653161350000,"dateString":"2022-05-21T19:29:10.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"62893daa598f780004bb3b27","glucose":94,"avgDelta":"-1.00","BGI":0.65,"deviation":"-1.65"},{"device":"AndroidAPS-DexcomG6","date":1653157449000,"dateString":"2022-05-21T18:24:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892e62840d8d0004a20bf8","glucose":108,"avgDelta":"-2.75","BGI":-1.21,"deviation":"-1.54"},{"device":"AndroidAPS-DexcomG6","date":1653158649000,"dateString":"2022-05-21T18:44:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6289331c22fbc8000495b813","glucose":101,"avgDelta":"-1.75","BGI":-0.3,"deviation":"-1.45"},{"device":"AndroidAPS-DexcomG6","date":1653163150000,"dateString":"2022-05-21T19:59:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"628944ae4493460004e63a27","glucose":91,"avgDelta":"0.00","BGI":1.38,"deviation":"-1.38"},{"device":"AndroidAPS-DexcomG6","date":1653161049000,"dateString":"2022-05-21T19:24:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"62893c7d598f780004bb3b24","glucose":95,"avgDelta":"-0.75","BGI":0.6,"deviation":"-1.35"},{"device":"AndroidAPS-DexcomG6","date":1653158949000,"dateString":"2022-05-21T18:49:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289344a22fbc8000495b815","glucose":100,"avgDelta":"-1.50","BGI":-0.17,"deviation":"-1.33"},{"device":"AndroidAPS-DexcomG6","date":1653159249000,"dateString":"2022-05-21T18:54:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6289357622fbc8000495b818","glucose":99,"avgDelta":"-1.25","BGI":-0.04,"deviation":"-1.21"},{"device":"AndroidAPS-DexcomG6","date":1653116649000,"dateString":"2022-05-21T07:04:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888f0f149196000412bf54","glucose":74,"avgDelta":"0.00","BGI":1.12,"deviation":"-1.12"},{"device":"AndroidAPS-DexcomG6","date":1653131049000,"dateString":"2022-05-21T11:04:09.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","_id":"6288c7418e9ed800049b39e3","glucose":81,"avgDelta":"-3.00","BGI":-1.9,"deviation":"-1.10"},{"device":"AndroidAPS-DexcomG6","date":1653157750000,"dateString":"2022-05-21T18:29:10.000Z","isValid":true,"sgv":106,"direction":"Flat","type":"sgv","_id":"62892f8f840d8d0004a20bfa","glucose":106,"avgDelta":"-2.00","BGI":-0.95,"deviation":"-1.05"},{"device":"AndroidAPS-DexcomG6","date":1653152949000,"dateString":"2022-05-21T17:09:09.000Z","isValid":true,"sgv":138,"direction":"FortyFiveDown","type":"sgv","_id":"62891cd01090500004ca471f","glucose":138,"avgDelta":"-5.25","BGI":-4.22,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653158349000,"dateString":"2022-05-21T18:39:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"628931e9840d8d0004a20bff","glucose":102,"avgDelta":"-1.50","BGI":-0.47,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653160749000,"dateString":"2022-05-21T19:19:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"62893b4f598f780004bb3b22","glucose":97,"avgDelta":"-0.50","BGI":0.52,"deviation":"-1.02"},{"device":"AndroidAPS-DexcomG6","date":1653131349000,"dateString":"2022-05-21T11:09:09.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"6288c86f8e9ed800049b39e5","glucose":82,"avgDelta":"-2.25","BGI":-1.25,"deviation":"-1.00"},{"device":"AndroidAPS-DexcomG6","date":1653183550000,"dateString":"2022-05-22T01:39:10.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6289945f50e51d0004429e6d","glucose":76,"avgDelta":"-0.25","BGI":0.69,"deviation":"-0.94"},{"device":"AndroidAPS-DexcomG6","date":1653159849000,"dateString":"2022-05-21T19:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628937b822fbc8000495b81d","glucose":98,"avgDelta":"-0.75","BGI":0.17,"deviation":"-0.92"},{"device":"AndroidAPS-DexcomG6","date":1653158049000,"dateString":"2022-05-21T18:34:09.000Z","isValid":true,"sgv":104,"direction":"Flat","type":"sgv","_id":"628930bc840d8d0004a20bfd","glucose":104,"avgDelta":"-1.50","BGI":-0.69,"deviation":"-0.81"},{"device":"AndroidAPS-DexcomG6","date":1653160150000,"dateString":"2022-05-21T19:09:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628938fe22fbc8000495b81f","glucose":98,"avgDelta":"-0.50","BGI":0.3,"deviation":"-0.80"},{"device":"AndroidAPS-DexcomG6","date":1653159549000,"dateString":"2022-05-21T18:59:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"628936a422fbc8000495b81a","glucose":99,"avgDelta":"-0.75","BGI":0.04,"deviation":"-0.79"},{"device":"AndroidAPS-DexcomG6","date":1653160449000,"dateString":"2022-05-21T19:14:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"62893a1222fbc8000495b822","glucose":98,"avgDelta":"-0.25","BGI":0.43,"deviation":"-0.68"},{"device":"AndroidAPS-DexcomG6","date":1653117848000,"dateString":"2022-05-21T07:24:08.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"628893bd7ff1e700040f17c9","glucose":82,"avgDelta":"2.00","BGI":2.37,"deviation":"-0.37"},{"device":"AndroidAPS-DexcomG6","date":1653107948000,"dateString":"2022-05-21T04:39:08.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62886cfc19e2e60004989bb8","glucose":124,"avgDelta":"-8.25","BGI":-7.89,"deviation":"-0.36"},{"device":"AndroidAPS-DexcomG6","date":1653156549000,"dateString":"2022-05-21T18:09:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"62892af2840d8d0004a20bf0","glucose":114,"avgDelta":"-2.25","BGI":-1.9,"deviation":"-0.35"},{"device":"AndroidAPS-DexcomG6","date":1653184450000,"dateString":"2022-05-22T01:54:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628997d861a8290004740385","glucose":80,"avgDelta":"1.75","BGI":1.9,"deviation":"-0.15"},{"device":"AndroidAPS-DexcomG6","date":1653118149000,"dateString":"2022-05-21T07:29:09.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","_id":"628894d37ff1e700040f17cd","glucose":86,"avgDelta":"2.50","BGI":2.63,"deviation":"-0.13"},{"device":"AndroidAPS-DexcomG6","date":1653163449000,"dateString":"2022-05-21T20:04:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"628945dc4493460004e63a2a","glucose":95,"avgDelta":"1.50","BGI":1.51,"deviation":"-0.01"},{"device":"AndroidAPS-DexcomG6","date":1653183850000,"dateString":"2022-05-22T01:44:10.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6289957b61a829000474037f","glucose":79,"avgDelta":"1.25","BGI":1.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653116949000,"dateString":"2022-05-21T07:09:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"62889024149196000412bf57","glucose":76,"avgDelta":"1.50","BGI":1.47,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135249000,"dateString":"2022-05-21T12:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288d7ae0f1be700041e59de","glucose":79,"avgDelta":"0.00","BGI":-27.76,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135549000,"dateString":"2022-05-21T12:19:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d8e00f1be700041e59e0","glucose":78,"avgDelta":"0.50","BGI":-27.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137049000,"dateString":"2022-05-21T12:44:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"6288df8a0f1be700041e59ec","glucose":69,"avgDelta":"-1.75","BGI":-20.95,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134349000,"dateString":"2022-05-21T11:59:09.000Z","isValid":true,"sgv":76,"direction":"FortyFiveDown","type":"sgv","_id":"6288d4220f1be700041e59d5","glucose":76,"avgDelta":"-9.50","BGI":-28.06,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135849000,"dateString":"2022-05-21T12:24:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288d9fb0f1be700041e59e2","glucose":76,"avgDelta":"-0.25","BGI":-26.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137350000,"dateString":"2022-05-21T12:49:10.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6288dfd60f1be700041e59ee","glucose":72,"avgDelta":"-0.25","BGI":-19.52,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136149000,"dateString":"2022-05-21T12:29:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6288db8a0f1be700041e59e5","glucose":73,"avgDelta":"-1.25","BGI":-25,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137649000,"dateString":"2022-05-21T12:54:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288e1040f1be700041e59f0","glucose":79,"avgDelta":"2.25","BGI":-18.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136449000,"dateString":"2022-05-21T12:34:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"6288dd270f1be700041e59e8","glucose":70,"avgDelta":"-2.25","BGI":-23.7,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134649000,"dateString":"2022-05-21T12:04:09.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","_id":"6288d5500f1be700041e59d7","glucose":77,"avgDelta":"-6.00","BGI":-28.32,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134949000,"dateString":"2022-05-21T12:09:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d67f0f1be700041e59da","glucose":78,"avgDelta":"-2.25","BGI":-28.14,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136749000,"dateString":"2022-05-21T12:39:09.000Z","isValid":true,"sgv":68,"direction":"Flat","type":"sgv","_id":"6288de580f1be700041e59ea","glucose":68,"avgDelta":"-2.50","BGI":-22.37,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653117249000,"dateString":"2022-05-21T07:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"628891627ff1e700040f17c6","glucose":79,"avgDelta":"2.50","BGI":1.77,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134049000,"dateString":"2022-05-21T11:54:09.000Z","isValid":true,"sgv":79,"direction":"FortyFiveDown","type":"sgv","_id":"6288d3060f1be700041e59d2","glucose":79,"avgDelta":"-10.50","BGI":-27.28,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653130748000,"dateString":"2022-05-21T10:59:08.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","_id":"6288c61a1991280004dce468","glucose":84,"avgDelta":"-2.50","BGI":-2.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653110049000,"dateString":"2022-05-21T05:14:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveDown","type":"sgv","_id":"62887549363e6c0004f710dc","glucose":109,"avgDelta":"-5.25","BGI":-5.34,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653117549000,"dateString":"2022-05-21T07:19:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628892907ff1e700040f17c7","glucose":80,"avgDelta":"2.50","BGI":2.11,"deviation":"0.39"},{"device":"AndroidAPS-DexcomG6","date":1653118449000,"dateString":"2022-05-21T07:34:09.000Z","isValid":true,"sgv":92,"direction":"Flat","type":"sgv","_id":"6288961d7ff1e700040f17ce","glucose":92,"avgDelta":"3.25","BGI":2.84,"deviation":"0.41"},{"device":"AndroidAPS-DexcomG6","date":1653184150000,"dateString":"2022-05-22T01:49:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628996a961a8290004740382","glucose":80,"avgDelta":"2.00","BGI":1.55,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653131649000,"dateString":"2022-05-21T11:14:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6288c99e8e9ed800049b39e8","glucose":89,"avgDelta":"0.25","BGI":-0.65,"deviation":"0.90"},{"device":"AndroidAPS-DexcomG6","date":1653118748000,"dateString":"2022-05-21T07:39:08.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628897357ff1e700040f17d3","glucose":97,"avgDelta":"4.25","BGI":3.06,"deviation":"1.19"},{"device":"AndroidAPS-DexcomG6","date":1653130448000,"dateString":"2022-05-21T10:54:08.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6288c4ec1991280004dce464","glucose":88,"avgDelta":"-2.00","BGI":-3.36,"deviation":"1.36"},{"device":"AndroidAPS-DexcomG6","date":1653163749000,"dateString":"2022-05-21T20:09:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289470c4493460004e63a2d","glucose":100,"avgDelta":"3.00","BGI":1.55,"deviation":"1.45"},{"device":"AndroidAPS-DexcomG6","date":1653151149000,"dateString":"2022-05-21T16:39:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628915ce1090500004ca470c","glucose":158,"avgDelta":"-3.50","BGI":-5.09,"deviation":"1.59"},{"device":"AndroidAPS-DexcomG6","date":1653180250000,"dateString":"2022-05-22T00:44:10.000Z","isValid":true,"sgv":135,"direction":"Flat","type":"sgv","_id":"62898774da46aa0004d1e0f1","glucose":135,"avgDelta":"-1.75","BGI":-3.49,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653151449000,"dateString":"2022-05-21T16:44:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628916f81090500004ca4710","glucose":158,"avgDelta":"-3.00","BGI":-4.74,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653152649000,"dateString":"2022-05-21T17:04:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62891ba31090500004ca471d","glucose":149,"avgDelta":"-2.25","BGI":-4.35,"deviation":"2.10"},{"device":"AndroidAPS-DexcomG6","date":1653130149000,"dateString":"2022-05-21T10:49:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288c3be1991280004dce461","glucose":91,"avgDelta":"-2.00","BGI":-4.27,"deviation":"2.27"},{"device":"AndroidAPS-DexcomG6","date":1653107648000,"dateString":"2022-05-21T04:34:08.000Z","isValid":true,"sgv":132,"direction":"FortyFiveDown","type":"sgv","_id":"62886be719e2e60004989bb5","glucose":132,"avgDelta":"-5.75","BGI":-8.1,"deviation":"2.35"},{"device":"AndroidAPS-DexcomG6","date":1653150849000,"dateString":"2022-05-21T16:34:09.000Z","isValid":true,"sgv":161,"direction":"Flat","type":"sgv","_id":"628914d01090500004ca4709","glucose":161,"avgDelta":"-3.00","BGI":-5.47,"deviation":"2.47"},{"device":"AndroidAPS-DexcomG6","date":1653179350000,"dateString":"2022-05-22T00:29:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628983f69d6f1800047cd0dd","glucose":142,"avgDelta":"-1.75","BGI":-4.27,"deviation":"2.52"},{"device":"AndroidAPS-DexcomG6","date":1653179050000,"dateString":"2022-05-22T00:24:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628982c89d6f1800047cd0db","glucose":142,"avgDelta":"-1.75","BGI":-4.48,"deviation":"2.73"},{"device":"AndroidAPS-DexcomG6","date":1653156250000,"dateString":"2022-05-21T18:04:10.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"628929ac8809e60004c644e9","glucose":119,"avgDelta":"0.75","BGI":-2.07,"deviation":"2.82"},{"device":"AndroidAPS-DexcomG6","date":1653109748000,"dateString":"2022-05-21T05:09:08.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288741c363e6c0004f710d9","glucose":117,"avgDelta":"-2.75","BGI":-5.73,"deviation":"2.98"},{"device":"AndroidAPS-DexcomG6","date":1653119049000,"dateString":"2022-05-21T07:44:09.000Z","isValid":true,"sgv":105,"direction":"FortyFiveUp","type":"sgv","_id":"628898627ff1e700040f17d5","glucose":105,"avgDelta":"5.75","BGI":2.76,"deviation":"2.99"},{"device":"AndroidAPS-DexcomG6","date":1653179649000,"dateString":"2022-05-22T00:34:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898517da46aa0004d1e0ea","glucose":143,"avgDelta":"-1.00","BGI":-4.01,"deviation":"3.01"},{"device":"AndroidAPS-DexcomG6","date":1653151749000,"dateString":"2022-05-21T16:49:09.000Z","isValid":true,"sgv":159,"direction":"Flat","type":"sgv","_id":"628918261090500004ca4714","glucose":159,"avgDelta":"-1.50","BGI":-4.53,"deviation":"3.03"},{"device":"AndroidAPS-DexcomG6","date":1653129848000,"dateString":"2022-05-21T10:44:08.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288c2911991280004dce45e","glucose":93,"avgDelta":"-2.00","BGI":-5.26,"deviation":"3.26"},{"device":"AndroidAPS-DexcomG6","date":1653173650000,"dateString":"2022-05-21T22:54:10.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289717d37d09a00043f2b1e","glucose":108,"avgDelta":"-4.00","BGI":-7.28,"deviation":"3.28"},{"device":"AndroidAPS-DexcomG6","date":1653173949000,"dateString":"2022-05-21T22:59:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289721437d09a00043f2b1f","glucose":108,"avgDelta":"-3.00","BGI":-6.42,"deviation":"3.42"},{"device":"AndroidAPS-DexcomG6","date":1653150549000,"dateString":"2022-05-21T16:29:09.000Z","isValid":true,"sgv":165,"direction":"Flat","type":"sgv","_id":"628913731090500004ca4706","glucose":165,"avgDelta":"-2.25","BGI":-5.73,"deviation":"3.48"},{"device":"AndroidAPS-DexcomG6","date":1653164049000,"dateString":"2022-05-21T20:14:09.000Z","isValid":true,"sgv":109,"direction":"Flat","type":"sgv","_id":"628948214493460004e63a31","glucose":109,"avgDelta":"5.00","BGI":1.51,"deviation":"3.49"},{"device":"AndroidAPS-DexcomG6","date":1653179949000,"dateString":"2022-05-22T00:39:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898645da46aa0004d1e0ee","glucose":143,"avgDelta":"-0.25","BGI":-3.75,"deviation":"3.50"},{"device":"AndroidAPS-DexcomG6","date":1653131948000,"dateString":"2022-05-21T11:19:08.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6288cacb8e9ed800049b39ec","glucose":98,"avgDelta":"3.50","BGI":-0.3,"deviation":"3.80"},{"device":"AndroidAPS-DexcomG6","date":1653178750000,"dateString":"2022-05-22T00:19:10.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"628981999d6f1800047cd0d8","glucose":144,"avgDelta":"-0.75","BGI":-4.57,"deviation":"3.82"},{"device":"AndroidAPS-DexcomG6","date":1653129548000,"dateString":"2022-05-21T10:39:08.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288c1631991280004dce45b","glucose":94,"avgDelta":"-2.50","BGI":-6.38,"deviation":"3.88"},{"device":"AndroidAPS-DexcomG6","date":1653129249000,"dateString":"2022-05-21T10:34:09.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","_id":"6288c0341991280004dce459","glucose":96,"avgDelta":"-3.50","BGI":-7.59,"deviation":"4.09"},{"device":"AndroidAPS-DexcomG6","date":1653152049000,"dateString":"2022-05-21T16:54:09.000Z","isValid":true,"sgv":160,"direction":"Flat","type":"sgv","_id":"628919531090500004ca4717","glucose":160,"avgDelta":"-0.25","BGI":-4.35,"deviation":"4.10"},{"device":"AndroidAPS-DexcomG6","date":1653152349000,"dateString":"2022-05-21T16:59:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"62891a811090500004ca471a","glucose":158,"avgDelta":"0.00","BGI":-4.35,"deviation":"4.35"},{"device":"AndroidAPS-DexcomG6","date":1653150249000,"dateString":"2022-05-21T16:24:09.000Z","isValid":true,"sgv":170,"direction":"Flat","type":"sgv","_id":"628913111090500004ca4704","glucose":170,"avgDelta":"-1.50","BGI":-5.95,"deviation":"4.45"},{"device":"AndroidAPS-DexcomG6","date":1653105549000,"dateString":"2022-05-21T03:59:09.000Z","isValid":true,"sgv":146,"direction":"FortyFiveDown","type":"sgv","_id":"628863a542c1220004f95730","glucose":146,"avgDelta":"-5.25","BGI":-9.87,"deviation":"4.62"},{"device":"AndroidAPS-DexcomG6","date":1653119349000,"dateString":"2022-05-21T07:49:09.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","_id":"628899957ff1e700040f17d7","glucose":114,"avgDelta":"7.00","BGI":2.37,"deviation":"4.63"},{"device":"AndroidAPS-DexcomG6","date":1653173350000,"dateString":"2022-05-21T22:49:10.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62896fb837d09a00043f2b1b","glucose":110,"avgDelta":"-3.50","BGI":-8.15,"deviation":"4.65"},{"device":"AndroidAPS-DexcomG6","date":1653174249000,"dateString":"2022-05-21T23:04:09.000Z","isValid":true,"sgv":111,"direction":"Flat","type":"sgv","_id":"6289726037d09a00043f2b20","glucose":111,"avgDelta":"-1.00","BGI":-5.69,"deviation":"4.69"},{"device":"AndroidAPS-DexcomG6","date":1653178449000,"dateString":"2022-05-22T00:14:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6289806a9d6f1800047cd0d6","glucose":147,"avgDelta":"0.25","BGI":-4.61,"deviation":"4.86"},{"device":"AndroidAPS-DexcomG6","date":1653128948000,"dateString":"2022-05-21T10:29:08.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6288bf061991280004dce457","glucose":99,"avgDelta":"-4.00","BGI":-8.88,"deviation":"4.88"},{"device":"AndroidAPS-DexcomG6","date":1653103448000,"dateString":"2022-05-21T03:24:08.000Z","isValid":true,"sgv":174,"direction":"SingleDown","type":"sgv","_id":"62885b81293f3e00042c31d9","glucose":174,"avgDelta":"-10.50","BGI":-15.43,"deviation":"4.93"},{"device":"AndroidAPS-DexcomG6","date":1653149949000,"dateString":"2022-05-21T16:19:09.000Z","isValid":true,"sgv":172,"direction":"Flat","type":"sgv","_id":"6289130f1090500004ca46ff","glucose":172,"avgDelta":"-1.00","BGI":-6.12,"deviation":"5.12"},{"device":"AndroidAPS-DexcomG6","date":1653105848000,"dateString":"2022-05-21T04:04:08.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"628864d342c1220004f95733","glucose":146,"avgDelta":"-4.00","BGI":-9.14,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653103149000,"dateString":"2022-05-21T03:19:09.000Z","isValid":true,"sgv":182,"direction":"SingleDown","type":"sgv","_id":"62885a52293f3e00042c31d7","glucose":182,"avgDelta":"-11.50","BGI":-16.64,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653105248000,"dateString":"2022-05-21T03:54:08.000Z","isValid":true,"sgv":149,"direction":"FortyFiveDown","type":"sgv","_id":"6288629042c1220004f9572e","glucose":149,"avgDelta":"-5.25","BGI":-10.56,"deviation":"5.31"},{"device":"AndroidAPS-DexcomG6","date":1653176050000,"dateString":"2022-05-21T23:34:10.000Z","isValid":true,"sgv":127,"direction":"Flat","type":"sgv","_id":"6289771371a363000480abc1","glucose":127,"avgDelta":"2.50","BGI":-2.93,"deviation":"5.43"},{"device":"AndroidAPS-DexcomG6","date":1653176350000,"dateString":"2022-05-21T23:39:10.000Z","isValid":true,"sgv":132,"direction":"Flat","type":"sgv","_id":"6289784271a363000480abc3","glucose":132,"avgDelta":"3.00","BGI":-2.67,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653149650000,"dateString":"2022-05-21T16:14:10.000Z","isValid":true,"sgv":173,"direction":"Flat","type":"sgv","_id":"62890fff1090500004ca46fd","glucose":173,"avgDelta":"-0.75","BGI":-6.42,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653175750000,"dateString":"2022-05-21T23:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"628975e471a363000480abbe","glucose":124,"avgDelta":"2.50","BGI":-3.19,"deviation":"5.69"},{"device":"AndroidAPS-DexcomG6","date":1653102848000,"dateString":"2022-05-21T03:14:08.000Z","isValid":true,"sgv":193,"direction":"SingleDown","type":"sgv","_id":"62885924293f3e00042c31d5","glucose":193,"avgDelta":"-12.00","BGI":-17.71,"deviation":"5.71"},{"device":"AndroidAPS-DexcomG6","date":1653128649000,"dateString":"2022-05-21T10:24:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288bde0abbef90004616cf8","glucose":101,"avgDelta":"-4.50","BGI":-10.3,"deviation":"5.80"},{"device":"AndroidAPS-DexcomG6","date":1653164350000,"dateString":"2022-05-21T20:19:10.000Z","isValid":true,"sgv":120,"direction":"FortyFiveUp","type":"sgv","_id":"6289496a4493460004e63a34","glucose":120,"avgDelta":"7.25","BGI":1.34,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653155950000,"dateString":"2022-05-21T17:59:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"6289287e8809e60004c644e6","glucose":123,"avgDelta":"3.75","BGI":-2.16,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653174550000,"dateString":"2022-05-21T23:09:10.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6289727937d09a00043f2b21","glucose":114,"avgDelta":"1.00","BGI":-4.96,"deviation":"5.96"},{"device":"AndroidAPS-DexcomG6","date":1653178149000,"dateString":"2022-05-22T00:09:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897f3b9d6f1800047cd0d3","glucose":149,"avgDelta":"1.50","BGI":-4.48,"deviation":"5.98"},{"device":"AndroidAPS-DexcomG6","date":1653103748000,"dateString":"2022-05-21T03:29:08.000Z","isValid":true,"sgv":171,"direction":"FortyFiveDown","type":"sgv","_id":"62885c95293f3e00042c31db","glucose":171,"avgDelta":"-8.25","BGI":-14.31,"deviation":"6.06"},{"device":"AndroidAPS-DexcomG6","date":1653108848000,"dateString":"2022-05-21T04:54:08.000Z","isValid":true,"sgv":130,"direction":"Flat","type":"sgv","_id":"62887093363e6c0004f710cf","glucose":130,"avgDelta":"-0.50","BGI":-6.72,"deviation":"6.22","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653175450000,"dateString":"2022-05-21T23:24:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"628974b671a363000480abbc","glucose":123,"avgDelta":"3.00","BGI":-3.4,"deviation":"6.40"},{"device":"AndroidAPS-DexcomG6","date":1653107348000,"dateString":"2022-05-21T04:29:08.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"62886ab919e2e60004989bb3","glucose":144,"avgDelta":"-1.75","BGI":-8.19,"deviation":"6.44"},{"device":"AndroidAPS-DexcomG6","date":1653102548000,"dateString":"2022-05-21T03:09:08.000Z","isValid":true,"sgv":204,"direction":"SingleDown","type":"sgv","_id":"628857f7293f3e00042c31d3","glucose":204,"avgDelta":"-12.25","BGI":-18.79,"deviation":"6.54"},{"device":"AndroidAPS-DexcomG6","date":1653109448000,"dateString":"2022-05-21T05:04:08.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"628872ef363e6c0004f710d6","glucose":125,"avgDelta":"0.50","BGI":-6.08,"deviation":"6.58"},{"device":"AndroidAPS-DexcomG6","date":1653176650000,"dateString":"2022-05-21T23:44:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"6289797071a363000480abc7","glucose":139,"avgDelta":"4.00","BGI":-2.59,"deviation":"6.59"},{"device":"AndroidAPS-DexcomG6","date":1653174850000,"dateString":"2022-05-21T23:14:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6289727a37d09a00043f2b22","glucose":117,"avgDelta":"2.25","BGI":-4.35,"deviation":"6.60"},{"device":"AndroidAPS-DexcomG6","date":1653149349000,"dateString":"2022-05-21T16:09:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890edacf7ee10004a2b1e2","glucose":174,"avgDelta":"0.00","BGI":-6.64,"deviation":"6.64"}]} diff --git a/plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json deleted file mode 100644 index ad7b75b70c..0000000000 --- a/plugins/main/src/test/res/autotune/test2/newaapsorefprofile.2022-05-21.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.009, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 0.984, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 0.988, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.158, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.028, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.933, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.824, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 0.849, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 0.909, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 0.954, - "start": "09:00:00" - }, - { - "i": 10, - "minutes": 600, - "rate": 0.961, - "start": "10:00:00" - }, - { - "i": 11, - "minutes": 660, - "rate": 0.926, - "start": "11:00:00" - }, - { - "i": 12, - "minutes": 720, - "rate": 0.885, - "start": "12:00:00" - }, - { - "i": 13, - "minutes": 780, - "rate": 0.876, - "start": "13:00:00", - "untuned": 1 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.869, - "start": "14:00:00", - "untuned": 1 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.881, - "start": "15:00:00" - }, - { - "i": 16, - "minutes": 960, - "rate": 0.798, - "start": "16:00:00" - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.683, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.634, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.725, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.838, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.881, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.91, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.91, - "start": "23:00:00" - } - ], - "carb_ratio": 5.75, - "csf": 14.991, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 82.222, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 82.222, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json deleted file mode 100644 index 92304dbf45..0000000000 --- a/plugins/main/src/test/res/autotune/test2/oaps-iobCalc.2022-05-21.json +++ /dev/null @@ -1,286 +0,0 @@ -[ - { "iob": 5.249, "activity": 0.0391, "date": 1653099848000}, - { "iob": 5.292, "activity": 0.0438, "date": 1653100148000}, - { "iob": 4.964, "activity": 0.047, "date": 1653100449000}, - { "iob": 4.674, "activity": 0.0489, "date": 1653100748000}, - { "iob": 4.377, "activity": 0.0498, "date": 1653101048000}, - { "iob": 4.077, "activity": 0.0498, "date": 1653101348000}, - { "iob": 3.73, "activity": 0.0491, "date": 1653101648000}, - { "iob": 3.389, "activity": 0.0476, "date": 1653101948000}, - { "iob": 3.055, "activity": 0.0457, "date": 1653102249000}, - { "iob": 2.782, "activity": 0.0436, "date": 1653102548000}, - { "iob": 2.47, "activity": 0.0411, "date": 1653102848000}, - { "iob": 2.22, "activity": 0.0386, "date": 1653103149000}, - { "iob": 1.935, "activity": 0.0358, "date": 1653103448000}, - { "iob": 1.711, "activity": 0.0332, "date": 1653103748000}, - { "iob": 1.452, "activity": 0.0304, "date": 1653104049000}, - { "iob": 1.927, "activity": 0.028, "date": 1653104349000}, - { "iob": 1.84, "activity": 0.027, "date": 1653104648000}, - { "iob": 1.658, "activity": 0.0258, "date": 1653104949000}, - { "iob": 1.482, "activity": 0.0245, "date": 1653105248000}, - { "iob": 1.264, "activity": 0.0229, "date": 1653105549000}, - { "iob": 1.104, "activity": 0.0212, "date": 1653105848000}, - { "iob": 0.952, "activity": 0.0194, "date": 1653106149000}, - { "iob": 1.619, "activity": 0.0181, "date": 1653106449000}, - { "iob": 1.678, "activity": 0.0184, "date": 1653106749000}, - { "iob": 1.775, "activity": 0.0187, "date": 1653107048000}, - { "iob": 1.581, "activity": 0.019, "date": 1653107348000}, - { "iob": 1.437, "activity": 0.0188, "date": 1653107648000}, - { "iob": 1.294, "activity": 0.0183, "date": 1653107948000}, - { "iob": 1.153, "activity": 0.0176, "date": 1653108249000}, - { "iob": 1.017, "activity": 0.0167, "date": 1653108548000}, - { "iob": 0.887, "activity": 0.0156, "date": 1653108848000}, - { "iob": 1.011, "activity": 0.0147, "date": 1653109148000}, - { "iob": 0.889, "activity": 0.0141, "date": 1653109448000}, - { "iob": 0.771, "activity": 0.0133, "date": 1653109748000}, - { "iob": 0.656, "activity": 0.0124, "date": 1653110049000}, - { "iob": 0.547, "activity": 0.0114, "date": 1653110348000}, - { "iob": 0.392, "activity": 0.0103, "date": 1653110649000}, - { "iob": 0.294, "activity": 0.0091, "date": 1653110949000}, - { "iob": 0.2, "activity": 0.008, "date": 1653111249000}, - { "iob": 0.065, "activity": 0.0066, "date": 1653111549000}, - { "iob": 0.034, "activity": 0.0055, "date": 1653111849000}, - { "iob": 0.549, "activity": 0.0048, "date": 1653112148000}, - { "iob": 0.674, "activity": 0.0053, "date": 1653112449000}, - { "iob": 0.597, "activity": 0.0057, "date": 1653112749000}, - { "iob": 0.468, "activity": 0.0058, "date": 1653113049000}, - { "iob": 0.389, "activity": 0.0057, "date": 1653113349000}, - { "iob": 0.262, "activity": 0.0053, "date": 1653113649000}, - { "iob": 0.186, "activity": 0.0048, "date": 1653113949000}, - { "iob": 0.064, "activity": 0.0041, "date": 1653114249000}, - { "iob": -0.005, "activity": 0.0034, "date": 1653114549000}, - { "iob": -0.12, "activity": 0.0026, "date": 1653114849000}, - { "iob": -0.181, "activity": 0.0018, "date": 1653115149000}, - { "iob": -0.287, "activity": 0.0008, "date": 1653115449000}, - { "iob": -0.34, "activity": 0, "date": 1653115749000}, - { "iob": -0.436, "activity": -0.001, "date": 1653116049000}, - { "iob": -0.48, "activity": -0.0018, "date": 1653116349000}, - { "iob": -0.519, "activity": -0.0026, "date": 1653116649000}, - { "iob": -0.554, "activity": -0.0034, "date": 1653116949000}, - { "iob": -0.585, "activity": -0.0041, "date": 1653117249000}, - { "iob": -0.662, "activity": -0.0049, "date": 1653117549000}, - { "iob": -0.687, "activity": -0.0055, "date": 1653117848000}, - { "iob": -0.708, "activity": -0.0061, "date": 1653118149000}, - { "iob": -0.726, "activity": -0.0066, "date": 1653118449000}, - { "iob": -0.351, "activity": -0.0071, "date": 1653118748000}, - { "iob": -0.218, "activity": -0.0064, "date": 1653119049000}, - { "iob": -0.088, "activity": -0.0055, "date": 1653119349000}, - { "iob": 13.594, "activity": 0.0023, "date": 1653119649000}, - { "iob": 13.552, "activity": 0.0331, "date": 1653119949000}, - { "iob": 13.224, "activity": 0.0573, "date": 1653120249000}, - { "iob": 12.838, "activity": 0.076, "date": 1653120548000}, - { "iob": 12.322, "activity": 0.09, "date": 1653120849000}, - { "iob": 11.794, "activity": 0.1001, "date": 1653121149000}, - { "iob": 11.177, "activity": 0.1068, "date": 1653121449000}, - { "iob": 10.58, "activity": 0.111, "date": 1653121749000}, - { "iob": 9.919, "activity": 0.1129, "date": 1653122049000}, - { "iob": 9.254, "activity": 0.1129, "date": 1653122349000}, - { "iob": 8.643, "activity": 0.1114, "date": 1653122649000}, - { "iob": 7.992, "activity": 0.1088, "date": 1653122949000}, - { "iob": 7.406, "activity": 0.1053, "date": 1653123248000}, - { "iob": 7.111, "activity": 0.1012, "date": 1653123549000}, - { "iob": 6.515, "activity": 0.0971, "date": 1653123849000}, - { "iob": 5.99, "activity": 0.0927, "date": 1653124149000}, - { "iob": 5.439, "activity": 0.0878, "date": 1653124448000}, - { "iob": 4.962, "activity": 0.0828, "date": 1653124749000}, - { "iob": 4.462, "activity": 0.0775, "date": 1653125048000}, - { "iob": 4.036, "activity": 0.0724, "date": 1653125349000}, - { "iob": 3.638, "activity": 0.0672, "date": 1653125649000}, - { "iob": 3.214, "activity": 0.0621, "date": 1653125948000}, - { "iob": 2.866, "activity": 0.0571, "date": 1653126249000}, - { "iob": 2.494, "activity": 0.0522, "date": 1653126549000}, - { "iob": 2.193, "activity": 0.0476, "date": 1653126849000}, - { "iob": 1.867, "activity": 0.0431, "date": 1653127149000}, - { "iob": 1.563, "activity": 0.0388, "date": 1653127449000}, - { "iob": 1.329, "activity": 0.0347, "date": 1653127748000}, - { "iob": 1.115, "activity": 0.0309, "date": 1653128049000}, - { "iob": 0.87, "activity": 0.0272, "date": 1653128349000}, - { "iob": 0.692, "activity": 0.0239, "date": 1653128649000}, - { "iob": 0.482, "activity": 0.0206, "date": 1653128948000}, - { "iob": 0.287, "activity": 0.0176, "date": 1653129249000}, - { "iob": 0.156, "activity": 0.0148, "date": 1653129548000}, - { "iob": 0.038, "activity": 0.0122, "date": 1653129848000}, - { "iob": -0.067, "activity": 0.0099, "date": 1653130149000}, - { "iob": -0.161, "activity": 0.0078, "date": 1653130448000}, - { "iob": -0.195, "activity": 0.006, "date": 1653130748000}, - { "iob": -0.271, "activity": 0.0044, "date": 1653131049000}, - { "iob": -0.339, "activity": 0.0029, "date": 1653131349000}, - { "iob": -0.4, "activity": 0.0015, "date": 1653131649000}, - { "iob": -0.155, "activity": 0.0007, "date": 1653131948000}, - { "iob": 8.11, "activity": 0.0045, "date": 1653132249000}, - { "iob": 7.992, "activity": 0.0222, "date": 1653132549000}, - { "iob": 7.745, "activity": 0.0359, "date": 1653132849000}, - { "iob": 7.488, "activity": 0.0465, "date": 1653133149000}, - { "iob": 7.136, "activity": 0.0541, "date": 1653133449000}, - { "iob": 6.8, "activity": 0.0596, "date": 1653133749000}, - { "iob": 6.441, "activity": 0.0633, "date": 1653134049000}, - { "iob": 6.022, "activity": 0.0651, "date": 1653134349000}, - { "iob": 5.644, "activity": 0.0657, "date": 1653134649000}, - { "iob": 5.216, "activity": 0.0653, "date": 1653134949000}, - { "iob": 4.962, "activity": 0.0644, "date": 1653135249000}, - { "iob": 4.544, "activity": 0.0627, "date": 1653135549000}, - { "iob": 4.185, "activity": 0.0606, "date": 1653135849000}, - { "iob": 3.839, "activity": 0.058, "date": 1653136149000}, - { "iob": 3.456, "activity": 0.055, "date": 1653136449000}, - { "iob": 3.139, "activity": 0.0519, "date": 1653136749000}, - { "iob": 2.788, "activity": 0.0486, "date": 1653137049000}, - { "iob": 2.503, "activity": 0.0453, "date": 1653137350000}, - { "iob": 2.186, "activity": 0.0418, "date": 1653137649000}, - { "iob": 3.17, "activity": 0.0407, "date": 1653137949000}, - { "iob": 3.956, "activity": 0.0413, "date": 1653138249000}, - { "iob": 3.648, "activity": 0.042, "date": 1653138549000}, - { "iob": 4.126, "activity": 0.043, "date": 1653138849000}, - { "iob": 3.81, "activity": 0.0437, "date": 1653139150000}, - { "iob": 3.541, "activity": 0.0437, "date": 1653139450000}, - { "iob": 3.272, "activity": 0.0431, "date": 1653139749000}, - { "iob": 3.588, "activity": 0.0428, "date": 1653140049000}, - { "iob": 3.875, "activity": 0.0431, "date": 1653140349000}, - { "iob": 3.608, "activity": 0.0434, "date": 1653140648000}, - { "iob": 4.271, "activity": 0.0442, "date": 1653140949000}, - { "iob": 3.996, "activity": 0.0452, "date": 1653141249000}, - { "iob": 4.298, "activity": 0.0462, "date": 1653141548000}, - { "iob": 4.015, "activity": 0.0468, "date": 1653141849000}, - { "iob": 4.538, "activity": 0.0481, "date": 1653142149000}, - { "iob": 4.245, "activity": 0.0489, "date": 1653142449000}, - { "iob": 4.729, "activity": 0.05, "date": 1653142749000}, - { "iob": 4.426, "activity": 0.0508, "date": 1653143049000}, - { "iob": 4.353, "activity": 0.051, "date": 1653143349000}, - { "iob": 4.049, "activity": 0.0507, "date": 1653143650000}, - { "iob": 3.747, "activity": 0.0498, "date": 1653143949000}, - { "iob": 3.402, "activity": 0.0483, "date": 1653144249000}, - { "iob": 3.115, "activity": 0.0464, "date": 1653144550000}, - { "iob": 2.788, "activity": 0.0441, "date": 1653144849000}, - { "iob": 2.524, "activity": 0.0417, "date": 1653145149000}, - { "iob": 2.271, "activity": 0.0391, "date": 1653145449000}, - { "iob": 2.033, "activity": 0.0365, "date": 1653145750000}, - { "iob": 1.807, "activity": 0.0338, "date": 1653146050000}, - { "iob": 1.594, "activity": 0.0312, "date": 1653146349000}, - { "iob": 1.395, "activity": 0.0286, "date": 1653146650000}, - { "iob": 1.258, "activity": 0.0262, "date": 1653146949000}, - { "iob": 1.034, "activity": 0.0236, "date": 1653147249000}, - { "iob": 0.971, "activity": 0.0215, "date": 1653147549000}, - { "iob": 1.008, "activity": 0.0197, "date": 1653147849000}, - { "iob": 0.963, "activity": 0.0183, "date": 1653148149000}, - { "iob": 1.046, "activity": 0.0171, "date": 1653148450000}, - { "iob": 0.912, "activity": 0.0161, "date": 1653148749000}, - { "iob": 1.254, "activity": 0.0156, "date": 1653149049000}, - { "iob": 1.176, "activity": 0.0154, "date": 1653149349000}, - { "iob": 1.051, "activity": 0.0149, "date": 1653149650000}, - { "iob": 0.928, "activity": 0.0142, "date": 1653149949000}, - { "iob": 1.008, "activity": 0.0138, "date": 1653150249000}, - { "iob": 0.89, "activity": 0.0133, "date": 1653150549000}, - { "iob": 0.775, "activity": 0.0127, "date": 1653150849000}, - { "iob": 0.664, "activity": 0.0118, "date": 1653151149000}, - { "iob": 0.606, "activity": 0.011, "date": 1653151449000}, - { "iob": 0.703, "activity": 0.0105, "date": 1653151749000}, - { "iob": 0.702, "activity": 0.0101, "date": 1653152049000}, - { "iob": 0.902, "activity": 0.0101, "date": 1653152349000}, - { "iob": 0.801, "activity": 0.0101, "date": 1653152649000}, - { "iob": 0.701, "activity": 0.0098, "date": 1653152949000}, - { "iob": 0.603, "activity": 0.0094, "date": 1653153249000}, - { "iob": 0.508, "activity": 0.0088, "date": 1653153549000}, - { "iob": 0.415, "activity": 0.0081, "date": 1653153849000}, - { "iob": 0.327, "activity": 0.0074, "date": 1653154149000}, - { "iob": 0.242, "activity": 0.0066, "date": 1653154449000}, - { "iob": 0.161, "activity": 0.0058, "date": 1653154749000}, - { "iob": 0.134, "activity": 0.005, "date": 1653155049000}, - { "iob": 0.4, "activity": 0.0048, "date": 1653155349000}, - { "iob": 0.475, "activity": 0.0049, "date": 1653155649000}, - { "iob": 0.401, "activity": 0.005, "date": 1653155950000}, - { "iob": 0.327, "activity": 0.0048, "date": 1653156250000}, - { "iob": 0.203, "activity": 0.0044, "date": 1653156549000}, - { "iob": 0.132, "activity": 0.004, "date": 1653156849000}, - { "iob": 0.064, "activity": 0.0034, "date": 1653157149000}, - { "iob": -0.002, "activity": 0.0028, "date": 1653157449000}, - { "iob": -0.064, "activity": 0.0022, "date": 1653157750000}, - { "iob": -0.073, "activity": 0.0016, "date": 1653158049000}, - { "iob": -0.08, "activity": 0.0011, "date": 1653158349000}, - { "iob": -0.085, "activity": 0.0007, "date": 1653158649000}, - { "iob": -0.087, "activity": 0.0004, "date": 1653158949000}, - { "iob": -0.088, "activity": 0.0001, "date": 1653159249000}, - { "iob": -0.088, "activity": -0.0001, "date": 1653159549000}, - { "iob": -0.137, "activity": -0.0004, "date": 1653159849000}, - { "iob": -0.184, "activity": -0.0007, "date": 1653160150000}, - { "iob": -0.18, "activity": -0.001, "date": 1653160449000}, - { "iob": -0.175, "activity": -0.0012, "date": 1653160749000}, - { "iob": -0.168, "activity": -0.0014, "date": 1653161049000}, - { "iob": -0.211, "activity": -0.0015, "date": 1653161350000}, - { "iob": -0.203, "activity": -0.0017, "date": 1653161649000}, - { "iob": -0.243, "activity": -0.002, "date": 1653161950000}, - { "iob": -0.282, "activity": -0.0023, "date": 1653162250000}, - { "iob": -0.32, "activity": -0.0026, "date": 1653162549000}, - { "iob": -0.357, "activity": -0.0029, "date": 1653162850000}, - { "iob": -0.391, "activity": -0.0032, "date": 1653163150000}, - { "iob": -0.375, "activity": -0.0035, "date": 1653163449000}, - { "iob": -0.357, "activity": -0.0036, "date": 1653163749000}, - { "iob": -0.149, "activity": -0.0035, "date": 1653164049000}, - { "iob": -0.132, "activity": -0.0031, "date": 1653164350000}, - { "iob": 9.296, "activity": 0.015, "date": 1653164649000}, - { "iob": 9.123, "activity": 0.0332, "date": 1653164950000}, - { "iob": 8.96, "activity": 0.0474, "date": 1653165249000}, - { "iob": 8.644, "activity": 0.0584, "date": 1653165550000}, - { "iob": 8.282, "activity": 0.0664, "date": 1653165850000}, - { "iob": 7.835, "activity": 0.0718, "date": 1653166149000}, - { "iob": 7.416, "activity": 0.0753, "date": 1653166450000}, - { "iob": 6.984, "activity": 0.0772, "date": 1653166749000}, - { "iob": 6.547, "activity": 0.0776, "date": 1653167049000}, - { "iob": 6.061, "activity": 0.0769, "date": 1653167350000}, - { "iob": 5.68, "activity": 0.0754, "date": 1653167650000}, - { "iob": 5.458, "activity": 0.0734, "date": 1653167949000}, - { "iob": 5.046, "activity": 0.0712, "date": 1653168250000}, - { "iob": 4.925, "activity": 0.069, "date": 1653168549000}, - { "iob": 4.487, "activity": 0.0663, "date": 1653168849000}, - { "iob": 4.113, "activity": 0.0633, "date": 1653169150000}, - { "iob": 3.706, "activity": 0.0599, "date": 1653169449000}, - { "iob": 3.363, "activity": 0.0566, "date": 1653169749000}, - { "iob": 3.039, "activity": 0.053, "date": 1653170049000}, - { "iob": 2.733, "activity": 0.0494, "date": 1653170350000}, - { "iob": 2.395, "activity": 0.0457, "date": 1653170650000}, - { "iob": 2.126, "activity": 0.0421, "date": 1653170950000}, - { "iob": 1.824, "activity": 0.0385, "date": 1653171250000}, - { "iob": 1.64, "activity": 0.0351, "date": 1653171549000}, - { "iob": 1.473, "activity": 0.0319, "date": 1653171849000}, - { "iob": 1.273, "activity": 0.0288, "date": 1653172150000}, - { "iob": 1.136, "activity": 0.026, "date": 1653172450000}, - { "iob": 1.011, "activity": 0.0235, "date": 1653172749000}, - { "iob": 0.852, "activity": 0.021, "date": 1653173050000}, - { "iob": 0.752, "activity": 0.0189, "date": 1653173350000}, - { "iob": 0.662, "activity": 0.0169, "date": 1653173650000}, - { "iob": 0.534, "activity": 0.0149, "date": 1653173949000}, - { "iob": 0.463, "activity": 0.0132, "date": 1653174249000}, - { "iob": 0.352, "activity": 0.0115, "date": 1653174550000}, - { "iob": 0.298, "activity": 0.0101, "date": 1653174850000}, - { "iob": 0.25, "activity": 0.0089, "date": 1653175149000}, - { "iob": 0.329, "activity": 0.0079, "date": 1653175450000}, - { "iob": 0.34, "activity": 0.0074, "date": 1653175750000}, - { "iob": 0.304, "activity": 0.0068, "date": 1653176050000}, - { "iob": 0.272, "activity": 0.0062, "date": 1653176350000}, - { "iob": 0.512, "activity": 0.006, "date": 1653176650000}, - { "iob": 0.581, "activity": 0.0061, "date": 1653176950000}, - { "iob": 1.238, "activity": 0.0075, "date": 1653177250000}, - { "iob": 1.147, "activity": 0.0088, "date": 1653177550000}, - { "iob": 1.151, "activity": 0.0098, "date": 1653177850000}, - { "iob": 1.05, "activity": 0.0104, "date": 1653178149000}, - { "iob": 0.947, "activity": 0.0107, "date": 1653178449000}, - { "iob": 0.844, "activity": 0.0106, "date": 1653178750000}, - { "iob": 0.741, "activity": 0.0104, "date": 1653179050000}, - { "iob": 0.59, "activity": 0.0099, "date": 1653179350000}, - { "iob": 0.542, "activity": 0.0093, "date": 1653179649000}, - { "iob": 0.497, "activity": 0.0087, "date": 1653179949000}, - { "iob": 0.456, "activity": 0.0081, "date": 1653180250000}, - { "iob": 0.516, "activity": 0.0077, "date": 1653180549000}, - { "iob": 0.429, "activity": 0.0072, "date": 1653180849000}, - { "iob": 0.294, "activity": 0.0066, "date": 1653181150000}, - { "iob": 0.163, "activity": 0.0058, "date": 1653181450000}, - { "iob": 0.037, "activity": 0.0049, "date": 1653181750000}, - { "iob": -0.085, "activity": 0.0039, "date": 1653182050000}, - { "iob": -0.153, "activity": 0.0029, "date": 1653182349000}, - { "iob": -0.265, "activity": 0.0018, "date": 1653182650000}, - { "iob": -0.371, "activity": 0.0007, "date": 1653182949000}, - { "iob": -0.471, "activity": -0.0005, "date": 1653183249000}, - { "iob": -0.566, "activity": -0.0016, "date": 1653183550000}, - { "iob": -0.606, "activity": -0.0026, "date": 1653183850000}, - { "iob": -0.64, "activity": -0.0036, "date": 1653184150000}, - { "iob": -0.67, "activity": -0.0044, "date": 1653184450000} -] - diff --git a/plugins/main/src/test/res/autotune/test3/aapsorefprofile.json b/plugins/main/src/test/res/autotune/test3/aapsorefprofile.json deleted file mode 100644 index e7ae1b4e0e..0000000000 --- a/plugins/main/src/test/res/autotune/test3/aapsorefprofile.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.039, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 1.091, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 1.118, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.321, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.091, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.965, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.848, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 1.112, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 1.173, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 1.214, - "start": "09:00:00" - }, - { - "i": 10, - "minutes": 600, - "rate": 1.219, - "start": "10:00:00" - }, - { - "i": 11, - "minutes": 660, - "rate": 1.07, - "start": "11:00:00" - }, - { - "i": 12, - "minutes": 720, - "rate": 1.147, - "start": "12:00:00" - }, - { - "i": 13, - "minutes": 780, - "rate": 1.136, - "start": "13:00:00" - }, - { - "i": 14, - "minutes": 840, - "rate": 1.126, - "start": "14:00:00" - }, - { - "i": 15, - "minutes": 900, - "rate": 1.102, - "start": "15:00:00" - }, - { - "i": 16, - "minutes": 960, - "rate": 0.928, - "start": "16:00:00" - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.71, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.654, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.878, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 1.101, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 1.119, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 1.122, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 1.047, - "start": "23:00:00" - } - ], - "carb_ratio": 5.75, - "csf": 14.991, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 93.589, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 93.589, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json deleted file mode 100644 index deb6b431f6..0000000000 --- a/plugins/main/src/test/res/autotune/test3/autotune.2022-05-21.json +++ /dev/null @@ -1 +0,0 @@ -{"CRData":[],"CSFGlucoseData":[],"ISFGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653108249000,"dateString":"2022-05-21T04:44:09.000Z","isValid":true,"sgv":123,"direction":"FortyFiveDown","type":"sgv","_id":"62886e2919e2e60004989bba","glucose":123,"avgDelta":"-7.50","BGI":-7.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653108548000,"dateString":"2022-05-21T04:49:08.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"62886f5719e2e60004989bbc","glucose":128,"avgDelta":"-4.00","BGI":-7.2,"deviation":"3.20"},{"device":"AndroidAPS-DexcomG6","date":1653110649000,"dateString":"2022-05-21T05:24:09.000Z","isValid":true,"sgv":98,"direction":"FortyFiveDown","type":"sgv","_id":"628877a5363e6c0004f710e0","glucose":98,"avgDelta":"-6.75","BGI":-4.44,"deviation":"-2.31"},{"device":"AndroidAPS-DexcomG6","date":1653110949000,"dateString":"2022-05-21T05:29:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628878bbe964810004aa5655","glucose":97,"avgDelta":"-5.00","BGI":-3.92,"deviation":"-1.08"},{"device":"AndroidAPS-DexcomG6","date":1653111249000,"dateString":"2022-05-21T05:34:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628879e9e964810004aa5657","glucose":97,"avgDelta":"-3.00","BGI":-3.45,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653111549000,"dateString":"2022-05-21T05:39:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"62887b17e964810004aa565a","glucose":100,"avgDelta":"-0.50","BGI":-2.84,"deviation":"2.34"},{"device":"AndroidAPS-DexcomG6","date":1653111849000,"dateString":"2022-05-21T05:44:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887c44e964810004aa565d","glucose":102,"avgDelta":"1.00","BGI":-2.37,"deviation":"3.37"},{"device":"AndroidAPS-DexcomG6","date":1653112148000,"dateString":"2022-05-21T05:49:08.000Z","isValid":true,"sgv":103,"direction":"Flat","type":"sgv","_id":"62887d72e964810004aa5661","glucose":103,"avgDelta":"1.50","BGI":-2.07,"deviation":"3.57"},{"device":"AndroidAPS-DexcomG6","date":1653112449000,"dateString":"2022-05-21T05:54:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62887ea1e964810004aa5664","glucose":102,"avgDelta":"1.25","BGI":-2.28,"deviation":"3.53"},{"device":"AndroidAPS-DexcomG6","date":1653112749000,"dateString":"2022-05-21T05:59:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"62887fcee964810004aa5666","glucose":101,"avgDelta":"0.25","BGI":-2.46,"deviation":"2.71"},{"device":"AndroidAPS-DexcomG6","date":1653113049000,"dateString":"2022-05-21T06:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628880ee8ff3530004dc6060","glucose":98,"avgDelta":"-1.00","BGI":-2.5,"deviation":"1.50"},{"device":"AndroidAPS-DexcomG6","date":1653113349000,"dateString":"2022-05-21T06:09:09.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288821b8ff3530004dc6062","glucose":94,"avgDelta":"-2.25","BGI":-2.46,"deviation":"0.21"},{"device":"AndroidAPS-DexcomG6","date":1653113649000,"dateString":"2022-05-21T06:14:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288834a8ff3530004dc6065","glucose":91,"avgDelta":"-2.75","BGI":-2.28,"deviation":"-0.47"},{"device":"AndroidAPS-DexcomG6","date":1653113949000,"dateString":"2022-05-21T06:19:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"628884778ff3530004dc6067","glucose":89,"avgDelta":"-3.00","BGI":-2.07,"deviation":"-0.93"},{"device":"AndroidAPS-DexcomG6","date":1653114249000,"dateString":"2022-05-21T06:24:09.000Z","isValid":true,"sgv":85,"direction":"Flat","type":"sgv","_id":"628885a48ff3530004dc6069","glucose":85,"avgDelta":"-3.25","BGI":-1.77,"deviation":"-1.48"},{"device":"AndroidAPS-DexcomG6","date":1653153249000,"dateString":"2022-05-21T17:14:09.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62891dfd1090500004ca4722","glucose":124,"avgDelta":"-9.00","BGI":-4.05,"deviation":"-4.95"},{"device":"AndroidAPS-DexcomG6","date":1653153549000,"dateString":"2022-05-21T17:19:09.000Z","isValid":true,"sgv":110,"direction":"SingleDown","type":"sgv","_id":"62891f2b1090500004ca4724","glucose":110,"avgDelta":"-12.00","BGI":-3.79,"deviation":"-8.21"},{"device":"AndroidAPS-DexcomG6","date":1653153849000,"dateString":"2022-05-21T17:24:09.000Z","isValid":true,"sgv":96,"direction":"SingleDown","type":"sgv","_id":"628920591090500004ca4727","glucose":96,"avgDelta":"-13.25","BGI":-3.49,"deviation":"-9.76"},{"device":"AndroidAPS-DexcomG6","date":1653154149000,"dateString":"2022-05-21T17:29:09.000Z","isValid":true,"sgv":93,"direction":"SingleDown","type":"sgv","_id":"628921861090500004ca472b","glucose":93,"avgDelta":"-11.25","BGI":-3.19,"deviation":"-8.06"},{"device":"AndroidAPS-DexcomG6","date":1653154449000,"dateString":"2022-05-21T17:34:09.000Z","isValid":true,"sgv":97,"direction":"FortyFiveDown","type":"sgv","_id":"628922b18809e60004c644d6","glucose":97,"avgDelta":"-6.75","BGI":-2.84,"deviation":"-3.91"},{"device":"AndroidAPS-DexcomG6","date":1653154749000,"dateString":"2022-05-21T17:39:09.000Z","isValid":true,"sgv":108,"direction":"NONE","type":"sgv","_id":"628923df8809e60004c644d9","glucose":108,"avgDelta":"-0.50","BGI":-2.5,"deviation":"2.00"},{"device":"AndroidAPS-DexcomG6","date":1653156849000,"dateString":"2022-05-21T18:14:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62892c06840d8d0004a20bf2","glucose":110,"avgDelta":"-3.50","BGI":-1.72,"deviation":"-1.78"},{"device":"AndroidAPS-DexcomG6","date":1653180849000,"dateString":"2022-05-22T00:54:09.000Z","isValid":true,"sgv":105,"direction":"SingleDown","type":"sgv","_id":"628989d2da46aa0004d1e0f8","glucose":105,"avgDelta":"-9.50","BGI":-3.1,"deviation":"-6.40"},{"device":"AndroidAPS-DexcomG6","date":1653181150000,"dateString":"2022-05-22T00:59:10.000Z","isValid":true,"sgv":97,"direction":"SingleDown","type":"sgv","_id":"62898b01da46aa0004d1e0fa","glucose":97,"avgDelta":"-11.50","BGI":-2.84,"deviation":"-8.66"},{"device":"AndroidAPS-DexcomG6","date":1653181450000,"dateString":"2022-05-22T01:04:10.000Z","isValid":true,"sgv":92,"direction":"FortyFiveDown","type":"sgv","_id":"62898c2fda46aa0004d1e0fc","glucose":92,"avgDelta":"-10.75","BGI":-2.5,"deviation":"-8.25"},{"device":"AndroidAPS-DexcomG6","date":1653181750000,"dateString":"2022-05-22T01:09:10.000Z","isValid":true,"sgv":87,"direction":"FortyFiveDown","type":"sgv","_id":"62898d4750e51d0004429e5f","glucose":87,"avgDelta":"-8.50","BGI":-2.11,"deviation":"-6.39"}],"basalGlucoseData":[{"device":"AndroidAPS-DexcomG6","date":1653114549000,"dateString":"2022-05-21T06:29:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628886d28ff3530004dc606b","glucose":80,"avgDelta":"-3.50","BGI":-1.47,"deviation":"-2.03"},{"device":"AndroidAPS-DexcomG6","date":1653114849000,"dateString":"2022-05-21T06:34:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"628888018ff3530004dc6070","glucose":78,"avgDelta":"-3.25","BGI":-1.12,"deviation":"-2.13"},{"device":"AndroidAPS-DexcomG6","date":1653115149000,"dateString":"2022-05-21T06:39:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288892a149196000412bf49","glucose":76,"avgDelta":"-3.25","BGI":-0.78,"deviation":"-2.47"},{"device":"AndroidAPS-DexcomG6","date":1653115449000,"dateString":"2022-05-21T06:44:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888a57149196000412bf4b","glucose":74,"avgDelta":"-2.75","BGI":-0.34,"deviation":"-2.41"},{"device":"AndroidAPS-DexcomG6","date":1653115749000,"dateString":"2022-05-21T06:49:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888b85149196000412bf4d","glucose":70,"avgDelta":"-2.50","BGI":0,"deviation":"-2.50"},{"device":"AndroidAPS-DexcomG6","date":1653116049000,"dateString":"2022-05-21T06:54:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"62888ccc149196000412bf4f","glucose":69,"avgDelta":"-2.25","BGI":0.43,"deviation":"-2.68"},{"device":"AndroidAPS-DexcomG6","date":1653116349000,"dateString":"2022-05-21T06:59:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"62888de2149196000412bf51","glucose":70,"avgDelta":"-1.50","BGI":0.78,"deviation":"-2.28"},{"device":"AndroidAPS-DexcomG6","date":1653116649000,"dateString":"2022-05-21T07:04:09.000Z","isValid":true,"sgv":74,"direction":"Flat","type":"sgv","_id":"62888f0f149196000412bf54","glucose":74,"avgDelta":"0.00","BGI":1.12,"deviation":"-1.12"},{"device":"AndroidAPS-DexcomG6","date":1653116949000,"dateString":"2022-05-21T07:09:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"62889024149196000412bf57","glucose":76,"avgDelta":"1.50","BGI":1.47,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653117249000,"dateString":"2022-05-21T07:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"628891627ff1e700040f17c6","glucose":79,"avgDelta":"2.50","BGI":1.77,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653117549000,"dateString":"2022-05-21T07:19:09.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628892907ff1e700040f17c7","glucose":80,"avgDelta":"2.50","BGI":2.11,"deviation":"0.39"},{"device":"AndroidAPS-DexcomG6","date":1653117848000,"dateString":"2022-05-21T07:24:08.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"628893bd7ff1e700040f17c9","glucose":82,"avgDelta":"2.00","BGI":2.37,"deviation":"-0.37"},{"device":"AndroidAPS-DexcomG6","date":1653118149000,"dateString":"2022-05-21T07:29:09.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","_id":"628894d37ff1e700040f17cd","glucose":86,"avgDelta":"2.50","BGI":2.63,"deviation":"-0.13"},{"device":"AndroidAPS-DexcomG6","date":1653118449000,"dateString":"2022-05-21T07:34:09.000Z","isValid":true,"sgv":92,"direction":"Flat","type":"sgv","_id":"6288961d7ff1e700040f17ce","glucose":92,"avgDelta":"3.25","BGI":2.84,"deviation":"0.41"},{"device":"AndroidAPS-DexcomG6","date":1653118748000,"dateString":"2022-05-21T07:39:08.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"628897357ff1e700040f17d3","glucose":97,"avgDelta":"4.25","BGI":3.06,"deviation":"1.19"},{"device":"AndroidAPS-DexcomG6","date":1653119049000,"dateString":"2022-05-21T07:44:09.000Z","isValid":true,"sgv":105,"direction":"FortyFiveUp","type":"sgv","_id":"628898627ff1e700040f17d5","glucose":105,"avgDelta":"5.75","BGI":2.76,"deviation":"2.99"},{"device":"AndroidAPS-DexcomG6","date":1653119349000,"dateString":"2022-05-21T07:49:09.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","_id":"628899957ff1e700040f17d7","glucose":114,"avgDelta":"7.00","BGI":2.37,"deviation":"4.63"},{"device":"AndroidAPS-DexcomG6","date":1653131349000,"dateString":"2022-05-21T11:09:09.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","_id":"6288c86f8e9ed800049b39e5","glucose":82,"avgDelta":"-2.25","BGI":-1.25,"deviation":"-1.00"},{"device":"AndroidAPS-DexcomG6","date":1653131649000,"dateString":"2022-05-21T11:14:09.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6288c99e8e9ed800049b39e8","glucose":89,"avgDelta":"0.25","BGI":-0.65,"deviation":"0.90"},{"device":"AndroidAPS-DexcomG6","date":1653131948000,"dateString":"2022-05-21T11:19:08.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6288cacb8e9ed800049b39ec","glucose":98,"avgDelta":"3.50","BGI":-0.3,"deviation":"3.80"},{"device":"AndroidAPS-DexcomG6","date":1653157149000,"dateString":"2022-05-21T18:19:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892d34840d8d0004a20bf5","glucose":108,"avgDelta":"-3.75","BGI":-1.47,"deviation":"-2.28"},{"device":"AndroidAPS-DexcomG6","date":1653157449000,"dateString":"2022-05-21T18:24:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"62892e62840d8d0004a20bf8","glucose":108,"avgDelta":"-2.75","BGI":-1.21,"deviation":"-1.54"},{"device":"AndroidAPS-DexcomG6","date":1653157750000,"dateString":"2022-05-21T18:29:10.000Z","isValid":true,"sgv":106,"direction":"Flat","type":"sgv","_id":"62892f8f840d8d0004a20bfa","glucose":106,"avgDelta":"-2.00","BGI":-0.95,"deviation":"-1.05"},{"device":"AndroidAPS-DexcomG6","date":1653158049000,"dateString":"2022-05-21T18:34:09.000Z","isValid":true,"sgv":104,"direction":"Flat","type":"sgv","_id":"628930bc840d8d0004a20bfd","glucose":104,"avgDelta":"-1.50","BGI":-0.69,"deviation":"-0.81"},{"device":"AndroidAPS-DexcomG6","date":1653158349000,"dateString":"2022-05-21T18:39:09.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"628931e9840d8d0004a20bff","glucose":102,"avgDelta":"-1.50","BGI":-0.47,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653158649000,"dateString":"2022-05-21T18:44:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6289331c22fbc8000495b813","glucose":101,"avgDelta":"-1.75","BGI":-0.3,"deviation":"-1.45"},{"device":"AndroidAPS-DexcomG6","date":1653158949000,"dateString":"2022-05-21T18:49:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289344a22fbc8000495b815","glucose":100,"avgDelta":"-1.50","BGI":-0.17,"deviation":"-1.33"},{"device":"AndroidAPS-DexcomG6","date":1653159249000,"dateString":"2022-05-21T18:54:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6289357622fbc8000495b818","glucose":99,"avgDelta":"-1.25","BGI":-0.04,"deviation":"-1.21"},{"device":"AndroidAPS-DexcomG6","date":1653159549000,"dateString":"2022-05-21T18:59:09.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"628936a422fbc8000495b81a","glucose":99,"avgDelta":"-0.75","BGI":0.04,"deviation":"-0.79"},{"device":"AndroidAPS-DexcomG6","date":1653159849000,"dateString":"2022-05-21T19:04:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628937b822fbc8000495b81d","glucose":98,"avgDelta":"-0.75","BGI":0.17,"deviation":"-0.92"},{"device":"AndroidAPS-DexcomG6","date":1653160150000,"dateString":"2022-05-21T19:09:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628938fe22fbc8000495b81f","glucose":98,"avgDelta":"-0.50","BGI":0.3,"deviation":"-0.80"},{"device":"AndroidAPS-DexcomG6","date":1653160449000,"dateString":"2022-05-21T19:14:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"62893a1222fbc8000495b822","glucose":98,"avgDelta":"-0.25","BGI":0.43,"deviation":"-0.68"},{"device":"AndroidAPS-DexcomG6","date":1653160749000,"dateString":"2022-05-21T19:19:09.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","_id":"62893b4f598f780004bb3b22","glucose":97,"avgDelta":"-0.50","BGI":0.52,"deviation":"-1.02"},{"device":"AndroidAPS-DexcomG6","date":1653161049000,"dateString":"2022-05-21T19:24:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"62893c7d598f780004bb3b24","glucose":95,"avgDelta":"-0.75","BGI":0.6,"deviation":"-1.35"},{"device":"AndroidAPS-DexcomG6","date":1653161350000,"dateString":"2022-05-21T19:29:10.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"62893daa598f780004bb3b27","glucose":94,"avgDelta":"-1.00","BGI":0.65,"deviation":"-1.65"},{"device":"AndroidAPS-DexcomG6","date":1653161649000,"dateString":"2022-05-21T19:34:09.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"62893ed7598f780004bb3b29","glucose":93,"avgDelta":"-1.25","BGI":0.73,"deviation":"-1.98"},{"device":"AndroidAPS-DexcomG6","date":1653161950000,"dateString":"2022-05-21T19:39:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"62893feb598f780004bb3b2b","glucose":91,"avgDelta":"-1.50","BGI":0.86,"deviation":"-2.36"},{"device":"AndroidAPS-DexcomG6","date":1653162250000,"dateString":"2022-05-21T19:44:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"62894118598f780004bb3b2d","glucose":89,"avgDelta":"-1.50","BGI":0.99,"deviation":"-2.49"},{"device":"AndroidAPS-DexcomG6","date":1653162549000,"dateString":"2022-05-21T19:49:09.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6289425f598f780004bb3b30","glucose":88,"avgDelta":"-1.50","BGI":1.12,"deviation":"-2.62"},{"device":"AndroidAPS-DexcomG6","date":1653162850000,"dateString":"2022-05-21T19:54:10.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","_id":"6289437f4493460004e63a25","glucose":89,"avgDelta":"-1.00","BGI":1.25,"deviation":"-2.25"},{"device":"AndroidAPS-DexcomG6","date":1653163150000,"dateString":"2022-05-21T19:59:10.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"628944ae4493460004e63a27","glucose":91,"avgDelta":"0.00","BGI":1.38,"deviation":"-1.38"},{"device":"AndroidAPS-DexcomG6","date":1653163449000,"dateString":"2022-05-21T20:04:09.000Z","isValid":true,"sgv":95,"direction":"Flat","type":"sgv","_id":"628945dc4493460004e63a2a","glucose":95,"avgDelta":"1.50","BGI":1.51,"deviation":"-0.01"},{"device":"AndroidAPS-DexcomG6","date":1653163749000,"dateString":"2022-05-21T20:09:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"6289470c4493460004e63a2d","glucose":100,"avgDelta":"3.00","BGI":1.55,"deviation":"1.45"},{"device":"AndroidAPS-DexcomG6","date":1653164049000,"dateString":"2022-05-21T20:14:09.000Z","isValid":true,"sgv":109,"direction":"Flat","type":"sgv","_id":"628948214493460004e63a31","glucose":109,"avgDelta":"5.00","BGI":1.51,"deviation":"3.49"},{"device":"AndroidAPS-DexcomG6","date":1653164350000,"dateString":"2022-05-21T20:19:10.000Z","isValid":true,"sgv":120,"direction":"FortyFiveUp","type":"sgv","_id":"6289496a4493460004e63a34","glucose":120,"avgDelta":"7.25","BGI":1.34,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653182050000,"dateString":"2022-05-22T01:14:10.000Z","isValid":true,"sgv":81,"direction":"FortyFiveDown","type":"sgv","_id":"62898e7650e51d0004429e63","glucose":81,"avgDelta":"-6.00","BGI":-1.68,"deviation":"-4.32"},{"device":"AndroidAPS-DexcomG6","date":1653182349000,"dateString":"2022-05-22T01:19:09.000Z","isValid":true,"sgv":77,"direction":"FortyFiveDown","type":"sgv","_id":"62898fa550e51d0004429e65","glucose":77,"avgDelta":"-5.00","BGI":-1.25,"deviation":"-3.75"},{"device":"AndroidAPS-DexcomG6","date":1653182650000,"dateString":"2022-05-22T01:24:10.000Z","isValid":true,"sgv":74,"direction":"FortyFiveDown","type":"sgv","_id":"628990d350e51d0004429e67","glucose":74,"avgDelta":"-4.50","BGI":-0.78,"deviation":"-3.72"},{"device":"AndroidAPS-DexcomG6","date":1653182949000,"dateString":"2022-05-22T01:29:09.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6289920150e51d0004429e69","glucose":72,"avgDelta":"-3.75","BGI":-0.3,"deviation":"-3.45"},{"device":"AndroidAPS-DexcomG6","date":1653183249000,"dateString":"2022-05-22T01:34:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6289933050e51d0004429e6b","glucose":73,"avgDelta":"-2.00","BGI":0.22,"deviation":"-2.22"},{"device":"AndroidAPS-DexcomG6","date":1653183550000,"dateString":"2022-05-22T01:39:10.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6289945f50e51d0004429e6d","glucose":76,"avgDelta":"-0.25","BGI":0.69,"deviation":"-0.94"},{"device":"AndroidAPS-DexcomG6","date":1653183850000,"dateString":"2022-05-22T01:44:10.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6289957b61a829000474037f","glucose":79,"avgDelta":"1.25","BGI":1.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653184150000,"dateString":"2022-05-22T01:49:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628996a961a8290004740382","glucose":80,"avgDelta":"2.00","BGI":1.55,"deviation":"0.45"},{"device":"AndroidAPS-DexcomG6","date":1653184450000,"dateString":"2022-05-22T01:54:10.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","_id":"628997d861a8290004740385","glucose":80,"avgDelta":"1.75","BGI":1.9,"deviation":"-0.15"},{"device":"AndroidAPS-DexcomG6","date":1653099848000,"dateString":"2022-05-21T02:24:08.000Z","isValid":true,"sgv":308,"direction":"FortyFiveUp","type":"sgv","_id":"62884d6793668c0004a30514","glucose":308,"avgDelta":"9.25","BGI":-16.85,"deviation":"26.10","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653100148000,"dateString":"2022-05-21T02:29:08.000Z","isValid":true,"sgv":307,"direction":"FortyFiveUp","type":"sgv","_id":"62884e9493668c0004a30517","glucose":307,"avgDelta":"9.00","BGI":-18.88,"deviation":"27.88"},{"device":"AndroidAPS-DexcomG6","date":1653100449000,"dateString":"2022-05-21T02:34:09.000Z","isValid":true,"sgv":297,"direction":"Flat","type":"sgv","_id":"62884fb05151b5000462a1dc","glucose":297,"avgDelta":"3.75","BGI":-20.26,"deviation":"24.01"},{"device":"AndroidAPS-DexcomG6","date":1653100748000,"dateString":"2022-05-21T02:39:08.000Z","isValid":true,"sgv":283,"direction":"Flat","type":"sgv","_id":"628850de5151b5000462a1df","glucose":283,"avgDelta":"-3.25","BGI":-21.08,"deviation":"17.83"},{"device":"AndroidAPS-DexcomG6","date":1653101048000,"dateString":"2022-05-21T02:44:08.000Z","isValid":true,"sgv":267,"direction":"FortyFiveDown","type":"sgv","_id":"6288520b5151b5000462a1e2","glucose":267,"avgDelta":"-10.25","BGI":-21.46,"deviation":"11.21"},{"device":"AndroidAPS-DexcomG6","date":1653101348000,"dateString":"2022-05-21T02:49:08.000Z","isValid":true,"sgv":253,"direction":"SingleDown","type":"sgv","_id":"628853395151b5000462a1e4","glucose":253,"avgDelta":"-13.50","BGI":-21.46,"deviation":"7.96"},{"device":"AndroidAPS-DexcomG6","date":1653101648000,"dateString":"2022-05-21T02:54:08.000Z","isValid":true,"sgv":241,"direction":"SingleDown","type":"sgv","_id":"6288547f5151b5000462a1e6","glucose":241,"avgDelta":"-14.00","BGI":-21.16,"deviation":"7.16"},{"device":"AndroidAPS-DexcomG6","date":1653101948000,"dateString":"2022-05-21T02:59:08.000Z","isValid":true,"sgv":228,"direction":"SingleDown","type":"sgv","_id":"628855935151b5000462a1e8","glucose":228,"avgDelta":"-13.75","BGI":-20.52,"deviation":"6.77"},{"device":"AndroidAPS-DexcomG6","date":1653102249000,"dateString":"2022-05-21T03:04:09.000Z","isValid":true,"sgv":216,"direction":"SingleDown","type":"sgv","_id":"628856da5151b5000462a1ea","glucose":216,"avgDelta":"-12.75","BGI":-19.7,"deviation":"6.95"},{"device":"AndroidAPS-DexcomG6","date":1653102548000,"dateString":"2022-05-21T03:09:08.000Z","isValid":true,"sgv":204,"direction":"SingleDown","type":"sgv","_id":"628857f7293f3e00042c31d3","glucose":204,"avgDelta":"-12.25","BGI":-18.79,"deviation":"6.54"},{"device":"AndroidAPS-DexcomG6","date":1653102848000,"dateString":"2022-05-21T03:14:08.000Z","isValid":true,"sgv":193,"direction":"SingleDown","type":"sgv","_id":"62885924293f3e00042c31d5","glucose":193,"avgDelta":"-12.00","BGI":-17.71,"deviation":"5.71"},{"device":"AndroidAPS-DexcomG6","date":1653103149000,"dateString":"2022-05-21T03:19:09.000Z","isValid":true,"sgv":182,"direction":"SingleDown","type":"sgv","_id":"62885a52293f3e00042c31d7","glucose":182,"avgDelta":"-11.50","BGI":-16.64,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653103448000,"dateString":"2022-05-21T03:24:08.000Z","isValid":true,"sgv":174,"direction":"SingleDown","type":"sgv","_id":"62885b81293f3e00042c31d9","glucose":174,"avgDelta":"-10.50","BGI":-15.43,"deviation":"4.93"},{"device":"AndroidAPS-DexcomG6","date":1653103748000,"dateString":"2022-05-21T03:29:08.000Z","isValid":true,"sgv":171,"direction":"FortyFiveDown","type":"sgv","_id":"62885c95293f3e00042c31db","glucose":171,"avgDelta":"-8.25","BGI":-14.31,"deviation":"6.06"},{"device":"AndroidAPS-DexcomG6","date":1653104049000,"dateString":"2022-05-21T03:34:09.000Z","isValid":true,"sgv":170,"direction":"FortyFiveDown","type":"sgv","_id":"62885dc3293f3e00042c31de","glucose":170,"avgDelta":"-5.75","BGI":-13.1,"deviation":"7.35"},{"device":"AndroidAPS-DexcomG6","date":1653104349000,"dateString":"2022-05-21T03:39:09.000Z","isValid":true,"sgv":167,"direction":"Flat","type":"sgv","_id":"62885ef1293f3e00042c31e2","glucose":167,"avgDelta":"-3.75","BGI":-12.07,"deviation":"8.32"},{"device":"AndroidAPS-DexcomG6","date":1653104648000,"dateString":"2022-05-21T03:44:08.000Z","isValid":true,"sgv":162,"direction":"Flat","type":"sgv","_id":"6288601b42c1220004f95729","glucose":162,"avgDelta":"-3.00","BGI":-11.64,"deviation":"8.64"},{"device":"AndroidAPS-DexcomG6","date":1653104949000,"dateString":"2022-05-21T03:49:09.000Z","isValid":true,"sgv":155,"direction":"FortyFiveDown","type":"sgv","_id":"6288614942c1220004f9572c","glucose":155,"avgDelta":"-4.00","BGI":-11.12,"deviation":"7.12"},{"device":"AndroidAPS-DexcomG6","date":1653105248000,"dateString":"2022-05-21T03:54:08.000Z","isValid":true,"sgv":149,"direction":"FortyFiveDown","type":"sgv","_id":"6288629042c1220004f9572e","glucose":149,"avgDelta":"-5.25","BGI":-10.56,"deviation":"5.31"},{"device":"AndroidAPS-DexcomG6","date":1653105549000,"dateString":"2022-05-21T03:59:09.000Z","isValid":true,"sgv":146,"direction":"FortyFiveDown","type":"sgv","_id":"628863a542c1220004f95730","glucose":146,"avgDelta":"-5.25","BGI":-9.87,"deviation":"4.62"},{"device":"AndroidAPS-DexcomG6","date":1653105848000,"dateString":"2022-05-21T04:04:08.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"628864d342c1220004f95733","glucose":146,"avgDelta":"-4.00","BGI":-9.14,"deviation":"5.14"},{"device":"AndroidAPS-DexcomG6","date":1653106149000,"dateString":"2022-05-21T04:09:09.000Z","isValid":true,"sgv":151,"direction":"Flat","type":"sgv","_id":"6288660142c1220004f95736","glucose":151,"avgDelta":"-1.00","BGI":-8.36,"deviation":"7.36"},{"device":"AndroidAPS-DexcomG6","date":1653106449000,"dateString":"2022-05-21T04:14:09.000Z","isValid":true,"sgv":155,"direction":"Flat","type":"sgv","_id":"6288672f42c1220004f9573a","glucose":155,"avgDelta":"1.50","BGI":-7.8,"deviation":"9.30"},{"device":"AndroidAPS-DexcomG6","date":1653106749000,"dateString":"2022-05-21T04:19:09.000Z","isValid":true,"sgv":157,"direction":"Flat","type":"sgv","_id":"6288685d19e2e60004989bac","glucose":157,"avgDelta":"2.75","BGI":-7.93,"deviation":"10.68"},{"device":"AndroidAPS-DexcomG6","date":1653107048000,"dateString":"2022-05-21T04:24:08.000Z","isValid":true,"sgv":153,"direction":"Flat","type":"sgv","_id":"6288698b19e2e60004989bb0","glucose":153,"avgDelta":"1.75","BGI":-8.06,"deviation":"9.81"},{"device":"AndroidAPS-DexcomG6","date":1653107348000,"dateString":"2022-05-21T04:29:08.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"62886ab919e2e60004989bb3","glucose":144,"avgDelta":"-1.75","BGI":-8.19,"deviation":"6.44"},{"device":"AndroidAPS-DexcomG6","date":1653107648000,"dateString":"2022-05-21T04:34:08.000Z","isValid":true,"sgv":132,"direction":"FortyFiveDown","type":"sgv","_id":"62886be719e2e60004989bb5","glucose":132,"avgDelta":"-5.75","BGI":-8.1,"deviation":"2.35"},{"device":"AndroidAPS-DexcomG6","date":1653107948000,"dateString":"2022-05-21T04:39:08.000Z","isValid":true,"sgv":124,"direction":"FortyFiveDown","type":"sgv","_id":"62886cfc19e2e60004989bb8","glucose":124,"avgDelta":"-8.25","BGI":-7.89,"deviation":"-0.36"},{"device":"AndroidAPS-DexcomG6","date":1653108848000,"dateString":"2022-05-21T04:54:08.000Z","isValid":true,"sgv":130,"direction":"Flat","type":"sgv","_id":"62887093363e6c0004f710cf","glucose":130,"avgDelta":"-0.50","BGI":-6.72,"deviation":"6.22","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653109148000,"dateString":"2022-05-21T04:59:08.000Z","isValid":true,"sgv":129,"direction":"Flat","type":"sgv","_id":"628871c1363e6c0004f710d3","glucose":129,"avgDelta":"1.25","BGI":-6.34,"deviation":"7.59"},{"device":"AndroidAPS-DexcomG6","date":1653109448000,"dateString":"2022-05-21T05:04:08.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"628872ef363e6c0004f710d6","glucose":125,"avgDelta":"0.50","BGI":-6.08,"deviation":"6.58"},{"device":"AndroidAPS-DexcomG6","date":1653109748000,"dateString":"2022-05-21T05:09:08.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288741c363e6c0004f710d9","glucose":117,"avgDelta":"-2.75","BGI":-5.73,"deviation":"2.98"},{"device":"AndroidAPS-DexcomG6","date":1653110049000,"dateString":"2022-05-21T05:14:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveDown","type":"sgv","_id":"62887549363e6c0004f710dc","glucose":109,"avgDelta":"-5.25","BGI":-5.34,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653110348000,"dateString":"2022-05-21T05:19:08.000Z","isValid":true,"sgv":102,"direction":"FortyFiveDown","type":"sgv","_id":"62887677363e6c0004f710de","glucose":102,"avgDelta":"-6.75","BGI":-4.91,"deviation":"-1.84"},{"device":"AndroidAPS-DexcomG6","date":1653119649000,"dateString":"2022-05-21T07:54:09.000Z","isValid":true,"sgv":123,"direction":"FortyFiveUp","type":"sgv","_id":"62889ac27ff1e700040f17dc","glucose":123,"avgDelta":"7.75","BGI":-0.99,"deviation":"8.74","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653119949000,"dateString":"2022-05-21T07:59:09.000Z","isValid":true,"sgv":132,"direction":"FortyFiveUp","type":"sgv","_id":"62889be4a4cc860004a251c7","glucose":132,"avgDelta":"8.75","BGI":-14.27,"deviation":"23.02"},{"device":"AndroidAPS-DexcomG6","date":1653120249000,"dateString":"2022-05-21T08:04:09.000Z","isValid":true,"sgv":141,"direction":"FortyFiveUp","type":"sgv","_id":"62889d13a4cc860004a251c9","glucose":141,"avgDelta":"9.00","BGI":-24.7,"deviation":"33.70"},{"device":"AndroidAPS-DexcomG6","date":1653120548000,"dateString":"2022-05-21T08:09:08.000Z","isValid":true,"sgv":146,"direction":"FortyFiveUp","type":"sgv","_id":"62889e41a4cc860004a251cb","glucose":146,"avgDelta":"8.00","BGI":-32.76,"deviation":"40.76"},{"device":"AndroidAPS-DexcomG6","date":1653120849000,"dateString":"2022-05-21T08:14:09.000Z","isValid":true,"sgv":148,"direction":"FortyFiveUp","type":"sgv","_id":"62889f6fa4cc860004a251cc","glucose":148,"avgDelta":"6.25","BGI":-38.79,"deviation":"45.04"},{"device":"AndroidAPS-DexcomG6","date":1653121149000,"dateString":"2022-05-21T08:19:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6288a09fa4cc860004a251ce","glucose":147,"avgDelta":"3.75","BGI":-43.14,"deviation":"46.89"},{"device":"AndroidAPS-DexcomG6","date":1653121449000,"dateString":"2022-05-21T08:24:09.000Z","isValid":true,"sgv":145,"direction":"Flat","type":"sgv","_id":"6288a1cda4cc860004a251d1","glucose":145,"avgDelta":"1.00","BGI":-46.03,"deviation":"47.03"},{"device":"AndroidAPS-DexcomG6","date":1653121749000,"dateString":"2022-05-21T08:29:09.000Z","isValid":true,"sgv":138,"direction":"Flat","type":"sgv","_id":"6288a2fca4cc860004a251d2","glucose":138,"avgDelta":"-2.00","BGI":-47.84,"deviation":"45.84"},{"device":"AndroidAPS-DexcomG6","date":1653122049000,"dateString":"2022-05-21T08:34:09.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"6288a42099fc930004d6bde8","glucose":128,"avgDelta":"-5.00","BGI":-48.66,"deviation":"43.66"},{"device":"AndroidAPS-DexcomG6","date":1653122349000,"dateString":"2022-05-21T08:39:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveDown","type":"sgv","_id":"6288a55199fc930004d6bdeb","glucose":118,"avgDelta":"-7.25","BGI":-48.66,"deviation":"41.41"},{"device":"AndroidAPS-DexcomG6","date":1653122649000,"dateString":"2022-05-21T08:44:09.000Z","isValid":true,"sgv":111,"direction":"FortyFiveDown","type":"sgv","_id":"6288a73099fc930004d6bded","glucose":111,"avgDelta":"-8.50","BGI":-48.01,"deviation":"39.51"},{"device":"AndroidAPS-DexcomG6","date":1653122949000,"dateString":"2022-05-21T08:49:09.000Z","isValid":true,"sgv":108,"direction":"FortyFiveDown","type":"sgv","_id":"6288a7ad99fc930004d6bdef","glucose":108,"avgDelta":"-7.50","BGI":-46.89,"deviation":"39.39"},{"device":"AndroidAPS-DexcomG6","date":1653123248000,"dateString":"2022-05-21T08:54:08.000Z","isValid":true,"sgv":107,"direction":"Flat","type":"sgv","_id":"6288a8db99fc930004d6bdf1","glucose":107,"avgDelta":"-5.25","BGI":-45.38,"deviation":"40.13"},{"device":"AndroidAPS-DexcomG6","date":1653123549000,"dateString":"2022-05-21T08:59:09.000Z","isValid":true,"sgv":109,"direction":"Flat","type":"sgv","_id":"6288a9f099fc930004d6bdf4","glucose":109,"avgDelta":"-2.25","BGI":-43.62,"deviation":"41.37"},{"device":"AndroidAPS-DexcomG6","date":1653123849000,"dateString":"2022-05-21T09:04:09.000Z","isValid":true,"sgv":113,"direction":"Flat","type":"sgv","_id":"6288ab1d99fc930004d6bdf6","glucose":113,"avgDelta":"0.50","BGI":-41.85,"deviation":"42.35"},{"device":"AndroidAPS-DexcomG6","date":1653124149000,"dateString":"2022-05-21T09:09:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288ac4b99fc930004d6bdf8","glucose":119,"avgDelta":"2.75","BGI":-39.95,"deviation":"42.70"},{"device":"AndroidAPS-DexcomG6","date":1653124448000,"dateString":"2022-05-21T09:14:08.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"6288ad7999fc930004d6bdfa","glucose":124,"avgDelta":"4.25","BGI":-37.84,"deviation":"42.09"},{"device":"AndroidAPS-DexcomG6","date":1653124749000,"dateString":"2022-05-21T09:19:09.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","_id":"6288aea799fc930004d6bdfb","glucose":125,"avgDelta":"4.00","BGI":-35.69,"deviation":"39.69"},{"device":"AndroidAPS-DexcomG6","date":1653125048000,"dateString":"2022-05-21T09:24:08.000Z","isValid":true,"sgv":122,"direction":"Flat","type":"sgv","_id":"6288afd5c9c02c00041f7ef8","glucose":122,"avgDelta":"2.25","BGI":-33.4,"deviation":"35.65"},{"device":"AndroidAPS-DexcomG6","date":1653125349000,"dateString":"2022-05-21T09:29:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"6288b103c9c02c00041f7efc","glucose":120,"avgDelta":"0.25","BGI":-31.2,"deviation":"31.45"},{"device":"AndroidAPS-DexcomG6","date":1653125649000,"dateString":"2022-05-21T09:34:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b231c9c02c00041f7efe","glucose":118,"avgDelta":"-1.50","BGI":-28.96,"deviation":"27.46"},{"device":"AndroidAPS-DexcomG6","date":1653125948000,"dateString":"2022-05-21T09:39:08.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b35fc9c02c00041f7f00","glucose":118,"avgDelta":"-1.75","BGI":-26.77,"deviation":"25.02"},{"device":"AndroidAPS-DexcomG6","date":1653126249000,"dateString":"2022-05-21T09:44:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b48dc9c02c00041f7f02","glucose":118,"avgDelta":"-1.00","BGI":-24.61,"deviation":"23.61"},{"device":"AndroidAPS-DexcomG6","date":1653126549000,"dateString":"2022-05-21T09:49:09.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6288b5bbc9c02c00041f7f04","glucose":117,"avgDelta":"-0.75","BGI":-22.5,"deviation":"21.75"},{"device":"AndroidAPS-DexcomG6","date":1653126849000,"dateString":"2022-05-21T09:54:09.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"6288b6e9c9c02c00041f7f06","glucose":118,"avgDelta":"0.00","BGI":-20.52,"deviation":"20.52"},{"device":"AndroidAPS-DexcomG6","date":1653127149000,"dateString":"2022-05-21T09:59:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288b813abbef90004616ceb","glucose":119,"avgDelta":"0.25","BGI":-18.58,"deviation":"18.83"},{"device":"AndroidAPS-DexcomG6","date":1653127449000,"dateString":"2022-05-21T10:04:09.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"6288b941abbef90004616cf0","glucose":119,"avgDelta":"0.25","BGI":-16.72,"deviation":"16.97"},{"device":"AndroidAPS-DexcomG6","date":1653127748000,"dateString":"2022-05-21T10:09:08.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"6288ba56abbef90004616cf2","glucose":115,"avgDelta":"-0.50","BGI":-14.96,"deviation":"14.46"},{"device":"AndroidAPS-DexcomG6","date":1653128049000,"dateString":"2022-05-21T10:14:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"6288bb84abbef90004616cf4","glucose":110,"avgDelta":"-2.00","BGI":-13.32,"deviation":"11.32"},{"device":"AndroidAPS-DexcomG6","date":1653128349000,"dateString":"2022-05-21T10:19:09.000Z","isValid":true,"sgv":104,"direction":"Flat","type":"sgv","_id":"6288bcb2abbef90004616cf6","glucose":104,"avgDelta":"-3.75","BGI":-11.72,"deviation":"7.97"},{"device":"AndroidAPS-DexcomG6","date":1653128649000,"dateString":"2022-05-21T10:24:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288bde0abbef90004616cf8","glucose":101,"avgDelta":"-4.50","BGI":-10.3,"deviation":"5.80"},{"device":"AndroidAPS-DexcomG6","date":1653128948000,"dateString":"2022-05-21T10:29:08.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"6288bf061991280004dce457","glucose":99,"avgDelta":"-4.00","BGI":-8.88,"deviation":"4.88"},{"device":"AndroidAPS-DexcomG6","date":1653129249000,"dateString":"2022-05-21T10:34:09.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","_id":"6288c0341991280004dce459","glucose":96,"avgDelta":"-3.50","BGI":-7.59,"deviation":"4.09"},{"device":"AndroidAPS-DexcomG6","date":1653129548000,"dateString":"2022-05-21T10:39:08.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288c1631991280004dce45b","glucose":94,"avgDelta":"-2.50","BGI":-6.38,"deviation":"3.88"},{"device":"AndroidAPS-DexcomG6","date":1653129848000,"dateString":"2022-05-21T10:44:08.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288c2911991280004dce45e","glucose":93,"avgDelta":"-2.00","BGI":-5.26,"deviation":"3.26"},{"device":"AndroidAPS-DexcomG6","date":1653130149000,"dateString":"2022-05-21T10:49:09.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","_id":"6288c3be1991280004dce461","glucose":91,"avgDelta":"-2.00","BGI":-4.27,"deviation":"2.27"},{"device":"AndroidAPS-DexcomG6","date":1653130448000,"dateString":"2022-05-21T10:54:08.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","_id":"6288c4ec1991280004dce464","glucose":88,"avgDelta":"-2.00","BGI":-3.36,"deviation":"1.36"},{"device":"AndroidAPS-DexcomG6","date":1653130748000,"dateString":"2022-05-21T10:59:08.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","_id":"6288c61a1991280004dce468","glucose":84,"avgDelta":"-2.50","BGI":-2.59,"deviation":"0.09"},{"device":"AndroidAPS-DexcomG6","date":1653131049000,"dateString":"2022-05-21T11:04:09.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","_id":"6288c7418e9ed800049b39e3","glucose":81,"avgDelta":"-3.00","BGI":-1.9,"deviation":"-1.10"},{"device":"AndroidAPS-DexcomG6","date":1653132249000,"dateString":"2022-05-21T11:24:09.000Z","isValid":true,"sgv":109,"direction":"FortyFiveUp","type":"sgv","_id":"6288cbf98e9ed800049b39f2","glucose":109,"avgDelta":"7.00","BGI":-1.94,"deviation":"8.94","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653132549000,"dateString":"2022-05-21T11:29:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveUp","type":"sgv","_id":"6288cd278e9ed800049b39f5","glucose":118,"avgDelta":"9.00","BGI":-9.57,"deviation":"18.57"},{"device":"AndroidAPS-DexcomG6","date":1653132849000,"dateString":"2022-05-21T11:34:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveUp","type":"sgv","_id":"6288ce548e9ed800049b39f7","glucose":121,"avgDelta":"8.00","BGI":-15.47,"deviation":"23.47"},{"device":"AndroidAPS-DexcomG6","date":1653133149000,"dateString":"2022-05-21T11:39:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6288cf770f1be700041e59c8","glucose":114,"avgDelta":"4.00","BGI":-20.04,"deviation":"24.04"},{"device":"AndroidAPS-DexcomG6","date":1653133449000,"dateString":"2022-05-21T11:44:09.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","_id":"6288d0a80f1be700041e59cb","glucose":101,"avgDelta":"-2.00","BGI":-23.32,"deviation":"21.32"},{"device":"AndroidAPS-DexcomG6","date":1653133749000,"dateString":"2022-05-21T11:49:09.000Z","isValid":true,"sgv":87,"direction":"FortyFiveDown","type":"sgv","_id":"6288d1d80f1be700041e59cf","glucose":87,"avgDelta":"-7.75","BGI":-25.69,"deviation":"17.94"},{"device":"AndroidAPS-DexcomG6","date":1653134049000,"dateString":"2022-05-21T11:54:09.000Z","isValid":true,"sgv":79,"direction":"FortyFiveDown","type":"sgv","_id":"6288d3060f1be700041e59d2","glucose":79,"avgDelta":"-10.50","BGI":-27.28,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134349000,"dateString":"2022-05-21T11:59:09.000Z","isValid":true,"sgv":76,"direction":"FortyFiveDown","type":"sgv","_id":"6288d4220f1be700041e59d5","glucose":76,"avgDelta":"-9.50","BGI":-28.06,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134649000,"dateString":"2022-05-21T12:04:09.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","_id":"6288d5500f1be700041e59d7","glucose":77,"avgDelta":"-6.00","BGI":-28.32,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653134949000,"dateString":"2022-05-21T12:09:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d67f0f1be700041e59da","glucose":78,"avgDelta":"-2.25","BGI":-28.14,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135249000,"dateString":"2022-05-21T12:14:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288d7ae0f1be700041e59de","glucose":79,"avgDelta":"0.00","BGI":-27.76,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135549000,"dateString":"2022-05-21T12:19:09.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","_id":"6288d8e00f1be700041e59e0","glucose":78,"avgDelta":"0.50","BGI":-27.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653135849000,"dateString":"2022-05-21T12:24:09.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","_id":"6288d9fb0f1be700041e59e2","glucose":76,"avgDelta":"-0.25","BGI":-26.12,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136149000,"dateString":"2022-05-21T12:29:09.000Z","isValid":true,"sgv":73,"direction":"Flat","type":"sgv","_id":"6288db8a0f1be700041e59e5","glucose":73,"avgDelta":"-1.25","BGI":-25,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136449000,"dateString":"2022-05-21T12:34:09.000Z","isValid":true,"sgv":70,"direction":"Flat","type":"sgv","_id":"6288dd270f1be700041e59e8","glucose":70,"avgDelta":"-2.25","BGI":-23.7,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653136749000,"dateString":"2022-05-21T12:39:09.000Z","isValid":true,"sgv":68,"direction":"Flat","type":"sgv","_id":"6288de580f1be700041e59ea","glucose":68,"avgDelta":"-2.50","BGI":-22.37,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137049000,"dateString":"2022-05-21T12:44:09.000Z","isValid":true,"sgv":69,"direction":"Flat","type":"sgv","_id":"6288df8a0f1be700041e59ec","glucose":69,"avgDelta":"-1.75","BGI":-20.95,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137350000,"dateString":"2022-05-21T12:49:10.000Z","isValid":true,"sgv":72,"direction":"Flat","type":"sgv","_id":"6288dfd60f1be700041e59ee","glucose":72,"avgDelta":"-0.25","BGI":-19.52,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137649000,"dateString":"2022-05-21T12:54:09.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","_id":"6288e1040f1be700041e59f0","glucose":79,"avgDelta":"2.25","BGI":-18.02,"deviation":"0.00"},{"device":"AndroidAPS-DexcomG6","date":1653137949000,"dateString":"2022-05-21T12:59:09.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","_id":"6288e24c0f1be700041e59f3","glucose":86,"avgDelta":"4.50","BGI":-17.54,"deviation":"22.04"},{"device":"AndroidAPS-DexcomG6","date":1653138249000,"dateString":"2022-05-21T13:04:09.000Z","isValid":true,"sgv":93,"direction":"FortyFiveUp","type":"sgv","_id":"6288e3610f1be700041e59f6","glucose":93,"avgDelta":"6.00","BGI":-17.8,"deviation":"23.80"},{"device":"AndroidAPS-DexcomG6","date":1653138549000,"dateString":"2022-05-21T13:09:09.000Z","isValid":true,"sgv":95,"direction":"FortyFiveUp","type":"sgv","_id":"6288e4900f1be700041e59f8","glucose":95,"avgDelta":"5.75","BGI":-18.1,"deviation":"23.85"},{"device":"AndroidAPS-DexcomG6","date":1653138849000,"dateString":"2022-05-21T13:14:09.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288e5d00f1be700041e59fb","glucose":94,"avgDelta":"3.75","BGI":-18.53,"deviation":"22.28"},{"device":"AndroidAPS-DexcomG6","date":1653139150000,"dateString":"2022-05-21T13:19:10.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","_id":"6288e7030f1be700041e59fd","glucose":93,"avgDelta":"1.75","BGI":-18.83,"deviation":"20.58"},{"device":"AndroidAPS-DexcomG6","date":1653139450000,"dateString":"2022-05-21T13:24:10.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","_id":"6288e82c0f1be700041e5a00","glucose":94,"avgDelta":"0.25","BGI":-18.83,"deviation":"19.08"},{"device":"AndroidAPS-DexcomG6","date":1653139749000,"dateString":"2022-05-21T13:29:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6288e9410f1be700041e5a03","glucose":98,"avgDelta":"0.75","BGI":-18.58,"deviation":"19.33"},{"device":"AndroidAPS-DexcomG6","date":1653140049000,"dateString":"2022-05-21T13:34:09.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","_id":"6288ea6e0f1be700041e5a06","glucose":105,"avgDelta":"2.75","BGI":-18.45,"deviation":"21.20"},{"device":"AndroidAPS-DexcomG6","date":1653140349000,"dateString":"2022-05-21T13:39:09.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","_id":"6288eb9d0f1be700041e5a09","glucose":114,"avgDelta":"5.25","BGI":-18.58,"deviation":"23.83"},{"device":"AndroidAPS-DexcomG6","date":1653140648000,"dateString":"2022-05-21T13:44:08.000Z","isValid":true,"sgv":121,"direction":"FortyFiveUp","type":"sgv","_id":"6288ecca0f1be700041e5a0b","glucose":121,"avgDelta":"6.75","BGI":-18.71,"deviation":"25.46"},{"device":"AndroidAPS-DexcomG6","date":1653140949000,"dateString":"2022-05-21T13:49:09.000Z","isValid":true,"sgv":126,"direction":"FortyFiveUp","type":"sgv","_id":"6288edfc2634cd0004296065","glucose":126,"avgDelta":"7.00","BGI":-19.05,"deviation":"26.05"},{"device":"AndroidAPS-DexcomG6","date":1653141249000,"dateString":"2022-05-21T13:54:09.000Z","isValid":true,"sgv":131,"direction":"FortyFiveUp","type":"sgv","_id":"6288ef2a2634cd0004296067","glucose":131,"avgDelta":"6.50","BGI":-19.48,"deviation":"25.98"},{"device":"AndroidAPS-DexcomG6","date":1653141548000,"dateString":"2022-05-21T13:59:08.000Z","isValid":true,"sgv":139,"direction":"FortyFiveUp","type":"sgv","_id":"6288f03f2634cd000429606a","glucose":139,"avgDelta":"6.25","BGI":-19.91,"deviation":"26.16"},{"device":"AndroidAPS-DexcomG6","date":1653141849000,"dateString":"2022-05-21T14:04:09.000Z","isValid":true,"sgv":147,"direction":"FortyFiveUp","type":"sgv","_id":"6288f16d2634cd000429606c","glucose":147,"avgDelta":"6.50","BGI":-20.17,"deviation":"26.67"},{"device":"AndroidAPS-DexcomG6","date":1653142149000,"dateString":"2022-05-21T14:09:09.000Z","isValid":true,"sgv":155,"direction":"FortyFiveUp","type":"sgv","_id":"6288f29b2634cd000429606f","glucose":155,"avgDelta":"7.25","BGI":-20.73,"deviation":"27.98"},{"device":"AndroidAPS-DexcomG6","date":1653142449000,"dateString":"2022-05-21T14:14:09.000Z","isValid":true,"sgv":160,"direction":"FortyFiveUp","type":"sgv","_id":"6288f3c92634cd0004296071","glucose":160,"avgDelta":"7.25","BGI":-21.08,"deviation":"28.33"},{"device":"AndroidAPS-DexcomG6","date":1653142749000,"dateString":"2022-05-21T14:19:09.000Z","isValid":true,"sgv":166,"direction":"FortyFiveUp","type":"sgv","_id":"6288f4f72634cd0004296074","glucose":166,"avgDelta":"6.75","BGI":-21.55,"deviation":"28.30"},{"device":"AndroidAPS-DexcomG6","date":1653143049000,"dateString":"2022-05-21T14:24:09.000Z","isValid":true,"sgv":174,"direction":"FortyFiveUp","type":"sgv","_id":"6288f62c0e0c880004d58dd8","glucose":174,"avgDelta":"6.75","BGI":-21.89,"deviation":"28.64"},{"device":"AndroidAPS-DexcomG6","date":1653143349000,"dateString":"2022-05-21T14:29:09.000Z","isValid":true,"sgv":182,"direction":"FortyFiveUp","type":"sgv","_id":"6288f75a0e0c880004d58ddb","glucose":182,"avgDelta":"6.75","BGI":-21.98,"deviation":"28.73"},{"device":"AndroidAPS-DexcomG6","date":1653143650000,"dateString":"2022-05-21T14:34:10.000Z","isValid":true,"sgv":185,"direction":"FortyFiveUp","type":"sgv","_id":"6288f8880e0c880004d58dde","glucose":185,"avgDelta":"6.25","BGI":-21.85,"deviation":"28.10"},{"device":"AndroidAPS-DexcomG6","date":1653143949000,"dateString":"2022-05-21T14:39:09.000Z","isValid":true,"sgv":184,"direction":"Flat","type":"sgv","_id":"6288f9b60e0c880004d58de0","glucose":184,"avgDelta":"4.50","BGI":-21.46,"deviation":"25.96"},{"device":"AndroidAPS-DexcomG6","date":1653144249000,"dateString":"2022-05-21T14:44:09.000Z","isValid":true,"sgv":180,"direction":"Flat","type":"sgv","_id":"6288facb0e0c880004d58de3","glucose":180,"avgDelta":"1.50","BGI":-20.82,"deviation":"22.32"},{"device":"AndroidAPS-DexcomG6","date":1653144550000,"dateString":"2022-05-21T14:49:10.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6288fbf90e0c880004d58de5","glucose":178,"avgDelta":"-1.00","BGI":-20,"deviation":"19.00"},{"device":"AndroidAPS-DexcomG6","date":1653144849000,"dateString":"2022-05-21T14:54:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6288fd270e0c880004d58de7","glucose":177,"avgDelta":"-2.00","BGI":-19.01,"deviation":"17.01"},{"device":"AndroidAPS-DexcomG6","date":1653145149000,"dateString":"2022-05-21T14:59:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"6288fe56c9346b0004863359","glucose":176,"avgDelta":"-2.00","BGI":-17.97,"deviation":"15.97"},{"device":"AndroidAPS-DexcomG6","date":1653145449000,"dateString":"2022-05-21T15:04:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6288ff9ec9346b000486335b","glucose":177,"avgDelta":"-0.75","BGI":-16.85,"deviation":"16.10"},{"device":"AndroidAPS-DexcomG6","date":1653145750000,"dateString":"2022-05-21T15:09:10.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"628900b2c9346b000486335d","glucose":177,"avgDelta":"-0.25","BGI":-15.73,"deviation":"15.48"},{"device":"AndroidAPS-DexcomG6","date":1653146050000,"dateString":"2022-05-21T15:14:10.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"628901e0c9346b000486335f","glucose":177,"avgDelta":"0.00","BGI":-14.57,"deviation":"14.57"},{"device":"AndroidAPS-DexcomG6","date":1653146349000,"dateString":"2022-05-21T15:19:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6289030ec9346b0004863361","glucose":177,"avgDelta":"0.25","BGI":-13.45,"deviation":"13.70"},{"device":"AndroidAPS-DexcomG6","date":1653146650000,"dateString":"2022-05-21T15:24:10.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6289043cc9346b0004863363","glucose":178,"avgDelta":"0.25","BGI":-12.33,"deviation":"12.58"},{"device":"AndroidAPS-DexcomG6","date":1653146949000,"dateString":"2022-05-21T15:29:09.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","_id":"6289056ac9346b0004863366","glucose":178,"avgDelta":"0.25","BGI":-11.29,"deviation":"11.54"},{"device":"AndroidAPS-DexcomG6","date":1653147249000,"dateString":"2022-05-21T15:34:09.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","_id":"6289067fc9346b0004863369","glucose":177,"avgDelta":"0.00","BGI":-10.17,"deviation":"10.17"},{"device":"AndroidAPS-DexcomG6","date":1653147549000,"dateString":"2022-05-21T15:39:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"628907c5cf7ee10004a2b1ce","glucose":176,"avgDelta":"-0.25","BGI":-9.27,"deviation":"9.02"},{"device":"AndroidAPS-DexcomG6","date":1653147849000,"dateString":"2022-05-21T15:44:09.000Z","isValid":true,"sgv":175,"direction":"Flat","type":"sgv","_id":"628908f3cf7ee10004a2b1d1","glucose":175,"avgDelta":"-0.75","BGI":-8.49,"deviation":"7.74"},{"device":"AndroidAPS-DexcomG6","date":1653148149000,"dateString":"2022-05-21T15:49:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890a21cf7ee10004a2b1d3","glucose":174,"avgDelta":"-1.00","BGI":-7.89,"deviation":"6.89"},{"device":"AndroidAPS-DexcomG6","date":1653148450000,"dateString":"2022-05-21T15:54:10.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890b36cf7ee10004a2b1d7","glucose":176,"avgDelta":"-0.25","BGI":-7.37,"deviation":"7.12"},{"device":"AndroidAPS-DexcomG6","date":1653148749000,"dateString":"2022-05-21T15:59:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890c64cf7ee10004a2b1da","glucose":176,"avgDelta":"0.00","BGI":-6.94,"deviation":"6.94"},{"device":"AndroidAPS-DexcomG6","date":1653149049000,"dateString":"2022-05-21T16:04:09.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","_id":"62890daccf7ee10004a2b1de","glucose":176,"avgDelta":"0.25","BGI":-6.72,"deviation":"6.97"},{"device":"AndroidAPS-DexcomG6","date":1653149349000,"dateString":"2022-05-21T16:09:09.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","_id":"62890edacf7ee10004a2b1e2","glucose":174,"avgDelta":"0.00","BGI":-6.64,"deviation":"6.64"},{"device":"AndroidAPS-DexcomG6","date":1653149650000,"dateString":"2022-05-21T16:14:10.000Z","isValid":true,"sgv":173,"direction":"Flat","type":"sgv","_id":"62890fff1090500004ca46fd","glucose":173,"avgDelta":"-0.75","BGI":-6.42,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653149949000,"dateString":"2022-05-21T16:19:09.000Z","isValid":true,"sgv":172,"direction":"Flat","type":"sgv","_id":"6289130f1090500004ca46ff","glucose":172,"avgDelta":"-1.00","BGI":-6.12,"deviation":"5.12"},{"device":"AndroidAPS-DexcomG6","date":1653150249000,"dateString":"2022-05-21T16:24:09.000Z","isValid":true,"sgv":170,"direction":"Flat","type":"sgv","_id":"628913111090500004ca4704","glucose":170,"avgDelta":"-1.50","BGI":-5.95,"deviation":"4.45"},{"device":"AndroidAPS-DexcomG6","date":1653150549000,"dateString":"2022-05-21T16:29:09.000Z","isValid":true,"sgv":165,"direction":"Flat","type":"sgv","_id":"628913731090500004ca4706","glucose":165,"avgDelta":"-2.25","BGI":-5.73,"deviation":"3.48"},{"device":"AndroidAPS-DexcomG6","date":1653150849000,"dateString":"2022-05-21T16:34:09.000Z","isValid":true,"sgv":161,"direction":"Flat","type":"sgv","_id":"628914d01090500004ca4709","glucose":161,"avgDelta":"-3.00","BGI":-5.47,"deviation":"2.47"},{"device":"AndroidAPS-DexcomG6","date":1653151149000,"dateString":"2022-05-21T16:39:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628915ce1090500004ca470c","glucose":158,"avgDelta":"-3.50","BGI":-5.09,"deviation":"1.59"},{"device":"AndroidAPS-DexcomG6","date":1653151449000,"dateString":"2022-05-21T16:44:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"628916f81090500004ca4710","glucose":158,"avgDelta":"-3.00","BGI":-4.74,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653151749000,"dateString":"2022-05-21T16:49:09.000Z","isValid":true,"sgv":159,"direction":"Flat","type":"sgv","_id":"628918261090500004ca4714","glucose":159,"avgDelta":"-1.50","BGI":-4.53,"deviation":"3.03"},{"device":"AndroidAPS-DexcomG6","date":1653152049000,"dateString":"2022-05-21T16:54:09.000Z","isValid":true,"sgv":160,"direction":"Flat","type":"sgv","_id":"628919531090500004ca4717","glucose":160,"avgDelta":"-0.25","BGI":-4.35,"deviation":"4.10"},{"device":"AndroidAPS-DexcomG6","date":1653152349000,"dateString":"2022-05-21T16:59:09.000Z","isValid":true,"sgv":158,"direction":"Flat","type":"sgv","_id":"62891a811090500004ca471a","glucose":158,"avgDelta":"0.00","BGI":-4.35,"deviation":"4.35"},{"device":"AndroidAPS-DexcomG6","date":1653152649000,"dateString":"2022-05-21T17:04:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62891ba31090500004ca471d","glucose":149,"avgDelta":"-2.25","BGI":-4.35,"deviation":"2.10"},{"device":"AndroidAPS-DexcomG6","date":1653152949000,"dateString":"2022-05-21T17:09:09.000Z","isValid":true,"sgv":138,"direction":"FortyFiveDown","type":"sgv","_id":"62891cd01090500004ca471f","glucose":138,"avgDelta":"-5.25","BGI":-4.22,"deviation":"-1.03"},{"device":"AndroidAPS-DexcomG6","date":1653155049000,"dateString":"2022-05-21T17:44:09.000Z","isValid":true,"sgv":116,"direction":"NONE","type":"sgv","_id":"6289250d8809e60004c644dd","glucose":116,"avgDelta":"5.00","BGI":-2.16,"deviation":"7.16","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653155349000,"dateString":"2022-05-21T17:49:09.000Z","isValid":true,"sgv":123,"direction":"NONE","type":"sgv","_id":"6289263c8809e60004c644e1","glucose":123,"avgDelta":"7.50","BGI":-2.07,"deviation":"9.57"},{"device":"AndroidAPS-DexcomG6","date":1653155649000,"dateString":"2022-05-21T17:54:09.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"6289276a8809e60004c644e3","glucose":124,"avgDelta":"6.75","BGI":-2.11,"deviation":"8.86"},{"device":"AndroidAPS-DexcomG6","date":1653155950000,"dateString":"2022-05-21T17:59:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"6289287e8809e60004c644e6","glucose":123,"avgDelta":"3.75","BGI":-2.16,"deviation":"5.91"},{"device":"AndroidAPS-DexcomG6","date":1653156250000,"dateString":"2022-05-21T18:04:10.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","_id":"628929ac8809e60004c644e9","glucose":119,"avgDelta":"0.75","BGI":-2.07,"deviation":"2.82"},{"device":"AndroidAPS-DexcomG6","date":1653156549000,"dateString":"2022-05-21T18:09:09.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"62892af2840d8d0004a20bf0","glucose":114,"avgDelta":"-2.25","BGI":-1.9,"deviation":"-0.35"},{"device":"AndroidAPS-DexcomG6","date":1653164649000,"dateString":"2022-05-21T20:24:09.000Z","isValid":true,"sgv":133,"direction":"FortyFiveUp","type":"sgv","_id":"62894a7e4493460004e63a38","glucose":133,"avgDelta":"9.50","BGI":-6.46,"deviation":"15.96","uamAbsorption":"start"},{"device":"AndroidAPS-DexcomG6","date":1653164950000,"dateString":"2022-05-21T20:29:10.000Z","isValid":true,"sgv":143,"direction":"SingleUp","type":"sgv","_id":"62894bab80fc7e00041b229b","glucose":143,"avgDelta":"10.75","BGI":-14.31,"deviation":"25.06"},{"device":"AndroidAPS-DexcomG6","date":1653165249000,"dateString":"2022-05-21T20:34:09.000Z","isValid":true,"sgv":145,"direction":"FortyFiveUp","type":"sgv","_id":"62894cdb80fc7e00041b229e","glucose":145,"avgDelta":"9.00","BGI":-20.43,"deviation":"29.43"},{"device":"AndroidAPS-DexcomG6","date":1653165550000,"dateString":"2022-05-21T20:39:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"62894e0980fc7e00041b22a0","glucose":139,"avgDelta":"4.75","BGI":-25.17,"deviation":"29.92"},{"device":"AndroidAPS-DexcomG6","date":1653165850000,"dateString":"2022-05-21T20:44:10.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","_id":"62894f3880fc7e00041b22a3","glucose":128,"avgDelta":"-1.25","BGI":-28.62,"deviation":"27.37"},{"device":"AndroidAPS-DexcomG6","date":1653166149000,"dateString":"2022-05-21T20:49:09.000Z","isValid":true,"sgv":118,"direction":"FortyFiveDown","type":"sgv","_id":"6289506680fc7e00041b22a5","glucose":118,"avgDelta":"-6.25","BGI":-30.95,"deviation":"24.70"},{"device":"AndroidAPS-DexcomG6","date":1653166450000,"dateString":"2022-05-21T20:54:10.000Z","isValid":true,"sgv":110,"direction":"FortyFiveDown","type":"sgv","_id":"6289519580fc7e00041b22a7","glucose":110,"avgDelta":"-8.75","BGI":-32.45,"deviation":"23.70"},{"device":"AndroidAPS-DexcomG6","date":1653166749000,"dateString":"2022-05-21T20:59:09.000Z","isValid":true,"sgv":104,"direction":"FortyFiveDown","type":"sgv","_id":"628952c680fc7e00041b22a9","glucose":104,"avgDelta":"-8.75","BGI":-33.27,"deviation":"24.52"},{"device":"AndroidAPS-DexcomG6","date":1653167049000,"dateString":"2022-05-21T21:04:09.000Z","isValid":true,"sgv":101,"direction":"FortyFiveDown","type":"sgv","_id":"628953e79bf1e6000482ff90","glucose":101,"avgDelta":"-6.75","BGI":-33.45,"deviation":"26.70"},{"device":"AndroidAPS-DexcomG6","date":1653167350000,"dateString":"2022-05-21T21:09:10.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","_id":"628955179bf1e6000482ff92","glucose":99,"avgDelta":"-4.75","BGI":-33.14,"deviation":"28.39"},{"device":"AndroidAPS-DexcomG6","date":1653167650000,"dateString":"2022-05-21T21:14:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628956919bf1e6000482ff96","glucose":98,"avgDelta":"-3.00","BGI":-32.5,"deviation":"29.50"},{"device":"AndroidAPS-DexcomG6","date":1653167949000,"dateString":"2022-05-21T21:19:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"6289583f9bf1e6000482ff9b","glucose":98,"avgDelta":"-1.50","BGI":-31.64,"deviation":"30.14"},{"device":"AndroidAPS-DexcomG6","date":1653168250000,"dateString":"2022-05-21T21:24:10.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"628959ed9bf1e6000482ff9e","glucose":98,"avgDelta":"-0.75","BGI":-30.69,"deviation":"29.94"},{"device":"AndroidAPS-DexcomG6","date":1653168549000,"dateString":"2022-05-21T21:29:09.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","_id":"62895b9a9bf1e6000482ffa1","glucose":98,"avgDelta":"-0.25","BGI":-29.74,"deviation":"29.49"},{"device":"AndroidAPS-DexcomG6","date":1653168849000,"dateString":"2022-05-21T21:34:09.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","_id":"62895d98fb144900043c34e5","glucose":100,"avgDelta":"0.50","BGI":-28.58,"deviation":"29.08"},{"device":"AndroidAPS-DexcomG6","date":1653169150000,"dateString":"2022-05-21T21:39:10.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","_id":"62895f5ffb144900043c34e8","glucose":102,"avgDelta":"1.00","BGI":-27.28,"deviation":"28.28"},{"device":"AndroidAPS-DexcomG6","date":1653169449000,"dateString":"2022-05-21T21:44:09.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","_id":"628961a4fb144900043c34ea","glucose":105,"avgDelta":"1.75","BGI":-25.82,"deviation":"27.57"},{"device":"AndroidAPS-DexcomG6","date":1653169749000,"dateString":"2022-05-21T21:49:09.000Z","isValid":true,"sgv":107,"direction":"Flat","type":"sgv","_id":"628964906a5ecf00042d546b","glucose":107,"avgDelta":"2.25","BGI":-24.39,"deviation":"26.64"},{"device":"AndroidAPS-DexcomG6","date":1653170049000,"dateString":"2022-05-21T21:54:09.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"628967a06a5ecf00042d546e","glucose":110,"avgDelta":"2.50","BGI":-22.84,"deviation":"25.34"},{"device":"AndroidAPS-DexcomG6","date":1653170350000,"dateString":"2022-05-21T21:59:10.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","_id":"628969016a5ecf00042d5470","glucose":112,"avgDelta":"2.50","BGI":-21.29,"deviation":"23.79"},{"device":"AndroidAPS-DexcomG6","date":1653170650000,"dateString":"2022-05-21T22:04:10.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"628969fd6a5ecf00042d5471","glucose":115,"avgDelta":"2.50","BGI":-19.7,"deviation":"22.20"},{"device":"AndroidAPS-DexcomG6","date":1653170950000,"dateString":"2022-05-21T22:09:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"62896ac76a5ecf00042d5472","glucose":117,"avgDelta":"2.50","BGI":-18.15,"deviation":"20.65"},{"device":"AndroidAPS-DexcomG6","date":1653171250000,"dateString":"2022-05-21T22:14:10.000Z","isValid":true,"sgv":118,"direction":"Flat","type":"sgv","_id":"62896b5f6a5ecf00042d5474","glucose":118,"avgDelta":"2.00","BGI":-16.59,"deviation":"18.59"},{"device":"AndroidAPS-DexcomG6","date":1653171549000,"dateString":"2022-05-21T22:19:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"62896c1037d09a00043f2b13","glucose":120,"avgDelta":"2.00","BGI":-15.13,"deviation":"17.13"},{"device":"AndroidAPS-DexcomG6","date":1653171849000,"dateString":"2022-05-21T22:24:09.000Z","isValid":true,"sgv":122,"direction":"Flat","type":"sgv","_id":"62896c7537d09a00043f2b14","glucose":122,"avgDelta":"1.75","BGI":-13.75,"deviation":"15.50"},{"device":"AndroidAPS-DexcomG6","date":1653172150000,"dateString":"2022-05-21T22:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"62896cda37d09a00043f2b16","glucose":124,"avgDelta":"1.75","BGI":-12.41,"deviation":"14.16"},{"device":"AndroidAPS-DexcomG6","date":1653172450000,"dateString":"2022-05-21T22:34:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"62896d8b37d09a00043f2b17","glucose":124,"avgDelta":"1.50","BGI":-11.21,"deviation":"12.71"},{"device":"AndroidAPS-DexcomG6","date":1653172749000,"dateString":"2022-05-21T22:39:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"62896e8937d09a00043f2b19","glucose":120,"avgDelta":"0.00","BGI":-10.13,"deviation":"10.13"},{"device":"AndroidAPS-DexcomG6","date":1653173050000,"dateString":"2022-05-21T22:44:10.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","_id":"62896f8537d09a00043f2b1a","glucose":115,"avgDelta":"-1.75","BGI":-9.05,"deviation":"7.30"},{"device":"AndroidAPS-DexcomG6","date":1653173350000,"dateString":"2022-05-21T22:49:10.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","_id":"62896fb837d09a00043f2b1b","glucose":110,"avgDelta":"-3.50","BGI":-8.15,"deviation":"4.65"},{"device":"AndroidAPS-DexcomG6","date":1653173650000,"dateString":"2022-05-21T22:54:10.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289717d37d09a00043f2b1e","glucose":108,"avgDelta":"-4.00","BGI":-7.28,"deviation":"3.28"},{"device":"AndroidAPS-DexcomG6","date":1653173949000,"dateString":"2022-05-21T22:59:09.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","_id":"6289721437d09a00043f2b1f","glucose":108,"avgDelta":"-3.00","BGI":-6.42,"deviation":"3.42"},{"device":"AndroidAPS-DexcomG6","date":1653174249000,"dateString":"2022-05-21T23:04:09.000Z","isValid":true,"sgv":111,"direction":"Flat","type":"sgv","_id":"6289726037d09a00043f2b20","glucose":111,"avgDelta":"-1.00","BGI":-5.69,"deviation":"4.69"},{"device":"AndroidAPS-DexcomG6","date":1653174550000,"dateString":"2022-05-21T23:09:10.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","_id":"6289727937d09a00043f2b21","glucose":114,"avgDelta":"1.00","BGI":-4.96,"deviation":"5.96"},{"device":"AndroidAPS-DexcomG6","date":1653174850000,"dateString":"2022-05-21T23:14:10.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","_id":"6289727a37d09a00043f2b22","glucose":117,"avgDelta":"2.25","BGI":-4.35,"deviation":"6.60"},{"device":"AndroidAPS-DexcomG6","date":1653175149000,"dateString":"2022-05-21T23:19:09.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","_id":"6289738f37d09a00043f2b26","glucose":120,"avgDelta":"3.00","BGI":-3.84,"deviation":"6.84"},{"device":"AndroidAPS-DexcomG6","date":1653175450000,"dateString":"2022-05-21T23:24:10.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","_id":"628974b671a363000480abbc","glucose":123,"avgDelta":"3.00","BGI":-3.4,"deviation":"6.40"},{"device":"AndroidAPS-DexcomG6","date":1653175750000,"dateString":"2022-05-21T23:29:10.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","_id":"628975e471a363000480abbe","glucose":124,"avgDelta":"2.50","BGI":-3.19,"deviation":"5.69"},{"device":"AndroidAPS-DexcomG6","date":1653176050000,"dateString":"2022-05-21T23:34:10.000Z","isValid":true,"sgv":127,"direction":"Flat","type":"sgv","_id":"6289771371a363000480abc1","glucose":127,"avgDelta":"2.50","BGI":-2.93,"deviation":"5.43"},{"device":"AndroidAPS-DexcomG6","date":1653176350000,"dateString":"2022-05-21T23:39:10.000Z","isValid":true,"sgv":132,"direction":"Flat","type":"sgv","_id":"6289784271a363000480abc3","glucose":132,"avgDelta":"3.00","BGI":-2.67,"deviation":"5.67"},{"device":"AndroidAPS-DexcomG6","date":1653176650000,"dateString":"2022-05-21T23:44:10.000Z","isValid":true,"sgv":139,"direction":"Flat","type":"sgv","_id":"6289797071a363000480abc7","glucose":139,"avgDelta":"4.00","BGI":-2.59,"deviation":"6.59"},{"device":"AndroidAPS-DexcomG6","date":1653176950000,"dateString":"2022-05-21T23:49:10.000Z","isValid":true,"sgv":143,"direction":"FortyFiveUp","type":"sgv","_id":"62897a8771a363000480abca","glucose":143,"avgDelta":"4.75","BGI":-2.63,"deviation":"7.38"},{"device":"AndroidAPS-DexcomG6","date":1653177250000,"dateString":"2022-05-21T23:54:10.000Z","isValid":true,"sgv":146,"direction":"Flat","type":"sgv","_id":"62897bc89d6f1800047cd0c9","glucose":146,"avgDelta":"4.75","BGI":-3.23,"deviation":"7.98"},{"device":"AndroidAPS-DexcomG6","date":1653177550000,"dateString":"2022-05-21T23:59:10.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"62897cde9d6f1800047cd0cc","glucose":147,"avgDelta":"3.75","BGI":-3.79,"deviation":"7.54"},{"device":"AndroidAPS-DexcomG6","date":1653177850000,"dateString":"2022-05-22T00:04:10.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897e0c9d6f1800047cd0d0","glucose":149,"avgDelta":"2.50","BGI":-4.22,"deviation":"6.72"},{"device":"AndroidAPS-DexcomG6","date":1653178149000,"dateString":"2022-05-22T00:09:09.000Z","isValid":true,"sgv":149,"direction":"Flat","type":"sgv","_id":"62897f3b9d6f1800047cd0d3","glucose":149,"avgDelta":"1.50","BGI":-4.48,"deviation":"5.98"},{"device":"AndroidAPS-DexcomG6","date":1653178449000,"dateString":"2022-05-22T00:14:09.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","_id":"6289806a9d6f1800047cd0d6","glucose":147,"avgDelta":"0.25","BGI":-4.61,"deviation":"4.86"},{"device":"AndroidAPS-DexcomG6","date":1653178750000,"dateString":"2022-05-22T00:19:10.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","_id":"628981999d6f1800047cd0d8","glucose":144,"avgDelta":"-0.75","BGI":-4.57,"deviation":"3.82"},{"device":"AndroidAPS-DexcomG6","date":1653179050000,"dateString":"2022-05-22T00:24:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628982c89d6f1800047cd0db","glucose":142,"avgDelta":"-1.75","BGI":-4.48,"deviation":"2.73"},{"device":"AndroidAPS-DexcomG6","date":1653179350000,"dateString":"2022-05-22T00:29:10.000Z","isValid":true,"sgv":142,"direction":"Flat","type":"sgv","_id":"628983f69d6f1800047cd0dd","glucose":142,"avgDelta":"-1.75","BGI":-4.27,"deviation":"2.52"},{"device":"AndroidAPS-DexcomG6","date":1653179649000,"dateString":"2022-05-22T00:34:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898517da46aa0004d1e0ea","glucose":143,"avgDelta":"-1.00","BGI":-4.01,"deviation":"3.01"},{"device":"AndroidAPS-DexcomG6","date":1653179949000,"dateString":"2022-05-22T00:39:09.000Z","isValid":true,"sgv":143,"direction":"Flat","type":"sgv","_id":"62898645da46aa0004d1e0ee","glucose":143,"avgDelta":"-0.25","BGI":-3.75,"deviation":"3.50"},{"device":"AndroidAPS-DexcomG6","date":1653180250000,"dateString":"2022-05-22T00:44:10.000Z","isValid":true,"sgv":135,"direction":"Flat","type":"sgv","_id":"62898774da46aa0004d1e0f1","glucose":135,"avgDelta":"-1.75","BGI":-3.49,"deviation":"1.74"},{"device":"AndroidAPS-DexcomG6","date":1653180549000,"dateString":"2022-05-22T00:49:09.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","_id":"628988a3da46aa0004d1e0f5","glucose":121,"avgDelta":"-5.25","BGI":-3.32,"deviation":"-1.93"}]} diff --git a/plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json deleted file mode 100644 index e7ae1b4e0e..0000000000 --- a/plugins/main/src/test/res/autotune/test3/newaapsorefprofile.2022-05-21.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 1.039, - "start": "00:00:00" - }, - { - "i": 1, - "minutes": 60, - "rate": 1.091, - "start": "01:00:00" - }, - { - "i": 2, - "minutes": 120, - "rate": 1.118, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.321, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 1.091, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.965, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.848, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 1.112, - "start": "07:00:00" - }, - { - "i": 8, - "minutes": 480, - "rate": 1.173, - "start": "08:00:00" - }, - { - "i": 9, - "minutes": 540, - "rate": 1.214, - "start": "09:00:00" - }, - { - "i": 10, - "minutes": 600, - "rate": 1.219, - "start": "10:00:00" - }, - { - "i": 11, - "minutes": 660, - "rate": 1.07, - "start": "11:00:00" - }, - { - "i": 12, - "minutes": 720, - "rate": 1.147, - "start": "12:00:00" - }, - { - "i": 13, - "minutes": 780, - "rate": 1.136, - "start": "13:00:00" - }, - { - "i": 14, - "minutes": 840, - "rate": 1.126, - "start": "14:00:00" - }, - { - "i": 15, - "minutes": 900, - "rate": 1.102, - "start": "15:00:00" - }, - { - "i": 16, - "minutes": 960, - "rate": 0.928, - "start": "16:00:00" - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.71, - "start": "17:00:00" - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.654, - "start": "18:00:00" - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.878, - "start": "19:00:00" - }, - { - "i": 20, - "minutes": 1200, - "rate": 1.101, - "start": "20:00:00" - }, - { - "i": 21, - "minutes": 1260, - "rate": 1.119, - "start": "21:00:00" - }, - { - "i": 22, - "minutes": 1320, - "rate": 1.122, - "start": "22:00:00" - }, - { - "i": 23, - "minutes": 1380, - "rate": 1.047, - "start": "23:00:00" - } - ], - "carb_ratio": 5.75, - "csf": 14.991, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 93.589, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 93.589, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json b/plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json deleted file mode 100644 index 92304dbf45..0000000000 --- a/plugins/main/src/test/res/autotune/test3/oaps-iobCalc.2022-05-21.json +++ /dev/null @@ -1,286 +0,0 @@ -[ - { "iob": 5.249, "activity": 0.0391, "date": 1653099848000}, - { "iob": 5.292, "activity": 0.0438, "date": 1653100148000}, - { "iob": 4.964, "activity": 0.047, "date": 1653100449000}, - { "iob": 4.674, "activity": 0.0489, "date": 1653100748000}, - { "iob": 4.377, "activity": 0.0498, "date": 1653101048000}, - { "iob": 4.077, "activity": 0.0498, "date": 1653101348000}, - { "iob": 3.73, "activity": 0.0491, "date": 1653101648000}, - { "iob": 3.389, "activity": 0.0476, "date": 1653101948000}, - { "iob": 3.055, "activity": 0.0457, "date": 1653102249000}, - { "iob": 2.782, "activity": 0.0436, "date": 1653102548000}, - { "iob": 2.47, "activity": 0.0411, "date": 1653102848000}, - { "iob": 2.22, "activity": 0.0386, "date": 1653103149000}, - { "iob": 1.935, "activity": 0.0358, "date": 1653103448000}, - { "iob": 1.711, "activity": 0.0332, "date": 1653103748000}, - { "iob": 1.452, "activity": 0.0304, "date": 1653104049000}, - { "iob": 1.927, "activity": 0.028, "date": 1653104349000}, - { "iob": 1.84, "activity": 0.027, "date": 1653104648000}, - { "iob": 1.658, "activity": 0.0258, "date": 1653104949000}, - { "iob": 1.482, "activity": 0.0245, "date": 1653105248000}, - { "iob": 1.264, "activity": 0.0229, "date": 1653105549000}, - { "iob": 1.104, "activity": 0.0212, "date": 1653105848000}, - { "iob": 0.952, "activity": 0.0194, "date": 1653106149000}, - { "iob": 1.619, "activity": 0.0181, "date": 1653106449000}, - { "iob": 1.678, "activity": 0.0184, "date": 1653106749000}, - { "iob": 1.775, "activity": 0.0187, "date": 1653107048000}, - { "iob": 1.581, "activity": 0.019, "date": 1653107348000}, - { "iob": 1.437, "activity": 0.0188, "date": 1653107648000}, - { "iob": 1.294, "activity": 0.0183, "date": 1653107948000}, - { "iob": 1.153, "activity": 0.0176, "date": 1653108249000}, - { "iob": 1.017, "activity": 0.0167, "date": 1653108548000}, - { "iob": 0.887, "activity": 0.0156, "date": 1653108848000}, - { "iob": 1.011, "activity": 0.0147, "date": 1653109148000}, - { "iob": 0.889, "activity": 0.0141, "date": 1653109448000}, - { "iob": 0.771, "activity": 0.0133, "date": 1653109748000}, - { "iob": 0.656, "activity": 0.0124, "date": 1653110049000}, - { "iob": 0.547, "activity": 0.0114, "date": 1653110348000}, - { "iob": 0.392, "activity": 0.0103, "date": 1653110649000}, - { "iob": 0.294, "activity": 0.0091, "date": 1653110949000}, - { "iob": 0.2, "activity": 0.008, "date": 1653111249000}, - { "iob": 0.065, "activity": 0.0066, "date": 1653111549000}, - { "iob": 0.034, "activity": 0.0055, "date": 1653111849000}, - { "iob": 0.549, "activity": 0.0048, "date": 1653112148000}, - { "iob": 0.674, "activity": 0.0053, "date": 1653112449000}, - { "iob": 0.597, "activity": 0.0057, "date": 1653112749000}, - { "iob": 0.468, "activity": 0.0058, "date": 1653113049000}, - { "iob": 0.389, "activity": 0.0057, "date": 1653113349000}, - { "iob": 0.262, "activity": 0.0053, "date": 1653113649000}, - { "iob": 0.186, "activity": 0.0048, "date": 1653113949000}, - { "iob": 0.064, "activity": 0.0041, "date": 1653114249000}, - { "iob": -0.005, "activity": 0.0034, "date": 1653114549000}, - { "iob": -0.12, "activity": 0.0026, "date": 1653114849000}, - { "iob": -0.181, "activity": 0.0018, "date": 1653115149000}, - { "iob": -0.287, "activity": 0.0008, "date": 1653115449000}, - { "iob": -0.34, "activity": 0, "date": 1653115749000}, - { "iob": -0.436, "activity": -0.001, "date": 1653116049000}, - { "iob": -0.48, "activity": -0.0018, "date": 1653116349000}, - { "iob": -0.519, "activity": -0.0026, "date": 1653116649000}, - { "iob": -0.554, "activity": -0.0034, "date": 1653116949000}, - { "iob": -0.585, "activity": -0.0041, "date": 1653117249000}, - { "iob": -0.662, "activity": -0.0049, "date": 1653117549000}, - { "iob": -0.687, "activity": -0.0055, "date": 1653117848000}, - { "iob": -0.708, "activity": -0.0061, "date": 1653118149000}, - { "iob": -0.726, "activity": -0.0066, "date": 1653118449000}, - { "iob": -0.351, "activity": -0.0071, "date": 1653118748000}, - { "iob": -0.218, "activity": -0.0064, "date": 1653119049000}, - { "iob": -0.088, "activity": -0.0055, "date": 1653119349000}, - { "iob": 13.594, "activity": 0.0023, "date": 1653119649000}, - { "iob": 13.552, "activity": 0.0331, "date": 1653119949000}, - { "iob": 13.224, "activity": 0.0573, "date": 1653120249000}, - { "iob": 12.838, "activity": 0.076, "date": 1653120548000}, - { "iob": 12.322, "activity": 0.09, "date": 1653120849000}, - { "iob": 11.794, "activity": 0.1001, "date": 1653121149000}, - { "iob": 11.177, "activity": 0.1068, "date": 1653121449000}, - { "iob": 10.58, "activity": 0.111, "date": 1653121749000}, - { "iob": 9.919, "activity": 0.1129, "date": 1653122049000}, - { "iob": 9.254, "activity": 0.1129, "date": 1653122349000}, - { "iob": 8.643, "activity": 0.1114, "date": 1653122649000}, - { "iob": 7.992, "activity": 0.1088, "date": 1653122949000}, - { "iob": 7.406, "activity": 0.1053, "date": 1653123248000}, - { "iob": 7.111, "activity": 0.1012, "date": 1653123549000}, - { "iob": 6.515, "activity": 0.0971, "date": 1653123849000}, - { "iob": 5.99, "activity": 0.0927, "date": 1653124149000}, - { "iob": 5.439, "activity": 0.0878, "date": 1653124448000}, - { "iob": 4.962, "activity": 0.0828, "date": 1653124749000}, - { "iob": 4.462, "activity": 0.0775, "date": 1653125048000}, - { "iob": 4.036, "activity": 0.0724, "date": 1653125349000}, - { "iob": 3.638, "activity": 0.0672, "date": 1653125649000}, - { "iob": 3.214, "activity": 0.0621, "date": 1653125948000}, - { "iob": 2.866, "activity": 0.0571, "date": 1653126249000}, - { "iob": 2.494, "activity": 0.0522, "date": 1653126549000}, - { "iob": 2.193, "activity": 0.0476, "date": 1653126849000}, - { "iob": 1.867, "activity": 0.0431, "date": 1653127149000}, - { "iob": 1.563, "activity": 0.0388, "date": 1653127449000}, - { "iob": 1.329, "activity": 0.0347, "date": 1653127748000}, - { "iob": 1.115, "activity": 0.0309, "date": 1653128049000}, - { "iob": 0.87, "activity": 0.0272, "date": 1653128349000}, - { "iob": 0.692, "activity": 0.0239, "date": 1653128649000}, - { "iob": 0.482, "activity": 0.0206, "date": 1653128948000}, - { "iob": 0.287, "activity": 0.0176, "date": 1653129249000}, - { "iob": 0.156, "activity": 0.0148, "date": 1653129548000}, - { "iob": 0.038, "activity": 0.0122, "date": 1653129848000}, - { "iob": -0.067, "activity": 0.0099, "date": 1653130149000}, - { "iob": -0.161, "activity": 0.0078, "date": 1653130448000}, - { "iob": -0.195, "activity": 0.006, "date": 1653130748000}, - { "iob": -0.271, "activity": 0.0044, "date": 1653131049000}, - { "iob": -0.339, "activity": 0.0029, "date": 1653131349000}, - { "iob": -0.4, "activity": 0.0015, "date": 1653131649000}, - { "iob": -0.155, "activity": 0.0007, "date": 1653131948000}, - { "iob": 8.11, "activity": 0.0045, "date": 1653132249000}, - { "iob": 7.992, "activity": 0.0222, "date": 1653132549000}, - { "iob": 7.745, "activity": 0.0359, "date": 1653132849000}, - { "iob": 7.488, "activity": 0.0465, "date": 1653133149000}, - { "iob": 7.136, "activity": 0.0541, "date": 1653133449000}, - { "iob": 6.8, "activity": 0.0596, "date": 1653133749000}, - { "iob": 6.441, "activity": 0.0633, "date": 1653134049000}, - { "iob": 6.022, "activity": 0.0651, "date": 1653134349000}, - { "iob": 5.644, "activity": 0.0657, "date": 1653134649000}, - { "iob": 5.216, "activity": 0.0653, "date": 1653134949000}, - { "iob": 4.962, "activity": 0.0644, "date": 1653135249000}, - { "iob": 4.544, "activity": 0.0627, "date": 1653135549000}, - { "iob": 4.185, "activity": 0.0606, "date": 1653135849000}, - { "iob": 3.839, "activity": 0.058, "date": 1653136149000}, - { "iob": 3.456, "activity": 0.055, "date": 1653136449000}, - { "iob": 3.139, "activity": 0.0519, "date": 1653136749000}, - { "iob": 2.788, "activity": 0.0486, "date": 1653137049000}, - { "iob": 2.503, "activity": 0.0453, "date": 1653137350000}, - { "iob": 2.186, "activity": 0.0418, "date": 1653137649000}, - { "iob": 3.17, "activity": 0.0407, "date": 1653137949000}, - { "iob": 3.956, "activity": 0.0413, "date": 1653138249000}, - { "iob": 3.648, "activity": 0.042, "date": 1653138549000}, - { "iob": 4.126, "activity": 0.043, "date": 1653138849000}, - { "iob": 3.81, "activity": 0.0437, "date": 1653139150000}, - { "iob": 3.541, "activity": 0.0437, "date": 1653139450000}, - { "iob": 3.272, "activity": 0.0431, "date": 1653139749000}, - { "iob": 3.588, "activity": 0.0428, "date": 1653140049000}, - { "iob": 3.875, "activity": 0.0431, "date": 1653140349000}, - { "iob": 3.608, "activity": 0.0434, "date": 1653140648000}, - { "iob": 4.271, "activity": 0.0442, "date": 1653140949000}, - { "iob": 3.996, "activity": 0.0452, "date": 1653141249000}, - { "iob": 4.298, "activity": 0.0462, "date": 1653141548000}, - { "iob": 4.015, "activity": 0.0468, "date": 1653141849000}, - { "iob": 4.538, "activity": 0.0481, "date": 1653142149000}, - { "iob": 4.245, "activity": 0.0489, "date": 1653142449000}, - { "iob": 4.729, "activity": 0.05, "date": 1653142749000}, - { "iob": 4.426, "activity": 0.0508, "date": 1653143049000}, - { "iob": 4.353, "activity": 0.051, "date": 1653143349000}, - { "iob": 4.049, "activity": 0.0507, "date": 1653143650000}, - { "iob": 3.747, "activity": 0.0498, "date": 1653143949000}, - { "iob": 3.402, "activity": 0.0483, "date": 1653144249000}, - { "iob": 3.115, "activity": 0.0464, "date": 1653144550000}, - { "iob": 2.788, "activity": 0.0441, "date": 1653144849000}, - { "iob": 2.524, "activity": 0.0417, "date": 1653145149000}, - { "iob": 2.271, "activity": 0.0391, "date": 1653145449000}, - { "iob": 2.033, "activity": 0.0365, "date": 1653145750000}, - { "iob": 1.807, "activity": 0.0338, "date": 1653146050000}, - { "iob": 1.594, "activity": 0.0312, "date": 1653146349000}, - { "iob": 1.395, "activity": 0.0286, "date": 1653146650000}, - { "iob": 1.258, "activity": 0.0262, "date": 1653146949000}, - { "iob": 1.034, "activity": 0.0236, "date": 1653147249000}, - { "iob": 0.971, "activity": 0.0215, "date": 1653147549000}, - { "iob": 1.008, "activity": 0.0197, "date": 1653147849000}, - { "iob": 0.963, "activity": 0.0183, "date": 1653148149000}, - { "iob": 1.046, "activity": 0.0171, "date": 1653148450000}, - { "iob": 0.912, "activity": 0.0161, "date": 1653148749000}, - { "iob": 1.254, "activity": 0.0156, "date": 1653149049000}, - { "iob": 1.176, "activity": 0.0154, "date": 1653149349000}, - { "iob": 1.051, "activity": 0.0149, "date": 1653149650000}, - { "iob": 0.928, "activity": 0.0142, "date": 1653149949000}, - { "iob": 1.008, "activity": 0.0138, "date": 1653150249000}, - { "iob": 0.89, "activity": 0.0133, "date": 1653150549000}, - { "iob": 0.775, "activity": 0.0127, "date": 1653150849000}, - { "iob": 0.664, "activity": 0.0118, "date": 1653151149000}, - { "iob": 0.606, "activity": 0.011, "date": 1653151449000}, - { "iob": 0.703, "activity": 0.0105, "date": 1653151749000}, - { "iob": 0.702, "activity": 0.0101, "date": 1653152049000}, - { "iob": 0.902, "activity": 0.0101, "date": 1653152349000}, - { "iob": 0.801, "activity": 0.0101, "date": 1653152649000}, - { "iob": 0.701, "activity": 0.0098, "date": 1653152949000}, - { "iob": 0.603, "activity": 0.0094, "date": 1653153249000}, - { "iob": 0.508, "activity": 0.0088, "date": 1653153549000}, - { "iob": 0.415, "activity": 0.0081, "date": 1653153849000}, - { "iob": 0.327, "activity": 0.0074, "date": 1653154149000}, - { "iob": 0.242, "activity": 0.0066, "date": 1653154449000}, - { "iob": 0.161, "activity": 0.0058, "date": 1653154749000}, - { "iob": 0.134, "activity": 0.005, "date": 1653155049000}, - { "iob": 0.4, "activity": 0.0048, "date": 1653155349000}, - { "iob": 0.475, "activity": 0.0049, "date": 1653155649000}, - { "iob": 0.401, "activity": 0.005, "date": 1653155950000}, - { "iob": 0.327, "activity": 0.0048, "date": 1653156250000}, - { "iob": 0.203, "activity": 0.0044, "date": 1653156549000}, - { "iob": 0.132, "activity": 0.004, "date": 1653156849000}, - { "iob": 0.064, "activity": 0.0034, "date": 1653157149000}, - { "iob": -0.002, "activity": 0.0028, "date": 1653157449000}, - { "iob": -0.064, "activity": 0.0022, "date": 1653157750000}, - { "iob": -0.073, "activity": 0.0016, "date": 1653158049000}, - { "iob": -0.08, "activity": 0.0011, "date": 1653158349000}, - { "iob": -0.085, "activity": 0.0007, "date": 1653158649000}, - { "iob": -0.087, "activity": 0.0004, "date": 1653158949000}, - { "iob": -0.088, "activity": 0.0001, "date": 1653159249000}, - { "iob": -0.088, "activity": -0.0001, "date": 1653159549000}, - { "iob": -0.137, "activity": -0.0004, "date": 1653159849000}, - { "iob": -0.184, "activity": -0.0007, "date": 1653160150000}, - { "iob": -0.18, "activity": -0.001, "date": 1653160449000}, - { "iob": -0.175, "activity": -0.0012, "date": 1653160749000}, - { "iob": -0.168, "activity": -0.0014, "date": 1653161049000}, - { "iob": -0.211, "activity": -0.0015, "date": 1653161350000}, - { "iob": -0.203, "activity": -0.0017, "date": 1653161649000}, - { "iob": -0.243, "activity": -0.002, "date": 1653161950000}, - { "iob": -0.282, "activity": -0.0023, "date": 1653162250000}, - { "iob": -0.32, "activity": -0.0026, "date": 1653162549000}, - { "iob": -0.357, "activity": -0.0029, "date": 1653162850000}, - { "iob": -0.391, "activity": -0.0032, "date": 1653163150000}, - { "iob": -0.375, "activity": -0.0035, "date": 1653163449000}, - { "iob": -0.357, "activity": -0.0036, "date": 1653163749000}, - { "iob": -0.149, "activity": -0.0035, "date": 1653164049000}, - { "iob": -0.132, "activity": -0.0031, "date": 1653164350000}, - { "iob": 9.296, "activity": 0.015, "date": 1653164649000}, - { "iob": 9.123, "activity": 0.0332, "date": 1653164950000}, - { "iob": 8.96, "activity": 0.0474, "date": 1653165249000}, - { "iob": 8.644, "activity": 0.0584, "date": 1653165550000}, - { "iob": 8.282, "activity": 0.0664, "date": 1653165850000}, - { "iob": 7.835, "activity": 0.0718, "date": 1653166149000}, - { "iob": 7.416, "activity": 0.0753, "date": 1653166450000}, - { "iob": 6.984, "activity": 0.0772, "date": 1653166749000}, - { "iob": 6.547, "activity": 0.0776, "date": 1653167049000}, - { "iob": 6.061, "activity": 0.0769, "date": 1653167350000}, - { "iob": 5.68, "activity": 0.0754, "date": 1653167650000}, - { "iob": 5.458, "activity": 0.0734, "date": 1653167949000}, - { "iob": 5.046, "activity": 0.0712, "date": 1653168250000}, - { "iob": 4.925, "activity": 0.069, "date": 1653168549000}, - { "iob": 4.487, "activity": 0.0663, "date": 1653168849000}, - { "iob": 4.113, "activity": 0.0633, "date": 1653169150000}, - { "iob": 3.706, "activity": 0.0599, "date": 1653169449000}, - { "iob": 3.363, "activity": 0.0566, "date": 1653169749000}, - { "iob": 3.039, "activity": 0.053, "date": 1653170049000}, - { "iob": 2.733, "activity": 0.0494, "date": 1653170350000}, - { "iob": 2.395, "activity": 0.0457, "date": 1653170650000}, - { "iob": 2.126, "activity": 0.0421, "date": 1653170950000}, - { "iob": 1.824, "activity": 0.0385, "date": 1653171250000}, - { "iob": 1.64, "activity": 0.0351, "date": 1653171549000}, - { "iob": 1.473, "activity": 0.0319, "date": 1653171849000}, - { "iob": 1.273, "activity": 0.0288, "date": 1653172150000}, - { "iob": 1.136, "activity": 0.026, "date": 1653172450000}, - { "iob": 1.011, "activity": 0.0235, "date": 1653172749000}, - { "iob": 0.852, "activity": 0.021, "date": 1653173050000}, - { "iob": 0.752, "activity": 0.0189, "date": 1653173350000}, - { "iob": 0.662, "activity": 0.0169, "date": 1653173650000}, - { "iob": 0.534, "activity": 0.0149, "date": 1653173949000}, - { "iob": 0.463, "activity": 0.0132, "date": 1653174249000}, - { "iob": 0.352, "activity": 0.0115, "date": 1653174550000}, - { "iob": 0.298, "activity": 0.0101, "date": 1653174850000}, - { "iob": 0.25, "activity": 0.0089, "date": 1653175149000}, - { "iob": 0.329, "activity": 0.0079, "date": 1653175450000}, - { "iob": 0.34, "activity": 0.0074, "date": 1653175750000}, - { "iob": 0.304, "activity": 0.0068, "date": 1653176050000}, - { "iob": 0.272, "activity": 0.0062, "date": 1653176350000}, - { "iob": 0.512, "activity": 0.006, "date": 1653176650000}, - { "iob": 0.581, "activity": 0.0061, "date": 1653176950000}, - { "iob": 1.238, "activity": 0.0075, "date": 1653177250000}, - { "iob": 1.147, "activity": 0.0088, "date": 1653177550000}, - { "iob": 1.151, "activity": 0.0098, "date": 1653177850000}, - { "iob": 1.05, "activity": 0.0104, "date": 1653178149000}, - { "iob": 0.947, "activity": 0.0107, "date": 1653178449000}, - { "iob": 0.844, "activity": 0.0106, "date": 1653178750000}, - { "iob": 0.741, "activity": 0.0104, "date": 1653179050000}, - { "iob": 0.59, "activity": 0.0099, "date": 1653179350000}, - { "iob": 0.542, "activity": 0.0093, "date": 1653179649000}, - { "iob": 0.497, "activity": 0.0087, "date": 1653179949000}, - { "iob": 0.456, "activity": 0.0081, "date": 1653180250000}, - { "iob": 0.516, "activity": 0.0077, "date": 1653180549000}, - { "iob": 0.429, "activity": 0.0072, "date": 1653180849000}, - { "iob": 0.294, "activity": 0.0066, "date": 1653181150000}, - { "iob": 0.163, "activity": 0.0058, "date": 1653181450000}, - { "iob": 0.037, "activity": 0.0049, "date": 1653181750000}, - { "iob": -0.085, "activity": 0.0039, "date": 1653182050000}, - { "iob": -0.153, "activity": 0.0029, "date": 1653182349000}, - { "iob": -0.265, "activity": 0.0018, "date": 1653182650000}, - { "iob": -0.371, "activity": 0.0007, "date": 1653182949000}, - { "iob": -0.471, "activity": -0.0005, "date": 1653183249000}, - { "iob": -0.566, "activity": -0.0016, "date": 1653183550000}, - { "iob": -0.606, "activity": -0.0026, "date": 1653183850000}, - { "iob": -0.64, "activity": -0.0036, "date": 1653184150000}, - { "iob": -0.67, "activity": -0.0044, "date": 1653184450000} -] - diff --git a/plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json deleted file mode 100644 index 461ffc542c..0000000000 --- a/plugins/main/src/test/res/autotune/test4/autotune.2022-05-30.json +++ /dev/null @@ -1 +0,0 @@ -{"CRData":[{"CRInitialIOB":-0.087,"CRInitialBG":92,"CRInitialCarbTime":"2022-05-30T06:09:21.000Z","CREndIOB":0.396,"CREndBG":131,"CREndTime":"2022-05-30T09:29:21.000Z","CRCarbs":75,"CRInsulin":14.47},{"CRInitialIOB":-0.454,"CRInitialBG":77,"CRInitialCarbTime":"2022-05-30T10:44:21.000Z","CREndIOB":0.339,"CREndBG":100,"CREndTime":"2022-05-30T14:14:22.000Z","CRCarbs":50,"CRInsulin":10.84},{"CRInitialIOB":-0.947,"CRInitialBG":87,"CRInitialCarbTime":"2022-05-30T16:04:22.000Z","CREndIOB":-0.346,"CREndBG":130,"CREndTime":"2022-05-30T17:44:22.000Z","CRCarbs":10,"CRInsulin":0.01}],"CSFGlucoseData":[{"_id":"62945faad2cadd0004350d89","device":"AndroidAPS-DexcomG6","date":1653890961000,"dateString":"2022-05-30T06:09:21.000Z","isValid":true,"sgv":92,"direction":"Flat","type":"sgv","created_at":"2022-05-30T06:09:46.664Z","glucose":92,"avgDelta":"-0.50","BGI":-0.62,"deviation":"0.12","mealAbsorption":"start","mealCarbs":75},{"_id":"629460cdb82b320004ef5ec4","device":"AndroidAPS-DexcomG6","date":1653891261000,"dateString":"2022-05-30T06:14:21.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","created_at":"2022-05-30T06:14:37.040Z","glucose":101,"avgDelta":"2.25","BGI":-0.42,"deviation":"2.67","mealCarbs":75},{"_id":"62946214b82b320004ef5ec6","device":"AndroidAPS-DexcomG6","date":1653891561000,"dateString":"2022-05-30T06:19:21.000Z","isValid":true,"sgv":118,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T06:20:04.840Z","glucose":118,"avgDelta":"7.00","BGI":-0.21,"deviation":"7.21","mealCarbs":75},{"_id":"6294632ab82b320004ef5ecc","device":"AndroidAPS-DexcomG6","date":1653891861000,"dateString":"2022-05-30T06:24:21.000Z","isValid":true,"sgv":137,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T06:24:42.093Z","glucose":137,"avgDelta":"12.00","BGI":-12.66,"deviation":"24.66","mealCarbs":75},{"_id":"62946458b82b320004ef5ecf","device":"AndroidAPS-DexcomG6","date":1653892161000,"dateString":"2022-05-30T06:29:21.000Z","isValid":true,"sgv":157,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T06:29:44.223Z","glucose":157,"avgDelta":"16.25","BGI":-25.36,"deviation":"41.61","mealCarbs":75},{"_id":"62946586b82b320004ef5ed1","device":"AndroidAPS-DexcomG6","date":1653892461000,"dateString":"2022-05-30T06:34:21.000Z","isValid":true,"sgv":173,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T06:34:46.169Z","glucose":173,"avgDelta":"18.00","BGI":-35.2,"deviation":"53.20","mealCarbs":75},{"_id":"629466b3b82b320004ef5ed3","device":"AndroidAPS-DexcomG6","date":1653892761000,"dateString":"2022-05-30T06:39:21.000Z","isValid":true,"sgv":185,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T06:39:47.469Z","glucose":185,"avgDelta":"16.75","BGI":-42.67,"deviation":"59.42","mealCarbs":75},{"_id":"629467e1b82b320004ef5ed5","device":"AndroidAPS-DexcomG6","date":1653893061000,"dateString":"2022-05-30T06:44:21.000Z","isValid":true,"sgv":193,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T06:44:49.181Z","glucose":193,"avgDelta":"14.00","BGI":-48.07,"deviation":"62.07","mealCarbs":75},{"_id":"629469166e1b8e0004363dfc","device":"AndroidAPS-DexcomG6","date":1653893361000,"dateString":"2022-05-30T06:49:21.000Z","isValid":true,"sgv":198,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T06:49:58.419Z","glucose":198,"avgDelta":"10.25","BGI":-51.84,"deviation":"62.09","mealCarbs":75},{"_id":"62946a5e6e1b8e0004363dfe","device":"AndroidAPS-DexcomG6","date":1653893661000,"dateString":"2022-05-30T06:54:21.000Z","isValid":true,"sgv":201,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T06:55:26.117Z","glucose":201,"avgDelta":"7.00","BGI":-54.17,"deviation":"61.17","mealCarbs":75},{"_id":"62946b8a6e1b8e0004363e01","device":"AndroidAPS-DexcomG6","date":1653893961000,"dateString":"2022-05-30T06:59:21.000Z","isValid":true,"sgv":203,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T07:00:26.210Z","glucose":203,"avgDelta":"4.50","BGI":-55.41,"deviation":"59.91","mealCarbs":75},{"_id":"62946c9e6e1b8e0004363e03","device":"AndroidAPS-DexcomG6","date":1653894260000,"dateString":"2022-05-30T07:04:20.000Z","isValid":true,"sgv":203,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:05:02.549Z","glucose":203,"avgDelta":"2.50","BGI":-55.7,"deviation":"58.20","mealCarbs":75},{"_id":"62946db36e1b8e0004363e05","device":"AndroidAPS-DexcomG6","date":1653894562000,"dateString":"2022-05-30T07:09:22.000Z","isValid":true,"sgv":202,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:09:39.329Z","glucose":202,"avgDelta":"1.00","BGI":-55.25,"deviation":"56.25","mealCarbs":75},{"_id":"62946ee06e1b8e0004363e07","device":"AndroidAPS-DexcomG6","date":1653894861000,"dateString":"2022-05-30T07:14:21.000Z","isValid":true,"sgv":201,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:14:40.201Z","glucose":201,"avgDelta":"0.00","BGI":-54.21,"deviation":"54.21","mealCarbs":75},{"_id":"6294700d6e1b8e0004363e09","device":"AndroidAPS-DexcomG6","date":1653895162000,"dateString":"2022-05-30T07:19:22.000Z","isValid":true,"sgv":202,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:19:41.498Z","glucose":202,"avgDelta":"-0.25","BGI":-52.63,"deviation":"52.38","mealCarbs":75},{"_id":"629471377e1237000471bf42","device":"AndroidAPS-DexcomG6","date":1653895461000,"dateString":"2022-05-30T07:24:21.000Z","isValid":true,"sgv":204,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:24:39.113Z","glucose":204,"avgDelta":"0.25","BGI":-50.76,"deviation":"51.01","mealCarbs":75},{"_id":"629472647e1237000471bf44","device":"AndroidAPS-DexcomG6","date":1653895761000,"dateString":"2022-05-30T07:29:21.000Z","isValid":true,"sgv":208,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:29:40.917Z","glucose":208,"avgDelta":"1.50","BGI":-48.56,"deviation":"50.06","mealCarbs":75},{"_id":"629473927e1237000471bf46","device":"AndroidAPS-DexcomG6","date":1653896061000,"dateString":"2022-05-30T07:34:21.000Z","isValid":true,"sgv":213,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:34:42.398Z","glucose":213,"avgDelta":"3.00","BGI":-46.24,"deviation":"49.24","mealCarbs":75},{"_id":"629474c07e1237000471bf48","device":"AndroidAPS-DexcomG6","date":1653896361000,"dateString":"2022-05-30T07:39:21.000Z","isValid":true,"sgv":217,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:39:44.449Z","glucose":217,"avgDelta":"3.75","BGI":-43.87,"deviation":"47.62","mealCarbs":75},{"_id":"629475ed7e1237000471bf4a","device":"AndroidAPS-DexcomG6","date":1653896662000,"dateString":"2022-05-30T07:44:22.000Z","isValid":true,"sgv":218,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:44:45.778Z","glucose":218,"avgDelta":"3.50","BGI":-41.47,"deviation":"44.97","mealCarbs":75},{"_id":"6294771a7e1237000471bf4c","device":"AndroidAPS-DexcomG6","date":1653896961000,"dateString":"2022-05-30T07:49:21.000Z","isValid":true,"sgv":219,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:49:46.684Z","glucose":219,"avgDelta":"2.75","BGI":-39.06,"deviation":"41.81","mealCarbs":75},{"_id":"629478477e1237000471bf4e","device":"AndroidAPS-DexcomG6","date":1653897262000,"dateString":"2022-05-30T07:54:22.000Z","isValid":true,"sgv":219,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:54:47.898Z","glucose":219,"avgDelta":"1.50","BGI":-36.69,"deviation":"38.19","mealCarbs":75},{"_id":"62947975d10aeb0004cd3fe5","device":"AndroidAPS-DexcomG6","date":1653897561000,"dateString":"2022-05-30T07:59:21.000Z","isValid":true,"sgv":217,"direction":"Flat","type":"sgv","created_at":"2022-05-30T07:59:49.147Z","glucose":217,"avgDelta":"0.00","BGI":-33.21,"deviation":"33.21","mealCarbs":75},{"_id":"62947aa2d10aeb0004cd3fe7","device":"AndroidAPS-DexcomG6","date":1653897861000,"dateString":"2022-05-30T08:04:21.000Z","isValid":true,"sgv":213,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:04:50.320Z","glucose":213,"avgDelta":"-1.25","BGI":-30.67,"deviation":"29.42","mealCarbs":75},{"_id":"62947bcfd10aeb0004cd3fe9","device":"AndroidAPS-DexcomG6","date":1653898161000,"dateString":"2022-05-30T08:09:21.000Z","isValid":true,"sgv":209,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:09:51.204Z","glucose":209,"avgDelta":"-2.50","BGI":-28.22,"deviation":"25.72","mealCarbs":75},{"_id":"62947cfcd10aeb0004cd3feb","device":"AndroidAPS-DexcomG6","date":1653898461000,"dateString":"2022-05-30T08:14:21.000Z","isValid":true,"sgv":207,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:14:52.631Z","glucose":207,"avgDelta":"-3.00","BGI":-25.86,"deviation":"22.86","mealCarbs":75},{"_id":"62947e29d10aeb0004cd3fed","device":"AndroidAPS-DexcomG6","date":1653898761000,"dateString":"2022-05-30T08:19:21.000Z","isValid":true,"sgv":206,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:19:53.852Z","glucose":206,"avgDelta":"-2.75","BGI":-23.58,"deviation":"20.83","mealCarbs":75},{"_id":"62947f56d10aeb0004cd3ff0","device":"AndroidAPS-DexcomG6","date":1653899062000,"dateString":"2022-05-30T08:24:22.000Z","isValid":true,"sgv":205,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:24:54.980Z","glucose":205,"avgDelta":"-2.00","BGI":-21.42,"deviation":"19.42","mealCarbs":75},{"_id":"62948083d10aeb0004cd3ff4","device":"AndroidAPS-DexcomG6","date":1653899361000,"dateString":"2022-05-30T08:29:21.000Z","isValid":true,"sgv":202,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:29:55.869Z","glucose":202,"avgDelta":"-1.75","BGI":-19.47,"deviation":"17.72","mealCarbs":75},{"_id":"629481a58ecbb3000401e2cd","device":"AndroidAPS-DexcomG6","date":1653899661000,"dateString":"2022-05-30T08:34:21.000Z","isValid":true,"sgv":199,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:34:45.627Z","glucose":199,"avgDelta":"-2.00","BGI":-17.72,"deviation":"15.72","mealCarbs":75},{"_id":"629482d28ecbb3000401e2d0","device":"AndroidAPS-DexcomG6","date":1653899961000,"dateString":"2022-05-30T08:39:21.000Z","isValid":true,"sgv":197,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:39:46.821Z","glucose":197,"avgDelta":"-2.25","BGI":-16.02,"deviation":"13.77","mealCarbs":75},{"_id":"629484008ecbb3000401e2d3","device":"AndroidAPS-DexcomG6","date":1653900261000,"dateString":"2022-05-30T08:44:21.000Z","isValid":true,"sgv":195,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:44:48.348Z","glucose":195,"avgDelta":"-2.50","BGI":-14.49,"deviation":"11.99","mealCarbs":75},{"_id":"6294852d8ecbb3000401e2d7","device":"AndroidAPS-DexcomG6","date":1653900561000,"dateString":"2022-05-30T08:49:21.000Z","isValid":true,"sgv":193,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:49:49.550Z","glucose":193,"avgDelta":"-2.25","BGI":-13.28,"deviation":"11.03","mealCarbs":75},{"_id":"6294865a8ecbb3000401e2da","device":"AndroidAPS-DexcomG6","date":1653900861000,"dateString":"2022-05-30T08:54:21.000Z","isValid":true,"sgv":189,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:54:50.449Z","glucose":189,"avgDelta":"-2.50","BGI":-12.2,"deviation":"9.70","mealCarbs":75},{"_id":"629487878ecbb3000401e2dc","device":"AndroidAPS-DexcomG6","date":1653901161000,"dateString":"2022-05-30T08:59:21.000Z","isValid":true,"sgv":183,"direction":"Flat","type":"sgv","created_at":"2022-05-30T08:59:51.963Z","glucose":183,"avgDelta":"-3.50","BGI":-11.21,"deviation":"7.71","mealCarbs":75},{"_id":"629488b58ecbb3000401e2de","device":"AndroidAPS-DexcomG6","date":1653901461000,"dateString":"2022-05-30T09:04:21.000Z","isValid":true,"sgv":175,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:04:53.220Z","glucose":175,"avgDelta":"-5.00","BGI":-10.29,"deviation":"5.29","mealCarbs":75},{"_id":"62948a0776174b0004fbd21d","device":"AndroidAPS-DexcomG6","date":1653901761000,"dateString":"2022-05-30T09:09:21.000Z","isValid":true,"sgv":166,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:10:31.409Z","glucose":166,"avgDelta":"-6.75","BGI":-9.38,"deviation":"2.63","mealCarbs":75},{"_id":"62948b0276174b0004fbd21f","device":"AndroidAPS-DexcomG6","date":1653902061000,"dateString":"2022-05-30T09:14:21.000Z","isValid":true,"sgv":156,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:14:42.378Z","glucose":156,"avgDelta":"-8.25","BGI":-8.47,"deviation":"0.22","mealCarbs":75},{"_id":"62948c4876174b0004fbd222","device":"AndroidAPS-DexcomG6","date":1653902361000,"dateString":"2022-05-30T09:19:21.000Z","isValid":true,"sgv":146,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:20:08.645Z","glucose":146,"avgDelta":"-9.25","BGI":-7.6,"deviation":"-1.65","mealCarbs":0,"mealAbsorption":"end"},{"_id":"6294a02dc2e464000413b7a6","device":"AndroidAPS-DexcomG6","date":1653907461000,"dateString":"2022-05-30T10:44:21.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:45:01.559Z","glucose":77,"avgDelta":"-1.25","BGI":1.45,"deviation":"-2.70","mealAbsorption":"start","mealCarbs":50},{"_id":"6294a15bc2e464000413b7a8","device":"AndroidAPS-DexcomG6","date":1653907762000,"dateString":"2022-05-30T10:49:22.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:50:03.007Z","glucose":76,"avgDelta":"-1.00","BGI":1.66,"deviation":"-2.66","mealCarbs":50},{"_id":"6294a274ac54000004308874","device":"AndroidAPS-DexcomG6","date":1653908062000,"dateString":"2022-05-30T10:54:22.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:54:44.532Z","glucose":77,"avgDelta":"-0.50","BGI":1.78,"deviation":"-2.28","mealCarbs":50},{"_id":"6294a3a3ac54000004308877","device":"AndroidAPS-DexcomG6","date":1653908361000,"dateString":"2022-05-30T10:59:21.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:59:47.232Z","glucose":81,"avgDelta":"0.75","BGI":1.87,"deviation":"-1.12","mealCarbs":50},{"_id":"6294a4d1ac5400000430887a","device":"AndroidAPS-DexcomG6","date":1653908662000,"dateString":"2022-05-30T11:04:22.000Z","isValid":true,"sgv":88,"direction":"Flat","type":"sgv","created_at":"2022-05-30T11:04:49.434Z","glucose":88,"avgDelta":"2.75","BGI":1.95,"deviation":"0.80","mealCarbs":50},{"_id":"6294a60eac5400000430887d","device":"AndroidAPS-DexcomG6","date":1653908962000,"dateString":"2022-05-30T11:09:22.000Z","isValid":true,"sgv":102,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T11:10:06.733Z","glucose":102,"avgDelta":"6.50","BGI":1.99,"deviation":"4.51","mealCarbs":50},{"_id":"6294a723ac54000004308881","device":"AndroidAPS-DexcomG6","date":1653909261000,"dateString":"2022-05-30T11:14:21.000Z","isValid":true,"sgv":122,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T11:14:43.529Z","glucose":122,"avgDelta":"11.25","BGI":1.66,"deviation":"9.59","mealCarbs":50},{"_id":"6294a851ac54000004308883","device":"AndroidAPS-DexcomG6","date":1653909561000,"dateString":"2022-05-30T11:19:21.000Z","isValid":true,"sgv":146,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:19:45.466Z","glucose":146,"avgDelta":"16.25","BGI":1,"deviation":"15.25","mealCarbs":50},{"_id":"6294a97eac54000004308887","device":"AndroidAPS-DexcomG6","date":1653909861000,"dateString":"2022-05-30T11:24:21.000Z","isValid":true,"sgv":172,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:24:46.490Z","glucose":172,"avgDelta":"21.00","BGI":-0.46,"deviation":"21.46","mealCarbs":50},{"_id":"6294aaabac5400000430888a","device":"AndroidAPS-DexcomG6","date":1653910161000,"dateString":"2022-05-30T11:29:21.000Z","isValid":true,"sgv":195,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:29:47.695Z","glucose":195,"avgDelta":"23.25","BGI":-2.2,"deviation":"25.45","mealCarbs":50},{"_id":"6294abd9ac5400000430888e","device":"AndroidAPS-DexcomG6","date":1653910462000,"dateString":"2022-05-30T11:34:22.000Z","isValid":true,"sgv":215,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:34:49.146Z","glucose":215,"avgDelta":"23.25","BGI":-3.86,"deviation":"27.11","mealCarbs":50},{"_id":"6294ad1b0f39100004ec41e2","device":"AndroidAPS-DexcomG6","date":1653910761000,"dateString":"2022-05-30T11:39:21.000Z","isValid":true,"sgv":230,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:40:11.205Z","glucose":230,"avgDelta":"21.00","BGI":-5.27,"deviation":"26.27","mealCarbs":50},{"_id":"6294ae2f0f39100004ec41e7","device":"AndroidAPS-DexcomG6","date":1653911061000,"dateString":"2022-05-30T11:44:21.000Z","isValid":true,"sgv":240,"direction":"DoubleUp","type":"sgv","created_at":"2022-05-30T11:44:47.323Z","glucose":240,"avgDelta":"17.00","BGI":-14.24,"deviation":"31.24","mealCarbs":50},{"_id":"6294af5c0f39100004ec41ed","device":"AndroidAPS-DexcomG6","date":1653911361000,"dateString":"2022-05-30T11:49:21.000Z","isValid":true,"sgv":246,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T11:49:48.926Z","glucose":246,"avgDelta":"12.75","BGI":-22.99,"deviation":"35.74","mealCarbs":50},{"_id":"6294b08a0f39100004ec41ef","device":"AndroidAPS-DexcomG6","date":1653911662000,"dateString":"2022-05-30T11:54:22.000Z","isValid":true,"sgv":249,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T11:54:50.545Z","glucose":249,"avgDelta":"8.50","BGI":-29.72,"deviation":"38.22","mealCarbs":50},{"_id":"6294b1d10f39100004ec41f1","device":"AndroidAPS-DexcomG6","date":1653911961000,"dateString":"2022-05-30T11:59:21.000Z","isValid":true,"sgv":251,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T12:00:17.223Z","glucose":251,"avgDelta":"5.25","BGI":-34.7,"deviation":"39.95","mealCarbs":50},{"_id":"6294b2e50f39100004ec41f3","device":"AndroidAPS-DexcomG6","date":1653912261000,"dateString":"2022-05-30T12:04:21.000Z","isValid":true,"sgv":251,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T12:04:53.216Z","glucose":251,"avgDelta":"2.75","BGI":-38.27,"deviation":"41.02","mealCarbs":50},{"_id":"6294b4130f39100004ec41f5","device":"AndroidAPS-DexcomG6","date":1653912562000,"dateString":"2022-05-30T12:09:22.000Z","isValid":true,"sgv":248,"direction":"Flat","type":"sgv","created_at":"2022-05-30T12:09:55.708Z","glucose":248,"avgDelta":"0.50","BGI":-40.64,"deviation":"41.14","mealCarbs":50},{"_id":"6294b53dff39db0004546852","device":"AndroidAPS-DexcomG6","date":1653912862000,"dateString":"2022-05-30T12:14:22.000Z","isValid":true,"sgv":242,"direction":"Flat","type":"sgv","created_at":"2022-05-30T12:14:53.986Z","glucose":242,"avgDelta":"-1.75","BGI":-42.05,"deviation":"40.30","mealCarbs":50},{"_id":"6294b66bff39db0004546853","device":"AndroidAPS-DexcomG6","date":1653913162000,"dateString":"2022-05-30T12:19:22.000Z","isValid":true,"sgv":232,"direction":"Flat","type":"sgv","created_at":"2022-05-30T12:19:55.640Z","glucose":232,"avgDelta":"-4.75","BGI":-42.67,"deviation":"37.92","mealCarbs":50},{"_id":"6294b799ff39db0004546858","device":"AndroidAPS-DexcomG6","date":1653913462000,"dateString":"2022-05-30T12:24:22.000Z","isValid":true,"sgv":223,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:24:57.749Z","glucose":223,"avgDelta":"-7.00","BGI":-42.63,"deviation":"35.63","mealCarbs":50},{"_id":"6294b8c7ff39db000454685b","device":"AndroidAPS-DexcomG6","date":1653913762000,"dateString":"2022-05-30T12:29:22.000Z","isValid":true,"sgv":213,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:29:59.741Z","glucose":213,"avgDelta":"-8.75","BGI":-42.09,"deviation":"33.34","mealCarbs":50},{"_id":"6294b9f6ff39db000454685e","device":"AndroidAPS-DexcomG6","date":1653914062000,"dateString":"2022-05-30T12:34:22.000Z","isValid":true,"sgv":203,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:35:02.052Z","glucose":203,"avgDelta":"-9.75","BGI":-41.09,"deviation":"31.34","mealCarbs":50},{"_id":"6294bb0bff39db0004546861","device":"AndroidAPS-DexcomG6","date":1653914362000,"dateString":"2022-05-30T12:39:22.000Z","isValid":true,"sgv":195,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:39:39.194Z","glucose":195,"avgDelta":"-9.25","BGI":-39.72,"deviation":"30.47","mealCarbs":50},{"_id":"6294bc52ff39db0004546864","device":"AndroidAPS-DexcomG6","date":1653914661000,"dateString":"2022-05-30T12:44:21.000Z","isValid":true,"sgv":188,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:45:06.129Z","glucose":188,"avgDelta":"-8.75","BGI":-38.19,"deviation":"29.44","mealCarbs":50},{"_id":"6294bd7352bed20004c9a2ac","device":"AndroidAPS-DexcomG6","date":1653914962000,"dateString":"2022-05-30T12:49:22.000Z","isValid":true,"sgv":182,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:49:55.775Z","glucose":182,"avgDelta":"-7.75","BGI":-36.4,"deviation":"28.65","mealCarbs":50},{"_id":"6294bea052bed20004c9a2af","device":"AndroidAPS-DexcomG6","date":1653915262000,"dateString":"2022-05-30T12:54:22.000Z","isValid":true,"sgv":176,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:54:56.765Z","glucose":176,"avgDelta":"-6.75","BGI":-34.41,"deviation":"27.66","mealCarbs":50},{"_id":"6294bfce52bed20004c9a2b2","device":"AndroidAPS-DexcomG6","date":1653915561000,"dateString":"2022-05-30T12:59:21.000Z","isValid":true,"sgv":170,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T12:59:58.302Z","glucose":170,"avgDelta":"-6.25","BGI":-32.42,"deviation":"26.17","mealCarbs":50},{"_id":"6294c0fb52bed20004c9a2b5","device":"AndroidAPS-DexcomG6","date":1653915862000,"dateString":"2022-05-30T13:04:22.000Z","isValid":true,"sgv":164,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:04:59.247Z","glucose":164,"avgDelta":"-6.00","BGI":-30.38,"deviation":"24.38","mealCarbs":50},{"_id":"6294c22852bed20004c9a2b7","device":"AndroidAPS-DexcomG6","date":1653916162000,"dateString":"2022-05-30T13:09:22.000Z","isValid":true,"sgv":158,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:10:00.478Z","glucose":158,"avgDelta":"-6.00","BGI":-28.31,"deviation":"22.31","mealCarbs":50},{"_id":"6294c35552bed20004c9a2ba","device":"AndroidAPS-DexcomG6","date":1653916461000,"dateString":"2022-05-30T13:14:21.000Z","isValid":true,"sgv":152,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:15:01.720Z","glucose":152,"avgDelta":"-6.00","BGI":-26.23,"deviation":"20.23","mealCarbs":50},{"_id":"6294c48252bed20004c9a2bc","device":"AndroidAPS-DexcomG6","date":1653916762000,"dateString":"2022-05-30T13:19:22.000Z","isValid":true,"sgv":147,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:20:02.947Z","glucose":147,"avgDelta":"-5.75","BGI":-24.2,"deviation":"18.45","mealCarbs":50},{"_id":"6294c5a6b8c0c10004ff0007","device":"AndroidAPS-DexcomG6","date":1653917062000,"dateString":"2022-05-30T13:24:22.000Z","isValid":true,"sgv":141,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:24:54.571Z","glucose":141,"avgDelta":"-5.75","BGI":-22.21,"deviation":"16.46","mealCarbs":50},{"_id":"6294c6d3b8c0c10004ff0009","device":"AndroidAPS-DexcomG6","date":1653917362000,"dateString":"2022-05-30T13:29:22.000Z","isValid":true,"sgv":136,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:29:55.794Z","glucose":136,"avgDelta":"-5.50","BGI":-20.34,"deviation":"14.84","mealCarbs":50},{"_id":"6294c801b8c0c10004ff000b","device":"AndroidAPS-DexcomG6","date":1653917662000,"dateString":"2022-05-30T13:34:22.000Z","isValid":true,"sgv":130,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:34:57.267Z","glucose":130,"avgDelta":"-5.50","BGI":-18.47,"deviation":"12.97","mealCarbs":50},{"_id":"6294c92eb8c0c10004ff000d","device":"AndroidAPS-DexcomG6","date":1653917962000,"dateString":"2022-05-30T13:39:22.000Z","isValid":true,"sgv":126,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:39:58.439Z","glucose":126,"avgDelta":"-5.25","BGI":-16.73,"deviation":"11.48","mealCarbs":50},{"_id":"6294ca5bb8c0c10004ff0010","device":"AndroidAPS-DexcomG6","date":1653918262000,"dateString":"2022-05-30T13:44:22.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T13:44:59.703Z","glucose":121,"avgDelta":"-5.00","BGI":-15.11,"deviation":"10.11","mealCarbs":50},{"_id":"6294cb88b8c0c10004ff0012","device":"AndroidAPS-DexcomG6","date":1653918561000,"dateString":"2022-05-30T13:49:21.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","created_at":"2022-05-30T13:50:00.678Z","glucose":117,"avgDelta":"-4.75","BGI":-13.49,"deviation":"8.74","mealCarbs":50},{"_id":"6294cc9cb8c0c10004ff0014","device":"AndroidAPS-DexcomG6","date":1653918862000,"dateString":"2022-05-30T13:54:22.000Z","isValid":true,"sgv":113,"direction":"Flat","type":"sgv","created_at":"2022-05-30T13:54:36.799Z","glucose":113,"avgDelta":"-4.25","BGI":-12.04,"deviation":"7.79","mealCarbs":50},{"_id":"6294cdccdac1e20004fde58d","device":"AndroidAPS-DexcomG6","date":1653919161000,"dateString":"2022-05-30T13:59:21.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","created_at":"2022-05-30T13:59:40.487Z","glucose":110,"avgDelta":"-4.00","BGI":-10.63,"deviation":"6.63","mealCarbs":50},{"_id":"6294cf12dac1e20004fde58f","device":"AndroidAPS-DexcomG6","date":1653919462000,"dateString":"2022-05-30T14:04:22.000Z","isValid":true,"sgv":106,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:05:06.902Z","glucose":106,"avgDelta":"-3.75","BGI":-9.26,"deviation":"5.51","mealCarbs":50},{"_id":"6294d026dac1e20004fde592","device":"AndroidAPS-DexcomG6","date":1653919761000,"dateString":"2022-05-30T14:09:21.000Z","isValid":true,"sgv":103,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:09:42.740Z","glucose":103,"avgDelta":"-3.50","BGI":-7.97,"deviation":"4.47","mealCarbs":50},{"_id":"6294d154dac1e20004fde594","device":"AndroidAPS-DexcomG6","date":1653920062000,"dateString":"2022-05-30T14:14:22.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:14:44.142Z","glucose":100,"avgDelta":"-3.25","BGI":-6.85,"deviation":"3.60","mealCarbs":0,"mealAbsorption":"end"},{"_id":"6294eb2bb23f340004e841d8","device":"AndroidAPS-DexcomG6","date":1653926662000,"dateString":"2022-05-30T16:04:22.000Z","isValid":true,"sgv":87,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:04:59.310Z","glucose":87,"avgDelta":"2.25","BGI":3.86,"deviation":"-1.61","mealAbsorption":"start","mealCarbs":10},{"_id":"6294ec59b23f340004e841da","device":"AndroidAPS-DexcomG6","date":1653926962000,"dateString":"2022-05-30T16:09:22.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:10:01.438Z","glucose":97,"avgDelta":"4.50","BGI":4.03,"deviation":"0.47","mealCarbs":10},{"_id":"6294ed6eb23f340004e841de","device":"AndroidAPS-DexcomG6","date":1653927262000,"dateString":"2022-05-30T16:14:22.000Z","isValid":true,"sgv":111,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T16:14:38.319Z","glucose":111,"avgDelta":"7.50","BGI":4.07,"deviation":"3.43","mealCarbs":10},{"_id":"6294eeb5b23f340004e841e1","device":"AndroidAPS-DexcomG6","date":1653927562000,"dateString":"2022-05-30T16:19:22.000Z","isValid":true,"sgv":123,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T16:20:05.391Z","glucose":123,"avgDelta":"10.25","BGI":3.94,"deviation":"6.31","mealCarbs":10},{"_id":"6294efcab23f340004e841e5","device":"AndroidAPS-DexcomG6","date":1653927861000,"dateString":"2022-05-30T16:24:21.000Z","isValid":true,"sgv":131,"direction":"SingleUp","type":"sgv","created_at":"2022-05-30T16:24:42.057Z","glucose":131,"avgDelta":"11.00","BGI":3.49,"deviation":"7.51","mealCarbs":10},{"_id":"6294f0f8b23f340004e841e8","device":"AndroidAPS-DexcomG6","date":1653928161000,"dateString":"2022-05-30T16:29:21.000Z","isValid":true,"sgv":133,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T16:29:44.123Z","glucose":133,"avgDelta":"9.00","BGI":2.91,"deviation":"6.09","mealCarbs":10},{"_id":"6294f23fb23f340004e841eb","device":"AndroidAPS-DexcomG6","date":1653928462000,"dateString":"2022-05-30T16:34:22.000Z","isValid":true,"sgv":132,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:35:11.666Z","glucose":132,"avgDelta":"5.25","BGI":2.49,"deviation":"2.76","mealCarbs":10},{"_id":"6294f35555b9dd00048a547a","device":"AndroidAPS-DexcomG6","date":1653928761000,"dateString":"2022-05-30T16:39:21.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:39:49.489Z","glucose":128,"avgDelta":"1.25","BGI":2.2,"deviation":"-0.95","mealCarbs":10},{"_id":"6294f4db55b9dd00048a547d","device":"AndroidAPS-DexcomG6","date":1653929062000,"dateString":"2022-05-30T16:44:22.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:46:19.989Z","glucose":125,"avgDelta":"-1.50","BGI":1.95,"deviation":"-3.45","mealCarbs":10},{"_id":"6294f5bd55b9dd00048a547f","device":"AndroidAPS-DexcomG6","date":1653929361000,"dateString":"2022-05-30T16:49:21.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:50:05.068Z","glucose":123,"avgDelta":"-2.50","BGI":1.83,"deviation":"-4.33","mealCarbs":10},{"_id":"6294f6ea55b9dd00048a5481","device":"AndroidAPS-DexcomG6","date":1653929662000,"dateString":"2022-05-30T16:54:22.000Z","isValid":true,"sgv":121,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:55:06.087Z","glucose":121,"avgDelta":"-2.75","BGI":1.83,"deviation":"-4.58","mealCarbs":10},{"_id":"6294f7fe55b9dd00048a5483","device":"AndroidAPS-DexcomG6","date":1653929962000,"dateString":"2022-05-30T16:59:22.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:59:42.653Z","glucose":120,"avgDelta":"-2.00","BGI":1.78,"deviation":"-3.78","mealCarbs":10},{"_id":"6294f92d55b9dd00048a5486","device":"AndroidAPS-DexcomG6","date":1653930261000,"dateString":"2022-05-30T17:04:21.000Z","isValid":true,"sgv":120,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:04:45.622Z","glucose":120,"avgDelta":"-1.25","BGI":1.78,"deviation":"-3.03","mealCarbs":10},{"_id":"6294fa6255b9dd00048a5488","device":"AndroidAPS-DexcomG6","date":1653930562000,"dateString":"2022-05-30T17:09:22.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:09:54.701Z","glucose":119,"avgDelta":"-1.00","BGI":1.91,"deviation":"-2.91","mealCarbs":10},{"_id":"6294fb9155b9dd00048a548a","device":"AndroidAPS-DexcomG6","date":1653930862000,"dateString":"2022-05-30T17:14:22.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:14:57.054Z","glucose":119,"avgDelta":"-0.50","BGI":1.95,"deviation":"-2.45","mealCarbs":10},{"_id":"6294fcbf55b9dd00048a548c","device":"AndroidAPS-DexcomG6","date":1653931162000,"dateString":"2022-05-30T17:19:22.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:19:59.153Z","glucose":119,"avgDelta":"-0.25","BGI":1.99,"deviation":"-2.24","mealCarbs":10},{"_id":"6294fded55b9dd00048a548e","device":"AndroidAPS-DexcomG6","date":1653931462000,"dateString":"2022-05-30T17:24:22.000Z","isValid":true,"sgv":121,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:25:01.436Z","glucose":121,"avgDelta":"0.25","BGI":2.03,"deviation":"-1.78","mealCarbs":10},{"_id":"6294ff1c55b9dd00048a5490","device":"AndroidAPS-DexcomG6","date":1653931761000,"dateString":"2022-05-30T17:29:21.000Z","isValid":true,"sgv":123,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:30:04.244Z","glucose":123,"avgDelta":"1.00","BGI":1.99,"deviation":"-0.99","mealCarbs":10},{"_id":"6295003055b9dd00048a5493","device":"AndroidAPS-DexcomG6","date":1653932061000,"dateString":"2022-05-30T17:34:21.000Z","isValid":true,"sgv":125,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:34:40.905Z","glucose":125,"avgDelta":"1.50","BGI":1.95,"deviation":"-0.45","mealCarbs":10},{"_id":"6295015e55b9dd00048a5495","device":"AndroidAPS-DexcomG6","date":1653932362000,"dateString":"2022-05-30T17:39:22.000Z","isValid":true,"sgv":127,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:39:42.833Z","glucose":127,"avgDelta":"2.00","BGI":1.99,"deviation":"0.01","mealCarbs":10},{"_id":"6295029d409703000484d1b7","device":"AndroidAPS-DexcomG6","date":1653932662000,"dateString":"2022-05-30T17:44:22.000Z","isValid":true,"sgv":130,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:45:01.816Z","glucose":130,"avgDelta":"2.25","BGI":1.95,"deviation":"0.30","mealCarbs":0,"mealAbsorption":"end"},{"_id":"62953178e3aedd00046f3879","device":"AndroidAPS-DexcomG6","date":1653944662000,"dateString":"2022-05-30T21:04:22.000Z","isValid":true,"sgv":163,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:04:56.492Z","glucose":163,"avgDelta":"-2.50","BGI":-6.64,"deviation":"4.14","mealAbsorption":"start","mealCarbs":35},{"_id":"629532a6e3aedd00046f387c","device":"AndroidAPS-DexcomG6","date":1653944962000,"dateString":"2022-05-30T21:09:22.000Z","isValid":true,"sgv":161,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:09:58.543Z","glucose":161,"avgDelta":"-2.50","BGI":-11.7,"deviation":"9.20","mealCarbs":35},{"_id":"629533d3e3aedd00046f387e","device":"AndroidAPS-DexcomG6","date":1653945263000,"dateString":"2022-05-30T21:14:23.000Z","isValid":true,"sgv":162,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:14:59.957Z","glucose":162,"avgDelta":"-1.75","BGI":-15.52,"deviation":"13.77","mealCarbs":35},{"_id":"62953501e3aedd00046f3880","device":"AndroidAPS-DexcomG6","date":1653945562000,"dateString":"2022-05-30T21:19:22.000Z","isValid":true,"sgv":167,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:20:01.384Z","glucose":167,"avgDelta":"0.25","BGI":-18.39,"deviation":"18.64","mealCarbs":35},{"_id":"6295362fe3aedd00046f3884","device":"AndroidAPS-DexcomG6","date":1653945863000,"dateString":"2022-05-30T21:24:23.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:25:03.893Z","glucose":176,"avgDelta":"3.25","BGI":-20.5,"deviation":"23.75","mealCarbs":35},{"_id":"6295374986a3df0004eb44f6","device":"AndroidAPS-DexcomG6","date":1653946162000,"dateString":"2022-05-30T21:29:22.000Z","isValid":true,"sgv":187,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T21:29:45.117Z","glucose":187,"avgDelta":"6.50","BGI":-21.87,"deviation":"28.37","mealCarbs":35},{"_id":"6295387786a3df0004eb44f9","device":"AndroidAPS-DexcomG6","date":1653946462000,"dateString":"2022-05-30T21:34:22.000Z","isValid":true,"sgv":192,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T21:34:47.953Z","glucose":192,"avgDelta":"7.50","BGI":-22.83,"deviation":"30.33","mealCarbs":35},{"_id":"629539a586a3df0004eb44fb","device":"AndroidAPS-DexcomG6","date":1653946762000,"dateString":"2022-05-30T21:39:22.000Z","isValid":true,"sgv":188,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:39:49.822Z","glucose":188,"avgDelta":"5.25","BGI":-23.37,"deviation":"28.62","mealCarbs":35},{"_id":"62953ad486a3df0004eb44fd","device":"AndroidAPS-DexcomG6","date":1653947062000,"dateString":"2022-05-30T21:44:22.000Z","isValid":true,"sgv":181,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:44:52.471Z","glucose":181,"avgDelta":"1.25","BGI":-23.33,"deviation":"24.58","mealCarbs":35},{"_id":"62953c0286a3df0004eb4500","device":"AndroidAPS-DexcomG6","date":1653947361000,"dateString":"2022-05-30T21:49:21.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:49:54.555Z","glucose":177,"avgDelta":"-2.50","BGI":-23.08,"deviation":"20.58","mealCarbs":35},{"_id":"62953d3086a3df0004eb4502","device":"AndroidAPS-DexcomG6","date":1653947662000,"dateString":"2022-05-30T21:54:22.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:54:56.505Z","glucose":177,"avgDelta":"-3.75","BGI":-22.5,"deviation":"18.75","mealCarbs":35},{"_id":"62953e5d86a3df0004eb4504","device":"AndroidAPS-DexcomG6","date":1653947962000,"dateString":"2022-05-30T21:59:22.000Z","isValid":true,"sgv":181,"direction":"Flat","type":"sgv","created_at":"2022-05-30T21:59:57.963Z","glucose":181,"avgDelta":"-1.75","BGI":-21.71,"deviation":"19.96","mealCarbs":35},{"_id":"62953f7e1ded00000454b737","device":"AndroidAPS-DexcomG6","date":1653948262000,"dateString":"2022-05-30T22:04:22.000Z","isValid":true,"sgv":185,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:04:46.798Z","glucose":185,"avgDelta":"1.00","BGI":-20.8,"deviation":"21.80","mealCarbs":35},{"_id":"629540ac1ded00000454b739","device":"AndroidAPS-DexcomG6","date":1653948562000,"dateString":"2022-05-30T22:09:22.000Z","isValid":true,"sgv":188,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:09:48.384Z","glucose":188,"avgDelta":"2.75","BGI":-19.72,"deviation":"22.47","mealCarbs":35},{"_id":"629541da1ded00000454b73d","device":"AndroidAPS-DexcomG6","date":1653948861000,"dateString":"2022-05-30T22:14:21.000Z","isValid":true,"sgv":189,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:14:50.845Z","glucose":189,"avgDelta":"3.00","BGI":-18.64,"deviation":"21.64","mealCarbs":35},{"_id":"629543081ded00000454b740","device":"AndroidAPS-DexcomG6","date":1653949162000,"dateString":"2022-05-30T22:19:22.000Z","isValid":true,"sgv":188,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:19:52.210Z","glucose":188,"avgDelta":"1.75","BGI":-17.47,"deviation":"19.22","mealCarbs":35},{"_id":"629544361ded00000454b742","device":"AndroidAPS-DexcomG6","date":1653949462000,"dateString":"2022-05-30T22:24:22.000Z","isValid":true,"sgv":186,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:24:54.381Z","glucose":186,"avgDelta":"0.25","BGI":-16.27,"deviation":"16.52","mealCarbs":35},{"_id":"629545651ded00000454b744","device":"AndroidAPS-DexcomG6","date":1653949762000,"dateString":"2022-05-30T22:29:22.000Z","isValid":true,"sgv":183,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:29:57.528Z","glucose":183,"avgDelta":"-1.25","BGI":-15.03,"deviation":"13.78","mealCarbs":35},{"_id":"629546941ded00000454b746","device":"AndroidAPS-DexcomG6","date":1653950062000,"dateString":"2022-05-30T22:34:22.000Z","isValid":true,"sgv":180,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:35:00.013Z","glucose":180,"avgDelta":"-2.25","BGI":-13.82,"deviation":"11.57","mealCarbs":35},{"_id":"629547acf89bc40004df9f57","device":"AndroidAPS-DexcomG6","date":1653950362000,"dateString":"2022-05-30T22:39:22.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:39:40.750Z","glucose":177,"avgDelta":"-2.75","BGI":-12.58,"deviation":"9.83","mealCarbs":35},{"_id":"629548f3f89bc40004df9f5a","device":"AndroidAPS-DexcomG6","date":1653950662000,"dateString":"2022-05-30T22:44:22.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:45:07.405Z","glucose":174,"avgDelta":"-3.00","BGI":-11.41,"deviation":"8.41","mealCarbs":35},{"_id":"62954a21f89bc40004df9f5d","device":"AndroidAPS-DexcomG6","date":1653950961000,"dateString":"2022-05-30T22:49:21.000Z","isValid":true,"sgv":172,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:50:09.405Z","glucose":172,"avgDelta":"-2.75","BGI":-10.34,"deviation":"7.59","mealCarbs":35},{"_id":"62954b36f89bc40004df9f60","device":"AndroidAPS-DexcomG6","date":1653951262000,"dateString":"2022-05-30T22:54:22.000Z","isValid":true,"sgv":170,"direction":"Flat","type":"sgv","created_at":"2022-05-30T22:54:46.692Z","glucose":170,"avgDelta":"-2.50","BGI":-9.3,"deviation":"6.80","mealCarbs":35},{"_id":"6295687de4f1e400046e05b4","device":"AndroidAPS-DexcomG6","date":1653958762000,"dateString":"2022-05-31T00:59:22.000Z","isValid":true,"sgv":121,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-31T00:59:41.709Z","glucose":121,"avgDelta":"-14.00","BGI":-0.91,"deviation":"-13.09","mealCarbs":35},{"_id":"629569abe4f1e400046e05b8","device":"AndroidAPS-DexcomG6","date":1653959062000,"dateString":"2022-05-31T01:04:22.000Z","isValid":true,"sgv":117,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-31T01:04:43.046Z","glucose":117,"avgDelta":"-14.25","BGI":-0.95,"deviation":"-13.30","mealCarbs":35},{"_id":"62956adae4f1e400046e05bb","device":"AndroidAPS-DexcomG6","date":1653959362000,"dateString":"2022-05-31T01:09:22.000Z","isValid":true,"sgv":112,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-31T01:09:46.322Z","glucose":112,"avgDelta":"-15.00","BGI":-1,"deviation":"-14.00","mealCarbs":35},{"_id":"62956c07e4f1e400046e05be","device":"AndroidAPS-DexcomG6","date":1653959662000,"dateString":"2022-05-31T01:14:22.000Z","isValid":true,"sgv":108,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-31T01:14:47.990Z","glucose":108,"avgDelta":"-15.50","BGI":-1,"deviation":"-14.50","mealCarbs":35},{"_id":"62956d35e4f1e400046e05c1","device":"AndroidAPS-DexcomG6","date":1653959962000,"dateString":"2022-05-31T01:19:22.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:19:49.260Z","glucose":105,"avgDelta":"-4.00","BGI":-0.91,"deviation":"-3.09","mealCarbs":35},{"_id":"62956e62e4f1e400046e05c3","device":"AndroidAPS-DexcomG6","date":1653960262000,"dateString":"2022-05-31T01:24:22.000Z","isValid":true,"sgv":107,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:24:50.951Z","glucose":107,"avgDelta":"-2.50","BGI":-0.75,"deviation":"-1.75","mealCarbs":35},{"_id":"62956f90e4f1e400046e05c7","device":"AndroidAPS-DexcomG6","date":1653960561000,"dateString":"2022-05-31T01:29:21.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:29:52.070Z","glucose":112,"avgDelta":"0.00","BGI":-0.54,"deviation":"0.54","mealCarbs":35},{"_id":"629570bb9bc0370004b42b77","device":"AndroidAPS-DexcomG6","date":1653960862000,"dateString":"2022-05-31T01:34:22.000Z","isValid":true,"sgv":116,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:34:51.145Z","glucose":116,"avgDelta":"2.00","BGI":-0.5,"deviation":"2.50","mealCarbs":35},{"_id":"629571e89bc0370004b42b7a","device":"AndroidAPS-DexcomG6","date":1653961162000,"dateString":"2022-05-31T01:39:22.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:39:52.509Z","glucose":119,"avgDelta":"3.50","BGI":-0.58,"deviation":"4.08","mealCarbs":35},{"_id":"629573159bc0370004b42b7d","device":"AndroidAPS-DexcomG6","date":1653961462000,"dateString":"2022-05-31T01:44:22.000Z","isValid":true,"sgv":117,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:44:53.650Z","glucose":117,"avgDelta":"2.50","BGI":-0.71,"deviation":"3.21","mealCarbs":35},{"_id":"629574429bc0370004b42b80","device":"AndroidAPS-DexcomG6","date":1653961763000,"dateString":"2022-05-31T01:49:23.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:49:54.739Z","glucose":112,"avgDelta":"0.00","BGI":-0.83,"deviation":"0.83","mealCarbs":35},{"_id":"6295756f9bc0370004b42b83","device":"AndroidAPS-DexcomG6","date":1653962062000,"dateString":"2022-05-31T01:54:22.000Z","isValid":true,"sgv":103,"direction":"Flat","type":"sgv","created_at":"2022-05-31T01:54:55.893Z","glucose":103,"avgDelta":"-3.25","BGI":-0.83,"deviation":"-2.42","mealCarbs":35}],"ISFGlucoseData":[{"_id":"62943b53a743da00044e28e2","device":"AndroidAPS-DexcomG6","date":1653881661000,"dateString":"2022-05-30T03:34:21.000Z","isValid":true,"sgv":131,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:34:43.850Z","glucose":131,"avgDelta":"1.50","BGI":-1.62,"deviation":"3.12"},{"_id":"62943c81a743da00044e28e5","device":"AndroidAPS-DexcomG6","date":1653881961000,"dateString":"2022-05-30T03:39:21.000Z","isValid":true,"sgv":128,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:39:45.390Z","glucose":128,"avgDelta":"0.00","BGI":-2.32,"deviation":"2.32"},{"_id":"62943daea743da00044e28e7","device":"AndroidAPS-DexcomG6","date":1653882261000,"dateString":"2022-05-30T03:44:21.000Z","isValid":true,"sgv":126,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:44:46.579Z","glucose":126,"avgDelta":"-1.25","BGI":-2.78,"deviation":"1.53"},{"_id":"62943edca743da00044e28e9","device":"AndroidAPS-DexcomG6","date":1653882561000,"dateString":"2022-05-30T03:49:21.000Z","isValid":true,"sgv":124,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:49:48.266Z","glucose":124,"avgDelta":"-1.75","BGI":-3.07,"deviation":"1.32"},{"_id":"6294400aa743da00044e28eb","device":"AndroidAPS-DexcomG6","date":1653882861000,"dateString":"2022-05-30T03:54:21.000Z","isValid":true,"sgv":121,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:54:50.162Z","glucose":121,"avgDelta":"-2.50","BGI":-3.15,"deviation":"0.65"},{"_id":"6294413fc319020004344fb0","device":"AndroidAPS-DexcomG6","date":1653883161000,"dateString":"2022-05-30T03:59:21.000Z","isValid":true,"sgv":119,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:59:59.474Z","glucose":119,"avgDelta":"-2.25","BGI":-3.15,"deviation":"0.90"},{"_id":"6294426dc319020004344fb4","device":"AndroidAPS-DexcomG6","date":1653883461000,"dateString":"2022-05-30T04:04:21.000Z","isValid":true,"sgv":116,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:05:01.284Z","glucose":116,"avgDelta":"-2.50","BGI":-3.07,"deviation":"0.57"},{"_id":"6294439ac319020004344fb7","device":"AndroidAPS-DexcomG6","date":1653883761000,"dateString":"2022-05-30T04:09:21.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:10:02.526Z","glucose":115,"avgDelta":"-2.25","BGI":-2.95,"deviation":"0.70"},{"_id":"629444afc319020004344fba","device":"AndroidAPS-DexcomG6","date":1653884061000,"dateString":"2022-05-30T04:14:21.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:14:39.235Z","glucose":114,"avgDelta":"-1.75","BGI":-2.82,"deviation":"1.07"},{"_id":"629445f6c319020004344fbe","device":"AndroidAPS-DexcomG6","date":1653884361000,"dateString":"2022-05-30T04:19:21.000Z","isValid":true,"sgv":115,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:20:06.094Z","glucose":115,"avgDelta":"-1.00","BGI":-2.78,"deviation":"1.78"},{"_id":"6294470ac319020004344fc1","device":"AndroidAPS-DexcomG6","date":1653884661000,"dateString":"2022-05-30T04:24:21.000Z","isValid":true,"sgv":114,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:24:42.523Z","glucose":114,"avgDelta":"-0.50","BGI":-2.82,"deviation":"2.32"},{"_id":"62944846c0f24700048ea5e4","device":"AndroidAPS-DexcomG6","date":1653884961000,"dateString":"2022-05-30T04:29:21.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:29:58.536Z","glucose":112,"avgDelta":"-0.75","BGI":-2.99,"deviation":"2.24"},{"_id":"62944973c0f24700048ea5e7","device":"AndroidAPS-DexcomG6","date":1653885261000,"dateString":"2022-05-30T04:34:21.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:34:59.937Z","glucose":112,"avgDelta":"-0.50","BGI":-3.03,"deviation":"2.53"},{"_id":"62944aa1c0f24700048ea5e9","device":"AndroidAPS-DexcomG6","date":1653885561000,"dateString":"2022-05-30T04:39:21.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:40:01.830Z","glucose":112,"avgDelta":"-0.75","BGI":-2.99,"deviation":"2.24"},{"_id":"62944bb6c0f24700048ea5ee","device":"AndroidAPS-DexcomG6","date":1653885861000,"dateString":"2022-05-30T04:44:21.000Z","isValid":true,"sgv":112,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:44:38.372Z","glucose":112,"avgDelta":"-0.50","BGI":-3.03,"deviation":"2.53"},{"_id":"62944ce3c0f24700048ea5f1","device":"AndroidAPS-DexcomG6","date":1653886161000,"dateString":"2022-05-30T04:49:21.000Z","isValid":true,"sgv":110,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:49:39.435Z","glucose":110,"avgDelta":"-0.50","BGI":-3.11,"deviation":"2.61"},{"_id":"62944e11c0f24700048ea5f3","device":"AndroidAPS-DexcomG6","date":1653886461000,"dateString":"2022-05-30T04:54:21.000Z","isValid":true,"sgv":108,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:54:41.186Z","glucose":108,"avgDelta":"-1.00","BGI":-3.07,"deviation":"2.07"},{"_id":"62944f3fc0f24700048ea5f6","device":"AndroidAPS-DexcomG6","date":1653886761000,"dateString":"2022-05-30T04:59:21.000Z","isValid":true,"sgv":105,"direction":"Flat","type":"sgv","created_at":"2022-05-30T04:59:43.617Z","glucose":105,"avgDelta":"-1.75","BGI":-2.95,"deviation":"1.20"},{"_id":"6294506dc0f24700048ea5f8","device":"AndroidAPS-DexcomG6","date":1653887061000,"dateString":"2022-05-30T05:04:21.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:04:45.582Z","glucose":102,"avgDelta":"-2.50","BGI":-2.82,"deviation":"0.32"},{"_id":"629451ab13be4d00048f99d4","device":"AndroidAPS-DexcomG6","date":1653887361000,"dateString":"2022-05-30T05:09:21.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:10:03.174Z","glucose":99,"avgDelta":"-2.75","BGI":-2.66,"deviation":"-0.09"},{"_id":"629452bf13be4d00048f99d7","device":"AndroidAPS-DexcomG6","date":1653887661000,"dateString":"2022-05-30T05:14:21.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:14:39.295Z","glucose":98,"avgDelta":"-2.50","BGI":-2.45,"deviation":"-0.05"},{"_id":"6294540513be4d00048f99d9","device":"AndroidAPS-DexcomG6","date":1653887961000,"dateString":"2022-05-30T05:19:21.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:20:05.981Z","glucose":99,"avgDelta":"-1.50","BGI":-2.2,"deviation":"0.70"},{"_id":"6294551a13be4d00048f99dd","device":"AndroidAPS-DexcomG6","date":1653888261000,"dateString":"2022-05-30T05:24:21.000Z","isValid":true,"sgv":100,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:24:42.074Z","glucose":100,"avgDelta":"-0.50","BGI":-1.99,"deviation":"1.49"},{"_id":"6294564813be4d00048f99e0","device":"AndroidAPS-DexcomG6","date":1653888561000,"dateString":"2022-05-30T05:29:21.000Z","isValid":true,"sgv":101,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:29:44.188Z","glucose":101,"avgDelta":"0.50","BGI":-1.99,"deviation":"2.49"},{"_id":"6294577513be4d00048f99e3","device":"AndroidAPS-DexcomG6","date":1653888862000,"dateString":"2022-05-30T05:34:22.000Z","isValid":true,"sgv":99,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:34:45.547Z","glucose":99,"avgDelta":"0.25","BGI":-1.91,"deviation":"2.16"},{"_id":"629458b0d2cadd0004350d76","device":"AndroidAPS-DexcomG6","date":1653889161000,"dateString":"2022-05-30T05:39:21.000Z","isValid":true,"sgv":98,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:40:00.401Z","glucose":98,"avgDelta":"-0.25","BGI":-1.83,"deviation":"1.58"},{"_id":"629459ddd2cadd0004350d7a","device":"AndroidAPS-DexcomG6","date":1653889461000,"dateString":"2022-05-30T05:44:21.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:45:01.449Z","glucose":96,"avgDelta":"-1.00","BGI":-1.66,"deviation":"0.66"},{"_id":"62945b0bd2cadd0004350d7d","device":"AndroidAPS-DexcomG6","date":1653889761000,"dateString":"2022-05-30T05:49:21.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:50:03.127Z","glucose":94,"avgDelta":"-1.75","BGI":-1.49,"deviation":"-0.26"},{"_id":"62948d5d76174b0004fbd225","device":"AndroidAPS-DexcomG6","date":1653902661000,"dateString":"2022-05-30T09:24:21.000Z","isValid":true,"sgv":138,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:24:45.006Z","glucose":138,"avgDelta":"-9.25","BGI":-6.77,"deviation":"-2.48"},{"_id":"62948ebc76174b0004fbd227","device":"AndroidAPS-DexcomG6","date":1653902961000,"dateString":"2022-05-30T09:29:21.000Z","isValid":true,"sgv":131,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:30:36.089Z","glucose":131,"avgDelta":"-8.75","BGI":-5.94,"deviation":"-2.81"},{"_id":"62948fb776174b0004fbd229","device":"AndroidAPS-DexcomG6","date":1653903261000,"dateString":"2022-05-30T09:34:21.000Z","isValid":true,"sgv":125,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:34:47.315Z","glucose":125,"avgDelta":"-7.75","BGI":-5.19,"deviation":"-2.56"},{"_id":"629490e476174b0004fbd22b","device":"AndroidAPS-DexcomG6","date":1653903561000,"dateString":"2022-05-30T09:39:21.000Z","isValid":true,"sgv":119,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:39:48.475Z","glucose":119,"avgDelta":"-6.75","BGI":-4.44,"deviation":"-2.31"},{"_id":"6294920b5989a90004f0c223","device":"AndroidAPS-DexcomG6","date":1653903861000,"dateString":"2022-05-30T09:44:21.000Z","isValid":true,"sgv":112,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:44:43.997Z","glucose":112,"avgDelta":"-6.50","BGI":-3.65,"deviation":"-2.85"},{"_id":"629493395989a90004f0c225","device":"AndroidAPS-DexcomG6","date":1653904161000,"dateString":"2022-05-30T09:49:21.000Z","isValid":true,"sgv":107,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:49:45.193Z","glucose":107,"avgDelta":"-6.00","BGI":-2.99,"deviation":"-3.01"},{"_id":"629494665989a90004f0c228","device":"AndroidAPS-DexcomG6","date":1653904461000,"dateString":"2022-05-30T09:54:21.000Z","isValid":true,"sgv":102,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T09:54:46.582Z","glucose":102,"avgDelta":"-5.75","BGI":-2.32,"deviation":"-3.43"},{"_id":"629495ac5989a90004f0c22a","device":"AndroidAPS-DexcomG6","date":1653904761000,"dateString":"2022-05-30T09:59:21.000Z","isValid":true,"sgv":99,"direction":"FortyFiveDown","type":"sgv","created_at":"2022-05-30T10:00:12.873Z","glucose":99,"avgDelta":"-5.00","BGI":-1.66,"deviation":"-3.34"},{"_id":"6294d281dac1e20004fde596","device":"AndroidAPS-DexcomG6","date":1653920361000,"dateString":"2022-05-30T14:19:21.000Z","isValid":true,"sgv":97,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:19:45.303Z","glucose":97,"avgDelta":"-3.25","BGI":-5.85,"deviation":"2.60"},{"_id":"6294d3aedac1e20004fde598","device":"AndroidAPS-DexcomG6","date":1653920661000,"dateString":"2022-05-30T14:24:21.000Z","isValid":true,"sgv":93,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:24:46.261Z","glucose":93,"avgDelta":"-3.25","BGI":-4.98,"deviation":"1.73"},{"_id":"6294d4dbdac1e20004fde59a","device":"AndroidAPS-DexcomG6","date":1653920961000,"dateString":"2022-05-30T14:29:21.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:29:47.439Z","glucose":89,"avgDelta":"-3.50","BGI":-4.23,"deviation":"0.73"},{"_id":"6294d6005f047100042886ba","device":"AndroidAPS-DexcomG6","date":1653921261000,"dateString":"2022-05-30T14:34:21.000Z","isValid":true,"sgv":87,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:34:40.716Z","glucose":87,"avgDelta":"-3.25","BGI":-3.53,"deviation":"0.28"},{"_id":"6294d72e5f047100042886bc","device":"AndroidAPS-DexcomG6","date":1653921561000,"dateString":"2022-05-30T14:39:21.000Z","isValid":true,"sgv":85,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:39:42.170Z","glucose":85,"avgDelta":"-3.00","BGI":-2.82,"deviation":"-0.18"},{"_id":"6294d85b5f047100042886be","device":"AndroidAPS-DexcomG6","date":1653921862000,"dateString":"2022-05-30T14:44:22.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:44:43.154Z","glucose":84,"avgDelta":"-2.25","BGI":-2.2,"deviation":"-0.05"},{"_id":"6294da065f047100042886c0","device":"AndroidAPS-DexcomG6","date":1653922161000,"dateString":"2022-05-30T14:49:21.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:51:50.006Z","glucose":82,"avgDelta":"-1.75","BGI":-1.62,"deviation":"-0.13"}],"basalGlucoseData":[{"_id":"62942af6ee9e6e00046d7fe8","device":"AndroidAPS-DexcomG6","date":1653877461000,"dateString":"2022-05-30T02:24:21.000Z","isValid":true,"sgv":76,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:24:54.787Z","glucose":76,"avgDelta":"2.25","BGI":6.52,"deviation":"-4.27"},{"_id":"62942c24ee9e6e00046d7fea","device":"AndroidAPS-DexcomG6","date":1653877761000,"dateString":"2022-05-30T02:29:21.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:29:56.392Z","glucose":78,"avgDelta":"1.75","BGI":6.56,"deviation":"-4.81"},{"_id":"62942d51ee9e6e00046d7fec","device":"AndroidAPS-DexcomG6","date":1653878061000,"dateString":"2022-05-30T02:34:21.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:34:57.498Z","glucose":82,"avgDelta":"2.00","BGI":6.56,"deviation":"-4.56"},{"_id":"62942e7fee9e6e00046d7fef","device":"AndroidAPS-DexcomG6","date":1653878361000,"dateString":"2022-05-30T02:39:21.000Z","isValid":true,"sgv":86,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:39:59.070Z","glucose":86,"avgDelta":"2.75","BGI":6.56,"deviation":"-3.81"},{"_id":"62942facee9e6e00046d7ff2","device":"AndroidAPS-DexcomG6","date":1653878661000,"dateString":"2022-05-30T02:44:21.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:45:00.369Z","glucose":91,"avgDelta":"3.75","BGI":6.52,"deviation":"-2.77"},{"_id":"629430c1ee9e6e00046d7ff7","device":"AndroidAPS-DexcomG6","date":1653878961000,"dateString":"2022-05-30T02:49:21.000Z","isValid":true,"sgv":96,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:49:37.117Z","glucose":96,"avgDelta":"4.50","BGI":6.27,"deviation":"-1.77"},{"_id":"629431f9a365640004d83cb9","device":"AndroidAPS-DexcomG6","date":1653879261000,"dateString":"2022-05-30T02:54:21.000Z","isValid":true,"sgv":102,"direction":"Flat","type":"sgv","created_at":"2022-05-30T02:54:49.321Z","glucose":102,"avgDelta":"5.00","BGI":5.77,"deviation":"-0.77"},{"_id":"62943327a365640004d83cbe","device":"AndroidAPS-DexcomG6","date":1653879561000,"dateString":"2022-05-30T02:59:21.000Z","isValid":true,"sgv":108,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T02:59:51.442Z","glucose":108,"avgDelta":"5.50","BGI":5.11,"deviation":"0.39"},{"_id":"62943454a365640004d83cc0","device":"AndroidAPS-DexcomG6","date":1653879861000,"dateString":"2022-05-30T03:04:21.000Z","isValid":true,"sgv":114,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T03:04:52.790Z","glucose":114,"avgDelta":"5.75","BGI":4.23,"deviation":"1.52"},{"_id":"62943582a365640004d83cc3","device":"AndroidAPS-DexcomG6","date":1653880161000,"dateString":"2022-05-30T03:09:21.000Z","isValid":true,"sgv":119,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T03:09:54.494Z","glucose":119,"avgDelta":"5.75","BGI":3.32,"deviation":"2.43"},{"_id":"629436b0a365640004d83cc5","device":"AndroidAPS-DexcomG6","date":1653880461000,"dateString":"2022-05-30T03:14:21.000Z","isValid":true,"sgv":125,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T03:14:56.027Z","glucose":125,"avgDelta":"5.75","BGI":2.41,"deviation":"3.34"},{"_id":"629437dfa365640004d83cc9","device":"AndroidAPS-DexcomG6","date":1653880761000,"dateString":"2022-05-30T03:19:21.000Z","isValid":true,"sgv":128,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T03:19:59.695Z","glucose":128,"avgDelta":"5.00","BGI":1.37,"deviation":"3.63"},{"_id":"629438f8a743da00044e28dc","device":"AndroidAPS-DexcomG6","date":1653881062000,"dateString":"2022-05-30T03:24:22.000Z","isValid":true,"sgv":131,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:24:40.834Z","glucose":131,"avgDelta":"4.25","BGI":0.17,"deviation":"4.08"},{"_id":"62943a26a743da00044e28de","device":"AndroidAPS-DexcomG6","date":1653881361000,"dateString":"2022-05-30T03:29:21.000Z","isValid":true,"sgv":131,"direction":"Flat","type":"sgv","created_at":"2022-05-30T03:29:42.328Z","glucose":131,"avgDelta":"3.00","BGI":-0.75,"deviation":"3.75"},{"_id":"62945c38d2cadd0004350d80","device":"AndroidAPS-DexcomG6","date":1653890061000,"dateString":"2022-05-30T05:54:21.000Z","isValid":true,"sgv":92,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:55:04.735Z","glucose":92,"avgDelta":"-1.75","BGI":-1.25,"deviation":"-0.50"},{"_id":"62945d4dd2cadd0004350d83","device":"AndroidAPS-DexcomG6","date":1653890361000,"dateString":"2022-05-30T05:59:21.000Z","isValid":true,"sgv":90,"direction":"Flat","type":"sgv","created_at":"2022-05-30T05:59:41.863Z","glucose":90,"avgDelta":"-2.00","BGI":-1.08,"deviation":"-0.92"},{"_id":"62945e7cd2cadd0004350d86","device":"AndroidAPS-DexcomG6","date":1653890661000,"dateString":"2022-05-30T06:04:21.000Z","isValid":true,"sgv":89,"direction":"Flat","type":"sgv","created_at":"2022-05-30T06:04:44.141Z","glucose":89,"avgDelta":"-1.75","BGI":-0.83,"deviation":"-0.92"},{"_id":"629496c15989a90004f0c22d","device":"AndroidAPS-DexcomG6","date":1653905061000,"dateString":"2022-05-30T10:04:21.000Z","isValid":true,"sgv":94,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:04:49.010Z","glucose":94,"avgDelta":"-4.50","BGI":-1.12,"deviation":"-3.38"},{"_id":"629497ee5989a90004f0c230","device":"AndroidAPS-DexcomG6","date":1653905362000,"dateString":"2022-05-30T10:09:22.000Z","isValid":true,"sgv":91,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:09:50.202Z","glucose":91,"avgDelta":"-4.00","BGI":-0.62,"deviation":"-3.38"},{"_id":"6294991b5989a90004f0c233","device":"AndroidAPS-DexcomG6","date":1653905661000,"dateString":"2022-05-30T10:14:21.000Z","isValid":true,"sgv":87,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:14:51.432Z","glucose":87,"avgDelta":"-3.75","BGI":-0.21,"deviation":"-3.54"},{"_id":"62949a4ac2e464000413b79a","device":"AndroidAPS-DexcomG6","date":1653905961000,"dateString":"2022-05-30T10:19:21.000Z","isValid":true,"sgv":84,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:19:54.421Z","glucose":84,"avgDelta":"-3.75","BGI":0.17,"deviation":"-3.92"},{"_id":"62949b77c2e464000413b79d","device":"AndroidAPS-DexcomG6","date":1653906262000,"dateString":"2022-05-30T10:24:22.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:24:55.547Z","glucose":82,"avgDelta":"-3.00","BGI":0.46,"deviation":"-3.46"},{"_id":"62949ca4c2e464000413b79f","device":"AndroidAPS-DexcomG6","date":1653906561000,"dateString":"2022-05-30T10:29:21.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:29:56.711Z","glucose":80,"avgDelta":"-2.75","BGI":0.79,"deviation":"-3.54"},{"_id":"62949debc2e464000413b7a1","device":"AndroidAPS-DexcomG6","date":1653906861000,"dateString":"2022-05-30T10:34:21.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:35:23.163Z","glucose":79,"avgDelta":"-2.00","BGI":1,"deviation":"-3.00"},{"_id":"62949f00c2e464000413b7a3","device":"AndroidAPS-DexcomG6","date":1653907162000,"dateString":"2022-05-30T10:39:22.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","created_at":"2022-05-30T10:40:00.055Z","glucose":78,"avgDelta":"-1.50","BGI":1.29,"deviation":"-2.79"},{"_id":"6294db4c5f047100042886c3","device":"AndroidAPS-DexcomG6","date":1653922461000,"dateString":"2022-05-30T14:54:21.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","created_at":"2022-05-30T14:57:16.389Z","glucose":81,"avgDelta":"-1.50","BGI":-1,"deviation":"-0.50"},{"_id":"6294dcde5f047100042886c5","device":"AndroidAPS-DexcomG6","date":1653922761000,"dateString":"2022-05-30T14:59:21.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:03:58.124Z","glucose":79,"avgDelta":"-1.50","BGI":-0.46,"deviation":"-1.04"},{"_id":"6294ddc7706f120004b7d152","device":"AndroidAPS-DexcomG6","date":1653923061000,"dateString":"2022-05-30T15:04:21.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:07:51.780Z","glucose":79,"avgDelta":"-1.25","BGI":0.04,"deviation":"-1.29"},{"_id":"6294df40706f120004b7d154","device":"AndroidAPS-DexcomG6","date":1653923361000,"dateString":"2022-05-30T15:09:21.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:14:08.395Z","glucose":79,"avgDelta":"-0.75","BGI":0.5,"deviation":"-1.25"},{"_id":"6294dfbd706f120004b7d156","device":"AndroidAPS-DexcomG6","date":1653923662000,"dateString":"2022-05-30T15:14:22.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:16:13.728Z","glucose":80,"avgDelta":"-0.25","BGI":0.95,"deviation":"-1.20"},{"_id":"6294e09f706f120004b7d158","device":"AndroidAPS-DexcomG6","date":1653923961000,"dateString":"2022-05-30T15:19:21.000Z","isValid":true,"sgv":80,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:19:59.752Z","glucose":80,"avgDelta":"0.25","BGI":1.33,"deviation":"-1.08"},{"_id":"6294e1cd706f120004b7d15a","device":"AndroidAPS-DexcomG6","date":1653924262000,"dateString":"2022-05-30T15:24:22.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:25:01.236Z","glucose":79,"avgDelta":"0.00","BGI":1.66,"deviation":"-1.66"},{"_id":"6294e2fa706f120004b7d15c","device":"AndroidAPS-DexcomG6","date":1653924562000,"dateString":"2022-05-30T15:29:22.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:30:02.194Z","glucose":78,"avgDelta":"-0.25","BGI":2.08,"deviation":"-2.33"},{"_id":"6294e427706f120004b7d15f","device":"AndroidAPS-DexcomG6","date":1653924862000,"dateString":"2022-05-30T15:34:22.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:35:03.426Z","glucose":77,"avgDelta":"-0.75","BGI":2.41,"deviation":"-3.16"},{"_id":"6294e554706f120004b7d161","device":"AndroidAPS-DexcomG6","date":1653925162000,"dateString":"2022-05-30T15:39:22.000Z","isValid":true,"sgv":77,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:40:04.657Z","glucose":77,"avgDelta":"-0.75","BGI":2.7,"deviation":"-3.45"},{"_id":"6294e66eb23f340004e841cf","device":"AndroidAPS-DexcomG6","date":1653925462000,"dateString":"2022-05-30T15:44:22.000Z","isValid":true,"sgv":78,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:44:46.677Z","glucose":78,"avgDelta":"-0.25","BGI":2.99,"deviation":"-3.24"},{"_id":"6294e79bb23f340004e841d1","device":"AndroidAPS-DexcomG6","date":1653925761000,"dateString":"2022-05-30T15:49:21.000Z","isValid":true,"sgv":79,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:49:47.886Z","glucose":79,"avgDelta":"0.25","BGI":3.24,"deviation":"-2.99"},{"_id":"6294e8c9b23f340004e841d3","device":"AndroidAPS-DexcomG6","date":1653926062000,"dateString":"2022-05-30T15:54:22.000Z","isValid":true,"sgv":81,"direction":"Flat","type":"sgv","created_at":"2022-05-30T15:54:49.400Z","glucose":81,"avgDelta":"1.00","BGI":3.4,"deviation":"-2.40"},{"_id":"6294ea10b23f340004e841d5","device":"AndroidAPS-DexcomG6","date":1653926362000,"dateString":"2022-05-30T15:59:22.000Z","isValid":true,"sgv":82,"direction":"Flat","type":"sgv","created_at":"2022-05-30T16:00:16.597Z","glucose":82,"avgDelta":"1.25","BGI":3.69,"deviation":"-2.44"},{"_id":"629503cb409703000484d1ba","device":"AndroidAPS-DexcomG6","date":1653932962000,"dateString":"2022-05-30T17:49:22.000Z","isValid":true,"sgv":133,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:50:03.997Z","glucose":133,"avgDelta":"2.50","BGI":1.87,"deviation":"0.63"},{"_id":"629504e1409703000484d1be","device":"AndroidAPS-DexcomG6","date":1653933262000,"dateString":"2022-05-30T17:54:22.000Z","isValid":true,"sgv":135,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:54:41.141Z","glucose":135,"avgDelta":"2.50","BGI":1.74,"deviation":"0.76"},{"_id":"6295060f409703000484d1c1","device":"AndroidAPS-DexcomG6","date":1653933562000,"dateString":"2022-05-30T17:59:22.000Z","isValid":true,"sgv":136,"direction":"Flat","type":"sgv","created_at":"2022-05-30T17:59:43.089Z","glucose":136,"avgDelta":"2.25","BGI":1.62,"deviation":"0.63"},{"_id":"6295073d409703000484d1c4","device":"AndroidAPS-DexcomG6","date":1653933862000,"dateString":"2022-05-30T18:04:22.000Z","isValid":true,"sgv":137,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:04:45.808Z","glucose":137,"avgDelta":"1.75","BGI":1.58,"deviation":"0.17"},{"_id":"6295086b409703000484d1c6","device":"AndroidAPS-DexcomG6","date":1653934162000,"dateString":"2022-05-30T18:09:22.000Z","isValid":true,"sgv":140,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:09:47.806Z","glucose":140,"avgDelta":"1.75","BGI":1.49,"deviation":"0.26"},{"_id":"6295099a409703000484d1c9","device":"AndroidAPS-DexcomG6","date":1653934461000,"dateString":"2022-05-30T18:14:21.000Z","isValid":true,"sgv":144,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:14:50.027Z","glucose":144,"avgDelta":"2.25","BGI":1.45,"deviation":"0.80"},{"_id":"62950acb0f8c2e000428308d","device":"AndroidAPS-DexcomG6","date":1653934761000,"dateString":"2022-05-30T18:19:21.000Z","isValid":true,"sgv":147,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:19:55.662Z","glucose":147,"avgDelta":"2.75","BGI":1.37,"deviation":"1.38"},{"_id":"62950bf90f8c2e0004283091","device":"AndroidAPS-DexcomG6","date":1653935062000,"dateString":"2022-05-30T18:24:22.000Z","isValid":true,"sgv":150,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:24:57.761Z","glucose":150,"avgDelta":"3.25","BGI":1.16,"deviation":"2.09"},{"_id":"62950d280f8c2e0004283094","device":"AndroidAPS-DexcomG6","date":1653935363000,"dateString":"2022-05-30T18:29:23.000Z","isValid":true,"sgv":156,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:30:00.224Z","glucose":156,"avgDelta":"4.00","BGI":0.91,"deviation":"3.09"},{"_id":"62950e3d0f8c2e0004283099","device":"AndroidAPS-DexcomG6","date":1653935663000,"dateString":"2022-05-30T18:34:23.000Z","isValid":true,"sgv":164,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T18:34:37.460Z","glucose":164,"avgDelta":"5.00","BGI":0.58,"deviation":"4.42"},{"_id":"62950f6b0f8c2e000428309c","device":"AndroidAPS-DexcomG6","date":1653935962000,"dateString":"2022-05-30T18:39:22.000Z","isValid":true,"sgv":172,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T18:39:39.460Z","glucose":172,"avgDelta":"6.25","BGI":0.12,"deviation":"6.13","uamAbsorption":"start"},{"_id":"629510990f8c2e000428309f","device":"AndroidAPS-DexcomG6","date":1653936262000,"dateString":"2022-05-30T18:44:22.000Z","isValid":true,"sgv":175,"direction":"FortyFiveUp","type":"sgv","created_at":"2022-05-30T18:44:41.570Z","glucose":175,"avgDelta":"6.25","BGI":-1.04,"deviation":"7.29"},{"_id":"629511c70f8c2e00042830a2","device":"AndroidAPS-DexcomG6","date":1653936563000,"dateString":"2022-05-30T18:49:23.000Z","isValid":true,"sgv":177,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:49:43.497Z","glucose":177,"avgDelta":"5.25","BGI":-2.08,"deviation":"7.33"},{"_id":"629512fcf63c010004ea5cf7","device":"AndroidAPS-DexcomG6","date":1653936863000,"dateString":"2022-05-30T18:54:23.000Z","isValid":true,"sgv":179,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:54:52.395Z","glucose":179,"avgDelta":"3.75","BGI":-2.86,"deviation":"6.61"},{"_id":"6295142af63c010004ea5cfa","device":"AndroidAPS-DexcomG6","date":1653937162000,"dateString":"2022-05-30T18:59:22.000Z","isValid":true,"sgv":180,"direction":"Flat","type":"sgv","created_at":"2022-05-30T18:59:54.428Z","glucose":180,"avgDelta":"2.00","BGI":-3.45,"deviation":"5.45"},{"_id":"62951558f63c010004ea5cfc","device":"AndroidAPS-DexcomG6","date":1653937462000,"dateString":"2022-05-30T19:04:22.000Z","isValid":true,"sgv":181,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:04:56.708Z","glucose":181,"avgDelta":"1.50","BGI":-3.78,"deviation":"5.28"},{"_id":"62951683f63c010004ea5cff","device":"AndroidAPS-DexcomG6","date":1653937762000,"dateString":"2022-05-30T19:09:22.000Z","isValid":true,"sgv":181,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:09:55.010Z","glucose":181,"avgDelta":"1.00","BGI":-4.03,"deviation":"5.03"},{"_id":"629517b0f63c010004ea5d01","device":"AndroidAPS-DexcomG6","date":1653938062000,"dateString":"2022-05-30T19:14:22.000Z","isValid":true,"sgv":182,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:14:56.712Z","glucose":182,"avgDelta":"0.75","BGI":-4.11,"deviation":"4.86"},{"_id":"629518def63c010004ea5d04","device":"AndroidAPS-DexcomG6","date":1653938362000,"dateString":"2022-05-30T19:19:22.000Z","isValid":true,"sgv":183,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:19:58.457Z","glucose":183,"avgDelta":"0.75","BGI":-4.11,"deviation":"4.86"},{"_id":"62951a0ef63c010004ea5d08","device":"AndroidAPS-DexcomG6","date":1653938661000,"dateString":"2022-05-30T19:24:21.000Z","isValid":true,"sgv":184,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:25:02.070Z","glucose":184,"avgDelta":"0.75","BGI":-4.23,"deviation":"4.98"},{"_id":"62951b23f63c010004ea5d0b","device":"AndroidAPS-DexcomG6","date":1653938962000,"dateString":"2022-05-30T19:29:22.000Z","isValid":true,"sgv":185,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:29:39.093Z","glucose":185,"avgDelta":"1.00","BGI":-4.32,"deviation":"5.32"},{"_id":"62951c51f63c010004ea5d0f","device":"AndroidAPS-DexcomG6","date":1653939262000,"dateString":"2022-05-30T19:34:22.000Z","isValid":true,"sgv":186,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:34:41.514Z","glucose":186,"avgDelta":"1.00","BGI":-4.48,"deviation":"5.48"},{"_id":"62951d7ff63c010004ea5d12","device":"AndroidAPS-DexcomG6","date":1653939561000,"dateString":"2022-05-30T19:39:21.000Z","isValid":true,"sgv":187,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:39:43.397Z","glucose":187,"avgDelta":"1.00","BGI":-4.57,"deviation":"5.57"},{"_id":"62951eddf63c010004ea5d16","device":"AndroidAPS-DexcomG6","date":1653939861000,"dateString":"2022-05-30T19:44:21.000Z","isValid":true,"sgv":186,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:45:33.306Z","glucose":186,"avgDelta":"0.50","BGI":-4.73,"deviation":"5.23"},{"_id":"62951fd8f63c010004ea5d1a","device":"AndroidAPS-DexcomG6","date":1653940161000,"dateString":"2022-05-30T19:49:21.000Z","isValid":true,"sgv":185,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:49:44.530Z","glucose":185,"avgDelta":"0.00","BGI":-4.9,"deviation":"4.90"},{"_id":"6295211ef63c010004ea5d1c","device":"AndroidAPS-DexcomG6","date":1653940461000,"dateString":"2022-05-30T19:54:21.000Z","isValid":true,"sgv":184,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:55:10.510Z","glucose":184,"avgDelta":"-0.50","BGI":-4.98,"deviation":"4.48"},{"_id":"62952232f63c010004ea5d1f","device":"AndroidAPS-DexcomG6","date":1653940762000,"dateString":"2022-05-30T19:59:22.000Z","isValid":true,"sgv":183,"direction":"Flat","type":"sgv","created_at":"2022-05-30T19:59:46.536Z","glucose":183,"avgDelta":"-1.00","BGI":-4.94,"deviation":"3.94"},{"_id":"62952379f63c010004ea5d22","device":"AndroidAPS-DexcomG6","date":1653941062000,"dateString":"2022-05-30T20:04:22.000Z","isValid":true,"sgv":182,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:05:13.099Z","glucose":182,"avgDelta":"-1.00","BGI":-4.77,"deviation":"3.77"},{"_id":"629524a6f63c010004ea5d26","device":"AndroidAPS-DexcomG6","date":1653941361000,"dateString":"2022-05-30T20:09:21.000Z","isValid":true,"sgv":181,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:10:14.057Z","glucose":181,"avgDelta":"-1.00","BGI":-4.65,"deviation":"3.65"},{"_id":"629525baf63c010004ea5d29","device":"AndroidAPS-DexcomG6","date":1653941662000,"dateString":"2022-05-30T20:14:22.000Z","isValid":true,"sgv":180,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:14:50.164Z","glucose":180,"avgDelta":"-1.00","BGI":-4.44,"deviation":"3.44"},{"_id":"629526eee3aedd00046f3855","device":"AndroidAPS-DexcomG6","date":1653941961000,"dateString":"2022-05-30T20:19:21.000Z","isValid":true,"sgv":179,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:19:58.496Z","glucose":179,"avgDelta":"-1.00","BGI":-4.36,"deviation":"3.36"},{"_id":"6295284ee3aedd00046f3858","device":"AndroidAPS-DexcomG6","date":1653942262000,"dateString":"2022-05-30T20:24:22.000Z","isValid":true,"sgv":178,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:25:50.333Z","glucose":178,"avgDelta":"-1.00","BGI":-4.32,"deviation":"3.32"},{"_id":"62952949e3aedd00046f385c","device":"AndroidAPS-DexcomG6","date":1653942563000,"dateString":"2022-05-30T20:29:23.000Z","isValid":true,"sgv":176,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:30:01.193Z","glucose":176,"avgDelta":"-1.25","BGI":-4.28,"deviation":"3.03"},{"_id":"62952a5de3aedd00046f385f","device":"AndroidAPS-DexcomG6","date":1653942863000,"dateString":"2022-05-30T20:34:23.000Z","isValid":true,"sgv":175,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:34:37.302Z","glucose":175,"avgDelta":"-1.25","BGI":-4.28,"deviation":"3.03"},{"_id":"62952b89e3aedd00046f3866","device":"AndroidAPS-DexcomG6","date":1653943162000,"dateString":"2022-05-30T20:39:22.000Z","isValid":true,"sgv":174,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:39:37.778Z","glucose":174,"avgDelta":"-1.25","BGI":-4.23,"deviation":"2.98"},{"_id":"62952cb7e3aedd00046f386a","device":"AndroidAPS-DexcomG6","date":1653943462000,"dateString":"2022-05-30T20:44:22.000Z","isValid":true,"sgv":173,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:44:39.868Z","glucose":173,"avgDelta":"-1.25","BGI":-4.19,"deviation":"2.94"},{"_id":"62952de5e3aedd00046f386d","device":"AndroidAPS-DexcomG6","date":1653943762000,"dateString":"2022-05-30T20:49:22.000Z","isValid":true,"sgv":171,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:49:41.125Z","glucose":171,"avgDelta":"-1.25","BGI":-4.28,"deviation":"3.03"},{"_id":"62952f1be3aedd00046f3871","device":"AndroidAPS-DexcomG6","date":1653944062000,"dateString":"2022-05-30T20:54:22.000Z","isValid":true,"sgv":169,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:54:51.953Z","glucose":169,"avgDelta":"-1.50","BGI":-4.32,"deviation":"2.82"},{"_id":"62953049e3aedd00046f3874","device":"AndroidAPS-DexcomG6","date":1653944362000,"dateString":"2022-05-30T20:59:22.000Z","isValid":true,"sgv":166,"direction":"Flat","type":"sgv","created_at":"2022-05-30T20:59:53.874Z","glucose":166,"avgDelta":"-2.00","BGI":-4.32,"deviation":"2.32"}]} diff --git a/plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json deleted file mode 100644 index d2e0e6a17c..0000000000 --- a/plugins/main/src/test/res/autotune/test4/newprofile.2022-05-30.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 0.979, - "start": "00:00:00", - "untuned": 5 - }, - { - "i": 1, - "minutes": 60, - "rate": 0.995, - "start": "01:00:00", - "untuned": 1 - }, - { - "i": 2, - "minutes": 120, - "rate": 0.997, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.129, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 0.954, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.883, - "start": "05:00:00", - "untuned": 1 - }, - { - "i": 6, - "minutes": 360, - "rate": 0.804, - "start": "06:00:00", - "untuned": 1 - }, - { - "i": 7, - "minutes": 420, - "rate": 0.843, - "start": "07:00:00", - "untuned": 2 - }, - { - "i": 8, - "minutes": 480, - "rate": 0.887, - "start": "08:00:00", - "untuned": 2 - }, - { - "i": 9, - "minutes": 540, - "rate": 0.855, - "start": "09:00:00", - "untuned": 5 - }, - { - "i": 10, - "minutes": 600, - "rate": 0.856, - "start": "10:00:00", - "untuned": 5 - }, - { - "i": 11, - "minutes": 660, - "rate": 0.844, - "start": "11:00:00", - "untuned": 5 - }, - { - "i": 12, - "minutes": 720, - "rate": 0.856, - "start": "12:00:00", - "untuned": 6 - }, - { - "i": 13, - "minutes": 780, - "rate": 0.854, - "start": "13:00:00", - "untuned": 6 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.835, - "start": "14:00:00", - "untuned": 5 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.83, - "start": "15:00:00", - "untuned": 5 - }, - { - "i": 16, - "minutes": 960, - "rate": 0.801, - "start": "16:00:00", - "untuned": 5 - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.821, - "start": "17:00:00", - "untuned": 5 - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.842, - "start": "18:00:00", - "untuned": 4 - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.929, - "start": "19:00:00", - "untuned": 4 - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.931, - "start": "20:00:00", - "untuned": 3 - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.879, - "start": "21:00:00", - "untuned": 4 - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.851, - "start": "22:00:00", - "untuned": 5 - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.847, - "start": "23:00:00", - "untuned": 5 - } - ], - "carb_ratio": 4.997, - "csf": 16.363, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 79.673, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 79.673, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json b/plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json deleted file mode 100644 index 41b52dfb83..0000000000 --- a/plugins/main/src/test/res/autotune/test4/profile.2022-05-30.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "autosens_max": 1.3, - "autosens_min": 0.7, - "basalprofile": [ - { - "i": 0, - "minutes": 0, - "rate": 0.977, - "start": "00:00:00", - "untuned": 4 - }, - { - "i": 1, - "minutes": 60, - "rate": 1.011, - "start": "01:00:00", - "untuned": 1 - }, - { - "i": 2, - "minutes": 120, - "rate": 0.996, - "start": "02:00:00" - }, - { - "i": 3, - "minutes": 180, - "rate": 1.13, - "start": "03:00:00" - }, - { - "i": 4, - "minutes": 240, - "rate": 0.937, - "start": "04:00:00" - }, - { - "i": 5, - "minutes": 300, - "rate": 0.877, - "start": "05:00:00" - }, - { - "i": 6, - "minutes": 360, - "rate": 0.779, - "start": "06:00:00" - }, - { - "i": 7, - "minutes": 420, - "rate": 0.827, - "start": "07:00:00", - "untuned": 1 - }, - { - "i": 8, - "minutes": 480, - "rate": 0.882, - "start": "08:00:00", - "untuned": 1 - }, - { - "i": 9, - "minutes": 540, - "rate": 0.878, - "start": "09:00:00", - "untuned": 5 - }, - { - "i": 10, - "minutes": 600, - "rate": 0.879, - "start": "10:00:00", - "untuned": 5 - }, - { - "i": 11, - "minutes": 660, - "rate": 0.867, - "start": "11:00:00", - "untuned": 5 - }, - { - "i": 12, - "minutes": 720, - "rate": 0.86, - "start": "12:00:00", - "untuned": 5 - }, - { - "i": 13, - "minutes": 780, - "rate": 0.858, - "start": "13:00:00", - "untuned": 5 - }, - { - "i": 14, - "minutes": 840, - "rate": 0.855, - "start": "14:00:00", - "untuned": 5 - }, - { - "i": 15, - "minutes": 900, - "rate": 0.85, - "start": "15:00:00", - "untuned": 5 - }, - { - "i": 16, - "minutes": 960, - "rate": 0.82, - "start": "16:00:00", - "untuned": 5 - }, - { - "i": 17, - "minutes": 1020, - "rate": 0.784, - "start": "17:00:00", - "untuned": 5 - }, - { - "i": 18, - "minutes": 1080, - "rate": 0.778, - "start": "18:00:00", - "untuned": 4 - }, - { - "i": 19, - "minutes": 1140, - "rate": 0.815, - "start": "19:00:00", - "untuned": 4 - }, - { - "i": 20, - "minutes": 1200, - "rate": 0.854, - "start": "20:00:00", - "untuned": 3 - }, - { - "i": 21, - "minutes": 1260, - "rate": 0.849, - "start": "21:00:00", - "untuned": 4 - }, - { - "i": 22, - "minutes": 1320, - "rate": 0.849, - "start": "22:00:00", - "untuned": 4 - }, - { - "i": 23, - "minutes": 1380, - "rate": 0.843, - "start": "23:00:00", - "untuned": 4 - } - ], - "carb_ratio": 5.021, - "csf": 15.669, - "curve": "ultra-rapid", - "dia": 6, - "insulinPeakTime": 45, - "isfProfile": { - "sensitivities": [ - { - "endoffset": 1440, - "i": 0, - "offset": 0, - "sensitivity": 83.014, - "start": "00:00:00", - "x": 0 - } - ] - }, - "min_5m_carbimpact": 8, - "name": "Tuned Dyn2", - "sens": 83.014, - "timezone": "Europe/Paris", - "units": "mg/dl", - "useCustomPeakTime": true -} diff --git a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt index e36e0311f6..91fa047b5e 100644 --- a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt +++ b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt @@ -6,8 +6,8 @@ import dagger.Module import dagger.android.HasAndroidInjector import info.nightscout.androidaps.Aaps import info.nightscout.rx.di.RxModule -import info.nightcout.shared.impl.di.SharedImplModule import info.nightscout.shared.di.SharedModule +import info.nightscout.shared.impl.di.SharedImplModule @Suppress("unused") @Module( From aa1151f6afe8a6f0b26c0f0839df377309280451 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 23:21:03 +0100 Subject: [PATCH 091/123] consolidate plugin modules --- app/build.gradle | 4 ++-- crowdin.yml | 8 ++++---- implementation/build.gradle | 2 +- {automation => plugins/automation}/.gitignore | 0 {automation => plugins/automation}/build.gradle | 0 .../automation}/consumer-rules.pro | 0 .../automation}/proguard-rules.pro | 0 .../automation}/src/main/AndroidManifest.xml | 0 .../info/nightscout/automation/AutomationEvent.kt | 0 .../nightscout/automation/AutomationFragment.kt | 0 .../info/nightscout/automation/AutomationPlugin.kt | 0 .../info/nightscout/automation/actions/Action.kt | 0 .../nightscout/automation/actions/ActionAlarm.kt | 0 .../automation/actions/ActionCarePortalEvent.kt | 0 .../nightscout/automation/actions/ActionDummy.kt | 0 .../automation/actions/ActionLoopDisable.kt | 0 .../automation/actions/ActionLoopEnable.kt | 0 .../automation/actions/ActionLoopResume.kt | 0 .../automation/actions/ActionLoopSuspend.kt | 0 .../automation/actions/ActionNotification.kt | 0 .../automation/actions/ActionProfileSwitch.kt | 0 .../actions/ActionProfileSwitchPercent.kt | 0 .../automation/actions/ActionRunAutotune.kt | 0 .../nightscout/automation/actions/ActionSendSMS.kt | 0 .../automation/actions/ActionStartTempTarget.kt | 0 .../automation/actions/ActionStopProcessing.kt | 0 .../automation/actions/ActionStopTempTarget.kt | 0 .../nightscout/automation/di/AutomationModule.kt | 0 .../automation/dialogs/ChooseActionDialog.kt | 0 .../automation/dialogs/ChooseOperationDialog.kt | 0 .../automation/dialogs/ChooseTriggerDialog.kt | 0 .../automation/dialogs/EditActionDialog.kt | 0 .../automation/dialogs/EditEventDialog.kt | 0 .../automation/dialogs/EditTriggerDialog.kt | 0 .../nightscout/automation/elements/Comparator.kt | 0 .../automation/elements/ComparatorConnect.kt | 0 .../automation/elements/ComparatorExists.kt | 0 .../info/nightscout/automation/elements/Element.kt | 0 .../info/nightscout/automation/elements/InputBg.kt | 0 .../nightscout/automation/elements/InputButton.kt | 0 .../automation/elements/InputCarePortalMenu.kt | 0 .../nightscout/automation/elements/InputDateTime.kt | 0 .../nightscout/automation/elements/InputDelta.kt | 0 .../nightscout/automation/elements/InputDouble.kt | 0 .../automation/elements/InputDropdownMenu.kt | 0 .../nightscout/automation/elements/InputDuration.kt | 0 .../nightscout/automation/elements/InputInsulin.kt | 0 .../automation/elements/InputLocationMode.kt | 0 .../nightscout/automation/elements/InputPercent.kt | 0 .../automation/elements/InputProfileName.kt | 0 .../nightscout/automation/elements/InputString.kt | 0 .../automation/elements/InputTempTarget.kt | 0 .../nightscout/automation/elements/InputTime.kt | 0 .../automation/elements/InputTimeRange.kt | 0 .../nightscout/automation/elements/InputWeekDay.kt | 0 .../automation/elements/LabelWithElement.kt | 0 .../nightscout/automation/elements/LayoutBuilder.kt | 0 .../nightscout/automation/elements/StaticLabel.kt | 0 .../automation/events/EventAutomationAddAction.kt | 0 .../automation/events/EventAutomationDataChanged.kt | 0 .../events/EventAutomationUpdateAction.kt | 0 .../automation/events/EventAutomationUpdateGui.kt | 0 .../events/EventAutomationUpdateTrigger.kt | 0 .../automation/events/EventLocationChange.kt | 0 .../automation/events/EventTriggerChanged.kt | 0 .../automation/events/EventTriggerClone.kt | 0 .../automation/events/EventTriggerRemove.kt | 0 .../services/LastLocationDataContainer.kt | 0 .../automation/services/LocationService.kt | 0 .../automation/services/LocationServiceHelper.kt | 0 .../info/nightscout/automation/triggers/Trigger.kt | 0 .../automation/triggers/TriggerAutosensValue.kt | 0 .../automation/triggers/TriggerBTDevice.kt | 0 .../nightscout/automation/triggers/TriggerBg.kt | 0 .../automation/triggers/TriggerBolusAgo.kt | 0 .../nightscout/automation/triggers/TriggerCOB.kt | 0 .../automation/triggers/TriggerConnector.kt | 0 .../nightscout/automation/triggers/TriggerDelta.kt | 0 .../nightscout/automation/triggers/TriggerDummy.kt | 0 .../nightscout/automation/triggers/TriggerIob.kt | 0 .../automation/triggers/TriggerLocation.kt | 0 .../automation/triggers/TriggerProfilePercent.kt | 0 .../triggers/TriggerPumpLastConnection.kt | 0 .../automation/triggers/TriggerRecurringTime.kt | 0 .../automation/triggers/TriggerTempTarget.kt | 0 .../automation/triggers/TriggerTempTargetValue.kt | 0 .../nightscout/automation/triggers/TriggerTime.kt | 0 .../automation/triggers/TriggerTimeRange.kt | 0 .../automation/triggers/TriggerWifiSsid.kt | 0 .../info/nightscout/automation/ui/WeekdayPicker.kt | 0 .../main/res/drawable/border_automation_unit.xml | 0 .../src/main/res/drawable/ic_action_orange_48dp.xml | 0 .../src/main/res/drawable/ic_add_black_24dp.xml | 0 .../res/drawable/ic_arrow_forward_white_24dp.xml | 0 .../automation}/src/main/res/drawable/ic_as.xml | 0 .../src/main/res/drawable/ic_auto_delta.xml | 0 .../src/main/res/drawable/ic_keyboard_capslock.xml | 0 .../src/main/res/drawable/ic_keyboard_tab.xml | 0 .../src/main/res/drawable/ic_location_on.xml | 0 .../src/main/res/drawable/ic_network_wifi.xml | 0 .../src/main/res/drawable/ic_notifications.xml | 0 .../res/drawable/ic_pause_circle_outline_24dp.xml | 0 .../res/drawable/ic_play_circle_outline_24dp.xml | 0 .../src/main/res/drawable/ic_reorder_gray_24dp.xml | 0 .../src/main/res/drawable/ic_replay_24dp.xml | 0 .../src/main/res/drawable/ic_stop_24dp.xml | 0 .../src/main/res/drawable/ic_trigger_green_48dp.xml | 0 .../res/drawable/weekday_circle_brackground.xml | 0 .../res/drawable/weekend_circle_brackground.xml | 0 .../src/main/res/layout/automation_action_item.xml | 0 .../main/res/layout/automation_dialog_action.xml | 0 .../res/layout/automation_dialog_choose_action.xml | 0 .../layout/automation_dialog_choose_operation.xml | 0 .../res/layout/automation_dialog_choose_trigger.xml | 0 .../res/layout/automation_dialog_edit_trigger.xml | 0 .../src/main/res/layout/automation_dialog_event.xml | 0 .../src/main/res/layout/automation_event_item.xml | 0 .../src/main/res/layout/automation_fragment.xml | 0 .../src/main/res/layout/weekday_picker.xml | 0 .../src/main/res/values-af-rZA/strings.xml | 0 .../src/main/res/values-bg-rBG/strings.xml | 0 .../src/main/res/values-ca-rES/strings.xml | 0 .../src/main/res/values-cs-rCZ/strings.xml | 0 .../src/main/res/values-da-rDK/strings.xml | 0 .../src/main/res/values-de-rDE/strings.xml | 0 .../src/main/res/values-el-rGR/strings.xml | 0 .../src/main/res/values-es-rES/strings.xml | 0 .../src/main/res/values-fr-rFR/strings.xml | 0 .../src/main/res/values-ga-rIE/strings.xml | 0 .../src/main/res/values-hr-rHR/strings.xml | 0 .../src/main/res/values-hu-rHU/strings.xml | 0 .../src/main/res/values-it-rIT/strings.xml | 0 .../src/main/res/values-iw-rIL/strings.xml | 0 .../src/main/res/values-ko-rKR/strings.xml | 0 .../src/main/res/values-lt-rLT/strings.xml | 0 .../src/main/res/values-nl-rNL/strings.xml | 0 .../src/main/res/values-no-rNO/strings.xml | 0 .../src/main/res/values-pl-rPL/strings.xml | 0 .../src/main/res/values-pt-rBR/strings.xml | 0 .../src/main/res/values-pt-rPT/strings.xml | 0 .../src/main/res/values-ro-rRO/strings.xml | 0 .../src/main/res/values-ru-rRU/strings.xml | 0 .../src/main/res/values-sk-rSK/strings.xml | 0 .../src/main/res/values-sl-rSI/strings.xml | 0 .../src/main/res/values-sr-rCS/strings.xml | 0 .../src/main/res/values-sv-rSE/strings.xml | 0 .../src/main/res/values-ta-rIN/strings.xml | 0 .../src/main/res/values-tr-rTR/strings.xml | 0 .../src/main/res/values-zh-rCN/strings.xml | 0 .../automation}/src/main/res/values/arrays.xml | 0 .../automation}/src/main/res/values/strings.xml | 0 .../src/main/res/xml/pref_automation.xml | 0 .../java/info/nightscout/androidaps/TestBase.kt | 0 .../nightscout/androidaps/TestBaseWithProfile.kt | 0 .../info/nightscout/androidaps/TestPumpPlugin.kt | 0 .../nightscout/automation/AutomationEventTest.kt | 0 .../nightscout/automation/ComposeTriggerTest.kt | 0 .../automation/actions/ActionAlarmTest.kt | 0 .../automation/actions/ActionCarePortalEventTest.kt | 0 .../automation/actions/ActionDummyTest.kt | 0 .../automation/actions/ActionLoopDisableTest.kt | 0 .../automation/actions/ActionLoopEnableTest.kt | 0 .../automation/actions/ActionLoopResumeTest.kt | 0 .../automation/actions/ActionLoopSuspendTest.kt | 0 .../automation/actions/ActionNotificationTest.kt | 0 .../actions/ActionProfileSwitchPercentTest.kt | 0 .../automation/actions/ActionProfileSwitchTest.kt | 0 .../automation/actions/ActionSendSMSTest.kt | 0 .../automation/actions/ActionStartTempTargetTest.kt | 0 .../automation/actions/ActionStopProcessingTest.kt | 0 .../automation/actions/ActionStopTempTargetTest.kt | 0 .../automation/actions/ActionsTestBase.kt | 0 .../automation/elements/ComparatorConnectTest.kt | 0 .../automation/elements/ComparatorExistsTest.kt | 0 .../automation/elements/ComparatorTest.kt | 0 .../nightscout/automation/elements/InputBgTest.kt | 0 .../automation/elements/InputCarePortalEventTest.kt | 0 .../automation/elements/InputDurationTest.kt | 0 .../automation/elements/InputInsulinTest.kt | 0 .../automation/elements/InputPercentTest.kt | 0 .../automation/elements/InputProfileNameTest.kt | 0 .../automation/elements/InputStringTest.kt | 0 .../automation/elements/InputTempTargetTest.kt | 0 .../automation/elements/LabelWithElementTest.kt | 0 .../automation/elements/LayoutBuilderTest.kt | 0 .../automation/elements/StaticLabelTest.kt | 0 .../automation/triggers/TriggerAutosensValueTest.kt | 0 .../automation/triggers/TriggerBTDeviceTest.kt | 0 .../nightscout/automation/triggers/TriggerBgTest.kt | 0 .../automation/triggers/TriggerBolusAgoTest.kt | 0 .../automation/triggers/TriggerCOBTest.kt | 0 .../automation/triggers/TriggerConnectorTest.kt | 0 .../automation/triggers/TriggerDeltaTest.kt | 0 .../automation/triggers/TriggerDummyTest.kt | 0 .../automation/triggers/TriggerIobTest.kt | 0 .../automation/triggers/TriggerLocationTest.kt | 0 .../triggers/TriggerProfilePercentTest.kt | 0 .../triggers/TriggerPumpLastConnectionTest.kt | 0 .../automation/triggers/TriggerRecurringTimeTest.kt | 0 .../automation/triggers/TriggerTempTargetTest.kt | 0 .../triggers/TriggerTempTargetValueTest.kt | 0 .../automation/triggers/TriggerTestBase.kt | 0 .../automation/triggers/TriggerTimeRangeTest.kt | 0 .../automation/triggers/TriggerTimeTest.kt | 0 .../automation/triggers/TriggerWifiSsidTest.kt | 0 {openhumans => plugins/openhumans}/.gitignore | 0 {openhumans => plugins/openhumans}/build.gradle | 0 .../openhumans}/consumer-rules.pro | 0 .../openhumans}/proguard-rules.pro | 0 .../openhumans}/src/main/AndroidManifest.xml | 0 .../general/openhumans/AllowedPreferenceKeys.kt | 0 .../plugin/general/openhumans/OpenHumansAPI.kt | 0 .../plugin/general/openhumans/OpenHumansState.kt | 0 .../general/openhumans/OpenHumansUploaderPlugin.kt | 0 .../plugin/general/openhumans/OpenHumansWorker.kt | 0 .../general/openhumans/delegates/OHAppIDDelegate.kt | 0 .../openhumans/delegates/OHCounterDelegate.kt | 0 .../general/openhumans/delegates/OHStateDelegate.kt | 0 .../plugin/general/openhumans/di/Helpers.kt | 0 .../general/openhumans/di/OpenHumansModule.kt | 0 .../plugin/general/openhumans/ui/OHFragment.kt | 0 .../plugin/general/openhumans/ui/OHLoginActivity.kt | 0 .../general/openhumans/ui/OHLoginViewModel.kt | 0 .../openhumans}/src/main/res/drawable/dot.xml | 0 .../src/main/res/drawable/open_humans.xml | 0 .../main/res/drawable/open_humans_notification.xml | 0 .../src/main/res/drawable/open_humans_white.xml | 0 .../openhumans}/src/main/res/drawable/tick_mark.xml | 0 .../openhumans}/src/main/res/font/montserrat.xml | 0 .../src/main/res/font/montserrat_bold.ttf | Bin .../src/main/res/font/montserrat_light.ttf | Bin .../src/main/res/font/montserrat_medium.ttf | Bin .../src/main/res/font/montserrat_regular.ttf | Bin .../res/layout/activity_open_humans_login_new.xml | 0 .../main/res/layout/fragment_open_humans_new.xml | 0 .../src/main/res/values-af-rZA/strings.xml | 0 .../src/main/res/values-bg-rBG/strings.xml | 0 .../src/main/res/values-ca-rES/strings.xml | 0 .../src/main/res/values-cs-rCZ/strings.xml | 0 .../src/main/res/values-da-rDK/strings.xml | 0 .../src/main/res/values-de-rDE/strings.xml | 0 .../src/main/res/values-el-rGR/strings.xml | 0 .../src/main/res/values-es-rES/strings.xml | 0 .../src/main/res/values-fr-rFR/strings.xml | 0 .../src/main/res/values-ga-rIE/strings.xml | 0 .../src/main/res/values-hr-rHR/strings.xml | 0 .../src/main/res/values-hu-rHU/strings.xml | 0 .../src/main/res/values-it-rIT/strings.xml | 0 .../src/main/res/values-iw-rIL/strings.xml | 0 .../src/main/res/values-ko-rKR/strings.xml | 0 .../src/main/res/values-lt-rLT/strings.xml | 0 .../src/main/res/values-nl-rNL/strings.xml | 0 .../src/main/res/values-no-rNO/strings.xml | 0 .../src/main/res/values-pl-rPL/strings.xml | 0 .../src/main/res/values-pt-rBR/strings.xml | 0 .../src/main/res/values-pt-rPT/strings.xml | 0 .../src/main/res/values-ro-rRO/strings.xml | 0 .../src/main/res/values-ru-rRU/strings.xml | 0 .../src/main/res/values-sk-rSK/strings.xml | 0 .../src/main/res/values-sl-rSI/strings.xml | 0 .../src/main/res/values-sr-rCS/strings.xml | 0 .../src/main/res/values-sv-rSE/strings.xml | 0 .../src/main/res/values-ta-rIN/strings.xml | 0 .../src/main/res/values-tr-rTR/strings.xml | 0 .../src/main/res/values-zh-rCN/strings.xml | 0 .../openhumans}/src/main/res/values/colors.xml | 0 .../openhumans}/src/main/res/values/strings.xml | 0 .../openhumans}/src/main/res/values/styles.xml | 0 .../src/main/res/xml/pref_openhumans.xml | 0 settings.gradle | 4 ++-- 270 files changed, 9 insertions(+), 9 deletions(-) rename {automation => plugins/automation}/.gitignore (100%) rename {automation => plugins/automation}/build.gradle (100%) rename {automation => plugins/automation}/consumer-rules.pro (100%) rename {automation => plugins/automation}/proguard-rules.pro (100%) rename {automation => plugins/automation}/src/main/AndroidManifest.xml (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/AutomationEvent.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/AutomationFragment.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/AutomationPlugin.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/Action.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionDummy.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionNotification.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/di/AutomationModule.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/ChooseTriggerDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/Comparator.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/Element.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputBg.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputButton.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputDateTime.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputDelta.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputDouble.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputDuration.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputInsulin.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputPercent.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputProfileName.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputString.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputTime.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/LayoutBuilder.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/elements/StaticLabel.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventLocationChange.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/services/LastLocationDataContainer.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/services/LocationService.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/Trigger.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerDummy.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt (100%) rename {automation => plugins/automation}/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt (100%) rename {automation => plugins/automation}/src/main/res/drawable/border_automation_unit.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_action_orange_48dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_add_black_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_arrow_forward_white_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_as.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_auto_delta.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_keyboard_capslock.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_keyboard_tab.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_location_on.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_network_wifi.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_notifications.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_pause_circle_outline_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_play_circle_outline_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_reorder_gray_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_replay_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_stop_24dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/ic_trigger_green_48dp.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/weekday_circle_brackground.xml (100%) rename {automation => plugins/automation}/src/main/res/drawable/weekend_circle_brackground.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_action_item.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_action.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_choose_action.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_choose_operation.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_choose_trigger.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_edit_trigger.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_dialog_event.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_event_item.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/automation_fragment.xml (100%) rename {automation => plugins/automation}/src/main/res/layout/weekday_picker.xml (100%) rename {automation => plugins/automation}/src/main/res/values-af-rZA/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-bg-rBG/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ca-rES/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-cs-rCZ/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-da-rDK/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-de-rDE/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-el-rGR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-es-rES/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-fr-rFR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ga-rIE/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-hr-rHR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-hu-rHU/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-it-rIT/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-iw-rIL/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ko-rKR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-lt-rLT/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-nl-rNL/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-no-rNO/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-pl-rPL/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-pt-rBR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-pt-rPT/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ro-rRO/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ru-rRU/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-sk-rSK/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-sl-rSI/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-sr-rCS/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-sv-rSE/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-ta-rIN/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-tr-rTR/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values-zh-rCN/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/values/arrays.xml (100%) rename {automation => plugins/automation}/src/main/res/values/strings.xml (100%) rename {automation => plugins/automation}/src/main/res/xml/pref_automation.xml (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/androidaps/TestBase.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/AutomationEventTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/ComposeTriggerTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionDummyTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/ComparatorConnectTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/ComparatorExistsTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/ComparatorTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputBgTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputCarePortalEventTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputDurationTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputInsulinTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputPercentTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputProfileNameTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputStringTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/LabelWithElementTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/LayoutBuilderTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerConnectorTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerDummyTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerLocationTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt (100%) rename {automation => plugins/automation}/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt (100%) rename {openhumans => plugins/openhumans}/.gitignore (100%) rename {openhumans => plugins/openhumans}/build.gradle (100%) rename {openhumans => plugins/openhumans}/consumer-rules.pro (100%) rename {openhumans => plugins/openhumans}/proguard-rules.pro (100%) rename {openhumans => plugins/openhumans}/src/main/AndroidManifest.xml (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/AllowedPreferenceKeys.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansAPI.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansState.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHAppIDDelegate.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHCounterDelegate.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHStateDelegate.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/Helpers.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/OpenHumansModule.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginActivity.kt (100%) rename {openhumans => plugins/openhumans}/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt (100%) rename {openhumans => plugins/openhumans}/src/main/res/drawable/dot.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/drawable/open_humans.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/drawable/open_humans_notification.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/drawable/open_humans_white.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/drawable/tick_mark.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/font/montserrat.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/font/montserrat_bold.ttf (100%) rename {openhumans => plugins/openhumans}/src/main/res/font/montserrat_light.ttf (100%) rename {openhumans => plugins/openhumans}/src/main/res/font/montserrat_medium.ttf (100%) rename {openhumans => plugins/openhumans}/src/main/res/font/montserrat_regular.ttf (100%) rename {openhumans => plugins/openhumans}/src/main/res/layout/activity_open_humans_login_new.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/layout/fragment_open_humans_new.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-af-rZA/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-bg-rBG/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ca-rES/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-cs-rCZ/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-da-rDK/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-de-rDE/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-el-rGR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-es-rES/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-fr-rFR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ga-rIE/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-hr-rHR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-hu-rHU/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-it-rIT/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-iw-rIL/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ko-rKR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-lt-rLT/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-nl-rNL/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-no-rNO/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-pl-rPL/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-pt-rBR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-pt-rPT/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ro-rRO/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ru-rRU/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-sk-rSK/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-sl-rSI/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-sr-rCS/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-sv-rSE/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-ta-rIN/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-tr-rTR/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values-zh-rCN/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values/colors.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values/strings.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/values/styles.xml (100%) rename {openhumans => plugins/openhumans}/src/main/res/xml/pref_openhumans.xml (100%) diff --git a/app/build.gradle b/app/build.gradle index 0e2e4e0dda..56f0acf025 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -192,9 +192,9 @@ dependencies { implementation project(':interfaces') implementation project(':ui') implementation project(':plugins:aps') - implementation project(':automation') + implementation project(':plugins:automation') implementation project(':plugins:main') - implementation project(':openhumans') + implementation project(':plugins:openhumans') implementation project(':implementation') implementation project(':database:entities') implementation project(':database:impl') diff --git a/crowdin.yml b/crowdin.yml index a7a88bc5a8..9cc343f8ce 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -41,16 +41,16 @@ files: translation: /insight/src/main/res/values-%android_code%/alert_titles.xml - source: /insight/src/main/res/values/exceptions.xml translation: /insight/src/main/res/values-%android_code%/exceptions.xml - - source: /automation/src/main/res/values/strings.xml - translation: /automation/src/main/res/values-%android_code%/strings.xml + - source: /plugins/automation/src/main/res/values/strings.xml + translation: /plugins/automation/src/main/res/values-%android_code%/strings.xml - source: /pump/eopatch/src/main/res/values/strings.xml translation: /pump/eopatch/src/main/res/values-%android_code%/strings.xml - source: /pump/diaconn/src/main/res/values/strings.xml translation: /pump/diaconn/src/main/res/values-%android_code%/strings.xml - source: /pump/pump-common/src/main/res/values/strings.xml translation: /pump/pump-common/src/main/res/values-%android_code%/strings.xml - - source: /openhumans/src/main/res/values/strings.xml - translation: /openhumans/src/main/res/values-%android_code%/strings.xml + - source: /plugins/openhumans/src/main/res/values/strings.xml + translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml - source: /implementation/src/main/res/values/strings.xml translation: /implementation/src/main/res/values-%android_code%/strings.xml - source: /ui/src/main/res/values/strings.xml diff --git a/implementation/build.gradle b/implementation/build.gradle index 2c5f9f291b..a9cd6b3462 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -20,7 +20,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database:entities') implementation project(':database:impl') - implementation project(':automation') + implementation project(':plugins:automation') implementation project(':interfaces') implementation project(':core:core-main') implementation project(':core:fabric') diff --git a/automation/.gitignore b/plugins/automation/.gitignore similarity index 100% rename from automation/.gitignore rename to plugins/automation/.gitignore diff --git a/automation/build.gradle b/plugins/automation/build.gradle similarity index 100% rename from automation/build.gradle rename to plugins/automation/build.gradle diff --git a/automation/consumer-rules.pro b/plugins/automation/consumer-rules.pro similarity index 100% rename from automation/consumer-rules.pro rename to plugins/automation/consumer-rules.pro diff --git a/automation/proguard-rules.pro b/plugins/automation/proguard-rules.pro similarity index 100% rename from automation/proguard-rules.pro rename to plugins/automation/proguard-rules.pro diff --git a/automation/src/main/AndroidManifest.xml b/plugins/automation/src/main/AndroidManifest.xml similarity index 100% rename from automation/src/main/AndroidManifest.xml rename to plugins/automation/src/main/AndroidManifest.xml diff --git a/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt b/plugins/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/AutomationEvent.kt rename to plugins/automation/src/main/java/info/nightscout/automation/AutomationEvent.kt diff --git a/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt b/plugins/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/AutomationFragment.kt rename to plugins/automation/src/main/java/info/nightscout/automation/AutomationFragment.kt diff --git a/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt b/plugins/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt rename to plugins/automation/src/main/java/info/nightscout/automation/AutomationPlugin.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/Action.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/Action.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/Action.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/Action.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionAlarm.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionCarePortalEvent.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionDummy.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopDisable.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopEnable.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopResume.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionLoopSuspend.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionNotification.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitch.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionProfileSwitchPercent.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionRunAutotune.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionSendSMS.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStartTempTarget.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStopProcessing.kt diff --git a/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt b/plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt rename to plugins/automation/src/main/java/info/nightscout/automation/actions/ActionStopTempTarget.kt diff --git a/automation/src/main/java/info/nightscout/automation/di/AutomationModule.kt b/plugins/automation/src/main/java/info/nightscout/automation/di/AutomationModule.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/di/AutomationModule.kt rename to plugins/automation/src/main/java/info/nightscout/automation/di/AutomationModule.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseActionDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseOperationDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/ChooseTriggerDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseTriggerDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/ChooseTriggerDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/ChooseTriggerDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditActionDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditEventDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt b/plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt rename to plugins/automation/src/main/java/info/nightscout/automation/dialogs/EditTriggerDialog.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/Comparator.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/Comparator.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/ComparatorConnect.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/ComparatorExists.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/Element.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/Element.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/Element.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/Element.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputBg.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputBg.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputButton.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputButton.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputButton.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputButton.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputCarePortalMenu.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputDateTime.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputDelta.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputDouble.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputDropdownMenu.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputDuration.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputInsulin.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputLocationMode.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputPercent.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputProfileName.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputString.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputString.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputString.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputString.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputTempTarget.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputTime.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputTime.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputTimeRange.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/InputWeekDay.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/LabelWithElement.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/LayoutBuilder.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/LayoutBuilder.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/LayoutBuilder.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/LayoutBuilder.kt diff --git a/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt b/plugins/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt rename to plugins/automation/src/main/java/info/nightscout/automation/elements/StaticLabel.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationAddAction.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationDataChanged.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateAction.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateGui.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventAutomationUpdateTrigger.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventLocationChange.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerChanged.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerClone.kt diff --git a/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt b/plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt rename to plugins/automation/src/main/java/info/nightscout/automation/events/EventTriggerRemove.kt diff --git a/automation/src/main/java/info/nightscout/automation/services/LastLocationDataContainer.kt b/plugins/automation/src/main/java/info/nightscout/automation/services/LastLocationDataContainer.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/services/LastLocationDataContainer.kt rename to plugins/automation/src/main/java/info/nightscout/automation/services/LastLocationDataContainer.kt diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationService.kt b/plugins/automation/src/main/java/info/nightscout/automation/services/LocationService.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/services/LocationService.kt rename to plugins/automation/src/main/java/info/nightscout/automation/services/LocationService.kt diff --git a/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt b/plugins/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt rename to plugins/automation/src/main/java/info/nightscout/automation/services/LocationServiceHelper.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/Trigger.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerAutosensValue.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBTDevice.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBg.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerBolusAgo.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerCOB.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerConnector.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerDelta.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerDummy.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerDummy.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerDummy.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerDummy.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerIob.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerLocation.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerProfilePercent.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerPumpLastConnection.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerRecurringTime.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTarget.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTempTargetValue.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTime.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerTimeRange.kt diff --git a/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt b/plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt rename to plugins/automation/src/main/java/info/nightscout/automation/triggers/TriggerWifiSsid.kt diff --git a/automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt b/plugins/automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt similarity index 100% rename from automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt rename to plugins/automation/src/main/java/info/nightscout/automation/ui/WeekdayPicker.kt diff --git a/automation/src/main/res/drawable/border_automation_unit.xml b/plugins/automation/src/main/res/drawable/border_automation_unit.xml similarity index 100% rename from automation/src/main/res/drawable/border_automation_unit.xml rename to plugins/automation/src/main/res/drawable/border_automation_unit.xml diff --git a/automation/src/main/res/drawable/ic_action_orange_48dp.xml b/plugins/automation/src/main/res/drawable/ic_action_orange_48dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_action_orange_48dp.xml rename to plugins/automation/src/main/res/drawable/ic_action_orange_48dp.xml diff --git a/automation/src/main/res/drawable/ic_add_black_24dp.xml b/plugins/automation/src/main/res/drawable/ic_add_black_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_add_black_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_add_black_24dp.xml diff --git a/automation/src/main/res/drawable/ic_arrow_forward_white_24dp.xml b/plugins/automation/src/main/res/drawable/ic_arrow_forward_white_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_arrow_forward_white_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_arrow_forward_white_24dp.xml diff --git a/automation/src/main/res/drawable/ic_as.xml b/plugins/automation/src/main/res/drawable/ic_as.xml similarity index 100% rename from automation/src/main/res/drawable/ic_as.xml rename to plugins/automation/src/main/res/drawable/ic_as.xml diff --git a/automation/src/main/res/drawable/ic_auto_delta.xml b/plugins/automation/src/main/res/drawable/ic_auto_delta.xml similarity index 100% rename from automation/src/main/res/drawable/ic_auto_delta.xml rename to plugins/automation/src/main/res/drawable/ic_auto_delta.xml diff --git a/automation/src/main/res/drawable/ic_keyboard_capslock.xml b/plugins/automation/src/main/res/drawable/ic_keyboard_capslock.xml similarity index 100% rename from automation/src/main/res/drawable/ic_keyboard_capslock.xml rename to plugins/automation/src/main/res/drawable/ic_keyboard_capslock.xml diff --git a/automation/src/main/res/drawable/ic_keyboard_tab.xml b/plugins/automation/src/main/res/drawable/ic_keyboard_tab.xml similarity index 100% rename from automation/src/main/res/drawable/ic_keyboard_tab.xml rename to plugins/automation/src/main/res/drawable/ic_keyboard_tab.xml diff --git a/automation/src/main/res/drawable/ic_location_on.xml b/plugins/automation/src/main/res/drawable/ic_location_on.xml similarity index 100% rename from automation/src/main/res/drawable/ic_location_on.xml rename to plugins/automation/src/main/res/drawable/ic_location_on.xml diff --git a/automation/src/main/res/drawable/ic_network_wifi.xml b/plugins/automation/src/main/res/drawable/ic_network_wifi.xml similarity index 100% rename from automation/src/main/res/drawable/ic_network_wifi.xml rename to plugins/automation/src/main/res/drawable/ic_network_wifi.xml diff --git a/automation/src/main/res/drawable/ic_notifications.xml b/plugins/automation/src/main/res/drawable/ic_notifications.xml similarity index 100% rename from automation/src/main/res/drawable/ic_notifications.xml rename to plugins/automation/src/main/res/drawable/ic_notifications.xml diff --git a/automation/src/main/res/drawable/ic_pause_circle_outline_24dp.xml b/plugins/automation/src/main/res/drawable/ic_pause_circle_outline_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_pause_circle_outline_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_pause_circle_outline_24dp.xml diff --git a/automation/src/main/res/drawable/ic_play_circle_outline_24dp.xml b/plugins/automation/src/main/res/drawable/ic_play_circle_outline_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_play_circle_outline_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_play_circle_outline_24dp.xml diff --git a/automation/src/main/res/drawable/ic_reorder_gray_24dp.xml b/plugins/automation/src/main/res/drawable/ic_reorder_gray_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_reorder_gray_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_reorder_gray_24dp.xml diff --git a/automation/src/main/res/drawable/ic_replay_24dp.xml b/plugins/automation/src/main/res/drawable/ic_replay_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_replay_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_replay_24dp.xml diff --git a/automation/src/main/res/drawable/ic_stop_24dp.xml b/plugins/automation/src/main/res/drawable/ic_stop_24dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_stop_24dp.xml rename to plugins/automation/src/main/res/drawable/ic_stop_24dp.xml diff --git a/automation/src/main/res/drawable/ic_trigger_green_48dp.xml b/plugins/automation/src/main/res/drawable/ic_trigger_green_48dp.xml similarity index 100% rename from automation/src/main/res/drawable/ic_trigger_green_48dp.xml rename to plugins/automation/src/main/res/drawable/ic_trigger_green_48dp.xml diff --git a/automation/src/main/res/drawable/weekday_circle_brackground.xml b/plugins/automation/src/main/res/drawable/weekday_circle_brackground.xml similarity index 100% rename from automation/src/main/res/drawable/weekday_circle_brackground.xml rename to plugins/automation/src/main/res/drawable/weekday_circle_brackground.xml diff --git a/automation/src/main/res/drawable/weekend_circle_brackground.xml b/plugins/automation/src/main/res/drawable/weekend_circle_brackground.xml similarity index 100% rename from automation/src/main/res/drawable/weekend_circle_brackground.xml rename to plugins/automation/src/main/res/drawable/weekend_circle_brackground.xml diff --git a/automation/src/main/res/layout/automation_action_item.xml b/plugins/automation/src/main/res/layout/automation_action_item.xml similarity index 100% rename from automation/src/main/res/layout/automation_action_item.xml rename to plugins/automation/src/main/res/layout/automation_action_item.xml diff --git a/automation/src/main/res/layout/automation_dialog_action.xml b/plugins/automation/src/main/res/layout/automation_dialog_action.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_action.xml rename to plugins/automation/src/main/res/layout/automation_dialog_action.xml diff --git a/automation/src/main/res/layout/automation_dialog_choose_action.xml b/plugins/automation/src/main/res/layout/automation_dialog_choose_action.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_choose_action.xml rename to plugins/automation/src/main/res/layout/automation_dialog_choose_action.xml diff --git a/automation/src/main/res/layout/automation_dialog_choose_operation.xml b/plugins/automation/src/main/res/layout/automation_dialog_choose_operation.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_choose_operation.xml rename to plugins/automation/src/main/res/layout/automation_dialog_choose_operation.xml diff --git a/automation/src/main/res/layout/automation_dialog_choose_trigger.xml b/plugins/automation/src/main/res/layout/automation_dialog_choose_trigger.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_choose_trigger.xml rename to plugins/automation/src/main/res/layout/automation_dialog_choose_trigger.xml diff --git a/automation/src/main/res/layout/automation_dialog_edit_trigger.xml b/plugins/automation/src/main/res/layout/automation_dialog_edit_trigger.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_edit_trigger.xml rename to plugins/automation/src/main/res/layout/automation_dialog_edit_trigger.xml diff --git a/automation/src/main/res/layout/automation_dialog_event.xml b/plugins/automation/src/main/res/layout/automation_dialog_event.xml similarity index 100% rename from automation/src/main/res/layout/automation_dialog_event.xml rename to plugins/automation/src/main/res/layout/automation_dialog_event.xml diff --git a/automation/src/main/res/layout/automation_event_item.xml b/plugins/automation/src/main/res/layout/automation_event_item.xml similarity index 100% rename from automation/src/main/res/layout/automation_event_item.xml rename to plugins/automation/src/main/res/layout/automation_event_item.xml diff --git a/automation/src/main/res/layout/automation_fragment.xml b/plugins/automation/src/main/res/layout/automation_fragment.xml similarity index 100% rename from automation/src/main/res/layout/automation_fragment.xml rename to plugins/automation/src/main/res/layout/automation_fragment.xml diff --git a/automation/src/main/res/layout/weekday_picker.xml b/plugins/automation/src/main/res/layout/weekday_picker.xml similarity index 100% rename from automation/src/main/res/layout/weekday_picker.xml rename to plugins/automation/src/main/res/layout/weekday_picker.xml diff --git a/automation/src/main/res/values-af-rZA/strings.xml b/plugins/automation/src/main/res/values-af-rZA/strings.xml similarity index 100% rename from automation/src/main/res/values-af-rZA/strings.xml rename to plugins/automation/src/main/res/values-af-rZA/strings.xml diff --git a/automation/src/main/res/values-bg-rBG/strings.xml b/plugins/automation/src/main/res/values-bg-rBG/strings.xml similarity index 100% rename from automation/src/main/res/values-bg-rBG/strings.xml rename to plugins/automation/src/main/res/values-bg-rBG/strings.xml diff --git a/automation/src/main/res/values-ca-rES/strings.xml b/plugins/automation/src/main/res/values-ca-rES/strings.xml similarity index 100% rename from automation/src/main/res/values-ca-rES/strings.xml rename to plugins/automation/src/main/res/values-ca-rES/strings.xml diff --git a/automation/src/main/res/values-cs-rCZ/strings.xml b/plugins/automation/src/main/res/values-cs-rCZ/strings.xml similarity index 100% rename from automation/src/main/res/values-cs-rCZ/strings.xml rename to plugins/automation/src/main/res/values-cs-rCZ/strings.xml diff --git a/automation/src/main/res/values-da-rDK/strings.xml b/plugins/automation/src/main/res/values-da-rDK/strings.xml similarity index 100% rename from automation/src/main/res/values-da-rDK/strings.xml rename to plugins/automation/src/main/res/values-da-rDK/strings.xml diff --git a/automation/src/main/res/values-de-rDE/strings.xml b/plugins/automation/src/main/res/values-de-rDE/strings.xml similarity index 100% rename from automation/src/main/res/values-de-rDE/strings.xml rename to plugins/automation/src/main/res/values-de-rDE/strings.xml diff --git a/automation/src/main/res/values-el-rGR/strings.xml b/plugins/automation/src/main/res/values-el-rGR/strings.xml similarity index 100% rename from automation/src/main/res/values-el-rGR/strings.xml rename to plugins/automation/src/main/res/values-el-rGR/strings.xml diff --git a/automation/src/main/res/values-es-rES/strings.xml b/plugins/automation/src/main/res/values-es-rES/strings.xml similarity index 100% rename from automation/src/main/res/values-es-rES/strings.xml rename to plugins/automation/src/main/res/values-es-rES/strings.xml diff --git a/automation/src/main/res/values-fr-rFR/strings.xml b/plugins/automation/src/main/res/values-fr-rFR/strings.xml similarity index 100% rename from automation/src/main/res/values-fr-rFR/strings.xml rename to plugins/automation/src/main/res/values-fr-rFR/strings.xml diff --git a/automation/src/main/res/values-ga-rIE/strings.xml b/plugins/automation/src/main/res/values-ga-rIE/strings.xml similarity index 100% rename from automation/src/main/res/values-ga-rIE/strings.xml rename to plugins/automation/src/main/res/values-ga-rIE/strings.xml diff --git a/automation/src/main/res/values-hr-rHR/strings.xml b/plugins/automation/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from automation/src/main/res/values-hr-rHR/strings.xml rename to plugins/automation/src/main/res/values-hr-rHR/strings.xml diff --git a/automation/src/main/res/values-hu-rHU/strings.xml b/plugins/automation/src/main/res/values-hu-rHU/strings.xml similarity index 100% rename from automation/src/main/res/values-hu-rHU/strings.xml rename to plugins/automation/src/main/res/values-hu-rHU/strings.xml diff --git a/automation/src/main/res/values-it-rIT/strings.xml b/plugins/automation/src/main/res/values-it-rIT/strings.xml similarity index 100% rename from automation/src/main/res/values-it-rIT/strings.xml rename to plugins/automation/src/main/res/values-it-rIT/strings.xml diff --git a/automation/src/main/res/values-iw-rIL/strings.xml b/plugins/automation/src/main/res/values-iw-rIL/strings.xml similarity index 100% rename from automation/src/main/res/values-iw-rIL/strings.xml rename to plugins/automation/src/main/res/values-iw-rIL/strings.xml diff --git a/automation/src/main/res/values-ko-rKR/strings.xml b/plugins/automation/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from automation/src/main/res/values-ko-rKR/strings.xml rename to plugins/automation/src/main/res/values-ko-rKR/strings.xml diff --git a/automation/src/main/res/values-lt-rLT/strings.xml b/plugins/automation/src/main/res/values-lt-rLT/strings.xml similarity index 100% rename from automation/src/main/res/values-lt-rLT/strings.xml rename to plugins/automation/src/main/res/values-lt-rLT/strings.xml diff --git a/automation/src/main/res/values-nl-rNL/strings.xml b/plugins/automation/src/main/res/values-nl-rNL/strings.xml similarity index 100% rename from automation/src/main/res/values-nl-rNL/strings.xml rename to plugins/automation/src/main/res/values-nl-rNL/strings.xml diff --git a/automation/src/main/res/values-no-rNO/strings.xml b/plugins/automation/src/main/res/values-no-rNO/strings.xml similarity index 100% rename from automation/src/main/res/values-no-rNO/strings.xml rename to plugins/automation/src/main/res/values-no-rNO/strings.xml diff --git a/automation/src/main/res/values-pl-rPL/strings.xml b/plugins/automation/src/main/res/values-pl-rPL/strings.xml similarity index 100% rename from automation/src/main/res/values-pl-rPL/strings.xml rename to plugins/automation/src/main/res/values-pl-rPL/strings.xml diff --git a/automation/src/main/res/values-pt-rBR/strings.xml b/plugins/automation/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from automation/src/main/res/values-pt-rBR/strings.xml rename to plugins/automation/src/main/res/values-pt-rBR/strings.xml diff --git a/automation/src/main/res/values-pt-rPT/strings.xml b/plugins/automation/src/main/res/values-pt-rPT/strings.xml similarity index 100% rename from automation/src/main/res/values-pt-rPT/strings.xml rename to plugins/automation/src/main/res/values-pt-rPT/strings.xml diff --git a/automation/src/main/res/values-ro-rRO/strings.xml b/plugins/automation/src/main/res/values-ro-rRO/strings.xml similarity index 100% rename from automation/src/main/res/values-ro-rRO/strings.xml rename to plugins/automation/src/main/res/values-ro-rRO/strings.xml diff --git a/automation/src/main/res/values-ru-rRU/strings.xml b/plugins/automation/src/main/res/values-ru-rRU/strings.xml similarity index 100% rename from automation/src/main/res/values-ru-rRU/strings.xml rename to plugins/automation/src/main/res/values-ru-rRU/strings.xml diff --git a/automation/src/main/res/values-sk-rSK/strings.xml b/plugins/automation/src/main/res/values-sk-rSK/strings.xml similarity index 100% rename from automation/src/main/res/values-sk-rSK/strings.xml rename to plugins/automation/src/main/res/values-sk-rSK/strings.xml diff --git a/automation/src/main/res/values-sl-rSI/strings.xml b/plugins/automation/src/main/res/values-sl-rSI/strings.xml similarity index 100% rename from automation/src/main/res/values-sl-rSI/strings.xml rename to plugins/automation/src/main/res/values-sl-rSI/strings.xml diff --git a/automation/src/main/res/values-sr-rCS/strings.xml b/plugins/automation/src/main/res/values-sr-rCS/strings.xml similarity index 100% rename from automation/src/main/res/values-sr-rCS/strings.xml rename to plugins/automation/src/main/res/values-sr-rCS/strings.xml diff --git a/automation/src/main/res/values-sv-rSE/strings.xml b/plugins/automation/src/main/res/values-sv-rSE/strings.xml similarity index 100% rename from automation/src/main/res/values-sv-rSE/strings.xml rename to plugins/automation/src/main/res/values-sv-rSE/strings.xml diff --git a/automation/src/main/res/values-ta-rIN/strings.xml b/plugins/automation/src/main/res/values-ta-rIN/strings.xml similarity index 100% rename from automation/src/main/res/values-ta-rIN/strings.xml rename to plugins/automation/src/main/res/values-ta-rIN/strings.xml diff --git a/automation/src/main/res/values-tr-rTR/strings.xml b/plugins/automation/src/main/res/values-tr-rTR/strings.xml similarity index 100% rename from automation/src/main/res/values-tr-rTR/strings.xml rename to plugins/automation/src/main/res/values-tr-rTR/strings.xml diff --git a/automation/src/main/res/values-zh-rCN/strings.xml b/plugins/automation/src/main/res/values-zh-rCN/strings.xml similarity index 100% rename from automation/src/main/res/values-zh-rCN/strings.xml rename to plugins/automation/src/main/res/values-zh-rCN/strings.xml diff --git a/automation/src/main/res/values/arrays.xml b/plugins/automation/src/main/res/values/arrays.xml similarity index 100% rename from automation/src/main/res/values/arrays.xml rename to plugins/automation/src/main/res/values/arrays.xml diff --git a/automation/src/main/res/values/strings.xml b/plugins/automation/src/main/res/values/strings.xml similarity index 100% rename from automation/src/main/res/values/strings.xml rename to plugins/automation/src/main/res/values/strings.xml diff --git a/automation/src/main/res/xml/pref_automation.xml b/plugins/automation/src/main/res/xml/pref_automation.xml similarity index 100% rename from automation/src/main/res/xml/pref_automation.xml rename to plugins/automation/src/main/res/xml/pref_automation.xml diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBase.kt b/plugins/automation/src/test/java/info/nightscout/androidaps/TestBase.kt similarity index 100% rename from automation/src/test/java/info/nightscout/androidaps/TestBase.kt rename to plugins/automation/src/test/java/info/nightscout/androidaps/TestBase.kt diff --git a/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt b/plugins/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt similarity index 100% rename from automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt rename to plugins/automation/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt diff --git a/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/plugins/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt similarity index 100% rename from automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt rename to plugins/automation/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt diff --git a/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/AutomationEventTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/ComposeTriggerTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/ComposeTriggerTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/ComposeTriggerTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/ComposeTriggerTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionAlarmTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionCarePortalEventTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionDummyTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionDummyTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionDummyTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionDummyTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopDisableTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopEnableTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopResumeTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionLoopSuspendTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionNotificationTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchPercentTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionProfileSwitchTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionSendSMSTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStartTempTargetTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStopProcessingTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionStopTempTargetTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt b/plugins/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt rename to plugins/automation/src/test/java/info/nightscout/automation/actions/ActionsTestBase.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/ComparatorConnectTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorConnectTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/ComparatorConnectTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorConnectTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/ComparatorExistsTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorExistsTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/ComparatorExistsTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorExistsTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/ComparatorTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/ComparatorTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/ComparatorTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputBgTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputCarePortalEventTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputCarePortalEventTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputCarePortalEventTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputCarePortalEventTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputDurationTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputDurationTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputDurationTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputDurationTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputInsulinTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputInsulinTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputInsulinTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputInsulinTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputPercentTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputPercentTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputPercentTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputPercentTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputProfileNameTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputProfileNameTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputProfileNameTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputProfileNameTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputStringTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputStringTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputStringTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputStringTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/InputTempTargetTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/LabelWithElementTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/LabelWithElementTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/LabelWithElementTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/LabelWithElementTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/LayoutBuilderTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/LayoutBuilderTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/LayoutBuilderTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/LayoutBuilderTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/elements/StaticLabelTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerAutosensValueTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBTDeviceTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBgTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerBolusAgoTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerCOBTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerConnectorTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerConnectorTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerConnectorTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerConnectorTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerDeltaTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerDummyTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerDummyTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerDummyTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerDummyTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerIobTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerLocationTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerLocationTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerLocationTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerLocationTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerProfilePercentTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerPumpLastConnectionTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerRecurringTimeTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTempTargetValueTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTestBase.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeRangeTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerTimeTest.kt diff --git a/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt b/plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt similarity index 100% rename from automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt rename to plugins/automation/src/test/java/info/nightscout/automation/triggers/TriggerWifiSsidTest.kt diff --git a/openhumans/.gitignore b/plugins/openhumans/.gitignore similarity index 100% rename from openhumans/.gitignore rename to plugins/openhumans/.gitignore diff --git a/openhumans/build.gradle b/plugins/openhumans/build.gradle similarity index 100% rename from openhumans/build.gradle rename to plugins/openhumans/build.gradle diff --git a/openhumans/consumer-rules.pro b/plugins/openhumans/consumer-rules.pro similarity index 100% rename from openhumans/consumer-rules.pro rename to plugins/openhumans/consumer-rules.pro diff --git a/openhumans/proguard-rules.pro b/plugins/openhumans/proguard-rules.pro similarity index 100% rename from openhumans/proguard-rules.pro rename to plugins/openhumans/proguard-rules.pro diff --git a/openhumans/src/main/AndroidManifest.xml b/plugins/openhumans/src/main/AndroidManifest.xml similarity index 100% rename from openhumans/src/main/AndroidManifest.xml rename to plugins/openhumans/src/main/AndroidManifest.xml diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/AllowedPreferenceKeys.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/AllowedPreferenceKeys.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/AllowedPreferenceKeys.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/AllowedPreferenceKeys.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansAPI.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansAPI.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansAPI.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansAPI.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansState.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansState.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansState.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansState.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansUploaderPlugin.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/OpenHumansWorker.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHAppIDDelegate.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHAppIDDelegate.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHAppIDDelegate.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHAppIDDelegate.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHCounterDelegate.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHCounterDelegate.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHCounterDelegate.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHCounterDelegate.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHStateDelegate.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHStateDelegate.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHStateDelegate.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/delegates/OHStateDelegate.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/Helpers.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/Helpers.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/Helpers.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/Helpers.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/OpenHumansModule.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/OpenHumansModule.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/OpenHumansModule.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/di/OpenHumansModule.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHFragment.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginActivity.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginActivity.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginActivity.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginActivity.kt diff --git a/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt b/plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt similarity index 100% rename from openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt rename to plugins/openhumans/src/main/java/info/nightscout/androidaps/plugin/general/openhumans/ui/OHLoginViewModel.kt diff --git a/openhumans/src/main/res/drawable/dot.xml b/plugins/openhumans/src/main/res/drawable/dot.xml similarity index 100% rename from openhumans/src/main/res/drawable/dot.xml rename to plugins/openhumans/src/main/res/drawable/dot.xml diff --git a/openhumans/src/main/res/drawable/open_humans.xml b/plugins/openhumans/src/main/res/drawable/open_humans.xml similarity index 100% rename from openhumans/src/main/res/drawable/open_humans.xml rename to plugins/openhumans/src/main/res/drawable/open_humans.xml diff --git a/openhumans/src/main/res/drawable/open_humans_notification.xml b/plugins/openhumans/src/main/res/drawable/open_humans_notification.xml similarity index 100% rename from openhumans/src/main/res/drawable/open_humans_notification.xml rename to plugins/openhumans/src/main/res/drawable/open_humans_notification.xml diff --git a/openhumans/src/main/res/drawable/open_humans_white.xml b/plugins/openhumans/src/main/res/drawable/open_humans_white.xml similarity index 100% rename from openhumans/src/main/res/drawable/open_humans_white.xml rename to plugins/openhumans/src/main/res/drawable/open_humans_white.xml diff --git a/openhumans/src/main/res/drawable/tick_mark.xml b/plugins/openhumans/src/main/res/drawable/tick_mark.xml similarity index 100% rename from openhumans/src/main/res/drawable/tick_mark.xml rename to plugins/openhumans/src/main/res/drawable/tick_mark.xml diff --git a/openhumans/src/main/res/font/montserrat.xml b/plugins/openhumans/src/main/res/font/montserrat.xml similarity index 100% rename from openhumans/src/main/res/font/montserrat.xml rename to plugins/openhumans/src/main/res/font/montserrat.xml diff --git a/openhumans/src/main/res/font/montserrat_bold.ttf b/plugins/openhumans/src/main/res/font/montserrat_bold.ttf similarity index 100% rename from openhumans/src/main/res/font/montserrat_bold.ttf rename to plugins/openhumans/src/main/res/font/montserrat_bold.ttf diff --git a/openhumans/src/main/res/font/montserrat_light.ttf b/plugins/openhumans/src/main/res/font/montserrat_light.ttf similarity index 100% rename from openhumans/src/main/res/font/montserrat_light.ttf rename to plugins/openhumans/src/main/res/font/montserrat_light.ttf diff --git a/openhumans/src/main/res/font/montserrat_medium.ttf b/plugins/openhumans/src/main/res/font/montserrat_medium.ttf similarity index 100% rename from openhumans/src/main/res/font/montserrat_medium.ttf rename to plugins/openhumans/src/main/res/font/montserrat_medium.ttf diff --git a/openhumans/src/main/res/font/montserrat_regular.ttf b/plugins/openhumans/src/main/res/font/montserrat_regular.ttf similarity index 100% rename from openhumans/src/main/res/font/montserrat_regular.ttf rename to plugins/openhumans/src/main/res/font/montserrat_regular.ttf diff --git a/openhumans/src/main/res/layout/activity_open_humans_login_new.xml b/plugins/openhumans/src/main/res/layout/activity_open_humans_login_new.xml similarity index 100% rename from openhumans/src/main/res/layout/activity_open_humans_login_new.xml rename to plugins/openhumans/src/main/res/layout/activity_open_humans_login_new.xml diff --git a/openhumans/src/main/res/layout/fragment_open_humans_new.xml b/plugins/openhumans/src/main/res/layout/fragment_open_humans_new.xml similarity index 100% rename from openhumans/src/main/res/layout/fragment_open_humans_new.xml rename to plugins/openhumans/src/main/res/layout/fragment_open_humans_new.xml diff --git a/openhumans/src/main/res/values-af-rZA/strings.xml b/plugins/openhumans/src/main/res/values-af-rZA/strings.xml similarity index 100% rename from openhumans/src/main/res/values-af-rZA/strings.xml rename to plugins/openhumans/src/main/res/values-af-rZA/strings.xml diff --git a/openhumans/src/main/res/values-bg-rBG/strings.xml b/plugins/openhumans/src/main/res/values-bg-rBG/strings.xml similarity index 100% rename from openhumans/src/main/res/values-bg-rBG/strings.xml rename to plugins/openhumans/src/main/res/values-bg-rBG/strings.xml diff --git a/openhumans/src/main/res/values-ca-rES/strings.xml b/plugins/openhumans/src/main/res/values-ca-rES/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ca-rES/strings.xml rename to plugins/openhumans/src/main/res/values-ca-rES/strings.xml diff --git a/openhumans/src/main/res/values-cs-rCZ/strings.xml b/plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml similarity index 100% rename from openhumans/src/main/res/values-cs-rCZ/strings.xml rename to plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml diff --git a/openhumans/src/main/res/values-da-rDK/strings.xml b/plugins/openhumans/src/main/res/values-da-rDK/strings.xml similarity index 100% rename from openhumans/src/main/res/values-da-rDK/strings.xml rename to plugins/openhumans/src/main/res/values-da-rDK/strings.xml diff --git a/openhumans/src/main/res/values-de-rDE/strings.xml b/plugins/openhumans/src/main/res/values-de-rDE/strings.xml similarity index 100% rename from openhumans/src/main/res/values-de-rDE/strings.xml rename to plugins/openhumans/src/main/res/values-de-rDE/strings.xml diff --git a/openhumans/src/main/res/values-el-rGR/strings.xml b/plugins/openhumans/src/main/res/values-el-rGR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-el-rGR/strings.xml rename to plugins/openhumans/src/main/res/values-el-rGR/strings.xml diff --git a/openhumans/src/main/res/values-es-rES/strings.xml b/plugins/openhumans/src/main/res/values-es-rES/strings.xml similarity index 100% rename from openhumans/src/main/res/values-es-rES/strings.xml rename to plugins/openhumans/src/main/res/values-es-rES/strings.xml diff --git a/openhumans/src/main/res/values-fr-rFR/strings.xml b/plugins/openhumans/src/main/res/values-fr-rFR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-fr-rFR/strings.xml rename to plugins/openhumans/src/main/res/values-fr-rFR/strings.xml diff --git a/openhumans/src/main/res/values-ga-rIE/strings.xml b/plugins/openhumans/src/main/res/values-ga-rIE/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ga-rIE/strings.xml rename to plugins/openhumans/src/main/res/values-ga-rIE/strings.xml diff --git a/openhumans/src/main/res/values-hr-rHR/strings.xml b/plugins/openhumans/src/main/res/values-hr-rHR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-hr-rHR/strings.xml rename to plugins/openhumans/src/main/res/values-hr-rHR/strings.xml diff --git a/openhumans/src/main/res/values-hu-rHU/strings.xml b/plugins/openhumans/src/main/res/values-hu-rHU/strings.xml similarity index 100% rename from openhumans/src/main/res/values-hu-rHU/strings.xml rename to plugins/openhumans/src/main/res/values-hu-rHU/strings.xml diff --git a/openhumans/src/main/res/values-it-rIT/strings.xml b/plugins/openhumans/src/main/res/values-it-rIT/strings.xml similarity index 100% rename from openhumans/src/main/res/values-it-rIT/strings.xml rename to plugins/openhumans/src/main/res/values-it-rIT/strings.xml diff --git a/openhumans/src/main/res/values-iw-rIL/strings.xml b/plugins/openhumans/src/main/res/values-iw-rIL/strings.xml similarity index 100% rename from openhumans/src/main/res/values-iw-rIL/strings.xml rename to plugins/openhumans/src/main/res/values-iw-rIL/strings.xml diff --git a/openhumans/src/main/res/values-ko-rKR/strings.xml b/plugins/openhumans/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ko-rKR/strings.xml rename to plugins/openhumans/src/main/res/values-ko-rKR/strings.xml diff --git a/openhumans/src/main/res/values-lt-rLT/strings.xml b/plugins/openhumans/src/main/res/values-lt-rLT/strings.xml similarity index 100% rename from openhumans/src/main/res/values-lt-rLT/strings.xml rename to plugins/openhumans/src/main/res/values-lt-rLT/strings.xml diff --git a/openhumans/src/main/res/values-nl-rNL/strings.xml b/plugins/openhumans/src/main/res/values-nl-rNL/strings.xml similarity index 100% rename from openhumans/src/main/res/values-nl-rNL/strings.xml rename to plugins/openhumans/src/main/res/values-nl-rNL/strings.xml diff --git a/openhumans/src/main/res/values-no-rNO/strings.xml b/plugins/openhumans/src/main/res/values-no-rNO/strings.xml similarity index 100% rename from openhumans/src/main/res/values-no-rNO/strings.xml rename to plugins/openhumans/src/main/res/values-no-rNO/strings.xml diff --git a/openhumans/src/main/res/values-pl-rPL/strings.xml b/plugins/openhumans/src/main/res/values-pl-rPL/strings.xml similarity index 100% rename from openhumans/src/main/res/values-pl-rPL/strings.xml rename to plugins/openhumans/src/main/res/values-pl-rPL/strings.xml diff --git a/openhumans/src/main/res/values-pt-rBR/strings.xml b/plugins/openhumans/src/main/res/values-pt-rBR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-pt-rBR/strings.xml rename to plugins/openhumans/src/main/res/values-pt-rBR/strings.xml diff --git a/openhumans/src/main/res/values-pt-rPT/strings.xml b/plugins/openhumans/src/main/res/values-pt-rPT/strings.xml similarity index 100% rename from openhumans/src/main/res/values-pt-rPT/strings.xml rename to plugins/openhumans/src/main/res/values-pt-rPT/strings.xml diff --git a/openhumans/src/main/res/values-ro-rRO/strings.xml b/plugins/openhumans/src/main/res/values-ro-rRO/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ro-rRO/strings.xml rename to plugins/openhumans/src/main/res/values-ro-rRO/strings.xml diff --git a/openhumans/src/main/res/values-ru-rRU/strings.xml b/plugins/openhumans/src/main/res/values-ru-rRU/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ru-rRU/strings.xml rename to plugins/openhumans/src/main/res/values-ru-rRU/strings.xml diff --git a/openhumans/src/main/res/values-sk-rSK/strings.xml b/plugins/openhumans/src/main/res/values-sk-rSK/strings.xml similarity index 100% rename from openhumans/src/main/res/values-sk-rSK/strings.xml rename to plugins/openhumans/src/main/res/values-sk-rSK/strings.xml diff --git a/openhumans/src/main/res/values-sl-rSI/strings.xml b/plugins/openhumans/src/main/res/values-sl-rSI/strings.xml similarity index 100% rename from openhumans/src/main/res/values-sl-rSI/strings.xml rename to plugins/openhumans/src/main/res/values-sl-rSI/strings.xml diff --git a/openhumans/src/main/res/values-sr-rCS/strings.xml b/plugins/openhumans/src/main/res/values-sr-rCS/strings.xml similarity index 100% rename from openhumans/src/main/res/values-sr-rCS/strings.xml rename to plugins/openhumans/src/main/res/values-sr-rCS/strings.xml diff --git a/openhumans/src/main/res/values-sv-rSE/strings.xml b/plugins/openhumans/src/main/res/values-sv-rSE/strings.xml similarity index 100% rename from openhumans/src/main/res/values-sv-rSE/strings.xml rename to plugins/openhumans/src/main/res/values-sv-rSE/strings.xml diff --git a/openhumans/src/main/res/values-ta-rIN/strings.xml b/plugins/openhumans/src/main/res/values-ta-rIN/strings.xml similarity index 100% rename from openhumans/src/main/res/values-ta-rIN/strings.xml rename to plugins/openhumans/src/main/res/values-ta-rIN/strings.xml diff --git a/openhumans/src/main/res/values-tr-rTR/strings.xml b/plugins/openhumans/src/main/res/values-tr-rTR/strings.xml similarity index 100% rename from openhumans/src/main/res/values-tr-rTR/strings.xml rename to plugins/openhumans/src/main/res/values-tr-rTR/strings.xml diff --git a/openhumans/src/main/res/values-zh-rCN/strings.xml b/plugins/openhumans/src/main/res/values-zh-rCN/strings.xml similarity index 100% rename from openhumans/src/main/res/values-zh-rCN/strings.xml rename to plugins/openhumans/src/main/res/values-zh-rCN/strings.xml diff --git a/openhumans/src/main/res/values/colors.xml b/plugins/openhumans/src/main/res/values/colors.xml similarity index 100% rename from openhumans/src/main/res/values/colors.xml rename to plugins/openhumans/src/main/res/values/colors.xml diff --git a/openhumans/src/main/res/values/strings.xml b/plugins/openhumans/src/main/res/values/strings.xml similarity index 100% rename from openhumans/src/main/res/values/strings.xml rename to plugins/openhumans/src/main/res/values/strings.xml diff --git a/openhumans/src/main/res/values/styles.xml b/plugins/openhumans/src/main/res/values/styles.xml similarity index 100% rename from openhumans/src/main/res/values/styles.xml rename to plugins/openhumans/src/main/res/values/styles.xml diff --git a/openhumans/src/main/res/xml/pref_openhumans.xml b/plugins/openhumans/src/main/res/xml/pref_openhumans.xml similarity index 100% rename from openhumans/src/main/res/xml/pref_openhumans.xml rename to plugins/openhumans/src/main/res/xml/pref_openhumans.xml diff --git a/settings.gradle b/settings.gradle index f65ea5f331..86edd15dbe 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,5 @@ include ':app' include ':wear' -include ':automation' include ':database:entities' include ':database:impl' include ':core:core-main' @@ -16,7 +15,9 @@ include ':ui' include ':implementation' include ':interfaces' include ':plugins:aps' +include ':plugins:automation' include ':plugins:main' +include ':plugins:openhumans' include ':pump:combo' include ':pump:dana' include ':pump:danar' @@ -32,4 +33,3 @@ include ':pump:omnipod-dash' include ':pump:pump-common' include ':pump:pump-core' include ':pump:rileylink' -include ':openhumans' From ea6dc785cc9f8389b8e7d75938353d19f988905f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 14 Nov 2022 23:49:30 +0100 Subject: [PATCH 092/123] Update Crowdin configuration file --- crowdin.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crowdin.yml b/crowdin.yml index 9cc343f8ce..36a852b518 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -9,8 +9,8 @@ files: translation: /wear/src/main/res/values-%android_code%/strings.xml - source: /app/src/main/res/values/protection.xml translation: /app/src/main/res/values-%android_code%/protection.xml - - source: /core/src/main/res/values/validator.xml - translation: /core/src/main/res/values-%android_code%/validator.xml + - source: /core/aps/src/main/res/values/validator.xml + translation: /core/aps/src/main/res/values-%android_code%/validator.xml - source: /core/core-main/src/main/res/values/strings.xml translation: /core/core-main/src/main/res/values-%android_code%/strings.xml - source: /shared/src/main/res/values/strings.xml From 16fda48d12f4efd2faafbd9ab6877fe1cd1d3bd2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 08:51:52 +0100 Subject: [PATCH 093/123] update crowdin.xml --- crowdin.yml | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/crowdin.yml b/crowdin.yml index 36a852b518..6b43465eec 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,26 +1,42 @@ files: - source: /app/src/main/res/values/strings.xml translation: /app/src/main/res/values-%android_code%/strings.xml - - source: /app/src/main/res/values/exam.xml - translation: /app/src/main/res/values-%android_code%/%original_file_name% - - source: /app/src/main/res/values/objectives.xml - translation: /app/src/main/res/values-%android_code%/%original_file_name% - source: /wear/src/main/res/values/strings.xml translation: /wear/src/main/res/values-%android_code%/strings.xml - - source: /app/src/main/res/values/protection.xml - translation: /app/src/main/res/values-%android_code%/protection.xml - - source: /core/aps/src/main/res/values/validator.xml - translation: /core/aps/src/main/res/values-%android_code%/validator.xml + - source: /plugins/aps/src/main/res/values/strings.xml + translation: /plugins/aps/src/main/res/values-%android_code%/strings.xml + - source: /plugins/main/src/main/res/values/strings.xml + translation: /plugins/main/src/main/res/values-%android_code%/strings.xml + - source: /plugins/main/src/main/res/values/exam.xml + translation: /plugins/main/src/main/res/values-%android_code%/%original_file_name% + - source: /plugins/main/src/main/res/values/objectives.xml + translation: /plugins/main/src/main/res/values-%android_code%/%original_file_name% + - source: /plugins/automation/src/main/res/values/strings.xml + translation: /plugins/automation/src/main/res/values-%android_code%/strings.xml + - source: /plugins/openhumans/src/main/res/values/strings.xml + translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml + - source: /core/core-main/src/main/res/values/protection.xml + translation: /core/core-main/src/main/res/values-%android_code%/protection.xml + - source: /core/core-main/src/main/res/values/validator.xml + translation: /core/core-main/src/main/res/values-%android_code%/validator.xml - source: /core/core-main/src/main/res/values/strings.xml translation: /core/core-main/src/main/res/values-%android_code%/strings.xml - - source: /shared/src/main/res/values/strings.xml - translation: /shared/src/main/res/values-%android_code%/strings.xml + - source: /core/fabric/src/main/res/values/strings.xml + translation: /core/fabric/src/main/res/values-%android_code%/strings.xml + - source: /core/ui/src/main/res/values/strings.xml + translation: /core/ui/src/main/res/values-%android_code%/strings.xml + - source: /app-wear-shared/shared/src/main/res/values/strings.xml + translation: /app-wear-shared/shared/src/main/res/values-%android_code%/strings.xml + - source: /app-wear-shared/rx/src/main/res/values/strings.xml + translation: /app-wear-shared/rx/src/main/res/values-%android_code%/strings.xml - source: /pump/combo/src/main/res/values/strings.xml translation: /pump/combo/src/main/res/values-%android_code%/strings.xml - source: /pump/dana/src/main/res/values/strings.xml translation: /pump/dana/src/main/res/values-%android_code%/strings.xml - source: /pump/danar/src/main/res/values/strings.xml translation: /pump/danar/src/main/res/values-%android_code%/strings.xml + - source: /pump/danars/src/main/res/values/strings.xml + translation: /pump/danars/src/main/res/values-%android_code%/strings.xml - source: /pump/medtronic/src/main/res/values/strings.xml translation: /pump/medtronic/src/main/res/values-%android_code%/strings.xml - source: /pump/omnipod-common/src/main/res/values/strings.xml @@ -41,21 +57,13 @@ files: translation: /insight/src/main/res/values-%android_code%/alert_titles.xml - source: /insight/src/main/res/values/exceptions.xml translation: /insight/src/main/res/values-%android_code%/exceptions.xml - - source: /plugins/automation/src/main/res/values/strings.xml - translation: /plugins/automation/src/main/res/values-%android_code%/strings.xml - source: /pump/eopatch/src/main/res/values/strings.xml translation: /pump/eopatch/src/main/res/values-%android_code%/strings.xml - source: /pump/diaconn/src/main/res/values/strings.xml translation: /pump/diaconn/src/main/res/values-%android_code%/strings.xml - source: /pump/pump-common/src/main/res/values/strings.xml translation: /pump/pump-common/src/main/res/values-%android_code%/strings.xml - - source: /plugins/openhumans/src/main/res/values/strings.xml - translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml - source: /implementation/src/main/res/values/strings.xml translation: /implementation/src/main/res/values-%android_code%/strings.xml - source: /ui/src/main/res/values/strings.xml translation: /ui/src/main/res/values-%android_code%/strings.xml - - source: /plugins/aps/src/main/res/values/strings.xml - translation: /plugins/aps/src/main/res/values-%android_code%/strings.xml - - source: /plugins/main/src/main/res/values/strings.xml - translation: /plugins/main/src/main/res/values-%android_code%/strings.xml From f138c7699558695d0e2a2980f471853489a4e4a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Nov 2022 08:01:31 +0000 Subject: [PATCH 094/123] chore(deps): bump dagger_version from 2.44.1 to 2.44.2 Bumps `dagger_version` from 2.44.1 to 2.44.2. Updates `dagger-android-processor` from 2.44.1 to 2.44.2 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44.1...dagger-2.44.2) Updates `dagger-compiler` from 2.44.1 to 2.44.2 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44.1...dagger-2.44.2) Updates `dagger` from 2.44.1 to 2.44.2 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44.1...dagger-2.44.2) Updates `dagger-android` from 2.44.1 to 2.44.2 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44.1...dagger-2.44.2) Updates `dagger-android-support` from 2.44.1 to 2.44.2 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.44.1...dagger-2.44.2) --- updated-dependencies: - dependency-name: com.google.dagger:dagger-android-processor dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-compiler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-android dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-android-support dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 11e8271fc9..346dee72de 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { rxkotlin_version = '3.0.1' room_version = '2.4.3' lifecycle_version = '2.5.1' - dagger_version = '2.44.1' + dagger_version = '2.44.2' coroutines_version = '1.6.4' activity_version = '1.4.0' fragmentktx_version = '1.5.4' From 7ef2941d0c534663aa2aba96961598745bc74887 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 12:20:53 +0100 Subject: [PATCH 095/123] fix activity start --- .../nightscout/plugins/general/actions/ActionsFragment.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index 078d35dfbf..b1b93d98a8 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -171,8 +171,8 @@ class ActionsFragment : DaggerFragment() { protectionCheck.queryProtection(activity, ProtectionCheck.Protection.BOLUS, UIRunnable { activityNames.runFillDialog(childFragmentManager) }) } } - binding.historyBrowser.setOnClickListener { startActivity(Intent(context, activityNames.historyBrowseActivity::class.java)) } - binding.tddStats.setOnClickListener { startActivity(Intent(context, activityNames.tddStatsActivity::class.java)) } + binding.historyBrowser.setOnClickListener { startActivity(Intent(context, activityNames.historyBrowseActivity)) } + binding.tddStats.setOnClickListener { startActivity(Intent(context, activityNames.tddStatsActivity)) } binding.bgCheck.setOnClickListener { activityNames.runCareDialog(childFragmentManager, ActivityNames.EventType.BGCHECK, R.string.careportal_bgcheck) } From a5c06513e4a50c0c91051c082a99a5b77ce3bf21 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 12:27:17 +0100 Subject: [PATCH 096/123] CommandQueue: prevent ANR --- .../implementation/queue/CommandQueueImplementation.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 75c90ed955..097cde704e 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -2,6 +2,8 @@ package info.nightscout.implementation.queue import android.content.Context import android.content.Intent +import android.os.Handler +import android.os.HandlerThread import android.os.SystemClock import android.text.Spanned import androidx.appcompat.app.AppCompatActivity @@ -97,6 +99,7 @@ class CommandQueueImplementation @Inject constructor( ) : CommandQueue { private val disposable = CompositeDisposable() + private var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) private val queue = LinkedList() @Volatile private var thread: QueueThread? = null @@ -205,7 +208,7 @@ class CommandQueueImplementation @Inject constructor( // After new command added to the queue // start thread again if not already running - @Synchronized fun notifyAboutNewCommand() { + @Synchronized fun notifyAboutNewCommand() = handler.post { waitForFinishedThread() if (thread == null || thread!!.state == Thread.State.TERMINATED) { thread = QueueThread(this, context, aapsLogger, rxBus, activePlugin, rh, sp, androidPermission, config) From ae3650793ffe9ff1ad540a721c7875e6937b6d91 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 19:28:21 +0100 Subject: [PATCH 097/123] optimize SetupWizard --- .../androidaps/setupwizard/SWDefinition.kt | 133 ++++++++++-------- .../setupwizard/SetupWizardActivity.kt | 2 +- .../nightscout/interfaces/pump/OmnipodDash.kt | 3 + .../nightscout/interfaces/pump/OmnipodEros.kt | 6 + .../omnipod/dash/OmnipodDashPumpPlugin.kt | 3 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 3 +- 6 files changed, 91 insertions(+), 59 deletions(-) create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodDash.kt create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodEros.kt diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 093ed83101..7956f399c0 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -9,10 +9,7 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange -import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin -import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.setupwizard.elements.SWBreak import info.nightscout.androidaps.setupwizard.elements.SWButton import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword @@ -32,16 +29,20 @@ import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.Constants +import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Objectives import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.ActivePlugin +import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.pump.OmnipodDash +import info.nightscout.interfaces.pump.OmnipodEros import info.nightscout.interfaces.queue.CommandQueue +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits import info.nightscout.plugins.constraints.objectives.ObjectivesFragment import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.plugins.profile.ProfileFragment import info.nightscout.plugins.profile.ProfilePlugin import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus @@ -49,16 +50,15 @@ import info.nightscout.rx.events.EventPumpStatusChanged import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP -import info.nightscout.ui.dialogs.ProfileSwitchDialog import javax.inject.Inject import javax.inject.Singleton @Singleton class SWDefinition @Inject constructor( - injector: HasAndroidInjector, + private val injector: HasAndroidInjector, private val rxBus: RxBus, private val context: Context, - rh: ResourceHelper, + private val rh: ResourceHelper, private val sp: SP, private val profileFunction: ProfileFunction, private val profilePlugin: ProfilePlugin, @@ -66,18 +66,24 @@ class SWDefinition @Inject constructor( private val commandQueue: CommandQueue, private val objectivesPlugin: ObjectivesPlugin, private val configBuilder: ConfigBuilder, - private val loopPlugin: LoopPlugin, + private val loop: Loop, private val importExportPrefs: ImportExportPrefs, private val androidPermission: AndroidPermission, private val cryptoUtil: CryptoUtil, private val config: Config, - private val hardLimits: HardLimits + private val hardLimits: HardLimits, + private val activityNames: ActivityNames ) { lateinit var activity: AppCompatActivity - private val screens: MutableList = ArrayList() + private val screens: MutableList = ArrayList() fun getScreens(): List { + if (screens.isEmpty()) { + if (config.APS) swDefinitionFull() + else if (config.PUMPCONTROL) swDefinitionPumpControl() + else if (config.NSCLIENT) swDefinitionNSClient() + } return screens } @@ -86,12 +92,12 @@ class SWDefinition @Inject constructor( return this } - private val screenSetupWizard = SWScreen(injector, R.string.nav_setupwizard) + private val screenSetupWizard get() = SWScreen(injector, R.string.nav_setupwizard) .add( SWInfoText(injector) .label(R.string.welcometosetupwizard) ) - private val screenEula = SWScreen(injector, R.string.end_user_license_agreement) + private val screenEula get() = SWScreen(injector, R.string.end_user_license_agreement) .skippable(false) .add( SWInfoText(injector) @@ -107,7 +113,8 @@ class SWDefinition @Inject constructor( }) .visibility { !sp.getBoolean(R.string.key_i_understand, false) } .validator { sp.getBoolean(R.string.key_i_understand, false) } - private val screenUnits = SWScreen(injector, R.string.units) + + private val screenUnits get() = SWScreen(injector, R.string.units) .skippable(false) .add( SWRadioButton(injector) @@ -116,7 +123,8 @@ class SWDefinition @Inject constructor( .comment(R.string.setupwizard_units_prompt) ) .validator { sp.contains(R.string.key_units) } - private val displaySettings = SWScreen(injector, R.string.wear_display_settings) + + private val displaySettings get() = SWScreen(injector, R.string.wear_display_settings) .skippable(false) .add( SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) @@ -133,7 +141,8 @@ class SWDefinition @Inject constructor( .label(R.string.high_mark) .comment(R.string.high_mark_comment) ) - private val screenPermissionWindow = SWScreen(injector, R.string.permission) + + private val screenPermissionWindow get() = SWScreen(injector, R.string.permission) .skippable(false) .add( SWInfoText(injector) @@ -146,7 +155,8 @@ class SWDefinition @Inject constructor( .action { activity.startActivity(Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.packageName))) }) .visibility { !Settings.canDrawOverlays(activity) } .validator { Settings.canDrawOverlays(activity) } - private val screenPermissionBattery = SWScreen(injector, R.string.permission) + + private val screenPermissionBattery get() = SWScreen(injector, R.string.permission) .skippable(false) .add( SWInfoText(injector) @@ -159,7 +169,8 @@ class SWDefinition @Inject constructor( .action { androidPermission.askForPermission(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) } - private val screenPermissionBt = SWScreen(injector, R.string.permission) + + private val screenPermissionBt get() = SWScreen(injector, R.string.permission) .skippable(false) .add( SWInfoText(injector) @@ -172,7 +183,8 @@ class SWDefinition @Inject constructor( .action { androidPermission.askForPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.ACCESS_FINE_LOCATION) } - private val screenPermissionStore = SWScreen(injector, R.string.permission) + + private val screenPermissionStore get() = SWScreen(injector, R.string.permission) .skippable(false) .add( SWInfoText(injector) @@ -185,7 +197,8 @@ class SWDefinition @Inject constructor( .action { androidPermission.askForPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) }) .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } - private val screenImport = SWScreen(injector, R.string.nav_import) + + private val screenImport get() = SWScreen(injector, R.string.nav_import) .add( SWInfoText(injector) .label(R.string.storedsettingsfound) @@ -195,7 +208,8 @@ class SWDefinition @Inject constructor( .text(R.string.nav_import) .action { importExportPrefs.importSharedPreferences(activity) }) .visibility { importExportPrefs.prefsFileExists() && !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } - private val screenNsClient = SWScreen(injector, R.string.configbuilder_sync) + + private val screenNsClient get() = SWScreen(injector, R.string.configbuilder_sync) .skippable(true) .add( SWPlugin(injector, this) @@ -215,7 +229,8 @@ class SWDefinition @Inject constructor( .initialStatus(activePlugin.firstActiveSync?.status ?: "") ) .validator { activePlugin.firstActiveSync?.connected == true && activePlugin.firstActiveSync?.hasWritePermission == true } - private val screenPatientName = SWScreen(injector, R.string.patient_name) + + private val screenPatientName get() = SWScreen(injector, R.string.patient_name) .skippable(true) .add( SWInfoText(injector) @@ -226,7 +241,8 @@ class SWDefinition @Inject constructor( .validator(SWTextValidator(String::isNotEmpty)) .preferenceId(R.string.key_patient_name) ) - private val privacy = SWScreen(injector, R.string.privacy_settings) + + private val privacy get() = SWScreen(injector, R.string.privacy_settings) .skippable(true) .add( SWInfoText(injector) @@ -236,7 +252,8 @@ class SWDefinition @Inject constructor( SWPreference(injector, this) .option(R.xml.pref_datachoices) ) - private val screenMasterPassword = SWScreen(injector, R.string.master_password) + + private val screenMasterPassword get() = SWScreen(injector, R.string.master_password) .skippable(false) .add( SWInfoText(injector) @@ -252,7 +269,8 @@ class SWDefinition @Inject constructor( .label(R.string.master_password_summary) ) .validator { !cryptoUtil.checkPassword("", sp.getString(R.string.key_master_password, "")) } - private val screenAge = SWScreen(injector, R.string.patientage) + + private val screenAge get() = SWScreen(injector, R.string.patientage) .skippable(false) .add(SWBreak(injector)) .add( @@ -282,7 +300,8 @@ class SWDefinition @Inject constructor( && sp.getDouble(R.string.key_treatmentssafety_maxbolus, 0.0) > 0 && sp.getInt(R.string.key_treatmentssafety_maxcarbs, 0) > 0 } - private val screenInsulin = SWScreen(injector, R.string.configbuilder_insulin) + + private val screenInsulin get() = SWScreen(injector, R.string.configbuilder_insulin) .skippable(false) .add( SWPlugin(injector, this) @@ -295,7 +314,8 @@ class SWDefinition @Inject constructor( SWInfoText(injector) .label(R.string.diawarning) ) - private val screenBgSource = SWScreen(injector, R.string.configbuilder_bgsource) + + private val screenBgSource get() = SWScreen(injector, R.string.configbuilder_bgsource) .skippable(false) .add( SWPlugin(injector, this) @@ -303,18 +323,21 @@ class SWDefinition @Inject constructor( .label(R.string.configbuilder_bgsource) ) .add(SWBreak(injector)) - private val screenLocalProfile = SWScreen(injector, R.string.localprofile) + + private val screenLocalProfile get() = SWScreen(injector, R.string.localprofile) .skippable(false) .add( SWFragment(injector, this) - .add(ProfileFragment()) + .add(activity.supportFragmentManager.fragmentFactory.instantiate(ClassLoader.getSystemClassLoader(), (activePlugin.activeProfileSource as PluginBase).pluginDescription.fragmentClass!!)) + //.add(ProfileFragment()) ) .validator { profilePlugin.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } ?: false } .visibility { profilePlugin.isEnabled() } - private val screenProfileSwitch = SWScreen(injector, R.string.careportal_profileswitch) + + private val screenProfileSwitch get() = SWScreen(injector, R.string.careportal_profileswitch) .skippable(false) .add( SWInfoText(injector) @@ -322,10 +345,11 @@ class SWDefinition @Inject constructor( ) .add(SWButton(injector) .text(R.string.doprofileswitch) - .action { ProfileSwitchDialog().show(activity.supportFragmentManager, "ProfileSwitchDialog") }) + .action { activityNames.runProfileSwitchDialog(activity.supportFragmentManager) }) .validator { profileFunction.getRequestedProfile() != null } .visibility { profileFunction.getRequestedProfile() == null } - private val screenPump = SWScreen(injector, R.string.configbuilder_pump) + + private val screenPump get() = SWScreen(injector, R.string.configbuilder_pump) .skippable(false) .add( SWPlugin(injector, this) @@ -341,22 +365,22 @@ class SWDefinition @Inject constructor( .label(R.string.setupwizard_pump_waiting_for_riley_link_connection) .visibility { val activePump = activePlugin.activePump - activePump is OmnipodErosPumpPlugin && !activePump.isRileyLinkReady + activePump is OmnipodEros && !activePump.isRileyLinkReady() }) .add( // Omnipod Eros only SWEventListener(injector, EventRileyLinkDeviceStatusChange::class.java) .label(R.string.setupwizard_pump_riley_link_status) - .visibility { activePlugin.activePump is OmnipodErosPumpPlugin }) + .visibility { activePlugin.activePump is OmnipodEros }) .add(SWButton(injector) .text(R.string.readstatus) .action { commandQueue.readStatus(rh.gs(R.string.clicked_connect_to_pump), null) } .visibility { // Hide for Omnipod, because as we don't require a Pod to be paired in the setup wizard, // Getting the status might not be possible - activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin + activePlugin.activePump !is OmnipodEros && activePlugin.activePump !is OmnipodDash }) .add(SWEventListener(injector, EventPumpStatusChanged::class.java) - .visibility { activePlugin.activePump !is OmnipodErosPumpPlugin && activePlugin.activePump !is OmnipodDashPumpPlugin }) + .visibility { activePlugin.activePump !is OmnipodEros && activePlugin.activePump !is OmnipodDash }) .validator { isPumpInitialized() } private fun isPumpInitialized(): Boolean { @@ -366,11 +390,11 @@ class SWDefinition @Inject constructor( // For the Eros model, consider the pump initialized when a RL has been configured successfully // For Dash model, consider the pump setup without any extra conditions return activePump.isInitialized() - || (activePump is OmnipodErosPumpPlugin && activePump.isRileyLinkReady) - || activePump is OmnipodDashPumpPlugin + || (activePump is OmnipodEros && activePump.isRileyLinkReady()) + || activePump is OmnipodDash } - private val screenAps = SWScreen(injector, R.string.configbuilder_aps) + private val screenAps get() = SWScreen(injector, R.string.configbuilder_aps) .skippable(false) .add( SWInfoText(injector) @@ -388,7 +412,8 @@ class SWDefinition @Inject constructor( .label("https://openaps.readthedocs.io/en/latest/") ) .add(SWBreak(injector)) - private val screenApsMode = SWScreen(injector, R.string.apsmode_title) + + private val screenApsMode get() = SWScreen(injector, R.string.apsmode_title) .skippable(false) .add( SWRadioButton(injector) @@ -397,7 +422,8 @@ class SWDefinition @Inject constructor( .comment(R.string.setupwizard_preferred_aps_mode) ) .validator { sp.contains(R.string.key_aps_mode) } - private val screenLoop = SWScreen(injector, R.string.configbuilder_loop) + + private val screenLoop get() = SWScreen(injector, R.string.configbuilder_loop) .skippable(false) .add( SWInfoText(injector) @@ -407,13 +433,14 @@ class SWDefinition @Inject constructor( .add(SWButton(injector) .text(R.string.enableloop) .action { - configBuilder.performPluginSwitch(loopPlugin, true, PluginType.LOOP) + configBuilder.performPluginSwitch(loop as PluginBase, true, PluginType.LOOP) rxBus.send(EventSWUpdate(true)) } - .visibility { !loopPlugin.isEnabled() }) - .validator { loopPlugin.isEnabled() } - .visibility { !loopPlugin.isEnabled() && config.APS } - private val screenSensitivity = SWScreen(injector, R.string.configbuilder_sensitivity) + .visibility { !loop.isEnabled() }) + .validator { loop.isEnabled() } + .visibility { !loop.isEnabled() && config.APS } + + private val screenSensitivity get() = SWScreen(injector, R.string.configbuilder_sensitivity) .skippable(false) .add( SWInfoText(injector) @@ -429,7 +456,8 @@ class SWDefinition @Inject constructor( .option(PluginType.SENSITIVITY, R.string.configbuilder_sensitivity_description) .label(R.string.configbuilder_sensitivity) ) - private val getScreenObjectives = SWScreen(injector, R.string.objectives) + + private val getScreenObjectives get() = SWScreen(injector, R.string.objectives) .skippable(false) .add( SWInfoText(injector) @@ -443,7 +471,7 @@ class SWDefinition @Inject constructor( .validator { objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted } .visibility { !objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted && config.APS } - private fun swDefinitionFull() { // List all the screens here + private fun swDefinitionFull() = // List all the screens here add(screenSetupWizard) //.add(screenLanguage) .add(screenEula) @@ -469,9 +497,8 @@ class SWDefinition @Inject constructor( .add(screenLoop) .add(screenSensitivity) .add(getScreenObjectives) - } - private fun swDefinitionPumpControl() { // List all the screens here + private fun swDefinitionPumpControl() = // List all the screens here add(screenSetupWizard) //.add(screenLanguage) .add(screenEula) @@ -492,9 +519,8 @@ class SWDefinition @Inject constructor( .add(screenProfileSwitch) .add(screenPump) .add(screenSensitivity) - } - private fun swDefinitionNSClient() { // List all the screens here + private fun swDefinitionNSClient() = // List all the screens here add(screenSetupWizard) //.add(screenLanguage) .add(screenEula) @@ -508,9 +534,4 @@ class SWDefinition @Inject constructor( .add(screenNsClient) //.add(screenBgSource) .add(screenPatientName) - } - - init { - if (config.APS) swDefinitionFull() else if (config.PUMPCONTROL) swDefinitionPumpControl() else if (config.NSCLIENT) swDefinitionNSClient() - } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index a71b494678..377cf462c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -51,6 +51,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { binding = ActivitySetupwizardBinding.inflate(layoutInflater) setContentView(binding.root) + swDefinition.activity = this screens = swDefinition.getScreens() val intent = intent currentWizardPage = intent.getIntExtra(intentMessage, 0) @@ -60,7 +61,6 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { //Set screen name val screenName = findViewById(R.id.sw_content) screenName.text = currentScreen.getHeader() - swDefinition.activity = this //Generate layout first generateLayout() updateButtons() diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodDash.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodDash.kt new file mode 100644 index 0000000000..62052fedf9 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodDash.kt @@ -0,0 +1,3 @@ +package info.nightscout.interfaces.pump + +interface OmnipodDash \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodEros.kt b/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodEros.kt new file mode 100644 index 0000000000..73d4b8563b --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/pump/OmnipodEros.kt @@ -0,0 +1,6 @@ +package info.nightscout.interfaces.pump + +interface OmnipodEros { + + fun isRileyLinkReady(): Boolean +} \ No newline at end of file diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt index 7b44ba15cd..0f37f5d3c0 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/OmnipodDashPumpPlugin.kt @@ -48,6 +48,7 @@ import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.DetailedBolusInfo +import info.nightscout.interfaces.pump.OmnipodDash import info.nightscout.interfaces.pump.Pump import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.interfaces.pump.PumpPluginBase @@ -108,7 +109,7 @@ class OmnipodDashPumpPlugin @Inject constructor( aapsLogger: AAPSLogger, rh: ResourceHelper, commandQueue: CommandQueue -) : PumpPluginBase(pluginDescription, injector, aapsLogger, rh, commandQueue), Pump { +) : PumpPluginBase(pluginDescription, injector, aapsLogger, rh, commandQueue), Pump, OmnipodDash { @Volatile var bolusCanceled = false @Volatile var bolusDeliveryInProgress = false diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 05fbba10a1..5cb3c4c379 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -87,6 +87,7 @@ import info.nightscout.interfaces.plugin.PluginType; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.profile.ProfileFunction; import info.nightscout.interfaces.pump.DetailedBolusInfo; +import info.nightscout.interfaces.pump.OmnipodEros; import info.nightscout.interfaces.pump.Pump; import info.nightscout.interfaces.pump.PumpEnactResult; import info.nightscout.interfaces.pump.PumpPluginBase; @@ -121,7 +122,7 @@ import io.reactivex.rxjava3.disposables.CompositeDisposable; * @author Andy Rozman (andy.rozman@gmail.com) */ @Singleton -public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, RileyLinkPumpDevice { +public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, RileyLinkPumpDevice, OmnipodEros { private static final long RILEY_LINK_CONNECT_TIMEOUT_MILLIS = 3 * 60 * 1_000L; // 3 minutes private static final long STATUS_CHECK_INTERVAL_MILLIS = 60 * 1_000L; // 1 minute public static final int STARTUP_STATUS_REQUEST_TRIES = 2; From 2bfe8c272d648ce06b653e47cf509e24757834d1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 19:29:03 +0100 Subject: [PATCH 098/123] New Crowdin updates (#2203) * New translations validator.xml (Catalan) * New translations strings.xml (Catalan) * New translations strings.xml (Catalan) * New translations strings.xml (Catalan) * New translations exam.xml (Czech) * New translations validator.xml (Afrikaans) * New translations objectives.xml (Afrikaans) * New translations objectives.xml (Romanian) * New translations protection.xml (Romanian) * New translations validator.xml (Romanian) * New translations strings.xml (Romanian) * New translations strings.xml (Romanian) * New translations strings.xml (Romanian) * New translations exam.xml (French) * New translations objectives.xml (French) * New translations protection.xml (French) * New translations validator.xml (French) * New translations strings.xml (French) * New translations exam.xml (Afrikaans) * New translations strings.xml (French) * New translations strings.xml (French) * New translations exam.xml (Spanish) * New translations objectives.xml (Spanish) * New translations protection.xml (Spanish) * New translations validator.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations objectives.xml (Czech) * New translations protection.xml (Czech) * New translations strings.xml (Czech) * New translations strings.xml (Czech) * New translations strings.xml (Czech) * New translations validator.xml (Czech) * New translations exam.xml (Hebrew) * New translations objectives.xml (Irish) * New translations strings.xml (Irish) * New translations strings.xml (Irish) * New translations strings.xml (Irish) * New translations validator.xml (Hebrew) * New translations objectives.xml (Hebrew) * New translations protection.xml (Hebrew) * New translations strings.xml (Greek) * New translations strings.xml (Hebrew) * New translations strings.xml (Hebrew) * New translations strings.xml (Hebrew) * New translations strings.xml (Greek) * New translations validator.xml (Greek) * New translations strings.xml (Greek) * New translations exam.xml (German) * New translations exam.xml (Danish) * New translations objectives.xml (Danish) * New translations validator.xml (Danish) * New translations strings.xml (Danish) * New translations strings.xml (Danish) * New translations strings.xml (Danish) * New translations objectives.xml (German) * New translations protection.xml (German) * New translations validator.xml (German) * New translations strings.xml (German) * New translations strings.xml (German) * New translations strings.xml (German) * New translations exam.xml (Greek) * New translations objectives.xml (Greek) * New translations protection.xml (Greek) * New translations objectives.xml (Norwegian) * New translations exam.xml (Dutch) * New translations objectives.xml (Dutch) * New translations protection.xml (Dutch) * New translations validator.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations strings.xml (Dutch) * New translations exam.xml (Norwegian) * New translations strings.xml (Lithuanian) * New translations validator.xml (Norwegian) * New translations strings.xml (Norwegian) * New translations strings.xml (Norwegian) * New translations strings.xml (Norwegian) * New translations exam.xml (Polish) * New translations objectives.xml (Polish) * New translations protection.xml (Polish) * New translations validator.xml (Polish) * New translations strings.xml (Lithuanian) * New translations strings.xml (Lithuanian) * New translations strings.xml (Hungarian) * New translations exam.xml (Korean) * New translations strings.xml (Hungarian) * New translations exam.xml (Italian) * New translations objectives.xml (Italian) * New translations protection.xml (Italian) * New translations validator.xml (Italian) * New translations strings.xml (Italian) * New translations strings.xml (Italian) * New translations strings.xml (Italian) * New translations objectives.xml (Korean) * New translations protection.xml (Korean) * New translations validator.xml (Korean) * New translations strings.xml (Korean) * New translations strings.xml (Korean) * New translations strings.xml (Korean) * New translations exam.xml (Lithuanian) * New translations objectives.xml (Lithuanian) * New translations protection.xml (Lithuanian) * New translations validator.xml (Lithuanian) * New translations strings.xml (Polish) * New translations strings.xml (Polish) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Portuguese) * New translations strings.xml (Portuguese) * New translations validator.xml (Portuguese) * New translations protection.xml (Portuguese) * New translations objectives.xml (Portuguese) * New translations exam.xml (Portuguese) * New translations strings.xml (Turkish) * New translations strings.xml (Swedish) * New translations strings.xml (Swedish) * New translations exam.xml (Turkish) * New translations objectives.xml (Turkish) * New translations protection.xml (Turkish) * New translations validator.xml (Turkish) * New translations protection.xml (Chinese Simplified) * New translations strings.xml (Turkish) * New translations strings.xml (Turkish) * New translations exam.xml (Chinese Simplified) * New translations objectives.xml (Chinese Simplified) * New translations validator.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Swedish) * New translations strings.xml (Slovak) * New translations validator.xml (Swedish) * New translations strings.xml (Russian) * New translations exam.xml (Russian) * New translations objectives.xml (Russian) * New translations protection.xml (Russian) * New translations validator.xml (Russian) * New translations strings.xml (Russian) * New translations strings.xml (Russian) * New translations exam.xml (Slovak) * New translations protection.xml (Swedish) * New translations objectives.xml (Slovak) * New translations protection.xml (Slovak) * New translations validator.xml (Slovak) * New translations strings.xml (Slovak) * New translations strings.xml (Slovak) * New translations exam.xml (Swedish) * New translations objectives.xml (Swedish) * New translations strings.xml (Chinese Simplified) * New translations exam.xml (Portuguese, Brazilian) * New translations strings.xml (Croatian) * New translations strings.xml (Croatian) * New translations objectives.xml (Portuguese, Brazilian) * New translations objectives.xml (Croatian) * New translations exam.xml (Croatian) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Portuguese, Brazilian) * New translations validator.xml (Portuguese, Brazilian) * New translations protection.xml (Portuguese, Brazilian) * New translations strings.xml (Romanian) * New translations strings.xml (Hebrew) * New translations strings.xml (French) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Greek) * New translations strings.xml (Hungarian) * New translations strings.xml (Czech) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Norwegian) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Russian) * New translations strings.xml (Slovak) * New translations strings.xml (Swedish) * New translations strings.xml (Romanian) * New translations strings.xml (Serbian (Latin)) * New translations strings.xml (French) * New translations strings.xml (Hungarian) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Greek) * New translations strings.xml (Irish) * New translations strings.xml (Hebrew) * New translations strings.xml (Korean) * New translations strings.xml (Croatian) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Russian) * New translations strings.xml (Slovak) * New translations strings.xml (Swedish) * New translations strings.xml (Turkish) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Turkish) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Czech) * New translations strings.xml (Czech) * New translations strings.xml (Russian) * New translations strings.xml (Swedish) * New translations exam.xml (Czech) * New translations strings.xml (Czech) * New translations strings.xml (Czech) * New translations strings.xml (Norwegian) * New translations strings.xml (Turkish) * New translations strings.xml (Slovak) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (German) * New translations strings.xml (Romanian) * New translations strings.xml (French) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (Greek) * New translations strings.xml (Russian) * New translations strings.xml (Hebrew) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Norwegian) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Spanish) * New translations strings.xml (Norwegian) * New translations strings.xml (Spanish) * New translations strings.xml (Norwegian) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) --- .../rx/src/main/res/values-af-rZA/strings.xml | 6 + .../rx/src/main/res/values-bg-rBG/strings.xml | 7 + .../rx/src/main/res/values-ca-rES/strings.xml | 7 + .../rx/src/main/res/values-cs-rCZ/strings.xml | 8 + .../rx/src/main/res/values-da-rDK/strings.xml | 7 + .../rx/src/main/res/values-de-rDE/strings.xml | 7 + .../rx/src/main/res/values-el-rGR/strings.xml | 6 + .../rx/src/main/res/values-es-rES/strings.xml | 7 + .../rx/src/main/res/values-fr-rFR/strings.xml | 7 + .../rx/src/main/res/values-ga-rIE/strings.xml | 5 + .../rx/src/main/res/values-hr-rHR/strings.xml | 7 + .../rx/src/main/res/values-hu-rHU/strings.xml | 2 + .../rx/src/main/res/values-it-rIT/strings.xml | 7 + .../rx/src/main/res/values-iw-rIL/strings.xml | 7 + .../rx/src/main/res/values-ko-rKR/strings.xml | 6 + .../rx/src/main/res/values-lt-rLT/strings.xml | 7 + .../rx/src/main/res/values-nl-rNL/strings.xml | 7 + .../rx/src/main/res/values-no-rNO/strings.xml | 8 + .../rx/src/main/res/values-pl-rPL/strings.xml | 7 + .../rx/src/main/res/values-pt-rBR/strings.xml | 7 + .../rx/src/main/res/values-pt-rPT/strings.xml | 7 + .../rx/src/main/res/values-ro-rRO/strings.xml | 7 + .../rx/src/main/res/values-ru-rRU/strings.xml | 7 + .../rx/src/main/res/values-sk-rSK/strings.xml | 7 + .../rx/src/main/res/values-sr-rCS/strings.xml | 2 + .../rx/src/main/res/values-sv-rSE/strings.xml | 7 + .../rx/src/main/res/values-tr-rTR/strings.xml | 7 + .../rx/src/main/res/values-zh-rCN/strings.xml | 7 + .../src/main/res/values-ga-rIE/strings.xml | 17 + .../src/main/res/values-nl-rNL/strings.xml | 2 +- .../src/main/res/values-pt-rBR/strings.xml | 7 + app/src/main/res/values-af-rZA/exam.xml | 4 +- app/src/main/res/values-af-rZA/strings.xml | 215 +-------- app/src/main/res/values-bg-rBG/exam.xml | 52 +- app/src/main/res/values-bg-rBG/objectives.xml | 53 +-- app/src/main/res/values-bg-rBG/strings.xml | 341 +------------ app/src/main/res/values-ca-rES/exam.xml | 177 +------ app/src/main/res/values-ca-rES/objectives.xml | 53 +-- app/src/main/res/values-ca-rES/strings.xml | 100 +--- app/src/main/res/values-cs-rCZ/exam.xml | 228 +-------- app/src/main/res/values-cs-rCZ/objectives.xml | 55 +-- app/src/main/res/values-cs-rCZ/strings.xml | 395 +-------------- app/src/main/res/values-da-rDK/exam.xml | 195 +------- app/src/main/res/values-da-rDK/objectives.xml | 53 +-- app/src/main/res/values-da-rDK/strings.xml | 388 +-------------- app/src/main/res/values-de-rDE/exam.xml | 195 +------- app/src/main/res/values-de-rDE/objectives.xml | 54 +-- app/src/main/res/values-de-rDE/strings.xml | 389 +-------------- app/src/main/res/values-el-rGR/exam.xml | 53 +-- app/src/main/res/values-el-rGR/objectives.xml | 49 +- app/src/main/res/values-el-rGR/strings.xml | 220 +-------- app/src/main/res/values-es-rES/exam.xml | 228 +-------- app/src/main/res/values-es-rES/objectives.xml | 55 +-- app/src/main/res/values-es-rES/strings.xml | 393 +-------------- app/src/main/res/values-fr-rFR/exam.xml | 228 +-------- app/src/main/res/values-fr-rFR/objectives.xml | 55 +-- app/src/main/res/values-fr-rFR/strings.xml | 395 +-------------- app/src/main/res/values-ga-rIE/strings.xml | 2 +- app/src/main/res/values-hr-rHR/strings.xml | 8 +- app/src/main/res/values-hu-rHU/strings.xml | 2 - app/src/main/res/values-it-rIT/exam.xml | 228 +-------- app/src/main/res/values-it-rIT/objectives.xml | 56 +-- app/src/main/res/values-it-rIT/strings.xml | 395 +-------------- app/src/main/res/values-iw-rIL/exam.xml | 196 +------- app/src/main/res/values-iw-rIL/objectives.xml | 53 +-- app/src/main/res/values-iw-rIL/strings.xml | 391 +-------------- app/src/main/res/values-ko-rKR/exam.xml | 180 +------ app/src/main/res/values-ko-rKR/objectives.xml | 54 +-- app/src/main/res/values-ko-rKR/strings.xml | 325 +------------ app/src/main/res/values-lt-rLT/exam.xml | 180 +------ app/src/main/res/values-lt-rLT/objectives.xml | 54 +-- app/src/main/res/values-lt-rLT/strings.xml | 337 +------------ app/src/main/res/values-nl-rNL/exam.xml | 228 +-------- app/src/main/res/values-nl-rNL/objectives.xml | 55 +-- app/src/main/res/values-nl-rNL/strings.xml | 395 +-------------- app/src/main/res/values-no-rNO/exam.xml | 228 +-------- app/src/main/res/values-no-rNO/objectives.xml | 55 +-- app/src/main/res/values-no-rNO/strings.xml | 395 +-------------- app/src/main/res/values-pl-rPL/exam.xml | 180 +------ app/src/main/res/values-pl-rPL/objectives.xml | 53 +-- app/src/main/res/values-pl-rPL/strings.xml | 338 +------------ app/src/main/res/values-pt-rBR/exam.xml | 181 +------ app/src/main/res/values-pt-rBR/objectives.xml | 53 +-- app/src/main/res/values-pt-rBR/strings.xml | 323 +------------ app/src/main/res/values-pt-rPT/exam.xml | 180 +------ app/src/main/res/values-pt-rPT/objectives.xml | 53 +-- app/src/main/res/values-pt-rPT/strings.xml | 337 +------------ app/src/main/res/values-ro-rRO/exam.xml | 180 +------ app/src/main/res/values-ro-rRO/objectives.xml | 53 +-- app/src/main/res/values-ro-rRO/strings.xml | 337 +------------ app/src/main/res/values-ru-rRU/exam.xml | 228 +-------- app/src/main/res/values-ru-rRU/objectives.xml | 55 +-- app/src/main/res/values-ru-rRU/strings.xml | 395 +-------------- app/src/main/res/values-sk-rSK/exam.xml | 228 +-------- app/src/main/res/values-sk-rSK/objectives.xml | 55 +-- app/src/main/res/values-sk-rSK/strings.xml | 395 +-------------- app/src/main/res/values-sr-rCS/strings.xml | 1 - app/src/main/res/values-sv-rSE/exam.xml | 180 +------ app/src/main/res/values-sv-rSE/objectives.xml | 53 +-- app/src/main/res/values-sv-rSE/strings.xml | 366 +------------- app/src/main/res/values-tr-rTR/exam.xml | 228 +-------- app/src/main/res/values-tr-rTR/objectives.xml | 55 +-- app/src/main/res/values-tr-rTR/strings.xml | 393 +-------------- app/src/main/res/values-zh-rCN/exam.xml | 182 +------ app/src/main/res/values-zh-rCN/objectives.xml | 53 +-- app/src/main/res/values-zh-rCN/strings.xml | 380 +-------------- .../src/main/res/values-af-rZA/protection.xml | 4 +- .../src/main/res/values-af-rZA/strings.xml | 178 ++++++- .../src/main/res/values-bg-rBG/strings.xml | 72 +-- .../src/main/res/values-ca-rES/protection.xml | 2 + .../src/main/res/values-ca-rES/strings.xml | 351 +++++++++++++- .../src/main/res/values-ca-rES/validator.xml | 24 +- .../src/main/res/values-cs-rCZ/strings.xml | 102 ++-- .../src/main/res/values-cs-rCZ/validator.xml | 2 +- .../src/main/res/values-da-rDK/protection.xml | 2 + .../src/main/res/values-da-rDK/strings.xml | 100 ++-- .../src/main/res/values-de-rDE/strings.xml | 97 ++-- .../src/main/res/values-el-rGR/protection.xml | 4 +- .../src/main/res/values-el-rGR/strings.xml | 183 ++++++- .../src/main/res/values-es-rES/strings.xml | 102 ++-- .../src/main/res/values-es-rES/validator.xml | 2 +- .../src/main/res/values-fr-rFR/strings.xml | 99 ++-- .../src/main/res/values-fr-rFR/validator.xml | 2 +- .../src/main/res/values-ga-rIE/strings.xml | 136 +++++- .../src/main/res/values-hr-rHR/strings.xml | 299 +++++++++++- .../src/main/res/values-hu-rHU/protection.xml | 2 + .../src/main/res/values-hu-rHU/strings.xml | 97 +++- .../src/main/res/values-it-rIT/strings.xml | 95 ++-- .../src/main/res/values-iw-rIL/protection.xml | 4 +- .../src/main/res/values-iw-rIL/strings.xml | 118 +++-- .../src/main/res/values-ko-rKR/protection.xml | 23 +- .../src/main/res/values-ko-rKR/strings.xml | 82 ++-- .../src/main/res/values-lt-rLT/strings.xml | 88 ++-- .../src/main/res/values-nl-rNL/strings.xml | 105 ++-- .../src/main/res/values-nl-rNL/validator.xml | 2 +- .../src/main/res/values-no-rNO/protection.xml | 2 + .../src/main/res/values-no-rNO/strings.xml | 194 ++++---- .../src/main/res/values-pl-rPL/strings.xml | 85 ++-- .../src/main/res/values-pt-rBR/strings.xml | 351 +++++++++++++- .../src/main/res/values-pt-rBR/validator.xml | 4 + .../src/main/res/values-pt-rPT/strings.xml | 142 ++++-- .../src/main/res/values-pt-rPT/validator.xml | 2 +- .../src/main/res/values-ro-rRO/strings.xml | 85 ++-- .../src/main/res/values-ru-rRU/strings.xml | 92 ++-- .../src/main/res/values-sk-rSK/strings.xml | 82 ++-- .../src/main/res/values-sr-rCS/protection.xml | 2 + .../src/main/res/values-sr-rCS/strings.xml | 31 +- .../src/main/res/values-sv-rSE/strings.xml | 96 ++-- .../src/main/res/values-tr-rTR/protection.xml | 4 +- .../src/main/res/values-tr-rTR/strings.xml | 103 ++-- .../src/main/res/values-zh-rCN/protection.xml | 4 +- .../src/main/res/values-zh-rCN/strings.xml | 141 ++++-- .../src/main/res/values-af-rZA/strings.xml | 2 + .../src/main/res/values-bg-rBG/strings.xml | 2 + .../src/main/res/values-ca-rES/strings.xml | 2 + .../src/main/res/values-cs-rCZ/strings.xml | 2 + .../src/main/res/values-da-rDK/strings.xml | 2 + .../src/main/res/values-de-rDE/strings.xml | 2 + .../src/main/res/values-el-rGR/strings.xml | 2 + .../src/main/res/values-es-rES/strings.xml | 2 + .../src/main/res/values-fr-rFR/strings.xml | 2 + .../src/main/res/values-ga-rIE/strings.xml | 2 + .../src/main/res/values-hr-rHR/strings.xml | 2 + .../src/main/res/values-hu-rHU/strings.xml | 2 + .../src/main/res/values-it-rIT/strings.xml | 2 + .../src/main/res/values-iw-rIL/strings.xml | 2 + .../src/main/res/values-ko-rKR/strings.xml | 2 + .../src/main/res/values-lt-rLT/strings.xml | 2 + .../src/main/res/values-nl-rNL/strings.xml | 2 + .../src/main/res/values-no-rNO/strings.xml | 2 + .../src/main/res/values-pl-rPL/strings.xml | 2 + .../src/main/res/values-pt-rBR/strings.xml | 2 + .../src/main/res/values-pt-rPT/strings.xml | 2 + .../src/main/res/values-ro-rRO/strings.xml | 2 + .../src/main/res/values-ru-rRU/strings.xml | 2 + .../src/main/res/values-sk-rSK/strings.xml | 2 + .../src/main/res/values-sr-rCS/strings.xml | 2 + .../src/main/res/values-sv-rSE/strings.xml | 2 + .../src/main/res/values-tr-rTR/strings.xml | 2 + .../src/main/res/values-zh-rCN/strings.xml | 2 + .../ui/src/main/res/values-af-rZA/strings.xml | 13 + .../ui/src/main/res/values-bg-rBG/strings.xml | 16 + .../ui/src/main/res/values-ca-rES/strings.xml | 15 + .../ui/src/main/res/values-cs-rCZ/strings.xml | 22 + .../ui/src/main/res/values-da-rDK/strings.xml | 17 + .../ui/src/main/res/values-de-rDE/strings.xml | 17 + .../ui/src/main/res/values-el-rGR/strings.xml | 13 + .../ui/src/main/res/values-es-rES/strings.xml | 17 + .../ui/src/main/res/values-fr-rFR/strings.xml | 17 + .../ui/src/main/res/values-ga-rIE/strings.xml | 15 + .../ui/src/main/res/values-hr-rHR/strings.xml | 14 + .../ui/src/main/res/values-hu-rHU/strings.xml | 10 + .../ui/src/main/res/values-it-rIT/strings.xml | 17 + .../ui/src/main/res/values-iw-rIL/strings.xml | 17 + .../ui/src/main/res/values-ko-rKR/strings.xml | 16 + .../ui/src/main/res/values-lt-rLT/strings.xml | 16 + .../ui/src/main/res/values-nl-rNL/strings.xml | 17 + .../ui/src/main/res/values-no-rNO/strings.xml | 17 + .../ui/src/main/res/values-pl-rPL/strings.xml | 16 + .../ui/src/main/res/values-pt-rBR/strings.xml | 17 + .../ui/src/main/res/values-pt-rPT/strings.xml | 16 + .../ui/src/main/res/values-ro-rRO/strings.xml | 16 + .../ui/src/main/res/values-ru-rRU/strings.xml | 17 + .../ui/src/main/res/values-sk-rSK/strings.xml | 17 + .../ui/src/main/res/values-sr-rCS/strings.xml | 8 + .../ui/src/main/res/values-sv-rSE/strings.xml | 17 + .../ui/src/main/res/values-tr-rTR/strings.xml | 17 + .../ui/src/main/res/values-zh-rCN/strings.xml | 17 + .../src/main/res/values-bg-rBG/strings.xml | 2 - .../src/main/res/values-cs-rCZ/strings.xml | 2 - .../src/main/res/values-es-rES/strings.xml | 10 +- .../src/main/res/values-fr-rFR/strings.xml | 2 - .../src/main/res/values-it-rIT/strings.xml | 14 + .../src/main/res/values-nl-rNL/strings.xml | 2 - .../src/main/res/values-no-rNO/strings.xml | 5 +- .../src/main/res/values-ru-rRU/strings.xml | 2 - .../src/main/res/values-sk-rSK/strings.xml | 2 - .../src/main/res/values-tr-rTR/strings.xml | 14 +- .../src/main/res/values-af-rZA/strings.xml | 2 - .../src/main/res/values-bg-rBG/strings.xml | 2 - .../src/main/res/values-ca-rES/strings.xml | 1 - .../src/main/res/values-cs-rCZ/strings.xml | 2 - .../src/main/res/values-da-rDK/strings.xml | 2 - .../src/main/res/values-de-rDE/strings.xml | 2 - .../src/main/res/values-el-rGR/strings.xml | 2 - .../src/main/res/values-es-rES/strings.xml | 2 - .../src/main/res/values-fr-rFR/strings.xml | 2 - .../src/main/res/values-it-rIT/strings.xml | 2 - .../src/main/res/values-iw-rIL/strings.xml | 2 - .../src/main/res/values-ko-rKR/strings.xml | 2 - .../src/main/res/values-lt-rLT/strings.xml | 2 - .../src/main/res/values-nl-rNL/strings.xml | 2 - .../src/main/res/values-no-rNO/strings.xml | 2 - .../src/main/res/values-pl-rPL/strings.xml | 2 - .../src/main/res/values-pt-rBR/strings.xml | 2 - .../src/main/res/values-pt-rPT/strings.xml | 2 - .../src/main/res/values-ro-rRO/strings.xml | 2 - .../src/main/res/values-ru-rRU/strings.xml | 2 - .../src/main/res/values-sk-rSK/strings.xml | 2 - .../src/main/res/values-sv-rSE/strings.xml | 2 - .../src/main/res/values-tr-rTR/strings.xml | 8 +- .../src/main/res/values-zh-rCN/strings.xml | 2 - .../src/main/res/values-af-rZA/strings.xml | 31 ++ .../src/main/res/values-bg-rBG/strings.xml | 38 ++ .../src/main/res/values-ca-rES/strings.xml | 35 ++ .../src/main/res/values-cs-rCZ/strings.xml | 95 ++++ .../src/main/res/values-da-rDK/strings.xml | 41 ++ .../src/main/res/values-de-rDE/strings.xml | 41 ++ .../src/main/res/values-el-rGR/strings.xml | 33 ++ .../src/main/res/values-es-rES/strings.xml | 41 ++ .../src/main/res/values-fr-rFR/strings.xml | 41 ++ .../src/main/res/values-ga-rIE/strings.xml | 13 + .../src/main/res/values-hr-rHR/strings.xml | 13 + .../src/main/res/values-hu-rHU/strings.xml | 8 + .../src/main/res/values-it-rIT/strings.xml | 41 ++ .../src/main/res/values-iw-rIL/strings.xml | 41 ++ .../src/main/res/values-ko-rKR/strings.xml | 35 ++ .../src/main/res/values-lt-rLT/strings.xml | 36 ++ .../src/main/res/values-nl-rNL/strings.xml | 39 ++ .../src/main/res/values-no-rNO/strings.xml | 82 ++++ .../src/main/res/values-pl-rPL/strings.xml | 38 ++ .../src/main/res/values-pt-rBR/strings.xml | 40 ++ .../src/main/res/values-pt-rPT/strings.xml | 35 ++ .../src/main/res/values-ro-rRO/strings.xml | 37 ++ .../src/main/res/values-ru-rRU/strings.xml | 41 ++ .../src/main/res/values-sk-rSK/strings.xml | 41 ++ .../src/main/res/values-sr-rCS/strings.xml | 14 + .../src/main/res/values-sv-rSE/strings.xml | 37 ++ .../src/main/res/values-tr-rTR/strings.xml | 41 ++ .../src/main/res/values-zh-rCN/strings.xml | 40 ++ .../src/main/res/values-af-rZA/strings.xml | 3 +- .../src/main/res/values-bg-rBG/strings.xml | 9 +- .../src/main/res/values-ca-rES/strings.xml | 10 +- .../src/main/res/values-cs-rCZ/strings.xml | 9 +- .../src/main/res/values-da-rDK/strings.xml | 9 +- .../src/main/res/values-de-rDE/strings.xml | 9 +- .../src/main/res/values-el-rGR/strings.xml | 3 +- .../src/main/res/values-es-rES/strings.xml | 9 +- .../src/main/res/values-fr-rFR/strings.xml | 9 +- .../src/main/res/values-ga-rIE/strings.xml | 21 +- .../src/main/res/values-hr-rHR/strings.xml | 10 + .../src/main/res/values-hu-rHU/strings.xml | 22 + .../src/main/res/values-it-rIT/strings.xml | 9 +- .../src/main/res/values-iw-rIL/strings.xml | 9 +- .../src/main/res/values-ko-rKR/strings.xml | 9 +- .../src/main/res/values-lt-rLT/strings.xml | 9 +- .../src/main/res/values-nl-rNL/strings.xml | 9 +- .../src/main/res/values-no-rNO/strings.xml | 9 +- .../src/main/res/values-pl-rPL/strings.xml | 16 +- .../src/main/res/values-pt-rBR/strings.xml | 27 +- .../src/main/res/values-pt-rPT/strings.xml | 9 +- .../src/main/res/values-ro-rRO/strings.xml | 13 +- .../src/main/res/values-ru-rRU/strings.xml | 9 +- .../src/main/res/values-sk-rSK/strings.xml | 9 +- .../src/main/res/values-sr-rCS/strings.xml | 1 + .../src/main/res/values-sv-rSE/strings.xml | 9 +- .../src/main/res/values-tr-rTR/strings.xml | 9 +- .../src/main/res/values-zh-rCN/strings.xml | 9 +- .../main/src/main/res/values-af-rZA/exam.xml | 21 + .../src/main/res/values-af-rZA/objectives.xml | 49 ++ .../src/main/res/values-af-rZA/strings.xml | 143 +++--- .../main/src/main/res/values-bg-rBG/exam.xml | 52 ++ .../src/main/res/values-bg-rBG/objectives.xml | 53 +++ .../src/main/res/values-bg-rBG/strings.xml | 293 ++++++------ .../main/src/main/res/values-ca-rES/exam.xml | 187 ++++++++ .../src/main/res/values-ca-rES/objectives.xml | 53 +++ .../src/main/res/values-ca-rES/strings.xml | 271 ++++++----- .../main/src/main/res/values-cs-rCZ/exam.xml | 228 +++++++++ .../src/main/res/values-cs-rCZ/objectives.xml | 55 +++ .../src/main/res/values-cs-rCZ/strings.xml | 355 +++++++++++--- .../main/src/main/res/values-da-rDK/exam.xml | 227 +++++++++ .../src/main/res/values-da-rDK/objectives.xml | 55 +++ .../src/main/res/values-da-rDK/strings.xml | 307 ++++++------ .../main/src/main/res/values-de-rDE/exam.xml | 194 ++++++++ .../src/main/res/values-de-rDE/objectives.xml | 54 +++ .../src/main/res/values-de-rDE/strings.xml | 303 +++++++----- .../main/src/main/res/values-el-rGR/exam.xml | 54 +++ .../src/main/res/values-el-rGR/objectives.xml | 49 ++ .../src/main/res/values-el-rGR/strings.xml | 181 +++---- .../main/src/main/res/values-es-rES/exam.xml | 227 +++++++++ .../src/main/res/values-es-rES/objectives.xml | 55 +++ .../src/main/res/values-es-rES/strings.xml | 277 ++++++++--- .../main/src/main/res/values-fr-rFR/exam.xml | 227 +++++++++ .../src/main/res/values-fr-rFR/objectives.xml | 55 +++ .../src/main/res/values-fr-rFR/strings.xml | 399 +++++++++------- .../main/src/main/res/values-ga-rIE/exam.xml | 2 + .../src/main/res/values-ga-rIE/objectives.xml | 5 + .../src/main/res/values-ga-rIE/strings.xml | 52 +- .../main/src/main/res/values-hr-rHR/exam.xml | 40 ++ .../src/main/res/values-hr-rHR/objectives.xml | 5 + .../src/main/res/values-hr-rHR/strings.xml | 208 +++++++- .../main/src/main/res/values-hu-rHU/exam.xml | 2 + .../src/main/res/values-hu-rHU/objectives.xml | 2 + .../src/main/res/values-hu-rHU/strings.xml | 47 +- .../main/src/main/res/values-it-rIT/exam.xml | 227 +++++++++ .../src/main/res/values-it-rIT/objectives.xml | 56 +++ .../src/main/res/values-it-rIT/strings.xml | 447 +++++++++++------ .../main/src/main/res/values-iw-rIL/exam.xml | 227 +++++++++ .../src/main/res/values-iw-rIL/objectives.xml | 55 +++ .../src/main/res/values-iw-rIL/strings.xml | 313 ++++++------ .../main/src/main/res/values-ko-rKR/exam.xml | 179 +++++++ .../src/main/res/values-ko-rKR/objectives.xml | 54 +++ .../src/main/res/values-ko-rKR/strings.xml | 250 +++++----- .../main/src/main/res/values-lt-rLT/exam.xml | 179 +++++++ .../src/main/res/values-lt-rLT/objectives.xml | 54 +++ .../src/main/res/values-lt-rLT/strings.xml | 333 +++++++------ .../main/src/main/res/values-nl-rNL/exam.xml | 227 +++++++++ .../src/main/res/values-nl-rNL/objectives.xml | 55 +++ .../src/main/res/values-nl-rNL/strings.xml | 440 ++++++++++------- .../main/src/main/res/values-no-rNO/exam.xml | 227 +++++++++ .../src/main/res/values-no-rNO/objectives.xml | 55 +++ .../src/main/res/values-no-rNO/strings.xml | 370 ++++++++++++--- .../main/src/main/res/values-pl-rPL/exam.xml | 179 +++++++ .../src/main/res/values-pl-rPL/objectives.xml | 53 +++ .../src/main/res/values-pl-rPL/strings.xml | 278 ++++++----- .../main/src/main/res/values-pt-rBR/exam.xml | 227 +++++++++ .../src/main/res/values-pt-rBR/objectives.xml | 55 +++ .../src/main/res/values-pt-rBR/strings.xml | 310 ++++++------ .../main/src/main/res/values-pt-rPT/exam.xml | 179 +++++++ .../src/main/res/values-pt-rPT/objectives.xml | 53 +++ .../src/main/res/values-pt-rPT/strings.xml | 275 ++++++----- .../main/src/main/res/values-ro-rRO/exam.xml | 179 +++++++ .../src/main/res/values-ro-rRO/objectives.xml | 53 +++ .../src/main/res/values-ro-rRO/strings.xml | 277 ++++++----- .../main/src/main/res/values-ru-rRU/exam.xml | 227 +++++++++ .../src/main/res/values-ru-rRU/objectives.xml | 55 +++ .../src/main/res/values-ru-rRU/strings.xml | 377 ++++++++------- .../main/src/main/res/values-sk-rSK/exam.xml | 227 +++++++++ .../src/main/res/values-sk-rSK/objectives.xml | 55 +++ .../src/main/res/values-sk-rSK/strings.xml | 448 +++++++++++------- .../main/src/main/res/values-sr-rCS/exam.xml | 2 + .../src/main/res/values-sr-rCS/objectives.xml | 2 + .../src/main/res/values-sr-rCS/strings.xml | 70 +-- .../main/src/main/res/values-sv-rSE/exam.xml | 179 +++++++ .../src/main/res/values-sv-rSE/objectives.xml | 53 +++ .../src/main/res/values-sv-rSE/strings.xml | 286 ++++++----- .../main/src/main/res/values-tr-rTR/exam.xml | 227 +++++++++ .../src/main/res/values-tr-rTR/objectives.xml | 55 +++ .../src/main/res/values-tr-rTR/strings.xml | 360 ++++++++------ .../main/src/main/res/values-zh-rCN/exam.xml | 194 ++++++++ .../src/main/res/values-zh-rCN/objectives.xml | 53 +++ .../src/main/res/values-zh-rCN/strings.xml | 306 ++++++------ .../src/main/res/values-bg-rBG/strings.xml | 2 +- .../src/main/res/values-cs-rCZ/strings.xml | 2 +- .../src/main/res/values-da-rDK/strings.xml | 3 +- .../src/main/res/values-de-rDE/strings.xml | 2 +- .../src/main/res/values-es-rES/strings.xml | 2 +- .../src/main/res/values-fr-rFR/strings.xml | 2 +- .../src/main/res/values-ga-rIE/strings.xml | 5 +- .../src/main/res/values-hr-rHR/strings.xml | 43 +- .../src/main/res/values-hu-rHU/strings.xml | 18 +- .../src/main/res/values-it-rIT/strings.xml | 2 +- .../src/main/res/values-iw-rIL/strings.xml | 2 +- .../src/main/res/values-ko-rKR/strings.xml | 2 +- .../src/main/res/values-lt-rLT/strings.xml | 2 +- .../src/main/res/values-nl-rNL/strings.xml | 2 +- .../src/main/res/values-no-rNO/strings.xml | 2 +- .../src/main/res/values-pl-rPL/strings.xml | 27 +- .../src/main/res/values-pt-rBR/strings.xml | 46 ++ .../src/main/res/values-pt-rPT/strings.xml | 2 +- .../src/main/res/values-ro-rRO/strings.xml | 2 +- .../src/main/res/values-ru-rRU/strings.xml | 2 +- .../src/main/res/values-sk-rSK/strings.xml | 2 +- .../src/main/res/values-sv-rSE/strings.xml | 2 +- .../src/main/res/values-tr-rTR/strings.xml | 2 +- .../src/main/res/values-zh-rCN/strings.xml | 8 +- .../src/main/res/values-es-rES/strings.xml | 7 + .../src/main/res/values-af-rZA/strings.xml | 5 +- .../src/main/res/values-bg-rBG/strings.xml | 7 +- .../src/main/res/values-ca-rES/strings.xml | 6 +- .../src/main/res/values-cs-rCZ/strings.xml | 11 +- .../src/main/res/values-da-rDK/strings.xml | 7 +- .../src/main/res/values-de-rDE/strings.xml | 7 +- .../src/main/res/values-el-rGR/strings.xml | 5 +- .../src/main/res/values-es-rES/strings.xml | 134 +++++- .../src/main/res/values-fr-rFR/strings.xml | 3 + .../src/main/res/values-ga-rIE/strings.xml | 4 +- .../src/main/res/values-hr-rHR/strings.xml | 5 +- .../src/main/res/values-it-rIT/strings.xml | 7 +- .../src/main/res/values-iw-rIL/strings.xml | 4 +- .../src/main/res/values-ko-rKR/strings.xml | 6 +- .../src/main/res/values-lt-rLT/strings.xml | 6 +- .../src/main/res/values-no-rNO/strings.xml | 134 +++++- .../src/main/res/values-pl-rPL/strings.xml | 7 +- .../src/main/res/values-pt-rBR/strings.xml | 6 +- .../src/main/res/values-pt-rPT/strings.xml | 6 +- .../src/main/res/values-ro-rRO/strings.xml | 6 +- .../src/main/res/values-ru-rRU/strings.xml | 119 ++++- .../src/main/res/values-sk-rSK/strings.xml | 7 +- .../src/main/res/values-sv-rSE/strings.xml | 6 +- .../src/main/res/values-tr-rTR/strings.xml | 61 ++- .../src/main/res/values-zh-rCN/strings.xml | 7 +- .../src/main/res/values-no-rNO/strings.xml | 24 +- .../src/main/res/values-ru-rRU/strings.xml | 10 +- .../src/main/res/values-tr-rTR/strings.xml | 6 +- .../src/main/res/values-no-rNO/strings.xml | 6 +- .../src/main/res/values-tr-rTR/strings.xml | 2 +- .../src/main/res/values-af-rZA/strings.xml | 8 - .../src/main/res/values-bg-rBG/strings.xml | 8 - .../src/main/res/values-ca-rES/strings.xml | 8 - .../src/main/res/values-cs-rCZ/strings.xml | 8 - .../src/main/res/values-da-rDK/strings.xml | 8 - .../src/main/res/values-de-rDE/strings.xml | 8 - .../src/main/res/values-el-rGR/strings.xml | 8 - .../src/main/res/values-es-rES/strings.xml | 8 - .../src/main/res/values-fr-rFR/strings.xml | 8 - .../src/main/res/values-ga-rIE/strings.xml | 1 - .../src/main/res/values-hr-rHR/strings.xml | 1 - .../src/main/res/values-hu-rHU/strings.xml | 1 - .../src/main/res/values-it-rIT/strings.xml | 8 - .../src/main/res/values-iw-rIL/strings.xml | 8 - .../src/main/res/values-ko-rKR/strings.xml | 8 - .../src/main/res/values-lt-rLT/strings.xml | 8 - .../src/main/res/values-nl-rNL/strings.xml | 8 - .../src/main/res/values-no-rNO/strings.xml | 10 +- .../src/main/res/values-pl-rPL/strings.xml | 8 - .../src/main/res/values-pt-rBR/strings.xml | 8 - .../src/main/res/values-pt-rPT/strings.xml | 8 - .../src/main/res/values-ro-rRO/strings.xml | 8 - .../src/main/res/values-ru-rRU/strings.xml | 8 - .../src/main/res/values-sk-rSK/strings.xml | 8 - .../src/main/res/values-sv-rSE/strings.xml | 8 - .../src/main/res/values-tr-rTR/strings.xml | 8 - .../src/main/res/values-zh-rCN/strings.xml | 8 - ui/src/main/res/values-af-rZA/strings.xml | 46 +- ui/src/main/res/values-bg-rBG/strings.xml | 57 ++- ui/src/main/res/values-ca-rES/strings.xml | 58 ++- ui/src/main/res/values-cs-rCZ/strings.xml | 100 +++- ui/src/main/res/values-da-rDK/strings.xml | 72 ++- ui/src/main/res/values-de-rDE/strings.xml | 76 ++- ui/src/main/res/values-el-rGR/strings.xml | 49 +- ui/src/main/res/values-es-rES/strings.xml | 87 +++- ui/src/main/res/values-fr-rFR/strings.xml | 21 +- ui/src/main/res/values-ga-rIE/strings.xml | 42 +- ui/src/main/res/values-hr-rHR/strings.xml | 11 +- ui/src/main/res/values-hu-rHU/strings.xml | 14 +- ui/src/main/res/values-it-rIT/strings.xml | 74 ++- ui/src/main/res/values-iw-rIL/strings.xml | 72 ++- ui/src/main/res/values-ko-rKR/strings.xml | 54 ++- ui/src/main/res/values-lt-rLT/strings.xml | 55 ++- ui/src/main/res/values-nl-rNL/strings.xml | 43 +- ui/src/main/res/values-no-rNO/strings.xml | 95 +++- ui/src/main/res/values-pl-rPL/strings.xml | 55 ++- ui/src/main/res/values-pt-rBR/strings.xml | 72 ++- ui/src/main/res/values-pt-rPT/strings.xml | 55 ++- ui/src/main/res/values-ro-rRO/strings.xml | 55 ++- ui/src/main/res/values-ru-rRU/strings.xml | 104 +++- ui/src/main/res/values-sk-rSK/strings.xml | 78 ++- ui/src/main/res/values-sr-rCS/strings.xml | 22 +- ui/src/main/res/values-sv-rSE/strings.xml | 58 ++- ui/src/main/res/values-tr-rTR/strings.xml | 32 +- ui/src/main/res/values-zh-rCN/strings.xml | 72 ++- 492 files changed, 18213 insertions(+), 18182 deletions(-) create mode 100644 app-wear-shared/rx/src/main/res/values-af-rZA/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-bg-rBG/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-ca-rES/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-cs-rCZ/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-da-rDK/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-de-rDE/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-el-rGR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-es-rES/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-ga-rIE/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-hr-rHR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-hu-rHU/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-it-rIT/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-iw-rIL/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-ko-rKR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-lt-rLT/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-nl-rNL/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-no-rNO/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-pl-rPL/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-pt-rBR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-pt-rPT/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-ro-rRO/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-ru-rRU/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-sk-rSK/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-sr-rCS/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-sv-rSE/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-tr-rTR/strings.xml create mode 100644 app-wear-shared/rx/src/main/res/values-zh-rCN/strings.xml create mode 100644 core/core-main/src/main/res/values-ca-rES/protection.xml create mode 100644 core/core-main/src/main/res/values-da-rDK/protection.xml create mode 100644 core/core-main/src/main/res/values-hu-rHU/protection.xml create mode 100644 core/core-main/src/main/res/values-no-rNO/protection.xml create mode 100644 core/core-main/src/main/res/values-sr-rCS/protection.xml create mode 100644 core/fabric/src/main/res/values-af-rZA/strings.xml create mode 100644 core/fabric/src/main/res/values-bg-rBG/strings.xml create mode 100644 core/fabric/src/main/res/values-ca-rES/strings.xml create mode 100644 core/fabric/src/main/res/values-cs-rCZ/strings.xml create mode 100644 core/fabric/src/main/res/values-da-rDK/strings.xml create mode 100644 core/fabric/src/main/res/values-de-rDE/strings.xml create mode 100644 core/fabric/src/main/res/values-el-rGR/strings.xml create mode 100644 core/fabric/src/main/res/values-es-rES/strings.xml create mode 100644 core/fabric/src/main/res/values-fr-rFR/strings.xml create mode 100644 core/fabric/src/main/res/values-ga-rIE/strings.xml create mode 100644 core/fabric/src/main/res/values-hr-rHR/strings.xml create mode 100644 core/fabric/src/main/res/values-hu-rHU/strings.xml create mode 100644 core/fabric/src/main/res/values-it-rIT/strings.xml create mode 100644 core/fabric/src/main/res/values-iw-rIL/strings.xml create mode 100644 core/fabric/src/main/res/values-ko-rKR/strings.xml create mode 100644 core/fabric/src/main/res/values-lt-rLT/strings.xml create mode 100644 core/fabric/src/main/res/values-nl-rNL/strings.xml create mode 100644 core/fabric/src/main/res/values-no-rNO/strings.xml create mode 100644 core/fabric/src/main/res/values-pl-rPL/strings.xml create mode 100644 core/fabric/src/main/res/values-pt-rBR/strings.xml create mode 100644 core/fabric/src/main/res/values-pt-rPT/strings.xml create mode 100644 core/fabric/src/main/res/values-ro-rRO/strings.xml create mode 100644 core/fabric/src/main/res/values-ru-rRU/strings.xml create mode 100644 core/fabric/src/main/res/values-sk-rSK/strings.xml create mode 100644 core/fabric/src/main/res/values-sr-rCS/strings.xml create mode 100644 core/fabric/src/main/res/values-sv-rSE/strings.xml create mode 100644 core/fabric/src/main/res/values-tr-rTR/strings.xml create mode 100644 core/fabric/src/main/res/values-zh-rCN/strings.xml create mode 100644 core/ui/src/main/res/values-af-rZA/strings.xml create mode 100644 core/ui/src/main/res/values-bg-rBG/strings.xml create mode 100644 core/ui/src/main/res/values-ca-rES/strings.xml create mode 100644 core/ui/src/main/res/values-cs-rCZ/strings.xml create mode 100644 core/ui/src/main/res/values-da-rDK/strings.xml create mode 100644 core/ui/src/main/res/values-de-rDE/strings.xml create mode 100644 core/ui/src/main/res/values-el-rGR/strings.xml create mode 100644 core/ui/src/main/res/values-es-rES/strings.xml create mode 100644 core/ui/src/main/res/values-fr-rFR/strings.xml create mode 100644 core/ui/src/main/res/values-ga-rIE/strings.xml create mode 100644 core/ui/src/main/res/values-hr-rHR/strings.xml create mode 100644 core/ui/src/main/res/values-hu-rHU/strings.xml create mode 100644 core/ui/src/main/res/values-it-rIT/strings.xml create mode 100644 core/ui/src/main/res/values-iw-rIL/strings.xml create mode 100644 core/ui/src/main/res/values-ko-rKR/strings.xml create mode 100644 core/ui/src/main/res/values-lt-rLT/strings.xml create mode 100644 core/ui/src/main/res/values-nl-rNL/strings.xml create mode 100644 core/ui/src/main/res/values-no-rNO/strings.xml create mode 100644 core/ui/src/main/res/values-pl-rPL/strings.xml create mode 100644 core/ui/src/main/res/values-pt-rBR/strings.xml create mode 100644 core/ui/src/main/res/values-pt-rPT/strings.xml create mode 100644 core/ui/src/main/res/values-ro-rRO/strings.xml create mode 100644 core/ui/src/main/res/values-ru-rRU/strings.xml create mode 100644 core/ui/src/main/res/values-sk-rSK/strings.xml create mode 100644 core/ui/src/main/res/values-sr-rCS/strings.xml create mode 100644 core/ui/src/main/res/values-sv-rSE/strings.xml create mode 100644 core/ui/src/main/res/values-tr-rTR/strings.xml create mode 100644 core/ui/src/main/res/values-zh-rCN/strings.xml create mode 100644 plugins/aps/src/main/res/values-af-rZA/strings.xml create mode 100644 plugins/aps/src/main/res/values-bg-rBG/strings.xml create mode 100644 plugins/aps/src/main/res/values-ca-rES/strings.xml create mode 100644 plugins/aps/src/main/res/values-cs-rCZ/strings.xml create mode 100644 plugins/aps/src/main/res/values-da-rDK/strings.xml create mode 100644 plugins/aps/src/main/res/values-de-rDE/strings.xml create mode 100644 plugins/aps/src/main/res/values-el-rGR/strings.xml create mode 100644 plugins/aps/src/main/res/values-es-rES/strings.xml create mode 100644 plugins/aps/src/main/res/values-fr-rFR/strings.xml create mode 100644 plugins/aps/src/main/res/values-ga-rIE/strings.xml create mode 100644 plugins/aps/src/main/res/values-hr-rHR/strings.xml create mode 100644 plugins/aps/src/main/res/values-hu-rHU/strings.xml create mode 100644 plugins/aps/src/main/res/values-it-rIT/strings.xml create mode 100644 plugins/aps/src/main/res/values-iw-rIL/strings.xml create mode 100644 plugins/aps/src/main/res/values-ko-rKR/strings.xml create mode 100644 plugins/aps/src/main/res/values-lt-rLT/strings.xml create mode 100644 plugins/aps/src/main/res/values-nl-rNL/strings.xml create mode 100644 plugins/aps/src/main/res/values-no-rNO/strings.xml create mode 100644 plugins/aps/src/main/res/values-pl-rPL/strings.xml create mode 100644 plugins/aps/src/main/res/values-pt-rBR/strings.xml create mode 100644 plugins/aps/src/main/res/values-pt-rPT/strings.xml create mode 100644 plugins/aps/src/main/res/values-ro-rRO/strings.xml create mode 100644 plugins/aps/src/main/res/values-ru-rRU/strings.xml create mode 100644 plugins/aps/src/main/res/values-sk-rSK/strings.xml create mode 100644 plugins/aps/src/main/res/values-sr-rCS/strings.xml create mode 100644 plugins/aps/src/main/res/values-sv-rSE/strings.xml create mode 100644 plugins/aps/src/main/res/values-tr-rTR/strings.xml create mode 100644 plugins/aps/src/main/res/values-zh-rCN/strings.xml create mode 100644 plugins/main/src/main/res/values-af-rZA/exam.xml create mode 100644 plugins/main/src/main/res/values-af-rZA/objectives.xml create mode 100644 plugins/main/src/main/res/values-bg-rBG/exam.xml create mode 100644 plugins/main/src/main/res/values-bg-rBG/objectives.xml create mode 100644 plugins/main/src/main/res/values-ca-rES/exam.xml create mode 100644 plugins/main/src/main/res/values-ca-rES/objectives.xml create mode 100644 plugins/main/src/main/res/values-cs-rCZ/exam.xml create mode 100644 plugins/main/src/main/res/values-cs-rCZ/objectives.xml create mode 100644 plugins/main/src/main/res/values-da-rDK/exam.xml create mode 100644 plugins/main/src/main/res/values-da-rDK/objectives.xml create mode 100644 plugins/main/src/main/res/values-de-rDE/exam.xml create mode 100644 plugins/main/src/main/res/values-de-rDE/objectives.xml create mode 100644 plugins/main/src/main/res/values-el-rGR/exam.xml create mode 100644 plugins/main/src/main/res/values-el-rGR/objectives.xml create mode 100644 plugins/main/src/main/res/values-es-rES/exam.xml create mode 100644 plugins/main/src/main/res/values-es-rES/objectives.xml create mode 100644 plugins/main/src/main/res/values-fr-rFR/exam.xml create mode 100644 plugins/main/src/main/res/values-fr-rFR/objectives.xml create mode 100644 plugins/main/src/main/res/values-ga-rIE/exam.xml create mode 100644 plugins/main/src/main/res/values-ga-rIE/objectives.xml create mode 100644 plugins/main/src/main/res/values-hr-rHR/exam.xml create mode 100644 plugins/main/src/main/res/values-hr-rHR/objectives.xml create mode 100644 plugins/main/src/main/res/values-hu-rHU/exam.xml create mode 100644 plugins/main/src/main/res/values-hu-rHU/objectives.xml create mode 100644 plugins/main/src/main/res/values-it-rIT/exam.xml create mode 100644 plugins/main/src/main/res/values-it-rIT/objectives.xml create mode 100644 plugins/main/src/main/res/values-iw-rIL/exam.xml create mode 100644 plugins/main/src/main/res/values-iw-rIL/objectives.xml create mode 100644 plugins/main/src/main/res/values-ko-rKR/exam.xml create mode 100644 plugins/main/src/main/res/values-ko-rKR/objectives.xml create mode 100644 plugins/main/src/main/res/values-lt-rLT/exam.xml create mode 100644 plugins/main/src/main/res/values-lt-rLT/objectives.xml create mode 100644 plugins/main/src/main/res/values-nl-rNL/exam.xml create mode 100644 plugins/main/src/main/res/values-nl-rNL/objectives.xml create mode 100644 plugins/main/src/main/res/values-no-rNO/exam.xml create mode 100644 plugins/main/src/main/res/values-no-rNO/objectives.xml create mode 100644 plugins/main/src/main/res/values-pl-rPL/exam.xml create mode 100644 plugins/main/src/main/res/values-pl-rPL/objectives.xml create mode 100644 plugins/main/src/main/res/values-pt-rBR/exam.xml create mode 100644 plugins/main/src/main/res/values-pt-rBR/objectives.xml create mode 100644 plugins/main/src/main/res/values-pt-rPT/exam.xml create mode 100644 plugins/main/src/main/res/values-pt-rPT/objectives.xml create mode 100644 plugins/main/src/main/res/values-ro-rRO/exam.xml create mode 100644 plugins/main/src/main/res/values-ro-rRO/objectives.xml create mode 100644 plugins/main/src/main/res/values-ru-rRU/exam.xml create mode 100644 plugins/main/src/main/res/values-ru-rRU/objectives.xml create mode 100644 plugins/main/src/main/res/values-sk-rSK/exam.xml create mode 100644 plugins/main/src/main/res/values-sk-rSK/objectives.xml create mode 100644 plugins/main/src/main/res/values-sr-rCS/exam.xml create mode 100644 plugins/main/src/main/res/values-sr-rCS/objectives.xml create mode 100644 plugins/main/src/main/res/values-sv-rSE/exam.xml create mode 100644 plugins/main/src/main/res/values-sv-rSE/objectives.xml create mode 100644 plugins/main/src/main/res/values-tr-rTR/exam.xml create mode 100644 plugins/main/src/main/res/values-tr-rTR/objectives.xml create mode 100644 plugins/main/src/main/res/values-zh-rCN/exam.xml create mode 100644 plugins/main/src/main/res/values-zh-rCN/objectives.xml diff --git a/app-wear-shared/rx/src/main/res/values-af-rZA/strings.xml b/app-wear-shared/rx/src/main/res/values-af-rZA/strings.xml new file mode 100644 index 0000000000..b036aacc1d --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-af-rZA/strings.xml @@ -0,0 +1,6 @@ + + + Handskudding + Gekoppel + Ontkoppel + diff --git a/app-wear-shared/rx/src/main/res/values-bg-rBG/strings.xml b/app-wear-shared/rx/src/main/res/values-bg-rBG/strings.xml new file mode 100644 index 0000000000..d54a4d5fec --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-bg-rBG/strings.xml @@ -0,0 +1,7 @@ + + + Сдвояване + Свързана + Разкачане + Изчакване за разкачане + diff --git a/app-wear-shared/rx/src/main/res/values-ca-rES/strings.xml b/app-wear-shared/rx/src/main/res/values-ca-rES/strings.xml new file mode 100644 index 0000000000..8c4c06b2dd --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ca-rES/strings.xml @@ -0,0 +1,7 @@ + + + Establint comunicació + Connectat + Desconnectant + S\'està esperant la desconnexió + diff --git a/app-wear-shared/rx/src/main/res/values-cs-rCZ/strings.xml b/app-wear-shared/rx/src/main/res/values-cs-rCZ/strings.xml new file mode 100644 index 0000000000..f3b0bb294d --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-cs-rCZ/strings.xml @@ -0,0 +1,8 @@ + + + Připojování %1$d sec + Navazování spojení + Připojeno + Odpojuji + Čekám na odpojení + diff --git a/app-wear-shared/rx/src/main/res/values-da-rDK/strings.xml b/app-wear-shared/rx/src/main/res/values-da-rDK/strings.xml new file mode 100644 index 0000000000..7e9181ad77 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-da-rDK/strings.xml @@ -0,0 +1,7 @@ + + + Forbindelse verificeres + Tilsuttet + Afbryder + Venter på afbrydelse + diff --git a/app-wear-shared/rx/src/main/res/values-de-rDE/strings.xml b/app-wear-shared/rx/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 0000000000..0f4bf0c39b --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,7 @@ + + + Handshaking + Verbunden + Verbindung wird getrennt + Warte auf Trennung der Verbindung + diff --git a/app-wear-shared/rx/src/main/res/values-el-rGR/strings.xml b/app-wear-shared/rx/src/main/res/values-el-rGR/strings.xml new file mode 100644 index 0000000000..7bc1ea6c2f --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-el-rGR/strings.xml @@ -0,0 +1,6 @@ + + + Δημιουργία σύνδεσης + Συνδέθηκε + Αποσυνδέεται + diff --git a/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml b/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml new file mode 100644 index 0000000000..3537b368a4 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml @@ -0,0 +1,7 @@ + + + Estableciendo comunicacion + Conectado + Desconectando + Esperando la desconexión + diff --git a/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml b/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml new file mode 100644 index 0000000000..bbe3069ad2 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml @@ -0,0 +1,7 @@ + + + Connexion + Connectée + Déconnexion en cours + Attente de déconnexion + diff --git a/app-wear-shared/rx/src/main/res/values-ga-rIE/strings.xml b/app-wear-shared/rx/src/main/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000000..ac54a91378 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ga-rIE/strings.xml @@ -0,0 +1,5 @@ + + + Nasctha + Dícheangal + diff --git a/app-wear-shared/rx/src/main/res/values-hr-rHR/strings.xml b/app-wear-shared/rx/src/main/res/values-hr-rHR/strings.xml new file mode 100644 index 0000000000..596747670f --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-hr-rHR/strings.xml @@ -0,0 +1,7 @@ + + + Povezivanje + Povezano + Odspajanje + Čeka se prekid veze + diff --git a/app-wear-shared/rx/src/main/res/values-hu-rHU/strings.xml b/app-wear-shared/rx/src/main/res/values-hu-rHU/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-hu-rHU/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/app-wear-shared/rx/src/main/res/values-it-rIT/strings.xml b/app-wear-shared/rx/src/main/res/values-it-rIT/strings.xml new file mode 100644 index 0000000000..58d256eed5 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-it-rIT/strings.xml @@ -0,0 +1,7 @@ + + + Connessione + Connesso + Disconnessione + In attesa della disconnessione + diff --git a/app-wear-shared/rx/src/main/res/values-iw-rIL/strings.xml b/app-wear-shared/rx/src/main/res/values-iw-rIL/strings.xml new file mode 100644 index 0000000000..2fec401570 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-iw-rIL/strings.xml @@ -0,0 +1,7 @@ + + + לוחץ יד + מחובר + מתנתק + ממתין לניתוק + diff --git a/app-wear-shared/rx/src/main/res/values-ko-rKR/strings.xml b/app-wear-shared/rx/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 0000000000..ced6fb27f8 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,6 @@ + + + 통신 확인 + 연결됨 + 연결끊기중 + diff --git a/app-wear-shared/rx/src/main/res/values-lt-rLT/strings.xml b/app-wear-shared/rx/src/main/res/values-lt-rLT/strings.xml new file mode 100644 index 0000000000..0df1cc19eb --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-lt-rLT/strings.xml @@ -0,0 +1,7 @@ + + + Ryšio užmezgimas + Prisijungta + Atsijungiama + Laukiama atsijungimo + diff --git a/app-wear-shared/rx/src/main/res/values-nl-rNL/strings.xml b/app-wear-shared/rx/src/main/res/values-nl-rNL/strings.xml new file mode 100644 index 0000000000..fc90a0ee48 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-nl-rNL/strings.xml @@ -0,0 +1,7 @@ + + + Handshaking + Verbonden + Verbinding aan het verbreken + Wachten op het loskoppelen + diff --git a/app-wear-shared/rx/src/main/res/values-no-rNO/strings.xml b/app-wear-shared/rx/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 0000000000..0eb0c70aa4 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,8 @@ + + + Tilkobler i %1$d sek + Tilkobling verifiseres + Tilkoblet + Frakobler + Venter på frakobling + diff --git a/app-wear-shared/rx/src/main/res/values-pl-rPL/strings.xml b/app-wear-shared/rx/src/main/res/values-pl-rPL/strings.xml new file mode 100644 index 0000000000..54d8eb6de9 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-pl-rPL/strings.xml @@ -0,0 +1,7 @@ + + + Uściskdłoni + Połączono + Rozłączanie + Oczekiwanie na rozłączenie + diff --git a/app-wear-shared/rx/src/main/res/values-pt-rBR/strings.xml b/app-wear-shared/rx/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000000..a6cd37877e --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,7 @@ + + + Cumprimento + Conectado + A desligar + Aguardando a desconexão + diff --git a/app-wear-shared/rx/src/main/res/values-pt-rPT/strings.xml b/app-wear-shared/rx/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..4619724e6c --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,7 @@ + + + Cumprimento + Ligado + A desconectar + A aguardar a desconexão + diff --git a/app-wear-shared/rx/src/main/res/values-ro-rRO/strings.xml b/app-wear-shared/rx/src/main/res/values-ro-rRO/strings.xml new file mode 100644 index 0000000000..36bf7a557f --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ro-rRO/strings.xml @@ -0,0 +1,7 @@ + + + Împerechere + Conectat + Se deconectează + Se așteaptă deconectarea + diff --git a/app-wear-shared/rx/src/main/res/values-ru-rRU/strings.xml b/app-wear-shared/rx/src/main/res/values-ru-rRU/strings.xml new file mode 100644 index 0000000000..b7f1368b47 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ru-rRU/strings.xml @@ -0,0 +1,7 @@ + + + Подтверждение связи + соединение установлено + разъединение + Ожидание разъединения + diff --git a/app-wear-shared/rx/src/main/res/values-sk-rSK/strings.xml b/app-wear-shared/rx/src/main/res/values-sk-rSK/strings.xml new file mode 100644 index 0000000000..f25095a322 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-sk-rSK/strings.xml @@ -0,0 +1,7 @@ + + + Overovanie + Pripojené + Odpájanie + Čakám na odpojenie + diff --git a/app-wear-shared/rx/src/main/res/values-sr-rCS/strings.xml b/app-wear-shared/rx/src/main/res/values-sr-rCS/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-sr-rCS/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/app-wear-shared/rx/src/main/res/values-sv-rSE/strings.xml b/app-wear-shared/rx/src/main/res/values-sv-rSE/strings.xml new file mode 100644 index 0000000000..47c878f134 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-sv-rSE/strings.xml @@ -0,0 +1,7 @@ + + + Anslutningen verifieras + Ansluten + Kopplar från + Väntar på frånkoppling + diff --git a/app-wear-shared/rx/src/main/res/values-tr-rTR/strings.xml b/app-wear-shared/rx/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 0000000000..2cb3616e3c --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,7 @@ + + + Bağlandı + Bağlanıldı + Bağlantı kesiliyor + Bağlantının kesilmesi bekleniyor + diff --git a/app-wear-shared/rx/src/main/res/values-zh-rCN/strings.xml b/app-wear-shared/rx/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..a3786b5192 --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,7 @@ + + + 握手 + 已连接 + 正在断开连接 + 正在等待连接 + diff --git a/app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml b/app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml index 554d7a16e3..8d4df752e5 100644 --- a/app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml +++ b/app-wear-shared/shared/src/main/res/values-ga-rIE/strings.xml @@ -1,4 +1,21 @@ + %1$d nóim ó shin + %1$.1f u ó shin + u + + uair + soicind + nóiméad + uair + + seachtain + soicind + nóiméad + uair + + seachtaine + n + diff --git a/app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml b/app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml index b927c43d0b..254f7d53f2 100644 --- a/app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml +++ b/app-wear-shared/shared/src/main/res/values-nl-rNL/strings.xml @@ -7,7 +7,7 @@ %1$.1f dagen geleden %1$.0f dagen geleden over %1$.0f dagen - over %1$.0f dagen + binnen %1$.0f dagen u dagen uren diff --git a/app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml b/app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml index 91d8dc0119..3cb6c8e5b5 100644 --- a/app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml +++ b/app-wear-shared/shared/src/main/res/values-pt-rBR/strings.xml @@ -5,6 +5,9 @@ %1$d minutos atrás %1$.1fh atrás %1$d dias atrás + %1$.0f dias atrás + em %1$.0f dias + em %1$.0f dias h dias horas @@ -19,4 +22,8 @@ dias semanas m + Hoje, Mais tarde + Amanhã + Hoje + Ontem diff --git a/app/src/main/res/values-af-rZA/exam.xml b/app/src/main/res/values-af-rZA/exam.xml index 2c216b3690..3ea04e700d 100644 --- a/app/src/main/res/values-af-rZA/exam.xml +++ b/app/src/main/res/values-af-rZA/exam.xml @@ -1,4 +1,2 @@ - - Wat moet gedoen word wanneer pomp ontkoppel word? - + diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index d941a7403f..e4bc7ca2b0 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -3,48 +3,22 @@ - Behandelings veiligheid - Maks toelaatbare Bolus [U] - Maks Toelaatbare karbs [g] Voorkeure Verfris behandelings vanaf NS Herstel databasis Wil jy regtig die databasis herstel? Gaan uit - \'n Paar knoppies vir vinnige algemene nutsfunskies Gebruik vir die aktiewe plugins te konfigureer - Onderrig program Aktiveer of deaktiveer die implementering die lus wakker maak. - Sinkroniseer jou data met Nightscout - Status van die algoritme in 2017 - Mees onlangse algoritme vir gevorderde gebruikers Wys die huidige staat van jou lus en knoppies vir mees algemene optrede Toon \'n voortgesette kennisgewing met \'n kort oorsig van wat jou lus besig is om te doen - Pomp integrasie vir pompe wat nog nie enige drywer het nie (oop lus) Sensitiwiteit word bereken op dieselfde manier as Oref0, maar jy kan die tydsraamwerk spesifiseer in die verlede. Minimale karb absorpsie is bereken uit maks karb absorpsie tyd vanaf voorkeure. Sensitiwiteit word bereken as \'n geweegde gemiddelde van dwalinge. Nuwer dwalinge het hoër gewig. Minimale karb absorpsie is bereken uit max karb absorpsie tyd vanaf voorkeure. Hierdie algoritme is die vinnigste om sensitiwiteit veranderinge te volg. - Ontvang BG waardes uit die gelapte Eversense toep. - Ontvang BG waardes vanaf Glimp. - Onvang BG waardes vanaf die 600SeriesAndroidUploader. - Laai BG data af vanaf Nightscout Stoor alle behandelings wat gedoen was - Begin nou - VIRTUELE POMP - Vorige lopie - Insette parameters - Glukose status - Huidige temp - IOB data - Profiel - Maaltyd data - Uitslag - Geen beskikbare glukose data - Versoek Delta Konfigurasie bouer Oorsig Behandelings - Virtuele Pomp Pomp Profiel APS @@ -52,25 +26,15 @@ Algemene Hier is \'n paar algemene invoegtoepassings wat jy dalk nuttig sal vind. Watter beperkings word toegepas? - Beperkings Lus APS Na verwerkte beperkings Tydelike basale gestel deur pomp GEEN APS GEKIES OF UITSLAG VERSKAF - Veiligheid - Plugin is gedeaktiveer Beperkings skending - Aanvaar nuwe tydelike basale: Verander jou insette! BG bron - APS modus - Geslote lus - Oop lus Nuwe voorstel beskikbaar - Weergawe van Nightscout nie ondersteun - TydelikeBasaal - Verlengde Bolus Nightscout-weergawe: Voorkeure uitgevoer Uitvoer instellings na @@ -79,15 +43,11 @@ Lêer nie gevind nie Voer instellings uit na Voer instellings in - Die waarde word \"maks basal\" genoem in OpenAPS konteks - Maksimum basale IAB wat OpenAPS mag lewer [U] - Hierdie waarde word Maks IAB genoem in OpenAPS konteks\nDit is die maksimum insulien in [U] wat APS op een slag kan lewer. Eindverbruiker Lisensie Ooreenkoms MOET NIE GEBRUIK WORD OM MEDIESE BESLUITE TE MAAK NIE. DAAR IS GEEN WAARBORG DAT DIE PROGRAM, ONDERWORPE AAN TOEPASSELIKE WETTE EN WETGEWING. TENSY ANDERS GEMELD IN TEKS VOORSIEN DIE KOPIEREG-HOUERS EN / OF ANDER PARTYE DIE PROGRAM \"AS IS\" SONDER ËNIGE WAARBORG VAN ENIGE ORDE, UITDRUKKELIK OF IMPLISIET, INKLUSIEF, MAAR NIE BEPERK TOT DIE IMPLISIETE WAARBORG VAN TOEPAASBAARHEID OF NUT VIR EEN SPESIFIEKE DOEL. DIE TOTALE EN ALLE RISIKOVIR DIE KWALITEIT EN PRESTASIE VAN DIE PROGRAM RUS MET JOUSELF. VIR ENIGE PROGRAM DEFEKTIEWE OF FALINGS MOET JY PERSOONLIK DIE KOSTE EN REGSAANSPREEKLIKHEID DRA VAN ALLE NODIGE AKSIES, DIENS, REPARASIES OF KORREKSIES VIR USELF OF ENIGE DERDE PARTYE EN/OF AKSIES, DIENS, REPARASIES OF KORREKSIES WAT DEUR DIE PROGRAM GEDOEN WAS. EK VERSTAAN en STEM IN Stoor Herlaai profiel - SlimNutsman SlimNutsman instellings Knoppie teks: Karbs: @@ -95,13 +55,7 @@ Voeg by Wysig Corr - Aksies Pomp nie geïnisialiseer nie! - Prima/vul - Maak asseblief seker dat die hoeveelheid ooreenstem met die spesifikasies van jou infusie stel! - Knoppie 1 - Knoppie 2 - Knoppie 3 Reeks vir visualisering Hoë en lae merke vir die diagramme in Overview en Smartwatch LAE merk @@ -109,86 +63,25 @@ Wear Stuur alle Data weer Oop instellings op Wear - MM640g Voortgesette kennisgewing OU DATA - OpenAPS AMA - Matriks van %1$d elemente. \nWerklike waarde: - Autosens data - Skrip foutopspoor - Gebruik autosens kenmerk - ACT CONF LUS - OAPS TUIS - VPOMP BEHANDEL - OBJ WEAR Verkort oortjie titels - Gebruik altyd kort gemiddelde delta in plaas van eenvoudige delta - Verstek waarde: 3 dit is \'n sleutel OpenAPS veiligheidsdrumpels. Wat dit doen is om jou basale te berk tot 3 x (in hierdie mense) jou grootste basale koers. Jy sal waarskynlik nooit dit hoef te verander, maar jy moet bewus wees wat bespreek is oor \"3 x max daaglikse; 4 x huidige\"vir veiligheidsdrumpels. - Verstek waarde: 4 dit is die helfte van die sleutel OpenAPS veiligheid limiete, en die ander helfte van \"3 x maks daaglikse; 4 x huidige\"van die veiligheid limiet. Dit beteken jou basale, ongeag max basale stel op jou pomp, kan enige hoër wees as hierdie nommer tye die huidige vlak van jou basale. Dit is om te verhoed dat mense in gevaarlike gebied deur instelling buitensporig hoë max basals voor om te verstaan hoe die algoritme werk. Weer, die verstek is 4 x; die meeste mense sal nooit moet dit aanpas en is eerder meer geneig om te moet aanpas ander instellings as hulle voel hulle \"loop in\" hierdie veiligheid limiet. - Verstek waarde: 1.2\nThis is \'n vermenigvuldiger plafon vir autosens (en gou autotune) stel \'n 20%% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel. - Verstek waarde: 0.7\nDie ander kant van die autosens veiligheidsperke, sit \'n limiet op hoe laag autosens basals kan aanpas, en hoe hoog dit ISF en BG teikens kan verstel. - Verstek waarde: waar\nDit word gebruik om autosens toe te laat om BG teikens aan te pas, benewens ISF en basale. - Verstek waarde: 2\nBolus sluimer is verorden nadat jy \'n maaltyd bolus gedoen het, so die lus sal nie werk met lae tydelike wanneer jy nou net geëet het nie. Die voorbeeld hier se verstek is 2; so \'n 3 uur DIA beteken dat bolus sluimer sal geleidelik uitgefaseer sal word oor 1.5 uur (3DIA/2). - Verstek waarde: 3.0 (AMA) of 8.0 (SMB). Dit is \'n instelling vir verstek karb absorpsie impak per 5 minute. Die verstek is \'n verwagte 3mg/dl / 5min. Dit beïnvloed hoe vinnig KOB opgeneem word, en hoeveel karb absorpsie word aanvaar sodat in die berekening van toekomstige BG, voorspel wanneer BG val meer as verwagte, of nie soveel styg as verwag. - Aandag! \nNormaalweg hoef jy nie die waardes hieronder te verander nie. KLIEK HIER Asseblief en LEES die teks en maak seker jy verstaan dit voor enige verandering aan hierdie waardes. - Besig met uitvoering - Virtuele pomp instellings - Oplaaistatus aan NS - NSClient - NSCI - URL: - Autoscroll - Herbegin - NSClient - Nightscout URL - Tik jou Nightscout URL - NS API geheim - NS API geheim - Tik NS API geheim (min 12 karakters) - Lewer nou - Vee tou uit - Wys tou - Tou: - Status: - Maak log skoon - NSCLIENT het geen skryfregte. Dalk verkeerde API secret? Wear instellings nie suksesvol - Kontroleer asseblief foon - Kind - Tiener - Volwassene - Insulien weerstandige volwasse - Glimp - Skort lus vir 1h - Skort lus vir 2h - Skort lus vir 3h - Skort lus vir 10 h - Ontkoppel pomp vir 15 min - Ontkoppel pomp vir 30 min - Ontkoppel pomp vir 1 h - Ontkoppel pomp vir 2 h - Ontkoppel pomp vir 3 h - Hervat - Herverbind Pomp - Log app begin na NS Begin toepassing weer om instellings toe te pas. Watter tipe insulien gebruik jy? Ontsper superbolus in Ghoeroe Ontsper superbolus funksionaliteit in Ghoeroe. Moenie aktiveer totdat jy leer wat dit werklik doen. DIT KAN \'n INSULIEN OORDOSIS VEROORSAAK AS BLINDELINGS GEBRUIK WORD! - Wys status vlae op tuisskerm - Drempel waarskuwings stoor vlak [U] - Drempel kritieke stoor vlak [U] Omtrent Toestemming vir foon status nog nie gegee nie - Kanselleer Verlengde Bolus - Alarm Opsies - Ou data drumpel [min] - Nood ou data drumpel [min] + Alarm Opsies + Ou data drumpel [min] + Nood ou data drumpel [min] Interval vir autosens [h] Hoeveelheid ure in die verlede vir sensitiwiteit opsporing (karbohidrate opname tyd is uitgesluit) OpenAPS @@ -201,23 +94,13 @@ Absorpsie instellings Maaltyd max\ks absorpsie tyd [h] Tyd in ure waarna verwag word dat alle koolhidrate uit maaltyd geabsorbeer sal wees - OAPS - UPLD Hou skerm aktief Verhoed dat Android skerm afskakel. Dit sal baie meer energie vereis wanneer nie in krag prop is nie. Deur Autosense aan te skakel onthou om alle koolhidrate in te voer Andersins sal koolhidrate dwalinge verkeerdelik geïdentifiseer word as sensitiwiteit veranderinge!! Sensitiwiteit GeweegdeGemiddelde Nie alle profiele gelaai! Waardes nie gestoor! - Aktiveer plaaslike Uitsaai. - OpenAPS SMB - Aktiveer UAM - Aktiveer SMB - Gebruik Super Mikro Boluses in plaas van of tydelike basale vir vinniger resultate - Opsporing van Onaangekondigde etes ONGELDIG - Persentasie - Tyd verskuiwing Verstek Tydelike-doelwitte eetgou durasie eetgou doelwit @@ -227,22 +110,12 @@ hipo doelwit Kontroles van horlosie Stel tydeleike doelwitte en behandelings vanaf horlosie. - Gebruik stelsel kennisgewings vir waarskuwings en kennisgewings Lokale alarms Stel in kennis as geen BG data ontvang is Waarsku wanneer pomp onbereikbaar is Pomp onbereikbaar drempel [min] - Dringende Alarm - INFO - Eversense App (bygewerk) - BG data oplaai na NS - BG oplaai instellings Wys gedetailleerde delta Wys delta met een meer desimale plek - Maks minute van basale beperk SMB tot - Stuur BG data na xDrip+ - Xdrip+ kies 640g/Eversense data bron - NSClient BG BG berekening Bolus IAB berekening Basale IAB berekening @@ -252,33 +125,12 @@ Slegs negatiewe COB berekening Tydelike doelwit berekening - Lus geaktiveer - APS gekies - NSClient het skryfregte - Geslote modus geaktiveer - Maksimum IAB behoorlik gestel - BG beskikbaar vanaf geselekteerde bron - Verlengde bolus afleweringsfout - Aktiveer SMB altyd - Aktiveer SMB altyd onafhanklik van boluse. Slegs moonlik met BG source met goeie filter van data soos G5 - Aktiveer SMB na koolhidrate - Akitveer SMB vir 6h na karbohidrate, selfs met 0 KOB. Slegs moontlik met BG bron met goeiei filters van data soos G5 - Akitveer SMB met KOB - Aktiveer SMB wanneer daar KOB aktief is. - Aktiveer SMB met tydelike doelwitte - Aktiveer SMB wanneer daar tydelike doelwitte aktief is (eetgou, oefen) - Aktiveer SMB met hoë tydelike doelwitte - Insulien Knoppies Hoeveelheid karbs om by te voeg op druk van knoppie Hoeveelheid Insulien om by te voeg op druk van knoppie Kon nie CGM toepassing laat hardloop nie. Maak seker dat dit geïnstalleer is. - CGM - Geskiedenis blaaier Vermeld op SMB Wys SMB op horlosie soos \'n standaard bolus. - Skep aankondigings vanaf foute - Skep Nightscout aankondiging vir foutdialoë en plaaslike waarskuwings (ook vertoonbaar in Careportal onder behandelings) Wys die voorspellings op die horlosie. Projeksies Data keuses @@ -286,7 +138,6 @@ Laat outomatiese Foutverslagdoening en kenmerk data stuur na die ontwikkelaars via die fabric.io diens. Hernuwe asseblief jou G5 toepassing na \'n ondersteunde weergawe Dexcom toep is nie geïnstalleer nie. - Moet nie bolus. Rekord alleen SMB gestel deur pomp Aktiwiteit Sensitiewiteit @@ -294,29 +145,9 @@ Karbs AanBoord Insulien AanBoord Basale - Veranderende ontwikkelende weergawe. Geslote lus is gedeaktiveerd. Ingenieurswese modus geaktiveer - Pomp is nie tydelike basale bekwame - Geslote lus modus in voorkeure gedeaktiveer - Autosens gedeaktiveer in voorkeure - SMB gedeaktiveer in voorkeure - UAM in voorkeure gedeaktiveer - UAM versper omdat dit staatmaak op Oref1 sensitiwiteit plugin - maks basale vermenigvuldiger - maks daaglikse basale vermenigvuldiger \'n Bolus was binne die laaste 3 minute afgelewer, SMB is oorgespring Basale reggestel - Verlengde bolus is beperk tot %1$.1f U as gevolg van %2$s - Beperk koolhidrate tot %1$d g agv %2$s - Beperk IAB tot %1$.1f U agv %2$s - maks waarde in voorkeure - harde limiet - Rekord pomp ligging verandering - Rekord insulien kasset verandering - SMB is altyd na koolhidrate versper omdat aktiewe BG bron nie gevorderde filter ondersteun nie - SMB nie toegelaat in open lus modus - Maksimum totale IAB OpenAPS kan nie oor [U] gaan - Hierdie waarde is Maks IAB genoem in OpenAPS kontekst\nOpenAPS sal nie meer insulien byvoeg as huidige IAB is groter as hierdie waarde Maaltyd maks absorpsie tyd [h] Tyd waarteen enige maaltyd as geabsorbeer beskou word. Oorblywende koolhidrate sal afgesny word. Wys notas veld in behandeling dialoë @@ -331,22 +162,11 @@ Tweede koolhidrate inkrement Derde koolhidrate inkrement CGM - WiFi SSID - Verbindinginstellings - Toegelate SSID\'s (kommapunt geskei) - Laat verbindings toe terwyl swerf Max autosens ratio Min autosens ratio - Bolus sluimer dia divisor - Maks daaglikse veiligheids vermenigvuldiger - Huidige basale veiligheids vermenigvuldiger - Virtuele Pomp - Pomp definisie - Bolus: Stap =%1$s\nVerlengde Bolus: [stap%2$s, duur = =%3$smin -%4$sh]\nBasal: stap =%5$s\nTBR: %6$s (deur %7$s), duur =%8$smin -%9$sh\n%10$s Berekeninge is ingesluit in die ghoeroe verslag: Vertooninstellings Algemene instellings - Aktiveer NSClient Welkom by opstelling-Ghoeroe. Dit sal jou lei deur die opstelling proses\n Lees status Slaan opstelling-Ghoeroe oor @@ -358,13 +178,6 @@ Open navigasie Sluit navigasie Plugin voorkeure - Poctech - Ontvang BG waardes van Poctech toepassing - Ontvang BG waardes vanaf Tomato toep (MiaoMiao toestel) - Hoë tydelike doelwitte verhoog sensitiwiteit - = 100]]> - Lae tydelike doelwitte verlaag sensitiwiteit - Gestoorde instellings gevind Behandeling data onvolledig Onderhoud instellings @@ -376,35 +189,13 @@ Skrap joernaal \'n Behandeling (insulien: %1$.2f, koolhidrate: %2$d, by: %3$s) kon nie bygevoeg word by behandelings. Kontroleer asseblief en voeg per hand \'n rekord soos vanpas. eCarbs: %1$d g (%2$d h), vertraag: %3$d m - Geen autosens data beskikbaar Logboekinstellings Herstel na verstek - NSClient onklaar. Oorweeg om NS en NSClient te herlaai. Verkose APS modus Stuur vandag se loglêers aan ontwikkelaars saam met hierdie tyd. Onverwagte situasie. Minimale versoek verandering [%] Oop lus sal nuwe verandering versoek as die %. Verstek waarde is 20% == ∑ %1$s U - Log sensor verander na NS - Tomato (MiaoMiao) - Tomato - JouTidepool login gebruiker, normaallweg \'n email adres - Login Gebruiker Naam - Jou Tidepool login kode - Login wagwoord - Toets Tidepool Login - As ge-aktiveer sal data oplaai na https://int-app.tidepool.org instede van die gewone https://app.tidepool.org/ - Gebruik Integrasie (toets) bedieners - Tidepool - TDP - Laai data op na Tidepool - Laai CGM data op - Laai behandelings op (insulien, karbs) - Laai tydelike basale op - Laai profiel veranderings, tydelike teikens op - Laai BG toetse op - 2h Projeksies - diff --git a/app/src/main/res/values-bg-rBG/exam.xml b/app/src/main/res/values-bg-rBG/exam.xml index 357f888dc1..3ea04e700d 100644 --- a/app/src/main/res/values-bg-rBG/exam.xml +++ b/app/src/main/res/values-bg-rBG/exam.xml @@ -1,52 +1,2 @@ - - Какво е вярно за DIA? - Продължителност на действие на инсулина (DIA) - Трябва да зададете стойността за DIA в профила си. - Минималната стойност е 5 часа. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Вие трябва сами за себе си да установите правилната стойност за DIA. - Хипо врменна цел - Каква е основната причина за задаване на хипо временна цел? - За да коригирате хипо предизвикано от грешни базални настройки. - За да коригирате хипо предизвикано от физическа дейност. - За да предотвратите понижаване на КЗ ако вече е активен 0% временен базал. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Кой профил може да бъде използван и конфигуриран без интернет? - Тема: Offline профил - NS профил може да бъде използван, но не и да бъде конфигуриран. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Какво трябва да се направи когато се разкача помпата? - Това не е нужно, инсулин няма да бъде доставен, тъй като помпата е физически разкачена. - Доставянето на инсулин няма да спре докато помпата е свързана. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Отбележете всички правилни отговори. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Fiasp® - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Отбележете всички правилни отговори. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Съотношение на инсулин към въглехидрати (I:C) - По-високите стойности на I:C водят до по-малко инсулин доставени за дадено количество въглехидрати. - По-ниските стойности на I:C водят до повече инсулин доставен за дадено количество въглехидрати. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - ISF и I:C ще останат непроменени. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - + diff --git a/app/src/main/res/values-bg-rBG/objectives.xml b/app/src/main/res/values-bg-rBG/objectives.xml index ac3df54c65..3ea04e700d 100644 --- a/app/src/main/res/values-bg-rBG/objectives.xml +++ b/app/src/main/res/values-bg-rBG/objectives.xml @@ -1,53 +1,2 @@ - - Старт - Потвърждаване - Цел %1$d - Цел %1$d не е стартирана - Цел %1$d не е завършена - Настройка на визуализацията и наблюдението, а също и анализиране на базалните нужди и коефициенти - Потвърждаване, че КЗ се вижда в Найтскаут и данните за помпата се качват там - Стартиране в режим Отворен кръг (Open loop) - Работа в режим \"Отворен кръг\" за няколко дни и ръчно въвеждане на много временни базали. Настройте и използвайте временни и стандартни временни цели (напр. за активни въглехидрати или такива при хипо) - Опитайте се да разбирате по-добре вашият APS в режим \"Отворен кръг\", включително препоръчваните временни базали - Определяне на макс. лимит на базалния инсулин и настройване в помпата и програмата - Стартиране на \"Затворен кръг\" с изключване на базал при ниска КЗ - Стартиране на \"Затворен кръг\" с макс. IOB=0 без твърде много събития тип ниска КЗ - Настройване на \"Затворен кръг\" чрез повишаване на максималният IOB над 0 и понижаване на целевите нива на КЗ - Прекарайте няколко дни по този начин, като поне една нощ нямате аларма за ниска КЗ - Настройване на базалния инсулин и коефициенти ако е необходимо и активиране на auto-sens - Една седмица успешно дневно използване с редовно въвеждане на въглехидрати - Добавяне на допълнителни функции за използване през деня, като SMB - Разрешаване на автоматизация - Трябва да прочетете wiki и увеличите maxIOB за да може SMB да работи добре! Добро начало е maxIOB = средния болус за хранене + 3 пъти най-големия базал от профила - Прочетете документацията как работи автоматизацията. Настройте първите си прости правила. Нека AAPS показва само известия. Когато сте сигурни, автоматизацията се задейства в точното време, за да заменете известяването с реални действия. (https: //androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - КЗ да се вижда в NS - Статуса на помпата да е достъпен в NS - Ръчно приложени - Изпълнено: %1$s - Настройте профила на 90% за 10 минути (задръжте върху името на профила в таб Общ) - Симулирайте душ. Изключете помпата за 1 час (задръжте върху Отворен кръг) - ... и отново я свържете по същия начин - Създаване на различна временна цел с продължителност 10 мин. (задръжте върху сегашната си цел) - В Конфигурация включете плъгин Действия и го направете видим, след което го изберете от списъка с табове. - Отворете съдържанието на Цикъл плъгина. - Използвайте функцията за удължаване на периода на графиката, като задържите върху нея. - Въведи - Ако имате поне 3 месеца опит с други затворени системи, може да получите код за пропускане на целите. Прочетете https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives за получаване на подробна информация. - Код приет! - Неправилен код - Докажете знанията си - Четете внимателно въпросите.  Имате четири възможни отговора за всеки въпрос. Може да има повече от един правилен отговор. Моля, изберете всички, които са правилни, и натиснете VERIFY. - Изключено до: %1$s - Грешен отговор! - Следващия неотговорен - Код (request code): %1$s - (отбележете всички правилни отговори) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Няма връзка с Интернет! - Не може да се вземе времето - Задачите не са изпълнени - + diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index b8645ddcfa..05618058c5 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -3,86 +3,44 @@ - Настройки на сигурността - Максимален инсулин при болус [единици] - Максимални въглехидрати [гр] Настройки на %1$s Опции Обнови леченията от NS Нулирай базата данни Сигурни ли сте че искате да изтриете всички данни? Изход - Бутони за бърз достъп до основни функции За конфигурация на активните плъгини - Разучаване на програмата Включва или изключва затворения кръг (loop). - Синхронизира локалните данни с Nightscout - Алгоритъма, какъвто е бил през 2017 - Най-новият алгоритъм (само за напреднали потребители) - Най-новия алгоритм за напреднали потребители с динамичен/автоматичен ISF Показва текущото състояние на вашия APS и бутони за най-често използваните действия Показва известие с резюме на това, което прави вашия APS - За помпи, който все още не работят с AndroidAPS(Open Loop) Чувствителността се изчислява по същия начин като в Oref0, но можете да зададете времева рамка. Минимална въглехидрати абсорбция се изчислява от Макс време за усвояване на въглехидратите в опциите. Чувствителността се изчислява за 8 или 24 назад в миналото, а въглехидрати (ако не са се абсорбирали) изчезват след изтичане на срока от настройките. Това е необходимо за изчисление на необявени хранения (UAM). Чувствителността се изчислява като среднопретеглена стойност от отклоненията. По-новите отклонения имат по-високо тегло. Минималната абсорбция на въглехидрати се изчислява от Време за макс усвояване на въглехидрати от опциите. Този алгоритъм е най-бързият при проследяването на промени в чувствителността. - Получава данни за КЗ от модифицираното приложение на Eversense. - Получава данни за КЗ от Glimp. - Получават стойности на КЗ от 600SeriesAndroidUploader. - Изтегля стойности на КЗ от Nightscout - Получаване на данни за КЗ от xDrip+. Записва всички процедури, които са били направени - Старт сега - ВИРТУАЛНА ПОМПА - Последно изпълнение - Параметри на входа - КЗ стастус - Настоящ базал - IOB данни - Профил - Данни за хранене - Резултат - Резултат: %1$s %2$s - Няма данни за КЗ - Искане Изменение (Δ) Конфигурация Общ Лечения - Виртуална помпа Помпа Профил Алгоритъм за APS Кои APS алгоритъм да се използва за корекции в лечението? Общи Това са някой общи функции, които може да са Ви от полза. + Синхронизация Кои ограничения да се прилагат? - Ограничения Режим на APS - Loop Алгоритъм за APS След ограничения Временният базал зададен от помпата НЕ Е ИЗБРАН APS ИЛИ НЯМА РЕЗУЛТАТ ОТ НЕГО - Сигурност - Модула е изключен Нарушено ограничение - Приложи нов временен базал: Променете данните! Източник на данни за КЗ - xDrip+ - APS режим - Затворен кръг - Отворен кръг - Спиране на базал при ниска КЗ Има ново предложение Предложение - Несъвместима версия на Nightscout - ВХ след Профил - Временен базал - Удължен болус Nightscout версия: - Нужни %1$d гр Настройките са експортирани Потребителските настройки икспортирани Експортирай настройките в @@ -91,12 +49,7 @@ Файлът не е намерен Експорт настройки Импорт настройки - Максимален временен базал Е/ч - Макс. лимит на временен базал [Е/ч] - Максимален IOB - Този параметър се нарича максимален IOB в OpenAPS и подразбиране е 0. След няколко дни или седмици можете да го увеличите. Главна парола, която ще бъде използвана за криптиране на експортирани настройки. - Парола, която е била използвана за криптиране на експортираните настройки. Експорт неуспешен! Настройките не са експортирани! Импорт неуспешен! Настройките не са импортирани! Импортирането неуспешно! @@ -116,7 +69,6 @@ Разбирам и приемам Съхрани Презареди профил - Бърз болус Настройки за бърз болус Текст на бутона: Въглехидрати: @@ -124,16 +76,9 @@ Добави Редакция Корекция - Действия (ОПАСНО ЗА ДЕАКТИВИРАНЕ) Само качвай данни в NS Само каване в NS (изключи синхронизиране). Може да спре данните за КЗ, освен ако не е избран локален източник като xDrip +. Не е ефективно за профила, освен ако не ползвате NS профил.\n!!! ВНИМАНИЕ !!! Деактивирането на тази опция може да причини проблеми и предозиране на инсулин, ако някой от Вашите компоненти (AAPS, NS, xDrip +) е неправилно конфигуриран. Внимателно гледайте, ако данните, показани от AAPS съответстват на състоянието на помпата! Помпата не е инициализирана! - Пълнене на сет - Моля, уверете се, че стойността съответсва на вашият сет! Този инсулин не се включва в IOB! - Fill/Prime количества инсулин по подразбиране - Бутон 1 - Бутон 2 - Бутон 3 Единици Диапазон за визуализация Стойност на линиите за ниска и висока КЗ (mmol/l) за телефона и часовника @@ -142,108 +87,22 @@ Часовник Изпрати отново всички дани Отвори настройките на часовника - Базал - MM640g Текущи известия СТАРИ ДАННИ - OpenAPS AMA - Общо %1$d елемента.\nАктуална стойност: - Autosens данни - От скрипта - Използвайте функцията за Autosens - ДЕЙСТВ КОНФ ЦИК - APS - Динамичен ISF ОСН - ВП Леч - Цел WEAR Използвай къси имена - Използвай краткоср. Δ вместо разлика от последната КЗ - Полезно при данни за КЗ с много шум. - По подразбиране: 3 Това е основен параметър в сигурността на OpenAPS. Той ограничава максималният базал да бъде 3 пъти най-голямата стойност от дневните базали. Не би трябвало да има нужа от промяна, защото от опит сме проверили, че максимумите са “3x от най-високия дневен; 4x от текущия”. - По подразбиране: 4\nТова е другият основен параметър в сигурността на OpenAPS, и другата половина от \"3x от най-високия дневен; 4x от текущия\". Това означава, че независимо от макс базал настроен в помпата, стойността на базала не може да е по-висока от тази стойност умножена по стойността на базала за текущият час от денонощието. Това е с цел да предпази от прекалено високи стойности на максималния базал преди да разбират как работи алгоритъма. Повечето от Вас няма да имат нужда от смяна на тази стойност и могат да се справят с настойки на другите параметри. - По подразбиране: 1.2\nТова е максималният множител на autosens (а скоро autotune), за да позволи 20%% максимален лимит на autosens коефициента, който от своя страна настройва базалите, колко може да намали инсулиновата чувствителност, и колко ниско може да свали целевата КЗ. - По подразбиране: 0.7\nДругата част от сигурността на autosens, слагайки ограничение на колко ниско може да ограничи базалите, колко да повиши чувствителността (ISF) и целевите КЗ. - Да променя ли autosens и целевата КЗ - По подразбиране: разрешено\nТова позволява на autosens да променя и целевите КЗ(освен чувствителност и базал). - По подразбиране: 2\nBolus snooze се активира след като поставите болус за основно хранене, така Loop няма да пуснка/намаля базалите веднага след като сте се хранили. Примерът тук е с 2; така при 3 часа DIA това ще означава че bolus snooze ще бъде внимателно изместен 1.5 часа (3DIA/2). - Стойност по подразбиране: 3.0 (АМА) или 8.0 (SMB). Това е настройка на количеството на покачване на КЗ при усвояване на въглехидратите за всеки 5 минути. По подразбиране 3мг/дл за 5мин. Това се отразява на това колко бързо се усвояват COB според алгоритъма, и как това се отразява в предвиждането на КЗ, когато тя не се покачва или пада с различен темп от очакваното. - Внимание! Обикновено Вие не трябва да променяте тези стойности. Моля НАТИСНЕТЕ ТУК, прочетете текста и бъдете сигурни, че го РАЗБИРАТЕ преди да направите каквито и да е промени! - Изпълнява - Настойки Виртуална Помпа - Качва статуса в NS - Вътрешен NS клиент - NSКЛ - Nightscout aдрес: - Автопревъртане - Рестарт - Вътрешен NSClient - Nightscout адрес - Въведете вашият Nightscout адрес - NS API парола - NS API парола - Въведете NS API паролата (мин 12 символа) - Изпрати сега - Изчисти опашка - Покажи опашка - Опашка: - Статус: - Изчисти лога - NSClient няма права за запис. Грешна API парола? Настройки на часовник неуспешно - моля проверете телефона - Тип пациент - Дете - Тийнейджър - Възрастен - Възрастни с голяма инсулинова резистентност - Бременност - Моля, изберете тип на пациента за настройка на границите за безопастност Име на пациента Моля, посочете име на пациента или измислено име, за да се различават - Glimp - Изключи APS за 1ч - Изключи APS за 2ч - Изключи APS за 3ч - Изключи APS за 10 ч - Изключване на помпата - Изключи помпата за 15 мин. - Изключи помпата за 30 мин. - Изключи помпата за 1 ч - Изключи помпата за 2 ч - Изключи помпата за 3 ч - 15 мин - 30 мин - 1 час - 2 часа - 3 часа - 10 часа - Възстанови - Свържи помпа - Записвай всяко стартиране на AndroidAPS в NS Рестартиране за да се приложат новите настройки. Кой тип на инсулин използвате? Разреши използването на Суперболус Разреши функцията суперболус в съветника. Не я разрешавайте докато не научите какво наистина прави. ТОВА МОЖЕ ДА СЪЗДАДЕ ОПАСНОСТ ОТ ПРЕДОЗИРАНЕ С ИНСУЛИН. - Покажи статус светлини на началния екран - Праг за възраст на канюла [часа] - Праг за критична възраст на канюла [часа] - Праг за инсулинова възраст [часа] - Праг за критична инсулинова възраст [часа] - Праг за възраст на сензор [часа] - Праг за критична възраст на сензор [часа] - Аларма при заряд на батерия под [%] - Критично ниво на сензорната батерия под [%] - Висока възраст на батерия над [часа] - Критична възраст на батерията над [часа] - Ниво за аларма за останал инсулин в резервоара [Е] - Предупреждение за критично ниво на останал инсулин в резервоар [Е] - Нисък заряд на батерия под [%] - Критично ниво на батерията под [%] Предв БАЗА Откл @@ -253,18 +112,12 @@ ОТК.НАКЛ За приложението Липсва разрешение до данни от телефона - Спри удължен болус Смени профил - Сензор - Инсулин - Батерия на помпата - възраст: - ниво: - Опции за аларми + Опции за аларми Известяване при NS аларми Създаване на известия от NS съобщения - Когато няма данни повече от [мин] - Много стари данни при повече от [мин] + Когато няма данни повече от [мин] + Много стари данни при повече от [мин] Интервал за autosens [ч] Брой часове назад за определяне на чувствителността (приемът на въглехидрати е изключен) OpenAPS @@ -277,24 +130,13 @@ Настройки за абсорбция Максимално време за усвояване на храненето [ч] Брой часове, за които се очаква храненето да бъде напълно усвоено в организма - OAPS - КАЧВ Винаги включен екран Предотвратяване на андроид да изключва екрана. Това ще доведе до консумацията на много енергия, когато устройството не е включено в контакта. Когато включите Autosense feature трябва да въвеждате ВСИЧКИ въглехидрати. В противен случай те ще се изчисляват грешно като повишена чувствителност!! чрез Среднопретеглената стойност Не всички профили са заредени! Стойностите не са запазени! - Разреши локално предаване на данни - OpenAPS SMB - Динамично ISF - Разреши UAM - Разреши SMB - Използвай супер микро болуси вместо временен базал за по бързо действие - Детекция на необявено хранене (UAM) НЕВАЛИДНО - % от профила - Време на отместване Временна цел по подразбиране Време за \"Преди хранене\" Цел за \"Преди хранене\" @@ -302,33 +144,16 @@ Целева КЗ при физ. активност Продължителност на вр. цел при хипоглекимия Временна цел при хипоглекимия - Приложи отново %1$d%% %2$dч Контролиране от часовник Задаване временни цели и въвеждане Лечения от часовник Android wear - Използвай системни известия за аларми и съобщения Постепенно увеличаване на звука за сигнали и аларми Локални аларми Аларма при липса на данни за КЗ Аларма при недостъпна помпа Лимит за недостъпна помпа [мин] Аларма ако трябват въглехидрати - Спешна аларма - ИНФО - Eversense приложение(модифицирано) - Качвай данните за КЗ в NS - Настройки при качване на КЗ към Nightscout Показвай подробна делта Показвай делта с още един десетичен знак - Интервал между SMB в минути - Максимални минути за ограничаване на базала от SMB - Максимум минути за отчитане на необявени хранения UAM - Максимални минути за ограничаване на базала при SMB за UAM - Минимум въглехидрати, необходими за аларма - Грама въглехидрати минимум, за да се покаже аларма. Нужни въглехидрати под това число няма да доведат до уведомяване. - Изпращай данни за КЗ към xDrip+ - В xDrip+ изберете 640g/Eversense за източник на данни - КЗ от NS - NS КЗ Калкулиране на КЗ Калкулиране на Болус IOB Калкулиране на базален IOB @@ -339,41 +164,17 @@ Калкулиране на COB Калкулиране на временни цели Процентно изчисление - APS разрешен - Избран APS - NSClient има права за запис - APS - Затворен кръг е позволен - Максимален IOB е зададен правилно - Има данни за КЗ от избрания източник - Грешка при доставяне на удължен болус - Разреши SMB постоянно - Разрешава SMB постоянно и независимо от болусите. Възможно само с източник на КЗ с добра филтрация като G5 - Разреши SMB след въглехидрати - Разрешава SMB 6 часа след въглехидрати, дори при COB=0. Възможно само с източник на КЗ с добра филтрация като G5 приложение - Разреши SMB с COB (въглехидрати) - Разрешава SMB, когато има активни COB - Разреши SMB с временни цели - Разрешава SMB, когато има активна временна цел на КЗ - Разреши SMB с по-високи временни цели на КЗ - Активирайте SMB, когато има висока временна цел (опитайте с над 100 мг/дл или 5,5 ммол/л) - Инсулин Бутони Изпрати калибрация до xDrip+ или отвори BYODA калибрационнен диалог Отваря xDrip+ или BYODA, бутон назад те връща в AAPS Количество въглехидрати за добавяне при натискане на бутона Количество инсулин за добавяне при натискане на бутона Не може да се стартира CGM приложението. Уверете се, че е инсталирано. - CGM Игнориране за 5 мин Игнориране за 15 мин Игнориране за 30 мин - История Уведомяване при SMB Покажи SMB на часовника като стандартен болус. - Създаване на известие при грешки - Създаване на известия при предупреждения за необходими въглехидрати - Създаване на Nightscout известие при грешки и локални аларми (също видими в Careportal - Treatments) - Създаване на Nightscout известия при предупреждения за необходими въглехидрати Показвай прогнозините КЗ на часовника. Прогнозни КЗ Избор на данни @@ -381,8 +182,6 @@ Позволява автоматично изпращане на данни за грешки и статистически данни до разработчиците чрез услугата fabric.io . Моля обновете Dexcom приложението до поддържана версия Приложението на Dexcom не е инсталирано. - Не стартирай болус, а само запиши в базата данни - Болус само ще се запише (няма да се стартира в помпа) SMB в помпата Активност Въздействие на Кръвна Захар @@ -391,29 +190,9 @@ Активни въглехидрати Действащ инсулин Базали - Използвате dev версия. Затворения кръг е недостъпен за Вас. Режим за раработчици (Engineering mode) включен - Помпата не поддържа временен базал - Затворения кръг е забранен в настройките - Аутосенс е забранен в настройките - SMB е забранен в настройките - UAM е забранен в настройките - UAM изключен, защото му трябва Oref1 плъгин за чувствителност - множител на макс. базал - множител на макс. дневен базал Има болус през последните 3 мин, пропускам SMB Базалът е зададен коректно - Ограничение на удължен болус до %1$.1f Е поради %2$s - Ограничаване на въглехидрати до %1$d гр. поради %2$s - Ограничаване на IOB до %1$.1f Е поради %2$s - макс. стойност в настройките - твърд лимит - Запис смяна на сет - Запис смяна на резервоар - SMB \"винаги включен\" и \"след въглехидрати\" е забранен, защото е активен източник на КЗ, който не поддържа необходимата филтрация - SMB не е позволен в режим Отворен кръг - Максималният общ IOB OpenAPS не може да бъде повече от [U] - Тази стойност се нарича Max IOB в контекста на OpenAPS. OpenAPS няма да добавя инсулин, ако текущата IOB е по-голяма от тази стойност Макс. време за усвояване на храна (часове) Време за което всяко хранене се счита за усвоено. Оставащите въглехидрати ще бъдат изчиствани. Показване на поле \"бележки\" в диалоговите прозорци за лечение @@ -428,28 +207,16 @@ Стойност на втория бърз бутон [гр] Стойност на третия бърз бутон [гр] CGM - WiFi име - Настройки за свързване - Разрешени WiFi мрежи(разделени с запетая) - Позволи връзка в роуминг Макс. стойност за аутосенс Мин. стойност за аутосенс - Каква част от DIA след болус да изчаква AAPS преди да направи нещо - Макс. множител за най-големия базал за денонощието - Макс. множител за настоящ базал - Виртуална помпа тип - Описание на помпата - Болус: Стъпка =%1$s\Удължен болус: [стъпка =%2$s, продължителност =%3$smin -%4$sh] \nБазал: стъпка =%5$s\ nTBR: %6$s (от %7$s), продължителност =%8$sмин -%9$sh\n%10$s Изчисления, включени в резултата на съветника: Настройки за визуализация Основни настройки - Разреши NSClient Добре дошли в съветника за настройки. Той ще ви преведе през етапите на настройка. Получавам състоянието на помпата Пропусни съветника за настройка Модула за чувствителност се използва за определяне на чувствителността и COB изчисления. За повече информация посетете: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient поддържа връзка с Nightscout. Можете да пропуснете тази настройка сега, но вие няма можете да преминете целите, докато не го настроите. Моля, не забравяйте: нови инсулин профили изискват време на действие на инсулиина - DIA от поне 5ч. DIA 5-6ч на нов профил е равно на DIA 3ч при стари инсулин профили. Изберете един от наличните алгоритми. Те са подредени от най-стария до най-новия. По-новите алгоритми са обикновено по-мощни и по-агресивни. Така ако сте новак в APS системите може да започнете с AMA. Не забравяйте да прочетете документацията на OpenAPS и да го конфигурирате преди употреба. Конфигурация на RileyLink. След избиране на RileyLink, ще е възможно неговото конфигуриране, след като статуса му е \"Свързан\". Може да отнеме време \n @@ -459,19 +226,6 @@ Отвори меню Затвори меню Настройки на модул - Poctech - Получавай данни за КЗ от Poctech апликацията. - Глуново - Получавай данните от Glunowo апликацията - Получавай КЗ от Tomato апликация (устройство МяоМяо) - Високите временни цели да вдигат ли чувствителността? - - Ниските цели да свалят ли чувствителността ? - - Съпротивление намалява целта - Когато се установи резистентност, намалява целевата глюкоза. - Чувствителността увеличава целта - Когато се установи чувствителност, повишаване на целевата глюкоза Премахни артикули Подреди артикули Открити са предишни настройки @@ -486,60 +240,20 @@ Изтрий логове Събитие (инсулин: %1$.2f, въглехидрати: %2$d, в: %3$s) не може да бъде добавено към събития. Моля уверете се, че е правилно и го добавете ръчно. eCarbs: %1$d г (за %2$d ч), след: %3$d м - Няма налични данни за авточувствителност Настройки на логовете Възстанови настройките по подразбиране - Грешка в NSClient. Рестартирайте Nightscout и NSClient Предпочитаният режим на APS Изпрати последните лог файлове на разработчиците. Непредвидена ситуация. Минимална стойност за промяна [%] AndroidAPS ще покаже запитването за промяна на базала само ако е по-голямо от тази стойност.(Стандартно 20%) Общо %1$s Е - Записвай смяната на сензор в NS - Tomato(MяоМяо) - Tomato - Потребителското Ви име за Tidepool, обикновено е Вашия имейл - Потребителско име - Tidepool парола - Парола - Тест на Tidepool - Когато е активирано, данните ще отиват към https://int-app.tidepool.org вместо към стандартния адрес https://app.tidepool.org/ - Използвай тестовите сървъри - Tidepool - TDP - Качване на данни в Tidepool - Качвай данни за КЗ - Качвай лечения (инсулин, въглехидрати) - Качвай временни базали - Качвай смени на профил и временни цели - Качвай ръчните измервания на КЗ - - BYODA - BYODA - COB срещу IOB - Ограничение на болус: от %1$.2f Е на %2$.2f Е - !!!!! Бавна абсорбция на въглехидрати: %2$d%% от времето. Проверете въведените данни. Може да има голяма грешка !!!!!]]> - Стартирай част от резултата в калкулатора [%] Калкулатора изчислява нужния инсулин, но само тази част ще бъде доставена. Полезно със SMB алгоритъма. - Повишавам максималната стойност на базал, защото тя е по-ниска от най-високата в базалния профил - Избрано: Единици - Изчисти приключение - Изчисти стартираните - Искате ли да нулирате прогреса си? Изберете единиците, в които искате да работите Ниската граница на диапазона (графика) Високата граница на диапазона (графика) - Невалидна стойност в % - Произволна КЗ - Генерира произволни захари(демо режим) - КЗ - Инструменти - Покажи изчисленията Покажи премахнатите Изтрий опашка? Всички данни ще се загубят! - Използване на удължен болус ще спре режим затворен цикъл за времето на болуса. Сигурни ли сте? - Затворен цикъл е недостъпен поради стартиран Удължен болус Меню на графиката Диапазон между изпълнение на SMB Макс. време за изпълнение за SMB @@ -552,70 +266,23 @@ Абсолютен инсулин Главната парола се използва за архивиране на настройки и за подмяна на защитата в приложението. Запомни я или я пази на сигурно място. Сегашна главна парола - Индикатори - Копиране на настройки от NS - Копиране на профил от NS (ако има)? - Оригинален изглед - Скин за ниска резолюция - Бутоните винаги се показват на дъното на екрана. - Голям екран - Тема - Сравняване на профили - Профил съветник - Профил по подразбиране - Текущ профил - Наличен профил - Профил тип - Възраст: %1$.0f TDD: %2$.0f Е - Възраст: %1$.0f TDD: %2$.0f Е %3$d%% - Възраст: %1$.0f Тегло: %2$.0f кг - % от базата - Профил по подразбиране RileyLink статус: Създаването на профила невъзможно. Профилът е невалиден. Не убивай приложението? - Алармата, когато е време за хранене. Време за ядене!\nИзпълнете болус съветника и направете изчисления отново. Включи подсещането за болус Използвай подсещане за болус по-късно със съветник (\"след-болус\") Качването на данни за проблеми е забранено!(Fabric) Графика - Меню на графиката Премахни филтъра Канюла Използвай стойностите от вашето най-голямо хранен, с което обикновено се храните Електронна поща Настройки за поверителност Можете да посочите електронна поща, ако искате да бъдете уведомени за системни проблеми. Това не е автоматичен процес. Разработчиците ще се свържат с вас в случай на опасна ситуация. - Пълна синхронизация - Пълна синхронизация? Може да отнеме много часове и докато не приключи вие няма да виждате нови данни в NS. - Синхронизация - Профили, болуси, въглехидрати, и временни базали се изпращат към NS - Изпратете данните към NS - Синхорнизирай профили от NS профилния едитор - Получаване на временни цели - Приеми временни цели зададени през NS или NS клиент - Получаване на смяна на профили - Приеми смяна на профили от NS или NS клиент - Приеми изключване на APS - Приеми изключвания на APS през NS или NS Клиент - Получавай инсулин - Приеми инсулин зададен през NS или NS Клиент (не се инжектира, само се калкулира във формулата за IOB) - Приемай въглехидрати - Приемай въглехидрати зададени през NS или NS Клиент - Приемай смени (канула, инсулин, батерия и др.) - Приемай смени (канула, инсулин, батерия и др.) зададени от NS или NS Клиент - Приеми история от данни от сензора - Приемай постояни данни от сензора идващи от NS - Пусни %s? - Забавени качвания на данни Статус на данни за КЗ Недостъпно - графика - инсулин % от профила - Вход Всички - diff --git a/app/src/main/res/values-ca-rES/exam.xml b/app/src/main/res/values-ca-rES/exam.xml index 2cebc59fb2..3ea04e700d 100644 --- a/app/src/main/res/values-ca-rES/exam.xml +++ b/app/src/main/res/values-ca-rES/exam.xml @@ -1,177 +1,2 @@ - - Què és cert sobre la DIA (Durada de l\'Acció de la Insulina)? - Durada de l\'Acció de la Insulina (DIA) - Heu de configurar el valor de la DIA al vostre perfil. - El mínim permès son 5 hores. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Heu de determinar vosaltres mateixos el valor apropiat per la DIA. - Objectiu temporal hipo - Quin seria el motiu principal per fixar un objectiu temporal hipo? - Corregir hipos causades per configuracions incorrectes de la ràtio basal. - Corregir una hipo provocada per fer esport. - Evitar que la glucèmia baixi més del compte quan ja hi ha una basal temporal activa del 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Quin perfil pot ser utilitzat i configurat sense connexió a Internet? - Tema: Perfil fora de línia - El perfil NS es pot fer servir, però no configurar. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Què cal fer al desconnectar la bomba? - No cal fer res, ja que a l\'estar la bomba físicament desconnectada, no es lliurarà insulina. - Si la bomba continua connectada, no deixarà de lliurar insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Quines son les bones pràctiques respecte a fer còpia de seguretat de la configuració? - No cal exportar la configuració si la teniu anotada a algun lloc. - Exporteu la configuració cada vegada que completeu un objectiu. - Exporteu la configuració cada vegada que canvieu algun paràmetre. - Exporteu la configuració un cop feta la configuració inicial i haver establert les vostres preferències. - Exporteu la configuració localment des del menú de manteniment. - El fitxer de configuració es troba a la carpeta Internal Storage/AAPS/preferences del vostre telèfon. - Copieu el fitxer de configuració a una ubicació segura fora del telèfon (p.ex. al núvol, connectant un cable a un ordinador, correu electrònic, etc.) - Si el vostre telèfon està avariat o perdut, és fàcil recuperar la vostra configuració remotament sense una còpia de seguretat. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Lectures CGM sorolloses - Què cal fer si les dades del CGM son sorolloses? - Desactivar el llaç tancat per evitar dosi massa altes o baixes. - Substituir els sensors constantment sorollosos o inexactes. - Comprovar que la vostra app de CGM proporciona dades suavitzades. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Esport i perfils - Com es poden utilitzar els perfils per ajudar el sistema a gestionar l\'esport aeròbic? - Fer un canvi de perfil a menys del 100%. - Fer un canvi de perfil a més del 100%. - Deixar el perfil al 100%. - Aturar el llaç. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Esport i objectius temporals - Com es poden utilitzar els objectius temporals per ajudar el sistema a gestionar l\'esport aeròbic? - Establir un objectiu glucèmic d\'activitat, prou temps abans de començar l\'esport. - Establir un objectiu glucèmic d\'activitat un cop acabat l\'esport. - Deixar l\'objectiu glucèmic com està. - Esperar que la glucèmia baixi per sota del vostre objectiu temporal d\'hipoglucèmia i llavors prendre 15g de carbohidrats d\'acció ràpida. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Llaç desactivat/aturat - Rebo insulina quan el llaç està desactivat/aturat? - Sí, la insulina basal es continua lliurant. - No, s\'atura el lliurament d\'insulina. - Basal, ISF (Factor Sensibilitat Insulina) i proves I:C (ràtio insulina/carbohidrats) - Quan s\'haurien de validar aquests valors? - Abans de començar amb el llaç. - Quan es produeixen sovint glucèmies altes i baixes. - Almenys un cop per setmana. - Un cop configurats i validats, aquests valors no haurien de canviar amb el temps. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Prerequisits - Informació del perfil validada (basal, ràtio I:C, ISF, DIA). - Un ordinador amb Android Studio instal·lat i configurat. - Un telèfon compatible. - Una bomba d\'insulina compatible, si és que voleu acabar fent servir un llaç tancat. - Nightscout, per tenir un registre amb totes els dades i poder revisar la configuració. - Un compte Tidepool. - Un compte Google. - Un compte Github. - Experiència en programació o edició de codi. - Una bomba MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Un smartwatch (rellotge intel·ligent). - Un CGM (Monitor Continu de Glucosa) compatible. - Requisits previs - Informació validada per poder configurar un perfil (ISF, ràtio I:C, basals, DIA, etc.). - Un dispositiu Android compatible (p.ex. telèfon mòbil, rellotge Android o tauleta). - Un CGM (monitor continu de glucosa) compatible i l\'app adequada per rebre al telèfon/dispositiu els valors de glucèmia que proporciona. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Marqueu totes les respostes correctes. - Cal tenir Git instal·lat i configurat al vostre ordinador. - Haurieu de desar i anotar la ubicació del vostre \"keystore\" i utilitzar la mateixa clau de signatura per la instal·lació anterior que per les noves actualitzacions. - No actualitzeu mai si el sistema està funcionant correctament. - Si teniu problemes en compilar l\'apk (aplicació), podeu instal·lar una apk que hagi estat compilada per una amiga. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Resolució de problemes - Preguntant a la clínica on us porten la diabetis o a la vostra endocrinòloga. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Plugins d\'insulina - Quina insulina s\'ha de fer servir amb el plugin Ultra-Rapid Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/insulina humana \"estàndard\". - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Plugins de sensibilitat - Marqueu totes les respostes correctes. - Els plugins de sensibilitat ofereixen l\'usuari suggeriments de canvi de les basals, ràtios I:C (insulina:carbohidrats) i ISF (factor de sensibilitat a l\'insulina) que poden ser utilitzats per editar el perfil. - L\'enregistrament d\'un canvi de cànula restableix la ràtio Autosens, deixant-lo de nou a un 100%. - Algunes de les opcions de plugins es poden configurar segons rangs horaris que poden ser definits per l\'usuari. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Errors d\'entrada de carbohidrats - Què cal fer si feu una entrada incorrecta de carbohidrats? - Elimineu la entrada incorrecta a Tractaments i introduïu el valor correcte de carbohidrats. - Bolus amb insulina utilitzant el menú d\'encebat del set d\'infusió. - Bolus amb insulina utilitzant el botó d\'Insulina (bolus) de la pantalla \"Inici\". - Errors de lliurament/registre d\'insulina - Què cal fer si rebeu menys insulina de la que suggereix l\'historial de la bomba, p.ex. degut a una oclusió, a una cànula que no funciona o un oblit de reconnexió de la bomba després d\'una dutxa? - Eliminar dades d\'insulina del portal de cures Nightscout per eliminar-les de l\'historial de la bomba. - Lliurar un bolus amb part de la insulina que falta utilitzant una jeringa/ploma o el menú d\'encebat. - Insulina \"a bord\" (IOB) - El valor d\'IOB es veu afectat per les basals temporals lliurades. - Una basal temporal alta no serà lliurada si la glucèmia està per sota de l\'objectiu. - Un valor d\'IOB positiu durant un període de temps important suggereix resistència a la insulina o àpats no anunciats. - Entrada de carbohidrats i bolus - A l\'hora d\'estimar i registrar els carbohidrats consumits, només s\'han de fer servir grams. - Els carbohidrats consumits poden registrar-se utilitzant un sistema d\'intercanvi apropiat (p.ex. intercanvis DAFNE \"CHO\" o les \"Unitats de pa\" europees). - Si els valors de glucèmia estan fora dels valors acceptats (massa alts o massa baixos) la calculadora de bolus es pot fer servir per obtenir suggeriments de carbohidrats o correccions amb insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - Per a què poden ser utilitzats els e-carbs (carbohidrats estesos)? - Per programar carbs del futur, possiblement distribuïts durant un interval de temps (similar a un bolus estès distribuint insulina durant un interval). - Per registrar els carbohidrats de rescat que s\'utilitzen per tractar hipoglucèmies. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Monitorització a distància - Altres aplicacions (p.ex. Dexcom follow, xDrip en mode seguiment) us permeten monitoritzar alguns paràmetres (p.ex. glucèmia/valors sensor) de forma remota, però fan servir algoritmes diferents, per tant poden tenir valors d\'IOB o COB inexactes. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Factor de Sensibilitat a la Insulina (ISF) - Augmentar o disminuir l\'ISF no afecta la quantitat d\'insulina a lliurar quan els valors de glucèmia estan per sota de l\'objectiu. - Modificar el valor d\'ISF al perfil és suficient per aplicar el canvi. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Podeu fer servir més d\'un valor per la relació I:C al vostre perfil. - Si modifiqueu l\'ISF al vostre perfil haureu de modificar també sempre el vostre ràtio I:C. - Ràtio Insulina:Carbohidrats (I:C ràtio) - Ràtios I:C elevades fan que es lliuri menys insulina per una quantitat de carbohidrats determinada. - Ràtios I:C baixes fan que es lliuri menys insulina per una quantitat de carbohidrats determinada. - Si teniu 0 COB, modificar la ràtio I: C farà que es lliuri una quantitat d\'insulina diferent per corregir un valor de glucèmia determinat. - La ràtio I:C serà diferent si compteu una unitat de carbohidrats com 10g o 12g. - Significat d\'I:C: Quantes unitats d\'hidrats de carboni estan cobertes amb 1U d\'insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Canvis de perfil - Quan s\'especifica un canvi de perfil del 90%, quines respostes son correctes? - Les basals seran un 10% menors. - L\'ISF (factor de sensibilitat a la insulina) serà un 10% més alt. - El valor de la ràtio I:C serà un 10% més baix. - Les ràtios d\'ISF i I:C no canviaran. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Canvis de perfil - Quan s\'especifica un canvi de perfil del 120%, quines respostes son correctes? - L\'objectiu de glucèmia serà un 20% més alt. - Les basals seran un 20% més elevades. - L\'objectiu de glucèmia no canviarà. - L\'ISF serà un 20% més alt. - Canvis de perfil - Iniciant un canvi de perfil amb un desplaçament horari de 2. - Iniciant un canvi de perfil amb un desplaçament horari de -2. - Establint un objectiu temporal de \"Menjar aviat\". - Fent un canvi de perfil a més del 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Modificacions de perfils - Als perfils cal establir les basals, l\'ISF, la ràtio I:C, etc. - Editar valors d\'un perfil és suficient per activar els canvis realitzats. - És possible configurar múltiples perfils i seleccionar-los per adaptar-nos a circumstàncies canviants (p.ex. canvis hormonals, torns de feina rotatius, dies laborables/caps de setmana). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Ajuda amb les ràtios de basal - A on anar per obtenir ajuda sobre les ràtios de basal, etc. - El teu equip diabetològic - Google - Facebook - Altres medicaments. Si us plau llegiu la següent declaració i marqueu la casella per acceptar-la. - + diff --git a/app/src/main/res/values-ca-rES/objectives.xml b/app/src/main/res/values-ca-rES/objectives.xml index 0d8400bd72..3ea04e700d 100644 --- a/app/src/main/res/values-ca-rES/objectives.xml +++ b/app/src/main/res/values-ca-rES/objectives.xml @@ -1,53 +1,2 @@ - - Començar - Verificar - %1$d. Objectiu - Objectiu %1$d no iniciat - Objectiu %1$d no acabat - Configuració de visualització i monitorització, així com anàlisi de basals i ràtios - Comprovar que la glucèmia està disponible a Nightscout i les dades d\'insulina de la bomba s\'estan enviant - Iniciant llaç obert - Funcionar en mode llaç obert uns quants dies i acceptar manualment múltiples basals temporals. Configurar i utilitzar objectius temporals i objectius temporals per defecte (p.ex. esport o carbs per tractament d\'hipo) - Entendre el vostre llaç obert, recomanacions de basals temporals incloses - D\'acord amb aquesta experiència, decidiu quina hauria de ser la basal màxima i configureu-la a la bomba i la configuració - Començant a tancar el llaç amb LGS (Suspensió per glucèmia baixa) - Funcionar en mode llaç tancat amb IOB max = 0 uns quants dies, sense gaires esdeveniments LGS (Suspensió per glucèmia baixa) - Ajustant el llaç tancat, augmentant la IOB màxima per sobre de 0 i baixant gradualment els objectius de glucèmia - Funcionar uns quants dies, i al menys una nit sense cap alarma per baixa glucèmia, abans de baixar el valor de glucèmia - Ajustar basals i ràtios si cal, i després activar auto-sens - 1 setmana d\'èxit en mode llaç tancat durant el dia, amb introducció regular de carbohidrats - Activant funcions addicionals d\'ús diurn, com l\'SMB (super micro bolus) - Activant l\'automatització - Heu de llegir la wiki i augmentar la maxIOB per a què l\'SMB funcioni correctament! Una bona manera de començar és amb maxIOB = bolus d\'àpat mig + 3 x màxima basal diària - Llegiu els documents sobre com funciona l\'automatització. Configureu les vostres primeres regles. Enlloc de fer l\'acció, feu que AAPS només mostri un avís. Quan esteu segurs que l\'automatització s\'activa en el moment correcte, substituïu la notificació per l\'acció real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glucèmia disponible a NS - Estat de la bomba disponible a NS - Activació manual - Completat: %1$s - Establiu un perfil del 90% durant 10 minuts (pulsació llarga sobre el nom del perfil a \"Inici\") - Simuleu una dutxa. Desconnecteu la bomba durant 1h (pulsació llarga sobre la icona \"llaç obert\") - ... i torneu a connectar de la mateixa manera - Creeu un objectiu temporal personalitzat d\'una durada de 10 minuts (pulsació llarga sobre l\'objectiu actual) - Al Configurador, activeu el plugin Accions, feu-lo visible i mostreu el seu contingut des del menú superior - Mostreu el contingut del plugin Loop (llaç) - Utilitzeu la funció d\'escala fent pulsació llarga sobre la gràfica de glucèmia - Acceptar - Si teniu almenys 3 mesos d\'experiència en llaç tancat amb altres sistemes, és possible que compliu els requisits per obtenir un codi que us permeti saltar-vos objectius. Veure https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives per més detalls. - Codi acceptat - Codi no vàlid - Demostreu els vostres coneixements - Estudieu les preguntes. Se us donen quatre possibles respostes a cada pregunta. Pot haver-hi més d\'una resposta correcta. Marqueu totes les correctes i seleccioneu VERIFICAR. - Resposta deshabilitada fins: %1$s - Resposta incorrecta! - Següent no finalitzada - Sol·licitar codi: %1$s - (marqueu totes les respostes correctes) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - No hi ha connexió a internet - Errada en recuperar l\'hora - No es compleixen els requeriments de l\'objectiu - + diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index aa57e2014c..0a9529a3e8 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -3,82 +3,42 @@ - Seguretat tractaments - Max bolus permès [U] - Max carbs permesos [g] %1$s configuració Configuració Actualitzar tractaments des de NS Restablir bases de dades Esteu segurs que voleu restablir les bases de dades? Sortir - Alguns botons per accedir ràpid a funcions habituals Utilitzat per configurar plugins actius - Programa d\'aprenentatge Activar o desactivar la implementació que activa el llaç. - Sincronitza les vostres dades amb Nightscout - Estat de l\'algoritme el 2017 - Algoritme més nou per usuaris avançats Mostra l\'estat actual del llaç i botons per les accions més habituals Va mostrant avisos amb un petit resum del que el llaç està fent - Integració de bombes d\'insulina per les quals encara no existeix driver/controlador (Llaç obert) Sensibilitat calculada com amb Oref0, però podent especificar un rang de temps en el passat. L\'absorció mínima dels carbohidrats es calcula a partir del temps màxim d\'absorció de carbohidrats indicat a la configuració. Sensibilitat calculada amb dades de 8 o 24 hores en el passat (s\'agafa el cas més \"sensible\"). Els carbohidrats (els no absorbits), es desestimen un cop passat el temps indicat a la configuració. El plugin també calcula les UAM. Sensibilitat calculada com una mitja ponderada a partir de les desviacions. Les noves desviacions tenen un pes més gran. L\'absorció mínima dels carbohidrats es calcula a partir del temps màxim d\'absorció de carbohidrats indicat a la configuració. Aquest algoritme és el més ràpid en seguir els canvis de sensibilitat. - Rebre valors de glucèmia de l\'app Eversense \"parxejada\". - Rebre valors de glucèmia de Glimp. - Rebre valors de glucèmia del 600SeriesAndroidUploader. - Descarrega dades de glucèmia des de Nightscout - Rebre valors de glucèmia de xDrip+. Desa tots els tractaments realitzats - Executar ara - BOMBA VIRTUAL - Última execució - Paràmetres d\'entrada - Estat glucèmia - Temp actual - Dades d\'IOB - Perfil - Dades àpat - Resultat - Resultat: %1$s %2$s - Dades de glucèmia no disponibles - Petició Delta Configurador Inici Tractaments - Bomba virtual Bomba Perfil APS Quin algoritme APS ha d\'anar fent ajustos de teràpia? General Plugins diversos que us poden ser útils. + Sincronització Quines restriccions s\'estan aplicant? - Restriccions Llaços APS Basal temporal definida per la bomba CAP APS SELECCIONAT O RESULTAT ENTREGAT - Seguretat - Plugin desactivat Violació de restriccions - Acceptar nova basal temporal: Modifiqueu les dades! Origen glucèmia - xDrip+ - Mode APS - Llaç tancat - Llaç obert - Suspensió per glucèmia baixa (LGS) Nova proposta disponible Proposta de carbs - Versió no compatible de Nightscout - BasalTemp - Bolus estès Versió de Nightscout: - Falten %1$d g Configuració exportada Entrades d\'usuari exportades Exportar configuració a @@ -87,12 +47,7 @@ Arxiu no trobat Exportar configuració Importar configuració - Max U/h per una basal temporal - A OpenAPS d\'aquest valor se\'n diu basal màxima - Màxima basal IOB que OpenAPS pot suministrar [U] - A OpenAPS d\'aquest valor se\'n diu Màx IOB\nÉs la màxima quantitat d\'insulina en [U] que APS pot suministrar d\'una vegada. Se us demanarà una clau mestra, es farà servir per encriptar la configuració exportada. - Se us demanarà una clau mestra, es necessita per desencriptar la configuració importada. Exportació cancel·lada! Configuració NO exportada! Importació cancel·lada! Configuració NO importada! No s\'ha pogut importar la configuració! @@ -111,7 +66,6 @@ ENTENC I ACCEPTO Desar Recarregar perfil - Assistent Configuració de l\'assistent Text del botó: Carbs: @@ -119,64 +73,19 @@ Afegir Editar Corr - Accions (PERILLÓS DESACTIVAR) Només enviar a NS - MM640g Avís en curs DADES ANTIGUES - OpenAPS AMA - Array de %1$d elements.\nValor actual: - Dades autosens - Depurar script - Utilitzar funció Autosens - ACC CONF LLAÇ - OAPS INICI - BOMBAV TRACT - OBJ WEAR Escurçar títol pestanyes - Utilitzar sempre delta mitjana curta enlloc de delta simple - Útil quan les dades de fonts no filtrades, com xDrip+, esdevenen sorolloses. - Valor per defecte: 3. Valor clau de seguretat per OpenAPS. Limita, en aquest cas, la basal a 3x la basal màxima. Normalment no cal modificar-lo, però per motius de seguretat cal tenir present què vol dir quan parlem de, per exemple \"3x max diari; 4x actual\". - Valor per defecte: 4. Valor clau de seguretat per OpenAPS, per quan parlem de \"3x max diari; 4x actual\". Significa que la vostra basal, independentment de la max. basal configurada a la bomba, no pot ser més gran que aquest valor multiplicat per la vostra basal en un moment determinat. Pretén evitar basals màximes excessivament altes abans de dominar l\'algoritme. Normalment no cal modificar el valor per defecte i, en cas de conflicte amb el valor màxim de basal, sol ser més habitual haver de modificar altres paràmetres que no pas aquest. - Valor per defecte: 1.2\nMultiplicador de seguretat per autosens (aviat autotune), per fixar un límit màxim del 20%% per la màxima ràtio d\'autosens, que a la seva vegada determina com d\'alta pot ajustar la basal, com de baix l\'ISF i com de baix l\'objectiu de glucèmia. - Autosens també ajusta objectius - Valor per defecte: true\nPermetre a autosens ajustar objectius de glucèmia a més d\'ISF i basals. - Valor per defecte: 2\nEl retard de bolus s\'activa després d\'un bolus d\'àpat, de manera que el llaç no contrarresti amb basals temporals baixes just després d\'haver menjat. El valor per defecte i el de l\'exemple és 2, d\'aquesta manera amb una DIA de 3 hores el bolus es retardaria gradualment durant 1.5 hores (3DIA/2). - Valor per defecte: 3 (AMA) o 8.0 (SMB). Aquest paràmetre indica el valor per defecte d\'absorció de carbohidrats en 5 minuts, quan diem 3 volem dir 3mg/dl/5min. Afecta a com de ràpid decauen els COB i quina absorció de carbohidrats es considera al calcular la predicció de glucèmia futura, quan la glucèmia cau més ràpid de l\'esperat o no puja tant com era de preveure. - Atenció!\nNormalment no cal modificar els valors d\'aquí sota. Si us plau FEU CLIC AQUÍ, LLEGIU el text i assegureu-vos de COMPRENDRE\'L abans de modificar-ne qualsevol. - Executant - Configuració bomba virtual - Enviar estat a NS - NSClient - NSCI - URL: - 10 hores - Reprendre - Reconnectar bomba - Enregistrar l\'inici de l\'app a NS Sortint de l\'app per aplicar configuració. Quin tipus d\'insulina feu servir? Activar superbolus a l\'assistent Activar funcionalitat superbolus a l\'assistent. No ho activeu fins que no hagueu après què fa realment. POT CAUSAR SOBREDOSI D\'INSULINA SI NO VIGILEU! - Mostrar indicadors d\'estat a la pantalla d\'inici - Llindar per avís d\'edat de la cànula [h] - Llindar per avís crític de l\'edat de la cànula [h] - Llindar avís crític per edat de l\'insulina [h] - Llindar per avís d\'edat del sensor [h] - Llindar avís crític per edat del sensor [h] - Llindar per avís del nivell de bateria del sensor [%] - Llindar avís crític pel nivell de bateria del sensor [%] - Llindar per avís d\'edat de la pila [h] - Llindar avís crític per edat de la pila [h] - Llindar per avís del nivell del reservori [U] - Llindar avís crític pel nivell del reservori [U] - Llindar per avís del nivell de bateria de la bomba [%] - Llindar avís crític pel nivell de bateria de la bomba [%] PRED BAS DESV @@ -186,10 +95,9 @@ PENDENTDESV Quant a Falta permís d\'estat del telèfon - Cancel·lar bolus estès Canviar de perfil - Sensor + Configuració alarmes + Umbral dades antigues [min] + Umbral urgent dades antigues [min] - Iniciar sessió - diff --git a/app/src/main/res/values-cs-rCZ/exam.xml b/app/src/main/res/values-cs-rCZ/exam.xml index 8038e6fdd9..3ea04e700d 100644 --- a/app/src/main/res/values-cs-rCZ/exam.xml +++ b/app/src/main/res/values-cs-rCZ/exam.xml @@ -1,228 +1,2 @@ - - Co je pravda o DIA? - Doba působnosti inzulínu (DIA) - Měli byste nastavit hodnotu DIA ve vašem profilu. - Minimální hodnota je 5 hodin. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin - Pokud jste spokojeni s tím, že hodnota DIA použitá v pumpě před AAPS dobře fungovala, není třeba ji měnit, když začínáte se smyčkou. - Měli byste si pro sebe určit příslušnou hodnotu DIA. - Dočasný cíl při hypoglykémii - Co je primárním důvodem k nastavení dočasného cíle Hypoglykémie? - Opravovat hypoglykémie způsobené nesprávným nastavením bazálu. - Aby se zabránilo přehnané korekci, způsobené rychlými sacharidy použitými k léčbě hypoglykémie. - Napravit hypo jako důsledek fyzické aktivity. - Aby se zabránilo snížení hladiny glukózy v krvi, pokud již běží 0% dočasný bazál. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html - Který profil lze použít a konfigurovat offline? - Téma: Offline profil - NS profil může být použit, ale ne nastaven. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#profile - Důvody pro použití \"Odpojit pumpu\" v AAPS - Co se má provést při odpojení pumpy? - To je zbytečné, protože inzulín nebude dodáván v případě, že je pumpa fyzicky odpojena. - Zabraňuje AAPS započítat inzulín, který nebyl dodán, když je pumpa fyzicky odpojena - Nezastaví vydávání inzulínu, pokud pumpa zůstane připojena. - Pošle AAPS do režimu otevřené smyčky. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#dalsi-nastaveni - Nastavení AAPS - Nastavení AAPS - Jaké jsou nejlepší postupy pro zálohování vašich nastavení? - Nastavení není třeba exportovat za předpokladu, že jste si je poznamenali. - Exportujte svá nastavení po dokončení cíle. - Exportujte svá nastavení po změně kteréhokoli z vašich nastavení. - Exportujte své nastavení po dokončení počátečního nastavení a nastavení předvoleb. - Exportujte vaše nastavení lokálně pomocí nabídky menu údržby. - Soubor nastavení se nachází ve složce Interní úložiště/AAPS/preferences vašeho telefonu. - Zkopírujte soubor předvoleb do bezpečného umístění mimo telefon (např. pomocí cloudového disku, připojením kabelu k počítači, e-mailem apod.) - Je-li váš telefon poškozen nebo ztracen, existují jednoduché způsoby, jak vzdáleně obnovit vaše nastavení bez zálohování. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#jake-vybaveni-pro-pripad-nouze-se-doporucuje-brat-s-sebou - Šum dat ze senzoru - Co by mělo být provedeno v případě, že CGM data poskakují? - Nic, smyčka se s tím vypořádá. - Zakažte uzavřenou smyčku, aby nedošlo k předávkování nebo poddávkování. - Nahraďte trvale zašůměné nebo nepřesné senzory. - Ověřte, že vaše aplikace CGM vyhlazuje gklykémie. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#vyhlazovani-zarusenych-dat-glykemii - Cvičení a profily - Jak můžete použít profily, abyste mohli nejlépe pomoci systému řešit aerobní cvičení? - Přepnout na profil pod 100 %. - Přepněte profil na více než 100 %. - Ponechte profil nastavený na hodnotu 100%. - Pozastavte smyčku. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite - Cvičení a dočasné cíle - Jak můžete použít dočasné cíle pro nejlepší pomoc při práci se systémem při aerobním cvičení? - Nastavte cílovou hodnotu glykémie vhodnou dobu před zahájením cvičení. - Po ukončení cvičení nastavte cílovou hodnotu glykémie. - Nechte svůj cíl glykémie beze změny. - Počkejte, dokud glykémie neklesne pod Váš dočasný cíl hypoglykémie a pak snězte15 g rychlých sacharidů. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite - Zakázaná/pozastavená smyčka - Dostávám inzulín, když je smyčka zakázána/pozastavena? - Ano, bazální inzulín se dále dodává. - Ne, podávání inzulínu je zastaveno. - Testování bazálu, ISF a IC - Kdy mají být tyto hodnoty ověřeny? - Než začnu provozovat smyčku. - Při častém výskytu vysoké nebo nízké hladiny glykémie v krvi. - Minimálně jednou týdně. - Jakmile jsou tyto hodnoty nastaveny a ověřeny, neměly by se časem měnit. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#nastaveni-androidaps - Požadavky - Co je nezbytné pro nastavení a používání AAPS? - Ověřené informace o profilu (Bazál, IC, ISF, DIA). - Počítač s nainstalovanou a konfigurovanou aplikací Android Studio. - Podporovaný telefon. - Kompatibilní inzulínová pumpa, pokud plánujete spuštění uzavřené smyčky. - Nightscout pro záznam všech dat a kontrolu nastavení. - Účet Tidepool. - Účet Google. - Účet Github. - Zkušenosti s programováním nebo úpravou kódu. - Pumpu MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html - Chytré hodinky. - Podporované CGM. - Požadavky - Co je nezbytné pro nastavení a používání AAPS? - Ověřené informace pro nastavení profilu (ISF, poměr I:C, bazální dávky, DIA atd.). - Kompatibilní Android zařízení (např. mobilní telefon, Android hodinky nebo tablet). - AAPS vyžaduje připojení k internetu pro spuštění uzavřené smyčky. - Podporované CGM a vhodná aplikace pro příjem glykémií v telefonu/zařízení. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html - Aktualizace AAPS - Zatrhněte všechny správné odpovědi. - Musíte mít nainstalovaný a nakonfigurovaný Git na vašem počítači. - Pokud jsou uvolněny aktualizované verze AAPS, starší verze mohou být po určité době vzdálené omezeny. - Měli byste uložit a zaznamenat umístění úložiště klíčů a použít stejný podpisový klíč pro aktualizace jako pro vaši předchozí instalaci. - Nikdy neaktualizujte, pokud systém funguje dobře. - Máte-li potíže se sestavením apk, můžete nainstalovat apk, který byl vybudován přítelem. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Installing-AndroidAPS/Update-to-new-version.html - Řešení problémů - Kde můžete hledat pomoc s AAPS? - Můžete požádat o radu v Facebookové skupině uživatelů AAPS. - Měli byste si přečíst (a znovu přečíst) dokumentaci AAPS. - Můžete požádat o radu a nahlásit technické problémy nebo potíže na Discordu AAPS. - Měli byste se zeptat svého lékaře/endokrinologa. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/index.html#poradce-pri-potizich - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Pluginy Inzulín - Který inzulin byste měli používat s pluginem Ultra-Rapid Oref? - Fiasp® - NovoRapid ® /Novolog ® - Humalog® - Actrapid ®/Humilin R ®/\"běžný\" lidský inzulín. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin - Pluginy Citlivost - Zatrhněte všechny správné odpovědi. - Pluginy citlivosti umožňují AAPS přizpůsobit se dočasným nebo krátkodobým změnám v citlivosti inzulinu (například hormonální změny nebo problémy s absorpcí na infúzním místě). - Pluginy citlivosti poskytují uživateli návrh změn bazálních hodnot, I:C poměrů a ISF, které mohou být použity k úpravě profilu. - Výměna kanyly nebo změna profilu automaticky nastaví Autosense zpět na 100%. - Některé pluginy mají konfigurovatelné časové rozmezí, které může nastavit uživatel. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#detekce-citlivosti - https://androidaps.readthedocs.io/cs/latest/Usage/Open-APS-features.html#autosens - Chyby při zadávání sacharidů - Co byste měli udělat, pokud jste zadali chybně sacharidy? - Odstraňte nesprávný záznam v Ošetření a zadejte správnou novou hodnotu sacharidů. - Pošlete inzulín pomocí plnění/doplňování. - Nic nedělejte – AAPS provede příslušné úpravy. - Pošlete inzulín pomocí ikony Inzulín v přehledu. - Chyby v podání inzulínu - Co byste měli udělat, pokud jste dostali méně inzulínu, než ukazuje historie pumpy, např. v důsledku okluze, vadné kanyly nebo zapomenutí na opětovné připojení pumpy po sprše?  - Odstraňte data z Nightscoutu pro odstranění z historie pumpy. - Porovnat hodnoty v AAPS s hodnotami v historii pumpy (pokud to pumpa podporuje). - Pošlete bolus na vypočtený „chybějící“ inzulín buď injekční stříkačkou nebo perem nebo pomocí plnění na pumpě. - Neudělejte nic a dovolte AAPS opravit jakoukoliv výslednou vysokou hladinu glukózy v krvi. - Zbývající sacharidy (COB) - Jak změna hodnoty citlivosti ovlivňuje výpočet COB? - Zvýšení hodnoty citlivosti prodlouží dobu absorpce sacharidů - Zvýšení hodnoty citlivosti zkrátí dobu absorpce sacharidů - Zvýšení citlivosti neovlivní vypočtenou absorpci sacharidů - Jak změna inzulíno-sacharidového poměru ovlivňuje výpočet COB? - Zvýšení hodnoty inzulíno-sacharidového poměru prodlouží dobu absorpce sacharidů - Zvýšení hodnoty inzulíno-sacharidového poměru zkrátí dobu absorpce sacharidů - Zvýšení inzulíno-sacharidového poměru neovlivní vypočtenou absorpci sacharidů - Jak procentuální změna profilu ovlivňuje výpočet COB? - Nastavením profilu na 150 % dojde k prodloužení doby absorpce sacharidů - Nastavením profilu na 150 % dojde ke zkrácení doby absorpce sacharidů - Nastavení profilu na 150% neovlivní vypočtenou absorpci sacharidů - Aktivní inzulín (IOB) - Hodnota IOB je ovlivněna vydanými dočasnými bazály. - Vysoký dočasný bazál nebude spuštěn, pokud je Vaše glykémie nižší než cíl. - Negativní IOB po značnou dobu bez cvičení naznačuje, že váš profil je příliš \"silný\" a ve vašem profilu je potřeba méně inzulínu. - Pozitivní IOB na značnou dobu naznačuje rezistenci vůči inzulinu nebo neohlášené jídlo. - Zadávání sacharidů a bolusy - Pouze gramy by měly být použity pro odhad a záznam spotřebovaných sacharidů. - Spotřebované sacharidy lze nahrávat pomocí vhodného systému (např. \"výměnné jednotky\"). - AAPS používá dynamický model k odhadu vstřebávání sacharidů a k výpočtu COB. - Pokud jsou hladiny glykémie v krvi mimo přijatelné hodnoty (příliš nízké nebo příliš vysoké), může být použit bolusová kalkulačka k podávání návrhů na sacharidy nebo na korekční bolus. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulinovosacharidovy-pomer-ic-g-u - e-sacharidy - Na co byste mohli použít e-sacharidy (prodloužené sacharidy)? - Pro plánování budoucích sacharidů, případně distribuovaných v intervalu (podobné prodlouženému bolusu). - Pro zaznamenání \'falešných\' sacharidů při cvičení, které chcete skrýt v AAPS. - e-sacharidy (distribuované v budoucnu) mohou AAPS pomoci při nakládání s jídly s vysokým obsahem tuku/bílkovin. - Pro zaznamenání rychlých sacharidů použitých k léčbě nízké hladiny glykémie v krvi - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Extended-Carbs.html - Vzdálené sledování - Jak můžete vzdáleně monitorovat AAPS (například své dítě)? - AAPSClient, aplikace Nightscout a webová stránka Nightscout umožnují sledovat AAPS vzdáleně. - Další aplikace (např. Dexcom follow, xDrip běžící v režimu sledování) vám umožňují sledovat některé parametry (např. hodnoty glykémie) na dálku, ale použití různých algoritmů může mít vliv na nepřesné hodnoty IOB nebo COB. - Chcete-li sledovat AAPS dálkově, musí mít obě zařízení přístup k internetu (např. přes Wi-Fi nebo mobilní síť/mobilní síť). - AAPSClient umožní oboje: monitorovat a poskytovat plnou kontrolu nad AAPS. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Children/Children.html - Citlivost inzulínu (ISF) - Zvýšení hodnot citlivosti povede k větší dodávce inzulínu k pokrytí určitého množství sacharidů. - Snížení hodnot citlivosti vede k většímu množství inzulinu pro korekci vyšší glykémie. - Zvýšení nebo snížení citlivosti nemá žádný vliv na výdej inzulinu, pokud jsou hladiny glykémie v krvi pod cílovou hodnotou. - ISF by měl být zadán do předvoleb AAPS. - Změna hodnoty citlivosti ve vašem profilu postačuje k tomu, aby se tato změna použila. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#korekcni-faktor-citlivost-na-inzulin-isf-mmol-l-u-nebo-mg-dl-u - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html - Ve svém profilu můžete použít více než jednu hodnotu poměru I:C. - Změníte-li ISF ve svém profilu, měli byste vždy změnit také poměr I:C. - Inzulínosacharidový poměr (I:C) - Vyšší hodnoty I:C vedou k menší dávce inzulínu pro stejné množství sacharidů. - Nižší hodnoty I:C vedou k menší dávce inzulínu pro stejné množství sacharidů. - Pokud máte 0 COB změna inzulino-sacharidového poměru povede k jinému množství inzulínu vydanému pro korekci glykémie. - Inzulino-sacharidový poměr se bude lišit podle toho, zda počítáte výměnnou jednotku jako 10 g nebo jako 12 g sacharidů. - Inzulino-sacharidový poměr vyjadřuje: kolik výměnných jednotek pokryje 1 jednotka inzulinu. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulino-sacharidovy-pomer-cr-g-u - Přepnutí profilu - Když zadáte 90% profil, které odpovědi jsou pravdivé? - Bazály budou o 10 % nižší. - Hodnota citlivosti bude o 10 % vyšší. - Hodnota poměru I:C bude o 10% nižší. - Hodnoty ISF a I:C nebudou změněny. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html?highlight=p%C5%99epnut%C3%AD%20profilu - Přepnutí profilu - Když zadáte 120% profil, které odpovědi jsou pravdivé? - Cílová glykémie bude o 20 % vyšší. - Bazály budou o 20 % vyšší. - Cílová glykémie se nezmění. - Hodnota citlivosti bude o 20 % vyšší. - Přepnutí profilu - Pokud se probudíte o 2h dříve než obvykle, jak byste měli oznámit AAPS tuto změnu? - Proveďte přepnutí profilu s posunem času 2 - Proveďte přepnutí profilu s posunem času -2 - Nastavte dočasný cíl Před jídlem. - Přepněte profil na více než 100%.  - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html#posun-casu - Změna profilu - V profilech by měly být nastaveny bazální dávky, ISF, I:C poměry, atd. - Aktivace změn vašeho profilu Nightscout vyžaduje, aby váš telefon AAPS měl k dispozici připojení k Internetu. - Úprava profilů za účelem změny hodnot je dostatečná k provedení všech provedených změn. - Je možné nastavit a vybrat z více profilů za účelem přizpůsobení se měnícím se okolnostem (např. hormonální změny, pracovní dny směny, pracovní dny/víkend životního stylu). - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html#spravny-individualni-algoritmus-davkovani-pro-lecbu-vaseho-diabetu - Pomoc s bazály - Kam jít pro pomoc s bazály apod. - K Vašemu lékaři - Google - Facebook - Ostatní léky. Přečtěte si prosím níže uvedené prohlášení a poté zaškrtněte políčko pro přijetí prohlášení. - AAPS snižuje bazály na zvýšení hladiny cukru v krvi. Léky ze skupiny inhibitorů SGLT2 (glifloziny) mohou zabránit očekávanému zvýšení hodnoty glykémie, a tak mohou produkovat nebezpečný nedostatek inzulínu (ketoacidózu). -\nBěžné značky jsou: Invokana ®, Forxiga ®, Jardiance ®, Steglatro ®, Suglat ®, Apleway ®, Deberza ®, Synjardy ®, Vokanamet ®, Xigduo ®.\n\nTímto slibuji, že tyto léky neberu při používání AAPS nebo deaktivuji smyčku před užíváním těchto léků. - + diff --git a/app/src/main/res/values-cs-rCZ/objectives.xml b/app/src/main/res/values-cs-rCZ/objectives.xml index 8f6808bf5c..3ea04e700d 100644 --- a/app/src/main/res/values-cs-rCZ/objectives.xml +++ b/app/src/main/res/values-cs-rCZ/objectives.xml @@ -1,55 +1,2 @@ - - Začátek - Kontrola - %1$d. cíl - Výukový cíl %1$d nespuštěn - Výukový cíl %1$d nedokončen - Nastavit vizualizaci a monitoring, analyzovat bazály a koeficienty - Zkontrolovat, zda jsou glykémie a údaje z pumpy viditelné v Nightscoutu - Začít s otevřenou smyčkou - Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály. Nastavovat a používat dočasné cíle (např. pro sport nebo hypo) - Porozumět otevřené smyčce, včetně jejích doporučení ohledně dočasných bazálů - Na základě předchozích zkušeností rozhodnout, jaký je třeba maximální bazál a nastavit ho v pumpě a v aplikaci - Spustit uzavřenou smyčku pouze se zastavováním při nízké glykémii - Spustit uzavřenou smyčku s max IOB = 0 na několik dní s minimem nutných korekcí na nízkou glykémii - Zapnout uzavřenou smyčku, zvyšovat max IOB nad 0 a snižovat cílovou glykémii - Provozovat smyčku několik dní s alespoň jednou nocí bez alarmů na nízkou glykémii - Upravit bazály a poměry, bude-li to potřeba, a povolit automatickou detekci citlivosti na inzulín - Jeden týden úspěšného používání s běžným příjmem sacharidů - Povolit další funkce pro běžné používání jako SMB - Povolení automatizace - Přečíst si dokumentaci a zvýšit maximální IOB, aby mohlo SMB fungovat. Pro začátek se dá použít velikost běžného bolusu + 3x maximální denní bazál - Přečtěte si na wiki, jak automatizace funguje. Nejdříve nastavte pouze jednoduchá pravidla. Namísto provádění akcí nechte AAPS zobrazovat pouze oznámení. Pokud jste si jistí, že je automatizace spouštěna v pravý čas, můžete oznámení nahradit prováděním akce. (https://androidaps.readdocs.io/en/latest/CROWDIN/cs/Usage/Automation.html) - Glykémie dostupná v NS - Stav pumpy dostupný v NS - Ručně spuštěno - Splněno: %1$s - Naučte se, jak ovládat AAPS - Provádějte v AAPS různé akce - Nastavte profil na 90 % na 10 min (Dlouhé stisknutí názvu profilu na obrazovce Přehled) - Předstírejte, že se jdete sprchovat. Odpojte pumpu na 1 h (Dlouze přidržte tlačítko Otevřená smyčka) - ...a stejným způsobem ji znovu připojte - Vytvořte vlastní dočasný cíl s trváním 10 min (Dlouze přidržte aktuální cíl) - Na kartě Konfigurace povolte modul Akce, aktivujte jeho zobrazení a zobrazte jeho obsah z horní nabídky - Zobrazte obsah modulu Smyčka - Přepněte režim zobrazení dlouhým stisknutím grafu glykémie - Zadat - Pokud máte alespoň 3 měsíce zkušeností s uzavřenou smyčkou na jiných systémech, můžete získat kód, který vám umožní přeskočit cíle. Více informací najdete na https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Objectives.html#skip-objectives. - Kód přijat - Neplatný kód - Prokažte své znalosti - Prostudujte otázky. Na každou otázku jste dostali čtyři možné odpovědi. Může existovat více než jedna správná odpověď. Zatrhněte prosím všechny odpovědi, které jsou správné, a potvrďte volbou ZKONTROLOVAT. - Odpovídání zakázáno do: %1$s - Špatná odpověď! - Další nedokončená - Kód žádosti: %1$s - (zatrhněte všechny správné odpovědi) - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#co-delat-pri-sprchovani-a-koupani - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#konfigurace - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka - Chybí připojení k internetu - Nepodařilo se načíst čas - Požadavky cíle nejsou splněny - + diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 2107cbb326..2addcab9ee 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -3,55 +3,25 @@ - Bezpečnost zadání ošetřeni - Maximální povolený bolus [U] - Maximální počet sacharidů [g] - Hodnota glykémie pro zastavení inzulínu Nastavení pluginu %1$s Nastavení Obnovit ošetření z NS Inicializovat databáze Opravdu resetovat všechny databáze? Konec - Tlačítka k běžně používaným úkonům Nastavení konfigurace (povolování součástí systému) - Výukový program Povolení nebo zakázání smyčky. - Synchronizace dat s NS - Stav algoritmu v roce 2017 - Nejnovější algoritmus pro pokročilé uživatele - Nejnovější algoritmus pro pokročilé uživatele s dynamickým/automatickým ISF Zobrazení stavu a informací. Přístup k nejběžnějším ovládacím prvkům Zobrazení průběžného oznámení v Androidu s krátkým přehledem, co smyčka právě dělá - Ovladač pumpy pro uživatele bez podporované pumpy (Otevřená smyčka) Citlivost je počítána stejným způsobem jako v Oref0, ale je možné specifikovat dobu do minulosti. Minimální absorpce sacharidů je počítána dynamicky z maximální doby absorpce definované v nastavení. Citlivost je počítána za 8h nebo 24h (použita je vyšší citlivost). Sacharidy, pokud nejsou absorbované, jsou oříznuty po čase definovaném v nastavení. Je také zároveň vyhodnocováno UAM (neoznámené jídlo). Citlivost je počítána jako vážený průměr z odchylek. Novější mají vyšší prioritu. Minimální absorpce sacharidů je počítána dynamicky z maximální doby absorpce definované v nastavení. Tento algoritmus sleduje nejrychleji změny citlivosti. - Příjem glykémií z modifikované Eversense aplikace. - Příjem glykémií z Glimpu. - Příjem glykémií z Uploaderu 640G. - Příjem glykémií z Nightscoutu - Příjem glykémií z xDripu+. Ukládá všechny ošetření do databáze Zobrazování stavu a řízení AAPS z hodinek s WearOS. - Spustit teď - VIRTUÁLNÍ PUMPA - Poslední spuštění - Vstupní parametry - Vstupní glykémie - Současný bazál - IOB data - Profil - Data o jídle - Výsledek - Výsledek: %1$s %2$s - Nedostupná data o glykémiích - Požadavek Rozdíl Konfigurace Přehled Ošetření - Virtuální pumpa Pumpa Jakou pumpu chcete s AAPS používat? Profil @@ -60,35 +30,23 @@ Jaký algoritmus má AndroidAPS používat? Obecné Obecné pluginy, které by se Vám mohly hodit. + Synchronizace + Moduly plug-in pro nahrávání a synchronizaci dat. Jaká omezení byla použita? - Omezení Smyčka Použitím aktivujte integraci AAPS. APS Po zpracování omezení Bazál nastavený pumpou ŽÁDNÉ APS NEVYBRÁNO NEBO NEVRÁTILO VÝSLEDEK - Bezpečnost - Modul zakázán Mimo povolený rozsah - Spustit nový dočasný bazál: Změňte zadání! Zdroj glykémie Odkud má AAPS získávat glykémie? - xDrip+ - Typ smyčky - Uzavřená smyčka - Otevřená smyčka - Ochrana před nízkou glykémií Dostupné nové doporučení Návrh sacharidů - Nepodporovaná verze Nightscoutu - Čas jídla Profil - Dočasný bazál - Prodloužený bolus Verze Nightscoutu: - Chybí %1$d g Nastavení exportováno Uživatelské záznamy exportovány Exportovat nastavení do @@ -97,12 +55,7 @@ Soubor nenalezen Exportovat nastavení Importovat nastavení - Max. U/h, které lze nastavit pro dočas. bazál - Tato hodnota je v kontextu OpenAPS nazývána max basal - Maximální bazální IOB [U] - Tato hodnota je v kontextu OpenAPS nazývána max IOB Zobrazí se výzva k zadání hlavního hesla, které bude použito k šifrování exportovaných předvoleb. - Zobrazí se výzva k zadání hlavního hesla, které bude použito k dešifrování importovaných předvoleb. Export zrušen! Předvolby NEBYLY exportovány! Import zrušen! Předvolby NEBYLY importovány! Nelze naimportovat nastavení! @@ -122,7 +75,6 @@ ROZUMÍM A POTVRZUJI Uložit Obnovit profil - Rychlý bolus Nastavení rychlých bolusů Text na tlačítku: Sacharidy: @@ -130,16 +82,9 @@ Přidat Upravit Korekce - Akce (NEBEZPEČNÉ ZAKÁZAT) Pouze odesílání do NS Pouze nahrávání do NS. Neplatí pro glykémie, pokud je NS vybrán jako zdroj glykémií. Neplatí pro profily, pokud je vybraný NS Profil.\n!!! VAROVÁNÍ!!! Vypnutí této možnosti může způsobit chybné chování a předávkování inzulínem, pokud je některá z vašich komponent (AAPS, NS, xDrip+) špatně nastavena. Pečlivě sledujte, jestli data zobrazená v AAPS odpovídají stavu pumpy! Pumpa není inicializována! - Plnění/doplňování - Prosím ujistěte se, že hodnota odpovídá specifikaci Vašeho setu! - Standardní množství inzulinu pro Plnění/Doplňování - Tlačítko 1 - Tlačítko 2 - Tlačítko 3 Jednotky Rozsah pro zobrazení Značka vysoké a nízké hodnoty v přehledu a na hodinkách Wear @@ -148,108 +93,22 @@ Wear Znovu poslat všechna data Otevřít nastavení na hodinkách Wear - Bazál - MM640g Průběžné oznámení ZASTARALÉ - OpenAPS AMA - Pole %1$d prvků.\nAktuální hodnota: - Data detekce senzitivity - Ladící informace - Používat autodetekci senzitivity - AKCE KONF SMYČ - OAPS - DYNSENZ PŘEH - VPUM OŠET - CÍLE WEAR Krátké názvy modulů - Vždy používat krátkodobý průměrný rozdíl glykémií místo rozdílu posledních 2 hodnot - Výhodné, pokud data z xDripu+ obsahují velký šum. - Výchozí hodnota: 3 Toto je klíčová hodnota zabezpečení. Říká, že maximální nastavitelný bazál je trojnásobkem maximálního denního bazálu. Patrně to nebudete muset měnit, případně si přečtete o tématu \"3x max denní; 4x aktuální\". - Výchozí hodnota: 4 Toto je druhá klíčová hodnota. Říká, že maximální hodnota dočasného bazálu nikdy nebude větší, než čtyřnásobek aktuálního bazálu. Je to proto, aby se lidé nedostali do nebezpečných hodnot dříve, než pochopí jak OpenAPS pracuje. Znovu, výchozí hodnota je 4 a většina lidí ji nikdy nebude muset změnit. Pokud nestačí, obvykle je problém někde jinde. - Výchozí hodnota: 1.2\nToto je bezpečnostní nastavení pro detekci sensitivity (a brzy autotune). Říká, že autosense může zvýšit bazály, snížit ISF a snížit cílovou hodnotu glykémie o 20 %. - Výchozí hodnota: 0.7\nToto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosense může snížit bazály, zvýšit ISF a zvýšit cílovou hodnotu glykémie na 70 %. - Autosense také upravuje cílovou glykémii - Výchozí hodnota: zapnuto\nToto nastavení říká, že autosens může měnit také cílové hodnoty glykémií. - Výchozí hodnota: 2\nToto nastavení říká, po jakou část z hodnoty DIA smyčka po bolusu čeká a nereaguje na změny glykémií (zde 3DIA/2 = 1,5h). - Výchozí hodnota: 3.0 (AMA) nebo 8.0 (SMB) mg/dl/5min. Tato hodnota definuje minimální část strávených sacharidů za každých 5 min. Tato hodnota ovlivňuje výpočet COB. - Pozor!\nZa normálních okolností tyto hodnoty nemusíte měnit. Klikněte ZDE, PŘEČTĚTE si informace a UJISTĚTE se, že jim rozumíte dříve, než je začnete měnit. - Provádím - Nastavení virtuální pumpy - Nahrávat status do NS - NSClient - NSCl - Adresa URL: - Posouvat - Restart - NSClient - Adresa Nightscoutu - Vložte adresu Nightscoutu - NS heslo (API secret) - NS heslo - Vložte API secret (min 12. znaků) - Odeslat teď - Vymazat frontu - Zobrazit frontu - Fronta: - Status: - Vymazat log - NSClient nedostal oprávnění k zápisu. Špatné API secret? Nastavení hodinek neúspěšně - zkontrolujte mobil - Typ pacienta - Dítě - Dospívající - Dospělý - Dospělý s nízkou citlivostí - Těhotenství - Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů Jméno pacienta Zadejte jméno pacienta nebo přezdívku pro rozlišení mezi více nastaveními - Glimp - Pozastavit smyčku na 1 h - Pozastavit smyčku na 2 h - Pozastavit smyčku na 3 h - Pozastavit smyčku na 10 h - Odpojit pumpu - Odpojit pumpu na 15 min - Odpojit pumpu na 30 min - Odpojit pumpu na 1 h - Odpojit pumpu na 2 h - Odpojit pumpu na 3 h - 15 minut - 30 minut - 1 hodina - 2 hodiny - 3 hodiny - 10 hodin - Uvolnit - Znovu připojit pumpu - Zaznamenávat spuštění aplikace do NS Ukončuji aplikaci, aby se nastavení projevilo. Jaký druh inzulínu používáte? Povolit superbolus Povolení superbolusu v kalkulátoru. Nepovolujte, dokud se nenaučíte, co to opravdu dělá. MŮŽE ZPŮSOBIT PŘEDÁVKOVÁNÍ INZULÍNEM PŘI NESPRÁVNÉM POUŽITÍ! - Zobrazit stavové indikátory na domovské obrazovce - Úroveň varování stáří kanyly [h] - Úroveň kritického stáří kanyly [h] - Úroveň varování stáří inzulínu [h] - Úroveň kritického stáří inzulínu [h] - Úroveň varování stáří senzoru [h] - Úroveň kritického stáří senzoru [h] - Úroveň varování stavu baterie senzoru [%] - Úroveň kritického varování stavu baterie senzoru [%] - Úroveň varování stáří baterie pumpy [h] - Úroveň kritického varování stáří baterie pumpy [h] - Úroveň varování stavu zásobníku [U] - Úroveň kritického varování stavu zásobníku [U] - Úroveň varování stavu baterie pumpy [%] - Úroveň kritického varování stavu baterie pumpy [%] PRED BAZ ODCH @@ -259,18 +118,12 @@ DEVSLOPE O aplikaci Chybí oprávnění pro zjišťování stavu telefonu - Zrušit prodloužený bolus Proveďte přepnutí profilu - Senzor - Inzulín - Baterie pumpy - stáří: - úroveň: - Nastavení alarmů + Nastavení alarmů Vytvořit oznámení z alarmů NS Vytvořit oznámení z NS upozornění - Mezní hodnota pro zastaralá data [min] - Urgentní mezní hodnota pro zastaralá data [min] + Mezní hodnota pro zastaralá data [min] + Urgentní mezní hodnota pro zastaralá data [min] Interval pro detekci senzitivity [h] Počet hodin do minulosti pro detekci senzitivity OpenAPS @@ -283,27 +136,13 @@ Nastavení absorpce sacharidů Max. doba absorpce sacharidů [h] Čas v hodinách, ve kterém předpokládáme, že všechny sacharidy budou strávené - OAPS - UPLD Nechat obrazovku zapnutou Zabránit Androidu ve zhasínání obrazovky. Bez připojení do nabíječky vybije velice rychle baterii! Při zapnuté detekci sensitivity nezapomeňte vkládat všechny sacharidy. Jinak budou odchylky mylně vyhodnocovány jako změna sensitivity !! Sensitivita vážený průměr Všechny profily nenačteny! Hodnoty nejsou uloženy! - Povolit vysílání do jiných aplikací (například xDrip+). Nepovolujte, pokud máte instalovánu více než jednu instanci AAPS nebo AAPSClient! - Povolení odesílaní - OpenAPS SMB - Dynamická ISF - Korekční faktor pro DynamicISF v % - Korekční faktor pro DynamicISF. Pro agresivnější korekční dávky nastavte hodnoty vyšší než 100 %, pro méně agresivní korekce nižší než 100 %. - Povolit UAM - Povolit SMB - Použít super mikro bolusy místo dočasných bazálů pro zrychlení účinku - Detekce neoznámených jídel NEPLATNÝ - % změna - Posun času Výchozí nastavení dočasných cílů Trvání „Před jídlem“ Cíl „Před jídlem“ @@ -311,33 +150,16 @@ Cíl při aktivitě Trvání dočasného cíle při hypoglykémii Cílová glykémie při hypoglykémii - Znovu použít %1$d%% %2$dh Řízení z hodinek Wear Nastavování dočasných cílů a vkládání ošetření na hodinkách Wear. - Používat systémové notifikace pro výstrahy a oznámení Postupně zvyšovat hlasitost výstrah a oznámení Místní výstrahy Výstraha při nedostupných glykémiích Výstraha při nedostupné pumpě Limit pro nedostupnost pumpy [min] Výstraha, jsou-li vyžadovány sacharidy - Urgentní alarm - INFO - Eversense aplikace (upravená) - Nahrávat data do NS - Nastavení nahrávání glykémií Zobrazovat detailní změny Zobrazovat rozdíl s jedním desetinným místem navíc - Jak často budou SMB podávány v minutách - Maximální počet minut bazálu, ke kterým se limituje SMB - UAM SMB max. minut - Maximální počet minut bazálu, ke kterým se limituje SMB pro UAM - Minimální množství sacharidů potřebných pro návrh - Minimální množství sacharidů v gramech, které spustí upozornění návrhu sacharidů. Množství sacharidů pod touto hodnotou nespustí oznámení. - Odesílat data do xDrip+ - V xDrip+ vyberte zdroj dat 640g/Eversense - Glykémie z NS - NSGL Kalkulace glykémie Kalkulace bolusového IOB Kalkulace bazálního IOB @@ -348,41 +170,17 @@ Kalkulace COB Kalkulace s dočasným cílem Procentní výpočet - Smyčka povolena - APS vybráno - NSClient má povolení k zápisu - Uzavřená smyčka povolena - Maximální IOB nastaveno správně - Glykémie dostupné z vybraného zdroje - Chyba spuštění extended bolusu - Vždy povolit SMB - Povolit SMB nezávisle na bolusech. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 - Povolit SMB po jídle - Povolit SMB 6 hodin po bolusu i při nulovém COB. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 - Povolit SMB se sacharidy - Povolit SMB, pokud zbývají aktivní sacharidy. - Povolit SMB s dočasnými cíli - Povolit SMB, pokud je aktivní dočasný cíl (aktivita, před jídlem) - Povolit SMB s vysokými dočasnými cíli - Povolit SMB, je-li aktivní vysoký cíl (cvičení, vyšší než 100 mg/dl nebo 5,5 mmol/l) - Inzulín Tlačítka Odeslání kalibrace do xDrip+ nebo otevření kalibračního dialogu BYODA Otevře xDrip+ nebo BYODA, tlačítko zpět vrátí do AndroidAPS Množství sacharidů přidané po stisknutí tlačítka Množství inzulínu přidané po stisknutí tlačítka Nelze spustit aplikace CGM. Ujistěte se, že je nainstalovaná. - CGM Ignorovat 5 m Ignorovat 15 m Ignorovat 30 m - Prohlížeč historie Oznámení při SMB Ukazovat SMB na hodinkách jako normální bolus. - Vytvořit oznámení pro chyby - Vytvořit oznámení z výstrahy vyžadovaných sacharidů - Vytvořit oznámení v NS pro chyby a místní výstrahy (zobrazitelné v Péči pod Ošetřením) - Pro výstrahy vyžadovaných sacharidů vytvořit oznámení v Nightscoutu Zobrazovat predikce na hodinkách. Predikce Možnosti dat @@ -390,8 +188,6 @@ Automatické odesílání chyb aplikace a statistiky používání vývojářům pomocí služby fabric.io. Prosím aktualizujte Dexcom aplikaci na podporovanou verzi Aplikace Dexcom není nainstalována. - Nepouštět bolus, jen zaznamenat - Bolus nebude pumpou vydán, pouze zaznamenán SMB provedené pumpou Aktivita Vliv na hladinu glukózy @@ -400,32 +196,11 @@ Zbývající sacharidy Zbývající inzulín Bazály - Běží DEV verze. Uzavřená smyčka je zakázána. Expertní mód povolen - Pumpa nepodporuje dočasné bazály - Uzavřená smyčka zakázána v nastavení - Autosens zakázán v nastavení - SMB zakázáno v nastavení - UAM zakázáno v nastavení - UAM zakázáno, protože není povolen Oref1 plugin - maximální násobek bazálu - maximální násobek nejvyššího bazálu Odeslán bolus během posledních 3 minut, SMB přeskočeno Bazál nastaven správně - Prodloužený bolus omezen na %1$.1f U: %2$s - Sacharidy omezeny na %1$d g: %2$s - IOB omezeno na %1$.1f U: %2$s - maximální hodnota v nastavení - pevný limit - Zaznamenat výměnu setu - Zaznamenat výměnu inzulínu - \"SMB vždy\" a \"po jídle\" zakázáno protože zdroj glykémie nepodporuje rozšířené filtrování - SBM není povoleno v otevřené smyčce - Maximální celková hodnota IOB, kterou OpenAPS nemůže překročit [U] - Tato hodnota je v kontextu OpenAPS nazývána Max IOB.\nOpenAPS nikdy nepřidá inzulín, pokud je současné IOB větší než tato hodnota Maximální doba absorpce sacharidů [h] Doba, po které jsou všechny sacharidy považovány za strávené. Zbylé budou oříznuty. - Hodnota glykémie, při níž bude vydávání inzulinu zastaveno. Výchozí hodnota využívá standardní cílový model. Uživatel může nastavit hodnoty od 3,3 mmol/l do 5,5 mmol/l. Při hodnotách pod 3,6 mmol/l se použije výchozí model. Zobrazovat kolonku poznámky v dialozích ošetření Další Zpět @@ -438,33 +213,18 @@ Druhý přídavek sacharidů Třetí přídavek sacharidů CGM - Použít mobilní připojení - Použít WiFi připojení - WiFi SSID - Při nabíjení - Na baterii - Nastavení připojení - Povolené SSID (oddělené středníkem) - Povolit připojení pro roamingu Max hodnota autosens Min hodnota autosens - Dělitel \"bolus snooze\" - Max násobitel denního nejvyššího bazálu - Max násobitel současného bazálu - Typ virtuální pumpy - Definice pumpy - Bolus: Krok =%1$s\nProdl. bolus: [Krok=%2$s, Délka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Délka=%8$smin-%9$sh\n%10$s Kalkulace použité ve výsledku wizardu: Nastavení zobrazení Obecné nastavení - Povolit NSClient Vítejte v průvodci nastavením. Provede Vás procesem nastavení programu\n Načíst status Přeskočit průvodce Stiskněte tlačítko níže, chcete-li AAPS povolit navrhovat nebo provádět změny bazálu Plugin senzitivita slouží k detekci změn v senzitivitě a k počítání COB. Více informací zde: https://androidaps.readthedocs.io/cs/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient slouží ke spojení s Nightscoutem. Nastavení můžete nyní přeskočit, ale nebudete schopni dokončit cíle, dokud nastavení neprovedete. + Synchronizujte data s cloudem. Tuto část nyní můžete přeskočit, ale nebudete schopni dokončit cíle, dokud synchronizace nebude nastavena. Pozor: Nové inzulínové profily vyžadují DIA minimálně 5h. DIA 5–6 hodin odpovídá zhruba nastavení 3h na starších typech profilů nebo v pumpě. Vyberte jeden z algoritmů. Jsou setříděné od nejstaršího po nejnovější. Novější je obvykle lepší a agresivnější, ale vyžaduje přesnější nastavení. Proto pokud se smyčkou začínáte, měli byste nejdříve vybrat jen AMA a ne ten poslední. Nezapomeňte si přečíst dokumentaci k OpenAPS a provést nastavení, než ho začnete používat. Prosím nakonfigurujte svůj RileyLink níže. Po výběru RileyLinku bude možné pokračovat v nastavení, jakmile stav RileyLinku je \"Připojeno\". Tato akce může chvilku trvat.\n @@ -474,21 +234,6 @@ Otevřít menu Zavřít menu Nastavení pluginu - Poctech - Získávat glykémie z aplikace Poctech - Glunovo - Získávat glykémie z aplikace Glunovo - Intelligo - Přijímat hodnoty z aplikace Intelligo - Přijímat hodnoty glykémií z Tomato aplikace (MiaoMiao zařízení) - Vysoký dočasný cíl zvýší senzitivitu - = 5.5]]> - Nízký dočasný cíl sníží senzitivitu - - Rezistence snižuje cíl - Je-li zjištěna rezistence, sníží nastavenou cílovou glykémii - Citlivost zvyšuje cíl - Je-li zjištěna vyšší citlivost, zvýší nastavenou cílovou glykémii Odstranit položky Seřadit položky Nalezeno uložené nastavení @@ -504,64 +249,22 @@ Smazat logy Ošetření (inzulín: %1$.2f, sacharidy: %2$d, čas: %3$s) nelze přidat. Zkontrolujte a podle potřeby ručně přidejte záznam. eCarbs: %1$d g (%2$d h), zpoždění: %3$d m - Nedostupná data o glykémiích Soubory protokolu Různé Nastavení logování Obnovit výchozí - Chyba NSClienta. Zvažte restart NS a NSClienta. Preferovaný režim APS Odešlete dnešní soubory protokolů vývojářům spolu s tímto časem. Neočekávaná situace. Minimální změna pro výzvu [%] Otevřená smyčka vytvoří novou žádost o změnu pouze v případě, že změna je větší než tato hodnota. Výchozí hodnota je 20 % == ∑ %1$s U - Zaznamenávat výměnu senzoru do NS - Vytvořit událost \"Výměna senzoru\" v NS automaticky po spuštění senzoru - Tomato (MiaoMiao) - Tomato - Vaše uživatelské jméno na Tidepoolu, obvykle vaše e-mailová adresa - Uživatelské jméno - Heslo na Tidepoolu - Heslo - Otestovat přihlášení na Tidepool - Pokud je povoleno, data budou nahrávána na https://int-app.tidepool.org místo na https://app.tidepool.org/ - Používat testovací servery - Tidepool - TDP - Nahrávání dat do Tidepoolu - Nahrávat CGM data - Nahrávat ošetření (inzulín, sacharidy) - Nahrávat dočasné bazály - Nahrávat přepnutí profilu, dočasné cíle - Nahrávat měření z prstu - 2h - BYODA - BYODA - Příjem hodnot glykémií z upravené aplikace Dexcom (BYODA). - COB vs. IOB - Použito omezení bolusu: %1$.2f U na %2$.2f U - !!!!! Detekována pomalá absorbce sacharidů: %2$d%% času. Překontrolujte kalkulaci. COB může být nadhodnocené, a proto může být započítáno více inzulínu !!!!!]]> - Podat tuto část z výsledku kalkulace [%] Kalkulátor provede výpočet, ale dodána je pouze tato část inzulínu. Výhodné při používání SMB algoritmu. - Zvýšena hodnota maximálního bazálu, protože nastavení je nižší než Vaše maximální hodnota bazální profilu - Vybráno: Jednotky - Vymazat dokončeno - Vymazat start - Chcete resetovat začátek cíle? Můžete přijít o svůj pokrok. Vyberte jednotky, ve kterých chcete zobrazit hodnoty Spodní hodnota oblasti v rozsahu (pouze zobrazování) Horní hodnota oblasti v rozsahu (pouze zobrazování) - Neplatný vstup % - Náhodná glykémie - Generovat náhodná data glykémie (pouze režim Demo) - GLYK - Nástroje - Zobrazit kalkulaci Zobrazit odstraněné Vymazat frontu? Všechna data ve frontě budou ztracena! - Použití funkce prodlouženého bolusu zastaví uzavřenou smyčku po dobu trvání prodlouženého bolusu. Opravdu to chcete? - Uzavřená smyčka je zastavena kvůli běžícímu prodlouženému bolusu Možnosti grafu Čas požadavku SMB Čas provedení SMB @@ -574,35 +277,14 @@ Absolutní inzulin Hlavní heslo se používá pro šifrování zálohy a pro \"přebití\" zabezpečení v aplikaci. Dobře si ho zapamatujte nebo uložte na bezpečném místě. Aktuální hlavní heslo - Stavové indikátory - Zkopírovat nastavení z NS - Zkopírovat nastavení NS (existuje-li)? - Původní vzhled - Vzhled pro nízké rozlišení - Tlačítka jsou vždy zobrazena v dolní části obrazovky - Velký displej - Vzhled - Porovnat profily - Pomocník s profilem - Výchozí profil - Aktuální profil - Dostupný profil - Typ profilu - Věk: %1$.0f CDD: %2$.0f U - Věk: %1$.0f CDD: %2$.0f U %3$d%% - Věk: %1$.0f Hmotnost: %2$.0f kg - % bazálu - Výchozí profil DPV Status RileyLink: Nelze vytvořit profil. Profil je neplatný. Nezabíjet mou aplikaci? - Spustit alarm, když je čas na jídlo Čas k jídlu!\nSpusťte Bolusovou kalkulačku a proveďte výpočet znovu. Povolit připomínání bolusu Použijte připomenutí pro pozdější bolus s kalkulátorem (\"zpožděný bolus\") Nahrávání protokolů o pádech zakázáno! Graf - Možnosti grafu Vymazat filtr Kanyla Použijte hodnoty pro největší jídlo, jaké obvykle jíte\n @@ -610,48 +292,12 @@ E-mailová adresa Nastavení soukromí Pokud chcete být upozorněni na selhání aplikace, můžete zadat volitelně e-mailovou adresu. Toto není automatizovaná služba. Vývojáři vás budou kontaktovat v nebezpečných situacích. - Plná synchronizace - Úplná synchronizace? Může to trvat mnoho hodin a dokud neskončíte, nová data v NS neuvidíte. - Synchronizace - Profily, bolusy, sacharidy, dočasné bazály jsou nahrány do NS - Nahrávat data do NS - Přijímat úložiště profilu - Synchronizovat profily z editoru profilu v NS - Přijímat dočasné cíle - Přijmout dočasné cíle zadané prostřednictvím NS nebo NSClienta - Přijímat přepnutí profilu - Přijmout přepnutí profilu zadané prostřednictvím NS nebo NSClienta - Přijímat události APS offline - Přijmout APS offline události zadané prostřednictvím NS nebo NSClienta - Přijímat dočasný bazál a kombinovany bolus - Přijmout dočasný bazál a kombo bolus zadaný přes jinou instanci - Přijímat inzulín - Přijmout inzulín vložený přes NS nebo NSClient (není dodán, pouze započítán do IOB) - Přijímat sacharidy - Přijmout sacharidy vložené prostřednictvím NS nebo NSClienta - Přijímat události - Přijmout léčebné události (výměna setu, inzulínu, baterie atd.) zadané prostřednictvím NS nebo NSClienta - Přijímat/doplňovat glykémie - Přijmout CGM data z NS - Spustit %s? - Zpomalit odesílání Stav glykémie Odstranit glykémie - stáří kanyly - stáří náplasťové pumpy - Náplasťová pumpa Identifikace (e-mail, jméno na FB nebo Discord atd.) Identifikace není nastavena ve vývojářském režimu dialog - aktuální hodnota glykémie - správný výsledek v % - správný výsledek s jednotkami Nedostupný - graf - kvalita glykémií - inzulín - glykémie - zastaralé Dočasný cíl neznámá předvolba: %1$s Zrušení běžícího dočasného cíle? @@ -666,22 +312,6 @@ Kalkulátor: \nInzulín: %1$.2fU\nSacharidy: %2$dg Zobrazit záznam na zařízení: Vybraný rychlý bolus již není k dispozici, obnovte prosím dlaždici - Žádná aktuální glykémie k výpočtu! - Není nastaven žádný aktivní profil! - Neznámý COB! Chybějící glykémie nebo nedávný restart aplikace? - Sacharidy mimo povolený rozsah! - Kalk (IC: %1$.1f, ISF: %2$.1f) - Sacharidy: %1$.2fU - COB: %1$.0fg %2$.2fU - Glykémie: %1$.2fU - IOB: %1$.2fU - Superbolus: %1$.2fU - 15\' trend: %1$.2fU - Procentuální hodnota: %1$.2fU x %2$d%% ≈ %3$.2fU - Inzulím mimo povolený rozsah!\nNelze podat %1$.2fU - Doč. cíl: %1$s - %1$s – %2$s - Pumpa není k dispozici! Neznámý příkaz k akci: Procentní podíl Výchozí nastavení aplikace @@ -690,13 +320,7 @@ Seřadit Stav smyčky Měřítko grafu - Profil 1 - Profil 2 - Přihlášení - Odstranit vše - Resetovat start otevřít nastavení - nastavit upozornění na sacharidy Vše Telefon Hodinky @@ -704,14 +328,7 @@ pouze na telefonu úchyt pro přetažení Hledat - - GlucoRx Aidex - Aidex - Přijímat hodnoty glykémie ze senzoru GlucoRx Aidex. - Zablokováno možností nabíjení - Zablokováno možností připojení (Žádné hodinky nejsou připojeny) - Upravit citlivost a glykémii Vyčištění databáze Chcete vyčistit databázi?\nOdstraní sledované změny a historická data starší než 3 měsíce. Vymazané záznamy diff --git a/app/src/main/res/values-da-rDK/exam.xml b/app/src/main/res/values-da-rDK/exam.xml index a7a9264662..3ea04e700d 100644 --- a/app/src/main/res/values-da-rDK/exam.xml +++ b/app/src/main/res/values-da-rDK/exam.xml @@ -1,195 +1,2 @@ - - Hvad er sandt ved DIA? - Varighed af insulin aktivitet (DIA) - Du skal angive værdien for DIA i din profil. - Den mindst tilladte værdi er 5 timer. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Du bør selv bestemme, hvad den passende værdi af DIA er for dig. - Hypo midlertidig basal - Hvad er den primære årsag til at sætte et hypo midlertidig mål? - For at rette op for hypo, forårsaget af forkerte basal rate indstillinger. - At korrigere for hypoglykæmi (Lavt blodsukker) induceret som følge af motion. - For at undgå lav blodglukose, hvis der allerede er en midlertidig basal på 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Hvilken profil kan bruges og konfigureres offline? - Emne: Offlineprofil - NS-profil kan bruges, men ikke konfigureres. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Hvad skal man gøre, når man frakobler pumpen? - Dette er unødvendigt, da insulin ikke vil blive leveret, hvis pumpen er fysisk afbrudt. - Det vil ikke stoppe insulinleveringen, hvis pumpen forbliver forbundet. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Hvad er den bedste fremgangsmåde for at lave en backup af dine indstillinger? - Du behøver ikke at exportere dine indstillinger, hvis du laver en note af dem. - Eksportér dine indstillinger, når du er færdig med at udføre et objektiv. - Exporter dine indstillinger, når du har ændret nogle af dine indstillinger. - Eksportér dine indstillinger, når du er færdig med den første opsætning, og har angivet dine indstillinger. - Eksportér dine indstillinger lokalt ved hjælp af vedligeholdelsesmenuen. - Dine indstillinger kan findes i mappen Internt Lager/AAPS/preferences på din telefon. - Kopiér dine indstillinger til en sikker placering uden for din telefon (f.eks. ved at bruge et cloud-drev, forbind et kabel fra din telefon til en computer, e-mail osv.) - Hvis din telefon er beskadiget eller blevet væk, kan du nemt gendanne dine indstillinger uden en backup. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - CGM målinger med \"støj\" - Hvad skal der gøres, hvis der er støj i CGM data? - Deaktivér lukket loop for at undgå mulig over- eller underdosering. - Erstat konsekvent støjende eller unøjagtige sensorer. - Kontrollér, at din CGM-app viser udjævnet data. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Øvelser og profiler - Hvordan kan du bruge profiler til at hjælpe systemet med at håndtere motion? - Lav en profil, der skifter til mindre end 100%. - Lav et profilskift der skifter til mere end 100%. - Lad profilen være sat til 100%. - Suspendér Loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Motion og midlertidige basaler - Hvordan kan du bruge midlertidige basaler til bedst muligt at hjælpe systemet med at håndtere motion? - Set et aktivitets blodsukkermål der starter, en passende tid før du begynder motion. - Set et aktivitetsblodsukker efter motion. - Lad dit blodsukker være uændret. - Vent, til blodsukkeret falder under din midlertidige hypo-basal, og spis 15g hurtigt virkende kulhydrater. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Deaktiveret/Suspendéret Loop - Modtager jeg insulin, når Loop er deaktiveret/suspenderet? - Ja, basal insulin fortsætter med at blive levereret. - Nej, levering af insulin er stoppet. - Basal, ISF og I:C testning - Hvornår skal disse værdier valideres? - Før du starter Loop. - Når du oplever hyppig højt eller lavt blodsukker. - Mindst én gang om ugen. - Når de er angivet og valideret, skal disse værdier ikke ændres over tid. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Forudsætninger - Valideret profilinformationer (Basaler, I:C, ISF, DIA). - En computer med Android Studio installeret og konfigureret. - En understøttet telefon. - En kompatibel insulinpumpe, hvis du har planer om at køre lukket Loop. - Nightscout, for at holde en log over alle data og gennemgå indstillinger. - En Tidepool konto. - En Google konto. - En Github konto. - Erfaring med programmering eller redigering af kode. - En MiniMed 670G pumpe. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Et Smartwatch. - En Understøttet CGM. - Forudsætninger - Valideret information til at konfigurere en profil (ISF, I:C ratio, basal rate, DIA osv.). - En kompatibel Android-enhed (f.eks. mobil / mobiltelefon, Android-ur eller tablet). - En understøttet CGM og relevant app til at modtage blodsukkerværdier på telefonen/enheden. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Tjek alle de korrekte svar. - Du skal have installeret Git og konfigureret på din computer. - Du skal gemme og notere placeringen af din keystore og bruge det samme kodeord til opdateringer som ved den forrige installation. - Opdater aldrig, hvis systemet fungerer godt. - Hvis du har svært ved at bygge apk\'en, kan du installere en apk, der er blevet bygget af en ven. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Fejlfinding - Du bør spørge din diabetessygeplejerske/endokrinolog. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Insulin Plugins - Hvilken insulin skal du bruge sammen med Ultra-Rapid Oref-pluginnet? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"regulært\" humant insulin. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Sensitivitets plugins - Tjek alle de korrekte svar. - Sensitivitetsplugins giver brugeren foreslåede ændringer i basalrater, I:C-forhold og ISF, der kan bruges til at redigere profilen. - Notering af kanyleskift vil nulstille Autosens ratio tilbage til 100%. - Nogle af plugin mulighederne har konfigurerbare tidsintervaller, der kan indstilles af brugeren. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Kulhydrat indtastningsfejl - Hvad gør du, hvis du har lavet en forkert kulhydrat indtastning? - Slet den forkerte indtastning i Behandlinger og indtast korrekte nye kulhydrat værdier. - Bolus med insulin ved hjælp af infusionssætmenuen. - Bolus med insulin ved hjælp af knappen (bolus) i oversigt. - Fejl i insulinlevering/indtastning - Hvad skal du gøre hvis du har fået mindre insulin end pumpehistorikken foreslog, f.eks. på grund af en okklusion, mislykket kanyle eller du glemmer at sætte pumpen på igen efter et brusebad? - Slet insulinleveringsdata fra Nightscouts Careportal for at slette det fra pumpehistorikken. - Bolus en del af din beregnede \"glemte\" insulin med enten sprøjter / pen eller brug af en kanylefyldning. - Kulhydrater om bord (COB) - Hvordan ændring af ISF værdi påvirker COB beregning? - Ved øget ISF, vil kulhydrater være længere tid om at absorberes - Ved øget ISF, vil kulhydrater være kortere tid om at absorberes - Øget ISF vil ikke påvirke absorbering af beregnet kulhydrat - Hvordan ændring af IC værdi påvirker COB beregning? - Ved øget IC, vil kulhydrater være længere tid om at absorberes - Ved øget IC, vil kulhydrater være kortere tid om at absorberes - Øget IC vil ikke påvirke absorbering af beregnet kulhydrat - Hvordan skift af profil procent påvirker COB beregning? - Ved indstilling af profil til 150%, vil kulhydrater være længere tid om at absorberes - Ved indstilling af profil til 150%, vil kulhydrater være kortere tid om at absorberes - Ved indstilling af profil til 150%, påvirkes absorbering af beregnet kulhydrat ikke - Insulin om bord (IOB) - IOB-værdi påvirkes af midlertidige basaler. - Høj midlertidlig basal vil ikke blive givet, når dit blodsukker er under målet. - Negative IOB i en længere periode uden motion tyder på, at din profil er for stærk, og at der er behov for mindre insulin i dine indstillinger. - Positiv IOB i en længere periode tyder på insulinresistens eller uanmeldte måltider. - Kulhydrat indtastninger og bolusser - Kun gram skal bruges til at estimere og registrere kulhydrater, der er indtaget. - Kulhydrater der er indtaget, kan blive registreret ved hjælp af et passende udvekslingssystem (F.eks. DAFNE \"CHO\"-udvekslinger eller europæiske \"brød-enheder\"). - Hvis blodsukkeret er uden for acceptable værdier (for lavt eller for høj), kan bolusberegneren bruges til at levere forslag til kulhydrat eller insulin korrektioner. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-kulhydrater - Hvad kan du bruge e-kulhydrater (Forlængede kulhydrater) til? - Til at planlægge kulhydrat i fremtiden, evt. uddelt over et interval (svarende til en forlænget bolus, der distribuerer insulin over et interval). - Til at registrere redningskulhydrater du bruger til at behandle et lavt bloduskker. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Ekstern overvågning - Andre apps (f.eks Dexcom følger appen eller X-drip der kører i følger tilstand) tillader dig at følge nogle parametre (f.eks blodsukker eller sensor værdier), men bruger forskellige algoritmer, så de kan have ukorrekte IOB eller COB værdier. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Insulinfølsomhedsfaktor (ISF) - En forhøjelse af ISF-værdierne vil føre til mere insulintilførsel for at dække en bestemt mængde kulhydrater. - Reduktion af ISF-værdier fører til mere insulintilførsel for at korrigere for et højt blodsukker. - Forhøjelse eller sænkning af ISF har ingen effekt på insulinlevering, når blodsukker er under målet. - Ændring af ISF-værdien i din profil er nok til at anvende ændringen. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Du kan bruge mere end en værdi for I:C forholdet i din profil. - Hvis du ændrer din ISF i din profil, bør du også altid ændre dit I:C-forhold. - Insulin til kulhydratforhold (I:C ratio) - Højere I:C-forhold fører til mindre insulin, der leveres til en given mængde af kulhydrater. - Lavere I:C-forhold fører til mindre insulin, der leveres til en given mængde af kulhydrater. - Hvis du har 0 COB, vil en ændring af I:C-forholdet føre til en anden mængde af insulin for at rette en given BS-værdi. - IC vil være anderledes, hvis du tæller brød (udvekslingsenhed) som 10g eller 12g. - IC betydning er: Hvor mange brød (udveksling) enheder er dækket af 1 enhed insulin. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profilskift - Når du angiver et 90% profilskift, hvilke svar er sandt? - Basalrater vil være 10% lavere. - ISF vil være 10% højere. - Værdien af I:C forholdet vil være et 10% lavere tal. - ISF og I:C-forhold vil være uændret. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profilskift - Når du angiver et 120% profilskift, hvilke svar er så sandt? - Blodsukkermålet vil være 20% højere. - Basalrater vil være 20% højere. - Blodsukkermålet vil være uændret. - ISF vil være 20% højere. - Profilskift - Start et profilskift med et tidsskift på 2 - Start et profilskift med et tidsskift på -2 - Sæt et \"Spiser snart\" midlertidlig blodsukkermål. - Lav et profilskift der skifter til mere end 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Ændringer til profiler - Basal rater, ISF, I:C ratioer, mv. skal indstilles i profiler. - Redigering af profiler til ændring af værdier er tilstrækkelig til at foretage ændringer. - Der kan oprettes flere profiler og vælges for at tilpasse skiftende omstændigheder (f.eks. hormonelle ændringer, skiftende arbejde, hverdage / weekend livsstil). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Hjælp til basal rater - Hvor skal man gå til, for hjælp til basalrater etc. - Dit diabetes team - Google - Facebook - Anden medicin. Læs sætningen nedenfor, og afkryds derefter afkrydsningsfeltet for at godkende erklæringen. - + diff --git a/app/src/main/res/values-da-rDK/objectives.xml b/app/src/main/res/values-da-rDK/objectives.xml index 8a89bd3fd4..3ea04e700d 100644 --- a/app/src/main/res/values-da-rDK/objectives.xml +++ b/app/src/main/res/values-da-rDK/objectives.xml @@ -1,53 +1,2 @@ - - Start - Bekræft - %1$d. Læringsmål - Mål %1$d ikke startet - Mål %1$d ikke startet - Opsætning af visualisering samt overvågning og analyse af basaler og forhold - Kontroller, at BG er tilgængelig i Nightscout, og pumpens insulin data bliver uploadet - Starter på et åbent loop - Kør i Open Loop mode i et par dage og aktiver manuelt masser af midlertidige basaler. Opsæt og brug midlertidige mål og standard midlertidige mål (f.eks. for aktivitet eller hypo behandling) - Forstå dit åbne loop, herunder dens midlertidige basal anbefalinger - Baseret på denne erfaring, beslut hvad max basal skal være og indstil det både på pumpen og i indstillinger - Begynde at bruge lukket loop med lav glukose suspendering - Kør i lukket loop med max IOB = 0 i et par dage uden for mange LGS-begivenheder - Tuning af lukket loop, hæv max IOB over 0 og sænk gradvist BG målet - Kør i et par dage, og mindst én nat uden lave BG alarmer, før du sætter målet for BG ned - Justér om nødvendigt basaler og forhold og aktivér derefter auto-sens - 1 uges vellykket looping i dagtimerne med alle måltider tastet ind - Aktivering af yderligere funktioner til brug i dagtimerne, såsom SMB - Aktiverer automatisering - Du skal læse wikien og hæve maxIOB for at få SMB\'er til at fungere fint! En god start er maxIOB=gennemsnitlig måltidsbolus + 3 x max daglig basal - Læs dokumentationen om hvordan automatisering virker. Opsæt dine første enkle regler. I stedet for handling lad kun AAPS vise notifikation. Når du er sikker på, at automatisering udløses på det rigtige tidspunkt, skal du erstatte notifikationen med reel handling. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - BG tilgængelig i NS - Pumpestatus tilgængelig i NS - Manuelle handlinger - Udført: %1$s - Indstil profil til 90% i 10 min (Tryk og hold på profilnavn i Oversigt) - Simulér brusebad. Afbryd pumpen i 1t (Tryk og hold på Open Loop) - ... og genforbind på samme måde - Opret brugerdefinerede midlertidige mål med 10 min varighed (Tryk og hold på dit nuværende mål) - I Konfigurations bygger, aktivér Handlings plugin, gør det synligt og vis dets indhold fra top menuen - Vis indhold af Loop plugin - Brug skala-funktion ved at trykke på BG-diagrammet længe - Indtast - Hvis du har mindst 3 måneders lukket loop erfaring med andre systemer, kan du kvalificere dig til en kode til at springe quizen over. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for detaljer. - Kode accepteret - Kode ugyldig - Bevis din viden - Undersøg spørgsmålene. Du får fire mulige svar på hvert spørgsmål. Der kan være mere end et korrekt svar. Tjek alle dem, der er korrekte, og vælg GODKEND. - Svar deaktiveret indtil: %1$s - Forkert svar! - Næste uafsluttede - Anmod om kode: %1$s - (tjek alle de korrekte svar) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Ingen forbindelse til internettet - Tid kunne ikke hentes - Quiz krav ikke opfyldt - + diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index baeb20ed39..8cc7d6d551 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -3,87 +3,44 @@ - Behandlings sikkerhed - Maks tilladt bolus [IE] - Maks tilladte kulhydrater [g] - BS under værdi for LGS grænse %1$s indstillinger Indstillinger Opdater behandlinger fra NS Nulstil databaser Er du sikker på, at du vil nulstille databaserne? Afslut - Nogle knapper til hurtigt at få adgang til almindelige funktioner Bruges til at konfigurere de aktive plugins - Oplæringsprogram Aktiver eller deaktiver implementeringen som aktiverer Loop. - Synkroniserer dine data med NightScout - Status for algoritmen i 2017 - Seneste algoritme for avancerede brugere - Seneste algoritme for avancerede brugere med dynamisk/automatisk ISF Viser den aktuelle tilstand af dit loop og knapper til de mest almindelige handlinger Viser en løbende notifikation med en kort oversigt over, hvad dit loop gør - Pumpeintegration til pumper, som endnu ikke har nogen driver (Åbent Loop) Sensitiviteten er beregnet på samme måde som Oref0, men du kan angive tidsramme for fortiden. Minimal optagelse af kulhydrater beregnes fra maks. kulhydrat optagelse fra præferencer. Sensitiviteten beregnes fra 8t-eller 24t-data i fortiden (Ved hjælp af den der er mest sensitiv). Kulhydrater (hvis ikke optaget) er opdelt, efter den tid der er angivet i Indstillinger. Pluginnet beregner også UAM. Sensitiviteten er beregnet som et vægtet gennemsnit fra afvigelser. Nyere afvigelser har større vægt. Minimal kulhydratoptagelse beregnes fra maks. kulhydrats optagelsestid fra Indstillinger. Denne algoritme er den hurtigste til at følge følsomhedsændringer. - Modtag BG værdier fra den patchede Eversense app. - Modtag BG-værdier fra Glimp. - Modtag BG-værdier fra 600SeriesAndroidUploader. - Downloader BG data fra Nightscout - Modtag BG-værdier fra xDrip+. Gemmer alle behandlinger, der er foretaget - Kør nu - VIRTUEL PUMPE - Sidst kørt - Input parametre - Glukose status - Nuværende Midlertidig Basal - IOB data - Profil - Måltids data - Resultat - Resultat: %1$s %2$s - Ingen glukosedata tilgængelig - Anmod Delta Konfigurations bygger Overblik Behandlinger - Virtuel pumpe Pumpe Profil APS Hvilken APS algoritme skal foretage terapi justeringer? Generelt Disse er nogle generelle tilføjelser, som du måske kan finde nyttige. + Synkronisering Hvilke begrænsninger er anvendt? - Begrænsninger Loop APS Efter bearbejdede begrænsninger Midlertidig basal sat af pumpe INGEN APS VALGT ELLER GIVET RESULTAT - Sikkerhed - Plugin deaktiveret Begrænsninger overtrådt - Acceptér ny midlertidig basal: Skift dit input! BG kilde - xDrip+ - APS Tilstand - Lukket Loop - Åben Loop - Lav glukose suspendering Nyt forslag tilgængeligt Kulhydrat Forslag - Ikke understøttet version af Nightscout - Kulhydrat tid Profil - Midlertidig basal - Forlænget bolus Nightscout version: - Mangler %1$d g Præferencer eksporteret Brugerindtastninger exporteret Eksporter indstillinger til @@ -92,12 +49,7 @@ Filen blev ikke fundet Eksporter indstillinger Importer indstillinger - Maks. E/t en midlertidig Basal kan angives til - Denne værdi kaldes maks. basal i OpenAPS kontekst - Maksimum basal IOB OpenAPS kan levere [U] - Denne værdi kaldes for Maks IOB i OpenAPS-kontekst\nDette er Maksimal-insulin i [U] APS kan levere på én gang. Du bliver bedt om hovedadgangskode, som vil blive brugt til at kryptere eksporterede præferencer. - Du vil blive bedt om hovedadgangskode, som er nødvendig for at dekryptere importerede præferencer. Eksport annulleret! Indstillinger er IKKE eksporteret! Import er annulleret! Præferencer er IKKE importeret! Kan ikke importere præferencer! @@ -117,7 +69,6 @@ JEG FORSTÅR OG ER ENIG Gem Genindlæs profil - Lynguide Indstillinger for lynguide Knap tekst: Kulhydrater: @@ -125,16 +76,9 @@ Tilføj Rediger Korrektion - Handlinger (FARLIG AT DEAKTIVERE) Kun NS upload Kun NS upload (Synkronisering deaktiveret). Ikke effektiv på SVG medmindre en lokal kilde såsom xDrip+ er valgt. Ikke effektiv på profiler når NS-Profil bliver brugt.\n!!! ADVSRSEL !!! Deaktivering af denne indstilling kan forårsage funktionsfejl og overdosis af insulin hvis nogle af dine komponenter (AAPS, NS xDrip+) er konfigureret forkert. Kig nøje efter om data fra AAPS matcher pumpens tilstand! Pumpe er ikke initialiseret! - Prime / Fyld - Sørg for, at mængden svarer til specifikationen på dit infusionssæt! - Fyld / Klargør standard insulinmængder - Knap 1 - Knap 2 - Knap 3 Enheder Område for Visualisering Højeste og laveste værdi for diagrammerne i Oversigt og Smartwatch @@ -143,108 +87,22 @@ Ur Send alle data igen Åbn indstillinger på ur - Basalrate - MM640g Igangværende Notifikation GAMLE DATA - OpenAPS AMA - Række af %1$d elementer.\nFaktisk værdi: - Autosens data - Script fejlfinding - Brug Autosens funktion - AKT KONF LOOP - OAPS - DynISF HJEM - VPUMPE BEHANDL - OBJ UR Forkort titel - Brug altid kort gennemsnitlig delta i stedet for simpel delta - Nyttigt, når data fra ufiltrerede kilder som xDrip bliver støjende. - Standardværdi: 3 Dette er en vigtig OpenAPS sikkerhedsforanstaltning. Hvad dette gør, er at begrænse dine basaler til at være 3x din største basal rate. Du vil sandsynligvis ikke være nødt til at ændre dette, men du skal være opmærksom på, at det er hvad der er omtalt som “3x max dagligt; 4x aktuel” i sikkerhedsforanstaltningerne. - Standardværdi: 4 Dette er den anden halvdel af de vigtigste OpenAPS-sikkerhedsforanstaltninger, og den anden halvdel af \"3x maks. daglig, 4x aktuel\" i sikkerhedsforanstaltningerme. Det betyder, at din basal, uanset maks. basalrate på din pumpe, ikke kan være højere end dette antal gange det aktuelle niveau af din basal. Det er for at forhindre folk i at komme ind på et farligt område ved at opstille for høje maks basaler, før man forstår, hvordan algoritmen fungerer. Igen er standardværdien 4x; de fleste mennesker behøver aldrig at rette dette og i stedet være mere tilbøjelige til at tilpasse andre indstillinger, hvis de føler, at de er \"ved at løbe ind i\" denne sikkerhedsforanstaltning. - Standardværdi: 1.2\nDette er en multiplikator top for autosens (og snart autotune) for at angive en 20%% maks. grænse for, hvor høj autosens kan være, hvilket til gengæld bestemmer, hvor høj autosens kan tilpasse sig, hvor lav den kan justere ISF, og hvor lav den kan angive BG-målet. - Standardværdi: 0,7\nDen anden side af autosens sikkerhedsgrænser, idet den sætter en begrænsning på, hvor lavt autosen kan justere basalerne, og hvor høj den kan justere ISF-og BG-målene. - Autosens justerer også mål - Standardværdi: sandt\nDette bruges til at tillade autosens at justere BG mål, ud over ISF og basaler. - Standardværdi: 2\nBolus snooze starter efter du har lavet et måltid bolus, så loop ikke modvirker lave midlertidige mål, når du lige har spist. Eksemplet her og standard er 2; så en 3 timers DIA betyder, at bolus snooze gradvist udfases over 1,5 timer (3DIA/2). - Standardværdi: 3.0 (AMA) eller 8.0 (SMB). Dette er en indstilling for standardindvirkningen af kulhydrater pr. 5 minutter. Standardværdien er en forventet 3mg/dl/5min. Det påvirker, hvor hurtigt COB er faldet, og hvor meget kulhydrat absorbering forudsættes ved beregning af forudsagt BG, når BG falder mere end forventet, eller ikke stiger så meget som forventet. - Bemærk!\nNormalt behøver du ikke at ændre disse værdier nedenfor. KLIK HER og LÆS teksten og sørg for at du FORSTÅR den, før du ændrer nogen af disse. - Udfører - Indstillinger for virtuel pumpe - Upload status til NS - NSClient - NSCI - URL: - Autoscroll - Genstart - NSClient - Nightscout URL - Indtast dit Nightscout URL - NS API secret - NS API secret - Indtast NS API secret (min 12 tegn) - Afgiver nu - Ryd kø - Vis kø - Kø: - Status: - Ryd log - NSCLIENT har ingen skrivetilladelse. Forkert API-secret? Indstillinger for Wear mislykkedes - tjek venligst telefonen - Patienttype - Barn - Teeanger - Voksen - Insulinresistent voksen - Graviditet - Vælg venligst patienttype til opsætning af sikkerhedsgrænser Patientens navn Angiv venligst patientnavn eller kaldenavn for at skelne mellem flere opsætninger - Glimp - Suspendér loop i 1t - Suspendér loop i 2t - Suspendér loop i 3t - Suspendér loop i 10t - Afbryd pumpe - Afbryd pumpen i 15 min - Afbryd pumpen i 30 min - Afbryd pumpen i 1 time - Afbryd pumpen i 2 timer - Afbryd pumpen i 3 timer - 15 minutter - 30 minutter - 1 time - 2 timer - 3 timer - 10 timer - Genoptag - Genforbind Pumpe - Log app-start til NS Afslutter applikationen for at anvende indstillinger. Hvilken type insulin bruger du? Aktiver superbolus i guiden Aktiver superbolus funktionalitet i guiden. Aktiver ikke før du har lært, hvad det virkelig gør. DET KAN FORÅRSAGE INSULIN OVERDOSERING HVIS BRUGT I BLINDE! - Vis statuslys på startskærm - Grænseværdi for advarsel på indstik alder [h] - Grænseværdi for kritisk kanyle-alder [h] - Grænseværdi for insulin-alder [h] - Grænseværdi for kritisk insulin-alder [h] - Grænseværdi advarsel for sensoralder [h] - Grænseværdi for kritisk sensoralder [h] - Grænseværdi advarsel sensor batteriniveau [%] - Grænseværdi kritisk sensor batteriniveau [%] - Grænseværdi for advarsel på pumpens batterialder [h] - Grænseværdi for kritisk advarsel på batterialder [h] - Grænseværdi for advarsel på reservoirniveau [U] - Grænseværdi for kritisk reservoirniveau [U] - Grænseværdi for advarsel på pumpens batteri [%] - Grænseværdi for kritisk advarsel på batteri [%] PROGN BAS AFV @@ -254,18 +112,12 @@ AFVHÆL Om Manglende telefonstatus tilladelse - Annuller Forlænget Bolus Skift profil - Sensor - Insulin - Pumpe batteri - alder: - niveau: - Indstillinger for alarm + Indstillinger for alarm Opret notifikationer fra NS-alarmer Opret notifikationer fra NS-meddelelser - Forældet data grænse [min] - Akut forældet data grænse [min] + Forældet data grænse [min] + Akut forældet data grænse [min] Interval for autosens [h] Antal af tidligere timer for sensitivitets opdagelse (Kulhydraters abosorberingstid er ekskluderet) OpenAPS @@ -278,26 +130,13 @@ Indstillinger for absorbering Måltid max absorptionstid [h] Tid i timer, hvor det forventes at alle kulhydrater fra måltidet vil blive absorberet - OAPS - UPLD Hold skærmen tændt Forhindrer Android i at slukke for skærmen. Det vil forbruge meget energi, når den ikke er tilsluttet stikkontakt. Ved at slå funktionen Autosense til husk at indtaste alle spiste kulhydrater. Ellers vil kulhydrat afvigelser blive identificeret forkert som følsomheds ændring !! Følsomhed Vægtet Gennemsnit Ikke alle profiler er indlæst! Værdier ikke gemt! - Aktiver lokale udsendelser. - OpenAPS SMB - Dynamisk ISF - DynamiskISF-justeringsfaktor % - Justeringsfaktor for DynamiskISF. Indstil mere end 100% for mere aggressive korrektionsdoser og mindre end 100% for mindre aggressive korrektioner. - Aktiver UAM - Aktiver SMB - Brug Super Mikro Boluser i stedet for midlertidig basal for hurtigere handling - Detektering af uanmeldte måltider UGYLDIG - Procent - Tidsskift Standard Midlertidige mål spiser snart varighed spiser snart mål @@ -305,33 +144,16 @@ aktivitet mål hypo varighed hypo-mål - Genbrug %1$d%% %2$dt Kontrolleringer fra Ur Sæt midlertidige mål og indtast behandlinger fra uret. - Brug systemnotifikationer til advarsler og notifikationer Gradvis øg lydstyrken for advarsler og meddelelser Lokale advarsler Alarmér, hvis der ikke modtages BS-data Advarsel, hvis pumpen er utilgængelig Pumpe utilgængelig tærskelværdi [min] Advarsel, hvis kulhydrater er påkrævet - Akut alarm - INFO - Eversense App (patched) - Upload BG data til NS - BS upload indstillinger Vis detaljeret data Vis delta med en decimal plads mere - Hvor ofte vil der blive givet SMB\'er i min - Max minutter af basal at begrænse SMB til - UAM SMB maks minutter - Maks antal minutter af basal at begrænse SMB til UAM - Minimum kulhydrater påkrævet for forslag - Minimum gram kulhydrater til at vise kulhydrat forslags advarsel. Kulhydrat forslag under dette tal vil ikke udløse en notifikaton. - Seng BS data til xDrip+ - I xDrip+ vælg 640g/Eversense datakilde - NSClient BS - NS BS BS beregning Bolus IOB beregning Basal IOB beregning @@ -342,41 +164,17 @@ COB beregning Midlertidig mål beregning Beregning i % - Loop aktiveret - APS valgt - NSClient har skrivetilladelse - Lukket tilstand aktiveret - Maksimal IOB sat korrekt - BS tilgængelig fra valgte kilde - Forlænget bolus leveringsfejl - Aktiver SMB altid - Aktiver SMB altid uafhængig af bolusser. Kun muligt med BS kilde, der har god filtrering af data såsom G5 - Aktiver SMB efter kulhydrater - Aktiver SMB i 6 timer efter kulhydrater, selv med 0 COB. Kun muligt med BS kilde, der har god filtrering af data såsom G5 - Aktiver SMB med COB - Aktiver SMB når der er COB aktiv. - Aktiver SMB med midlertidige mål - Aktiver SMB når der er midlertidig mål aktivt (Spiser snart, motion) - Aktiver SMB med høje midlertidige mål - Aktiver SMB når der er et høj midlertidig mål aktivt (motion, over 100mg/dl eller 5.5mmol/l) - Insulin Knapper Sender en kalibrering til xDrip+ eller åbner BYODA kalibreringsmenu Åbner xDrip + eller BYODA, tilbage-knappen returnerer til AAPS Antal kulhydrater der skal tilføjes når der trykkes på knappen Mængde insulin der skal tilføjes når der trykkes på knappen Kunne ikke starte CGM applikationen. Kontroller at den er installeret. - CGM Ignorér 5m Ignorér 15m Ignorér 30m - Historik browser Giv besked ved SMB Vis SMB på uret som en standard bolus. - Opret annonceringer fra fejl - Opret meddelelser fra kulhydrat krævet advarsler - Opret Nightscout meddelelse for fejldialoger og lokale advarsler (kan også ses i Careportal under Behandlinger) - Opret Nightscout meddelelser fra kulhydrat krævet advarsler Vis forudsigelser på urskiven. Forudsigelser Valg Af Data @@ -384,8 +182,6 @@ Tillad automatisk nedbruds rapportering og funktionsbrug data som sendes til udviklerne via fabric.io tjenesten. Opdater venligst din Dexcom app til understøttet version Dexcom app er ikke installeret. - Ikke bolus, registrer kun - Bolus registreres kun (bliver ikke leveret af pumpe) SMB indstillet af pumpe Aktivitet Blodsukker virkning @@ -394,32 +190,11 @@ Aktive kulhydrater Aktivt insulin Basaler - Kører dev version. Lukket loop er deaktiveret. Engineering mode aktiveret - Pumpe er ikke egnet til midlertidig basal - Lukket loop tilstand deaktiveret i præferencer - Autosens deaktiveret i præferencer - SMB deaktiveret i præferencer - UAM deaktiveret i præferencer - UAM deaktiveret, fordi det er afhængig af Oref1 følsomheds pluginnet - maks basal multiplikator - maks daglig basal multiplikator En bolus blev leveret inden for de sidste 3 minutter, springer SMB over Basal sat korrekt - Begrænser udvidet bolus til %1$.1f IE på grund af %2$s - Begrænser kulhydrater til %1$d g på grund af %2$s - Begrænser IOB til %1$.1f IE på grund af %2$s - max værdi i præferencer - hård grænse - Registrer skift af infusionssæt - Registrer skift af insulinampul - SMB altid og efter kulhydrater deaktiveret, fordi den aktive BS kilde ikke understøtter avanceret filtrering - SMB er ikke tilladt i åben loop mode - Maks IOB OpenAPS ikke kan gå over [U] - Denne værdi kaldes Max IOB i OpenAPS kontekst\nOpenAPS vil ikke tilføje mere insulin, hvis den aktuelle IOB er større end denne værdi Måltid max absorptionstid [h] Tid hvor ethvert måltid betragtes som absorberet. Resterende kulhydrater vil blive afskåret. - BS værdi under hvilken insulin er suspenderet. Standard værdi bruger standard målmodel. Bruger kan indstille værdi mellem 60 mg/dl (3,3 mmol/l) og 100 mg/dl (5,5 mmol/l). Værdier under 65/3,6 resulterer i brug af standardmodel Vis notefelt i behandlingsdialoger Næste Forrige @@ -432,32 +207,16 @@ Anden kulhydratstigning Tredje kulhydratstigning CGM - Brug mobilforbindelse - Brug Wi-Fi-forbindelse - WiFi SSID - Under opladning - På batteri - Indstillinger for forbindelse - Tilladte SSID\'er (semikolon separeret) - Tillad forbindelse i roaming Maks. autosens rate Min. autosens rate - Bolus snooze DIA divisor - Maks daglig basal multiplikator - Nuværende basal sikkerheds multiplikator - Virtuel pumpe type - Pumpe Definition - Bolus: Trin=%1$s\nForlænget Bolus: [Trin=%2$s, Varighed=%3$smin-%4$sh]\nBasal: Trin=%5$s\nTBR: %6$s (by %7$s), Varighed=%8$smin-%9$sh\n%10$s Beregninger inkluderet i guide resultatet: Visningsindstillinger Generelle indstillinger - Aktiver NSClient Velkommen til opsætningsguiden. Den vil guide dig gennem opsætningsprocessen\n Læs status Spring opsætningsguiden over Følsomhedsplugin bruges til detektering af følsomhed og COB beregning. For mere info besøg: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient håndterer forbindelse til Nightscout. Du kan springe denne del over nu, men du vil ikke være i stand til at passere mål, før du har sat den op. Husk: nye insulinprofiler kræver DIA mindst 5 timer. DIA 5-6 timer på ny profil er lig med DIA 3 timer på gamle insulinprofiler. Vælg en fra tilgængelige algoritmer. De er sorteret fra ældste til nyeste. Nyere algoritme er normalt mere kraftfulde og mere aggressive. Så hvis du er ny looper bør du sandsynligvis starte med AMA og ikke med den nyeste. Glem ikke at læse OpenAPS dokumentationen og konfigurere den før brug. Konfigurer venligst din RileyLink nedenfor. Når du har valgt en RileyLink, vil det være muligt at fortsætte opsætningen, når RileyLink-status er \"Tilsluttet\". Dette kan tage et minut.\n @@ -467,19 +226,6 @@ Åbn navigation Luk navigation Plugin indstillinger - Poctech - Modtag BS-værdier fra Poctech app - Glunovo - Modtag værdier fra Glunovo app - Modtag BS-værdier fra Tomato-appen (MiaoMiao enhed) - Høj midlertidig basal øger sensitivitet - = 100]]> - Lav midlertidig basal sænker sensitivitet - - Resistens sænker midlertidige mål - Når der påvises resistens, sænkes målglukosen - Følsomhed hæver midlertidige mål - Når der påvises følsomhed, skal målglukosen hæves Fjern elementer Sortér elementer Gemte indstillinger fundet @@ -494,63 +240,22 @@ Slet logs En behandling (insulin: %1$.2f, kulhydrater: %2$d, kl: %3$s) kunne ikke tilføjes til behandlinger. Tjek og tilføj venligst en note manuelt efter behov. eCarbs: %1$d g (%2$d h), forsinkelse: %3$d m - Ingen tilgængelige autosens data Logfiler Diverse Log indstillinger Nulstil til standardindstillinger - NSClient funktionsfejl. Overvej NS og NSClient genstart. Foretrukket APS-tilstand Send dagens logfiler til udviklere sammen med denne tid. Uventet situation. Minimal anmodningsændring [%] Åben Loop vil kun foreslå ny ændringsanmodning, hvis ændringen er større end denne værdi i %. Standardværdien er 20% == ∑ %1$s IE - Log sensor ændring til NS - Tomato (MiaoMiao) - Tomato - Dit brugernavn til Tidepool, normalt din e-mailadresse - Login Brugernavn - Din Tidepool login adgangskode - Login Adgangskode - Test Tidepool Login - Hvis aktiveret, vil uploads gå til https://int-app.tidepool.org i stedet for den almindelige https://app.tidepool.org/ - Brug Integration (test) servere - Tidepool - TDP - Uploader data til Tidepool - Upload CGM data - Upload behandlinger (insulin, kulhydrater) - Upload midlertidige basaler - Upload profilskift, midlertidige mål - Upload BS test - 2t - BYODA - BYODA - Modtag BS-værdier fra \'Byg din egen Dexcom App\'. - COB vs IOB - Bolus begrænsning anvendt: %1$.2f IE til %2$.2f IE - !!!!! Langsomme kulhydrater opdaget: %2$d%% af tiden. Dobbelttjek din beregning. COB kan overvurderes og der kan således gives mere insulin !!!!!]]> - Afgiv denne del af bolusguidens resultat [%] Bolus guiden udfører beregning, men kun denne del af beregnet insulin leveres. Nyttig med SMB algoritme. - Stigende max basal værdi, fordi indstillingen er lavere end din max basal i profil - Valgt: Enheder - Ryd færdigt - Ryd startet - Vil du nulstille objektiv start? Du kan miste dine fremskridt. Vælg enheder du vil vise værdier i Nedre værdi for målområde (kun visning) Øvre værdi for målområde (kun visning) - Ugyldig angivelse af % - Tilfældigt BS - Generér tilfældige BS-data (kun demotilstand) - BG - Værktøjer - Vis beregning Vis fjernede Ryd køen? Alle data i køen vil gå tabt! - Brug af funktionen til forlænget bolus vil stoppe lukket loop mode i det tidsrum, hvor der køres forlænget bolus. Vil du virkelig gøre det? - Lukket loop deaktiveret på grund af kørsel af forlænget bolus Diagrammenu SMB anmodningstid SMB udførelsestid @@ -563,34 +268,13 @@ Absolut insulin Hovedadgangskode bruges til backup kryptering og til at tilsidesætte sikkerhed i applikationen. Husk det eller gem et sikkert sted. Nuværende hovedadgangskode - Status lys - Kopier indstillinger fra NS - Kopier NS-indstillinger (hvis de findes)? - Original udseende - Lav kvalitets udseende - Knapper vises altid nederst på skærmen - Stort display - Udseende - Sammenlign profiler - Profil hjælper - Standard profil - Nuværende profil - Tilgængelig profil - Profil type - Alder: %1$.0f TDD: %2$.0f IE - Alder: %1$.0f TDD: %2$.0f IE %3$d%% - Alder: %1$.0f Vægt: %2$.0f kg - % af basal - DPV standardprofil RileyLink Status: Kunne ikke oprette profil. Profilen er ugyldig. Luk ikke min app? - Kør alarm når det er tid til at spise Tid til at spise!\nKør Bolus guiden og lav beregning igen. Aktivér boluspåminder Upload af Crash logs deaktiveret! Graf - Diagrammenu Nulstil filter Kanyle Brug værdien af den største mængde mad du plejer at indtage\n @@ -598,48 +282,12 @@ E-mail adresse Indstillinger for privatliv Du kan angive valgfri e-mail-adresse, hvis du ønsker at blive underrettet om app nedbrud. Dette er ikke en automatiseret tjeneste. Du vil blive kontaktet af udviklere i farlige situationer. - Fuld synkronisering - Fuld synkronisering? Det kan tage mange timer, og indtil du er færdig, vil du ikke se nye data i NS. - Synkronisering - Profiler, bolusser, kulhydrater, midlertidige basaler uploades til NS - Upload data til NS - Modtag profil lager - Synkronisér profiler fra NS - Modtag midlertidige mål - Accepter midlertidige mål indtastet gennem NS eller NSClient - Modtag profil skift - Accepter profil skift indtastet gennem NS eller NSClient - Modtag APS offline begivenheder - Accepter APS Offline begivenheder indtastet gennem NS eller NSClient - Modtag TBR og EB - Accepter TBR og EB indtastet gennem en anden instans - Modtag insulin - Accepter insulin via NS eller NSClient (det er ikke afgivet, kun beregnet til IOB) - Modtag kulhydrater - Accepter kulhydrater indtastet gennem NS eller NSClient - Modtag behandlingshændelser - Accepter terapihændelser (Kanyle, insulin, batteriskift osv.), der indtastes gennem NS eller NSClient - Modtag/tilbagefyld CGM-data - Accepter CGM-data fra NS - Kør %s? - Reducer upload hastighed BG data status Fjern BG aflæsninger - Indstik alder - patch pumpe alder - Patch pumpe Identifikation (e-mail, FB eller Discord alias osv.) Identifikation ikke indstillet i udvikler-tilstand dialog - nuværende blodglukose - korrekt resultat med % - korrekt resultat med enheder Ikke tilgængelig - graf - blodglukose kvalitet - insulin - blodglucose - forældet Midlertidigmål ukendt forudindstilling: %1$s Annullér aktuelt midlertidig mål? @@ -654,22 +302,6 @@ Guide:\nInsulin: %1$.2fE\nKH: %2$dg Vis post på enhed: Valgt guide er ikke længere tilgængeligt. Opdater venligst din widget - Ingen nylig BG til at basere beregningen på! - Ingen aktiv profil angivet! - Ukendt COB! BG læsning mangler eller nylig app genstart? - KH begrænsninger overtrådt! - Beregner (IC: %1$.1f, ISF: %2$.1f) - Kulhydrater: %1$.2fE - COB: %1$.0fg %2$.2fE - BS: %1$.2fE - IOB: %1$.2fE - Superbolus: %1$.2fE - 15\' trend: %1$.2fE - Procent: %1$.2fE x %2$d%% ≈ %3$.2fE - Overtrædelse af insulinbegrænsning!\nKan ikke levere %1$.2fE - Midl: %1$s - %1$s til %2$s - Ingen pumpe tilgængelig! Ukendt kommando: Procentdel Program standard @@ -678,13 +310,7 @@ Sortér Loop status Graf skala - Profil 1 - Profil 2 - Log ind - Fjern alle - Nulstil start Åbn indstillinger - indstil KH alarm Alle Telefon Ur @@ -692,11 +318,5 @@ kun på telefon træk og slip håndtering Søg - - GlucoRx Aidex - Aidex - Modtag BG-værdier fra GlucoRx Aidex CGMS. - Blokeret af opladningsmuligheder - Blokeret af forbindelsesmuligheder (Intet ur forbundet) diff --git a/app/src/main/res/values-de-rDE/exam.xml b/app/src/main/res/values-de-rDE/exam.xml index ec59f6690d..3ea04e700d 100644 --- a/app/src/main/res/values-de-rDE/exam.xml +++ b/app/src/main/res/values-de-rDE/exam.xml @@ -1,195 +1,2 @@ - - Welche Aussagen zum DIA stimmen? - Insulinwirkdauer (DIA) - Definiere den DIA-Wert in Deinem Profil. - Der minimal zulässige Wert ist 5 Stunden. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#insulin - Du solltest den für dich geeigneten DIA selbst festlegen. - Temporäres Ziel für Hypos - Was ist der Hauptgrund, ein Temporäres Ziel für Hypos zu setzen? - Zur Korrektur von Hypos, die durch falsche Basalrateneinstellungen verursacht wurden. - Um eine Hypo zu korrigieren, die durch Bewegung / Sport entstanden ist. - Um ein Absinken des Blutzuckers zu verhindern, wenn bereits eine temporäre Basalrate von 0 % läuft. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html - Welches Profil kann offline verwendet und konfiguriert werden? - Thema: Offline-Profil - NS-Profil kann verwendet, aber nicht konfiguriert werden. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#profil - Was sollte getan werden, wenn die Pumpe getrennt wird? - Nichts, da kein Insulin abgegeben wird, wenn die Pumpe physisch getrennt ist. - Unterbricht die Insulinzufuhr nicht, wenn die Pumpe physikalisch verbunden bleibt. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#andere-einstellungen - Welches ist die empfohlene Vorgehensweise, um ein Backup Deiner Einstellungen zu erstellen? - Du brauchst Deine Einstellungen nicht zu exportieren, sofern Du Dir diese notierst. - Exportiere die Einstellungen nach Abschluss eines Objectives (Ziels). - Exportiere die Einstellungen nach jeder Änderung Deiner Einstellungen. - Exportiere Deine Einstellungen, nachdem Du Deine Ersteinrichtung abgeschlossen und Deine Präferenzen festgelegt hast. - Exportiere Deine Einstellungen lokal über das Wartungs-Menü. - Deine Einstellungsdatei befindet sich im Ordner Internal Storage/AAPS/preferences auf Deinem Smartphone. - Kopieren Deine Einstellungen an einen sicheren Ort außerhalb Deines Telefons (z. durch Verwendung eines Cloud-Laufwerks, Verbindung eines Kabels mit einem Computer, E-Mail, etc.) - Wenn Dein Telefon beschädigt ist oder verloren geht, gibt es einfache Möglichkeiten, Deine Einstellungen ohne Sicherungskopie wiederherzustellen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#was-sollte-ich-fur-den-notfall-immer-dabei-haben - Verrauschte CGM Werte - Was sollte getan werden, wenn CGM-Daten unzuverlässig werden? - Deaktiviere den Loop, um mögliche Über- oder Unterdosierungen zu verhindern. - Ersetze dauerhaft verrauschte oder ungenaue Sensoren. - Vergewissere Dich, dass Deine CGM App geglättete Daten liefert. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html - Sport und Profile - Wie kannst Du Profile verwenden, um das System am besten beim Umgang mit sportlichen Aktivitäten zu unterstützen? - Mache einen Profilwechsel auf unter 100%. - Mache einen Profilwechsel auf über 100% - Belasse das Profil auf 100%. - Stoppe den Loop. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html#aktivitaten-temp-target - Sport und temporäre Ziele - Wie kannst Du temporäre Ziele verwenden, um das System am besten beim Umgang mit sportlichen Aktivitäten zu unterstützen? - Setze ein Aktivitätsblutzuckerziel, welches angemessene Zeit vor dem Sport beginnt. - Richte nach dem Training ein Aktivitätsblutzuckerziel ein. - Lasse Dein Blutzuckerziel unverändert. - Warte, bis die Blutglukose unter das temporäre Hypoziel abfällt und esse dann 15 g schnell wirkende Kohlenhydrate. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html#aktivitaten-temp-target - Deaktiviere/Pausiere den Loop - Bekomme ich Insulin, wenn der Loop deaktiviert/pausiert ist? - Ja, Basalinsulin wird weiter abgegeben. - Nein, die Insulinabgabe ist gestoppt. - Basal-, ISF-und I:C-Tests - Wann sollten diese Werte überprüft werden? - Bevor ich beginne zu loopen. - Bei häufig hohen oder niedrigen Blutzuckerwerten. - Mindestens einmal pro Woche. - Einmal gesetzt und überprüft, sollten sich diese Werte im Laufe der Zeit nicht ändern. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#androidaps-einstellungen - Voraussetzungen - Überprüfe die Profil-Einstellungen (Basal, IC, ISF, DIA). - Ein Computer mit installiertem und konfiguriertem Android Studio. - Ein unterstütztes Smartphone. - Eine kompatible Insulinpumpe, wenn Du einen Closed Loop planst. - Nightscout, um ein Protokoll aller Daten zu erhalten und Einstellungen zu überprüfen. - Ein Tidepool-Konto. - Ein Google-Konto. - Ein Github-Konto. - Erfahrung im Programmieren oder Bearbeiten von Codes. - Eine Medtronic 670G Insulinpumpe. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html - Eine Smartwatch. - Ein unterstütztes CGM. - Voraussetzungen - Überprüfte und belastbare Profileinstellungen (ISF, I:C Verhältnis, Basalraten, DIA etc.). - Ein kompatibles Android-Gerät (z.B. Handy, Android-Uhr oder Tablet). - Ein unterstütztes CGM und eine passende App, um Blutzuckerwerte auf dem Gerät zu erhalten. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html - Kreuze alle richtigen Antworten an. - Du musst Git auf Deinem Computer installiert und konfiguriert haben. - Du solltest den Speicherort des Keystores speichern und immer den gleichen Signaturschlüssel für Updates verwenden wie für die vorherige Installation. - Nie updaten, wenn das System stabil läuft. - Wenn Du Schwierigkeiten beim Erstellen der apk hast, kannst Du eine apk installieren, die von einem Freund erstellt wurde. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Update-to-new-version.html - Problembehandlung - Du solltest Deine Diabetesklinik / Deinen Diabetologen fragen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Update-to-new-version.html#problembehandlung - https://www.facebook.com/groups/loopedDE/ - https://discord.gg/4fQUWHZ4Mw - Insulin-Plugins - Welches Insulin kann mit dem Ultra-Rapid-Oref-Plugin verwendet werden? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"normales\" Humaninsulin - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#insulin - Empfindlichkeits-Plugins - Kreuze alle richtigen Antworten an. - Sensitivitäts-Plugins liefern dem Benutzer Vorschläge für Änderungen an Basalraten, I:C-Verhältnissen und ISF, die zur Bearbeitung des Profils verwendet werden können. - Das Protokollieren eines Kanülenwechsels setzt das Autosens Verhältnis wieder auf 100% zurück. - Einige der Plugin-Optionen haben konfigurierbare Zeiträume, die vom Benutzer eingestellt werden können. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/de/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Fehler bei der KH-Eingabe - Was sollst Du tun, wenn Du einen falschen KH-Eintrag gemacht hast? - Lösche die falsche Eingabe in der Behandlung und gib den richtigen neuen Kohlehydratwert ein. - Nutze den Befehl zum Befüllen des Infusionssets für einen Bolus. - Bolus mit Insulin mit dem Insulin-Button in der Übersicht. - Fehler bei Insulinabgabe/Eintrag - Wie solltest Du vorgehen, wenn Du weniger Insulin im Körper hast als in der Pumpenhistorie vermerkt - z.B. durch eine Verstopfung, Kanülenfehler oder eine nach dem Duschen nicht wieder angekoppelte Pumpe? - Lösche Insulindaten im Nightscout careportal, um sie aus der Pumpenhistorie zu entfernen. - Gib einen Teil-Bolus des \'nicht erhaltenen\' Insulins mit Spritze / Pen oder durch Befüllen der Kanüle. - KH an Board (COB) - Wie beeinflusst das Ändern des ISF-Wertes die COB-Berechnung? - Steigende ISF absorbiert Kohlenhydrate länger - Steigende ISF absorbiert Kohlenhydrate kürzer - Steigende ISF verändert die Dauer für die Kohlenhydrataufnahme nicht - Wie beeinflusst das Ändern des ISF-Wertes die COB-Berechnung? - Steigende IC absorbiert Kohlenhydrate länger - Steigende IC absorbiert Kohlenhydrate kürzer - Steigende IC verändert die Zeit für die Kohlenhydrataufnahme nicht - Wie beeinflusst die Änderung des Profil-Prozentsatzes die COB-Berechnung? - Die Einstellung des Profils auf 150% verlängert die Zeit für Kohlenhydrataufnahme - Die Einstellung des Profils auf 150% verkürzt die Zeit für Kohlenhydrataufnahme - Die Einstellung des Profils auf 150% verändert die Zeit für die Kohlenhydrataufnahme nicht - Aktives Insulin (IOB) - IOB wird von den abgegebenen temporären Basalraten beeinflusst. - Eine hohe temporäre Basalrate wird nicht abgegeben, wenn der BZ unterhalb des Zielwerts liegt. - Ein negativer IOB über einen längeren Zeitraum bei fehlender Bewegung deutet darauf hin, dass Dein Profil zu stark ist und weniger Insulin in Deinen Einstellungen benötigt wird. - Ein positiver IOB über einen längeren Zeitraum deutet auf eine Insulinresistenz oder unangekündigte Mahlzeiten hin. - Kohlenhydrat-Eingaben und Boli - Zur Abschätzung und Eingabe von Kohlenhydraten sollten nur Gramm als Einheit verwendet werden. - Aufgenommene Kohlenhydrate können in einem geeigneten Austauschformat (z.B. Broteinheiten oder DAFNE \"CHO\" exchanges) eingegeben werden. - Wenn die Blutzuckerwerte außerhalb der akzeptablen Werte liegen (zu niedrig oder zu hoch), kann der Bolusrechner verwendet werden, um Vorschläge für Kohlenhydrat- oder Insulinkorrekturen zu machen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#insulin-kohlenhydrat-verhaltnis-insulin-to-carb-ratio-ic-g-u - E-carbs - Wofür können E-Carbs (\"verlängerte Kohlenhydrate\") verwendet werden? - Zum Einplanen von Kohlenhydraten in der Zukunft, meist über ein Intervall verteilt (ähnlich wie bei einem verlängerten Bolus, der Insulin über ein Intervall verteilt). - Für die Protokollierung von Hypo-BEs bei der Behandlung niedriger Werte. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Extended-Carbs.html - Kontrolle aus der Ferne - Andere Apps (z. B. Dexcom Follow, xDrip+ im Follow-Modus) ermöglichen es, einige Parameter (z. B. Blutzucker-/Sensorwerte) aus der Ferne zu verfolgen, verwenden jedoch andere Algorithmen und können daher ungenaue IOB- oder COB-Werte aufweisen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Children/Children.html - Insulinsensibilitätsfaktor (ISF) - Eine Erhöhung der ISF-Werte führt zu einer höheren Insulinabgabe, um eine bestimmte Menge an Kohlenhydraten abzudecken. - Reduzierte ISF-Werte führen zu einer höheren Insulinabgabe zur Korrektur eines über dem Zielwert liegenden Blutzuckers. - Das Erhöhen oder Senken des ISF hat keinen Einfluss auf die Insulinabgabe, wenn der Blutzuckerspiegel unter dem Zielwert liegt. - Wenn Du einen ISF-Wert im Profil änderst, wird dies sofort vom Loop berücksichtigt. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#korrekturfaktor-isf-mg-dl-ie-oder-mmol-l-ie - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html - Du kannst mehr als einen Wert für das I:C-Verhältnis in Deinem Profil verwenden. - Wenn Du den ISF in Deinem Profil änderst, solltest Du immer auch Dein I:C-Verhältnis anpassen. - Insulin zu Kohlenhydratverhältnis (I:C-Verhältnis) - Ein höheres I:C-Verhältnis bedeutet, dass weniger Insulin für die vorgegebene Menge an KH abgegeben wird. - Ein niedrigeres I:C-Verhältnis bedeutet, dass weniger Insulin für die vorgegebene Menge an KH abgegeben wird. - Das Ändern des IC-Verhältnisses bedeutet, dass bei 0 COB eine andere Menge an Insulin zur Korrektur eines vorgegebenen BZ-Wertes abgegeben wird. - Der IC-Wert wird sich unterscheiden, je nachdem, ob Du eine Broteinheit (BE) mit 10g oder mit 12g berechnest. - IC bedeutet: Anzahl BE, die durch eine Einheit Insulin abgedeckt werden - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#kh-faktor-carbohydrate-to-insulin-ratio-cr-g-ie - Profilwechsel - Welche Antworten sind bei der Einstellung eines Profilwechsels von 90% wahr? - Die Basalrate ist um 10 % niedriger. - ISF wird um 10% höher sein. - Der Wert für das Verhältnis I:C wird um 10% niedriger sein. - ISF-und I:C-Werte werden unverändert bleiben. - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html#prozentsatz - Profilwechsel - Welche Antworten sind bei der Einstellung eines Profilwechsels von 120% wahr? - Das Blutzuckerziel wird um 20 % höher sein. - Die Basalrate wird um 20 % höher sein. - Das Blutzuckerziel wird unverändert sein. - ISF wird um 20% höher sein. - Profilwechsel - Profilwechsel mit einer Zeitverschiebung von +2 - Profilwechsel mit einer Zeitverschiebung von -2 - Setze ein temporäres Ziel \"bald essen\". - Mache einen Profilwechsel auf über 100% - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html#zeitverschiebung - Änderungen an Profilen - Basalraten, ISF, I:C-Verhältnisse, etc., sollten in Profilen gesetzt werden. - Das Bearbeiten von Profilen zur Änderung von Werten reicht aus, um alle vorgenommenen Änderungen durchzuführen. - Es können mehrere Profile erstellt und ausgewählt werden, um sich verändernden Umständen anzupassen (z.B. hormonelle Veränderungen, Schichtarbeit, Wochentage/Wochenend-Lebensstil). - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html#gute-individuelle-profileinstellungen-fur-deine-diabetes-therapie - Hilfe bei Basalraten - An wen solltest Du Dich wenden, wenn Du Unterstützung zur Einstellung Deiner Basalrate etc. brauchst? - Dein Diabetes-Team - Google - Facebook - Andere Medikation. Bitte lies die Erklärung unten und markiere dann das Kästchen, um die Erklärung zu akzeptieren. - + diff --git a/app/src/main/res/values-de-rDE/objectives.xml b/app/src/main/res/values-de-rDE/objectives.xml index 3c2fbc07f7..3ea04e700d 100644 --- a/app/src/main/res/values-de-rDE/objectives.xml +++ b/app/src/main/res/values-de-rDE/objectives.xml @@ -1,54 +1,2 @@ - - Start - Bestätigen - %1$d. Objective (Ziel) - Objective %1$d nicht begonnen - Objective %1$d nicht abgeschlossen - Einrichten der Anzeige und Überwachung sowie Analysieren der Basalraten und Faktoren - Prüfe, ob der BZ-Wert in Nightscout angezeigt wird und die - Pumpen-Insulin-Daten erfolgreich hochgeladen werden - Beginne im Open Loop Modus - Probiere den Open Loop Modus für ein paar Tage aus und setze manuell ganz viele temporäre Basalraten. Richte temporäre Ziele ein und nutze sie (z.B. für Aktivität oder bei KH zur Hypobehandlung) - Versuche, den Open Loop und seine Empfehlungen für temporäre Basalraten nachzuvollziehen - Entscheide, wie hoch demzufolge max Basal sein sollte und übernimm diesen Wert in die Pumpe und in die AAPS-Einstellungen - Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten - Probiere den Closed Loop Modus mit max IOB = 0 für ein paar Tage aus, ohne zu viele Unterzuckerungen zu haben - Passe den Closed Loop an, indem du max IOB auf über 0 erhöhst und den BZ-Zielwert langsam heruntersetzt - Bevor Du den Zielwert niedriger einstellst, musst Du einige Tage Erfahrung sammeln und mindestens eine Nacht ohne Hypoalarm schaffen - Passe Basalraten und Faktoren bei Bedarf an und schalte anschließend Autosens ein. - Loope eine Woche tagsüber mit regelmäßiger Kohlenhydrat-Eingabe - Aktiviere zusätzliche Funktionen für die Nutzung tagsüber wie z. B. SMB - Automatisierung aktivieren - Lies das Wiki und erhöhe maxIOB, damit der SMB gut funktioniert. Ein guter Anfang ist -die Formel maxIOB = durchschnittlicher Essensbolus + 3 x höchste Basalrate - Lies in der Dokumentation nach, wie Automation funktioniert. Richte dir erst einfache Regeln ein. Zunächst sollte AAPS keine Änderungen vornehmen, sondern dir nur eine Benachrichtigung anzeigen. Wenn du dir sicher bist, dass die Automation im richtigen Moment angetriggert wird, dann kannst du die Benachrichtigung durch eine Aktion ersetzen (https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Automation.html) - BZ in Nightscout verfügbar - Pumpen-Status in Nightscout verfügbar - Manuelle Aktionen - Erfüllt: %1$s - Setzte das Profil für 10 Min. auf 90% (drücke dazu lange auf deinen Profilnamen im Homescreen) - Simuliere das Duschen . Trenne die Pumpe für 1 Std. (drücke dazu lang auf Open Loop im Homescreen) - ...und verbinde die Pumpe auf dieselbe Weise wieder - Erstelle ein benutzerdefiniertes temporäres Ziel mit 10 Min. Dauer (drücke lang auf Deinen aktuellen Zielwert im Homescreen) - Aktiviere das Plugin \"Aktionen\" unter Konfiguration, mache es sichtbar und rufe es über das obere Menü auf - Zeige den Inhalt des Loop-Plugins an - Nutze die Skalierfunktion. Drücke dazu lange auf das BZ-Diagramm - OK - Wenn Du mindestens 3 Monate Closed-Loop-Erfahrung mit einem anderen System hast, kannst Du evtl. einen Code zum Überspringen der Objektives erhalten. Weitere Details unter https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Objectives.html#objectives-ziele-uberspringen. - Code akzeptiert - Code ungültig - Prüfe Dein Wissen - Beschäftige dich mit den Fragen. Dir werden für jede Frage vier Antwortmöglichkeiten vorgegeben. Es kann mehr als eine richtige Antwort geben. Bitte hake alle richtigen an und wähle BESTÄTIGEN. - Frage gesperrt bis: %1$s - Falsch! - Nächste offene - Code anfordern: %1$s - (Kreuze alle richtigen Antworten an) - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#was-mache-ich-wenn-ich-duschen-oder-ein-bad-nehmen-mochte - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#die-startseite - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#konfiguration - https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#die-startseite - Keine Verbindung zum Internet - Abruf der Uhrzeit fehlgeschlagen - Anforderungen des Zieles nicht erfüllt - + diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index cc791a9dd6..45ddb41dd8 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -3,87 +3,44 @@ - Sicherheitseinstellungen der Behandlungen - Max. erlaubter Bolus [IE] - Max. erlaubte Kohlenhydrate [g] - BG-Pegel, unterhalb dessen die Aussetzung wegen niedriger Glukoseaussetzung eintritt %1$s-Einstellungen Einstellungen Behandlungen von NS aktualisieren Datenbanken zurücksetzen Möchtest du die Datenbank wirklich zurücksetzen? Schließen - Einige Schaltflächen, um auf häufig verwendete Funktionen zugreifen zu können. Dient zum Konfigurieren der aktiven Plugins - Das Programm kennenlernen Aktiviere oder deaktiviere die Anwendung, die den Loop ausführt. - Synchronisiert deine Daten mit Nightscout - Stand des Algorithmus in 2017 - Der aktuellste Algorithmus für erfahrene Nutzer - Neuester Algorithmus für fortgeschrittene Benutzer mit dynamischer/automatischer ISF Zeigt den aktuellen Status deines Loops und Schaltflächen für die geläufigsten Aktionen an Zeigt eine fortlaufende Benachrichtigung mit einer kurzen Übersicht darüber, was dein Loop derzeit tut - Pumpenintegration für Pumpen, die noch nicht über einen Treiber verfügen (Open Loop) Die Sensitivität wird genauso wie bei Oref0 berechnet, aber Du kannst dafür ein Zeitfenster bestimmen. Die minimale Kohlenhydrat-Absorptionsrate wird aus der maximalen Absorptionsdauer aus den Einstellungen abgeleitet. Die Sensitivität wird aus den Daten der letzten 8 Stunden berechnet und Kohlenhydrate (falls nicht bereits absorbiert) werden nach der in den Einstellungen angegebenen Zeit als absorbiert betrachtet. Das Plugin bezieht Zeiträume, in denen UAM annimmt, dass Kohlenhydrate aktiv waren, nicht mit in die Berechnung ein. Die Sensitivität wird aus den Abweichungen errechnet. Dabei werden neuere Abweichungen stärker gewichtet als ältere. Die minimale Kohlenhydrat-Aufnahme wird aus der in den Präferenzen angegebenen maximalen Kohlenhydrat-Resorptionszeit abgeleitet. Dieser Algorithmus reagiert am schnellsten auf Änderungen der Empfindlichkeit. - Empfange BZ-Werte von der gepatchten Eversense-App. - Empfange Blutzuckerwerte von Glimp. - Empfange Blutzuckerwerte vom 600SeriesAndroidUploader. - Lade Blutzuckerdaten von Nightscout - Empfange Blutzuckerwerte von xDrip+. Speichert alle eingegebenen Behandlungen - Ausführen - VIRTUELLE PUMPE - Letzte Ausführung - Eingabeparameter - Glukose-Status - Aktuelle TBR - IOB-Daten - Profil - Mahlzeitendaten - Ergebnis - Ergebnis: %1$s %2$s - Keine BZ-Werte verfügbar - Anfrage Delta Konfiguration Übersicht Behandlungen - Virtuelle Pumpe Pumpe Profil APS Welcher APS-Algorithmus soll Therapieanpassungen vornehmen? Allgemein Dies sind einige generelle Plugins, die Du vielleicht hilfreich findest. + Synchronisierung Welche Beschränkungen werden angewendet? - Beschränkungen Loop APS Beschränkungen angewendet TBR der Pumpe KEIN APS AUSGEWÄHLT ODER KEIN ERGEBNIS VORHANDEN - Sicherheit - Plugin ist deaktiviert Beschränkungen wurden verletzt oder Limit erreicht. - Akzeptiere neue TBR: Ändere deine Eingabe! BZ-Quelle - xDrip+ - APS-Modus - Closed Loop - Open Loop - Unterbrechung bei niedrigem BZ (LGS) Neue Empfehlung verfügbar Kohlenhydrate Vorschlag - Nicht unterstützte Nightscout-Version - KH-Zeit Profil - TBR - Verzögerter Bolus Nightscout-Version: - %1$d g fehlen Einstellungen exportiert Benutzereinträge exportiert Einstellungen exportieren nach @@ -92,12 +49,7 @@ Datei nicht gefunden Einstellungen exportieren Einstellungen importieren - Maximale IE/h, die als TBR gesetzt werden können - Dieser Wert wird \"max basal\" in OpenAPS genannt. - Maximales Basal-IOB, das OpenAPS abgeben darf [IE] - Maximale Menge von Nicht-Bolus-IOB, die OpenAPS abgeben kann. Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die exportierten Einstellungen verschlüsselt. - Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die importierten Einstellungen entschlüsselt. Export abgebrochen! Einstellungen wurden NICHT exportiert! Import abgebrochen! Einstellungen wurden NICHT importiert! Einstellungen können nicht importiert werden! @@ -117,7 +69,6 @@ Ich verstehe und stimme zu. Speichern Profil neuladen - QuickWizard QuickWizard-Einstellungen Schaltflächen-Text: Kohlenhydrate: @@ -125,16 +76,9 @@ Hinzufügen Bearbeiten Korr - Aktionen (DEAKTIVIEREN GEFÄHRLICH) Zu NS nur hochladen Zu Nightscout nur hochladen (keine Synchronisation). Gilt nicht für CGM-Werte falls nicht eine lokale Quelle wie xDrip+ ausgewählt wurde. Gilt ebenfalls nicht für Profildaten, wenn ein NS-Profil genutzt wird. \n!!! WARNUNG !!! Deaktivieren dieser Option kann zu Fehlfunktionen und Insulin-Überdosierung führen, wenn eine der Komponenten (AAPS, NS, xDrip+) falsch konfiguriert ist. Achte sorgfältig darauf, ob die in AAPS angezeigten Daten mit denen der Pumpe übereinstimmen! Pumpe nicht initialisiert! - Katheterwechsel - Bitte vergewissere Dich, dass die Füllmenge den Eigenschaften des Katheters entspricht! - Füll-/Vorfüll-Standardmengen - Schaltfläche 1 - Schaltfläche 2 - Schaltfläche 3 Einheiten Zielbereich für die Grafikanzeige Hoch- und Niedrig-Werte für die Übersicht- und die Smartwatch-Anzeige @@ -143,108 +87,22 @@ Wear Alle Daten erneut senden Öffne Einstellungen auf der Uhr - Basalrate - MM640g Anhaltende Benachrichtigung VERALTETE DATEN - OpenAPS AMA - Array mit %1$d Elementen.\nWert: - Autosens-Daten - Skript Debug - Nutze Autosens - AKT KONF LOOP - OAPS - DYNISF HOME - VP BEH - ZIEL UHR Kurze Tab-Überschriften - Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas - Das ist sinnvoll, wenn die Daten von einer ungefilterten Quelle wie xDrip+ Signalrauschen haben. - Standardwert: 3\nDies ist eine wichtige Sicherheitseinstellung. Sie begrenzt die maximale Basal-Abgabe auf die dreifache Menge (im Standardfall) deiner größten Basalrate im Profil. In der Regel solltest Du diesen Wert nicht ändern. Aber Du solltest wissen, was \"3x max daily, 4x current\" als Sicherheitseinstellung bedeutet. - Standardwert: 4\nDies ist die andere wichtige Sicherheitseinstellung, die zweite Hälfte von \"3x max daily, 4x current\". Diese Grenze beschränkt die Basal-Abgabe auf die (im Standardfall) vierfache Menge der aktuellen Basalrate im Profil. Dies ist wichtig, um Nutzer davor zu bewahren, zuviel Basal-Insulin zu verabreichen. Nochmals, der Standardwert ist 4x. Die meisten Nutzer werden niemals diese Einstellung verändern, sondern andere Einstellungen anpassen, um sich nicht dieser Sicherheitsgrenze zu nähern. - Standardwert: 1.2\nDies ist eine Sicherheitsgrenze für Autosens (und bald auch Autotune), die besagt, wie stark Autosens Basalraten erhöhen darf und wie niedrig der ISF (Insulin-Sensitivitäts-Faktor) und der BZ-Zielwert eingestellt werden können. 1.2 ist dabei der Multiplikationsfaktor und erlaubt eine Anpassung um 20%%. - Standardwert: 0.7\nDies ist die andere Sicherheitsgrenze für autosens. Sie beschränkt, wie weit Basalraten abgesenkt und wie sehr ISF und BZ-Zielwerte erhöht werden können. - Autosens passt Zielwerte ebenfalls an - Vorgabe: erlaubt.\nErlaubt Autosens den Ziel-BZ-Bereich in Verbindung mit ISF und Basal anzupassen. - Standarwert: 2\nBolus snooze (\"Bolus-Schlummer\") bremst den Loop nach einem Mahleiten-Bolus, damit dieser nicht mit niedrigen TBR reagiert, wenn Du gerade gegessen hast. Beispiel: Der Standardwert 2 bewirkt, dass bei einem 3 Stunden DIA der Bolus snooze während 1.5 Stunden nach dem Bolus linear ausläuft (3 h Dia / 2 = 1.5 h Bolus snooze). - Standardwert: 3.0 (AMA) or 8.0 (SMB)\nDies ist eine Einstellung für die Standard-Kohlenhydrat-Absorptionswirkung pro 5 Minuten. Der Standardwert ist 3 mg/dl/5min (AMA) bzw. 8 mg/dl/5min (SMB). Dies wirkt sich darauf aus, wie schnell der COB-Wert fällt und wieviel KH-Absorption bei der Berechnung des vorhergesagten BZ angenommen wird, wenn der BZ stärker als erwartet fällt oder nicht so stark wie erwartet steigt. - Achtung!\nNormalerweise musst Du diese Werte nicht ändern. Bitte KLICKE HIER und LESE den Text. Verändere Werte erst, wenn Du den Inhalt des Textes verstanden hast. - Wird ausgeführt - Einstellungen der virtuellen Pumpe - Status zu Nightscout hochladen - Nightscout-Client - NSCl - URL: - Auto-Scrollen - Neustart - Nightscout-Client - Nightscout-URL - Nightscout-URL eingeben - Nightscout API-Key - Nightscout API-Key - Nightscout API-Key eingeben (min. 12 Zeichen) - Jetzt abgeben - Warteschlange leeren - Zeige Warteschlange - Warteschlange: - Status: - Logs leeren - Nightscout-Client hat keine Schreibrechte. Falscher API-Key? Wear-Einstellungen Nicht erfolgreich - bitte Telefon prüfen - Patiententyp - Kind - Teenager - Erwachsener - Insulinresistenter Erwachsener - Schwangerschaft - Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen Name des Patienten Bitte gib den Namen des Patienten oder einen Spitznamen an, um mehrere Setups unterscheiden zu können. - Glimp - Pausiere Loop für 1 h - Pausiere Loop für 2 h - Pausiere Loop für 3 h - Pausiere Loop für 10 h - Pumpe trennen - Trenne Pumpe für 15 min - Trenne Pumpe für 30 min - Trenne Pumpe für 1 h - Trenne Pumpe für 2 h - Trenne Pumpe für 3 h - 15 Min. - 30 Min. - 1 Std. - 2 Std. - 3 Std. - 10 Std. - Fortsetzen - Pumpe erneut verbinden - Logge App-Start in Nightscout App wird beendet, um neue Einstellungen zu laden. Welchen Insulin-Typ verwendest Du? Aktiviere Superbolus im Bolus-Rechner Aktiviere die SuperBolus-Funktion im Bolus-Rechner. Nicht aktivieren, wenn Du nicht weißt, welche Auswirkungen dieser Bolus hat! ES KANN ZU EINER ÜBERDOSIERUNG AN INSULIN KOMMEN! - Statusanzeige auf Homescreen - Warnschwelle Kanülenalter [h] - Warnschwelle kritisches Kanülenalter [h] - Warnschwelle Insulinalter [h] - Warnschwelle kritisches Insulinalter [h] - Warnschwelle Sensoralter [h] - Warnschwelle kritisches Sensoralter [h] - Warnschwelle Sensor-Akkustand [%] - Warnschwelle kritischer Sensor-Akkustand [%] - Warnschwelle Pumpenbatterie-Alter [h] - Warnschwelle kritisches Pumpenbatterie-Alter [h] - Warnschwelle Reservoirstand [IE] - Warnschwelle kritischer Reservoirstand [IE] - Warnschwelle Pumpenbatterie-Stand [%] - Warnschwelle kritischer Pumpenbatterie-Stand [%] PRED BAS DEV @@ -254,18 +112,12 @@ DEVSLOPE Über Fehlende Berechtigung für den Zugriff auf den Telefonstatus - Verzögerten Bolus abbrechen Profilwechsel durchführen - Sensor - Insulin - Pumpenbatterie - Alter: - Level: - Alarm-Optionen + Alarm-Optionen Benachrichtigungen über NS-Alarme Benachrichtigungen über NS-Ankündigungen - Veraltete Daten seit [min] - Stark veraltete Daten seit [min] + Veraltete Daten seit [min] + Stark veraltete Daten seit [min] Intervall für Autosens [h] Anzahl der vergangenen Stunden, die verwendet werden, um die Sensitivität zu erkennen (Zeit, in der KH resorbiert werden, wird nicht berücksichtigt) OpenAPS @@ -278,26 +130,13 @@ Resorptions-Einstellungen Maximale Essens-Resorptionszeit [h] Zeit in Stunden, in der zu erwarten ist, dass alle Kohlenhydrate resorbiert sein werden. - OAPS - UPLD Bildschirm aktiv lassen Hindere Android daran, den Bildschirm abzuschalten. Dies erhöht den Energieverbrauch, wenn das Gerät nicht an einem Ladegerät angeschlossen ist. Stelle bei aktivierter Autosens-Funktion sicher, dass du alle eingenommenen Kohlenhydrate eingibst. Ansonsten können die Kohlenhydrat-Abweichungen zu falschen Sensitivitätswerten führen! Durchschnittliche Sensitivität Es sind nicht alle Profile geladen! Werte nicht gespeichert! - Aktiviere lokale Broadcasts - OpenAPS SMB - Dynamischer ISF - DynamicISF Anpassungsfaktor % - Anpassungsfaktor für DynamicISF. Stelle mehr als 100 % für aggressivere Korrekturdosen ein, und weniger als 100 % für weniger aggressive Korrekturen. - Aktiviere UAM - Aktiviere SMB - Benutze Super-Mikro-Boli anstelle von temporären Basalraten, um eine schnellere Wirkung zu erreichen. - Erkennung von unangekündigten Mahlzeiten Ungültig - Prozentsatz - Zeitverschiebung Vordefinierte temporäre Ziele Bald essen - Dauer Bald essen - Ziel @@ -305,33 +144,16 @@ Aktivitäts-Zielwert Hypo-Dauer Hypo - Zielwert - Erneut verwenden %1$d%% %2$dh Steuerung durch die Uhr Setze temporäre Ziele und Behandlungen mit der Uhr - Benutze Systemmeldungen für Alarme und Meldungen Lautstärke für Alarme und Benachrichtigungen schrittweise erhöhen Lokale Alarme Alarm, wenn keine Glukose-Daten empfangen werden Alarm, wenn die Pumpe nicht erreichbar ist Grenzwert Pumpe ist nicht erreichbar [min] Warnung, wenn Kohlenhydrate nötig sind - Wichtiger Alarm - INFO - Eversense App (gepatcht) - Speichere BZ-Werte in Nightscout - BZ Upload Einstellungen Zeige detailliertes Delta Delta wird mit Dezimalstelle angezeigt. - Wie häufig SMBs abgegeben werden (in Min.) - SMB Basal-Limit in Minuten - UAM SMB max. Minuten - SMB Basal-Limit in Minuten für UAM - Minimale KH-Menge, die für einen Vorschlag erforderlich ist - Minimale KH-Menge in Gramm, die Vorschlags-Alarm erforderlich ist. Vorschläge unterhalb dieser Menge, lösen keine Benachrichtigung aus. - Sende BZ-Werte zu xDrip+ - Wähle in xDrip+ 640g/Eversense als Daten-Quelle. - Nightscout-Client BZ - NS BZ BZ Berechnung Bolus-IOB Berechnung Basal-IOB Berechnung @@ -342,41 +164,17 @@ COB Berechnung Temporäres Ziel Berechnung Prozentuale Berechnung - Loop aktiviert - APS ausgewählt - Nightscout-Client hat Schreibrechte - Closed mode aktiviert - Maximales IOB richtig gesetzt - BZ verfügbar von gewählter Quelle - Fehler bei der Abgabe eines verzögerten Bolus - SMB immer aktivieren - Aktiviere SMB immer, unabhängig von Boli. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. - Aktiviere SMB nach Mahlzeiten. - Aktiviere SMB für sechs Stunden nach der Einnahme von Kohlenhydraten, auch mit 0 COB. Dies ist nur möglich, wenn eine BZ-Quelle genutzt wird, die die Daten besonders gut filtert wie z. B. G5. - Aktiviere SMB während aktiver Kohlenhydrate. - SMB aktivieren, wenn Kohlenhydrate aktiv sind. - Aktiviere SMB bei aktiven temporären Zielen - Aktiviere SMB, wenn ein temporäres Ziel aktiv ist (bald essen, Aktivität) - Aktiviere SMB bei temporären Zielen oberhalb des regulären Ziels - Aktiviere SMB bei hohen temporären Zielen (Sport, über 100 mg/dl bzw. 5,5 mmol/L) - Insulin Schaltflächen Sendet eine Kalibierung an xDrip+ oder öffnet den BYODA Kalibrierungs-Dialog. Öffnet xDrip+ oder BOYDA, mit der Zurück-Schaltfläche gelangst Du zurück zu AndroidAPS. Menge der Kohlenhydrate, die hinzugefügt werden soll, wenn die Schaltfläche gedrückt wird. Menge an Insulin, die hinzugefügt werden soll, wenn die Schaltfläche gedrückt wird CGM-Anwendung konnte nicht geöffnet werden. Stelle sicher, dass diese installiert ist. - CGM 5 Min. ignorieren 15 Min. ignorieren 30 Min. ignorieren - Historie Bei SMB benachrichtigen Zeige SMB auf der Uhr wie einen normalen Bolus an. - Ankündigungen aus Fehlern generieren - Benachrichtigungen aus KH-Vorschlags-Alarmen erzeugen - Erstelle Nightscout-Ankündigungen für Fehler-Dialoge und lokale Alarme (auch einsehbar im Careportal unter \"Behandlungen\"). - Nightscout-Benachrichtigungen aus KH-Vorschlags-Alarmen erzeugen Zeige Vorhersagen auf dem Watchface. Vorhersagen Datenübermittlung @@ -384,8 +182,6 @@ Erlauben, dass automatische Fehler-Berichte und Nutzungsstatistiken an die Entwickler über den Service von Fabric.io gesendet werden Bitte aktualisiere deine Dexcom App auf eine unterstützte Version Dexcom App ist nicht installiert. - Bolus nur erfassen - Bolus wird nur aufgezeichnet (Pumpe gibt kein Insulin ab!) SMB von der Pumpe abgegeben Aktivität Blutzuckerwirkung @@ -394,32 +190,11 @@ Aktive Kohlenhydrate Aktives Insulin Basal - Entwickler-Version, Closed Loop ist nicht verfügbar. Entwickler-Modus aktiviert - Pumpe verfügt nicht über temporäre Basalraten - Closed-Loop-Modus in den Einstellungen deaktiviert - Autosens in den Einstellungen deaktiviert - SMB in Einstellungen deaktiviert - UAM in Einstellungen deaktiviert - UAM deaktiviert, da diese auf die Oref1 Empfindlichkeitserkennung angewiesen sind. - max basal multiplier - max daily basal multiplier Aufgrund eines Bolus in den letzten 3 Minuten wird kein SMB abgegeben. Basalrate richtig eingestellt - Begrenze verzögerten Bolus auf %1$.1f IE wegen %2$s - Begrenze Kohlenhydrate auf %1$d g wegen %2$s - Begrenze IOB auf %1$.1f IE wegen %2$s - Max. Wert in den Einstellungen - festem Grenzwert - Katheter-Wechsel erfassen - Reservoir-Wechsel erfassen - SMB wird immer und nach Kohlenhydraten deaktiviert, weil die aktive BZ-Quelle keine geeignete Filterung der Werte unterstützt. - SMB sind im Open Loop Modus nicht erlaubt - Maximales Gesamt-IOB, das nicht überschritten werden darf [IE] - Diesen Wert nennt OpenAPS MaxIOB.\nSolange dieser Wert überschritten wird, wird AndroidAPS kein Insulin abgeben. Maximale Dauer der Essens-Resorption [h] Zeit, nach der jede Mahlzeit mit Sicherheit absorbiert ist. Verbleibende Kohlenhydrate werden danach nicht mehr berücksichtigt. - Der BG-Wert, unter dem die Insulinzuführung ausgesetzt wird. Der Standardwert verwendet das Standard-Zielmodell. Der Benutzer kann einen Wert zwischen 60mg/dl (3.3 mmol/l) und 100mg/dl (5.5mmol/l) setzen. Werte unterhalb 65/3.6 führen zur Verwendung des Standardmodells Zeige Feld für Notizen in den Behandlungsdialogen Weiter Zurück @@ -432,32 +207,16 @@ Zweite KH-Erhöhung Dritte KH-Erhöhung CGM - Mobilfunkverbindung verwenden - WLAN Verbindung verwenden - WLAN SSID - Während des Ladevorgangs - Bei Batteriebetrieb - Verbindungs-Einstellungen - Erlaubte SSIDs (durch Semikolon getrennt) - Erlaube Verbindung bei Roaming Max. Autosens-Faktor Min. Autosens-Faktor - Bolus-Snooze-DIA-Divisor - Sicherheitsmultiplikator des Basalhöchstwertes - Sicherheitsmultiplikator der aktuellen Basalrate - Typ der virtuellen Pumpe - Pumpen-Definition - Bolus: Schritt=%1$s\nVerzögerter Bolus: [Schritt=%2$s, Dauer=%3$smin-%4$sh]\nBasal: Schritt=%5$s\nTBR: %6$s (bei %7$s), Dauer=%8$smin-%9$sh\n%10$s Berechnungen, die im Assistenten berücksichtigt werden: Anzeigeeinstellungen Allgemeine Einstellungen - Aktiviere Nightscout-Client Willkommen im Setup-Assistenten. Er führt Dich durch den Setup-Prozess\n Status lesen Einrichtungsassistenten überspringen Das Sensitivitäts-Plugin wird für die Sensitivitäts- und COB-Berechnung verwendet. Für weitere Informationen siehe: https://androidaps.readthedocs.io/de/latest/Configuration/Sensitivity-detection-and-COB.html - Nightscout-Client ist für die Verbindung zu Nightscout zuständig. Du kannst diesen Teil jetzt überspringen, aber Du wirst nicht in der Lage sein, Zielsetzungen zu erfüllen, bis Du diesen eingerichtet hast. Bitte beachte: Neue Insulin-Profile benötigen einen DIA von mind. 5 Stunden. Eine DIA von 5-6 Stunden im neuen Insulin-Profil entspricht einem DIA von 3 Stunden bei alten Insulin-Profilen. Wähle einen der verfügbaren Algorithmen aus. Sie sind vom Ältesten zum Neuesten sortiert. Neuere Algorithmen sind meist stärker und aggressiver. Wenn du ein Anfänger bist, solltest du nicht mit dem Neuesten sondern mit AMA starten. Vergiss nicht, die OpenAPS-Dokumentation zu lesen und die entsprechenden Einstellungen vor der Benutzung vorzunehmen. Bitte konfiguriere Deinen RileyLink unten. Nachdem Du einen RileyLink ausgewählt hast, kannst Du die Installation fortsetzen, sobald der RileyLink-Status \"Verbunden\" ist. Das kann eine Minute dauern.\n @@ -467,19 +226,6 @@ Menü öffnen Menü schließen Plugin-Einstellungen - Poctech - Empfange Blutzucker-Werte von der Poctech-App. - Glunovo - Werte von der Glunovo App erhalten - Empfange Blutzucker-Werte von der Tomato-App (MiaoMiao-Geräte) - Hohe temporäre Ziele erhöhen die Sensitivität - = 100.]]> - Niedrige temporäre Ziele senken die Sensitivität - - Resistenz senkt den Zielwert - Wenn Resistenz festgestellt wird, senke den Glukose-Zielwert - Empfindlichkeit erhöht den Zielwert - Wenn eine höhere Empfindlichkeit festgestellt wird, wird der Glukose-Zielwert erhöht. Objekte entfernen Einträge sortieren Gespeicherte Einstellungen gefunden @@ -494,64 +240,23 @@ Logs löschen Der Eintrag (Insulin: %1$.2f, Kohlenhydrate: %2$d, um: %3$s) konnte nicht als Behandlung gespeichert werden. Bitte überprüfe die aktuelle Liste und füge, falls notwendig, den Datensatz manuell hinzu. eCarbs: %1$d g (%2$d h), Verzögerung: %3$d m - Keine Autosens-Daten verfügbar Log Dateien Verschiedenes Log-Einstellungen Auf Standardwerte zurücksetzen - NSClient Störung. Ziehe einen Neustart von NS und NSClient in Betracht. Bevorzugter APS-Modus Sende die heutigen Logdateien unter Angabe dieser Uhrzeit an die Entwickler. Unerwartetes Verhalten. Minimaler Wert zur Anfrage einer Änderung [%] Open Loop schlägt neue Änderungen nur dann vor, wenn die Änderung größer als dieser Wert ist. Der Standard-Wert ist 20%. == ∑ %1$s IE - Speichere Sensor Wechsel in Nightscout - Tomato (MiaoMiao) - Tomato - Dein Tidepool-Login-Benutzername, normalerweise deine E-Mail-Adresse - Login-Benutzername - Dein Tidepool Anmeldekennwort - Anmeldekennwort - Teste den Tidepool Login - Wenn diese Option aktiviert ist, werden die Uploads an https://int-app.tidepool.org statt an die reguläre https://app.tidepool.org/ weitergeleitet - Integrations (Test) Server verwenden - Tidepool - TDP - Daten zu Tidepool hochladen - CGM Daten hochladen - Behandlungen (Insulin, Kohlenhydrate) hochladen - Temporäre Basalrate hochladen - Profilwechsel und temporäre Ziele hochladen - BZ-Werte (blutig) hochladen - 2h - BYODA - BYODA - Erhalte BZ-Werte von der \'Build Your Own Dexcom App\'. - COB vs IOB - Bolus Einschränkung angewandt: %2$.2f U statt %1$.2f U - !!!!! Langsamer Kohlenhydrat-Abbau erkannt: %2$d%% der Zeit. Überprüfe Deine Berechnung. COB könnte zu hoch sein und deswegen zu viel Insulin abgegeben werden!!!!!]]> - Abgabe von [%] des Ergebnisses des Bolus-Rechners Der Bolus-Rechner führt Berechnungen durch, aber nur dieser Teil der berechneten Insulin wird abgegeben. Nützlich mit SMB-Algorithmus. - Der Wert max basal wird erhöht, weil Du ihn niedriger eingestellt hast als die höchste Basalrate in Deinem Profil. - Ausgewählt: Einheiten - Ziel erneut öffnen - Ziel neu starten - Möchtest Du den Start der Ziele zurücksetzen? Du verlierst Deine Fortschritte. Wähle die Einheit, in der die Werte angezeigt werden sollen. Unterer Wert des Zielbereichs (nur Anzeige) Oberer Wert des Zielbereichs (nur Anzeige) - Ungültige % Eingabe - Zufalls-BZ - Zufalls-BZ Daten erstellen (nur Demo-Modus) - BZ - Tools - Berechnung anzeigen Gelöschte anzeigen Warteschlange löschen? Alle Daten in der Warteschlange gehen verloren! - Die Verwendung eines Verzögerungsbolus unterbricht dem Closed Loop Modus für die Dauer des Verzögerungsbolus. Willst Du das wirklich? - Closed Loop wegen Verzögerungsbolus unterbrochen Diagrammmenü SMB Anfragezeit SMB Ausführungszeit @@ -564,34 +269,13 @@ Unerwartetes Verhalten. Gesamtinsulin Das Master-Passwort wird für die Backup-Verschlüsselung und zur Außerkraftsetzung der Sicherheit in der Anwendung verwendet. Merke es Dir oder bewahre es an einem sicheren Ort auf. Aktuelles Master-Passwort - Statusanzeige - Einstellung aus NS kopieren - NS-Einstellungen kopieren (falls vorhanden)? - Ursprüngliches Erscheinungsbild - Darstellung niedrige Auflösung - Schaltflächen werden immer am unteren Rand des Bildschirms angezeigt - Großer Bildschirm - Erscheinungsbild - Profile vergleichen - Profil-Helfer - Standard-Profil - Aktuelles Profil - Verfügbares Profil - Profil-Typ - Alter: %1$.0f TDD: %2$.0f U - Alter: %1$.0f TDD: %2$.0f IE %3$d%% - Alter: %1$.0f Gewicht: %2$.0f kg - % der Basalrate - DPV-Standard-Profil RileyLink Status: Profil kann nicht erstellt werden. Profil ist ungültig. Don\'t kill my app? - Alarmiere mich, wenn es Zeit zum Essen ist. Zeit zum Essen!\nStarte den Bolus-Rechner und gib die KH ein. Bolus-Erinnerung aktivieren Hochladen von Crash-Protokollen deaktiviert! Diagramm - Diagrammmenü Filter löschen Kanüle Verwende die Werte der größten Mahlzeit, die Du normalerweise zu Dir nimmst\n @@ -599,48 +283,12 @@ Unerwartetes Verhalten. E‐Mail‐Adresse Privatsphäre-Einstellungen Du kannst optional eine E-Mail-Adresse angeben, wenn Du bei Absturzberichten kontaktiert werden möchtest. Dies ist keine Automatik, Du wirst von den Entwicklern in gefährlichen Situationen kontaktiert. - Vollständige Synchronisierung - Vollständige Synchronisierung? Es kann viele Stunden dauern und bis zur Fertigstellung wirst du keine neuen Daten in NS sehen. - Synchronisierung - Profile, Boli, Kohlenhydrate und temporäre Basalraten werden zu NS hochgeladen - Daten zu NS hochladen - Gespeicherte Profile abrufen - Profile mit NS Profil-Editor synchronisieren - Temporäre Ziele abrufen - Temp. Ziele akzeptieren, die in NS oder NSClient eingegeben wurden - Profilwechsel abrufen - Profilwechsel akzeptieren, die in NS oder NSClient eingegeben wurden - APS Offline-Ereignisse empfangen - APS Offline-Ereignisse akzeptieren, die über NS oder NSClient eingegeben wurden - TBR und EB empfangen - Akzeptiere TBR und EB, die von einer anderen Instanz eingegeben wurden - Insulin abrufen - Insulin akzeptieren, das in NS oder NSClient eingegeben wurden - Kohlenhydrate abrufen - Kohlenhydrate akzeptieren, die in NS oder NSClient eingegeben wurden - Ereignisse abrufen - Ereignisse (Kanülen-, Ampullen-, Batteriewechsel etc.) akzeptieren, die in NS oder NSClient eingegeben wurden - Historische CGM Daten ergänzen - CGM Daten von NS akzeptieren - %s ausführen? - Hochladen verlangsamen Status BZ-Daten BG-Werte entfernen - Kanülenalter - Alter Patchpumpe - Patch-Pumpe Identifikation (E-Mail, Facebook oder Discord Nickname) Identifikation im Dev-Modus nicht gesetzt Dialog - Aktueller Blutzucker - korrektes Ergebnis mit % - korrektes Ergebnis mit Einheiten Nicht verfügbar - Diagramm - BZ-Qualität - Insulin - Blutzucker - veraltet Temp-Target unbekannte Voreinstellung: %1$s Ausführung des Temp-Targets abbrechen? @@ -655,22 +303,6 @@ Unerwartetes Verhalten. Calc. Wizard:\nInsulin: %1$.2fU\nCarbs: %2$dg Zeige Eintrag auf dem Gerät: Ausgewählter Quickwizard nicht mehr verfügbar, bitte aktualisiere die Kachel - Kein aktueller BG liegt als Basis zur Berechnung vor! - Kein aktives Profil gesetzt! - Unbekannter COB! BG-Wert fehlt oder wurde App vor kurzem neu gestartet? - Die Kohlenhydrateinschränkung wurde überschritten! - Calc (IC: %1$.1f, ISF: %2$.1f) - Kohlenhydrate: %1$.2fU - COB: %1$.0fg %2$.2fU - BZ: %1$.2fU - IOB: %1$.2fU - Superbolus: %1$.2fU - 15\' Trend: %1$.2fU - Prozent: %1$.2fU x %2$d%% ≈ %3$.2fU - Verletzung der Bolusbeschränkung!\nKann %1$.2fU nicht abgeben - TempT: %1$s - %1$s zu %2$s - Keine Pumpe verfügbar! Unbekannter Actionbefehl: Prozentsatz Standardwert der Anwendung @@ -679,13 +311,7 @@ Unerwartetes Verhalten. Sortieren Loop Status Diagrammskala - Profil 1 - Profil 2 - Login - Alle entfernen - Start zurücksetzen Einstellungen öffnen - setze Alarm für KH Timer Alle Smartphone Smartwatch @@ -693,12 +319,5 @@ Unerwartetes Verhalten. nur auf Telefon Drag and Drop Handle Suche - - GlucoRx Aidex - Aidex - Erhalte BG-Werte von GlucoRx Aidex CGMS. - Blockiert durch Ladeoptionen - Blockiert durch Verbindungsoptionen (keine Uhr verbunden) - Empfindlichkeit und BZ anpassen diff --git a/app/src/main/res/values-el-rGR/exam.xml b/app/src/main/res/values-el-rGR/exam.xml index 62dfb21f47..3ea04e700d 100644 --- a/app/src/main/res/values-el-rGR/exam.xml +++ b/app/src/main/res/values-el-rGR/exam.xml @@ -1,53 +1,2 @@ - - Ποια είναι η αλήθεια για το DIA; - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Ποιο προφίλ μπορεί να χρησιμοποιηθεί και να διαμορφωθεί χωρίς σύνδεση; - Θέμα: Προφίλ Εκτός Σύνδεσης - Το προφίλ NS μπορεί να χρησιμοποιηθεί, αλλά όχι να ρυθμιστεί. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Τι πρέπει να γίνει όταν αποσυνδέεται η αντλία; - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Τι πρέπει να κάνετε αν τα δεδομένα του CGM έχουν θόρυβο; - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Λαμβάνω ινσουλίνη όταν το κύκλωμα είναι απενεργοποιημένο/αναστολή; - Ναι, ο βασικός ρυθμός συνεχίζει να χορηγείται. - Όχι, η χορήγηση ινσουλίνης σταμάτησε. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Έγκυρες πληροφορίες προφίλ (Βασικός, IC, ISF, DIA). - Ένα τηλέφωνο που υποστηρίζεται. - Ένα Tidepool λογαριασμό. - Ένα λογαριασμό Google. - Ένα λογαριασμό Github. - Μία αντλία MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Ένα Smartwatch. - Ένα Υποστηριζόμενο CGM. - Ποτέ μην αναβαθμίζετε εάν το σύστημα λειτουργεί καλά. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Fiasp® - Humalog® - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Τι πρέπει να κάνετε αν γίνει μια λανθασμένη εισαγωγή υδατανθράκων; - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Η αλλαγή της τιμής της ISF στο προφίλ σας είναι αρκετό για να εφαρμόσετε την αλλαγή αυτή. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Αν έχετε 0 COB Ενεργούς Υδατ., αλλάζοντας την αναλογία IC θα οδηγήσει σε μια διαφορετική ποσότητα ινσουλίνης για να διορθωθεί μια συγκεκριμένη τιμή BG. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Πού θα πάτε για βοήθεια με Βασικό ρυθμό κτλ. - Στην ομάδα του γιατρού σας - Google - FaceBook - + diff --git a/app/src/main/res/values-el-rGR/objectives.xml b/app/src/main/res/values-el-rGR/objectives.xml index b366654f4f..3ea04e700d 100644 --- a/app/src/main/res/values-el-rGR/objectives.xml +++ b/app/src/main/res/values-el-rGR/objectives.xml @@ -1,49 +1,2 @@ - - Έναρξη - Επικύρωση - %1$d. Στόχος - Ο στόχος %1$d δεν ξεκίνησε - Ο στόχος %1$d δεν ολοκληρώθηκε - Δημιουργία παρακολούθησης και ανάλυση βασικού ρυθμού και αναλογιών - Επιβεβαιώστε ότι η BG φαίνεται στο Nightscout και τα δεδομένα της αντλίας φορτώθηκαν - Ξεκινήστε σε ανοιχτό κύκλωμα - Τρέξτε σε ανοιχτό κύκλωμα μερικές ημέρες και χειροκίνητα κάντε πολλούς προσωρινούς ρυθμούς. Φτιάξτε και χρησιμοποιήστε προσωρινούς και στανταρντ προσωρινούς στόχους (π.χ. για άσκηση ή θεραπεία υπογλυκαιμίας) - Κατανοήστε το ανοιχτό κύκλωμα, περιλαμβάνοντας τις προτάσεις για Προσωρινό ρυθμό - Βάση της εμπειρίας σας, αποφασίστε ποιο είναι το μέγιστο βασικής δόσης και αποθηκεύστε το στην αντλία και στις Επιλογές - Ξεκινήστε να κλείσετε το κύκλωμα με Σταμάτημα Χαμηλής Γλυκόζης (Low Glucose Suspend) - Τρέξτε σε κλειστό κύκλωμα με μέγιστο IOB = 0 για μερικές ημέρες χωρίς πολλά LGS - υπογλυκαιμίες - Ρυθμίζοντας το κλειστό κύκλωμα, αυξήστε το μέγιστο IOB πάνω από 0 και σταδιακά μειώστε τους στόχους BG - Τρέξτε το για λίγες ημέρες, και τουλάχιστον μία νύχτα χωρίς χαμηλό συναγερμό BG, πριν χαμηλώσετε τα όρια - Ρυθμίστε τον βασικό ρυθμό και τις αναλογίες αν χρειάζεται, και μετά ενεργοποιήστε το auto-sens - 1 επιτυχής εβδομάδα ημερήσιου κυκλώματος με κανονική εισαγωγή υδατανθράκων - Ενεργοποιώντας επιπρόσθετα χαρακτηριστικά για χρήση κατά την ημέρα, όπως το SMB - Πρέπει να διαβάσετε τον οδηγό wiki και να αυξήσετε το ανώτατο όριο του IOB για να μπορέσει να λειτουργήσει σωστά το SMB! Μια καλή αρχή είναι μέγιστο IOB= μέσο bolus γεύματος + 3 x το μέγιστο ημερήσιο βασικού ρυθμού - BG διαθέσιμες στο NS - Η κατάσταση της αντλίας διαθέσιμη στο NS - Ξεκινήστε χειροκίνητα - Επιτεύχθηκε: %1$s - Θέστε το προφίλ στο 90% για 10 λεπτά (Παρατεταμένο πάτημα του προφίλ στην Επισκόπηση) - Προσομοίωση ένδειξης. Αποσυνδέστε την αντλία για 1 ώρα (Παρατεταμένο στο Ανοιχτό Κύκλωμα) - ... και επανασυνδέστε με τον ίδιο τρόπο - Φτιάξτε προσωρινούς στόχους με διάρκεια 10 λεπτά (Παρατεταμένο πάτημα στον στόχο σας) - Στην Διαμόρφωση ενεργοποιήστε την προσθήκη Ενέργειες, κάντε την ορατή ώστε να την βλέπετε από το δικό της tab - Εμφάνιση περιεχομένου της προσθήκης Κύκλωμα - Χρησιμοποιήστε τη λειτουργία κλίμακας πατώντας παρατεταμένα το διάγραμμα BG - Εισαγωγή - Κωδικός αποδεκτός - Μη έγκυρος κωδικός - Αποδείξτε τις γνώσεις σας - Οι απαντήσεις εμφανίζονται στο: %1$s - Λάθος απάντηση! - Επόμενο ημιτελές - Κωδικός αιτήματος: %1$s - (ελέγξτε όλες τις σωστές απαντήσεις) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Δεν είστε συνδεδεμένοι στο internet - Απέτυχε η ανάκτηση ώρας - Αντικειμενικές προϋποθέσεις δεν πληρούνται - + diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index 0fed773785..c9348d8f03 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -3,49 +3,22 @@ - Ασφάλεια Θεραπειών - Μέγιστο Επιτρεπτό bolus[U] - Μέγιστο Επιτρεπτό υδατανθράκων [g] Επιλογές Ανανέωση Θεραπειών από NS Επαναφορά Βάσεων Δεδομένων Θέλετε πραγματικά να επαναφέρετε την βάση δεδομένων; Έξοδος - Ορισμένα πλήκτρα για γρήγορη πρόσβαση σε κοινά χαρακτηριστικά Χρησιμοποιείται για ρύθμιση ενεργών συνδέσεων - Πρόγραμμα εκμάθησης Ενεργοποιήστε ή απενεργοποιήστε την εφαρμογή που ενεργοποιεί το κύκλωμα. - Συγχρονίζει τα δεδομένα σας με το Nightscout - Κατάσταση του αλγόριθμου για το 2017 - Ο πιο πρόσφατος αλγόριθμος για προχωρημένους χρήστες Εμφανίζει την τρέχουσα κατάσταση του κυκλώματός σας και τα πλήκτρα για τις πιο κοινές ενέργειες Εμφανίζει μία τρέχουσα ειδοποίηση με σύντομη επισκόπηση του τι κάνει το κύκλωμα τώρα - Ολοκλήρωση αντλίας για αντλίες που δεν έχουν κανέναν οδηγό ακόμα (Ανοιχτό Κύκλωμα) Η ευαισθησία υπολογίζεται με τον ίδιο τρόπο όπως το Oref0, αλλά μπορείτε να καθορίσετε το χρονικό διάστημα στο παρελθόν. Η ελάχιστη απορρόφηση υδατανθράκων υπολογίζεται από την μέγιστη απορρόφηση υδατανθράκων από τις επιλογές. Η ευαισθησία υπολογίζεται ως ο σταθμισμένος μέσος όρος των αποκλίσεων. Νεότερες αποκλίσεις έχουν μεγαλύτερο βάρος. Η ελάχιστη απορρόφηση υδατανθράκων υπολογίζεται από τον χρόνο της μέγιστης απορρόφησης υδατανθράκων από τις επιλογές. Αυτός ο αλγόριθμος είναι ο πιο γρήγορος για να ακολουθεί τις αλλαγές της ευαισθησίας. - Λάβετε τις τιμές BG από την εφαρμογή του Eversense. - Λάβετε τις τιμές BG από το Glimp. - Λάβετε τις τιμές BG από το 600SeriesAndroidUploader. - Λήψη δεδομένων BG από Nightscout Σώζει όλες τις θεραπείες που έγιναν - Έναρξη τώρα - ΕΙΚΟΝΙΚΗ ΑΝΤΛΙΑ - Τελευταίος Υπολογισμός - Εισαγωγή Παραμέτρων - Κατάσταση Γλυκόζης - Τρέχων Προσωρινός Ρυθμός - Δεδομένα IOB - Προφίλ - Δεδομένα Γεύματος - Αποτέλεσμα - Αποτέλεσμα: %1$s %2$s - Μη διαθέσιμα δεδομένα γλυκόζης - Αίτημα Διαφορά Διαμόρφωση Επισκόπηση Θεραπείες - Εικονική Αντλία Αντλία Προφίλ APS @@ -53,25 +26,15 @@ Γενικά Αυτά είναι μερικά πρόσθετα που μπορεί να βρείτε χρήσιμα. Ποιοι περιορισμοί έχουν εφαρμοστεί; - Περιορισμοί Κύκλωμα APS Μετά από επεξεργασία περιορισμών Προσωρινός Ρυθμός ορίστηκε από την αντλία ΔΕΝ ΕΠΙΛΕΧΘΗΚΕ APS Ή ΒΡΕΘΗΚΕ ΑΠΟΤΕΛΕΣΜΑ - Ασφάλεια - Προσθήκη απενεργοποιημένη Παραβίαση Περιορισμών - Αποδοχή νέου Προσ Ρυθμού: Αλλάξτε αυτό που εισάγατε! Πηγή BG - Λειτουργία APS - Κλειστό Κύκλωμα - Ανοιχτό Κύκλωμα Νέα πρόταση διαθέσιμη - Μη υποστηριζόμενη έκδοση Nightscout - Προσ Ρυθμός - Εκτεταμμένο Bolus Έκδοση Nightscout: Επιλογές εξήχθησαν Εξαγωγή ρυθμίσεων σε @@ -80,14 +43,10 @@ Μη εύρεση φακέλου Εξαγωγή ρυθμίσεων Εισαγωγή ρυθμίσεων - Αυτή η τιμή ονομάζεται μέγιστο βασικού ρυθμού στο περιεχόμενο του OpenAPS - Μέγιστο βασικής IOB που το OpenAPS μπορεί να δώσει [U] - Αυτή η τιμή ονομάζεται μέγιστο IOB στο OpenAPS \nΑυτή είναι η μέγιστη ινσουλίνη [U] που το APS μπορεί να δώσει με την μία. Άδεια χρήσης τελικού χρήστη ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΓΙΑ ΝΑ ΚΑΝΕΤΕ ΙΑΤΡΙΚΗ ΑΠΟΦΑΣΗ. ΔΕΝ ΥΠΑΡΧΕΙ ΕΓΓΥΗΣΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ, ΣΤΟ ΒΑΘΜΟ ΠΟΥ ΕΠΙΤΡΕΠΕΤΑΙ ΑΠΟ ΤΟ ΕΦΑΡΜΟΣΤΕΟ ΔΙΚΑΙΟ. ΕΚΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΔΙΑΒΑΘΜΙΣΜΕΝΗ ΚΑΤΑ ΤΗΝ ΕΓΓΡΑΦΗ ΤΩΝ ΚΑΤΟΧΟΙ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΚΑΙ/Ή ΑΛΛΑ ΜΕΡΗ ΠΑΡΕΧΟΝΤΑΙ ΤΟ ΠΡΟΓΡΑΜΜΑ \"ΩΣ ΕΧΕΙ\" ΧΩΡΙΣ ΕΓΓΥΗΣΗ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΙΔΟΥΣ, ΕΞΑΙΡΟΥΜΕΝΕΣ Ή ΣΙΩΠΗΡΕΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΕΝΔΕΙΚΤΙΚΑ, ΤΩΝ ΣΙΩΠΗΡΩΝ ΕΓΓΥΗΣΕΩΝ ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ΚΑΙ ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Ο ΟΛΟΚΛΗΡΩΜΕΝΟΣ ΚΙΝΔΥΝΟΣ ΟΣΟΝ ΑΦΟΡΑ ΤΗΝ ΠΟΙΟΤΗΤΑ ΚΑΙ ΤΗΝ ΑΠΟΔΟΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΙΝΑΙ ΔΙΚΟ ΣΑΣ. ΕΑΝ ΤΟ ΠΡΟΓΡΑΜΜΑ ΔΕΝ ΕΙΝΑΙ ΕΛΑΤΤΩΜΑΤΙΚΟ, ΠΡΕΠΕΙ ΝΑ ΕΞΕΤΑΣΤΕ ΤΟ ΚΟΣΤΟΣ ΟΛΩΝ ΤΩΝ ΑΠΑΡΑΙΤΗΤΩΝ ΣΥΝΤΗΡΗΣΕΩΝ, ΕΠΙΣΚΕΥΩΝ Ή ΔΙΟΡΘΩΣΕΩΝ. ΚΑΤΑΛΑΒΑ ΚΑΙ ΣΥΜΦΩΝΩ Ξαναφορτώστε το προφίλ - Γρήγορος Οδηγός Ρυθμίσεις Γρήγορου Οδηγού Κείμενο στο πλήκτρο: Υδατάνθρακες: @@ -95,13 +54,7 @@ Προσθήκη Διαμόρφωση Διορθ - Ενέργειες Η αντλία δεν έχει ρυθμιστεί! - Πλήρωση/Γέμισμα - Παρακαλώ ελέγξτε ότι η ποσότητα ταιριάζει με τις προδιαγραφές του σετ έγχυσης! - Πλήκτρο 1 - Πλήκτρο 2 - Πλήκτρο 3 Εύρος εμφάνισης Υψηλό και Χαμηλό σημείο για την γραφική στην Επισκόπηση και Smartwatch ΧΑΜΗΛΟ σημείο @@ -109,86 +62,25 @@ Wear Ξαναστείλτε όλα τα Δεδομένα Ρυθμίσεις στο Wear - MM640g Συνεχής Ειδοποίηση Παλιά Δεδομένα - OpenAPS AMA - Πεδίο %1$d Στοιχεία.\nΤρέχουσα τιμή: - Δεδομένα Autosens - Εντοπισμός σφαλμάτων δέσμης ενεργειών - Χρήση του Autosens - ΔΡΑΣΗ Διαμόρφωση ΚΥΚΛΩΜΑ - OAPS ΑΡΧΙΚΗ - Εικ. αντλία ΘΕΡΑΠ - ΣΤΟΧΟΙ WEAR Συντομογραφίες ενοτήτων - Χρησιμοποιείτε πάντα τη βραχυπρόθεσμη μέση διαφορά αντί της απλής διαφοράς - Προεπιλεγμένη τιμή: 3 Αυτό είναι ένα κλειδί ασφαλείας του OpenAPS. Αυτό περιορίζει την αύξηση του βασικού x3 (σε αυτούς τους ανθρώους) από την μεγαλύτερη τιμή του. Συνήθως δεν χρειάζεται να το αλλάξετε, αλλά πρέπει να ξέρετε τι σημαίνει “3x μέγιστο ημερήσιο; 4x τρέχων” για λόγους ασφαλείας. - Προεπιλεγμένη τιμή: 4 Αυτό είναι το μισό του θέματος ασφαλείας του OpenAPS, και το άλλο μισό του «3 x μέγιστο ημέρας: 4 x τρέχων» των θεμάτων ασφαλείας. Αυτό σημαίνει ότι ο βασικός ρυθμός, ανεξάρτητα από την μέγιστη τιμή βασικού ρυθμού στην αντλία σας, δεν μπορεί να είναι υψηλότερος από το πολλαπλάσιο αυτού του αριθμού. Αυτό γίνεται για να αποτρέψει τους ανθρώπους από το να μπουν σε επικίνδυνες καταστάσεις θέτωντας υψηλό βασικό πριν κατανοήσουν πλήρως πώς λειτουργεί ο αλγόριθμος. Και πάλι, η προεπιλεγμένη τιμή είναι 4x: οι περισσότεροι άνθρωποι ποτέ δεν θα χρειαστεί να το προσαρμόσουν και αντίθετα είναι πιο πιθανό να χρειαστεί να προσαρμόσουν άλλες ρυθμίσεις αν αισθάνονται ότι κινούνται με ασφάλεια. - Προεπιλεγμένη τιμή: 1.2\nΑυτός είναι ένας πολλαπλασιαστής για το autosens (και σύντομα autotune) για να ορίσετε ένα 20%% ανώτατο όριο στο πόσο ψηλά μπορεί να είναι ο λόγος autosens, που με τη σειρά του καθορίζει πόσο ψηλά το autosens μπορεί να ρυθμίσει τον βασικό ρυθμό, πόσο χαμηλά μπορεί να ρυθμίσει την ISF, και πόσο χαμηλά μπορεί να ορίσει το στόχο της BG. - Προεπιλεγμένη τιμή: 0.7\n H άλλη πλευρά από τα όρια ασφαλείας του autosens, θέτοντας ένα ανώτατο όριο στο πόσο χαμηλά to autosens μπορεί να προσαρμόσει τον βασικό ρυθμό και πόσο ψηλά μπορεί να ρυθμίσει τη ISF και τον στόχο του BG. - Προεπιλεγμένη τιμή: true\nΑυτό χρησιμοποιείται για να επιτρέψει στο autosens να προσαρμόσει τον στόχο BG, επιπρόσθετα από το ISF και βασικό ρυθμό. - Προεπιλεγμένη τιμή: 2\nΗ αναβολή Bolus ενεργοποιείται αφού κάνετε ένα γευματικό bolus, έτσι το κύκλωμα δεν θα εξουδετερώσει με χαμηλό προσωρινό μόλις έχετε φάει. Το παράδειγμα εδώ και η προεπιλογή είναι 2: έτσι μια τρίωρη DIA σημαίνει ότι το bolus αναβολής θα είναι σταδιακά πάνω από 1,5 ώρα (3DIA/2). - Προεπιλεγμένη τιμή: 3.0 (AMA) ή 8.0 (SMB). Αυτό είναι μια ρύθμιση για την επίπτωση της προεπιλεγμένης απορρόφησης υδατανθράκων ανά 5 λεπτά. Η προεπιλογή είναι μια αναμενόμενη 3mg/dl/5min. Αυτό επηρεάζει το πόσο γρήγορα το COB ελλατώνεται, και πόση απορρόφηση υδατανθράκων θα υποθέτει για τον υπολογισμό της μελλοντικής πρόβλεψης BG, όταν το BG πέφτει περισσότερο από το αναμενόμενο ή δεν αυξάνεται όσο το αναμενόμενο. - Προσοχή!\nΣυνήθως δεν χρειάζεται να αλλάξετε αυτές τις τιμές. Κάντε κλικ ΕΔΩ, ΔΙΑΒΑΣΤΕ τις πληροφορίες και σιγουρευτείτε ότι τις καταλαβαίνετε πριν τις αλλάξετε. - Εκτελείτε - Ρυθμίσεις Εικονικής αντλίας - Φόρτωση κατάστασης στο NS - NSClient - NSCI - URL: - Αυτόματη κύλιση - Επανεκκίνηση - NSClient - Διεύθυνση Nightscout - Βάλτε την διεύθυνσή σας Nightscout - Μυστικός κωδικός NS API secret - Mυστικός κωδικός NS API secret - Βάλτε 12ψήφιο μυστικό κωδικό - Έγχυση τώρα - Διαγραφή σειράς - Δείξε σειρά - Σειρά: - Κατάσταση: - Διαγραφή αρχείου καταγραφής - Ο NSCLIENT δεν έχει άδεια εγγραφής. Λάθος κωδικός API; Ρυθμίσεις Wear αποτυχία - ελέγξτε τηλέφωνο - Παιδί - Έφηβος - Ενήλικας - Αντίσταση ινσουλίνης ενηλίκων - Glimp - Κύκλωμα σε αναστολή για 1h - Κύκλωμα σε αναστολή για 2h - Κύκλωμα σε αναστολή για 3h - Κύκλωμα σε αναστολή για 10h - Αποσύνδεση αντλίας για 15 λεπτά - Αποσύνδεση αντλίας για 30 λεπτά - Αποσύνδεση αντλίας για 1h - Αποσύνδεση αντλίας για 2h - Αποσύνδεση αντλίας για 3h - Επαναφορά - Επανασύνδεση αντλίας - Η εφαρμογή καταγραφής ξεκινά από το NS Έξοδος από το application για την εφαρμογή των ρυθμίσεων Ποιο τύπο ινσουλίνης χρησιμοποιείτε; Ενεργοποίηση superbolus στον σύντομο οδηγό Ενεργοποιήστε την λειτουργία superbolus στον σύντομο οδηγό. Μην το κάνετε μέχρι να μάθετε τι ακριβώς κάνει. ΜΠΟΡΕΙ ΝΑ ΕΓΧΥΣΕΙ ΠΑΡΑΠΑΝΩ ΔΟΣΕΙΣ ΙΝΣΟΥΛΙΝΗΣ ΑΝ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΛΑΝΘΑΣΜΕΝΑ! - Εμφάνιση του φωτισμού κατάστασης στην αρχική οθόνη - Όριο προειδοποίησης χαμηλής αμπούλας [U] - Όριο προειδοποίησης πολύ χαμηλής αμπούλας [U] Σχετικά με Λείπει η άδεια κατάστασης τηλεφώνου - Ακύρωση Εκτεταμμένου bolus - Επιλογές συναγερμού - Οριακή τιμή για παλιά δεδομένα [min] - Επείγουσα οριακή τιμή για παλιά δεδομένα [min] + Επιλογές συναγερμού + Οριακή τιμή για παλιά δεδομένα [min] + Επείγουσα οριακή τιμή για παλιά δεδομένα [min] Εσωτερικά διαστήματα για autosense [h] Ποσότητα ωρών κατά το παρελθόν για ανίχνευση ευαισθησίας (εξαιρείται ο χρόνος απορρόφησης υδατανθράκων) OpenAPS @@ -201,23 +93,13 @@ Ρύθμιση απορρόφησης Μέγιστος χρόνος απορρόφησης γεύματος [h] Χρόνος σε ώρες που περιμένουμε να απορροφηθούν όλοι οι υδατάνθρακες ενός γεύματος - OAPS - UPLD Κρατήστε την οθόνη ενεργή Αποτρέψετε το Android να απενεργοποιήσει την οθόνη. Χωρίς σύνδεση με το φορτιστή, αποφορτίζει πολύ γρήγορα την μπαταρία. Ενεργοποιώντας το autosense θυμηθείτε να εισάγετε όλους τους υδατάνθρακες. Διαφορετικά, οι αποκλίσεις των υδατανθράκων θα εντοπιστούν λανθασμένα ως αλλαγή ευαισθησίας!! Ευαισθησία WeightedAverage Δεν έχουν φορτωθεί όλα τα προφίλ! Οι τιμές δεν αποθηκεύτηκαν! - Ενεργοποιήστε τις τοπικές αποστολές. - OpenAPS SMB - Ενεργοποίηση UAM - Ενεργοποίηση SMB - Χρησιμοποιήστε Super Micro Boluses αντί προσωρινού ρυθμού για ταχύτερα αποτελέσματα - Ανίχνευση απαρατήρητων γευμάτων ΜΗ ΕΓΚΥΡΟ - Ποσοστό - Αλλαγή της ώρας Προκαθορισμένος Στόχος-Προσ Ρυθμού Διάρκεια πλησιέστερου γεύματος στόχος για γεύμα @@ -227,22 +109,12 @@ στόχος υπογλυκαιμίας Έλεγχος από ρολόι Ρυθμίστε Στόχους-Προσ Ρυθμού και βάλτε Θεραπείες από το ρολόι. - Χρησιμοποιήστε ειδοποιήσεις συστήματος για ειδοποιήσεις και συναγερμούς Τοπικές Ειδοποιήσεις Προειδοποίηση αν δεν ληφθούν δεδομένα μετρήσεων BG Προειδοποίηση αν η αντλία δεν είναι διαθέσιμη Όριο για μη διαθεσιμότητα της αντλίας [λεπτά] - Συναγερμός έκτακτης ανάγκης - Πληροφορίες - Eversense App (τροποποιημένη) - Ανέβασμα δεδομένων BG στο NS - Ανέβασμα ρυθμίσεων BG Εμφάνιση λεπτομερών στατιστικών Δείξτε τη διαφορά με ένα επιπλέον δεκαδικό ψηφίο - Τα μέγιστα λεπτά του βασικού ρυθμού που περιορίζουν το SMB να - Αποστολή δεδομένων BG στο xDrip+ - Στο xDrip+, επιλέξτε την πηγή δεδομένων 640g / Eversense - NSClient BG Υπολογισμός BG Υπολογισμός του IOB bolus Υπολογισμός βασικού IOB @@ -252,33 +124,12 @@ Μόνο αρνητική Υπολογισμός COB Υπολογισμός προσωρινού στόχου - Κύκλωμα ενεργοποιημένο - Επιλέχθηκε APS - Το NSClient έχει άδεια εγγραφής - Ενεργοποιήθηκε η κλειστή λειτουργία - Το μέγιστο IOB έχει ρυθμιστεί σωστά - BG διαθέσιμη από επιλεγμένη πηγή - Σφάλμα έγχυσης εκτεταμένου bolus - Πάντα ενεργό SMB - Ενεργοποιήστε τις ΜΜΕ ανεξάρτητα από τα bolus. Πιθανόν μόνο με πηγές BG με καλό φιλτράρισμα δεδομένων, όπως το G5 - Ενεργοποίηση SMB μετά από υδατάνθρακες - Ενεργοποίηση SMB για 6 ώρες μετά από υδατάνθρακες, ακόμη και με 0 COB. Πιθανόν μόνο με πηγή BG με καλό φιλτράρισμα δεδομένων όπως το G5 - Ενεργοποίηση SMB με COB - Ενεργοποίηση SMB όταν υπάρχει ενεργό COB. - Ενεργοποίηση SMB με προσωρινούς στόχους - Ενεργοποίηση του SMB όταν υπάρχει ενεργός προσωρινός στόχος (τρώω σύντομα, άσκηση) - Ενεργοποίηση SMB με υψηλούς προσωρινούς στόχους - Ινσουλίνη Πλήκτρα Αριθμός υδατανθράκων να προστεθεί όταν πατήσετε το πλήκτρο Ποσότητα ινσουλίνης να προστεθεί όταν πατήσετε το πλήκτρο Δεν είναι δυνατή η εκκίνηση της εφαρμογής CGM. Βεβαιωθείτε ότι έχει εγκατασταθεί. - CGM - Ιστορικό περιήγησης Ειδοποίηση στο SMB Εμφάνιση SMB στο ρολόι όπως ένα τυπικό bolus. - Δημιουργήστε ειδοποιήσεις σφαλμάτων - Δημιουργήστε μια ειδοποίηση Ns για σφάλματα διαλόγων και τοπικούς συναγερμούς (που φαίνονται στο Careportal κάτω από τις Θεραπείες) Προβολή πρόβλεψης στο ρολόι. Προβλέψεις Επιλογές δεδομένων @@ -286,7 +137,6 @@ Να επιτρέπεται η αυτόματη αποστολή αναφορών σφάλματος και χαρακτηριστικά χρήσης δεδομένων στους προγραμματιστές μέσω του fabric.io. service. Ενημερώστε την εφαρμογή G5 στην υποστηριζόμενη έκδοση Η εφαρμογή Dexcom δεν είναι εγκατεστημένη. - Μην κάνετε bolus, μόνο να καταγράφετε Το SMB ρυθμίστηκε από την αντλία Δραστηριότητα Ευαισθησία @@ -294,29 +144,9 @@ Ενεργοί Υδατάνθρακες Ενεργή Ινσουλίνη Βασικοί - Εκτελείται έκδοση Dev. Το κλειστό κύκλωμα είναι απενεργοποιημένο. Μηχανική λειτουργία ενεργοποιημένη - Η αντλία δεν υποστηρίζει προσωρινό βασικό ρυθμό - Το κλειστό κύκλωμα είναι απενεργοποιημένο στις Επιλογές - Το Autosens είναι απενεργοποιημένο στις Επιλογές - Το SMB απενεργοποιήθηκε στις Επιλογές - Το UAM απενεργοποιήθηκε στις Επιλογές - Το UAM απενεργοποιήθηκε επειδή είναι ενεργοποιημένο στην προσθήκη ευαισθησία στο Oref1 - πολλαπλασιαστής μέγιστου βασικού - πολλαπλασιαστής ημερήσιου μέγιστου βασικού Ένα bolus παραδόθηκε μέσα στα τελευταία 3 λεπτά, παράκαμψη SMB Ο βασικός ρυθμός ορίστηκε σωστά - Περιορίζεται το εκτεταμένο bolus σε %1$.1f U λόγω %2$s - Περιορίζονται οι υδατάνθρακες σε %1$d g λόγω %2$s - Περιορίζεται η IOB σε %1$.1f U λόγω %2$s - μέγιστη τιμή στις Επιλογές - σταθερό όριο - Καταγράψτε την αλλαγή της τοποθεσίας αντλίας - Καταγράψτε την αλλαγή της τοποθεσίας καθετήρα - Το SMB πάντα και μετά το γεύμα απενεργοποιείται επειδή η ενεργή πηγή BG δεν υποστηρίζει προηγμένο φιλτράρισμα - To SMB δεν επιτρέπεται σε λειτουργία ανοιχτού κυκλώματος - Μέγιστη συνολική IOB το OpenAPS δεν μπορεί να πάει πάνω από [U] - Αυτή η τιμή ονομάζεται μέγιστη IOB στο OpenAPS\nTο OpenAPS δεν θα προσθέσει περισσότερη ινσουλίνη αν η τρέχουσα IOB είναι μεγαλύτερη από αυτή την τιμή Μέγιστος χρόνος απορρόφησης γεύματος [h] Χρόνος κατά τον οποίο οποιοδήποτε γεύμα θεωρείται απορροφημένο. Οι υπόλοιποι υδατάνθρακες θα αποκοπούν. Εμφάνιση πεδίου σημειώσεων στους διαλόγους θεραπείας @@ -331,27 +161,15 @@ Δεύτερη αύξηση υδατανθράκων Τρίτη αύξηση υδατανθράκων CGM - WiFi SSID - Ρυθμίσεις σύνδεσης - Επιτρέπονται SSID (διαχωρίζονται με ελληνικό ερωτηματικό) - Επιτρέψτε τη σύνδεση περιαγωγής Μέγιστη αναλογία autosens Ελάχιστη αναλογία autosens - Διαιρέτης Αναβολής bolus - Μέγιστος ημερήσιος πολλαπλασιαστής ασφαλείας - Τρέχων πολλαπλασιαστής ασφαλείας βασικού ρυθμού - Τύπος εικονικής αντλίας - Ορισμός Αντλίας - Bolus: Άμεσο=%1$s\nΕκτεταμένο Bolus: [Άμεσο=%2$s, Διάρκεια=%3$smin-%4$sh]\nΒασικός: Άμεσο=%5$s\nTBR: %6$s (με %7$s), Διάρκεια=%8$smin-%9$sh\n%10$s Υπολογισμοί που περιλαμβάνονται στο αποτέλεσμα του γρήγορου οδηγού: Ρυθμίσεις Εμφάνισης Γενικές Ρυθμίσεις - Ενεργοποίηση NSClient Καλώς ήρθατε στον οδηγό εγκατάστασης. Θα σας καθοδηγήσει μέσα από το πρόγραμμα εγκατάστασης\n Κατάσταση ανάγνωσης Παράλειψη του \"Οδηγού εγκατάστασης\" Η προσθήκη Ευαισθησία χρησιμοποιείται για την ανίχνευση αλλαγών στην ευαισθησία και τον υπολογισμό του COB. Για περισσότερες πληροφορίες εδώ: - Το NSClient χειρίζεται τη σύνδεση με το Nightscout. Μπορείτε να παραλείψετε αυτό τώρα αλλά δεν θα μπορείτε να ολοκληρώσετε τους Στόχους μέχρι να κάνετε τις ρυθμίσεις του. Προσοχή: Τα νέα προφίλ ινσουλίνης απαιτούν DIA τουλάχιστον 5 ωρών. Η DIA 5-6 ώρες στα νέα προφίλ είναι ισοδύναμα με DIA των 3 ωρών στα παλιά προφίλ ινσουλινών. Επιλέξτε έναν από τους διαθέσιμους αλγόριθμους. Ταξινομούνται από το παλαιότερο στον νεότερο. Ένας νεότερος είναι συνήθως καλύτερος και πιο επιθετικός. Επομένως, αν είστε καινούριος στο κλειστό κύκλωμα, θα πρέπει πρώτα να επιλέξετε μόνο το AMA και όχι το τελευταίο. Μην ξεχάσετε να διαβάσετε το εγχειρίδιο του OpenAPS και να κάνετε τις ρυθμίσεις προτού αρχίσετε να το χρησιμοποιείτε. Ξεκινήστε τον πρώτο στόχο @@ -359,13 +177,6 @@ Άνοιγμα μενού πλοήγησης Κλείσιμο μενού πλοήγησης Επιλογές προσθήκης - Poctech - Λάβετε τις τιμές BG από την εφαρμογή Poctech - Λάβετε τιμές BG από Tomato app (MiaoMiao) - Ο υψηλός προσωρινός στόχος ανεβάζει την ευαισθησία - = 100]]> - Ο χαμηλός προσωρινός στόχος μειώνει την ευαισθησία - Βρέθηκαν αποθηκευμένες ρυθμίσεις Ελλιπή δεδομένα θεραπείας Ρυθμίσεις συντήρησης @@ -377,38 +188,13 @@ Διαγραφή αρχείων καταγραφής Μια θεραπεία (ινσουλίνη: %1$.2f, υδατάνθρακες: %2$d, στο: %3$s) δεν μπορεί να προστεθεί στις θεραπείες. Παρακαλούμε ελέγξτε και προσθέστε χειροκίνητα μια εγγραφή ανάλογα με την περίπτωση. eCarbs: %1$d g (%2$d h), καθυστέρηση: %3$d m - Μη διαθέσιμα δεδομένα autosens Ρυθμίσεις Αρχείου Καταγραφής Επαναφορά προεπιλογών - Δυσλειτουργία NSClient. Εξετάστε την επανεκκίνηση του NS και του NSClient. Προτιμώμενη λειτουργία APS Στείλτε τα αρχεία καταγραφής της ημέρας στους προγραμματιστές μαζί με αυτή τη φορά. Απροσδόκητη κατάσταση. Ελάχιστο αίτημα για αλλαγή [%] Το Ανοιχτό κύκλωμα θα εμφανίσει νέο μήνυμα αλλαγής μόνο αν η αλλαγή είναι μεγαλύτερη από αυτήν τη τιμή %. Προεπιλεγμένη τιμή 20% == ∑ %1$s U - Αλλαγή αρχείου αισθητήρα σε NS - Tomato (MiaoMiao) - Tomato - Το όνομα χρήστη του Tidepool, συνήθως το mail σας - Όνομα Χρήστη - Το συνθηματικό του Tidepool - Συνθηματικό εισόδου - Δοκιμή εισόδου Tidepool - Αν ενεργοποιήθηκε, τα δεδομένα θα ανέβουν στο https://int-app.tidepool.org αντί για το σύνηθες https://app.tidepool.org/ - Χρησιμοποιήστε διακομιστές ολοκλήρωσης (δοκιμής) - Tidepool - TDP - Αποστολή δεδομένων στο Tidepool - Αποστολή δεδομένων CGM - Αποστολή θεραπειών (ινσουλίνης, υδατανθράκων) - Αποστολή προσωρινών ρυθμών - Αποστολή αλλαγών προφίλ, προσωρινών στόχων - Αποστολή BG βαθμονομήσεων - 2ώρες - !!!!! Μικρή απορρόφηση υδατανθράκων ανιχνεύτηκε: %2$d%% της ώρας. Τσεκάρετε τους υπολογισμούς σας. COB μπορεί να υπερεκτιμήθηκε και να δόθηκε περισσότερη ινσουλίνη!!!!!]]> - Χορήγηση του αποτελέσματος αυτού του μέρους του υπολογισμού bolus [%] Ο Υπολογισμός Bolus κάνει υπολογισμούς αλλά μόνο αυτό το μέρος της υπολογίσημης ινσουλίνης χορηγείται. Χρήσιμο με τον αλγόριθμο SMB. - Αυξείστε την μέγιστη βασική τιμή, επειδή η ρύθμιση είναι χαμηλότερη από τη μέγιστη βασική στο προφίλ σας - diff --git a/app/src/main/res/values-es-rES/exam.xml b/app/src/main/res/values-es-rES/exam.xml index cbd4f55443..3ea04e700d 100644 --- a/app/src/main/res/values-es-rES/exam.xml +++ b/app/src/main/res/values-es-rES/exam.xml @@ -1,228 +1,2 @@ - - ¿Qué es cierto acerca de DIA? - Duración de la acción de insulina (DIA) - Debes establecer el valor de DIA en tu perfil. - El valor mínimo permitido es 5 horas. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Si estás satisfecho con el valor de DIA que utilizaste en tu bomba antes de utilizar AAPS y te funcionó bien, no hay necesidad de cambarlo cuando empieces a cerrar el lazo. - Deberías determinar por ti mismo el valor apropiado para DIA. - Objetivo temporal ante Hipoglucemia - ¿Cuál es la razón principal para establecer un objetivo temporal por hipoglucemia? - Para corregir hipos causados por ajustes incorrectos de la tasa basal. - Para evitar que AAPS corrija de forma excesiva ante un aumento rápido de la glucosa por tomar hidratos rápidos para remontar una hipoglucemia. - Para corregir una hipo resultando de ejercicio. - Para evitar que la glucosa sanguínea se quede baja si ya hay una tasa basal temporal 0% en funcionamiento. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - ¿Qué perfil puede ser usado y configurado estando desconectado? - Tema: Perfil fuera de línea - El perfil NS puede ser usado pero no configurado. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Razones para aplicar \"Desconectar bomba\" en AAPS - ¿Qué se debe hacer al desconectar la bomba? - Esto es innecesario, ya que no se entregará insulina si la bomba está físicamente desconectada. - Evita que AAPS tenga en cuenta la insulina que no se entregó cuando la bomba estaba físicamente desconectada. - Si la bomba permanece conectada, no se detendrá la entrega de insulina. - Pasará AAPS a modo de lazo abierto - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Ajustes de AAPS - Ajustes de AAPS - ¿Cuáles son las mejores prácticas para hacer copias de seguridad de su configuración? - No necesita exportar sus ajustes siempre que haga una nota de ellos. - Exporta tu configuración después de completar un objetivo. - Exportar la configuración después de cambiar cualquiera de sus ajustes. - Exportar la configuración una vez finalizada la configuración inicial y haber establecido sus preferencias. - Exportar la configuración localmente usando el menú de mantenimiento. - El archivo de configuración se encuentra en la carpeta Almacenamiento/AAPS/preferencias en el teléfono. - Copie el archivo de preferencias a una ubicación segura fuera de su teléfono (p.e. mediante el uso de una nube, conectando un cable a una computadora, correo electrónico, etc.) - Si su teléfono está dañado o perdido, hay formas fáciles de recuperar remotamente su configuración sin hacer una copia de seguridad. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Lecturas CGM ruidosas - ¿Qué se debe hacer si los datos de CGM tienen ruido? - No hacer nada: AAPS se ocupará de ello. - Deshabilita el lazo cerrado para evitar posibles sobredosis o subdosis. - Sustituya los sensores constantemente ruidosos o inexactos. - Comprueba que tu aplicación CGM proporciona datos suavizados. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Ejercicio y perfiles - ¿Cómo puede usar perfiles para ayudar mejor al sistema a hacer frente al ejercicio aeróbico? - Haga un cambio de perfil a menos de 100%. - Haga un cambio de perfil a más de 100%. - Dejar el perfil configurado al 100%. - Suspender el lazo - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Ejercicios y objetivos temporales - ¿Cómo se puede usar objetivos temporales para ayudar mejor al sistema a hacer frente al ejercicio aeróbico? - Establece un objetivo de glucosa en la sangre actividad que comienza un tiempo adecuado antes de comenzar el ejercicio. - Establece un objetivo de glucosa en la sangre actividad después de finalizar el ejercicio. - Deja tu objetivo de glucosa sanguíneo sin cambios. - Espere hasta que la glucosa en sangre caiga por debajo de su objetivo de hipo temp y luego coma 15 g de hidratos de carbono de actividad rápida. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Desactiva/suspende el lazo - ¿Recibo insulina cuando el lazo está desactivado/suspendido? - Sí, la insulina basal sigue siendo entregada. - No, la administración de la insulina está detenida. - Pruebas basales, ISF, e I:C - ¿Cuándo se deben validar estos valores? - Antes de empezar el lazo - Cuando se tienen valores de glucosa altos o bajos frecuentemente. - Al menos una vez a la semana. - Una vez fijados y validados, estos valores no debrían cambiar a lo largo del tiempo. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Requisitos previos - ¿Qué es esencial para configurar y utilizar AAPS? - Información de perfil validada (Basal, IC, ISF, DIA). - Un ordenador con Android Studio instalado y configurado. - Un teléfono compatible. - Una bomba de insulina compatible, si planeas usar el sistema en modo \"lazo cerrado\". - Nightscout, para tener un registro de los datos y revisar los parámetros de configuración. - Una cuenta de Tidepool. - Una cuenta de Google. - Una cuenta de Github. - Experiencia programando o editando código. - Una bomba MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Un Smartwatch. - Un MCG soportado. - Requisitos previos - ¿Qué es esencial para configurar y utilizar AAPS? - Parámetros validados para poder configurar un perfil (ISF, I:C ratio, perfil basal, DIA etc.). - Un dispositivo Android compatible (e.j. un móvil, un smartwatch Android compatible o una tablet). - AAPS requiere una conexión a Internet para funcionar en modo lazo cerrado. - Un medidor continuo de glucosa (MCG) y una aplicación capaz de recibir los valores proporcionados por el medidor en el móvil o tablet. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Actualizando AAPS - Compruebe todas las respuestas correctas. - Es necesario tener Git instalado y configurado en el ordenador. - Cuando esté disponible una versión más reciente de AAPS, las funciones de las versiones anteriores pueden ser limitadas de forma remota después de una fecha determinada. - Se debe guardar en un lugar seguro la \"keystore\" que se ha empleado y usar la misma\"key\" para futuras actulizaciones. - Nunca actualice si el sistema está funcionando bien. - Si tienes problemas construyendo la aplicación (. apk), puedes instalar el mismo archivo. apk compilado por un amigo. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Solución de problemas - ¿Dónde puedes buscar ayuda con AAPS? - Puede solicitar asesoramiento en el grupo de usuarios de AAPS en Facebook. - Deberías leer (y volver a leer) la documentación de AAPS. - Puedes solicitar asesoramiento y registrar problemas técnicos o indidencias en el grupo de Discord de AAPS. - Debes preguntar a tu endocrino o educador diabetológico. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Plugins de insulina - ¿Qué insulina debes usar con el plugin Ultra-Rapid Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"insulina humana estándar\". - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Plugins de sensibilidad - Compruebe todas las respuestas correctas. - Los plugins de sensibilidad permiten a AAPS ajustarse para cambios temporales o de corta duración en la sensibilidad a la insulina (por ejemplo, cambios hormonales o problemas con la absorción en el sitio de infusión). - Los plugins de sensibilidad sugieren al usuario cambios en la cantidad de insulina basal a suministrar, en el factor de sensibiliad a la insulina (ISF) y en el ratio I:C y pueden ser incorporados al perfil definido. - Registrar el cámbio de cánula reseteará Autosens, dejándolo de nuevo al 100%. - Algunas de las opciones del plugin tienen rangos de tiempo configurables que pueden ser definidos por el usuario. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/es/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Error de entrada de Carbohidratos - ¿Qué deberías hacer si has hecho una entrada incorrecta de carbohidratos? - Elimina la entrada incorrecta en los tratamientos e introduce el valor correcto de carbohidratos. - Bolo con insulina usando el menú de llenado de la infusión. - No hacer nada - AAPS realizará los ajustes apropiados. - Bolo con insulina usando el botón de Insulina (bolus) en página general. - Errores de entrega/entrada de insulina - ¿Qué debes hacer si recibiste menos insulina de la que sugiere la historia de la bomba p.ej. debido a una oclusión, una cánula fallida o olvidarse de reponer la bomba después de una ducha? - Elimina los datos de insulina del portal de Nightscout Careportal para eliminarlos del historial de la bomba. - Comparar valores en AAPS con el historial de la bomba (si la bomba lo soporta). - Bolo una proporción de la insulina calculada “perdida” por jeringa/pluma o usando menú de llenado. - No hacer nada y permite que AAPS corrija cualquier resultado de nivel alto de glucosa en sangre. - Carbohidratos activos (COB) - ¿Cómo afecta el cambio del valor ISF al cálculo de COB? - Incrementar el ISF hará que los carbohidratos se absorban más lentamente - Incrementar el ISF hará que los carbohidratos se absorban más rápidamente - Incrementar el ISF no afectará la absorción calculada de carbohidratos - ¿Cómo afecta cambiar los valores de IC a los cálculos de COB? - Incrementar el IC hará que los carbohidratos se absorban más lentamente - Incrementar el IC hará que los carbohidratos se absorban más rápidamente - Incrementar el IC no afectará la absorción calculada de carbohidratos - ¿Cómo afecta el cambio de porcentaje del perfil al cálculo de los COB? - Establecer el perfil a 150% hará que los carbohidratos se absorban más lentamente - Establecer el perfil a 150% hará que los carbohidratos se absorban más rápidamente - Establecer el perfil a 150% no afectará la absorción calculada de carbohidratos - Insulina a bordo (IOB) - El valor del IOB se ve afectado por las bases temporales ejecutadas. - No se dará alta tasa basal temporal cuando su nivel de azúcar en sangre esté por debajo del objetivo. - El IOB negativo durante un período sustancial en ausencia de ejercicio sugiere que tu perfil es demasiado fuerte y que se necesita menos insulina en tus ajustes. - El IOB positivo durante un período sustancial sugiere resistencia a la insulina o comidas no anunciadas. - Entrada y bolos de carbohidratos - Sólo se deben utilizar gramos para estimar y registrar los carbohidratos consumidos. - Los carbohidratos consumidos se pueden registrar utilizando un sistema de intercambio apropiado (por ejemplo, los intercambios DAFNE \"CHO\" o \"Unidades de Pan\" europeas). - AAPS utiliza un modelo dinámico para estimar la \"reducción\" y calcular el COB. - Si los niveles de glucosa en sangre están fuera de los valores aceptables (demasiado bajos o demasiado altos), la calculadora del bolo se puede utilizar para proporcionar sugerencias para las correcciones de carbohidratos o de insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - ¿Para qué podría utilizar los e-carbs (carbohidratos extendidos)? - Para programar los carbohidratos en el futuro, posiblemente distribuidos a través de un período (similar a un bolo extendido que distribuye insulina sobre un período). - Para regristrar carbohidratos \'libres\' de ejercicios que quieres ocultar a AAPS. - Los eCarbs (distribuidos en el futuro) pueden ayudar a AAPS con el tratamiento de comidas con alto contenido de grasa/proteína (UGP). - Para registrar carbohidratos de rescate que se utilizan para tratar glucosa baja. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Monitoreo remoto - ¿Cómo puedes monitorizar AAPS de forma remota (por ejemplo, para ver a tu hijo)? - La aplicación AAPSClient, la aplicación Nightscout y la página web de Nightscout permiten seguir de forma remota a AAPS. - Otras aplicaciones (por ejemplo, Dexcom follow, xDrip running en el modo de seguimiento) le permiten seguir algunos parámetros (por ejemplo, los valores de glucosa/sensor) de forma remota, pero utilizan diferentes algoritmos por lo que puede tener valores de IOB o COB inexactos. - Para seguir a AAPS de forma remota, ambos dispositivos deben disponer de acceso a Internet (por ejemplo, vía WiFi o red de datos móviles) - AAPSClient se usa como seguidor remoto y permite supervisar y proporcionar control total de AAPS. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Factor Sensibilidad a la Insulina (ISF) - El aumento de los valores de ISF conducirá a un mayor suministro de insulina para cubrir una cantidad específica de carbonos. - Reducir los valores de ISF conduce a una mayor cantidad de insulina para corregir una glucosa sanguínea a un objetivo superior. - Aumentar o reducir el ISF no tiene ningún efecto en la administración de insulina cuando los niveles de glucosa en la sangre están por debajo del objetivo. - El ISF debe añadirse en las preferencias de AAPS. - El cambio del valor de ISF en el perfil es suficiente para aplicar el cambio. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Puede utilizar más de un valor para la relación I:C en su perfil. - Si cambias tu ISF en tu perfil, siempre deberías cambiar tu relación I:C también. - Proporción de insulina a carbohidrato (relación I:C) - Las relaciones I:C más altas conducen a menos insulina entregada por una cantidad dada de carbohidratos. - Las relaciones I:C más bajas conducen a menos insulina entregada por una cantidad dada de carbohidratos. - Si tiene 0 COB, cambiar la ratio IC conducirá a una cantidad distinta de insulina para corregir un valor de glucemia determinado. - El IC será diferente si cuenta una unidad de carbohidratos como 10g o 12g. - IC significa: Cuántas unidades de carbohidratos están cubiertas por 1U de insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Cambio de perfil - Al especificar un cambio de perfil del 90%, ¿qué respuestas son correctas? - Las basales serán 10% más bajas. - El ISF será un 10% más alto. - El valor del ratio I:C será un 10% más bajo. - Las relaciones ISF e I:C no se modificarán. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#profile-switch - Cambio de perfil - Al especificar un cambio de perfil del 120%, ¿qué respuestas son correctas? - El objetivo de la glucosa en sangre será 20% más alto. - Las tasas basales serán un 20% más altas. - El objetivo de la glucosa sanguínea no cambiará. - El ISF será un 20% más alto. - Cambio de perfil - Si te levantas 2 horas antes de lo habitual, ¿cómo debes notificar a AAPS sobre el cambio de horario? - Iniciar un cambio de perfil con un intervalo de tiempo de 2 - Iniciar un cambio de perfil con un intervalo de tiempo de -2 - Establece un objetivo temporal comida pronta. - Haga un cambio de perfil a más de 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Cambios en perfiles - Las tasas basales, ISF, I:C, etc., deben establecerse en los perfiles. - Activar cambios en el perfil de Nightscout requiere que el teléfono con AAPS disponga de conexión a Internet. - Editar perfiles para cambiar valores es suficiente para implementar cualquier cambio realizado. - Se pueden configurar múltiples perfiles y seleccionarlos para adaptarse a las circunstancias cambiantes (por ejemplo, cambios hormonales, turnos de trabajo, días de semana/fin de semana). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Ayuda con tasas basales - A donde ir para obtener ayuda con tasa basal y demás. - Tu equipo de diabetes - Google - Facebook - Otros Medicamentos. Por favor, lea la siguiente declaración y luego marque la casilla para aceptar la declaración. - AAPS reduce las tasas basales o suspende la administración de insulina para aumentar la glucosa en sangre. Los inhibidores de la familia de las SGLT2 (gliflozinas) pueden prevenir el aumento esperado de la glucosa en sangre, por lo que pueden producir una deficiencia de insulina preligrosa (DKA) -\nAlgunos nombres genéricos de marcas son: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nI Prometo que no tomaré este tipo de medicamentos cuando utilice AAPS o desactivaré el lazo cerrado antes de usarlos. - + diff --git a/app/src/main/res/values-es-rES/objectives.xml b/app/src/main/res/values-es-rES/objectives.xml index b578454c50..3ea04e700d 100644 --- a/app/src/main/res/values-es-rES/objectives.xml +++ b/app/src/main/res/values-es-rES/objectives.xml @@ -1,55 +1,2 @@ - - Inicio - Verificar - %1$d. Objetivo - Objetivo %1$d no iniciado - Objetivo %1$d no finalizado - Configurar la visualización y la monitorización, analizar los valores basales y los ratios - Comprobar que los datos de glucosa están disponibles en Nightscout, y que los datos de la bomba de insulina se están subiendo - Comenzando en lazo abierto - Ejecutar en modo de lazo abierto durante unos días, y aceptar manualmente las basales temporales. Configure y use objetivos temporales y predeterminados (por ejemplo, para actividad o carbohidratos para hipoglucemia) - Entender el lazo abierto, incluidas las recomendaciones de basales temporales - Sobre la base de esa experiencia, decidir valores de máximo basal, y ajustar la bomba y preferencias - Iniciando el lazo cerrado con suspensión con baja glucosa - Ejecutar en lazo cerrado con max IOB=0 durante unos días sin demasiados valores bajos de glucosa - Ajuste del lazo cerrado, aumentando máximo IOB por encima de 0 y bajando gradualmente objetivos BG - Usar unos cuantos días, y al menos una noche sin alarmas de glucosa baja, antes de bajar valor de glucosa - Ajustar las basales y ratios, si es necesario, y luego activar auto-sens - Una semana con éxito en lazo cerrado durante el día con entrada regular de carbohidratos - Habilitar funciones adicionales para uso durante el día como SMB - Activar automatización - ¡Debes leer el wiki y subir maxIOB para que SMB funcione bien! Para comenzar un buen valor sería maxIOB = bolo de comida medio + 3 x máximo basal diario - Lea los documentos sobre cómo funciona la automatización. Configura tus primeras reglas simples. En lugar de acción, deje que AAPS muestre solo notificaciones. Cuando esté seguro de que la automatización se activa en el momento adecuado, reemplace la notificación por acción real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glucosa disponible en NS - Estado de la bomba disponible en NS - Aprobación Manual - Completado: %1$s - Aprenda cómo controlar AAPS - Ejecutar diferentes acciones en AAPS - Establecer perfil 90% durante 10 min (Pulsación larga en nombre del perfil en Resumen) - Simular ducha. Desconectar bomba durante 1h (Pulsación larga en el lazo abierto) - ... y volver a conectar de la misma manera - Crear un objetivo temporal personalizado con 10 min de duración (Pulsación larga en tu objetivo actual) - En Config Builder habilitar el plugin Acciones, hágalo visible y muestre su contenido desde el menú superior - Mostrar contenido del plugin Loop - Usar función de escala mediante un gráfico BG pulsado largo - Intro - Si tienes al menos 3 meses de experiencia con el bucle cerrado de otros sistemas puedes cualificarte para obtener un código para saltarte los objetivos. Para información detallada (en inglés): https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. - Código aceptado - Código inválido - Compruebe su conocimiento - Estudia las preguntas. Se te dan cuatro respuestas posibles para cada pregunta. Puede haber más de una respuesta correcta. Por favor, marca todas las que son correctas y seleccione VERIFICAR. - Respuesta deshabilitada a: %1$s - Respuesta incorrecta! - Siguien&te sin terminar - Solicitar código: %1$s - (compruebe todas las respuestas correctas) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Sin conexión a Internet - Fallo tiempo de recuperación - No se cumplen los requisitos de objetivo - + diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 82c57ce965..10b26dd93c 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -3,55 +3,25 @@ - Seguridad de tratamientos - Máximo bolo permitido [U] - Máximos carbohidratos permitidos [g] - Nivel de glucosa por debajo de valor LGS (Suspensión por glucosa baja) Preferencias de %1$s Preferencias Actualizar los tratamientos desde Nightscout Restablecer las bases de datos ¿Realmente quiere restablecer las bases de datos? Salir - Algunos botones para acceder rápidamente a funciones comunes Utilizado para configurar complementos activos - Programa de aprendizaje Activar o desactivar la posibilidad para activar el lazo. - Sincroniza tus datos con Nightscout - Estado del algoritmo en 2017 - Algoritmo más reciente para usuarios avanzados - Algoritmo más reciente para usuarios avanzados con ISF dinámico/automático Muestra el estado actual de tu lazo y los botones para las acciones más usadas Muestra una notificación en curso con un breve resumen de lo que está haciendo tu lazo - Integración de bombas de insulina que aún no tienen ningún controlador disponible (lazo abierto) La sensibilidad se calcula de la misma manera que en Oref0, pero puede especificarse el rango de tiempo. La absorción de carbohidratos mínima se calcula con el máximo tiempo de absorción de carbohidratos en preferencias La sensibilidad se calcula con las últimas 8h y los carbohidratos (si no son absorbidos) se anulan después del tiempo indicado en preferencias. Este complemento también calcula UAM La sensibilidad se calcula como un promedio ampliado de las desviaciones. Las desviaciones más recientes tienen un mayor impacto. La absorción de carbohidratos mínima se calcula desde el tiempo de absorción de carbohidratos máximo en preferencias. Este algoritmo es el más rápido, siguiendo los cambios de sensibilidad - Recibir los valores de glucosa de la aplicación Eversense parcheada. - Recibir valores de glucosa de Glimp. - Recibir los valores de glucosa del 600SeriesAndroidUploader. - Recibir los datos de glucosa de Nightscout - Recibir los valores de glucosa de xDrip+ Guarda todos los tratamientos que se realizaron Supervisar y controlar AAPS usando un reloj WearOS - Ejecutar ahora - BOMBA VIRTUAL - Última acción - Parámetros de entrada - Estado de glucosa - Basal temporal actual - Datos IOB - Perfil - Datos de comidas - Resultado - Resultado: %1$s %2$s - No hay disponibles datos de glucosa - Solicitud Delta Tabla de configuraciones Inicio Tratamientos - Bomba virtual Bomba ¿Qué bomba quieres utilizar con AAPS? Perfil @@ -60,35 +30,22 @@ ¿Qué algoritmo APS quieres usar para ajustar tu tratamiento? Ajustes generales Algunos ajustes generales que pueden ser de utilidad + Sincronización ¿Qué restricciones se aplican? - Restricciones Lazo Usa esto para habilitar la integración de lazo de AAPS APS Tras procesar las restricciones Basal temporal establecida por la bomba NO APS Seleccionado o resultado entregado - Seguridad - El complemento está deshabilitado Violación de restricciones - Aceptar nueva basal temporal: ¡Cambiar datos! Origen de Glucosa ¿Desde dónde debería obtener AAPS los datos? - xDrip+ - Modo APS - Lazo cerrado - Lazo abierto - Suspensión por glucosa baja (LGS) Nueva propuesta disponible Sugerencia de carbohidratos - Versión de Nightscout no soportada - Tiempo de absorción Perfil - Basal temporal - Bolo extendido Versión de Nightscout: - Faltan %1$d g Ajustes exportados Entradas de usuario exportadas Exportar ajustes a @@ -97,12 +54,7 @@ Archivo no encontrado Exportar ajustes Importar ajustes - Máximas U/h que la basal temporal no podrá superar - Este valor se llama \"Max basal\" en el contexto de OpenAPS - Basal máxima que OpenAPS puede entregar [U] - Este valor se denomina \"Max IOB\" en OpenAPS\nEsta es la cantidad máxima de insulina en [U] que APS puede entregar a la vez. Se le solicitará la contraseña maestra, que se utilizará para cifrar los ajustes exportados - Se le solicitará la contraseña maestra, que es necesaria para descifrar las preferencias importadas. ¡Exportación cancelada! ¡Las preferencias NO se han exportado! ¡Importación cancelada! ¡Las preferencias NO se han importado! ¡No se pueden importar preferencias! @@ -122,7 +74,6 @@ LO ENTIENDO Y ACEPTO Guardar Recargar Perfil - Asistente Asistente de configuración Botón Texto: Carbohidratos: @@ -130,16 +81,9 @@ Añadir Editar Corrección - Acciones (PELIGROSO DESHABILITAR) Sólo subida a Nightscout Sólo subir a Nightscout (sincronización desactivada). No es efectivo en SGV, a menos que se seleccione una fuente local como xDrip+. No es efectivo en perfiles, si se usan perfiles Nightscout.\n!!! ¡¡ADVERTENCIA!!! Desactivar esta opción puede causar mal funcionamiento y sobredosis de insulina, si cualquiera de sus componentes (AAPS, NS, xDrip+) está mal configurado. ¡Vigile cuidadosamente si los datos mostrados por AAPS coinciden con el estado de la bomba! ¡Bomba no iniciada! - Cebar/Llenar - Por favor, asegúrate de que la cantidad coincide con la especificada en el set de infusión - Cebar/Llenar la cantidad de insulina estándar - Botón 1 - Botón 2 - Botón 3 Unidades Rango de visualización Establece los rangos de glucosa objetivos (hiper e hipo) en la pantalla inicio de AAPS y en la esfera del reloj @@ -148,108 +92,22 @@ Reloj Reenviar todos los datos Abrir ajustes en el reloj - Tasa Basal - MM640g Notificaciones en curso DATOS CADUCADOS - OpenAPS AMA - Matriz de %1$d elementos.\nValor actual: - Datos Autosens - Depurar script - Usar la función Autosens - ACC CONF LAZO - OAPS - DYNISF INICIO - BOMBAV TRAT - OBJ RELOJ Nombres cortos en pestañas - Usar siempre el delta medio corto, en lugar del delta simple - Útil cuando los datos de fuentes sin filtrar como los de xDrip+ son inestables - Valor predeterminado: 3. Este valor es una protección de seguridad clave de OpenAPS. Limita la basal máxima que puede usar AAPS a un máximo de tres veces tu basal. Probablemente nunca necesites modificar este valor. Antes de modificarlo deberías tener en cuenta las discusiones sobre \"3x máx diaria; 4x actual\" por motivos de seguridad - Valor predeterminado: 4. Esta es la otra mitad de los ajustes de seguridad de OpenAPS y de \"3x máx diaria, 4x actual\". Esto significa que tu basal, independientemente del valor de basal máxima que tengas configurado en la bomba, nunca podrá superar este valor multiplicado por tu basal actual. Esto se usa para evitar que las personas se encuentren en situaciones peligrosas por aumentar excesivamente la basal, sin entender como funciona el algoritmo. La mayoría de las personas nunca tendrán que cambiar estos valores. Si estás cerca de alcanzar éstos límites, deberías de ajustar otras configuraciones - Valor predeterminado: 1.2\nEste parámetro establece un límite de seguridad máximo por defecto del 20% en autosens (y pronto en Autotune), que limita los valores máximos que puede: aumentar las basales, disminuir el factor de sensibilidad (ISF) y disminuir el objetivo de glucosa - Valor predeterminado: 0.7\nEste parámetro establece un límite de seguridad mínimo por defecto del 30% en autosens, que limita los valores que puede: disminuir las basales, aumentar el factor de sensibilidad (ISF) y aumentar el objetivo de glucosa - Autosens también ajusta los objetivos - Valor predeterminado: habilitado\nEste ajuste permite que autosens pueda ajustar los objetivos de glucosa, así como, el factor de sensibilidad (ISF) y las basales - Valor predeterminado: 2\nLa característica \"Bolus snooze\" (bolo de repetición) se activa después de suministrar un bolo de comida. Esto permite que durante el periodo de tiempo resultante de dividir el valor de DIA por este ajuste, AAPS no establezca basales temporales demasiado bajas. Por ejemplo, con el valor predeterminado 2 y un valor de DIA establecido en 5 horas, la duración del bolo de repetición resultante sería de 2,5 horas (5/2=2,5h), periodo en el cuál, las basales temporales no serán demasiado bajas. - Valores predeterminados: 3.0 (AMA) y 8.0 (SMB)\nEsta configuración establece cómo se absorben los carbohidratos cada 5 minutos. Por defecto se espera que se absorban 3mg/dl cada 5 minutos. Esto afecta a la rapidez con la que los carbohidratos (COB) decaen, y cómo se calcula la predicción de la absorción de carbohidratos futuros, cuando la glucosa está cayendo más de lo esperado, o no aumenta tanto como se esperaba - ¡ATENCIÓN!\nLos valores que se muestran a continuación, normalmente no suelen ser necesario modificarlos. Por favor, PINCHA AQUÍ y lee todo el contenido. Asegúrate de que lo has entendido completamente antes de modificar alguno de estos valores. - Ejecutando - Ajustes de bomba virtual - Subir estado a Nightscout - NSClient - NSCLI - URL: - Desplazamiento automático - Reiniciar - NSClient - Página de Nightscout - Introduce tu página de Nightscout - API Secret de Nightscout - API Secret de Nightscout - Introduce la contraseña API Secret de Nightscout (mínimo de 12 caracteres) - Lanzar ahora - Borrar cola - Mostrar cola - Cola: - Estado: - Borrar log - NSClient no tiene permisos de escritura. ¿API Secret incorrecta? Ajustes de reloj sin efecto - por favor verificar en móvil - Tipo de paciente - Menor de edad - Adolescente - Adulto - Adulto resistente a la insulina - Embarazada - Por favor, selecciona el tipo de paciente para establecer los límites de seguridad Nombre del paciente Proporcione el nombre de paciente o el apodo para diferenciar entre varias configuraciones - Glimp - Suspender lazo durante 1 hora - Suspender lazo durante 2 horas - Suspender lazo durante 3 horas - Suspender lazo durante 10 horas - Desconectar bomba - Desconectar la bomba durante 15 minutos - Desconectar la bomba durante 30 minutos - Desconectar la bomba durante 1 hora - Desconectar la bomba durante 2 horas - Desconectar la bomba durante 3 horas - 15 min - 30 min - 1 hora - 2 horas - 3 horas - 10 horas - Reanudar - Vuelva a conectar la bomba - Registrar el inicio de la aplicación en Nightscout Saliendo de la aplicación para aplicar los ajustes. ¿Qué tipo de insulina estás utilizando? Activar superbolo en asistente Activar la función superbolo en el asistente. No lo actives hasta que hayas aprendido lo que realmente hace. ¡PUEDE CAUSAR SOBREDOSIS DE INSULINA si lo usas sin precaución! - Mostrar luces de estado en la pantalla de inicio - Umbral de advertencia de la edad de la cánula [h] - Umbral crítico de la edad de la cánula [h] - Umbral de advertencia de la edad de la insulina [h] - Umbral crítico de la edad de la insulina [h] - Umbral de advertencia de la edad del sensor [h] - Umbral crítico de la edad del sensor [h] - Umbral de advertencia de nivel de batería del sensor [%] - Umbral crítico de nivel de batería del sensor [%] - Umbral de advertencia de la edad de la batería de la bomba [h] - Umbral crítico de la edad de la batería de la bomba [h] - Umbral de advertencia del nivel del reservorio [U] - Umbral crítico del nivel del reservorio [U] - Umbral de advertencia de nivel de batería bomba [%] - Umbral nivel crítico de la batería de bomba [%] PRED BAS DEV @@ -259,18 +117,12 @@ DEVSLOPE Acerca de Falta permiso de estado del teléfono - Cancelar bolo extendido Cambio de perfil - Sensor - Insulina - Batería de la bomba - Edad: - Nivel: - Opciones de alarmas + Opciones de alarmas Crear notificaciones de alarmas desde Nightscout Crear notificaciones desde Nightscout - Datos antiguos limite [min] - Datos antiguos urgentes limite [min] + Datos antiguos limite [min] + Datos antiguos urgentes limite [min] Intervalo para autosens [h] Número de horas para detectar la sensibilidad (tiempo de absorción de carbohidratos excluido) OpenAPS @@ -283,27 +135,13 @@ Ajustes de absorción Tiempo máximo de absorción de la comida [h] Tiempo en horas en el que se espera que todos los carbohidratos hayan sido absorbidos - OAPS - UPLD Mantener la pantalla activa Evita que Android apague la pantalla. Consume mucha batería cuando el teléfono no está conectado al cargador Al activar Autosens, recuerda introducir todos carbohidratos que has comido, sino, las desviaciones de carbohidratos serán identificados incorrectamente, como un cambio de sensibilidad Sensibilidad promedio ponderada Faltan perfiles por cargar! Valores no guardados! - Activar transmisiones a otras aplicaciones (como xDrip+). ¡No activar si tiene más de una instancia de AAPS o AAPSClient instalado! - Habilitar la emisión de mensajes localmente. - OpenAPS SMB - ISF Dinámico - Factor de ajuste de ISF Dinámico % - Porcentaje del factor de ajuste de ISF Dinámico\nValor predeterminado: 100\nEstablecer valores por encima del 100% para que el algoritmo aplique correcciones más agresivas y valores por debajo del 100% para correcciones menos agresivas. - Activar UAM - Activar SMB - Usar microbolos en lugar de basales temporales, para corregir más rápidamente - Detectar comidas no anunciadas (UAM) INVÁLIDO - Porcentaje - Tiempo del cambio Objetivo temporal por defecto Duración OT Comiendo Pronto Objetivo Comiendo Pronto @@ -311,33 +149,16 @@ Objetivo Actividad Duración OT Hipo Objetivo Hipo - Reutilizar %1$d%% %2$dh Control desde el reloj Establece objetivos temporales (OT) y añade tratamientos desde el reloj - Usa las notificaciones del sistema para las alarmas y las notificaciones Aumentar gradualmente el volumen de las alarmas y de las notificaciones Alarmas locales Alarma si no llegan datos de glucosa Alarma si la bomba no es alcanzable Bomba no alcanzable durante [min] Alarma si se necesitan carbohidratos - Alarma urgente - INFORMACIÓN - Eversense App (parcheada) - Subir datos de glucosa a Nightscout - Ajuste de subida de datos de glucosa Mostrar detalles del delta Mostrar el delta con un decimal más - Con qué frecuencia se administrarán los SMB en min - Minutos máximos de basal para limitar SMB - Minutos máximos de UAM SMB - Minutos máximos de basal para limitar SMB para UAM - Carbohidratos mínimos necesarios para la sugerencia - Gramos mínimos de carbohidratos para mostrar una alerta de sugerencia de carbohitratos: las sugerencias de carbohidratos debajo de este número no iniciarán una notificación. - Enviar datos de glucosa a xDrip+ - En xDrip+, selecciona 640G/Eversense como fuente de datos - NSClient BG - NS BG Cálculo de glucosa Cálculo bolo IOB Cálculo basal IOB @@ -348,41 +169,17 @@ Cálculo COB Cálculo objetivo temporal Cálculo de porcentaje - Lazo activado - APS seleccionado - NSClient tiene permiso para escribir - Lazo cerrado activado - Máximo IOB ajustado correctamente - Glucosa disponible desde la fuente seleccionada - Error al emitir bolo extendido - Habilitar SMB siempre - Habilitar SMB siempre, de forma independiente a los bolos. Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 - Habilitar SMB después de Carbohidratos - Habilitar SMB durante 6 horas después de los carbohidratos, incluso con 0g de carbohidratos (COB). Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 - Habilitar SMB con Carbohidratos - Habilitar SMB cuando hay carbohidratos activos (COB) - Habilitar SMB con Objetivos Temporales - Habilitar SMB cuando hay un Objetivo Temporal (OT) activo (ComiendoPronto, Actividad, etc.) - Habilitar SMB con Objetivos Temporales altos - Habilitar SMB cuando hay activo un objetivo temporal alto (ejercicio superior a 100 mg/dl o 5.5 mmol/l) - Insulina Botones Envía una calibración a xDrip+ o abre la pantalla de calibración de Dexcom BYODA Abre xDrip+ o Dexcom BYODA. Si pulsas el botón atrás, regresa a AAPS Cantidad de carbohidratos que se agregan cuando se presiona el botón Cantidad de insulina que se agrega cuando se presiona el botón No se pudo iniciar la aplicación CGM. Asegúrate de que está instalada. - MCG Ignorar 5m Ignorar 15m Ignorar 30m - Historial Notificar SMB Mostrar SMB en el reloj como un bolo estándar - Crear notificaciones de los errores - Crear notificaciones de alertas de carbohidratos necesarios - Crear notificaciones en Nightscout para diálogos de error y alertas locales (también visibles en el portal de cuidados, en los tratamientos) - Crear notificaciones de Nightscout para las alertas de carbohidratos necesarios Mostrar las predicciones en el reloj Predicciones Opciones de datos @@ -390,8 +187,6 @@ Permite que los informes de errores automáticos y los datos de uso de las funciones, se envíen a los desarrolladores mediante el servicio fabric.io Actualiza tu aplicación de Dexcom a una versión compatible La aplicación Dexcom no está instalada. - No administrar bolo, sólo anotarlo - El bolo sólo se anotará (no será entregado por la bomba) SMB administrado por bomba Actividad Impacto de glucosa en sangre @@ -400,32 +195,11 @@ Carbohidratos activos COB Insulina activa Basales - Ejecutando la versión dev. Lazo cerrado no disponible. Modo de ingeniería activado - La bomba no tiene capacidad basal temporal - Lazo cerrado deshabilitado en preferencias - Autosens deshabilitado en preferencias - SMB deshabilitado en preferencias - UAM deshabilitado en las preferencias - UAM deshabilitado al usar el plugin de sensibilidad Oref1 - multiplicador basal máximo - multiplicador basal diario máximo Un Bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB Basal establecida correctamente - Limitando el bolo extendido a %1$.1f U debido a %2$s - Limitando carbohidratos a %1$d g debido a %2$s - Limitando IOB a %1$.1f U debido a %2$s - valor máximo en preferencias - límite estricto - Anotar el cambio de sitio de la bomba - Anotar cambio del cartucho de insulina - SMB siempre y tras carbohidratos deshabilitados porque la fuente activa de glucosa no admite filtro avanzado - SMB no permitido en modo de lazo abierto - Máximo IOB total que OpenAPS no puede superar [U] - Este valor se denomina \"Max IOB\", en el contexto de OpenAPS\nOpenAPS no podrá superar esta cantidad de insulina activa (IOB) Tiempo máximo de absorción de la comida [h] Tiempo en el que cualquier comida se considera absorbida. Los carbohidratos restantes serán cortados. - Valor de glucosa por debajo del cual se suspende la administración de insulina. El valor predeterminado utiliza el modelo de objetivo estándar. El usuario puede establecer un valor entre 60mg/dl (3. mmol/l) y 100mg/dl (5.5mmol/l). Valores por debajo de 65/3.6 usan el modelo predeterminado Mostrar el campo notas en diálogos de tratamientos Siguiente Anterior @@ -438,33 +212,17 @@ Segundo incremento de carbohidratos Tercer incremento de carbohidratos MCG - Usar conexión móvil - Usar conexión WiFi - WiFi SSID - Durante la carga - Con batería - Ajustes de conexión - SSID\'s permitidos (separados por punto y coma) - Permitir conexión en roaming Ratio máximo de autosens Ratio mínimo de autosens - DIA Divisor para suspensión de bolos - Máximo multiplicador diario de seguridad - Multiplicador basal de seguridad actual - Bomba virtual - Definición de la bomba - Bolo: Paso =%1$s\nBolo Extendido: [paso =%2$s, Duración =%3$smin -%4$sh] \nBasal: Paso =%5$s\nTBR: %6$s ( %7$s), Duración =%8$sMin -%9$sh\n%10$s Cálculos incluidos en el resultado del asistente: Ajustes de pantalla Configuración general - Activar NSClient Bienvenido al asistente de instalación, que te guiará en el proceso de configuración\n Leer estado Saltar asistente de configuración Presionar el botón de abajo para permitir que AAPS pueda sugerir/realizar cambios en la insulina basal El complemento de sensibilidad es usado para detectar la sensibilidad y cálculo de COB. Para más info ver: https://androidaps.readthedocs.io/es/latest/Configuration/Sensitivity-detection-and-COB.html - NSCliente controla la conexión con Nightscout. Puedes saltar este paso ahora pero no podrás completar los objetivos hasta que lo configures. Por favor, recuerde: nuevos perfiles de insulina requieren DIA de al menos 5h. DIA de 5-6h en nuevos perfiles es lo mismo que DIA de 3h en perfiles antiguos. Selecciona uno de los algoritmos disponibles. Están ordenados de más antiguos a más recientes. Los nuevos son más potentes y agresivos. Por ello, si eres un nuevo usuario, se recomienda empezar con AMA y no con el último. No olvides leer la documentación de OpenAPS y configurarlo antes de usarlo. Por favor, a continuación configure su RileyLink. Después de seleccionar un RileyLink, será posible continuar la configuración una vez que el estado de RileyLink esté en \"Conectado\". Esto podría tardar un minuto.\n @@ -474,21 +232,6 @@ Abrir navegación Cerrar navegación Preferencias del complemento - Poctech - Recibir los valores de glucosa de Poctech - Glunovo - Recibir los valores de glucosa de la aplicación Glunovo - Intelligo - Recibir los valores de glucosa de Intelligo - Recibir los valores de glucosa de Tomato App (MiaoMiao) - Objetivo temporal elevado aumenta sensibilidad - = 100]]> - Objetivo temporal bajo reduce sensibilidad - - Resistencia baja el objetivo - Cuando se detecta resistencia a la insulina, disminuye el objetivo de glucosa - Sensibilidad aumenta el objetivo - Cuando se detecta sensibilidad a la insulina, aumenta el objetivo de glucosa Eliminar elementos Ordenar elementos Encontrados ajustes de configuración @@ -504,64 +247,22 @@ Borrar registros Un tratamiento (insulina: %1$.2f, carbs: %2$d, at: %3$s) no ha podido ser añadido a tratamientos. Por favor compruebe y añada manualmente el registro apropiadamente. eCarbs: %1$d g (%2$d h), retraso: %3$d m - Sin datos autosens disponibles Archivos de registro Misceláneo Ajustes de registros Restablecer valores predeterminados - NSClient fallando. Considera reiniciar NS y NSClient. Modo preferido de APS Enviar los archivos de registro de hoy a los desarrolladores. Situación inesperada. Valor mínimo de cambio [%] Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor == ∑%1$s U - Registro de cambio de sensor en Nightscout - Crear evento \"Cambio de sensor\" en Nightscout automáticamente al iniciar el sensor - Tomato (MiaoMiao) - Tomato - Tu nombre de usuario de Tidepool, normalmente tu dirección de correo electrónico - Nombre de usuario - Tu contraseña de acceso a Tidepool - Contraseña de inicio de sesión - Prueba de acceso Tidepool - Si está habilitado, las subidas irán a https://int-app.tidepool.org en lugar de a https://app.tidepool.org/ - Usar servidores de integración (prueba) - Tidepool - TDP - Carga datos a Tidepool - Carga tus datos - Subir tratamientos (insulina, carbohidratos) - Subir basales temporales - Subir conmutaciones de perfil, objetivos temps - Subir pruebas de glucosa - 2h - Dexcom (BYODA) - BYODA - Recibir los valores de glucosa de la aplicación Dexcom \'Build Your Own Device\' - COB vs IOB - Restricción de bolo aplicada: %1$.2f U a %2$.2f U - ¡Se ha detectado una absorción lenta de carbohidratos: %2$d%% de tiempo. Comprueba de nuevo el cálculo. Los COB se pueden sobrestimar, por lo que se podría administrar más insulina de la cuenta!]]> - Administrar esta parte del resultado del asistente de bolos [%] El asistente de bolos realiza el cálculo, pero solo se entrega esta parte de la insulina calculada. Útil con el algoritmo SMB. - Aumentar el valor basal máximo porque el ajuste es inferior a tu base máxima en el perfil - Seleccionado: Unidades - Limpieza finalizada - Limpieza iniciada - ¿Desea reiniciar el objetivo? Puedes perder tu progreso. Seleccione las unidades en las que desea visualizar los valores Valor de glucosa baja (sólo visualización) Valor de glucosa alta (sólo visualización) - Entrada % inválida - Glucosa aleatoria - Generar datos aleatorios de glucosa (sólo modo Demo) - Glucosa - Herramientas - Mostrar cálculo Mostrar eliminados ¿Borrar cola? ¡Se perderán todos los datos de la cola! - El uso de la función de bolo extendido detendrá el modo de bucle cerrado durante el tiempo de ejecución del bolo extendido. ¿Realmente quieres esto? - Bucle cerrado inhabilitado debido a la ejecución del bolo extendido Menú gráfico Tiempo requerido de SMB Tiempo de ejecución de SMB @@ -574,36 +275,15 @@ Insulina en total La contraseña maestra se utiliza para cifrar la copia de seguridad y para desbloquear la seguridad de la aplicación. Recuérdala o guárdala en un lugar seguro. Contraseña maestra actual - Luces de estado - Copiar ajustes desde Nightscout - ¿Deseas copiar los ajustes desde Nightscout, si existen? - Tema original - Baja resolución - Los botones siempre se muestran en la parte inferior de la pantalla - Pantalla grande - Tema - Comparar perfiles - Asistente de perfil - Perfil predeterminado - Perfil actual - Perfil disponible - Tipo de perfil - Edad: %1$.0f TDD: %2$.0f U - Edad: %1$.0f TDD: %2$.0f U %3$d%% - Edad: %1$.0f Peso: %2$.0f kg - % de basal - Perfil DPV por defecto Estado de RileyLink: No se puede crear el perfil. El perfil es inválido. ¿No matar mi aplicación? - Ejecutar alarma cuando es hora de comer ¡Hora de comer!\nEjecutar el asistente de bolo y calcular de nuevo. Habilitar recordatorio de bolo Usa recordatorio de bolo más tarde con el asistente (\"post-bolus\") ¡Carga de registros de errores desactivada! Gráfico - Menú gráfico Borrar filtro Cánula Usa los valores de la comida más grande que sueles comer\n @@ -611,48 +291,12 @@ Dirección de Correo Electrónico Ajustes de privacidad Puedes proporcionar una dirección de correo electrónico opcional si quieres ser notificado sobre fallos de la aplicación. Este no es un servicio automatizado. Los desarrolladores se comunicarán contigo en situaciones peligrosas. - Sincronización completa - ¿Sincronización completa? Puede tardar muchas horas y hasta que termine no verás nuevos datos en Nightscout - Sincronización - Perfiles, bolos, carbohidratos y basales temporales se suben a Nightscout - Subir datos a Nightscout - Recibir perfil almacenado - Sincronizar perfiles desde el editor de perfiles de Nightscout - Recibir objetivos temporales - Aceptar objetivos temporales registrados mediante Nightscout o NSClient - Recibir cambios de perfil - Aceptar cambios de perfil registrados mediante Nightscout o NSClient - Recibir eventos de desconexión de APS - Aceptar eventos de desconexión de APS registrados mediante Nightscout o NSClient - Recibir TBR y EB - Aceptar TBR y EB ingresados mediante otra instancia - Recibir insulina - Aceptar insulina registrada mediante Nightscout o NSClient (no se entrega, sólo se calcula para IOB) - Recibir carbohidratos - Aceptar carbohidratos añadidos mediante Nightscout o NSClient - Recibir eventos de tratamientos - Aceptar registros de terapia (cánula, insulina, cambios de batería, etc.) añadidos mediante Nightscout o NSClient - Recibir/Rellenar datos del MCG - Aceptar valores MCG desde Nightscout - ¿Ejecutar %s? - Ralentizar subidas Estado de datos de glucosa Eliminar lecturas de glucosa - edad de la cánula - edad del parche de la bomba - Bomba parche Identificación (correo electrónico, FB, nick de Discord, etc.) Identificación no establecida en el modo dev diálogo - glucosa en sangre actual - resultado correcto con % - corregir resultado con unidades No disponible - gráfico - calidad de glucosa en sangre - insulina - glucosa en sangre - desactualizado Objetivo Temporal preestablecido desconocido: %1$s ¿Cancelar la ejecución del objetivo temporal? @@ -667,22 +311,6 @@ Calc. Asistente:\nInsulina: %1$.2fU\nCarbohidratos: %2$dg Mostrar entrada en dispositivo: El asistente rápido seleccionado ya no está disponible, por favor actualice su mosaico - ¡No hay valor de glucosa reciente en el que basar el cálculo! - ¡No hay perfil activo! - COB desconocido! ¿Valor de glucosa ausente o reincio reciente de la aplicación? - ¡Violación de restricción de carbohidratos! - Calcular (IC: %1$.1f, ISF: %2$.1f) - Carbohidratos: %1$.2fU - COB: %1$.0fg %2$.2fU - BG: %1$.2fU - IOB: %1$.2fU - Superbolo: %1$.2fU - Tendencia 15\': %1$.2fU - Porcentaje: %1$.2fU x %2$d%% ≈ %3$.2fU - ¡Violación de restricciones de insulina!\nNo se puede entregar %1$.2fU - BasalT: %1$s - %1$s a %2$s - ¡No hay bomba disponible! Comando de acción desconocido: Porcentaje Aplicación por defecto @@ -691,13 +319,7 @@ Ordenar Estado del lazo Escala gráfica - Perfil 1 - Perfil 2 - Inicio de sesión - Eliminar todos - Restablecer inicio Abrir la configuración - Establecer alarma de carbohidratos Todo Teléfono Reloj @@ -705,14 +327,7 @@ Sólo en teléfono Arrastrar y soltar Buscar - - GlucoRx Aidex - Aidex - Recibir los valores de glucosa de GlucoRx Aidex CGMS - Bloqueado por opciones de carga - Bloqueado por opciones de conectividad (Ningún reloj conectado) - Ajustar sensibilidad y glucosa Limpiar base de dados ¿Desea limpiar la base de datos?\nSe eliminarán los cambios registrados y los datos históricos con más de 3 meses de antiguedad. Entradas eliminadas diff --git a/app/src/main/res/values-fr-rFR/exam.xml b/app/src/main/res/values-fr-rFR/exam.xml index 97a001b775..3ea04e700d 100644 --- a/app/src/main/res/values-fr-rFR/exam.xml +++ b/app/src/main/res/values-fr-rFR/exam.xml @@ -1,228 +1,2 @@ - - Qu\'est-ce qu\'il y a de vrai pour le DAI (Durée Action Insuline)? - Durée d\'Action de l\'Insuline (DAI) - Vous devez définir la valeur de DAI dans votre profil. - La valeur minimale autorisée est de 5 heures. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html?#insulin - Si vous êtes convaincu que la valeur de DAI utilisée dans votre pompe avant AAPS marche bien, il n\'y a pas besoin de la changer lorsque vous commencez à utiliser la boucle. - Vous devez déterminer par vous-même la valeur appropriée pour la DAI. - Cible temporaire Hypo - Quelle est la raison principale pour définir une cible temporaire hypo? - Pour corriger les hypos causés par des paramètres de débit basal incorrects. - Pour empêcher AAPS de surcorriger une hausse de glycémie causée par les glucides à action rapide utilisés pour traiter une hypo. - Pour corriger une hypo due à un exercice. - Pour éviter que la glycémie ne baisse s\'il y a déjà un débit de basal temporaire de 0%. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html - Quel profil peut être utilisé et configuré hors ligne? - Rubrique : Profil Hors Ligne - Le profil NS peut être utilisé, mais il n\'est pas configuré. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html#profile - Motifs pour l\'utilisation de la \"Déconnexion de pompe\" dans AAPS - Que faire lors de la déconnexion de la pompe? - C\'est inutile car l\'insuline ne sera pas délivrée si la pompe est physiquement déconnectée. - Cela empêche AAPS de comptabiliser l\'insuline qui n\'a pas été délivrée quand la pompe est physiquement déconnectée. - Cela n\'arrêtera pas la distribution d\'insuline si la pompe reste connectée. - Cela passera AAPS en mode boucle ouverte. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#other-settings - Paramètres AAPS - Paramètres AAPS - Quelles sont les meilleures pratiques pour sauvegarder vos paramètres ? - Vous n\'avez pas besoin d\'exporter vos paramètres si vous les avez notés. - Exportez vos paramètres une fois que vous avez terminé un objectif. - Exportez vos paramètres après avoir modifié n\'importe lequel de vos paramètres. - Exportez vos paramètres une fois que vous avez terminé votre configuration initiale et défini vos préférences. - Exportez vos paramètres localement en utilisant le menu maintenance. - Votre fichier de paramètres se trouve dans le dossier Stockage Interne/AAPS/Préférences sur votre téléphone. - Copiez votre fichier de préférences vers un emplacement sûr en dehors de votre téléphone (par ex. en utilisant un disque cloud, en connectant un câble à un ordinateur, un courriel, etc.) - Si votre téléphone est endommagé ou perdu, il existe des moyens faciles de récupérer vos paramètres à distance sans aucune sauvegarde. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Valeurs MGC bruitées - Que faut-il faire si les données de MGC sont bruitées ? - Ne faites rien - AAPS s\'en occupera. - Désactivez la boucle fermée pour éviter tout sur-dosage ou sous-dosage possible. - Remplacez systématiquement les capteurs bruyants ou imprécis. - Vérifiez que votre application MGC fournit des données lissées. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Exercices et profils - Comment utiliser les profils pour aider au mieux le système à gérer un exercice aérobique ? - Faites un changement de profil à moins de 100%. - Faites un changement de profil à plus de 100%. - Laissez le profil fixé à 100%. - Suspendez la boucle. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html#cible-temporaire-activite - Exercices et cibles temporaires - Comment utiliser les cibles temporaires pour aider au mieux le système à gérer un exercice aérobique ? - Définissez une cible temporaire d\'activité en la démarrant à une heure appropriée avant de commencer l\'exercice physique. - Définissez une cible temporaire d\'activité après la fin de l\'exercice. - Laissez votre cible de glycémie inchangée. - Attendez que la glycémie tombe en dessous de votre cible temporaire d\'hypo, puis mangez 15 g de glucides à action rapide. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html#activity-temp-target - Boucle désactivée/suspendue - Est-ce que je reçois de l\'insuline lorsque la boucle est désactivée / suspendue ? - Oui, l\'insuline basale continue à être délivrée. - Non, l\'injection d\'insuline est arrêtée. - Tests des débits de basal, SI et G/I - Quand faut-il valider ces valeurs ? - Avant de commencer la boucle. - Lorsque la glycémie est souvent élevée ou faible. - Au moins 1 fois par semaine. - Une fois définies et validées, ces valeurs ne doivent pas changer avec le temps. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#androidaps-settings - Conditions préalables - Qu\'est-ce qui est essentiel pour mettre en place et utiliser AAPS ? - Informations de profil validées (Basal, G/I, SI, DAI). - Un ordinateur avec Android Studio installé et configuré. - Un téléphone compatible. - Une pompe à insuline compatible si vous avez l\'intention d\'exécuter une boucle fermée. - Nightscout, pour conserver un historique de toutes les données et revoir les paramètres. - Un compte Tidepool. - Un compte Google. - Un compte Github. - Avoir de l\'expérience en programmation ou en édition de code. - Une pompe MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html - Une montre connectée. - Un MGC pris en charge et compatible. - Conditions préalables - Qu\'est-ce qui est essentiel pour mettre en place et utiliser AAPS ? - Informations validées pour configurer un profil (SI, ratio G/I, débits de basal, DAI, etc.). - Un appareil Android compatible (par ex. téléphone mobile, montre Android version complète ou tablette). - AAPS nécessite une connexion internet pour fonctionner en boucle fermée. - Une MGC prise en charge et une application appropriée pour recevoir des valeurs de glycémie sur le téléphone/appareil. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html - Mise à jour d\'AAPS - Sélectionnez toutes les bonnes réponses. - Git doit être installé et configuré sur votre ordinateur. - Lorsque des versions mises à jour d\'AAPS sont disponibles, les versions précédentes peuvent avoir des fonctionnalités limitées à distance après une période donnée. - Vous devez enregistrer et noter l\'emplacement de votre magasin de clés et utiliser la même clé de signature que votre installation précédente pour les mises à jour. - Ne jamais mettre à jour si le système fonctionne correctement. - Si vous avez des difficultés à construire l\'apk, vous pouvez installer un apk qui a été construit par un ami. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Résolution de problèmes - Où pouvez-vous chercher de l\'aide pour AAPS ? - Vous pouvez demander des conseils dans le groupe Facebook des utilisateurs AAPS. - Vous devriez lire (et relire) la documentation AAPS. - Vous pouvez demander des conseils et signaler des problèmes techniques ou des défauts dans le Discord d\'AAPS. - Vous devez demander à votre diabétologue/professionnels de santés. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Plugins Insuline - Quelle insuline devez-vous utiliser avec le plugin Ultra-Rapid-Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/Insuline humaine \"Normale\". - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html#insulin - Plugins de Sensibilité - Sélectionnez toutes les bonnes réponses. - Les plugins de sensibilité permettent à AAPS de s\'adapter aux changements temporaires ou de courte durée de la sensibilité à l\'insuline (par ex. changements hormonaux ou problèmes d\'absorption sur le site d\'infusion). - Les plugins de sensibilité fournissent à l\'utilisateur des modifications suggérées pour les débits de basal, les ratios G/I et SI qui peuvent être utilisés pour éditer le profil. - Le changement de canule réinitialisera le ratio Autosens à 100%. - Certaines des options du plugin ont des plages de temps configurables qui peuvent être définies par l\'utilisateur. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/fr/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Entrées de glucides erronées - Que devez-vous faire si vous avez renseigné une valeur erronée de glucides ? - Supprimez l\'entrée incorrecte dans les Traitements et entrez la nouvelle valeur correcte de glucides. - Bolus avec insuline en utilisant le menu d\'amoçage de la perfusion. - Ne faites rien – AAPS effectuera les ajustements appropriés. - Bolus avec insuline en utilisant le bouton Insuline (bolus) dans Aperçu (Accueil). - Erreurs de saisie/injection d\'insuline - Que devriez-vous faire si vous avez reçu moins d\'insuline que l\'historique de la pompe suggère par ex. à cause d\'une occlusion, d\'une mauvaise canule ou d\'un oubli de rebranchement de la pompe après une douche ? - Supprimez les données d\'insuline de Nightscout Careportal pour le retirer de l\'historique de la pompe. - Comparer les valeurs dans l\'historique d\'AAPS et de la pompe (si la pompe le permet). - Faites un bolus du montant de votre insuline calculée « manquante » soit par seringue / stylo ou en utilisant un amorçage. - Ne faites rien et laissez AAPS corriger le taux élevé de glycémie qui en résulte. - Glucides Actifs (GA) - Comment le changement de la SI impacte le calcul des GA ? - Augmenter la SI rendra l\'absorption des glucides plus longue - L\'augmentation de la SI réduira le temps d\'absorption des glucides - L\'augmentation de la SI n\'affectera pas les calculs de l\'absorption des glucides - Comment le changement de G/I impacte le calcul des GA ? - L\'augmentation de G/I rendra l\'absorption des glucides plus longue - L\'augmentation de G/I réduira le temps d\'absorption des glucides - L\'augmentation de G/I n\'impactera pas l\'absorption des glucides calculés - Comment le changement du pourcentage de profil impacte le calcul des GA ? - Définir le profil à 150% rendra l\'absorption des glucides plus longue - Définir le profil à 150% réduira le temps d\'absorption des glucides - Définir le profil à 150% n\'impactera pas le calcul de l\'absorption des glucides - Insuline Active (IA) - La valeur de l\'IA est impactée par les débits de basal temporaires émis. - Une basale temp haute ne sera pas donnée quand votre glycémie est en dessous de la cible. - Une IA négative pendant une période significative en l\'absence d\'exercice indique que votre profil est trop fort et qu\'il faut moins d\'insuline dans vos paramètres. - Une IA positive pendant une période significative indique une résistance à l\'insuline ou des repas non signalés. - Entrée de glucides et bolus - Seuls les grammes doivent être utilisés pour estimer et enregistrer les glucides consommés. - Les glucides consommés peuvent être enregistrés à l\'aide d\'un système d\'échange approprié (par exemple, les échanges DAFNE \"CHO\" ou les \"Unités de Pain\" européennes). - AAPS utilise un modèle dynamique pour estimer la « décomposition » des glucides et calculer les GA (COB). - Si les glycémies sont en dehors des valeurs acceptables (trop faibles ou trop élevées), la calculatrice de bolus peut être utilisée pour fournir des suggestions de corrections de glucides ou d\'insuline. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#rapport-glucides-insuline-g-i-g-u - e-Glucides - Pour quoi pourriez-vous utiliser des e-Glucides (glucides étendus) ? - Pour planifier les glucides dans le futur, éventuellement répartis sur un intervalle de temps (similaire à un bolus étendu distribuant l\'insuline sur une durée). - Pour enregistrer des glucides d\'exercice \"libres\" que vous souhaitez masquer à AAPS. - Les e-glucides (distribués plus tard) peuvent aider AAPS à traiter les repas à haute teneur en graisses/protéines. - Pour enregistrer les glucides de secours que vous utilisez pour traiter la glycémie faible. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Extended-Carbs.html - Surveillance à distance - Comment pouvez-vous surveiller AAPS à distance (par exemple pour votre enfant) ? - L\'application AAPSClient, l\'application Nightscout et la page Web Nightscout vous permettent de suivre AAPS à distance. - D\'autres applications (par ex. Dexcom Follow, xDrip en mode suivi) vous permettent de suivre certains paramètres (par ex. valeurs de glycémie/capteur) à distance, mais elles utilisent des algorithmes différents qui peuvent donner des valeurs IA ou GA inexactes. - Pour suivre AAPS à distance, les deux appareils doivent avoir un accès à internet (par exemple, via Wi-Fi ou données de réseau mobile/cellulaire). - AAPSClient utilisé comme suivi à distance surveillera et fournira le contrôle complet d\'AAPS. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Children/Children.html - Sensibilité à l\'Insuline (SI) - Augmenter la SI entraînera une augmentation de la quantité d\'insuline pour couvrir une quantité spécifique de glucides. - Réduire la SI entraînera une augmentation de la quantité d\'insuline pour corriger une glycémie supérieure à la cible. - Augmenter ou diminuer la SI n\'a aucun effet sur la quantité d\'insuline injectée lorsque la glycémie est inférieur à la cible. - La SI doit être saisie dans vos préférences AAPS. - La modification de la SI dans le profil est suffisant pour appliquer le changement. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Profiles.html - Vous pouvez utiliser plus d\'une valeur pour le ratio G/I dans votre profil. - Si vous changez votre SI dans votre profil, vous devez toujours modifier votre ratio G/I également. - Ratio Glucides sur Insuline (ratio G/I) - Les ratios G/I plus élevés conduisent à moins d\'insuline injectée pour une quantité donnée de glucides. - Les ratios G/I plus faibles conduisent à moins d\'insuline injectée pour une quantité donnée de glucides. - Si vous avez 0 GA, changer le ratio G/I conduira à différentes quantités d\'insuline pour corriger une valeur de glycémie donnée. - Le G/I sera différent si vous comptez l\'unité (d\'échange) de pain à 10g ou à 12g. - Le G/I (Ratio Glucides/Insuline) est : combien d\'unités (d\'échange) de pain sont couverte par 1U d\'insuline. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Changement de profil - Quand vous spécifiez un changement de profil à 90%, quelles réponses sont vraies ? - Le débit de base sera diminuée de 10%. - La valeur de SI sera augmentée de 10%. - La valeur du ratio G/I sera un nombre 10% inférieur. - Les ratios SI et G/I seront inchangés. - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Changement de profil - Quand vous spécifiez un changement de profil à 120%, quelles réponses sont vraies ? - La glycémie cible sera 20% plus élevée. - Le débit de base sera 20% plus élevé. - La glycémie cible sera inchangée. - La valeur de SI sera 20 % plus élevée. - Changement de profil - Si vous vous réveillez 2 heures plus tôt que d\'habitude, comment informez-vous AAPS du changement de votre planning ? - Faites un changement de profil avec un décalage horaire de 2 - Faites un changement de profil avec un décalage horaire de -2 - Fixez une cible temporaire repas imminent. - Faites un changement de profil à plus de 100 %. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#timeshift - Changements de profils - Les débits de basal, SI, ratios G/I, etc. doivent être définis dans les profils. - L\'activation des modifications apportées à votre profil Nightscout nécessite que votre téléphone AAPS soit connecté à Internet. - Modifier les profils pour changer des valeurs est suffisant pour mettre en œuvre toutes les modifications effectuées. - Plusieurs profils peuvent être définis et sélectionnés pour s\'adapter à des circonstances changeantes (par ex. changements hormonaux, changement de poste de travail, jours de semaine/week-end). - https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Aide sur les débits de basal - Où aller pour avoir de l\'aide avec le débit Basal etc. - Votre équipe médicale - Google - Facebook - Autres médicaments. Veuillez lire l\'énoncé ci-dessous et cocher la case pour accepter la déclaration. - AAPS réduit le débit de basal ou suspend l\'injection d\'insuline pour augmenter le taux de sucre dans le sang. Les médicaments du groupe d\'inhibiteurs SGLT2 (gliflozins) peuvent empêcher l\'augmentation de la glycémie et ainsi produire une carence dangereuse en insuline conduisant à une acidocétose DKA. -\nLes noms de marque communes sont : Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nJe m\'engage à ne pas prendre ces médicaments lors de l\'utilisation d\'AAPS ou à désactiver la boucle avant de les utiliser. - + diff --git a/app/src/main/res/values-fr-rFR/objectives.xml b/app/src/main/res/values-fr-rFR/objectives.xml index b2d78d30cf..3ea04e700d 100644 --- a/app/src/main/res/values-fr-rFR/objectives.xml +++ b/app/src/main/res/values-fr-rFR/objectives.xml @@ -1,55 +1,2 @@ - - Départ - Vérifier - %1$d. Objectif - Objectif %1$d non démarré - Objectif %1$d non terminé - Paramétrage de la visualisation et la surveillance des données, analyse des débits Basal et des ratios - Vérifiez que la Glycémie est disponible sur Nightscout et que les données d’insuline ont été téléchargées de la pompe - Démarrage de la boucle ouverte - Utilisez votre boucle ouverte pendant plusieurs jours et lancez manuellement plusieurs débits Basal temporaires. Définissez et utilisez les cibles temporaires et celles par défaut (ex : sport ou resucrage suite à une hypo) - Compréhension de la Boucle Ouverte, y compris les propositions de débits Basal temporaires - Partant de ce constat, décidez quel doit être le débit de base maximum, et entrez le dans la pompe et les préférences - Démarrage de la boucle fermée avec le système AGB ( Arrêt pour Glycémie Basse ) - Activez la boucle fermée avec le paramètre max IOB = 0 pendant plusieurs jours sans avoir un trop grand nombre d\'AGB (Arrêt pour Glycémie Basse) - Réglage de la Boucle Fermée, augmentation de l\'IA (Insuline Active) maximale au dessus de 0 et abaissement progressif des cibles glycémiques - Utilisez pendant plusieurs jours, et au moins une nuit sans alarme d’hypoglycémie, avant d\'abaisser les cibles glycémiques - Ajustement des débits Basal et des ratios si nécessaire, puis activation de la fonction auto-sens - 1 semaine de Boucle Fermée en journée en saisissant régulièrement les glucides - Activation de fonctionnalités supplémentaires pour l\'utilisation en journée, telles que la fonction SMB - Activation de l\'automatisation - Lisez le wiki et augmentez le maxIA pour que les SMBs fonctionnent correctement ! Un bon début est maxIA = moyenne des Bolus Repas + 3 x maximum débit Basal quotidien - Lisez la documentation comment l\'automatisation fonctionne. Configurez vos premières règles simples. Au lieu de mettre une action, configurez une notification. Quand vous êtes sûr que l\'automatisation est déclenchée au bon moment, remplacez la notification par une action réelle. (https://androidaps.readthedocs.io/fr/latest/Usage/Automation.html) - Glycémie disponible sur NS - Statut de la pompe disponible sur NS - Activation manuelle - Accompli : %1$s - Apprendre comment contrôler AAPS - Effectuer différentes actions dans AAPS - Sélection du profil à 90% pendant 10 min (appui long sur le nom du profil à l\'Accueil) - Simulation d\'une douche. Déconnectez la pompe pendant 1h (Appui long sur Boucle Ouverte) - ... et reconnectez la pompe de la même façon - Créer une cible temporaire personnalisée avec une durée de 10 min (Appui long sur votre cible actuelle) - Dans la Configuration, activez le plugin Actions, rendez le visible et affichez son contenu dans le menu supérieur - Affichage du contenu du plugin Boucle - Modification de l\'échelle du graphique par un appui long sur la courbe de glycémie - Entrer - Si vous avez au moins 3 mois d\'expérience de boucle fermée avec d\'autres systèmes, vous pourriez avoir droit à un code permettant d\'ignorer les objectifs. Voir https://androidaps.readthedocs.io/fr/latest/Usage/Objectives.html#ignorer-les-objectifs pour plus de détails. - Code accepté - Code invalide - Prouver ses connaissances - Étudiez les questions. Vous avez quatre réponses possibles pour chaque question. Il peut y avoir plusieurs réponses correctes. Veuillez vérifier celles qui sont correctes et sélectionnez VÉRIFIER. - Réponse désactivée jusqu\'à : %1$s - Mauvaise réponse ! - Prochain non terminé - Code requis : %1$s - (Sélectionnez toutes les bonnes réponses) - https://androidaps.readthedocs.io/fr/latest/Getting-Started/FAQ.html#que-faire-pour-prendre-une-douche-ou-un-bain - https://androidaps.readthedocs.io/fr/latest/Getting-Started/Screenshots.html - https://androidaps.readthedocs.io/fr/latest/Configuration/Config-Builder.html - https://androidaps.readthedocs.io/fr/latest/Getting-Started/Screenshots.html - Non connecté à Internet - Échec de la récupération de l\'heure - Exigences de l\'objectif non atteintes - + diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index a6f05f6867..ab03602ea9 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -3,55 +3,25 @@ - Traitements de sécurité - Maximum Bolus autorisé [U] - Maximum de Glucides autorisé [g] - Glycémie au-dessous de laquelle se déclenche l\'Arrêt Glycémie Basse Préférences de %1$s Préférences Actualiser les données depuis NS Réinitialiser les Bases de Données Voulez-vous vraiment réinitialiser les bases de données ? Quitter - Quelques boutons pour accéder rapidement aux fonctions communes Utilisé pour configurer les plugins actifs - Programme d’apprentissage Activer ou désactiver la mise en œuvre déclenchant la Boucle. - Synchronise vos données avec Nightscout - État de l’algorithme en 2017 - Algorithme le plus récent pour les utilisateurs avancés - Algorithme le plus récent pour les utilisateurs avancés avec SI dynamique/automatique Affiche l’état actuel de votre Boucle et des boutons d’actions les plus courantes Affiche une notification en cours avec un bref aperçu de ce que fait votre Boucle - Intégration pour les pompes qui n’ont pas encore de pilote (Boucle Ouverte) La sensibilité est calculée de la même manière que Oref0, mais vous pouvez spécifier la période concernée. L\'absorption minimale des glucides est calculée à partir des temps d’absorption max des glucides du menu préférences. La sensibilité est calculée à partir des données des dernières 8 heures et les glucides (si non absorbés) ne sont plus pris en compte après le temps spécifié dans les préférences. Le plugin calcule également les RNS (UAM). La sensibilité est calculée comme une moyenne pondérée des écarts. Les écarts les plus récents ont un poids plus élevé. L\'absorption minimale des glucides est calculée à partir des temps d’absorption des glucides max du menu préférences. Cet algorithme est le plus rapide pour s\'adapter aux changements de sensibilité. - Recevoir les valeurs de glycémie de l’app Eversense patchée. - Recevoir les glycémies depuis Glimp. - Recevoir les glycémies depuis le 600SeriesAndroidUploder. - Télécharge les glycémies depuis Nightscout - Recevoir les glycémies depuis xDrip+. Enregistre tous les traitements qui ont été effectués Surveillez et contrôlez AAPS en utilisant votre montre WearOS. - Exécuter maintenant - POMPE VIRTUELLE - Dernière exécution - Paramètres de saisie - État de la glycémie - Débit temporaire actuel - Données IA - Profil - Données repas - Résultats - Résultat: %1$s %2$s - Pas de données glycémiques disponibles - Requête Delta Configuration Aperçu Traitements - Pompe virtuelle Pompe Quelle pompe souhaitez-vous utiliser avec AAPS ? Profil @@ -60,35 +30,23 @@ Quel algorithme APS doit faire les ajustements de thérapie? Général Quelques modules d\'extension que vous pourriez trouver utiles. + Synchronisation + Modules de téléchargement et de synchronisation de données. Quelles restrictions sont appliquées ? - Restrictions Boucle Utilisez ceci pour activer l’intégration de la boucle AAPS. APS Après traitement des restrictions Basal temporaire défini par la pompe Pas d\'APS sélectionné ou pas de résultat fourni - Sécurité - Plugin désactivé Violation des restrictions - Accepter nouveau basal temporaire : Changez vos entrées ! Source des glycémies Quelle source de données doit être utilisée par AAPS ? - xDrip+ - Mode APS - Boucle Fermée - Boucle Ouverte - Arrêt Glycémie Basse Nouvelle recommendation disponible Suggestion de glucides - Version incompatible de Nightscout - Décalage horaire Profil - Basal Temporaire - Bolus étendu Version Nightscout : - %1$d g manquants Préférences exportées Entrées utilisateur exportées Exporter les paramètres au @@ -97,12 +55,7 @@ Fichier introuvable Exporter les paramètres Importer les paramètres - Débit max en U/h pour une Basal Temp. - Cette valeur est appelée Basal Maximum dans le contexte OpenAPS - IA Basal max que OpenAPS pourra délivrer [U] - Cette valeur est appelée Max IA (Insuline Active) dans le contexte OpenAPS\nC\'estlle maximum d\'insuline en [U] que APS peut délivrer en une seule fois. Le mot de passe principal vous sera demandé pour crypter les préférences exportées. - Le mot de passe principal vous sera demandé pour décrypter les préférences exportées. Export annulé ! Les préférences n\'ont PAS été exportées ! Import annulé ! Les préférences n\'ont PAS été importées ! Impossible d\'importer les préférences ! @@ -123,7 +76,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S JE COMPRENDS ET J\'ACCEPTE LES CONDITIONS DU CONTRAT Enregistrer Actualiser le profil - Assistant Rapide Assistant Rapide Texte du bouton : Glucides: @@ -131,16 +83,9 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Ajouter Éditer Corr. - Actions (DÉSACTIVATION DANGEREUSE) Envoi NS uniquement Envoi NS uniquement (sync désactivée). Inactif sur les Glycémie des capteurs sauf si une source locale comme xDrip+ est sélectionnée. Inactif sur les profils si Profil NS est sélectionné.\n!!! ATTENTION !!! La désactivation de cette option peut causer des dysfonctionnements et une surdose d\'insuline si l\'un de vos composants (AAPS, NS, xDrip+) est mal configuré. Vérifiez bien si les données affichées par AAPS correspondent à l’état de la pompe ! Pompe non initialisée ! - Amorcer/Remplir - Veuillez à ce que la quantité corresponde aux caractéristiques de votre cathéter ! - Insuline par défaut pour Amorcer/Remplir - Bouton 1 - Bouton 2 - Bouton 3 Unités Fourchette de visualisation Les repères hauts et bas sur les graphiques pour l\'aperçu et la montre @@ -149,108 +94,22 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Wear Renvoyer toutes les données Afficher les Paramètres sur la Montre - Débit de Basal - Medtronic 640g Notification en cours DONNÉES ANCIENNES - OpenAPS AMA - Tableau de %1$d éléments.\nValeur Actuelle : - Données Autosens - Débogage du Script - Utiliser la fonction Autosens - ACT CONF BOUCLE - OAPS - DynSI ACCUEIL - POMPEV TRAIT - OBJ WEAR Raccourcir les titres des onglets - Utiliser delta basé sur moyenne courte - Utile lorsque les données provenant de sources non filtrées comme xDrip+ deviennent incohérentes. - Valeur par défaut : 3 Ceci est un paramètre important de sécurité de l’OpenAPS. Ceci va limiter vos débits basal à 3 fois votre débit Basal maximum. Il est probable que vous n’aurez pas besoin de changer cela, mais vous devez être conscient de ce qui est discuté pour les limites de sécurité dans “3x max daily; 4x current”. - Valeur par défaut : 4 Ceci est l’autre moitié des paramètres de sécurité limitant l’OpenAPS, et l’autre moitié de “3x max daily, 4x current” des paramètres de sécurité. Quel que soit le basal maximum prédéfini dans votre pompe, il ne pourra pas être plus haut que ce nombre multiplié par le Basal actuel. Ceci est fait pour ne pas mettre l’utilisateur en danger en programmant des débits Basal maximum trop élevés avant de comprendre comment l’algorithme fonctionne. Encore une fois, la valeur par défaut est 4x, la plupart des gens n’auront jamais besoin d’ajuster ce paramètre, plutôt ils auront tendance à ajuster d’autres paramètres s’ils voient qu’ils atteignent ce paramètre de limite de sécurité. - Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (et bientôt Autotune) pour définir +20% en limite maximale du ratio Autosens. En consequence, ceci va définir la valeur maximale du Basal pour Autosens, la valeur minimale de la Sensibilité à l\'Insuline (SI), et la valeur minimale de la cible glycémique. - Valeur par défaut: 0,7\nL\'autre volet des limites de sécurité de l\'autosens, c\'est de définir une limite basse sur l\'ajustement des débits de basal et une limite haute sur l\'ajustement de la SI et des cibles GLY effectués par l\'autosens. - Autosens ajuste aussi les cibles - Valeur par défaut : true\nCeci est utilisé pour autoriser Autosens à ajuster les cibles de glycémie en plus de SI et les basals. - Valeur par défaut : 2\nBolus snooze est activé apres votre bolus de repas, la boucle ne réagira pas avec des valeurs basses temporaire quand vous venez juste de manger. L’exemple ici et la valeur par défaut est 2 ; donc avec une Durée d\'Action (DIA) de 3 heures signifie que snooze bolus sera graduellement éliminé après 1,5 heures (3DIA/2). - Valeur par défaut : 3.0 (AMA) ou 8.0 (SMB). Il s’agit d’un paramètre décrivant l’absorption des glucides par 5 minutes. La valeur par défaut est de 3mg/dl/5min. Cela influe sur la vitesse calculée de disparition des Glucides Actifs (GA), et comment sera estimée la consommation des glucides pour calculer les valeurs futures de glycémies, lorsque la glycémie chute plus que prévu ou n\'augmente pas autant que calculé. - Attention !\nNormalement vous n\'avez pas à changer les valeurs mentionnées ci-dessous. SVP CLIQUEZ ICI et LISEZ bien le texte. Assurez-vous de bien le COMPRENDRE avant de changer n’importe laquelle de ces valeurs. - Exécution en cours - Paramètres pompe virtuelle - Remontée des informations vers NS - NSClient - NSCI - URL : - Défilement automatique - Redémarrer - NSClient - URL Nightscout - Entrez l’URL de votre site Nightscout - NS API Secret - NS API Secret - Entrez NS API secret (12 carac. min) - Transmettre maintenant - Vider queue - Afficher queue - Queue : - État : - Effacer histo - NSCLIENT ne possède pas la permission d\'écriture. Mauvais API secret? Paramètres Wear Sans succès - vérifiez votre téléphone - Type de patient - Enfant - Adolescent - Adulte - Adulte résistant à l\'insuline - Grossesse - Veuillez sélectionner le type de patient pour définir les limites de sécurité Nom du patient Veuillez indiquer un nom ou pseudo du patient pour différencier plusieurs configurations - Glimp - Suspendre la Boucle pour 1h - Suspendre la Boucle pour 2h - Suspendre la Boucle pour 3h - Suspendre la Boucle pour 10h - Déconnecter la pompe - Déconnecter la pompe 15 min - Déconnecter la pompe 30 min - Déconnecter la pompe 1h - Déconnecter la pompe 2h - Déconnecter la pompe 3h - 15 min - 30 min - 1 heure - 2 heures - 3 heures - 10 heures - Reprendre - Rebrancher la pompe - Démarrage AAPS entré dans NS Sortir de l’application pour appliquer les nouveaux paramètres. Quel type d\'insuline utilisez-vous ? Activer les Superbolus dans l’Assistant Activer la fonctionnalité SuperBolus dans l’Assistant. Ne pas l’activer avant de bien comprendre comment cela fonctionne réellement. IL PEUT PROVOQUER UNE OVERDOSE D’INSULINE SI UTILISÉ AVEUGLÉMENT ! - Afficher les voyants d\'état sur l\'écran d\'accueil - Seuil d\'alerte âge canule [h] - Seuil critique âge canule [h] - Seuil d\'alerte âge insuline [h] - Seuil critique âge insuline [h] - Seuil d\'alerte âge capteur [h] - Seuil critique âge capteur [h] - Seuil d’alerte niveau pile capteur [%] - Seuil critique niveau pile capteur [%] - Seuil d\'alerte âge pile pompe [h] - Seuil critique âge pile pompe [h] - Seuil d\'alerte niveau réservoir [U] - Seuil critique de niveau réservoir [U] - Seuil d’alerte niveau pile pompe [%] - Seuil critique niveau pile pompe [%] PRED BAS DEV @@ -260,18 +119,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S PENTEDEV À propos Autorisation du téléphone manquante - Annuler Bolus étendu Changer de profil - Capteur - Insuline - Pile pompe - âge: - niveau: - Options d\'alarme + Options d\'alarme Créer des notifications à partir des alarmes NS Créer des notifications à partir des notifications NS - Seuil sans nouvelle donnée Glyc. [min] - Seuil d\'urgence pour les données obsolètes [min] + Seuil sans nouvelle donnée Glyc. [min] + Seuil d\'urgence pour les données obsolètes [min] Plage pour Autosens [h] Le nombre d’heures écoulées pour l\'estimation de Sensibilité (le temps d’absorption des glucides est exclu) OpenAPS @@ -284,27 +137,13 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Paramètres d’absorption Durée max d’absorption d\'un repas [h] Le temps estimé en heures pour une absorbption totale des glucides d’un repas - OAPS - UPLD Garder l\'écran allumé Empêcher Android d\'éteindre l\'écran. Ceci consommera beaucoup de batterie lorsque vous n’êtes pas connecté à une prise de courant. En activant la fonction Autosens, n’oubliez pas de rentrer tous les glucides consommés. Sinon les déviations de glucides seront incorrectement identifiées pour les changements de sensibilité !! Sensibilité avec moyenne pondérée Les profils ne sont pas tous téléchargés ! Valeurs non enregistrées ! - Active les diffusions vers d\'autres applications (comme xDrip+). Ne pas activer si plusieurs instances d\'AAPS ou de AAPSClient sont installées ! - Activer les transmissions locales - OpenAPS SMB - SI dynamique - Facteur d\'ajustement Si dynamique % - Facteur d\'ajustement pour Si dynamique. Définissez plus de 100 % pour des corrections plus agressives et moins de 100 % pour des corrections moins agressives. - Activer RNS - Activer SMB - Utiliser les Super Micro Bolus au lieu des débits de base temporaires pour une action rapide - Détection des Repas Non Signalés INVALIDE - Pourcentage - Décalage horaire Cibles Temporaires par défaut durée repas imminent [min] Cible Glyc. pour le prochain repas @@ -312,33 +151,16 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Cible Glycémie pour l\'activité durée hypo [min] Cible Glycémie pendant l’hypo - Réutiliser %1$d%% %2$dh Commandes depuis la montre Définir les Cibles Temp et entrer les Traitements depuis la montre - Utiliser les notifications système pour les alertes et notifications Augmentation progressive du volume pour les alertes et les notifications Alertes locales Alerte pas nouvelle donnée glycémique Alerte si la pompe est hors de portée Seuil d\'alerte pompe hors de portée [min] Alerte si glucides requis - Alarme d\'urgence - INFO - App Eversense (patché) - Remonter les Gly vers NS - Paramètres de téléchargement des glycémies Afficher le delta détaillé Afficher delta avec une décimale supplémentaire - Fréquence des SMB en min - Max. minutes de basal pour limiter le SMB - SMB RNS minutes max - Minutes de basal max pour limiter les SMB des RNS - Glucides minimum requis pour suggestion - Quantité de glucides minimum en g pour afficher une alerte de suggestion de glucides. Les suggestions inférieures ne déclencheront pas de notification. - Transmettre les Gly vers xDrip+ - Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de données - Glycémie NSClient - Gly NS Calcul de Glycémie Calcul IA du Bolus Calcul IA du Basal @@ -349,41 +171,17 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Calcul GA Cible temporaire Calcul du pourcentage - Boucle activée - APS Sélectionné - NSClient a la permission d\'écriture - Mode boucle fermée activé - Maximum IA réglé correctement - Glycémie disponible depuis la source sélectionnée - Erreur administration bolus étendu - Activer en permanence les SMB - Activer toujours SMB de manière autonome pour les bolus. Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 - Activer SMB après ingestion de glucides - Activer SMB pendant 6h après ingestion de glucides, même s’il y a 0 GA (Glucides Actifs). Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 - Activer SMB avec les glucides - Activer SMB tant que des Glucides sont actifs. - Activer SMB avec les cibles temporaires - Activer SMB lorsqu\'il y a une cible temporaire active (repas imminent, exercise) - Activer SMB avec cibles temp hautes - Activer les SMB quand il y a une cible temp haute active (exercise, au dessus de 100 mg/dl ou 5.5 mmol/l) - Insuline Boutons Envoie un étalonnage à xDrip+ ou ouvre la boîte de dialogue de calibration de BYODA Ouvre xDrip+ ou BYODA, le bouton de retour renverra vers AAPS Nombre de glucides à ajouter lorsque vous appuyez sur le bouton Quantité d’insuline à ajouter lorsque vous appuyez sur le bouton Impossible d’exécuter l’application de MGC. Assurez-vous de que celle-ci est installée. - MGC Ignorer 5m Ignorer 15m Ignorer 30m - Historique Notifier en SMB Afficher SMB sur la montre comme un bolus standard. - Créer des messages d’erreurs - Créer des annonces à partir des alertes Glucides requis - Créer une annonce Nightscout pour les messages d\'erreur et les alertes locales (également visible dans la section Careportal de l\'onglet traitements) - Créer des annonces Nightscout pour les alertes besoins de glucides Affichez les prédictions sur l\'écran de montre. Prédictions Choix de données @@ -391,8 +189,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Autoriser l\'envoi automatique des rapports d\'erreur et des données d\'utilisation aux développeurs via le service fabric.io SVP actualisez votre app Dexcom vers une version compatible L\'application Dexcom n\'est pas installée. - Ne pas administrer de bolus, enregistrer uniquement - Les bolus seront seulement enregistrés (pas délivrés par la pompe) SMB défini par la pompe Activité Impact glycémique @@ -401,32 +197,11 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Glucides actifs Insuline Active Basals - Version Dev. La Boucle Fermée est désactivée. Mode ingénierie actif - Pompe n’est pas capable de basals temporaires - Mode de Boucle Fermée désactivé dans les préférences - Autosens désactivé dans les préférences - SMB désactivée dans les préférences - Repas Non Signalé (UAM) désactivé dans les préférences - Repas Non Signalé (UAM) désactivé car il utilise le plugin Sensibilité de Oref1 - multiplicateur max basal - multiplicateur max basal quotidien Un bolus a été délivré dans les 3 dernières minutes, SMB ignoré Basal correctement configuré - Limiter les bolus prolongé à %1$.1f U à cause de %2$s - Limiter les glucides %1$d g à cause de %2$s - Limiter l’IA %1$.1f U en raison de la %2$s - valeur Max dans les préférences - limite fixée - Enregistrer changement de site de cathéter - Enreg. changement de réservoir - SMB toujours et post-ingestion de glucides désactivé car la source de glycémies actuelle ne supporte pas de filtrage avancé - SMB non autorisé en mode Boucle Ouverte - IA totale maximale pour OpenAPS [U] - Cette valeur est appelée Max IA (Insuline Active) dans le contaxte OpenAPS\nOpenAPS n’ajoutera pas plus d’insuline si l\'IA (Insuline Active) actuelle est supérieure à cette valeur Durée maximale d’absorption pour un repas [h] Durée où n’importe quel repas est considéré absorbé. Les glucides restants ne seront pas pris en compte. - Valeur glycémique au-dessous de laquelle l\'injection de l\'insuline est suspendu. La valeur par défaut utilise le modèle standard de la cible. L\'utilisateur peut choisir entre 60mg/dl (3.3mmol/l) et 100mg/dl (5.5mmol/l). Les valeurs au-dessous de 65/3.6 déclenchent l\'utilisation du modèle standard Affiche les notes dans les dialogues Suivant Préc @@ -439,33 +214,18 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Deuxième incrément de glucides Troisième incrément de glucides MGC - Utiliser la connexion mobile - Utilisez la connexion Wi-Fi - Wi-fi SSID - Pendant la charge - Sur batterie - Paramètres de connexion - SSIDs autorisés (séparés par point-virgule) - Autoriser connexion données itinérance Maximum Ratio Autosens Minimum Ratio Autosens - Snooze bolus Diviseur de DAI - Multiplicateur max quotidien de sécurité - Multiplicateur de sécurité basale courante - Type de pompe virtuelle - Définition de pompe - Bolus : Étape =%1$s\nExtended Bolus : [Étape =%2$s, Durée =%3$smin -%4$sh]\nBasal : Étape =%5$s\nTBR : %6$s (par %7$s), Durée =%8$smin -%9$sh\n%10$s Calculs inclus dans le résultat de l’Assistant : Parametres d\'affichage Paramètres généraux - Activer NSClient Bienvenue à l\'assistant de configuration. Je vais vous guider à travers le processus de configuration\n Statut de lecture Ignorer l\'assistant de configuration Appuyez sur le bouton ci-dessous pour autoriser AAPS à suggérer/faire des changements de basal Le plugin de Sensibilité est utilisé pour la détection de la Sensibilité et de calcul de glucides actifs. Pour plus d’informations visitez : https://androidaps.readthedocs.io/fr/latest/Configuration/Sensitivity-detection-and-COB.html - Le NSClient gère la connexion avec Nightscout. Vous pouvez sauter cette étape maintenant mais vous ne pourrez pas terminer les objectifs sans cette configuration. + Synchroniser les données sur le cloud. Vous pouvez sauter cette partie maintenant, mais vous ne pourrez pas passer les objectifs tant que vous ne l\'aurez pas configuré. Rappel : les nouveaux profils d\'insuline requièrent une DIA d\'au moins 5h. Une DIA 5-6h dans les nouveaux profils d\'insuline équivaut à une DIA 3h dans les anciens profils d\'insuline. Sélectionnez un des algorithmes disponibles. Ils sont organisés du plus ancien au plus récent. Les algorithmes les plus récents sont habituellement plus puissants et plus agressifs. De ce fait, si vous êtes un nouvel utilisateur, vous devriez probablement démarrer avec AMA au lieu de choisir un algorithme plus récent. N\'oubliez pas de lire la documentation OpenAPS et en faire la configuration avant utilisation. Veuillez configurer votre RileyLink ci-dessous. Après avoir sélectionné un RileyLink, il sera possible de continuer l\'installation une fois que le statut de RileyLink sera « Connecté ». Cela peut prendre une minute.\n @@ -475,21 +235,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Ouvrir navigation Fermer navigation Préférences du plugin - Poctech - Recevoir les glycémies depuis l\'app Poctech - Glunovo - Recevoir des valeurs de l\'application Glunovo - Intelligo - Recevoir des valeurs depuis l\'application Intelligo - Recevoir les valeurs de glycémie de l\'application Tomato (appareil MiaoMiao) - Cible temp. haute élève la sensibilité - = 100]]> - Cible temp. basse abaisse la sensibilité - - Résistance diminue la cible - Quand une résistance est détectée, baisse de la glycémie cible - Sensibilité augmente la cible - Quand une sensibilité est détectée, augmentation de la glycémie cible Supprimer des entrées Trier les objets Paramètres sauvegardés trouvés @@ -505,64 +250,22 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Supprimer les logs Le traitement (insuline : %1$.2f, glucides : %2$d, à : %3$s) n\'a pas pu être ajouté aux traitements. Vérifiez et ajoutez SVP manuellement ce traitement. eCarbs : %1$d g (%2$d h), retard : %3$d m - Pas de données d\'Autosens disponibles Fichiers log Divers Paramètres journal Réinitialiser les valeurs par défaut - Dysfonctionnement NSClient. Redémarrez NS et NSClient. Mode APS préféré Envoi des fichiers logs d\'aujourd\'hui aux développeurs avec l\'heure. Cas imprévu. Changement minimum [%] Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% == ∑ %1$s U - Enreg. du changement de capteur sur NS - Créer automatiquement un événement \"Changement de capteur\" dans NS au démarrage du capteur - Tomato (MiaoMiao) - Tomato - Votre nom d\'utilisateur Tidepool, normalement votre adresse e-mail - Nom d\'utilisateur - Mot de passe de connexion Tidepool - Mot de passe de connexion - Test de la connexion Tidepool - Si activé, les transferts iront vers https://int-app.tidepool.org au lieu de https://app.tidepool.org/ - Utiliser les serveurs d\'Intégration (test) - Tidepool - TDP - Transfère les données vers Tidepool - Transférer les données CGM - Transférer les traitements (insuline, glucides) - Transférer les Basal temporaires - Transférer les changements de profils, les objectifs temporaires - Transférer les tests de glycémies - 2 h - BYODA - BYODA - Recevoir les valeurs de glycémie de l’application Dexcom patchée (BYODA). - GA vs IA - Contrainte de Bolus appliquée : %1$.2f U vers %2$.2f U - !!!!! Absorption lente des glucides détectée : %2$d%% du temps. Vérifiez de nouveau votre calcul. Les GA (Glucides Actifs) peuvent être surestimés et alors plus d\'insuline pourrait être délivré !!!!!]]> - Injecter ce pourcentage du bolus calculé par l’assistant [%] L\'assistant bolus effectue le calcul mais seulement ce pourcentage de l\'insuline calculée est délivré. Utile avec l\'algorithme SMB. - Augmentation de la valeur du débit Basal max parce que ce paramètre est inférieur au débit Basal max de votre profil - Sélectionné : Unités - Refaire l\'objectif - Suppression démarrée - Voulez-vous réinitialiser le début de l\'objectif ? Vous risquez de perdre vos progrès. Sélectionnez les unités dans lesquelles vous souhaitez afficher les valeurs Valeur inférieure dans la plage (affichage uniquement) Valeur supérieure dans la plage (affichage uniquement) - % saisi invalide - Gly Aléatoire - Générer des glycémies aléatoires (mode démo uniquement) - Gly - Outils - Afficher le calcul Afficher les éléments supprimés Effacer la queue ? Toutes les données en attente seront perdues ! - L\'utilisation du bolus étendu arrètera la boucle fermée pour la durée d\'exécution du bolus étendu. Voulez-vous vraiment le faire ? - Boucle fermée désactivée à cause du bolus étendu Menu Graph Heure de demande SMB Heure d\'exécution SMB @@ -575,35 +278,14 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Insuline absolue Le mot de passe principal est utilisé pour crypter les sauvegardes et superviser la sécurité de l\'application. Rappelez-vous en ou stockez le en lieu sûr. Mot de passe principal actuel - Voyants d\'état - Copier les paramètres depuis NS - Copier les paramètres NS (s\'ils existent)? - Thème d\'origine - Basse résolution - Boutons toujours en bas - Grand écran - Thème - Comparer les profils - Assistant Profil - Profil par défaut - Profil actuel - Profils disponibles - Type de profil - Âge: %1$.0f DTI: %2$.0f U - Âge: %1$.0f DTI: %2$.0f U %3$d%% - Âge: %1$.0f Poids: %2$.0f kg - % de basal - Profil par défaut DPV État du RileyLink : Impossible de créer le profil. Le profil est invalide. Garder l\'appli en arrière plan ? - Alerter quand il est temps de manger Il est temps de manger !\nExécutez l\'assistant Bolus et refaites le calcul. Activer le rappel bolus Utiliser un rappel pour faire le bolus plus tard avec l\'Assistant (\"post-bolus\") Téléchargement logs crashs désactivé! Graph - Menu graphique Effacer le filtre Canule Utilisez les valeurs qui correspondent à vos plus gros repas\n @@ -611,48 +293,12 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Adresse e-mail Paramètres de confidentialité Vous pouvez fournir une adresse e-mail facultative si vous voulez être informé des plantages de l\'application. Ce n\'est pas un service automatisé. Vous serez contacté par les développeurs dans des situations dangereuses. - Synchronisation complète - Synchronisation complète ? Cela peut prendre plusieurs heures et jusqu\'à la fin, vous ne verrez pas de nouvelles données sur NS. - Synchronisation - Profils, boluses, glucides, basals temporaires sont téléchargés vers NS - Télécharger des données vers NS - Recevoir les profils sauvegardés - Synchroniser les profils à partir de l\'éditeur de profil NS - Recevoir les cibles temporaires - Accepter les cibles temporaires entrées via NS ou NSClient - Recevoir les changements de profil - Accepter les changements de profil entrés via NS ou NSClient - Recevoir les événements APS hors ligne - Accepter les événements APS hors ligne entrés via NS ou NSClient - Recevoir des DBT et des BE - Accepter le DBT et le BE entrés dans une autre instance - Recevoir l\'insuline - Acceptez l\'insuline entrée via NS ou NSClient (elle n\'est pas injectée, uniquement pour le calcul pour IA) - Recevoir les glucides - Accepter les glucides entrés par NS ou NSClient - Recevoir des événements thérapeutiques - Accepter les événements de thérapie (canule, insuline, changement de batterie, etc.) entrés via NS ou NSClient - Recevoir/remplir les anciennes données MGC - Accepter les données MGC de NS - Exécuter %s? - Ralentir les téléchargements État des données Gly Supprimer des Glycémies - âge canule - âge pompe patch - Pompe patch Identification (email, FB ou pseudo dans Discord, etc) Identification non définie en mode dev dialogue - glycémie actuelle - corriger le résultat avec le % - corriger le résultat avec les unités Non disponible - graphique - qualité de la glycémie - insuline - glycémie - obsolète Préréglage inconnu de la cible temporaire : %1$s Annuler l\'exécution des cibles Temp? @@ -667,22 +313,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Assistant Calc :\nInsuline : %1$.2fU\nGlucides : %2$dg Afficher l\'entrée sur l\'appareil : L\'assistant rapide sélectionné n\'est plus disponible, veuillez actualiser l\'écran - Pas de glycémie récente pour calculer ! - Aucun profil activé ! - GA inconnu! glycémie manquante ou démarrage récent de l\'application ? - Violation de contrainte des glucides! - Calcul (G/I: %1$.1f, SI: %2$.1f) - Glucides : %1$.2fU - GA: %1$.0fg %2$.2fU - Gly: %1$.2fU - IA: %1$.2fU - Superbolus : %1$.2fU - tendance 15\': %1$.2fU - Pourcentage : %1$.2fU x %2$d%% ≈ %3$.2fU - Violation de contrainte d\'insuline!\nImpossible de délivrer %1$.2fU - Cible Temp: %1$s - %1$s vers %2$s - Aucune pompe disponible! Commande inconnue : Pourcentage Application par défaut @@ -691,13 +321,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Trier État de la boucle Échelle du graph. - Profil 1 - Profil2 - Connexion - Supprimer tout - Réinitialiser le démarrage ouvrir les paramètres - définir l\'alarme du minuteur de glucides Tous Téléphone Montre @@ -705,14 +329,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S uniquement sur le téléphone glissez déposez ici Chercher - - GlucoRx Aidex - Aidex - Recevoir les valeurs de glycémie du MGC GlucoRx Aidex. - Bloqué par les options de recharge - Bloqué par les options de connectivité (Pas de montre connectée) - Ajuster la sensibilité et la glycémie Nettoyer la base de données Voulez-vous nettoyer la base de données ?\nCela supprimera les modifications suivies et les données historiques de plus de 3 mois. Entrées effacées diff --git a/app/src/main/res/values-ga-rIE/strings.xml b/app/src/main/res/values-ga-rIE/strings.xml index b8ab4a326c..db545239bb 100644 --- a/app/src/main/res/values-ga-rIE/strings.xml +++ b/app/src/main/res/values-ga-rIE/strings.xml @@ -3,6 +3,6 @@ + Aláraim roghanna - diff --git a/app/src/main/res/values-hr-rHR/strings.xml b/app/src/main/res/values-hr-rHR/strings.xml index b8ab4a326c..c90eb2a33c 100644 --- a/app/src/main/res/values-hr-rHR/strings.xml +++ b/app/src/main/res/values-hr-rHR/strings.xml @@ -3,6 +3,12 @@ + Spremi + Jedinice + BAZAL + Kreirajte obavijesti iz NS alarma + Kreirajte obavijesti iz NS najava + GREŠKA + Jedinice - diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index 8109bd3c81..98031d622d 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -3,7 +3,5 @@ - WiFi SSID - diff --git a/app/src/main/res/values-it-rIT/exam.xml b/app/src/main/res/values-it-rIT/exam.xml index 049aef6e52..3ea04e700d 100644 --- a/app/src/main/res/values-it-rIT/exam.xml +++ b/app/src/main/res/values-it-rIT/exam.xml @@ -1,228 +1,2 @@ - - Cosa è vero riguardo DIA? - Durata attività insulina (DIA) - Dovresti impostare il valore DIA nel tuo profilo. - Il valore minimo consentito è 5 ore. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Se sei soddisfatto del valore DIA che hai usato nel tuo micro prima di AAPS, non c\'è bisogno di cambiarlo quando inizi l\'attività di loop. - Dovresti determinare da te il valore appropriato per DIA. - Temp-Target Ipoglicemia - Qual è la ragione principale per impostare un target temporaneo \"ipoglicemia\"? - Per correggere ipoglicemie causate da impostazioni non corrette della velocità basale. - Per evitare che AAPS corregga eccessivamente un aumento della glicemia causato dai carboidrati a veloce assorbimento usati per trattare una ipoglicemia. - Per correggere una ipoglicemia indotta da esercizio fisico. - Per evitare che la glicemia si abbassi se è già in esecuzione una velocità basale temporanea dello 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Quale profilo può essere usato e configurato offline? - Argomento: profilo offline - Il profilo NS può essere usato, ma non configurato. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Motivi per azionare la funzione \"Disconnetti micro\" in AAPS - Cosa dovrebbe essere fatto quando si disconnette il micro? - Questo non è necessario poiché l\'insulina non verrà erogata se il micro è fisicamente disconnesso. - Evita che AAPS tenga conto di insulina che non è stata erogata mentre il micro è fisicamente disconnesso. - Non interromperà l\'erogazione di insulina se il micro rimane connesso. - Manderà AAPS in modalità loop aperto. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Impostazioni AAPS - Impostazioni AAPS - Quali sono le migliori pratiche per il backup delle tue impostazioni? - Non hai bisogno di esportare le tue impostazioni a condizione di prenderne nota. - Esportare le tue impostazioni dopo aver completato un obiettivo. - Esportare le tue impostazioni dopo aver fatto delle modifiche. - Esportare le tue impostazioni dopo aver terminato la tua configurazione iniziale e aver impostato le tue preferenze. - Esportare le tue impostazioni localmente utilizzando il menu manutenzione. - Il file delle tue impostazioni si trova nella cartella Internal Storage (memoria interna)/AAPS/preferences del tuo telefono. - Copiare il file delle tue preferenze in un luogo sicuro al di fuori del tuo telefono (ad esempio usando un\'unità cloud, un computer, l\'email, ecc.) - Se il tuo telefono è danneggiato o smarrito, ci sono modi semplici per recuperare da remoto le tue impostazioni senza avere un backup. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Letture CGM \"rumorose\" (noisy) - Cosa dovrebbe essere fatto se i dati CGM sono \"rumorosi\"? - Nulla - AAPS se ne occuperà. - Disabilitare il loop chiuso per evitare un possibile sovra-dosaggio o sotto-dosaggio. - Sostituire i sensori costantemente \"rumorosi\" o inaccurati. - Verificare che la tua app CGM faccia lo smoothing dei dati della glicemia. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Esercizio e profili - Come puoi usare i profili per aiutare al meglio il sistema a gestire l\'esercizio aerobico? - Fare un cambio profilo sotto il 100%. - Fare un cambio profilo sopra il 100%. - Lasciare il profilo al 100%. - Sospendere il loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Esercizio e target temporanei - Come puoi usare i target temporanei per aiutare al meglio il sistema a gestire l\'esercizio aerobico? - Impostare un target glicemico per l\'attività fisica in un momento adeguato, sufficientemente prima dell\'inizio dell\'esercizio. - Impostare un target glicemico per l\'attività fisica dopo la fine dell\'esercizio. - Lasciare il tuo target glicemico invariato. - Attendere che la glicemia scenda al di sotto del tuo target temporaneo \"ipoglicemia\" e poi mangiare 15 g di carboidrati a rapido assorbimento. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Loop disabilitato/sospeso - Ricevo insulina quando il loop è disabilitato/sospeso? - Sì, l\'insulina basale continua a essere erogata. - No, l\'erogazione di insulina è interrotta. - Test Basale, ISF e I:C - Quando questi valori dovrebbero essere validati? - Prima di iniziare l\'attività di loop. - Quando si verificano frequenti glicemie alte o basse. - Almeno una volta a settimana. - Una volta impostati e validati, questi valori non dovrebbero cambiare nel tempo. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Prerequisiti - Cosa è essenziale per configurare e usare AAPS? - Informazioni profilo validate (basale, IC, ISF, DIA). - Un computer con Android Studio installato e configurato. - Un telefono supportato. - Un microinfusore compatibile se stai pianificando di eseguire un loop chiuso. - Nightscout, per tenere un registro di tutti i dati e rivedere le impostazioni. - Un account Tidepool. - Un account Google. - Un account Github. - Esperienza in programmazione o modifica di codice. - Un micro MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Uno smartwatch. - Un CGM Supportato. - Prerequisiti - Cosa è essenziale per configurare e usare AAPS? - Informazioni validate per configurare un profilo (ISF, rapporto I:C, velocità basali, DIA, ecc). - Un dispositivo Android compatibile (smartphone, smartwatch con versione integrale di Android o tablet). - AAPS richiede una connessione internet per poter funzionare in loop chiuso. - Un CGM supportato e un\'app appropriata per ricevere valori della glicemia sul telefono/dispositivo. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Aggiornamento AAPS - Seleziona tutte le risposte corrette. - Devi avere Git installato e configurato sul tuo computer. - Quando vengono rilasciate versioni aggiornate di AAPS, le precedenti potrebbero essere limitate da remoto dopo un determinato periodo di tempo. - Dovresti salvare e annotare la posizione del tuo archivio chiavi e usare per gli aggiornamenti la stessa chiave di firma della tua installazione precedente. - Non aggiornare mai se il sistema funziona bene. - Se hai difficoltà a costruire l\'apk, puoi installare un apk che è stato costruito da un amico. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Risoluzione problemi - Dove puoi cercare aiuto con AAPS? - Puoi chiedere consiglio nel gruppo Facebook degli utenti AAPS. - Dovresti leggere (e rileggere) la documentazione di AAPS. - Puoi chiedere consigli e segnalare problemi tecnici nel Discord di AAPS. - Dovresti chiedere al tuo endocrinologo/centro diabetologico. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/aapsitalia/ - https://discord.gg/4fQUWHZ4Mw - Plugin insulina - Quale insulina dovresti usare con il plugin Ultra-Rapid Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/insulina umana \"regolare\". - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Plugin sensibilità - Seleziona tutte le risposte corrette. - I plugin di sensibilità consentono ad AAPS di adattarsi a cambiamenti temporanei o di breve durata nella sensibilità all\'insulina (ad esempio cambiamenti ormonali o problemi di assorbimento legati al sito di infusione). - I plugin di sensibilità forniscono all\'utente suggerimenti su cambi a velocità basali, rapporti I:C e ISF che possono essere utilizzati per modificare il profilo. - La registrazione di un cambio cannula ripristinerà il rapporto Autosens al 100%. - Alcune opzioni del plugin hanno intervalli di tempo configurabili che possono essere impostati dall\'utente. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Errori inserimento CHO - Cosa dovresti fare se hai fatto un inserimento non corretto di carboidrati? - Eliminare nei Trattamenti l\'inserimento non corretto e immettere il nuovo valore CHO. - Erogare un bolo di insulina usando il menu caricamento set di infusione. - Non fare nulla - AAPS effettuerà gli opportuni aggiustamenti. - Erogare un bolo di insulina usando il tasto Insulina nella sezione Panoramica. - Errori erogazione/inserimento insulina - Cosa dovresti fare se hai ricevuto meno insulina di quanto lo storico del micro suggerisce? Ad esempio a causa di un\'occlusione, una cannula difettosa o l\'aver dimenticato di riattaccare il micro dopo una doccia?  - Eliminare dal portale Nightscout i dati relativi all\'insulina per rimuoverli dallo storico del micro. - Compara i valori in AAPS con lo storico micro (se supportato). - Erogare un bolo con parte della tua insulina calcolata \"mancante\" usando una siringa/penna o la funzione caricamento. - Non fare nulla e permettere ad AAPS di correggere eventuali glicemie alte. - CHO attivi (COB) - In che modo la modifica del valore ISF influisce sul calcolo dei COB? - L\'aumento di ISF richiederà un tempo maggiore per l\'assorbimento dei CHO - L\'aumento di ISF richiederà un tempo minore per l\'assorbimento dei CHO - L\'aumento di ISF non influirà sull\'assorbimento calcolato dei CHO - In che modo la modifica del valore IC influisce sul calcolo dei COB? - L\'aumento di IC richiederà un tempo maggiore per l\'assorbimento dei CHO - L\'aumento di IC richiederà un tempo minore per l\'assorbimento dei CHO - L\'aumento di IC non influirà sull\'assorbimento calcolato dei CHO - In che modo la modifica della percentuale profilo influisce sul calcolo dei COB? - Impostare il profilo al 150% richiederà un tempo maggiore per l\'assorbimento dei CHO - Impostare il profilo al 150% richiederà un tempo minore per l\'assorbimento dei CHO - Impostare il profilo al 150% non influirà sull\'assorbimento calcolato dei CHO - Insulina attiva (IOB) - Il valore IOB è influenzato dalle basali temporanee emesse. - Non verrà emessa una basale temporanea alta quando la tua glicemia è al di sotto del target. - IOB negativo per un periodo considerevole in assenza di esercizio fisico suggerisce che il tuo profilo è troppo incisivo e che è necessaria meno insulina nelle tue impostazioni. - IOB positivo per un periodo considerevole suggerisce resistenza all\'insulina o pasti non annunciati. - Inserimento CHO e boli - Solo i grammi dovrebbero essere utilizzati per stimare e registrare i carboidrati consumati. - I carboidrati consumati possono essere registrati utilizzando un sistema di scambio appropriato (ad esempio: gli scambi CHO \"DAFNE\" o le unità di pane europee \"Bread Units\"). - AAPS usa un modello dinamico per stimare il \"decadimento\" dei carboidrati e calcolare COB. - Se la glicemia è di fuori dei valori accettabili (troppo bassa o troppo alta) il calcolatore di boli può essere utilizzato per fornire suggerimenti per le correzioni con carboidrati o insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - Per cosa potresti usare gli e-carbs (carboidrati estesi)? - Per indicare i carboidrati nel futuro e/o distribuiti su un intervallo di tempo (similmente a un bolo esteso che distribuisce insulina sullo stesso intervallo). - Per la registrazione di \"carboidrati da esercizio\" che vuoi nascondere da AAPS. - Gli e-carbs (distribuiti nel futuro) possono aiutare AAPS a gestire pasti ricchi di grassi/proteine. - Per registrare i carboidrati che usi per trattare la glicemia bassa. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Monitoraggio remoto - Come puoi monitorare AAPS (ad esempio per il tuo bambino) da remoto? - L\'app AAPSClient, l\'app Nightscout e la versione web di Nightscout ti consentono di seguire AAPS da remoto. - Altre app (ad esempio: Dexcom follow o xDrip in modalità follower) consentono di seguire da remoto alcuni parametri come i valori di glicemia/sensore, ma usano algoritmi diversi e potrebbero mostrare valori inaccurati di IOB o COB. - Per seguire AAPS da remoto, entrambi i dispositivi devono avere accesso a internet (ad esempio via Wi-Fi o dati da rete mobile/cellulare). - AAPSClient utilizzato come follower remoto monitorerà AAPS e ne fornirà il pieno controllo. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Fattore di sensibilità insulinica (ISF) - Aumentare i valori di ISF porterà a una maggiore erogazione di insulina per coprire una specifica quantità di carboidrati. - Ridurre i valori ISF porta a una maggiore erogazione di insulina per correggere una glicemia al di sopra del target. - Aumentare o ridurre ISF non ha alcun effetto sull\'erogazione di insulina quando le glicemie sono al di sotto del target. - ISF dovrebbe essere inserito nelle tue preferenze di AAPS. - Cambiare il valore ISF nel tuo profilo è sufficiente per applicare la modifica. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Puoi usare più di un valore per il rapporto I:C nel tuo profilo. - Se cambi il tuo ISF nel tuo profilo dovresti sempre cambiare anche il tuo rapporto I:C. - Rapporto insulina-carboidrati (rapporto I:C) - Rapporti I:C più alti portano a una minore insulina erogata per una data quantità di carboidrati. - Rapporti I:C più bassi portano a una minore insulina erogata per una data quantità di carboidrati. - Se hai 0 COB, cambiare il rapporto IC porterà a una differente quantità di insulina necessaria a correggere una determinata glicemia. - IC sarà diverso se consideri l\'unità di pane (BE) come 10g o 12g. - Il significato di IC è: quante unità di pane (BE) sono coperte da 1U di insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Cambio profilo - Quando si specifica un cambio profilo del 90%, quali risposte sono vere? - Le velocità basali saranno il 10% più basse. - ISF sarà il 10% più alto. - Il valore del rapporto I:C sarà un numero il 10% più basso. - ISF e rapporti I:C rimarranno invariati. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Cambio profilo - Quando si specifica un cambio profilo del 120%, quali risposte sono vere? - La glicemia target sarà il 20% più alta. - Le velocità basali saranno il 20% più alte. - La glicemia target rimarrà invariata. - ISF sarà il 20% più alto. - Cambio profilo - Se ti svegli 2 ore prima del solito, come dovresti informare AAPS del cambiamento nei tuoi programmi? - Avviare un cambio profilo con un timeshift di 2 - Avviare un cambio profilo con un timeshift di -2 - Impostare un target temporaneo \"pasto a breve\". - Fare un cambio profilo sopra il 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Modifiche ai profili - Velocità basali, ISF, rapporti I:C, ecc., dovrebbero essere impostati nei profili. - L\'attivazione delle modifiche al tuo profilo Nightscout richiede che il tuo telefono con AAPS abbia una connessione internet. - Modificare i profili per cambiare i valori è sufficiente per attivare ogni cambiamento fatto. - Più profili possono essere impostati e selezionati per adattarsi a diverse circostanze (ad esempio: cambiamenti ormonali, turni di lavoro, stile di vita nei giorni lavorativi/weekend). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Aiuto con le velocità basali - Dove andare per avere aiuto con le velocità basali e il resto. - Il tuo team diabetologico - Google - Facebook - Altri Farmaci. Leggere la seguente dichiarazione e, per proseguire, accettarla selezionando la casella. - AAPS riduce la velocità basale o sospende l\'erogazione di insulina per aumentare la glicemia. Farmaci appartenenti al gruppo degli inibitori SGLT2 (gliflozine) possono ostacolare l\'aumento previsto della glicemia e, quindi, provocare una pericolosa carenza di insulina (DKA). -\nI marchi più comuni sono: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nCon ciò prometto che non prenderò tali farmaci durante l\'uso di AAPS o disattiverò il loop prima di usare questi farmaci. - + diff --git a/app/src/main/res/values-it-rIT/objectives.xml b/app/src/main/res/values-it-rIT/objectives.xml index 895140e5fe..3ea04e700d 100644 --- a/app/src/main/res/values-it-rIT/objectives.xml +++ b/app/src/main/res/values-it-rIT/objectives.xml @@ -1,56 +1,2 @@ - - Avvia - Verifica - %1$d. Obiettivo - Obiettivo %1$d non avviato - Obiettivo %1$d non terminato - Impostazione della visualizzazione e del monitoraggio. Analisi di basali e rapporti - Verifica che la glicemia sia disponibile su Nightscout e che i dati sull\'insulina del micro siano in fase di caricamento - Avvio in un loop aperto - Esegui l\'applicazione in modalità loop aperto per alcuni giorni. Attiva manualmente il maggior numero possibile di basali temporanee suggerite. Imposta e usa i target temporanei, anche quelli predefiniti (ad esempio per l\'attività fisica o il trattamento dell\'ipoglicemia con carboidrati) - Comprensione del tuo loop aperto, incluse le relative raccomandazioni sulle basali temporanee - Sulla base di tale esperienza, decidi quale dovrebbe essere il valore di \'max basale\' e impostalo sul microinfusore e nelle preferenze - Avvio della chiusura del loop con Low Glucose Suspend - Esegui l\'applicazione in loop chiuso con max IOB = 0 per pochi giorni senza troppi eventi LGS - Regolazione del loop chiuso, aumentando max IOB al di sopra di 0 e abbassando gradualmente i target glicemici - Esegui l\'applicazione per alcuni giorni e almeno una notte senza allarmi di glicemia bassa, prima di abbassare il target glicemico - Adatta basali e rapporti se necessario, quindi attiva auto-sens - 1 settimana di looping diurno con inserimento regolare dei carboidrati, eseguito con successo - Abilitazione funzioni aggiuntive per l\'uso diurno, come SMB - Abilitazione automazione - È necessario leggere il wiki e aumentare maxIOB affinché le azioni di SMB funzionino adeguatamente! Un buon inizio è maxIOB = media bolo posto + 3 x max basale giornaliera - Leggi la documentazione su come funziona l\'automazione. Configura le tue prime semplici regole. Consenti ad AAPS solo di visualizzare una notifica, non di eseguire un\'azione. Quando sei sicuro che l\'automazione viene attivata al momento giusto, sostituisci la notifica con un\'azione reale. -(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glicemia disponibile in NS - Stato micro disponibile in NS - Attivazioni manuali - Completato: %1$s - Impara a controllare AAPS - Esegui varie azioni in AAPS - Imposta il profilo \"90%\" per 10 min (premi a lungo sul nome profilo nella sezione Panoramica) - Simula la doccia. Disconnetti il micro per 1h (premi a lungo su Loop aperto) - ... e riconnetti allo stesso modo - Crea un target temporaneo personalizzato con una durata di 10 min (premi a lungo sul tuo target corrente) - Nel Configuratore strutturale attiva il plugin Azioni, rendilo visibile e visualizzane i contenuti tramite il menu in alto - Visualizza il contenuto del plugin Loop - Usa la funzione di ridimensionamento premendo a lungo sul grafico delle glicemie - Entra - Se hai almeno 3 mesi di esperienza in loop chiuso con altri sistemi potresti beneficiare di un codice per saltare gli obiettivi. Guarda https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives per i dettagli. - Codice accettato - Codice non valido - Dai prova della tua conoscenza - Studia, leggi le domande e rifletti. Ti vengono fornite quattro possibili risposte per ogni domanda. Ci può essere più di una risposta corretta. Seleziona tutte quelle che sono corrette e poi vai su VERIFICA. - Risposta disabilitata fino a: %1$s - Risposta errata! - Prossimo N.C. - Codice richiesta: %1$s - (segna tutte le risposte corrette) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Non connesso a internet - Impossibile recuperare l\'ora - Requisiti obiettivo non soddisfatti - + diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 33d10123fe..6b39dc7967 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -3,55 +3,25 @@ - Sicurezza trattamenti - Max bolo consentito [U] - Max CHO consentiti [g] - Glicemia sotto la quale si attiva la sospensione per glicemia bassa %1$s Preferenze Preferenze Aggiorna trattamenti da NS Resetta database Vuoi davvero resettare i database? Esci - Alcuni tasti per accedere rapidamente alle funzioni comuni Usato per configurare i plugin attivi - Programma di apprendimento Attiva o disattiva l\'implementazione per la gestione del loop. - Sincronizza i tuoi dati con Nightscout - Stato dell\'algoritmo nel 2017 - Algoritmo più recente per utenti avanzati - Algoritmo più recente per utenti avanzati con ISF dinamico/automatico Visualizza lo stato corrente del tuo loop e i tasti per le azioni più comuni Mostra una notifica persistente con una breve panoramica di ciò che sta facendo il tuo loop - Per microinfusori che non hanno ancora alcun driver (Loop aperto) La sensibilità è calcolata allo stesso modo di Oref0, ma puoi specificare l\'intervallo di tempo al passato. L\'assorbimento minimo dei carboidrati è calcolato da \'max tempo assorbimento pasto\' nelle preferenze. La sensibilità è calcolata dai dati delle ultime 8h o 24h (usando tra i due periodi il più sensibile) e i carboidrati (se non assorbiti) vengono tagliati fuori dopo il tempo specificato nelle preferenze. Il plugin calcola anche UAM. La sensibilità è calcolata come media ponderata dalle deviazioni. Le deviazioni più recenti hanno peso maggiore. L\'assorbimento minimo dei carboidrati è calcolato da \'max tempo assorbimento pasto\' nelle preferenze. Questo algoritmo è il più veloce nel seguire i cambiamenti di sensibilità. - Ricevi valori glicemia dall\'app Eversense modificata. - Ricevi valori glicemia da Glimp. - Ricevi valori glicemia da 600SeriesAndroidUploader. - Scarica dati glicemia da Nightscout - Ricevi valori glicemia da xDrip+. Salva tutti i trattamenti che sono stati fatti Monitora e controlla AAPS usando il tuo smartwatch WearOS. - Esegui ora - MICRO VIRTUALE - Ultima esecuzione - Parametri di input - Stato glicemia - Temp. corrente - Dati IOB - Profilo - Dati pasto - Risultato - Risultato: %1$s %2$s - Dati glicemia non disponibili - Richiesta Delta Configuratore strutturale Panoramica Trattamenti - Micro virtuale Micro Quale micro vorresti usare con AAPS? Profilo @@ -60,35 +30,22 @@ Quale algoritmo APS dovrebbe apportare aggiustamenti terapeutici? Generale Questi sono alcuni plugin generali che potresti trovare utili. + Sincronizzazione Quali vincoli sono applicati? - Vincoli Loop Usalo per attivare l\'integrazione del loop di AAPS. APS Dopo elaborazione vincoli Basale temporanea impostata dal micro NESSUN APS SELEZIONATO O RISULTATO FORNITO - Sicurezza - Il plugin è disabilitato Violazione dei vincoli - Accetta nuova basale temporanea: Cambia il tuo input! Origine BG Da dove AAPS dovrebbe ottenere i suoi dati? - xDrip+ - Modalità APS - Loop chiuso - Loop aperto - Sospensione a glicemia bassa (LGS) Nuovo suggerimento disponibile Suggerimento CHO - Versione non supportata di Nightscout - Offset CHO Profilo - Basale temporanea - Bolo esteso Versione Nightscout: - Mancanti %1$d g Preferenze esportate Voci utente esportate Esportare impostazioni su @@ -97,12 +54,7 @@ File non trovato Esporta impostazioni Importa impostazioni - Max U/h a cui limitare una basale temporanea - Questo valore è chiamato max basale nel contesto OpenAPS - Max IOB da basale a cui limitare OpenAPS [U] - Questo valore è chiamato Max IOB nel contesto OpenAPS\nIndica l\'insulina massima in [U] che APS può erogare in contemporanea. Ti verrà richiesta la password master, che verrà usata per crittografare le preferenze esportate. - Ti verrà chiesta la password master, che è necessaria per decrittare le preferenze importate. Esportazione annullata! Le preferenze NON sono state esportate! Importazione annullata! Le preferenze NON sono state importate! Impossibile importare le preferenze! @@ -122,7 +74,6 @@ COMPRENDO E ACCETTO Salva Ricarica profilo - Calcolatore rapido Impostazioni Calcolatore rapido Testo: CHO: @@ -130,16 +81,9 @@ Aggiungi Modifica Corr - Azioni Solo upload su NS (PERICOLOSO DISABILITARE) Solo upload su NS (no sincronizzazione). Non ha effetto su SGV a meno che non sia selezionata una fonte locale come xDrip+. Non ha effetto sui profili mentre vengono usati i profili NS.\n!!! ATTENZIONE !!! Disabilitare questa opzione potrebbe causare malfunzionamenti e sovra-dosaggio di insulina se uno dei tuoi strumenti (AAPS, NS, xDrip+) è configurato in modo errato. Guarda attentamente se i dati visualizzati da AAPS corrispondono allo stato del micro! Micro non inizializzato! - Carica/Riempi - Assicurati che la quantità corrisponda alla specifica del tuo set di infusione! - Carica/Riempi: quantità standard di insulina - Tasto 1 - Tasto 2 - Tasto 3 Unità Intervallo di visualizzazione Limite alto e basso per i grafici nella sezione Panoramica e sullo smartwatch @@ -148,108 +92,22 @@ Smartwatch Invia di nuovo tutti i dati Apri impostazioni sullo smartwatch - Velocità basale - MM640g Notifica persistente DATI VECCHI - OpenAPS AMA - Matrice di %1$d elementi.\nValore attuale: - Dati autosens - Script debug - Usa la funzione Autosens - AZN CONF LOOP - OAPS - ISFDIN HOME - MICROV TRATT - OBT SMWA Accorcia titoli schede - Usa sempre il delta medio ridotto - Utile quando i dati provenienti da sorgenti non filtrate come xDrip+ diventano \"rumorosi\" (instabili). - [Valore predefinito: 3] Questo è un parametro di sicurezza chiave in OpenAPS. Ciò che fa è limitare le tue basali a essere 3 volte, al più, la tua velocità basale massima. Probabilmente non avrai bisogno di cambiare questo valore, ma dovresti essere consapevole di cosa significa il gruppo di parametri \"3x max giornaliera; 4x corrente\" e per quali motivi di sicurezza siano stati impostati tali valori. - [Valore predefinito: 4] Questo è un ulteriore parametro di sicurezza chiave in OpenAPS. La tua basale temporanea, indipendentemente dalla basale massima impostata sul micro, non può mai essere più alta di questo valore moltiplicato per la tua basale corrente in ogni specifico momento. Questo serve a impedire alle persone di addentrarsi in \"territori pericolosi\" impostando basali massime eccessivamente alte prima di aver capito come funziona l\'algoritmo. Ancora una volta, il valore predefinito è 4x; la maggior parte delle persone non avrà bisogno di modificare questo valore e avrà, invece, maggiori probabilità di dover regolare altre impostazioni se ha la sensazione di \"scontrarsi\" con questo limite di sicurezza. - [Valore predefinito: 1.2]\nQuesto è un moltiplicatore di sicurezza per autosens (e presto autotune) per impostare un limite massimo del 20%% (col valore predefinito) su quanto alto può essere il rapporto di autosens, che a sua volta determina quanto in alto autosens può regolare le basali, quanto in basso può regolare ISF e quanto in basso può impostare il target glicemico. - [Valore predefinito: 0.7]\nUn altro limite di sicurezza di autosens, imposta un blocco a quanto in basso autosens può regolare le basali e a quanto in alto può regolare ISF e target glicemici. - Autosens regola anche i target - [Valore predefinito: vero]\nViene usato per consentire ad autosens di regolare i target glicemici, in aggiunta a ISF e basali. - [Valore predefinito: 2]\nBolus snooze è attivato dopo un bolo pasto per fare in modo che il loop non imposti basali temporanee basse quando hai appena mangiato. AndroidAPS non imposterà velocità basali troppo basse nel periodo corrispondente a DIA diviso il parametro bolus snooze - divisore DIA. Con DIA di 3 ore \"bolus snooze\" durerà 1.5 ore (3/2). - [Valore predefinito: 3.0 (AMA) o 8.0 (SMB)]. Questa è un\'impostazione per l\'impatto di assorbimento predefinito dei carboidrati in 5 minuti. L\'impostazione predefinita è una previsione di 3mg/dl/5min. Ha effetto sulla velocità di decadimento dei COB (carboidrati attivi) e su quanto il loro assorbimento incide nella previsione dell’andamento glicemico, quando la glicemia sta scendendo più del previsto o non sta salendo quanto previsto. - Attenzione!\nNormalmente non dovresti modificare questi valori. FAI CLICK QUI e leggi il testo e assicurati di AVERLO CAPITO prima di cambiare uno di questi valori. - Esecuzione - Impostazioni micro virtuale - Carica stato in NS - NSClient - NSCI - URL: - Autoscorrimento - Riavvio - NSClient - URL di Nightscout - Inserisci il tuo URL di Nightscout - API secret di NS - API secret di NS - Inserisci l\'API secret di NS (minimo 12 caratteri) - Invia ora - Cancella coda - Mostra coda - Coda: - Stato: - Cancella log - NSCLIENT non ha l\'autorizzazione di scrittura. API secret errato? Impostazioni smartwatch non riuscito - controlla il telefono - Tipo paziente - Bambino - Adolescente - Adulto - Adulto insulino-resistente - Gravidanza - Seleziona il tipo di paziente per configurare i limiti di sicurezza Nome paziente Fornisci il nome del paziente o il nickname per distinguere questa configurazione tra altre - Glimp - Sospendi loop per 1h - Sospendi loop per 2h - Sospendi loop per 3h - Sospendi loop per 10h - Disconnetti micro - Disconnetti micro per 15 min - Disconnetti micro per 30 min - Disconnetti micro per 1 h - Disconnetti micro per 2 h - Disconnetti micro per 3 h - 15 min - 30 min - 1 ora - 2 ore - 3 ore - 10 ore - Riprendi - Riconnetti micro - Registra l\'avvio dell\'app in NS Uscita dall\'applicazione per applicare le impostazioni. Quale tipo di insulina stai usando? Abilita superbolo nel calcolatore Abilita la funzionalità superbolo nel calcolatore. Non abilitare fino a quando non impari ciò che realmente fa. PUÒ CAUSARE SOVRA-DOSAGGIO DI INSULINA SE USATO IMPROPRIAMENTE! - Mostra indicatori di stato sulla home - Età cannula: soglia di avviso [h] - Età cannula: soglia critica [h] - Età insulina: soglia di avviso [h] - Età insulina: soglia critica [h] - Età sensore: soglia di avviso [h] - Età sensore: soglia critica [h] - Livello batteria sensore: soglia di avviso [%] - Livello batteria sensore: soglia critica [%] - Età batteria micro: soglia di avviso [h] - Età batteria micro: soglia critica [h] - Livello serbatoio: soglia di avviso [U] - Livello serbatoio: soglia critica [U] - Livello batteria micro: soglia di avviso [%] - Livello batteria micro: soglia critica [%] PRED BAS DEV @@ -259,18 +117,12 @@ PENDEV Informazioni su Autorizzazione stato telefono mancante - Cancella bolo esteso Cambia profilo - Sensore - Insulina - Batteria micro - età: - livello: - Opzioni allarme + Opzioni allarme Crea notifiche da allarmi NS Crea notifiche da avvisi NS - Soglia dati non aggiornati [min] - Soglia dati non aggiornati da molto tempo [min] + Soglia dati non aggiornati [min] + Soglia dati non aggiornati da molto tempo [min] Intervallo per autosens [h] Quantità di ore al passato per il rilevamento della sensibilità (il tempo di assorbimento dei carboidrati è escluso) OpenAPS @@ -283,27 +135,13 @@ Impostazioni assorbimento Max tempo assorbimento pasto [h] Tempo in ore in cui è previsto che tutti i carboidrati del pasto vengano assorbiti - OAPS - UPLD Mantieni lo schermo acceso Evita che Android spenga lo schermo. Consumerà molta energia quando non è collegato alla presa di corrente. Attivando la funzione Autosense, ricorda di inserire tutti i carboidrati assunti. Altrimenti le deviazioni di glicemia dovute ai carboidrati saranno identificate erroneamente come variazione di sensibilità !! Sensibilità WeightedAverage Non tutti i profili caricati! Valori non memorizzati! - Abilita trasmissioni ad altre app (come xDrip+). Non abilitare se hai installato più di un\'istanza di AAPS o AAPSClient! - Abilita trasmissioni locali - OpenAPS SMB - ISF Dinamico - Fattore di regolazione per ISF Dinamico (%) - Fattore di regolazione per ISF Dinamico. Imposta più del 100% per dosi di correzione più aggressive e meno del 100% per correzioni meno aggressive. - Abilita UAM - Abilita SMB - Usa super-micro-boli al posto della basale temporanea per un\'azione più veloce - Rilevamento dei pasti non annunciati NON VALIDO - Percentuale - Time shift Temp-Target predefiniti target \"pasto a breve\" - durata target \"pasto a breve\" @@ -311,33 +149,16 @@ target \"attività fisica\" target \"ipoglicemia\" - durata target \"ipoglicemia\" - Riusa %1$d%% %2$dh Controlli da smartwatch Imposta Temp-Target e inserisci trattamenti dallo smartwatch. - Usa le notifiche di sistema per gli avvisi Aumenta gradualmente il volume per avvisi e notifiche Avvisi locali Avviso se non si ricevono dati BG Avviso se il micro è irraggiungibile Soglia micro irraggiungibile [min] Avviso se sono richiesti CHO - Allarme urgente - INFO - Eversense app (modificata) - Carica dati BG su NS - Impostazioni caricamento BG Mostra delta dettagliato Mostra delta con una cifra decimale in più - Frequenza erogazione SMB (min) - Max minuti di basale a cui limitare SMB - SMB UAM max minuti - Max minuti di basale a cui limitare SMB per UAM - CHO minimi richiesti per il suggerimento - Quantità minima di carboidrati (in grammi) necessaria per visualizzare un avviso di suggerimento CHO. Al di sotto di questo numero non verrà attivata alcuna notifica. - Invia dati BG a xDrip+ - In xDrip+ seleziona origine dati 640g/Eversense - BG NSClient - BG NS Calcolo BG Calcolo IOB da bolo Calcolo IOB da basale @@ -348,41 +169,17 @@ Calcolo COB Calcolo target temporaneo Calcolo percentuale - Loop abilitato - APS selezionato - NSClient ha l\'autorizzazione di scrittura - Modalità chiusa abilitata - Max IOB impostata correttamente - BG disponibile da sorgente selezionata - Errore erogazione bolo esteso - Abilita SMB sempre - Abilita SMB sempre, indipendentemente dai boli. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 - Abilita SMB dopo i CHO - Abilita SMB per 6h dopo i carboidrati, anche con 0 COB. Possibile solo con sorgente glicemia con un buon filtraggio dei dati, come G5 - Abilita SMB con COB - Abilita SMB quando COB è attivo (ci sono carboidrati non assorbiti). - Abilita SMB con target temporanei - Abilita SMB quando è attivo un target temporaneo (pasto a breve, attività fisica) - Abilita SMB con target temporanei \"alti\" - Abilita SMB quando è attivo un target temporaneo \"alto\" (attività fisica, sopra 100 mg/dl o 5.5 mmol/l) - Insulina Tasti Invia una calibrazione a xDrip+ o apre la finestra di calibrazione di BYODA Apre xDrip+ o BYODA, il tasto indietro torna ad AAPS Numero di carboidrati da aggiungere quando si preme il tasto Quantità di insulina da aggiungere quando si preme il tasto Impossibile avviare l\'applicazione CGM. Assicurati che sia installata. - CGM Ignora | 5m Ignora | 15m Ignora | 30m - Storico Notifica SMB Mostra SMB sullo smartwatch come un bolo standard. - Crea avvisi da errori - Crea avvisi da CHO richiesti - Crea avviso su Nightscout per finestre di errore e allarmi locali (visualizzabile anche nella sezione Portale sotto la voce Trattamenti) - Crea avvisi su Nightscout dagli avvisi per CHO richiesti Mostra le predizioni sulla watchface. Predizioni Scelta dei dati @@ -390,8 +187,6 @@ Consenti la segnalazione automatica degli errori e l\'invio dei dati d\'uso delle funzioni dell\'app agli sviluppatori tramite il servizio fabric.io. Aggiorna la tua app Dexcom a una versione supportata App Dexcom non installata. - No bolo, solo record - Il bolo sarà solo registrato (non erogato dal micro) SMB impostato dal micro Attività Impatto glicemia (BGI) @@ -400,32 +195,11 @@ CHO attivi Insulina attiva Basali - Versione sviluppatore in esecuzione. Loop chiuso disabilitato. Engineering mode abilitata - Micro non in grado di impostare la basale temporanea - Modalità loop chiuso disabilitata nelle preferenze - Autosens disabilitato nelle preferenze - SMB disabilitato nelle preferenze - UAM disabilitato nelle preferenze - UAM disabilitato perché il plugin di sensibilità Oref1, dal quale UAM dipende, non è abilitato - moltiplicatore max basale - moltiplicatore max basale giornaliera Un bolo è stato erogato negli ultimi 3 minuti, SMB ignorato Basale impostata correttamente - Limitazione bolo esteso a %1$.1f U a causa di: %2$s - Limitazione carboidrati a %1$d g a causa di: %2$s - Limitazione IOB a %1$.1f U a causa di: %2$s - valore max nelle preferenze - limite fisso - Registra cambio posizione cannula - Registra cambio cartuccia insulina - Le funzioni \"SMB sempre\" e \"SMB dopo i CHO\" sono disabilitate perché l\'attuale sorgente delle glicemie non supporta il filtraggio avanzato - SMB non consentito in modalità loop aperto - Max IOB totale a cui limitare OpenAPS [U] - Questo valore è chiamato Max IOB nel contesto OpenAPS\nOpenAPS non aggiungerà ulteriore insulina se IOB corrente è maggiore di questo valore Max tempo assorbimento pasto [h] Tempo entro il quale ogni pasto si considera assorbito. Eventuali carboidrati rimanenti verranno tagliati fuori. - Glicemia sotto la quale l\'erogazione d\'insulina è sospesa. Il valore predefinito utilizza il modello target standard. L\'utente può impostare un valore compreso tra 60 mg/dl (3.3mmol/l) e 100mg/dl (5.5mmol/l). Con valori inferiori a 65/3.6 viene usato il modello predefinito Finestre tratt.nto: mostra campo note Avanti Indietro @@ -438,33 +212,17 @@ Secondo incremento di CHO Terzo incremento di CHO CGM - Usa connessione cellulare - Usa connessione WiFi - WiFi SSID - Durante la ricarica - Utilizzo batteria - Impostazioni connessione - SSID ammessi (separati da punto e virgola) - Consenti connessione in roaming Max rapporto autosens Min rapporto autosens - Bolus snooze - divisore DIA - Moltiplicatore di sicurezza max basale giornaliera - Moltiplicatore di sicurezza basale corrente - Tipo micro virtuale - Definizione micro - Bolo: Step=%1$s\nBolo Esteso: [Step=%2$s, Durata=%3$smin-%4$sh]\nBasale: Step=%5$s\nTBR: %6$s (di %7$s), Durata=%8$smin-%9$sh\n%10$s Calcoli inclusi nel risultato del Calcolatore: Impostazioni di visualizzazione Impostazioni generali - Abilita NSClient Benvenuto nella configurazione guidata. Ti seguirò durante tutto il processo.\n Lettura stato Salta configurazione guidata Premi il tasto in basso per permettere ad AAPS di proporre/fare modifiche alla basale Il plugin di sensibilità è usato per il rilevamento della sensibilità all\'insulina e il calcolo di COB. Per ulteriori informazioni visita: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient gestisce la connessione a Nightscout. Puoi saltare questa parte ora, ma non sarai in grado di superare gli obiettivi fino a quando non ne porterai a termine la configurazione. Ricorda: i nuovi profili di insulina richiedono una DIA di almeno 5h. DIA di 5-6h sui nuovi profili sono uguali a DIA di 3h sui vecchi profili di insulina. Seleziona uno degli algoritmi disponibili. Sono ordinati dal più vecchio al più recente. L\'algoritmo più recente è solitamente più potente e più aggressivo. Pertanto, se sei un nuovo utente, probabilmente dovresti iniziare con AMA e non con l\'ultimo. Non dimenticare di leggere la documentazione di OpenAPS e di configurarlo prima dell\'uso. Configura il RileyLink di seguito. Dopo aver selezionato un RileyLink, sarà possibile continuare la configurazione una volta che lo stato del RileyLink sarà \"Connesso\". Questo potrebbe richiedere un minuto.\n @@ -474,21 +232,6 @@ Apri navigazione Chiudi navigazione Preferenze plugin - Poctech - Ricevi valori glicemia da app Poctech - Glunovo - Ricevi valori glicemia da app Glunovo - Intelligo - Ricevi valori da app Intelligo - Ricevi valori glicemia da app Tomato (dispositivo MiaoMiao) - Temp-Target \"alto\" aumenta la sensibilità - = 100]]> - Temp-Target \"basso\" riduce la sensibilità - - La resistenza abbassa il target - Quando viene rilevata resistenza, ridurre la glicemia target - La sensibilità aumenta il target - Quando viene rilevata sensibilità, aumentare la glicemia target Rimuovi elementi Ordina elementi Trovate impostazioni memorizzate @@ -504,64 +247,22 @@ Elimina log Un trattamento (insulina: %1$.2f, carboidrati: %2$d, a: %3$s) non può essere aggiunto ai trattamenti. Controlla e aggiungi il record necessario. eCarbs: %1$d g (%2$d h), ritardo: %3$d m - Nessun dato autosens disponibile File di log Miscellanea Impostazioni Log Ripristina valori predefiniti - Malfunzionamento NSClient. Considera il riavvio di NS e NSClient. Modalità APS preferita Invia agli sviluppatori i file log di oggi e di questo momento. Situazione inaspettata. Richiesta minima di modifica [%] Il loop aperto mostrerà una nuova richiesta di modifica solo se la modifica è maggiore di questo valore in %. Il valore predefinito è 20% == ∑ %1$s U - Registra cambio sensore in NS - Crea evento \"Cambio Sensore\" in NS all\'avvio del sensore - Tomato (MiaoMiao) - Tomato - Il tuo nome utente per l\'accesso a Tidepool, generalmente il tuo indirizzo email - Nome utente - La tua password di Tidepool - Password - Test di accesso a Tidepool - Se abilitato, gli upload andranno su https://int-app.tidepool.org invece che su https://app.tidepool.org/ - Usa server integrativi (test) - Tidepool - TDP - Carica dati su Tidepool - Carica dati CGM - Carica trattamenti (insulina, CHO) - Carica basali temporanee - Carica cambi profilo, target temporanei - Carica test BG - 2h - BYODA - BYODA - Ricevi valori glicemia dall\'app Dexcom ottenuta con \'Build Your Own Dexcom App\'. - COB vs IOB - Vincolo bolo applicato: %1$.2f U a %2$.2f U - !!!!! Rilevato assorbimento lento dei carboidrati: %2$d%% del tempo. Ricontrolla il tuo calcolo. COB potrebbero essere sovrastimati e potrebbe essere somministrata più insulina !!!!!]]> - Eroga parte del risultato del calcolatore [%] Il calcolatore esegue il calcolo, ma solo questa parte dell\'insulina calcolata è erogata. Utile con algoritmo SMB. - Aumento del valore max basale perché l\'impostazione è inferiore alla tua basale massima nel profilo - Selezionato: Unità - Cancella completamento - Cancella avvio - Vuoi resettare l\'avvio dell\'obiettivo? Potresti perdere i tuoi progressi. Seleziona le unità in cui vuoi visualizzare i valori Valore più basso per l\'intervallo di visualizzazione dell\'area \"in range\" Valore più alto per l\'intervallo di visualizzazione dell\'area \"in range\" - Inserimento % non valido - BG casuale - Genera dati glicemia casuali (solo modalità demo) - BG - Strumenti - Mostra calcolo Mostra rimossi Cancellare la coda? Tutti i dati in coda andranno persi! - L\'uso della funzione bolo esteso interromperà la modalità loop chiuso per il tempo di esecuzione del bolo esteso. Lo vuoi davvero? - Loop chiuso disabilitato a causa dell\'esecuzione di un bolo esteso Menu grafico Richiesta SMB (momento) Esecuzione SMB (momento) @@ -574,34 +275,15 @@ Insulina assoluta La password master viene usata per la crittografia del backup e per gestire la sicurezza nell\'applicazione. Ricordala o conservala in un luogo sicuro. Password Master corrente - Indicatori di stato - Copia impostazioni da NS - Copiare impostazioni NS (se esiste)? - Tema originale - Tema a bassa risoluzione - I tasti vengono sempre visualizzati nella parte inferiore dello schermo - Visualizzazione ampia - Tema - Compara profili - Assistente profilo - Profilo predefinito - Profilo corrente - Profilo disponibile - Tipo profilo - Età: %1$.0f TDD: %2$.0f U - Età: %1$.0f TDD: %2$.0f U %3$d%% - Età: %1$.0f Peso: %2$.0f kg - % di basale - Profilo DPV predefinito Stato RileyLink: Impossibile creare il profilo. Il profilo non è valido. Non terminare l\'app? - Esegui allarme quando è tempo di mangiare Tempo di mangiare!\nEsegui il calcolatore e fai di nuovi i calcoli. Abilita promemoria bolo + Usa promemoria bolo con calcolatore + (\"post-bolo\") Caricamento log dei crash disabilitato! Grafico - Menu grafico Cancella filtro Cannula Usa i valori del cibo più abbondante che mangi di solito\n @@ -609,48 +291,12 @@ Indirizzo email Impostazioni privacy Puoi fornire un indirizzo e-mail opzionale se desideri essere avvisato in caso di arresti anomali dell\'app. Questo non è un servizio automatizzato. Sarai contattato dagli sviluppatori in situazioni pericolose. - Sincronizzazione completa - Sincronizzazione completa? Potrebbe richiedere molte ore e fino alla fine del processo non vedrai nuovi dati in NS. - Sincronizzazione - Profili, boli, CHO, basali temporanee vengono caricati su NS - Carica dati su NS - Ricevi profilo - Sincronizza i profili dall\'editor profilo di NS - Ricevi target temporanei - Accetta target temporanei inseriti tramite NS o NSClient - Ricevi cambi profilo - Accetta cambi profilo inseriti tramite NS o NSClient - Ricevi eventi APS offline - Accetta eventi APS offline inseriti tramite NS o NSClient - Ricevi TBR e EB - Accetta TBR e EB inseriti attraverso altra istanza - Ricevi insulina - Accetta insulina inserita tramite NS o NSClient (non viene erogata, solo calcolata per IOB) - Ricevi CHO - Accetta CHO inseriti tramite NS o NSClient - Ricevi eventi terapia - Accetta eventi terapia (cambio cannula, insulina, batteria, ecc.) inseriti tramite NS o NSClient - Ricevi/riempi dati CGM - Accetta dati CGM da NS - Eseguire %s? - Rallenta caricamenti Stato dati BG Rimuovi letture BG - Età cannula - età micro a patch - Micro a patch Identificazione (email, nick Discord o FB, etc) Identificazione non impostata in modalità dev dialogo - glicemia corrente - risultato corretto con % - risultato corretto con unità Non disponibile - grafico - qualità glicemia - insulina - glicemia - obsoleto Preset sconosciuto target temporaneo: %1$s Cancellare i target temporanei in esecuzione? @@ -665,22 +311,6 @@ Calc. Wizard:\nInsulina: %1$.2fU\nCHO: %2$dg Mostra voce sul dispositivo: Il calcolo rapido selezionato non è più disponibile, aggiorna il riquadro - Nessun recente valore BG su cui basare il calcolo! - Nessun profilo attivo! - Valore COB sconosciuto! Lettura BG mancante o recente riavvio dell\'app? - Violazione vincolo CHO! - Calc (IC: %1$.1f, ISF: %2$.1f) - CHO: %1$.2fU - COB: %1$.0fg %2$.2fU - BG: %1$.2fU - IOB: %1$.2fU - Superbolo: %1$.2fU - Trend di 15\': %1$.2fU - Percentuale: %1$.2fU x %2$d%% ≈ %3$.2fU - Violazione vincolo insulina!\nImpossibile erogare %1$.2fU - TempT: %1$s - %1$s a %2$s - Nessun micro disponibile! Comando sconosciuto: Percentuale Predefinito applicazione @@ -689,13 +319,7 @@ Ordina Stato loop Scala del grafico - Profilo 1 - Profilo 2 - Login - Rimuovi tutto - Avvio reset apri impostazioni - imposta allarme timer CHO Tutto Telefono Smartwatch @@ -703,14 +327,7 @@ solo su telefono trascina e rilascia Cerca - - GlucoRx Aidex - GlucoRx Aidex - Ricevi valori glicemia da CGM GlucoRx Aidex. - Bloccato dalle opzioni di ricarica - Bloccato dalle opzioni di connettività (Nessuno smartwatch connesso) - Regola sensibilità e BG Pulizia database Vuoi pulire il database?\nIl processo rimuoverà i cambiamenti tracciati e i dati dello storico più vecchi di 3 mesi. Elementi cancellati diff --git a/app/src/main/res/values-iw-rIL/exam.xml b/app/src/main/res/values-iw-rIL/exam.xml index 0493715505..3ea04e700d 100644 --- a/app/src/main/res/values-iw-rIL/exam.xml +++ b/app/src/main/res/values-iw-rIL/exam.xml @@ -1,196 +1,2 @@ - - מה נכון לגבי משך פעילות אינסולין (DIA)? - משך פעילות האינסולין (DIA) - יש לקבוע ערך DIA בפרופיל. - הערך המינימלי הוא 5 שעות. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - עליכם לקבוע לעצמכם את ערך ה-DIA הרצוי. - ערך מטרה זמני - היפו - מהי הסיבה העיקרית לקביעת ערך מטרה זמני \"היפו\"? - לתיקון מצבי היפו שנגרמו עקב הגדרות מינון בזאלי שגויות. - לתיקון היפו שנגרם ע\"י פעילות גופנית. - כדי למנוע מרמת הסוכר לרדת במידה ומינון בזאלי זמני 0% כבר פעיל. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - באיזה פרופיל אפשר להשתמש ולהגדיר במצב לא מקוון? - פרופיל לא מקוון - ניתן להשתמש בנייטסקאוט אך לא ניתן להגדירו. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - מה צריך לעשות כשמנתקים את המשאבה? - \"ניתוק משאבה\" אינו הכרחי הואיל ולא יוזרם אינסולין אם המשאבה מנותקת פיזית. - \"ניתוק משאבה\" לא יגרום להפסקת הזרמת האינסולין כל עוד המשאבה מחוברת. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - מהן הפעולות המומלצות לצורך גיבוי ההגדרות שלכם? - אין צורך לייצא את ההגדרות שלכם בהנחה שרשמתם אותן בצורה כלשהי. - יצאו את ההגדרות שלכם אחרי השלמת משימה (Objective). - יצאו את ההגדרות שלכם אחרי כל שינוי שבצעתם בהן. - יצאו את ההגדרות שלכם לאחר סיום ההתקנה הראשונית וקביעת ההגדרות. - יצאו את ההגדרות ליעד מקומי באמצעות תפריט התחזוקה. - קובץ ההגדרות שלכם נמצא בתיקיה Internal Storage/AAPS/preferences בטלפון שלכם. - העתיקו את קובץ ההגדרות למיקום בטוח, מחוץ לטלפון (לדוגמה באחסון ענן, העתקה באמצעות חיבור הטלפון למחשב ע\"י כבל, שליחה במייל וכו\') - אם הטלפון ניזוק או אבד, ישנן דרכים נוחות לשחזור ההגדרות מרחוק, ללא צורך בגיבוי. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - נתוני הסנסור שאינם יציבים - מה לעשות אם נתוני הסנסור לא יציבים? - אין צורך לעשות דבר - AndroidAPS יטפל בכך בעצמו. - הפסקת הלולאה כדי למנוע מינון איסולין גבוה מדי\\נמוך מדי. - יש להחליף סנסור שבאופן קבוע מספק נתוני רועשים ו\\או לא מדויקים. - יש לוודא שיישום הסנסור מספק נתונים איכותיים ו- \"חלקים\". - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - פעילות גופנית ופרופילים - איך השימוש בפרופילים יכול לסייע למערכת להתמודד בצורה הטובה ביותר עם פעילות גופנית? - יש לבצע שינוי פרופיל לפחות מ-100%. - בצעו שינוי פרופיל ליותר מ-100%. - יש להשאיר את הפרופיל על 100%. - השהית הלולאה. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - פעילות גופנית וערכי מטרה זמניים - איך ניתן להשתמש בערכי מטרה זמניים כדי לסייע למערכת להתמודד בצורה הטובה ביותר עם פעילות גופנית? - מגדירים ערך מטרה המתאים לפעילות גופנית זמן מספיק לפני תחילת האימון. - מגדירים ערך מטרה לפעילות גופנית לאחר סיום האימון. - השאירו את ערך מטרת הסוכר ללא שינוי. - המתינו עד שהגלוקוז בדם יירד מתחת לערך המטרה של היפו ואז אכלו 15 גרם של פחמימות מהירות. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - השבתת \\ השהיית לולאה - האם אני מקבל\\ת אינסולין כאשר הלולאה מושבתת\\מושהית? - כן, אינסולין בזאלי ממשיך להינתן. - לא, אספקת האינסולין נפסקת. - מינון באזלי, יחס תיקון, ויחס פחמימות - מתי יש לוודא את נכונות ערכים אלה? - לפני שאני מתחיל\\ה לולאה. - כאשר חווים רמת סוכר גבוהה או נמוכה לעיתים קרובות. - לפחות פעם אחת בשבוע. - לאחר שהוגדרו ואומתו, ערכים אלה אינם צריכים להשתנות לאורך הזמן. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - דרישות מקדימות - הגדרת פרופיל אישי (מינון בזאלי-Basal, יחס אינסולין\\פחמימה- IC, יחס תיקון-ISF, משך פעילות אינסולין-DIA). - מחשב עם Android Studio מותקן ומוגדר. - טלפון נתמך. - משאבת אינסולין מתאימה אם אתם מתכננים להפעיל לולאה סגורה. - נייטסקאוט, כדי לשמור יומן של כל הנתונים וסקירה של ההגדרות. - חשבון Tidepool. - חשבון Google. - חשבון Github. - ניסיון בתכנות או בעריכת קוד. - משאבת מנימד 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - שעון חכם. - סנסור נתמך. - דרישות מקדימות - מידע מאומת כדי להגדיר פרופיל (יחסי תיקון, יחסי פחמימות, מינונים בזאליים, משך פעילות האינסולין וכו\'). - מכשיר Android תואם (לדוגמה טלפון נייד, שעון אנדרואיד או טאבלט). - חיישן סוכר נתמך ואפליקציה מתאימה לקבלת ערכי הסוכר בטלפון\\התקן. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - סמנו את כל התשובות הנכונות. - אתם צריכים להתקין ולהגדיר את Git במחשב שלכם. - עליכם לשמור ולציין את מיקום ה-Keystore שלכם ולהשתמש באותו מפתח חתימה בעדכונים בו השתמשתם להתקנה הקודמת שלכם. - לעולם לא לעדכן את האפליקציה אם היא פועלת כראוי. - אם נתקלתם בקושי בבנייה של ה-APK, אתם יכולים להתקין APK שנבנה על ידי חבר. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - פתרון תקלות - עליכם לשאול את המרפאה\\הרופא האנדוקרינולוג שלכם. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - תוספי אינסולין - באיזה אינסולין להשתמש עם תוסף האולטרה מהיר? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/ אינסולין אנושי \"רגיל\". - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - תוספי רגישות - סמנו את כל התשובות הנכונות. - תוספי רגישות מספקים למשתמש הצעות לשינויים למינוני הבזאלי, יחסי התיקון והפחמימות, שאיתם ניתן לערוך את הפרופיל. - רישום החלפת צינורית יאפס את היחס של Autosens בחזרה ל-100%. - חלק מאפשרויות התוסף כוללות טווחי זמן הניתנים להגדרה ע\"י המשתמש. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - שגיאות רישום פחמימות - מה לעשות אם טעיתם ברישום הפחמימות? - מחקו את הרשומה השגויה בטיפולים וציינו את ערך הפחמימות הנכון. - בולוס עם אינסולין תוך שימוש בתפריט התיחול (Priming) של העירוי. - מתן בולוס אינסולין באמצעות כפתור האינסולין בדף הסקירה הכללית. - שגיאות ברישום\\הזרקת אינסולין - מה עליכם לעשות אם מקבלים פחות אינסולין מאשר המוצע ע\"י היסטוריית המשאבה, למשל עקב חסימה, צינורית כושלת או אי חיבור מחדש של המשאבה אחרי מקלחת?  - מחקו את נתוני האינסולין מפורטל הטיפולים של נייטסקאוט כדי לסלק אותם מהיסטוריית המשאבה. - מזריקים בולוס על חלק מהאינסולין המחושב \"שחסר\" עם מזרק\\עט או באמצעות תיחול (Prime). - פחמ\' פעילות - איך שינויים ביחס התיקון משפיעים על חישוב הפחמימות הפעילות? - הגדלת ערך יחס התיקון תגרום להארכת משך ספיגת הפחמימות - הגדלת ערך יחס התיקון תגרום לקיצור משך ספיגת הפחמימות - הגדלת ערך יחס התיקון לא תשפיע על חישוב ספיגת הפחמימות - איך שינויים ביחס הפחמימות משפיעים על חישוב הפחמימות הפעילות? - הגדלת ערך יחס הפחמימות תגרום להארכת משך ספיגת הפחמימות - הגדלת ערך יחס הפחמימות תגרום לקיצור משך ספיגת הפחמימות - הגדלת ערך יחס הפחמימות לא תשפיע על חישוב ספיגת הפחמימות - איך שינויים באחוזי הפרופיל משפיעים על חישוב הפחמימות הפעילות? - הגדרת 150% פרופיל תגרום להארכת משך ספיגת הפחמימות - הגדרת 150% פרופיל תגרום לקיצור משך ספיגת הפחמימות - הגדרת 150% פרופיל לא תשפיע על חישוב משך ספיגת הפחמימות - אינסולין פעיל בגוף (IOB) - ערך האינסולין הפעיל (IOB) מושפע ממינונים בזאליים זמניים שסופקו. - מינון בזאלי גבוה לא יינתן כאשר רמת הסוכר נמוכה מערך המטרה. - אינסולין פעיל שלילי לאורך זמן בו לא נעשית פעילות מצביע על כך שהפרופיל חזק מדי, נדרש פחות אינסולין ויש להגדיר זאת בפרופיל. - אינסולין פעיל חיובי לאורך זמן ארוך מצביע על תנגודת לאינסולין או על ארוחות שלא הוכרזו. - רישום פחמימות ובולוסים - יש להשתמש אך ורק בגרמים להערכה ורישום צריכת הפחמימות. - ניתן לתעד צריכת פחמימות באמצעות מערכת המרה מתאימה (לדוגמה, המרות \"DAFNE \"CHO, מערכת המרת \"יחידות לחם\" אירופאית). - אם רמות הסוכר מחוץ לערכים המקובלים (נמוך מדי או גבוה מדי) ניתן להשתמש במחשבון הבולוס לקבלת הצעות לתיקוני פחמימות או אינסולין. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - פחמימות ממושכות - מה עושים עם פחמימות ממושכות? - מתזמנים פחמימות עתידיות, שניתן לפזר במרווחי זמן (בדומה לבולוס ממושך שמפזר את ההזרקות על פני מרווחי זמן). - רישום פחמימות בהם השתמשתם להצלה מהיפוגליקמיה.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - ניטור מרחוק - אפליקציות אחרות (לדוגמה, דקסקום Follow ו-xDrip במצב מעקב) מאפשרות לכם לעקוב אחר פרמטרים מסוימים (לדוגמה, ערכי סוכר) מרחוק, אך משתמשות באלגוריתמים שונים, כך שהן עשויות להציג ערכי אינסולין ופחמימות פעילות לא מדויקים. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - יחס התיקון (ISF) - עלייה בערך יחס התיקון תביא למתן יותר אינסולין לכיסוי כמות נתונה של פחמימות. - הפחתת ערך יחס התיקון (ISF) מובילה למתן יותר אינסולין כדי לתקן רמת סוכר שמעל ערך המטרה. - העלאת או הורדת יחס התיקון (ISF) אינה משפיעה על מינון האינסולין כאשר רמות הגלוקוז בדם הן מתחת לערך המטרה. - שינוי ערך ISF בפרופיל שלכם מספיק כדי להחיל את השינוי. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - ניתן להשתמש ביותר מערך אחד ליחס הפחמימות בפרופיל שלכם. - אם משנים את יחס התיקון בפרופיל, חייבים לשנות גם את יחס הפחמימות. - יחס אינסולין לפחמימות (יחס הפחמימות, I:C) - יחס פחמימות גבוה גורם להזרקת פחות אינסולין עבור כל פחמימה. - יחס פחמימות נמוך גורם להזרקת פחות אינסולין עבור כל פחמימה. - כאשר יש 0 פחמ\', שינוי יחס הפחמימות (IC) יוביל למינון שונה של אינסולין כדי לתקן ערך סוכר נתון. - יחס הפחמימות (IC) יהיה שונה אם ערך יחידת לחם ייספר כ-10 או 12 גר\'. - יחס הפחמימות (IC) הוא: כמה יחידות לחם מכוסות ע\"י יחידת אינסולין אחת. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - החלפת פרופילים - בעת החלפה לפרופיל 90%, מהם כל ההיגדים הנכונים? - המינון הבזאלי יהיה נמוך ב-10%. - ערך פקטור התיקון (ISF) יהיה גבוה ב-10%. - ערך יחס הפחמימות יהיה נמוך ב-10%. - ערכי יחס התיקון ויחס הפחמימות לא ישתנו. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - החלפת פרופילים - בעת החלפה לפרופיל 120%, מהם ההיגדים הנכונים? - ערך מטרת הסוכר בדם יהיה גבוה ב-20%. - המינון הבזאלי יהיה גבוה ב-20%. - ערך מטרת רמת הסוכר לא ישתנה. - ערך פקטור התיקון (ISF) יהיה גבוה ב-20%. - החלפת פרופיל - יש להפעיל מצב פרופיל זמני עם היסט זמן של 2+ - יש להפעיל מצב פרופיל זמני עם היסט זמן של 2- - יש להגדיר ערך מטרה זמני לאכילה בקרוב. - יש לבצע שינוי פרופיל ליותר מ- 100%  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - שינויים בפרופילים - על המינונים בזאליים, יחס התיקון, יחס הפחמימות וכו\' להיות מוגדרים בפרופילים. - עריכת פרופילים לצורך שינוי ערכים מספיקה כדי להחיל שינויים כלשהם שבוצעו. - ניתן להגדיר פרופילים מרובים כדי להתאים לנסיבות משתנות (לדוגמה שינויים הורמונליים, עבודת משמרת, ימי חול\\אורח חיים של סופ\"ש). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - נושא: עזרה עם מינונים בזאליים - היכן ניתן לקבל עזרה בנושא מינון בזאלי וכו\'. - צוות הסוכרת שלכם - Google - Facebook - תרופות אחרות. אנא קראו את ההצהרה להלן ולאחר מכן סמנו את התיבה כדי לקבל את ההצהרה. - + diff --git a/app/src/main/res/values-iw-rIL/objectives.xml b/app/src/main/res/values-iw-rIL/objectives.xml index 8d85b2b494..3ea04e700d 100644 --- a/app/src/main/res/values-iw-rIL/objectives.xml +++ b/app/src/main/res/values-iw-rIL/objectives.xml @@ -1,53 +1,2 @@ - - התחל - סיום - %1$d. משימה - מטרה %1$d לא החלה - משימה %1$d לא בוצעה במלואה - מגדיר ויזואליזציה, ניטור, נתוח של מינון בזאלי ויחסים - ודא כי רמת סוכר זמינה ב- Nightscout, ושנתוני האינסולין מהמשאבה נשלחים - התחלה עם לולאה פתוחה - השתמשו במצב לולאה פתוחה במשך מס\' ימים וקבעו באופן ידני מספר רב של מינונים בזאליים זמניים. הגדירו והשתמשו במטרות זמניות ובמטרות ברירת מחדל (לדוגמא פעילות גופנית, או מתן פחמימות בהיפו) - הבנה של הלולאה הפתוחה שלך, לרבות הבזאלים הזמניים וההמלצות - בהתבסס על ניסיון זה, קבעו את הערך הבזאלי המקסימלי והגדירו אותו במשאבה - מתחילים לסגור את הלולאה עם השהיה עקב רמת גלוקוז נמוכה - השתמשו בלולאה סגורה עם ערך IOB מקסימלי = 0 למשך מספר ימים, עם כמה שפחות ארועי השהיה עקב גלוקוז נמוך (LGS) - כוונון הלולאה הסגורה, תוך העלאה של ערך ה- IOB מעל 0 ובסופו של דבר הורדת ערכי המטרה של רמת הסוכר - לפני הורדת ערך רמת הסוכר, הפעילו במשך מס\' ימים, עם לפחות לילה אחד ללא התרעת רמת סוכר נמוכה - במידת הצורך, בצעו התאמת בזאלי ויחסים, ולאחר מכן הפעילו את Autosens - שבוע של הפעלה מוצלחת של הלולאה במשך שעות היום, עם רישום ערכי פחמימות בקביעות - הפעלת פונקציות נוספות לשימוש במשך היום, כגון סופר מיקרו בולוסים (SMB) - הפעלת אוטומציה - חובה לקרוא את הויקי ולהעלות את ערך ה-maxIOB כדי להפעיל את ה- SMB כראוי. התחלה טובה תהיה maxIOB=בולוס ממוצע + 3 פעמים ערך הבזאלי היומי המקסימלי - קראו את המסמכים על כיצד האוטומציה פועלת. הגדירו את הכללים הפשוטים הראשונים שלכם. במקום פעולה, תנו ל-AAPS להציג הודעה בלבד. כאשר אתם בטוחים שהאוטומציה מופעלת כראוי, החליפו את ההודעה בפעולה אמיתית. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - ערך הסוכר זמין ב-Nightscout - סטטוס המשאבה זמין ב-Nightscout - קביעות ידניות - הושלמו: %1$s - הגדירו פרופיל 90% למשך 10 דקות (לחיצה ארוכה על שם הפרופיל במסך הסקירה הכללית) - דמו מקלחת. הגדירו ניתוק משאבה במשך שעה אחת (לחיצה ארוכה על לולאה פתוחה) - ... והתחברו מחדש באותה הדרך - צרו ערך מטרה זמני מותאם אישית במשך 10 דקות (לחיצה ארוכה על ערך המטרה הנוכחי) - ב-בונה התצורה יש להפעיל את תוסף הפעולות, להפוך אותו לגלוי ולהציג את תוכנו בתפריט העליון - הצג תוכן של תוסף לולאה - השתמשו בפונקציית קנה המידה ע\"י לחיצה ארוכה על תרשים הסוכר - הכנס - אם השתמשתם בלולאה סגורה במשך שלושה חודשים לפחות עם מערכות אחרות, תוכלו לבקש קוד לדילוג על המטרות. ראו: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives לפרטים נוספים. - קוד אושר - קוד בלתי חוקי - הוכיחו את הידע שלכם\\ן - למדו לקראת מענה על השאלות.  קיימות ארבע תשובות אפשריות לכל שאלה. ייתכן שיש יותר מתשובה נכונה אחת. בחרו את כל התשובות הנכונות ובחרו אישור. - לא ניתן לענות עד: %1$s - תשובה שגויה! - הבא שלא נענה - בקשת קוד: %1$s - (סמנו את כל התשובות הנכונות) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - אין חיבור לאינטרנט - אחזור השעה נכשל - דרישות המשימה לא נענו - + diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 9fcd81363b..62bb9fbf21 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -3,87 +3,44 @@ - בטיחות טיפולים - בולוס מקסימלי מותר [U] - מקסימום פחמימות מותר [g] - רמת הסוכר נמוכה מסף ההשהיה עקב סוכר נמוך העדפות %1$s העדפות רענן טיפול מ-Nightscout איפוס מסדי נתונים אתם בטוחים שאתם רוצים לאפס את מסדי הנתונים? יציאה - לחצנים לגישה מהירה לפונקציות שימושיות משמש לקביעת תצורה של תוספים פעילים - תוכנית הלימוד הפעלת או השבתת הלולאה. - מסנכרן את נתוניכם עם Nightscout - הישאר עם האלגוריתם של 2017 - האלגוריתם העדכני ביותר, עבור משתמשים מתקדמים בלבד - האלגוריתם העדכני ביותר, נועד למשתמשים מתקדמים עם רגישות (ISF) דינאמית\\אוטומטית מציג את המצב הנוכחי של הלולאה ולחצני פעולות שימושיות מציג הודעה קבועה עם סקירה קצרה של מה שהלולאה שלכם עושה - שימוש במשאבות אשר עדיין אין להם מנהל התקן כלשהו (לולאה פתוחה) חישוב הרגישות נעשה בהתאם ל־Oref0, אך ניתן לשנות את מסגרת הזמן. ספיגת הפחמימות המינימלית מחושבת לפי משך ספיגת הפחמימות המרבי מההעדפות. הרגישות מחושבת מנתונים מ-8 או 24 השעות האחרונות (הרגישות הנמוכה מביניהם). הפחמימות (אם לא נספגו) מפסיקות להיחשב לאחר משך זמן שהוגדר בהגדרות. תוסף זה מחשב גם ארוחות לא ידועות מראש (UAM). הרגישות מחושבת כממוצע משוקלל של ערכי הסטיות. ערכי סטיות חדשים יותר יזכו לשקלול גבוה יותר. ספיגת הפחמימות המינימלית מחושבת על בסיס נתון משך ספיגת פחמימות מקסימלי מההגדרות. אלגוריתם זה הוא המהיר ביותר במעקב אחר שינויי רגישות. - קבלת ערכי רמת סוכר מאפליקציית Eversense עם פאץ\'. - קבלת ערכי סוכר בדם מאפליקציית Glimp. - קבלת ערכי סוכר בדם מ-600SeriesAndroidUploader. - הורדת ערכי סוכר בדם מ-Nightscout - קבלת ערכי סוכר מ-xDrip. שמירת כלל הטיפולים שנעשו - בצע - משאבה וירטואלית - ההפעלה האחרונה - טוען פרמטרים - מצב סוכר - בזאלי זמני נוכחי - נתוני אינסולין פעיל - פרופיל - נתוני ארוחה - תוצאה - תוצאה: %1$s %2$s - אין ערכי סוכר זמינים - בקשה דלתא בונה התצורה סקירה כללית טיפולים - משאבה וירטואלית משאבה פרופיל APS איזה אלגוריתם של APS יבצע התאמות טיפול? כללי מס\' תוספים כלליים שעשויים להיות יעילים. + סינכרון אילו מגבלות פעילות? - מגבלות לולאה אלגוריתם APS מגבלות לאחר עיבוד מינון בזאלי זמני שהוגדר במשאבה לא נבחרה או סופקה תוצאה ע\"י APS - בטיחות - התוסף אינו זמין הפרת מגבלות - אשר בזאלי זמני חדש: שנה קלט! מקור ערכי הסוכר - xDrip+ - מצב APS - לולאה סגורה - לולאה פתוחה - השהיה עקב ערך סוכר נמוך הצעה חדשה זמינה המלצת פחמימות - גרסה לא נתמכת של Nightscout - זמן פחמימות פרופיל - בזאלי זמני - בולוס ממושך גירסת נייטסקאוט: - חסרים %1$d גר\' ההעדפות יוצאו רשומות המשתמש יוצאו ייצא הגדרות ל- @@ -92,12 +49,7 @@ הקובץ לא נמצא ייצא הגדרות ייבוא הגדרות - מינון בזאלי זמני מקסימלי (יח\'\\שעה) - ערך זה נקרא בזאלי מרבי ב-OpenAPS - בזאלי פעיל מרבי ש-OpenAPS יכול לספק (יחידות) - ערך זה נקרא אינסולין פעיל מקסימלי (Max IOB) ב-OpenAPS. זהו מקסימום האינסולין הפעיל ב-[U] ש-APS מאפשר. אתם תתבקשו למלא סיסמה ראשית שתשמש להצפנת ההעדפות המיוצאות. - אתם תתבקשו למלא סיסמה ראשית שתשמש לפיענוח ההעדפות המיובאות. ייצוא בוטל! ההגדרות לא יוצאו! ייבוא בוטל! ההעדפות לא הובאו! לא ניתן לייבא את ההגדרות! @@ -117,7 +69,6 @@ אני מבין\\ה ומסכים\\ה שמירה טעינה מחדש של הפרופיל - אשף מהיר הגדרות אשף מהיר טקסט הלחצן: פחמימות: @@ -125,16 +76,9 @@ הוספה עריכה תיקון - פעולות (מסוכן להשבית) העלאה בלבד לנייטסקאוט העלאה בלבד של נתונים לנייטסקאוט. לא מתאים לשימוש אלא אם מקור נתוני הסוכר הוא מקומי כדוגמת xDrip. לא מתאים לשימוש בפרופילים מקוונים מנייטסקאוט.\n!!! אזהרה !!! ביטול אפשרות זו עלולה לגרום לתקלות ולמינון יתר של אינסולין אם אחד או יותר מרכיבי המערכת (AAPS, xDrip, נייטסקאוט) אינו מוגדר כהלכה. וודאו היטב שהנתונים המוצגים ב-AAPS תואמים את מצב המשאבה! משאבה לא הופעלה! - תיחול\\מילוי - נא ודאו שהכמות מתאימה למפרט ערכת העירוי שלכם! - מילוי\\תיחול כמויות סטנדרטיות של אינסולין - כפתור 1 - כפתור 2 - כפתור 3 יחידות טווח הצגה סימוני גבוה ונמוך בתרשים סקירה כללית ובשעון חכם @@ -143,108 +87,22 @@ Wear שלח מחדש את כל הנתונים פתיחת הגדרות Wear - מינון בזאלי - Minimed 640G התראה מתמשכת נתונים ישנים - OpenAPS AMA - מערך של %1$d אלמנטים. \n ערך נוכחי: - נתוני חישוב רגישות אוטו\' - תיקון באגים בסקריפט - אפשר חישוב רגישות אוטומטי (Autosens) - ACT CONF לולאה - OAPS - DynISF בית - VPUMP TREAT - OBJ WEAR קצר את כותרות הלשוניות - התבסס על הפרש ממוצע קצר במקום הפרש פשוט\\רגיל - לשימוש כאשר נתונים ממקור לא מפוקח כמו xDrip אינם יציבים. - ערך ברירת מחדל: 3 מנגנון הגנה עיקרי של OpenAPS. מגביל את המינון הבזאלי לעד פי 3 מהמינון הבזאלי הגבוה ביותר שהוגדר. ברוב המקרים אין צורך לשנות ערך זה, אך יש לזכור שזו המשמעות של “3x max daily; 4x current” בדיון על מנגנוני הגנה. - ערך ברירת מחדל: 4 זהו החצי השני של מנגנון הגנה עיקרי של OpenAPS, והחצי השני של \"3x max daily; 4x current\" במנגנוני ההגנה. המשמעות היא שהמינון הבזאלי, ללא קשר למקסימום שנקבע במשאבה, אינו יכול להיות גבוה יותר ממספר זה כפול הקצב הבזאלי הנוכחי. מיועד למנוע כניסה לתחומים מסוכנים ע\"י קביעת קצב בזאלי גבוה לפני הבנה של פעולת האלגוריתם. שוב: ברירת המחדל היא x4, רוב המשתמשים לעולם אינם צריכים לשנות ערך זה ואם הם מרגישים שמנגנון הגנה זה מפריע להם, הפתרון הוא בשינוי של הגדרות אחרות. - ערך ברירת מחדל: 1.2\nזוהי מגבלת המכפיל של Autosens (ובקרוב Autotune) שמגדירה 20% כיחס מקסימלי של autosens, אשר קובע בתורו את גובה הבזאלי המקסימלי, גובהו המינימלי של יחס התיקון, ואת המינימום של ערכי המטרה האפשריים. - ערך ברירת מחדל: 0.7\nבצד השני של מגבלות הבטיחות של Autosens, ערך זה מגביל את יכולתו של autosens להוריד את הערכים הבזאליים ועד כמה יכול להעלות את יחס התיקון ואת ערכי מטרת הסוכר בדם. - וויסות ערכי מטרה ע\"י Autosens - ערך ברירת מחדל: התאמה מדויקת\n נועד לאפשר ל-Autosens לשנות את המטרה של ערכי הסוכר, בנוסף ליחס התיקון והבזאלים. - ערך ברירת מחדל: 2\n מעכב בולוס מופעל אחרי שאתם מזריקים בולוס ארוחה, כך שהלולאה לא תפצה ע\"י בזאלי זמני נמוך אחרי הארוחה. הדוגמה כאן וברירת המחדל היא 2; כך שהגדרה של משך פעילות אינסולין של 3 שעות משמעה שהעיכוב יחלוף בהדרגה בתוך 1.5 שעות (3 ש\' לחלק ל-2). - ערך ברירת מחדל: 3.0 (AMA) או 8.0 (SMB). זוהי הגדרת ברירת מחדל להשפעת פחמימות על הסוכר בדם ב-5 דקות. ברירת המחדל היא 3mg/dL/5min. פעולה זו משפיעה על קצב הדעיכה של פחמ\' פעילות, ועל הנחת קצב ספיגת הפחמ\' בחישוב רמות סוכר עתידיות כשהן בירידה מהירה מהצפוי או עליה איטית מהצפוי. - שימו לב!\nבדרך כלל אינכם צריכים לשנות את הערכים שלהלן. נא ללחוץ כאן, לקרוא את הטקסט ולוודא שאתם מבינים אותו לפני שתשנו ערכים אלה. - מבצע - הגדרות משאבה וירטואלית - טוען מצב ל-Nightscout - NSClient - NSCI - כתובת URL: - גלילה אוטומטית - הפעל מחדש - NSClient - כתובת Nightscout - הזינו את כתובת ה-Nightscout שלכם - קוד API של Nightscout - קוד API של Nightscout - הזינו את קוד ה-API של Nightscout (מינימום 12 תווים) - ספק עכשיו - נקה תור - הצג תור - תור: - סטטוס: - נקה יומן - ל-NSClient אין הרשאת כתיבה. סיסמת API שגויה? הגדרות Wear נכשל - נא לבדוק את הטלפון - סוג המטופל\\ת - ילד\\ה - מתבגר\\ת - מבוגר\\ת - מבוגר\\ת עם תנגודת אינסולין גבוהה - הריון - נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות שם המטופל\\ת נא לציין את שם המטופל\\ת או כינוי, להבחנה בין מספר הגדרות - Glimp - השהה לולאה לשעה אחת - השהה לולאה ל-2 ש\' - השהה לולאה ל-3 ש\' - השהה לולאה ל-10 ש\' - ניתוק משאבה - נתק את המשאבה למשך 15 דקות - נתק את המשאבה למשך 30 דקות - נתק את המשאבה למשך שעה - נתק את המשאבה למשך שעתיים - נתק את המשאבה למשך שלוש שעות - 15 דקות - 30 דקות - שעה אחת - שעתיים - 3 שעות - 10 שעות - חידוש - חיבור משאבה מחדש - רשום הפעלת AAPS ב-Nightscout יוצא מ-AAPS כדי להחיל הגדרות. באיזה סוג של אינסולין אתה משתמש? אפשר סופר בולוס באשף אפשר פונקציית סופר בולוס באשף. אין להפעיל לפני שאתם יודעים להשתמש בה, שימוש לא נכון עלול לגרום למתן מינון יתר של אינסולין! - הצגת אורות חיווי במסך הבית - סף התראה לתוקף העירוי [h] - סף התראה קריטית לתוקף העירוי [h] - סף התראה לתוקף האינסולין [h] - סף התראה קריטית לתוקף האינסולין [h] - סף התראה של תוקף החיישן [h] - סף התראה קריטית של תוקף החיישן [h] - סף התראה של רמת סוללת החיישן [%] - סף התראה קריטית של רמת סוללת החיישן [%] - סף התראה של גיל הסוללה [h] - סף התראה קריטית של גיל הסוללה [h] - אזהרת סף של מיכל ריק [U] - אזהרת סף קריטית של מיכל ריק [U] - סף התראה של רמת הסוללה [%] - סף התראה קריטית של רמת הסוללה [%] חיזוי בזאל\' סטייה @@ -254,18 +112,12 @@ שיפוע אודות הרשאת סטטוס הטלפון חסרה - ביטול בולוס ממושך החלפת פרופיל - סנסור - אינסולין - סוללת המשאבה - גיל: - נותרו: - אפשרויות התראה + אפשרויות התראה ייצר התראות מאזעקות של Nightscout ייצר התראות מהכרזות של Nightscout - סף התיישנות נתונים [min] - סף התיישנות נתונים דחוף [min] + סף התיישנות נתונים [min] + סף התיישנות נתונים דחוף [min] מרווחים בשביל autosens [h] מספר השעות אחורה לחישוב רגישות (זמן הספיגה של פחמימות אינו נכלל) OpenAPS @@ -278,26 +130,13 @@ הגדרות ספיגה זמן ספיגה מקסימלי של הארוחה [h] מספר השעות בהן צפוי שכל הפחמימות מארוחה ייספגו - OAPS - מעלה השאר את המסך דולק מניעת כיבוי המסך. הדבר צורך הרבה כח סוללה. בהפעלת פונקציית ה-Autosens יש לזכור שחייבים להזין למערכת את כל הפחמימות שנאכלו. אחרת פחמימות לא יזוהו נכון כשינוי ברגישות! רגישות משוקללת ממוצעת לא כל הפרופילים נטענו! הערכים לא נשמרו - אפשר שידורים מקומיים. - OpenAPS SMB - רגישות דינאמית - כיוונון פקטור הרגישות הדינאמית % - כיוונון פקטור הרגישות הדינאמית. הגדירו יותר מ-100% לקבלת תיקונים אגרסיביים יותר ופחות מ-100% לקבלת תיקונים עדינים יותר. - הפעלת UAM - אפשר SMB - השתמש בסופר מיקרו בולוסים במקום בבזאלי זמני לפעילות מהירה יותר - זיהוי של ארוחות לא מוכרזות לא חוקי - אחוזים - היסט זמן ברירות מחדל ערכי מטרה משך אוכלים בקרוב ערך מטרת אוכלים בקרוב @@ -305,33 +144,16 @@ ערך מטרת פעילות משך היפו ערך מטרת היפו - שימוש מחדש %1$d%% %2$d שעות שליטה מהשעון הגדירו ערכי מטרה זמניים וציינו טיפולים מהשעון. - שימוש בהודעות מערכת עבור התראות ודיווחים הגבר את עוצמת הקול בהדרגה להתראות ולהודעות התראות מקומיות התראה אם לא התקבלו נתוני סוכר בדם התראה אם המשאבה בלתי נגישה סף משאבה בלתי נגישה [min] התראה אם יש צורך בפחמימות - התראה דחופה - מידע - אפליקלציית Eversense (עם פאץ\') - טוען נתוני סוכר ל-Nightscout - הגדרות העלאת ערכי סוכר בדם הצגת דלתא מפורטת הצגת דלתא עם עוד נק\' עשרונית אחת - תדירות מתן SMB בדקות - מקסימום הדקות של בזאלי אליו SMB מוגבל - מקס\' דקות של SMB UAM - מקס\' דקות של בזאלי להגבלת SMB לארוחות לא מוכרזות - סף מינ\' הפחמימות הנדרשות להצעה - כמות הפחמ\' המינימלית (גר\') הדרושה כדי שתוצג התראה על הצעת פחמימות. לא תוצגנה התראות על הצעות הנמוכות מכמות זו. - שליחת נתוני סוכר אל xDrip - ב-xDrip בחרו 640g/Eversense כמקור נתונים - נתוני סוכר מ-NSClient - סוכר NS חישוב רמת הסוכר חישוב IOB של בולוס חישוב IOB של בזאלי @@ -342,41 +164,17 @@ חישוב פחמ\' פעילות חישוב ערך מטרה זמני חישוב אחוזים - הלולאה פעילה - נבחר APS - ל-NSClient יש הרשאת כתיבה - מצב סגור מופעל - ערך IOB מקסימלי הוגדר כראוי - ערכי סוכר זמינים מהמקור הנבחר - שגיאה במתן הבולוס הממושך - הפעל SMB תמיד - אפשר SMB תמיד באופן עצמאי מבולוסים. אפשרי רק עם מקור ערכי סוכר עם דיוק של נתונים כמו G5 - הפעל SMB אחרי פחמימות - הפעלת SMB במשך 6 ש\' אחרי פחמימות, גם אם אין פחמ\' פעילות. אפשרי רק עם מקור ערכי סוכר עם דיוק נתונים כמו G5 - הפעלת SMB עם פחמ\' פעילות - הפעלת SMB כשיש פחמ\' פעילות. - הפעלת SMB עם ערכי מטרה זמניים - הפעלת SMB כאשר יש ערך מטרה זמני פעיל (אכילה בקרוב, פעילות גופנית) - הפעלת SMB עם ערכי מטרה גבוהים - הפעלת SMB כאשר יש ערך מטרה זמני גבוה פעיל (פעילות, מעל 100 mg/dl או 5.5 mmol/l) - אינסולין מקשים שולח כיול ל- xDrip או פותח את חלון הכיול של אפליקציית Dexcom פותח את xDrip או את דקסקום, לחיצה על אחורה מחזירה ל-AAPS מספר פחמימות להוספה כאשר לוחצים על הלחצן כמות האינסולין להוספה כאשר לוחצים על הלחצן לא ניתן היה להפעיל את יישום סנסור. וודא שהוא מותקן. - סנסור התעלם ל-5 דק\' התעלם ל-15 דק\' התעלם ל-30 דק\' - דפדפן היסטוריה דיווח על SMB הצג SMB על השעון כמו בולוס סטנדרטי. - צור הודעות משגיאות - צור התראות על פחמימות דרושות - יצירת הכרזת Nightscout עבור הודעות על שגיאות והתראות מקומיות (ניתנות להצגה בפורטל הטיפולים תחת \"טיפולים\") - צור הכרזות נייטסקאוט עבור התראות מסוג פחמימות דרושות הראה את התחזיות על לוח השעון. חיזוי אפשרויות נתונים @@ -384,8 +182,6 @@ אפשר דיווח אוטומטי על קריסה ושליחת נתוני השימוש למפתחים דרך שירות fabric.io. עדכנו את יישום ה-Dexcom שלכם לגרסה נתמכת אפליקציית Dexcom אינה מותקנת. - רישום בולוס ללא הזרקה - בולוס רשום בלבד (לא מוזרק על ידי המשאבה) SMB מוגדר באמצעות משאבה פעילות השפעת הסוכר בדם @@ -394,32 +190,11 @@ פחמימות פעילות אניסולין פעיל בזאלי - זוהי גרסת פיתוח. לולאה סגורה אינה מורשת. מצב הנדסה מופעל - המשאבה אינה מסוגלת לבצע בזאלי זמני - מצב לולאה סגור מושבת בהעדפות - Autosens מושבת בהעדפות - SMB מושבת בהעדפות - UAM מושבת בהעדפות - UAM מושבת מפני שהוא מסתמך על תוסף רגישות של Oref1 - מכפלת בזאלי מרבי - מכפלת בזאלי יומי מרבי ניתן בולוס ב-3 הדקות האחרונות, מדלג על SMB הבזאלי הוגדר כהלכה - הגבלת בולוס ממושך ל- %1$.1f יח\' בגלל %2$s - הגבלת פחמימות ל-%1$d גר\' בגלל %2$s - הגבלת IOB ל-%1$.1f יח\' בגלל %2$s - ערך מקסימלי בהעדפות - מגבלה קשיחה - רשום החלפת אתר עירוי - רשום החלפת מכל אינסולין - SMB תמידי ו-SMB לאחר פחמימות מושבתים כיוון שמקור ערכי הסוכר הפעיל אינו תומך בסינון נתונים מתקדם - SMB אינו פעיל במצב לולאה פתוחה - מינון אינסולין פעיל מרבי ממנו OpenAPS לא יחרוג (יחידות) - ב-OpenAPS ערך זה נקרא מקסימום אינסולין פעיל (maxIOB). \nלא יוזרק עוד אינסולין אם כמות האינסולין הפעיל הנוכחי גדול מערך זה זמן ספיגה מקסימלי של הארוחה [h] משך זמן בו כל ארוחה תחשב כנספגה. לא תהיה התחשבות בפחמימות שנותרו. - ערך הסוכר שמתחתיו מושעה הזרקת אינסולין. ערך ברירת המחדל משתמש במודל מטרה סטנדרטי. המשתמש יכול להגדיר ערך בין 60 ל-100 מג\"\\ד\"ל. ערכים מתחת ל-65 מביאים לשימוש במודל ברירת המחדל הצגת שדות הערות בתיבות דו-שיח של טיפול הבא הקודם @@ -432,32 +207,16 @@ תוספת פחמימות שניה תוספת פחמימות שלישית סנסור - השתמש באינטרנט סלולרי - השתמש בחיבור WiFi - WiFi SSID - בזמן טעינה - משתמש בסוללה - הגדרות חיבור - SSID מורשים (מופרדים בנקודה-פסיק) - אפשר חיבור בנדידה יחס Autosens מקסימלי יחס Autosens מינימלי - נמנום בולוס - מחלק משך פעילות אינסולין - מכפלת בטיחות בזאלי יומי מרבי - מכפלת בטיחות בזאלי נוכחי - סוג משאבה וירטואלית - הגדרת משאבה - בולוס: צעד=%1$s\nבולוס ממושך: [צעד=%2$s, משך=%3$s מינ\'-%4$sש\']\nבזאלי: צעד=%5$s\nבזאלי זמני: %6$s (עם %7$s), משך=%8$s מינ\'-%9$sש\'\n%10$s חישובים הכלולים בתוצאת האשף: הגדרות תצוגה הגדרות כלליות - אפשר NSClient ברוכים הבאים לאשף ההתקנה. האשף ידריך אתכם בתהליך ההתקנה\n קרא סטטוס דלג על אשף ההתקנה תוסף רגישות משמש לזיהוי רגישות וחישוב הפחמ\' הפעילות. לקבלת מידע נוסף, בקרו בכתובת: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient מטפל בחיבור ל-Nightscout. אפשר לדלג על החלק הזה עכשיו, אך לא תוכלו לעבור את המשימות מבלי להגדיר אותו. חשוב לזכור: פרופילי אינסולין חדשים דורשים משך פעילות אינסולין (DIA) של 5 ש\' לפחות. ערך של 5-6 ש\' בפרופיל חדש שווה לערך של 3 ש\' בפרופילים ישנים. בחרו באחד מהאלגוריתמים הזמינים. הם ממוינים מהישן לחדש. אלגוריתם חדש יותר הוא בדרך כלל חזק ואגרסיבי יותר. לפיכך, אם אתם משתמשים חדשים רצוי שתתחילו עם AMA ולא עם האלגוריתם האחרון. נא לא לשכוח לקרוא את תיעוד OpenAPS ולהגדיר אותו כראוי לפני השימוש. הגדירו את תצורת הריילילינק מטה. לאחר שתבחרו באפשרות ריילילינק, ניתן יהיה להמשיך בהתקנה אחרי שסטטוס הריילילינק יהיה \"מחובר\". פעולה זו עשויה להימשך דקה.\n @@ -467,21 +226,6 @@ פתח ניווט סגור ניווט העדפות תוסף - Poctech - קבלת ערכי סוכר מיישום Poctech - Glunovo - קבלת ערכי סוכר מיישום Glunovo - Intelligo - קבלת ערכי סוכר מיישום Intelligo - קבלת ערכי סוכר מאפליקציית Tomato (התקן MiaoMiao) - ערך מטרה זמני גבוה מעלה את הרגישות - = 100]]> - ערך מטרה זמני נמוך מוריד את הרגישות - - תנגודת מורידה את ערך המטרה - כשמזוהה תנגודת, הורד את ערך המטרה של הגלוקוז - רגישות מעלה את ערך המטרה - כשמזוהה רגישות, הגדל את ערך המטרה של הגלוקוז הסר פריטים מיין פריטים נמצאו הגדרות שמורות @@ -496,63 +240,22 @@ מחק רישומים לא ניתן להוסיף טיפול (אינסולין: %1$.2f, פחמ\': %2$d, בשעה: %3$s) לטיפולים. נא לבדוק ולהוסיף רשומה באופן ידני כנדרש. פחמימות ממושכות: %1$d גר\' (%2$d ש\'), עיכוב %3$d דק\' - אין נתוני Autosens זמינים קבצי יומן שונות הגדרות יומן רישום אפס לברירת המחדל - תקלה ב-NSClient. שקלו להפעיל את Nightscout ו-NSClient מחדש. מצב APS מועדף שלח קובצי יומן של היום למפתחים יחד עם זמן זה. מצב לא צפוי. מינימום לבקשה לשינוי [%] \'לולאה פתוחה\' תציג בקשת שינוי חדשה רק אם השינוי גדול מערך זה ב-%. ערך ברירת המחדל הוא 20% == ∑ %1$s יח\' - רישום החלפת סנסור ב-Nightscout - Tomato (MiaoMiao) - Tomato - שם המשתמש שלכם להתחברות ל-Tidepool, בדרך כלל כתובת הדוא\"ל שלכם - שם משתמש להתחברות - סיסמת ההתחברות ל-Tidepool - סיסמת התחברות - בדיקת התחברות ל-Tidepool - אם האפשרות מופעלת, נתונים יועלו לכתובת https://int-app.tidepool.org במקום https://app.tidepool.org/ - שימוש בשרתי אינטגרציה (בדיקה) - Tidepool - TDP - מעלה נתונים ל-Tidepool - העלאת נתוני סנסור - העלאת טיפולים (אינסולין, פחמימות) - העלאת בזאלים זמניים - העלאת החלפת פרופילים, ערכי מטרה זמניים - העלאת בדיקות סוכר - שעתיים - BYODA - BYODA - השתמש בנתוני הסוכר מאפליקציית \"בנה לעצמך דקסקום\" (BYODA). - פחמ\' פעילות לעומת אינ\' פעיל - מגבלת בולוס יושמה: %1$.2f עד %2$.2f יח\' - !!!!!! זוהתה ספיגת פחמימות איטית: %2$d%% מהזמן הצפוי. הערכת כמות הפחמימות הפעילות עלולה להיות ביתר ולכן תיתכן הזרקת אינסולין עודפת !!!!!!]]> - ספק את חלק זה מתוצאת אשף הבולוס [%] אשף הבולוס מבצע חישוב אך רק חלק זה של האינסולין המחושב מוזרק. שימושי בשימוש עם אלגוריתם SMB. - מגדיל את ערך מקסימום הבזאלי מפני שהוא נמוך מערכו המרבי בפרופיל - נבחר: יחידות - ביטול השלמה - ביטול התחלה - האם ברצונכם לאפס את התחלת המשימה? אתם עלולים לאבד את התקדמותכם במשימה. בחרו את היחידות שבהן ברצונכם להציג ערכים ערך נמוך יותר באזור הטווח (הצגה בלבד) ערך גבוה יותר באזור הטווח (הצגה בלבד) - רשומת אחוזים לא חוקית - נתוני סוכר אקראיים - הפקת נתוני גלוקוז אקראיים (מצב הדגמה בלבד) - ערכי גלוקוז בדם - כלים - הצג חישוב הצג מחוקים לנקות את התור? כל הנתונים בתור יאבדו! - שימוש בבולוס ממושך יפסיק את מצב הלולאה הסגורה לזמן פעילות הבולוס. אתם בטוחים שאתם רוצים להמשיך? - הלולאה הסגורה מופסקת עקב מתן בולוס ממושך תפריט תרשים זמן בקשת SMB זמן ביצוע SMB @@ -565,34 +268,13 @@ אינסולין מוחלט הסיסמה הראשית משמשת להצפנת גיבוי וכדי לעקוף את האבטחה ביישום. זכרו אותה או שמרו אותה במקום בטוח. סיסמה ראשית נוכחית - אורות חיווי - העתקת הגדרות מ-Nightscout - להעתיק הגדרות מ-Nightscout (אם קיימות)? - סקין מקורי - סקין רזולוציה נמוכה - לחצנים מוצגים תמיד בתחתית המסך - תצוגה גדולה - סקין - השוואת פרופילים - עוזר הפרופילים - פרופיל ברירת מחדל - פרופיל נוכחי - פרופיל זמין - סוג פרופיל - גיל: %1$.0f יח\' מינון יומי כולל: %2$.0f יח\' - גיל: %1$.0f יח\' מינון יומי כולל: %2$.0f יח\' %3$d%% - גיל: %1$.0f יח\' משקל: %2$.0f ק\"ג - % של הבזאלי - פרופיל ברירת מחדל DPV מצב ריילילינק: לא ניתן ליצור פרופיל מקומי. הפרופיל אינו חוקי. איך לא להשבית את האפליקציה שלי? - הפעל התראה כשצריכים לאכול זמן לאכול!\nהפעילו את אשף הבולוסים וחשבו בולוס חדש. אפשר את תזכורת בולוס העלאת רשומות קריסה מושבתת! גרף - תפריט הגרף נקה סינון צינורית השתמשו בערכים הגבוהים ביותר של מזונות שאתם אוכלים בדרך כלל\n @@ -600,48 +282,12 @@ כתובת דוא\"ל הגדרות פרטיות אם תרצו, תוכלו לספק כתובת דוא\"ל כדי לקבל דיווח על קריסות יישום. שירות זה אינו אוטומטי. המפתחים יצרו איתכם קשר במצבים מסוכנים. - סינכרון מלא - סנכרון מלא? זה ייקח שעות מרובות ולא תוכלו לראות נתונים חדשים בנייטסקאוט. - סינכרון - פרופילים, בולוסים, פחמימות ומינונים בזאליים זמניים נטענים לנייטסקאוט - טוען נתוני סוכר לנייטסקאוט - אחזר פרופילים שמורים - סינכרון פרופילים מעורך הפרופיל של נייטסקאוט לפרופיל מקומי - קבלת ערכי מטרה זמניים - קבלת ערכי מטרה זמניים שהוגדרו בנייטסקאוט או ב-NSClient - קבלת החלפות פרופיל - קבלת החלפות פרופיל שהוגדרו בנייטסקאוט או ב-NSClient - אחזר אירועים לא מקוונים - קבל אירועים לא מקוונים שנרשמו דרך נייטסקאוט או NSClient - קבל מינון בזאלי זמני ובולוס מושהה - קבל מינוני בזאלי זמני ובולוסים מושהים שהופעלו ממכשיר עוקב - קבלת אינסולין - קבלת אינסולין שהוזן באמצעות נייטסקאוט או NSClient (הוא לא מוזרק, רק מחושב רק כאינסולין פעיל) - קבלת פחמימות - קבלת פחמימות שנרשמו בנייטסקאוט או ב-NSClient - קבל אירועי טיפול - קבלת אירועי טיפול (צינורית, אינסולין, החלפת סוללה) שצוינו באמצעות נייטסקאוט או NSClient - קבלת\\טעינת נתוני סנסור - קבלת נתוני סנסור מנייטסקאוט - להפעיל %s? - האט העלאות מצב נתוני הסוכר הסר קריאות רמת הסוכר - גיל הצינורית - גיל משאבה - משאבה ללא צינורית אמצעי זיהוי (מייל, פייסבוק או דיסקורד וכו\') אמצעי הזיהוי אינו מוגדר במצב מפתחים תיבת דו-שיח - רמת סוכר נוכחית - תיקון עם % - תיקון עם יחידות לא זמין - גרף - איכות נתוני סוכר - אינסולין - ערכי סוכר בדם - לא עדכני מבטל ערך מטרה זמני נוכחי יחידות המידה שונות בין הטלפון והשעון! @@ -654,22 +300,6 @@ מחשבון: %1$s\n אינס\': %2$.2f יח\'\nפחמ\': %3$d גר\' הצג רשומה על המכשיר: האשף המהיר שנבחר אינו זמין, נא לרענן את האריח - אין נתוני סוכר לביסוס חישוב! - לא הופעל פרופיל! - הפחמימות הפעילות לא ידועות! חסרות קריאות סוכר או שאותחל היישום לאחרונה? - הפרת מגבלות פחמימה! - מחשבון (IC: %1$.1f, ISF: %2$.1f) - פחמ\': %1$.2f יח\' - פחמ\': %1$.0f גר\' %2$.2f יח\' - סוכר: %1$.2f יח\' - אינ\' פעיל: %1$.2f יח\' - סופר בולוס: %1$.2f יח\' - מגמת 15 דק\': %1$.2f יח\' - אחוזים: %1$.2f יח\' x %2$d%% ≈ %3$.2f יח\' - הופעלה מגבלת אינסולין!\nלא ניתן להזריק %1$.2f יח\' - ע\' מטרה זמני: %1$s - %1$s ל-%2$s - המשאבה אינה זמינה! פקודה לא ידועה: אחוזים ברירת המחדל של היישום @@ -678,13 +308,7 @@ מיין סטטוס הלולאה קנה מידה של הגרף - פרופיל 1 - פרופיל 2 - התחברות - הסר הכל - אתחל התחלה פתח הגדרות - הגדרת אזעקה טיימר פחמימות הכול טלפון שעון @@ -692,12 +316,5 @@ על הטלפון בלבד ידית גרירה חיפוש - - GlucoRx Aidex - Aidex - קבלת נתוני סוכר מחיישני GlucoRx Aidex. - חסום ע\"י הגדרות טעינה - חסום ע\"י הגדרות חיבור (השעון לא מחובר) - כיוונון הרגישות והסוכר בדם diff --git a/app/src/main/res/values-ko-rKR/exam.xml b/app/src/main/res/values-ko-rKR/exam.xml index e68554cbee..3ea04e700d 100644 --- a/app/src/main/res/values-ko-rKR/exam.xml +++ b/app/src/main/res/values-ko-rKR/exam.xml @@ -1,180 +1,2 @@ - - DIA에 대하여 올바른 것은? - 활성 인슐린 지속 시간 (DIA) - 프로파일에 DIA 값을 입력해야 합니다. - 허용되는 최소값은 5시간입니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html?#insulin - 적절한 DIA 값을 스스로 찾아야 합니다. - 저혈당 임시 목표 - 저혈당 임시 목표를 설정하는 가장 중요한 이유는 무엇인가요? - 잘못된 basal 양 설정으로 인한 저혈당을 수정하기 위함. - 운동으로 인한 저혈당을 교정하기 위함. - 0% 임시 basal이 이미 적용되고 있는 상황에서 혈당이 낮아지는 것을 방지하기 위함. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html - 어떤 프로파일이 오프라인에서 설정할 수 있습니까? - 주제: 오프라인 프로파일 - NS 프로파일이 사용될 수 있지만, 오프라인 상에서 설정할 수는 없습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html#profile - 펌프 일시중지할땐 무엇을 해야합니까? - 펌프가 물리적으로 연결되어 있지 않을 때에는 인슐린이 주입되지 않으므로 이 기능이 필요하지 않습니다. - 펌프가 연결된 채로 있다면 이 기능은 인슐린 주입을 멈추지 않습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#other-settings - 설정을 백업하는 가장 좋은 방법은 무엇인가요? - 적용된 설정을 따로 기록해둔다면 설정값을 \"내보내기\" 하지 않아도 됩니다. - 목표를 보두 수행한 뒤 설정값을 \"내보내기\" 합니다. - 설정이 바뀐 부분이 있다면 설정값을 \"내보내기\" 합니다. - 초기 구성을 마치고, 개별 설정을 입력한 뒤 설정값을 \"내보내기\" 합니다. - 관리 메뉴에서 설정값을 현재 기기로 \"내보내기\" 합니다. - 핸드폰의 Internal Storage/AAPS/preferences 폴더에서 설정값을 찾을 수 있습니다. - 안전한 외부 기기 (예를 들어, 클라우드 드라이브, 컴퓨터에 케이블 연결, email, 등)에 설정 파일을 복사합니다. - 핸드폰을 잃어버렸거나 고장난 경우, 백업해놓지 않아도 설정값을 원격으로 쉽게 되살릴 수 있습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - 노이즈가 심한 CGM의 혈당값 - CGM 혈당의 노이즈가 심하다면 어떻게 해야합니까? - 과량주입 또는 과소주입의 가능성을 막기 위해 closed loop 기능을 끕니다. - 지속적인 노이즈나 부정확한 센서를 교체합니다. - 사용 중인 CGM 어플이 데이터 평활화 기능을 제공하는지 확인합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - 운동과 프로파일 - 유산소 운동을 할 때 프로파일을 어떻게 설정하는 것이 시스템에 가장 도움이 될까요? - 프로파일을 100% 보다 낮게 변경합니다. - 프로파일을 100% 보다 높게 변경합니다. - 프로파일을 100%로 그대로 둡니다. - Loop 기능을 중지합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html#activity-temp-target - 운동과 임시 목표 - 유산소 운동을 할 때 임시 목표를 어떻게 설정하는 것이 시스템에 가장 도움이 될까요? - 운동을 시작하기 전 적절한 시간에 \"운동 시 임시 목표\"가 작동하도록 설정합니다. - 운동이 끝난 후 \"운동 시 임시 목표\"를 설정합니다. - 임시 목표를 변경하지 않습니다. - \"저혈당 임시 목표\"보다 혈당이 떨어질 때까지 기다린 후 빠르게 반응하는 탄수화물 15g을 섭취합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html#activity-temp-target - 중지 또는 일시중지된 loop - Loop가 중지/일시중지 되었을때 인슐린이 주입됩니까? - 네, Basal 인슐린은 계속 주입됩니다. - 아니오, 인슐린 주입이 모두 중지됩니다. - Basal, ISF, and I:C 테스트 - 언제 이 값들을 확인해야할까요? - Looping을 시작하게 전 - 자주 고혈당 또는 저혈당을 경험할 때 - 적어도 일주일에 한 번 - 한 번 설정하고 확인하면, 이 값은 계속 변하면 안됨. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#androidaps-settings - 기본 준비사항 - 유효한 프로파일 정보 (Basal, IC, ISF, DIA). - Android Studio가 설치되고 환경설정된 컴퓨터 - 지원되는 폰. - Closed loop을 사용할 계획이라면 호환되는 인슐린 펌프 - 모든 데이터의 log를 보관하고 설정을 검토하기 위한 Nightscout - Tidepool 계정. - 구글(Google) 계정. - 깃허브(Github) 계정. - 프로그래밍이나 코딩을 해 본 경험 - 미니메드(MiniMed) 670G 펌프. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html - 스마트워치. - 지원되는 연속혈당측정기(CGM). - 기본 준비사항 - 프로파일을 설정하기 위해 확인된 정보 (ISF, I:C ratio, basal 양, DIA 등). - 호환되는 Android 장치 (예를 들어, 핸드폰, Android 워치, 또는 태블릿). - 지원되는 CGM과 핸드폰 또는 장치에 혈당값을 수신하기 위한 적절한 어플. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html - 올바른 답변을 모두 체크하세요. - 컴퓨터에 Git을 설치하고 환경 설정해야 합니다. - Keystore의 위치를 저장하고 기록해두어야 이전에 설치할 때 사용했던 동일한 signing key를 업데이트할 때 사용할 수 있습니다. - 시스템이 잘 작동한다면 절대 업데이트하지마세요. - 만약 apk를 만드는 것이 어렵다면, 친구가 만든 apk를 사용하여 설치할 수 있습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - 문제 해결 - 당뇨병 클리닉/내분비내과의사에게 문의해야 합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - 인슐린 플러그인 - 어떤 인슐린에서 초-초속효성의 Oref 플러그인을 사용해야 할까요? - 피아스프(Fiasp®) - 노보래피드(NovoRapid®)/노보로그(Novolog®) - 휴마로그(Humalog®) - 액트라피드(Actrapid®)/휴말린 R(Humalin R®)/\"보통의\" 인간 인슐린. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html#insulin - 민감도 플러그인 - 올바른 답변을 모두 체크하세요. - 민감도 플러그인은 프로파일을 수정할 때 사용할 수 있도록 basal 양, I:C ratio, ISF의 추천되는 변화값을 사용자에게 제공합니다. - 캐뉼라 교체를 입력하면 Autosens 비율은 100%로 되돌아갑니다. - 일부 플러그인 옵션은 사용자가 설정 가능한 시간 범위를 갖습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Sensitivity-detection-and-COB.html - 탄수화물 입력 오류 - 부적절한 탄수화물을 입력하였다면 어떻게 하여야 합니까? - 관리 메뉴에서 잘못된 입력을 삭제하고, 새로운 탄수화물 양으로 수정합니다. - 주입 세트 교체 메뉴의 prime 기능을 사용하여 bolus 인슐린을 주입합니다. - 홈 화면에서 \"인슐린 (bolus)\" 버튼을 사용하여 bolus 인슐린을 주입합니다. - 인슐린 주입/입력 오류 - 만약 펌프 기록에서 보여지는 것보다 인슐린이 적게 주입되었을 때 어떻게 해야 할까요? (예를 들어, 주입 막힘, 캐뉼라 문제, 샤워 후 펌프 재부착을 잊어버렸을 때) - Nightscout 케어포탈에서 인슐린 데이터를 삭제하여 펌프 기록에서 이를 제거합니다. - \"주입되지 않은\" 인슐린양을 계산하여 시린지/펜 또는 prime 기능을 사용하여 인슐린을 주입합니다. - 활성 인슐린 (IOB) - IOB 값은 실행된 임시 basal의 영향을 받습니다. - 혈당이 목표보다 낮을 경우 높은 임시 basal은 실행되지 않습니다. - 운동 없이도 음수의 IOB (마이너스 IOB) 구간이 많을 경우, 프로파일이 너무 강한 것이며 인슐린 양을 적게 설정해야 합니다. - 양수의 IOB (플러스 IOB) 구간이 많을 경우, 인슐린 저항성 또는 입력하지 않은 식사를 의미합니다. - 탄수화물 입력과 bolus - 섭취한 탄수화물을 계산하고 기록할 때 gram 단위만을 사용해야 합니다. - 섭취한 탄수화물은 적절한 변환 방식 (예를 들어, DAFNE \"CHO\" 변환 또는 유럽의 \"Bread Units\")을 이용하여 기록할 수 있습니다. - 만약 혈당이 적절한 값을 벗어나면 (너무 낮거나 너무 높은 경우), 탄수화물 또는 교정 인슐린의 제안을 위해 bolus 계산기를 사용할 수 있습니다. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - 확장 탄수화물 (e-carbs) - c-carbs (확장 탄수화물)을 언제 사용할 수 있을까요? - (일정 기간에 걸쳐 인슐린을 나눠서 주입하는 확장 bolus와 유사하게) 일정 기간에 걸쳐 나눠서 탄수화물을 섭취할 계획이 있을 때. - 저혈당 처치를 위해 사용한 탄수화물의 제거를 기록하기 위함. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Extended-Carbs.html - 원격 모니터링 - 다른 어플들(예를 들어, Dexcom 팔로우, 팔로우 모드의 xDrip)은 일부 변수들(혈당/센서 수치)을 원격으로 팔로우 할 수 있지만, 알고리즘이 달라 부정확한 IOB 또는 COB 값을 보여줄 수 있습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Children/Children.html - 인슐린 민감도 (ISF) - ISF 값을 올리면 일정한 양의 탄수화물을 다루기 위해 더 많은 인슐린이 주입하게 합니다. - ISF 값을 낮추면 목표 혈당보다 높을 때 교정을 위해 더 많은 인슐린이 주입하게 합니다. - 혈당이 목표보다 낮을 때에는 ISF를 높이거나 낮추는 것이 인슐린 주입에 영향을 주지 않습니다. - 변경사항을 적용하는데 프로파일에서 ISF 값 변경하는 것으로 충분합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html - 프로파일에서 한 개 이상의 I:C ratio를 사용할 수 있습니다. - 프로파일에서 ISF를 바꾸면, I:C ratio도 항상 바꿔줘야 합니다. - 인슐린 대 탄수화물 비율 (I:C ratio) - 높은 I:C ratio은 탄수화물 섭취 시 인슐린을 적게 주입하게 합니다. - 낮은 I:C ratio은 탄수화물 섭취 시 인슐린을 적게 주입하게 합니다. - COB가 0 인 경우 IC 비율을 변경하면 혈당을 교정하기 위해 다른 양의 인슐린이 주입됩니다. - Bread unit (교환 단위)를 10g 또는 12g으로 계산하면 IC 값도 달라지게 됩니다. - IC: 1U의 인슐린으로 bread uits (교환 단위)를 얼마나 섭취할 수 있는 지를 의미합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - 프로파일 변경 - 프로파일을 90%로 변경하였을 때, 다음 중 옳은 것은? - Basal 양이 10% 감소합니다. - ISF가 10% 증가합니다. - I:C ratio 값이 10% 작은 수가 됩니다. - ISF와 I:C ratio는 변하지 않습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html?highlight=profile%20switch#profile-switch - 프로파일 변경 - 프로파일을 120%로 변경하였을 때, 다음 중 옳은 것은? - 목표 혈당값이 20% 높아집니다. - Basal 양이 20% 증가합니다. - 목표 혈당값은 변하지 않습니다. - ISF가 20% 증가합니다. - 프로파일 변경 - 시간이동 2으로 프로파일을 변경합니다. - 시간이동 -2으로 프로파일을 변경합니다. - \"식사 전 임시 목표\"로 설정합니다. - 프로파일을 100% 보다 높게 변경합니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html?highlight=profile%20switch#timeshift - 프로파일의 변화 - Basal rates, ISF, I:C ratio 등을 프로파일에서 설정해야 합니다. - 변경된 것을 실행하려면, 프로파일에서 변화된 값을 수정하기만 하면 됩니다. - 변화하는 상황 (예를 들어, 호르몬 변화, 교대근무, 평일/주말 생활 방식)에 적응하기 위하여 여러 개의 프로파일을 만들어서 선택할 수 있습니다. - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Basal 양에 대한 도움 - Basal값 등과 관련된 도움을 어디서 받아야 하나요? - 의료진 - 구글(Google) - 페이스북(Facebook) - 다른 약물. 하단의 문구를 읽고, 내용을 수용하면 네모칸에 체크하십시오. - + diff --git a/app/src/main/res/values-ko-rKR/objectives.xml b/app/src/main/res/values-ko-rKR/objectives.xml index 343b5f7b16..3ea04e700d 100644 --- a/app/src/main/res/values-ko-rKR/objectives.xml +++ b/app/src/main/res/values-ko-rKR/objectives.xml @@ -1,54 +1,2 @@ - - 시작 - 확인 - %1$d. 목표 - 목표 %1$d이 시작되지 않았습니다 - 목표 %1$d이 완료되지 않았습니다 - 시각화 및 모니터링 설정하고, Basal과 비율을 분석합니다. - Nightscout에서 혈당 데이터가 잘 들어오는지, 펌프, 인슐린 데이터가 업로드 되는지 확인합니다 - Open Loop를 시작합니다 - 며칠 동안 Open Loop 모드를 사용하고 수동으로 임시Basal을 실행하여 봅니다. 사용자 정의 임시 목표와 (\'활동\', \'저혈당\' 같은) 기본 임시목표를 사용해봅니다 - 임시Basal 추천기능과 Open Loop에 대해 이해합니다 - 이 경험을 토대로, 최대 Basal을 결정하고 이를 펌프와 설정에 입력합니다 - Closed Loop를 시작하고 저혈당인슐린 중지 기능(LGS)을 사용해 봅니다 - 최대 IOB = 0 인 상태로 Closed Loop를 몇일동안 실행하되 저혈당 인슐린일시중지(LGS)가 많이 발생하지 않도록 합니다 - Closed Loop를 조정하여 최대 IOB를 0 이상으로 올려서 서서히 혈당 목표치를 낮추어 봅니다 - 혈당을 낮추기 전에 몇일간 사용해보되 최소한 하루는 저혈당 알람이 발생하지 않도록 해봅니다 - 필요하면 Basal과 비율을 조절하고, auto-sens를 활성화합니다 - 섭취한 탄수화물양을 입력하고 1주일동안 낮시간대에 loop를 성공적으로 사용하여 봅니다 - 낮시간대에 SMB(Super Micro Bolus)같은 추가기능을 활성화해 사용해봅니다 - 자동화 사용 - SMB가 잘 작동하게 하기위해서 wiki를 반드시 읽은 다음 maxIOB 값을 올려보세요! maxIOB=평균 식사 Bolus + 3 x 최대하루 Basal이면 적당한 시작값입니다 - 자동화가 어떻게 작동하는지 설명서를 확인하세요. 간단한 첫 번째 규칙을 만들어 보십시오. 실행하기 전에 AAPS가 알림을 보여주도록 설정합니다. 자동화가 적시에 잘 작동하는 것을 확인하면 알림을 실제 실행으로 변경하십시오. -(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - NS에서 혈당이 확인 가능합니다 - NS에서 펌프상태가 확인 가능합니다 - 수동 주입 - 완료: %1$s - 10분동안 프로파일 90%를 설정해보세요(홈에서 프로파일명을 길게 눌러보세요) - 샤워한다고 가정하고 펌프를 1시간 동안 펌프를 일시중지하세요 (홈에서 Open Loop를 길게 눌러보세요) - ... 그리고 같은 방법으로 펌프를 재연결하세요 - 사용자정의 임시 목표를 10분동안 실행해보세요 (홈에서 본인의 현재 목표혈당을 길게 눌러보세요) - 구성관리자에서 실행 플러그인을 활성화하고 메뉴에서 표시되게 합니다 - Loop 플러그인 내용을 표시합니다 - 홈의 혈당 차트를 길게 눌러 차트 시간을 변경하세요 - 입력 - 다른 시스템에서 closed loop을 적어도 3개월 동안 사용한 경우 목표를 건너뛸 수 있는 코드를 받을 수 있습니다. 자세한 정보는 https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives를 참고하십시오. - 코드 인증 - 잘못된 코드 - 당신의 지식을 확인해봅니다 - 문제들에 대한 공부. 각각의 질문에 네 개의 답변이 주어집니다. 한 개 이상의 정답이 있을 수 있습니다. 올바른 것을 모두 체크하고, 확인을 선택하십시오. - 다음 시간까지 답변 불가능: %1$s - 잘못된 답변! - 다음 미답변 - 요청 코드: %1$s - (올바른 답변을 모두 체크하세요) - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#the-homescreen - 인터넷에 연결되지 않음 - 시간을 가져오지 못했습니다 - 목표 요구 사항이 충족되지 않음 - + diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 75b90eaf29..38addcd1d1 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -3,83 +3,43 @@ - 관리 안전설정 - 최대 허용 Bolus [U] - 최대 허용 탄수화물 [g] %1$s 설정 설정 NS에서 관리 새로고침 데이터베이스 초기화 데이터 베이스를 정말 초기화하시겠습니까? 종료 - 일반 기능을 빠르게 실행시킬 버튼 활성화된 플러그인을 구성하는 데 사용됩니다. - 프로그램 배우기 Loop를 활성화 혹은 비활성화합니다. - Nightscout과 데이터 동기화하기 - 2017년의 알고리즘 - 고급사용자를 위한 가장 최신의 알고리즘 현재 Loop 상태와 기본 기능 버튼을 표시합니다. Loop가 어떤 작동하는지에 대한 간략한 개요를 연속 알림으로 보여줍니다. - 가상용 펌프를 위한 설정(Open Loop) Oref0와 동일한 방법으로 민감도가 계산되지만, 과거 시간을 지정할 수 있습니다. 최소 탄수화물 흡수는 설정에서 최대 탄수화물 흡수 시간으로 부터 계산됩니다. 민감도가 과거 8시간의 데이터로 부터 계산됩니다. (흡수되지 않은 경우) 탄수화물은 설정에서 설정된 시간이 지나면 없어집니다. UAM(알리지 않은 음식)도 계산합니다. 민감도가 편차의 가중평균으로 계산됩니다. 최근의 편차가 더 가중됩니다. 최소 탄수화물 흡수는 설정에서 최대 탄수화물 흡수 시간으로 부터 계산됩니다. 이 알고리즘의 민감도가 가장 빠릅니다. - 패치된 Eversense 앱에서 혈당값 받기 - Glimp에서 혈당값 받기 - 600SeriesAndroidUploader에서 혈당값 받기 - Nightscout에서 다운로드하여 혈당값 받기 - xDrip+에서 혈당값 받기 모든 관리를 저장합니다. - 지금 실행 - 가상 펌프 - 최근 실행 - 입력 변수 - 혈당 상태 - 현재 임시기초 - IOB 데이터 - 프로파일 - 식사 데이터 - 결과 - 결과: %1$s %2$s - 혈당 데이터 없음 - 요청 증분 구성 관리자 관리 - 가상펌프 펌프 프로파일 APS 어떤 APS 알고리즘을 사용합니까? 일반 유용한 여러가지 플러그인 + 동기화 어떤 제약을 적용합니까? - 제한 Loop APS 제약 적용 후 펌프에 의한 임시Basal 설정 APS가 선택되지 않았거나 계산된 결과가 없습니다. - 안전성 - 플러그인이 사용불가능 합니다 제한 위반 - 새 임시Basal 적용: 입력값을 변경하세요! 혈당 출처 - xDrip+ - APS 모드 - Closed Loop - Open Loop - 저혈당 주입정지 새로운 제안이 있습니다 탄수화물 제안 - 지원하지 않는 Nightscout 버전입니다 - 임시Basal - 확장 Bolus Nightscout 버전: - 부족 %1$d g 설정이 저장되었습니다 사용자 입력 사항들이 저장됨 다음 위치에 설정을 저장하시겠습니까 @@ -88,12 +48,7 @@ 파일을 찾을 수 없습니다 설정 저장하기 설정 불러오기 - 임시 Basal 최대량 [U/h] - 이 값은 OpenAPS에서 Max Basal(최대 Basal)로 설정되는 값입니다 - OpenAPS가 주입할수 있는 최대 Basal IOB [U] - 이 값은 OpenAPS에서 Max IOB라고 부르는 값입니다\n기본값은 0으로 설정되어 있습니다. 몇일 혹은 몇주 정도 사용 후 적절한 값으로 변경할 수 있습니다. 내보낸 preferences 암호화 하기 위해 마스터 비밀번호가 필요합니다. - 내보낸 preferences를 가져오기 위해서는 마스터 비밀번호가 필요합니다. 내보내기 취소됩니다! 환경 설정을 내보내지 않았습니다! 가져오고 취소됩니다! 환경설정을 가져오지 않았습니다. 기본 설정을 가져올 수 없습니다. @@ -113,7 +68,6 @@ 모두 이해하였고 동의합니다. 저장 프로파일 새로고침 - 빠른마법사 빠른마법사 설정 버튼명: 탄수화물: @@ -121,16 +75,9 @@ 추가 수정 교정주입 - 실행 (비활성화 시 위험함) NS에 업로드만 하기 NS에 업로드만 하기 (sync를 비활성화 함). xDrip+와 같은 로컬 출처를 선택한 경우 외에는 SGV에 영향을 주지 않음. NS 프로파일을 사용하는 동안 프로파일에 영향을 주지 않음.\n!!! 경고!!! 이 기능을 비활성화하면 일부 구성요소 (AAPS, NS, xDrip+) 가 잘못 설정되어 있을 때 잘못 작동하거나 인슐린의 과다주입을 야기할 수 있음. AAPS에서 보여지는 정보와 펌프 상태가 일치하는지 유의해서 관찰해야 함! 펌프가 초기화 되지 않았습니다! - 교체/채움 - 양이 인퓨전세트의 사양과 일치하는지 확인하세요! - 교체/채움 기본 인슐린 양 - 버튼1 - 버튼2 - 버튼3 단위 차트 표시 범위 홈화면/스마트워치의 차트에서 표시되는 고/저혈당 선 @@ -139,106 +86,22 @@ 워치 모든 데이터 다시 보내기 워치에서 설정 열기 - 미니메드640g 연속 알림 오래된 데이터 - OpenAPS AMA - %1$d 요소의 배열.\n실제 값: - Autosens 정보 - 스크립트 디버그 - Autosens 기능 사용 - ACT CONF LOOP - OAPS - VPUMP TREAT - OBJ WEAR 탭 이름 단축 - 단순증분값 대신 단기평균증분값을 항상 사용합니다. - xDrip+처럼 필터링되지 않은 혈당 출처에서 받은 데이터의 노이즈가 심할 경우 유용함. - 기본값: 3\n이 값은 중요한 OpenAPS 안전장치입니다. 이 값의 역할은 펌프에 설정되어 있는 최대Basal보다 3배를 초과할 수 없게 제한하는 것입니다. 이 값을 변경할 필요는 없을 것이지만, 안전을 위해 \"3x max daily; 4x current\"이 의미하는 바를 알고 있어야 합니다. - 기본값: 4\n이 값은 \"3x max daily; 4x current\"의 나머지 절반에 해당하는 또 다른 중요한 OpenAPS 안전장치입니다. 이것은, 펌프에 설정된 최대 Basal과는 관계없이, Basal이 설정된 현재시간의 Basal에 이 값을 곱한 양을 초과할 수 없다는 것을 의미합니다. 이는 알고리즘의 작동 방식을 이해하기 전에 과도하게 높은 최대 기본을 설정하여 위험한 상황에 빠지지 않도록 보호하기 위한 것입니다. 다시한번, 기본 값은 4배인 것을 알아두세요; 일반적으로 이것을 조정할 필요는 전혀 없으며, 대신 이 안전장치를 변경해야할것처럼 생각이 된다면, 다른 설정을 변경해야 할 가능성이 더 큽니다. - 기본값: 1.2\n이 옵션은 autosens의 최대 한계 값을 20%%로 제한하기 위해 autosens(곧 autotune)이 이용하는 승수값입니다. 이 값이 autosens에 대한 Basal의 최대 값, 인슐린 민감도(ISF)의 최소값 및 혈당 목표의 최소값을 결정케 합니다. - 기본값: 0.7\nautosens 안전 제한의 나머지 부분입니다. 이는 Basal을 얼마나 낮게 조절할 수 있는지, ISF와 혈당 목표범위를 얼마나 높게 설정할 수 있는지를 결정합니다. - Autosens가 목표값도 조절합니다. - 기본값: 활성\n이것은 autosens가 ISF와 Basal뿐만 아니라, 혈당 목표범위를 조절할 수 있게 합니다. - 기본값: 2\n식사주입 후 Bolus snooze가 수행되게 되고, 따라서 식사주입 직후엔 loop가 low temp에 대응하지 않게 됩니다. 기본값이 2일때 예제는 다음과 같습니다; DIA가 3시간일 경우 bolus snooz는 점차적으로 1.5시간에 걸쳐 단계적으로 사라지게 됩니다.(3DIA/2). - 기본값: 3.0 (AMA) 또는 8.0 (SMB). 5분당 탄수화물이 얼만큼 흡수되었는지에 대한 기본값 설정입니다. 기본값은 3mg/dl / 5분 입니다. 이는 혈당이 예상보다 빨리 떨어지거나 혹은 예상보다 오르지 않을때, COB가 얼마나 빨리 사라지게 되는지에 영향을 주게 되고, 추정된 탄수화물 흡수량이 미래 혈당 예측 계산시에도 영향을 주게 됩니다. - 주의!\n보통의 경우 아래의 값을 변경하면 안됩니다. 이 값들을 변경하기 전에 반드시 이곳을 클릭하고 글을 정독해서 확실하게 이해를 하여야 합니다. - 실행중 - 가상펌프 설정 - NS에 상태 업로드하기 - 내장 NSClient - NSCI - URL: - 자동스크롤 - 재시작 - NSClient - Nightscout URL - Nightscout URL 입력 - NS API secret - NS API secret - NS API secret 입력(최소 12글자) - 즉시전송 - 대기열 지우기 - 대기열 보여주기 - 대기열: - 상태: - 기록 지우기 - NSCLIENT이 쓰기 권한이 없습니다. 잘못된 API secret인지 확인해보세요 워치 설정 성공하지 못했습니다. 폰을 확인하세요 - 환자 유형 - 어린이 - 청소년 - 성인 - 인슐린 저항성 높은 성인 - 임신 중 - 안전 제한 설정을 위해 환자 유형을 선택하십시오. 환자 이름 다양한 설정들을 구별하기 위하여 환자 이름 또는 별명을 입력합니다. - Glimp - 1시간동안 Loop 일시중지 - 2시간동안 Loop 일시중지 - 3시간동안 Loop 일시중지 - 10시간동안 Loop 일시중지 - 펌프 일시중지 - 15분동안 펌프 일시중지 - 30분동안 펌프 일시중지 - 1시간동안 펌프 일시중지 - 2시간동안 펌프 일시중지 - 3시간동안 펌프 일시중지 - 15분 - 30분 - 1시간 - 2시간 - 3시간 - 10시간 - 재실행 - 펌프 재연결 - 앱시작을 NS에 기록하기 설정을 적용하기위해 앱을 종료합니다. 어떤 종류의 인슐린을 사용합니까? 마법사에서 Superbolus 활성화하기 마법사에서 Superbolus 기능을 활성화합니다. 어떤 기능인지 확실히 알기전까지 활성화 하지 마세요. 제대로 알지 못하고 사용하면 일슐린이 과다 주입될 수 있습니다! - 홈화면에 상태 표시등 보여주기 - 캐뉼라 사용 기간 경고 기준 [h] - 캐뉼라 사용 기간 위험 기준 [h] - 인슐린 사용 기간 경고 기준 [h] - 인슐린 사용 기간 위험 기준 [h] - 센서 사용 기간 경고 기준 [h] - 센서 사용 기간 위험 기준 [h] - 배터리 잔량 경고 기준 [%] - 배터리 잔량 위험 기준 [%] - 펌프 배터리 사용 기간 경고 기준 [h] - 펌프 배터리 사용 기간 위험 기준 [h] - 주사기량 경고 기준값[U] - 주사기량 위험 기준값[U] - 펌프 배터리 잔량 경고 기준 [%] - 펌프 배터리 잔량 위험 기준 [%] PRED BAS DEV @@ -248,18 +111,12 @@ DEVSLOPE 버전정보 전화 상태 권한이 허가되지 않았습니다 - 확장Bolus 취소 프로파일 변경 실행 - 센서 - 인슐린 - 펌프 배터리 - 나이: - 레벨: - 알람 옵션 + 알람 옵션 NS 알람에서 알림 만들기 NS 안내에서 알림 만들기 - 누락 데이터 기준값 [min] - 위험 누락 데이터 기준값 [min] + 누락 데이터 기준값 [min] + 위험 누락 데이터 기준값 [min] autosens 시간 [h] 민감도를 감지하기 위해 계산될 총 시간 (탄수화물 흡수 시간은 제외됩니다.) OpenAPS @@ -272,23 +129,13 @@ 흡수 설정 식사 최대 흡수 시간 [h] 식사로 섭취한 탄수화물이 모두 흡수될기까지 예상되는 시간 - OAPS - UPLD 화면을 켜진 상태로 유지 안드로이드의 화면이 꺼지는 것을 방지합니다. 전원이 공급되어 있지 않으면 전력소모가 큽니다. Autosense 기능을 켜면 모든 섭취된 탄수화물양을 입력하십시오. 그렇지 않으면 탄수화물 편차(deviations)가 민감도 변화로 잘못 인식될것입니다!! 민감도 가중평균 모든 프로파일이 로드되지 않았습니다. 값이 저장되지 않았습니다! - Local Broadcasts 활성화하기 - OpenAPS SMB - UAM 활성화하기 - SMB 활성화하기 - 더 빠른 작용을 위해 임시Basal 대신 Super Micro Bolus 사용 - 알리지 않은 식사 감지 유효하지 않음 - 퍼센트 - 시간 이동 임시목표 기본값 식사직전 기간 식사직전 목표 @@ -296,32 +143,16 @@ 활동 목표 저혈당 기간 저혈당 목표 - %1$d%%를 %2$dh 동안 재사용하기 워치로 제어하기 임시목표와 관리입력을 워치로 설정합니다. - 경고와 알림시 시스템 알림 사용하기 알람과 알림의 소리를 점차적으로 증가시킴 자체 경고 기능 혈당 데이터 누락시 경고하기 펌프와 연결불가시 경고하기 펌프 연결불가 기준시간 [min] 탄수화물이 요구되는 경우 경고함 - 긴급 알람 - 정보 - Eversense 앱(패치버전) - NS에 혈당데이터 업로드하기 - 혈당 업로드 설정 델타(혈당증분값) 자세히 보여주기 소수점 자리 추가된 증분값 보여주기 - SMB를 주입하는 빈도 (몇 분마다) - SMB가 Basal을 제한할 수 있는 최대 시간(분) - UAM SMB의 최대 기간 (분) - SMB가 UAM에 대해 basal을 제한할 수 있는 최대 시간(분) - 제안을 위한 최소 탄수화물 필요량 - 탄수화물 제안 알림을 보여주는 최소 탄수화물 g수. 이 양보다 적은 경우 탄수화물 제안 알림이 작동하지 않습니다. - 혈당 데이터를 xDrip+에 전송하기 - xDrip+ 데이터 소스에서 640g/Eversense을 선택하세요 - NSClient 혈당 혈당 계산 Bolus IOB 계산 Basal IOB 계산 @@ -331,39 +162,15 @@ 음수만 COB 계산 임시목표 계산 - Loop 활성화됨 - APS 선택됨 - NSClient가 쓰기권한이 있습니다 - Closed 모드가 활성화됨 - 최대 IOB가 바르게 설정됨 - 선택한 소스에서 혈당이 들어옵니다. - 확장Bolus 주입 에러 - 항상 SMB 사용하기 - Bolus와 독립적으로 항상 SMB를 사용합니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. - 탄수화물 이후 SMB를 사용합니다. - 탄수화물 이후 6시간동안 SMB를 사용합니다, 0 COB이라도 적용됩니다. G5처럼 잘 필터된 혈당출처와만 사용이 가능합니다. - COB와 SMB를 사용합니다. - 활성화된 COB가 있으면 SMB를 사용합니다. - 임시 목표에서 SMB 사용하기 - 활성화된 임시 목표(식사직전, 운동)가 있으면 SMB를 사용합니다. - 높은 임시 목표에서 SMB 사용하기 - 높은 임시 목표 (운동, 100mg/dl 또는 5.5 mmol/l 초과)가 활성되어 있을 때 SMB 사용하기 - 인슐린 버튼 버튼을 누를 때 추가되는 탄수화물 양 버튼을 누를때 추가될 인슐린 양 CGM앱을 실행할 수 없습니다. 앱이 설치되어 있는지 확인하세요. - CGM 5분간 무시하기 5분간 무시하기 30분간 무시하기 - 이력 브라우저 SMB 알림 일반 Bolus처럼 워치에 SMB 표시 - 에러 발생시 알림 생성 - \"필요 탄수화물 경고\"에서 알림 만들기 - 에러 발생에 대한 Nightscout 알림과 자체 경고를 생성합니다. (케어포털 관리에서도 표시됩니다.) - \"필요한 탄수화물 경고\"를 위해 Nightscout 알림 만들기 워치페이스에서 예측치를 보여줍니다. 예측 데이터선택 @@ -371,8 +178,6 @@ fabric.io 서비스를 통해 개발자에게 앱 오류 및 특정 데이터를 자동 전송합니다. Dexcom앱을 지원가능한 버전으로 업데이트하세요. Dexcom 앱이 설치되지 않았습니다. - 실제 Bolus 주입않고, 기록만 하기 - Bolus 기록만 하기 (펌프에서 주입되지 않음) 펌프에 의한 SMB 설정 활동 BG impact @@ -381,29 +186,9 @@ 체내탄수화물양(COB) 체내인슐린양(IOB) Basal - 개발자버전을 실행중입니다. Closed Loop는 비활성화 됩니다. 전문가 모드 사용 - 이 펌프 임시Basal을 지원하지 않습니다. - 설정에서 Closed Loop 모드가 비활성화되었습니다. - 설정에서 Autosens가 비활성화 되었습니다. - 설정에서 SMB가 비활성화 되었습니다. - 설정에서 UAM이 비활성화 되었습니다. - Oref1 민감도 플러그인이 필요하므로 UAM이 비활성화 되었습니다. - 최대 Basal 승수 - 최대 일 Basal 승수 최근 3분 이내에 Bolus가 주입되었습니다. SMB를 건너뜁니다. Basal이 정상적으로 설정되었습니다. - %2$s로 인해 확장Bolus가 %1$.1f U로 제한됩니다. - %2$s로 인해 탄수화물이 %1$d g로 제한됩니다. - %2$s로 인해 IOB가 %1$.1f U으로 제한됩니다. - 설정에서의 최대값 - 하드한계 - 펌프 위치 변경 기록 - 인슐린 카트리지 변경 기록 - 선택한 혈당 출처가 고급 필터링을 지원하지 않기 때문에 SMB가 항상 비활성화됩니다. - Open Loop모드에선 SMB가 허용되지 않습니다. - OpenAPS가 초과 할 수 없는 총 IOB의 최대량 [U] - 이 값은 OpenAPS에서 Max IOB라고 합니다\n현재 IOB가 이 값보다 크면 OpenAPS는 인슐린을 추가로 주입하지 않습니다. 식사 최대 흡수 시간 [h] 식사가 모두 흡수되었다고 간주되는 시간. 나머지 탄수화물은 모두 없어집니다. 관리창에 노트 영역 보여주기 @@ -418,27 +203,15 @@ 2차 탄수화물 증분 3차 탄수화물 증분 CGM - 와이파이 SSID - 연결 설정 - 허가된 SSIDs(세미콜론으로 구분) - 로밍에서 연결 허용 최대 autosens 비율 최저 autosens 비율 - Bolus snooze DIA 나눗수 - 최대 일 안전 승수 - 현재 Basal 안전 승수 - 가성펌프 종류 - 펌프 정의 - Bolus: 스텝=%1$s\n확장Bolus: [Step=%2$s, 기간=%3$s분-%4$s시]\nBasal: 스텝=%5$s\n임시Basal: %6$s (by %7$s), 기간=%8$s분-%9$s시\n%10$s 마법사 결과에 사용 된 계산: 화면 설정 일반 설정 - NSClient 활성화하기 설정 마법사에 오신것을 환영합니다. 설정 마법사가 설정 과정을 안내하여 줄것입니다. 상태 불러오기 설정 마법사 건너뛰기 민감도 플러그인은 민감도감지와 COB 계산을 위해 사용됩니다. 더 많은 정보는 다름 링크를 방문하세요. - NSClient는 Nightscout와의 연결을 처리합니다. 이 부분을 건너뛸 수 있지만 설정하기 전엔 목적을 수행할 수 없습니다. 새로운 인슐린 프로파일은 최소 5시간의 DIA가 요구됩니다. 새로운 프로파일의 DIA 5-6시간은 구식 인슐린 프로파일의 DIA 3시간과 동일합니다. 사용 가능한 알고리즘 중 하나를 선택하세요. 과거부터 최신의 순으로 정렬이 되어 있습니다. 일반적으로 새로운 알고리즘은 보다 강력하고 공격적입니다. 따라서 당신이 신규 사용자라면 최신의 알고리즘보단 AMA로 시작하는것이 나을 수 있습니다. 사용 전에 OpenAPS 문서를 읽어보고 설정하는 것을 잊지마세요. 하단의 RileyLink를 설정하십시오. RileyLink를 선택한 뒤, RileyLink 상태가 \"연결됨\"이 되고 나면 설정을 계속 할 수 있습니다. 이 작업은 금방 진행됩니다.\n @@ -448,17 +221,6 @@ 메뉴 열기 메뉴 닫기 플러그인 설정 - Poctech - Poctech 앱에서 혈당값 받기 - 혈당값이 Tomato앱(MiaoMaio장치) 으로부터 수신되었습니다. - 높은 임시목표는 민감도를 올립니다. - - 낮은 임시목표는 민감도를 내립니다. - - 저항성이 목표 낮추기 - 저항성이 감지되면, 목표 혈당을 낮춥니다. - 민감성이 목표 올리기 - 민감성이 감지되면, 목표 혈당을 높입니다. 저장된 설정이 있습니다. 관리 데이터가 불완전합니다 정비 설정 @@ -471,58 +233,20 @@ 로그 삭제하기 관리 데이터 (인슐린: %1$.2f, 탄수화물: %2$d, at: %3$s) 가 추가되지 못하였습니다. 확인해본 다음 적절한 데이터를 수동으로 입력하세요.. 확장탄수화물: %1$d g (%2$d 시간), 지연: %3$d 분 - 사용할 수 있는 Autosens 데이터가 없습니다. 로그 설정 기본값으로 초기화 - NSClient가 정상적으로 작동하지 않습니다. Nightscout와 NSClient를 재시작 해보세요. 선호하는 APS 모드 예상치 못한 상황 보고를 위해 오늘의 로그 파일을 개발자에게 전송합니다. 최소 요청 변화 [%] Open Loop가 %단위로 이 값보다 변화가 더 클 경우에만 새 변경 요청을 팝업합니다. 기본값은 20 %입니다 == ∑ %1$s U - 센서 교체 NS에 기록하기 - Tomato (MiaoMiao) - Tomato - Tidepool 사용자명, 보통 이메일 주소입니다. - 로그인 사용자명 - Tidepool 로그인 비밀번호 - 로그인 비밀번호 - Tidepool 로그인 테스트하기 - 활성화하면 업로드 정보가 https://app.tidepool.org/이 아닌 https://int-app.tidepool.org/로 전송됩니다. - 테스트 서버 사용 - Tidepool - TDP - 데이터를 Tidepool로 업로드 - CGM 데이터 업로드 - 관리정보(인슐린, 탄수화물) 업로드 - 임시 Basal 업로드 - 프로파일변경, 임시목표 업로드 - 혈당 테스트 업로드 - 2h - COB vs IOB - Bolus 제한이 적용됨: %1$.2f U에서 %2$.2f U으로 - !!!!! 느린 탄수화물 흡수 감지: %2$d%% of time. 계산을 다시 확인하십시오. COB를 과대하게 측정하여 더 많은 인슐린이 주입될 수 있습니다 !!!!!]]> - Bolus 마법사 결과의 이 부분 주입[%] Bolus 마법사는 계산을 수행하지만 계산된 인슐린의 이 부분만 주입됩니다. SMB 알고리즘에 유용합니다. - 설정이 프로파일에서의 최대 Basal보다 낮은 이유로 최대 Basal을 올립니다 - 선택: 단위 - 완료 초기화 - 시작 초기화 - 목표를 초기화하시겠습니까? 진행상황이 삭제됩니다. 사용하시는 혈당 단위를 선택하세요 혈당 정상범위의 하한값(표시 전용) 혈당 정상범위의 상한값(표시 전용) - 유효하지 않은 % 입력 - 무작위 혈당 - 무작위로 혈당을 생성합니다(데모 버전 전용) - BG - 도구 - 계산 표시 삭제된 기록 표시 대기열을 삭제하시겠습니까? 대기열에 있는 모든 데이터가 삭제됩니다! - 확장 Bolus 기능을 사용하는 동안에는 Closed Loop 모드가 중지됩니다. 정말 원하십니까? - 확장 Bolus 사용으로 인해 Closed Loop가 비활성화됨 차트 메뉴 SMB 요청시간 SMB 실행시간 @@ -534,57 +258,16 @@ 인슐린 절대값 마스터 비밀번호는 백업 암호 또는 보안 해제를 위해 사용됩니다. 이를 기억하거나 안전한 곳에 저장해두세요. 현재 마스터 비밀번호 - 상태 등 - NS에서 설정을 복사해오기 - NS 설정(이 존재하는 경우) 복사하기? - 기본 스킨 - 저해상도 스킨 - 버튼을 화면 아래 고정하여 보여주기 - 큰 화면 - 스킨 - 프로파일 비교하기 - 프로파일 보조기 - 기본 프로파일 - 현재 프로파일 - 사용 가능한 프로파일 - 프로파일 종류 - 나이: %1$.0f TDD: %2$.0f U - 나이: %1$.0f TDD: %2$.0f U %3$d%% - 나이: %1$.0f 체중: %2$.0f kg - % basal - DPV 기본 프로파일 RileyLink 상태: 앱이 종료되지 않도록 합니다? - 식사 시간이 되면 알람을 울리기 식사할 시간입니다! \nBolus wizard를 켜고 다시 계산하십시오. 충돌 로그 업로드가 작동하지 않습니다. 그래프 - 차트 메뉴 필터 지우기 캐뉼라 평소 섭취하는 가장 많은 양의 탄수화물 값을 사용하세요.\n 이메일 주소 개인정보 설정 어플의 충돌에 대해 통지를 받기 원하는 경우 선택적으로 이메일 주소를 제공할 수 있습니다. 이는 자동 지원 서비스는 아닙니다. 위험 상황에서 개발자들에게 연락이 올 것입니다. - 동기화 - 프로파일, bolus, 탄수화물, 임시 basal이 NS에 업로드 됨 - NS에 데이터 업로드하기 - 프로파일 목록 받기 - 임시 목표들 받기 - NS 또는 NSClient에서 입력한 임시 목표 수락하기 - 프로파일 변경 받기 - NS 또는 NSClient에서 입력한 프로파일 변경 수락하기 - APS 오프라인 이벤트 받기 - NS 또는 NSClient에서 입력한 APS 오프라인 이벤트 수락하기 - 인슐린 받기 - NS 또는 NSClient에서 입력한 인슐린 수락하기 (주입되지는 않음, IOB에 계산만 됨) - 탄수화물 받기 - NS 또는 NSClient에서 입력한 탄수화물 수락하기 - 처치 이벤트 받기 - NS 또는 NSClient에서 입력한 처치 이벤트 (캐뉼라, 인슐린, 배터리 교체 등) 수락하기 - CGM 데이터 받기/다시 채우기 - NS로부터 CGM 데이터 수락하기 - 로그인 - diff --git a/app/src/main/res/values-lt-rLT/exam.xml b/app/src/main/res/values-lt-rLT/exam.xml index e655223c67..3ea04e700d 100644 --- a/app/src/main/res/values-lt-rLT/exam.xml +++ b/app/src/main/res/values-lt-rLT/exam.xml @@ -1,180 +1,2 @@ - - Koks atsakymas apie IVT yra teisingas? - Insulino veikimo trukmė (IVT) - Jūs turite nustatyti IVT reikšmę profilyje. - Mažiausia reikšmė - 5 valandos. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Jūs turite nustatyti sau tinkamą IVT reikšmę. - Hipo laikinas tikslas - Kokia yra pagrindinė priežastis nustatyti hipo laikiną tikslą? - Hipoglikemijų dėl neteisingai nustatytos bazės korekcija. - Hipoglikemijos dėl fizinio aktyvumo korekcija. - Kad būtų išvengta glikemijos kritimo kai jau nustatyta 0% laikina bazė. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Kuris profilis gali būti naudojamas ir sukonfigūruotas neprisijungus? - Tema: Vietinis Profilis - NS Profilis gali būti naudojamas, bet nekonfigūruojamas. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Kas vyksta programiškai atjungus pompą? - To daryti nereikia, nes insulinas nebus tiekiamas, jei pompa fiziškai atjungta. - Tai nesustabdys insulino tiekimo, jei pompa nebus fiziškai atjungta. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Kaip geriausiai padaryti nustatymų atsarginę kopiją? - Jums nereikia eksportuoti nustatymų, jei juos užsirašėte. - Reikia eksportuoti nustatymus kaskart užbaigus tikslą. - Reikia eksportuoti nustatymus juos pakeitus. - Reikia eksportuoti nustatymus užbaigus pirminę sąranką ir įvedus asmeninius parametrus. - Reikia eksportuoti nustatymus lokaliai per Serviso meniu. - Jūsų nustatymų failas randamas telefono aplanke Internal Storage/AAPS/preferences. - Išsaugokite nustatymų failą saugioje vietoje ne telefone (pvz. saugykloje debesyje, perkeliant į kompiuterį kabeliu, el. pašte ir pan.) - Jei sugadinsite telefoną ar jį pamesite, yra paprastų būdų, kaip nuotoliniu būdu atkurti nustatymus be atsarginės kopijos. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Triukšmingi NGJ Rodmenys - Ką reikėtų daryti, jei sensoriaus duomenys yra triukšmingi - besiblaškantys? - Išjungti uždarą ciklą, kad išvengtumėte per didelio ar per mažo dozavimo. - Pakeisti sensorių, jei jo duomenys pastoviai triukšmingi ar netikslūs. - Patikrinti, ar jūsų NGJ programa išlygina duomenis. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Aktyvumas ir Profiliai - Kaip naudoti profilius, kad sistema geriausiai susitvarkytų su aerobiniais pratimais? - Perjungti profilį į žemesnį nei 100%. - Perjungti profilį į aukštesnį nei 100%. - Palikti 100% profilį. - Sustabdyti ciklą. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Aktyvumas ir Laikini tikslai - Kaip naudoti laikinus tikslus, kad sistema geriausiai susitvarkytų su aerobiniais pratimais? - Nustatykite laikiną aktyvumo tikslą pradėdami jį tinkamu laiku prieš pradėdami sportuoti. - Pasibaigus fizinei veiklai, nustatykite laikiną aktyvumo tikslą. - Palikti tikslinę glikemiją nepakeistą. - Palaukti, kol glikemija nukris žemiau laikino hipoglikemijos tikslo, tada suvalgyti 15 g greitųjų angliavandenių. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Ciklas išjungtas/sustabdytas - Ar man leidžiamas insulinas, kai ciklas yra išjungtas / pristabdytas? - Taip, bazinis insulinas ir toliau leidžiamas. - Ne, insulino tiekimas sustabdytas. - Bazės, JIF, ir IA testavimas - Kada šios reikšmės turėtų būti patikrintos? - Prieš pradedant naudoti AAPS. - Kai gliukozės kiekis kraujyje dažnai yra per didelis ar per mažas. - Mažiausiai kartą per savaitę. - Vieną kartą nustatytos ir patvirtintos, šios reikšmės daugiau neturėtų būti keičiamos. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Būtinosios sąlygos - Turėti patikrintus profilio duomenis (valandines bazes, IA, JIF, IVT). - Kompiuterio su įdiegta ir sukonfigūruota Android Studio programa. - Tinkamo telefono. - Tinkamos insulino pompos, jei ketinate naudotis uždaru ciklu. - Nightscout, kad galima būtų išsaugoti ir peržiūrėti visų duomenų bei nustatymų istoriją. - Tidepool paskyros. - Google paskyros. - Github paskyros. - Turėti programavimo ar kodo redagavimo patirties. - MiniMed 670G pompos. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Išmaniojo laikrodžio. - Palaikomo NGJ. - Būtinosios sąlygos - Patikrintos profilio informacijos (JIF, IA, bazė, IVT ir pan.). - Suderinamo Android įrenginio (pvz.: išmaniojo telefono, laikrodžio su full Android ar planšetės). - Palaikomo NGJ ir tinkamos programėlės glikemijos duomenims gauti telefone/įrenginyje. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Pasirinkite visus teisingus atsakymus. - Git programa turi būti įdiegta ir sukonfigūruota jūsų kompiuteryje. - Turėtumėte išsaugoti ir pasižymėti raktų saugyklos vietą ir atnaujinimams naudoti tą patį pasirašymo raktą, kaip ir ankstesniam diegimui. - Niekada neatnaujinkite, jei sistema veikia gerai. - Jei kyla sunkumų kuriant apk failą, galite instaliuoti apk failą, kurį sukūrė draugas. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Trikčių šalinimas - Turėtumėte kreiptis į savo diabeto kliniką/endokrinologą. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Insulino įskiepiai - Kurį insuliną reikėtų naudoti su Ultra-Rapid Oref įskiepiu? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"tradicinį\" žmogaus insuliną. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Jautrumo įskiepiai - Pasirinkite visus teisingus atsakymus. - Jautrumo įskiepiai pateikia vartotojui siūlomus bazės, IA santykio ir JIF pakeitimus, kuriuos galima naudoti profiliui redaguoti. - Pažymėjus kaniulės pakeitimą, Autosens santykis vėl bus grąžintas į 100%. - Kai kurios įskiepo parinktys turi konfigūruojamus laiko intervalus, kuriuos gali nustatyti vartotojas. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Angliavandenių įvedimo klaidos - Ką reikia daryti, jei įrašyti neteisingi angliavandeniai? - Ištrinti neteisingą įrašą Terapijos skiltyje ir įvesti teisingą angliavandenių kiekį. - Suleisti bolusą, naudojant infuzijos rinkinio užpildymo funkciją. - Suleisti bolusą, naudojant mygtuką Insulinas, esantį pagrindiniame lange. - Insulino suleidimo / įrašų klaidos - Ką turėtumėte daryti, jei buvo suleista mažiau insulino nei rodo pompos istorija, pvz. dėl užsikimšimo, neveikiančios kaniulės ar pamiršus po dušo vėl pritvirtinti pompą?  - Ištrinti insulino suleidimo įrašą per Nightscout Careportal, kad pašalintumėte jį iš pompos istorijos. - Susileisti trūkstamą insulino kiekį švirkštu ar naudojantis infuzinės sistemos užpildymo funkcija. - Aktyvus insulinas organizme (AIO) - AIO reikšmei įtakos turi nustatyta laikina valandinė bazė. - Padidinta laikina bazė nebus nustatyta, jei kraujo glikemija yra žemiau nustatyto tikslo. - Jei ilgą laiką stebima neigiama AIO reikšmė ir nėra fizinio aktyvumo, tai rodo, kad jūsų nustatymai yra per „agresyvūs“ ir kad jums reikia mažiau insulino nei nustatyta. - Jei ilgą laiką stebima teigiama AIO reikšmė, tai rodo rezistenciją insulinui arba valgomą, tačiau neįrašomą maistą. - Angliavandenių įrašai ir bolusai - Apskaičiuojant ir įrašant angliavandenius, reikia naudoti tik gramus. - Suvartotus angliavandenius galima įrašyti naudojant atitinkamą perskaičiavimo sistemą (pvz., DAFNE „CHO“ perskaičiavimą ar europinius duonos vienetus). - Jei gliukozės kiekis kraujyje viršija leistinas ribas (per žemas ar per aukštas), skaičiuotuvas gali pateikti pasiūlymus dėl angliavandenių ar korekcinio boluso. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - i-AV - Kam naudojami i-AV (ištęsti angliavandeniai)? - Įvesti angliavandenius, kurie dar tik bus ateityje, galimai pasiskirstę laike (panašiai kaip ištęstas bolusas paskirsto laike insuliną). - Norint įrašyti angliavandenius, kuriuos suvartojote esant žemai glikemijai.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Nuotolinis stebėjimas - Kitos programėlės (pvz. Dexcom follow, Xdrip sekėjo režimu) leidžia sekti tuos pačius parametrus (pvz. glikemijos/sensoriaus reikšmės) nuotoliniu būdu, tačiau naudoja kitus algoritmus, todėl gali pateikti neteisingas AIO ir AAO reikšmes. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Jautrumo insulinui faktorius (JIF) - Padidinus JIF reikšmes, bus leidžiama daugiau insulino, kad būtų padengtas konkretus angliavandenių kiekis. - Sumažinus JIF, insulino bus leidžiama daugiau, kad būtų koreguojama aukštesnė, nei nustatyta glikemija. - JIF padidinimas ar sumažinimas neturi įtakos insulino leidimui, kai gliukozės kiekis kraujyje yra žemesnis už tikslinį. - Jei profilyje pakeisite JIF vertę, Ciklas į pokytį iškart atsižvelgs. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Jūs galite naudoti daugiau nei vieną IA santykio reikšmę savo profilyje. - Jei profilyje pakeičiate JIF reikšmę, visada taip pat turite pakeisti IA santykį. - Insulino ir angliavandenių santykis (IA santykis) - Didesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui. - Mažesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui. - Jei turite 0 AAO (aktyvių angliavandenių organizme), pakeitus IA, glikemija bus koreguojama kitokiu insulino kiekiu. - IA vertė skirsis priklausomai nuo to, ar duonos vienetui (jo pakeitimui) skaičiuojate 10g ar 12g angliavandenių. - IA reiškia: kiek vienas vienetas insulino dengia duonos vienetų (jo pakeitimo). - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profilio keitimas - Kai nustatomas 90% profilio keitimas, kurie atsakymai yra teisingi? - Valandinė bazė bus 10% mažesnė. - JIF reikšmė bus 10% didesnė. - IA santykio reikšmė bus 10% mažesnė. - JIF ir IA reikšmės nebus pakeistos. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profilio keitimas - Kai nustatomas 120% profilis, kurie atsakymai yra teisingi? - Tikslinė glikemija bus 20% aukštesnė. - Valandinė bazė bus 20% didesnė. - Tikslinė glikemija nebus pakeista. - JIF reikšmė bus 20% didesnė. - Profilio keitimas - Perjunkite profilį su laiko poslinkiu +2 - Perjunkite profilį su laiko poslinkiu -2 - Nustatyti Netrukus valgysiu laikiną tikslą. - Perjungti profilį į aukštesnį nei 100%.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Profilių pakeitimai - Bazė, JIF, IA santykiai ir t.t. turėtų būti nustatyti profiliuose. - Užtenka tik redaguoti profilius pakeičiant reikšmes, kad būtų aktyvuoti visi atlikti pakeitimai. - Galima nustatyti ir pasirinkti kelis profilius, kad jie atitiktų besikeičiančias aplinkybes (pvz., hormoniniai pokyčiai, pamaininis darbas, darbo dienų/savaitgalių gyvenimo būdas). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Pagalba su valandinėmis bazėmis - Kur kreiptis, jei jums reikia pagalbos nustatant valandines bazes ir pan.? - Į Jūsų endokrinologą ir diabetologą - Google - Facebook - Kiti vaistai. Prašome perskaityti toliau pateiktą pranešimą ir pažymėti langelį, kad patvirtintumėte. - + diff --git a/app/src/main/res/values-lt-rLT/objectives.xml b/app/src/main/res/values-lt-rLT/objectives.xml index f0915a68c2..3ea04e700d 100644 --- a/app/src/main/res/values-lt-rLT/objectives.xml +++ b/app/src/main/res/values-lt-rLT/objectives.xml @@ -1,54 +1,2 @@ - - Pradėti - Patikrinti - %1$d. tikslas - %1$d tikslas nepradėtas - %1$d tikslas nepasiektas - Nustatymai vizualizacijai, monitoringui ir bazės verčių bei koeficientų analizei - Įsitikinkite, kad gliukozės duomenys rodomi Nightscout, o pompos insulino duomenys yra įkelti - Aktyvuojamas atviras ciklas - Keletą dienų praleiskite atvirojo ciklo (Open Loop) režime, rankiniu būdu tvirtindami kuo daugiau siūlomų bazės pakeitimų. Nustatykite ir naudokite laikinus bei numatytuosiuos tikslus (pvz.: fiziniam aktyvumui ir hipo korekcijai angliavandeniais) - Perpraskite atvirojo ciklo veikimą bei laikinos bazės rekomendacijas - Remdamiesi šia patirtimi, nuspręskite, koks turėtų būti maksimalus bazės dydis bei įveskite jį pompoje ir programos Nustatymuose - Pradėkite uždaro ciklo (Closed Loop) režimą su pompos stabdymu esant žemai gliukozei - Keletą dienų praleiskite uždaro ciklo režime su kuo mažiau hipoglikemijų, kai AIO = 0 - Koreguokite savo uždarąjį ciklą po truputį didindami maks AIO ir mažindami tikslinę glikemijos reikšmę - Praleiskite keletą dienų ir bent vieną naktį be hipoglikemijos aliarmų - Jei reikia, paderinkite valandines bazės vertes bei pagrindinius parametrus ir įgalinkite Autosens funkciją - 1 savaitę praleiskite sėkmingai naudodami uždarąjį ciklą dienos metu ir įvesdami visus valgomus angliavandenius - Dienos metu aktyvuokite papildomas funkcijas, tokias kaip SMB (Super Mikro Bolusas) - Automatizavimo įjungimas - Norėdami, kad SMB veiktų gerai, turite perskaityti dokumentaciją ir padidinti max AIO! Pradžiai patartina skaičiuoti taip: maxAIO=(didžiausia valandinė bazė x 3) + vidutinis bolusas - Perskaitykite automatizacijos dokumentaciją. Nustatykite pirmąsias paprastas taisykles. Užuot įjungę veiksmus, leiskite AAPS tik rodyti pranešimus. Kai būsite tikri, kad automatizacija prasidės tinkamu laiku, pakeiskite pranešimą realiu veiksmu. -(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - KG matoma NS - NS matomas pompos statusas - Įvesti rankiniu būdu - Įvykdyta: %1$s - Nustatykite profilį 90% 10 min (ilgai paspauskite profilio pavadinimą Apžvalgos skiltyje) - Imituokite maudynes duše. Atjunkite pompą 1 valandai (ilgai paspauskite Atviras Ciklas) - ... ir iš naujo prisijunkite tuo pačiu būdu - Nustatykite 10 min trukmės laikiną tikslą (ilgai spausti ant dabartinio tikslo) - Konfigūracijoje įjunkite Veiksmų įskiepį, nustatykite jį matomą ir jo turinio rodymą viršutiniame meniu - Parodyti Ciklo įskiepio turinį - Panaudokite vaizdo dydžio keitimo funkciją ilgai spaudžiant ant glikemijos kreivės - Įeiti - Jei turite bent 3 mėnesių uždaro ciklo patirties kitose sistemose, galite gauti kodą, leidžiantį praleisti tikslus. Visą informaciją galite rasti čia: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. - Kodas priimtas - Neteisingas kodas - Patvirtinkite savo žinias - Išanalizuokite klausimus.  Į kiekvieną klausimą jums pateikiami keturi galimi atsakymai. Teisingų atsakymų gali būti daugiau nei vienas. Pažymėkite visus teisingus ir pasirinkite PATVIRTINTI. - Atsakymas sustabdytas: %1$s - Neteisingas atsakymas! - Kitas neužbaigtas - Paprašyti kodo: %1$s - (pasirinkite visus teisingus atsakymus) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Neprisijungta prie interneto - Nepavyko nuskaityti laiko - Tikslo reikalavimai neįvykdyti - + diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 4a2e7b9f29..b2542509d5 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -3,85 +3,44 @@ - Terapijos saugumas - Maksimalus leistinas bolusas [U] - Maks. leistini angliavandeniai [g] %1$s Nustatymai Nustatymai Atnaujinti terapiją iš NS Iš naujo nustatyti duomenų bazę Ar tikrai norite iš naujo nustatyti duomenų bazę? Išeiti - Mygtukai greitesniam pagrindinių funkcijų paleidimui Naudojama aktyvių įskiepių konfigūravimui - Mokymosi programa Aktyvuoja arba deaktyvuoja Ciklo paleidimą. - Sinchronizuoja duomenis su Nightscout - 2017 m. algoritmas - Naujausias algoritmas patyrusiems vartotojams Rodo dabartinę Ciklo būseną ir pagrindinių veiksmų mygtukus Rodo atsinaujinančius pranešimus su trumpa Ciklo veiklos apžvalga - Integracija pompoms, kurios dar neturi reikalingo valdiklio (Atviras Ciklas) Jautrumas insulinui apskaičiuojamas taip pat kaip ir Oref0, tačiau jūs galite nustatyti, koks praeities laikotarpis bus naudojamas. Minimalus angliavandenių įsisavinimo greitis apskaičiuojamas remiantis maksimaliu angliavandenių įsisavinimo greičiu, kuris įvestas Nustatymuose. Jautrumas insulinui apskaičiuojamas remiantis praėjusių 8 val. duomenimis, o (neįsisavinti) angliavandeniai neįtraukiami į skaičiavimus praėjus Nustatymuose nurodytam laikui. Įskiepis taip pat įskaičiuoja NDM (nedeklaruotą maistą). Jautrumas insulinui apskaičiuojamas kaip nuokrypių svertinis vidurkis. Naujausių nuokrypių svoris yra didesnis. Minimalus angliavandenių įsisavinimo greitis apskaičiuojamas iš maksimalaus angliavandenių įsisavinimo greičio, kuris nurodytas Nustatymuose. Šis algoritmas greičiausiai aptinka pasikeitusį jautrumą insulinui. - Gauti kraujo gliukozės vertes iš modifikuotos Eversense programėlės. - Gauti kraujo gliukozės vertes iš Glimp. - Gauti kraujo gliukozės vertes iš 600SeriesAndroidUploader. - Gauti kraujo gliukozės vertes iš Nightscout - Gauti kraujo gliukozės reikšmes iš xDrip+. Išsaugoti visus terapijos pakeitimus - Paleisti dabar - Virtuali pompa - Paskutinis veiksmas - Įvesties parametrai - Gliukozės statusas - Dabartinė laikina bazė - AIO duomenys - Profilis - Maisto duomenys - Rezultatas - Rezultatas: %1$s %2$s - Nėra gliukozės duomenų - Užklausa Pokytis Konfigūracija Apžvalga Terapija - Virtuali pompa Pompa Profilis DKS Kuris DKS algoritmas turėtų koreguoti terapiją? Bendrieji Bendrieji įskiepiai, kurie gali praversti. + Sinchronizacija Kokie apribojimai taikomi? - Apribojimai Ciklas DKS Pritaikius apribojimus Laikina bazė nustatyta pompoje NEPASIRINKTA DKS ARBA NĖRA REZULTATO - Saugumas - Įskiepis išjungtas Apribojimų pažeidimas - Patvirtinti naują laikiną bazę: Pakeiskite įvestus duomenis! Glikemijos šaltinis - xDrip+ - DKS režimas - Uždaras Ciklas - Atviras Ciklas - Sustabdymas esant žemai gliukozei Gautas naujas pasiūlymas Angliavandenių pasiūlymas - Nepalaikoma Nightscout versija - AV laikas Profilis - Laikina bazė - Ištęstas bolusas Nightscout versija: - Trūksta %1$d g Nustatymai eksportuoti Vartotojo įrašai eksportuoti Eksportuoti nustatymus @@ -90,12 +49,7 @@ Failas nerastas Eksportuoti nustatymus Importuoti nustatymus - Maks vv/val skaičius, kuris gali būti nustatytas kaip laikina bazė - Šis skaičius OpenAPS kontekste vadinamas maks. valandine baze - Didžiausias valandinės bazės insulino kiekis, kurį gali suleisti OpenAPS [U] - Ši vertė OpenAPS kontekste vadinama Maks AIO\nTai maksimalus insulino vienetų [U] skaičius, kurį DKS gali suleisti vienu metu. Jūsų paprašys nustatyti slaptažodį, kuris bus naudojamas užšifruojant eksportuojamus nustatymus. - Jūsų paprašys nustatyti slaptažodį, kuris bus naudojamas atšifruojant importuotus nustatymus. Eksportas nutrauktas! Nustatymai NE eksportuoti! Importas nutrauktas! Nustatymai NE importuoti! Negalima importuoti nustatymų! @@ -115,7 +69,6 @@ SUPRATAU IR SUTINKU Išsaugoti Atnaujinti profilį - Greitasis patarėjas Greitojo patarėjo nustatymai Mygtuko tekstas: AV: @@ -123,16 +76,9 @@ Pridėti Redaguoti Korekcija - Veiksmai (PAVOJINGA IŠJUNGTI) Tik įkeliama į NS Tik įkelti į Nightscout (be sinchronizavimo). Netaikoma NGJ reikšmėms, nebent pasirinktas vietinis duomenų šaltinis, pvz., xDrip+. Taip pat netaikoma profilio duomenims, jei naudojamas NS profilis.\n!!! ĮSPĖJIMAS !!! Išjungus šią parinktį, galimas insulino perdozavimas, jei bet kuris iš komponentų (AAPS, NS, xDrip+) sukonfigūruotas neteisingai. Atidžiai stebėkite, ar AAPS rodomi duomenys atitinka pompos duomenis! Pompa neprijungta! - Užpildymas - Įsitikinkite, kad nurodytas kiekis atitinka Jūsų infuzijos rinkinio specifikaciją! - Standartiniai insulino kiekiai kateterio/kaniulės užpildymui - Mygtukas 1 - Mygtukas 2 - Mygtukas 3 Vienetai Vizualizacijos diapazonas Aukštoji ir žemoji riba Apžvalgos grafikuose bei išmaniuosiuose laikrodžiuose @@ -141,106 +87,22 @@ Išmanieji laikrodžiai Pakartotinai siųsti visus duomenis Atidaryti išmaniojo laikrodžio nustatymus - MM640g Nuolatinis pranešimas SENI DUOMENYS - OpenAPS AMA - %1$d elementų masyvas. \naktuali vertė: - Autosens duomenys - Scenarijų derinimas - Naudoti Autosens funkciją - VEIKS KONF CIKLAS - AtvCiklas PRADŽIA - VPompa ĮRAŠ - TIKSL WEAR Naudoti sutrumpintus skirtukų pavadinimus - Visada naudoti trumpo laikotarpio vidutinį pokyti vietoj paprasto pokyčio - Naudinga, kai duomenys, gaunami iš nefiltruoto šaltinio, tokio kaip xDrip+, tampa nestabilūs. - Numatytoji reikšmė: 3 tai pagrindinis OpenAPS saugiklis. Jis apriboja Jūsų valandinę bazę iki trigubos maksimalios valandinės bazės (standartiniu atveju). Jums greičiausiai neprireiks šios reikšmės keisti, tačiau turėtumėte žinoti, kad ji naudojama kaip saugiklis apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". - Numatytoji reikšmė: 4 tai antras pagrindinis OpenAPS saugiklis, apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". Jis reiškia, kad jūsų valandinė bazė, nepriklausomai nuo to, kokia maksimali valandinė bazė suprogramuota pompoje, negali būti didesnė, nei keturguba dabartinė valandinė bazė. Tai apsaugo Jus nuo pavojingų situacijų, kai nustatoma pernelyg didelė valandinė bazė, pilnai nesuprantant, kaip veikia algoritmas. Numatytoji reikšmė yra 4x; daugumai vartotojų niekada neprireikia šio skaičiaus keisti, o pajutus, kad \"atsitrenkiama\" į saugiklį, rekomenduojama peržiūrėti kitus nustatymus. - Numatytoji reikšmė: 1.2\nTai daugiklis Autosens (ir netrukus Autotune) funkcijoje, kuris nustato 20%% maksimalią ribą iki kurios Autosens gali padidinti valandinę bazę, sumažinti JIF ir tikslinę gliukozės vertę. - Numatytoji reikšmė: 0.7\nTai antras daugiklis Autosens funkcijoje, kuris nustato, kad Autosens gali iki minimalios 70 % ribos sumažinti valandinę bazę bei padidinti JIF ir tikslinę gliukozės vertę. - Autosens nustatomi tikslai, taip pat - Numatytoji reikšmė: true\nTai suteikia Autosens funkcijai leidimą keisti tikslinės gliukozės vertes, JIF ir valandinę bazę. - Numatytoji reikšmė: 2\nBoluso snaudimas aktyvuojamas iškart po to, kai susileidžiate bolusą maistui. Ši funkcija neleidžia sistemai nustatyti mažų LBD iškart po valgio. Pvz.: jei IVT yra 3 val, tai boluso snaudimas pamažu deaktyvuojamas per 1,5 val (3 val. / 2). - Numatytoji reikšmė: 3.0 (AMA) arba 8.0 (SMB). Tai parametras, nurodantis angliavandenių poveikį kraujo gliukozei kas 5 minutes nuo jų suvartojimo. Numatytoji reikšmė yra 3 mg/dl per 5min. Šis skaičius turi įtakos apskaičiavimams, kaip greitai mažės AAO, kokia bus kraujo gliukozės kitimo prognozė, ypač kai ji krenta daugiau nei tikėtasi, arba nedidėja tiek, kiek tikėtasi. - Dėmesio!\nPaprastai neturėtumėte keisti šių, žemiau esančių, reikšmių. Prašome PASPAUSTI ČIA ir PERSKAITYKITE tekstą ir įsitikinkite, kad SUPRANTATE prieš keisdami bet kurią iš šių verčių. - Vykdoma - Virtualios pompos nustatymai - Perduoti būsenos duomenis į NS - NSClient - NSCI - URL: - Automatinis slinkimas - Paleisti iš naujo - NSClient - Nightscout URL - Įveskite savo Nightscout URL - NS API secret - NS API secret - Įveskite NS API secret (min. 12 simbolių) - Suleisti dabar - Išvalyti eilę - Rodyti eilę - Eilė: - Statusas: - Ištrinti įrašą - NSCLIENT neturi įrašymo teisių. Ar teisingai įvedėte API secret? Išmaniojo laikrodžio nustatymai Bandymas nesėkmingas - pasitikrinkite telefoną - Paciento tipas - Vaikas - Paauglys - Suaugęs - Insulinui rezistentiškas suaugęs - Nėštumas - Pasirinkite paciento tipą saugumo riboms nustatyti Paciento vardas Pateikite paciento vardą arba slapyvardį, kad galima būtų atskirti tarp skirtingų konfigūracijų. - Glimp - Sustabdyti ciklą 1 val - Sustabdyti ciklą 2 val - Sustabdyti ciklą 3 val - Sustabdyti ciklą 10 val - Atjungti pompą - Atjungti pompą 15 min - Atjungti pompą 30 min - Atjungti pompą 1 val - Atjungti pompą 2 val - Atjungti pompą 3 val - 15 min - 30 min - 1 val. - 2 val. - 3 val. - 10 val. - Atnaujinti - Prijungti pompą - Siųsti programos paleidimo žymę į NS Uždarant aplikaciją, taikyti nustatymus. Kokio tipo insuliną naudojate? Įgalinti superbolusus skaičiuoklėje Įgalina superbolusų naudojimą insulino skaičiuoklėje. Nenaudokite, kol nesuprantate, ką superbolus funkcija atlieka. NAUDODAMI AKLAI GALITE PERDOZUOTI INSULINO! - Pradžios ekrane rodyti spalvotus indikatorius - Kaniulės ribinio laiko įspėjimas [h] - Kaniulės kritinio laiko įspėjimas [h] - Insulino ribinio laiko įspėjimas [h] - Insulino kritinio laiko įspėjimas [h] - Jutiklio ribinio laiko įspėjimas [h] - Jutiklio kritinio laiko įspėjimas [h] - Įspėjimo apie žemą sensoriaus baterijos lygį riba [%] - Įspėjimo apie kritiškai žemą sensoriaus baterijos lygį riba [%] - Pompos baterijos ribinio laiko įspėjimas [h] - Pompos baterijos kritinio laiko įspėjimas [h] - Įspėjimo apie žemą rezervuaro lygį riba [U] - Įspėjimo apie kritiškai žemą rezervuaro lygį riba [U] - Pompos baterijos ribinio įkrovimo lygio įspėjimas [%] - Pompos baterijos kritinio įkrovimo lygio įspėjimas [%] PROGN VB DEV @@ -250,18 +112,12 @@ DEVSLOPE Apie Trūksta telefono būsenos leidimo - Atšaukti ištęstą bolusą Profilio keitimas - Sensorius - Insulinas - Pompos baterija - amžius: - lygis: - Aliarmų nustatymai + Aliarmų nustatymai Sukurti pranešimus iš NS aliarmų Sukurkite pranešimus iš NS perspėjimų - Seni duomenys, riba [min] - Kritiškai seni duomenys, riba [min] + Seni duomenys, riba [min] + Kritiškai seni duomenys, riba [min] Autosens intervalas [h] Valandų skaičius praeityje jautrumo nustatymui (angliavandenių įsisavinimo laikas neįtrauktas) AtviraDKS @@ -274,23 +130,13 @@ Angliavandenių įsisavinimo parametrai Maksimalus angliavandenių įsisavinimo laikas [h] Laikas, per kurį visi maisto angliavandeniai, tikėtina, bus įsisavinti - OAPS - Siunt Laikyti ekraną įjungtą Neleidžia Android sistemai išjungti ekrano. Naudojama daug energijos, jei telefonas neprijungtas prie maitinimo šaltinio. Įjungę Autosens funkciją nepamirškite įvedinėti visus valgomus angliavandenius. To nedarant, angliavandenių sukeliami gliukozės svyravimai bus klaidingai identifikuojami kaip jautrumo pasikeitimai! Jautrumas pagal svertinį vidurkį Ne visi profiliai įkelti! Reikšmės neišsaugotos! - Įgalinti lokalų duomenų perdavimą. - OpenAPS SMB - Įjungti NDM - Įjungti SMB - Naudoti Super Mikro Bolusus vietoj laikinos bazės greitesniam veikimui - Nedeklaruoto maisto (NDM) aptikimas KLAIDA - Procentais - Laiko perstūmimas Numatyti Laikini Tikslai \"Netrukus valgysiu\" trukmė \"Netrukus valgysiu\" tikslas @@ -298,33 +144,16 @@ \"Aktyvumas\" tikslas \"Hipo\" trukmė \"Hipo\" tikslas - Pakartotinai naudoti %1$d%% %2$dh Laikrodžio valdikliai Nustatyti Laikinus Tikslus ir įvesti terapinius įrašus iš laikrodžio. - Naudoti sistemos perspėjimus aliarmams ir įspėjimams Palaipsniui didinkite įspėjimų ir pranešimų garso lygį Lokalūs perspėjimai Perspėjimas apie negautus KG duomenis Perspėjimas apie nepasiekiamą pompą Perspėjimo apie nepasiekiamą pompą riba [min] Perspėti, jei būtini angliavandeniai - Kritiniai perspėjimai - INFO - Eversense programėlė (modifikuota) - Perduoti KG duomenis į NS - KG duomenų perdavimo nustatymai Rodyti gliukozės pokyčio detales Rodyti pokytį su reikšme po kablelio - Kaip dažnai SMB bus leidžiami, min. - SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per - NDM SMB maks. min. - NDM SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per - Minimali būtinų angliavandenių priminimo riba - Minimalus angliavandenių kiekis gramais, apie kurį reikia įspėti. Angliavandenių pasiūlymai, mažesni už šį kiekį, nėra pranešami. - Siųsti KG duomenis į xDrip+ - Xdrip+ pasirinkite 640g/Eversense duomenų šaltinį - NSClient KG - NS KG KG apskaičiavimas Bolusų AIO apskaičiavimas Bazės AIO apskaičiavimas @@ -334,41 +163,17 @@ Tik neigiamas AAO apskaičiavimas Laikino tikslo apskaičiavimas - Ciklas aktyvuotas - DKS pasirinkta - NSClient turi leidimą įrašyti - Uždaras ciklas aktyvus - Maksimalus AIO nustatytas tinkamai - KG šaltinis pasirinktas teisingai - Ištęstinio boluso suleidimo klaida - Leisti SMB visada - Leisti SMB visada, nepriklausomai nuo bolusų. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 - Leisti SMB po angliavandenių įvedimo - Leisti SMB iki 6 val po angliavandenių įvedimo, net jei AK yra 0. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5 - Leisti SMB su AAO - Įjungti SMB, kai yra AAO. - Įjungti SMB su laikinais tikslais - Įjungti SMB, kai laikinas tikslas aktyvuotas (Netrukus valgysiu, Aktyvumas) - Įjungti SMB su intensyviais laikinais tikslais - Įjungti SMB, kai yra aktyvus aukštas tikslas (aktyvumas, daugiau nei 100 mg/dl arba 5,5 mmol/l) - Insulinas Mygtukai Siunčia kalibravimą į xDrip+ arba atidaro modifikuotos Dexcom programos BYODA kalibravimo dialogą Atidaro xDrip+ ar BYODA, o mygtukas ATGAL gražina į AAPS Paspaudus mygtuką įvedamas nustatytas angliavandenių kiekis Paspaudus mygtuką įvedamas nustatytas insulino kiekis Nepavyko paleisti NGJ programos. Įsitikinkite, kad ji įdiegta. - NGJ Ignoruoti 5 min Ignoruoti 15 min Ignoruoti 30 min - Istorija Pranešti apie SMB Rodyti SMB laikrodyje kaip standartinį bolusą. - Kurti klaidų pranešimus - Sukurkite pranešimus apie būtinų angliavandenių įspėjimus - Sukurti Nightscout pranešimus apie klaidas ir vietinius įspėjimus (taip pat matomi Priežiūroje prie Terapijos) - Sukurkite NS pranešimus apie būtinų angliavandenių įspėjimus Rodyti prognozes laikrodyje. Prognozė Duomenų pasirinkimas @@ -376,8 +181,6 @@ Leisti automatinį pranešimų apie programos trikdžius ir funkcijų naudojimo duomenų siuntimą kūrėjams, naudojant fabric.io servisą. Atnaujinkite savo Dexcom programėlės versiją Dexcom app neįdiegta. - Boluso nesuleisti, tik įrašyti - Bolusai bus tik įrašyti (nebus suleisti iš pompos) SMB nustatyta iš pompos Aktyvumas KG įtaka @@ -386,29 +189,9 @@ Aktyvūs angliavandeniai Aktyvus insulinas organizme Bazė - Naudojama neužbaigta versija. Uždaras ciklas neaktyvus. Inžinerinis režimas įjungtas - Pompa negali nustatyti laikinos bazės - Uždaro ciklo būsena išjungta nustatymuose - Autosens funkcija išjungta nustatymuose - SMB išjungti nustatymuose - NDM nustatymas išjungtas nustatymuose - NDM neveikia, nes priklauso nuo Oref1 jautrumo įskiepio - maksimalus bazės daugiklis - maksimalus paros bazės daugiklis Bolusas buvo suleistas per paskutines 3 minutes, SMB praleidžiamas Bazė nustatyta teisingai - Ištęstinis bolusas ribojamas iki %1$.1f vv dėl %2$s - Ribojami angliavandeniai iki %1$d g dėl %2$s - Ribojamas AIO iki %1$.1f V dėl %2$s - Maksimali reikšmė nustatymuose - Nekeičiama riba - Įrašas apie infuzijos rinkinio keitimą - Įrašas apie rezervuaro keitimą - Funkcijos \"SMB visada\" ir \"SMB po angliavandenių\" išjungtos, nes kraujo gliukozės duomenų šaltinis neturi reikalingo filtravimo - SMB neleidžiami atviro ciklo režime - Maksimalus bendras AIO, kurio negali viršyti OpenAPS [U] - Ši vertė yra vadinama Maks AIO OpenAPS kontekste\nOpenAPS nepridės daugiau insulino, jei dabartinis AIO yra didesnis už šią vertę Maksimalus maisto įsisavinimo laikas [h] Laikas, per kurį bet koks maistas laikomas įsisavintu. Likę angliavandeniai bus atmesti. Rodyti pastabų laukelį terapijos dialoguose @@ -423,28 +206,16 @@ Antras angliavandenių kiekio žingsnis Trečias angliavandenių kiekio žingsnis NGJ - WiFi pavadinimas - Ryšio nustatymai - Leidžiami tinklai (atskirti kabliataškiais) - Leisti sujungimą tarptinkliniu ryšiu Maksimali Autosens reikšmė Minimali Autosens reikšmė - Boluso snaudimo daliklis - Maksimalus dienos bazės saugos daugiklis - Dabartinės bazės saugos daugiklis - Virtualios pompos tipas - Pompos nustatymas - Bolusas: Žingsnis=%1$s\nIštęstinis bolusas: [Žingsnis=%2$s, Trukmė=%3$smin-%4$sh]\nBazė: Žingsnis=%5$s\nLDB: %6$s (iš %7$s), Trukmė=%8$smin -%9$sh\n%10$s Skaičiavimai, įtraukti į Patarėjo rezultatą: Ekrano nustatymai Bendrieji nustatymai - Įjungti NSClient Sveiki atvykę į sąrankos vedlį. Jis lydės jus per visą nustatymų procesą\n Statuso nuskaitymas Praleisti sąrankos vedlį Jautrumo įskiepis yra naudojamas jautrumo aptikimui ir AAO skaičiavimams. Daugiau informacijos: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient palaiko ryšį su Nightscout. Jūs galite praleisti šią dalį dabar, bet negalėsite baigti mokymosi programos, kol nenustatysite ryšio su NS. Atminkite: DKS profiliams reikia IVT bent 5 val. IVT = 5 - 6 val DKS profilyje atitinka IVT = 3 val sename (pompos terapijos) insulino profilyje. Pasirinkite vieną iš esamų algoritmų. Jie yra išdėstyti nuo seniausio iki naujausio. Naujesni algoritmai yra galingesni ir agresyvesni. Taigi jei esate naujas vartotojas, geriau pradėti nuo AMA, o ne naujesnio. Nepamirškite perskaityti dokumentaciją ir sukonfigūruoti jį prieš naudojant. Sukonfigūruokite RileyLink žemiau. Pasirinkę RileyLink, galėsite tęsti diegimą, kai tik RileyLink būsena bus „Prisijungta“. Tai gali užtrukti minutę.\n @@ -454,19 +225,6 @@ Atidaryti meniu Uždaryti meniu Įskiepių nustatymai - Poctech - Gauti KG vertes iš Poctech programėlės - Glunovo - Gauti KG reikšmes iš Glunovo programos - Gauti KG vertes iš Tomato programėlės (MiaoMiao) - Intensyvus laikinas tikslas didina jautrumą - = 100]]> - Pasyvus laikinas tikslas mažina jautrumą - - Rezistencija mažina tikslą - Kai nustatoma rezistencija, tikslinė gliukozės vertė sumažinama - Jautrumas didina tikslą - Kai aptinkamas padidėjęs jautrumas insulinui, tikslinis gliukozės lygis padidinamas Rasti išsaugoti nustatymai Terapijos duomenys nepilni Serviso nustatymai @@ -479,61 +237,20 @@ Ištrinti įrašus Įrašas (insulinas: %1$.2f, angl.: %2$d, ties: %3$s) negali būti pridėtas. Prašome patikrinti ir rankiniu būdu atitinkamai įtraukti įrašą. iAV.: %1$d g (%2$d h), atidėjimas: %3$d m - Nėra autosens duomenų Įrašų nustatymai Atkurti numatytuosius - NSClient sutrikimas. Reikėtų paleisti iš naujo NS ir NSClient. Pageidaujamas DKS režimas Siųsti šios dienos žurnalo įrašus kūrėjams dabar. Netikėta situacija. Minimalaus pokyčio užklausa [%] Atviras Ciklas parodys naujų pakeitimų užklausą tik tada, kai pokytis bus didesnis nei ši vertė %. Numatytoji vertė yra 20% == ∑ %1$s vv - Registruoti sensoriaus keitimą NS - Tomato (MiaoMiao) - Tomato - Jūsų Tidepool vartotojo vardas, įprastai jūsų el. pašto adresas - Vartotojo vardas - Jūsų Tidepool prisijungimo slaptažodis - Prisijungimo slaptažodis - Patikrinti Tidepool prisijungimą - Jei įjungta, duomenys bus perduoti https://int-app.tidepool.org, vietoje https://app.tidepool.org/ - Naudoti integracijos (test) serverius - Tidepool - TDP - Perduoda duomenis į Tidepool - Perduoti NGJ duomenis - Įkelti terapijas (insulinas, angliavandeniai) - Perkelti laikiną bazę - Perduoti profilio pokyčius, laikinas bazes - Perduoti KG testus - 2 val - BYODA - BYODA - Gauti kraujo gliukozės reikšmes iš \'Build Your Own Dexcom App\'. - AAO prieš AIO - Pritaikytas boluso apribojimas: %1$.2f vv iki %2$.2f vv - !!!!! Nustatytas lėtas angliavandenių įsisavinimas: %2$d%% laiko. Dar karą patikrinkite savo skaičiavimus. AAO gali būti pervertinti, todėl gali būti suleista per daug insulino!!!!!]]> - Suleisti šią boluso skaičiuoklės rezultato dalį [%] Boluso skaičiuoklė atlieka skaičiavimus, tačiau tik dalis apskaičiuoto insulino yra suleidžiama. Naudinga kartu su SMB algoritmu. - Didinama maksimali valandinės bazės reikšmė, nes nustatytoji reikšmė yra mažesnė nei profilio maksimali val. bazės reikšmė - Parinkta: Vienetai - Išvalyti užbaigtus - Išvalyti pradėtus - Ar norite iš naujo nustatyti tikslų pradžią? Jūs galite prarasti jau pasiektus. Pasirinkite vienetus, kurių vertes norite parodyti Mažiausia tikslinės srities vertė (tik rodymui) Didžiausia tikslinės srities vertė (tik rodymui) - Netinkamas % įrašas - Atsitiktinė KG - Generuoti atsitiktinių KG duomenis (demonstracinis režimas) - KG - Įrankiai - Rodyti skaičiavimą Parodyti pašalintus Išvalyti eilę? Visi eilės duomenys bus prarasti! - Ištęsto boluso funkcija sustabdys uždaro ciklo režimą ištęsto boluso veikimo metu. Ar tikrai norite patvirtinti savo pasirinkimą? - Uždara ciklas išjungtas dėl ištęsto boluso veikimo Grafiko meniu SMB užklausos laikas SMB įvykdymo laikas @@ -545,34 +262,13 @@ Insulinas absoliučiais vienetais Pagrindinis slaptažodis naudojamas atsarginiam šifravimui ir programos saugumo ignoravimui. Atsiminkite jį arba laikykite užsirašę saugioje vietoje. Dabartinis pagrindinis slaptažodis - Būklės indikatoriai - Kopijuoti nustatymus iš NS - Kopijuoti NS nustatymus (jei yra)? - Originali išvaizda - Žemos rezoliucijos išvaizda - Mygtukai visada rodomi ekrano apačioje - Didelis ekranas - Išvaizda - Palyginti profilius - Profilio pagalbininkas - Numatytasis profilis - Dabartinis profilis - Galimas profilis - Profilio tipas - Amžius: %1$.0f BPD: %2$.0f U - Amžius: %1$.0f BPD: %2$.0f U %3$d%% - Amžius: %1$.0f Svoris: %2$.0f kg - % bazės - Numatytasis profilis RileyLink statusas: Nepavyksta sukurti profilio. Profilis neteisingas. Don\'t kill my app? - Pranešti apie laiką valgyti Laikas valgyti!\nĮjunkite Boluso patarėją ir atlikite skaičiavimą dar kartą. Įgalinti priminimą apie bolusą Sutrikimų žurnalo įrašų įkėlimas išjungtas! Grafikas - Grafiko meniu Valyti filtrą Kaniulė Naudokite gausiausio patiekalo, kurį paprastai valgote, reikšmes\n @@ -580,35 +276,10 @@ El. pašto adresas Privatumo nuostatos Nurodykite el. pašto adresą (neprivaloma), jei norite gauti informaciją apie programos strigimus. Tai nėra automatizuota paslauga. Kūrėjai susisieks esant pavojingoms situacijoms. - Pilna sinchronizacija - Vykdyti pilną sinchronizaciją? Tai gali užtrukti nemažai valandų ir kol ji nebus užbaigta, nematysite atnaujintų NS duomenų. - Sinchronizacija - Profiliai, bolusai, angliavandeniai, laikinos bazės įkeltos į NS - Įkelti duomenis į NS - Priimti profilių saugyklą - Sinchronizuoti profilius iš NS - Gauti laikinus tikslus - Priimti laikinus tikslus, įvestus per NS arba NSClient - Gauti profilio keitimus - Priimti profilio keitimus, įvestus per NS arba NSClient - Gauti APS įvykius neprisijungus - Priimti APS įvykius neprisijungus, įvestus per NS arba NSClient - Gauti insulino duomenis - Priimti insulino duomenis, įvestus per NS arba NSClient (jis nėra suleidžiamas, tik įskaičiuojamas į AIO) - Gauti angliavandenių duomenis - Priimti angliavandenių duomenis, įvestus per NS arba NSClient - Gauti terapijos įvykius - Priimti terapijos įvykius (kaniulės, insulino, baterijos keitimą ir pan.), įvestus per NS arba NSClient - Gauti/užpildyti atgaline data NGJ duomenis - Priimti NGJ duomenis iš NS - Vykdyti %s? - Sulėtinti įkėlimus KG duomenų būklė Identifikacija (el. paštas, FB, Discord slapyvardis ar kt.) Kūrėjo režime tapatybė nenustatyta Negalimas Rūšiuoti - Prisijungti - diff --git a/app/src/main/res/values-nl-rNL/exam.xml b/app/src/main/res/values-nl-rNL/exam.xml index b9bf4664ab..3ea04e700d 100644 --- a/app/src/main/res/values-nl-rNL/exam.xml +++ b/app/src/main/res/values-nl-rNL/exam.xml @@ -1,228 +1,2 @@ - - Wat is waar over DIA? - Duur van insuline activiteit (DIA) - Je moet de waarde voor DIA in je profiel instellen. - De minimumwaarde is 5 uur. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline - Als je er zeker van bent dat de waarde voor DIA die je in je pomp hebt gebruikt voor je AndroidAPS gebruikte, goed werkte, dan is het niet nodig om deze te wijzigen als je begint met loopen. - Je moet voor jezelf de juiste waarde voor DIA bepalen. - Hypo Tijdelijk streefdoel - Wat is de belangrijkste reden om een tijdelijk hypo streefdoel in te stellen? - Om te corrigeren voor hypo\'s veroorzaakt door onjuiste basaalstanden. - Om te voorkomen dat AndroidAPS overcorrigeert voor een bloedglucosestijging veroorzaakt door de snel werkende koolhydraten die gebruikt worden voor een hypo. - Om te corrigeren voor een hypo veroorzaakt door inspanning. - Om te voorkomen dat de bloedglucose te laag wordt als er al een tijdelijke basaalstand van 0% actief is. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html - Welk profiel kan offline worden gebruikt én worden aangepast? - Thema: offline profiel - NS-Profiel kan worden gebruikt, maar niet worden aangepast. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#profiel - Redenen voor het toepassen van \"Verbreek verbinding met pomp\" in AndroidAPS - Wat moet er gebeuren wanneer pomp wordt losgekoppeld? - Dit is onnodig omdat er geen isuline toegediend zal worden als de pomp fysiek losgekoppeld is. - Het zorgt ervoor dat AndroidAPS geen insuline meerekent die niet werd toegediend terwijl de pomp niet was aangesloten  - Het zal de insulineafgifte niet stoppen als de pomp verbonden blijft. - Dit zet AndroidAPS in open-loopmodus. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#overige-instellingen - AAPS-instellingen - AAPS-instellingen - Welke dingen kun je het beste doen om een back-up van je instellingen te maken? - Je hoeft je instellingen niet te exporteren, zolang je ze ergens noteert. - Exporteer je instellingen nadat je een doel hebt bereikt. - Exporteer je instellingen na het wijzigen van instellingen. - Exporteer je instellingen nadat je de initiële instellingen hebt voltooid en je voorkeuren hebt ingesteld. - Exporteer je instellingen lokaal via het Onderhoud-menu. - Je instellingenbestand is op je telefoon te vinden in de map Internal Storage/AAPS/preferences. - Kopieer je instellingenbestand naar een veilige locatie buiten je telefoon (bijvoorbeeld met behulp van een cloudopslagdienst, door je telefoon met een kabel met de computer te verbinden, per e-mail, etc.) - Als je telefoon beschadigd of verloren raakt, zijn er eenvoudige manieren om zonder back-up op afstand je instellingen te herstellen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#welke-spullen-moet-ik bij-me-hebben-voor-noodgevallen - Ruis in CGM-metingen - Wat moet er gebeuren als CGM-gegevens ruis vertonen? - Niets, AAPS lost het op. - Schakel de closed loop uit om te voorkomen dat de closed loop over- of onderdoseert. - Vervang sensoren die consequent ruis geven of inaccuraat zijn. - Zorg dat je CGM-app de BG-gegevens vloeiend maakt. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#filteren-van-bloed-glucose-waardes - Beweging en profielen - Hoe kun je profielen gebruiken om het systeem het beste te helpen omgaan met conditietraining? - Doe een profielwissel naar minder dan 100%. - Pas het profiel percentage aan naar een waarde boven de 100%. - Laat het profiel op 100% staan. - Onderbreek de loop. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html#activiteit-tijdelijk-streefdoel - Inspanning en tijdelijke doelen - Hoe kun je tijdelijke doelen gebruiken om het systeem het beste te helpen omgaan met conditietraining? - Stel een Activiteit tijdelijk streefdoel in dat start vóór de inspanning. - Stel een Activiteit tijdelijk streefdoel in dat start na de inspanning. - Je streefdoel ongewijzigd laten. - Wachten totdat de bloedclose tot onder het Hypo tijdelijk streefdoel daalt en dan 15 g snelwerkende koolhydraten eten. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html#activiteit-tijdelijk-streefdoel - Uitgeschakelde/onderbroken loop - Ontvang ik insuline wanneer de Loop is uitgeschakeld/onderbroken? - Ja, de basale insuline wordt nog steeds geleverd. - Nee, de levering van insuline is gestopt. - Testen van Basaal, ISF en I:C - Wanneer moeten deze waarden gevalideerd worden? - Voordat je begint met loopen. - Wanneer je vaak hoge of lage bloedglucoses hebt. - Minstens één keer per week. - Eenmaal ingesteld en gevalideerd, hoeven deze waarden niet veranderd te worden in de loop der tijd. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#androidaps-instellingen - Vereisten - Wat is minimaal nodig om AAPS in te stellen en te gebruiken? - Goed geteste profielgegevens (Basaal, KH-ratio, ISF, DIA). - Een computer waarop Android Studio is geïnstalleerd en geconfigureerd. - Een geschikte telefoon. - Een ondersteunde insulinepomp als je van plan bent een closed loop te gebruiken. - Nightscout, om een logboek van alle gegevens bij te houden en instellingen te bekijken. - Een Tidepool account. - Een Google account. - Een Github account. - Ervaar met programmeren of code aanpassen. - Een MiniMed 670G pomp. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html - Een Smartwatch. - Een geschikte CGM. - Vereisten - Wat is minimaal nodig om AAPS in te stellen en te gebruiken? - Gevalideerde informatie om een profiel op te zetten (ISF, I:C ratio, basaalstanden, DIA etc.). - Een ondersteund Android apparaat (bijvoorbeeld een mobiele telefoon, volledig Android-horloge of een tablet). - AndroidAPS heeft een internetverbinding nodig om in closed-loopmodus te kunnen werken. - Een ondersteunde CGM en geschikte app om bloedglucosewaarden te ontvangen op je telefoon/apparaat. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html - AAPS bijwerken - Selecteer alle juiste antwoorden. - Je moet Git geïnstalleerd en geconfigureerd hebben op je computer. - Wanneer nieuwe versies van AndroidAPS zijn uitgebracht, kunnen eerdere versies na een bepaalde tijd van afstand beperkt worden. - Je moet de locatie van de keystore onthouden en dezelfde signing key gebruiken voor updates als bij je vorige installatie. - Doe nooit een update als het systeem goed werkt. - Als je moeite hebt met het bouwen van de apk, kun je een apk installeren die is gebouwd door een vriend. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#bijwerken-naar-een-nieuwe-versie - Probleemoplossing - Waar kan je hulp zoeken voor AndroidAPS? - Je kunt om advies vragen in de AndroidAPS Users Facebookgroep. - Je moet de AndroidAPS documentatie lezen (en opnieuw lezen). - Je kunt om advies vragen en technische problemen inbrengen op het AndroidAP- kanaal op Discord. - Je moet hulp vragen aan je behandelteam. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#problemen-oplossen - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Insuline-plugins - Welke insuline gebruik je met de Ultra-Rapid Oref plugin? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"regular\" menselijke insuline. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline - Gevoeligheidsplugins - Selecteer alle juiste antwoorden. - Gevoeligheidsplugins stellen AndroidAPS in staat om aan te passen aan tijdelijke of kortstondige veranderingen in insulinegevoeligheid (bijvoorbeeld hormonale veranderingen of problemen met insuline-opname bij de infuusplaats). - Gevoeligheidsplugins bieden de gebruiker suggesties voor wijzigingen aan basaaalstanden, I:C ratio\'s en ISF die kunnen worden gebruikt om het profiel mee aan te passen. - Het vastleggen van een canulewissel zet de Autosens-ratio terug naar 100%. - Sommige van de plugins hebben configureerbare tijdbereiken die kunnen worden ingesteld door de gebruiker. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/nl/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Koolhydraatinvoerfouten - Wat moet u doen als u een onjuiste hoeveelheid koolhydraten hebt ingevoerd? - Verwijder het onjuiste record in Behandelingen en voer de juiste koolhydraten opnieuw in. - Bolus met insuline met behulp van het infusieset uitvulmenu. - Doe niets – AndroidAPS zal de juiste aanpassingen maken. - Bolus met insuline met behulp van de insuline (bolus) knop in het Overzicht. - Insulinetoediening/-invoerfouten - Wat moet je doen wanneer je minder insuline toegediend hebt gekregen dan de geschiedenis van de pomp suggereert, bijvoorbeeld vanwege een verstopping, een lekkende canule of door het vergeten de pomp opnieuw aan te koppelen na een douche?  - Verwijder de insulinegegevens uit het Nightscout Careportal om deze uit de pompgeschiedenis te verwijderen. - Vergelijk de waarden in AndroidAPS en pompgeschiedenis (als de pomp dit ondersteunt). - Bolus een deel van je berekende \'gemiste\' insuline door een injectiespuit/pen of door de uitvulfunctie te gebruiken. - Doe niets en laat AndroidAPS de ontstane hoge bloedglucosespiegel corrigeren. - Koolhydraten aan boord (COB) - Welke invloed heeft het wijzigen van de ISF waarde op COB berekeningen? - Verhoging van ISF zal de absorptie van koolhydraten vertragen - Verhoging van ISF zal de absorptie van koolhydraten versnellen - Verhoging van ISF heeft geen invloed op berekende koolhydraten absorptie - Welke invloed heeft het wijzigen van de IC waarde op COB berekeningen? - Verhoging van IC zal de absorptie van koolhydraten vertragen - Verhoging van IC zal de absorptie van koolhydraten versnellen - Verhoging van IC heeft geen invloed op berekende koolhydraten absorptie - Welke invloed heeft het wijzigen van het profiel percentage op COB berekeningen? - Instellen van een profiel op 150% zal de absorptie van koolhydraten vertragen - Instellen van een profiel op 150% zal de absorptie van koolhydraten versnellen - Instellen van profiel op 150% heeft geen invloed op berekende koolhydraten absorptie - Insuline aan boord (IOB) - De IOB-waarde wordt beïnvloed door eerdere tijdelijke basaalstanden. - Een hoge tijdelijke basaal zal niet worden ingesteld wanneer je bloedsuiker onder het streefdoel ligt. - Negatieve IOB voor een aanzienlijke periode vrij van inspanning, suggereert dat je profiel te hoog is ingesteld, dus dat er minder insuline nodig is. - Positieve IOB voor een aanzienlijke periode suggereert insulineresistentie of onaangekondigde maaltijden. - Koolhydraatinvoer en bolussen - Alleen grammen moeten worden gebruikt voor het schatten en opgeven van koolhydraten. - Koolhydraten kunnen worden geregistreerd met behulp van een geschikt uitwisselingssysteem (bv. DAFNE \"CHO\" of Europese \"Bread Units\"). - AndroidAPS gebruikt een dynamisch model om koolhydraat \"verval\" te schatten en COB te berekenen. - Als de bloedglucosespiegels buiten aanvaardbare waarden liggen (te laag of te hoog), kan de boluscalculator worden gebruikt om suggesties te doen voor koolhydraat-of insuline-correcties. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - Waarvoor kun je e-carbs (uigestelde koolhydraten) gebruiken? - Om koolhydraten in de toekomst te plannen, mogelijk verdeeld over een interval (vergelijkbaar met een verlengde bolus die insuline over een interval verspreidt). - Voor het loggen van vrij ingenomen koolhydraten tbv. inspanning die je wilt verbergen voor AndroidAPS. - e-carbs (verdeeld in de toekomst) kunnen AndroidAPS helpen bij het omgaan met maaltijden met een hoog vet-/eiwitgehalte. - Voor het vastleggen van reddingskoolhydraten die je gebruikt voor de behandeling van een lage bloedglucose.  - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Extended-Carbs.html - Bewaking op afstand - Hoe kun je AndroidAPS (bijvoorbeeld voor je kind) op afstand monitoren? - AAPSClient app, Nightscout app en de Nightscout webpagina kunnen AAPS op afstand volgen. - Met andere apps (bijv. Dexcom follow, xDrip in follow mode) kun je enkele gegevens (bijv. bloedglucose/sensorwaarden) op afstand volgen, maar deze gebruiken andere algoritmen en kunnen daardoor onjuiste IOB-of COB-waarden tonen. - Om AndroidAPS op afstand te kunnen volgen, is voor beide apparaten internettoegang noodzakelijk (bijvoorbeeld via Wi-Fi of mobiel netwerk). - AAPSClient gebruikt als een externe volger zal AAPS monitoren en geeft volledige controle. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Children/Children.html - Insulinegevoeligheidsfactor (ISF) - Het verhogen van de ISF-waarde zal leiden tot meer insulinetoediening om een dezelfde hoeveelheid koolhydraten te dekken. - Het verlagen van de ISF-waarde leidt tot meer insulinetoediening om een verhoogde bloedglucose te corrigeren. - Verhoging of verlaging van de ISF heeft geen effect op de insulinetoediening wanneer de bloedglucosespiegel lager is dan de streefwaarde. - ISF moet worden ingevoerd in je AndroidAPS-voorkeuren. - Het wijzigen van de ISF-waarde in uw profiel is voldoende om de wijziging toe te passen. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#insuline-gevoeligheids-factor-insulin-sensitivity-factor-ISF-mmol-l-E-of-mg-dl-E - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html - Je kunt meer dan één waarde voor KH-ratio in je profiel gebruiken. - Als je je ISF verandert in je profiel, moet je ook altijd de KH-ratio veranderen. - Koolhydraatratio (KH-ratio) - Hogere KH-ratio\'s leiden tot minder insulinetoediening voor dezelfde hoeveelheid koolhydraten. - Lagere KH-ratio\'s leiden tot minder insulinetoediening voor dezelfde hoeveelheid koolhydraten. - Als je 0 COB hebt zal het veranderen van KH-ratio leiden tot een andere hoeveelheid insuline om jouw BG te corrigeren. - De KH-ratio is anders als je een brood-eenheid telt als 10g of als 12g koolhydraten. - KH-ratio betekent: hoeveel brood-eenheden gebruik je voor 1E insuline. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#Koolhydraat-ratio-KH-g-E - Profielwissels - Welke antwoorden zijn correct bij het opgeven van een 90% profielwissel? - De basaalstanden worden 10% lager. - ISF-waarde wordt 10% hoger. - De waarde van de KH-ratio wordt 10% lager. - De ISF en KH-ratio blijven ongewijzigd. - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html?highlight=profilewitch#profiel-wissel - Profielwissels - Welke antwoorden zijn correct bij het opgeven van een 120% profielwissel? - De streefwaarde wordt 20% hoger. - De basaalstanden worden 20% hoger. - Het BG streefdoel blijft ongewijzigd. - De ISF-waarde wordt 20% hoger. - Profielwissels - Als je 2 uur eerder opstaat dan normaal, hoe moet je AndroidAPS dan laten weten dat jouw dagschema is veranderd? - Voer een profiel wissel uit met een tijdverschuiving van 2 - Voer een profiel wissel uit met een tijdverschuiving van -2 - Stel een Eet binnenkort Tijdelijk streefdoel in. - Doe een profielwissel naar meer dan 100%.  - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html?highlight=profilewitch#tijd-verschuiving - Aanpassen van profielen - Basaalstanden, ISF, KH-ratio\'s, etc, moeten in profielen worden ingesteld. - Om veranderingen in je Nightscout Profiel te activeren, heeft je AAPS telefoon een actieve internetverbinding nodig. - Een profiel bewerken is voldoende om eventuele wijzigingen door te voeren. - Er kunnen meerdere profielen worden ingesteld en geselecteerd om tegemoet te komen aan veranderende omstandigheden (bijvoorbeeld hormonale veranderingen, shift werk-, weekdagen/weekendlevensstijl). - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html#goed-individueel-doserings-algoritme-voor-jouw-diabetesbehandeling - Hulp met basaalstanden - Waar je terecht kunt voor hulp met basaal waarden etc. - Jouw behandelaars - Google - Facebook - Andere medicijnen. Lees de verklaring hieronder en vink het vakje aan om de verklaring te accepteren. - AndroidAPS vermindert de basaalstanden of stopt de insulinetoediening om de bloedsuiker te verhogen. Medicijnen in de klasse SGLT2-remmers (gliflozines) kunnen een stijging van bloedglucose voorkomen en kunnen daardoor een gevaarlijk insulinetekort veroorzaken dat leidt tot diabetische ketoacidose. -\nBekende merknamen zijn: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nIk verklaar dat ik dergelijke medicijnen niet zal gebruiken wanneer ik AndroidAPS gebruik, of dat ik de loop zal deactiveren voordat ik met deze medicijnen start. - + diff --git a/app/src/main/res/values-nl-rNL/objectives.xml b/app/src/main/res/values-nl-rNL/objectives.xml index a54f6c68c6..3ea04e700d 100644 --- a/app/src/main/res/values-nl-rNL/objectives.xml +++ b/app/src/main/res/values-nl-rNL/objectives.xml @@ -1,55 +1,2 @@ - - Start - Verifieer - %1$d. Doel - Doel %1$d niet gestart - Doel %1$d niet gereed - Opzetten van visualisatie en monitoring en analyseren van basalen en ratio\'s - Verifieer dat BG beschikbaar is in Nightscout, en dat de insuline gegevens van de pomp worden geüpload - Starten met de Open Loop modus - Draai enkele dagen In Open Loop modus en voer meermaals handmatig tijdelijke basalen uit. Stel standaard en aangepaste tijdelijke streefdoelen in (bv. bij sporten of koolhydraten inname bij hypo) - De Open Loop begrijpen, inclusief de voorgestelde tijdelijke basalen - Gebaseerd op deze ervaringen, beslis wat het maximale basaal mag zijn en stel dit in op de pomp - Starten met de Closed Loop met bescherming tegen lage Bg - In closed loop draaien met een max. IOB = 0 gedurende enkele dagen met een beperkt aantal lage BG - Inregelen van de closed loop, verhoog de max IOB boven 0 en laat geleidelijk het streef BG dalen - Test enkele dagen als ook minstens 1 nacht zonder een laag BG alarm voordat je jouw streef BG verlaagt - Pas het basaal en de ratios aan indien nodig, activeer hierna de auto-sens optie - Gedurende 1 week succesvol overdag loopen met regelmatige invoer van koolhydraten - Activeren van extra functies overdag zoals SMB (super micro bolus) - Automatisering inschakelen - Lees de wiki en verhoog maxIOB om SMB goed werkend te krijgen. Een goed begin is maxIOB=gemiddelde maaltijdbolus + 3 x max dagelijkse basaal - Zorg ervoor dat je goed begrijpt hoe automatisering werkt voordat je jouw eerste eenvoudige regel aanmaakt. In plaats van de regel een actie te laten uitvoeren, laat hem alleen een notificatie tonen. Pas als je zeker weet dat de automatisering op het juiste moment wordt geactiveerd, vervang je de melding door een echte actie. (https://androidaps.readthedocs.io/en/latest/NL/Usage/Automation.html) - BG beschikbaar in NS - Pomp status beschikbaar in NS - Handmatige aanpassingen - Voltooid: %1$s - Leer hoe AndroidAPS te gebruiken - Voer verschillende acties uit in AndroidAPS - Stel profiel in op 90% voor 10 min (houd profielnaam lang ingedrukt op Overzicht scherm) - Simuleer douchen. Ontkoppel de pomp voor 1u (houd Open Loop lang ingedrukt) - ... en op dezelfde manier weer aankoppelen - Stel een aangepast tijdelijk doel in met een duur van 10 min (houd huidige doel lang ingedrukt) - Schakel in Configurator de Acties plugin in zodat deze zichtbaar wordt en de inhoud ervan via de menubar bovenaan kan worden ingezien - Inhoud van loop plugin weergeven - Gebruik de schaalfunctie: houd de BG grafiek lang ingedrukt - Enter - Als je ten minste 3 maanden closed loop ervaring hebt met een ander doe-het-zelf systeem dan kun je wellicht een code aanvragen om doelen over te slaan. Zie https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Objectives.html#doelen-overslaan voor details. - Code geaccepteerd - Code ongeldig - Bewijs je kennis - Beantwoord de vragen.  Bij elke vraag worden vier antwoordmogelijkheden gegeven. Het kan zijn dat er meer dan één antwoord moet worden aangevinkt. Vink alle antwoorden aan die jij denkt dat juist zijn en kies VERIFIEER. - Beantwoorden uitgeschakeld tot: %1$s - Verkeerd antwoord! - Volgende onvoltooide - Aanvraagcode: %1$s - (controleer alle juiste antwoorden) - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#wat-te-doen-tijdens-het-douchen - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#overzicht-scherm - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#configurator - https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#overzicht-scherm - Niet verbonden met het internet - Ophalen tijd mislukt - Vereisten van doel niet behaald - + diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index da35ce7472..30a6865178 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -3,55 +3,25 @@ - Behandelingen veiligheid - Max toegestane bolus [E] - Max toegestane koolhydraten [g] - BG niveau waarbij lage glucose onderbreking wordt geactiveerd %1$s Instellingen Instellingen Haal behandelingen op van NS Reset database Wil je echt de database wissen? Afsluiten - Een aantal knoppen voor snelle toegang tot algemene functies Gebruikt om actieve plugins te configureren - Leerprogramma Activeer of deactiveer de implementatie die de Loop triggert. - Synchroniseert je data met Nightscout - Het algoritme uit 2017 - Meest recente algoritme voor gevorderde gebruikers - Meest recente algoritme voor gevorderde gebruikers met dynamische/automatische ISF Toont de huidige Loop-status en knoppen voor meest gebruikte acties Toont een permanente melding met een beknopt overzicht van hetgeen de Loop momenteel doet - Pomp integratie voor pompen, waar nog geen driver voor is (Open Loop) Gevoeligheid wordt berekend op dezelfde manier als Oref0, maar je kunt zelf instellen hoeveel uren AAPS terugkijkt. Minimale koolhydraat absorptie is berekend op basis van max koolhydraat absorptie tijd zoals in jouw instellingen. Gevoeligheid wordt berekend met gegevens van de afgelopen 8 of 24 uur (de meest gevoelige van die twee) en koolhydraten (indien niet geabsorbeerd) worden hiervan afgehaald, na de duur die is opgegeven in de instellingen. Berekent ook UAM. Gevoeligheid wordt berekend als een gewogen gemiddelde van afwijkingen. Nieuwere afwijkingen wegen hierbij zwaarder. Minimale koolhydraat absorptie is berekend op basis van de max koolhydraat absorptie tijd uit jouw instellingen. Dit algoritme is de snelste in het volgen van wijzigingen van de gevoeligheid. - Ontvang BG waardes van de aangepaste Eversense app. - Ontvang BG waardes van Glimp. - Ontvang BG waardes van 600SeriesAndroidUploader. - Download BG waardes van Nightscout - Ontvang BG waardes van xDrip+. Sla alle behandelingen op Monitor en bedien AAPS met uw WearOS horloge. - Nu uitvoeren - VIRTUELE POMP - Laatste berekening - Invoerparameters - Glucose status - Actueel - IOB gegevens - Profiel - Maaltijd gegevens - Resultaat - Resultaat: %1$s %2$s - Geen BG gegevens beschikbaar - Voorstel Verschil Configurator Overzicht Behandelingen - Virtuele Pomp Pomp Welke pomp wilt u gebruiken met AAPS? Profiel @@ -60,35 +30,23 @@ Welk APS algoritme moet therapie aanpassingen maken? Algemeen Dit zijn enkele algemene plugins die handig kunnen zijn. + Synchronisatie + Data upload en synchronisatie plugins. Welke beperkingen worden toegepast? - Beperkingen Loop Gebruik dit om AAPS loop integratie te activeren. APS Berekening met toepassing van limieten Tijdelijk basaal gezet door pomp GEEN APS GESELECTEERD OF TOEGEKEND RESULTAAT - Veiligheid - Plugin is gedeactiveerd In strijd met beperkingen - Accepteer nieuw tijdelijk basaal: Wijzig het ingegevene! BG bron Waar moet de AAPS zijn gegevens vandaan halen? - xDrip+ - APS Mode - Closed loop - Open loop - Stop bij laag Nieuw voorstel beschikbaar Koolhydraten Voorstel - Niet ondersteunde versie van Nightscout - KH tijdsduur Profiel - Tijdelijk basaal - Vertraagde bolus Nightscout versie: - Er ontbreekt %1$d g Instellingen geëxporteerd Gebruikers invoer geëxporteerd Exporteer instellingen naar @@ -97,12 +55,7 @@ Bestand niet gevonden Exporteer instellingen Importeer instellingen - Maximaal instelbaar basaal E/uur - Dit is de maximale waarde waarop het basaal door OpenAPS ingesteld kan worden - Maximale basaal IOB, dat OpenAPS kan toedienen [E] - Deze waarde wordt de Max IOB genoemd in OpenAPS context\nDit is de maximale insuline hoeveelheid in [E] dat APS in één keer kan toedienen. Je wordt gevraagd om een masterwachtwoord. Daarmee worden geëxporteerde instellingen versleuteld. - Je wordt gevraagd om een masterwachtwoord. Daarmee worden geïmporteerde instellingen ontsleuteld. Exporteren geannuleerd! Instellingen zijn NIET geëxporteerd! Importeren geannuleerd! Instellingen zijn NIET geïmporteerd! Kan voorkeuren niet importeren! @@ -122,7 +75,6 @@ Begrepen en goedgekeurd Opslaan Herlaad profiel - Vaste maaltijd Vaste maaltijd instellingen Naam: Koolhydraten: @@ -130,16 +82,9 @@ Voeg toe Wijzig Correctie - Acties (GEVAARLIJK OM UIT TE SCHAKELEN) alleen NS upload Alleen NS-upload. Heeft geen effect op de SGV, behalve als een lokale bron als xDrip geselecteerd is. Heeft geen effect op profielen wanneer NS-Profielen gebruikt worden.\n!!! WAARSCHUWING !!! Het uitschakelen van deze optie kan fouten veroorzaken en mogelijk resulteren in een overdosis insuline als een van de onderdelen (AAPS, NS, xDrip) onjuist is geconfigureerd. Let goed op of de gegevens van AAPS overeenkomen met de pompstatus! Pomp niet geïnitialiseerd! - Ontlucht/vul - Verzeker u dat de vulhoeveelheid overeenkomt met de infusieset! - Vul/Prime standaard insuline hoeveelheden - Knop 1 - Knop 2 - Knop 3 Eenheden Bereik voor visualisatie Hoge en lage grens voor grafieken op het Overzicht en op Wear @@ -148,108 +93,22 @@ Wear Update Wear gegevens Open instellingen op Wear - Basaalstand - MM640g Permanent bericht Oude gegevens - OpenAPS AMA - Array van %1$d elementen. \nActuele waarde: - Autosens gegevens - Script debug - Gebruik Autosens functie - ACT CONF LOOP - OAPS - DYNISF OVZ - VPUMP BEHAND - DOEL WEAR Afgekorte tab titels - Gebruik altijd korte gemiddeld verschil ipv gewone verschil - Nuttig wanneer gegevens van niet gefilterde bronnen zoals xDrip+ veel ruis heeft. - Standaard waarde: 3.0 Dit is een belangrijke veiligheid parameter van OpenAPS. Dit limiteert je basaal met een max van 3 maal je hoogste basale dosis. Normaal hoef je deze niet te veranderen. Het is echter belangrijk dat je de ingebouwde limieten kent. - Standaard waarde: 4 Dit is een combinatie van enerzijds het OpenAPS veiligheid limieten en anderzijds van “3 x max dagelijks basaal; 4x actueel”. Dit betekent dat het basaal niet hoger kan ingesteld worden dan het ingestelde nummer keer het actueel basaal waarbij de limiet in de pomp geen invloed heeft. Dit is een veiligheidsmaatregel om te voorkomen dat patiënten in gevaarlijke laag bereik komen zonder te snappen hoe het algoritme werkt. Nogmaals de standaard waarde is 4x; de meeste zullen deze waarde nooit moeten aanpassen maar zullen eerder andere waardes moeten aanpassen als ze tegen een limiet aanstoten. - Standaard waarde: 1.2\nDit is een vermenigvuldigingsfactor voor autosense (en binnenkort autotune) die zorgt dat de autosens ratio maximaal 20%% kan zijn. Dit maximum bepaalt in hoeverre je basaal kan worden verhoogd, en hoeveel je ISF en BG doel verlaagd kunnen worden. - Standaard waarde: 0.7\nDit is de andere kan van de autosens veiligheid limiet. Dit zet een limiet op hoe laag het basaal kan aangepast worden, en hoe hoog het ISF en het streef BG. - Autosens past ook het streefdoel aan - Staat standaard aan\n Wanneer dit aan staat, kan Autosens het BG streefdoel hoger/lager zetten wanneer hij een veranderde insulinegevoeligheid detecteert. - Standaard waarde: 2\nBolus snooze is actief nadat je een maaltijd bolus toegediend hebt, zodat de loop geen tegenvoorstel met een verlaagd tijdelijk basaal doet nadat je gegeten hebt. Het voorbeeld hier van van standaard 2; dus een 3 u DIA betekent dat de bolus snooze gemiddeld 1.5u actief is (3DIA/2). - Standaardwaarde: 3,0 (AMA) of 8,0 (SMB). Dit is een instelling voor de standaard koolhydraten absorptie-impact per 5 minuten. De standaard is een verwachte 3mg / dl / 5min. Dit is van invloed op hoe snel COB zijn opgenomen en hoeveel koolhydraten absorptie wordt verwacht, bij het voorspellen van toekomstige BG, wanneer BG meer dan verwacht daalt of niet zoveel stijgt als verwacht. - Opgelet!\n Onderstaande waardes moeten normaal gezien niet worden aangepast. KLIK HIER en LEES de tekst zodat je alles volledig BEGRIJPT voordat je een waarde wijzigt. - Uitvoeren - Virtuele pomp instellingen - Upload status naar NS - NSClient - NSCI - URL: - Autoscroll - Herstart - NSClient - Nightscout URL - Nightscout URL ingeven - NS API secret - NS API secret - Geen NS API secret op (min 12 kar.) - Toedienen - Ledig wachtrij - Toon wachtrij - Wachtend: - Status: - Logboek wissen - NSCLIENT heeft geen schrijfrechten. Verkeerde API secret? Wear instellingen Niet geslaagd - controleer de telefoon - Type patiënt - Kind - Tiener - Volwassene - insuline resistente volwassene - Zwangerschap - Selecteer het type patiënt om de veiligheidslimieten in te stellen Naam patiënt Geef de naam of roepnaam van de patiënt op om onderscheid te maken tussen meerdere setups - Glimp - Onderbreek loop voor 1u - Onderbreek loop voor 2u - Onderbreek loop voor 3u - Onderbreek loop voor 10u - Pomp afkoppelen - Verbreek verbinding 15min met pomp - Verbreek verbinding 30min met pomp - Verbreek verbinding 1u met pomp - Verbreek verbinding 2u met pomp - Verbreek verbinding 3u met pomp - 15 min - 30 min - 1 uur - 2 uur - 3 uur - 10 uur - Hervatten - Opnieuw verbinden met pomp - Log app start naar NS Sluiten van applicatie om instellingen bij te werken. Welk soort insuline gebruik je? Activeer superbolus in de wizard Activeer de superbolus functie in de wizard. Activeer deze niet tot je begrijpt wat dit doet. OVERDOSIS IS MOGELIJK BIJ BLINDELINGS GEBRUIK! - Toon statusindicatoren op startscherm - Drempel waarschuwing infuus leeftijd [h] - Drempel alarm infuus leeftijd [h] - Drempel waarschuwing insuline leeftijd [h] - Drempel alarm insuline leeftijd [h] - Drempel waarschuwing sensor leeftijd [h] - Drempel alarm sensor leeftijd [h] - Drempel waarschuwing batterij niveau [%] - Drempel alarm batterij niveau [%] - Drempelwaarde waarschuwing pompbatterijleeftijd [h] - Drempelwaarde kritieke pompbatterijleeftijd [h] - Drempel waarschuwing reservoir niveau [E] - Drempel alarm reservoir niveau [E] - Drempelwaarde waarschuwing pompbatterijniveau [%] - Drempelwaarde kritiek pompbatterijniveau [%] PRED BAS DEV @@ -259,18 +118,12 @@ DEVSLOPE Over Machtiging ontbreekt voor telefoon gebruik - Annuleer vertraagde bolus Profiel wissel uitvoeren - Sensor - Insuline - Pomp batterij - leeftijd: - level: - Alarm opties + Alarm opties Maak meldingen van NS alarmen Maak meldingen van NS aankondigingen - Oude gegevens sinds [min] - Alarm oude gegevens sinds [min] + Oude gegevens sinds [min] + Alarm oude gegevens sinds [min] Interval voor autosens [uur] Aantal uren in het verleden voor gevoeligheids detectie (koolhy. absorbtie tijd niet meegerekend) OpenAPS @@ -283,27 +136,13 @@ Opname instellingen Max absorptietijd maaltijd [uur] Verwachte tijd in uren totdat alle koolhydraten opgenomen zijn - OAPS - UPLD Laat scherm aan Voorkomen dat Android het scherm uitschakelt. Dit kost veel accuvoeding als je de telefoon niet aan de oplader hebt. Bij het gebruik van Autosense, vergeet niet alle opgenomen koolhydraten in te geven. Anders zullen BG wijzigingen door maaltijden foutief geïnterpreteerd worden !! Gemiddelde gevoeligheid Niet alle profielen zijn geladen! Waarden niet opgeslagen! - Schakel lokaal data delen met andere apps (zoals xDrip+) in. Schakel dit niet in als er meer dan één installatie van AAPS of NSClient zijn geinstalleerd! - Activeer locaal delen. - OpenAPS SMB - Dynamische ISF - Dynamische Isf aanpassingsfactor % - Aanpassingsfactor voor DynamicISF. Stel meer dan 100% in voor een agressievere correctie en minder dan 100% voor minder agressieve correctie. - Activeer UAM - Activeer SMB - SMB in plaats van tijdelijke basalen voor snellere reactie - Detectie van niet aangekondigde (UnAnnounced) Maaltijden Ongeldig - Percentage - Tijd verschuiving Standaard tijdelijke streefdoelen Eet binnenkort tijdsduur Eet binnenkort streefdoel @@ -311,33 +150,16 @@ Activiteit streefdoel Hypo tijdsduur Hypo streefdoel - Hergebruik %1$d%% %2$dh Bedieningen via horloge Stel tijdelijke doelen en bolussen in vanop je horloge. - Gebruik systeem notificaties voor waarschuwingen en notificaties Volume van notificaties en meldingen geleidelijk verhogen Lokaal gegenereerde waarschuwingen Alarm als er geen BG gegevens ontvangen zijn Waarschuwing bij niet bereikbare pomp Pomp niet beschikbaar sinds [min] Waarschuwen als koolhydraten nodig zijn - Dringend alarm - INFO - Eversense App (aangepast) - Upload BG gegevens naar NS - BG upload instellingen Toon gedetailleerde delta Toon delta met een extra decimaal punt - Tijdsinterval in minuten tussen afgeven van SMBs - Max minuten basaal om SMB tot te limiteren - UAM SMB max minuten - Max minuten basaal om SMB tot te limiteren voor UAM - Minimaal benodigde koolhydraten voor waarschuwing - Minimum gram benodigde koolhydraten waarbij een waarschuwing wordt gegeven. Wanneer er minder koolhydraten nodig zijn dan dit getal, wordt er geen waarschuwing gegeven. - Stuur BG data naar xDrip+ - In xDrip+ kies 640g/Eversense data bron - NSClient BG - NS BG BG berekening Bolus IOB berekening Basaal IOB berekening @@ -348,41 +170,17 @@ COB berekening Tijdelijk doel berekenen Percentage berekening - Loop Actief - APS geslecteerd - NSClient heeft schrijf rechten - Closed modus actief - Maximum IOB juist ingesteld - BG beschikbaar op gekozen bron - Vertraagde bolus toedieningsfout - Activeer SMB altijd - SMB altijd aan, onafhankelijk van bolussen. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 - Activeer SMB na koolhydraten - SMB actief gedurende 6u, zelfs met 0 COB. Enkel mogelijk met een BG bron met goed gefilterde data zoals de G5 of G6 - Activeer SMB met Koolhydraten - SMB actief tijdens actieve koolhydraten - Gebruik SMB met tijdelijke streefdoelen - Gebruik SMB bij een actief tijdelijk streefdoel (eet binnenkort, activiteit) - Gebruik SMB met een hoog tijdelijk streefdoel - Schakel SMB in wanneer er een hoog tijdelijk doel actief is (uitvoeren boven 100 mg/dl of 5,5 mmol/l) - Insuline Knoppen Stuurt een kalibratie naar xDrip+ of open het BYODA kalibratie venster Opent xDrip+ of BYODA, terug knop om terug te gaan naar AAPS Aantal koolhydraten toevoegen wanneer de knop wordt ingedrukt Hoeveelheid insuline dat wordt toegevoegd wanneer er op de knop gedrukt wordt Kon de CGM applicatie niet starten. Zorg dat deze geïnstalleerd is. - CGM Negeer 5m Negeer 15m Negeer 30m - Historiek venster Waarschuw bij SMB Toon SMB op horloge zoals gewone bolussen. - Creëer een melding bij storingen - Maak melding bij waarschuwingen voor benodigde koolhydraten - Creëer een Nightscout melding voor storingen en lokale waarschuwingen (ook zichtbaar in het Careportal en Behandelingen) - Maak Nightscout melding bij waarschuwingen voor benodigde koolhydraten Toon de voorspellingen op het horloge. Voorspellingen Data Keuzes @@ -390,8 +188,6 @@ Sta automatische crashrapporten en verder gebruik van data toe zodat deze naar de ontwikkelaars via fabric.io kan verzonden worden. Gelieve Dexcom app naar ondersteunde versie te updaten Dexcom app is niet geïnstalleerd. - Geen bolus toedienen enkel in behandelingen zetten - Bolus wordt alleen geregistreerd (niet toegediend door pomp) SMB op de pomp ingesteld Activiteit Bloedglucose impact @@ -400,32 +196,11 @@ Opgenomen Koolhydraten Opgenomen Insuline Basalen - Dev versie actief. Closed loop gedeactiveerd Engineering modus is geactiveerd - Pomp kan geen tijdelijk basaal aanvaarden - Closed Loop modus gedeactiveerd in de instellingen - Autosens gedeactiveerd in de instellingen - SMB gedeactiveerd in de instellingen - UAM gedeactiveerd in de instellingen - UAM gedeactiveerd omdat het Oref1 gevoeligheid plugin nodig heeft - Max basaal vermenigvuldiger - Max dagelijks basaal vermenigvuldiger Er is een bolus toegediend gedurende de afgelopen 3 minuten, SMB wordt overgeslagen Basaal correct ingesteld - Beperken van extended bolus op %1$.1f E vanwege %2$s - Koolhydraten worden beperkt tot %1$d gr doordat %2$s - IOB gelimiteerd tot %1$.1f E doordat %2$s - Maximum waarde in instellingen - max limiet (SC) - Markeer een infuuswissel in NS - Markeer een insuline ampul wissel in NS - SMB altijd gedeactiveerd doordat de gekozen BG bron geen optimale filtering toepast - SMB niet toegestaan in Open Loop modus - Max totaal IOB dat OpenAPS niet kan overschrijden [E] - Deze waarde heet MAX IOB in OpenAPS context\nOpenAPS zal geen extra insuline toedienen als de actuele IOB onderstaande waarde overschreden heeft Maximum maaltijd absorptie tijd [uur] Tijdspanne waarbinnen elke maaltijd volledig is opgenomen. Resterende KH worden niet mee gerekend. - BG waarde waarbij insuline afgifte wordt onderbroken. De standaard waarde gebruikt het standaard doelmodel. Gebruiker kan waarde instellen tussen 60 mg/dl (3.3 mmol/l) en 100mg/dl(5.6mmol/l). Waarden lager dan 65/3.6 resulteren in gebruik van het standaard model Toon notities veld in behandeling dialoogvensters Volgende Vorige @@ -438,33 +213,18 @@ Tweede koolhydraten increment Derde koolhydraten increment CGM - Mobiele verbinding gebruiken - Gebruik WiFi verbinding - WiFi SSID - Tijdens opladen - Op batterij - Verbindings instellingen - Toegelaten SSIDs (gescheiden door puntkomma) - Sta verbinding tijdens roaming toe Max autosens ratio Min autosens ratio - Bolus snooze dia deler - Maximale dagelijkse veiligheids vermeningvuldigings factor - Huidige basaalstand veiligheids vermenigvuldigings factor - Virtuele pomp Type - Pomp definitie - Bolus: Stap=%1$s\nExtended Bolus: [Stap=%2$s, Duur=%3$smin-%4$sh]\nBasaal: Stap=%5$s\nTBR: %6$s (by %7$s), Duur=%8$smin-%9$sh\n%10$s Berekeningen inclusief in het resultaat van de wizard Scherm instellingen Algemene instellingen - NSClient inschakelen Welkom bij de wizard setup. Het zal je begeleiden door het setup-process\n Lees status De installatiewizard overslaan Druk op de knop hieronder om AAPS basaalwijzigingen te laten voorstellen/uitvoeren Gevoeligheid plugin wordt gebruikt voor de detectie van de gevoeligheid en COB berekening. Voor meer info bezoek: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient zorgt voor verbinding met Nightscout. Je kunt dit deel nu overslaan, maar pas de Doelen afronden als je het hebt ingesteld. + Cloud data synchronisatie. Kan worden overgeslagen maar het wel nodig om de doelen te kunnen behalen. Onthoud: nieuwe insuline profielen vereisen een minimale DIA van 5 uur. DIA 5 – 6h op nieuw profiel is gelijk aan DIA 3h op oude insuline profielen. Selecteer een van beschikbare algoritmen. Ze zijn gesorteerd van oudste naar nieuwste. Nieuwer algoritme is meestal krachtiger en agressiever. Dus als je een nieuwe looper bent, kun je waarschijnlijk beginnen met AMA en niet met de nieuwste. Vergeet niet de OpenAPS-documentatie te lezen en deze vóór gebruik te configureren. Configureer uw RileyLink hieronder. Na het selecteren van een RileyLink, kun je doorgaan zodra de RileyLink status \"Verbonden\" is. Dit kan even duren.\n @@ -474,21 +234,6 @@ Open navigatie Sluit navigatie Plugin instellingen - Poctech - Ontvang BG waardes van Poctech app - Glunovo - Ontvang waardes van Glunovo app - Intelligo - Ontvang waarden van de Intelligo app - Ontvang BG waardes van Tomato app (MiaoMiao apparaatje) - Hoog tijdelijk streefdoel verhoogt gevoeligheid - = 100]]> - Laag tijdelijk streefdoel verlaagt gevoeligheid - - Resistentie verlaagt het doel - Wanneer insulineresistentie wordt gedetecteerd, wordt het BG streefdoel verlaagd - Gevoeligheid verhoogt het doel - Wanneer insulinegevoeligheid wordt gedetecteerd, wordt het BG streefdoel verhoogd Items verwijderen Sorteer items Opgeslagen instellingen gevonden @@ -504,64 +249,22 @@ Verwijder Logs Een Behandeling (insuline: %1$.2f, koolhydraten: %2$d, in: %3$s) niet konden worden toegevoegd aan Behandelingen. Gelieve te controleren en handmatig een record toe te voegen indien nodig. eCarbs: %1$d g (%2$d h), vertraging: %3$d m - Geen autosens-gegevens beschikbaar Logbestanden Overige Log instellingen Terug naar standaardinstellingen - NSClient werkt niet goed. Overweg een herstart van NS en NSClient. Voorkeur APS-modus Logboekbestanden van vandaag verzenden aan ontwikkelaars samen met de onverwachte situatie. Minimale verzoek voor aanpassing [%] Open Loop zal alleen een wijzigingsverzoek tonen als de verandering groter is dan deze waarde in %. De standaard waarde is 20% == ∑ %1$s E - Noteer sensor wissel in NS - Noteer automatisch \"Sensor Wissel\" in NS bij starten van sensor - Tomato (MiaoMiao) - Tomato - Uw Tidepool login gebruikersnaam, normaliter uw e-mailadres - Inlog gebruikersnaam - Uw Tidepool login wachtwoord - Login wachtwoord - Test Tidepool Login - Indien ingeschakeld zullen uploads gaan naar https://int-app.tidepool.org in plaats van de reguliere https://app.tidepool.org/ - Gebruik integratie (test) servers - Tidepool - TDP - Upload gegevens naar Tidepool - CGM-gegevens uploaden - Upload behandelingen (insuline, carbs) - Tijdelijke basalen uploaden - Upload profiel wisselingen, tijdelijke doelen - Upload BG-tests - 2u - BYODA - BYODA - Ontvang BG waarden van de \'Build Your Own Dexcom App\' (BYODA). - COB vs IOB - Bolusbeperking toegepast: %1$.2f E naar %2$.2f E - !!! Trage koolhydraat absorptie gedetecteerd: %2$d%% van de tijd. Controleer je berekening nogmaals. COB kan zijn overschat waardoor er misschien meer insuline wordt afgegeven!!! zijn]]> - Voer dit deel van het bolus wizard resultaat uit [%] Bolus wizard voert de berekening uit maar alleen dit deel van berekende insuline wordt geleverd. Handig in combinatie met het SMB algoritme. - Verhogen van de maximale basaal waarde omdat de instelling lager is dan het maximum in het profiel - Geselecteerd: Eenheden - Voltooiing wissen - Start wissen - Wil je dit leerdoel opnieuw starten? Je kunt je voortgang verliezen. Selecteer eenheden waarin je waarden wilt weergeven Laagste waarde in bereik (alleen weergave) Hoogste waarde in bereik (alleen weergave) - Ongeldig % invoer - Willekeurige BG - Willekeurige BG gegevens genereren (alleen Demo modus) - BG - Hulpmiddelen - Toon berekening Laat verwijderde items zien Wachtrij leegmaken? Alle gegevens in de wachtrij zullen verloren gaan! - Gebruik van Vertraagde bolus functie zal de closed loop modus stoppen voor de duur van de vertraagde bolus. Wil je dit toch? - Closed loop modus uitgeschakeld vanwege afgeven Vertraagde bolus Grafiek menu SMB aanvraagtijd SMB uitvoeringstijd @@ -574,35 +277,14 @@ Absolute insuline Het masterwachtwoord wordt gebruikt voor het versleutelen van backups en om de app-beveiligingen te kunnen overschrijven. Onthoud het goed of bewaar het op een veilige plaats. Huidig masterwachtwoord - Statusindicatoren - Kopieer instellingen van NS - NS instellingen kopiëren (indien aanwezig)? - Klassiek weergave thema - Lage resolutie skin - Knoppen worden altijd weergegeven aan de onderkant van het scherm - Groot scherm - Skin - Vergelijk profielen - Profiel hulp - Basis profiel - Huidig profiel - Beschikbaar profiel - Profieltype - Duur: %1$.0f TDD: %2$.0f E - Leeftijd: %1$.0f TDD: %2$.0f E %3$d%% - Leeftijd: %1$.0f gewicht: %2$.0f kg - % van basaal - DPV Basis profiel RileyLink Status: Kan profiel niet aanmaken. Profiel is ongeldig. Don\'t kill my app? - Start alarm wanneer het tijd is om te eten Tijd om te eten!\nVoer de boluswizard opnieuw uit. Bolus herinnering inschakelen Gebruik herinnering om later te bolussen met de wizard (\"post-bolus\") Upload van crashrapporten is uitgeschakeld! Grafiek - Grafiek menu Verwijder filter Canule Gebruik de waarden van je grootste maaltijd die je gewoonlijk eet\n @@ -610,48 +292,12 @@ E-mailadres Privacyinstellingen U kunt optioneel een e-mailadres opgeven als u op de hoogte wilt worden gebracht van applicatie crashes. Dit is geen geautomatiseerde service. De ontwikkelaars zullen contact met u opnemen bij gevaarlijke situaties. - Volledige synchronisatie - Volledige synchronisatie? Dit kan een aantal uren duren. Je ziet dan geen nieuwe gegevens in Nightscout. - Synchronisatie - Profielen, bolussen, koolhydraten, tijdelijke basaal standen worden geupload naar NS - Upload data naar NS - Ontvang profiel opslag - Synchroniseer profielen van NS profiel editor - Ontvang tijdelijke doelen - Accepteer tijdelijke doelen ingevoerd in NS of NSClient - Ontvang profielwissels - Accepteer profielwissels zoals ingevoerd in NS of NSClient - Ontvang APS offline gebeurtenissen - Accepteer APS offline gebeurtenissen die zijn ingevoerd via NS of NSClient - Ontvang TBR en EB - Accepteer TBR en EB ingevoerd vanaf een andere bron - Ontvang insuline - Accepteer insuline zoals ingevoerd in NS of NSClient (insuline wordt niet toegediend, het wordt alleen in IOB calculatie meegenomen) - Ontvang koolhydraten - Accepteer koolhydraten ingevoerd in NS of NSClient - Accepteer behandelingen - Accepteer behandelingen (cannule, insuline, batterijwissel etc) ingevoerd via NS of NSClient - Ontvang / backfill CGM gegevens - Accepteer CGM data van NS - %s uitvoeren? - Vertraag uploads BG data status Verwijder BG metingen - canule leeftijd - patchpomp leeftijd - Patchpomp Identificatie (e-mail, FB, Discord e. d.) Identificatie niet ingesteld in dev modus dialoogvenster - huidige bloedglucose - corrigeer uitkomt met percentage - corrigeer uitkomt met units Niet beschikbaar - grafiek - bloedglucose kwaliteit - insuline - bloed glucose - verouderd Tijdelijke doel onbekende preset: %1$s Huidige tijdelijk streefdoel annuleren? @@ -666,22 +312,6 @@ Reken. Wizard:\nInsuline: %1$.2fE\nKoolhy.: %2$dg Toon invoer op apparaat: Geselecteerde QuickWizard is niet meer beschikbaar, vernieuw uw tegel - Geen recente BG om de berekening op te baseren! - Geen actief profiel ingesteld! - Onbekende COB! BG uitlezing ontbreekt of de recente app herstart? - Koolhydraten beperking overschreden! - Calc (IC: %1$.1f, ISF: %2$.1f) - Koolhydraten: %1$.2fE - COB: %1$.0fg %2$.2fE - BG: %1$.2fE - IOB: %1$.2fU - Superbolus: %1$.2fE - 15\' trend: %1$.2fE - Percentage: %1$.2fE x %2$d%% ≈ %3$.2fE - Insuline beperking!\nKan %1$.2fE niet leveren - Tijdelijk Doel: %1$s - %1$s tot %2$s - Geen pomp beschikbaar! Onbekend actie commando: Percentage Applicatie standaardwaarden @@ -690,13 +320,7 @@ Sorteren Loop status Grafiek schaal - Profiel 1 - Profiel 2 - Aanmelden - Alles verwijderen - Start reset instellingen openen - koolhydraten timer alarm instellen Alle Telefoon Smartwatch @@ -704,14 +328,7 @@ alleen op telefoon sleepmodus Zoeken - - GlucoRx Aidex - Aidex - Ontvang BG waarden van GlucoRx Aidex CGMS. - Geblokkeerd door oplaad instellingen - Geblokkeerd door verbindings instellingen (Geen horloge verbonden) - Wijzig gevoeligheid en BG Database opschonen Wilt u de database opschonen?\nHet zal bijgehouden wijzigingen en historische gegevens ouder dan 3 maanden verwijderen. Invoergegevens gewist diff --git a/app/src/main/res/values-no-rNO/exam.xml b/app/src/main/res/values-no-rNO/exam.xml index 3c83437f79..3ea04e700d 100644 --- a/app/src/main/res/values-no-rNO/exam.xml +++ b/app/src/main/res/values-no-rNO/exam.xml @@ -1,228 +1,2 @@ - - Hva er riktig om DIA? - Insulinets virkningstid (DIA) - Du skal sette verdien for DIA i profilen din. - Minimum tillatt DIA verdi er 5 timer. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Hvis du føler at DIA verdien som du benyttet i pumpen fungerte godt før du tok i bruk AndroidAPS, da er det ikke nødvendig å endre dette når du starter å loope. - Du må selv bestemme hvilken verdi som passer for DIA. - Hypo Temp-Target (TT) - Hva er hovedgrunnen til å velge en hypo temp-target? - For å korrigere følinger som er forårsaket av feil i dine basalinnstillinger. - For å forhindre at AAPS overkorrigerer for en blodglukoseøkning forårsaket av de hurtigvirkende karbohydratene som brukes til behandling av en hypo. - For å korrigere for en føling som er et resultat av trening. - For å forhindre at blodsukkeret blir lavt selv om basaldosen allerede er 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Hvilken profiltype kan brukes og konfigureres offline? - Tema: Offline profil - NS profil kan brukes, men ikke konfigureres. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Årsaker for å velge \"Koble fra pumpen\" i AndroidAPS - Hva bør gjøres innen du kobler fra pumpen? - Dette er unødvendig siden insulin ikke vil bli levert hvis pumpen er fysisk frakoblet. - Det hjelper AndroidAPS å forstå at ingen insulin ble levert mens pumpen var fysisk frakoblet - Insulinleveransen vil ikke stoppes hvis pumpen er fortsatt tilkoblet. - Det vil sette AndroidAPS i åpen loop modus. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - AAPS innstillinger - AAPS innstillinger - Hva er beste metode for å ta backup av dine innstillinger? - Du trenger ikke å eksportere dine innstillinger hvis du har skrevet dem ned. - Eksporter dine innstillinger etter at du har avsluttet et læringsmål. - Eksporter dine innstillingene etter at du har gjort endringer på noen av dem. - Eksporter dine innstillinger etter at du har avsluttet de første grunnleggende innstillinger og angitt dine preferanser. - Eksporter dine innstillinger lokalt ved hjelp av vedlikeholdsmenyen. - Den eksporterte innstillings filen finnes i mappen Intern lagring/AAPS/preferences på din mobil. - Kopier din innstillingsfil til en trygg plass utenfor din telefon (f.eks. ved å bruke skylagring, koble mobil til PC via kabel, epost etc.) - Hvis din mobil er ødelagt eller mistet, finnes det enkle metoder for å gjenopprette dine innstillinger uten å bruke mobil backup. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Støy i CGM målinger - Hva bør gjøres hvis CGM data har støy? - Gjør ingenting - AndroidAPS vil håndtere det. - Deaktiver lukket loop for å unngå mulig over- eller underdosering. - Bytt alltid ut støyete eller unøyaktige sensorer. - Kontroller at din CGM app leverer glattede data. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Trening og profiler - Hvordan kan du bruke profiler for å hjelpe systemet med å håndtere treninger? - Gjør et profilbytte til mindre enn 100%. - For å gjøre et profilbytte til mer enn 100%. - La profilen være på 100%. - Pause loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#active temp-target - Trening og midlertidige målverdier (temp targets) - Hvordan kan du bruke midlertidige målverdier til å hjelpe systemet å håndtere aerobic trening? - Sett et midlertidig mål for blodsukkeret som starter en passende tid før treningen begynner. - Angi en temp mål for Trening etter at du har avsluttet treningen. - La målverdien for ditt blodsukker være uforandret. - Vent til blodsukkeret ditt synker under Hypo temp target og spis så 15 gram med hurtigvirkende karbohydrater. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#active temp-target - Deaktiver/pause loop - Får jag insulin når loop er stanset/pauset? - Ja, basal insulin vil fortsatt bli levert. - Nei, levering av insulin er stanset. - Test av basaldoser, ISF og KH ratio - Når skal disse verdiene testes og verifiseres? - Før du starter med looping. - Når du opplever hyppige høye eller lave blodsukkerverdier. - Minst en gang i uken. - Når du har innstilt og validert verdiene vil de ikke endre seg over tid. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Forutsetninger - Hva er nødvendig for å sette opp og bruke AAPS? - Validert profil informasjon (basal, IK, ISF, DIA). - En computer hvor Android Studio er installert og konfigurert. - En telefon som støttes. - En kompatibel insulinpumpe hvis du planlegger å kjøre lukket loop. - Nightscout, for å logge alle dine data og kontrollere dine innstillinger. - En Tidepool konto. - En Google konto. - En Github konto. - Erfaring fra programmering eller redigering av kode. - En MiniMed 670G pumpe. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - En smartklokke. - En CGM som støttes. - Forutsetninger - Hva er nødvendig for å sette opp og bruke AAPS? - Validert informasjon for å konfigurere din profil (ISF, KH ratio, basal doser, DIA etc.). - En kompatibel Android enhet (f.eks. mobiltelefon, full Android klokke, eller nettbrett). - AndroidAPS krever en internett forbindelse for å kunne kjøre lukket loop. - En støttet CGM og passende app som mottar blodsukkerverdier på mobilen/enheten. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Oppdatering av AAPS - Kontroller alle riktige svar. - Du må ha Git installert og konfigurert på din PC. - Når oppdateringer til AndroidAPS lanseres kan tidligere versjoner etter en tidsperiode få begrenset funksjonalitet. - Du må lagre og notere lokasjonen for din keystore og benytte samme signeringsnøkkel for bygging av oppdateringen som forrige installasjon. - Aldri oppdater hvis systemet fungerer bra. - Hvis du har problemer med å bygge apk filen, kan du installere en apk som er bygget av en venn. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Feilsøking - Hvor kan du be om hjelp for AndroidAPS? - Du kan be om råd i Facebookgruppen AAPS Users. - Du bør lese (og lese om igjen) AndroidAPS dokumentasjonen. - Du kan be om råd og stille tekniske problemer eller spørsmål på AAPS Discord. - Du bør spørre din diabetesklinikk/endokrinolog. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Insulin plugin modul - Hvilken insulin skal du bruke sammens med Ultra-Rapid Oref modulen? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/\"regulært\" humant insulin. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Sensitivitets plugin - Kontroller alle riktige svar. - Sensitivitets plugin gjør det mulig for AAPS å gjøre midlertidige eller kortvarige justeringer av insulin sensitivitet (f. eks. hormonelle forandringer eller problemer med absorpsjon ved innstikkstedet). - Sensitivitets plugin gir brukeren forslag til endringer i basaldoser, KH ratio og ISF som kan benyttes til å redigere profilen. - Hvis du logger bytte av kanyle vil Autosens verdien tilbakestilles til 100%. - Noen plugins har konfigurerbare tidsintervall som kan settes av brukeren. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Feil i KH angivelse - Hva skal du gjøre hvis du har gjort en feilaktig registrering av karbohydrater? - Fjern den feilaktige registreringen i Behandlinger og legg inn riktig verdi for karbohydrater. - Gi insulinbolus ved å bruke prime funksjonen for infusjonssettet. - Gjør ingenting - AndroidAPS vil gjøre nødvendige justeringer. - Gi bolus ved hjelp av Insulin knappen på hjem/oversikts siden. - Feil i insulin levering/registrering - Hva ska du gjøre hvis du har fått mindre insulin enn hva pumpens historikk viser, f.eks. på grunn av okklusjon, feil med kanyle eller om du har glemt å koble på pumpen etter en dusj - Fjern insulindata fra Nightscout slik at det slettes fra pumpens historikk. - Sammenlign verdiene i AndroidAPS og pumpehistorikken (hvis pumpen støtter dette). - Gi en bolus med en del av det insulinet du mangler enten med penn eller ved å bruke prime funksjonen. - Ikke gjør noe og la AndroidAPS korrigere eventuelle høye blodsukkerverdier. - Karbohydrater ombord (COB) - Hvordan vil endring av ISF-verdi påvirke COB-beregning? - Økning av ISF gjør at karbohydrater absorberes over lengre tid - Økning av ISF gjør at karbohydrater absorberes over kortere tid - Økning av ISF påvirker ikke beregningen av absorbering av karbohydrater - Hvordan vil endring av IC-verdi påvirke COB-beregning? - Økning av IC gjør at karbohydrater absorberes over lengre tid - Økning av IC gjør at karbohydrater absorberes over kortere tid - Økning av IC påvirker ikke beregningen av absorbering av karbohydrater - Hvordan vil endring av profil-prosent påvirke COB-beregning? - Ved å sette profilen til 150% vil karbohydrater absorberes over lengre tid - Ved å sette profilen til 150% vil karbohydrater absorberes over kortere tid - Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater - Aktivt insulin (IOB) - IOB verdi påvirkes av midlertidige temp basaler. - Høy temp basal vil ikke bli gitt når ditt blodsukker er under målverdi. - Negativ IOB i en lengre periode selv om du ikke trener tyder på at profilen din gir for mye insulin og kanskje bør reduseres i innstillingene. - Positiv IOB for en lengre periode tyder på enten økt insulinresistens eller uannonserte måltider. - Karbohydrater og bolus - Bare gram skal benyttes for å estimere og registrere spiste karbohydrater. - Karbohydrater som konsumeres kan registreres ved hjelp av et passende byttesystem (f.eks. DAFNE \"CHO\" eller europeiske \"brødenheter\"). - AndroidAPS bruker en dynamisk modell til å beregne karbohydrat opptaket og beregne COB. - Hvis blodsukkernivået er utenfor akseptable verdier (for lavt eller for høy), kan boluskalkulatoren brukes til å gi forslag til korreksjoner for karbohydrater eller insulin. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-Karbo - Hva kan du bruke e-karbohydrater (forlengede karbohydrater) til? - For å angi karbohydrater i fremtiden og/eller fordele dem over et tidsintervall (tilsvarende en forlenget bolus over et intervall). - For å logge \"frie\" treningskarbohydrater som du vil skjule for AndroidAPS. - E-karbo som er registrert i fremtiden kan hjelpe AAPS å håndtere måltider som er fett/proteinrike. - For å registrere karbohydrater som brukes til å korrigere lavt blodsukker - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Fjernovervåking - Hvordan kan du overvåke AndroidAPS (for eksempel for ditt barn) på eksternt? - AAPSClient app, Nightscout app og Nightscout websiden gjør det mulig for deg å følge AAPS eksternt. - Andre apper (f.eks. Dexcom follow, xDrip som kjører i følger modus) lar deg følge noen parametere (f.eks. blodsukker/sensor verdier) på avstand, men bruker forskjellige beregningsmetoder og kan derfor vise andre IOB eller COB verdier. - For å følge AAPS eksternt må begge enhetene ha Internett-tilgang (f.eks. via Wi-Fi eller mobildata). - AAPSClient som brukes som ekstern følger app vil både overvåke og gi full kontroll over AAPS. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Insulin Sensitivitetsfaktor (ISF) - Økte ISF-verdiene vil føre til levering av mer insulin for å dekke opp en viss mengde karbohydrater. - Lavere ISF verdier fører til mer insulintilførsel for å korrigere blodsukker som ligger over målnivået. - Å øke eller senke ISF har ingen effekt på tilførselen av insulin når blodsukkeret er lavere enn målverdien. - ISF skal angis i dine AndroidAPS innstillinger. - Å endre ISF verdien i din profil er tilstrekkelig for å ta i bruk endringen. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Du kan bruke mer enn én verdi for KH ratio i profilen din. - Hvis du endrer ISF i profilen din, bør du alltid endre KH ration din. - Insulin til Karbohydratratio (KH ratio) - Høyere insulin til karbohydrat forhold (KH ratio) fører til at mindre insulin leveres for en gitt mengde karbohydrater. - Lavere insulin karbohydratforhold fører til at mindre insulin leveres for en gitt mengde karbohydrater. - Hvis du har 0 COB, vil endring av IK forholdet føre til endring av insulinmengden som trengs for å korrigere ditt BS nivå. - IK vil være forskjellig hvis du regner en skive brød som 10g eller 12g. - IK betyr: Hvor mange brødenheter som dekkes av 1E insulin. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profil bytte - Hvilke svar er korrekte når du spesifiserer et profilbytte på 90%? - Basaldoser vil være 10% lavere. - ISF verdien vil være 10% høyere. - Verdien av KH ratio vil være 10 % lavere. - ISF og KH ratio er uendret. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profil bytte - Når du spesifiserer et profilbytte på 120%, hvilke svar er korrekte? - Blodsukkermålet vil være 20% høyere. - Basaldoser vil være 20% høyere. - Blodsukkermålet vil være uforandret. - ISF vil være 20% høyere. - Profil bytte - Hvis du står opp 2 timer tidligere enn vanlig, hvordan forteller du AndroidAPS om endringen i døgnrytmen din? - Gjør et profilbytte med en tidsforskyvning på 2 - Gjør et profilbytte med en tidsforskyvning på -2 - Angi et \"spise snart\" midlertidig temp target. - Gjør et profilbytte til mer enn 100% - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Endring av profil - Basalrater, ISF, KH ratio, etc., bør defineres i profiler. - Aktivering av endringer i Nightscout profilen din krever at din AndroidAPS telefon er koblet til Internett. - Å redigere verdier i profilen din er tilstrekkelig for å aktivere profilendringen. - Flere profiler kan defineres og velges for å håndtere endringer i omstendigheter (f.eks. hormonelle endringer, skift arbeid, hverdager/helgedager). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Hjelp med basaldoser - Hvor finner du hjelp for basaldoser m. m. - Ditt diabetesteam - Google - Facebook - Annen medisinering. Vennligst les utsagnet nedenfor, og sjekk deretter boksen for å godta erklæringen. - AndroidAPS reduserer basaldoser eller utsetter insulindoser for å få en økning i blodsukkerverdier. Medisiner av typen SGLT2 hemmere (gliflozins) kan redusere eller hemme forventet økning i blodsukker og kan derfor føre til akutt og farlig høyt blodsukker ketoacidose (DKA). -\nVanlige medisinnavn er: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nJeg lover å ikke ta slike medisiner mens jeg bruker AndroidAPS og vil deaktivere bruken av loop mens jeg bruker slik medisin. - + diff --git a/app/src/main/res/values-no-rNO/objectives.xml b/app/src/main/res/values-no-rNO/objectives.xml index 8cdedfd9e8..3ea04e700d 100644 --- a/app/src/main/res/values-no-rNO/objectives.xml +++ b/app/src/main/res/values-no-rNO/objectives.xml @@ -1,55 +1,2 @@ - - Start - Kontroller - %1$d. Læringsmål - Læringsmål %1$d ikke startet - Læringsmål %1$d er ikke ferdig - Stiller inn utseende og overvåking for analyser av basaler og forholdstall - Kontroller at BS er tilgjengelig i Nightscout og at insulindata fra pumpen lastes opp - Starter med åpen loop - Kjør i \"Åpen Loop\" modus i noen dager og aktiver flere temp basaler. Konfigurer og aktiver flere midlertidige og default temp BS mål (f.eks. for Aktivitet eller Hypo behandling) - Forstå din åpen loop, inkludert den temp basal anbefalingen - Ut ifra hva du har erfart og lært, avgjør hva din max basal skal være og still den inn i både pumpen og AAPS innstillinger - Begynn å bruk lukket loop med aktivert funksjon for stopping av insulin ved lavt BS - Aktiver closed loop med max IOB = 0 i noen dager uten for mange episoder hvor systemet stopper insulintilførsel på grunn av lavt BS - Finjustering av lukket loop med gradvis økende maks IOB over 0 og redusering av BS målverdi - Kjør i noen dager og opplev minst en natt uten lavt BS alarmer før du begynner å redusere målverdi for BS - Juster om nødvendig basal og forholdstall, og deretter aktiverer du autosens - 1 uke vellykket looping på dagtid hvor alle måltider (KH) angis - Aktiver ekstra funksjoner for bruk på dagtid, slik som SMB (Super Micro Bolus) - Aktiver Automatisering - Du må lese wiki og øke din maxIOB for å få SMB til å fungere. Et godt utgangspunkt er maxIOB = gjennomsnittlig måltidsbolus + 3*max daglig basal - Les dokumentasjonen på hvordan Automatisering virker. La din første regel være enkel. I stedet for å utføre en behandling, få AAPS til å vise en melding i stedet. Kun når du er sikker på at Automatisering aktiveres korrekt kan du erstatte meldingsvarselet med en behandlingskommando. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - BS tilgjengelig i NS - Pumpe status tilgjengelig i NS - Manuell kommando - Utført: %1$s - Lær hvordan du kontrollerer AAPS - Utfør forskjellige handlinger i AAPS - Angi profil 90% for 10 min (langt-trykk på profilnavn i Oversikt) - Simuler dusjing. Frakoble pumpen i 1t (langt trykk på Åpen Loop) - ... og koble til igjen på samme måte - Opprett egendefinerte midlertidige BS mål med 10 min varighet (langt-trykk på gjeldende mål) - I Konfigurasjonsverktøyet aktiverer du Hendelser plugin, og gjør det synlig og viser innholdet fra menyen i øverste linje - Vis innholdet i Loop plugin - Test skaleringsfunksjonen ved et langt trykk på BS grafen - Angi - Om du kan dokumentere minst 3 måneders erfaring med et annet lukket loop system så kan det hende du kvalifiserer for å hoppe over læringsmålene. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for flere detaljer. - Kode akseptert - Kode ugyldig - Bevis kunnskapen din - Studer spørsmålene. Hvert spørsmål har fire svaralternativer. Det kan være flere enn ett riktig svar. Marker alle riktige svar og velg KONTROLLER. - Besvarelser deaktivert til: %1$s - Feil svar! - Neste uferdig - Be om kode: %1$s - (kontroller alle riktige svar) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Ikke koblet til Internett - Feil ved henting av tid - Læringmålets krav er ikke oppfylt - + diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 5ef7bf4af7..05f0537e7a 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -3,55 +3,25 @@ - Sikkerhet ved behandlinger - Maks tillat bolus [U] - Maks tillat karbo [g] - Insulintilførsel stoppes når BS er under denne terskelverdien %1$s Innstillinger Innstillinger Oppdater behandlinger fra NS Nullstill databasene Vil du virkelig nullstille databasene? Avslutt - Knapper for rask tilgang til ofte brukte funksjoner Brukes for innstilling av aktive plugins - Opplæringsprogram Aktiver eller deaktiver hendelsen som trigger loop. - Synkroniserer dine data med Nightscout - Slik algoritmen var definert i 2017 - Siste utgave av algoritmen for avanserte brukere - Nyeste algoritme for avanserte brukere med dynamisk/automatisk ISF Viser loopens nåværende tilstand og knapper for de vanligste funksjonene Viser en konstant melding med en kort oppsummering av hva loop gjør - Integrasjon mot pumper som ikke støttes av AndroidAPS (åpen loop) Sensitiviteten beregnes på samme måte som i Oref0, men du kan angi hvor mye av historikken som skal tas med i beregningen. Minimum opptak av karbohydrater beregnes ut fra maks karbohydratopptak angitt i dine innstillinger. Sensitivitet beregnes fra 8t og 24t historiske data (velger alltid det resultatet som gir høyest insulinsensitivitet). Karbohydrater (som ikke er absorbert) blir avsluttet etter tiden som er angitt i innstillinger. Plugin beregner også UAM. Sensitivitet beregnes som en vektet gjennomsnittsverdi av avvikene. Ferske avvik har høyere vekting. Minimum opptak av karbohydrater beregnes ut fra maks opptakstid for karbohydrater angitt i dine innstillinger. Denne algoritmen er den raskeste for å justere endringer i sensitivitet. - Motta BS-verdier fra den modifiserte Eversense-appen. - Motta BS-verdier fra Glimp. - Motta BS-verdier fra 600SeriesAndroidUploader. - Last ned BS-verdier fra Nightscout - Motta BS-verdier fra xDrip+. Lagre data om alle behandlinger som er utført Overvåke og kontrollere AAPS ved hjelp av WearOS-klokken. - Utfør nå - VIRTUELL PUMPE - Siste beregning - Angi verdier - Glukosestatus - Nåværende temp - IOB data - Profil - Måltidsdata - Resultat - Resultat: %1$s %2$s - Ingen BS-data tilgjengelig - Forespørsel Delta Konfigurasjonsverktøy Oversikt Behandlinger - Virtuell pumpe Pumpe Hvilken pumpe ønsker du å bruke med AAPS? Profil @@ -60,35 +30,23 @@ Hvilken algoritme skal APS benytte for behandlinger? Generelt Det er noen generelle plugins som kan være nyttige. + Synkronisering + Tillegg for dataopplasting og synkronisering. Hvilke begrensninger brukes? - Begrensninger Loop Bruk denne for å aktivere AAPS\' loopintegrasjon. APS Etter behandling av begrensninger Temp basal satt av pumpen INGEN APS ER VALGT ELLER HAR LEVERT RESULTAT - Sikkerhet - Plugin er deaktivert Brudd på begrensninger - Aksepter ny temp basal: Endre dine inndata! BS-kilde Hvor skal AAPS få sine data fra? - xDrip+ - APS modus - Lukket Loop - Åpen Loop - Stopp ved lavt BS Ny anbefaling tilgjengelig Karbo forslag - Versjonen av Nightscout støttes ikke - Karbo-tid Profil - Temp basal - Forlenget bolus Nightscout versjon: - Mangler %1$d g Innstillinger er eksportert Brukeroppføringer er eksportert Eksporter innstillinger til @@ -97,12 +55,7 @@ Fil ikke funnet Eksporter innstillinger Importer innstillinger - Max E/t en Temp Basal kan settes til - Denne verdien kalles max basal i OpenAPS sammenheng - Max basal IOB som OpenAPS kan levere [U] - Denne verdien kalles Max IOB i OpenAPS sammenheng.\nDet er max insulinmengde i [U] APS kan levere. Du må angi et hovedpassord som vil bli brukt til å kryptere dine eksporterte innstillinger. - Du må angi et hovedpassord som vil bli brukt for å lese inn og dekryptere innstillinger. Eksport kansellert! Innstillinger ble IKKE lagret! Innlesing avbrutt! Innstillinger ble IKKE lest inn! Kunne ikke importere innstillinger! @@ -122,7 +75,6 @@ JEG FORSTÅR OG GODTAR Lagre Les inn profil på nytt - Hurtigveiviser Innstillinger for hurtigveiviser Knappetekst: Karbo: @@ -130,16 +82,9 @@ Legg til Rediger Korreksjon - Handlinger (FARLIG Å DEAKTIVERE) Kun NS opplasting Kun NS opplasting (deaktivert sync). Ikke effektiv på SGV med mindre en lokal kilde som xDrip+ er valgt. Ikke effektiv på Profiler mens NS-Profiler brukes.\n!!! ADVARSEL !!! Deaktivering av dette alternativet kan føre til funksjonsfeil og overdosering av insulin hvis noen av dine komponenter (AAPS, NS, xDrip+) er feil konfigurert. Observer at data som vises i AAPS samsvarer med pumpestatus! Pumpen er ikke startet! - Prime/fylling - Kontroller at mengden samsvarer med spesifikasjonen for slangesettet ditt! - Standardverdier for påfyll/prime - Knapp 1 - Knapp 2 - Knapp 3 Enheter Område for visualisering Høy og lav verdi for grafen i Oversikt og smartklokke @@ -148,108 +93,22 @@ Klokke Send alle data på nytt Åpne Innstillinger på klokken - Basalrate - MM640G Pågående varslinger GAMLE DATA - OpenAPS AMA - Liste med %1$d elementer.\nFaktisk verdi: - Autosens-data - Script feilsøking - Bruk Autosens funksjon - ACT KONF LOOP - OAPS - DYNISF HJEM - VPUMP BEH - MÅL WEAR Korte navn i menyfaner - Bruk alltid kort gjennomsnittsverdi delta i stedet for enkel delta - Nyttig når data fra ufiltrerte kilder som xDrip+ registrerer mye støy. - Standardverdi: 3 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine basaler til maks 3x av din høyeste basalverdi. Du vil trolig ikke behøve å endre denne verdien, men les og forstå hva som menes med \"3x max daglig; 4x gjeldende\" som sikkerhetsinnstilling. - Standardverdi: 4 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine temp basal til max 4 ganger din nåværende basal dose, uansett hva som er maks basal i pumpen. Dette er for å unngå at man setter farlige høye maks basal doser uten at man har forstått algoritmene. Når du taket i denne begrensningen bør du i stedet fokusere på å endre andre innstillinger. - Standardverdi: 1.2\nDetta er en multiplikatorbegrensning for autosens (og snart autotune) som begrenser at autosens ikke kan øke med mer enn 20%%, som dermed begrenser hvor mye autosens kan justere opp dine basaler, hvor mye ISK kan reduseres og hvor lavt BS målverdi kan settes. - Standardverdi: 0.7\nDette er en multiplikatorbegrensning for autosens sikkerhet. Den begrenser autosens til å redusere basalverdier, og øke isulinssensitivitet (ISF) og BS mål med ikke mer enn enn 30%. - Autosens justerer også BS-målverdier - Standard verdi: sann\nGir autosens tillatelse til å justere BS-mål, i tillegg til ISF og basaler. - Standard verdi: 2\nBolus-snooze er aktivt etter at du har gitt en måltidsbolus slik at loop ikke skal forsøke å sette lav-temp når du nettopp har spist. I dette eksempelet brukes standardverdi på 2, så med en 3 timers DIA vil bolus-snoozebegrensning gradvis forsvinne etter 1.5 timer (3DIA / 2). Bolus-snooze brukes ikke hvis SMB er aktivert. - Standardverdi er: 3.0 (AMA) eller 8.0 (SMB). Dette er grunninnstillingen for KH-opptak per 5 minutt. Den påvirker hvor raskt COB skal reduseres, og benyttes i beregning av fremtidig BS-kurve når BS enten synker eller øker mer enn forventet. Standardverdi er 3mg/dl/5 min. - Advarsel!\nNormalt vil du ikke trenge å endre verdiene under. Vennligst TRYKK HER og LES teksten for å være sikker på at du FORSTÅR konsekvensene før du gjør endringer. - Utfører - Innstillinger for virtuell pumpe - Last opp status til Nightscout - NSClient - NSCI - URL: - Autoscroll - Omstart - NSClient - Nightscout URL - Oppgi din Nightscout URL - Nightscout API-nøkkel - Nightscout API-nøkkel - Oppgi NS API-nøkkel (min 12 tegn) - Lever nå - Tøm kø - Vis kø - Kø: - Status: - Tøm logg - NSCLIENT har ingen skriverettighet. Feil API-nøkkel? Klokkeinnstillinger feilet - sjekk telefonen - Pasienttype - Barn - Tenåring - Voksen - Insulinresistent voksen - Graviditet - Velg pasienttype for oppsett av sikkerhetsgrenser Pasientnavn Angi pasientnavn eller kallenavn for å kunne skille mellom flere oppsett - Glimp - Pause loop i 1t - Pause loop i 2t - Pause loop i 3t - Pause loop i 10t - Koble fra pumpen - Koble fra pumpen i 15 min - Koble fra pumpen i 30 min - Koble fra pumpen i 1t - Koble fra pumpen i 2t - Koble fra pumpen i 3t - 15 min - 30 min - 1 time - 2 timer - 3 timer - 10 timer - Gjenoppta - Koble til pumpen - Logg app-start til NS Avslutter appen for å aktivere innstillinger. Hvilken type insulin bruker du? Aktiver superbolus i veiviser Aktiver superbolus-funksjonen i veiviseren. Ikke aktiver denne før du vet hvordan den fungerer. DEN KAN LEDE TIL EN OVERDOSERING AV INSULIN HVIS DEN BRUKES BLINDT! - Vis statusindikatorer på hjem-skjermen - Terskel for advarsel, alder på slangesett [h] - Terskel for kritisk alder på slangesett [h] - Terskel for advarsel, alder på insulin [h] - Terskel for kritisk alder på insulin [h] - Terskel for advarsel, alder på CGM [h] - Terskel for kritisk alder på CGM [h] - Terskel for advarsel, batterinivå for sensor [%] - Terskel for kritisk batterinivå for sensor [%] - Terskel for advarsel, batterialder for pumpe [h] - Terskel for kritisk batterialder for pumpe [h] - Terskel for advarsel, insulinreservoar [U] - Terskel for kritisk insulinreservoar [U] - Terskel for advarsel, batterinivå for pumpe [%] - Terskel for kritisk batterinivå for pumpe [%] PROGN BAS DEV @@ -259,18 +118,12 @@ DEVSLOPE Om Appen mangler tilgang til telefonstatus - Avbryt forlenget bolus Gjør profilbytte - Sensor - Insulin - Pumpebatteri - alder: - nivå: - Alarmvalg + Alarmvalg Opprett varsler fra NS-alarmer Opprett varsler fra NS-meldinger - Advarsel ved manglende data [min] - Advarsel ved kritisk mangel på data [min] + Advarsel ved manglende data [min] + Advarsel ved kritisk mangel på data [min] Intervall for autosens [h] Antall timer med historiske data for beregning av sensitivitet (absorpsjonstid for KH er ekskludert) OpenAPS @@ -283,27 +136,13 @@ Absorpsjonsinnstillinger Maks absorpsjonstid for måltid [h] Tid i timer hvor det forventes at alle karbohydrater fra måltid vil være absorbert - OAPS - UPLD Hold skjermen påslått Forhindre Android fra å slå av skjermen. Mobilen vil bruke mye batteri hvis den ikke plugges til strømledning. Hvis du slår på Autosense-funksjonen må du huske å angi alle spiste karbohydrater. Ellers vil KH-avvik gi feil i sensitivitetsberegningen !! Sensitivitet vektet middelverdi Ikke alle profiler ble lastet! Verdier ikke lagret! - Aktiver kringkasting av data til andre apper (som xDrip+). Ikke aktiver dette hvis du har mer enn én AAPS eller NSClient installert! - Aktiver deling av data mellom apper på telefonen. - OpenAPS SMB - Dynamisk ISF - DynamiskISF justeringsfaktor % - Justeringsfaktor for dynamisk ISF. Verdier over 100% vil gi mer aggressive korreksjonsdoser, mens verdier under 100% vil gi mildere korreksjonsdoser. - Aktiver UAM - Aktiver SMB - Bruk Super Mikro Bolus i stedet for temp basal for raskere resultat - Oppdag uannonsert måltid (UAM) UGYLDIG - Prosent - Tidsforskyving Standard temp mål spise snart-varighet spise snart-målverdi @@ -311,33 +150,16 @@ målverdi ved aktivitet hypo varighet hypo målverdi - Gjenbruk %1$d%% %2$dt Kontroller fra klokke Sett temp målverdi og angi behandlinger fra klokken. - Bruk systemvarslinger for alarmer og varslinger Øk volumet gradvis for alarmer og varsler Lokale varsler Varsel hvis ingen BS-data mottas Varsel hvis pumpen er utilgjengelig Pumpen er ikke tilgjengelig etter [min] Varsel hvis karbohydrater må tilføres - Kritisk alarm - INFO - Eversense App (patched) - Last opp BS-data til NS - Innstillinger for opplasting av BS Vis detaljer om delta Vis delta med én ekstra desimal - Minste antall minutter mellom hver SMB - Maks antall minutter med basal som kan bli SMB - UAM SMB maks minutter - Maks antall minutter basal som kan bli SMB ved UAM - Minimumsgrense for KH-forslag - Minimum mengde karbohydrater i gram for å vise advarsel. Behov under denne grenseverdien vil ikke vises som et varsel. - Send BS-data til xDrip+ - I xDrip+, velg 640G/Eversens som datakilde - NSClient BS - NS BS BS-beregning Bolus IOB-beregning Basal IOB-beregning @@ -348,41 +170,17 @@ COB-beregning Beregning av temp target Prosentvis beregning - Loop er aktivert - APS valgt - NSClient har skriverettigheter - Lukket loop aktivert - Maks IOB er angitt riktig - BS tilgjengelig fra valgt kilde - Forlenget bolus feilet - Aktiver alltid SMB - Aktiver alltid SMB uavhengig av boluser. Bare mulig med en bra filtrert BS kilde som f.eks. Dexcom G5/G6 - Aktiver SMB etter karbohydrater - Aktiver SMB i 6t etter karbohydratinntak, selv med 0 IOB. Bare mulig med en bra filtrert BS kilde som f. eks. Dexcom G5/G6 - Aktiver SMB med COB - Aktiver SMB når COB er aktiv. - Aktiver SMB med temp målverdi - Aktiver SMB når temp målverdi er aktiv (spise snart, trening) - Aktiver SMB ved høye temp målverdier - Aktiver SMB når det er aktive temp målverdier (trening, over 100 mg/dl eller 5,5 mmol/l) - Insulin Knapper Sender en kalibrering til xDrip+ eller åpne kalibreringsdialogen i BYODA Åpner xDrip+ eller BYODA, tilbake-knappen får deg tilbake til AAPS Antall karbohydrater som skal legges til når knappen trykkes Mengde insulin som skal legges til når knappen trykkes inn Kunne ikke starte CGM-programmet. Kontroller at det er installert. - CGM Ignorer 5m Ignorer 15m Ignorer 30m - Historikk leser Varsle på SMB Vis SMB på klokken som en standard bolus. - Lag meldinger ved feil - Opprett varslinger hvis det er nødvendig med karbohydrater - Opprett varslinger i Nightscout ved feil eller meldinger (også synlig i Careportal under Behandlinger) - Opprett Nighjtscout meldinger ved behov for karbohydrater Vis blodsukker prognoser på klokken. Prognoser Data valg @@ -390,8 +188,6 @@ Tillat automatisk rapportering av appkrasher og bruksdata til utviklerne via fabrioc.io tjenesten. Vennligst oppdater din Dexcom app til en versjon som støttes Dexcom appen er ikke installert. - Ikke gi bolus, bare loggfør - Bolus vil bare bli loggført (ikke levert av pumpe) SMB satt med pumpe Aktivitet Blodsukkerpåvirkning @@ -400,32 +196,11 @@ Aktive KH (COB) Aktivt insulin (IOB) Basaler - Du kjører dev-versjonen. Lukket loop ikke aktivert. Engineering Mode aktivert - Pumpen støtter ikke temp basaler - Lukket Loop deaktivert i innstillinger - Autosens deaktivert i innstillinger - SMB deaktivert i innstillinger - UAM deaktivert i innstillinger - UAM deaktivert fordi den trenger Oref1 sensitivitetsplugin - maks basal multiplikator - maks daglig basal multiplikator En bolus ble gitt i løpet av de siste 3 minuttene, dropper SMB Basal justert korrekt - Begrenser forlenget bolus til %1$.1f E på grunn av %2$s - Begrenser karbohydrater til %1$d g på grunn av %2$s - Begrenser IOB til %1$.1f E på grunn av %2$s - maks verdi i innstillingene - hard begrensning - Logg bytte av slangesett - Logg bytte av insulinampull - SMB Alltid På og SMB Etter Karbohydrater er deaktivert fordi BS kilden ikke støtter avansert filtrering - SMB ikke tillatt i åpen loop - Maks total IOB OpenAPS ikke kan overstige [U] - Denne verdien kalles Maks IOB av OpenAPS\nOpenAPS vil ikke gi mere insulin hvis mengden insulin ombord (IOB) overstiger denne verdien Maks absorpsjonstid for måltid [h] Etter denne tiden forventes det at måltidet er absorbert. Eventuelle gjenværende karbo vil tas ut av beregninger. - BS er under terskelverdi slik at all insulintilførsel stoppes. Mulighet for bruker å definere verdier mellom 3.3mmol/l (60mg/dl) og 5.5mmol/l (100mg/dl). Verdier under 3.6/65 bruker standard målverdier Vis merknadsfelt i dialogvindu for Behandlinger Neste Forrige @@ -438,33 +213,18 @@ Andre økning hurtigknapp for karbohydrater Tredje økning hurtigknapp for karbohydrater CGM - Bruk mobildata - Bruk Wi-Fi-tilkobling - WiFi nettverksnavn - Under lading - På batteri - Tilkoblingsinnstillinger - Tillatte nettverksnavn SSID (separert med semikolon) - Tillat tilkobling i roaming Maks autosens ratio Minimum autosens ratio - Bolus snooze DIA divisor - Multiplikator for max daglig basal - Multiplikator får gjeldende basal - Virtuell pumpetype - Pumpedefinisjon - Bolus: Step=%1$s\nForlenget bolus: [Step=%2$s, Varighet=%3$smin-%4$sh]\nBasal: Step=%5$s\nTBR: %6$s (av %7$s), Varighet=%8$smin-%9$sh\n%10$s Beregninger inkludert i resultatet fra veiviseren: Visningsinnstillinger Generelle innstillinger - Aktiver NSClient Velkommen til oppsettveiviseren. Den vil lede deg gjennom installasjonsprosessen\n Les status Hopp over oppsettsveiviser Trykk på knappen under for å tillate at AndroidAPS foreslår/gjør basal endringer Sensitivitets plugin brukes til å oppdage insulinsensitivitet og COB beregninger. For mer info, se: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient håndterer tilkobling til Nightscout. Du kan hoppe over denne delen nå, men du vil ikke kunne bestå læringsmålene før den er satt opp. + Synkronisere data til skyen. Du kan hoppe over dette nå, men du vil ikke bestå opplæringsmålene før det er satt opp. Husk: nye insulinprofiler krever en DIA på minst 5t. DIA 5-6t på ny profil er lik DIA 3t på gamle insulinprofiler. Velg en av de tilgjengelige algoritmene. De er sortert fra eldst til nyest. De nyeste algoritmene er vanligvis mer kraftfull og aggressiv. Hvis du er en ny looper kan det være fornuftig å starte med AMA og ikke den siste. Ikke glem å lese OpenAPS dokumentasjonen og konfigurer algoritmen før den brukes. Vennligst konfigurer din RileyLink under. Etter å ha valgt en RileyLink, vil det være mulig å fortsette konfigureringen når RileyLink statusen er \"Tilkoblet\". Dette kan ta et minutt.\n @@ -474,21 +234,6 @@ Åpne meny Lukk meny Plugin innstillinger - Poctech - Motta BS verdier fra Poctech app - Glunovo - Motta BS verdier fra Glunovo app - Intelligo - Motta BS-verdier fra Intelligo-app - Motta BS verdier fra Tomato app (MiaoMiao enhet) - Høy temp target øker sensitiviteten - = 100]]> - Lav temp target reduserer sensitiviteten - - Resistens reduserer BS målverdi - Hvis resistens oppdages vil det redusere BS målverdi - Sensitivitet øker BS målverdi - Når systemet oppdager økt insulinsensitivitet, vil BS målverdi økes Fjern oppføringer Sorter elementer Lagrede innstillinger funnet @@ -504,64 +249,22 @@ Slett logger En behandling (insulin: %1$.2f, karbohydrater: %2$d, tid: %3$s) kunne ikke legges til Behandlinger. Vennligst kontroller og manuelt legg til en registrering der det er aktuelt. eKarbo: %1$d g (%2$d t), forsinkelse: %3$d m - Ingen data tilgjengelig for autosens Loggfiler Annet Logginnstillinger Gjenopprett standardinnstillinger - NSClient feil. Vurder omstart av NS og NSClient. Foretrukket APS modus Send dagens loggfiler til utviklere og med dette tidspunktet. Uventet situasjon. Minste endrings forespørsel [%] I åpen Loop modus vil AAPS be om en endring hvis forandringen er større enn denne verdien i %. Standard verdi er 20% == ∑ %1$s E - Logg sensor endring til NS - Opprett hendelse \"Sensor bytte\" i NS automatisk ved start av sensoren - Tomato (MiaoMiao) - Tomato - Ditt Tidepool brukernavn, normalt din e-postadresse - Brukernavn for innlogging - Ditt passord for Tidepool - Passord - Test Tidepool innlogging - Hvis aktivert, vil opplastinger gå til https://int-app.tidepool.org i stedet for vanlig https://app.tidepool.org/ - Bruk integrasjon (test) servere - Tidepool - TDP - Laster opp data til Tidepool - Last opp CGM data - Last opp behandlinger (insulin, karbohydrater) - Last opp temp basaler - Last opp profilbytter, temp targets - Last opp BS tester - 2t - BYODA - BYODA - Motta BS verdier fra \'Build Your Own Dexcom App\'. - COB vs IOB - Bolus begrensning brukt: %1$.2f E til %2$.2f E - !!!!! Advarsel: Treg KH absorpsjon oppdaget: %2$d%% av tiden. Dobbeltsjekk din beregning. COB can være misvisende og du risikerer å få for mye insulin !!!!!]]> - Doser denne delen av bolus wizard resultat [%] Bolus veiviser utfører beregninger, men bare denne del av beregnet insulin leveres. Nyttig ved bruk av SMB algoritmen. - Øker maks basaldose fordi innstillingen er lavere enn din maks basal i profilen - Valgt: Enheter - Sletting ferdig - Sletting startet - Ønsker du å omstarte læringsmålet? Du vil miste fullførte trinn. Velg enheter som du vil vise verdier i Nedre verdi for målområdet (kun visning) Øvre verdi for målområdet (kun visning) - Ugyldig % oppføring - Tilfeldig BS - Generer tilfeldige BS data (kun demo formål) - BS - Verktøy - Vis beregning Vis slettede Slett køen? All data i køen vil gå tapt! - Bruk av forlenget bolus funksjon vil deaktivere lukket loop i perioden med forlenget bolus. Vil du virkelig dette? - Lukket loop deaktivert på grunn av forlenget bolus Diagram meny SMB forespurt SMB utført @@ -574,36 +277,15 @@ Absolutt insulinmengde Hovedpassordet brukes for å beskytte backup og tilpasse enkelte sikkerhetsinnstillinger i appen. Husk passordet eller lagre det på et trygt sted. Nåværende hovedpassord - Statuslys - Kopier innstillingene fra NS - Kopiere NS innstillinger (hvis de eksisterer)? - Opprinnelig visningstema - Tema for lav oppløsning - Knapper vises alltid på bunnen av skjermen - Stor skjerm - Tema - Sammenlign profiler - Profilhjelper - Standard profil - Gjeldende profil - Tilgjengelige profiler - Profiltype - Alder: %1$.0f TDD: %2$.0f E - Alder: %1$.0f TDD: %2$.0f E %3$d%% - Alder: %1$.0f Vekt: %2$.0f kg - % av basal - DPV standardprofil RileyLink status: Klarte ikke å opprette profil. Profilen er ikke gyldig. Avslutte app? - Aktiver alarm når det er på tide å spise Nå må du spise!\Bruk bolus veiviseren og beregn på nytt. Aktiver bolus påminnelse Bruk påminnelse for å sette bolus dosen senere med veiviseren («post bolus») Opplast av krasj logger er deaktivert! Graf - Diagram meny Nullstill filtre Kanyle Bruk verdiene for det største måltidet du normalt spiser\n @@ -611,48 +293,12 @@ E-postadresse Personverninnstillinger Du kan oppgi valgfri e-postadresse hvis du ønsker å bli varslet om krasj. Dette er ikke en automatisert tjeneste. Du vil bli kontaktet av utviklere ved farlige hendelser. - Full synkronisering - Full synkronisering? Dette kan ta mange timer og du ser ikke nye data i NS før dette er ferdig. - Synkronisering - Profiler, boluser, karbohydrater, midlertidige basaler lastes opp til NS - Last opp data til NS - Hent lagrede profiler - Synkroniser profiler fra NS profileditor - Motta midlertidige BS mål - Aksepter midlertidige mål angitt med NS eller NSClient - Motta profilbytter - Aksepter profilbytter som er angitt via NS eller NSClient - Motta APS offline hendelser - Aksepter APS offline hendelser lagt inn gjennom NS eller NSKlient - Motta TBR og EB - Godta TBR og EB beregninger fra tilleggsmodul - Motta insulin - Aksepter insulin angitt via NS eller NSClient (enhetene er ikke dosert, kun beregnet mot IOB) - Motta karbohydrater - Aksepter karbohydrater angitt med NS eller NSClient - Motta behandlingshendelser - Godta behandlingshendelser (kanyle, insulin, batteribytte osv.) som er lagt inn gjennom NS eller NSClient - Motta/tilbakefyll CGM data - Aksepter CGM data fra NS - Kjør %s? - Reduser opplastingshastighet BS data status Fjern BS målinger - kanyle alder - patch pumpe alder - Patch pumpe Identifikasjon (e-post, Facebook eller Discord nick osv.) Identifikasjon ikke satt i utviklermodus dialogvindu - nåværende blodsukker - korriger resultatet med % - korriger resultatet med enheter Ikke tilgjengelig - graf - blodsukkermålingens kvalitet - insulin - blodsukker - utdatert Temptarget ukjent forhåndsinnstilling: %1$s Avbryt gjeldende Temp Target? @@ -667,22 +313,6 @@ Kalk. Wizard:\nInsulin: %1$.2fE\nKarbo: %2$dg Vis oppføring på enhet: Den valgte hurtigveiviseren er ikke tilgjengelig lenger, oppdater klokkewidget - Mangler nylige BS verdier til å bruke i beregninger! - Det er ikke angitt noen aktiv profil! - Ukjent COB! BS verdier mangler eller nylig oppstart av appen? - Brudd på karbo begrensning! - Kalk (IC: %1$.1f, ISF: %2$.1f) - Karbo: %1$.2fE - COB: %1$.0fg %2$.2fE - BS: %1$.2fE - IOB: %1$.2fE - Superbolus: %1$.2fE - 15\' trend: %1$.2fE - Prosent: %1$.2fE x %2$d%% ° %3$.2fE - Insulinbegrensning nådd!\nKan ikke levere %1$.2fE - TempT: %1$s - %1$s til %2$s - Ingen pumpe tilgjengelig! Ukjent kommando: Prosent Standardverdi @@ -691,13 +321,7 @@ Sorter Loop status Diagram skala - Profil 1 - Profil 2 - Logg inn - Fjern alt - Tilbakestill til oppstart åpne innstillinger - angi karbo nedtellings alarm Alle Telefon Klokke @@ -705,14 +329,7 @@ kun på telefon dra og slipp håndtering Søk - - GlucoRx Aidex - Aidex - Motta BS verdier fra GlucoRx Aidex CGM. - Blokkert på grunn av ladealternativer - Blokkert på grunn av tilkoblingsalternativer (Ingen klokke tilkoblet) - Juster sensitivitet og BS Database opprydding Vil du rydde opp i databasen?\nDet vil fjerne sporede endringer og historiske data eldre enn 3 måneder. Ryddet opp i oppføringer diff --git a/app/src/main/res/values-pl-rPL/exam.xml b/app/src/main/res/values-pl-rPL/exam.xml index c7325aafa0..3ea04e700d 100644 --- a/app/src/main/res/values-pl-rPL/exam.xml +++ b/app/src/main/res/values-pl-rPL/exam.xml @@ -1,180 +1,2 @@ - - Co jest prawdą w przypadku DIA? - Czas działania insuliny (DIA) - Powinieneś ustawić wartość dla DIA w swoim profilu. - Minimalna dopuszczalna wartość to 5 godzin. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Powinieneś określić dla siebie odpowiednią wartość DIA. - Cel tymczasowy dla Hipo - Jaki jest główny powód ustawienia celu tymczasowego Hipo? - Aby skorygować hipoglikemię spowodowaną nieprawidłowymi ustawieniami dawki podstawowej. - Korekta hipoglikemii wywołanej wysiłkiem fizycznym. - Aby zapobiec spadkowi poziomu glukozy we krwi, jeśli jest już uruchomiona tymczasowa dawka podstawowa wynosząca 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Który profil może być używany i skonfigurowany w trybie offline? - Temat: Profil w trybie offline - Profil NS może być używany, ale nie jest skonfigurowany. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Co należy zrobić przy rozłączeniu pompy? - Nie jest to konieczne, ponieważ insulina nie zostanie dostarczona, jeśli pompa jest fizycznie odłączona. - Nie zatrzyma podawania insuliny, jeśli pompa pozostanie podłączona. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Jakie są najlepsze procedury tworzenia kopii zapasowych swoich ustawień? - Nie ma potrzeby eksportowania ustawień, pod warunkiem, że zrobisz z nich notatki. - Wyeksportuj ustawienia po zakończeniu realizacji zadania sprawdzającego. - Wyeksportuj ustawienia po zmianie każdego z ustawień. - Wyeksportuj ustawienia po zakończeniu początkowej konfiguracji i ustawieniu preferencji. - Wyeksportuj ustawienia lokalnie, korzystając z menu konserwacji. - Twój plik ustawień znajduje się w folderze Pamięć wewnętrzna / AAPS / preferencje w telefonie. - Skopiuj plik preferencji w bezpieczne miejsce poza telefonem (np. Korzystając z dysku w chmurze, podłączając kabel do komputera, e-mail itp.) - Jeśli Twój telefon zostanie uszkodzony lub zgubiony, zastosowanie łatwe sposoby na zdalne odzyskanie ustawień bez kopii zapasowej. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Szumy w odczytach z CGM - Co powinno być wykonane gdy dane CGM są zaszumione? - Wyłącz pętlę zamkniętą, aby uniknąć możliwego przedawkowania lub niedoszacowania. - Wymieniaj stale zaszumione lub niewłaściwie wskazujące sensory. - Sprawdź, czy aplikacja CGM zapewnia wygładzone dane. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Ćwiczenia fizyczne i profile - Jak wykorzystać profile, aby najlepiej pomóc systemowi radzić sobie z ćwiczeniami aerobowymi? - Wykonaj zmianę profilu na poniżej 100%. - Wykonaj zmianę profilu na powyżej 100%. - Pozostaw profil ustawiony na 100%. - Wstrzymaj pętle. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Ćwiczenie fizyczne i cele tymczasowe - Jak wykorzystać cele tymczasowe, aby jak najlepiej pomóc systemowi radzić sobie z ćwiczeniami aerobowymi? - Ustaw cel poziomu glukozy we krwi \"ćwiczenia\" w odpowiednim czasie przed rozpoczęciem ćwiczeń fizycznych. - Ustaw cel poziomu glukozy we krwi \"ćwiczenia\" w odpowiednim czasie po zakończeniu ćwiczeń fizycznych. - Pozostaw cel poziomu glukozy we krwi niezmieniony. - Poczekaj, aż poziom glukozy we krwi spadnie poniżej celu tymczasowego \"Hipo\", a następnie zjedz 15 g szybko działających węglowodanów. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Wyłączona/zawieszona pętla - Czy otrzymuję insulinę, gdy pętla jest wyłączona/zawieszona? - Tak, insulina bazowa nadal jest dostarczana. - Nie, podawanie insuliny jest zatrzymane. - Testowanie dawki bazowej, ISF i I:C - Kiedy należy sprawdzić poprawność tych wartości? - Zanim zaczniesz używać pętli. - W przypadku częstego występowania wysokiego lub niskiego stężenia glukozy we krwi. - Co najmniej raz w tygodniu. - Po ustawieniu i zweryfikowaniu wartości te nie powinny zmieniać się w czasie. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Wymagania wstępne - Sprawdzone informacje profilowe (Basal, IC, ISF, DIA). - Komputer z zainstalowanym i skonfigurowanym programem Android Studio. - Obsługiwany telefon. - Kompatybilna pompa insulinowa, jeśli planujesz uruchomienie pętli zamkniętej. - Nightscout, aby zachować dziennik wszystkich danych i przeglądać ustawienia. - Konto Tidepool. - Konto Google. - Konto Github. - Doświadczenie w programowaniu lub edycji kodu. - Pompa MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Smartwatch. - Obsługiwany CGM. - Wymagania wstępne - Sprawdzone informacje umożliwiające skonfigurowanie profilu (współczynniki ISF, I:C, dawki bazowe, DIA itp.). - Kompatybilne urządzenie z systemem Android (np. telefon komórkowy, zegarek z pełnym systemem Android lub tablet). - Wspierany CGM i odpowiednia aplikacja, aby otrzymywać wartości glukozy we krwi na telefonie/urządzeniu. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Zaznacz wszystkie prawidłowe odpowiedzi. - Musisz mieć zainstalowany i skonfigurowany Git na komputerze. - Powinieneś/powinnaś zapisać i zanotować lokalizację swojego klucza i użyć tego samego klucza do aktualizacji jak dla poprzedniej instalacji. - Nigdy nie aktualizuj, jeśli system działa dobrze. - Jeśli masz trudności z budową apk, możesz zainstalować apk zbudowany przez znajomego. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Rozwiązywanie problemów - Należy zwrócić się do diabetologa lub lekarza endokrynologa. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Wtyczki insuliny - Która insulina powinna być używana z wtyczką Ultra-Rapid Oref? - Fiasp® - NovoRapid ® /Novolog ® - Humalog® - Actrapid ® /Humulin R ®/\"zwykła\" insulina ludzka. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Wtyczki wrażliwości - Zaznacz wszystkie prawidłowe odpowiedzi. - Wtyczki wrażliwości dostarczają użytkownikowi sugerowane zmiany w dawkach bazowych, współczynnikach I:C i ISF, które mogą być używane do edycji profilu. - Rejestracja zmiany wkłucia spowoduje zresetowanie współczynnika Autosens z powrotem do 100%. - Niektóre z opcji wtyczki mają konfigurowalne zakresy czasu, które mogą być ustawiane przez użytkownika. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Błędy wprowadzania węglowodanów - Co powinieneś zrobić, gdy wprowadziłeś niewłaściwą ilość węglowodanów? - Usuń niepoprawny wpis w leczeniu (Treat) i wprowadź poprawną nową wartość węglowodanów. - Bolus z insuliną z użyciem menu rozpoczęcia/wypełnienia zestawu infuzyjnego. - Bolus z insuliną za pomocą przycisku Insulina (bolus) na karcie głównej. - Błędy w dostarczaniu/wpisywaniu insuliny - Co należy zrobić, jeśli otrzymano mniej insuliny niż sugeruje historia pompy, np. z powodu niedrożności, uszkodzonej kaniuli lub zapomnienia o ponownym podłączeniu pompy po prysznicu? - Usuń dane insuliny z portalu Nightscout aby usunąć je z historii pompy. - Podaj obliczoną dawkę „pominiętej” insuliny za pomocą strzykawki / wstrzykiwacza lub za pomocą pompy funkcji wypełnienia. - Aktywna insulina (IOB) - Na wartość IOB mają wpływ wykonane tymczasowe dawki bazowe. - Wysoka tymczasowa dawka bazowa nie zostanie podana, gdy twóje poziom cukru we krwi jest poniżej poziomu docelowego. - Negatywne IOB utrzymujące się przez znaczny okres czasu bez wysiłku fizycznego sugeruje, że Twój profil jest zbyt silny i mniej insuliny jest wymagane w Twoich ustawieniach. - Pozytywne IOB utrzymujące się przez znaczny okres czasu sugeruje insulinooporność lub niezapowiedziany (niewprowadzony do AAPS) posiłek. - Wprowadzanie węglowodanów i bolusów - Do szacowania i zapisywania spożywanych węglowodanów należy używać tylko gramów. - Spożywane węglowodany mogą być rejestrowane przy użyciu odpowiednich zamiennych jednostek systemowych (np. DAFNE \"CHO\" wymienia lub europejskich \"jednostek chlebowych\"). - Jeśli poziom glukozy we krwi jest poza dopuszczalnymi wartościami (zbyt niski lub zbyt wysoki), kalkulator bolusa może być stosowany w celu dostarczenia sugestii dotyczących korekty węglowodanów lub insuliny. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs (e-węgle) - Do czego możesz użyć e-węgli (węglowodanów wydłużonych)? - W celu zaplanowania ilości węglowodanów w przyszłości, możliwych do dystrybucji w interwałach czasowych (podobnie do przedłużonego bolusa rozprowadzającego insulinę w odstępie czasowym). - Do rejestrowania węglowodanów ratunkowych spożytych do leczenia niskiego poziomu cukru we krwi. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Zdalny monitoring - Inne aplikacje (np. Dexcom follow, xDrip uruchomione w trybie śledzenia) pozwalają na śledzenie niektórych parametrów (np. poziom glukozy/wartości sensora) na odległość, ale używają różnych algorytmów, więc pokazywać nieprezcyzyjne wartości IOB lub COB. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Wskaźnik wrażliwości na insulinę (ISF) - Podwyższenie wartości ISF doprowadzi do zwiększenia ilości insuliny w celu pokrycia określonej ilości węglowodanów. - Obniżenie wartości ISF prowadzi do zwiększenia dawki insuliny w celu skorygowania stężenia glukozy we krwi powyżej wartości docelowej. - Podwyższenie lub obniżenie ISF nie ma wpływu na dostarczanie insuliny, gdy stężenie glukozy we krwi jest poniżej wartości docelowej. - Zmiana wartości ISF w profilu wystarczy, aby zastosować zmianę. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Możesz użyć więcej niż jednej wartości dla stosunku I:C w swoim profilu. - Jeśli zmienisz ISF w swoim profilu, zawsze powinieneś również zmienić swój stosunek I:C. - Stosunek insuliny do węglowodanów (stosunek I:C) - Wyższe wartości I:C prowadzą do mniejszej ilości insuliny dostarczonej dla danej ilości węglowodanowych. - Niższe wartości I:C prowadzą do mniejszej ilości insuliny dostarczonej dla danej ilości węglowodanowych. - Załóżmy, że masz 0 COB. Zmiana IC doprowadzi do podania innej ilości insuliny w celu skorygowania twojej wartości BG. - IC będzie inny, jeśli policzysz jednostkę chlebową (wymiennik węglowodanów) jako 10g lub 12g. - Znaczenie IC to: Ile jednostek chlebowych (wymienników węglowodanowych) jest pokrytych 1U insuliny. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Zmiana profilu - Określając 90% zmianę profilu, które odpowiedzi są prawdziwe? - Baza będzie o 10% niższa. - Wartość ISF będzie o 10% wyższa. - Wartość współczynnika I:C będzie mniejsza o 10%. - Współczynniki ISF i I:C nie ulegną zmianie. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Zmiana profilu - Po ustawieniu zmiany wartości profilu na 120%, które odpowiedzi są prawdziwe? - Docelowy poziom glukozy we krwi będzie o 20% wyższy. - Dawki bazowe będą o 20% wyższe. - Docelowy poziom glukozy we krwi nie ulegnie zmianie. - Wartość ISF będzie o 20% wyższa. - Zmiana profilu - Wprowadź zmianę profilu ze zmianą czasu równą 2 - Wprowadź zmianę profilu ze zmianą czasu równą -2 - Ustaw cel tymczasowy wkrótce posiłek. - Wykonaj zmianę profilu na powyżej 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Zmiany w profilach - Dawki bazowe, współczynniki ISF, I:C itp., powinny być ustawione w profilach. - Edycja profili w celu zmiany wartości wystarczy, aby uaktywnić wszelkie wprowadzone zmiany. - Można skonfigurować i wybrać wiele profili, aby uwzględnić zmieniające się okoliczności (np. Zmiany hormonalne, praca zmianowa, tryb życia w dni powszednie / weekendy). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Pomoc z dawkami bazowymi - Gdzie uzyskać pomoc w sprawie dawek podstawowych itp. - Twój zespół cukrzycowy - Google - Facebook - Inne leki. Przeczytaj poniższe oświadczenie, a następnie zaznacz pole, aby zaakceptować oświadczenie. - + diff --git a/app/src/main/res/values-pl-rPL/objectives.xml b/app/src/main/res/values-pl-rPL/objectives.xml index cb7e6a348f..3ea04e700d 100644 --- a/app/src/main/res/values-pl-rPL/objectives.xml +++ b/app/src/main/res/values-pl-rPL/objectives.xml @@ -1,53 +1,2 @@ - - Start - Zweryfikuj - %1$d. Zadanie - Zadanie %1$d nierozpoczęte - Zadanie %1$d nieukończone - Konfiguracja wizualizacji i monitorowania, analiza dawek bazowych i współczynników - Sprawdź czy BG (pomiary cukru) są dostępne w Nightscout, i czy przesyłane są dane pompy insulinowej - Rozpoczęcie w trybie otwartej pętli (open loop) - Uruchom w trybie otwartej pętli przez kilka dni i ręcznie potwierdzaj kilka zmian dawki tymczasowej. Ustaw i używaj celów tymczasowych i domyślnych celów tymczasowych (np. Ćwiczenia lub Hipo) - Zrozumienie działania otwartej pętli, wraz z jej rekomendacjami dawek tymczasowych - Na podstawie tych doświadczeń zdecyduj jaka powinna być ustawiona maksymalna baza, i wprowadź ją w pompie i w ustawieniach AAPS - Rozpoczęcie zamknięcia pętli z zawieszeniem podawania bazy przy niskim poziomie cukru - Używaj przez kilka dni zamkniętej pętli (Closed Loop) z max IOB = 0 bez zbyt wielu incydentów niedocukrzeń - Dostrajanie zamkniętej pętli, podniesienie wartości max IOB powyżej 0 i stopniowe obniżanie docelowego poziomu cukru (BG target) - Używaj pętli przez kilka dni i przynajmniej jedną noc bez żadnego alarmu niskiego poziomu, przed obniżeniem docelowego poziomu cukru - Dostosuj bazę i wartości parametrów jeśli jest to potrzebne, i wtedy uruchom funkcję autosens - 1 tydzień sukcesu w działaniu pętli w ciągu dnia z regularnym wprowadzaniem spożywanych węglowodanów - Włączanie dodatkowych funkcji do użytku, jak SMB (Super Mikro Bolusy) - Włączanie automatyzacji - Musisz przeczytać wiki i zwiększyć maxIOB, aby SMB działało dobrze! Dobrym początkiem jest maxIOB = średni bolus + 3 x maks. dzienna dawka bazowa - Przeczytaj dokumentację dotyczącą działania automatyzacji. Skonfiguruj swoje pierwsze proste zasady. Zamiast działania niech AAPS wyświetli tylko powiadomienie. Gdy masz pewność, że automatyzacja zostaje uruchomiona we właściwym czasie, zastąp powiadomienie rzeczywistą akcją. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - BG dostępne w NS - Status pompy dostępny w NS - Ręczne zarządzanie - Ukończone: %1$s - Ustaw profil 90% na 10 min (Długie przytrzymanie nazwy profilu w Przegląd) - Symuluj prysznic. Odłącz pompę na 1 godzinę (długie naciśnięcie w otwartej pętli) - ... i połącz się ponownie w ten sam sposób - Utwórz własny cel tymczasowy z czasem trwania 10 min (przytrzymaj dłużej przycisk z Twoją nazwą profilu) - W konfiguracji włącz wtyczkę Akcje, zrób ją widoczną i wyświetl jej zawartość w górnym menu - Wyświetl zawartość wtyczki Pętla (Loop) - Użyj funkcji skalowania przez dłuższe przytrzymanie wykresu glikemii - Wprowadź - Jeśli masz co najmniej 3 miesiące doświadczenia w zamkniętej pętli z innymi systemami, możesz kwalifikować się do kodu umożliwiającego pominięcie celów. Szczegółowe informacje można znaleźć pod adresem https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. - Kod został zaakceptowany - Niepoprawny kod - Potwierdź swoje umiejętności - Przestudiuj pytania. Na każde pytanie masz cztery możliwe odpowiedzi. Może być więcej niż jedna poprawna odpowiedź. Zaznacz wszystkie poprawne i wybierz WERYFIKUJ. - Odpowiadanie wyłączone do: %1$s - Odpowiedź nieprawidłowa! - Następny niedokończony - Kod zapytania: %1$s - (zaznacz wszystkie poprawne odpowiedzi) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Brak połączenia z Internetem - Nie udało się odzyskać - Wymagania celu nie zostały spełnione - + diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 50a4bab79a..cff1f77981 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -3,85 +3,44 @@ - Bezpieczeństwo terapii - Maks. dopuszczalny bolus [U] - Maks. dopuszczalne węglowodany [g] %1$s Ustawienia Ustawienia Odśwież/pobierz zdarzenia z NS Zresetuj bazy danych Na pewno chcesz zresetować bazy danych? Wyjście - Niektóre przyciski umożliwiające szybki dostęp do typowych funkcji Konfiguracja aktywnych modułów systemu - Program do nauki Włącz lub wyłącz działanie pętli. - Synchronizuje twoje dane z Nightscout - Stan algorytmu w 2017 - Najnowszy algorytm dla zaawansowanych użytkowników Wyświetla bieżący stan twojej pętli i przyciski dla większości typowych działań Wyświetla bieżące powiadomienia z krótkim omówieniem działania pętli - Integracja z pompami, które nie posiadają jeszcze żadnego sterownika (Open Loop) Wrażliwość jest obliczana w taki sam sposób, jak algorytm Oref0, ale możliwe jest podanie okresu z przeszłości. Minimalne wchłanianie węglowodanów jest obliczana na podstawie czasu wchłaniania max carb, określonego w ustawieniu. Wrażliwość oblicza się na podstawie danych z ostatnich 8 lub 24 godzin (przy użyciu danych o wyższej wrażliwości). Węglowodany (jeśli nie są wchłonięte) są skracane po upływie czasu określonego w ustawieniach. Wtyczka również oblicza UAM. Wrażliwość jest obliczana jako średnia ważona z odchyleń. Nowsze wartości mają większą wagę. Minimalne wchłanianie węglowodanów jest obliczana na podstawie czasu wchłaniania max carb, określonego w ustawieniu. Algorytm ten najszybciej śledzi zmiany wrażliwości. - Pobieraj wartości BG ze spatchowanej aplikacji Eversense. - Pobieraj wartości BG z Glimp. - Pobieraj wartości BG z uploadera pomp serii 600. - Pobieraj wartości BG z Nightscout - Pobieraj wartości BG z xDrip+. Zapisuje wszystkie wykonane czynności leczenia - Uruchom teraz - POMPA WIRTUALNA - Ostatnie działanie - Parametry wejściowe - Stan glukozy - Obecna tymczasowa - Dane IOB - Profil - Dane posiłku - Rezultat - Wynik: %1$s %2$s - Brak danych o glukozie - Żądanie Delta Konfiguracja Przegląd Terapia - Pompa wirtualna Pompa Profil APS Który algorytm APS powinien dokonywać korekcji terapii? Ogólne To są główne wtyczki, które mogą okazać się użyteczne. + Synchronizacja Które ograniczenia są zastosowane? - Ograniczenia Pętla APS Po ograniczeniach Baza tymczasowa ustawiona przez pompę NIE WYBRANO APS LUB NIE UZYSKANO WYNIKU - Zabezpieczenia - Wtyczka jest wyłączona Naruszenie ograniczeń - Akceptuj nową bazę tymczasową: Zmień wprowadzone dane! Źródło BG - xDrip+ - Tryb APS - Zamknięta pętla - Otwarta pętla - Zawieszenie przy niskiej glikemii Dostępna nowa sugestia Sugestia węglowodanów - Niewspierana wersja Nightscout - Czas węglow. Profil - BazaTymczasowa - Bolus Przedłużony Wersja Nightscout: - Brakuje %1$d g Ustawienia wyeksportowane Wyeksportowano wpisy użytkownika Eksportuj ustawienia do @@ -90,12 +49,7 @@ Nie znaleziono pliku Eksportuj ustawienia Importuj ustawienia - Maksymalna wartość U/h tymczasowej bazy może być ustawiona na - Wartość określona jako Maksymalna Baza (max basal) w OpenAPS - Maksymalna bazowa IOB, którą OpenAPS może dostarczyć [U] - Ta wartość jest nazywana Max IOB w OpenAPS\nTo jest maksymalna wartość insuliny w [U], którą APS może dostarczyć w danej chwili. Zostaniesz poproszony o hasło główne, które będzie użyte do szyfrowania wyeksportowanych preferencji. - Zostaniesz poproszony o hasło główne, które jest potrzebne do odszyfrowania zaimportowanych preferencji. Eksportowanie anulowane! Ustawienia NIE zostały wyeksportowane! Import anulowany! Ustawienia NIE zostały zaimportowane! Nie można zaimportować ustawień! @@ -115,7 +69,6 @@ ROZUMIEM I WYRAŻAM ZGODĘ ZACHOWAJ Załaduj profil ponownie - Bolus zdefiniowany Ustaw szybkie bolusy Tekst przycisku: Węglow.: @@ -123,16 +76,9 @@ Dodaj Edytuj Korekta - Akcje (NIEBEZPIECZNIE TO WYŁĄCZYĆ) tylko przesyłanie NS Tylko przesyłanie NS (wyłączona synchronizacja). Nie ma wpływu na pomiary glikemii (SGV), chyba że wybrane jest lokalne źródło, takie jak xDrip+. Nie wpływa na profile gdy używane są profile z Nightscout.\n!!! OSTRZEŻENIE !!! Wyłączenie tej opcji może spowodować nieprawidłowe działanie i przedawkowanie insuliny, jeśli którykolwiek z Twoich komponentów (AAPS, NS, xDrip+) nie jest skonfigurowany poprawnie. Uważnie obserwuj, czy dane wyświetlane przez AAPS są zgodne ze stanem pompy! Pompa nie zainicjowana! - Rozpocznij/Wypełnij - Proszę upewnij się, że ilość wypełnienia odpowiada ilości właściwej dla twojego wkłucia! - Rozpocznij/Wypełnij standardowe ilości insuliny - Przycisk 1 - Przycisk 2 - Przycisk 3 Jednostki Zakres do wizualizacji (na wykresie) Oznaczenia wysokiego i niskiego cukru na wykresie w oknie przegląd i na smartwatch\'u @@ -141,107 +87,22 @@ Oprogramowanie Wear (Smartwatch) Prześlij ponownie wszystkie dane Otwórz ustawienia dla Wear - Dawka bazowa - MM640g Nadchodzące powiadomienia NIEAKTUALNE DANE - OpenAPS AMA - Lista %1$d elementów.\n Bieżąca wartość: - Dane Autosens - Debugowanie skryptów - Użyj funkcji Autosens - ACT CONF LOOP - OAPS HOME - VPUMP TREAT - OBJ WEAR Skrócone tytuły kart - Zawsze używaj krótkiej średniej delty zamiast prostej delta - Użyteczne, jeżeli dane z niefiltrowanego źródła jak xDrip+ mają rozrzut / szumy. - Wartość domyślna: 3 To jest kluczowy współczynnik bezpieczeństwa OpenAPS. Ogranicza dawki bazowe do 3x twojej największej dawki bazowej. Prawdopodobnie nie będziesz musiał tego zmieniać, ale powinieneś być świadomy tego, co się rozumie przez “3x max dzienna; 4x aktualna” dla współczynników bezpieczeństwa. - Wartość domyślna: 4 To jest drugi kluczowy współczynnik bezpieczeństwa OpenAPS, i druga wartość z “3x max dzienna; 4x aktualna”. To oznacza, że Twoja dawka bazowa niezależnie od maksymalnej bazy ustawionej na pompie nie może być większa niż ta ustawiona wartość razy twoja aktualna dawka bazowa. To ma na celu przestrzec ludzi przed ustawieniem zbyt wysokiej dawki maksymalnej przed zrozumieniem jak działa algorytm. Ponownie, wartość domyślna to 4x; większość ludzi nie będzie potrzebowała tego zmienić i raczej będą potrzebować dostosować inne ustawienia, jeśli czują, że zbliżają się do współczynnika bezpieczeństwa. - Wartość domyślna: 1.2\nTo jest mnożnik dla autosens (wkrótce autotune), ustawia 20%% maks. limit dla najwyższej wartości jaką autosens może przyjąć, co z kolei określa jak wysoko autosens może zwiększyć bazę, jak nisko może ustawić współczynnik wrażliwości insuliny ISF, i jak nisko może ustawić docelową wartość glikemii. - Wartość domyślna: 0.7\nDruga strona limitu bezpieczeństwa dla autosens, ustawia mnożnik minimalny dla wartości, do jakiej autosens może obniżyć bazę, i jak wysoko może ustawić ISF i wartość docelową BG. - Autosens dostosowuje również wartości docelowe - Domyślnie włączone\nTa funkcja pozwala wpływać na zmianę wartości docelowe BG, wartości bazy i oraz współczynnika wrażliwości na insulinę ISF. - Wartość domyślna: 2\nBolus snooze jest uruchamiany po wykonaniu bolusa posiłkowego, tak by pętla nie przeciwdziałała niskim wartościom tymczasowym zaraz po posiłku. Jako przykład: wartość domyślna ustawiona jest 2; więc 3 godzinne DIA oznacza, że bolus snooze będzie stopniowo wycofany po 1.5 godziny (3DIA/2). - Wartość domyślna: 3.0 (AMA) lub 8.0 (SMB). To jest ustawienie domyślnego wpływu wchłaniania węglowodanów w czasie 5 min. Wartością domyślną jest spodziewane 3mg/dl/5min. Ma to wpływ na szybkość zaniku COB, oraz jak duże wchłanianie węglowodanów będzie przyjęte do obliczeń przyszłych przewidywanych wartości BG, jeżeli BG obniża się bardziej niż w założono, lub nie wzrasta tak szybko jak się spodziewano. - UWAGA!\nZwykle nie trzeba zmieniać tych wartości. Proszę NACIŚNIJ TUTAJ i PRZECZYTAJ tekst i upewnij się, że ROZUMIESZ go przed zmianą którejś z tych wartości. - Wykonywanie - Ustawienia pompy wirtualnej - Przesyłaj status do NS - NSClient - NSCI - URL: - Autoprzewijanie - Restart - NSClient - Nightscout URL - Wprowadź URL Nightscout - NS API secret - NS API secret - Wprowadź NS API secret (min 12 znaków) - Dostarcz teraz - Wyczyść kolejkę - Pokaż kolejkę - Kolejka: - Status: - Wyczyść log - NSCLIENT nie ma uprawnień do zapisu. Błędny API secret? Ustawienia Wear nie udało się - proszę sprawdzić telefon - Typ pacjenta - Dziecko - Nastolatek - Osoba dorosła - Osoba dorosła insulinooporna - Ciąża - Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa Nazwa pacjenta Proszę podać nazwę pacjenta lub pseudonim w celu rozróżnienia pomiędzy różnymi konfiguracjami - Glimp - Wstrzymaj pętlę na 1h - Wstrzymaj pętlę na 2h - Wstrzymaj pętlę na 3h - Wstrzymaj pętlę na 10 h - Odłącz pompę - Wyłącz pompę na 15 min - Wyłącz pompę na 30 min - Wyłącz pompę na 1 h - Wyłącz pompę na 2 h - Wyłącz pompę na 3 h - 15 min - 30 min - 1 godzina - 2 godziny - 3 godziny - 10 godzin - Wznów - Połącz ponownie pompę - Wyślij start app do NS Zamykanie aplikacji w celu wprowadzenia ustawień. Jakiego typu insuliny używasz? Zezwalaj na superbolus w kalkulatorze Włącz funkcję Superbolus w kalkulatorze. Nie uruchamiaj, dopóki nie nauczysz się jak ta funkcja działa. MOŻESZ DOPROWADZIĆ DO PRZEDAWKOWANIA INSULINY JEŻELI UŻYJESZ TEJ FUNKCJI NIE POSIADAJĄC ODPOWIEDNIEJ WIEDZY! - Pokaż diody stanu na ekranie głównym - Ostrzeżenie o czasie wkłucia [h] - Krytyczny czas wkłucia [h] - Ostrzeżenie o czasie insuliny [h] - Krytyczny czas insuliny [h] - Ostrzeżenie o czasie sensora CGM [h] - Krytyczny czas sensora CGM [h] - Próg ostrzeżenia o poziomie baterii sensora [%] - Próg ostrzeżenia o krytycznym poziomie baterii sensora [%] - Próg ostrzeżenia o wieku baterii pompy [g] - Próg krytycznego wieku baterii pompy [g] - Próg ostrzeżenia o poziomie zbiornika [U] - Próg ostrzeżenia o krytycznym poziomie zbiornika [U] - Próg ostrzeżenia o poziomie baterii pompy [%] - Próg krytycznego poziomu baterii pompy [%] PRED BAZ ODCH @@ -251,18 +112,12 @@ KRZOD O programie Brak uprawnień do wykrywania stanu telefonu - Anuluj bolus przedłużony Zmień profil - Sensor - Insulina - Bateria pompy - czas: - poziom: - Opcje alarmu + Opcje alarmu Utwórz powiadomienia z alarmów NS Utwórz powiadomienia z komunikatów NS - Próg nieaktualne dane [min] - Próg uwaga nieaktualne dane [min] + Próg nieaktualne dane [min] + Próg uwaga nieaktualne dane [min] Przedział czasowy dla autosens [h] Ilość minionych godzin brana pod uwagę do określenia wrażliwości \"sensitivity\" (wyklucza się czas wchłaniania węglowodanów) OpenAPS @@ -275,23 +130,13 @@ Ustawienia wchłaniania Maks. czas wchłaniania posiłku [h] Oczekiwany czas w godzinach, w którym wszystkie węglowodany zostają wchłonięte - OAPS - UPLD Utrzymuj ekran włączony Nie pozwól, aby system Android wyłączał ekran. Zwiększy to zużycie energii, gdy zasilanie sieciowe jest wyłączone. Przy włączonej funkcji Autosens pamiętaj, żeby wprowadzać wszystkie węglowodany. W innym wypadku odchylenia węglowodanów będą błędnie identyfikowane jako zmiany wrażliwości !! Wrażliwość ŚredniaWażona Nie wszystkie profile zostały załadowane! Wartości nie są przechowywane! - Włącz transmisję lokalnie. - OpenAPS SMB - Włącz UAM - Włącz SMB - Używaj SMB (Super Mikro Bolusów) zamiast bazy tymczasowej dla szybszego działania - Detekcja niezapowiedzianych posiłków (UAM) NIEPRAWIDŁOWY - Procent - Zmiana czasu Domyślne tymczasowe wartości docelowe WkrótcePosiłek czas trwania WkrótcePosiłek cel @@ -299,33 +144,16 @@ Ćwiczenia cel Hipo czas trwania Hipo cel - Użyj ponownie %1$d%% %2$dh Sterowanie z zegarka Ustawiaj wartości docelowe i wprowadzaj leczenie z zegarka. - Użyj powiadomień systemowych dla alertów i powiadomień Stopniowo zwiększaj głośność ostrzeżeń i powiadomień Alarmy lokalne Alarm, jeśli nie są odbierane odczyty BG Alarm, gdy pompa jest nieosiągalna Pompa nieosiągalna próg [min] Alarm gdy wymagane jest podanie węglowodanów - Pilny alarm - INFO - Apka Eversense (spatchowana) - Przekaż dane BG do NS - Ustawienia wysyłania wartości BG (poziomów cukru) Pokaż szczegółowe delta Pokaż deltę z jednym więcej miejscem dziesiętnym - Jak często SMB zostanie podane w min. - Maks. ilość minut dawki bazowej do ograniczenia SMB - Maksymalna liczba minut UAM SMB - Maks. ilość minut dawki bazowej do ograniczenia SMB dla UAM - Minimalna sugestia węglowodanów (dosłodzenia) - Minimalna ilość węglowodanów, w gramach, niezbędna dla pokazania sugestii dosłodzenia. Sugestie dosłodzenia poniżej tej wartości będą ignorowane - powiadomienie nie będzie pokazywane. - Prześlij dane BG do xDrip+ - W xDrip+ wybierz źródło danych 640g/Eversense - NSClient BG - NS BG Obliczenia BG Obliczenia Bolus IOB Obliczenia IOB @@ -335,41 +163,17 @@ Tylko negatywne Obliczenia COB Obliczenie celu tymczasowego - Pętla włączona - Wybrano APS - NSClient ma prawo do zapisu - Tryb zamknięty włączony - Maks. IOB ustawione poprawnie - BG dostępne z wybranego źródła - Błąd dostarczania bolusa przedłużonego - Włącz SMB (Super Mikro Bolusy) zawsze - Włącz SMB (Super Mikro Bolusy) zawsze, niezależnie od bolusów. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 - Włącz SMB po węglowodanach - Włącz SMB na 6 godzin po węglow., nawet z 0 COB. Możliwe jedynie ze źródłem BG (poziomu cukru) z dobrym filtrowaniem, jak aplikacja G5 - Włącz SMB z COB - Włącz SMB gdy COB są aktywne. - Włącz SMB z tymczasowym poziomem docelowym (TT) - Włącz SMB gdy tymczasowy poziom docelowy (TT) jest aktywny (TT WkrótcePosiłek, TT ćwiczenia) - Włącz SMB z wysokim tymczasowym poziomem docelowym - Włącz SMB, gdy aktywowano wysoki cel tymczasowy (Ćwiczenia, powyżej 100 mg/dl lub 5, 5 mmol/l) - Insulina Przyciski Wysyła kalibrację do xDrip+ lub otwiera dialog kalibracji w Dexcom Patched Otwiera xDrip+ lub Dexcom Patched, przycisk \"cofnij\" wraca do AAPS Liczba węglowodanów do dodania po wciśnięciu przycisku Ilość insuliny do dodania po wciśnięciu przycisku Nie można uruchomić aplikacji CGM. Upewnij się, że została zainstalowana. - CGM Ignoruj 5 min Ignoruj 15 min Ignoruj 30 min - Przegląd historii Powiadom na SMB Pokaż SMB na zegarku jak bolus standardowy. - Twórz powiadomienia o błędach - Twórz powiadomienia z wymaganych dodatkowych węglowodanów (sugestii dosłodzenia) - Twórz powiadomienia Nightscout o błędach i lokalnych alarmach (również widoczne w PortaluOpieki w ramach Leczenia) - Twórz powiadomienia w Nighstcout na podstawie sugestii dosłodzenia Pokaż prognozę poziomu na zegarku. Prognozy Wybór Danych @@ -377,8 +181,6 @@ Zezwalaj na automatyczne zgłaszanie awarii i danych o użytkowaniu aplikacji do deweloperów za pośrednictwem usługi fabric.io. Proszę uaktualnij swoją Apkę Dexcom do wersji wspieranej Apka Dexcom nie jest zainstalowana. - Nie podawaj bolusa, tylko zapisz rekord - Bolus zostanie jedynie odnotowany (nie będzie podany przez pompę) SMB ustawiony przez pompę Aktywność Wpływ na glikemię (BGI) @@ -387,29 +189,9 @@ COB (Aktywne Węglow.) IOB (Aktywna Insulina) Dawki Bazowe - Uruchomiona jest wersja dev. Zamknięta pętla jest wyłączona. Tryb Inżynierski włączony - Pompa nie jest zdolna do wykonywania dawek bazowych tymczasowych - Tryb zamkniętej pętli wyłączony w ustawieniach - Autosens wyłączony w ustawieniach - SMB wyłączone w ustawieniach - UAM wyłączone w ustawieniach - UAM jest wyłączone ponieważ zależy od wtyczki wrażliwości Oref1 - mnożnik maksymalnej dawki bazowej - mnożnik maksymalnej dziennej dawki bazowej Bolus został podany w ciągu ostatnich 3 minut, opuszczam SMB Baza ustawiona prawidłowo - Ograniczam bolus do %1$.1f U z uwagi na %2$s - Ograniczam węglow. do %1$d g z uwagi na %2$s - Ograniczam IOB do %1$.1f U z uwagi na %2$s - maks. wartość w ustawieniach - twarde ograniczenie - Zapisz zmianę wkłucia - Zapisz zmianę zasobnika insuliny - SMB zawsze i po węglow. wyłączone z uwagi na brak źródła BG z zaawansowanym filtrowaniem - SMB nie dozwolone w trybie otwartej pętli - Maksymalna, całkowita IOB, której OpenAPS nie może przekroczyć [U] - Ta wartość jest nazywana Max IOB w OpenAPS\nOpenAPS nie poda więcej insuliny jeżeli obecna IOB jest większa niż ta wartość Maksymalny czas wchłaniania posiłku [h] Czas, w którym każdy posiłek jest uznany za wchłonięty. Pozostałe węglowodany zostaną wyzerowane. Pokaż pole uwag w oknie leczenia @@ -424,28 +206,16 @@ Drugi stopień przyrostu węglow. Trzeci stopień przyrostu węglow. CGM - WiFi SSID - Ustawienia połączenia - Dozwolone SSID (rozdzielone średnikiem) - Zezwalaj na połączenia w roamingu Maks. mnożnik autosens Min. mnożnik autosens - Bolus snooze dia divisor (Dzielnik uśpienia bolusa) - Max daily safety multiplier (Mnożnik bezpieczeństwa maksymalnej dziennej dawki bazowej [U/godzinę]) - Current basal safety multiplier (Mnożnik bezpieczeństwa aktualnej dziennej dawki bazowej [U/godzinę]) - Pompa wirtualna - Definicja Pompy - Bolus: Krok =%1$s\nBolus Przedłużony: [krok =%2$s, czas trwania =%3$smin -%4$sh] \nBasal: krok =%5$s\nTBR: %6$s (przez %7$s), czas trwania =%8$smin -%9$sh\n%10$s Obliczenia uwzględnione w wynikach kreatora: Ustawienia wyświetlania Ustawienia ogólne - Włącz NSClient Witaj w kreatorze konfiguracji. Poprowadzi Cię on przez proces instalacji\n Odczyt stanu Pomiń Kreatora konfiguracji Wtyczka wrażliwości używana jest w celu określenia wrażliwości i kalkulacji COB. Więcej informacji na: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient obsługuje połączenia z Nightscout. Można teraz pominąć tę część, ale nie będziesz mógł wykonać Zadań (programu do nauki), dopóki nie dokończysz tej konfiguracji. Pamiętaj: nowe profile insuliny wymagają ustawienia DIA (czas działania insuliny) powyżej 5h. DIA między 5-6h na nowym profilu odpowiada 3h DIA na starych profilach insuliny. Wybierz jeden z dostępnych algorytmów. Ułożone są one od najstarszych do najnowszych. Nowszy algorytm jest zazwyczaj bardziej wydajny i agresywny. Jeśli jesteś nowym użytkownikiem, lepiej zacznij od zaawansowanego asystenta posiłku AMA, a nie od najnowszego algorytmu. Zapoznaj się koniecznie z dokumentacją OpenAPS przed wybraniem odpowiedniego algorytmu i jego konfiguracją. Proszę skonfigurować RileyLink poniżej. Po wybraniu RileyLink, możliwe będzie kontynuowanie konfiguracji, gdy status RileyLink będzie \"Połączony\". To może zająć minutę.\n @@ -455,19 +225,6 @@ Otwórz menu Zamknij menu Konfiguracja wtyczki - Poctech - Odczytuj wartości BG z aplikacji Poctech - Glunovo - Otrzymuj wartości z aplikacji Glunovo - Otrzymuj poziomy cukru (BG) z Apki Tomato) (urządzenie MiaoMiao) - Wysoki tymczasowy cel zwiększy wrażliwość - = 100]]> - Niski tymczasowy cel zmniejszy wrażliwość - - Oporność na działanie insuliny obniża cel - Po wykryciu oporności obniża się docelowy poziom cukru - Wrażliwość podnosi docelowy poziom glukozy - Po zwiększeniu wrażliwości zwiększ docelowy poziom glukozy Znaleziono zapisane ustawienia Niekompletne dane leczenie Ustawienia Konserwacji @@ -480,62 +237,21 @@ Usuń logi Leczenie (insulina: %1$.2f, węglowodany: %2$d, czas:%3$s) nie mogą być dodane. Sprawdź i dodaj ręcznie rekord w razie potrzeby. eWęgle: %1$d g (%2$d h), Opóźnienie: %3$d m - Brak dostępnych danych autosens Log files Ustawienia logów Przywróć ustawienia domyślne - Usterka NSClient. Spróbuj zrestartować NS i NSClient. Preferowany tryb APS Wyślij dzisiejsze pliki logów razem z datą i czasem do programistów. Nieoczekiwana sytuacja. Minimalna żądana zmiana [%] Otwarta pętla wprowadzi żądanie zmiany tylko w przypadku, gdy będzie ona większa niż ta wartość w %. Wartość domyślna to 20% == ∑ %1$s U - Prześlij zmianę sensora do NS - Tomato (MiaoMiao) - Tomato - Twoja nazwa użytkownika Tidepool, zwykle Twój adres e-mail - Login nazwa użytkownika - Twoje hasło logowania do Tidepool - Hasło logowania - Sprawdź dostęp do Tidepool - Jeśli ta opcja jest włączona, przesyłanie będzie dostępne na https://int-app.tidepool.org zamiast zwykłego https://app.tidepool.org/ - Użyj serwerów integracyjnych (testowych) - Tidepool - TDP - Prześlij dane do Tidepool - Prześlij dane CGM - Prześlij terapię (insulina, węglowodany) - Prześlij bazy tymczasowe - Prześlij zmiany profilu, cele tymczasowe - Prześlij testowe BG - 2 h - Dexcom Patched - DEX.PATCH. - Pobieraj glikemię ze spatchowanej aplikacji Dexcom. - COB vs IOB - Zastosowano ograniczenie bolusa: %1$.2f U do %2$.2f U - !!!!! Wykryto powolne wchłanianie węglowodanów: %2$d%% czasu. Sprawdź ponownie swoje obliczenia. COB mogły być przeszacowane przez co mogło być podane zbyt dużo insuliny !!!!!]]> - Dostarcz tą część dawki insuliny z wyniku kalkulatora bolusa [%] Kreator bolusa wykonuje obliczenia, ale tylko ta część obliczonej dawki insuliny jest dostarczana. Pomocne z algorytmem SMB. - Zwiększanie maksymalnej wartości bazowej ponieważ ustawienia są poniżej maxymalnej wartości bazy w profilu - Wybrany: Jednostki - Wyczyść skończone - Wyczyść rozpoczęte - Czy chcesz zresetować czas rozpoczęcia zadania? Możesz utracić postępy. Wybierz jednostki, w których chcesz wyświetlać wartości Dolna wartość zakresu docelowego (tylko do wyświetlania) Górna wartość zakresu docelowego (tylko do wyświetlania) - Nieprawidłowa wartość procentowa - Losowa BG - Generuj losowe dane BG (tylko tryb demonstracyjny) - BG (poziom cukru) - Narzędzia - Pokaż obliczenia Pokaż usunięte Wyczyścić kolejkę? Wszystkie dane w kolejce zostaną utracone! - Użycie funkcji Extended bolus spowoduje zatrzymanie trybu pętli zamkniętej na czas działania przedłużonego bolusa. Czy na pewno tego chcesz? - Zamknięta pętla wyłączona, ponieważ działa Extended Bolus (bolus przedłużony) Menu wykresu Żądany czas SMB Czas wykonywania SMB @@ -548,34 +264,13 @@ Cała insulina Hasło główne jest używane do szyfrowania kopii zapasowych i przełamania zabezpieczeń w aplikacji. Zapamiętaj je lub przechowuj w bezpiecznym miejscu. Aktualne hasło główne - Wskaźniki stanu - Kopiowanie ustawień z NS - Czy skopiować ustawienia NS (jeśli istnieją)? - Motyw oryginalny - Mały ekran - Przyciski są zawsze wyświetlane na dole ekranu - Duży ekran - Motyw - Porównaj profile - Pomocnik profilu - Profil domyślny - Bieżący profil - Dostępny profil - Typ profilu - Czas: %1$.0f TDD: %2$.0f U - Wiek: %1$.0f TDD: %2$.0f U %3$d%% - Wiek: %1$.0f Waga: %2$.0f kg - % bazy - Domyślny profil DPV Stan RileyLink: Nie można utworzyć profilu. Profil jest nieprawidłowy. Nie zabij mojej aplikacji? - Uruchom alarm kiedy będzie czas na jedzenie Czas jeść!\nUruchom kreatora bolusa i zrób obliczenia ponownie. Włącz przypomnienie bolusa Przesyłanie dzienników awarii jest wyłączone! Wykres - Menu wykresu Wyczyść filtr Kaniula Użyj wartości największego jedzenia, które zazwyczaj zjadasz\n @@ -583,29 +278,6 @@ Adres e-mail Ustawienia prywatności Możesz opcjonalnie podać adres e-mail, jeśli chcesz otrzymywać powiadomienia o awariach aplikacji. To nie jest usługa zautomatyzowana. W niebezpiecznych sytuacjach deweloperzy skontaktują się z Tobą. - Pełna synchronizacja - Wykonać pełną synchronizację? Może ona potrwać wiele godzin i aż do jej zakończenia nie zobaczysz nowych danych w NS. - Synchronizacja - Profile, bolusy, węglowodany, tymczasowe bazy są przesyłane do NS - Prześlij dane do NS - Odbieraj zapisane profile - Synchronizuj profile z edytorem profilów NS - Odbieraj cele tymczasowe - Akceptuj cele tymczasowe wprowadzone przez NS lub NSClient - Odbieraj zmiany profilu - Akceptuj zmiany profilu wprowadzone przez NS lub NSClient - Odbieraj zdarzenia o rozłączeniu APS - Akceptuj zdarzenia o rozłączeniu APS wprowadzone przez NS lub NSClient - Odbieraj wpisy o insulinie - Akceptuj wpisy o insulinie wprowadzone przez NS lub NSClient (insulina nie zostanie podana, jedynie obliczona do IOB) - Odbieraj wpisy o węglowodanach - Akceptuj węglowodany wprowadzone przez NS lub NSClient - Odbieraj zdarzenia związane z leczeniem - Akceptuj zdarzenia związane z leczeniem (kaniula, insulina, zmiana baterii itp.) wprowadzone przez NS lub NSClient - Odbieraj/uzupełnij dane CGM - Akceptuj dane CGM z NS - Uruchomić %s? - Wysyłaj dane wolniej Stan danych glikemii Identyfikator (email, nick na FB lub Discordzie itp.) Identyfikator nie jest ustawiony w trybie dev @@ -614,6 +286,4 @@ Usuń wybrane pozycje Wybrany %1$d Sortuj - Zaloguj się - diff --git a/app/src/main/res/values-pt-rBR/exam.xml b/app/src/main/res/values-pt-rBR/exam.xml index e80153cf2b..3ea04e700d 100644 --- a/app/src/main/res/values-pt-rBR/exam.xml +++ b/app/src/main/res/values-pt-rBR/exam.xml @@ -1,181 +1,2 @@ - - O que é verdade sobre o DAI? - Duração da Atividade da Insulina (DAI) - Você deve definir o valor para a DAI no seu perfil. - A menor duração permitida é de 5 horas. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Você deve determinar por si mesmo o valor apropriado para a DAI. - Alvo Temporário para hipoglicemia - Qual é a razão principal para definir um alvo temporário de hipoglicemia? - Corrigir hipoglicemias causadas por configurações incorretas da dose basal. - Corrigir uma hipoglicemia causada por exercícios físicos. - Prevenir que a glicose fique baixa em uma situação em que já há uma dose basal temporária de 0% ativa. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Qual perfil pode ser usado e configurado offline? - Tópico: Perfil Offline - Perfil NS pode ser usado, mas não configurado. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - O que deve ser feito ao desligar a bomba? - É um procedimento desnecessário, pois a insulina não é administrada se a bomba estiver fisicamente desconectada. - Isso não interromperá a administração de insulina se a bomba permanecer conectada. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Quais são as melhores práticas para fazer backup de suas configurações? - Você não precisa exportar suas configurações desde que estejam salvas em algum lugar (e. g. faça uma anotação). - Exporte suas configurações após concluir um objetivo. - Exporte as suas configurações após alterá-las. - Exporte suas configurações após concluir sua configuração inicial e após definir suas preferências. - Exporte as suas configurações localmente usando o menu de manutenção. - Seu arquivo de configurações pode ser encontrado no armazenamento interno/AAPS/preferences do seu telefone. Pode ser necessário exibir arquivos ocultos do sistema nas configurações de seu navegador de arquivos para encontrar a pasta AAPS. - Copie seu arquivo de preferências para um local seguro fora de seu telefone (por exemplo, usando uma unidade na nuvem, conectando um cabo a um computador, e-mail, etc.) - Se seu telefone ficar danificado ou se você perder-lo, existem maneiras fáceis de recuperar suas configurações remotamente sem um backup local. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Leituras do CGM imprecisas - O que deve ser feito se os dados do CGM são irregulares? - Desative o loop fechado para evitar uma possível dosagem maior ou menor que a necessária. - Troque sensores que apresentam erros ou medições imprecisas. - Verifique se seu aplicativo CGM fornece dados suavizados. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Exercício e Perfis - Como seria a melhor forma de usar os perfis para ajudar o sistema a lidar com exercício aeróbico? - Altere o perfil para menos de 100%. - Altere o perfil para mais de 100%. - Deixe seu perfil em 100%. - Suspenda o loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Exercício e Alvos Temporários - Como seria a melhor forma de usar os alvos temporários para ajudar o sistema a lidar com exercício aeróbico? - Alguns minutos antes de iniciar o exercício, defina um alvo de glicemia. - Defina um alvo de glicemia após o término do exercício. - Não altere o seu alvo de glicemia. - Aguarde até que a glicemia fique abaixo do seu alvo temporário de hipoglicemia e coma 15g de carbos de ação rápida. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Loop Desativado/Suspenso - Eu recebo insulina quando o loop estiver desactivado/suspenso? - Sim, a insulina basal continua sendo administrada. - Não, a administração da insulina será interrompida. - Testando a basal, FSI e Relação IC - Quando esses valores deveriam ser avaliados? - Antes de iniciar o looping. - Quando ocorrerem hipoglicemias e hiperglicemias frequentes. - Pelo menos uma vez por semana. - Uma vez definido e validado, estes valores não deveriam mudar ao longo do tempo. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Pré-requisitos - Informações do perfil validadas (Basal, IC, FSI, DAI). - Um computador com o Android Studio instalado e configurado. - Um telefone compatível. - Uma bomba de insulina compatível se você pretender usar o loop fechado. - Nightscout, para manter um registro de todos os dados e revisar configurações. - Uma conta do Tidepool. - Uma conta Google. - Uma conta do Github. - Experiência na programação ou editação de código. - Uma bomba MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Um Smartwatch. - Um CGM compatível. - Pré-requisitos - Informações validadas para configurar um perfil (razão FS, I:C, taxas de basal, DAI etc.). - Um dispositivo Android compatível (por exemplo, celular/celular, relógio Android completo ou tablet). - Um CGM compatível com um app apropriado para receber os valores de glicose no telefone/dispositivo. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Marque todas as respostas corretas. - Você precisa ter o Git instalado e configurado no seu computador. - Você deveria salvar e anotar o local da sua chave de assinatura e usar a mesma chave de assinatura das versões anteriores para as atualizações. - Nunca atualize se o sistema estiver funcionando bem. - Se você tiver dificuldades criando o apk, você pode instalar um apk que foi criado por um amigo. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Resolução de problemas - Você deveria pedir/perguntar à sua clínica de diabetes/endocrinologista. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Plugins de Insulina - Qual insulina você deveria usar com o plugin \"Oref Ultra-Rapid\"? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/insulina humana regular. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Tópico: Plugins de Sensibilidade - Marque todas as respostas corretas. - Plug-ins de sensibilidade fornecem ao usuário alterações sugeridas nas taxas de basal, relação IC e FSI que podem ser usados para editar o perfil. - Registrar uma troca de cânula irá redefinir a taxa de Autosense de volta para 100%. - Algumas opções de plugin têm intervalos de tempo que podem ser configurados pelo usuário. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Tópico: Erros de Entrada de Carboidratos - O que deve fazer se tiver feito uma entrada incorreta de carboidratos? - Exclua a entrada incorreta em Tratamentos e insira o novo valor de carboidratos correto. - Dê um bolus com insulina usando o menu ações -> purgar/preencher. - Dê um Bolus com insulina usando o botão Insulina (bolus) no menu Visão Geral. - Tópico: Erros de entrada/administração de insulina - O que você deveria fazer se você receber menos insulina do que o histórico da bomba sugere por exemplo devido a uma oclusão, uma cânula problemática ou esquecer de reconectar a bomba após um banho? - Exclua dados de insulina do Nightscout Careportal para removê-los do histórico da bomba. - Dê uma porção do bolus calculado não administrado por meio de seringa/caneta ou usando o menu ações -> purgar/preencher. - Insulina ativa (IA) - O valor de IA é afetado por basais temporárias efetuadas. - Um basal alto temporário não será efetuado quando sua glicose estiver abaixo do alvo. - Insulina Ativa (IA) negativa por um período substancial na ausência de exercícios, sugere que seu perfil é muito agressivo e menos insulina deve ser considerada nas suas configurações. - Insulina Ativa (IA) positiva durante um período substancial sugere resistência à insulina ou refeições não anunciadas. - Tópico: Entrada de carboidratos e bolus - Apenas a unidade \"gramas\" deve ser utilizada para estimar e gravar os carboidratos consumidos. - Carboidratos consumidos podem ser gravados usando um sistema de conversão apropriada (por exemplo, câmbio de \"CHO\" DAFNE ou Unidades de Pão Europeas\"). - Se os níveis de glicose no sangue estiverem fora dos limites aceitáveis (muito baixo ou muito alto) a calculadora de bolus pode ser usada para fornecer sugestões para correções de carboidrato ou insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - Tópico: e-Carbs - Para que você possa usar os e-carbs (carboidratos estendidos)? - Para agendar carboidratos no futuro, possivelmente distribuídos num intervalo (semelhante a um bolus estendido que distribui insulina num intervalo). - Para registrar carboidratos de resgate que você usa para tratar uma glicose baixa - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Tópico: Monitoramento Remoto - Outros aplicativos (por exemplo, Dexcom Follow, xDrip no modo \"follow\") permitem que você siga alguns parâmetros (por exemplo, valores do sensor de glicose) remotamente, mas esses aplicativos usam algoritmos diferentes, por isso pode ter valores IA ou CA imprecisos. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Tópico: Fator de Sensibilidade à Insulina (FSI) - Aumentar os valores do FSI levará à administração de mais insulina para cobrir uma quantidade específica de carboidratos. - Reduzir os valores do FSI levará à adminstração de quantidades maiores de insulina para corrigir uma glicose acima do alvo. - Aumentar ou reduzir o FSI não tem efeito na administração de insulina quando os níveis de glicose estão abaixo do alvo. - Alterar o valor do FSI no seu perfil é o suficiente para aplicar a alteração. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Você pode definir mais do que um valor para o rácio IC no seu perfil. - Se você mudar o FSI no seu perfil, também deveria mudar o IC. - Tópico: Relação Insulina:Carboidrato (Relação IC) - Rácios IC mais altos levam a menos insulina administrada por uma dada quantidade de carboidratos. - Rácios IC mais baixos levam a menos insulina administrada por uma dada quantidade de carboidratos. - Se tiver 0 CA, alterar a proporção IC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da glicemia. - O IC será diferente se você contar a unidade (de câmbio) de pão como 10g ou 12g. - O significado do IC é: Quantas unidades (de câmbio) de pão são cobertas por 1U de insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Tópico: Alternando Perfil - Ao especificar uma mudança de perfil de 90%, quais respostas são corretas? - Taxas de basal serão 10% menores. - O valor do FSI será 10% maior. - O valor da relação IC será 10% menor. - As relações FSI e IC não sofrem alterações. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Tópico: Troca de Perfil - Ao especificar uma mudança de perfil de 120%, quais respostas são corretas? - O alvo de glicose será 20% maior. - Os basais serão 20% maiores. - O alvo de glicose não muda. - O valor do FSI será 20% maior. - Tópico: Alternando Perfil - Iniciar uma mudança de perfil com uma alteração de turno de 2 - Iniciar uma mudança de perfil com uma alteração de turno de -2 - Defina um alvo temporário \"comer em breve\". - Altere seu perfil para mais de 100% - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Tópico: Alterações nos perfis - Taxas de basal, FSI, rácios de IC, etc., devem ser definidos em perfis. - Apenas editar os valores nos seus perfis é suficiente para implementar as alterações feitas. - Múltiplos perfis podem ser configurados e selecionados para acomodar mudanças de circunstâncias (por exemplo, alterações hormonais, mudança de trabalho, dias de semana/fim de semana). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Tópico: Ajuda com taxas basais - Onde procurar ajuda para taxas basais e etc. - Sua equipe de diabetes - Google - Facebook - Outros Medicamentos. Por favor, leia a declaração abaixo e depois marque a caixa para aceitar a declaração. - + diff --git a/app/src/main/res/values-pt-rBR/objectives.xml b/app/src/main/res/values-pt-rBR/objectives.xml index f57ca58c56..3ea04e700d 100644 --- a/app/src/main/res/values-pt-rBR/objectives.xml +++ b/app/src/main/res/values-pt-rBR/objectives.xml @@ -1,53 +1,2 @@ - - Iniciar - Verificar - %1$d. Objetivo - Objetivo %1$d não iniciado - Objetivo %1$d não concluído - Configurando a visualização e monitoramento, e analisando basais e relações - Verificar se a Glicemia está disponível no Nightscout, e se os dados de insulina da bomba estão sendo transferidos - Iniciando em um loop aberto - Utilize o modo Loop Aberto por alguns dias e execute manualmente várias basais temporárias. Configure e use alvos temporários e defina alvos temporários padrão (por exemplo, para exercício ou tratamento hipos com carboidratos) - Entendendo o seu loop aberto, incluindo as suas recomendações de basais temporárias - Com base nessa experiência, decidir qual deve ser a basal máximo e configurá-lo na bomba e nas preferências - Comece a fechar loop com Suspensão por Glicose Baixa - Utilizar em close loop com IA máx = 0 por alguns dias sem muitas situações de Suspensão por Baixa Glicose - Ajustar o loop fechado, aumentar a IA máxima acima de 0 e reduzir gradualmente os alvos de glicemia - Utilizar por alguns dias e pelo menos uma noite sem alarmes de glicose baixa, antes de baixar a glicemia - Ajuste as basais e os parâmetros, se necessário, e, em seguida, ative o auto-sens - 1 semana de looping durante o dia com sucesso com entrada regular de carboidratos - Ativando recursos adicionais para uso durante o dia, como SMB - Ativando a automação - Deverá ler a wiki e aumentar a IA máx para que os SMBs funcionem corretamente! Inicialmente poderá considerar maxIA=média dos bólus + 3 x a basal diária máxima - Leia os documentos de como a automação funciona. Configure suas primeiras regras simples. Em vez de efetuar uma ação deixe AAPS apresentar apenas uma notificação. Quando você tiver certeza de que a automação é acionada no momento certo substitua a notificação por uma ação real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glicose disponível no NS - Status da Bomba disponível no NS - Execução manual - Concluído: %1$s - Definir perfil de 90% por 10 min (pressione longo no nome de perfil na Visão Geral) - Simular banho. Suspender e desconectar a bomba por 1h (Pressione longo em Loop Aberto) - ... e volte a conectar da mesma forma - Crie um alvo temporário personalizado com 10 min de duração (pressione longo no seu alvo atual) - No Configurador ative o plugin de Ações, torne-o visível e exiba o seu conteúdo no menu superior - Mostrar conteúdo do plugin Loop - Ajuste a escala ao pressionar por um tempo o gráfico da glicemia - Inserir - Se você tiver pelo menos 3 meses de experiência com sistemas Closed Loop com outros aplicativos, pode-se qualificar por um código para pular os objetivos. Vê https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives para mais detalhes. - Código aceito - Código inválido - Prove seu conhecimento - Estude as perguntas. Haverá quatro respostas possíveis para cada pergunta. Pode ter mais do que uma resposta correta. Por favor, marque todas as que estão corretas e selecione VERIFICAR. - Resposta desativada até: %1$s - Resposta errada! - Próximo inacabado - Pedir Código: %1$s - (marque todas as respostas correctas) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Não está conectado à internet - Falha no tempo de recuperação - Requisitos de objetivo não cumpridos - + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 039d3a9bc8..2ff022a105 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -3,86 +3,44 @@ - Segurança do Tratamento - Máximo bolus permitido [U] - Máximo de carbs permitidos [g] %1$s Preferências Preferências Atualizar tratamentos de NS Redefinir banco de dados Você realmente quer redefinir os bancos de dados? Sair - Alguns botões para acessar rapidamente a funções comuns Usado para configurar os plugins ativos - Programa de aprendizagem Ative ou desative a implementação ativando o loop. - Sincroniza seus dados com o Nightscout - Estado do algoritmo em 2017 - Algoritmo mais recente para usuários avançados - Algoritmo mais recente para usuários avançados com FS dinâmico/automático Exibe o estado atual do seu loop e botões para ações mais comuns Mostra uma notificação em curso com um breve resumo do que o seu loop está a fazer - Integração para as bombas que não têm qualquer driver ainda (Open Loop) A sensibilidade é calculada da mesma forma que Oref0, mas você pode especificar um período de tempo no passado. A absorção mínima de carboidratos é calculada a partir do tempo de absorção máxima especificado nas preferências. A sensibilidade é calculada a partir de dados de 8h ou 24h no passado (usando o que é mais sensível). Carboidratos (se não absorvidos) são cortados após o tempo especificado nas preferências. O plugin também calcula o UAM. A sensibilidade é calculada como uma média ponderada de desvios. Desvios mais recentes têm maior peso. A absorção mínima de hidratos de carbono é calculada a partir do tempo máximo de absorção de hidratos de carbono das preferências. Este algoritmo é o mais rápido em seguir as mudanças de sensibilidade. - Receber valores de Glicose da aplicação Eversense modificada. - Receber valores BG do Glimp. - Receber valores de Glucose do 600SeriesAndroidUploader. - Downloads de dados de Glicose do Nightscout - Receber valores de glicose do xDrip+. Salva todos os tratamentos que foram feitos - Executar agora - BOMBA VIRTUAL - Última execução - Parâmetros de entrada - Status da Glicose - Temp atual - Dados de IOB - Perfil - Dados de refeição - Resultado - Resultado: %1$s %2$ss - Sem dados de glicose disponíveis - Solicitar Delta Configurador Visão geral Tratamentos - Bomba virtual Bomba Perfil APS Qual é o algoritmo do APS que deve fazer ajustes na terapia? Geral Estes são alguns plugins gerais que pode achar úteis. + Sincronização Que restrições são aplicadas? - Restrições Loop APS Depois das restrições processadas Basal temporária definida pela bomba SEM APS SELECIONADO OU RESULTADO FORNECIDO - Seguro - Plugin está desativado Violação das restrições - Aceitar nova basal temporária: Altere sua entrada! Fonte de BG - xDrip+ - Modo APS - Loop Fechado - Loop Aberto - Suspensão de Glicémia Baixa Nova sugestão disponível Sugestão de Carbs - Versão não suportada do Nightscout - Hora do carboidrato Perfil - Basal Temporária - Bólus estendido Versão do Nightscout: - Precisando de %1$d g Preferências exportadas Entradas do usuário exportadas Exportar configurações para @@ -91,12 +49,7 @@ Arquivo não encontrado Exportar configurações Importar configurações - Max U/h em que uma Basal temporária pode ser definida - Este valor é chamado max basal no contexto do OpenAPS - Basal Máxima IOB que OpenAPS pode dar [U] - Este valor é denominado Max IOB em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que APS pode dar de uma vez. Será perguntado pela senha mestre, que será usada para encriptar preferências exportadas. - Será perguntado pela senha mestre, que será necessária para desencriptar preferências importadas. Exportação cancelada! Preferências NÃO foram exportadas! Importação cancelada! Preferências NÃO foram importadas! Não foi possível importar as preferências! @@ -116,7 +69,6 @@ EU ENTENDO E CONCORDO Salvar Recarregar perfil - Assistente Rápido Definições do Assistente Rápido Texto do botão: Carbos: @@ -124,15 +76,8 @@ Adicionar Editar Correção - Ações (PERIGOSO PARA DESATIVAR) somente upload para NS Bomba não inicializada! - Purgar/Preencher - Por favor certifique-se que o valor corresponde ao especificado para o seu conjunto de infusão! - Purgar/Preencher os valores padrões - Botão 1 - Botão 2 - Botão 3 Unidades Intervalo para visualização Marca alta e baixa para as cartas em Visão geral e Smartwatch @@ -141,114 +86,29 @@ Wear Reenviar Todos os Dados Abrir Definições em Wear - Valor da Basal - MM640g Notificação em curso DADOS ANTIGOS - OpenAPS AMA - Array de %1$d elementos.\nValor atual: - Dados Autosens - Script debug - Usar função Autosens - ACT CONF LOOP - OAPS - DINFS Início - BOMBAV TRATA - OBJ WEAR Abreviar títulos dos separadores - Usar sempre delta médio curto em vez de delta simples - Útil quando há ruído nos dados das fontes sem filtro como o xDrip. - Valor padrão: 3 Por segurança é o valor limite estabelecido por OpenAPS. O que faz é limitar a basal a x3 a basal mázima. Se necessário modificar este valor, por favor ter em conta que os dados apontam para que os limites de segurança sejam - 3 x max diario ou 4x valor atual (qual seja menor) como valores máximos. - Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objetivo é evitar que sejam determinadas basais temporárias muito elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. - Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor de Sensibilidade (FSI) e baixar o valor alvo de glicose no sangue. - Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de ISF e valor alvo de glucose no sangue (BG). - Autosens também ajusta os alvos - Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de ISF e basais. - Valor padrão: 2\nBolus Snooze (pausa após bolus) é executado depois de realizar um bolus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bolus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. - Valor padrão: 3.0 para assitência avançada de refeições (AAR) ou 8.0 para super micro bolus (SMB). Esta é a configuração padrão para o calculo de quanto varia a cada 5 min a glicemia (BG) devido à absorção de carboidratos. O padrão é 3mg/dl/5min. Isso afeta a rapidez com que decaem os carboidratos ativos (CA) e quanta absorção de carboidrato será considerada no cálculo da previsão de glicemia futura, tornando possível notar que glicemia está baixando mais do que o esperado ou não subindo como esperado. - Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequências antes de alterar qualquer um destes valores. - Executando - Definições da bomba virtual - Enviar estado para NS - NSCliente - NSCI - URL: - Rolar automático - Reiniciar - NSCliente - Nightscout URL - Introduza o Nightscout URL - NS API secret - NS API secret - Insira NS API secret (min 12 caract.) - Entregar agora - Limpar fila - Mostrar fila - Fila: - Status: - Limpar registros - NSCLIENT não tem permissão de escrita. Senha da API errada? Definições Wear não foi bem sucedido - por favor, verifique o telefone - Tipo de paciente - Criança - Adolescente - Adulto - Adulto resistente à insulina - Grávida - Selecione o tipo de paciente para configurar os limites de segurança Nome do Paciente Por favor, forneça nome do paciente ou apelido para diferenciar entre várias configurações - Glimp - Suspender loop por 1h - Suspender loop por 2h - Suspender loop por 3h - Suspender loop por 10h - Bomba Desconectada - Desconectar bomba por 15 min - Desconectar bomba por 30 min - Desconectar bomba por 1 h - Desconectar bomba por 2 h - Desconectar bomba por 3 h - 15 min - 30 min - 1 hora - 2 horas - 3 horas - 10 horas - Continuar - Reconectar Bomba - Registrar início do app no NS Saindo do app para aplicar as configurações. Que tipo de insulina está usando? Ativar superbolus no assistente Habilite a funcionalidade de superbolus no assistente. Não habilite até que aprenda o funcionamento. PODE CAUSAR OVERDOSE DE INSULINA SE USAR INDISCRIMINADAMENTE! - Mostrar luzes de estado no ecrã principal - Aviso de limite da vida útil da cânula [h] - Aviso de limite crítico da vida útil da cânula [h] - Aviso de limite da vida útil da insulina [h] - Aviso de limite crítico da vida útil da insulina [h] - Aviso de limite da vida útil do sensor [h] - Aviso de limite crítico da vida útil do sensor [h] - Aviso de limite do nível da bateria do sensor [%] - Aviso de limite crítico do nível da bateria do sensor [%] - Aviso de limite da vida útil da bateria da bomba [h] - Aviso de limite crítico da vida útil da bateria da bomba [h] - Aviso de limite de nível de reservatório [U] - Aviso de limite crítico de nível de reservatório [U] ACT Sobre Falta permissão do estado do telefone - Cancelar Bólus Estendido Fazer Mudança De Perfil - Opções Alarme - Tempo limite para dados obsoletos [min] - Tempo limite para Urgência por dados obsoletos [min] + Opções Alarme + Tempo limite para dados obsoletos [min] + Tempo limite para Urgência por dados obsoletos [min] Intervalo para autosens [h] Quantidade de horas observadas para a deteção de sensibilidade (o tempo de absorção dos hidratos de carbono é excluído) OpenAPS @@ -261,24 +121,13 @@ Configurações de absorção Tempo máx. absorção refeição [h] Tempo em horas, espectável para que todos os hidratos de carbono da refeição sejam absorvidos - OAPS - UPLD Manter a tela ligada Impedir Android de desligar o ecrã. Isto irá consumir muita bateria quando não ligado ao carregador. Ao ativar a função Autosense lembre-se de introduzir todos os carboidratos (carbs) que comeu. Caso contra contrário os desvios de carbs serão erroneamente identificados como uma variação da sensibilidade!! Média ponderada da Sensibilidade Nem todos perfis foram carregados! Valores não guardados! - Ativar partilha local. - SMB OpenAPS - FSI Dinâmico - Ativar UAM - Ativar SMB - Use Super Micro Boluses em vez de basal temp para uma ação mais rápida - Detecção de refeições não Introduzidas INVÁLIDO - Percentagem - Alteração Turno Alvo-Temp padrão duração comerbreve alvo comerbreve @@ -288,26 +137,12 @@ alvo hipo Controles do Relógio Definir Alvo-Temp and inserir Tratamentos do relógio. - Usar as notificações do sistema para alertas e notificações Alertas local Alerta caso nenhuma glicemia seja recebida Alerta caso não seja possivel alcançar a bomba Limite para bomba inacessível [min] - Alarme Urgente - INFO - Aplicação Eversense (com patch) - Enviar dados Glic. para NS - Configurações de upload de BG Mostrar Delta detalho Mostrar delta com mais um ponto decimal - Com que frequência em min os SMBs serão dados - Limite de minutos de basal para SMB - UAM SMB máx minutos - Max minutos de basal para limitar SMB para UAM - Limite mínimo de carboidratos necessários para sugerir - Enviar dados Glic. para xDrip+ - Seleccionar 640g/Eversense como fonte no xDrip+ - Glic NSCliente Cálculos Glic Cálculo de Bólus IOB Cálculo de Basal IOB @@ -317,36 +152,15 @@ Negativo apenas Cálculo COB Cálculo alvo temporário - Loop activado - APS seleccionado - NSCLiente tem permissão de escrita - Modo fechado ativado - IOB máxima definida correctamente - Glicemia disponivel desde a fonte selecionada - Erro na entrega Bólus Estendido - SMB sempre activado - SMB sempre activo independentemente dos bolus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB após carbos - SMB activo por 6h após carbs, mesmo com 0 COB. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB com COB - Ativar SMB quando houver COB ativo. - SMB activo com valores alvo temporários - SMB activo quando há valor alvo temporário activo (exercício, etc) - SMB activo com alvos temporários elevados - Insulina Botões Número de carboidratos a adicionar quando o botão é premido Unidades de insulina a adicionar quando o botão é premido Não foi possível lançar aplicação de monitorização contínua. Por favor verifique que está instalada. - CGM Ignorar 5m Ignorar 15m Ignorar 30m - Navegador do histórico Notificar no SMB Mostrar SMB no relogio como bolus normal. - Criar anúncios dos erros - Criar um anúncio no Nightscout para caixas de diálogo de erro e alertas locais (também podem ser visualizados em Careportal sob tratamentos) Mostrar a predições na face do relogio. Previsão Escolha de Dados @@ -354,7 +168,6 @@ Permitir que seja enviado automaticamente à equipa de desenvolvimento o report de crashes e das funções utilizadas, utilizando o serviço fabric.io. Por favor atualize as sua aplicação Dexcom para uma versão suportada App Dexcom não está instalada. - Sem bólus, registar apenas SMB definido pela bomba Atividade Sensibilidade @@ -362,29 +175,9 @@ Carboidratos a bordo Insulina a bordo Basais - A correr a versão dev. O Loop fechado está desabilitado. Modo engenheiro activado - A bomba não é capaz de basais temporárias - Loop fecchado disabilitado nas preferências - Autosens desabilitado nas preferências - SMB desactivado nas configurações - UAM desactivado nas configurações - UAM desativado porque confia no plugin de sensibilidade Oref1 - multiplicador de basal máx - multiplicador de basal máx diária Um bolus foi injectado nos últimos 3 minutos, saltando SMB Basal correctamente definida - A limitar bólus estendido para %1$.1f U porque %2$s - A limitar hidratos para %1$d g porque %2$s - A limitar IOB para %1$.1f U porque %2$s - valor máx nas preferências - limite rígido - Registar mudança de sítio - Registar mudança cartucho - SMB sempre e depois dos hidratos desactivado por fonte da Glicemia activa não suportar filtro avançado - SMB não permitido no modo open loop - Máximo total de IOB OpenAPS não pode superar [U] - Este valor é chamado de Max IOB em contexto de OpenAPS\nOpenAPS não adicionará mais insulina se o IOB atual for maior que este valor Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -399,27 +192,15 @@ Segundo incremento hidratos Terceiro incremento hidratos CGM - WiFi SSID - Definições de ligação - SSIDs permitidos (separada por ponto e vírgula) - Permitir ligação em roaming Rácio máx. autosens Rácio min. autosens - Pausa bólus divisor DIA - Multiplicador máx. diário de segurança - Multiplicador actual de segurança basal - Tipo da Bomba Virtual - Definição da Bomba - Bólus: Passo=%1$s\nBólus Estendido: [Passo=%2$s, Duração=%3$smin -%4$sh] \nBasal: Passo=%5$s\ nTBR: %6$s (por %7$s), Duração=%8$smin-%9$sh\n%10$s Resultado cálculos incluídos no Assistente: Mostrar Configurações Configurações gerais - Ativar NSCliente Bem-vindo ao assistente de configuração. Vai guiá-lo(a) através do processo de instalação\n Ler estado Saltar assistente de configuração Plugin de Sensibilidade é usado para detecção de sensibilidade e cálculos COB. Para mais info visite: - NSCliente gere a ligação ao Nightscout. Pode saltar esta parte mas não será possível passar os objetivos até que o configure. Lembre-se: novos perfis de insulina requerem diâmetro de pelo menos 5h. DIA 5–6h no novo perfil é igual ao diâmetro 3h nos antigos perfis de insulina. Seleccione um dos algoritmos disponíveis. Eles são classificados do mais antigo para o mais recente. Algoritmo mais recente é geralmente mais forte e mais agressivo. Assim, se você é novo looper, poderá provavelmente começar com AMA e não com a versão mais recente. Não se esqueça de ler a documentação de OpenAPS e configurá-lo antes de usar. Iniciar primeiro objetivo @@ -427,17 +208,6 @@ Abrir a navegação Fechar a navegação Preferências plugin - Poctech - Receber valores Glucose da app Poctech - Receber valores de Glicose da aplicação Tomato (dispositivo MiaoMiao) - Alto alvotempo aumenta sensibilidade - = 100]]> - Baixo alvotemp baixa sensibilidade - - Resistência reduz alvo - Quando a resistência for detectada, diminui o alvo de glicose - Sensibilidade aumenta o alvo - Quando a sensibilidade é detectada, aumenta o alvo glicose Ordenar itens Configurações encontradas Dados tratamento incompletos @@ -451,61 +221,20 @@ Eliminar registos Um tratamento (insulina: %1$.2f, hidratos: %2$d, às: %3$s) não ficou gravado. Por favor verifique se foi realmente efectuado e se sim adicione manualmente aos tratamentos. eCarbs: %1$d g (%2$d h), atraso: %3$d m - Sem dados Autosens disponíveis Definições de registo Repor definições por defeito - Erro de funcionamento do NSCliente. Pondere reiniciar o NS e NSCliente. Modo APS preferido Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U - Registar mudança de sensor para NS - Tomato (MiaoMiao) - Tomato - Nome de utilizador no Tidepool, normalmente seu endereço de e-mail - Nome de Utilizador - Palavra-passe da conta Tidepool - Palavra-passe - Teste de Conta Tidepool - Se activado, envio será para https://int-app.tidepool.org em vez do habitual https://app.tidepool.org/ - Usar servidores de integração (teste) - Tidepool - TDP - Enviar dados para Tidepool - Enviar dados CGM - Enviar tratamentos (insulina, hidratos) - Enviar basais temporárias - Enviar trocas de perfil, alvos temporários - Enviar testes Glicemia - 2h - BYODA - BYODA - Receber valores de glicemia do \'Build Your Own Dexcom App\'. - CA vs IA - Restrição de bólus aplicada: %1$.2f U para %2$.2f U - !!!!! Absorção lenta de hidratos detectada: %2$d%% do tempo. Verifique o seu cálculo. COB pode estar sobreestimado, assim mais insulina pode ser dada !!!]]> - Entregue esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é entregue. Útil com o algoritmo SMB. - Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil - Seleccionado: Unidades - Limpeza terminado - Limpeza iniciado - Deseja reiniciar o objetivo? Pode perder seu progresso. Seleccione as unidades em que deseja exibir os valores Valor mais baixo da área de intervalo (apenas exibição) Valor mais alto da área de intervalo (apenas exibição) - Entrada % inválida - Glic. Aleatória - Gerar dados de Glic. aleatórios (Somente modo de Demonstração) - GLIC - Ferramentas - Mostrar Localização Mostrar removido(a)s Limpar fila? Todos os dados na fila serão perdidos! - O uso do Bólus Estendido irá parar o modo Closed Loop no tempo do bólus estendido. Quer realmente isso? - Closed Loop desabilitado por causa da execução do Bólus Estendido Menu do Gráfico Hora de solicitação SMB Hora de execução do SMB @@ -518,52 +247,17 @@ Insulina absoluta Password Mestre é usada para encriptação da cópia de segurança e substituir segurança na aplicação. Lembre-se dela ou guarde-a em um lugar seguro. Senha mestra atual - Luzes de estado - Copiar definições do NS - Copiar configurações do NS (se existirem)? - Tema original - Design de baixa resolução - Botões são sempre exibidos na parte inferior da tela - Mostrador Grande - Tema - Comparar perfis - Assistente de perfil - Perfil padrão - Perfil atual - Perfis disponíveis - Tipo de perfil - Idade: %1$.0f TDD: %2$.0f U - Idade: %1$.0f TDD: %2$.0f U %3$d%% - Idade: %1$.0f Peso: %2$.0f kg - % da basal - Perfil padrão DPV Estado do RileyLink: Não foi possível criar o perfil. Perfil inválido. Não encerre meu aplicativo? - Disparar alarme quando for a hora de comer Hora de comer!\nAbra o assistente de bolus e faça o cálculo novamente. Ativar lembrete de bolus - Perfis, bolus, carboidratos, basais temporários são enviados para NS - Receber taxa basal temporária (TBT) e bolus estendido (e-bolus ou BE) - Aceitar taxa basal temporária (TBT) e bolus estendido (BE) informados por outra instância - Aceitar insulina inserida através de NS ou NSClient (não é administrada, apenas serve para o cálculo da IA) Estado dos dados de glicemia Remover leituras de Glicemia - idade da cânula - Idade da bomba patch - Bomba patch Identificação (e-mail, apelido FB ou Discord, etc) Identificação não definida no modo de desenvolvimento caixa de diálogo - glicemia atual - resultado correto em % - resultado correto em unidades Indisponível - gráfico - qualidade da glicemia - insulina - glicemia - desatualizado Alvo temporário pré-definido desconhecido: %1$s Cancelando Alvos temporários em execução? @@ -577,22 +271,13 @@ Calculadora:\nInsulin: %1$.2fU\nCarbs: %2$dg Mostrar entrada no dispositivo: O assistente rápido selecionado não está mais disponível, atualize seu atalho - Nenhuma glicemia recente para base de cálculo! - CA desconhecido! Leitura de Glicemia faltando ou reinício recente do app? - CA: %1$.0fg %2$.2fU - Tendência 15min: %1$.2fU Ordenar Status do loop abrir configurações - definir alarme temporizador de carboidrato Todos Telefone Smartwatch somente no smartwatch somente no telefone arraste e solte aqui - - GlucoRx Aidex - Aidex - Receber valores BG do GlucoRx Aidex CGMS. diff --git a/app/src/main/res/values-pt-rPT/exam.xml b/app/src/main/res/values-pt-rPT/exam.xml index a7c688f663..3ea04e700d 100644 --- a/app/src/main/res/values-pt-rPT/exam.xml +++ b/app/src/main/res/values-pt-rPT/exam.xml @@ -1,180 +1,2 @@ - - O que é verdade sobre DIA? - Duração da Acção da Insulina (DIA) - Deve definir o valor da DIA no seu perfil. - O valor mínimo permitido são 5 horas. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Deve determinar para o seu valor adequado para a DIA. - Hipo Alvo-Temp - Qual é a principal razão para definir um alvo temporário? - Para corrigir hipos causadas por configurações de taxa de basal incorretas. - Para corrigir uma hipo induzida como resultado de exercício. - Para evitar que a glicose no sangue baixe se verificar já uma taxa de basal temporária de 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Qual perfil pode ser usado e configurado offline? - Tópico: Perfil Offline - Perfil NS pode ser usado, mas não configurado. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - O que deve ser feito ao desligar a bomba? - Isto é desnecessário, uma vez que a insulina não será administrada se a bomba estiver fisicamente desconectada. - Não interromperá a administração de insulina se a bomba permanecer conectada. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Quais são as melhores práticas para cópia de segurança das suas configurações? - Não precisa exportar as suas configurações desde que faça uma anotação delas. - Exporte suas configurações depois de concluir um objetcivo. - Exporte as suas configurações após alterar qualquer uma das suas configurações. - Exporte suas configurações após concluir sua configuração inicial e definir suas Preferências. - Exporte localmente as suas configurações usando o menu de manutenção. - Ficheiro de configurações é encontrado no armazenamento interno/AAPS/preferences na pasta do seu telefone. - Copie o seu ficheiro de preferências para um local seguro fora do seu telefone (por exemplo, um disco na cloud, ligando um cabo a um computador, email, etc.) - Se o seu telefone estiver danificado ou perdido, há maneiras fáceis de recuperar suas configurações remotamente sem uma copia de segurança. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Leituras Irregulares CGM - O que deve ser feito se os dados do CGM são irregulares? - Desactive o closed loop para evitar o sobre ou a subdosagem. - Substitua sensores consistentemente irregulares ou imprecisos. - Verifique se app do CGM fornece dados suave. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Exercício e Perfis - Como pode utilizar melhor os perfis para ajudar o sistema a lidar com exercício aeróbico? - Faça troca de perfil para menos de 100%. - Faça troca de perfil para mais de 100%. - Deixe o perfil definido para 100%. - Suspender o loop. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Exercício e Alvos Temporários - Como pode utilizar alvos temporários da melhor maneira para ajudar o sistema a lidar com exercício aeróbico? - Defina um alvo de actividade de glicose para começar a um tempo adequado antes do início do exercício. - Defina um alvo de actividade de glicose após terminar o exercício. - Deixe o seu alvo de glicose inalterado. - Espere até que a glicose no sangue baixe abaixo do seu alvo temporário de hipo e, em seguida, coma 15 g de hidratos rápidos. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Loop Desactivado/Suspenso - Eu recebo insulina quando o loop estiver desactivado/suspenso? - Sim, a insulina basal continua a ser administrada. - Não, administração da insulina está parada. - Testes de Basal, FSI e I:HC - Quando esses valores devem ser validados? - Antes de começar com o looping. - Quando passar por frequente glicose alta ou baixa. - Pelo menos uma vez por semana. - Uma vez definido e validado, estes valores não devem mudar ao longo do tempo. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Pré-requisitos - Informações do perfil validadas (Basal, IC, FSI, DIA). - Um computador com Android Studio instalado e configurado. - Um telefone compatível. - Uma bomba de insulina compatível se planeia correr um closed loop. - Nightscout, para manter um registo de todos os dados e rever as configurações. - Uma conta Tidepool. - Uma conta Google. - Uma conta Github. - Experiência na programação ou edição de código. - Uma bomba MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Um Smartwatch. - Um CGM Suportado. - Pré-requisitos - Informações validadas para configurar um perfil (FSI, rácio I:HC, taxas de basal, DIA etc.). - Um dispositivo Android compatível (por exemplo, smartphone, relógio Full Android ou tablet). - Um CGM suportado e app apropriada para receber valores da glicose no sangue no telemóvel/dispositivo. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Seleccione todas as respostas correctas. - Precisa ter Git instalado e configurado no computador. - Deve guardar e anotar a localização da sua keystore e utilizar a mesma chave de assinatura para actualizações como para a instalação anterior. - Nunca actualize se o sistema estiver a funcionar bem. - Se tiver dificuldade em construir o apk, pode instalar um apk que foi construído por um amigo. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Resolução de Problemas - Deveria pedir à sua clínica de diabetes/endocrinologista. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Plugins de Insulina - Que insulina deve utilizar com o plugin Oref Ultra-Rápida ? - Fiasp® - NovoRapid®/Novolog® - Humalog ® - Actrapid®/Humalin R®/\"regular\" insulina humana. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Plugins de Sensibilidade - Marque todas as respostas correctas. - Plug-ins de sensibilidade fornecem ao utilizador alterações sugeridas nas taxas de basal, rácios I:HC e FSI que podem ser utilizados para editar perfil. - Registar uma mudança de cânula irá redefinir a taxa de Autosens de volta para 100%. - Algumas opções de plugin têm intervalos de tempo configuráveis que podem ser configurados pelo utilizador. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Erros de Entrada de Hidratos - O que deve fazer se tiver feito uma entrada incorrecta de hidratos? - Elimine a entrada incorreta em Tratamentos e insira o novo valor correto dos hidratos. - Bólus com insulina usando o conjunto de infusão no menu purgar. - Bólus com insulina usando o botão Insulina (bólus) na Visão Geral. - Erros de entrada/administração de insulina - O que deve fazer se receber menos insulina do que o histórico da bomba sugere por exemplo devido a uma oclusão, uma cânula danificada ou esquecer-se de reanexar a bomba após um banho? - Elimine dados de insulina do Nightscout Careportal para removê-lo do histórico da bomba. - Bólus uma proporção de insulina calculada \'não administrada\' ou com seringa/caneta ou purgando. - Insulina ativa (IA ) - O valor do IA é afectado por basais temporárias emitidas. - Basal temporária alta não será dada quando a sua glicose estiver abaixo do alvo. - IA negativa por um período substancial na ausência de exercício, sugere que o seu perfil é muito alto e é necessária menos insulina nas suas configurações. - IA positiva durante um período substancial sugere resistência à insulina ou refeições não introduzidas. - Entrada de hidratos e bólus - Apenas gramas devem ser utilizados para estimar e registar hidratos de carbonos consumidos. - Hidratos de Carbono consumidos podem ser registados usando um sistema de troca apropriado (por exemplo, DAFNE \"CHO\" ou \"Unidades de Pão\" Europeus). - Se os níveis de glicose no sangue estiverem fora dos valores aceitáveis (muito baixos ou muito altos) a calculadora de bólus pode ser usada para fornecer sugestões para correções de hidratos ou insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - hidratos-e - Para que poderia utilizar os hidratos-e (hidratos estendidos)? - Para agendar hidratos no futuro, possivelmente distribuídos num intervalo (semelhante a um bólus estendido que distribui insulina por um intervalo). - Para registar hidratos de resgate que usa para tratar hipoglicemia. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Monitorização Remota - Outras apps (por exemplo, Dexcom follow, xDrip em modo seguidor) permitem que siga alguns parâmetros (por exemplo, valores de glicose no sangue/sensor) remotamente, mas usam diferentes algoritmos, pode ter valores IA ou HCA imprecisos. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Factor Sensibilidade à Insulina (FSI) - Aumento dos valores de FSI leva a maior mais administração de insulina para uma quantidade específica de hidratos. - Reduzir os valores de ISF leva a maior administração de insulina para corrigir para uma glicose acima do alvo. - Aumentar ou reduzir o FSI não tem efeito na administração de insulina quando os níveis de glicose estão abaixo do alvo. - A alteração do valor do FSI no seu perfil é suficiente para aplicar a mudança. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Pode utilizar mais de um valor para o rácio I:HC no seu perfil. - Se alterar o seu FSI no perfil, também deve mudar a taxa de I:HC. - Rácio Insulina por Hidratos de Carbono (Rácio I:HC) - Rácios I:HC mais altos levam a menos insulina administrada para uma dada quantidade de hidratos. - Rácios I:HC mais baixos levam a menos insulina administrada para uma dada quantidade de hidratos. - Se tiver 0 HCA, alterar o rácio IHC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da GLIC. - I:HC será diferente se contar a unidade de pão como 10g ou 12g. - O significado do I:HC é: Quantas unidades de pão são cobertas por 1U de insulina. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Troca de Perfil - Ao especificar uma troca de perfil de 90%, quais respostas são verdadeiras? - Taxas de basal serão 10% inferiores. - FSI será 10% superior. - O valor do rácio I:HC será um número inferior a 10%. - Os rácios FSI e I:HC ficarão inalterados. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Troca de Perfil - Ao especificar uma troca de perfil de 120%, quais respostas são verdadeiras? - Alvo da glicose será 20% maior. - Taxas de basal serão 20% superiores. - Alvo da glicose será inalterado. - FSI será 20% maior. - Troca de Perfil - Iniciar uma mudança de perfil com um deslocamento temporal de 2 - Iniciar uma mudança de perfil com uma deslocamento temporal de -2 - Defina um alvo temporário de comer brevemente. - Faça troca de perfil para mais de 100%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Alterações nos perfis - Taxas de basal, FSI, rácios de I:HC, etc., devem ser definidos nos perfis. - Editar perfis para alterar valores é suficiente para decretar quaisquer alterações feitas. - Vários perfis podem ser configurados e seleccionados para acomodar as circunstâncias de mudança (por exemplo, alterações hormonais, mudança de turno, dias de semana/fim de semana). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Ajuda com taxas basal - Onde ir para obter ajuda com rácios da basal, etc. - A sua equipa da diabetes - Google - Facebook - Outra Medicação. Por favor, leia declaração abaixo e marque a caixa para aceitá-la. - + diff --git a/app/src/main/res/values-pt-rPT/objectives.xml b/app/src/main/res/values-pt-rPT/objectives.xml index 565137ef3f..3ea04e700d 100644 --- a/app/src/main/res/values-pt-rPT/objectives.xml +++ b/app/src/main/res/values-pt-rPT/objectives.xml @@ -1,53 +1,2 @@ - - Iniciar - Verificar - %1$d. Objectivo - Objetivo %1$d não iniciado - Objetivo %1$d não terminado - A configurar visualização e monitorização, e análise de rácios e basais - Verificar se a Glic está disponível no Nightscout, e se os dados da bomba de insulina estão a ser carregados - A iniciar em Open Loop - Utilizar em modo de Open Loop por alguns dias e dar manualmente muitas basais temporárias. Configurar e usar alvos temporários e alvos padrão temporários (por exemplo, para actividade ou tratamentos de hipo com hidratos) - Compreender o seu open loop, incluindo as recomendações de basais temporárias - Com base nessa experiência, decidir qual deve ser a basal máxima e configurá-la na bomba e nas preferências - Começar o loop fechado com Suspensão por Glicose Baixa - Utilizar em loop fechado com IA máx = 0 por alguns dias sem muitas situações de SGB. - Ajustar o loop fechado, aumentar a IA máxima acima de 0 e reduzir gradualmente os alvos de GLIC - Utilizar por alguns dias e pelo menos uma noite sem alarmes de GLIC baixa, antes de baixar GLIC - Ajuste as basais e os rácios, se necessário, e, em seguida, active o auto-sens - 1 semana de looping durante o dia com sucesso com entrada regular de hidratos de carbono - Activando recursos adicionais para uso durante o dia, como SMB - A ativar a automatização - Deverá ler a wiki e aumentar a IA máx para que os SMBs funcionem devidamente! Inicialmente poderá considerar maxIA=média dos bólus + 3 x a basal máxima - Leia a documentação de como a automatização funciona. Configure primeiro regras simples. Em vez de ação, deixe AAPS apresentar apenas a notificação. Quando tem certeza de automação é acionada no momento certo substitua a notificação por ação real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glicose disponível no NS - Estado da Bomba disponível no NS - Execução manual - Concluído: %1$s - Definir perfil de 90% por 10 min (pressione longo no nome de perfil na Visão Geral) - Simular chuveiro. Desconectar a bomba por 1h (Pressione longo em Open Loop) - ... e volte a ligar de volta da mesma forma - Crie um alvo temporário personalizado com 10 min de duração (pressione longo no seu alvo actual) - No Configurador active o plugiin de Acções, torne-o visível e exiba o seu conteúdo no menu superior - Mostrar conteúdo do plugin Loop - Utilizar a função de escala premindo longamente gráfico Glicose - Inserir - Se tiver pelo menos 3 meses de experiência com Closed Loop com outros sistemas, pode-se qualificar para um código para ignorar objectivos. Ver https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives para mais detalhes. - Código aceite - Código inválido - Prove seu conhecimento - Estude as perguntas.  Recebe quatro respostas possíveis para cada pergunta. Talvez haja mais do que uma resposta correcta. Por favor, marque todas ass que estão correctas e seleccione VERIFICAR. - Responder desactivado até: %1$s - Resposta errada! - Seguinte inacabado - Pedir Código: %1$s - (marque todas as respostas correctas) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Não está ligado à internet - Falha ao recuperar tempo - Requisitos de objectivo não cumpridos - + diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 7d676c97cc..d1d138a66c 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -3,85 +3,44 @@ - Segurança de Tratamentos - Máx bólus permitido [U] - Máx hidratos permitidos [g] %1$s Preferências Preferências Atualizar tratamentos do NS Reiniciar Base de Dados Quer realmente reiniciar a base de dados? Sair - Alguns botões para aceder rapidamente a funções comuns Usado para configurar os plugins ativos - Programa de aprendizagem Ativar ou desativar a aplicação que desencadeia o loop. - Sincroniza os seus dados com o Nightscout - Estado do algoritmo em 2017 - Algoritmo mais recente para usuários avançados Exibe o estado actual do loop e botões para acções mais comuns Mostra uma notificação em curso com um breve resumo do que o seu loop está a fazer - Integração para as bombas que não têm qualquer driver ainda (Open Loop) A sensibilidade é calculada da mesma forma que Oref0, mas pode especificar o período de tempo para o passado. A absorção mínima de hidratos de carbono é calculada a partir do tempo máximo de absorção de hidratos de carbono das preferências. A sensibilidade é calculada a partir de dados das últimas 8h ou 24h (usando o que é mais sensível). Os hidratos de carbono são descartados (se não absorvidos) após o tempo especificado nas preferências. O Plugin também calcula o RNA. A sensibilidade é calculada como uma média ponderada de desvios. Desvios mais recentes têm maior peso. A absorção mínima de hidratos de carbono é calculada a partir do tempo máximo de absorção de hidratos de carbono das preferências. Este algoritmo é o mais rápido em seguir as mudanças de sensibilidade. - Receber valores Glicose da aplicação Eversense modificada. - Receber valores Glicose do Glimp. - Receber valores Glicose do 600SeriesAndroidUploader. - Descarrega dados Glicose do Nightscout - Receber valores Glicose do xDrip+. Guarda todos os tratamentos que foram feitos - Executar agora - BOMBA VIRTUAL - Última execução - Parâmetros de entrada - Estado da glicose - Basal Temporária atual - Dados de IA - Perfil - Dados de refeição - Resultado - Resultado: %1$s %2$ss - Sem dados de glucose disponíveis - Pedido Delta Configurador Visão Geral Tratamentos - Bomba virtual Bomba Perfil APS Qual é o algoritmo do APS que deve fazer ajustes na terapia? Geral Estes são alguns plugins gerais que pode achar úteis. + Sincronização Que restrições são aplicadas? - Restrições Loop APS Depois das restrições processadas Basal temporária definida pela bomba NÃO EXISTE NENHUM APS SELECIONADO OU RESULTADO FORNECIDO - Segurança - Plugin está desativado Violação das restrições - Aceitar nova basal temporária: Altere o seu input! Fonte da Glicose - xDrip+ - Modo APS - Loop Fechado - Loop Aberto - Suspensão Glicose Baixa Disponível nova sugestão Sugestão de Hidratos - Versão sem suporte do Nightscout - Hora dos Hidratos Perfil - Basal Temporária - Bólus Prolongado Versão Nightscout: - A faltar %1$d g Preferências exportadas Registos do utilizador exportadas Exportar definições para @@ -90,12 +49,7 @@ Ficheiro não encontrado Exportar definições Importar definições - Máx U/h em que uma Temp Basal pode ser definida - Este valor é chamado máx basal no contexto do OpenAPS - Basal Máxima IA que OpenAPS pode administrar [U] - Este valor é denominado Máx IA em contexto OpenAPS \nEste é o valor máximo de insulina em [U] que a APS pode administrar de uma vez. Ser-lhe-á pedida a senha mestra, que será usada para encriptar preferências exportadas. - Ser-lhe-á pedida a senha mestra, que será necessária para desencriptar preferências importadas. Exportação cancelada! Preferências NÃO foram exportadas! Importação cancelada! Preferências NÃO foram importadas! Não é possível importar as preferências! @@ -115,7 +69,6 @@ EU ENTENDO E CONCORDO Guardar Recarregar perfil - Assistente Rápido Definições do Assistente Rápido Texto do botão: Hidratos: @@ -123,16 +76,9 @@ Adicionar Editar Corr - Acções (PERIGOSO DESACTIVAR) Envio NS apenas Envio NS apenas (sincronização desactivada). Não efectivo no SGV a menos que uma fonte local como o xDrip seja selecionada. Não efectivo em Perfis enquanto NS-Perfis é usado.\n!!! AVISO !!! A desactivação desta opção pode causar mal funcionamento e overdose de insulina se qualquer um de seu componente (AAPS, NS, xDrip+) estiver mal configurado. Assista cuidadosamente se dados exibidos pela AAPS combinam com o estado da bomba! Bomba não inicializada! - Purgar/Preencher - Por favor certifique-se que o valor corresponde ao especificado para o seu conjunto de infusão! - Valores Padrão de insulina para Purgar/Preencher - Botão 1 - Botão 2 - Botão 3 Unidades Intervalo para visualização Marca Alto e Baixo para os gráficos em Sumário e Smartwatch @@ -141,106 +87,22 @@ Wear Reenviar Todos os Dados Abrir Definições no Relógio - MM640g Notificação em curso DADOS ANTIGOS - OpenAPS AMA - Array de %1$d elementos.\nValor actual: - Dados Autosens - Script debug - Utilizar função Autosens - ACÇ CONF LOOP - OAPS Início - BOMBAV TRATA - OBJ WEAR Abreviar títulos dos separadores - Utilizar sempre delta médio curto em vez de delta simples - Útil quando há ruído nos dados de fontes sem filtro como xDrip+. - Valor padrão: 3 Por segurança é o valor limite estabelecido pela OpenAPS. O que faz é limitar a basal a 3x a basal máxima. Se necessário modificar este valor, por favor tenha em conta que os dados apontam para que os limites de segurança sejam \"3 x máx diário ; 4 x valor atual\". - Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objectivo é evitar que sejam determinadas basais temporárias demasiado elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. - Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor Sensibilidade à Insulina (FSI) e baixar o valor alvo de glicose no sangue. - Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de FSI e valor alvo de glucose no sangue (BG). - Autosens ajusta os alvos, também - Valor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de FSI e basais. - Valor padrão: 2\nBólus Snooze (pausa após bólus) é executado depois de realizar um bólus por refeição Desta maneira o algoritmo não irá contrariar com temporárias baixas logo depois da refeição. O valor padrão é 2; Então uma duração de ação da insulina (DIA) de 5h significa que o Bólus Snooze irá ser gradualmente reduzido ao longo de 2,5 horas = 5/2 = DIA/Valor padrão. - Valor padrão: 3.0 para deteção avançada de refeições (AMA) ou 8.0 para super micro bólus (SMB). Esta é a configuração padrão para o cálculo de quanto varia a cada 5 min a glicose no sangue (GLIC) devido à absorção de hidratos de carbono. O padrão é 3mg/ dl / 5min. Isso afeta a rapidez com que decaem as calorias no corpo (HCA), e quantos hidratos de carbono terão de ser considerados no cálculo da previsão de GLIC, quando é que a GLIC está baixando mais do que espectável ou não subindo como espectável. - Atenção!\n Normalmente não é necessário modificar os valores abaixo. Por favor PRESSIONE AQUI e LEIA o texto para garantir que ENTENDE as consequenciais antes de alterar algum destes valores. - A Executar - Definições da bomba virtual - Enviar estado para NS - ClienteNS - CLNS - URL: - Rolar automático - Reiniciar - ClienteNS - Nightscout URL - Introduza o Nightscout URL - NS API secret - NS API secret - Insira NS API secret (min 12 caract.) - Administrar agora - Limpar fila de espera - Mostrar file de espera - Fila de espera: - Estado: - Limpar Registo - ClienteNS sem permissões para alterar dados. Tem a senha API correta? Definições do Relógio sem efeito - por favor verifique no telemóvel - Tipo de Paciente - Criança - Adolescente - Adulto - Adulto resistente insulina - Gravidez - Por favor seleccione o tipo de paciente para configurar limites de segurança Nome do Paciente Por favor, forneça o nome do paciente ou alcunha para diferenciar entre várias configurações - Glimp - Suspender loop por 1h - Suspender loop por 2h - Suspender loop por 3h - Suspender loop por 10h - Remover a bomba - Remover bomba por 15 min - Remover bomba por 30 min - Remover bomba por 1 h - Remover bomba por 2 h - Remover bomba por 3 h - 15 min. - 30 min. - 1 hora - 2 horas - 3 horas - 10 horas - Retomar - Re-ligar a Bomba - Registar inicio da app no NS A sair da aplicação para aplicar as definições. Qual o tipo de insulina que está a utilizar? Activar superbólus no assistente Active a funcionalidade de superbolus no assistente. Não active até que aprenda o funcionamento. PODE CAUSAR OVERDOSE DE INSULINA SE UTILIZAR INDISCRIMINADAMENTE! - Mostrar luzes de estado no ecrã principal - Limite aviso idade canula [h] - Limite Crítico Idade Cânula/cateter [h] - Limite aviso idade insulina [h] - Limite crítico da idade da insulina [h] - Limite aviso idade sensor [h] - Limite crítico da idade do sensor [h] - Limite de aviso do nível da bateria do sensor [%] - Limite crítico do nível da bateria do sensor [%] - Limite de aviso de idade da bateria da bomba [h] - Limite crítico de idade da bateria da bomba [h] - Limite de aviso de nível de reservatório [U] - Limite crítico do nível do reservatório [U] - Limite de aviso do nível da bateria da bomba [%] - Limite crítico do nível da bateria da bomba [%] PREV BAS DESV @@ -250,18 +112,12 @@ DESVINCLI Acerca Falta permissão do estado do telefone - Cancelar Bólus Prolongado Fazer Mudança De Perfil - Sensor - Bólus - Bateria da Bomba - idade: - nível: - Opções Alarme + Opções Alarme Criar notificações dos alarmes NS Criar notificações a partir dos anúncios NS - Tempo limite para dados obsoletos [min] - Tempo limite para Urgência por dados obsoletos [min] + Tempo limite para dados obsoletos [min] + Tempo limite para Urgência por dados obsoletos [min] Intervalo para autosens [h] Quantidade de horas observadas para a deteção de sensibilidade (o tempo de absorção dos hidratos de carbono é excluído) OpenAPS @@ -274,23 +130,13 @@ Definições de absorção Tempo máx. absorção refeição [h] Tempo em horas, espectável para que todos os hidratos de carbono da refeição sejam absorvidos - OAPS - UPLD Manter ecrã ligado Impedir Android de desligar o ecrã. Isto irá consumir muita bateria quando não ligado ao carregador. Ao activar a função Autosense lembre-se de introduzir todos os hidratos de carbono (HC) que comeu. Caso contrário os desvios de hidratos serão erroneamente identificados como uma variação da sensibilidade !! Média ponderada da Sensibilidade Nem todos perfis foram carregados! Valores não guardados! - Activar partilha local. - OpenAPS SMB - Activar RNA - Activar SMB - Use Super Micro Bólus em vez de basal temporária para uma ação mais rápida - Deteção de Refeições Não Anunciadas (RNA) INVÁLIDO - Percentagem - Deslocamento temporal Alvo-Temp padrão duração comerbreve alvo comerbreve @@ -298,33 +144,16 @@ alvo actividade duração hipo alvo hipo - Reutilizar %1$d%% %2$dh Controles do Relógio Definir Alvo-Temp and inserir Tratamentos do relógio. - Utilizar as notificações do sistema para alertas e notificações Aumentar gradualmente o volume de alertas e notificações Alertas locais Alertar caso nenhuma Glicose seja recebida Alertar caso não seja possível alcançar a bomba Limite para bomba inacessível [min] Alertar se forem necessários Hidratos - Alarme Urgente - INFO - Aplicação Eversense (com patch) - Enviar dados Glicose para NS - Definições de Envio da Glicose Mostrar Delta detalho Mostrar delta com mais um ponto decimal - Com que frequência em min os SMBs serão dados - Limite de minutos de basal para SMB - RNA SMB máx minutos - Máx minutos de basal para limitar SMB para RNA - Mínimo De Hidratos Necessários Para Sugestão - Mínimo de gramas de hidratos de carbono para exibir um alerta de sugestão de hidratos. As sugestões de hidratos abaixo deste número não ativarão uma notificação. - Enviar dados Glicose para xDrip+ - Seleccionar 640g/Eversense como fonte no xDrip+ - Glicose ClienteNS - Glicemia do NS Cálculos Glicose Cálculo de Bólus IA Cálculo de Basal IA @@ -334,41 +163,17 @@ Negativo apenas Cálculo HCA Cálculo alvo temporário - Loop activado - APS seleccionado - ClienteNS tem permissão de escrita - Modo fechado ativado - IA máxima definida corretamente - Glicose disponível da fonte seleccionada - Erro na administração Bólus Prolongado - SMB sempre activado - SMB sempre activo independentemente dos bólus. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Activar SMB após hidratos - SMB ativo por 6h após HCs, mesmo com 0 HCA. Possível apenas quando o medidor tive um bom filtro de dados como o G5 - Ativar SMB com HCA - Ativar SMB quando tem HCA positivos. - SMB activo com valores alvo temporários - SMB activo quando há valor alvo temporário activo (comer brevemente, exercício) - SMB activo com alvos temporários elevados - Activar SMB quando há alvo temporário elevado activo (exercício, acima de 100 mg/dl ou 5,5 mmol/l) - Bólus Botões Envia a calibração para o xDrip+ ou abre o diálogo de calibração do BYODA Abre xDrip+ ou BYODA, botão voltar retorna à AAPS Número de hidratos de carbono a adicionar quando o botão é premido Unidades de insulina a adicionar quando o botão é premido Não foi possível lançar aplicação de monitorização contínua. Por favor verifique que está instalada. - CGM Ignorar 5m Ignorar 15m Ignorar 30m - Navegador do histórico Notificar no SMB Mostrar SMB no relogio como bolus normal. - Criar anúncios dos erros - Criar anúncios a partir dos alertas de hidratos necessários - Criar um anúncio no Nightscout para caixas de diálogo de erro e alertas locais (também podem ser visualizados em Careportal sob tratamentos) - Criar anúncios Nightscout para alertas de hidratos necessários Mostrar previsões no mostrador. Previsões Escolha de Dados @@ -376,8 +181,6 @@ Permitir que seja enviado automaticamente à equipa de desenvolvimento o report de crashes e das funções utilizadas, utilizando o serviço fabric.io. Por favor atualize as sua aplicação Dexcom para uma versão suportada App Dexcom não está instalada. - Sem bólus, registar apenas - Bólus será registado apenas (não administrado pela bomba) SMB definido pela bomba Actividade Impacto Glicose @@ -386,29 +189,9 @@ Hidratos de Carbono Ativos (HCA) Insulina ativa Basais - A correr a versão dev. O Loop fechado está desativado. Modo engenheiro activado - A bomba não é capaz de basais temporárias - Loop fechado desativado nas preferências - Autosens desabilitado nas preferências - SMB desactivado nas configurações - RNA desactivada nas configurações - RNA desactivada porque confia no plugin de sensibilidade Oref1 - multiplicador de basal máx - multiplicador de basal máx diária Um bólus foi administrado nos últimos 3 minutos, a ignorar SMB Basal correctamente definida - A limitar bólus prolongado para %1$.1f U porque %2$s - A limitar hidratos para %1$d g porque %2$s - A limitar IA para %1$.1f U porque %2$s - valor máx nas preferências - limite rígido - Registar mudança local bomba - Registar mudança de reservatório - SMB sempre e depois dos hidratos desactivado por fonte da Glicose activa não suportar filtro avançado - SMB não permitido no modo open loop - Máximo total de IA que a OpenAPS não pode superar [U] - Este valor é chamado de Máx IA em contexto da OpenAPS\n A OpenAPS não adicionará mais insulina se a IA atual for maior que este valor Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -423,28 +206,16 @@ Segundo incremento hidratos Terceiro incremento hidratos CGM - WiFi SSID - Definições de ligação - SSIDs permitidos (separada por ponto e vírgula) - Permitir ligação em roaming Rácio máx. autosens Rácio min. autosens - Pausa bólus divisor DIA - Multiplicador máx. diário de segurança - Multiplicador actual de segurança basal - Tipo da Bomba Virtual - Definição da Bomba - Bólus: Passo=%1$s\nBólus Prolongado: [Passo=%2$s, Duração=%3$smin -%4$sh] \nBasal: Passo=%5$s\ nDBT: %6$s (por %7$s), Duração=%8$smin-%9$sh\n%10$s Resultado cálculos incluídos no Assistente: Definições Ecrã Definições Gerais - Activar ClienteNS Bem-vindo ao assistente de configuração. Vai guiá-lo(a) através do processo de instalação\n Ler estado Saltar assistente de configuração Plugin de Sensibilidade é usado para deteção de sensibilidade e cálculos HCA. Para mais info visite: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - ClienteNS gere a ligação ao Nightscout. Pode saltar esta parte mas não será possível passar os objectivos até que o configure. Lembre-se: novos perfis de insulina requerem diâmetro de pelo menos 5h. DIA 5–6h no novo perfil é igual ao diâmetro 3h nos antigos perfis de insulina. Seleccione um dos algoritmos disponíveis. Eles são classificados do mais antigo para o mais recente. Algoritmo mais recente é geralmente mais forte e mais agressivo. Assim, se é novo looper, poderá provavelmente começar com AMA e não com a versão mais recente. Não se esqueça de ler a documentação de OpenAPS e configurá-lo antes de utilizar. Por favor, configure o seu RileyLink abaixo. Depois de seleccionar um RileyLink, será possível continuar a configuração quando o estado do RileyLink estiver \"Conectado\". Isso pode levar um minuto.\n @@ -454,19 +225,6 @@ Abrir a navegação Fechar a navegação Preferências plugin - Poctech - Receber valores Glucose da app Poctech - Glunovo - Receber valores do aplicativo Glunovo - Receber valores de Glicose da app Tomato (dispositivo MiaoMiao) - Alto alvotempo aumenta sensibilidade - = 100]]> - Baixo alvotemp baixa sensibilidade - - Resistência reduz alvo - Quando a resistência for detectada, diminui o alvo de glicose - Sensibilidade aumenta o alvo - Quando a sensibilidade é detectada, aumenta o alvo glicose Definições armazenadas encontradas Dados tratamento incompletos Definições de manutenção @@ -479,61 +237,20 @@ Eliminar registos Um tratamento (insulina: %1$.2f, hidratos: %2$d, às: %3$s) não ficou gravado. Por favor verifique se foi realmente efectuado e se sim adicione manualmente aos tratamentos. eCarbs: %1$d g (%2$d h), atraso: %3$d m - Sem dados Autosens disponíveis Definições de registo Repor definições por defeito - Erro de funcionamento do ClienteNS. Pondere reiniciar o NS e ClienteNS. Modo APS preferido Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. Pedido de mudança mínima [%] A app mostrará um pedido de alteração apenas se a mudança para uma nova basal temporária for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U - Registar mudança de sensor para NS - Tomato (MiaoMiao) - Tomato - Nome de utilizador no Tidepool, normalmente seu endereço de e-mail - Nome de Utilizador - Senha da conta Tidepool - Senha Login - Teste de Conta Tidepool - Se ativado, o envio será para https://int-app.tidepool.org em vez do habitual https://app.tidepool.org/ - Utilizar servidores de integração (teste) - Tidepool - TDP - Enviar dados para Tidepool - Enviar dados CGM - Enviar tratamentos (insulina, hidratos) - Enviar basais temporárias - Enviar trocas de perfil, alvos temporários - Enviar testes Glicose - 2h - BYODA - BYODA - Receber valores de glicemia do aplicativo BYODA. - HCA vs IA - Restrição de bólus aplicada: %1$.2f U a %2$.2f U - !!!!! Absorção lenta de hidratos detetada: %2$d%% do tempo. Verifique o seu cálculo. HCA podem estar sobrestimados, assim mais insulina pode ser dada !!!]]> - Administrar esta parte do resultado do assistente de bólus [%] Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é administada. Útil com o algoritmo SMB. - Aumentar o valor máximo de basal porque a configuração é inferior à sua basal máxima no perfil - Seleccionado: Unidades - Limpar terminado - Limpar iniciado - Deseja reiniciar o objectivo? Pode perder seu progresso. Seleccione as unidades em que deseja exibir os valores Valor mais baixo da área de intervalo (apenas exibição) Valor mais alto da área de intervalo (apenas exibição) - Entrada % inválida - Glicose Aleatória - Gerar dados de Glic. aleatórios (Somente modo de Demonstração) - Glicose - Ferramentas - Mostrar Localização Exibir removidos Limpar fila? Todos os dados na fila serão perdidos! - O uso do Bólus Prolongado irá parar o modo Loop Fechado durante o tempo do bólus prolongado. Quer realmente isso? - Loop Fechado desativado por causa da execução do Bólus Prolongado Menu do Gráfico Hora de solicitação SMB Hora de execução do SMB @@ -545,34 +262,13 @@ Insulina absoluta Senha Mestre é usada para encriptação da cópia de segurança e substituir segurança na aplicação. Lembre-se dela ou guarde-a em um lugar seguro. Senha Mestra actual - Luzes de Estado - Copiar definições do NS - Copiar definições do NS (se existir)? - Tema Gráfico Original - Design de Baixa Resolução - Os botões são sempre exibidos na parte inferior do ecrã - Mostrador Grande - Tema gráfico - Comparar Perfis - Assistente de Perfil - Perfil Padrão - Perfil Actual - Perfil Disponível - Tipo de Perfil - Idade: %1$.0f TDI: %2$.0f U - Idade: %1$.0f TDI: %2$.0f U %3$d%% - Idade: %1$.0f Peso: %2$.0f kg - % de basal - Perfil Padrão DPV Estado RileyLink: Não é possível criar o perfil. O perfil é inválido. Não encerre minha app? - Executar alarme quando for tempo de comer Hora de comer!\nExecutar assistente de Bólus e fazer cálculo novamente. Ativar lembrete de bólus Envio de registos de erro desativado! Gráfico - Menu do Gráfico Limpar filtros Cânula Utilize valores da sua maior refeição que normalmente come\n @@ -580,34 +276,9 @@ Endereço de email Definições de privacidade Opcionalmente pode fornecer um endereço de e-mail se quiser ser notificado sobre os erros da app. Este não é um serviço automatizado. Será contactado por desenvolvedores em situações perigosas. - Sincronização completa - Sincronização completa? Pode levar muitas horas até terminar e não irá ver dados novos no NS. - Sincronização - Perfil, bolus, hidratos de carbono e basais temporárias são enviados para o NS - Enviar dados para o NS - Receber armazenamento de perfil - Sincronizar perfis a partir do editor de perfis do NS - Receber alvos temporários - Aceitar alvos temporários inseridos através do NS ou NSCliente - Receber mudança de perfil - Aceitar mudanças de perfil inseridos através de NS ou NSCliente - Receber eventos da APS offline - Aceitar eventos APS inseridos através de NS ou NSClient - Receber insulina - Aceitar insulina inserida através do NS ou NSClient (não é administrada, apenas utilizada no cálculo da IA) - Receber hidratos de carbono - Aceitar hidratos de carbono inseridos através do NS ou NSCliente - Receber tratamentos - Aceitar tratamentos (catéter, insulina, mudança de bateria etc) inseridos através do NS ou NSCliente - Receber/preencher dados do MCG - Aceitar dados do MCG provenientes do NS - Executar %s? - Reduzir velocidade de transferência Estado dos dados da Glicemia Identificação (e-mail, nick FB ou Discord, etc) Identificação não definida no modo desenvolvimento Indisponível - Login - diff --git a/app/src/main/res/values-ro-rRO/exam.xml b/app/src/main/res/values-ro-rRO/exam.xml index 3e70cad025..3ea04e700d 100644 --- a/app/src/main/res/values-ro-rRO/exam.xml +++ b/app/src/main/res/values-ro-rRO/exam.xml @@ -1,180 +1,2 @@ - - Care afirmații despre DIA sunt adevărate? - Durata de Acțiune a Insulinei (DIA) - Ar trebui să setaţi valoarea pentru DIA în profilul dumneavoastră. - Valoarea minimă permisă este de 5 ore. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Ar trebui să determinaţi dumneavoastră valoarea corespunzătoare pentru DIA. - Țintă-Temporară Hipoglicemie - Care este motivul principal pentru a stabili o țintă temporară de hipoglicemie? - Pentru a corecta hipoglicemiile cauzate de setările de rată bazală incorecte. - Pentru corectarea unui episod hipoglicemic indus ca rezultat al exerciţiului fizic. - Pentru a preveni scăderea glicemiei, dacă este deja în funcţiune o rată bazală temporară de 0% a glicemiei. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Ce profil se va folosi și configura offline? - Subiect: Profil Offline - Profilul NS poate fi folosit, dar nu modificat. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Ce trebuie să faceți atunci când deconectați pompa? - Acest lucru nu este necesar deoarece insulina nu va fi eliberată dacă pompa este deconectată fizic. - Nu va opri administrarea insulinei dacă pompa rămâne conectată. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Care sunt cele mai bune metode de a păstra o copie de siguranță a setărilor AndroidAPS? - Nu este nevoie să exportați setările dvs. cu condiția să le notați. - Exportă setările după ce termini de completat un obiectiv. - Exportă setările după ce modifici oricare dintre setările tale. - Exportă setările după ce termini configurarea inițială și ai setat Preferințele. - Exportă setările local folosind meniul de întreţinere. - Fișierul de setări se găsește în folderul Internal Storage/AAPS/preferences pe telefonul dvs. - Copiați fișierul de preferințe într-o locație sigură în afara telefonului dvs. (de ex. folosind un spațiu de stocare online cloud, conectând un cablu la un computer, un e-mail etc.) - În cazul în care telefonul este deteriorat sau pierdut, există modalități simple de a vă recupera setările fără o copie de rezervă. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Citiri zgomotoase ale CGM - Ce ar trebui făcut dacă valorile CGM sunt nesigure? - Dezactivați bucla închisă pentru a evita o posibilă supradozare sau subdozare. - Înlocuiți senzorii zgomotoși sau inexacti. - Verificaţi că aplicaţia dumneavoastră CGM furnizează date filtrate. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Exercițiu și Profiluri - Cum poți folosi profilurile pentru a ajuta sistemul să facă față exercițiilor aerobe? - Faceți un schimb de profil la mai puțin de 100%. - Faceți un schimb de profil de peste 100%. - Lasă profilul setat la 100%. - Suspendă bucla. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Activitate fizica și Ținte Temporare - Cum puteți utiliza Ținte Temporare pentru a ajuta sistemul să facă față exercițiilor aerobe? - Stabiliţi o ţintă a glicemiei pentru activitate începând cu un interval de timp adecvat înainte de începerea exerciţiului. - Stabiliţi o ţintă a glicemiei pentru activitate după încheierea exerciţiului. - Lăsaţi valoarea ţintă a glicemiei dumneavoastră neschimbată. - Aşteptaţi până când glicemia scade sub Ținta Temporară de hipoglicemie şi apoi mâncaţi 15 g de carbohidraţi cu acţiune rapidă. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Buclă dezactivată/suspendată - Primesc insulina atunci când bucla închisă este dezactivata/suspendata? - Da, insulina bazală este livrată în continuare. - Nu, livrarea de insulină este oprită. - Testare rate bazale, ISF și rație I:C - Când ar trebui să fie validate aceste valori? - Înainte de a începe folosirea buclei inchise. - Când aveţi frecvent valori crescute sau scăzute ale glicemiei. - Cel puţin o dată pe săptămână. - Odată setate și validate, aceste valori nu ar trebui să se modifice în timp. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Cerinţe preliminare - Profil validat (ratele bazale, IC, ISF, DIA). - Un computer cu Android Studio instalat și configurat. - Un telefon compatibil. - O pompă de insulină compatibilă dacă intenţionaţi să rulaţi o buclă închisă. - Nightscout, pentru a păstra un jurnal cu toate datele și pentru evaluarea setărilor. - Un cont Tidepool. - Un cont de Google. - Un cont de Github. - Experiență în programare sau editare cod. - O pompă MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Un ceas inteligent. - Un sistem de senzori CGM compatibil. - Cerințe preliminare - Informații validate pentru crearea unui profil (ISF, I:C, rate bazale, DIA etc.). - Un dispozitiv Android compatibil (de ex. telefon mobil, ceas Android sau tabletă). - Un CGM suportat si o aplicatie corespunzatoare pentru a primi valorile glicemiei pe telefon/dispozitiv. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Bifați toate răspunsurile corecte. - Trebuie să ai Git instalat și configurat pe calculator. - Ar trebui să salvați și să rețineți locația keystore-ului dvs. și să utilizați aceeași cheie de semnare pentru actualizări ca și pentru instalarea anterioară. - Nu actualizați niciodată dacă sistemul funcționează corect. - Dacă aveți dificultăți la construirea aplicației, puteți instala o aplicație care a fost construită de un prieten. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Depanare - Ar trebui să întrebați medicul diabetolog. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Plugin-uri insulină - Ce insulină trebuie să utilizaţi cu plugin-ul Ultra-Rapid Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humalin R®/insulină umană \"regular\". - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Plugin-uri de sensibilitate - Bifați toate răspunsurile corecte. - Plugin-urile de sensibilitate oferă utilizatorului sugestii pentru modificarea ratelor bazale, raportului I:C și ISF care pot fi utilizate pentru a edita profilul. - Înregistrarea unei schimbări de canula va reseta raportul Autosens înapoi la 100%. - Unele dintre opțiunile plugin-ului au intervale de timp configurabile care pot fi setate de către utilizator. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Erori la introducerea carbohidraților - Ce ar trebui sa faceți dacă ați introdus o cantitate de carbohidrați greșită? - Ştergeţi intrarea incorectă din Tratamente şi introduceţi noua valoare de carbohidrați corectă. - Introdu un bolus de insulina folosind meniul de Amorsare. - Introdu un bolus de insulina folosind butonul Insulina din meniul principal. - Erori de livrare/introducere insulină - Ce trebuie să faci dacă ai primit mai putină insulină decât sugerează istoricul pompei, de exemplu datorită unei ocluzii, a unei canule defecte sau pentru ca ai uitat sa reatașezi pompa după un dus?  - Șterge datele despre insulină din Nightscout Careportal pentru a le înlătura din istoricul pompei. - Bolusati o cantitate parțiala de insulina din insulina calculata ca fiind lipsa utilizând seringa/penul sau amorsarea. - Insulină activă (IOB) - Valoarea IOB este afectată de bazalele temporare emise. - Rata bazala ridicata temporara nu va fi livrata atunci când glicemia este sub nivelul țintă. - Un IOB negativ pentru o perioadă substanțială în absența exercițiilor fizice sugerează că profilul tău este prea puternic și este nevoie de mai puţină insulină în setările inițiale. - Un IOB pozitiv pentru o perioadă substanţială sugerează rezistenţă la insulină sau mese neanunțate. - Carbohidrați si bolusuri - Pentru estimarea și înregistrarea carbohidraților consumați trebuie utilizate numai grame. - Carbohidraţii consumaţi pot fi înregistraţi folosind un sistem de schimb corespunzător (de ex. schimburi DAFNE \"CHO\" sau \"Unităţi De Pâine\" europene). - Dacă valorile glicemiei sunt în afara valorilor acceptabile (prea mici sau prea mari), calculatorul bolus poate fi utilizat pentru a oferi sugestii pentru corecţiile cu carbohidrați sau insulină. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - Pentru ce ați putea utiliza e-carbohidrati (carbohidrati extinsi)? - Pentru a introduce carbohidrați în viitor, posibil distribuiți pe un interval de timp (similar cu a seta un bolus extins pe un interval de timp). - Pentru a înregistra carbohidrații folosiți la tratarea hipoglicemiei - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Monitorizare la distanţă - Alte aplicații (de exemplu, Dexcom follow, xDrip care rulează în modul de urmărire) vă permit să urmăriți unii parametri (de exemplu, valorile glucozei/senzorilor de sânge) de la distanţă, dar utilizează algoritmi diferiţi, astfel încât e posibil să aveţi valori incorecte IOB sau COB. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Factor de sensibilitate la insulină (ISF) - Creşterea valorilor ISF va duce la o cantitate mai mare de insulină administrată pentru a acoperi o anumită cantitate de carbohidraţi. - Reducerea valorilor ISF duce la o cantitate mai mare de insulină administrată pentru a corecta valorile glicemiei peste ţintă. - Creşterea sau scăderea ISF nu are nici un efect asupra livrării de insulină atunci când nivelul glucozei din sânge este sub ţintă. - Schimbarea valorii ISF în profil este suficientă pentru a produce efecte. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Poți folosi mai mult de o valoare pentru raportul I:C în profilul tău. - Dacă schimbaţi ISF în profilul dumneavoastră, ar trebui să vă schimbaţi întotdeauna și raportul I:C. - Raport insulină per carbohidrați (ICR) - Rapoarte ICR mai mari duc la livrarea unei cantintăți de insulină pentru o anumită cantitate de carbohidrați. - Valorile ICR mai mici conduc la livrarea unei cantități mai mici de insulină pentru o anumită cantitate de carbohidrați. - Dacă aveți 0 CoB (carbohidrați activi), schimbarea IC va determina modificarea cantității de insulină livrată pentru a corecta glicemia. - Valoarea IC va fi diferita dacă considerați 1BE (unitate de pâine) ca 10g sau 12g glucide. - IC înseamnă: Câte unități de pâine (BE) sunt acoperite de 1 unitate de insulină. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Schimbare profil - Când specificați un schimb de profil de 90% care sunt răspunsurile adevărate? - Ratele bazale vor fi cu 10% mai mici. - Valoarea ISF va fi cu 10% mai mare. - Valoarea raportului I:C va fi cu 10% mai mic. - ISF și ICR nu vor fi schimbate. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Schimbare profil - Când specificați un schimb de profil de 120% care sunt răspunsurile adevărate? - Ținta pentru glicemie va fi cu 20% mai mare. - Ratele bazale vor fi cu 20% mai mari. - Glicemia ţintă nu se va modifica. - Valoarea ISF va fi cu 20% mai mare. - Schimbare profil - Inițiați o schimbare de profil cu decalaj de timp de 2 - Inițiați o schimbare de profil cu decalaj de timp de -2 - Fixaţi o Țintă Temporară mănânc în curând. - Faceți un schimb de profil de peste 100% - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Modificări ale profilurilor - Ratele bazale, ISF, I:C etc. ar trebui stabilite în profiluri. - Editarea profilurilor pentru a modifica valorile este suficientă pentru a adopta orice modificări făcute. - Profilurile multiple pot fi setate şi selectate pentru a ţine cont de circumstanţele schimbătoare (de exemplu, modificări hormonale, muncă în schimburi, stil de viață în zilele lucrătoare/weekend). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Ajutor cu ratele bazale - Unde căutați ajutor pentru a seta ratele bazale etc. - Medicul dumneavoastră diabetolog - Google - Facebook - Alt Medicament. Vă rugăm să citiţi declaraţia de mai jos şi apoi să bifaţi caseta pentru a accepta declaraţia. - + diff --git a/app/src/main/res/values-ro-rRO/objectives.xml b/app/src/main/res/values-ro-rRO/objectives.xml index 04bc864836..3ea04e700d 100644 --- a/app/src/main/res/values-ro-rRO/objectives.xml +++ b/app/src/main/res/values-ro-rRO/objectives.xml @@ -1,53 +1,2 @@ - - Start - Verifică - Obiectiv %1$d - Obiectivul %1$d nu a fost asumat - Obiectivul %1$d nu a fost atins - Se stabilesc vizualizările și monitorizarea și se analizează bazalele și valorile ratelor - Verificați că vedeți glicemia în Nightscout și că datele despre insulină date de pompă sunt înregistrate în site - Pornire cu buclă deschisă - Funcționare în modul Buclă Deschisă pentru câteva zile și introducere manuală a multiplelor sugestii de bazale temporare. Se stabilesc și se folosesc ținte temporare și ținte implicite (e.g. pentru activități sau pentru carbohidrați de corecție) - Se va înțelege modul de lucru în buclă deschisă, inclusiv recomandările de bazale temporare - Pe baza experienței, se va decide care va fi bazala maximă, și se va implementa aceasta în pompă și în preferințe - Se va începe modul buclă închisă cu funcția Suspendare la Glicemie Mică - Rulează în mod buclă închisă cu max IOB = 0 pentru câteva zile, fără prea multe evenimente LGS (Suspendare la Glicemii Mici) - Îmbunătățirea buclei închise, mărirea valorii max IOB peste 0 și scăderea graduală a țintelor de glicemie - Se rulează pentru câteva zile și cel puțin o noapte fără a avea alarme de glicemie mică înainte de scăderea țintei - Ajustarea bazalelor și a factorilor dacă este necesar și apoi activarea auto-sens - O săptămână de buclă închisă încheiată cu succes în condițiile introducerii regulate a carbohidraților - Se activează opțiuni pentru uzul în timpul zilei, cum ar fi SMB - Activarea automatizării - Trebuie sa citiți wiki și să măriți maxIOB pentru a obține SMB corect! Un start bun este maxIOB=media bolusurilor + 3x maxima bazalei din zi - Citiți documentația despre cum funcționează automatizarea. Setați primele reguli simple. În loc de a acționa, lăsați AAPS doar să afișeze notificări. Când sunteți siguri ca automatizarea acționează la momentul potrivit, înlocuiți notificările cu acțiuni reale.(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - Glicemie disponibilă în NS - Starea pompei disponibilă în NS - Acțiuni manuale - Îndeplinit: %1$s - Stabiliți profilul 90% pentru 10 min (apăsare prelungă a numelui profilului în Vedere de ansamblu) - Simularea unui duș. Deconectarea pompei pentru 1 oră (Apăsare prelungă pe Buclă deschisă) - ... și reconectare în același mod - Creați ținte temporare personalizate pentru o durată de 10 min (apăsare prelungă pe ținta curentă) - În Generatorul de Configurații activați facilitatea Acțiuni, făceți-o vizibilă și afișați-i conținutul folosind meniul de sus - Afișați conținutul facilității Buclă - Folosiți funcția scală prin apăsarea prelungă a graficului glicemiei - Introduceţi - Dacă aveți cel puțin 3 luni de experiență cu un sistem în bucla închisă, puteți beneficia de un cod pentru a sări peste obiective. Pentru mai multe detalii vezi: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. - Cod acceptat - Cod invalid - Dovediți-vă cunoștințele - Studiați întrebările. Vi se dau patru răspunsuri posibile pentru fiecare întrebare. Poate exista mai mult de un răspuns corect. Vă rugăm să bifați toate cele care sunt corecte și selectați VERIFICA. - Posibilitatea de a răspunde este dezactivată până la: %1$s - Răspuns greșit! - Următoarea nefinalizată - Solicită codul: %1$s - (bifați toate răspunsurile corecte) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Nu există conexiune la internet - Nu s-a reușit preluarea timpului - Nu au fost îndeplinite cerințele obiectivului - + diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 450499b720..659b7bc056 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -3,85 +3,44 @@ - Setări siguranță tratament - Bolus maxim admis [U] - Carbohidrați admiși maxim [g] %1$s Preferințe Preferințe Reîncarcă tratamentele din NS Resetează bazele de date Sigur resetați bazele de date? Ieșire - Butoane pentru accesarea celor mai comune facilităţi Folosit pentru configurarea facilităţilor active - Program de învăţare Activare sau dezactivare a implementării declanşatoare pentru buclă. - Sincronizare a datelor cu Nightscout - Starea algoritmului în 2017 - Cel mai recent algoritm destinat utilizatorilor avansaţi Afişează starea curentă a buclei şi butoanele pentru cele mai folosite acţiuni Afişează o notificare activă cu o scurtă descriere referitoare la starea buclei - Integrare cu pompele ce nu au încă un driver software disponibil (Buclă Deschisă) Sensibilitatea este calculată la fel ca în algoritmul Oref0, dar se poate specifica un interval de timp în trecut. Absorbția minimă de carbohidrați este calculată din parametrul echivalent, stabilit în preferințe. Sensibilitatea este calculată folosind datele din ultimele 8 sau 24 ore (se alege cea mai mare din ele), iar carbohidrații (când nu sunt absorbiți) sunt ignorați după timpul specificat în preferințe. Plugin-ul calculează și UAM. Sensibilitatea este calculată ca o medie ponderată a deviațiilor. Deviațiile noi au o importanță mai mare. Absorbția minimă de carbohidrați este calculată în funcție de parametrul absorbție maximă de carbohidrați, stabilit în preferințe. Acest algoritm este cel mai rapid atunci când sensibilitatea la insulină este fluctuantă. - Primește valorile glicemiei din aplicația Eversense modificată. - Primește valorile glicemiei din aplicația Glimp. - Primește valorile glicemiei din aplicația 600SeriesAndroidUploader (Medtronic). - Descarcă datele despre glicemii din Nightscout - Primește valorile glicemiei din xDrip+. Salvează toate tratamentele făcute - Execută - POMPĂ VIRTUALĂ - Ultima execuție - Parametri de intrare - Stare glicemie - Temp curentă - Date IOB - Profil - Date despre masă - Rezultat - Rezultat: %1$s %2$s - Nu există date despre glicemie - Solicitare Diferență Configurator Privire de ansamblu Tratamente - Pompă virtuală Pompă Profil APS Ce algoritm APS doriți să decidă ajustările de insulină? General Există pluginuri generale pe care le-ați putea găsi utile. + Sincronizare Ce constrângeri sunt aplicate? - Constrângeri Buclă APS Constrângeri după procesare Bazală Temporală programată în pompă NU AȚI SELECTAT APS SAU NU EXISTĂ REZULTAT GENERAT - Siguranță - Modul inactiv Încălcare a unei limite - Acceptă noua bazală temporară: Schimbați ceea ce ați introdus! Sursă glicemie - xDrip+ - Mod APS - Buclă închisă - Buclă deschisă - Suspendare la hipoglicemie O nouă sugestie este disponibilă Sugestie carbohidrați - Versiune incompatibilă de Nightscout - Ora carbohidrați Profil - Bazală temporară - Bolus extins Versiune Nightscout: - Lipsă %1$d g Am exportat preferințele Înregistrările de la Utilizator exportate Exportă setările către @@ -90,12 +49,7 @@ Nu am găsit fișierul Exportă setările Importă setările - Valoarea maximă în U/ora a unei rate bazale temporare poate fi setată la - Această valoare este denumită bazală maximă în contextul OpenAPS - Maximul de bazală IOB pe care o poate livra OpenAPS[U] - Această valoare este denumită Max IOB în contextul OpenAPS\nAceastă valoare este implicit nulă (0). După câteva zile sau săptămâni, în funcție de opțiunea dumneavoastră, puteți ajusta acest număr. Vi se va solicita parola principală, care va fi utilizată pentru criptare la exportarea setărilor. - Vi se va solicita parola principală, care este necesară pentru a decripta setările importate. Exportarea a eșuat! Preferințele NU au fost exportate! Importarea a eșuat! Preferințele NU au fost importate! Nu se pot prelua setările! @@ -115,7 +69,6 @@ ÎNȚELEG ȘI SUNT DE ACORD Salvează Reîncarcă profilul - AsistentRapid Setări AsistentRapid Text buton: Carbohidrați: @@ -123,16 +76,9 @@ Adaugă Editează Corecție - Acțiuni (E PERICULOS SĂ DEZACTIVEZI) Doar încărcare în NS Numai încărcare NS (sincronizare dezactivata). Nu este eficient pe SGV (rom. valori de glicemie din senzor) dacă nu este selectată o sursă locală ca xDrip. Nu este eficient pe Profiluri dacă sunt utilizate cele din NS.\n!!! ATENȚIE !!! Dezactivarea acestei opțiuni poate determina disfuncționalități și supradozaj cu insulină dacă oricare dintre componentele dumneavoastră (AAPS, NS, xDrip) este configurată greșit. Urmăriți cu atenție dacă datele afișate de AAPS se potrivesc cu starea pompei! Pompa nu este inițializată! - Pregătire/umplere - Asigurați-vă că aveți cantitatea specificată de instrucțiunile setului de infuzie! - Umplere/Amorsare folosind cantitățile standard de insulină - Buton 1 - Buton 2 - Buton 3 Unități Intervalul pentru vizualizare Valoarea maximă și minimă pentru graficele din vizualizare și pentru smartwatch @@ -141,106 +87,22 @@ Ceas Retrimite toate datele Deschide setările pe Wear - MM640g Notificare activă DATE VECHI - OpenAPS AMA - Matrice de %1$d elemente.\nValoarea curentă: - Date Autosens - Depanare script - Folosește opțiunea de autosensibilitate - ACT CONF BUCL - OAPS ACASĂ - POMPĂV TRAT - OBI CEAS Scurtează titlurile secțiunilor - Folosește întotdeauna media scurtă a diferenței în locul diferenței simple - Folositor când datele de la surse nefiltrate precum xDrip+ devin \'\'zgomotoase\". - Valoare implicită: 3\nAceasta este o setare de critică de securitate a OpenAPS. Asta înseamnă că se limitează bazala lade 3x valoarea maximă a bazalelor tale.Cel mai probabil nu veți schimba această valoare, dar trebuie să țineți cont de ce se discută despre “3x max zilnic; 4x curent” ca valori de siguranță. - Valoare implicită: 4\nAceasta este cealaltă jumătate a cheii de siguranță a OpenAPS și cealaltă jumătate a \"3x max zilnic; 4x curent\" al setărilor de siguranță.Aceasta înseamnă că bazala dumneavoastră, indiferent de bazala maximă configurată în pompă, nu poate fi mai mare de acest număr înmulțit cu nivelul curent al bazalei active. Această limitare este impusă pentru a evita posibilitatea de a intra pe un teritoriu periculos prin setarea unei bazale maxime excesiv de mari înainte de a înțelege funcționarea algoritmului. Din nou, valoarea implictă este 4x; majoritatea oamenilor nu vor trebui să ajusteze această valoare și vor modifica, mai degrabă, alte valori dacă vor simți că această valoare le stă în cale. - Valoare implicită: 1.2\nAceasta este valoarea limită de multiplicare pentru autosens (și pentru autotune, în curând) pentru a seta o limită maximă de 20%% din cât de mare poate fi raportul autosens, care, la rândul ei, determină cât de mult poate autosens să modifice bazalele, cât de jos poate modifica ISF și cât de jos poate pune ținta glicemiei. - Valoare implicită: 0.7\nCealaltă parte a limitelor autosens, care limitează cât de jos poate ajusta bazalele și cât de mult poate mări ISF și țintele de glicemie. - Autosens ajustează si target-urile - Valoare implicită: adevărat\nAceasta se folosește pentru a permite autosens să ajusteze țintele de glicemie, pe lângă modificările asupra ISF și bazalelor. - Valoare implicită: 2\nAmânarea bolusului este aplicată după ce ați făcut un bolus de masă, astfel încât bucla să nu reacționeze cu ținte bazale temporare scăzute atunci când tocmai ați mâncat. Exemplul de față și valoarea implicită sunt 2; astfel o durată de acțiune a insulinei (DIA) de 3 ore duce la o eliminare treptată a întârzierii setării bazalelor temporare după 1.5 ore (3DIA/2). - Valoarea implicită: 3.0 (AMA) sau 8.0 (SMB). Aceasta este o setare pentru impactul implicit al carbohidraţilor pe 5 minute. Valoarea implicită este 3mg/dl la 5min. Aceasta influenţează rapiditatea cu care se scade COB şi modul în care se ia în calcul absorbţia carbohidraţilor în calcularea valorilor estimate ale glicemiei, atunci când glicemia este în scădere mai mare decât se aştepta sau nu creşte atât de repede pe cât se aştepta. - Atenție!\nÎn mod normal nu este nevoie să modificați valorile de mai jos. Vă rog să APĂSAȚI AICI și să CITIȚI textul și să vă asigurați că l-ați ÎNȚELES înainte de a schimba valorile. - Se execută - Setări pompă virtuală - Trimitere status către NS - Client NS - NSCI - URL: - Derulare automată - Restartare - Client NS - Adresa Nightscout - Introduceți adresa Nightscout - Cheia API NS - Cheia API NS - Introduceți cheia API NS (min 12 caractere) - Livrează acum - Curăță coada de așteptare - Arată coada de așteptare - Coadă: - Stare: - Șterge istoricul - NSCLIENT nu are permisiuni de scriere. Cheia API este corect scrisă? Setări Wear fără succes - verificați telefonul - Tip de pacient - Copil - Adolescent - Adult - Adult rezistent la insulină - Sarcină - Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță Numele pacientului Vă rugăm să furnizați numele sau porecla pacientului pentru a diferenția între configurări - Glimp - Suspendă bucla pentru 1h - Suspendă bucla pentru 2h - Suspendă bucla pentru 3h - Suspendă bucla pentru 10 h - Deconectează pompa - Deconectează pompa pentru 15 min - Deconectează pompa pentru 30 min - Deconectează pompa pentru 1h - Deconectează pompa pentru 2h - Deconectează pompa pentru 3h - 15 min - 30 min - 1 oră - 2 ore - 3 ore - 10 ore - Restabilește - Reconectaţi pompa - Înregistrează pornirea aplicației în NS Se iese din aplicație în vederea aplicării setărilor. Ce tip de insulină folosiți? Activează superbolus în asistent Activează funcționalitatea de superbolus în asistentul de buclă. Nu activați până nu înțelegeți ce face cu adevărat. DACĂ ESTE FOLOSIT ÎN NECUNOȘTINȚĂ DE CAUZĂ POATE DUCE LA SUPRADOZĂ DE INSULINĂ! - Afișați indicatorii luminoși ai pompei pe ecranul de start - Prag de avertizare timp de utilizare canulă [h] - Prag critic timp de utilizare canulă [h] - Prag de avertizare vechime insulină [h] - Prag critic vechime insulină [h] - Prag de avertizare vechime senzor [h] - Prag critic vechime senzor [h] - Prag de avertizare nivel baterie senzor [%] - Prag nivel critic baterie senzor [%] - Prag de avertizare vârstă baterie [h] - Prag critic vârstă baterie [h] - Pragul de avertisment pentru insulina din rezervor [U] - Pragul critic al nivelului insulinei în rezervor [U] - Prag de avertizare nivel baterie [%] - Prag critic nivel baterie [%] PRED R_BAZ DEV @@ -250,18 +112,12 @@ DEVSLOPE Despre Nu este acordată permisiunea de citire a stării telefonului - Renunță la bolusul extins Schimbă profilul - Senzor - Insulină - Baterie pompă - vârstă: - nivel: - Opțiuni alarmare + Opțiuni alarmare Creare notificări din alarmele NS Creare notificări din anunţurile NS - Prag vechime date [min] - Prag date mult prea vechi [min] + Prag vechime date [min] + Prag date mult prea vechi [min] Interval pentru autosens [o] Numărul de ore din trecut pentru detectarea sensibilității (se exclude timpul de absorbție al carbo) OpenAPS @@ -274,23 +130,13 @@ Setări absorbție Timp maxim absorbție masă [o] Timp în ore la care se presupune că toți carbohidrații sunt absorbiți - OAPS - UPLD Menține ecranul aprins Nu permite telefonului să stingă ecranul. Când este activă, această opțiune consumă foarte multă baterie atunci când telefonul nu este la încărcat. Trebuie introduși toți carbo la pornirea Autosens. În caz contrar, acțiunea carbo va fi percepută ca schimbare a sensibilității! Sensibilitate estimată prin mediere Nu s-au încărcat toate profilurile! Nu s-au salvat valorile! - Permite anunțuri locale. - OpenAPS SMB - Activează UAM - Activează SMB - Folosește SMB în locul bazalei temporare pentru reacție mai rapidă - S-a detectat masă neanunțată INVALID - Procentaj - Decalare Ținte-Temporare implicite durată mănânc-în-curând țintă mănânc-în-curând @@ -298,33 +144,16 @@ țintă activitate durată țintă țintă hipo - Reutilizare %1$d%% %2$dh Controlare din ceas Setare Ținte-Temporare și se introduc Tratamente din ceas. - Se folosesc notificările sistemului pentru alerte și notificări Creşterea treptată a volumului pentru alerte şi notificări Alerte locale Alarmează dacă nu se primesc glicemii Se alertează dacă pompa este indisponibilă Prag pompă indisponibilă [min] Alertează dacă sunt necesari carbohidrați - Alarmă urgentă - INFO - Aplicația Eversense (modificată) - Încarcă date glicemie în NS - Setări înregistrare glicemie Arată variație detaliată Arată variație cu încă o zecimală - Cât de des se vor administra SMB în min - Max minute de bazală la care să se limiteze SMB - UAM SMB maxim minute - Durata maxima (în minute) a bazalei pentru a limita SMB în cazul UAM - Numărul minim de carbohidrați solicitați în Sugestii - Numărul minim de carbohidrați pentru a afișa o alertă-sugestie. Sugestiile de carbohidrați mai jos acest număr nu vor declanșa o notificare. - Trimite date glicemie la xDrip+ - Selectați 640g/Eversense ca sursă de date în xDrip+ - Glicemie NSClient - NS GL Calcul glicemie Calcul IOB bolus Calcul IOB bazală @@ -334,41 +163,17 @@ Doar negativ Calcul COB Calcul țintă temporară - Buclă activată - APS selectat - NSClient are drepturi de scriere - Mod buclă închisă activat - IOB maxim configurat corect - Glicemie disponibilă din sursa selectată - Eroare de livrare a bolusului extins - Activează SMB întotdeauna - Activează SMB întotdeauna independent de bolusuri. Este posibil doar în cazul unei surse de glicemii filtrate, cum ar fi G5 - Activează SMB după carbohidrați - Activează SMB pentru 6 ore după carbohidrați, chiar și cu 0 COB. Este posibil doar cu o sursă de glicemii filtrate, ca datele din G5 - Activează SMB cu COB - Activează SMB atunci când sunt COB activi. - Activează SMB cu ținte temporare - Activează SMB chiar atunci când este o țintă temporară activă (mâncare in curând, exerciții fizice) - Activează SMB cu ținte temporare mari - Activați SMB atunci când există o țintă temporară activă (exerciții fizice, peste 100mg/dl sau 5.5mmol/l) - Insulină Butoane Trimite o calibrare la xDrip+ sau deschide fereastra de calibrare BYODA Deschide xDrip+ sau BYODA, prin butoanele înapoi se revine la AAPS Cantitate de carbohidrați de adăugat când se apasă butonul Cantitatea de insulină de adăugat când se apasă butonul Nu s-a putut deschide aplicația CGM. Asigurați-vă că este instalată. - CGM Ignorați 5min Ignorați 15min Ignorați 30min - Vizualizare istoric Notifică despre SMB Arată SMB pe ceas ca și un bolus standard. - Crează anunțuri pentru erori - Crează anunțuri din alertele de cerere carbohidrați - Crează anunțuri în Nightscout pentru dialoguri de erori și alerte locale (vizibile și în Careportal - Tratamente) - Creează anunțuri Nightscout din alertele de cerere carbohidrați Arată previziunile pe ceas. Predicții Alegeri date @@ -376,8 +181,6 @@ Permite trimiterea de rapoarte automate de eroare și de date despre folosire către dezvoltatori prin serviciul fabric.io. Actualizați aplicația Dexcom la o versiune acceptată Aplicația Dexcom nu este instalată. - Nu bolusa, doar înregistrează - Bolusul va fi doar consemnat (nu va fi livrat de pompă) SMB setat de pompă Activitate Impactul glicemiei @@ -386,29 +189,9 @@ Carbohidrați activi Insulină activă Bazale - Se folosește versiunea dev. Bucla închisă este dezactivată. Mod inginer activat - Pompa nu suportă bazale temporare - Modul buclă închisă dezactivat în preferințe - Autosens dezactivat în preferințe - SMB dezactivat în preferințe - UAM dezactivat din setări - UAM dezactivat deoarece este bazat pe plugin-ul Oref1 pentru sensibilitate - maximul multiplicatorului bazalei - maximul zilnic al multiplicatorului bazalei S-a livrat un bolus în ultimele 3 minute, nu se livrează SMB Bazala setată corect - Se limitează bolusul extins la %1$.1f U datorită %2$s - Se limitează carbohidrații %1$d g datorită %2$s - Se limitează IOB la %1$.1f U datorită %2$s - valoare maximă în preferințe - limită fizică - Înregistrare schimbare a locului pompei - Înregistrare schimbare rezervor insulină - SMB dezactivat întotdeauna și după carbohidrați, deoarece sursa glicemiei nu suportă filtrare avansată - SMB nu este permis în mod buclă deschisă - Maximul total IOB peste care OpenAPS nu poate trece [U] - Această valoare este denumită Max IOB în contextul OpenAPS,\nOpenAPS nu va adăuga mai multă insulină dacă IOB este mai mare ca această valoare Timpul maxim de absorbție a mesei [h] Timpul în care orice mâncare se consideră absorbită. Carbohidrații rămași vor fi ignorați. Afișează câmp pentru note în dialogurile de tratamente @@ -423,28 +206,16 @@ Al doilea increment de carbohidrați Al treilea increment de carbohidrați CGM - SSID WiFi - Setări conexiune - SSIDuri permise (separare prin punct și virgulă) - Permite conexiuni în roaming Rată maximă autosens Rată minimă autosens - Amână bolusul prin divizor - Multiplicator sigur maxim zilnic - Multiplicator sigur pentru bazala curentă - Tipul pompei virtuale - Definirea pompei - Bolus: Pas=%1$s\nBolus Extins: [Pas=%2$s, Durată=%3$smin-%4$sh]\nBazală: Pas=%5$s\nRBT: %6$s (cu %7$s), Durată=%8$smin-%9$sh\n%10$s Calcule incluse în rezultatul asistentului: Setări afișare Setări generale - Activează NSClient Ați pornit asistentul pentru setări. Acesta vă va ajuta pentru configurarea setărilor\n Citire stare Ignoră asistentul pentru setări Pluginul Sensibilitate este folosit pentru estimarea sensibilității și calcularea COB. Pentru mai multe info vizitați: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient se ocupă de conectarea la Nightscout. Puteți sări peste această parte, dar nu se vor îndeplini anumite obiective dacă faceți acest lucru. Reamintire: noile profiluri necesită o durată de acțiune a insulinei (DIA) de cel puțin 5 ore. DIA de 5-6 ore în profilurile noi sunt echivalente cu DIA 3 ore din profilele vechi. Alegeți unul dintre algoritmii disponibili. Algoritmii sunt aranjați de la cel mai vechi spre cel mai nou. Algoritmii mai noi sunt, de obicei, mai puternici și mai agresivi. De aceeea, dacă sunteți la început, ar fi indicat să porniți cu AMA și nu cu cel mai nou. Este important să parcurgeți documentația OpenAPS și să îl configurați corect înainte de a folosi aplicația. Vă rugăm configuraţi RileyLink mai jos. După selectarea unui RileyLink, va fi posibil să continuaţi setarea odată ce starea RieyLink este \"Connected\". Acest lucru ar putea dura un minut.\n @@ -454,19 +225,6 @@ Afișare navigație Închidere navigație Preferințe plugin - Poctech - Citire a valorii glicemiei din aplicația Poctech - Glunovo - Primiți glicemii de la aplicația Glunovo - Înregistrează valorile glicemiei din aplicația Tomato (dispozitiv MiaoMIao) - Ținte temporare mai mari cresc sensibilitatea - = 100]]> - Țintele temporare joase scad sensibilitatea - - Rezistența la insulină poate coborî targetul - Când e detectata rezistență la insulină, coboară targetul - Sensibilitatea la insulină crește targetul - Când este detectată sensibilitate la insulină, crește targetul Au fost găsite setări stocate Date incomplete despre tratament Setări de întreținere @@ -479,61 +237,20 @@ Șterge logurile Un tratament (insulină: %1$.2f, carbohidrați: %2$d, la: %3$s) nu a putut fi înregistrat. Reverificați și apoi adăugați manual înregistrarea corectă. eCarbohidrați: %1$d g (%2$d h), întârziere: %3$d m - Nu există date disponibile privind autosens Setări loguri Resetare la setările implicite - Funcționare incorectă a NSClient. Aveți în vedere un restart al NS și al NSClient. Modul APS preferat Trimite înregistrările zilei de astăzi către dezvoltatori, împreună cu timpul curent. Situație neașteptată. Cerere de schimbare minimală [%] Bucla deschisă va afișa o nouă cerere de schimbare doar dacă nou valoare este mai mare cu %. Valoarea implicită este 20% == ∑ %1$s U - Înregistrează schimbarea senzorului în NS - Tomato (MiaoMiao) - Tomato - Utilizatorul Tidepool (de obicei adresa de email) - Numele de utilizator - Parola Tidepool - Parola utilizatorului - Testează conectarea la Tidepool - Dacă este activ, înregistrările vor fi transmise către https://int-app.tidepool.org, în loc să fie transmise către https://app.tidepool.org/ - Folosește serverele Integration (test) - Tidepool - TDP - Înregistrează datele la Tidepool - Înregistrează datele din CGM - Înregistrează tratamentele (insulină, carbohidrați) - Înregistrează bazalele temporare - Înregistrează schimbările de profil, țintele temporare - Înregistrează testările de glicemie - 2h - BYODA - BYODA - Primește valori de glicemie de la aplicația Dexcom modificată. - COB vs IOB - Este aplicatâ limitarea bolusului %1$.2f U la %2$.2f U - !!!!! A fost detectată o absorbție lentă a carbohidraților: %2$d%% din timp. Reverificați calculele. COB poate fi supraestimat, astfel că este posibilă administrarea de mai multă insulină !!!!!]]> - Livrați doar partea aceasta din rezultatul sugerat de wizard [%] Wizard bolus face un calcul, dar numai o parte din insulina calculată este și livrată. Este mai eficient când se folosește cu algoritmul SMB. - Se mărește valoarea bazalei maxime deoarece setarea este mai joasă decât bazala maximă din profil - Selectat: Unități - Șterge starea \"Terminat\" - Șterge starea \"Început\" - Doriți să reîncepeți obiectivul? Vă puteți pierde progresul. Selectați unitățile în care doriți să afișați valorile Valoarea inferioară a intervalului țintă (doar afișare) Valoarea superioară a intervalului țintă (doar afișare) - Intrare % invalidă - Glicemie aleatoare - Generare glicemie aleator (doar mod Demo) - Gl - Instrumente - Arată calculul Arată ștergerile Ștergeți coada? Toate datele din coadă vor fi pierdute! - Utilizarea unui bolus extins va opri modul buclă închisă pe timpul livrării bolusului extins. Sigur doriți acest lucru? - Bucla închisă dezactivată din cauza livrării bolusului extins Meniu diagramă Timp solicitare SMB Timp de execuţie SMB @@ -545,34 +262,13 @@ Insulină totală Parola master (principală) este folosită pentru criptarea copiilor de rezervă și pentru a suprascrie securitatea în aplicație. Rețineți-o sau păstrați-o într-un loc sigur. Parola principală curentă - Lumini de stare - Copiați setările din NS - Copiaţi setările NS (dacă există)? - Tema originală - Skin de rezoluție redusă - Butoanele sunt afișate întotdeauna în partea de jos a ecranului - Display mare - Tema - Compară profilurile - Ajutor profil - Profil implicit - Profil curent - Profil disponibil - Tip profil - Vârstă: %1$.0f TDD: %2$.0f kg - Vârstă: %1$.0f TDD: %2$.0f U %3$d%% - Vârstă: %1$.0f Greutate: %2$.0f kg - % din bazală - Profil implicit DPV Stare RileyLink: Nu se poate crea profilul. Profilul este invalid. Nu-mi opri aplicația? - Rulează alarma când este timpul să mănânci Timpul sa mănânci!\nRuleaza Calculatorul de Bolus pentru a face calculele din nou. Activează memento bolus Încărcarea jurnalelor de erori este dezactivata! Grafic - Meniu diagramă Șterge filtru Canula Folosește valorile corespunzătoarea celor mai mari mese pe care le ai de obicei\n @@ -580,35 +276,10 @@ Adresă de e-mail Setări de confidenţialitate Puteți furniza o adresă de e-mail opțională dacă doriți să fiți notificat despre erorile aplicației. Acesta nu este un serviciu automat. Veți fi contactat de dezvoltatori în situații periculoase. - Sincronizare completă - Sincronizare completă? Poate dura multe ore şi până la final nu veţi vedea date noi în NS. - Sincronizare - Profilurile, bolusurile, carbohidrații, bazalele temporare sunt încărcate în NS - Încarcă date în NS - Primire stocare profile - Sincronizează profilurile din editorul de profil NS - Primește ținte temporare - Acceptați țintele temporare introduse prin NS sau NSClient - Primește schimbări de profil - Acceptați schimbările de profil introduse prin NS sau NSClient - Primiți evenimente APS offline - Acceptați evenimente offline APS introduse prin NS sau NSClient - Primiţi date insulina - Acceptaţi insulina introdusă prin NS sau NSClient (nu este livrată, ci doar calculată in IoB) - Primește carbohidrați - Acceptați carbohidrați introduși prin NS sau NSClient - Primește evenimente terapeutice - Acceptaţi evenimentele de tratament (canulă, insulină, modificarea bateriei etc.) introduse prin NS sau NSClient - Primire/completare date CGM - Acceptați datele CGM din NS - Executați %s? - Încarcă mai lent Stare date glicemie Identificare (email, FB sau Discord etc) Identificarea nu este setată în modul dezvoltator Nu este disponibil Sortează - Autentificare - diff --git a/app/src/main/res/values-ru-rRU/exam.xml b/app/src/main/res/values-ru-rRU/exam.xml index b0398c1cc4..3ea04e700d 100644 --- a/app/src/main/res/values-ru-rRU/exam.xml +++ b/app/src/main/res/values-ru-rRU/exam.xml @@ -1,228 +1,2 @@ - - Что верно о длительности работы инсулина DIA? - Время действия инсулина (DIA) - Следует задать значение DIA в вашем профиле. - Минимально допустимое значение-5 часов. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Если вы удовлетворены значением длительности действия инсулина DIA, заданным в помпе до AAPS, то при запуске цикла изменять это значение не требуется. - Следует самостоятельно определить DIA подходящее для вас. - Временная цель Гипо - Какова основная причина для установки временной цели гипо? - Для коррекции гипо, вызванных неверными настройками базальной скорости. - Чтобы не допустить чрезмерной коррекции подъема ГК, вызванного быстрыми углеводами, принятыми для устранения гипо. - Чтобы исправить гипо вызванное нагрузкой. - Чтобы предотвратить снижение уровня глюкозы в крови, если временная базальная скорость уже 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Какой профиль можно применить и настроить в автономном режиме? - Тема: Автономный профиль - Профилем NS можно пользоваться, но не настраивать. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Причины применения опции «Отсоединить помпу» в AAPS - Что следует делать при отсоединении помпы? - This is unnecessary as insulin will not be delivered if the pump is physically disconnected. - Это позволяет AAPS не учитывать инсулин, который не был подан во время физического отключения помпы - Это не прекратит подачу инсулина если помпа остается подключенной. - Это переведет AAPS в режим открытого цикла. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Настройки AAPS - Настройки AAPS - Как эффективнее сохранять свои настройки? - Экспорт настроек не нужен, если они у вас где-то записаны. - Экспортируйте настройки после прохождения цели. - Экспортируйте настройки после изменения любого параметра. - Экспортируйте настройки после окончания начальной настройки и установки параметров. - Экспортируйте настройки локально используя меню Обслуживание. - Файл с вашими настройками сохраняется на телефоне во Внутреннем хранилище/AAPS/preferences. - Скопируйте файл с настройками в надежное место вне телефона (например, закинув в облако или на компьютер. либо отправив по E-mail и т.д.) - Если ваш телефон поврежден или утерян, существует легкий способ удаленно восстановить настройки без резервной копии. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Зашумленные данные мониторинга - Что следует делать, если данные мониторинга зашумлены? - Ничего не делать - алгоритм AAPS сам справится с этим. - Отключить замкнутый цикл, чтобы избежать возможной передозировки или уменьшения дозы. - Заменить постоянно шумящий или неточный сенсор. - Убедитесь, что приложение мониторинга сглаживает данные ГК. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Нагрузка и Профили - Как использовать профили, чтоб помочь системе справиться с аэробными упражнениями? - Задать профиль ниже 100%. - Переключить на профиль выше 100%. - Оставить профиль на 100%. - Приостановить цикл. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Физическая нагрузка и временные цели - Как использовать временные цели чтоб помочь системе справиться с аэробными упражнениями? - Установить временную цель \"Нагрузка\" заблаговременно перед началом упражнения. - Установить временную цель \"Нагрузка\" после окончания упражнения. - Оставить временную цель без изменений. - Подождать пока глюкоза крови упадет ниже уровня цели \"Гипо\", а затем съесть 15г быстрых углеводов. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Отключенный/приостановленный цикл - Получаю ли я инсулин, когда цикл отключен/приостановлен? - Да, базальный инсулин продолжает подаваться. - Нет, подача инсулина прекращается. - Проверка базы, чувствительности ISF и I:C - Когда следует проверять эти значения? - Перед началом использования петли. - При частом высоком или низком уровне глюкозы в крови. - Хотя бы один раз в неделю. - После установки и проверки, эти значения не должны меняться со временем. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Предварительные требования - Что необходимо для настройки и использования AAPS? - Проверенные данные профиля (базал, углеводный коэффициент IC, фактор чувствительности к инсулину ISF, длительность действия инсулина DIA). - Компьютер с установленной и настроенной Android Studio. - Поддерживаемый телефон. - Совместимая инсулиновая помпа, если вы планируете использовать замкнутый цикл. - Nightscout, для записи всех данных и обзора настроек. - Учетная запись Tidepool. - Учетная запись Google. - Учетная запись Github. - Опыт программирования или редактирования кода. - Помпа MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Смарт часы. - Поддерживаемый мониторинг. - Предварительные требования - Что необходимо для настройки и использования AAPS? - Проверенные настройки профиля (чувствительность ISF, I:C, скорость базала, продолжительность действия инсулина и т.д.). - Совместимое устройство на Android (мобильный телефон, планшет или часы на полноценном Android). - AAPS требует подключения к интернет чтоб работать в режиме замкнутого цикла. - Поддерживаемая система мониторинга и подходящее приложение для получения данных ГК на устройстве. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Обновление AAPS - Отметьте все правильные ответы. - На компьютере должен быть установлен и настроен Git. - При выходе новой версии AAPS, функционал старых версий может быть удаленно ограничен после указанного периода времени. - Необходимо сохранить и запомнить расположение хранилища ключей и использовать тот же ключ подписи для обновлений, что и для предыдущей установки. - Никогда не обновлять, если система работает хорошо. - Если у вас возникли трудности с построением приложения, вы можете установить апк, который был построен другом. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Устранение неполадок - Где искать помощь по AAPS? - Можно попросить совета в группе AAPS Users на Facebook. - Следует прочитать (и перечитать) документацию AAPS. - Можно консультироваться, a также пересылать логи технических проблем и неполадок в чате Discord по AAPS. - Вы должны спросить в диабетической клинике / у вашего врача-эндокринолога. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Модули для инсулинов - Какой инсулин следует использовать с модулем Сверхбыстрый Oref? - Fiasp® - Novoapid ® /Novolog ® - Хумалог® - Actrapid ® /Humalin R ®/\"обычный\" человеческий инсулин. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Модули чувствительности - Отметьте все правильные ответы. - Модули чувствительности позволяют AAPS подстраиваться под временные или кратковременные изменения в чувствительности к инсулину (например, гормональные изменения или проблемы с поглощением в месте установки катетера). - Модули чувствительности предлагают пользователю изменения скорости базала, коэффициентов I:C и ISF, которые можно внести в профиль. - Внесение записи о замене катетера вернет коэффициент Autosens к 100%. - У некоторых опций модуля есть настраиваемые диапазоны времени, которые может задать пользователь. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Ошибки записи углеводов - Что нужно делать, если сделан неправильный ввод углеводов? - Удалить неверную запись в Журнале терапии и заново ввести правильное значение углеводов. - Ввести инсулин через меню для заполнения канюли. - Ничего не делать – AAPS сам внесет необходимые изменения. - Ввести инсулин через кнопку Инсулин (болюс) на вкладке Начало. - Ошибки подачи/поступления инсулина - Что делать, если вы получили меньше инсулина, чем указано в истории помпы, например, из-за окклюзии, проблем с канюлей или из-за того, что вы забыли подключить помпу обратно после душа? - Удалить данные об инсулине в Портале терапии Nightscout, чтобы удалить их из истории помпы. - Сравнить значения в истории AAPS и помпы (если помпа это поддерживает). - Рассчитать и ввести «пропущенный» вами инсулин шприцем/ручкой или через кнопку заполнения канюли. - Ничего не делать и позволить AAPS исправить возможный высокий уровень ГК. - Активные углеводы COB - углеводы в процессе компенсации - Как изменение значения ISF влияет на расчет COB? - Увеличение фактора чувствительности ISF потребует больше времени на усвоение углеводов - Увеличение фактора чувствительности ISF потребует меньше времени на усвоение углеводов - Увеличение фактора чувствительности ISF не повлияет на расчетное время усвоения углеводов - Как изменение значения IC влияет на расчет COB? - Увеличение IC увеличит время усвоения углеводов - Увеличение IC уменьшит время усвоения углеводов - Увеличение IC не повлияет на расчетное время усвоения углеводов - Как изменение процента профиля влияет на расчет активных углеводов COB? - Установка профиля на 150% потребует больше времени на усвоение углеводов - Установка профиля на 150% потребует меньше времени на усвоение углеводов - Установка профиля на 150% не повлияет на расчетное время усвоения углеводов - Активный инсулин (IOB) - На величину IOB влияют устанавливаемые ВБС. - Высокая ВБС не будет применяться, если уровень сахара в крови ниже целевого. - Отрицательный IOB в течение длительного периода при отсутствии физнагрузки указывает на то, что ваш профиль завышен и требуется снизить кол-во инсулина в настройках. - Положительный IOB в течение длительного периода предполагает инсулинорезистентность или не отмеченный прием пищи. - Запись углеводов и болюсов - Для оценки и записи потребляемых углеводов следует использовать только граммы. - Употребленные углеводы можно записывать с помощью соответствующей системы обмена (например, DAFNE «CHO» или европейские «хлебные единицы»). - AAPS использует динамическую модель для оценки \"распада\" и расчета COB. - Если уровень глюкозы в крови находится вне допустимых значений (слишком низкое или слишком высокое), то калькулятор болюса может быть использован для внесения предложений по коррекции углеводного коэффициента IC. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - Растянутые углеводы - Для чего можно использовать e-carbs (растянутые углеводы)? - Запланировать углеводы в будущем, возможно, распределить в течение определенного времени (по аналогии с растянутым болюсом на определенный интервал времени). - Для внесения «свободных» углеводов при физнагрузке, чтобы скрыть их от AAPS. - Растянутые углеводы e-carbs (распределяемые в будущем) могут помочь AAPS в работе с пищей с высоким содержанием жиров/белков. - Для указания «лечебных» углеводов, при поднятии низкого уровня ГК. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Удаленный мониторинг - Как можно удаленно следить за работой AAPS (например, вашего ребенка)? - Приложение AAPSClient, приложение Nightscout и сайт Nightscout позволяют удаленно отслеживать AAPS. - Прочие приложения (например, Dexcom follow, xDrip в режиме фолловера) позволяют удаленно отслеживать некоторые параметры (например, уровень ГК/значения сенсоров), но используют другие алгоритмы, поэтому могут отображать неточные значения IOB или COB. - Для удаленного отслеживания AAPS оба устройства должны иметь доступ в Интернет (напр.,Wi-Fi или мобильной/сотовой сети). - AAPSClient в режиме удаленного мониторинга предоставляет как отслеживание, так и полное управление AAPS. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Фактор Чувствительности к Инсулину (ISF) - Увеличения фактора чувствительности к инсулину ISF приведет к увеличению дозы инсулина на покрытие определенного числа углеводов. - Уменьшение фактора чувствительности к инсулину ISF приведет к увеличению дозы инсулина для корректировки ГК выше целевого уровня. - Увеличение или уменьшение фактора чувствительности к инсулину ISF не влияет на дозировку инсулина когда уровень ГК ниже целевого. - Фактор чувствительности к инсулину ISF задается в параметрах AAPS. - Изменение значения ISF в профиле достаточно для применения изменений. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Вы можете использовать больше одного значения для коэффициента I:C в своем профиле. - Если вы изменяете ISF в своем профиле, вам всегда следует изменять соотношение I:C. - Углеводный коэффициент IC (ГУ/ед.инс) - Более высокий I:C приводит к уменьшению количества инсулина, вводимого на данное число углеводов. - Более низкий I:C приводит к уменьшению количества инсулина, вводимого на данное число углеводов. - Если у вас 0 активных углеводов COB, изменение углеводного коэффициента IC приведет к иному количеству инсулина на коррекцию данной ГК. - Углеводный коэффициент IC изменится если принимать ХЕ за 10 или 12г. - Смысл углеводного коэффициента IC таков: сколько ГУ (хлебных единиц) покрываются одной ед. инсулина. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Cмена профиля - При установке 90% при переключении профиля, какие утверждения верны? - Базальная скорость снизится на 10%. - ISF повысится на 10%. - Значение I:C снизится на 10%. - Коэффициенты ISF и I:C останутся без изменений. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Переключение профиля - При установке 120% при переключении профиля, какие утверждения верны? - Целевой уровень ГК будет на 20% выше. - Базальная скорость будет на 20% выше. - Целевой уровень ГК не изменится. - ISF будет на 20% выше. - Переключение профиля - Если вы проснулись на 2 часа раньше обычного, как следует уведомить AAPS об изменении режима? - Выполнить переключение профиля со сдвигом времени 2 - Выполнить переключение профиля со сдвигом времени -2 - Установить временную цель \"Eating Soon\" (Ожидаемый прием пищи). - Задать профиль выше 100% - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Изменения в профилях - Базальные скорости, ISF, соотношение I:C и т.д. должны быть установлены в профилях. - Для активации изменений в профиле Nightscout требуется, чтобы телефон с AAPS был подключен к Интернету. - Сохранения новых значений в профиле достаточно, чтобы все сделанные изменения вступили в силу. - Можно настроить несколько профилей и выбирать их в связи с меняющимися обстоятельствами (например, гормональные изменения, посменная работа, образ жизни в будние/выходные дни). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Помощь с базальной скоростью - Куда обращаться за помощью по скорости базала и т. д. - Ваши эндокринологи - Google - Facebook - Прочие препараты. Прочтите высказывание ниже, а затем отметьте галочку, чтобы принять условия. - AAPS понижает базальную скорость или приостанавливает ввод инсулина для повышения уровня ГК. Препараты из класса ингибиторов SGLT2 (глифлозины) могут предотвращать повышение уровня ГК и, следовательно, вызывать опасную нехватку инсулина, приводящую к диабетическому кетоацидозу DKA. -\nОбщими торговыми наименованиями являются: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nЯ подтверждаю, что не буду принимать такие препараты, при использовании AAPS или отключу цикл перед их применением. - + diff --git a/app/src/main/res/values-ru-rRU/objectives.xml b/app/src/main/res/values-ru-rRU/objectives.xml index 223c176927..3ea04e700d 100644 --- a/app/src/main/res/values-ru-rRU/objectives.xml +++ b/app/src/main/res/values-ru-rRU/objectives.xml @@ -1,55 +1,2 @@ - - Начать - Проверить - Цель %1$d - Цель %1$d не начата - Цель %1$d не завершена - Настройка визуализации и мониторинга, анализ базала и коэффициентов - Убедитесь, что величина ГК и данные по инсулину помпы передаются в Nightscout - Старт незамкнутого цикла - Начинайте работу в режиме незамкнутого цикла и ручной подстройки величины временного базала. Установите и применяйте временные цели и временные цели по умолчанию (напр. углеводы при нагрузке или купировании гипо) - Глубже понимаем работу системы в режиме незамкнутого цикла, включая ее рекомендации по временным базалам - На основе накопленного опыта, определяем максимальную величину базала и задаем ее в помпе и в настройки AndroidAPS - Начинаем замыкать цикл с прекращением подачи инсулина при низком значении Ск (режим Low Glucose Suspend) - Работа в замкнутом цикле с макс активным инсулином IOB = 0 на протяжении нескольких дней избегая событий типа приостановка на низких ГК Low Suspend - Настройка замкнутого цикла с поднятием макс величины IOB выше 0 и постепенным понижением целевой ГК - Работа несколько дней и по кр мере одну ночь без срабатывания оповещений о низкой ГК - Настраиваем базал и коэффициенты с последующей активацией auto-sens - 1 неделя успешной дневной работы с регулярным введением углеводов - Активация таких доп функций для дневного времени как супер микро болюс SMB - Включение автоматизации - Прочтите wiki и увеличьте maxIOB чтобы супер микро болюс SMB заработал как положено! Хорошее начало – maxIOB = средний болюс на еду + троекратный максимальный суточный базал - Прочтите документацию по автоматизации. Настройте свои первые простые правила. Вместо действия позвольте AAPS только выводить уведомления. Если вы уверены, что автоматизация инициируется в нужное время, замените уведомление реальными действиями. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - гликемия доступна в NS - Статус помпы доступен в NS - Ввод вручную - Выполнено: %1$s - Научитесь контролировать AAPS - Выполняйте различные действия в AAPS - Установите профиль 90% на 10 мин (Долгое нажатие на имя профиля на главном экране) - Имитация душа. Отключите помпу на 1ч (Долгое нажатие на Открытый цикл Open Loop) - ... и обратное подключение таким же способом - Создайте настраиваемую временную цель длительностью 10 мин. (Долгое нажатие на текущую цель) - В Конфигураторе активируйте модуль Действия Actions, сделав его видимым и показав содержимое верхнего меню - Просмотр содержимого модуля Цикл Loop - Применить функцию масштабирования по долгому нажатию на диаграмму ГК - Ввод - Если у вас есть хотя бы три месяца опыта работы с замкнутым циклом на других системах, то можно получить код пропуска. Подробности смотрите по адресу https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. - Код принят - Неверный код - Подтвердите ваши знания - Изучите вопросы. Вам дано четыре возможных ответа на каждый вопрос. Может быть более одного правильного ответа. Проверьте все правильные ответы и подтвердите выбор. - Ответы отключены до: %1$s - Неверный ответ! - Следующий незавершенный - Код запроса: %1$s - (отметьте все правильные ответы) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Нет подключения к Интернету - Не удалось загрузить время - Требования к цели не выполнены - + diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 127574d1ff..4d40c7bbec 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -3,55 +3,25 @@ - Безопасность терапии - Макс разрешенный болюс [U] ед. - Макс разрешенные углеводы (г) - Уровень ГК, ниже которого происходит остановка подачи инсулина Настройки %1$s Настройки Синхронизировать назначения с NS обнулить базы Вы действительно хотите обнулить базы данных? Выход - Кнопки быстрого доступа к некоторым распространенным настройкам Применяется для настройки активных плагинов - Обучающая программа Активировать или деактивировать запуск цикла. - Синхронизирует данные с Nightscout - Состояние алгоритма в 2017 году - Самый новый алгоритм для опытных пользователей - Последний алгоритм для опытных пользователей с динамическим/автоматическим ISF Отображает текущее состояние цикла и часто используемые кнопки Показывает текущие уведомления и краткий обзор событий цикла - Интеграция с помпами, еще не имеющими драйвера (незамкнутый цикл) Чувствительность вычисляется аналогично алгоритму oref0, но можно включить период прошлого. Минимальное усвоение углеводов вычисляется на основе макс усвоения из настроек. Чувствительность рассчитывается на основе данных за прошедшие 8 часов и (неусвоенные) углеводы не учитываются после времени указанного в настройках. Плагин также вычисляет UAM. Чувствительность рассчитывается как средневзвешенное от отклонений (deviations). Более поздние отклонения имеют больший вес. Минимальное усвоение углеводов рассчитывается на основе макс времени усвоения углеводов в настройках. Этот алгоритм быстрее всего отслеживает изменения чувствительности. - Получать данные гликемии от пропатченного приложения Eversense. - Получать данные гликемии от Glimp. - Получать данные гликемии от 600SeriesAndroidUploader. - Получать данные гликемии с сайта Nightscout - Получать данные гликемии от xDrip+. Сохраняет все выполненные назначения Мониторить и контролировать AAPS при помощи часов WearOS. - выполнить сейчас - ВИРТУАЛЬНАЯ ПОМПА - последнее выполненное - параметры ввода - статус гликемии - текущий врем базал - данные IOB (активн инс) - Профиль - данные приема пищи - результат - Результат: %1$s %2$s - данные гликемии недоступны - запрос изменение Конфигуратор Начало Терапия - Виртуальная помпа помпа Какой помпой вы хотели бы пользоваться с AAPS? профиль @@ -60,35 +30,23 @@ Какой алгоритм ИПЖ должен выполнять подстройку терапии? Общее Это некоторые общепринятые плагины которые могут пригодиться. + Синхронизация + Модули загрузки и синхронизации данных. Какие ограничения применяются? - ограничения замкнутый цикл Используйте, чтобы активировать интеграцию AAPS в цикл ИПЖ. Система ИПЖ после наложенных ограничений Временный базал определяется помпой APS не выбрана или не выдала результат - безопасность - модуль не активен ограничение нарушено - принять новый врем базал: измените введенные данные источник СК Откуда должен получать данные AAPS? - xDrip + - режим APS - Замкнутый цикл - открытый цикл - Приостановка помпы на низкой ГК есть новое предложение Предложены углеводы - Неподдерживаемая версия Nightscout - Подождать до еды профиль - ВремБазал - Пролонгированный болюс версия Nightscout: - Не хватает %1$d г настройки экспортированы Записи пользователя экспортированы экспортировать настройки в @@ -97,12 +55,7 @@ файл не найден экспорт настроек импорт настроек - Максимальное значение ед./ч для скорости временного базала - в контексте OpenAPS называется макс базал - макс базал активн инс подаваемый с OpenAPS (ед) - Эта величина называется Max IOB (макс активн инс) в OpenAPS\n. Это макс кол-во инсулина в ед. [U] которое APS может подать единовременно. Будет предложено ввести главный пароль, который будет использоваться для шифрования экспортированных параметров. - Вам будет предложено ввести главный пароль, необходимый для расшифровки импортированных настроек. Экспорт отменен! Настройки НЕ экспортированы! Импорт отменен! Настройки не импортированы! Не удается импортировать настройки! @@ -122,7 +75,6 @@ я понимаю и принимаю Сохранить обновить профиль - БыстрыйБолюс БыстрыйБолюс настройки текст на кнопке углеводы: @@ -130,16 +82,9 @@ добавить редактировать коррекция - действия (ОТКЛЮЧЕНИЕ ОПАСНО) Только загрузка в NS Только загрузка в NS (синхронизация отключена). Не влияет на данные мониторинга если не выбран локальный источник, такой как xDrip. Профили, иные чем профиль NS не действуют.\n!!! ПРЕДУПРЕЖДЕНИЕ !!! Отключение этой опции может привести к сбою и передозировке инсулина, если какой-либо из компонентов (AAPS, NS, xDrip) настроен неправильно. Внимательно следите за тем, чтобы данные соответствовали состоянию помпы! помпа не инициализирована - прайм/заполнение - убедитесь что количество соответствует характеристикам вашей инфузионной системы - Заполнить стандартное количество инсулина - кнопка 1 - кнопка 2 - кнопка 3 Единицы диапазон для визуализации Нижняя и верхняя граница диаграммы в отчетах и Smartwatch @@ -148,108 +93,22 @@ Смарт-часы Wear повторить отправку всех данных Открыть настройки на Wear - Базальная скорость - MM640g текущие уведомления старые данные - Помощник болюса OpenAPS AMA - Массив %1$d элементов. \nActual актуальная величина: - данные autosens - отладка скрипта - Пользоваться функцией Autosens - ДЕЙСТВ КОНФ ЗЦ - OAPS - ДинISF НАЧАЛО - ВиртПомпа НАЗНАЧ - ЦЕЛИ WEAR сокращенные имена табул - всегда используйте укороченное среднее приращение вместо простого - Полезно когда данные из нефильтрованных источников вроде xDrip+ начинают \"шуметь\". - значение по умолчанию:3 Это ключевой ограничитель безопасности OpenAPS. Он ограничивает величину вашего базала максимум до 3x максимума. Вам вероятно не понадобится менять эту величину но вам следует понимать, что она входит в формулу дуэта \"максимум 3x ежедневное; 4x текущее\" - значение по умолчанию: 4 . Это вторая половина обеспечения безопасности OpenAPS из дуэта \"максимум 3x ежедневное; 4x текущее\" Означает что ваша база независимо от установок помпы не может быть выше чем это число умноженное на текущее значение базала. Ограничение для того, чтобы предотвратить вторжение в опасную зону из-за высокого уровня установленных значений базы без понимания алгоритма работы приложения. Большинству людей никогда не потребуется изменять это значение, скорее всего нужно поменять другие настройки если вы чувствуете, что вам мешает это ограничение. - Значение по умолчанию: 1,2\n Это множитель для autosens ( и вскоре autotune) с лимитом 20%% который определяет лимит верхнего значения autosens, который в свою очередь предопределяет верхнюю границу базала, границы изменения чувствительности к инсулину ISF и нижние границы целевой ГК. - по умолчанию:0.7 Еще один параметр безопасности autosens, определяющий как низко он может опускать базал и как высоко поднимать ISF (чувств к инс) и целевые СК - Autosens тоже подстроит цели - значение по умолчанию : верно. используется чтобы разрешить юстировку целевых СК, а также ISF и базала - значение по умолчанию :2 bolus snoose активируется после введения болюса на еду чтобы цикл не взаимодействовал с временными низкими СК сразу после еды. так, трехчасовой DIA при величине 2 означает постыпенное затихание bolus snooze после 1.5 часов (3DIA/2) - Значение по умолчанию: 3.0 (AMA) или 8.0 (SMB). Эта настройка на усвоение углеводов за 5 мин. По умолчанию ожидается 3мг/дл/5мин. Влияет на скорость учета поглощения углеводов COB и усвоения в расчетах прогнозируемой гликемии, когда СК падает быстрее или не растет так как ожидается. - Внимание! Обычно нет необходимости изменять приведенные ниже величины. Нажмите ЗДЕСЬ, ПРОЧТИТЕ и убедитесь что вы ПОНИМАЕТЕ изложенное прежде чем менять какую-либо из этих величин - выполнение - настройки вирт помпы - статус передачи данных в NS - клиент NS - КЛNS - Адрес URL: - автоскроллинг - перезапуск - клиент NS - URL-адрес Nightscout - введите URL адрес Nightscout - API secret для NS - API secret для NS - введите API secret для NS (мин 12 знаков) - Подать сейчас - очистка очереди - показать очередь - очередь - состояние: - очистка лога - NS не имеет разрешения внести изменения. неверный API secret? настройки смарт-часов Wear неудача - проверьте телефон - Тип пациента - ребенок - подросток - взрослый - Инсулинорезистентный взрослый - Беременность - Пожалуйста, выберите тип пациента для установки лимитов безопасности Имя пациента Укажите имя или псевдоним пациента, чтобы распознавать разные настройки - Glimp - приостановить цикл на 1 час - приостановить цикл на 2 часа - приостановить цикл на 3 часа - приостановить цикл на 10 часов - Отключить помпу - отсоединить помпу на 15 мин - отсоединить помпу на 30 мин - отсоединить помпу на 1 час - отсоединить помпу на 2 часа - отсоединить помпу на 3 часа - 15 мин - 30 мин - 1 час - 2 часа - 3 часа - 10 часов - возобновить - Возобновить соединение с помпой - Передать в NS запись о начале работы приложения выход из приложения для применения настроек Какой тип инсулина вы используете? активировать суперболюс активировать возможность суперболюса в мастере. не активируйте если не знаете что это. МОЖЕТ ВЫЗВАТЬ ПЕРЕДОЗИРОВКУ ИНСУЛИНА ЕСЛИ ИСПОЛЬЗУЕТСЯ ВСЛЕПУЮ - Показать индикаторы состояния на главном экране - Порог предупреждения о времени, отработанном катетером [h] - Критический порог предупреждения о времени, отработанном катетером [h] - Порог предупреждения о времени, отработанном инсулином [h] - Критический порог предупреждения о времени, отработанном инсулином [h] - Порог предупреждения о времени, отработанном сенсором [h] - Критический порог предупреждения о времени, отработанном сенсором [h] - Порог предупреждения о разрядке батареи [%] - Порог предупреждения о критическом уровне разрядки батареи [%] - Порог предупреждения о разрядке батареи [h] - Порог предупреждения о критическом уровне разрядки батареи [h] - Порог уровня наполненности резервуара для оповещения [ед.] - Порог критического уровня наполненности резервуара [U] - Порог предупреждения о разрядке батареи [%] - Порог предупреждения о критическом уровне разрядки батареи [%] ОЖИД БАЗ ОТКЛН @@ -259,18 +118,12 @@ ЛИНОТКЛН о приложении Отсутствует разрешение телефона - Отмена удлиненного болюса Переключить профиль - Сенсор - Инсулин - Батарея помпы - Возраст: - Уровень: - опции оповещения + опции оповещения Создать уведомления из оповещений NS Создать уведомления из оповещений NS - Порог оповещения об устаревших данных [min] (мин) - Порог тревоги об устаревших данных [min] (мин) + Порог оповещения об устаревших данных [min] (мин) + Порог тревоги об устаревших данных [min] (мин) Интервал для autosens [h] (ч) Время в часах в прошлом для определения чувствительности (время усвоения углеводов исключается) OpenAPS @@ -283,27 +136,13 @@ Настройки усваиваемости Максимальное время усваимости пищи [h] (час) Ожидаемое время усваивания всех углеводов пищи в часах - OAPS - ЗАГРУЗ Не отключать экран Не давать системе Android отключать экран. Это увеличит потребление энергии при отключенной сети питания. Активируя Autosense не забывайте вводить все съеденные углеводы. Иначе отклонения в углеводах будут неверно определены как изменение чувствительности !! Средневзвешенная чувствительность не все профили загружены! Данные не сохранены! - Включить трансляцию для других приложений (например, xDrip). Не включайте, если установлено несколько экземпляров приложений AAPS или AAPSClient! - Активировать локальную передачу - Супер микро болюс OpenAPS - Динамический ISF - Коэффициент регулировки динамического диапазона чувствительности ISF % - Коэффициент корректировки динамического диапазона чувствительности ISF. Установите более 100% для агрессивных доз коррекции и менее 100% для менее агрессивной коррекции. - Включить непредвиденный прием пищи UAM - Включить супер микро болюс SMB - Для ускорения действия используйте супер микро болюсы SMB вместо временного базала - Поиск незапланированного приема пищи НЕВЕРНО - Процент - Сдвиг по времени Временные цели по умолчанию продолжительность ожидания приема пищи eatingsoon целевое значение СК при ожидаемом приеме пищи eatingsoon @@ -311,33 +150,16 @@ целевое значение СК при физической нагрузке длительность гипо целевое значение СК при гипо - Повторно использовать %1$d%% %2$dч Контроль с часов Ставить временные цели и вводить назначения с часов. - Использовать системные уведомления для предупреждений и уведомлений Постепенно увеличивать громкость оповещений и уведомлений Локальные оповещения Оповещать при отсутствии данных СК Оповещать в случае недоступности помпы Порог недоступности помпы [min] Оповещать если требуются углеводы - Сигнал тревоги - ИНФОРМАЦИЯ - Приложение Eversense (пропатченное) - Загрузить данные СК в Nightscout - Параметры загрузки СК Показать подробно дельту Показать дельту еще с одним десятичным знаком - Как часто SMB будут подаваться в минутах - Верхний лимит минут базала на SMB - Максимум минут микроболюса SMB для непредвиденного приема пищи UAM - Максимум минут базала ограничивающего микроболюсы SMB на непредвиденный прием пищи UAM - Минимальный порог для напоминания о необходимых углеводах - Минимум граммов для активации предложения углеводов. Предложения ниже этой величины не будут инициировать уведомление. - Отправить данные СК на xDrip+ - В xDrip + выберите источник данных 640g/Eversense - СК с клиента Nightscout - ГК с NS Вычисление СК Расчет болюсного активного инсулина IOB Расчет базального активного инсулина IOB @@ -348,41 +170,17 @@ Вычисление активных углеводов COB Вычисление временного целевого значения Расчет процентов - Цикл активирован - Выбран APS - NSClient имеет разрешение на запись - Режим замкнутого цикла включен - Максимум активного инсулина IOB установлен правильно - СК доступны из выбранного источника - Подача пролонгированного болюса не состоялась - Всегда включать супер микро болюс SMB - Всегда включать супер микро болюс SMB независимо от болюсов. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 - Активировать супер микро болюс SMB после углеводов - Включать супер микро болюс SMB на 6 часов после углеводов, даже при 0 активных углеводов COB. Возможно только для источников СК с хорошей фильтрацией данных вроде G5 - Включить супер микро болюс при активных углеводах COB - Включить супер микро болюс SMB, когда имеются активные углеводы COB. - Включить супер микро болюс SMB с временными целями - Включить супер микро болюс SMB при активной временной цели (близкий прием пищи, нагрузка) - Включить супер микро болюс SMB с высокими значениями временных целей - Включить микроболюс SMB, когда активна высока временная цель (нагрузка, выше 100 мг/дл или 5,5 ммоль/л) - Инсулин Кнопки Отправляет калибровки на xDrip+ или открывает диалоговое окно калибровки BYODA DEXCOM Открывает xDrip + или BYODA DEXCOM, кнопка назад возвращает в AAPS Количество вводимых углеводов при нажатии кнопки Количество инсулина, вводимого при нажатии кнопки Не удалось запустить приложения мониторинга СК. Убедитесь, что оно установлено. - Мониторинг СК Игнорировать 5 м Игнорировать 15 м Игнорировать 30 м - История Сообщить о супер микро болюсе SMB Показывать супер микро болюс SMB на часах как стандартный болюс. - Создавать оповещение на основе названия ошибки - Создавать оповещения из напоминаний о необходимых углеводах - Создать оповещение NS с диалогом об ошибке и оповещения на месте (также видимые в портале назначений в разделе лечение) - Создавать оповещения Nightscout из напоминаний о необходимых углеводах Показывать линию тренда на смарт-часах. Прогнозирование Отбор данных @@ -390,8 +188,6 @@ Разрешить отправлять сообщения о неполадках и данные об использовании опций разработчикам при помощи сервиса fabric.io. Пожалуйста, обновите приложение Dexcom до поддерживаемой версии Приложение Dexcom не установлено - Не подавать болюс, только внести запись - Болюс будет только протоколироваться (не подаваться помпой) Супер микро болюс SMB задан помпой Нагрузка Влияние глюкозы @@ -400,32 +196,11 @@ Активные углеводы COB Активный инсулин IOB Базал - Работает версия разработчика. Замкнутый цикл отключен. Режим отладки включен - Эта помпа не рассчитана на подачу временного базала - Режим замкнутого цикла отключен в настройках - Автоматический подбор чувствительности Autosens отключен в настройках - Супер микро болюс SMB отключен в настройках - Незапланированный прием пищи UAM отключен в настройках - Незапланированный прием пищи UAM отключен, поскольку он основывается на плагине чувствительности из Oref1 - множитель макс базала - множитель макс суточного базала Болюс был подан в течение последних трех минут, минуя супер микро болюс SMB Базал задан корректно - Ограничение расширенного болюса до %1$.1f U из-за %2$s - Ограничение максимума углеводов до %1$d грамм из-за %2$s - Ограничение активного инсулина IOB до %1$.1f ед. из-за %2$s - максимальное значение в настройках - жесткий предел - Запись о замене места помпы - Запись о замене картриджа инсулина - Опция супер микро болюс всегда и после углеводов отключена т. к. активный источник данных СК не поддерживает комплексное фильтрование - В режиме незамкнутого цикла open loop супер микро болюс SMB не допускается - Предел суммарного активного инсулина IOB для OpenAPS [U] - Эта величина называется Max IOB в OpenAPS context\nOpenAPS не будет добавлять инсулин если текущий активный инсулин ее превысит Максимальное время усваимости пищи [h] Время, за которое любая еда считается усвоившейся. Оставшиеся углеводы не будут учтены. - Значение уровня ГК, на котором происходит приостановка подачи инсулина. Значения по умолчанию являются стандартными для целевого диапазона. Пользователь может установить значения между 60 мг/дл (3.3 ммоль/л) и 100 мг/дл (5.5 ммоль/л) Параметры, заданные ниже 65/3.6 приводят к использованию значений по умолчанию Показать поле примечаний в диалогах назначений Далее Назад @@ -438,33 +213,18 @@ Второй шаг увеличения углеводов Третий шаг увеличения углеводов Мониторинг ГК - Использовать мобильное подключение - Использовать WiFi соединение - WiFi SSID - Во время зарядки - От батареи - Параметры подключения - Разрешенные SSID (разделенные точкой с запятой) - Разрешить подключение в роуминге Макс коэффициент авто чувствительности autosens Мин. коэффициент авто чувствительности autosens - Делитель продолжительности действия инсулина при болюсе OpenAPS AMA - Множитель безопасности макс суточного базала - Текущий множитель безопасности базала - Тип виртуальной помпы - Определение помпы - Болюс: Шаг =%1$s\n Пролонгированный Болюс: [Шаг =%2$s, Продолжительность =%3$sмин -%4$sh] \nБазал: Шаг =%5$s\n ВБС: %6$s (на %7$s), Продолжительность =%8$sмин -%9$sh\n%10$s Расчеты, включены в результат мастера настройки смарт-часов wear: Параметры экрана Общие настройки wear - Включить клиент NSClient Добро пожаловать в мастер установки Статус \'чтение\' Пропустить Мастер установки Нажмите на кнопку ниже, чтобы AAPS мог предложить/внести изменения в базал Плагин чувствительности Sensitivity применяется для определения чувствительности к инсулину и вычисления активных углеводов COB. Дополнительная информация: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient обрабатывает подключения к Nightscout. Вы можете пропустить этот этап сейчас, но не преодолеете все Цели пока не настроите его. + Синхронизировать данные в облако. Сейчас можно пропустить эту часть, но без нее не получится пройти все цели. Напоминание: новые профили инсулина требуют как минимум 5 часов длительности действия DIA. 5-6 часовая DIA эквивалентна трехчасовой на старых профилях. Выберите один из доступных алгоритмов. Они расположены от самых старых к самым новым. Более новый алгоритм обычно мощнее и агрессивнее. Если вы новый пользователь возможно вам лучше начать с помощника болюса AMA а не с новейшего алгоритма. Читайте документацию OpenAPS и определите свою конфигурацию. Сконфигурируйте RileyLink. После выбора RileyLink можно будет продолжить установку если состояние RileyLink \"Соединено\". Это может занять минуту.\n @@ -474,21 +234,6 @@ Показать панель навигации Cкрыть панель навигации Настройки расширений - Poctech - Получать данные гликемии от приложения Poctech - Приложение Glunovo - Получать данные гликемии от приложения Glunovo - Приложение Intelligo - Получать данные гликемии от приложения Intelligo - Получать значения ГК от приложения Tomato (устройство MiaoMiao) - Высокая врем. цель temptarget повышает чувствительность - = 100]]> - Низкая временная цель temptarget снижает чувствительность - = 100]]> - Сопротивляемость понижает цель - При обнаружении сопротивляемости целевой уровень гликемии понижается - Чувствительность поднимает цель - При обнаружении чувствительности целевой уровень глюкозы повышается Удалить элементы Сортировать элементы Найдены сохраненные параметры @@ -504,64 +249,22 @@ Удалить записи журнала Назначение (инсулин: %1$.2f, углеводы: %2$d, в: %3$s) не было добавлено. Пожалуйста, проверьте и при необходимости добавьте запись вручную. eCarbs: %1$d г. (%2$d h), задержка: %3$d m - Данные autosens недоступны Файлы журналов Разное Настройки журнала Восстановить значения по умолчанию - Некорректная работа NSClient. Возможно следует перезапустить NS и NSClient. Предпочитаемый режим APS Отправьте файлы сегодняшнего лога разработчикам наряду с этим. Непредвиденная ситуация. Минимальный запрос на изменения [%] Алгоритм ИПЖ выдаст всплывающее окно с запросом на новые изменения, только если изменение больше, чем это значение в %. Значение по умолчанию — 20% == ∑ %1$s ед - Внести замену сенсора в лог NS - Автоматически создать событие \"Замена сенсора\" в NS при запуске сенсора - Томато (MiaoMiao) - Томато - Имя пользователя Tidepool, обычно ваш адрес электронной почты - Имя пользователя - Ваш пароль для входа в Tidepool - Пароль для входа - Тест входа в Tidepool - Если активировано, загрузки перейдут на https://int-app.tidepool.org вместо обычного https://app.tidepool.org/ - Использовать серверы интеграции (тест) - Tidepool - TDP - Загружает данные в Tidepool - Загрузить данные мониторинга - Загрузить лечение (инсулин, углеводы) - Загрузить временные базалы - Загрузить переключения профиля, временные цели - Загрузить тесты ГК - - Самост собран прилож Dexcom - ССП DEXCOM - Получать данные ГК от \'Самостоятельно собранного приложения Dexcom\'. - угл COB к инс IOB - Применено ограничение болюса: %1$.2f ед до %2$.2f ед - !!!!! Обнаружено медленное всасывание углеводов: %2$d%% времени. Еще раз проверьте свои расчеты. Возможно акт углеводы COB вне диапазона и может быть подано больше инсулина!!!!!]]> - Подать эту часть рекомендации мастера болюса [%] Мастер болюса выполняет расчет, но подана только эта часть рекомендуемого инсулина. Полезно с алгоритмом SMB. - Повышаю максимальное значение базы т. к. оно меньше, чем максимальное значение в профиле - Выбрано: Единицы - Очистить завершенные - Очистить начатые - Хотите сбросить начатую цель? Можете потерять уже достигнутое. Выберите единицы, в которых вы хотите отображать значения Меньшее значение диапазона целевых значений (только для дисплея) Большее значение диапазона целевых значений (только для дисплея) - Некорректный ввод % - Случайные значения ГК - Генерировать случайные данные ГК (только демо-режим) - BG/ГК - Инструментарий - Показать расчет Показать удаленные Очистить очередь? Все данные в очереди будут потеряны! - Функция Пролонгированный Болюс остановит режим замкнутого цикла на время действия пролонгированного болюса. Подтверждаете выбор? - Замкнутый цикл отключен из-за работы Пролонгированного Болюса Меню графика Время запроса микроболюса SMB Время выполнения микроболюса SMB @@ -574,35 +277,14 @@ Абсолютный инсулин Главный пароль используется для шифрования резервных копий и для переопределения защиты в приложении. Запомните его или храните в безопасном месте. Текущий главный пароль - Индикаторы состояния - Копировать параметры из NS - Копировать настройки NS (если есть)? - Исходная тема оформления - Скин для низкого разрешения - Кнопки всегда отображаются в нижней части экрана - Большой дисплей - Тема оформления - Сравнить профили - Помощник профиля - Профиль по умолчанию - Текущий профиль - Доступные профили - Тип профиля - Возраст: %1$.0f Суточная Потребность: %2$.0f ед - Возраст: %1$.0f Суточная Потребность: %2$.0f ед %3$d%% - Возраст: %1$.0f Вес: %2$.0f кг - % базального - Значение для профиля по умолчанию Статус RileyLink: Не удается создать локальный профиль. Настройки профиля неправильны. Не закрывать приложение? - Напомнить о еде Пора есть!\nЗапустите помощник болюса снова для подсчета. Включить напоминание о болюсе Применить напоминание о болюсе с помощью мастера (постболюс) Загрузка журналов сбоя на сервер отключена! График - Меню графика Очистить фильтр Катетер помпы Введите максимальные значения вашего приема пищи \n @@ -610,48 +292,12 @@ Адрес электронной почты Настройки конфиденцальности Вы можете указать дополнительно адрес электронной почты, если хотите получать уведомления о сбоях приложения; что является не автоматизированной рассылкой, а способом связи с разработчиками в опасных ситуациях. - Полная синхронизация - Полная синхронизация? Это может занять много часов и до завершения вы не увидите новые данные в NS. - Синхронизация - Профили, болюсы, углеводы, временные базалы закачиваются в NS - Передать данные в NS - Принимать хранилище профилей - Синхронизировать профили из редактора NS профиля в локальный профиль - Получить временные цели - Принимать временные цели, установленные через NS или NSClient - Получать переключения профиля - Принимать переключения профиля, введенные через NS или NSClient - Принимать события APS автономно - Принимать события APS введенные через NS или клиент NS автономно - Получать временную базальную скорость TBR и пролонгированный болюс EB - Принять TBR и EB введеные с другого устройства - Принимать инсулин - Принимать инсулин, введенный через NS или NSClient (не подается, только рассчитывается как активный IOB) - Принимать углеводы - Принимать углеводы, введенные через NS или NSClient - Принимать события терапии - Принимать события терапии (катетер, инсулин, изменение батареи и т. д.) через NS или NSClient - Получать/заполнять данные мониторинга CGM - Принимать данные мониторинга CGM из NS - Запустить %s? - Замедлить выгрузку Состояние данных ГК Удалить значения ГК - время, отработанное катетером помпы - время отработанное разовой помпой - Разовая помпа Идентификация (электронная почта, ник в Facebook или Discord и т. п) Идентификация не задана в режиме разработчика диалог - текущий уровень гликемии - корректный результат в % - корректный результат в ед Недоступно - график - качество глюкозы в крови - инсулин - уровень глюкозы в крови (ГК) - устаревшие данные Неизвестная конфигурация врем цели: %1$s Отменить врем цели? @@ -666,22 +312,6 @@ Мастер:\nИнсулин: %1$.2fЕд\nУгл: %2$dg Показать запись на устройстве: Выбранный мастер быстрого доступа больше недоступен, обновите плитку - Нет данных ГК для основы расчета! - Активный профиль не установлен! - Неизвестный COB! Отсутствуют данные ГК или приложения недавно перезапущено? - Нарушено ограничение по углеводам! - Кальк (IC:%1$.1f ISF: %2$.1f) - Углеводов: %1$.2fгУ - Акт Инс COB: %1$.0fг %2$.2fед - ГК: %1$.2f - IOB: %1$.2fед - Суперболюсный: %1$.2fед - тренд 15\': %1$.2f - Процент: %1$.2fU x %2$d%% = %3$.2f - Нарушено ограничение по инсулину!\nНевозможно подать %1$.2fед - ВремЦ: %1$s - %1$s до %2$s - Нет доступных помп! Неизвестная команда: Процент По умолчанию приложения @@ -690,13 +320,7 @@ Сортировать Статус цикла Масштаб графика - Профиль 1 - Профиль 2 - Логин - Удалить всё - Перезапустить старт открыть настройки - задать оповещение таймера углеводов Все Телефон Часы @@ -704,14 +328,7 @@ только на телефоне якорь перетягивания Поиск - - Aidex GlucoRx - Aidex - Получить значения ГК от GlucoRx Aidex - Заблокировано опциями зарядки - Заблокировано настройками подключения (Часы не подключены) - Настроить чувствительность относительно ГК Очистка базы данных Вы хотите очистить базу данных?\nЭто удалит отслеживаемые изменения и данные старше 3 месяцев. Удалённые записи diff --git a/app/src/main/res/values-sk-rSK/exam.xml b/app/src/main/res/values-sk-rSK/exam.xml index e25c2ea08a..3ea04e700d 100644 --- a/app/src/main/res/values-sk-rSK/exam.xml +++ b/app/src/main/res/values-sk-rSK/exam.xml @@ -1,228 +1,2 @@ - - Čo je pravda o DIA? - Doba pôsobenia inzulínu (DIA) - Mali by ste nastaviť hodnotu DIA vo vašom profile. - Minimálna hodnota je 5 hodín. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin - Pokiaľ ste spokojní s tým, že hodnota DIA použitá v pumpe pred AAPS dobre fungovala, nie je potrebné ju meniť, keď začínate s uzavretým okruhom. - Mali by ste si pre seba určiť príslušnú hodnotu DIA. - Dočasný cieľ pri hypoglykémii - Čo je primárnym dôvodom k nastaveniu dočasného cieľa \"Hypoglykémia\"? - Upravovať hypoglykémie, spôsobené nesprávnym nastavením bazálu. - Aby sa zabránilo prehnanej korekcii, spôsobenej rýchlymi sacharidmi, použitými k liečbe hypoglykémie. - Napraviť hypo, ako dôsledok fyzickej aktivity. - Aby sa zabránilo zníženiu hladiny glukózy v krvi, pokiaľ už beží 0% dočasný bazál. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html - Ktorý profil je možné použiť a konfigurovať offline? - Téma: Offline profil - NS profil môže byť použitý, ale nenakonfigurovaný. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#profile - Dôvody pre použitie \"Odpojiť pumpu\" v AAPS - Čo je potrebné urobiť, pri odpojení pumpy? - Toto je zbytočné, pretože inzulín nebude vydaný v prípade, že je pumpa fyzicky odpojená. - Zabraňuje AndroidAPS započítať inzulín, ktorý nebol vydaný, keď je pumpa fyzicky odpojená. - Nezastaví vydávanie inzulínu, pokiaľ pumpa zostane pripojená. - Prepne AAPS do režimu otvoreného okruhu. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#dalsi-nastaveni - Nastavenie AAPS - Nastavenie AAPS - Aké sú najlepšie postupy pre zálohovanie vašich nastavení? - Nastavenia nie je potrebné exportovať za predpokladu, že ste si ich zapísali. - Exportujte svoje nastavenia po dokončení cieľa. - Exportujte svoje nastavenia, po zmene ktoréhokoľvek z vašich nastavení. - Exportujte svoje nastavenia po dokončení počiatočného nastavenia a nastavenia preferencií. - Exportujte vaše nastavenia lokálne pomocou menu údržby. - Súbor nastavení sa nachádza v zložke Interné úložisko/AAPS/Preferences vašeho telefónu. - Skopírujte súbor s vašimi nastaveniami do bezpečného umiestnenia mimo telefón (napr. pomocou cloudového disku, pripojením kábla k počítaču, E-mailom a pod.) - Ak je váš telefón poškodený, alebo stratený, existujú jednoduché spôsoby, ako vzdialene obnoviť vaše nastavenia bez zálohovania. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#jake-vybaveni-pro-pripad-nouze-se-doporucuje-brat-s-sebou - Šum dát zo senzora - Čo je potrebné urobiť v prípade, že CGM dáta poskakujú? - Nerobte nič, AAPS sa s tým vysporiada. - Deaktivujte uzavretý okruh, aby nedošlo k predávkovaniu, alebo poddávkovaniu. - Nahraďte trvalo zašumené, alebo nepresné senzory. - Overte, či vaša aplikácia CGM vyhladzuje glykémie. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#vyhlazovani-zarusenych-dat-glykemii - Cvičenie a profily - Ako môžete použiť profily, aby ste mohli najlepšie pomocou systému riešiť aeróbne cvičenie? - Prepnúť na profil pod 100 %. - Prepnite profil na viac ako 100 %. - Ponechajte profil nastavený na hodnotu 100%. - Pozastavte uzavretý okruh. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite - Cvičenie a dočasné ciele - Ako môžete použiť dočasné ciele pre najlepšiu pomoc pri práci so systémom pri aeróbnom cvičení? - Nastavte cieľovú hodnotu glykémie vo vhodnej dobe pred zahájením cvičenia. - Po ukončení cvičenia nastavte cieľovú hodnotu glykémie. - Nechajte svoju cieľovú glykémiu bez zmeny. - Počkajte, kým glykémia neklesne pod Váš dočasný cieľ hypoglykémia a potom zjedzte 15 g rýchlych sacharidov. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite - Deaktivovaný/pozastavený uzavretý okruh - Dostávam inzulín, keď je uzavretý okruh deaktivovaný/pozastavený? - Áno, bazálny inzulín je podávaný naďalej. - Nie, podávanie inzulínu je zastavené. - Testovanie bazálu, ISF a IC - Kedy majú byť tieto hodnoty overené? - Predtým, ako začnem používať uzavretý okruh. - Pri častom výskyte vysokej, alebo nízkej hladiny glykémie v krvi. - Minimálne raz týždenne. - Akonáhle sú tieto hodnoty nastavené a overené, nemali by sa časom meniť. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#nastaveni-androidaps - Požiadavky - Čo je nevyhnutné pre nastavenie a používanie AAPS? - Overené informácie o profile (Bazál, IC, ISF, DIA). - Počítač s nainštalovanou a nakonfigurovanou aplikáciou Android Studio. - Podporovaný telefón. - Kompatibilná inzulínová pumpa, pokiaľ plánujete spustenie uzavretého okruhu. - Nightscout pre záznam všetkých dát a kontrolu nastavení. - Tidepool účet. - Google účet. - Github účet. - Skúsenosti s programovaním, alebo úpravou kódu. - Pumpu MiniMed 670G. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html - Inteligentné hodinky. - Podporovaný CGM. - Požiadavky - Čo je nevyhnutné pre nastavenie a používanie AAPS? - Overené informácie pre nastavenie profilu (ISF, pomer I:C, bazálne dávky, DIA atď.). - Kompatibilné Android zariadenie (napr. mobilný telefón, Android hodinky, alebo tablet). - AAPS vyžaduje pripojenie k internetu pre spustenie uzavretého okruhu. - Podporované CGM a vhodná aplikácia pre prijímanie glykémií v telefóne/zariadení. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html - Aktualizujem AAPS - Zaškrtnite všetky správne odpovede. - Musíte mať nainštalovaný a nakonfigurovaný Git na vašom počítači. - Pokiaľ sú uvoľnené aktualizované verzie AAPS, staršie verzie môžu byť po určitej dobe vzdialene obmedzené. - Mali by ste uložiť a zaznamenať umiestnenie úložiska kľúčov a použiť rovnaký podpisový kľúč pre aktualizácie, ako pre vašu predchádzajúcu inštaláciu. - Nikdy neaktualizujte, pokiaľ systém funguje dobre. - Ak máte problém s vytvorením apk, môžete nainstalovať apk, ktorý bol vytvorený priateľom. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Installing-AndroidAPS/Update-to-new-version.html - Riešenie problémov - Kde môžete hľadať pomoc s AAPS? - Môžete požiadať o radu vo Facebookovej skupine používateľov AAPS. - Mali by ste si prečítať (a znovu prečítať) dokumentáciu k AAPS. - Môžete požiadať o radu a nahlásiť technické problémy, alebo chyby na Discorde AAPS. - Mali by ste se spýtať svojho lekára/endokrinológa. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/index.html#poradce-pri-potizich - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - Pluginy Inzulín - Ktorý inzulín by ste mali používať s pluginom Ultra-rýchly Oref? - Fiasp® - NovoRapid ® /Humalog ® - Humalog® - Actrapid ®/Humulin R ®/\"bežný\" ľudský inzulín. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin - Pluginy Citlivosť - Zaškrtnite všetky správne odpovede. - Pluginy citlivosti umožňujú AndroidAPS prispôsobiť sa dočasným, alebo krátkodobým zmenám v citlivosti inzulínu (napríklad hormonálne zmeny, alebo problémy s absorbciou na infúznom mieste). - Pluginy citlivosti poskytujú používateľovi návrh zmien bazálnych hodnôt, I:C pomerov a ISF, ktoré môžu byť použité k úprave profilu. - Výmena kanyly, alebo zmena profilu automaticky nastaví Autosense späť na 100%. - Niektoré pluginy majú konfigurovateľné časové rozmedzie, ktoré môže nastaviť používateľ. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#detekce-citlivosti - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Chyby pri zadávaní sacharidov - Čo by ste mali urobiť, pokiaľ ste chybne zadali sacharidy? - Odstráňte nesprávny záznam v Ošetreniach a zadajte správnu novú hodnotu sacharidov. - Pošlite inzulín pomocou plnenie/doplňovanie. - Nič nerobte – AAPS urobí vhodné úpravy. - Pošlite inzulín pomocou ikony Inzulín v prehľade. - Chyby pri podávaní inzulínu - Čo by ste mali urobiť, pokiaľ ste dostali menej inzulínu, než ukazuje história pumpy, napr. v dôsledku oklúzie, vadnej kanyly, alebo zabudnutia na opätovné pripojenie pumpy po sprche? - Odstráňte dáta z Nightscoutu pre odstránenie z histórie pumpy. - Porovnaj hodnoty v AAPS z históriou v tvojej pumpe (ak pumpa podporuje túto funkciu). - Pošlite bolus na vypočítaný „chýbajúci“ inzulín buď injekčnou striekačkou, alebo perom, alebo pomocou plnenia na pumpe. - Nerobte nič a dovoľte AAPS upraviť akúkoľvek výslednú vysokú hladinu glukózy v krvi. - Aktívne sacharidy (COB) - Ako ovplyvňuje zmena hodnoty citlivosti výpočet COB? - Zvýšenie hodnoty citlivosti predĺži dobu absorbcie sacharidov - Zvýšenie hodnoty citlivosti skráti dobu absorbcie sacharidov - Zvýšenie citlivosti neovplyvní vypočítanú absorbciu sacharidov - Ako ovplyvňuje zmena inzulíno-sacharidového pomeru výpočet COB? - Zvýšenie hodnoty inzulíno-sacharidového pomeru predĺži dobu absorbcie sacharidov - Zvýšenie hodnoty inzulíno-sacharidového pomeru skráti dobu absorbcie sacharidov - Zvýšenie inzulíno-sacharidového pomeru neovplyvní vypočítanú absorbciu sacharidov - Ako ovplyvňuje percentuálna zmena profilu výpočet COB? - Nastavením profilu na 150 % dôjde k predĺženiu doby absorbcie sacharidov - Nastavením profilu na 150 % dôjde ku skráteniu doby absorbcie sacharidov - Nastavenie profilu na 150% neovplyvní vypočítanú absorbciu sacharidov - Aktívny inzulín (IOB) - Hodnota IOB je ovplyvnená vydanými dočasnými bazálmi. - Vysoký dočasný bazál nebude spustený, pokiaľ je Vaša glykémia nižšia, ako cieľ. - Negatívne IOB po značnú dobu bez cvičenia naznačuje, že váš profil je príliš \"silný\" a vo vašom profile je potrebného menej inzulínu. - Pozitívne IOB na značnú dobu naznačuje rezistenciu voči inzulínu, alebo neohlásené jedlo. - Zadávanie sacharidov a bolusov - Iba gramy by mali byť použité pre odhad a záznam spotrebovaných sacharidov. - Spotrebované sacharidy je možné zaznamenávať pomocou vhodného systému (napr. \"sacharidové jednotky\"). - AAPS používa dynamický model k odhadu vstrebávania sacharidov a k výpočtu COB. - Pokiaľ sú hladiny glykémie v krvi mimo prijateľných hodnôt (príliš nízke, alebo príliš vysoké), môže byť použitá bolusová kalkulačka k podávaniu návrhov na sacharidy, alebo na korekčný bolus. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulinovosacharidovy-pomer-ic-g-u - e-sacharidy - Na čo by ste mohli použiť e-sacharidy (predĺžené sacharidy)? - Pre plánovanie budúcich sacharidov, prípadne distribuovaných v intervale (podobné predĺženému bolusu). - Pre zaznamenávanie \'falošných\' sacharidov pri cvičení, ktoré chcete skryť pred AAPS. - e-sacharidy (distribuované v budúcnosti) môžu AAPS pomôcť pri narábaní s jedlami s vysokým obsahom tukov/bielkovín. - Pre zaznamenávanie rýchlych sacharidov, použitých k liečbe nízkej hladiny glukózy v krvi. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Extended-Carbs.html - Vzdialený monitoring - Ako môžete vzdialene monitorovať AAPS (napríklad svoje dieťa)? - NSClient aplikácia, aplikácia Nightscout a webová stránka Nightscout, umožnujú sledovať AAPS vzdialene. - Ďalšia aplikácia (např. Dexcom follow, xDrip bežiaci v režime sledovania) vám umožňujú sledovať niektoré parametre (napr. hodnoty glykémie) na diaľku, ale použitie rôznych algoritmov môže mať vplyv na nepresné hodnoty IOB nebo COB. - Ak chcete sledovať AndroidAPS na diaľku, musia mať obe zariadenia prístup k internetu (napr. cez Wi-Fi, alebo mobilná dátová sieť). - NSClient umožňuje oboje: monitorovať a poskytovať plnú kontrolu nad AAPS. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Children/Children.html - Citlivosť inzulínu (ISF) - Zvýšenie hodnôt citlivosti povedie k väčšej dodávke inzulínu na pokrytie určitého množstva sacharidov. - Zníženie hodnôt citlivosti vedie k väčšiemu množstvu inzulínu na korekciu vyššej glykémie. - Zvýšenie, alebo zníženie citlivosti nemá žiadny vplyv na výdaj inzulínu, pokiaľ sú hladiny glukózy v krvi pod cieľovou hodnotou. - ISF by mala byť zadaná v nastaveniach AAPS. - Zmena hodnoty citlivosti vo vašom profile stačí k tomu, aby se táto zmena použila. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#korekcni-faktor-citlivost-na-inzulin-isf-mmol-l-u-nebo-mg-dl-u - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html - Vo svojom profile môžete použiť viac ako jednu hodnotu I:C pomeru. - Ak zmeníte ISF vo svojom profile, mali by ste vždy zmeniť aj I:C pomer. - Inzulínosacharidový pomer (I:C) - Vyššie hodnoty I:C vedú k menšej dávke inzulínu ku rovnakému množstvu sacharidov. - Nižšie hodnoty I:C vedú k menšej dávke inzulínu ku rovnakému množstvu sacharidov. - Pokiaľ máte 0 COB, zmena inzulíno-sacharidového pomeru povedie k inému množstvu inzulínu vydanému pre korekciu glykémie. - Inzulíno-sacharidový pomer sa bude líšiť podľa toho, či počítate sacharidovú jednotku ako 10 g, alebo ako 12 g sacharidov. - Inzulíno-sacharidový pomer vyjadruje: koľko sacharidových jednotiek pokryje 1 jednotka inzulínu. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulino-sacharidovy-pomer-cr-g-u - Prepnutie profilu - Keď zadáte 90% profil, ktoré odpovede sú pravdivé? - Bazály budú o 10 % nižšie. - Hodnota citlivosti bude o 10 % vyššia. - Hodnota pomeru I:C bude o 10% nižšia. - Hodnoty ISF a I:C budú nezmenené. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html?highlight=p%C5%99epnut%C3%AD%20profilu - Prepnutie profilu - Keď zadáte 120% profil, ktoré odpovede sú pravdivé? - Cieľová glykémia bude o 20 % vyššia. - Bazály budú o 20 % vyššie. - Cieľová glykémia sa nezmení. - Hodnota citlivosti bude o 20 % vyššia. - Prepnutie profilu - Pokiaľ sa prebudíte o 2 hodiny skôr než obvykle, ako by ste mali oznámiť AAPS túto zmenu? - Urobte prepnutie profilu s posunom času 2 - Urobte prepnutie profilu s posunom času -2 - Nastavte dočasný cieľ pre blížiace sa jedlo. - Prepnúť profil na viac ako 100 %. - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html#posun-casu - Zmeny profilov - V profiloch by mali byť nastavené bazálne dávky, ISF, I:C pomery, atď. - Aktivácia zmien vašeho profilu Nightscout vyžaduje, aby váš telefón s AAPS mal k dispozícii pripojenie k internetu. - Úprava profilov za účelom zmeny hodnôt je dostatočná k vykonaniu všetkých urobených zmien. - Je možné nastaviť a vybrať z viacerých profilov za účelom prispôsobenia sa meniacim sa okolnostiam (napr. hormonálne zmeny, práca na smeny, pracovné dni/životný štýl cez víkend). - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html#spravny-individualni-algoritmus-davkovani-pro-lecbu-vaseho-diabetu - Pomoc s bazálmi - Kam ísť pre pomoc s bazálmi a pod. - K Vášmu lekárovi - Google - Facebook - Ostatné lieky. Prečítajte si prosím nižšie uvedené prehlásenie a potom zaškrtnite políčko pre prijatie prehlásenia. - AAPS znižuje bazály, alebo pozastavuje podávanie inzulínu, aby sa zvýšila hladina cukru v krvi. Lieky zo skupiny inhibítorov SGLT2 (gliflozíny) môžu zabrániť očakávanému zvýšeniu hodnoty glykémie a tak môžu produkovať nebezpečný nedostatok inzulínu (ketoacidózu). -\nBežné značky sú: Invokana ®, Forxiga ®, Jardiance ®, Steglatro ®, Suglat ®, Apleway ®, Deberza ®, Synjardy ®, Vokanamet ®, Xigduo ®.\n\n. Týmto sľubujem, že tieto lieky neberiem pri používaní AAPS, alebo deaktivujem uzavretý okruh pred užívaním týchto liekov. - + diff --git a/app/src/main/res/values-sk-rSK/objectives.xml b/app/src/main/res/values-sk-rSK/objectives.xml index 8960f81abd..3ea04e700d 100644 --- a/app/src/main/res/values-sk-rSK/objectives.xml +++ b/app/src/main/res/values-sk-rSK/objectives.xml @@ -1,55 +1,2 @@ - - Začiatok - Kontrola - %1$d. Cieľ - Výukový cieľ %1$d nespustený - Výukový cieľ %1$d nedokončený - Nastaviť vizualizáciu a monitoring, analyzovať bazály a pomery - Skontrolovať, či sú glykémie a údaje z pumpy viditeľné v Nightscoute - Začať s otvoreným okruhom - Niekoľko dní používať otvorený okruh a ručne potvrdzovať doporučené dočasné bazály. Nastavovať a používať dočasné ciele (napr. pre šport, alebo hypo) - Porozumieť otvorenému okruhu, vrátane jeho doporučení ohľadne dočasných bazálov - Na základe predchádzajúcich skúseností rozhodnúť, aký je potrebný maximálny bazál a nastaviť ho v pumpe a v aplikácii - Spustiť uzavretý okruh iba zo zastavovaním pri nízkej glykémii - Spustiť uzavretý okruh s max IOB = 0 na niekoľko dní s minimom nutných korekcií na nízku glykémiu - Zapnúť uzavretý okruh, zvyšovať max IOB nad 0 a znižovať cieľovou glykémii - Používať uzavretý okruh niekoľko dní s aspoň jednou nocou bez alarmov na nízku glykémiu - Upraviť bazály a pomery, ak je to potrebné, a povoliť automatickú detekciu citlivosti na inzulín - Jeden týždeň úspešného používania s bežným príjmom sacharidov - Povoliť ďalšie funkcie pre bežné používanie ako SMB - Povolenie automatiky - Prečítať si dokumentáciu a zvýšiť maximálne IOB, aby mohlo správne fungovať SMB! Pre začiatok sa dá použiť veľkosť bežného bolusu + 3x maximálny denný bazál - Prečítajte si dokumentáciu na wiki, ako automatika funguje. Najskôr nastavte iba jednoduché pravidlá. Namiesto vykonávania akcií nechajte AAPS zobrazovať iba oznámenia. Pokiaľ ste si istý, že automatika je spustená v správnom čase, môžete oznámenie nahradiť vykonaním akcie.(https://androidaps.readdocs.io/en/latest/CROWDIN/cs/Usage/Automation.html) - Glykémia dostupná v NS - Stav pumpy dostupný v NS - Spustené manuálne - Splnené: %1$s - Naučte sa, ako ovládať AndroidAPS - Vykonávajte v AndroidAPS rôzne akcie - Nastavte profil na 90 % na 10 min (Dlhé stlačenie názvu profilu na obrazovke Prehľad) - Predstierajte, že se idete sprchovať. Odpojte pumpu na 1 h (Dlhšie pridržte tlačítko Otvorený okruh) - ...a rovnakým spôsobom ju znovu pripojte - Vytvorte vlastný dočasný cieľ s trvaním 10 min (Dlhšie pridržte aktuálny cieľ) - V Konfigurácii povoľte modul Akcie, aktivujte jeho zobrazenie a zobrazte jeho obsah z hornej ponuky - Zobrazte obsah modulu uzavretý okruh - Prepnite režim zobrazenia dlhým stlačením grafu glykémie - Zadať - Pokiaľ máte aspoň 3 mesiace skúseností s uzavretým okruhom na iných systémoch, môžete získať kód, ktorý vám umožní preskočiť ciele. Viac informácií nájdete na https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Objectives.html#skip-objectives. - Kód akceptovaný - Neplatný kód - Preukážte svoje znalosti - Preštudujte si otázky. Dostali ste štyri možné odpovede na každú otázku. Môže existovať viac ako jedna správna odpoveď. Zaškrtnite všetky správne odpovede a potvrďte voľbou KONTROLA. - Odpovedanie zakázané do: %1$s - Nesprávna odpoveď! - Ďalšia nedokončená - Kód žiadosti: %1$s - (zaškrtnite všetky správne odpovede) - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#co-delat-pri-sprchovani-a-koupani - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#konfigurace - https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka - Nie ste pripojený k internetu - Vyčítanie času zlyhalo - Požiadavky cieľa nie sú splnené - + diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index efc1090c63..3c31c2476e 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -3,55 +3,25 @@ - Bezpečnosť zadania ošetrenia - Maximálny povolený bolus [JI] - Maximálne povolené množstvo sacharidov [g] - Hodnota glykémie, pri ktorej sa aktivuje LGS Nastavenie pluginu %1$s Nastavenia Obnoviť ošetrenia z NS Vymaž databázu Naozaj chcete vymazať databázu? Ukončiť - Niektoré tlačidlá na rýchly prístup do spoločných funkcií Používané na konfiguráciu aktívnych pluginov - Výukový program Aktivuje alebo deaktivuje spustenie uzavretého okruhu. - Synchronizuje vaše dáta s NS - Stav algoritmu v roku 2017 - Najnovší algoritmus pre pokročilých užívateľov - Najnovší algoritmus pre pokročilých užívateľov s dynamickým/automatickým ISF Zobrazenie aktuálneho stavu vašeho uzavretého okruhu a tlačidlá k najpoužívanejším ovládacím prvkom Zobrazuje priebežné oznámenia v Androide s krátkym prehľadom, čo práve uzavretý okruh robí - Ovládač pumpy pre užívateľov bez podporovanej pumpy (Otvorený okruh) Citlivosť je počítaná tým istým spôsobom ako v Oref0, ale je možné špecifikovať časové okno do minulosti. Minimálne vstrebávanie sacharidov je počítané dynamicky z maximálnej doby vstrebávania, definovanej v nastaveniach. Citlivosť je počítaná za posledných 8h, alebo 24h (použiť to, ktoré je citlivejšie) a sacharidy (pokiaľ nie sú vstrebané), sú orezané po čase definovanom v nastaveniach. Modul tiež počíta s UAM (neoznámené jedlo). Citlivosť je počítaná ako vážený priemer z odchýlok. Novšie majú vyššiu prioritu. Minimálna vstrebateľnosť sacharidov je počítaná dynamicky z maximálnej doby vstrebateľnosti definovanej v nastaveniach. Tento algoritmus je najrýchlejší v sledovaní zmien citlivosti. - Získavať glykémie z upravenej Eversense aplikácie. - Získavať hodnoty glykémií z aplikácie Glimp. - Získavať hodnoty glykémií z 600SeriesAndroidUploader. - Získavať hodnoty glykémií z Nightscoutu - Prijímať hodnoty glykémií z xDrip+. Ukladá všetky ošetrenia do databázy Zobrazovanie stavu a riadenie AndroidAPS z hodiniek s WearOS. - Spustiť teraz - Virtuálna pumpa - Posledné spustenie - Vstupné parametre - Stav glykémie - Aktuálny bazál - IOB dáta - Profil - Dáta o jedle - Výsledok - Výsledok: %1$s %2$s - Nedostupné dáta o glykémiách - Požiadavka Rozdiel Konfigurácia Prehľad Ošetrenia - Virtuálna pumpa Pumpa Akú pumpu chcete používať s AndroidAPS? Profil @@ -60,35 +30,23 @@ Aký APS algoritmus má byť použitý pre prispôsobenie liečby? Všeobecné Toto sú všeobecné moduly, ktoré môžu byť užitočné. + Synchronizácia + Pluginy pre nahrávanie a synchronizáciu dát. Aké obmedzenia sú použité? - Obmedzenia Uzavretý okruh Použi toto, pre aktiváciu integrácie AndroidAPS uzavretého okruhu. APS Po spracovaní obmedzení Bazál nastavený pumpou NEVYBRANÉ ŽIADNE APS, ALEBO NEVRÁTILO VÝSLEDOK - Bezpečnosť - Modul je deaktivovaný Mimo povolený rozsah - Povoliť nový dočasný bazál: Zmeňte zadanie! Zdroj glykémie Odkiaľ má AndroidAPS získavať glykémie? - xDrip+ - APS mód - Uzavretý okruh - Otvorený okruh - Pozastavenie pri nízkej glykémii (LGS) Dostupné nové doporučenie Návrh sacharidov - Nepodporovaná verzia Nighscoutu - Čas jedla Profil - Dočasný bazál - Predĺžený bolus Verzia Nightscoutu: - Chýba %1$d g Nastavenie exportované Užívateľské záznamy exportované Exportovať nastavenia do @@ -97,12 +55,7 @@ Súbor nenájdený Exportovať nastavenia Importovať nastavenia - Max. JI/h, ktoré je možné nastaviť pre dočas. bazál - Táto hodnota je nazývaná v OpenAPS ako \"max basal\" - Maximálny bazálny IOB, ktorý OpenAPS môže podať [JI] - Táto hodnota je nazývaná v kontexte OpenAPS ako max IOB, je to maximálne množstvo inzulínu v [JI], ktoré APS môže naraz podať. Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie exportovaných nastavení. - Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie importovaných nastavení. Export zrušený! Nastavenia neboli exportované! Import zrušený! Nastavenia neboli importované! Nastavenia sa nedajú importovať! @@ -122,7 +75,6 @@ ROZUMIEM A POTVRDZUJEM Uložiť Obnoviť profil - Rýchly bolus Nastavenie rýchleho bolusu Text na tlačidle: Sacharidy: @@ -130,16 +82,9 @@ Pridať Upraviť Korekcia - Akcie (DEAKTIVOVANIE NEBEZPEČNÉ) Iba odosielanie do NS Iba odosielanie do NS. Neplatí pre glykémie, pokiaľ je NS zvolený, ako zdroj glykémií. Neplatí pre profily, pokiaľ je zvolený NS Profil.\n!!! VAROVANIE!!! Vypnutie tejto možnosti môže spôsobiť nesprávne fungovanie a predávkovanie inzulínom, pokiaľ je niektorý z vašich komponentov (AAPS, NS, xDrip+) nesprávne nastavený. Starostlivo sledujte, či dáta zobrazené v AAPS, zodpovedajú aktuálnemu stavu na pumpe! Pumpa nie je inicializovaná! - Plnenie/doplňovanie - Prosím uistite sa, že hodnota zodpovedá špecifikácií Vášho setu! - Štandardné množstvo inzulínu pre Plnenie/Doplňovanie - Tlačidlo 1 - Tlačidlo 2 - Tlačidlo 3 Jednotky Rozsah pre zobrazenie Značka vysokej a nízkej hodnoty v prehľade a na hodinkách Wear @@ -148,108 +93,22 @@ Wear Všetky dáta poslať znova Otvoriť nastavenia na hodinkách - Bazál - MM640g Priebežné notifikácie ZASTARALÉ DÁTA - OpenAPS AMA - Pole %1$d prvkov.\nAktuálna hodnota: - Dáta detekcie citlivosti - Ladenie skriptu - Použi automatickú detekciu citlivosti - AKCIA KONF OKRUH - OAPS - DYNISF PREH - VPUM OŠET - CIEĽ WEAR Krátke názvy modulov - Vždy používať krátkodobý priemerný rozdiel glykémií, namiesto rozdielu posledných dvoch hodnôt - Zmysluplné, pokiaľ dáta z xDrip+ obsahujú veľký šum. - Štandardná hodnota: 3 Toto je kľúčová hodnota zabezpečenia. Hovorí, že maximálny nastaviteľný bazál je trojnásobkom maximálneho denného bazálu. Spravidla to zrejme nebudete musieť meniť, prípadne si prečítate o téme \"3x max denný; 4x aktuálny\". - Štandardná hodnota: 4 Toto je druhá kľúčová hodnota. Hovorí, že maximálna hodnota dočasného bazálu nikdy nebude väčšia, ako štvornásobok aktuálneho bazálu. Je to preto, aby se ľudia nedostali do nebezpečných hodnôt skôr, ako pochopia ako OpenAPS pracuje. Znovu, štandardná hodnota je 4 a väčšina ľudí ju nikdy nebude musieť meniť. Pokiaľ nestačí, obvykle je problém niekde inde. - Štandardná hodnota: 1.2\nToto je bezpečnostné nastavenie pre detekciu citlivosti (a čoskoro autotune). Hovorí, že autosens môže zvýšiť bazály, znížiť ISF (citlivosť na inzulín) a znížiť cieľovú hodnotu glykémie o 20%%. - Štandardná hodnota: 0.7\nToto je bezpečnostné nastavenie pre automatickú detekciu citlivosti. Hovorí, že automatická detekcia citlivosti môže znížiť bazály, zvýšiť ISF (citlivosť na inzulín) a zvýšiť cieľovú hodnotu glykémie na 70%. - Autosense takisto upravuje cieľovú glykémiu - Štandardná hodnota: zapnuté\nToto je používané, aby automatická detekcia citlivosti mohla okrem cieľovej hodnoty glekémie, upravovať aj citlivosť, prevody a bazály. - Štandardná hodnota: 2\nToto nastavenie hovorí, po akú časť z hodnoty DIA uzavretý okruh po boluse čaká a nereaguje na zmeny glykémií (tu 3DIA/2 = 1,5h). - Štandardná hodnota: 3.0 (AMA), alebo 8.0 (SMB) mg/dl/5min. Táto hodnota definuje minimálnu časť vstrebaných sacharidov za každých 5min. Táto hodnota ovplyvňuje výpočet COB. - Pozor!\nZa normálnych okolností tieto hodnoty nemusíte meniť. Kliknete TU, PREČÍTAJTE si informácie a UISTITE sa, že im rozumiete skôr, ako ich začnete meniť. - Vykonávam - Nastavenie virtuálnej pumpy - Nahrať stav do NS - NSClient - NSCl - Adresa URL: - Automatický posuv - Reštart - Interný NSClient - Adresa Nightscoutu - Zadajte adresu Nightscoutu - NS heslo (API secret) - NS heslo - Zadajte API secret (min 12. znakov) - Podať teraz - Vymazať frontu - Zobraziť frontu - Fronta: - Stav: - Vymazať log - NSClient nemá právo na zápis. Nesprávne API secret? Nastavenie hodiniek Neúspešné - skontrolujte telefón - Typ pacienta - Dieťa - Dospievajúci - Dospelý - Dospelý s nízkou citlivosťou - Tehotenstvo - Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov Meno pacienta Zadajte meno pacienta, alebo prezývku pre rozlíšenie medzi viacerými nastaveniami - Glimp - Pozastaviť uzavretý okruh na 1 h - Pozastaviť uzavretý okruh na 2 h - Pozastaviť uzavretý okruh na 3 h - Pozastaviť uzavretý okruh na 10 h - Odpojenie pumpy - Odpojiť pumpu na 15 min - Odpojiť pumpu na 30 min - Odpojiť pumpu na 1 h - Odpojiť pumpu na 2 h - Odpojiť pumpu na 3 h - 15 minút - 30 minút - 1 hodina - 2 hodiny - 3 hodiny - 10 hodiny - Pokračovať - Znovu pripojiť pumpu - Zaznamenávať spustenie aplikácie do NS Zatváram aplikáciu, aby sa aplikovali nové nastavenia. Aký druh inzulínu používate? Povoliť superbolus Povolenie superbolusu v kalkulátore. Nepovoľujte, pokiaľ se nenaučíte, čo to v skutočnosti robí. MÔŽE SPÔSOBIŤ PREDÁVKOVANIE INZULÍNOM PRI NESPRÁVNOM POUŽITÍ! - Zobraziť indikátory stavu na domovskej obrazovke - Prah upozornenia na vek kanyly [h] - Prah kritického veku kanyly [h] - Prah upozornenia na vek inzulínu [h] - Prah kritického veku inzulínu [h] - Prah upozornenia na vek senzora [h] - Prah kritického veku senzora [h] - Prah upozornenia na úroveň batérie senzora [%] - Prah kritickej úrovne batérie senzora [%] - Prah upozornenia na vek batérie v pumpe [h] - Prah kritického veku batérie v pumpe [h] - Prah upozornenia na úroveň hladiny zásobníka [JI] - Prah kritickej úrovne hladiny zásobníka [JI] - Prah upozornenia na úroveň batérie v pumpe [%] - Prah kritickej úrovne batérie v pumpe [%] PRED BAZ DEV @@ -259,18 +118,12 @@ DEVSLOPE O aplikácii Chýba oprávnenia pre zisťovanie stavu telefónu - Zrušiť predĺžený bolus Vykonajte zmenu profilu - Senzor - Inzulín - Batéria do pumpy - vek: - úroveň: - Nastavenie alarmov + Nastavenie alarmov Vytvoriť oznámenia z alarmov NS Vytvoriť oznámenia z upozornení NS - Hraničná hodnota pre zastaralé dáta [min] - Vysoká hraničná hodnota pre zastaralé dáta [min] + Hraničná hodnota pre zastaralé dáta [min] + Vysoká hraničná hodnota pre zastaralé dáta [min] Interval pre automatickú detekciu citlivosti [h] Počet uplynutých hodín použitých na automatickú detekciu citlivosti (čas vstrebávania sacharidov sa nezohľadňuje) OpenAPS @@ -283,27 +136,13 @@ Nastavenie vstrebávania sacharidov Max. doba vstrebávania sacharidov [h] Čas v hodinách, počas ktorého predpokladáme, že všetky sacharidy budú vstrebané - OAPS - UPLD Nechať obrazovku zapnutú Zabrániť Androidu, aby zhasínal obrazovku. Bez pripojenia nabíjačky vybije veľmi rýchlo batériu! Pri zapnutej automatickej detekcii citlivosti, nezabudnite vkladať všetky prijaté sacharidy. V opačnom prípade, budú odchýlky mylne vyhodnocované, ako zmena citlivosti !! Citlivosť vážený priemer Nenačítané všetky profily! Hodnoty nie sú uložené! - Povoliť vysielanie do iných aplikácií (napr. xDrip+). Nepovoľujte, pokiaľ máte nainštalovanú viac ako jednu AAPS, alebo NSClient inštanciu! - Povoliť lokálne vysielanie. - OpenAPS SMB - Dynamická ISF - Korekčný faktor pre Dynamickú ISF v % - Korekčný faktor pre dynamickú ISF. Pre agresivnejšie korekčné dávky nastavte hodnoty väčšie ako 100%, pre menej agresívne korekcie, menšie než 100%. - Povoliť UAM - Povoliť SMB - Použiť Super Mikro Bolusy namiesto dočasných bazálov, pre zrýchleniu účinku - Detekcia neoznámených jedál NEPLATNÝ - % zmena - Posun času Predvolené nastavenie dočasných cieľov Trvanie \"blížiaceho sa jedla\" Cieľ pre \"blížiace se jedlo\" @@ -311,33 +150,16 @@ Cieľ pri aktivite Trvanie dočasného cieľa pri hypoglykémii Cieľová hodnota pri hypoglykémii - Znovu použiť %1$d%% %2$dh Ovládanie z hodiniek Nastavovanie dočasných cieľov a vkladanie ošetrení hodinkami. - Používať systémové notifikácie pre výstrahy a oznámenia Postupne zvyšovať hlasitosť upozornení a oznámení Lokálne výstrahy Výstraha pri nedostupných hodnotách glykémie Výstraha pri nedostupnej pumpe Limit pre nedostupnosť pumpy [min] Výstraha, ak sú požadované sacharidy - Urgentný alarm - INFO - Eversense aplikácia (upravená) - Nahrávať glykémie do NS - Nastavenie nahrávania glykémie Zobrazovať detailné zmeny Zobrazovať rozdiel s jedným desatinným miestom naviac - Ako často budú SMB podávané (v minutách) - Maximálny počet minút bazálu, ku ktorým se limituje SMB - UAM SMB max. minút - Maximální počet minút bazálu, ku ktorým sa limituje SMB pre UAM - Minimálne množstvo sacharidov potrebných pre návrh - Minimálne množstvo sacharidov v gramoch, ktoré spustí upozornenie návrhu sacharidov. Množstvo sacharidov pod touto hodnotou nespustí oznámenie. - Odosielať glykémie do xDrip+ - V xDrip+ vyberte zdroj dát 640g/Eversense - Glykémie z NS - NS GL Výpočet glykémie Výpočet bolusového IOB Výpočet bazálneho IOB @@ -348,41 +170,17 @@ Výpočet COB Výpočet dočasného cieľa Percentuálny výpočet - Uzavretý okruh povolený - APS vybrané - NSClient má povolenie k zápisu - Uzavretý okruh povolený - Maximálne IOB nastavené správne - Glykémie dostupné z vybraného zdroja - Chyba pri podávaní predĺženého bolusu - Vždy povoliť SMB - Povoliť SMB nezávisle na bolusoch. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 - Povoliť SMB po jedle - Povoliť SMB 6 hodín po boluse aj pri nulovom COB. Možno iba zo zdrojom glykémií s dobrým filtrovaním dát, ako napr. G5 - Povoliť SMB zo sacharidmi - Povoliť SMB, pokiaľ zostávajú aktívne sacharidy. - Povoliť SMB s dočasnými cieľmi - Povoliť SMB, pokiaľ je aktívny dočasný cieľ (aktivita, blížiace sa jedlo) - Povoliť SMB s vysokými dočasnými cieľmi - Povoliť SMB, ak je aktívny vysoký cieľ (cvičenie, vyšší ako 5,5 mmol/l) - Inzulín Tlačidlá Odošle kalibráciu do xDripu+, alebo otvorenie kalibračného dialógu BYODA Otvorí xDrip+, alebo BYODA, tlačidlom späť sa vrátiš do AndroidAPS Množstvo sacharidov, ktoré má byť pridané po stlačení tlačidla Množstvo inzulínu, ktoré má byť pridané po stlačení tlačidla Nie je možné spustiť aplikáciu CGM. Uistite sa, že je nainštalovaná. - CGM Ignorovať 5m Ignorovať 15m Ignorovať 30m - Prehliadač histórie Oznámenie pri SMB Ukazovať SMB na hodinkách ako normálny bolus. - Vytvárať z chýb oznámenia - Vytvoriť oznámenie z výstrahy požadovaných sacharidov - Vytvárať oznámenia pre chyby a lokálne výstrahy v NS (zobraziteľné v starostlivosti pod ošetrením) - Pre výstrahy požadovaných sacharidov vytvoriť oznámenie v Nightscoute Zobrazovať predikcie na hodinkách. Predikcia Možnosti dát @@ -390,8 +188,6 @@ Automatické odosielanie chýb aplikácie a štatistiky používania vývojárom pomocou služby fabric.io. Prosím aktualizuj tvoju Dexcom aplikáciu na podporovanú verziu Dexcom aplikácia nie je nainštalovaná. - Nepodať bolus, iba zaznamenať - Bolus bude iba zaznamenaný (nie pumpou vydaný) SMB podané pumpou Aktivita Vplyv na glykémiu (BGI) @@ -400,32 +196,11 @@ Aktívne sacharidy Aktívny inzulín Bazály - Bežiaca vývojárska verzia. Uzavretý okruh je zakázaný. Vývojársky mód povolený - Pumpa nepodporuje dočasné bazály - Uzavretý okruh zakázaný v nastaveniach - Automatická detekcia citlivosti zakázaná v nastaveniach - SMB zakázané v nastaveniach - UAM zakázané v nastaveniach - UAM zakázané, pretože nie je povolený plug-in Oref1 - maximálny násobok bazálu - maximálny násobok najvyššieho bazálu Podaný bolus v priebehu posledných 3 minút, SMB preskočené Bazál nastavený správne - Predĺžený bolus obmedzený na %1$.1f JI: %2$s - Sacharidy obmedzené na %1$d g: %2$s - IOB obmedzený na %1$.1f JI: %2$s - maximálna hodnota v nastaveniach - pevný limit - Zaznamenať výmenu setu - Zaznamenať výmenu inzulínu - \"SMB vždy\" a \"po jedle\" zakázané pretože zdroj glykémie nepodporuje rozšírené filtrovánie - SBM nie sú povolené pri otvorenom okruhu - Maximálne celkové IOB, ktoré OpenAPS nemôže prekročiť [JI] - Táto hodnota je v kontexte OpenAPS nazývaná Max IOB.\nOpenAPS nikdy nepridá inzulín, pokiaľ je súčasné IOB väčšie, ako táto hodnota Maximálna doba vstrebávania sacharidov [h] Doba, po ktorej sú všetky sacharidy považované za vstrebané. Zvyšné budú orezané. - Hodnota glykémie, pri ktorej bude podávanie inzulínu zastavené. Východzia hodnota využíva štandardný cieľový model. Užívateľ môže nastaviť hodnoty od 3,3 mmol/l do 5,5 mmol/l. Pri hodnotách pod 3,6 mmol/l se použije východzí model. Zobrazovať kolónku poznámky v dialógoch ošetrení Ďalšia Späť @@ -438,33 +213,18 @@ Druhý prídavok sacharidov Tretí prídavok sacharidov CGM - Použiť mobilné pripojenie - Použiť WiFi pripojenie - WiFi SSID - Počas nabíjania - Na batérii - Nastavenie pripojenia - Povolené SSID (oddelené bodkočiarkou) - Povoliť pripojenie pri roamingu Max hodnota detekcie citlivosti Min hodnota detekcie citlivosti - Deliteľ \"bolus snooze\" - Max násobiteľ denného najvyššieho bazálu - Max násobiteľ súčasného bazálu - Typ virtuálnej pumpy - Definícia pumpy - Bolus: Krok =%1$s\nPredl. bolus: [Krok=%2$s, Dĺžka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Dĺžka=%8$smin-%9$sh\n%10$s Kalkulácia použitá vo výsledku wizardu: Nastavenie zobrazenia Všeobecné nastavenia - Povoliť NSClient Vitajte v sprievodcovi nastavení. Prevedie Vás procesom nastavenia programu\n Načítať stav Preskočiť sprievodcu Stlačte tlačidlo nižšie, pre povolenie, aby mohlo AndroidAPS navrhovať, alebo robiť zmeny bazálu Modul citlivosť slúži k detekcii zmien v citlivosti a k počítaniu COB. Viac informácií tu: https://androidaps.readthedocs.io/cs/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient slúži na spojenie s Nightscoutom. Nastavenia môžete teraz preskočiť, ale nebudete schopný dokončiť ciele, pokiaľ neurobíte nastavenia. + Synchronizujte dáta s cloudom. Túto časť teraz môžete preskočit, ale nebudete schopní dokončiť ciele, pokiaľ synchronizácia nebude nastavená. Prosím, zapamätajte si: Nové inzulínové profily vyžadujú DIA minimálne 5h. DIA 5-6 hodín zodpovedá zhruba nastaveniam 3h na starších typoch profilu. Vyberte jeden z algoritmov. Sú zoradené od najstaršieho po najnovší. Novší je obvykle lepší a agresívnejší, ale vyžaduje presnejšie nastavenie. Preto pokiaľ s uzavretým okruhom začínate, mali by ste najskôr vybrať jen AMA a nie ten posledný. Nezabudnite si prečítať dokumentáciu k OpenAPS a prejsť nastavenia, kým ho začnete používať. Prosím nakonfigurujte svoj RileyLink nižšie. Po výbere RileyLinku bude možné pokračovať v nastavení, akonáhle je stav RileyLinku \"Pripojené\". Táto akcia môže chvíľku trvať.\n @@ -474,21 +234,6 @@ Otvoriť Menu Zavrieť Menu Nastavenie modulu - Poctech - Získavať glykémie z aplikácie Poctech - Glunovo - Získavať glykémie z aplikácie Glunovo - Intelligo - Prijímať hodnoty z aplikácie Intelligo - Prijímať glykémie z aplikácie Tomato (zariadenie MiaoMiao) - Vysoký dočasný cieľ zvýši citlivosť - = 5.5]]> - Nízky dočasný cieľ zníži citlivosť - - Rezistancia znižuje cieľ - Ak je zistená rezistancia, znížiť cieľovú hladinu glykémie - Citlivosť zvyšuje cieľ - Ak je zistená vyššia citlivosť, zvýši cieľovú hladinu glykémie Odstrániť položky Zoradiť položky Nájdené uložené nastavenia @@ -504,64 +249,22 @@ Vymazať logy Ošetrenie (inzulín: %1$.2f, sacharidy: %2$d, čas: %3$s) nie je možné pridať. Skontrolujte a podľa potreby manuálne pridajte záznam. eCarbs: %1$d g (%2$d h), Oneskorenie: %3$d m - Nedostupné dáta o glykémiách Log súbory Rôzne Nastavenie logovania Obnoviť predvolené - Chyba NSClienta. Zvážte reštart NS a NSClienta. Preferovaný režim APS Odošlite dnešné súbory protokolov vývojárom spolu s týmto časom. Neočakávaná situácia. Minimálna požiadavka na zmenu [%] Otvorený okruh vytvorí novú žiadosť o zmenu iba v prípade, že zmena je väčšia ako táto hodnota v %. Štandardná hodnota je 20% == ∑ %1$s JI - Ulož výmenu senzora do NS - Vytvoriť udalosť \"Výmena senzora\" v NS automaticky pri spustení senzora - Tomato (MiaoMiao) - Tomato - Vaše meno používateľa na Tidepoole, obvykle Vaša E-mailová adresa - Meno používateľa - Heslo na Tidepool - Heslo - Odtestovať prihlásenie na Tidepool - Pokiaľ bude aktivované, dáta sa budú nahrávať na https://int-app.tidepool.org namiesto https://app.tidepool.org/ - Používať testovacie servery - Tidepool - TDP - Nahrávánie dát na Tidepool - Nahrávať CGM dáta - Nahrávať ošetrenia (inzulín, sacharidy) - Nahrávať dočasné bazály - Nahrávať prepnutia profilu, dočasné ciele - Nahrávať merania z prsta - 2h - BYODA - BYODA - Prijímať hodnoty glykémií z upravenej aplikácie Dexcom (BYODA). - COB vs. IOB - Použité obmedzenie bolusu: %1$.2f J na %2$.2f J - !!!!! Detekovaná pomalá absorbcia sacharidov: %2$d%% času. Prekontrolujte kalkuláciu. COB môže byť úplne iné, môže byť podaného viac inzulínu!!!!!]]> - Podaj túto časť z výsledku kalkulácie [%] Bolusová kalkulačka urobí výpočet, ale iba táto časť vypočítaného inzulínu je podaná. Pomáha pri SMB algoritme. - Zvýšenie maximálnej hodnoty bazálu, pretože nastavenie je nižšie, než je vaša maximálna hodnota bazálu v profile - Vybrané: Jednotky - Vymazanie dokončené - Vymazanie začaté - Chcete resetovať začiatok cieľa? Môžete prísť o svoj pokrok. Vyberte jednotky, v ktorých chcete zobraziť hodnoty Spodná hodnota v oblasti cieľového rozsahu (iba zobrazovanie) Horná hodnota v oblasti cieľového rozsahu (iba zobrazovanie) - Neplatný vstup % - Náhodná glykémia - Vygeneruj náhodné dáta glykémií (iba Demo režim) - Glykémia - Nástroje - Zobraziť kalkuláciu Zobraziť odstránené Vymazať frontu? Všetky dáta vo fronte budú stratené! - Použitie funkcie predĺženého bolusu zastaví uzavretý okruh na dobu trvania predĺženého bolusu. Naozaj to chcete? - Uzavretý okruh je zastavený kvôli prebiehajúcemu predĺženému bolusu Grafové menu Čas požiadavky SMB Čas aplikácie SMB @@ -574,36 +277,15 @@ Celkový inzulín Hlavné heslo sa používa na šifrovanie zálohy a na \"prebitie\" zabezpečenia v aplikácii. Dobre si ho zapamätajte, alebo uložte na bezpečnom mieste. Aktuálne hlavné heslo - Indikátory stavu - Kopírovať nastavenia z NS - Skopírovať nastavenia NS (ak existujú)? - Pôvodný vzhľad - Vzhľad pre nízke rozlišenie - Tlačidlá sú vždy zobrazené v spodnej časti obrazovky - Veľký displej - Vzhľad - Porovnať profily - Pomocník s profilom - Predvolený profil - Aktuálny profil - Dostupný profil - Typ profilu - Vek: %1$.0f CDD: %2$.0f U - Vek: %1$.0f CDD: %2$.0f JI %3$d%% - Vek: %1$.0f Hmotnosť: %2$.0f kg - % bazálu - Predvolený DPV profil Stav RileyLinku: Nie je možné vytvoriť lokálny profil. Profil je neplatný. Nepotláčať moju aplikáciu? - Spustiť výstrahu, keď je čas na jedlo Čas na jedlo!\nSpustite Bolusovú kalkulačku a urobte výpočet znova. Zapnúť pripomínanie bolusu Použite pripomenutie pre neskorší bolus s kalkulačkou (\"oneskorený bolus\") Odosielanie protokolov o zlyhaní je zakázané! Graf - Grafové menu Vyčistiť filter Kanyla Použite hodnoty pre najväčšie jedlo, aké obvykle jete\n @@ -611,48 +293,12 @@ Emailová adresa Nastavenia súkromia Pokiaľ chcete byť upozornení na zlyhanie aplikácie, môžete zadať voliteľne e-mailovú adresu. Toto nie je automatizovaná služba. Vývojári vás budú kontaktovať v nebezpečných situáciách. - Úplná synchronizácia - Úplná synchronizácia? Môže to trvať niekoľko hodín a kým skončí, neuvidíte nové dáta v NS. - Synchronizácia - Profily, bolusy, sacharidy, dočasné bazály sú nahrávané do NS - Nahrávať dáta do NS - Prijímať úložisko profilov - Synchronizovať profily z NS editora profilov - Prijímať dočasné ciele - Prijať dočasné ciele zadané prostredníctvom NS, alebo NSClienta - Prijímať prepnutia profilov - Prijať prepnutia profilov zadané prostredníctvom NS, alebo NSClienta - Prijímať udalosti APS offline - Prijať APS offline udalosti zadané prostredníctvom NS, alebo NSClienta - Prijímať dočasný bazál a predĺžený bolus - Prijať dočasný bazál a predĺžený bolus zadaný cez inú inštanciu - Prijímať inzulín - Prijať inzulín vložený cez NS, alebo NSClient (nie je dodaný, iba započítaný do IOB) - Prijímať sacharidy - Prijať sacharidy vložené prostredníctvom NS, alebo NSClienta - Prijímať liečebné udalosti - Prijať liečebné udalosti (výmena setu, inzulínu, batérie atď.) zadané prostredníctvom NS, alebo NSClienta - Prijímať/doplňovať glykémie - Prijať CGM dáta z NS - Spustiť %s? - Spomaliť nahrávanie Stav dát glykémie Odstrániť glykémie - vek kanyly - vek náplasťovej pumpy - Náplasťová pumpa Identifikácia (E-mail, prezývka FB, alebo Discord atď.) Identifikácia nie je nastavená vo vývojárskom móde dialog - aktuálna glykémia - správny výsledok v % - správny výsledok s jednotkami Nedostupný - graf - kvalita glykémií - inzulín - glykémia - zastaralé Dočasný cieľ neznáma predvoľba: %1$s Zrušenie bežiaceho dočasného cieľa? @@ -667,22 +313,6 @@ Kalkulačka: \nInzulín: %1$.2fJI\nSacharidy: %2$dg Zobraziť záznam na zariadení: Vybraný rýchly bolus už nie je k dispozícii, obnovte prosím dlaždicu - Žiadna aktuálna glykémia k základnému výpočtu! - Nie je nastavený žiadny aktívny profil! - Neznáme COB! Chýbajú glykémie, alebo bola práve reštartovaná aplikácia? - Sacharidy mimo povolený rozsah! - Kalk (IC: %1$.1f, ISF: %2$.1f) - Sacharidy: %1$.2fJI - COB: %1$.0fg %2$.2fJI - Gly: %1$.2fJI - IOB: %1$.2fJI - Superbolus: %1$.2fJI - 15min trend: %1$.2fJI - Percentá: %1$.2fJI x %2$d%% ≈ %3$.2fJI - Inzulín mimo povolený rozsah!\nNie je možné podať %1$.2fJI - DC: %1$s - %1$s do %2$s - Pumpa nedostupná! Neznámy príkaz k akcii: Percentuálny podiel Predvolené aplikáciou @@ -691,13 +321,7 @@ Zoradiť Stav uzavretého okruhu Mierka grafu - Profil 1 - Profil 2 - Prihlásenie - Odstrániť všetko - Resetovať štart otvoriť nastavenia - nastaviť upozornenie na sacharidy Všetko Telefón Hodinky @@ -705,14 +329,7 @@ iba na telefóne úchop potiahni a pusť Hľadať - - GlucoRx Aidex - Aidex - Prijímať hodnoty glykémie zo senzora GlucoRx Aidex. - Zablokované možnosti nabíjania - Zablokované možnosti pripojenia (Žiadne hodinky nie sú pripojené) - Upraviť citlivosť a glykémiu Vyčistenie databázy Chcete vyčistiť databázu?\nOdstráni sledované zmeny a historické dáta staršie ako 3 mesiace. Vymazané záznamy diff --git a/app/src/main/res/values-sr-rCS/strings.xml b/app/src/main/res/values-sr-rCS/strings.xml index b8ab4a326c..98031d622d 100644 --- a/app/src/main/res/values-sr-rCS/strings.xml +++ b/app/src/main/res/values-sr-rCS/strings.xml @@ -4,5 +4,4 @@ - diff --git a/app/src/main/res/values-sv-rSE/exam.xml b/app/src/main/res/values-sv-rSE/exam.xml index 1c09f61130..3ea04e700d 100644 --- a/app/src/main/res/values-sv-rSE/exam.xml +++ b/app/src/main/res/values-sv-rSE/exam.xml @@ -1,180 +1,2 @@ - - Vad är sant om DIA? - Insulinduration (DIA) - Du bör ange värdet för DIA i din profil. - Det minsta tillåtna värdet är 5 timmar. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - Du bör själv fastställa det lämpliga värdet för DIA. - Hypo tempmål - Vad är huvudskälet till att ange ett hypo tempmål? - För att korrigera känningar som orsakas av felaktiga basalinställningar. - För att korrigera för en känning om ett resultat av motion. - För att förhindra att blodsockret blir lågt även om basaldosen redan är 0%. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Vilken profiltyp kan användas och konfigureras offline? - Ämne: Offlineprofil - NS-profil kan användas, men inte konfigureras. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - Vad bör göras när pumpen kopplas bort? - Detta är onödigt eftersom insulin ändå inte kommer levereras om pumpen är fysiskt bortkopplad. - Insulinleveransen kommer inte att stoppas om pumpen fortsätter vara ansluten. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - Vilka är de rekommenderade metoderna för att säkerhetskopiera dina inställningar? - Du behöver inte exportera dina inställningar om du antecknar dem. - Exportera dina inställningar när du har slutfört ett mål. - Exportera dina inställningar efter att ha ändrat någon av dina inställningar. - Exportera dina inställningar när du har slutfört grundinstallationen och har justerat dina inställningar. - Exportera dina inställningar lokalt med hjälp av underhållsmenyn. - Din inställningsfil finns i mappen Internt lagringsutrymme/AAPS/preferences på telefonen. - Kopiera din inställningsfilen till en säker plats utanför din telefon (t.ex. genom att använda molnlagring, ansluta med en kabel till datorn, e-post, etc.) - Om telefonen är skadad eller borttappad finns det enkla sätt att återställa dina inställningar utan säkerhetskopia. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Brusiga CGM-värden - Vad bör göras om CGM-datat är brusigt? - Inaktivera closed loop-läge för att undvika över- eller underdosering. - Byt ut brusiga eller felaktiga sensorer. - Kontrollera att din CGM-app ger utjämnade data. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Träning och profiler - Hur kan du använda profiler för att bäst hjälpa systemet att hantera aerobisk träning? - Gör ett profilbyte till mindre än 100%. - Gör ett profilbyte till mer än 100%. - Lämna profilen på 100%. - Pausa loopen. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Träning och tillfälliga mål - Hur kan man använda tillfälliga mål för att på bästa sätt hjälpa systemet att hantera aerobisk träning? - Ställ in temp mål för Träning vid en lämplig tidpunkt innan motionen påbörjas. - Ställ in temp mål för Träning efter avslutad träning. - Lämna ditt målvärde oförändrat. - Vänta tills blodglukosnivån sjunker under ditt Hypo temp mål och sen äter du 15 g av snabbverkande kolhydrater. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Inaktiverad/pausad loop - Får jag insulin när loopen är avstängd eller pausad? - Ja. Basalinsulin fortsätter att levereras. - Nej, leverans av insulin är stoppad. - Test av basaldoser, ISF och KH-kvot - När ska dessa värden testas? - Innan loopning påbörjas. - När du upplever frekvent högt eller lågt blodsocker. - Minst en gång i veckan. - När du väl har ställt in och validerat dessa värden bör dessa värden inte ändras över tiden. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Förutsättningar - Validerad profilinformation (Basal, IC, ISF, DIA). - En dator med Android Studio installerad och konfigurerad. - En telefon som stöds. - En kompatibel insulinpump om du planerar att köra closed loop. - Nightscout, för att logga allt data och få en överblick över inställningar. - Ett Tidepool-konto. - Ett Google-konto. - Ett Github-konto. - Erfarenhet av programmering eller redigering av kod. - En MiniMed 670G pump. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - En smart klocka. - En CGM som stöds. - Förutsättningar - Validerad information för att konfigurera en profil (ISF, KH-kvot, basaldoser, DIA osv.). - En kompatibel Android-enhet (t.ex. mobiltelefon, full Android-klocka eller surfplatta). - En stödd CGM och lämplig app för att ta emot blodsockervärden på telefonen/enheten. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Markera ett eller flera alternativ. - Du måste ha Git installerat och konfigurerat på din dator. - Du bör spara och notera platsen för ditt keystore och använda samma signeringsnyckel för uppdateringar som för den föregående installationen. - Uppdatera aldrig om systemet fungerar bra. - Om du har problem att bygga apk-filen, kan du installera en apk som har byggts av en vän. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Felsökning - Du bör fråga din diabetesklinik/endokrinolog. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - Insulininställningar - Vilket insulin ska du använda med insticksprogrammet Ultra-Rapid Oref? - Fiasp® - NovoRapid®/Novolog® - Humalog ® - Actrapid ®/Humalin R ®/\"reguljärt\" human-insulin. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Insticksprogram för känslighet - Markera ett eller flera alternativ. - Insticksprogram för känslighet ger användaren föreslagna ändringar av basaldoser, KH-kvoter och insulinkänslighetsfaktorer som kan användas för att redigera profilen. - Om du loggar ett kanylbyte återställs autosens-värdet tillbaka till 100%. - Vissa av insticksprogrammen har konfigurerbara tidsintervall som kan ställas in av användaren. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - Fel i KH-inmatning - Vad ska du göra om du har gjort en felaktig inmatning? - Ta bort den felaktiga posten i Behandlingar och ange rätt kolhydratmängd. - Ge bolus med insulin med hjälp av förfyllningsmenyn för infusionssetet. - Ge bolus med hjälp av knappen Insulin på hem/översiktssidan. - Fel i bolusinmatning - Vad ska du göra om du fått mindre insulin än vad pumpens historik visar, t.ex. på grund av en ocklusion, en felaktig kanyl eller om du glömt att sätta fast pumpen efter en dusch?  - Ta bort insulindata från Nightscout för att ta bort den från pumpens historik. - Ge en bolus med en del av det insulin du saknar antingen med penna eller genom att använda förfyllningsfunktionen. - Aktivt Insulin (IOB) - IOB-värdet påverkas av temp basaler. - Hög temp basal kommer inte att ges när ditt BG-värde är under målet. - Negativ IOB under en längre period även om du inte motionerat, tyder på att din profil ger för mycket insulin. - Positiv IOB under en längre period tyder på insulinresistens eller oannonserade måltider (UAM). - Kolhydrater och bolus - Endast gram får användas för att uppskatta och registrera kolhydrater som konsumeras. - Kolhydrater som konsumeras kan registreras med hjälp av ett lämpligt utbytessystem (t.ex. DAFNE \"CHO\" eller europeiska \"Brödenheter\"). - Om blodglukosnivån ligger utanför normala värden (för lågt eller för högt) kan boluskalkylatorn användas för att ge förslag om KH- eller insulinkorrektioner. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - e-carbs - Vad kan du använda e-carbs (förlängda kolhydrater) till? - För att schemalägga framtida kolhydrater och/eller fördela över ett intervall (likt en förlängd bolus fördelar insulin över ett intervall). - För att logga kolhydrater som getts för att korrigera ett lågt Bg-värde.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Fjärrövervakning - Andra appar (t.ex. Dexcom Follow, xDrip+ i följarläge) gör att du kan följa vissa parametrar (t.ex. BG-värden) men använder andra algoritmer så IOB och COB kanske inte överenstämmer. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - Insulinkänslighetsfaktor (ISF) - Högre ISF-värden kommer att leda till mer insulin för att täcka en viss mängd kolhydrater. - Lägre ISF-värden kommer att leda till mer insulin för att korrigera högt blodsocker. - Att höja eller sänka ISF har ingen effekt på insulinleveransen när blodglukosnivån är lägre än målet. - Om du ändrar ISF-värdet i din profil är det tillräckligt för att tillämpa ändringen. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Du kan använda mer än ett värde för KH-kvot i din profil. - Om du ändrar din ISF-profil i din profil bör du alltid ändra din KH-kvot också. - Insulin till kolhydratförhållandet (I:C förhållande) - Högre kolhydratskvot leder till att mindre insulin levereras för en given mängd kolhydrater. - Lägre kolhydratskvot leder till att mindre insulin levereras för en given mängd kolhydrater. - Om du har 0 COB, kommer en förändring av IC-kvoten leda till en annan mängd insulin för att korrigera din BG-nivå. - IC kommer att vara annorlunda om du räknar brödenheter (utbytesenhet) som 10g eller 12g. - IC betyder: Hur många brödenheter (utbytesenheter) som omfattas av 1U insulin. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profilbyte - När du anger ett profilbyte till 90%, vilka svar är sanna? - Basaldoserna kommer att bli 10% lägre. - ISF kommer att bli 10% högre. - KH-kvoten kommer att bli 10% lägre. - ISF och KH-kvoterna kommer att vara oförändrade. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profilbyte - När du anger ett profilbyte till 120%, vilka svar är sanna? - Blodglukosmålet kommer att bli 20% högre. - Basaldoserna kommer att bli 20% högre. - Blodglukosmålet ändras inte. - ISF kommer att bli 20% högre. - Profilbyte - Gör ett profilbyte med en tidsförskjutning av 2 - Gör ett profilbyte med en tidsförskjutning av -2 - Sätt ett \"Äta snart\" temp mål. - Gör ett profilbyte till mer än 100%.  - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Ändringar av profiler - Basaldoser, ISF, KH-kvoter och dylikt bör anges i profiler. - Att redigera profiler för att ändra värden är tillräckligt för att genomföra eventuella ändringar. - Flera profiler kan ställas in och väljas för att hantera förändrade omständigheter (t.ex. hormonella förändringar, skiftarbete, vardagar/helg). - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Hjälp med basaldoser - Var man hittar hjälp för basaldoser m. m. - Ditt diabetesteam - Google - Facebook - Annan medicin. Läs nedanstående förklaring och markera sedan rutan för att acceptera deklarationen. - + diff --git a/app/src/main/res/values-sv-rSE/objectives.xml b/app/src/main/res/values-sv-rSE/objectives.xml index 8ae05ffd0d..3ea04e700d 100644 --- a/app/src/main/res/values-sv-rSE/objectives.xml +++ b/app/src/main/res/values-sv-rSE/objectives.xml @@ -1,53 +1,2 @@ - - Starta - Kontrollera - %1$d. Målet - Mål %1$d inte uppnått - Mål %1$d inte uppnått - Ställer in utseende och övervakning för att sedan kunna analysera basaler och kvoter - Kontrollera att BG syns i Nightscout och att insulindata från pumpen laddas upp - Starta med open loop - Kör i Open Loop-läge i några dagar och sätt ett antal temp-basaler manuellt. Konfigurera och använd temporära och förinställda temporära mål (t.ex. Träning eller Hypo) - Förstå din open loop och hur den föreslår temp basaler - Utifrån vad du nu lärt dig, besluta vilken max basal du vill ha. Ställ in det både i inställningarna i appen och i din pump - Börja använda closed loop med aktiverad funktion att stänga av vid lågt BG - Aktivera closed loop med max IOB=0 i några dagar till dess systemet inte stänger av pga lågt BG för många gånger - Finjustering av closed loop, med gradvis ökande max IOB och minskande målvärde för BG - Kör några dagar och åtminstone en natt utan larm för lågt BG innan du sänker målvärdet för BG - Justera basaler och kvoter om det behövs. Aktivera sedan autosens - 1 veckas lyckad looping dagtid, där alla måltider lagts in - Aktiverar ytterligare funktioner för användning dagtid, t ex SMB - Aktivera automatisering - Du måste läsa på wikin och öka max IOB för att få SMB att fungera bra. En bra start är att sätta max IOB till din genomsnittliga måltidsbolus plus 3 gånger den högsta basalen du har under ett dygn - Läs dokumentationen hur automatisering fungerar. Konfigurera dina första enkla regler. I stället för att ange en åtgärd, låt bara AAPS visa en avisering. När du är säker på att automatisering utlöses vid rätt tidpunkt kan du ersätta aviseringen med verklig åtgärd. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - BG är tillängligt i Nightscout - Pumpstatus tillgängligt i Nightscout - Manuella justeringar - Utfört: %1$s - Ställ in profilen 90% för 10 minuter (Tryck och håll in profilens namn i Översikten) - Simulera dusch. Koppla från pump i 1 timme (Tryck och håll in på Open Loop i Översikten) - ... och återanslut på samma sätt - Skapa ett anpassat tillfälligt mål med 10 min varaktighet (Tryck och håll in på nuvarande BG-mål i Översikten) - I Konfigurationsverktyget, aktivera insticksprogrammet Åtgärder, gör det synligt och visa dess innehåll från övre menyn - Visa innehållet i insticksprogrammet \"Loop\" - Testa skala om BG-grafen genom att trycka och hålla in fingret på den - Enter - Om du har minst 3 månaders erfarenhet av closed loop med andra system kan du kvalificera dig för en kod för att hoppa över mål. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives för mer info. - Koden godkänd - Koden är felaktig - Bevisa dina kunskaper - Studera frågorna.  Ni får fyra möjliga svar på varje fråga. Det kan finnas mer än ett korrekt svar. Kontrollera alla de som är korrekta och välj Kontrollera. - Svarsfunktionen inaktiverad till: %1$s - Fel svar - Nästa icke slutförda - Begärd kod: %1$s - (markera ett eller flera alternativ) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - Inte ansluten till internet - Fel vid hämtning av tid - Målets krav är inte uppfyllda - + diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index ee3560dd0d..d3678ba0d6 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -3,87 +3,44 @@ - Säkerhetsbegränsningar - Max tillåten bolus [U] - Max tillåtna KH [g] Inställningar för %1$s Inställningar Uppdatera behandlingar från Nightscout Återställ databaserna Vill du verkligen återställa databaserna? Avsluta - Knappar för att snabbt komma åt vanliga funktioner Används för att konfigurera de aktiva insticksprogrammen - Inlärningsprogram Aktivera eller inaktivera implementationen som kör loopen. - Synkroniserar dina data med Nightscout - Så som algoritmen var definierad år 2017 - Den senaste algoritmen för avancerade användare - Senaste algoritm för avancerade användare med dynamisk / automatisk ISF Visar loopens nuvarande tillstånd och knappar för de vanligaste funktionerna Visar en konstant avisering med en kort sammanfattning av vad din loop gör - Integration för pumpar som ännu inte stöds av AndroidAPS (Open loop) Känsligheten beräknas på samma sätt som i Oref0, men du kan specificera hur mycket av historiken som ska tas med i beräkningen. Minimalt upptag av kolhydrater beräknas utifrån maximal upptagstid för kolhydrater som angetts i Inställningar. Känsligheten beräknas både från 8 och 24 timmars data från historiken och väljer det resultat som har högst insulinkänslighet. Kolhydrater som ännu inte räknats av ignoreras efter tiden som ställts in i inställningarna. Insticksprogrammet beräknar också icke inmatade måltider, UAM. Känsligheten beräknas som ett viktat medelvärde av avvikelserna. Senare avvikelser får en högre vikt. Minimal upptagning av kolhydrater beräknas utifrån maximal upptagstid för kolhydrater som angetts i inställningarna. Den här algoritmen är den snabbaste att justera förändringar i känsligheten. - Ta emot BG-data från den modifierade -Eversense-appen. - Ta emot BG-data från Glimp - Ta emot BG-data från 600SeriesAndroidUploader - Ladda ner BG-data från Nightscout - Ta emot BG-data från xDrip+. Spara alla behandlingar som gjorts - Utför nu - Virtuell pump - Senaste beräkning - Ange värden - Glukosstatus - Nuvarande temp - IOB-data - Profil - Måltidsdata - Resultat - Resultat: %1$s %2$s - Ingen BG-data tillänglig - Beräknat behov Delta Konfigurationsverktyg Översikt Behandlingar - Virtuell pump Pump Profil APS Vilken algoritm ska användas för behandlingar? Generella inställningar Dessa är några allmänna insticksprogram som kan vara användbara. + Synkronisering Vilka begränsningar ska tillämpas? - Begränsningar Loop APS Efter begränsningar Temp basal satt i pump INGEN APS VALD - Säkerhet - Insticksprogram inaktiverat Begränsning nådd - Acceptera ny temp basal: Ändra inmatning BG-källa - xDrip+ - APS-läge - Closed Loop - Open Loop - Stopp innan lågt Ny rekommendation tillgänglig KH-förslag - Versionen av Nightscout stöds inte - KH-tid Profil - Temp basal - Förlängd bolus Nightscoutversion: - Saknar %1$dg Inställningar exporterade Användarposter exporterade Exportera inställningar till @@ -92,12 +49,7 @@ Eversense-appen. Hittade inte filen Exportera inställningar Importera inställningar - Max enheter per timme som en temp basal kan sättas till - Detta värde kallas max basal inom OpenAPS - Maximal basal IOB som OpenAPS kan ge [E] - Detta värde kallas Max IOB i OpenAPS. Det är ställt till noll från start. Efter flera dagar till veckor, beroende på hur du känner, kan du välja att justera denna. Du kommer att bli tillfrågad om huvudlösenordet som sedan kommer att användas för att kryptera exporterade inställningar. - Du kommer att bli tillfrågad om huvudlösenordet som sedan kommer att användas för att avkryptera importerade inställningar. Exporten avbröts. Inställningarna har INTE exporterats! Importen avbröts. Inställningarna har inte importerats! Kan inte importera inställningar! @@ -117,7 +69,6 @@ Eversense-appen. JAG FÖRSTÅR OCH GODKÄNNER Spara Ladda om profil - Snabbsteg Inställningar för snabbsteg Knapptext: KH: @@ -125,16 +76,9 @@ Eversense-appen. Lägg till Ändra Korrektion - Åtgärder (INAKTIVERAD KAN MEDFÖRA FARA) NS-Endast uppladdning NS-endast uppladdning (inaktiverad synkronisering). Påverkar inte uppladdning av BG om inte en lokal källa som xDrip+ är vald. NS-profiler kan också användas.\nVARNING! Att inaktivera detta alternativ och därmed tillåta att NS påverkar AAPS kan orsaka fel och t. o. m. insulinöverdos om någon av dina komponenter (AAPS, NS, xDrip+) inte är helt rätt konfigurerade. Övervaka noga att data som visas av AAPS överensstämmer med verkligheten! Pump inte initierad - Förfyllning - Försäkra dig om att mängden motsvarar det som är specificerat för just ditt infusionsset. - Standardvärden för påfyllning/förfyllning - Knapp 1 - Knapp 2 - Knapp 3 Enheter Gränsvärden för visualisering Högt och lågt värde för grafen i Översikt och i klockan @@ -143,108 +87,22 @@ Eversense-appen. Klocka (Wear) Uppdatera klockans data Öppna inställningar på klockan - Basaldos - Minimed 640G Konstant avisering i telefonen Aktuellt BG saknas! - OpenAPS AMA - En serie med %1$d tal.\nVärde: - Autosensdata - Debug - Använd autosens - Act Konf Loop - OAPS - DynISF Hem - vPump Beh - Mål Wear Förkorta namnen på flikarna - Använd alltid kort medeldelta istället för enkel delta - Användbart när ofiltrerade källor ger brusiga värden. - Standardvärde: 3 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina temp basaler till maximalt 3x din största basaldos. Du behöver oftast inte ändra detta värde. Läs på och förstå skillnaden mellan 3x nuvarande och 3x daglig max som säkerhetsinställningar. - Standardvärde: 4 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina tempbasaler till maximalt 4 gånger din nuvarande basaldos, oberoende av din maximala basaldos. Detta för att undvika att man av misstag gör farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning. - Standardvärde: 1.2\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera upp basaler, sänka insulinkänslighet (ISF) och/eller målvärde med upp till 20%. - Standardvärde: 0.7\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera ner basaler, höja insulinkänslighet (ISF) och/eller målvärde med upp till 30%% för att kompensera för t ex tillfällig hög insulinkänslighet. - Autosens justerar även mål-BG - Standardvärde: sant. Detta för att tillåta autosens justera mål-BG utöver ISF och basaler. - Standardvärde: 2 Bolus snooze är aktivt efter att du givit en måltidsbolus, detta för att inte loop ska lågtempa när du just ätit. I detta exempel och grundvärde är 2; innebär att DIA på 3 tim kommer bolus snooze kommer att fasas ut under 1,5 tim (3DIA/2). - Standardvärde: 3.0 (AMA) eller 8.0 (SMB). Detta är grundinställning för KH-absorption per 5 min. Detta styr hur snabbt COB minskar, dvs hur snabbt programmet kalkylerar att KH tagits upp, och påverkar BG framöver när BG faller mer än väntat, eller inte stiger som väntat. - Viktigt!\nNormalt behöver du inte ändra dessa värden. Vg KLICKA HÄR och LÄS texten och försäkra dig om att du FÖRSTÅTT innan du ändrar dessa värden. - Utför - Inställningar för Virtuell pump - Ladda upp status till Nightscout - NS Client - NSCl - URL: - Automatisk rullning - Starta om - NSClient - Nightscout-URL - Ange Nightscout-URL - Nightscout API secret - Nightscout API secret - Ange Nightscout API secret (min 12 tecken) - Synkronisera nu - Töm kö - Visa kö - Kö: - Status: - Töm logg - NS Client kan inte uppdatera Nightscout. Fel API secret? Inställningar för klocka (Wear) misslyckat - kontrollera telefonen - Patienttyp - Barn - Tonåring - Vuxen - Insulinresistent vuxen - Gravid - Välj en patienttyp för att ställa in säkerhetsgränser Patientens namn Vänligen ange patientens namn eller smeknamn för att kunna skilja mellan flera uppsättningar av inställningar - Glimp - Pausa loop i 1 timme - Pausa loop i 2 timmar - Pausa loop i 3 timmar - Pausa loop i 10 timmar - Koppla ifrån pump - Koppla loss pump i 15 min - Koppla loss pump i 30 min - Koppla loss pump i 1 timme - Koppla loss pump i 2 timmar - Koppla loss pump i 3 timmar - 15 min - 30 min - 1 tim - 2 tim - 3 tim - 10 tim - Återuppta - Återanslut Pump - Rapportera appstart till Nightscout Avslutar appen för att inställningarna ska läsas in. Vilken typ av insulin använder du? Aktivera superbolus i kalkylatorn Aktiverar superbolusfunktionen i kalkylatorn. Aktivera inte innan du förstått hur den fungerar. DEN KAN ORSAKA ÖVERDOSERING AV INSULIN OM INSIKT SAKNAS OM FUNKTIONEN! - Visa \"statuslampor\" på hemskärmen - Kanylålder - varning: [h] - Kanylålder - akut varning: [h] - Insulinålder - varning: [h] - Insulinålder - akut varning: [h] - Sensorålder - varning: [h] - Sensorålder - akut varning: [h] - Varningsnivå sensorbatteri [%] - Kritisk nivå sensorbatteri [%] - Batteriålder - varning: [tim] - Batteriålder - akut varning: [tim] - Varningsnivå för reservoar [U] - Akut varningsnivå för reservoar [U] - Varningsnivå för batteri [%] - Akut varningsnivå för batteri [%] Prog Bas Dev @@ -254,18 +112,12 @@ Eversense-appen. Devslope Om Behörighet saknas - Stoppa förlängd bolus Genomför profilbyte - Sensor - Insulin - Pumpbatteri - ålder: - nivå: - Larminställningar + Larminställningar Skapa aviseringar från NS-larm Skapa aviseringar från NS-meddelanden - Första varning efter [min] - Akut varning efter [min] + Första varning efter [min] + Akut varning efter [min] Intervall för autosens [tim] Antal timmar för beräkning av känslighet (absorptionstid för KH är exkluderad) OpenAPS @@ -278,23 +130,13 @@ Eversense-appen. Absorptionsinställningar Max absorptionstid för en måltid [tim] Tid i timmar när alla kolhydrater förväntas vara absorberade - APS - Upld batt Håll skärmen igång Förhindrar att skärmen stängs av. Förbrukar mer batteri. Genom att slå på Autosens funktionen, kom ihåg att skriva in alla KH. Annars kommer programmet göra fel i beräkningar av känslighet (ISF)!! WeightedAverage Alla profiler laddades inte! Alla värden sparades inte! - Aktivera lokala broadcasts - OpenAPS SMB - Aktivera UAM - Aktivera SMB - Använd Super Micro Bolusar istället för temp basal för snabbare resultat - Avkänning av oförberedda måltider (UAM) OGILTIG - Procent - Tidsförskjutning Standardmålvärden Äta snart [min] Mål vid Äta snart @@ -302,33 +144,16 @@ Eversense-appen. Mål vid träning Hypo [min] Mål vid Hypo - Återanvänd %1$d%% %2$dtim Kontrollera från klockan Sätt temp målvärde och ange behandlingar från klockan. - Systemaviseringar för larm & info Öka volymen gradvis för larm och aviseringar Lokala larm Varna om BG-data saknas Varna om pumpen inte går att nå Pumpen ses som ej nåbar efter [min] Varna om kolhydrater behövs - Akut larm - INFO - Eversense App (modifierad) - Ladda upp BG-data till Nightscout - Uppladdningsinställningar för BG Visa detaljerad delta Visa delta med en extra decimal - Minsta antal minuter mellan SMB - Max antal minuter som kan bli SMB - UAM SMB max minuter - Max antal minuter basal som kan bli SMB vid UAM - Minimigräns för KH-förslag - Gränsvärde för om systemet ska föreslå en KH-korrektion. Förslag som är mindre än detta värde kommer inte att visas som notis. - Skicka BG-data till xDrip+ - Välj \"640G/Eversense\" som datakälla i xDrip+ - NSClient BG - NS BG Använd BG Använd bolus-IOB Använd basal-IOB @@ -339,41 +164,17 @@ Eversense-appen. Använd COB Använd temp målvärde Procentuell beräkning - Loop aktiverad - APS vald - NSClient kan uppdatera Nightscout - Closed loop aktiverad - Max IOB är korrekt angivet - BG tillgängligt från vald källa - Förlängd bolus misslyckad - Använd alltid SMB - Använd alltid SMB oberoende av bolus. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. - Använd SMB efter kolhydrater - Använd SMB i 6 timmar efter kolhydrater, även med 0 COB. Endast möjligt med en bra filtrerad BG-källa, t ex Dexcom G5. - Använd SMB med kolhydrater (COB) - Använd SMB medan du har kolhydrater aktiva (COB) - Använd SMB vid temp målvärde - Använd SMB när temp mål är satt, t ex Äta snart eller Träning - Använd SMB vid högt målvärde - Aktivera SMB när det finns högt temp mål aktivt (träning, över 100 mg/dl eller 5,5 mmol/l) - Insulin Knappar Sänder kalibrering till xDrip eller öppnar kalibreringsrutan i Dexcom-appen Öppnar xDrip+ eller Dexcom-appen. Bakåtknappen återgår till AAPS Mängd kolhydrater att lägga till när man trycker på knappen Mängd insulin att lägga till när man trycker på knappen Kunde inte starta CGM-appen. Kontrollera att den är installerad. - CGM Ignorera 5 min Ignorera 15 min Ignorera 30 min - Historikläsare Skicka notis vid SMB Visa SMB på klockan som en standardbolus. - Skapa notiser vid fel - Skapa aviseringar för KH-förslag - Skapa notiser i Nightscout vid fel eller lokala meddelanden (även synliga i Careportal/Behandlingar) - Skapa Nightscout-aviseringar för KH-förslag Visa BG-prognos på klockan. BG-prognos Dataval @@ -381,8 +182,6 @@ Eversense-appen. Tillåt automatisk rapportering av appkrascher och användningsinformation till utvecklarna via fabric.io-tjänsten. Vänligen uppdatera din Dexcom-app till en supportad version Dexcom-appen är inte installerad. - Ge ingen bolus, logga bara - Bolus kommer bara att loggas. Inte levereras av pumpen SMB satt i pump Insulinaktivitet (5m) Blodglukospåverkan @@ -391,29 +190,9 @@ Eversense-appen. Aktiva KH (COB) Aktivt insulin (IOB) Basaler - Du kör nu dev-versionen. Closed Loop inaktiverat. Engineering Mode aktiverat - Pumpen kan inte hantera temp basaler - Closed Loop inaktiverat i Inställningar - Autosens inaktiverat i Inställningar - SMB inaktiverat i Inställningar - UAM är inaktiverat i inställningarna - UAM är inaktiverat eftersom det kräver Oref1 känslighetsplugin - multiplikator för max basal - multiplikator för daglig max basal En bolus gavs för mindre än 3 min sedan. Hoppar över SMB Basal justerad korrekt - Begränsar bolus till %1$.1f enheter pga %2$s - Begränsar kolhydrater till %1$d g pga %2$s - Begränsar IOB till %1$.1f pga %2$s - maxvärde i Inställningar - hård begränsning - Logga byte av kanyl - Logga byte av insulinreservoar - SMB Alltid På och SMB Efter Kolhydrater är inaktiverat pga att den aktiva BG-källan inte stöder avancerad filtrering - SMB inte tillåtet i Open Loop - Max IOB som OpenAPS inte kan överstiga [U] - Det här värdet kallas Max IOB av OpenAPS. Om denna mängd insulin on board (IOB) nås, kan inte OpenAPS lägga till mer. Max absorptionstid för kolhydrater [tim] Efter denna tid anses alla kolhydrater vara absorberade. Om det fortfarande finns COB, kommer dessa att tas bort ur beräkningen. Anteckning i behandlingsdialoger @@ -428,28 +207,16 @@ Eversense-appen. Andra snabbknabben för kolhydrater Tredje snabbknabben för kolhydrater CGM - WiFi nätverksnamn - Anslutningsinställningar - Tillåtna nätverksnamn (separerade med semikolon) - Tillåt NS-data vid roaming Max autosens ratio Min autosens ratio - Bolus snooze DIA divisor - Multiplikator för max daglig basal (max_daily) - Multiplikator för nuvarande basal (max_current) - Typ av virtuell pump - Pumpdefinition - Bolus: Steg =%1$s\nFörlängd bolus: [Steg=%2$s, duration =%3$smin -%4$sh] \nBasal: Steg=%5$s\nTempbasal: %6$s (av %7$s), duration =%8$smin -%9$sh\n%10$s Kalkyler inkluderade i resultatet Visningsinställningar Generella inställningar - Aktivera NSClient Välkommen till installationsguiden! Den kommer att hjälpa dig genom installationsprocessen\n Läs status Hoppa över installationsguiden Insticksprogrammet för känslighet används för att detektera insulinkänslighet och för att beräkning av aktiva kolhydrater, COB. För mer information, besök: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient hanterar anslutningen till Nightscout. Du kan hoppa över denna del nu, men du kommer inte att kunna passera vissa mål tills du har satt upp det. Kom ihåg: De nya insulinprofilerna kräver en duration (DIA) på minst 5 timmar. En DIA på 5-6 timmar enligt de nya profilerna är ungefär lika med DIA 3 timmar enligt de gamla insulinprofilerna. Välj en av dessa algoritmer. De sorteras från den äldsta till nyaste. Nyare algoritm är oftast mer kraftfull och mer aggressiv. Om du är ny som loopanvändare vill du förmodligen börja med AMA och inte med senaste. Glöm inte att läsa dokumentationen om OpenAPS och konfigurera algoritmen innan användning. Konfigurera din Riley Link nedan. När du har valt en Riley Link kan du fortsätta installationen när status är \"Ansluten\". Det här kan ta en minut.\n @@ -459,19 +226,6 @@ Eversense-appen. Öppna menyn Stäng menyn Inställningar för insticksprogram - Poctech - Ta emot BG-data från Poctechappen - Glunovo - Ta emot värden från Glunovo-appen - Ta emot BG-data från tomato app (MiaoMiao-enhet) - Högt målvärde höjer känsligheten - - Lågt målvärde sänker känsligheten - - Insulinresistens sänker mål-BG - Om systemet upptäcker tillfällig insulinresistens, sänk mål-BG för att på så sätt tillåta mer insulin - Insulinkänslighet höjer mål-BG - Om systemet upptäcker tillfällig insulinkänslighet, höj mål-BG för att på så sätt minska insulindoseringen Tidigare sparade inställningar hittade Behandlingsdata ofullständigt Underhållsinställningar @@ -484,61 +238,20 @@ Eversense-appen. Radera loggar En behandling (insulin: %1$.2f, kolhydrater: %2$d, tid: %3$s) kunde inte läggas till listan i Behandlingar. Vänligen kontrollera och lägg till en post manuellt vid behov. eCarbs: %1$d g (%2$d h), fördröjd i %3$d m - Ingen data tillgänglig för autosens Loggningsinställningar Återställ standardinställningar - Fel på NSClient. Överväg att starta om NSClient och Nightscout-webbplatsen. Föredraget APS-läge Skicka dagens loggfiler till utvecklarna tillsammans med denna datumstämpel. Oväntad situation. Minsta ändring som ger notifiering [%] I Open Loop-läge kommer AAPS bara att be om ändring ifall förändringen är större än detta värde. Standardvärdet är 20% == ∑ %1$s U - Logga sensorbyte till Nightscout - Tomato (MiaoMiao) - Tomato - Ditt användarnamn på Tidepool. Normalt din e-postadress - Användarnamn - Ditt Tidepool-lösenord - Lösenord - Testlogin på Tidepool - Om man slår på denna, kommer datat skickas till https://int-app.tidepool.org istället för https://app.tidepool.org - Använd Integration (test) servrar - Tidepool - TDP - Laddar upp data till Tidepool - Ladda upp CGM-data - Ladda upp behandlingar (insulin, kolhydrater) - Ladda upp temp basaler - Ladda upp profilbyten och temp mål - Ladda upp BG-test - 2 tim - Patchad Dexcom-app - Dex - Ta emot BG-värden från \"Bygg din egen Dexcom-app\". - COB kontra IOB - Bolusbegränsning tillämpad: %1$.2f U till %2$.2f U - Varning! Långsam KH-absorption upptäckt %2$d%% av tiden. Dubbelkolla din beräkning. COB kan vara väldigt missvisande och du riskerar få för mycket insulin!]]> - Direkt bolus [%] Bolusguiden utför beräkningar, men endast denna del av beräknat insulin levereras. Användbar med SMB-algoritm. - Ökar maximalt basaldos eftersom inställningen är lägre än din maximala basal i profilen - Valt: Enheter - Rensa avslutade - Rensa påbörjade - Vill du starta om målet? Du kan förlora de steg du gjort hittills. Välj enheter du vill visa värden i Nedre värdet för målområde (endast visning) Övre värdet för målområde (endast visning) - Ogiltig %-inmatning - Slumpgenerator för BG - Generera slumpmässiga BG-data (endast demo-läge) - BG - Verktyg - Visa beräkning Visa borttagna Allt data som inte synkats kommer att kastas bort. Är du säker på att du vill tömma kön? - OBS! Om du använder förlängd bolus, kommer du inte längre vara i Closed Loop under den tiden som den förlängda bolusen är igång. Vill du fortsätta? - Closed Loop-läget inaktiverat pga att en förlängd bolus är aktiv Diagrammeny SMB begärd SMB utförd @@ -550,34 +263,13 @@ Eversense-appen. Absolut insulinmängd Huvudlösenordet används för att kryptera backuper och för att åsidosätta vissa säkerhetsfunktioner i applikationen. Kom ihåg det eller förvara det på ett säkert ställe. Nuvarande huvudlösenord - Statuslampor - Kopiera inställningar från NS - Kopiera NS-inställningar (om det finns)? - Ursprungligt tema - Lågupplöst tema - Knappar visas alltid längst ned på skärmen - Stor skärm - Tema - Jämför profiler - Profilguide - Standardprofil - Nuvarande profil - Tillgänglig profil - Profiltyp - Ålder: %1$.0f TDD: %2$.0f U - Ålder: %1$.0f TDD: %2$.0f U %3$d%% - Ålder: %1$.0f Vikt: %2$.0f kg - % av basal - DPV-standardprofil Riley Link-status: Kan inte att skapa profilen. Profilen är felaktig. Döda inte min app? - Larma när det är dags att äta Dags att äta!\nKör bolusguiden igen för ny beräkning. Aktivera boluspåminnelse Uppladdning av kraschloggar inaktiverad! Graf - Diagrammeny Rensa filter Kanyl Använd värden för den största måltiden som du vanligen äter\n @@ -585,45 +277,11 @@ Eversense-appen. E-postadress Sekretessinställningar Du kan ange valfri e-postadress om du vill få meddelanden om appkrascher. Det här är ingen automatiserad tjänst. Du kommer att kontaktas av utvecklare i farliga situationer. - Full synkronisering - Full synkronisering? Det kan ta flera timmar du kommer inte att se nya data i NS förrän den är klar. - Synkronisering - Profiler, bolus, kolhydrater och temp basaler laddas upp till NS - Ladda upp data till NS - Ladda ner profiler - Synkronisera profiler från NS - Ladda ner temporära mål - Godkänn temp mål som anges genom NS eller NSClient - Ladda ner profilbyten - Acceptera profilbyten som matats in via NS eller NSClient - Ladda ner APS offline händelser - Acceptera APS Offline-händelser som matas in via NS eller NSClient - Ladda ner loggade insulindoser - Acceptera loggat insulin som matats in via NS eller NSClient (den levereras inte, endast beräknad mot IOB) - Ladda ner loggade kolhydrater - Acceptera kolhydrater som matats in via NS eller NSClient - Ladda ner loggade behandlingar - Acceptera händelser (kanyl-, insulin-, batteribyte etc) som angetts via NS eller NSClient - Ladda ner CGM-data - Acceptera CGM-data från NS - Kör %s? - Långsamma uppladdningar BG datastatus - kanylålder - slanglös pump ålder - Slanglös pump Identifiering (e-post, FB, Discord-namn etc) Identifiering inte angiven i dev-läge dialog - nuvarande BG - korrigera med % - korrigera med enheter Ej tillgängligt - graf - Kvalitet på BG-data - insulin - blodglukos - föråldrad Tempmål okänd förinställning: %1$s Avbryt temp-mål? @@ -637,23 +295,7 @@ Eversense-appen. Kalkylator:\nInsulin: %1$.2fU\nKolhydrater: %2$dg Visa post på enhet: Vald kalkylator inte längre tillgänglig. Vänligen uppdatera din bricka - Inget nytt BG-värde att basera beräkning på! - Ingen aktiv profil vald! - Okänt COB! Saknas BG eller är appen nyss omstartad? - Max KH uppnått! - Kolhydrater: %1$.2fU - COB: %1$.0fg %2$.2fU - BG: %1$.2fU - Superbolus: %1$.2fU - 15\' trend: %1$.2fU - Procent: %1$.2fU x %2$d%% ≈ %3$.2fU - Max bolus uppnått!\nKan inte leverera %1$.2fU - TempM: %1$s - %1$s till %2$s - Ingen pump tillgänglig! Okänt kommando: Procent Appens standardinställning - Logga in - diff --git a/app/src/main/res/values-tr-rTR/exam.xml b/app/src/main/res/values-tr-rTR/exam.xml index 3ccc466580..3ea04e700d 100644 --- a/app/src/main/res/values-tr-rTR/exam.xml +++ b/app/src/main/res/values-tr-rTR/exam.xml @@ -1,228 +1,2 @@ - - İES (DIA) hakkında doğru olan nedir? - İnsülin Etki Süresi (İES) - Profilinizde İES değerini ayarlamalısınız. - İzin verilen minimum değer 5 saattir. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - AAPS\'den önce pompanızda kullandığınız İES değerinin doğru olduğundan eminseniz, döngüye başladığınızda bunu değiştirmenize gerek yoktur. - İES için uygun değeri kendiniz belirlemelisiniz. - Hipo Geçici-Hedef - Hipo geçici hedef belirlemenin birincil nedeni nedir? - Yanlış bazal oranı ayarlarından kaynaklanan hipoları düzeltmek için. - Hipo tedavisinde kullanılan hızlı etkili karbonhidratların neden olduğu kan şekeri artışında, AAPS\'in aşırı düzeltme yapmasını önlemek. - Egzersizin bir sonucu olarak tetiklenen hipoyu düzeltmek için. - Halihazırda %0 geçici bazal oran çalışıyorsa, kan şekerinin düşmesini önlemek için. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - Hangi profil çevrimdışı kullanılabilir ve yapılandırılabilir? - Konu: Çevrimdışı profiller - NS Profili kullanılabilir ancak yapılandırılamaz. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - AAPS\'de Pompa bağlantısını kesme nedenleri - Pompa bağlantısı kesilirken ne yapılmalı? - Pompanın fiziksel olarak bağlantısı kesilirse insülin iletilmeyeceğinden bu gereksizdir. - AAPS\'nin, pompa fiziksel olarak bağlı değilken iletilmeyen insülini hesaba katmasını önler. - Pompa bağlı kalırsa insülin iletimini durdurmaz. - AAPS\'yi açık döngü moduna gönderir. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - AAPS Ayarları - AAPS Ayarları - Ayarlarınızı yedeklemek için en sağlıklı yöntemler nelerdir? - Ayarlarınızı not etmeniz şartıyla ayarları dışa aktarmanıza gerek yoktur. - Bir görevi tamamlamayı bitirdikten sonra ayarlarınızı dışa aktarın. - Ayarlarınızdan herhangi birini değiştirdikten sonra ayarlarınızı dışa aktarın. - İlk kurulumunuzu tamamladıktan ve Tercihlerinizi belirledikten sonra ayarlarınızı dışa aktarın. - Bakım menüsünü kullanarak ayarlarınızı yerel olarak dışa aktarın. - Ayar dosyanız, telefonunuzdaki Dahili Depolama/AAPS/tercihler klasöründe bulunur. - Tercihler dosyanızı telefonunuzun dışındaki güvenli bir konuma kopyalayın (ör. bulut sürücüsü kullanarak, bilgisayara kablo bağlayarak, e-posta vb.) - Telefonunuz hasar görürse veya kaybolursa, ayarlarınızı yedeklemeden uzaktan kurtarmanın kolay yolları vardır. - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - Gürültülü CGM Okumaları - CGM (dexcom, miaomaio vs.) verileri gürültülü ise ne yapılmalı? - Hiçbir şey yapmayın - AAPS bununla ilgilenecektir. - Olası aşırı veya düşük dozdan kaçınmak için kapalı döngüyü devre dışı bırakın. - Sürekli gürültülü veya hatalı sensörleri değiştirin. - CGM uygulamanızın sorunsuz veriler sağladığını doğrulayın. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - Egzersiz ve Profiller - Aerobik egzersiz yaparken sistemin size en iyi şekilde yardımcı olması için profilleri nasıl kullanırsınız? - %100\'ün altında bir profil geçişi yapın. - %100\'den fazla bir profil geçişi yapın. - Profili %100 olarak bırakın. - Döngüyü askıya alın. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Egzersiz ve Geçici Hedefler - Aerobik egzersiz yaparken sistemin size en iyi şekilde yardımcı olması için geçici hedefleri nasıl kullanırsınız? - Egzersize başlamadan önce uygun bir zamandan başlayarak aktivite kan şekeri hedefi belirleyin. - Egzersizi bitirdikten sonra bir aktivite kan şekeri hedefi belirleyin. - Kan şekeri hedefinizi değiştirmeden bırakın. - Kan şekeri, hipo geçici hedefinizin altına düşene kadar bekleyin ve ardından 15 g hızlı etkili karbonhidrat yiyin. - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - Döngüyü Devre Dışı bırakma/Askıya alma - Döngü devre dışı bırakıldığında/askıya alındığında insülin alır mıyım? - Evet, bazal insülin verilmeye devam ediyor. - Hayır, insülin iletimi durdurulur. - Bazal, ISF ve I:C Testi - Bu değerler ne zaman doğrulanmalıdır? - Döngüye başlamadan önce. - Sık sık yüksek veya düşük kan şekeri yaşarken. - Haftada en az bir kez. - Bir kez ayarlanıp onaylandıktan sonra bu değerler zaman içinde değişmemelidir. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - Önkoşullar - AAPS\'yi kurmak ve kullanmak için gerekenler nelerdir? - Doğrulanmış profil bilgileri (Basal, IC, ISF, DIA). - Android Studio\'nun kurulu ve yapılandırılmış olduğu bir bilgisayar. - Desteklenen bir telefon. - Kapalı devre çalıştırmayı planlıyorsanız uyumlu bir insülin pompası. - Tüm verilerin kaydını tutmak ve ayarları gözden geçirmek için Nightscout sitesi - Tidepool hesabı. - Google hesabı. - Github hesabı. - Programlama veya kod düzenleme konusunda deneyim. - MiniMed 670G pompa. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - Akıllı saat. - Desteklenen bir CGM. - Önkoşullar - AAPS\'yi kurmak ve kullanmak için gerekenler nelerdir? - Profil oluşturmak için doğrulanmış bilgiler (ISF, I:C oranı, bazal oranlar, DIA vb.). - Uyumlu bir Android cihaz (ör. cep telefonu, Android saat veya tablet). - AAPS\'in kapalı döngüde çalışması için internet bağlantısı gerekir. - Telefonda/cihazda kan şekeri değerlerini almak için desteklenen bir CGM ve uygulama. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - AAPS\'i güncelleme - Tüm doğru cevapları kontrol edin. - Git\'in bilgisayarınızda kurulu ve yapılandırılmış olması gerekir. - AAPS\'nin güncellenmiş sürümleri yayınlandığında, önceki sürümler belirli bir süre sonra uzaktan sınırlandırılabilir. - Anahtar deponuzun konumunu kaydetmeli ve not etmeli ve önceki yüklemenizde olduğu gibi güncellemeler için aynı imzalama anahtarını kullanmalısınız. - Sistem iyi çalışıyorsa asla güncelleme yapmayın. - Apk oluşturmakta zorluk çekiyorsanız, bir arkadaşınız tarafından oluşturulmuş bir apk yükleyebilirsiniz. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - Sorun giderme - AAPS ile ilgili nereden yardım alabilirsiniz? - AAPS Kullanıcıları Facebook grubundan tavsiye isteyebilirsiniz. - AAPS belgelerini okumalısınız (ve yeniden okumalısınız). - AAPS Discord\'da tavsiye isteyebilir ve teknik sorunları veya hataları bildirebilirsiniz. - Diyabet kliniğinize/endokrinoloğunuza sormalısınız. - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - İnsülin Eklentileri - Ultra-Hızlı Oref eklentisi ile hangi insülini kullanmalısınız? - Fiasp® - NovoRapid®/Novolog® - Humalog® - Actrapid®/Humulin R®/ insan insülini. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - Duyarlılık Eklentileri - Tüm doğru cevapları kontrol edin. - Duyarlılık eklentileri, AAPS\'nin insülin duyarlılığındaki geçici veya kısa süreli değişiklikleri (örneğin hormonal değişiklikler veya infüzyon bölgesinde emilim sorunları) ayarlamasına olanak tanır. - Duyarlılık eklentileri, kullanıcıya profili düzenlemek için kullanılabilecek bazal oranlar, I:C oranları ve ISF için önerilen değişiklikleri sağlar. - Bir kanül değişikliğinin kaydedilmesi, Otoduyarlılık oranını %100\'e sıfırlayacaktır. - Eklenti seçeneklerinden bazıları, kullanıcı tarafından ayarlanabilen yapılandırılabilir zaman aralıklarına sahiptir. - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/tr/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - Karbonhidrat Giriş Hataları - Yanlış bir karbonhidrat girişi yaptıysanız ne yapmalısınız? - Tedavilerdeki yanlış girişi siler ve doğru karbonhidrat değerini girerim. - İnfüzyon seti başlatma menüsünü kullanarak insülin gönderme. - Hiçbir şey yapmayın – AAPS uygun ayarlamaları yapacaktır. - Genel Bakış\'ta İnsülin (bolus) düğmesini kullanarak insülin gönderme. - İnsülin gönderme/giriş hataları - Tıkanma, başarısız bir kanül veya duştan sonra pompayı tekrar takmayı unutma v.s. nedeniyle, pompa geçmişinin önerdiğinden daha az insülin aldıysanız ne yapmalısınız? - Pompa geçmişinden çıkarmak için insülin verilerini Nightscout Bakım Portalından silin. - AAPS ve pompa geçmişindeki değerleri karşılaştırın (pompa bunu destekliyorsa). - Şırınga/kalem veya başlatma kullanarak hesaplanan \"eksik\" insülininizi bolus olarak karşılayın. - Hiçbir şey yapmayın ve AAPS\'in ortaya çıkabilecek yüksek kan şekeri seviyesini düzeltmesine müsade edin. - Aktif Karbonhidrat (AKRB) - İDF değerinin değiştirilmesi AKRB (Aktif karbonhidrat) hesaplamasını nasıl etkiler? - Artan İDF, karbonhidratların daha uzun süre emilmesini sağlayacaktır - Artan İDF, karbonhidratların daha kısa sürede emilmesini sağlayacaktır - Artan İDF, hesaplanan karbonhidrat emilimini etkilemez - Değişen Kİ değeri AKRB hesaplamasını nasıl etkiler? - Artan Kİ oranı, karbonhidratların daha uzun sürede emilmesini sağlar - Artan Kİ, karbonhidratların daha kısa sürede emilmesini sağlayacaktır - Artan Kİ oranı, hesaplanan karbonhidrat emilimini etkilemez - Değişen profil yüzdesi AKRB hesaplamasını nasıl etkiler? - Profili %150\'ye ayarlamak karbonhidratların daha uzun sürede emilmesini sağlar - Profili %150\'ye ayarlamak karbonhidratların daha kısa sürede emilmesini sağlar - Profili %150\'ye ayarlamak hesaplanan karbonhidrat emilimini etkilemez - Aktif İnsülin (AİNS) - AİNS değeri, verilen geçici bazallardan etkilenir. - Kan şekeriniz hedefin altına düştüğünde yüksek geçici bazal verilmeyecektir. - Egzersiz yapmadığınız halde uzun bir dönem için negatif AİNS, profilinizin çok güçlü olduğunu ve ayarlarınızda daha az insüline ihtiyaç duyulduğunu gösterir. - Önemli bir süre için pozitif IOB, insülin direncini veya habersiz öğünleri gösterir. - Karbonhidrat girişi ve boluslar - Tüketilen karbonhidratları tahmin etmek ve kaydetmek için sadece gram kullanılmalıdır. - Tüketilen karbonhidratlar uygun bir değişim sistemi kullanılarak kaydedilebilir (örn. DAFNE \"CHO\" değişimleri veya Avrupa \"Ekmek Birimleri\"). - AAPS, karbonhidrat \"çözünmesini\" tahmin etmek ve AKRB\'ı hesaplamak için dinamik bir model kullanır. - Kan şekeri seviyeleri kabul edilebilir değerlerin dışındaysa (çok düşük veya çok yüksek), karbonhidrat veya insülin düzeltmeleri için öneriler sağlamak için bolus hesaplayıcı kullanılabilir. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - yayma-karbonhidratlar - Y-karbonhidratları (yayma karbonhidratlar) ne için kullanabilirsiniz? - Gelecekte karbonhidratları planlamak için, muhtemelen bir aralığa dağıtılır (bir aralıkta insülin dağıtan yayma bolusa benzer). - AAPS\'den gizlemek istediğiniz \'ücretsiz\' egzersiz karbonhidratlarını kaydetmek için. - y-karbonhidratlar (gelecekte dağıtılacak) AAPS\'nin yüksek yağ/proteinli öğünlerle uğraşmasına yardımcı olabilir. - Düşük kan şekerini tedavi etmede kullandığınız kurtarma karbonhidratlarını kaydetmek için. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - Uzaktan İzleme - AAPS\'i (örneğin çocuğunuz için) uzaktan nasıl izleyebilirsiniz? - AAPSClient uygulaması, Nightscout uygulaması ve Nightscout web sayfasının tümü, AAPS\'i uzaktan takip etmenize olanak tanır. - Diğer uygulamalar (ör. Dexcom takip, xDrip) bazı parametreleri (ör. kan şekeri/sensör değerleri) uzaktan takip etmenize izin verir, ancak farklı algoritma kullanımı, hatalı AİNS veya AKRB değerlerine sebep olabilir. - AAPS\'yi uzaktan takip etmek için her iki cihazın da internet erişimine sahip olması gerekir (ör. Wi-Fi veya mobil/hücresel ağ verileri aracılığıyla). - Uzak takipçi olarak kullanılan AAPSClient, AAPS\'i hem izleyecek hem de tam kontrol sağlayacaktır. - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - İnsülin Duyarlılık Faktörü (İDF) - ISF değerlerini yükseltmek, belirli bir karbonhidrat miktarını karşılamak için daha fazla insülin verilmesine yol açacaktır. - ISF değerinin düşürülmesi, hedeflenen kan şekerinin üzerinde bir düzeltme için daha fazla insülin verilmesine yol açar. - Kan şekeri seviyeleri hedefin altında olduğunda ISF\'yi yükseltmenin veya düşürmenin insülin iletimi üzerinde hiçbir etkisi yoktur. - İDF, AAPS Tercihlerinize girilmelidir. - Profilinizdeki ISF değerini değiştirmeniz değişikliği uygulamak için yeterlidir. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - Profilinizde I:C oranı için birden fazla değer kullanabilirsiniz. - Profilinizde ISF\'nizi değiştirirseniz, her zaman I:C oranınızı da değiştirmelisiniz. - Karbonhidrat insülin Oranı (I:C oranı) - Daha yüksek I:C oranları, belirli bir miktarda karbonhidrat için daha az insülin verilmesine yol açar. - Daha düşük I:C oranları, belirli bir miktarda karbonhidrat için daha az insülin verilmesine yol açar. - 0 AKRB varsa, Kİ oranını değiştirmek, belirli bir KŞ değerini düzeltmek için farklı insülin miktarına sebep olur. - Ekmek (değişim) birimini 10g veya 12g olarak sayarsanız IC farklı olacaktır. - IC anlamı şudur: 1Ü insülin kaç ekmek birimi (değişim) kapsar. - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - Profil Değiştirme - %90\'lık bir profil değişimi belirlediğinizde hangi yanıtlar doğrudur? - Bazal oranlar %10 daha düşük olacaktır. - ISF %10 daha yüksek olacaktır. - I:C oranının değeri %10 daha düşük bir sayı olacaktır. - ISF ve I:C oranları değişmeyecektir. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch - Profil Değiştirme - %120 profil değişimi belirlediğinizde hangi yanıtlar doğrudur? - Hedef kan şekeri %20 daha yüksek olacaktır. - Bazal oranlar %20 daha yüksek olacaktır. - Hedef kan şekeri değişmeyecektir. - ISF %20 daha yüksek olacaktır. - Profil Değiştirme - Normalden 2 saat önce kalkarsanız, zaman değişikliğini AAPS\'e nasıl bildirmelisiniz? - 2 saatlik bir zaman kayması ile bir profil değişikliği başlatın - -2saatlik bir zaman kayması ile bir profil değişikliği başlatın - Yakında yemek geçici hedefi belirleyin. - %100\'den fazla bir profil değişikliği yapın. - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift - Profillerdeki değişiklikler - Profillerde bazal oranlar, ISF, I:C oranları vb. ayarlanmalıdır. - Nightscout Profilinizdeki değişiklikleri etkinleştirmek, AAPS kurulu telefonunuzun internete bağlı olmasını gerektirir. - Değerleri değiştirmek için profi düzenlemek, yapılan değişiklikleri yürürlüğe koymak için yeterlidir. - Değişen koşullara (ör. hormonal değişiklikler, vardiyalı çalışma, hafta içi/hafta sonu yaşam tarzı) uyum sağlamak için birden fazla profil ayarlanabilir ve seçilebilir. - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - Bazal oranlarla ilgili yardım - Bazal oranlar vb. ile ilgili yardım için nereye gitmeli? - Diyabet ekibiniz - Google - Facebook - Diğer ilaçlarla etkileşim. Lütfen aşağıdaki beyanı okuyun ve ardından kabul etmek için kutuyu işaretleyin. - AAPS, kan şekerini yükseltmek için bazal oranları düşürür veya insülin iletimini askıya alır. SGLT2 inhibitörleri (gliflozinler) sınıfındaki ilaçlar kan şekerindeki artışları önleyebilir ve bu nedenle DKA\'ya (Diyabetik ketoasidoz) yol açan tehlikeli bir insülin eksikliğine yol açabilir. -\nYaygın marka isimleri şunlardır: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nAAPS kullanırken bu tür ilaçları almayacağıma veya bu tür ilaçları kullanmadan önce döngüyü devre dışı bırakacağıma söz veriyorum. - + diff --git a/app/src/main/res/values-tr-rTR/objectives.xml b/app/src/main/res/values-tr-rTR/objectives.xml index 553656415c..3ea04e700d 100644 --- a/app/src/main/res/values-tr-rTR/objectives.xml +++ b/app/src/main/res/values-tr-rTR/objectives.xml @@ -1,55 +1,2 @@ - - Başlat - Doğrulayın - Görev %1$d. - Görev %1$d başlanmadı - Görev %1$d tamamlanmadı - Nightscout üzerinden izlemeyi ve görselleştirmeyi yapılandırın, bazalları ve oranlarını analiz edin - Nightscout\'ta KŞ\'nin bulunduğunu ve pompadaki insülin verilerinin yüklenmekte olduğunu doğrulayın - Açık Döngü modu başlatılıyor - Birkaç gün boyunca Açık Döngü modunda çalıştırın ve birçok geçici bazalı el yordamı ile girin. Geçici ve varsayılan geçici hedefleri düzenleyin ve kullanın (örn. egzersiz ve hipo-tedaviyi desteklemek için) - Geçici bazal tavsiyeleri de dahil olmak üzere Açık Döngüyü anlamak - Bu deneyime dayanarak, max bazalın ne olması gerektiğine karar vermeli ve bunu pompa ve tercihlere koymalısınız - Kapalı Döngü, (LGS) Düşük Glikoz Duraklatma modunda başlatılıyor - Kapalı Döngüyü, maks IOB = 0 olacak şekilde çok sayıda LGS (düşük KŞ) olmadan birkaç gün boyunca deneyin - Kapalı Döngü\'de ince ayarlar, maks (IOB) Aktif İnsülini 0\'ın üzerine yükseltme ve yavaş yavaş KŞ hedeflerini aşağıya çekme - KŞ hedefini azaltmadan önce birkaç gün ve en az bir gece düşük KŞ (Hipo) alarmı olmadan deneyin - Gerekirse, bazal ve oranları ayarlayın ve sonra auto-sens\'i (otoduyarlılık) etkinleştirin - Bir hafta boyunca düzenli karbonhidrat girdileri yaparak gün boyunca Kapalı Döngüyü çalıştırın - SMB (Super Micro Bolus) gibi gündüz kullanımı için ek özelliklerin etkinleştirilmesi - Otomasyonu etkinleştirme - (Super Micro Bolus) SMB\'lerın iyi çalışabilmesi için wiki\'yi okumalısınız ve maxIOB\'u yükseltmelisiniz! İyi bir başlangıç için maxIOB = ortalama yemek bolusu + 3 x max günlük bazaldır - Otomasyonun nasıl çalıştığına dair dokümanları okuyun. İlk basit kurallarınızı belirleyin. Eylem yerine AAPS\'in yalnızca bildirim göndermesine izin verin. Otomasyonun doğru zamanda tetiklendiğinden emin olduğunuzda, bildirimi gerçek eylemle değiştirin. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - KŞ NS\'ta mevcut - Pompa durumu NS\'ta mevcut - Manuel eylemler - Başarıldı: %1$s - AAPS\'yi nasıl kontrol edeceğinizi öğrenin - AAPS\'de farklı eylemler gerçekleştirin - Profili 10 dakika boyunca %90 olarak ayarla (Ana sayfada profil adına uzun basın) - Duşu simüle edin. 1 saat boyunca pompanın bağlantısını kesin (Açık Döngü işaretine Uzun Basın) - ... ve aynı şekilde tekrar bağlanın - 10 dakika süreyle geçici hedef oluşturun (Mevcut hedefinize uzun basın) - Konfigürasyon oluşturucuda, Eylemler eklentisini etkinleştirin, görünür yapın ve içeriğini üst menüden görüntüleyin - Döngü eklentisinin içeriğini görüntüle - KŞ tablosuna uzun basarak ölçeği değiştirebilirsiniz - Giriş - Diğer sistemlerde en az 3 aylık kapalı döngü deneyiminiz varsa, hedefleri atlamak için bir kod almaya hak kazanabilirsiniz. Ayrıntılar için https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives adresine bakın. - Kod kabul edildi - Geçersiz kod - Bilginizi sınayın - Sorulara çalışın. Her soru için size dört olası cevap verilir. Birden fazla doğru cevap olabilir. Lütfen doğru olanların hepsini kontrol edin ve DOĞRULA\'yı seçin. - Yanıtlama devre dışı bırakıldı: %1$s - Yanlış Cevap! - Tamamlanmayan bir sonraki - Kod: %1$s - (tüm doğru cevapları kontrol edin) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - İnternete bağlı değil - Geri almada hata - Görev gereksinimleri karşılanmadı - + diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index f72514b8fa..3f1d7c7239 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -3,55 +3,25 @@ - Tedavi güvenliği - Maks izin verilen bolus [U] - Maks izin verilen karbonhidrat [g] - KŞ seviyesi altında düşük glikoz duraklatma meydana gelir %1$s Tercihler Tercihler NS\'tan tedavileri güncelle Veritabanlarını sıfırla Veritabanlarını gerçekten sıfırlamak istiyor musunuz? Çıkış - Ortak özelliklere hızlıca erişmek için bazı düğmeler Aktif eklentileri yapılandırmak için kullanılır - Eğitim programı Döngüyü tetikleyen uygulamayı etkinleştirin veya devre dışı bırakın. - Nightscout ile verilerinizi senkronize eder - 2017\'da algoritmanın durumu - İleri düzey kullanıcılar için en yeni algoritma - Dinamik/otomatik İDF ile ileri düzey kullanıcılar için en yeni algoritma Döngünüzün mevcut durumunu ve en yaygın eylemler için düğmeleri görüntüler Döngü\'ün ne yaptığını kısa bir genel bakışla devam eden bir bildirimi gösterir - Henüz herhangi bir sürücüye sahip olmayan pompalar için pompa entegrasyonu (Açık Döngü) Duyarlılık, Oref0 ile aynı şekilde hesaplanır, ancak geçmişe yönelik zaman aralığı belirleyebilirsiniz. Minimum karbonhidrat emilimi, tercihlerden maksimum karbonhidrat emilim süresinden hesaplanır. Duyarlılık, geçmişteki 8 veya 24 saatlik verilerden (hangisi daha hassas ise) hesaplanır. Karbonhidratlar (emilmemişse) tercihlerde belirtilen süreden sonra kesilir. Eklenti ayrıca UAM\'ı da (bildirilmemiş öğünler) hesaplar. Duyarlılık, sapmalardan ağırlıklı bir ortalama olarak hesaplanır. Daha yeni sapmalar daha yüksek ağırlığa sahiptir. Minimum karbonhidrat emilimi, tercihlerden maksimum karbonhidrat emilim süresinden hesaplanır. Bu algoritma, hassasiyet değişikliklerini takip etmede en hızlı olanıdır. - Yamalı Eversense uygulamasından KŞ değerleri alır. - Glimp\'ten KŞ değerleri alır. - 600SeriesAndroidUploader\'dan KŞ değerleri alır. - Nightscout\'tan KŞ verilerini yükler - XDrip+\'ten KŞ değerlerini alır. Yapılan tüm tedavileri kaydeder WearOS saatinizi kullanarak AAPS\'yi izleyin ve kontrol edin. - Şimdi Çalıştır - SANAL POMPA - Son Çalıştırma - Girdi Parametreleri - Glikoz durumu - Mevcut Geçici Bazal - AİNS Verisi - Profil - Yemek Verisi - Sonuç - Sonuç: %1$s %2$s - Glikoz verisi yok - İstek Delta Konfigürasyon ayarları Genel Bakış Tedaviler - Sanal pompa Pompa Hangi pompa ile AAPS kullanmak istersiniz? Profil @@ -61,34 +31,20 @@ Genel Kullanışlı bulabileceğiniz bazı genel eklentiler. Hangi kısıtlamaları uygula? - Kısıtlamalar Döngü AAPS\'nin döngü entegrasyonunu etkinleştirmek için bunu kullanın. APS İşlenmiş kısıtlamalardan sonra Pompa tarafından ayarlanan geçici bazal SEÇİLEN VEYA SAĞLANAN SONUCU APS YOK - Güvenlik - Eklenti devre dışı Kısıtlamalar ihlali - Yeni geçici bazal oranını kabul et: Girişinizi değiştirin! KŞ kaynağı AAPS verilerini nereden alsın? - xDrip+ - APS modu - Kapalı Döngü - Açık Döngü - Düşük Glikoz Duraklatma (LGS) Yeni öneri mevcut Karbonhidrat Önerisi - Nightscout\'un desteklenmeyen sürümü - Karb. zamanı Profil - Geçici Bazal - Yayma Bolus Nightscout sürümü: - %1$d g eksik Tercihler dışa aktarıldı Kullanıcı Girişleri dışa aktarıldı Ayarları aktar @@ -97,12 +53,7 @@ Dosya bulunamadı Dışarı aktarma ayarları İçe aktarma ayarları - Maks Ü/s geçici Bazal ayarlanabilir - Bu değer OpenAPS\'te \"maksimum bazal\" olarak adlandırılır - OpenAPS\'in gönderebileceği maksimum bazal AİNS (Aktif insülin) [U] - Bu değere OpenAPS bağlamında Maks AİNS denir.\nAPS\'de bir kerede verilebilen maksimum insülin [U] ü. Dışa aktarılan tercihleri şifrelemek için kullanılacak ana parola sorulacaktır. - İçe aktarılan tercihlerin şifresini çözmek için gerekli olan ana parola sorulacaktır. Aktarım iptal edildi! Tercihler dışa aktarılmadı! Aktarım iptal edildi! Tercihler içe aktarılmadı! Tercihler içe aktarılamıyor! @@ -122,7 +73,6 @@ ANLADIM VE KABUL EDİYORUM Kaydet Profili yeniden yükle - Hızlı Asistan Hızlı asistan ayarları Buton Metni: Karbonhidrat: @@ -130,16 +80,9 @@ Ekle Düzenle Düzeltme - Eylemler (DEVRE DIŞI BIRAKILMASI TEHLİKELİ) Yalnızca NS yüklemelerinde Yalnızca NS yüklemesi (senkronizasyon devre dışı). xDrip+ gibi yerel bir kaynak seçilmediği sürece SGV üzerinde etkili değildir. NS-Profili kullanılırken Profiller üzerinde etkili değildir.\n!!! UYARI !!! Bileşenlerinizden herhangi biri (AAPS, NS, xDrip+) yanlış yapılandırılmışsa, bu seçeneğin devre dışı bırakılması arızalara ve aşırı insülin dozuna neden olabilir. AAPS tarafından görüntülenen verilerin pompa durumuyla eşleşip eşleşmediğini dikkatlice izleyin! Pompa başlatılamadı! - Hazırla/doldur - Lütfen miktarın infüzyon setinizin özelliklerine uygun olduğundan emin olun! - Hazırla/doldur standart insülin miktarları - Buton 1 - Buton 2 - Buton 3 Birim Görselleştirme Aralığı Genel bakış ve akıllı saat göstergesi için yüksek ve düşük değerler @@ -148,109 +91,22 @@ Wear Tüm verileri yeniden gönderin Ayarları Wear\'da açın - Bazal oranı - MM640g Sürekli Bildirim ESKİ VERİ - OpenAPS AMA - %1$d öğelerin dizisi.\nGerçek değer: - Otoduyarlılık verileri - Skriptte hata ayıkla - Otoduyarlılık özelliğini kullan - EYLEM KONF DÖNGÜ - OAPS - DYNISF GİRİŞ - VPOMP TEDAVİ - GRV WEAR Kısa sekme başlıkları - Her zaman basit delta yerine kısa ortalama delta kullan - xDrip+ gibi filtrelenmemiş kaynaklardan gelen veriler gürültülü olduğunda kullanışlıdır. - Varsayılan değer: 3 Bu OpenAPS için önemli bir güvenlik ayarıdır. Maksimum bazal Iob\'u, en büyük bazal oranınızın üç katı (varsayılan olarak) ile sınırlar. Genel olarak, bu değeri değiştirmemelisiniz. Ama \"3x max günlük, 4x şuan\" ın bir güvenlik ayarı olarak ne anlama geldiğini bilmelisiniz. - Varsayılan ayar: 4 Bu, OpenAPS güvenlik ayarlarının diğer yarısı ve \"3x max günlük, 4x akım\" güvenlik korumasının diğer yarısıdır. Bu, başlangıç değerinizin, pompada ayarlanan taban maksimum değerinizden bağımsız olarak, mevcut bazal seviyenin bu sayısından daha yüksek olamayacağı anlamına gelir. Bu, insanların, algoritmanın nasıl çalıştığını anlamadan temel çizgiyi büyük ölçüde artırarak kendilerini tehlikeli durumlarda bulmalarını engellemektir. Varsayılan ayar 4x\'dir; Çoğu insan bu ayarları asla değiştirmek zorunda kalmayacak, ancak bu güvenlik sınırına yakınsa diğer terapi ayarlarını ayarlamalıdırlar. - Varsayılan değer: 1.2\nOtoduyarlılık (yakında otoayar) çarpanı. Varsayılan değere %20 maksimum limit atamak, otoduyarlılığın bazalları ne kadar yüksek ayarlayabileceğini, ISF ve KŞ hedefini de ne kadar düşük ayarlayabileceğini belirler. - Varsayılan değer: 0.7\nBu otoduyarlılık için diğer güvenlik önlemidir. Otoduyarlılığın bazal oranlarını ne kadar düşürebileceğini ve İnsülin Duyarlılık Faktörü ve KŞ hedeflerini ne kadar yüksek tutabileceğini gösterir. - Otoduyarlılık, hedefleri de ayarlar - Varsayılan değer: true\nBu otoduyarlılığın İnsülin Duyarlılık Faktörü ve bazallara ek olarak KŞ hedeflerinin ayarlanmasında kullanılır. - Varsayılan değer: 2\nYemek bolusu yaptıktan sonra bolus erteleme devreye girer, bu nedenle döngü, yeni yemek yediğinizde düşük geçici bazallar-hedefler ile etkileşime girmez. Buradaki örnek ve varsayılan 2\'dir; bu nedenle 3 saatlik bir İES, bolus ertelemenin kademeli olarak 1,5 saat (3İES/2) üzerinden aşamalı olarak sonlandırılacağı anlamına gelir. - Varsayılan değer: 3.0 (AMA) Gelişmiş Yemek Asistanı veya 8.0 (SMB) Super Micro Bolus. Bu 5 dakika başına varsayılan karbonhidrat emilimi için bir ayardır. Standart değer AMA için 3mg/dl/5dk aynı şekilde SMB 8mg/dl/5dk dir. -Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden daha fazla düştüğü veya beklenildiği kadar yükselmediği zamanlarda gelecekte yapılacak tahminlerde KŞ\'nin hesaplanmasında ne kadar karbonhidrat emilimi gerçekleşeceğini öngörür. - Dikkat!\nNormalde aşağıdaki bu değerleri değiştirmek zorunda değilsiniz. Lütfen burayı TIKLAYIN ve metni OKUYUN ve bu değerlerden herhangi birini değiştirmeden önce ANLADIĞINIZDAN emin olun. - Yürütülüyor - Sanal pompa ayarları - Nightscout\'a durum aktar - NSClient - NSCl - URL: - Otomatik kaydırma - Yeniden başlat - NSClient - Nightscout URL - Nightscout URL adresinizi girin - Nightscout API Key - Nightscout API Anahtarı - Nightscout API anahtarını girin (min. 12 Karekter) - Simdi ilet - Sırayı temizle - Sırayı göster - Sıra: - Durum: - Günlüğü temizle - NSCLIENT yazma izni yok. Yanlış API Anahtarı? Wear ayarları başarısız - lütfen telefonu kontrol edin - Hasta tipi - Çocuk - Ergen - Yetişkin - Yetişkin İnsülin direnci - Hamile - Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin Hasta Adı Lütfen çoklu kurulumlar arasında ayrım yapmak için hasta adı veya takma ad belirleyin - Glimp - Döngüyü 1saat duraklat - Döngüyü 2saat duraklat - Döngüyü 3saat duraklat - Döngüyü 10saat duraklat - Pompayı ayırın - 15 dakika boyunca pompayı ayırın - 30 dakika boyunca pompayı ayırın - 1 saat boyunca pompayı ayırın - 2 saat boyunca pompayı ayırın - 3 saat boyunca pompayı ayırın - 15 Dk. - 30 Dk. - 1 Saat - 2 Saat - 3 Saat - 10 Saat - Devam et - Pompayı tekrar bağla - NS\'a uygulama başlangıcını kaydet Ayarları uygulamak için uygulamadan çıkılıyor. Hangi tür insülin kullanıyorsunuz? Sihirbazda süperbolusu etkinleştir Bolus sihirbazında süperbolus işlevselliğini etkinleştirin. Gerçekten ne yaptığınızı öğrenene kadar etkinleştirmeyin. BİLİNÇSİZ KULLANILDIĞINDA AŞIRI DOZ İNSÜLIN VERİLEBİLİR! - Ana ekranda durum ışıklarını göster - Kanül ömrü uyarısı belirle (saat) [h] - Kritik kanül ömrü (saat) [h] - İnsülin ömrü uyarısı belirle (saat) [h] - Kritik insülin ömrü (saat) [h] - Sensör ömrü uyarısı (saat) [h] - Kritik sensör ömrü (saat) [h] - Sensör pili seviye uyarısı [%] - Kritik sensör pili [%] - Pompa pil ömrü uyarısı (saat) [h] - Kritik pompa pili (saat) [h] - Rezervuar seviye uyarısı (ünite) [U] - Kritik rezervuar seviyesi (ünite) [U] - Pompa pil seviye uyarısı [%] - Kritik pompa pili seviyesi [%] TAHMİN BAZAL SAPMA @@ -260,18 +116,12 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d EĞİMSAPMA Hakkında Telefon durumu izni eksik - Yayma Bolusu iptal et Profil Değişimi Yap - Sensör - İnsülin - Pompa pili - yaş: - seviye: - Alarm türleri + Alarm türleri NS alarmlarından bildirimler oluşturun NS duyurularından bildirimler oluşturun - Eski veri eşiği [min] - Acil durum verileri eşiği [min] + Eski veri eşiği [min] + Acil durum verileri eşiği [min] Otoduyarlılık süresi [h] Duyarlılık tespiti için geçmesi gereken süre (saat) miktarı (karbonhidrat emilim süresi hariç) OpenAPS @@ -284,27 +134,13 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Emilim ayarları Besinin maksimum emilim süresi [h] Yemekteki tüm karbonhidratların emilmesinin beklendiği saat cinsinden süre - OAPS - UPLD Ekranı açık tut Android\'in ekranı kapatmasını önleyin. Prize takılı değilken çok fazla enerji tüketir. Otoduyarlılık özelliğini açarsanız tüm yenen karbonhidratları girmeyi unutmayın. Aksi halde, karbonhidrat sapmaları duyarlılık değiştikçe yanlış tanımlanacaktır!! Ağırlıklı ortalama duyarlılık Tüm profiller yüklenmedi! Değerler kaydedilmedi! - Diğer uygulamalara (xDrip+ gibi) yayınları etkinleştirin. Yüklü birden fazla APPS veya AAPSClient örneğiniz varsa etkinleştirmeyin! - Yerel yayınları etkinleştirin. - OpenAPS SMB - Dinamik İDF - DinamikİDF Ayar Faktörü % - DinamikİDF için ayarlama faktörü. Daha agresif düzeltme dozları için %100\'den fazla ve daha az agresif düzeltmeler için %100\'den az ayarlayın. - UAM etkinleştir - SMB (Super Micro Bolus) etkinleştir - Daha hızlı bir etki için geçici bazal yerine Super Micro Bolus kullanın - (Uam) Bildirilmemiş öğünlerin tespiti GEÇERSİZ - Yüzde - Zaman kaydırma Varsayılan Geçici hedefler yakında ye süresi yakında ye hedefi @@ -312,33 +148,16 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d aktivite hedefi hipo süresi hipo hedefi - %1$d%% %2$dh\'yi yeniden kullan Saat tarafından kontrol Tedavileri ve Geçici hedefleri saat tarafından girin. - Uyarılar ve bildirimler için sistem bildirimlerini kullan Uyarılar ve bildirimler için ses seviyesini kademeli olarak artırın Yerel uyarılar KŞ bilgisi alınmadığında uyar Pompa ulaşılamıyorsa uyar Pompa ulaşılamaz eşiği [dk] Karbonhidrat gerekliyse uyar - Acil önemli Alarm - BİLGİ - Eversense App (yamalı) - KŞ verilerini NighScout\'a yükle - KŞ yükleme ayarları Ayrıntılı delta göster Deltayı bir ondalık basamakla daha göster - Kaç dakikada bir SMB verilebilecek - SMB\'yi sınırlamak için maksimum bazal dakika - UAM SMB maks. dakika ayarı - UAM da SMB\'yi sınırlamak için maksimum bazal dakika - Gerekli Minimum Karbonhidrat Önerisi - Bir karbonhidrat öneri uyarısı görüntülemek için minimum karbonhidrat gramı. Bu sayının altındaki karbonhidrat önerileri bildirilmeyecektir. - XDrip+\'a KŞ verilerini gönder - Xdrip+ içerisinde 640g/Eversense veri kaynağı seç - Nightscout Client KŞ - NS KŞ KŞ Hesaplaması Bolus AİNS hesaplaması Bazal AİNS hesaplaması @@ -349,41 +168,17 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d AKRB (Aktif Karbonhidrat) hesaplaması Geçici hedef hesaplaması Yüzde Hesaplaması - Döngü etkin - APS Seçildi - NSClient\'in yazma izni var - Kapalı mod etkin - Maksimal AİNS doğru şekilde ayarlandı - Seçili kaynaktan KŞ kullanılabilir - Yayma bolus iletim hatası - SMB\'yi her zaman etkinleştir - SMB\'yi her zaman bağımsız olarak boluslarla etkinleştirin. G5 gibi verilerin yalnızca filtrelenmesiyle yalnızca KŞ kaynağıyla mümkündür - Yemeklerden sonra SMB\'yi etkinleştir - 0 AKRB (Aktif Karbonhidrat) olsa dahi, karbonhidrat alındıktan sonra 6 saat süreyle SMB\'yi (Süper Mikro Bolus) etkinleştirir. Şayet KŞ kaynağıyla kullanılacaksa verilerin iyice filtrelenmesiyle (Dexcom G5-G6 gibi) mümkündür. - SMB\'yi AKRB ile etkinleştir - AKRB (Aktif Karbonhidrat) aktif olduğunda SMB\'yi (Süper Mikro Bolus) etkinleştirin. - Geçici hedeflerle SMB\'yi etkinleştir - Geçici hedef aktif olduğunda SMB\'yi etkinleştir (yakında yeme, egzersiz) - Yüksek geçici hedeflerle SMB\'yi etkinleştir - Yüksek geçici hedef aktif olduğunda SMB\'yi etkinleştirin (egzersiz, 100 mg/dl veya 5.5 mmol/l\'nin üzerinde) - İnsülin Butonlar xDrip+\'a bir kalibrasyon gönderir veya BYODA kalibrasyon iletişim kutusunu açar xDrip+ veya BYODA\'yı açar, geri dönme düğmesi AAPS\'ye döndürür Butona basıldığında eklenecek karbonhidrat sayısı Butona basıldığında eklenecek insülin miktarı CGM uygulaması başlatılamadı. Yüklendiğinden emin olun. - CGM 5dk yoksay 15dk yoksay 30dk yoksay - Geçmiş tarayıcısı SMB\'ye (Super Micro Bolus) bildir Saatte SMB\'yi (Super Micro Bolus) standart bir bolus gibi göster. - Hatalardan duyurular oluştur - Karbonhidrat gerekli uyarılarından duyurular oluşturun - Hata diyalogları ve yerel uyarılar için Nightscout anonsu oluşturun (Tedaviler altında Bakım portalında da görüntülenebilir) - Karbonhidrat gerekli uyarılarından Nightscout duyuruları oluşturun Saat arayüzü üzerindeki tahminleri göster. Tahminler Veri seçenekleri @@ -391,8 +186,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Geliştiricilere, fabric.io hizmeti aracılığıyla otomatik kilitlenme raporlaması ve özellik kullanım verilerinin gönderilmesine izin verir. Lütfen Dexcom uygulamanızı desteklenen sürüme güncelleyin Dexcom uygulaması yüklü değil. - Bolusu sadece kayıt altına al - Bolus yalnızca kaydedilecektir (pompa ile iletilmez) SMB (Supermicroboluses) pompa tarafından verildi Aktivite Kan Şekeri Etkisi @@ -401,32 +194,11 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Aktif Karbonhidrat Aktif İnsülin Bazallar - Geliştirici sürümü çalışıyor. Kapalı Döngü devre dışı. Geliştirici modu etkinleştirildi - Pompa geçici bazal özellikli değil - Kapalı Döngü tercihlerde devre dışı bırakıldı - Otoduyarlılık tercihlerde devre dışı bırakıldı - SMB tercihlerde devre dışı bırakıldı - UAM tercihlerde devre dışı bırakıldı - UAM (UnAnnounced Meals), Oref1 duyarlılık eklentisine bağlı olduğu için devre dışı bırakıldı - maks bazal çarpanı - maks günlük bazal çarpan Son 3 dakika içerisinde bir bolus gönderildi, SMB (Super Micro Bolus) atlandı Bazal doğru ayarlanmış - %2$s\'den dolayı yayma bolus %1$.1f Ü ile sınırlandırılıyor - %2$s\'den dolayı karbonhidratlar %1$d g ile sınırlandırılıyor - %2$s\'den dolayı AİNS %1$.1f Ü ile sınırlandırılıyor - tercihlerde maksimum değer - sert sınır - İnfüzyon seti değişimini kaydet - Rezervuar değişimini kaydet - Aktif KŞ kaynağı gelişmiş filtrelemeyi desteklemediği için SMB (Super Micro Bolus) her zaman ve karbonhidratlardan sonra devre dışı bırakıldı - Açık Döngü modunda SMB\'ye (Super Micro Bolus) izin verilmiyor - OpenAPS tarafından aşılamayacak maksimum toplam AİNS (Aktif İnsülin)[U] - Bu değer OpenAPS bağlamında Max AİNS (Aktif İnsülin) olarak adlandırılır\nOpenAPS, mevcut AİNS bu değerden daha büyükse daha fazla insülin vermez Besinin maksimum emilim süresi [h] Herhangi bir öğünün emildiği kabul edilen zaman. Kalan karbonhidratlar kesilecek. - Altına düştüğünde insülinin askıya alındığı KŞ değeri. Varsayılan değer, standart hedef modeli kullanır. Kullanıcı değeri 60mg/dl (3,3mmol/l) ile 100mg/dl(5.5mmol/l) arasında ayarlayabilir. 65/3,6\'nın altındaki değerler varsayılan modelin kullanılmasına neden olur Tedavi diyaloglarında not alanını göster İleri Önceki @@ -439,33 +211,17 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d İkinci karbonhidrat artışı Üçüncü karbonhidrat artışı CGM - Mobil veri kullan - Wi-Fi bağlantısı kullan - WiFi SSID - Şarj olurken - Pilde - Bağlantı Ayarları - İzin verilen SSID (noktalı virgülle ayrılmış) - Roaming bağlantıya izin ver Maks. otoduyarlılık oranı Min. otoduyarlılık oranı - Bolus erteleme dia bölen - Maks günlük güvenlik çarpanı - Mevcut bazal güvenlik çarpanı - Sanal pompa tipi - Pompa tanımı - Bolus: Adım=%1$s\nYayma Bolus: [Adım=%2$s, Süre=%3$sdk-%4$ssa]\nBazal: Adım=%5$s\nTBR: %6$s (ile %7$s), Süre=%8$sdk-%9$ssa\n%10$s Sihirbaz sonucuna dahil edilen hesaplamalar: Görüntü Ayarları Genel Ayarlar - NSClient etkinleştir Kurulum sihirbazına hoş geldiniz. Kurulum işleminde size rehberlik edecektir\n Durum oku Kurulum sihirbazını atla AAPS\'ın bazal değişiklikleri önerme/yapmasını sağlamak için aşağıdaki düğmeye basın Duyarlılık eklentisi, duyarlılık tespiti ve AKRB hesaplaması için kullanılır. Daha fazla bilgi için ziyaret edin: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NSClient, Nightscout\'a bağlantıyı sağlar. Şimdi bu kısmı atlayabilirsiniz, ancak ayarlamadan görevleri geçemezsiniz. Lütfen unutmayın: yeni insülin profilleri en az 5 saat DIA gerektirir. Yeni profildeki DIA 5–6 saat, eski insülin profillerinde DIA 3saat\'e eşittir. Mevcut algoritmalardan birini seçin. En eskiden en yeniye doğru sıralanırlar. Yeni algoritma genellikle daha güçlü ve daha agresiftir. Bu nedenle, yeni bir kullanıcı iseniz, muhtemelen en sonuncusu ile değil, AMA ile başlayabilirsiniz. OpenAPS belgelerini okumayı ve kullanmadan önce yapılandırmayı unutmayın. Lütfen aşağıda RileyLink\'inizi yapılandırın. Bir RileyLink seçtikten sonra, RileyLink durumu \"Bağlandı\" olduğunda kuruluma devam etmek mümkün olacaktır. Bu bir dakika sürebilir.\n @@ -475,21 +231,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Navigasyonu aç Navigasyonu kapat Eklenti tercihleri - Poctech - Poctech uygulamasından KŞ değerlerini alır - Glunovo - Glunovo uygulamasından değerler alır - Intelligo - Intelligo uygulamasından değerler alır - KŞ değerlerini Tomato uygulamasından (MiaoMiao Cihazından) al - Yüksek geçici hedefler duyarlılığı artırır - = 100]]> - Düşük geçici hedefler duyarlılığı azaltır - - Direnç hedefi düşürür - Direnç tespit edildiğinde KŞ hedefini düşürün - Duyarlılık hedefi yükseltir - Hassasiyet tespit edildiğinde, KŞ hedefini yükseltin Öğeleri kaldır Öğeleri sırala Saklanan ayarlar bulundu @@ -505,64 +246,22 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Kayıtları Sil Tedavilere (insülin: %1$.2f, karbonhidrat: %2$d, %3$s) şeklinde bir tedavi eklenemedi. Lütfen kontrol edin ve uygun şekilde elle bir kayıt ekleyin. yKarb: %1$d g (%2$d sa), gecikme: %3$d dk - Otoduyarlılık verileri mevcut değil Günlük dosyaları Diğer Ayarlar Günlük ayarları Varsayılanlara sıfırla - NSClient arızası. NS ve NSClient yeniden başlatmayı düşünün. Tercih edilen APS modu Bu günün kayıt dosyalarını geliştiricilere gönderin. Beklenmedik bir durum. Minimum istek değişikliği [%] Açık Döngü, yalnızca değişiklik % cinsinden bu değerden büyükse yeni değişiklik isteğini açar. Varsayılan değer %20\'dir == ∑ %1$s Ü - Sensör değişimlerini NS\'a kaydet - Sensör başlangıcında otomatik olarak NS\'de \"Sensör Değişimi\" olayı oluştur - Tomato (MiaoMiao) - Tomato - Tidepool oturum açma kullanıcı adınız, normalde e-posta adresiniz - Kullanıcı adınınız - Tidepool şifreniz - Giriş Parolası - Tidepool girişini test et - Etkinleştirilirse, yüklemeler https://app.tidepool.org/ yerine https://int-app.tidepool.org adresine gider - Entegrasyon (test) sunucularını kullanın - Tidepool - TDP - Tidepool\'a veri yükler - SGİ (CGM) verilerini yükle - Tedavileri yükleyin (insülin, karbonhidratlar) - Geçici bazalları yükleyin - Profil değişimlerini, geçici hedefleri yükleyin - KŞ testlerini yükleyin - 2sa - BYODA - BYODA - \'Kendi Dexcom Uygulamanızı Oluşturun\' uygulamasından KŞ değerlerini alın. - AKRB vs AİNS - Bolus kısıtlaması uygulandı: %1$.2f Ü ile %2$.2f Ü - !!!!! Yavaş karbonhidrat emilimi tespit edildi: zamanın %2$d%% si. Hesaplamanızı iki kez kontrol edin. Aktif Karbonhidrat (AKRB) olduğundan fazla tahmin edilebilir, bu nedenle daha fazla insülin verilebilir !!!!!]]> - Bolus sihirbazı sonucunun bu kadarını ilet [%] Bolus sihirbazı hesaplamayı gerçekleştirir ancak hesaplanan insülinin yalnızca bu kısmı iletilir. SMB algoritması ile kullanışlıdır. - Profilinizdeki maksimum bazal değeriniz düşük olduğu için maksimum bazal değeri artırma - Seçildi: Birim - Komple tamamlandı - Yeniden Başla - Görevleri sıfırlamak istiyor musunuz? Tüm yaptıklarınızı kaybedeceksiniz. Değerleri görüntülemek istediğiniz birimleri seçin Aralıktan daha düşük değer (sadece görüntüle) Aralıktan daha yüksek değer (Sadece görüntüle) - Geçersiz % giriş - Rastgele KŞ - Rastgele KŞ verileri oluşturun (Yalnızca demo modunda) - - Araçlar - Hesaplamayı göster Kaldırılanları göster Kuyruk temizlensin mi? Kuyruktaki tüm veriler kaybedilecek! - Yayma bolus özelliğinin kullanılması, yayma bolus çalıştırıldığı süre boyunca kapalı döngü modunu durduracaktır. Gerçekten istiyor musunuz? - Yayma bolus çalıştığı için kapalı döngü devre dışı bırakıldı Grafik menüsü SMB (Super Micro Bolus) zamanı SMB (Super Micro Bolus) uygulama süresi @@ -575,36 +274,15 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Mutlak insülin Ana parola, yedekleme şifrelemesi ve uygulamanın güvenliği için kullanılır. Bu parolayı unutmayın ve güvenli bir yerde saklayın. Geçerli ana parola - Durum ışıkları - Ayarları NS\'den kopyala - NS ayarları kopyalansın mı (varsa)? - Orjinal görünüm - Düşük çözünürlüklü görünüm - Butonlar her zaman ekranın altında görüntülenir - Büyük ekran - Görünüm - Profilleri karşılaştırın - Profil yardımcısı - Varsayılan profil - Mevcut profil - Kullanılabilir profil - Profil tipi - Yaş: %1$.0f GTD: %2$.0f Ü - Yaş: %1$.0f GTD: %2$.0f Ü %3$d%% - Yaş: %1$.0f Ağırlık: %2$.0f kg - % bazalın - DPV Varsayılan profil RileyLink durumu: Profil oluşturulamıyor. Profil geçersiz. Uygulamamı devre dışı bırakma? - Yemek zamanı alarmı çalıştır Yemek zamanı!\nBolus sihirbazını çalıştırın ve yeniden hesaplama yapın. Bolus hatırlatıcıyı etkinleştir Sihirbazla daha sonra bolus için hatırlatıcı kullanın (\"bolus sonrası\") Çökme günlükleri yükleme devre dışı bırakıldı! Grafik - Grafik menüsü Filtreyi temizle Kanül Genellikle yediğiniz en büyük yiyeceğin değerlerini kullanın\n @@ -612,48 +290,12 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d E-posta adresi Gizlilik ayarı Uygulama çökmeleri hakkında bilgilendirilmek istiyorsanız isteğe bağlı e-posta adresi sağlayabilirsiniz. Bu otomatik bir hizmet değildir. Tehlikeli durumlarda geliştiriciler sizinle iletişime geçecektir. - Tam senkronizasyon - Tam senkronizasyon? Birkaç saat sürebilir ve bitene kadar NS\'ta yeni veriler göremeyeceksiniz. - Senkronizasyon - Profiller, boluslar, karbonhidratlar, geçici bazallar NS\'a yüklenir - Verileri NS\'a yükleyin - Profil deposunu al - NS profil düzenleyicisinden profilleri senkronize edin - Geçici hedefleri al - NS veya NSClient aracılığıyla girilen geçici hedefleri kabul edin - Profil değişimlerini al - NS veya NSClient aracılığıyla girilen profil değişimlerini kabul edin - APS çevrimdışı olaylarını alın - NS veya NSClient aracılığıyla girilen APS çevrimdışı olaylarını kabul edin - GBO ve EB (Yayma Bolus) alın - Başka bir örnek üzerinden girilen GBO ve EB (Yayma Bolusu) kabul edin - İnsülinleri alın - NS veya NSClient aracılığıyla girilen insülini kabul edin (iletilmez, yalnızca AİNS\'e göre hesaplanır) - Karbonhidratları alın - NS veya NSClient aracılığıyla girilen karbonhidratları kabul edin - Terapi etkinlikleri alın - NS veya NSClient aracılığıyla girilen tedavi olaylarını (kanül, insülin, pil değişimi vb.) kabul edin - SGİ (CGM) verilerini alma/doldurma - NS\'tan SGİ (CGM) verilerini kabul edin - Yürüt %s? - Yüklemeleri yavaşlat KŞ veri durumu KŞ okumalarını kaldır - kanül yaşı - yama pompa yaşı - Yama pompa Tanımlama (E-posta, FB veya Discord rumuz vs.) Tanımlama geliştirme modunda ayarlanmadı diyalog - geçerli kan şekeri - % ile doğru sonuç - ünite ile doğru sonuç Mevcut değil - grafik - kan şekeri kalitesi - insülin - kan şekeri - güncel değil Geiçici hedef bilinmeyen ön ayarı: %1$s Çalışan Geçici-Hedefler iptal edilsin mi? @@ -668,22 +310,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Hesap Mak.:\nİnsulin: %1$.2fÜ\nKarb: %2$dg Girişi cihazda göster: Seçili hızlı asistan artık mevcut değil, lütfen kutucuğu yenileyin - Hesaplamayı temel alacak yeni bir KŞ yok! - Etkin profil ayarlanmadı! - Aktif karbonhidrat (AKRB) bilinmiyor! KŞ okuması eksik veya son uygulama yeniden başlatılsın mı? - Karbonhidrat kısıtlaması ihlali! - Hesap (KİO: %1$.1f, İDF: %2$.1f) - Karb: %1$.2fÜ - AKRB: %1$.0fg %2$.2fÜ - KŞ: %1$.2fÜ - AİNS: %1$.2fÜ - Süperbolus: %1$.2fÜ - 15\' trend: %1$.2fÜ - Yüzde: %1$.2fÜ x %2$d%% ≈ %3$.2fÜ - İnsülin kısıtlaması ihlali!\n%1$.2fÜ iletilemez - GeçiciH: %1$s - %1$s - %2$s - Pompa mevcut değil! Bilinmeyen eylem komutu: Yüzde Uygulama varsayılanı @@ -692,13 +318,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d Sırala Döngü durumu Grafik ölçeği - Profil 1 - Profil 2 - Giriş - Tümünü kaldır - Başlatmayı sıfırla ayarları aç - karbonhidrat zamanlayıcı alarmı kur Tümü Telefon Saat @@ -706,14 +326,7 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d sadece telefonda sürükle ve bırak kolu Ara - - GlucoRx Aidex - Aidex - GlucoRx Aidex CGMS\'den KŞ değerleri alır. - Şarj seçenekleri tarafından engellendi - Bağlantı seçenekleri tarafından engellendi (Saat Bağlı Değil) - Duyarlılığı ve KŞ\'ni ayarlayın Veritabanı temizleme Veritabanını temizlemek istiyor musunuz?\nİzlenen değişiklikleri ve 3 aydan eski geçmiş verileri kaldıracak. Temizlenen girişler diff --git a/app/src/main/res/values-zh-rCN/exam.xml b/app/src/main/res/values-zh-rCN/exam.xml index 4ddb8f29fe..3ea04e700d 100644 --- a/app/src/main/res/values-zh-rCN/exam.xml +++ b/app/src/main/res/values-zh-rCN/exam.xml @@ -1,182 +1,2 @@ - - 关于DIA(胰岛素作用持续时间)哪些是对的? - 胰岛素作用持续时间 ( DIA) - 您应该在个人配置文件中设置胰岛素敏感系数DIA的值。 - 允许的最小值为 5 小时。 - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin - 您应该为自己确定 DIA 的适当值。 - 低血糖临时目标 - 设定低血糖临时目标的主要原因是什么? - 纠正由于基础率设置不准确而引起的低血糖事件。 - 纠正由于运动引起的低血糖事件。 - 在已设定0%临时基础率的基础上,进一步防止血糖降低。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html - 哪些配置文件可以离线使用和配置? - 主题: 离线配置文件 - NS 文件可以使用,但不能配置 。 - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile - 泵断开连接时我们应做些什么? - 这是没有必要的,如果胰岛素泵物理断开,胰岛素会无法输注。 - 如果胰岛素泵保持连接,就不会停止胰岛素输注。 - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings - 备份设置的最佳办法是什么? - 你不需要导出你的设置,只要你对它们做了记录。 - 在实现一个目标后导出您的设置。 - 在更改您的任何设置后导出您的设置。 - 在您完成初始化并设置了您的偏好选项后导出您的设置。 - 使用维护菜单导出您的本地设置。 - 您的设置文件可以在手机上的文件夹内部存储/AAPS/preferences中找到。 - 将您的首选项文件复制到手机以外的安全位置(如使用云盘,用数据线传到计算机,电子邮箱等等) - 如果您的手机损坏或丢失,在没有备份的情况下可以轻松的远程恢复您的设置。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me - CGM数据噪音 - 如果 CGM 数据有噪声,我们应该怎么办? - 禁用闭环功能以避免胰岛素过量或不足。 - 更换持续产生噪音或不准确数据的传感器。 - 验证您的CGM应用程序是否提供了平滑数据。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data - 运动和配置 - 你如何使用配置文件来最好地帮助APS系统处理有氧运动? - 请执行低于100%的配置文件切换。 - 请执行高于100%的配置文件切换。 - 将配置文件设置为100%。 - 暂停闭环。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - 运动和临时目标 - 你如何使用临时目标功能来最好地帮助APS系统处理有氧运动? - 在开始运动之前,选一个合适的时间设置活动血糖目标。 - 在运动结束之后,设置活动血糖目标。 - 让你的血糖目标保持不变。 - 等血糖值低于你的低血糖警戒线之后,吃15克速升的活性碳水合物。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target - 禁用/暂停闭环 - 在禁用/暂停闭环时,我是否接收了胰岛素输注? - 是的,胰岛素基础率仍在继续输注。 - 不,胰岛素停止输注。 - Basal基础率,ISF胰岛素敏感系数,I:C或ICR碳水化合物系数的测试 - 什么时候需要修订这些值? - 在开始闭环之前。 - 当经常出现高血糖或低血糖时。 - 每周至少一次。 - 一旦设置和验证,这些值不应随着时间而变化。 - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings - 先决条件 - 已验证配置文件的信息 (Basal, IC, ISF, DIA)。 - 一台安装和配置了Android Studio软件的计算机。 - 一部支持此应用的手机。 - 一个兼容的胰岛素泵,如果您计划运行闭合模式。 - Nightscout, 以保存所有数据的日志和检查设置。 - Tidelpool账户。 - Google 账户 - GitHub 账户 - 编程或编辑代码方面的经验。 - 一台 MiniMed 670G 泵。 - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - 一个智能手表. - 受支持的CGM血糖监测产品 - 先决条件 - 验证参数信息用于个人配置文件(如ISF胰岛素敏感度系数、I:C胰岛素碳水比率、基础率、DIA胰岛素作用持续时间等等)。 - 兼容的Android 设备 (例如:手机、安卓原生系统手表,或平板电脑)。 - 一台安装了动态血糖监测应用或兼容软件的手机/设备,用于接收血糖数据。 - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html - 选择所有正确的答案. - 您需要在您的计算机上安装和配置Git。 - 您应该保存并记住密钥的存储位置,并使用相同地签名密钥进行更新,与您以前的安装一样。 - 如果该系统运作良好,就不要去更新系统。 - 如果您在构建应用时遇到困难,您可以安装一个由朋友构建的应用程序。 - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch - 疑难解答 - 您应该问您的糖尿病诊所/内分泌专家。 - https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting - https://www.facebook.com/groups/AndroidAPSUsers/ - https://discord.gg/4fQUWHZ4Mw - 胰岛素插件 - 在超速效Oref插件中你应该使用哪种胰岛素? - Fiasp®速效门冬胰岛素(超速效) - 诺和锐®/门冬胰岛素® - 优泌乐®赖脯胰岛素 - 诺和灵®/优泌林 R®/\"常规\"人胰岛素 - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin - 敏感度插件 - 选择所有正确的答案。 - 灵敏度插件为用户提供basal基础率,I:C碳水化合物系数和ISF胰岛素敏感系数的更改建议,可用来编辑配置文件。 - 记录输注导管更换会将Autosens比率重置回100%。 - 一些插件选项具有可配置的时间范围,可由用户设置。 - https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html - https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens - 碳水化合物输入错误 - 如果您输入了不正确的碳水化合物,该怎么办? - 删除治疗数据中的错误条目,并重新输入正确的碳水值。 - 使用主菜单地输注功能输注大剂量胰岛素。 - 使用首页概览中的胰岛素(输注) 按钮输注大剂量胰岛素。 - 胰岛素输注/记录错误 - 如果你实际吸收的胰岛素少于泵的历史记录你应该做些什么?例如:由于堵塞、插管失败或淋浴后忘记重新连接泵? - 从Nightscout护理门户删除胰岛素数据,将其从泵的历史记录中删除。 - 通过注射器或胰岛素笔输注你计算出的“遗漏”胰岛素的一部分。 - 活性胰岛素(IOB) - 活性胰岛素IOB数值受发布的临时基础率影响。 - 当您的血糖低于目标值时,不会被给予高临时基础率。 - 在没有运动的情况下,活性胰岛素IOB长时间负数表明你的个人配置太强,你需要在配置中减少的胰岛素用量。 - 长时间活性胰岛素IOB数值过高,表示可能存在胰岛素抵扣,或者没有记录的饮食。 - 碳水记录和胰岛素输注 - 只能使用克来估算和记录消耗的碳水化合物。 - 消耗的碳水化合物可以使用适当地交换份系统 (例如:正常饮食剂量调整DAFNE的“碳水化合物量CHO” 或者 欧洲“面包单位Bread Units”)进行记录。 - 如果血糖水平超出可接受值(过低或过高),则可以使用大剂量向导计算器提供碳水化合物或胰岛素的校正建议。 - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u - 扩展碳水化合物 - 你能使用碳水时间偏移功能 (扩展碳水化合物) 做什么? - 计划今后的碳水化合物,可以在未来一段时间内分布碳水值(类似于在一段时间内分配胰岛素的扩展大剂量功能)。 - 用于记录治疗低血糖的碳水化合物。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html - 远程监控 - 其他应用(如Dexcom follow、以follow模式运行的xDrip)允许您远程关注某些参数 (如血糖/传感器值),但由于使用不同的算法,可能会有不准确的IOB或COB值。 - https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html - 胰岛素敏感系数(ISF) - 提高ISF值将导致更多的胰岛素输注,以消化特定数量的碳水化合物。 - 降低ISF值会导致更多的胰岛素输注,用于纠正高于目标的血糖值。 - 当血糖水平低于目标值时,提高或降低ISF对胰岛素输送没有影响。 - 更改配置文件中的胰岛素敏感系数值要在可以实现的范围内。 - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html - 在个人配置文件中可以使用一个以上的I:C比率。 - 如果你在个人配置文件中修改了你的胰岛素敏感系数ISF,你也应该经常改变你的I:C比率。 - 胰岛素与碳水化合物的比率(I:C比率) - 对于定量的碳水化合物,更高的I:C比率会导致胰岛素输注减少。 - 对于定量的碳水化合物,更低的I:C比率会导致胰岛素输注减少。 - 如果你的活性碳水化合物数值为0,改变IC比率将导致使用不同的胰岛素剂量来校正给定的血糖值。 - 如果你将面包单位(交换份) 计算为10克或12克,那么碳水系数IC比率将不同。 - IC 的含义是:1单位胰岛素可以覆盖多少面包单位 (交换份) 。 - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u - 配置文件切换 - 当指定一个90%的配置文件切换时,哪些答案是正确的? - 基础率会降低10%。 - 胰岛素敏感系数ISF值将提高10%。 - 胰岛素与碳水化合物的比率I:C比率的值将降低10%。 - 胰岛素敏感系数ISF和胰岛素碳水比率I:C将保持不变。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#profile-switch - 配置文件切换 - 当指定一个120%的配置文件切换时,哪些答案是正确的? - 血糖的目标值将提高20%。 - 胰岛素基础率会提高20%。 - 血糖的目标值将保持不变。 - 胰岛素敏感系数ISF值将提高20%。 - 配置文件切换 - 以增加2小时的方式,启动个人配置文件切换 - 以减少2小时的方式,启动个人配置文件切换 - 设置一个马上吃饭,临时的血糖目标值。 - 将配置文件切换到100%以上。 - https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#timeshift - 修改配置文件 - Basal基础率,ISF胰岛素敏感系数,I:C碳水化合物系数等,应该在配置文件中设定。 - 编辑配置文件进行参数的修改,足以适应任何变化。 - 可以设置和选择多个配置文件,以适应不断变化的环境(例如激素变化、轮班工作、工作日/周末生活方式)。 - https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy - 帮助调整基础率 - 去哪里寻求胰岛素基础率等方面的帮助。 - 你的糖尿病团队 - 谷歌 - Facebook - 其他药物。请阅读下面的声明,然后勾选接受声明。 - + diff --git a/app/src/main/res/values-zh-rCN/objectives.xml b/app/src/main/res/values-zh-rCN/objectives.xml index a1d81abfcb..3ea04e700d 100644 --- a/app/src/main/res/values-zh-rCN/objectives.xml +++ b/app/src/main/res/values-zh-rCN/objectives.xml @@ -1,53 +1,2 @@ - - 开始 - 验证 - %1$d.目标 - 目标 %1$d 未开始 - 目标 %1$d 未完成 - 设置可视化的连续血糖监测系统,并且分析胰岛素基础率和比率。 - 验证Nightscout中血糖(BG) 数据可用,并且泵的胰岛素数据正在上传。 - 开始开环 - 在开环模式下运行几天,手动设定多次临时基础率。设置临时目标默认值并使用临时目标功能(例如,在运动或低血糖补充碳水化合物时) - 了解你的开环,包括它的临时基础率建议 - 基于使用开环的经验,决定基础率的最大值,在胰岛素泵和AAPS的参数选项上设置它 - 从低血糖维持模式(用于测算基础率) 开始闭环功能 - 设置最大活性胰岛素IOB=0,在闭环的低血糖维持模式下运行几天,确保没有太多的低血糖事件 - 优化闭环,逐渐增加活性胰岛素IOB的最大值,并逐渐降低血糖的目标值 - 运行几天,至少一个晚上没有低血糖报警,然后才可以继续调低血糖的目标值 - 必要时调整胰岛素基础率和比率,然后再启用auto-sens胰岛素敏感系数自动调整功能 - 规律的进行碳水记录,成功在一个星期的白天开启闭环 - 在白天启用额外的功能,例如微型大剂量 SMB - 启用自动操作功能插件 - 你应该阅读wiki指南,以调整 maxIOB(活性胰岛素的最大值) 设置,让SMB(微型大剂量) 更好的工作。建议是 maxIOB值=餐时剂量的平均值+基础率的最大值的3倍。 - 阅读有关自动操作插件的说明文档,设定你的第一个简单规则。让AAPS只显示通知,而不是操作。当您确定自动操作在正确的时间触发时,用真实操作代替通知。(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) - 血糖在NS中可用 - 泵状态在 NS 中可用 - 手动执行 - 已完成: %1$s - 将个人配置文件设置为90%持续10分钟 (长按首页概览左上角的配置文件名称) - 模拟淋浴。 将泵断开连接1个小时(长按开环图标) - ... 然后以同样的方式重新连接 - 创建具有 10 分钟持续时间的定制临时目标 (当前目标上长按 ) - 在配置生成器中启用Actions(常用操作) 插件,使其可视并在顶部菜单显示其内容 - 显示闭环插件的内容 - 长按血糖图来使用缩放功能 - 输入 - 如果您有至少3个月的其他系统闭环经验,您可能有资格获得跳过学习目标的代码。参见 https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for details。 - 已接受代码 - 代码无效 - 证明你的知识 - 研究这些问题。每个问题都有四个可能的答案。答案可能不止一个。请选择所有正确的选项,然后点击验证。 - 禁止答题,直到: %1$s - 错误答案! - 下一个未完成的 - 请求码: %1$s - (选择所有正确的答案) - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder - https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen - 未连接到网络 - 时间同步失败 - 未满足目标要求。 - + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 4260d41ddc..20ae575c9b 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3,86 +3,44 @@ - 治疗安全 - 允许的最大大剂量值[U] - 最大允许碳水化合物 [g] %1$s 首选项 参数选项 从Nightscout刷新治疗数据 重置数据库 你真的想重置数据库吗? 退出 - 一些快速访问常用功能的按钮 用于配置活动插件 - 学习计划 激活或停用这个工具触发闭环。 - 将数据与 Nightscout 同步 - 算法的状态在2017年 - 最新的适合高级用户的算法 - 面向高级用户的最新算法,可以动态/自动调整ISF胰岛素敏感系数 显示闭环的当前状态和大多数常用操作的按钮 显示持续的通知, 其中简要概述了您的闭环正在做什么 - 与我们还没有其驱动的泵集成(开环) 灵敏度的计算方式与 Oref0 相同, 但可以指定过去的时间范围。碳水化合物吸收最小值是根据参数选项里的碳水化合物吸收时间最大值计算得来的 根据过去的8小时或24小时数据计算胰岛素灵敏度(使用更敏感的数据)。碳水化合物(如果没有被吸收)则在首选项中指定的时间后被核减。插件还计算UAM。 灵敏度计算根据偏差的加权平均值。新的偏差有更高的权重。碳水化合物吸收最小值是根据参数选项里的碳水化合物吸收时间最大值计算得来的好。此算法在敏感度变化后最快。 - 从 Eversense 补丁app接收血糖值。 - 从 Glimp 接收血糖值。 - 从美敦力600Series 的AndroidUploader 接收血糖值。 - 从 Nightscout 下载 血糖数据 - 从 xDrip+ 接收血糖值。 保存所做的所有治疗 - 现在运行 - 虚拟泵 - 上一次运行 - 输入参数 - 血糖状态 - 当前临时基础率 - IOB活性胰岛素数据 - 配置文件 - 膳食数据 - 结果 - 结果: %1$s %2$s - 没有可用的血糖数据 - 请求 增量 配置生成器 首页概览 治疗 - 虚拟泵 胰岛素泵 配置文件 APS 哪个 APS 算法应该用于治疗调整? 一般 这些是一些一般的插件, 你可能会觉得有用。 + 同步 应用了哪些约束条件? - 约束条件 闭环 APS 通过约束条件之后 通过泵设置临时基础率 APS没有被选择或者提供结果 - 安全性 - 插件已禁用 违反约束条件 - 接受新的临时基础率 更改您的输入! 血糖来源 - xDrip+ - APS模式 - 闭环 - 开环 - 低血糖维持模式 新的建议可用 碳水建议 - 不支持的 Nightscout 版本 - 碳水时间 配置文件 - 临时基础 - 扩展大剂量 Nightscout 版本: - 缺少 %1$d 克 参数选项导出了 用户条目已导出 导出配置 @@ -91,12 +49,7 @@ 找不到文件 导出配置 导入配置 - 临时基础率可以设置的最大值(U/小时) - 这个值在 OpenAPS被称为最大基础率 - OpenAPS通过基础率可以输注的IOB活性胰岛素的最大值[U] - 这个值在OpenAPS中被成为最大IOB\n这是APS单次可以输注的胰岛素的最大值[U] 请您输入主密码,该密码将用于加密导出的首选项配置。 - 请您输入主密码,该密码将用于解密导入的首选项配置。 导出已取消!首选项未导出! 导入已取消! 未导入首选项 ! 无法导入首选项 ! @@ -116,7 +69,6 @@ 我理解并同意 保存 重新加载配置文件 - 快速向导 快速向导设置 按钮文本: 碳水: @@ -124,16 +76,9 @@ 添加 编辑 矫正 - 手动操作 (禁用很危险) NS仅上传 NS只上传数据(禁用同步)。除非选择本地血糖数据如xDrip+否则此功能无效。使用NS网站配置文件时此功能无效。\n!!!警告!!!如果您的任何组件(AAPS,NS,xDrip+) 配置错误,禁用此选项可能导致故障和胰岛素过量。请仔细观察AAPS显示的数据是否与泵状态匹配! 泵未初始化! - 充盈 - 请确保数量和输液器里的药量匹配 - 输注/充盈标准胰岛素剂量 - 按钮1 - 按钮2 - 按钮3 单位 可视化范围 在智能手表上的图表上的高值和低值标记 @@ -142,108 +87,22 @@ 手表 重新发送所有数据 在手表上打开设置 - 基础率 - 美敦力640g 持续的的通知 旧数据 - OpenAPS AMA - %1$d 元素的数组. \n 实际值: - Autosens 数据 - 脚本调试 - 使用Autosens功能 - 操作 配置 闭环 - OpenAPS - 动态ISF 主页 - 虚拟泵 治疗 - 目标 手表 标题名称缩写 - 总是使用短时间的平均增量代替简单增量 - 当血糖数据未经过滤时,如xDrip+数据嘈杂,此功能非常有用。 - 默认值: 3 这是一个关键的 OpenAPS 安全阀值。这是限制你的闭环可以最大扩张3倍的日最大基础率。你可能不需要改变这个值 但你应该这个值的含义。日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值 - 默认值: 4 这是另一个的关键 OpenAPS 安全阀值, 日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值。这意味着你的基础率, 无论你的泵上的最大基础率设置的多少,也 不能超过你的当前基础率的4倍。这是为了防止人们在了解该算法的工作原理之前进入危险的领域 。同样, 默认值为 4倍; 大多数人将永远不需要调整, 而是更有可能需要调整其他设置, - 默认值: 1.2 \n 这是 autosens 的安全阀值 对 autosens ( 很快autotune) 比率的高值设置最大增加20%% 最大限制, 这反过来决定了 autosens 可以调整的基础率的上限值, 可以调整的胰岛素敏感系数的下限值, 以及它可以设置血糖目标的下限值。 - 默认值: 0.7 \n  这是autosens 的另一个安全阈值, 。这个值决定了 autosens 可以调整的基础率的下限值, 可以调整的胰岛素敏感系数的上限值, 以及它可以设置血糖目标的上限值。 - Autosens自动调整胰岛素敏感系数时,也调整血糖目标值 - 缺省值:是\n 这是用来允许 autosens调整血糖目标,还有 ISF胰岛素敏感系数和基础率这些参数。 - 默认值: 2 \n大剂量snooze是在输注餐时大剂量后开始生效的, 所以在你刚吃完饭的时候, 闭环不会因为你输注了大剂量而减少或停基础。这里的例子和缺省是 2; 因此, 3 小时的DIA(胰岛素持续作用时间) 意味着大剂量snooze将逐步在1. 5小时 (3 DIA/2) 后失效。 - 默认值: 3.0 (AMA) 或者 8.0 (SMB)。这是默认的每5分钟碳水化合物吸收量。默认值为3毫克/dl/5 分钟。 当血糖的下降超过预期时, 或者不像预期的上升的那么多时,这个值就影响了活性碳水化合物的衰减速度, 以及在计算预测未来血糖时假设的碳水化合物吸收量, - 注意! \n 正常地您不必在下面更改这些值。请点击这里, 阅读说明, 并确保您了解它之前不要更改任何这些值。 - 正在执行 - 虚拟泵设置 - 将状态上传到 NS - NSClient - NSCIient - URL网址: - 自动滚动 - 重新启动 - NSClient - Nightscout URL(网址) - 输入您的 Nightscout URL(网址) - NS API 密钥 - NS API 密钥 - 输入 NS API 密钥 (最少12个字符) - 立即输注 - 清除队列 - 显示队列 - 队列: - 状态: - 清除日志 - NSCLIENT 没有写权限。可能是NS的 API 密钥输错了? 手表设置 未成功-请检查手机 - 患者类型 - 儿童 - 青少年 - 成人 - 胰岛素抵抗成人 - 孕妇 - 请选择患者类型,以设置安全限制 患者名称 请提供患者姓名或昵称来区分多个设置 - Glimp - 暂停闭环一个小时 - 暂停闭环2个小时 - 暂停闭环3个小时 - 暂停闭环10个小时 - 断开泵连接 - 与泵断开连接15分钟 - 与泵断开连接30分钟 - 与泵断开连接1个小时 - 与泵断开连接2个小时 - 与泵断开连接3个小时 - 15 分钟 - 30 分钟 - 1 小时 - 2 小时 - 3 小时 - 10 小时 - 恢复 - 重新连接泵 - 记录app启动事件到NS服务器 正在退出应用程序以应用设置。 你使用哪种类型的胰岛素? 在向导中启用超级大剂量 在向导中启用 superbolus超级大剂量 功能。不要启用, 直到你了解它真正的用法。如果盲目使用, 可能会导致胰岛素过量! - 在主屏幕上显示状态指示灯 - 输注导管状态灯警示阈值[小时] - 输注导管状态灯临界阈值[小时] - 胰岛素状态灯警示阀值[小时] - 胰岛素状态灯临界阀值[小时] - 传感器状态灯警示阀值[小时] - 传感器状态灯临界阀值[小时] - 传感器剩余电量状态灯警示阀值[百分比] - 传感器剩余电量状态灯临界阀值[百分比] - 胰岛素泵电池使用时长状态灯警示阀值[小时] - 胰岛素泵电池使用时长状态灯临界阀值[小时] - 储药器药量低于阈值[U] 警告 - 储药器药量低于阈值[U] 严重警告 - 胰岛素泵剩余电量状态灯警示阀值[百分比] - 胰岛素泵剩余电量状态灯临界阀值[百分比] 预测 基础率 偏差 @@ -253,18 +112,12 @@ DEVSLOPE 关于 缺少手机状态权限 - 取消扩展大剂量 配置文件切换 - 传感器 - 胰岛素 - 泵电池 - 年龄: - 剩余: - 报警选项 + 报警选项 创建来自NS报警的通知 创建来自NS公告的通知 - 陈旧数据阈值 [min] - 紧急陈旧数据阈值 [min] + 陈旧数据阈值 [min] + 紧急陈旧数据阈值 [min] Autosens间隔的 [h] 灵敏度检测过去的小时数 (排除碳水化合物吸收时间) OpenAPS @@ -277,25 +130,13 @@ 食物吸收设置 膳食最大吸收时间 [h] 预计膳食中所有的碳水化合物被吸收的时间,以小时为单位 - OpenAPS - UPLD 保持屏幕常亮 阻止 Android 系统关闭手机屏幕。这将非常耗电 如果要打开 Autosense功能, 记住输入所有吃的碳水化合物。否则碳水化合物的偏差将被识别为错误的灵敏度变化!! 灵敏度 WeightedAverage 配置文件加载不完整 值没有被存储 - 启用本地广播。 - OpenAPS SMB - 动态ISF(胰岛素敏感系数) - 动态ISF的调整因子。设置100%以上用于更积极的校正,100%以下则不那么积极校正。 - 启用 UAM - 启用微型大剂量 - 使用微型大剂量代替使用临时基础率,更快的干预 - 检测未输入的膳食 无效 - 百分比 - 时间偏移 默认的临时目标 很快吃饭 持续时间 很快吃饭 临时血糖目标 @@ -303,33 +144,16 @@ 运动临时目标 持续时间短 低目标 - 重新使用%1$d%% %2$d小时 从手表上控制 设置临时目标并从手表中进行治疗操作。 - 对警报和通知使用系统通知音 逐渐增加警报和通知的音量 本地警报 如果未收到血糖数据, 则发出警报 如果无法连接泵, 则发出警报 泵无法连接的时间阈值[min] 当需要碳水化合物时发出提醒 - 紧急报警 - 信息 - Everyang App (补丁) - 将 数据血糖数据上传到 NS服务器 - 血糖上传设置 显示详细的增量 增量再多显示一个小数位 - 以分钟为单位设置SMB(微型大剂量) 的频率 - 基础率的最大分钟数限制SMB微型大剂量到 - UAM(未通知膳食) SMB(微型大剂量) 最大分钟数 - 监测到UAM(未通知膳食) 后启用SMB(微型大剂量) 替代基础率的最大分钟数 - 碳水化合物需求建议的最小值 - 显示碳水化合物需求警告的最小克数。低于此数值的碳水化合物需求不会触发通知。 - 将血糖数据发送到 xDrip + - 在 xDrip + 选择640g/Eversense 数据源 - NSClient 血糖 - NS血糖 血糖计算 大剂量IOB (活性胰岛素) 计算 基础率IOB (活性胰岛素) 计算 @@ -340,41 +164,17 @@ COB计算 临时目标血糖计算 百分比计算 - 闭环启用了 - APS已选择 - NSClient 具有写入权限 - 闭环模式启用了 - 合理地设置最大 IOB - 所选的血糖值来源的血糖是可用的 - 扩展大剂量(方波) 输注错误 - 始终启用 SMB - 启用SMB微型大剂量,总是独立于常规大剂量。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 - 在输入碳水化合物后启用SMB - 在输入碳水化合物后,启用SMB微型大剂量6个小时,即使活性碳水化合物COB为0。 可能只能使用带有良好的数据过滤功能的血糖值来源。例如G5 - 启用带活性碳水化合物的SMB - 当有活性碳水化合物时启动SMB - 启用带有临时目标的SMB - 当临时目标处于活动状态时启用 SMB (很快吃饭, 运动) - 启用具有高临时目标的 SMB - 当激活较高的临时目标时,启用SMB微型大剂量(目标血糖大于100 mg/dl或5.5 mmol/l) - 胰岛素 按钮 将校准发送到xDrip+或打开BYODA校准对话框 打开xDrip+或BYODA应用时,返回键将返回到AAPS应用 按下按钮时添加的碳水化合物数量 按下按钮时添加的胰岛素量 无法启动 CGM 应用程序。 请确保已安装。 - CGM 忽略5分钟 忽略 15分钟 忽略30分钟 - 历史浏览 在 SMB 上通知 在手表上像显示常规大剂量一样显示SMB微型大剂量 - 创建错误公告 - 从碳水需求警报创建NS公告 - 为错误对话框和本地警报创建Nightscout公告(在治疗标签下的护理记录里也可查看) - 为碳水化合物需求警报创建Nightscout网站的公告 在手表的表盘上显示预测 预测 数据选择 @@ -382,8 +182,6 @@ 允许通过fabric.io服务将自动崩溃报告和功能使用数据发送给开发人员。 请将您的 dexcom app 更新为支持的版本 未安装德康app。 - 不打大剂量,只记录 - 仅记录大剂量数值(泵不会输注) 通过泵设置SMB微型大剂量 活动 血糖影响 @@ -392,29 +190,9 @@ 活性碳水化合物 活性胰岛素 基础率 - 正在运行开发版本,闭环被禁用了 已启用工程模式 - 这个泵无法设置临时基础率 - 在参数选项中禁用了闭环模式 - Autosens 在参数选项中被禁用了 - SMB微型大剂量在参数选项里被禁用了 - UAM 在参数选项中被禁用了 - UAM被禁用, 因为它依赖于 Oref1 敏感都插件 - 最大基础率倍数 - 最大日基础率倍数 在最近3分钟内输注了大剂量,正在忽略SMB微型大剂量 正确地设置基础率 - 由于 %2$s, 将扩展大剂量限制为 %1$.1f U - 由于 %2$s, 将碳水化合物限制为 %1$d 克 - 由于 %2$s, 将 IOB(活性胰岛素) 限制为 %1$.1f U - 在参数选项里的最大值 - 硬限制 - 记录泵管路更换 - 记录胰岛素储药器变化 - SMB always and after carbs disabled 因为实时的血糖来源不支持高级筛选 - 在开环模式下不允许使用SMB-微型大剂量 - OpenAPS的IOB活性胰岛素总数的最大值不能超过[U] - 该值在OpenAPS中称为最大 IOB\n如果当前IOB大于此值,则OpenAPS不会输注更多胰岛素 膳食最大吸收时间 [h] 任何膳食被认为完全吸收的时间。 剩余的碳水化合物将被忽略 在治疗对话框中显示备注字段 @@ -429,28 +207,16 @@ 第二碳水化合物增量 第三碳水化合物增量 CGM - WiFi SSID - 连接设置 - 允许的 SSIDs (分号分隔) - 允许在漫游中连接 最大 autosens 比率 最小 autosens 比率 - 大剂量snooze 胰岛素持续作用时间除数 - 最大日基础率安全倍数 - 当前基础率安全倍数 - 虚拟泵类型 - 泵定义 - 大剂量: Step=%1$s\n扩展大剂量: [Step=%2$s, 持续时间=%3$smin-%4$sh]\n基础率: Step=%5$s\nTBR临时基础率: %6$s (by %7$s), 持续时间=%8$smin-%9$sh\n%10$s 包含在向导中的计算结果: 显示设置 常规设置 - 启用 NSClient 欢迎使用设置向导。它将指导您完成设置过程 \n 读取状态 跳过设置向导 灵敏度插件用于灵敏度检测和碳水化合物计算。有关详细信息, 请访问: https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - NS客户端可以处理与Nightscout的连接。您可以先跳过这一部分,但在设置NS参数前,你无法通过学习计划的目标。 请记住:新的胰岛素分布需要DIA至少5小时。 对于新的配置文件,DIA 5-6小时相当于旧胰岛素配置文件中的DIA 3小时 从可用算法中选择一个。 他们从最旧到最新排序。 较新的算法通常更强大,更冒险。 因此,如果你是新的闭环使用者,你可能会从AMA算法开始,而不是最新的。 不要忘记在使用之前阅读OpenAPS文档并对其进行配置。 在下面配置你的RileyLink 。选择RileLink后,一旦RileLink状态为“已连接”,就可以继续安装。这可能需要一分钟。\n @@ -460,19 +226,6 @@ 打开导航栏 关闭导航栏 插件选项 - Poctech - 从 Poctech app 接收血糖值。 - Glunovo - 从Glunovo应用接收血糖数据。 - 从番茄app(喵喵设备) 接收血糖值 - 高临时目标增加灵敏度 - =100 mg/dl (5.5 mmol/l) 时提高灵敏度]]> - 低临时目标降低灵敏度 - - 抗药时降低目标 - 当检测到胰岛素抵抗时,降低血糖的目标值。 - 敏感时提高目标 - 当检测到胰岛素敏感时,提高血糖的目标值。 删除项目 项目排序 发现曾经保存过的设置 @@ -487,61 +240,20 @@ 删除日志 一个治疗 (胰岛素: %1$.2f, 碳水: %2$d, 在: %3$s)不能被添加到治疗里。请检查并手动记录是合适的。 eCarbs: %1$d 克 (%2$d h), 延迟: %3$d 分钟 - Autosens 数据不可用 日志设置 重置为默认值 - NSClient故障。 考虑Nightscout和NSClient重启。 首选的APS模式 发送包括当前时间的今日的日志文件给开发者。描述一下意外情况 最小请求更改[%] 开环状态下,算法建议的基础率调整百分比大于此数值时,才会弹出更改建议。默认值为20% == ∑ %1$s U - 记录传感器更换至NS服务器 - 番茄(喵喵) - 番茄 - 你的Tidepool登录用户名,通常是你的邮件地址 - 登录用户名 - 登录密码 - 登录密码 - 测试Tidepool登录 - 如果启用,则上载将转到https://intapp.tidepool.org,而不是常规https://app.tidepool.org/。 - 使用集成(测试)服务器 - Tidepool - TDP - 数据上传到Tidepool - 上传CGM数据 - 上传治疗方案(胰岛素,碳水化合物) - 上传临时基础率 - 上传配置文件切换,临时目标 - 上传血糖值 - 2小时 - BYODA德康补丁版(构建你自己的德康应用Build Your Own Dexcom App) - BYODA - 从德康补丁版接收血糖数据(Build Your Own Dexcom App)。 - 活性碳水vs活性胰岛素 - 大剂量约束应用为: %1$.2f U 到 %2$.2f U - !!!!! 检测到碳水化合物吸收缓慢:%2$d%%的时间。再次检查你的计算。COB可能被高估,因此可以给予更多胰岛素!!!!!]]> - 输注大剂量向导结果的一部分[%] 大剂量向导执行计算,但只有这部分计算结果的胰岛素被输注。适用于SMB算法。 - 增加最大基础率,因为设置参数低于你配置文件中的最大基础率 - 已选择: 单位 - 清除已完成 - 清除已启动 - 你想要重置已启动的目标? 你会失去已有的进度。 选择你想要的血糖显示单位。 血糖范围区域的下限值(仅显示,不影响算法) 血糖范围区域的上限值(仅显示,不影响算法) - 输入的百分比无效 - 随机血糖 - 生成随机血糖数据(仅限demo演示模式) - 血糖 - 工具 - 显示计时器 显示已删除 清除队列? 队列中的所有数据都将丢失! - 在使用扩展大剂量(方波) 功能期间将停止闭环功能。你真的想要启用吗? - 由于运行扩展大剂量而禁用了闭环 图表菜单 SMB 请求时间 SMB持续时长 @@ -554,34 +266,13 @@ 胰岛素绝对值 主密码用于备份和安全性加密,它优先于其他功能模块的密码,请牢记它或储存在安全的地方。 当前主密码 - 状态指示灯 - 从NS复制设置 - 复制 NS 设置(如果存在的话)? - 原始皮肤 - 低分辨率皮肤 - 按钮总是显示在屏幕底部 - 大显示屏 - 皮肤 - 比较个人配置文件 - 配置文件助手 - 默认个人配置文件 - 当前配置文件 - 可用配置文件 - 配置文件类型 - 年龄: %1$.0f TDD: %2$.0f U - 年龄: %1$.0f TDD: %2$.0f U %3$d%% - 年龄: %1$.0f 体重: %2$.0f 千克 - 基础率% - DPV默认个人配置 RileyLink 状态: 无法创建配置文件。配置文件无效。 不要杀死我的应用程序? - 在应当吃饭时提醒 吃饭时间到了!\n请运行大剂量向导,然后进行计算。 启用大剂量提醒 已禁用崩溃日志上传! 绘图 - 图表菜单 清除筛选 输注导管 \n选择您三餐的最大碳水值和最大胰岛素剂量\n @@ -589,48 +280,12 @@ 电子邮件地址 隐私设置 如果你想得到应用程序重大缺陷的通知,你可以选择提供电子邮件地址、Facebook或Discord等信息。这不是一项自动化的服务。在可能存在危险时,开发人员才会联系您。 - 完全同步 - 完全同步数据? 这可能需要很长时间,在完成以前你将无法在NS中看到新数据。 - 同步 - 将用户配置,大剂量,碳水化合物,临时基础率的数据上传到NS网站 - 上传数据到NS网站 - 接收存储用户配置 - 同步NS配置文件编辑器的用户配置到本地。 - 接收临时目标 - 允许通过NS或NS客户端接收血糖的临时目标值。 - 接收用户配置文件切换 - 允许通过NS或NS客户端接收用户配置文件切换。 - 接收 APS 离线事件 - 允许通过NS或NS客户端接收APS 离线事件。 - 接收TBR 和 EB - 接受通过另一个实例输入 TBR 和 EB - 接收胰岛素输注 - 允许通过NS或 NS客户端接收胰岛素输注 (它并不会输注胰岛素,只计算为活性胰岛素IOB) - 接收碳水化合物 - 允许通过NS或NS客户端接收碳水化合物输入。 - 接收治疗事件 - 允许通过NS或NS客户端接收(导管更换、胰岛素更换、电池更换等) 护理事件 - 接收/回填CGM数据 - 接受来自NS 的 CGM 数据 - 运行 %s? - 放慢上传速度 血糖数据状态 删除血糖读数 - 导管年龄 - patch 泵年龄 - Patch 泵 身份识别 (email邮件地址, FaceBook账号 或 Discord账号等等) 开发模式下未设置身份识别联系方式 会话 - 当前血糖 - 校正结果使用% - 校正结果使用单位 不可用 - 绘图 - 血糖质量 - 胰岛素 - 血糖 - 已过期 未预设的临时目标: %1$s 取消正在运行的临时目标? @@ -644,22 +299,6 @@ 计算. 向导:\n胰岛素: %1$.2fU\n碳水: %2$d克 在设备上显示条目: 选定的快速向导不再可用,请刷新 - 最近没有血糖数据可供计算! - 没有激活的个人配置文件! - 未知的活性碳水!血糖读取缺失或最近重新启动了应用程序? - 碳水违反约束条件! - 计算 (IC: %1$.1f, ISF: %2$.1f) - 碳水: %1$.2fU - 活性碳水: %1$.0f克 %2$.2fU - 血糖: %1$.2fU - 活性胰岛素: %1$.2fU - 超级大剂量:%1$.2fU - 15分钟趋势:%1$.2fU - 百分比:%1$.2fU x %2$d%% ≈ %3$.2fU - 胰岛素剂量违法约束!\n无法输注 %1$.2fU - 临时目标:%1$s - %1$s 至 %2$s - 没有可用的泵! 未知操作命令: 百分比 应用程序预设 @@ -668,22 +307,11 @@ 排序 闭环状态 图形缩放 - 配置文件 1 - 配置文件 2 - 登录 - 删除全部 打开设置 - 设置碳水计时器提醒 全部 手机 手表 仅在手表时 仅在手机上 拖放操作 - - GlucoRx Aidex动泰 - Aidex动泰 - 从GlucoRx Aidex动泰持续葡萄糖监测系统接收血糖值。 - 被充电选项阻止 - 被连接选项阻止 diff --git a/core/core-main/src/main/res/values-af-rZA/protection.xml b/core/core-main/src/main/res/values-af-rZA/protection.xml index 3ea04e700d..ed4a11ecac 100644 --- a/core/core-main/src/main/res/values-af-rZA/protection.xml +++ b/core/core-main/src/main/res/values-af-rZA/protection.xml @@ -1,2 +1,4 @@ - + + Ontsluit instellings + diff --git a/core/core-main/src/main/res/values-af-rZA/strings.xml b/core/core-main/src/main/res/values-af-rZA/strings.xml index 86538328b9..c9caea8846 100644 --- a/core/core-main/src/main/res/values-af-rZA/strings.xml +++ b/core/core-main/src/main/res/values-af-rZA/strings.xml @@ -2,12 +2,63 @@ + Verfris Stoor + Nie gestel nie + Kon nie die basale profiel bywerk nie + Basale profiel in pomp bygewerk + Ongeldige invoer + Tempbasal aflewering fout + Wag vir pomp + Koppel + Ontkoppel + %1$.1f U + %1$.2f U + %1$+.2f U + %1$.0f / %2$d U %1$.2f U/h + %1$.2f h + Pomp is besig + Pomp verbindingsfout + Doelstellings + Maak toe + Wag asseblief… + Demp + Herlaai + STAAK GEDRUK + Staak + Karbs ]]> - Ja - Nee + Datum + Eenhede + DIA + IC + ISF + Basale + Doelwit + Basale waarde + Inisialiseer tans... + Reeksnommer + Battery + Laaste verbinding + Laaste bolus + Daaglikse eenhede + Basis basale tempo + Tydelike basaal + Verlengde Bolus + Stoor + Bekyk profiel + Gebeurtenis tipe + mg/dl + mmol/l + g + Gevorderde instellings + Bluetooth + BT Watchdog + Skakel asb die foon se bluetooth af vir een sekonde Indien geen verbinding met die pomp moontlik is nie. Dit mag help vir sommige selfone waar die bluetooth stapel vries. + Paring LOOP UIT AKSIE GESTEL DEUR BEPERKINGS + OK Geen geldige basale tempo gelees van pomp Beperk maks IAB tot %1$.1f U agv %2$s onveilige gebruik @@ -15,24 +66,38 @@ Uitgebreide bolus Pomp tyd opgedateer Uitgang + Verwyder rekord + Loop is gedeaktiveer + Alarm Skakel loop af Skakel loop aan Hervat lus Staak lus + Durasie [min] Kennisgewing Nog geen profiel gelaai vanaf NS bestaan bestaan nie Glukose + IAB + KOB Naam: Tyd WiFi SSID + Notas + Verwyder Voeg nuwe by + BG + Kalibrasie + Duur g Pomp opgeskort Nie gekonfigureer nie Lus opgeskort nvt + onbekend + hoog + laag TDD totaal ]]> VERWYDER @@ -40,40 +105,143 @@ herstel ProfileSwitch ontbreek. Doen \'n profiel skakelaar of druk \"Aktiveer profiel\" in die LokaleProfiel. Profiel + Behandeling + Ghoeroe-instellings + 15min tendens + KOB + Bolus IOB + Basale IAB + Onderbreek + ONGELDIG + Insulien + Tydelike teiken gestop + Geslote lus + Oop lus + Bevestig + DIA - + Max basale koers beperk tot %1$.2f U/h as gevolg van %2$s + pomp limiet + Beperk maks persentasie koers tot %1$d%% agv %2$s + dit moet \'n positiewe waarde wees + Beperk bolus %1$.1f U as gevolg van %2$s + Pomp nie geïnisialiseer, profiel nie opgestel nie! + Bluetooth Low Energy word nie ondersteun. + Bluetooth nie aan. + Location nie aan + Vir Bluetooth ontdek om te werk op nuwer toestelle, lokaliteit moet aan wees. AAPS speur nie jou lokaliteit en kan afgeskakel na paring. + Verkeerde wagwoord + Basale waardes nie in lyn met ure: %1$s + Basale waarde vervang deur maksimum ondersteunde waarde: %1$s + /U + U/h + g/U Begin profiele%1$d%% vir %2$d min - + Laat tydelike basale, hardloop + Tempo + Tydsduur + Rede + Geen verandering was versoek + Ongeldige profiel: %1$s + Careportal + BG Toets + Aankondiging + Nota + Vraag + Oefening + CGM Sensor Begin + Profiel wissel + Peuselhappie Bolus + Maaltyd Bolus + Regstelling Bolus + Kombo Bolus + Temp Basale Begin + Temp Basale eind + Karbs regstelling + OpenAPS vanlynaf Bolus slimjan + Vinger + Sensor + Per hand + onbekend Eet binnekort Hipo + Aktiwiteit Wear Outomatisasie Gepasmaak + Pomp + Lus + Lees pomp geskiedenis + Verbinding verstreke + By hand gedoen + Kommentaar + Sukses + Persentasie + Absolute + Insulien + U + Wag vir uitslag + SMB + Kumulatiewe TDD + Eksponensiele geweegde TDD + Basale + Bolus + TDD + Verhouding + # Dae + Gewig + Moontlik onakkuraat as boluse gebruik word vir optop/vulling gebruik! + Totale basis basale + TBB * 2 Die weergawe is ongeldig. Lus afgeskakel! Weergawe %1$s beskikbaar - + Aksie %1$.2f beperk tot %2$.2f + SMS + %1$.0f%% Basale + Basale % + Resultaat: %1$s + Ontbreek + + Gebruik stelsel kennisgewings vir waarskuwings en kennisgewings + Dringende Alarm + INFO + Vermiste SMS toestemming + + Geen aksie gekies, niks sal gebeur + + %1$d dae + %1$d dae + + + %1$d uur + %1$d ure + + + %1$d minuut + %1$d minute + diff --git a/core/core-main/src/main/res/values-bg-rBG/strings.xml b/core/core-main/src/main/res/values-bg-rBG/strings.xml index 5aa99843f6..3d039cc8b8 100644 --- a/core/core-main/src/main/res/values-bg-rBG/strings.xml +++ b/core/core-main/src/main/res/values-bg-rBG/strings.xml @@ -12,14 +12,9 @@ Грешка при подаване на временен базал Ще стартира %1$.2fЕ болус Чакаме помпата - Свързване %1$d сек Пускам %1$.2fЕ - Сдвояване Свързване - Свързана Не е сврзана - Разкачане - Изчакване за разкачане %1$.1fЕ %1$.2fЕ %1$+.2fЕ @@ -38,7 +33,6 @@ Натиснат е СТОП! Стоп въглехидрати - НЕ Е АКТИВИРАН ПРОФИЛ ]]> Дата Единици @@ -54,9 +48,9 @@ Последна връзка Последен болус: Инсулин за деня - Базална стойност + Базова базална стойност Временен базал - Удължен болус + Удължен болус Резервоар История Виж профил @@ -70,8 +64,6 @@ BT ограничения Изключва Bluetooth на телефона за една секунда, ако няма връзка с помпата. Това може да помогне на някои телефони, където Bluetooth блокира. Сдвояване - Да - Не LOOP Е СПРЯН ОТ ОГРАНИЧЕНИЯТА Болус от %1$.2fЕ доставен успешно ОК @@ -101,7 +93,6 @@ Време WiFi име Зареждане… - Време Бележки Изтрий Добави нов @@ -119,6 +110,10 @@ Стрелка тенденция --- нужн + без + неизвестно + висока + ниска Средно Време в границите ТДД общо @@ -128,6 +123,25 @@ нулиране Смяната на профила не е отразена. Моля, направете превключване на потребителския профил или натиснете \"Активирай профил\" в Локален профил. Профил + Болус + Създай нов профил копирайки този? + Настройки на съветник + Δ за 15мин + СОВ + IOB от болуси + Базален IOB + Пауза + НЕВАЛИДНО + Вход + Инсулин + Спри временна цел + Затворен кръг + Отворен кръг + Спиране на базал при ниска КЗ + Потвърди + DIA + И / Въгл + Чувств Ограничаване на макс. базална стойност до %1$.2f Е/ч поради %2$s лимит на помпата @@ -135,12 +149,6 @@ трябва да бъде положително число Ограничаване на болус до %1$.1f Е поради %2$s Помпата не е инициализирана, профила не е зададен! - - Потвърждение - Съобщение - ОК - Откажи - Разбрах Bluetooth Low Energy не се поддържа. Нискоенергиен Bluetooth не се потдържа или устройството не е сдвоено. @@ -158,10 +166,7 @@ гр/Е Стартирай профил %1$d%% за %2$d мин - - * Само конкретни стойности! Диапазони не се поддържат за базал/болус при виртуална помпа. - Откажи временен базал Нека текущия временен базал продължи Стойност Срок @@ -183,11 +188,8 @@ Бележка: %1$s Въпрос: %1$s Упражнение: %1$s - Смяна на сет - Смяна на сензор Старт на сензор CGM Спри сензора - Смяна на резервоар Смяна на профил Болус за закуска Болус за основно хранене @@ -197,8 +199,6 @@ Край на временен базал Корекция с въглехидрати OpenAPS спрян - Смяна на батерия - Временна цел Стойност временна цел Откажи временна цел Болус калкулатор @@ -244,7 +244,6 @@ ОБИ * 2 Засичане на времето - %1$dч:%2$dм Изключи за 5 минути от преди %1$s @@ -274,14 +273,6 @@ Използвате грешна версия. APS е изключен! Има налично обновяване до версия %1$s - - П - Вт - Ср - Ч - П - С - Н Разкачане СПРИ БОЛУС @@ -300,9 +291,20 @@ Резултат: %1$s Липсва Сравняване на профили - Апликацията изисква разрешение за bluetooth + + Използвай системни известия за аларми и съобщения + Спешна аларма + ИНФО SMS команда забранена + + Съветник на болус + Имаш висока захар. Вместо да се яде сега, се препоръчва да се изчака за по-добра захар. Искате ли да направите корекция сега и да ви напомня кога е време за ядене? В този случай няма да бъдат записвани въглехидрати и трябва да използвате съветника отново, когато ви напомня. + COB срещу IOB + !!!!! Бавна абсорбция на въглехидрати: %2$d%% от времето. Проверете въведените данни. Може да има голяма грешка !!!!!]]> + Стартирай част от резултата в калкулатора [%] + Алармата, когато е време за хранене. + Няма избрано действие, нищо няма да се изпълни %1$d дeн %1$d дни diff --git a/core/core-main/src/main/res/values-ca-rES/protection.xml b/core/core-main/src/main/res/values-ca-rES/protection.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-ca-rES/protection.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-ca-rES/strings.xml b/core/core-main/src/main/res/values-ca-rES/strings.xml index 1ef5270a5a..5bcd39635d 100644 --- a/core/core-main/src/main/res/values-ca-rES/strings.xml +++ b/core/core-main/src/main/res/values-ca-rES/strings.xml @@ -2,10 +2,107 @@ + Actualitzar + Error Desar + No configurat + Error en actualitzar el perfil de basal + Perfil de basal actualitzat a la bomba + Dades no vàlides + Error en lliurar basal temporal + A punt de lliurar %1$.2f U + Esperant bomba + Lliurant %1$.2f U + Connectant + Desconnectat + %1$.1f U + %1$.2f U + %1$+.2f U + %1$d g + %1$.0f / %2$d U + %1$.2f U/h + %1$.2f h + %1$d min + Bomba ocupada + Error de connexió de la bomba + Objectius + Tancar + Espereu si us plau… + Silenciar + Actualitzar + STOP polsat + Stop + Carbs ]]> + Data + Unitats + DIA + IC + ISF + Basal + Objectiu + Ràtio de basal + Inicialitzant... + Nr. de sèrie + Bateria + Última connexió + Darrer bolus + Unitats diàries + Ràtio de basal base + Basal temporal + Bolus estès + Reservori + Historial de la bomba + Veure perfil + Tipus d\'esdeveniment + mg/dl + mmol/l + g + % + Configuració avançada + Bluetooth + BT Watchdog + Apaga el bluetooth del telèfon un segon si no és possible connectar amb la bomba. Pot ajudar amb certs telèfons a on la connexió bluetooth es bloqueja. + Sincronitzant + LLAÇ DESACTIVAT PER RESTRICCIONS + Bolus %1$.2f U lliurat correctament + OK + No s\'ha pogut llegir de la bomba cap ràtio vàlida de basal + Limitant IOB màx a %1$.1f U a causa de %2$s + ús no segur + Bomba no accessible + Bolus estès + Actualitzada hora de la bomba + Sortir + Eliminar registre + Llaç desactivat + Alarma + Desactivar llaç + Activar llaç + Reprendre llaç + Aturar el llaç + Durada [min] + Avís + Encara cap perfil carregat des de NS + existeix + no existeix + Glucèmia + IOB + COB + Nom: + Hora + SSID WiFi + Carregant… + Notes + Eliminar + Afegir + Dades procedents d\'una altra bomba. Canvieu el driver de la bomba per restablir el seu estat. + Glucèmia + Calibració Executar alarma en %1$d min Error en el bolus. Comprova manualment la quantitat real subministrada + Recordatori de bolus + Durada g Bomba aturada No configurat @@ -13,6 +110,10 @@ Fletxa de tendència n/d req + cap + desconegut + alt + baix Mitja TIR (Temps en rang) TDD Total @@ -22,25 +123,135 @@ restablir Falta canvi de perfil. Si us plau feu un canvi de perfil o cliqueu \"Activar perfil\" al perfil local. Perfil + Tractament + Crear nou perfil local a partir d\'aquest perfil? + Configuració de l\'assistent + Tendència 15 min + COB + IOB Bolus + IOB Basal + En pausa + NO VÀLID + Iniciar sessió + Aturar objectiu temporal + Llaç tancat + Llaç obert + Suspensió per glucèmia baixa (LGS) + Confirmar + DIA (Durada de l\'Acció de la Insulina) + IC + ISF - + Limitant màx ràtio basal a %1$.2f U a causa de %2$s + límit de la bomba + Limitant percentatge màx a %1$d%% a causa de %2$s + ha de ser un valor positiu + Limitant bolus a %1$.1f U a causa de %2$s + Bomba no iniciada, perfil no establert! + Bluetooth de baixa energia no compatible. + Bluetooth de baixa energia no compatible o dispositiu no sincronitzat. + Bluetooth no activat. + Ubicació no habilitada + Per a que el descobriment de nous dispositius en Bluetooth funcioni, la ubicació ha d\'estar habilitada. AAPS no fa un seguiment de la vostra localització. A més, pot ser deshabilitada un cop la sincronització s\'ha produït. + Contrasenya incorrecta + Les contrasenyes no coincideixen + Valors basals no alineats amb les hores: %1$s + Valor basal reemplaçat pel màxim valor acceptat: %1$s + /U + U/h + g/U Iniciar perfil %1$d%% durant %2$d min - + Deixar executar basal temporal + Dosi + Durada + Motiu + Cap canvi sol·licitat + Perfil no vàlid: %1$s + %1$d min + Portal de cures + Control glucèmia + Glucèmia manual o calibració + Avís + Nota + Pregunta + Esport + Anunci: %1$s + Nota : %1$s + Pregunta : %1$s + Exercici : %1$s + Inici sensor CGM + Aturada sensor CGM + Alerta D.A.D. + Canvi de perfil + Bolus de snack + Bolus d\'àpat + Bolus de correcció + Bolus combo + Inici basal temporal + Fi basal temporal + Correcció carbohidrats + OpenAPS fora de línia + Valor objectiu temporal + Cancel·lar objectiu temporal + Calculadora de bolus + Dit + Sensor + Manual + desconegut + Menjar aviat + Hipo + Activitat (esport) + Wear + Automatització + Personalitzat + Bomba Llaç + NS + Registre + Llegint històric bomba + Icona de la bomba + Temps de connexió esgotat + Activat + Comentari + Correcte + Percentage + Absolut + Insulina + U + Esperant resultat + SMB + Estadístiques + TDD (Total Dosi Diària) acumulada + TDD ponderada exponencialment + Basal + Bolus + TDD (Total Dosi Diària) + Ràtio + # Dies + Ponderació + Possiblement imprecís si feu servir bolus per encebar! + Basal total + TBB (Total Basal Base) * 2 + Detecció de temps + Silenciar 5 minuts + exportat fa %1$s + exportat a les %1$s + exportat fa menys d\'una hora + al directori: %1$s Selecciona l\'arxiu a importar La configuració va ser creada amb una altra versió d\'AAPS (%1$s) i ara teniu la: %2$s.\n\nAlguns dels valors poden faltar o no ser vàlids - si us plau, comproveu la configuració després d\'importar. La configuració va ser creada en un altre dispositiu. No hi ha problema si esteu important des d\'un telèfon més antic/diferent però comproveu que la configuració importada és correcta! @@ -61,10 +272,104 @@ Falta la configuració per encriptar, el format de la configuració és incorrecte! Algoritme d\'encriptació no compatible o no especificat! + Hem detectat que esteu executant una versió no vàlida. Llaç desactivat! + Versió %1$s disponible + Versió: %1$s | Mida: %2$s - + BOLUS + Calculador de bolus + CALCULADORA DE BOLUS + BOLUS ESTÈS + SUPERBOLUS TBR + CARBS + CARBS ESTESOS + BASAL TEMP + OBJECTIU TEMP + NOU PERFIL + CLONAR PERFIL + DESAR PERFIL + CANVI DE PERFIL + CANVI DE PERFIL CLONAT + MODE LLAÇ TANCAT + MODE LLAÇ LGS + MODE LLAÇ OBERT + LLAÇ DESACTIVAT + LLAÇ ACTIVAT + RECONNECTAR + DESCONNECTAR + REPRENDRE + ATURAR + BOMBA HW PERMESA + ESBORRAR CLAUS DE SINCRONITZACIÓ + ACCEPTA BASAL TEMP + CANCEL·LAR BASAL TEMP + CANCEL·LAR BOLUS + CANCEL·LAR BOLUS ESTÈS + CANCEL·LAR OBJECTIU TEMP + PORTAL DE CURES + CANVI CÀNULA + CANVI RESERVORI + CALIBRACIÓ + BOLUS D\'ENCEBAT + TRACTAMENT + ACTUALITZAR PORTAL DE CURES NS + ACTUALITZAR CANVI PERFIL NS + ACTUALITZAR TRACTAMENTS NS + REFRESCAR OBJECTIU TEMP NS + AUTOMATITZACIÓ ELIMINADA + GLUCÈMIA ELIMINADA + PORTAL DE CURES ELIMINAT + BOLUS ELIMINAT + CARBS ELIMINATS + BASAL TEMP ELIMINADA + BOLUS ESTÈS ELIMINAT + ÀPAT + ÀPAT ELIMINAT + PERFIL ELIMINAT + CANVI PERFIL ELIMINAT + EVENTS DE REINICI ELIMINATS + TRACTAMENT ELIMINAT + OBJECTIU TEMP ELIMINAT + NS EN PAUSA + REPRENDRE NS + CUA NS BUIDADA + CONFIGURACIÓ NS COPIADA + DIÀLEG D\'ERROR OK + DIÀLEG D\'ERROR SILENCIAT + DIÀLEG D\'ERROR SILENCIAT 5MIN + OBJECTIU INICIAT + OBJECTIU NO INICIAT + OBJECTIUS OMESOS + RESTABLIR ESTADÍSTICA + ELIMINAR LOGS + ELIMINAR TRACTAMENTS FUTURS + EXPORTAR CONFIGURACIÓ + IMPORTAR CONFIGURACIÓ + RESTABLIR BASES DE DADES + EXPORTAR BASES DE DADES + IMPORTAR BASES DE DADES + EXPORTAR OTP + RESTABLIR OTP + ATURAR SMS + EXPORTAR ENTRADES USUARI + INICIAR SMS + SORTIR + PLUGIN ACTIVAT + PLUGIN DESACTIVAT + DESCONEGUT + Text + Font + Decalatge UTC + Acció + Data i hora + Cap unitat + Exportar entrades d\'usuari a Excel (csv) + LLAÇ MODIFICAT + LLAÇ ELIMINAT + ALTRES + Objectiu baix del perfil Objectiu alt del perfil Valor mínim d\'objectiu temporal Valor màxim d\'objectiu temporal @@ -76,9 +381,47 @@ Valor ràtio de carbohidrats del perfil %1$.2f limitat a %2$.2f »%1$s« supera els límits + »%1$s« %2$.2f està fora dels límits estrictes + Valor basal + BOLUS %1$.2f U + HIDRATS DE CARBONI %1$d g + BOLUS ESTÈS %1$.2f U %2$d min + CARREGAR EVENTS + CARREGAR HITORIAL %1$d + CARREGAR TDDs + ESTABLIR PERFIL + ESTABLIR CONFIGURACIÓ DE L\'USUARI + SMS + %1$.0f%% Basal + Basal % + usuari - L\'aplicació necessita el permís del bluethoot + Resultat: %1$s + Comparar perfils + + Utilitzar avisos del sistema per alarmes i avisos + Alarma urgent + INFO + Falta permís SMS + + COB vs IOB + !!!!! Detectada absorció lenta de carbohidrats: %2$d%% del temps. Torneu a comprovar els vostres càlculs. Els COB (carbs actius) podrien sobreestimar-se i lliurar-se més insulina del compte!!!!!]]> + Lliurar aquesta part del resultat del càlcul [%] + Executar alarma quan sigui hora de menjar + Cap acció sel·leccionada, no passarà res + + %1$d dia + %1$d dies + + + %1$d hora + %1$d hores + + + %1$d minut + %1$d minuts + diff --git a/core/core-main/src/main/res/values-ca-rES/validator.xml b/core/core-main/src/main/res/values-ca-rES/validator.xml index 3ea04e700d..76ad378539 100644 --- a/core/core-main/src/main/res/values-ca-rES/validator.xml +++ b/core/core-main/src/main/res/values-ca-rES/validator.xml @@ -1,2 +1,24 @@ - + + Només es permeten dígits numèrics. + Només es permeten dígits numèrics dins del rang %1$s - %2$s. + Aquest camp no pot contenir cap caràcter especial + Només es permeten lletres estàndard + Aquest camp no pot estar buit + Adreça de correu electrònic no vàlida + Nr. de targeta de crèdit no vàlid + Nr. de telèfon no vàlid + Nom de domini no vàlid + Adreça IP no vàlida + Adreça web (Url) no vàlida + Nom o cognom no vàlid. + Nom complet no vàlid. + Format no vàlid + El nr. ha de tenir 4 dígits + El nr. ha de tenir 6 dígits + Han de ser 12 caràcters d\'entre ABCDEF0123456789 + Han de ser 8 caràcters d\'entre ABCDEF0123456789 + Han de ser 4 caràcters d\'entre ABCDEF0123456789 + No compleix llargada mínima + El PIN ha de tenir entre 3 i 6 dígits, no repetits ni seguits + diff --git a/core/core-main/src/main/res/values-cs-rCZ/strings.xml b/core/core-main/src/main/res/values-cs-rCZ/strings.xml index e6ed7a319f..19ceeec3fc 100644 --- a/core/core-main/src/main/res/values-cs-rCZ/strings.xml +++ b/core/core-main/src/main/res/values-cs-rCZ/strings.xml @@ -12,14 +12,9 @@ Chyba nastavování dočasného bazálu Podávání %1$.2f U inzulínu Čekání na pumpu - Připojování %1$d sec Aplikováno %1$.2f U - Navazování spojení Připojuji - Připojeno Odpojeno - Odpojuji - Čekám na odpojení AAPS spuštěno %1$.1f U %1$.2f U @@ -31,7 +26,6 @@ %1$d min Pumpa je zaneprázdněna Chyba připojování pumpy - Byl dosažen povolený limit Cíle Zavřít Počkejte prosím… @@ -40,8 +34,8 @@ STISKNUTO STOP Stop Sacharidy - Neplatný profil! - ŽÁDNÝ PROFIL NENASTAVEN + Neplatný profil! + ŽÁDNÝ PROFIL NENASTAVEN ]]> Datum Jednotky @@ -61,9 +55,9 @@ Poslední spojení Poslední bolus Jednotek za den - Základní hodnota bazálu + Základní hodnota bazálu Dočasný bazál - Prodloužený bolus + Prodloužený bolus Zásobník Historie pumpy Zobrazit profil @@ -77,8 +71,6 @@ Hlídač BT Vypne na 1 sek bluetooth v telefonu, pokud se nedaří připojit k pumpě. Může to pomoci u telefonů, které mají problémy s BT Párování - Ano - Ne SMYČKA ZAKÁZÁNA OMEZENÍM Bolus %1$.2f U aplikován úspěšně OK @@ -108,7 +100,6 @@ Čas WiFi SSID Načítání… - Čas události Poznámky Odstranit Přidat nový @@ -149,6 +140,28 @@ Resetovat Přepnutí profilu chybí. Proveďte přepnutí profilu nebo ho aktivujte na záložce lokálního profilu. Profil + Vyberte pro odstranění + Opravdu chcete odstranit %1$d položek + Ošetření + Vytvořit z tohoto profilu nový profil? + Průvodce nastavením + 15min trend + COB + Bolusové IOB + IOB z bazálů + Pozastaveno + NEPLATNÝ + Přihlášení + Plnění/doplňování + Inzulín + Stop dočasného cíle + Uzavřená smyčka + Otevřená smyčka + Ochrana před nízkou glykémií + Potvrdit + DIA + I:C + ISF Max bazál omezen na %1$.2f U/h: %2$s limit pumpy @@ -156,12 +169,6 @@ požadována kladná hodnota Bolus omezen na %1$.1f U: %2$s Pumpa není inicializována, profil nenastaven! - - Potvrzení - Zpráva - OK - Zrušit - POTVRDIT Bluetooth Low Energy nepodporováno. Bluetooth Low Energy není podporováno, nebo zařízení není spárováno. @@ -182,10 +189,8 @@ g/U Spustit profil %1$d%% na %2$d min - - * Pouze diskrétní hodnoty a ne rozsahy jsou podporovány pro bazál/bolus ve virtuální pumpě. - Zrušit dočasný bazál + Zrušit dočasný bazál Nechat běžet aktuální dočasný bazál Hodnota Trvání @@ -207,12 +212,12 @@ Poznámka : %1$s Otázka: %1$s Cvičení : %1$s - Výměna setu - Výměna senzoru + Výměna setu + Výměna senzoru Znovu spuštění senzoru Zastavení senzoru Hlášení psa - Výměna inzulínu + Výměna inzulínu Přepnutí profilu Bolus na svačinu Bolus na jídlo @@ -222,8 +227,8 @@ Dočasný bazál konec Přídavek sacharidů OpenAPS vypnuto - Výměna baterie pumpy - Dočasný cíl + Výměna baterie pumpy + Dočasný cíl Hodnota dočasného cíle Dočasný cíl konec Bolusová kalkulačka @@ -273,7 +278,6 @@ CZB * 2 Detekce času - %1$dh %2$dm Ztlumit na 5 minut exportováno před %1$s @@ -305,14 +309,6 @@ Platnost verze %1$s vyprší dne %2$s Prosím restartujte Váš telefon nebo restartujte AAPS z nastavení systému\njinak nebudou zaznamenány ladící informace (důležité pro sledování a kontrolu, zda algoritmus pracuje správně)! - - Po - Út - St - Čt - - So - Ne BOLUS BOLUS KALKULÁTOR @@ -443,7 +439,6 @@ KeepAlive. Zastaralý bazál. SMS Kliknuto na připojit k pumpě - Změněn ovladač pumpy. Změna ovladače pumpy. Zařízení změněno Kliknuto na tlačítko obnovit @@ -454,8 +449,6 @@ Bolus OK Pumpa spárována Insight Tlačítko Obnovit - snížení %1$s o %2$s - zvýšení %1$s o %2$s %1$.0f%% Bazál Bazál % @@ -514,9 +507,38 @@ Autotune spuštěno a profil automaticky přepnut Chyba při posledním spuštění Autotune Byla zjištěna jiná běžící úloha Autotune, spuštění zrušeno - Aplikace potřebuje oprávnění bluetooth + + Používat systémové notifikace pro výstrahy a oznámení + Urgentní alarm + INFO Chybějící povolení SMS + + Poradce pro bolus + Máte vysokou glykémii. Namísto jídla doporučujeme vyčkat na lepší glykémii a připomenout, až bude čas na jídlo. Přejete si poslat korekční bolus a připomenout, až bude čas k jídlu? V tomto případě nebudou zapsané žádné sacharidy, a později opět musíte spustit kalkulátor, jakmile vám to připomeneme. + COB vs. IOB + !!!!! Detekována pomalá absorbce sacharidů: %2$d%% času. Překontrolujte kalkulaci. COB může být nadhodnocené, a proto může být započítáno více inzulínu !!!!!]]> + Podat tuto část z výsledku kalkulace [%] + Použito omezení bolusu: %1$.2f U na %2$.2f U + Bolus nebude pumpou vydán, pouze zaznamenán + Spustit alarm, když je čas na jídlo + Žádná akce nevybrána, nic se neprovede + Žádná aktuální glykémie k výpočtu! + Není nastaven žádný aktivní profil! + Neznámý COB! Chybějící glykémie nebo nedávný restart aplikace? + Sacharidy mimo povolený rozsah! + Kalk (IC: %1$.1f, ISF: %2$.1f) + Sacharidy: %1$.2fU + COB: %1$.0fg %2$.2fU + Glykémie: %1$.2fU + IOB: %1$.2fU + Superbolus: %1$.2fU + 15\' trend: %1$.2fU + Procentuální hodnota: %1$.2fU x %2$d%% ≈ %3$.2fU + Inzulím mimo povolený rozsah!\nNelze podat %1$.2fU + Doč. cíl: %1$s + %1$s – %2$s + Pumpa není k dispozici! %1$d den %1$d dnů diff --git a/core/core-main/src/main/res/values-cs-rCZ/validator.xml b/core/core-main/src/main/res/values-cs-rCZ/validator.xml index 8fd21c39a2..38717abe5e 100644 --- a/core/core-main/src/main/res/values-cs-rCZ/validator.xml +++ b/core/core-main/src/main/res/values-cs-rCZ/validator.xml @@ -4,7 +4,7 @@ Povolena jsou pouze čísla v rozsahu %1$s - %2$s. Toto pole nesmí obsahovat speciální znaky Jsou povolena pouze standardní písmena - Toto pole nesmí být prázdné + Položka nesmí být prázdná E-mailová adresa je neplatná Číslo kreditní karty není platné Neplatné telefonní číslo diff --git a/core/core-main/src/main/res/values-da-rDK/protection.xml b/core/core-main/src/main/res/values-da-rDK/protection.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-da-rDK/protection.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-da-rDK/strings.xml b/core/core-main/src/main/res/values-da-rDK/strings.xml index f4c15c96cb..b749c1b891 100644 --- a/core/core-main/src/main/res/values-da-rDK/strings.xml +++ b/core/core-main/src/main/res/values-da-rDK/strings.xml @@ -12,14 +12,10 @@ Midlertidig basal leveringsfejl Leverer %1$.2f IE Venter på pumpe - Opretter forbindelse i %1$d s Leverer %1$.2f IE - Forbindelse verificeres Forbinder - Tilsuttet Forbindelse afbrudt - Afbryder - Venter på afbrydelse + AAPS startet %1$.1f IE %1$.2f IE %1$+.2f IE @@ -38,7 +34,6 @@ STOP TRYKKET Stop Kulhydrater - INGEN PROFIL SAT ]]> Dato Enheder @@ -50,6 +45,7 @@ Varighed af insulin aktivitet Insulin til kulhydrat forhold Insulinfølsomhedsfaktor + Basalrate Blodsukker mål Initialiserer ... Serienummer @@ -57,9 +53,9 @@ Seneste forbindelse Seneste Bolus Daglige enheder - Standard basal rate + Standard basal rate Midlertidig basal - Forlænget bolus + Forlænget bolus Reservoir Pumpe historik Se profil @@ -73,8 +69,6 @@ BT Vagthund Slår telefonens bluetooth fra i et sekund, hvis der ikke er mulighed for tilslutning til pumpen. Dette kan hjælpe på nogle telefoner, hvis bluetooth stakken fryser. Parring - Ja - Nej LOOP DEAKTIVERET AF BEGRÆNSNINGER Bolus %1$.2fE leveret uden fejl OK @@ -104,19 +98,23 @@ Tid WiFi SSID Indlæser … - Tidspunkt for hændelsen Bemærkninger Fjern Tilføj ny Tilføj ny ovenfor Data kommer fra en anden pumpe. Skift pumpedriver for at nulstille pumpetilstand. + BG + Kalibrering Kør alarm om %1$d min Bolus fejl. Undersøg manuelt hvor meget insulin der er givet + Boluspåminder + Varighed g Pumpe er afbrudt Ikke konfigureret Loop suspenderet Trend pil + Auto sens ikke tilgængelig krævet falder hurtigt @@ -140,6 +138,27 @@ nulstil Profilskift mangler. Venligst lav et profilskift eller tryk \"Aktiver profil\" i LokalProfil. Profil + Vælg for at fjerne + Er du sikker på, at du vil fjerne %1$d elementer? + Behandling + Opret ny profil fra denne profil? + Guide indstillinger + 15 min tendens + COB + Bolus IOB + Basal IOB + Pauset + UGYLDIG + Log ind + Insulin + Stop midlertidig mål + Lukket Loop + Åben Loop + Lav glukose suspendering + Bekræft + DIA + IC + ISF Begrænser max IOB til %1$.2f E/t på grund af %2$s pumpe grænse @@ -147,12 +166,6 @@ det skal være en positiv værdi Begrænser bolus til %1$.1f IE på grund af %2$s Pumpe ikke initialiseret, profil ikke angivet! - - Bekræftelse - Besked - OK - Annuller - AFVIS Bluetooth Low Energy understøttes ikke. Bluetooth Low Energy understøttes ikke eller enheden er ikke parret. @@ -166,16 +179,14 @@ PIN-koder ikke identiske Basalværdier ikke angivet i hele timer: %1$s + Basal dosis erstattet af minimal understøttet dosis: %1$s Basal dosis erstattet af maximal understøttet dosis: %1$s /IE E/t g/E Start profil %1$d%% i %2$d min - - * Kun konkrete værdier, ingen intervaller, er understøttet som granularitet for basal/bolus i virtuel pumpe. - Annuller midlertidig basal Lad midlertidig basal køre Dosis Varighed @@ -197,12 +208,9 @@ Notat : %1$s Spørgsmål : %1$s Motion: %1$s - Skift af pumpeindstik - Skift af CGM Sensor CGM Sensor Start CGM Sensor Stop Diabeteshund alarm - Skift af insulinampul Profilskift Snack Bolus Måltidsbolus @@ -212,8 +220,6 @@ Midlertidig basal slut Korrektion for kulhydrater OpenAPS Offline - Skift af pumpebatteri - Midlertidigt mål Midlertidig mål værdi Afslut midlertidigt mål Bolusberegner @@ -246,6 +252,7 @@ Venter på resultat SMB + %1$d g ekstra kulhydrater kræves inden for %2$d minutter Statistik Akkumuleret TDD @@ -257,11 +264,11 @@ # Dage Vægt Muligvis unøjagtig, hvis du bruger bolusser til priming/fyldning! + Gammel data. Tryk venligst På \"GENINDLÆS\" Basis Basal I Alt TBB * 2 Tidsdetektering - %1$dt %2$dm Lydløs i 5 minutter eksporteret %1$s siden @@ -292,14 +299,7 @@ Version %1$s tilgængelig Version %1$s udløber den %2$s - - Ma - Ti - On - To - Fr - - + Genstart venligst din telefon eller genstart AAPS fra Systemindstillinger \nellers vil AndroidAPS ikke have logning (vigtigt at spore og kontrollere, at algoritmerne fungerer korrekt)! BOLUS BOLUS BEREGNER @@ -408,6 +408,7 @@ »%1$s« er uden for absolutte grænser »%1$s« %2$.2f er uden for absolutte grænser Basalværdi + AAPSClient version matcher ikke AAPS version. Opdater venligst. BOLUS %1$.2f IE KH %1$d g @@ -428,7 +429,6 @@ KeepAlive. Basal forældet. SMS Klikket: tilslut til pumpe - Pumpe driver ændret. Pumpe driver ændret. Enhed ændret Klikket: opdater @@ -439,8 +439,6 @@ Bolus OK Pumpe parret Insight Opdater-knap - fald %1$s af %2$s - stigning %1$s af %2$s %1$.0f%% Basal Basal % @@ -497,8 +495,34 @@ Profil ugyldig Fejl under sidste Autotune kørsel Autotune kører allerede, annulleret - Applikationen kræver tilladelse til bluetooth + + Brug systemnotifikationer til advarsler og notifikationer + Akut alarm + INFO + Manglende sms tilladelse + + COB vs IOB + !!!!! Langsomme kulhydrater opdaget: %2$d%% af tiden. Dobbelttjek din beregning. COB kan overvurderes og der kan således gives mere insulin !!!!!]]> + Afgiv denne del af bolusguidens resultat [%] + Kør alarm når det er tid til at spise + Ingen handling valgt, intet vil ske + Ingen nylig BG til at basere beregningen på! + Ingen aktiv profil angivet! + Ukendt COB! BG læsning mangler eller nylig app genstart? + KH begrænsninger overtrådt! + Beregner (IC: %1$.1f, ISF: %2$.1f) + Kulhydrater: %1$.2fE + COB: %1$.0fg %2$.2fE + BS: %1$.2fE + IOB: %1$.2fE + Superbolus: %1$.2fE + 15\' trend: %1$.2fE + Procent: %1$.2fE x %2$d%% ≈ %3$.2fE + Overtrædelse af insulinbegrænsning!\nKan ikke levere %1$.2fE + Midl: %1$s + %1$s til %2$s + Ingen pumpe tilgængelig! %1$d dag %1$d dage diff --git a/core/core-main/src/main/res/values-de-rDE/strings.xml b/core/core-main/src/main/res/values-de-rDE/strings.xml index e5c164936e..61c9dca03b 100644 --- a/core/core-main/src/main/res/values-de-rDE/strings.xml +++ b/core/core-main/src/main/res/values-de-rDE/strings.xml @@ -12,14 +12,9 @@ TBR Abgabe-Fehler Werde %1$.2f IE abgeben Warte auf Pumpe - Verbindungsaufbau seit %1$d s Gebe %1$.2fIE ab - Handshaking Verbinden - Verbunden Getrennt - Verbindung wird getrennt - Warte auf Trennung der Verbindung %1$.1f IE %1$.2f IE %1$+.2f IE @@ -38,7 +33,6 @@ STOPP GEDRÜCKT Stopp Kohlenhydrate - KEIN PROFIL GESETZT ]]> Datum Einheiten @@ -50,6 +44,7 @@ Insulinwirkdauer (duration of insulin action) Insulin-zu-KH-Faktor ISF: Insulin Sensitivitäts-Faktor (\"Korrektur-Faktor\") + Basalrate BZ Ziel Initialisierung... Seriennummer @@ -57,9 +52,9 @@ Letzte Verbindung Letzter Bolus Tägliche Einheiten - Basis-Basalrate + Basis-Basalrate TBR - Verzögerter Bolus + Verzögerter Bolus Reservoir Pumpen-Historie Profil anzeigen @@ -73,8 +68,6 @@ BT Watchdog Deaktiviert Bluetooth kurzzeitig, falls keine Verbindung zur Pumpe besteht. Dies kann für Smartphones mit Verbindungsproblemen nützlich sein. Koppeln - Ja - Nein LOOP DEAKTIVIERT DURCH BESCHRÄNKUNGEN Bolus %1$.2f IE erfolgreich abgegeben OK @@ -104,19 +97,23 @@ Zeit WLAN SSID Lade… - Ereignis-Zeit Notizen Löschen Weiteren hinzufügen Neu oben hinzufügen Daten kommen von einer anderen Pumpe. Wechsle den Pumpentreiber. + BZ + Kalibrierung Alarm in %1$d Min. Fehlermeldung Bolusabgabe. Prüfe manuell die tatsächlich abgegebene Menge. + Bolus-Erinnerung + Dauer g Pumpe pausiert Nicht konfiguriert Loop pausiert Trendpfeil + Auto sens N/A angef. schnell fallend @@ -140,6 +137,27 @@ Zurücksetzen Profil-Wechsel fehlt, bitte nimm einen Profil-Wechsel vor oder drücke \"AKTIVIERE PROFIL\" im lokalen Profil. Profil + Zum Entfernen auswählen + Sind Sie sicher, dass Sie diese(s) %1$d Element(e) löschen möchten? + Bolus + Neues Profil auf Basis dieses Profils erstellen? + Wizard-Einstellungen + 15 min Trend + COB + Bolus-IOB + Basal-IOB + Pausiert + Ungültig + Login + Insulin + Temporäres Ziel (TT) stoppen + Closed Loop + Open Loop + Unterbrechung bei niedrigem BZ (LGS) + Bestätigen + DIA + IC + ISF Begrenzung der max. Basalrate auf %1$.2f IE/h wegen %2$s Limit der Pumpe @@ -147,12 +165,6 @@ Es muss ein positiver Wert sein. Begrenze Bolusmenge auf %1$.1f IE wegen %2$s Pumpe nicht initialisiert, Profil nicht gesetzt! - - Bestätigung - Nachricht - OK - Abbrechen - VERWERFEN Bluetooth-Low-Energy nicht unterstützt. Bluetooth Low Energy nicht unterstützt oder Gerät nicht verbunden. @@ -166,16 +178,14 @@ PINs stimmen nicht überein Basalraten beginnen nicht zur vollen Stunde: %1$s + Basal-Wert wurde durch den kleinst möglichen Wert ersetzt: %1$s Basal-Wert wurde durch größt möglichen Wert ersetzt: %1$s /IE IE/h g/IE Profil %1$d%% für %2$d Min. starten - - * Bei der virtuellen Pumpe können nur einzelne Werte und keine Bereiche zur Festlegung der Basal/Bolus-Granularität gewählt werden. - TBR abbrechen Temporäre Basalrate aktiv lassen Rate Dauer @@ -197,12 +207,9 @@ Hinweis : %1$s Frage : %1$s Bewegung : %1$s - Pumpenkatheter-Wechsel - CGM-Sensor gesetzt CGM-Sensor Start CGM-Sensor-Stopp D.A.D. Warnung - Insulinreservoir-Wechsel Profilwechsel Snack-Bolus Mahlzeiten-Bolus @@ -212,8 +219,6 @@ TBR Ende Kohlenhydrat-Korrektur OpenAPS offline - Pumpenbatterie-Wechsel - Temporäres Ziel Temporärer Zielwert Temporäres Ziel abbrechen Bolus-Rechner @@ -246,6 +251,7 @@ Auf Pumpenergebnis warten SMB + %1$d g zusätzliche Kohlenhydrate innerhalb von %2$d Minuten erforderlich Statistik Kumulative TDD @@ -257,11 +263,11 @@ # Tage Gewichtung Möglicherweise ungenau, wenn zum Befüllen ein Bolus verwendet wurde! + Veraltete Daten, bitte klicke auf \"NEU LADEN\" Tägl. Basalmenge Tägl. Basalmenge * 2 Zeiterkennung - %1$dh %2$dm Stumm schalten für 5 Minuten Vor %1$s Tagen exportiert @@ -292,14 +298,6 @@ Version %1$s ist verfügbar. Version %1$s läuft am %2$s ab - - Mo - Di - Mi - Do - Fr - Sa - So BOLUS BOLUS-KALKULATOR @@ -428,7 +426,6 @@ KeepAlive. Basal veraltet. SMS Verbindung zur Pumpe geklickt - Pumpentreiber geändert. Pumpentreiber ändern. Gerät gewechselt Aktualisieren geklickt @@ -439,8 +436,6 @@ Bolus OK Pumpe gekoppelt Insight Refresh Button - abnehmend %1$s mit %2$s - zunehmend %1$s mit %2$s %1$.0f%% Basal Basal % @@ -497,8 +492,34 @@ Profil ungültig Fehler beim letzten Autotune Lauf Ein weiterer Lauf von Autotune wurde erkannt, Lauf abgebrochen - App benötigt Bluetooth-Berechtigung + + Benutze Systemmeldungen für Alarme und Meldungen + Wichtiger Alarm + INFO + SMS-Steuerung nicht erlaubt + + COB vs IOB + !!!!! Langsamer Kohlenhydrat-Abbau erkannt: %2$d%% der Zeit. Überprüfe Deine Berechnung. COB könnte zu hoch sein und deswegen zu viel Insulin abgegeben werden!!!!!]]> + Abgabe von [%] des Ergebnisses des Bolus-Rechners + Alarmiere mich, wenn es Zeit zum Essen ist. + Keine Aktion ausgewählt, nichts wird geschehen. + Kein aktueller BG liegt als Basis zur Berechnung vor! + Kein aktives Profil gesetzt! + Unbekannter COB! BG-Wert fehlt oder wurde App vor kurzem neu gestartet? + Die Kohlenhydrateinschränkung wurde überschritten! + Calc (IC: %1$.1f, ISF: %2$.1f) + Kohlenhydrate: %1$.2fU + COB: %1$.0fg %2$.2fU + BZ: %1$.2fU + IOB: %1$.2fU + Superbolus: %1$.2fU + 15\' Trend: %1$.2fU + Prozent: %1$.2fU x %2$d%% ≈ %3$.2fU + Verletzung der Bolusbeschränkung!\nKann %1$.2fU nicht abgeben + TempT: %1$s + %1$s zu %2$s + Keine Pumpe verfügbar! %1$d Tag %1$d Tage diff --git a/core/core-main/src/main/res/values-el-rGR/protection.xml b/core/core-main/src/main/res/values-el-rGR/protection.xml index 3ea04e700d..088a418af1 100644 --- a/core/core-main/src/main/res/values-el-rGR/protection.xml +++ b/core/core-main/src/main/res/values-el-rGR/protection.xml @@ -1,2 +1,4 @@ - + + Ξεκλείδωμα ρυθμίσεων + diff --git a/core/core-main/src/main/res/values-el-rGR/strings.xml b/core/core-main/src/main/res/values-el-rGR/strings.xml index d320a831f8..9245d9c6ae 100644 --- a/core/core-main/src/main/res/values-el-rGR/strings.xml +++ b/core/core-main/src/main/res/values-el-rGR/strings.xml @@ -2,37 +2,104 @@ + Ανανέωση Αποθήκευση + Μη ορισμένο + Αποτυχία αναβάθμισης βασικού προφίλ + Το Βασικό προφίλ στην αντλία ενημερώθηκε + Μη έγκυρα δεδομένα + Σφάλμα παράδοσης Προσ Ρυθμού + Πρόκειται να εγχυθούν %1$.2f μονάδες + Αναμονή για αντλία + Συνδέεται + Αποσυνδέθηκε + %1$.1f U + %1$.2f U + %1$+.2f U + %1$.0f / %2$d U %1$.2f U/h + %1$.2f h + Αντλία απασχολημένη + Λάθος σύνδεσης αντλίας + Βήματα + Κλείσιμο + Περιμένετε… + Σίγαση + Γέμισμα + Πιέστε STOP + Stop + Υδατάνθρακες ]]> - Ναι - Όχι + Ημερομηνία + Μονάδες + DIA + IC + ISF + Βασικός Ρυθμός + Στόχος + Βασικός Ρυθμός + Παραμετροποίηση... + Serial number + Μπαταρία + Τελευταία σύνδεση + Τελευταίο Bolus: + Μονάδες ανά ημέρα + Βάση Βασικού Ρυθμού + Προσωρινός Ρυθμός + Εκτεταμμένο bolus + Αμπούλα + Δείτε το προφίλ + Τύπος Συμβάντος + mg/dl + mmol/l + g + Ρυθμίσεις για Προχωρημένους + Bluetooth + BT Watchdog + Απενεργοποιεί το bluetooth του τηλεφώνου για ένα δευτερόλεπτο αν δεν είναι δυνατή η σύνδεση με την αντλία. Αυτό μπορεί να βοηθήσει σε ορισμένα τηλέφωνα όπου το bluetooth παγώνει. ΤΟ ΚΥΚΛΩΜΑ ΑΠΕΝΕΡΓΟΠΟΙΗΘΗΚΕ ΑΠΟ ΠΕΡΙΟΡΙΣΜΟΥΣ + Bolus %1$.2fU δόθηκε επιτυχώς + ΟΚ Διαβάζεται από την αντλία μη έγκυρος βασικός ρυθμός Περιορίζεται η μέγιστη IOB σε %1$.1f U λόγω %2$s μη ασφαλής χρήση Η αντλία δεν είναι διαθέσιμη Εκτεταμένο bolus Η ώρα στην αντλία άλλαξε + Έξοδος + Διαγραφή εγγραφής + Κύκλωμα απενεργοποιημένο + Συναγερμός Απενεργοποιήστε κύκλωμα Ενεργοποιήστε κύκλωμα Επαναφορά κυκλώματος Αναστολή κυκλώματος + Διάρκεια [min] Ειδοποίηση Δεν φορτώθηκε προφίλ από το NS ακόμα υπάρχει δεν υπάρχει Γλυκόζη + IOB + COB Όνομα: Χρόνος WiFi SSID + Σημειώσεις + Διαγραφή Προσθήκη νέου + BG + Καλιμπράρισμα Το Bolus ανέφερε ένα σφάλμα. Ελέγξτε χειροκίνητα την ποσότητα που έχει πραγματικά χορηγηθεί + Διάρκεια g Η αντλία είναι σε παύση Δεν έχει ρυθμιστεί Κύκλωμα σε αναστολή n/a + άγνωστο + υψηλό + χαμηλό TDD σύνολο ]]> ΜΕΤΑΚΙΝΗΣΗ @@ -40,41 +107,147 @@ επαναφορά Η αλλαγή προφίλ λείπει. Αλλάξτε το προφίλ ή πατήστε \"Ενεργοποίηση Προφίλ\" στο Τοπικό Προφίλ. Προφίλ + Θεραπεία + Ρυθμίσεις Γρήγορου Οδηγού + Γραφική 15min + COB + Bolus IOB + Βασική ΙΟΒ + Παύση + ΜΗ ΕΓΚΥΡΟ + Ινσουλίνη + Λήξη προσ. στόχου + Κλειστό Κύκλωμα + Ανοιχτό Κύκλωμα + Αναστολή Χαμηλής Γλυκόζης + Επιβεβαίωση - + Ο μέγιστος βασικός ρυθμός περιορίζεται σε %1$.2f U/h λόγω ότι %2$s + όριο αντλίας + Περιορίζεται το μέγιστο επί τοις εκατό ποσοστό σε %1$d%% λόγω %2$s + πρέπει να είναι θετική τιμή + Περιορίζεται το bolus σε %1$.1f U λόγω %2$s + Η αντλία δεν έχει ρυθμιστεί, δεν ορίστηκε προφίλ! + Χαμηλή ενέργεια Bluetooth δεν υποστηρίζεται. + Bluetooth μη ενεργοποιημένο. + Τοποθεσία μη ενεργοποιημένη + Για την εύρεση Bluetooth σε νεότερες συσκευές, η τοποθεσία πρέπει να είναι ενεργοποιημένη. Το AAPS δεν παρακολουθεί την τοποθεσία σας και μπορεί να απενεργοποιηθεί μετά την επιτυχή σύζευξη. + Λάθος κωδικός + Οι τιμές του βασικού ρυθμού δεν αντιστοιχούν σε ώρες: %1$s + Η τιμή του βασικού αντικαταστάθηκε από την μέγιστη υποστηριζόμενη τιμή: %1$s + /U + U/h + g/U Έναρξη προφίλ %1$d%% για %2$d λεπτά - + Αφήστε τον προσωρινό ρυθμό ενεργό + Τιμή + Διάρκεια + Αιτιολογία + Δεν απαιτείται αλλαγή + Μη έγκυρο προφίλ: %1$s + Φροντίδα + Έλεγχος BG + Ανακοίνωση + Σημείωση + Ερώτηση + Άσκηση + Έναρξη Αισθητήρα CGM + Αλλαγή Προφίλ + Bolus για σνακ + Bolus Γεύματος + Διορθωτικό Bolus + Συνδυαστικό Bolus + Έναρξη Προσ Ρυθμού + Τέλος Προσ Ρυθμού + Διόρθωση Υδατανθράκων + OpenAPS εκτός σύνδεσης Οδηγός Bolus + Δάκτυλο + Αισθητήρας + Χειροκίνητα + άγνωστο Γεύμα Σύντομα Υπογλυκαιμία Άσκηση Wear Αυτοματισμός Προσαρμογή + Αντλία + Κύκλωμα + Ανάγνωση ιστορικού αντλίας + Ο χρόνος σύνδεσης έληξε + Ενεργοποιήθηκε + Σχόλιο + Επιτυχία + Ποσοστό + Απόλυτο + Ινσουλίνη + U + Περιμένετε για αποτέλεσμα + SMB + Άθροισμα TDD + Εκθετικά Σταθμισμένο TDD + Βασικός Ρυθμός + Bolus + TDD + Αναλογία + # Ημέρες + Βάρος + Πιθανώς ανακριβής όταν χρησιμοποιείτε bolus για πλήρωση/γέμισμα! + Συνολικός Βασικός Ρυθμός + TBB * 2 Διαπιστώσαμε ότι εκτελείτε μη έγκυρη έκδοση. Κύκλωμα απενεργοποιήθηκε! Έκδοση %1$s διαθέσιμη - + ΥΔΑΤΑΝΘΡΑΚΕΣ + Ενέργεια Το %1$.2f περιορίζεται σε %2$.2f + SMS + %1$.0f%% Βασικός Ρυθμός + Βασικός Ρυθμός % + χρήστης + Αποτέλεσμα: %1$s + Χαμένες + + Χρησιμοποιήστε ειδοποιήσεις συστήματος για ειδοποιήσεις και συναγερμούς + Συναγερμός έκτακτης ανάγκης + Πληροφορίες + Απουσία δικαιωμάτων SMS + + !!!!! Μικρή απορρόφηση υδατανθράκων ανιχνεύτηκε: %2$d%% της ώρας. Τσεκάρετε τους υπολογισμούς σας. COB μπορεί να υπερεκτιμήθηκε και να δόθηκε περισσότερη ινσουλίνη!!!!!]]> + Χορήγηση του αποτελέσματος αυτού του μέρους του υπολογισμού bolus [%] + Δεν έχει επιλεγεί καμία ενέργεια, δεν υπάρχει τίποτα να κάνει + + %1$d ημέρες + %1$d ημέρες + + + %1$d hour + %1$d ώρες + + + %1$d minute + %1$d λεπτά + diff --git a/core/core-main/src/main/res/values-es-rES/strings.xml b/core/core-main/src/main/res/values-es-rES/strings.xml index cfb6dcaa05..246b0ee3d3 100644 --- a/core/core-main/src/main/res/values-es-rES/strings.xml +++ b/core/core-main/src/main/res/values-es-rES/strings.xml @@ -12,14 +12,9 @@ Basal Temporal no emitida Entregando %1$.2f U Esperando bomba - Conexión por %1$d s Entregando %1$.2f U - Estableciendo comunicacion Conectando - Conectado Desconectado - Desconectando - Esperando la desconexión AAPS iniciado %1$.1f U %1$.2f U @@ -31,7 +26,6 @@ %1$d min Bomba ocupada Error de conexión de la bomba - Límite permitido alcanzado Objetivos Cerrar Por favor, espere… @@ -40,8 +34,8 @@ STOP pulsado Detener Carbohidratos [g] - ¡Perfil inválido! - NINGÚN PERFIL ACTIVO + Perfil inválido + NINGÚN PERFIL ACTIVO ]]> Fecha Unidades @@ -61,9 +55,9 @@ Última conexión Último bolo Unidades diarias - Dosis Basal + Dosis Basal Base Basal temporal - Bolo extendido + Bolo extendido Reservorio Historial de la bomba Ver perfil @@ -77,8 +71,6 @@ Vigilante de BT Desconecta el bluetooth del teléfono móvil durante un instante, si no hay conexión con la bomba. Esto ayuda con algunos teléfonos móviles que tienen problemas para establecer una conexión bluetooth estable. Emparejando - Si - No LAZO DESACTIVADO POR RESTRICCIONES Bolo %1$.2fU enviado correctamente OK @@ -108,7 +100,6 @@ Tiempo WiFi SSID Cargando … - Hora del evento Notas Eliminar Añadir nuevo @@ -148,7 +139,29 @@ ACTIVAR PERFIL reestablecer Falta el Cambio de Perfil. Haga un Cambio de Perfil o presione \"Activar perfil\" en el PerfilLocal. + Perfil + Selecciona para eliminar + ¿Estás seguro de que quieres eliminar %1$d elementos + Tratamiento + ¿Deseas crear nuevo perfil con base en éste? + Configuración del Asistente + Tendencia de los últimos 15min COB + IOB de Bolo + IOB de Basal + Pausado + INVÁLIDO + Inicio de sesión + Cebar/Llenar + Insulina + Detener objetivo temporal + Lazo cerrado + Lazo abierto + Suspensión por glucosa baja (LGS) + Confirmar + DIA + IC + ISF Limitando max basal rate a %1$.2f U/h debido a %2$s límite de la bomba @@ -156,12 +169,6 @@ tiene que ser un valor positivo Limitando el bolo a %1$.1f U debido a %2$s Bomba no iniciada, ¡perfil establecido! - - Confirmación - Mensaje - Ok - Cancelar - DESCARTAR Bluetooth de baja energía no soportado. Bluetooth Low Energy no compatible o dispositivo no emparejado. @@ -182,10 +189,8 @@ g/U Iniciar perfil %1$d%% durante %2$d min - - * Sólo se soportan valores discretos, no rangos, como entrada de datos para basal/bolo en la bomba virtual. - Cancelar basal temporal + Cancelar basal temporal Deja ejecutar basal temporal Dosis Duración @@ -207,12 +212,12 @@ Nota : %1$s Pregunta : %1$s Ejercicio : %1$s - Cambio de cánula - Inserción de sensor + Cambio de cánula + Inserción de sensor Inicio de Sensor Detener sensor MCG D.A.D Alerta - Cambio de cartucho de insulina + Cambio de cartucho de insulina Cambio de perfil Bolo de aperitivo Bolo de comida @@ -222,8 +227,8 @@ Fin Basal Temp Carbohidratos de corrección OpenAPS sin conexión - Cambiar batería de bomba - Objetivo temporal + Cambio batería bomba + Objetivo temporal Valor objetivo temporal Cancelar Objetivo temporal Asistente de bolo @@ -273,7 +278,6 @@ Basal diaria *2 Detección de tiempo - %1$dhoras %2$dmin Silenciar por 5 minutos exportado hace %1$s @@ -305,14 +309,6 @@ La versión %1$s expira el %2$s Por favor, reinicia el teléfono o AAPS desde los ajustes del sistema \nde lo contrario AAPS no guardará registros (importante para trazar y verificar que el algoritmo está funcionando correctamente) - - L - M - M - J - V - S - D BOLO CALCULADOR DE BOLO @@ -443,7 +439,6 @@ KeepAlive: Basal desactualizada SMS Pulsa sobre conectar a la bomba - Controlador de bomba cambiado Cambio del controlador de la bomba Dispositivo cambiado Refresco pulsado @@ -454,8 +449,6 @@ Bolo OK Bomba emparejada Botón de refresco de Insight - decrecimiento %1$s por %2$s - incremento %1$s por %2$s %1$.0f%% Basal Basal % @@ -514,9 +507,38 @@ Ejecutar Autotune y cambiar de perfil automáticamente Error durante la última ejecución de Autotune Se ha detectado otra ejecución de Autotune, ejecución cancelada - La aplicación necesita permiso de bluetooth + + Usa las notificaciones del sistema para las alarmas y las notificaciones + Alarma urgente + INFORMACIÓN Faltan permisos de SMS + + Asistente de bolo + Tienes la glucosa alta. En lugar de comer ahora, se recomienda esperar a tener un mejor valor de glucosa. ¿Quieres poner un bolo de corrección ahora y recibir un aviso cuando sea un buen momento para comer? En este caso no se registrarán los carbohidratos y deberás utilizar el asistente de bolos después de recibir la notificación. + COB vs IOB + ¡Se ha detectado una absorción lenta de carbohidratos: %2$d%% de tiempo. Comprueba de nuevo el cálculo. Los COB se pueden sobrestimar, por lo que se podría administrar más insulina de la cuenta!]]> + Administrar esta parte del resultado del asistente de bolos [%] + Restricción de bolo aplicada: %1$.2f U a %2$.2f U + El bolo sólo se anotará (no será entregado por la bomba) + Ejecutar alarma cuando sea hora de comer + No se ha seleccionado ninguna opción, por lo que no se realizará ningún cambio + ¡No hay valor de glucosa reciente en el que basar el cálculo! + ¡No hay perfil activo! + COB desconocido! ¿Valor de glucosa ausente o reincio reciente de la aplicación? + ¡Violación de restricción de carbohidratos! + Calcular (IC: %1$.1f, ISF: %2$.1f) + Carbohidratos: %1$.2fU + COB: %1$.0fg %2$.2fU + BG: %1$.2fU + IOB: %1$.2fU + Superbolo: %1$.2fU + Tendencia 15\': %1$.2fU + Porcentaje: %1$.2fU x %2$d%% ≈ %3$.2fU + ¡Violación de restricciones de insulina!\nNo se puede entregar %1$.2fU + BasalT: %1$s + %1$s a %2$s + ¡No hay bomba disponible! %1$d día %1$d días diff --git a/core/core-main/src/main/res/values-es-rES/validator.xml b/core/core-main/src/main/res/values-es-rES/validator.xml index d3d8fb4792..2a163e8297 100644 --- a/core/core-main/src/main/res/values-es-rES/validator.xml +++ b/core/core-main/src/main/res/values-es-rES/validator.xml @@ -7,7 +7,7 @@ Este campo no puede estar vacío Dirección de correo electrónico no válida Número de tarjeta de crédito inválido - Número de teléfono inválido + Número de teléfono no válido Nombre de dominio inválido Dirección IP inválida Dirección web inválida diff --git a/core/core-main/src/main/res/values-fr-rFR/strings.xml b/core/core-main/src/main/res/values-fr-rFR/strings.xml index 1fcf1af65e..2078fc1410 100644 --- a/core/core-main/src/main/res/values-fr-rFR/strings.xml +++ b/core/core-main/src/main/res/values-fr-rFR/strings.xml @@ -12,14 +12,9 @@ Erreur injection basal temporaire %1$.2f U vont être injectées Attente connection pompe - Connexion en cours : %1$d sec. %1$.2f U ont été injectées - Connexion - Connection en cours - Connectée + Connexion en cours Déconnectée - Déconnexion en cours - Attente de déconnexion AAPS démarré %1$.1f U %1$.2f U @@ -31,7 +26,6 @@ %1$d min Pompe occupée Erreur connection pompe - Limite autorisée atteinte Objectifs Fermer Merci de patienter... @@ -40,8 +34,8 @@ ARRÊT APPUYÉ Arrêt Glucides - Profil incorrect! - PAS DE PROFIL SELECTIONNÉ + Profil incorrect! + PAS DE PROFIL SELECTIONNÉ ]]> Date Unités @@ -61,9 +55,9 @@ Dernière connexion Dernier bolus Unités quotidiennes - Débit de Basal + Débit de Basal Basal temporaire - Bolus étendu + Bolus étendu Réservoir Historique pompe Consulter le profil @@ -77,8 +71,6 @@ BT Watchdog Coupe le Bluetooth du téléphone une seconde si la connexion pompe n’est pas possible. Cela peut aider pour les téléphones dont la connexion Bluetooth se bloque. Appairage - Oui - Non BOUCLE DÉSACTIVÉE PAR RESTRICTIONS Bolus de %1$.2f U délivré avec succès OK @@ -108,7 +100,6 @@ Heure SSID WiFi Chargement… - Heure événement Notes Supprimer Ajouter @@ -158,19 +149,26 @@ GA IA Bolus IA Basal + En pause + INVALIDE + Connexion + Amorcer/Remplir + Insuline + Arrêter la cible temp + Boucle Fermée + Boucle Ouverte + Arrêt Glycémie Basse + Confirmer + DAI + G/I + SI Limiter le débit de basal max à %1$.2f U/h à cause de %2$s Limite de la pompe Limiter le pourcentage max à %1$d%% à cause de %2$s la valeur doit être positive - Limiter le Bolus à %1$.1f U à cause de %2$s + Bolus limité à %1$.1f U à cause de %2$s Pompe non initialisée, profil non défini ! - - Confirmation - Message - OK - Annuler - REJETER Bluetooth Low Energy non pris en charge. Bluetooth Low Energy non pris en charge ou appareil non appairé. @@ -191,10 +189,8 @@ g/U Démarrer le profil %1$d%% pour %2$d min - - * Uniquement les valeurs unitaires sont acceptées. Les plages pour les basal/bolus ne sont pas supportées par les pompes virtuelles. - Annuler Basal Temp + Annuler Basal Temp Laisser démarrer le Basal Temp Débit Durée @@ -216,12 +212,12 @@ Note : %1$s Question : %1$s Exercice : %1$s - Changement de site - Insertion Capteur MGC + Changement de site + Insertion Capteur MGC Démarrage Capteur MGC Arrêt capteur MGC Chien d\'alerte - Changement du réservoir + Changement du réservoir Changement de profil Bolus Goûter Bolus Repas @@ -231,8 +227,8 @@ Fin Basal Temp Ressucrage OpenAPS hors ligne - Changement pile pompe - Cible Temp + Changement pile pompe + Cible Temp Valeur de Cible Temporaire Annuler Cible Temporaire Assistant Bolus @@ -278,11 +274,10 @@ Pondération Peut être inexact si des bolus sont utilisés pour l’amorçage et le remplissage ! Données anciennes, appuyez sur \"Actualiser\" - Basal Totale (TBB) + Basal Totale (DTB) DTB*2 Détection de temps - %1$dh%2$dm Muet pendant 5 minutes exporté il y a %1$s @@ -314,14 +309,6 @@ La version %1$s expire le %2$s Veuillez redémarrer votre téléphone ou redémarrer AAPS à partir des Paramètres du système\nsinon AAPS ne sera pas connecté aux journaux (important pour suivre et vérifier que les algorithmes fonctionnent correctement)! - - L - M - M - J - V - S - D BOLUS ASSISTANT BOLUS @@ -452,7 +439,6 @@ Cnx Active. Basale obsolète SMS Cnx à la pompe demandée - Pilote pompe changé. Changement pilote pompe. Appareil changé Actualisation demandée @@ -463,8 +449,6 @@ Bolus OK Pompe appairée Actualisation état Insight - réduire %1$s par %2$s - incrémenter %1$s par %2$s %1$.0f%% Basal Basal % @@ -523,9 +507,38 @@ Autotune exécuté et le profil automatiquement activé Erreur lors de la dernière exécution d\'Autotune Une autre exécution d\'Autotune est détectée, l\'exécution est annulée - L\'application a besoin de l\'autorisation Bluetooth + + Utiliser les notifications système pour les alertes et les notifications + Alarme d\'urgence + INFO Autorisation SMS manquante + + Assistant bolus + Vous avez une glycémie élevée. Au lieu de manger maintenant, il est recommandé d\'attendre une meilleure glycémie. Voulez-vous faire un bolus de correction maintenant et avoir une alerte quand il sera temps de manger ? Dans ce cas, aucun glucide ne sera enregistré et vous devrez utiliser l\'assistant à nouveau lorsque nous vous le rappelons. + GA vs IA + !!!!! Absorption lente des glucides détectée : %2$d%% du temps. Vérifiez de nouveau votre calcul. Les GA (Glucides Actifs) peuvent être surestimés et alors plus d\'insuline pourrait être délivré !!!!!]]> + Injecter ce pourcentage du bolus calculé par l’assistant [%] + Contrainte de Bolus appliquée : %1$.2f U vers %2$.2f U + Les bolus seront seulement enregistrés (pas délivrés par la pompe) + Alerter quand il est temps de manger + Aucune action sélectionnée, rien ne se passera + Pas de glycémie récente pour calculer ! + Aucun profil activé ! + GA inconnu! glycémie manquante ou démarrage récent de l\'application ? + Violation de contrainte des glucides! + Calcul (G/I: %1$.1f, SI: %2$.1f) + Glucides : %1$.2fU + GA: %1$.0fg %2$.2fU + Gly: %1$.2fU + IA: %1$.2fU + Superbolus : %1$.2fU + tendance 15\': %1$.2fU + Pourcentage : %1$.2fU x %2$d%% ≈ %3$.2fU + Violation de contrainte d\'insuline!\nImpossible de délivrer %1$.2fU + Cible Temp: %1$s + %1$s vers %2$s + Aucune pompe disponible! %1$d jour %1$d jours diff --git a/core/core-main/src/main/res/values-fr-rFR/validator.xml b/core/core-main/src/main/res/values-fr-rFR/validator.xml index e4b9589d21..652b24fb88 100644 --- a/core/core-main/src/main/res/values-fr-rFR/validator.xml +++ b/core/core-main/src/main/res/values-fr-rFR/validator.xml @@ -1,6 +1,6 @@ - Seuls les chiffres sont autorisés. + Seuls les chiffres sont autorisés Seuls les chiffres entre %1$s et %2$s sont autorisés. Ce champ ne doit pas contenir de caractères spéciaux Seules les lettres sont autorisées diff --git a/core/core-main/src/main/res/values-ga-rIE/strings.xml b/core/core-main/src/main/res/values-ga-rIE/strings.xml index 0e45f9fc57..b84f268e17 100644 --- a/core/core-main/src/main/res/values-ga-rIE/strings.xml +++ b/core/core-main/src/main/res/values-ga-rIE/strings.xml @@ -2,34 +2,164 @@ + Athnuachan + Earráid + Sábháil + Ag fanacht do caidéil + Ag seachadadh %1$.2f A + Ag nascadh + Dínasctha + %1$.1f A + %1$.2f A + %1$+.2f A + %1$d g + %1$.0f / %2$d A + %1$.2f A/u + %1$.2f u + %1$d nóim + Dún + Balbh + Athlódáil + Stad + Carbí + Dáta + Aonaid + DIA + IC + ISF + Bunaidh + Cuspóir + Bunaidh ráta + Tosaithe ... + Sraithuimhir + Ceallraí + Nasc deiridh + Bólas deiridh + Aonaid lá + Bunaidh ráta bonn + Taiscumar + Stair caidéil + mg/dL + mmol/l + g + Bluetooth + LÚB DÍCHUMASAITHE LE SRIANTA + Ceart go leor + Scoir + Is lúb díchumasaithe + Aláram + Díchumasaigh lúb + Cumasaigh lúb + Lúb Atosú + Fionraí lúb + Fad [min] + Glúcóis + IOB + COB + Ainm: + Am + WiFi SSID + Nótaí + Cuir nua + BG + Calabrú + Fad g Caidéil ar fionraí Lúb ar fionraí + ard + íseal TDD Lomlán Próifíl + COB + Bólas IOB + Bunaidh IOB + Inslin + Lúb dúnta + Lúb oscailte + DIA + IC + ISF - + /A + A/u + g/A - + Ráta + Fad + Cúis + Próifíl neamhbhailí: %1$s + %1$d nóim + Fógra + Nóta + Ceist + Cleachtadh + Méar + Braiteoir + Gníomhaíocht + Caidéil + Lúb + Léigh stair caidéil + Tuairim + Rathúlacht + Faoin gcéad + Iomlán + Inslin + A + SMB + Bunaidh + Bólas + TDD + Cóimheas + # Lá + TBB * 2 - + Gníomh + SMS + %1$.0f%% + Bunaidh + Bunaidh % + Toradh: %1$s + + + + %1$d lá + %1$d lá + %1$d lá + %1$d lá + %1$d lá + + + %1$d uair + %1$d uair + %1$d uair + %1$d uair + %1$d uair + + + %1$d nóiméad + %1$d nóiméad + %1$d nóiméad + %1$d nóiméad + %1$d nóiméad + diff --git a/core/core-main/src/main/res/values-hr-rHR/strings.xml b/core/core-main/src/main/res/values-hr-rHR/strings.xml index e2412b4093..661edc85cb 100644 --- a/core/core-main/src/main/res/values-hr-rHR/strings.xml +++ b/core/core-main/src/main/res/values-hr-rHR/strings.xml @@ -2,31 +2,322 @@ + Osvježi + Greška + Spremi + Nije postavljeno + Ažuriranje bazalnog profila nije uspjelo + Ažuriran bazalni profil u pumpi + Nevažeći ulazni podaci + Pogreška isporuke temp bazala + Isporučit ću %1$.2f U + Čekanje pumpe + Isporuka %1$.2f U + Povezivanje + Odspojen + AAPS je počeo + %1$.1f U + %1$.2f U + %1$+.2f U + %1$d g + %1$.0f / %2$d U + %1$.2f U/h + %1$.2f h + %1$d mins + Pumpa je zauzeta + Greška u spajanju pumpe + Ciljevi Zatvori + Molimo pričekajte… + Isključi zvuk + Ponovno učitaj + STOP PRITISNUT + Zaustavi + UH + ]]> + Datum + Jedinice + DIA + IC + ISF + Bazal + Cilj + Trajanje djelovanja inzulina + Omjer inzulina i ugljikohidrata + Faktor osjetljivosti na inzulin + Bazalna stopa + Ciljana razina glukoze u krvi + Pokretanje... + Serijski broj + Baterija + Zadnja uspostava veze + Zadnji bolus + g + Pumpa nedostupna + Izlaz + Aktivni inzulin + Aktivni UGH + Ukloniti + GUK + Kalibracija + Uključi alarm za %1$d min + Bolus je prijavio pogrešku. Ručno provjerite stvarni isporučeni iznos + Podsjetnik za bolus + Trajanje + g + Petlja suspendirana + Strelica trenda + Auto sens + n/a + potrebno + brzo padajući + padanje + polako padanje + stabilan + diže se polako + rastuće + brzo raste + none + nepoznato + visoko + u rasponu + nisko + Prosječno + TIR + TDD Total + ]]> + UKLONITI + Aktiviraj profil + reset + ProfileSwitch nedostaje. Promijenite profil ili pritisnite \"Aktiviraj profil\" u lokalnom profilu. + Profil + Odaberite za uklanjanje + Jeste li sigurni da želite ukloniti %1$d stavke + Tretman + Napraviti novi profil iz ovog profila? + Postavke čarobnjaka + 15min trend + Aktivni UGH + Bolus IOB + Bazalni aktivni inzulin + Pauzirano + GREŠKA + Login + DIA + IC + ISF - - Otkaži + Ograničavanje maksimalne bazalne doze na %1$.2f U/h zbog %2$s + ograničenje pumpe + Ograničavanje maksimalne postotne stope na %1$d%% zbog %2$s + mora biti pozitivna vrijednost + Ograničavanje bolusa na %1$.1f U zbog %2$s + Pumpa nije pokrenuta, profil nije postavljen! + Bluetooth Low Energy nije podržan. + Bluetooth Low Energy nije podržan ili uređaj nije uparen. + Bluetooth nije omogućen. + Lokacija nije omogućena + Da bi Bluetooth otkrivanje radilo na novijim uređajima, lokacija mora biti omogućena. AAPS ne prati vašu lokaciju i može se onemogućiti nakon uspješnog uparivanja. + Pogrešna lozinka + Pogrešan PIN + Lozinke se ne podudaraju + PIN-ovi se ne podudaraju + Bazalne vrijednosti nisu usklađene sa satima: %1$s + Bazalna vrijednost zamijenjena minimalnom podržanom vrijednošću: %1$s + Bazalna vrijednost zamijenjena maksimalnom podržanom vrijednošću: %1$s + /U + U/h + g/U - + Pokrenite profil %1$d%% na %2$d min + Pustite privremeni bazal da radi + Stopa + Trajanje + Razlog + Zamjena profila + Senzor + Pumpa + Uspješno + Postotak + Apsolutna + Inzulin + U + Čekanje rezultata + SMB + %1$d g dodatnih ugljikohidrata potrebnih unutar %2$d minuta + Statistika + Kumulativni TDD + Eksponencijalno ponderirani TDD + Bazal + Bolus + TDD + Omjer + # dana + Težina + Moguće netočno ako se koriste bolusi za pripremu/punjenje! + Stari podaci, pritisnite \"UČITAJ PONOVNO\" + Ukupna baza bazala + TBB * 2 + Detekcija vremena + Isključite zvuk na 5 minuta + izvezeno prije %1$s + izvezeno u %1$s + izvezeno prije manje od sat vremena + na lokaciji: %1$s + Odaberite datoteku za uvoz + Postavke su stvorene s drugom varijantom AAPS-a (%1$s) dok vi imate: %2$s.\n\nNeke postavke možda nedostaju ili su nevažeće - nakon uvoza provjerite i ažurirajte svoje postavke. + Postavke su stvorene na drugom uređaju. U redu je ako uvozite sa starijeg/drugog telefona, ali provjerite jesu li uvezene postavke točne! + Koristite zastarjeli naslijeđeni format iz starih verzija AAPS-a, koji nije siguran! Koristite ga samo u krajnjem slučaju, ako nemate izvoz u trenutnom, JSON formatu. + Uvezene postavke stare su već %1$s dana! Možda imate ažurnije postavke ili ste odabrali pogrešnu datoteku? Ne zaboravite redovito izvoziti postavke! + Nevažeći format datuma i vremena! + Postavke iz različite manje verzije aplikacije. U redu je ako uvozite nakon nadogradnje, ali nakon uvoza provjerite jesu li postavke još uvijek točne! + Postavke iz različitih glavnih verzija aplikacije. Glavne verzije se značajno razlikuju i mogu imati nekompatibilne postavke! Provjerite jesu li postavke još uvijek točne nakon uvoza! + Datoteka postavki neovlašteno mijenjana + Datoteka postavki je sigurna + Korištenje nesigurnog, nekriptiranog formata postavki + Pogreška JSON formata, nedostaje obavezno polje (format, sadržaj, metapodaci ili sigurnost) + Pogreška dešifriranja, dana lozinka ne može dešifrirati datoteku + Nedostaje kontrolni zbroj datoteke (hash), ne može se provjeriti autentičnost postavki! + Datoteka je izmijenjena nakon izvoza! + Pogreška dešifriranja, postavke raščlambe nisu uspjele! + Pogreška dešifriranja, navedena lozinka je nevažeća ili je datoteka postavki izmijenjena! Može se dogoditi da je uvezena datoteka izvezena s drugom glavnom lozinkom. + Nedostaje konfiguracija enkripcije, format postavki nije valjan! + Algoritam šifriranja nije podržan ili nije naveden! + Otkrili smo da koristite nevažeću verziju. Petlja onemogućena! + Dostupna je verzija %1$s + Verzija %1$s ističe %2$s - + Ponovno pokrenite telefon ili ponovno pokrenite AAPS iz postavki sustava \n u suprotnom Android APS neće imati zapisivanje (važno je pratiti i provjeriti rade li algoritmi ispravno)! + BOLUS + BOLUS KALKULATOR + TRETMAN UKLONJEN + PRIVREMENI CILJ UKLONJEN + NS PAUZIRAN + NS NASTAVAK RADA + NS RED ČEKANJA OBRISAN + NS POSTAVKE KOPIRANE + DIJALOG POGREŠKE OK + ISKLJUČIVANJE DIJALOGA POGREŠKE + DIJALOG POGREŠKE ISKLJUČEN 5MIN + CILJ POČEO + CILJ NIJE STARTAN + CILJEVI PRESKOČEN + STAT RESET + IZBRIŠI DNEVNIKE + IZBRIŠITE BUDUĆE TRETMANE + Izbrišite buduće tretmane + IZVOZ POSTAVKI + UVOZ POSTAVKI + RESETIRAJ BAZE PODATAKA + ČIŠĆENJE BAZA PODATAKA + IZVOZ BAZA PODATAKA + UVOZ BAZA PODATAKA + OTP IZVOZ + OTP RESET + STOP SMS + IZVOZ KORISNIČKIH UNOSA + START AAPS + UGASI AAPS + DODATAK OMOGUĆEN + PLUGIN ONEMOGUĆEN + NEPOZNATO + Niz + Izvor + UTC pomak + Aktivnost + Vremenska oznaka + Nema uređaja + Izvoz korisničkih unosa u Excel (csv) + PETLJA PROMIJENJENA + PETLJA UKLONJENA + OSTALO + Profil niski cilj + Profil visoki cilj + Privremena ciljana donja vrijednost + Privremena ciljna gornja vrijednost + Privremena ciljna vrijednost + Profil DIA vrijednost + Vrijednost osjetljivosti profila + Maksimalna bazalna vrijednost profila + Trenutna bazalna vrijednost + Vrijednost omjera ugljikohidrata profila + AAPSClient verzija ne odgovara verziji AAPS. Molimo ažurirajte. + %1$.0f%% + datoteka + korisnik + Omogućite samo ako ste pouzdano unijeli sve pojedene ugljikohidrate, uz ovu opciju iznenadna povećanja koja vidi Autotune koristit će se za preporučivanje promjena bazalne doze. + Podesite krivulju inzulina + Omogućite samo ako koristite besplatni vrh. Ova opcija će podesiti trajanje vršne vrijednosti i DIA + Broj dana podataka + Primijeni prosječni rezultat u cirkadijanskom IC/ISF + Autotune neće ugoditi cirkadijalne varijacije, ova opcija samo primjenjuje prosječno ugađanje IC i ISF na vaš cirkadijalni ulazni profil + Uključite više podataka dnevnika za otklanjanje pogrešaka + Uključite samo ako razvojni programer to zatraži za slanje više informacija o dnevniku za pomoć u otklanjanju pogrešaka dodatka Autotune + Zadani broj dana podataka koje će obraditi Autotune (do 30) + Ugođen + Profile : + Dani prilagodbe: + Zadnje izvođenje: + Upozorenje: + Odaberite profil za podešavanje + Odabrani profil ima %1$d IC vrijednosti. Autotune će koristiti %2$.2f g/U + Odabrani profil ima %1$d ISF vrijednosti. Autotune će koristiti %2$.1f %3$s/U + Pogreška u unosu podataka, pokušajte ponovno pokrenuti automatsko podešavanje ili smanjite broj dana + Autotune izračun je započeo, molimo za strpljenje + Prije uporabe pažljivo provjerite rezultate! + Djelomični rezultat dan %1$d / %2$d podešeno + Rezultat: %1$s + Param + % + Nedostaje + Automatsko podešavanje profila %1$s + Pokrenite Autotune + Provjerite ulazni profil + Usporedite profile + Kopiraj na lokalni profil + Ažurirajte ulazni profil + Vrati profil unosa + Napraviti novi lokalni profil iz ovog Autotune profila? + Želite li ažurirati %1$s profil pomoću Autotune profila? + Vratiti profil %1$s s profilom unosa? + Profil nije valjan + Autotune je odradio bez promjene profila + Autotune je pokrenut i profil se automatski promijenio + Pogreška tijekom zadnjeg pokretanja automatskog podešavanja + Otkriveno je još jedno pokretanje Autotunea, pokretanje je otkazano + + Koristite obavijesti sustava za upozorenja i obavijesti + Hitan alarm + INFO + Nedostaje dopuštenje za SMS + + Savjetnik za bolus + Imate visoku glikemiju. Umjesto da jedete sada, preporuča se pričekati bolju glikemiju. Želite li sada napraviti korekcijski bolus i podsjetiti vas kada je vrijeme za jelo? U ovom slučaju neće biti zabilježeni ugljikohidrati i morate ponovno koristiti čarobnjaka kada vas podsjetimo. + Nije odabrana radnja, ništa se neće dogoditi + Calc (IC: %1$.1f, ISF: %2$.1f) + IOB: %1$.2fU + + %1$d dan + %1$d dana + %1$d dana + diff --git a/core/core-main/src/main/res/values-hu-rHU/protection.xml b/core/core-main/src/main/res/values-hu-rHU/protection.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-hu-rHU/protection.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-hu-rHU/strings.xml b/core/core-main/src/main/res/values-hu-rHU/strings.xml index 4e19db8e43..3d7ed0b687 100644 --- a/core/core-main/src/main/res/values-hu-rHU/strings.xml +++ b/core/core-main/src/main/res/values-hu-rHU/strings.xml @@ -2,36 +2,127 @@ + Frissítés + Hiba + Nincs beállítva + Várakozás pumpára + %1$.1f E + %1$.2f E + %1$+.2f E + Kérem várjon… + Némít + Újratölt + Leállít + DIA + Bázis + Cél + Bázisütem + Inicializálás ... + Sorozatszám + g + % + Bluetooth + BT Watchdog + Párosítás + OK + Pumpa nem elérhető Pumpa idő frissítve + Kilép + Riasztás + Időtartam [min] + Értesítés + létezik + nem létezik + Glükóz + COB + Név: + Idő + WiFi SSID + Betöltés… + Eltávolít + Új hozzáadása + VC + Kalibrálás + Bólus emlékeztető + Időtartam + g Nincs beállítva Trendnyil + n/a + semmi + ismeretlen + magas + alacsony Átlag TIR ELTÁVOLÍT + Profil + COB + Bázis IOB + Inzulin + Alacsony SZG felfüggesztés + DIA - + Hibás jelszó + Jelszavak nem egyeznek + + E/ó + g/E - + Időtartam + Careportal + Közlemény + Kérdés + Szenzor + ismeretlen + Wear + Automatizálás + Egyéni + Pumpa + Loop + NS + Pumpa előzmények lekérése + Pumpa ikon + Inzulin + Е + Bázis + Bólus + TND + Súly - + BÓLUS MEGSZAKÍT + %1$.0f%% Bázis + Bázis % + Profilok összehasonlítása + + INFO + + + %1$d nap + %1$d nap + + + %1$d óra + %1$d óra + diff --git a/core/core-main/src/main/res/values-it-rIT/strings.xml b/core/core-main/src/main/res/values-it-rIT/strings.xml index 7b469ec1db..65dd48a5a2 100644 --- a/core/core-main/src/main/res/values-it-rIT/strings.xml +++ b/core/core-main/src/main/res/values-it-rIT/strings.xml @@ -12,14 +12,9 @@ Errore erogazione basale temporanea Sto per erogare %1$.2f U In attesa del micro - In connessione per %1$d s Erogazione di %1$.2f U - Connessione Connessione - Connesso Disconnesso - Disconnessione - In attesa della disconnessione AAPS avviato %1$.1f U %1$.2f U @@ -31,7 +26,6 @@ %1$d min Il micro è occupato Errore connessione micro - Limite consentito raggiunto Obiettivi Chiudi Attendi… @@ -40,8 +34,6 @@ STOP PREMUTO Stop CHO - Profilo non valido! - NESSUN PROFILO IMPOSTATO ]]> Data Unità @@ -61,9 +53,9 @@ Ultima connessione Ultimo bolo Unità giornaliere - Velocità basale originale + Velocità basale originale Basale temporanea - Bolo Esteso + Bolo Esteso Serbatoio Storico micro Visualizza profilo @@ -77,8 +69,6 @@ BT Watchdog Spegne il bluetooth del telefono per qualche secondo se non è possibile alcuna connessione al micro. Questo può essere utile su alcuni telefoni. Associazione - - No LOOP DISABILITATO DAI VINCOLI Bolo di %1$.2f U erogato con successo OK @@ -108,19 +98,23 @@ Tempo WiFi SSID Caricamento… - Ora evento Note Rimuovi Aggiungi nuovo Aggiungi nuovo sopra I dati arrivano da un micro differente. Cambia il driver del micro per resettarne lo stato. + BG + Calibrazione Esegui allarme in %1$d min Segnalato errore sul bolo. Controlla manualmente la reale quantità erogata + Promemoria bolo + Durata g Micro sospeso Non configurato Loop sospeso Freccia trend + Asuto sens n/a ric discesa rapida @@ -144,6 +138,27 @@ reset Nessun cambio profilo. Effettua un cambio profilo o premi \"Attiva profilo\" nella sezione Profilo locale. Profilo + Seleziona per la rimozione + Sicuro di voler eliminare %1$d elementi + Trattamento + Creare un nuovo profilo da questo profilo? + Impostazioni Calcolatore + Trend di 15min + COB + IOB da bolo + IOB da basale + In pausa + NON VALIDO + Login + Insulina + Stoppa temp-target + Loop chiuso + Loop aperto + Sospensione a glicemia bassa (LGS) + Conferma + DIA + IC + ISF Limitazione max velocità basale a %1$.2f U/h a causa di: %2$s limite micro @@ -151,12 +166,6 @@ deve essere un valore positivo Limitazione bolo a %1$.1f U a causa di: %2$s Micro non inizializzato, profilo non impostato! - - Conferma - Messaggio - OK - Annulla - RIMUOVI Bluetooth Low Energy non supportato. Bluetooth Low Energy non supportato o dispositivo non associato. @@ -177,10 +186,7 @@ g/U Avvia profilo %1$d%% per %2$d min - - * Sono supportati solo valori discreti, non intervalli di valori, come incrementi per basale/bolo nel micro virtuale. - Cancella basale temporanea Lascia eseguire la basale temporanea Tasso Durata @@ -202,12 +208,9 @@ Nota : %1$s Domanda : %1$s Esercizio : %1$s - Cambio posizione cannula - Inserimento sensore Avvio sensore Arresto Sensore CGM Avviso D.A.D. - Cambio cartuccia insulina Cambio profilo Bolo spuntino Bolo pasto @@ -217,8 +220,6 @@ Fine basale temporanea Correzione con CHO OpenAPS Offline - Cambio batteria micro - Target temporaneo Valore target temporaneo Cancellazione temp-target Calcolatore @@ -268,7 +269,6 @@ TBB * 2 Rilevamento tempo - %1$dh %2$dm Muto per 5 minuti esportato %1$s fa @@ -300,14 +300,6 @@ Versione: %1$s | Scadenza: %2$s Riavvia il tuo telefono oppure fai ripartire AndroidAPS dalle impostazioni di sistema \naltrimenti Android APS non farà il log (è importante monitorare e verificare che gli algoritmi stiano funzionando correttamente)! - - L - M - M - G - V - S - D BOLO CALCOLATORE BOLO @@ -438,7 +430,6 @@ KeepAlive. Basale obsoleta. SMS Connetti al micro: cliccato - Driver micro cambiato. Cambio driver micro. Dispositivo cambiato Aggiorna: cliccato @@ -449,8 +440,6 @@ Bolo OK Micro associato Tasto aggiornamento Insight - decremento %1$s di %2$s - incremento %1$s di %2$s %1$.0f%% Basale % basale @@ -509,8 +498,34 @@ Autotune eseguito e profilo cambiato automaticamente Errore durante l\'ultima esecuzione di Autotune È stata rilevata un\'altra esecuzione di Autotune, esecuzione annullata - L\'applicazione richiede l\'autorizzazione bluetooth + + Usa le notifiche di sistema per gli avvisi + Allarme urgente + INFO + Autorizzazione SMS mancante + + COB vs IOB + !!!!! Rilevato assorbimento lento dei carboidrati: %2$d%% del tempo. Ricontrolla il tuo calcolo. COB potrebbero essere sovrastimati e potrebbe essere somministrata più insulina !!!!!]]> + Eroga parte del risultato del calcolatore [%] + Esegui allarme quando è tempo di mangiare + Nessuna azione selezionata, non succederà nulla + Nessun recente valore BG su cui basare il calcolo! + Nessun profilo attivo! + Valore COB sconosciuto! Lettura BG mancante o recente riavvio dell\'app? + Violazione vincolo CHO! + Calc (IC: %1$.1f, ISF: %2$.1f) + CHO: %1$.2fU + COB: %1$.0fg %2$.2fU + BG: %1$.2fU + IOB: %1$.2fU + Superbolo: %1$.2fU + Trend di 15\': %1$.2fU + Percentuale: %1$.2fU x %2$d%% ≈ %3$.2fU + Violazione vincolo insulina!\nImpossibile erogare %1$.2fU + TempT: %1$s + %1$s a %2$s + Nessun micro disponibile! %1$d giorno %1$d giorni diff --git a/core/core-main/src/main/res/values-iw-rIL/protection.xml b/core/core-main/src/main/res/values-iw-rIL/protection.xml index 3ea04e700d..87de6854cf 100644 --- a/core/core-main/src/main/res/values-iw-rIL/protection.xml +++ b/core/core-main/src/main/res/values-iw-rIL/protection.xml @@ -1,2 +1,4 @@ - + + שחרור נעילת הגדרות + diff --git a/core/core-main/src/main/res/values-iw-rIL/strings.xml b/core/core-main/src/main/res/values-iw-rIL/strings.xml index 727cdd284f..3d97060a0d 100644 --- a/core/core-main/src/main/res/values-iw-rIL/strings.xml +++ b/core/core-main/src/main/res/values-iw-rIL/strings.xml @@ -12,14 +12,10 @@ שגיאת אספקה של בזאלי זמני עומד להזריק %1$.2f יח\' ממתין למשאבה - מתחבר במשך %1$d שניות מזריק %1$.2f יח\' - לוחץ יד מתחבר - מחובר מנותק - מתנתק - ממתין לניתוק + הופעל AndroidAPS %1$.1f יח\' %1$.2f יח\' %1$+.2f יח\' @@ -38,7 +34,6 @@ עצור נלחץ! עצור פחמימות - לא הוגדר פרופיל ]]> תאריך יחידות @@ -50,6 +45,7 @@ משך פעילות האינסולין יחס אינסולין-פחמימות יחס התיקון (ISF) + מינון בזאלי ערך מטרה מאתחל... מספר סידורי @@ -57,9 +53,9 @@ התחברות אחרונה בולוס אחרון יחידות יומיות - מינון בזאלי בסיסי + בזאלי בסיסי בזאלי זמני - בולוס ממושך + בולוס ממושך מכל היסטוריית המשאבה הצג פרופיל @@ -73,8 +69,6 @@ BT Watchdog מכבה את הבלוטות\' של הטלפון לשנייה אחת אם לא ניתן לתקשר עם המשאבה. זה עשוי לעזור במס\' דגמי טלפונים שבהם מערכת הבלוטות\' קופאת. מצמד - כן - לא הלולאה הופסקה עקב המגבלות שבתוקף בולוס %1$.2f יח\' ניתן בהצלחה אישור @@ -104,22 +98,67 @@ זמן WiFi SSID טוען… - זמן האירוע הערות הסרה הוסף חדש הוסף חדש למעלה הנתונים מגיעים ממשאבה אחרת. בחרו מחדש את סוג המשאבה כדי לאפס את מצב המשאבה. + BG + כיול הפעל התראה בעוד %1$d דקות דווחה שגיאה בבולוס. נא לבדוק את הכמות שהוזרקה באופן ידני + תזכורת בולוס + משך גר\' משאבה מושהית לא מוגדר לולאה מושהית + חץ מגמה + חישוב רגישות אוטומטי (Autosens) + לא זמין + נדרשים + ירידה מהירה + ירידה + ירידה איטית + יציב + עלייה איטית + עלייה + עלייה מהירה + ללא + לא ידוע + גבוה + בטווח + נמוך + ממוצע + זמן בטווח + מינון יומי מצטבר כולל ]]> הסר הפעלת פרופיל איפוס + שינוי פרופיל חסר. אנא החליפו פרופיל או לחצו על \"הפעל פרופיל\" בפרופיל המקומי. + פרופיל + בחרו להסרה + האם אתם בטוחים שברצונכם להסיר %1$d פריטים? + טיפול + ליצור פרופיל מקומי חדש מפרופיל זה? + הגדרות אשף + מגמת 15 דקות + פחמ\' פעילות + בולוס פעיל + בזאלי פעיל + מושהה + לא חוקי + התחברות + אינסולין + הפסקת ערך מטרה זמני + לולאה סגורה + לולאה פתוחה + השהיה עקב ערך סוכר נמוך + אישור + משך פעילות אינסולין + IC + ISF מגביל את הקצב הבזאלי המרבי ל-%1$.2f יח\' לשעה בגלל %2$s מגבלת משאבה @@ -127,12 +166,6 @@ זה חייב להיות ערך חיובי מגביל בולוס ל-%1$.1f יח\' בגלל %2$s משאבה לא אותחלה! לא נקבע פרופיל! - - אישור - הודעה - אישור - ביטול - בטל בלוטות\' באנרגיה נמוכה לא נתמך. בלוטות\' באנרגיה נמוכה (BLE) לא נתמך או שהמכשיר אינו מזווג. @@ -146,16 +179,14 @@ קודי PIN אינם תואמים ערכי הבזאלי לא מותאמים לשעות: %1$s + ערכי הבזאלי הוחלפו בערכים הנתמכים המינימליים: %1$s ערכי הבזאלי הוחלפו בערכים הנתמכים המינימליים: %1$s /יח\' יח\'\\שעה גר\'\\יח\' הפעלת פרופיל %1$d%% במשך %2$d דק\' - - * רק ערכים בדידים, טווחים אינם נתמכים עבור ערכי בזאלי ובולוס במשאבה וירטואלית. - ביטול בזאלי זמני אפשר לבזאלי זמני לרוץ מינון משך @@ -177,12 +208,9 @@ הערה: %1$s שאלה: %1$s פעילות גופנית: %1$s - החלפת פרפרית - חיבור סנסור התחלת סנסור חדש עצירת סנסור התראת D.A.D - החלפת מכל אינסולין החלפת פרופיל בולוס חטיף בולוס ארוחה @@ -192,8 +220,6 @@ סיום בזאלי זמני תיקון פחמימות OpenAPS במצב לא מקוון - החלפת סוללת משאבה - ערך מטרה זמני ערך המטרה הזמני ביטול ערך מטרה זמני אשף בולוס @@ -226,6 +252,7 @@ ממתין לתוצאות SMB + %1$d גר\' פחמימות דרושות ב-%2$d הדקות הקרובות סטטיסטיקה מינון יומי מצטבר (TDD) @@ -237,11 +264,11 @@ # ימים משקל שימוש בבולוס למילוי \\ תיחול עשוי לגרום לחוסר דיוק! + הנתונים ישנים. לרענון לחצו \"טען מחדש\" סה\"כ בזאלי בסיסי סה\"כ בזאלי בסיסי * 2 זיהוי שעה - %1$d ש\' %2$d דק\' השתקה ל-5 דקות יוצא לפני %1$s @@ -272,14 +299,6 @@ גרסה %1$s זמינה גרסה: %1$s תפוג תוקפה: %2$s - - ב\' - ג\' - ד\' - ה\' - ו\' - ש\' - א\' בולוס מחשבון הבולוסים @@ -408,7 +427,6 @@ השאר בחיים. הבזאלי התיישן. SMS התחבר למשאבה נלחץ - מנהל התקן המשאבה שונה. שינוי במנהל התקן המשאבה. התקן שונה נלחץ ריענון @@ -419,8 +437,6 @@ בולוס OK המשאבה צומדה לחצן ריענון Insight - הפחתת %1$s ב-%2$s - תוספת %1$s ב-%2$s %1$.0f%% בזאלי בזאלי % @@ -477,8 +493,34 @@ פרופיל לא חוקי שגיאה במהלך הכיוונון האוטומטי האחרון נמצאה הפעלה נוספת של הכוונון האוטומטי ברקע, ההפעלה מבוטלת - האפליקציה צריכה הרשאה לבלוטות\' + + שימוש בהודעות מערכת עבור התראות ודיווחים + התראה דחופה + מידע + הרשאות SMS חסרות + + פחמ\' פעילות לעומת אינ\' פעיל + !!!!!! זוהתה ספיגת פחמימות איטית: %2$d%% מהזמן הצפוי. הערכת כמות הפחמימות הפעילות עלולה להיות ביתר ולכן תיתכן הזרקת אינסולין עודפת !!!!!!]]> + ספק את חלק זה מתוצאת אשף הבולוס [%] + הפעל התראה כשצריכים לאכול + לא נבחרה פעולה, דבר לא יתבצע. + אין נתוני סוכר לביסוס חישוב! + לא הופעל פרופיל! + הפחמימות הפעילות לא ידועות! חסרות קריאות סוכר או שאותחל היישום לאחרונה? + הפרת מגבלות פחמימה! + מחשבון (IC: %1$.1f, ISF: %2$.1f) + פחמ\': %1$.2f יח\' + פחמ\': %1$.0f גר\' %2$.2f יח\' + סוכר: %1$.2f יח\' + אינ\' פעיל: %1$.2f יח\' + סופר בולוס: %1$.2f יח\' + מגמת 15 דק\': %1$.2f יח\' + אחוזים: %1$.2f יח\' x %2$d%% ≈ %3$.2f יח\' + הופעלה מגבלת אינסולין!\nלא ניתן להזריק %1$.2f יח\' + ע\' מטרה זמני: %1$s + %1$s ל-%2$s + המשאבה אינה זמינה! %1$d יום %1$d ימים diff --git a/core/core-main/src/main/res/values-ko-rKR/protection.xml b/core/core-main/src/main/res/values-ko-rKR/protection.xml index 3ea04e700d..2d189c3bd0 100644 --- a/core/core-main/src/main/res/values-ko-rKR/protection.xml +++ b/core/core-main/src/main/res/values-ko-rKR/protection.xml @@ -1,2 +1,23 @@ - + + 인증이 필요합니다. + 신원 확인을 위하여 홈 버튼에 지문을 대주십시오. + 설정 보안 + 애플리케이션 보안 + Bolus 보안 + 마스터 비밀번호 + 설정 비밀번호 + 애플리케이션 비밀번호 + Bolus 비밀번호 + 설정 잠금해제 + 생체 인식 + 사용자 지정 비밀번호 + 보안 없음 + 보안 + 마스터 비밀번호가 설정되지 않았습니다 !\n\n마스터 암호를 설정에서 설정하십시오 (%1$s → %2$s) + 비밀번호가 설정되었습니다! + 비밀번호가 설정되지 않았습니다. + 비밀번호가 변경되지 않았습니다. + 비밀번호가 지워졌습니다. + 여기에 비밀번호를 입력하세요 + diff --git a/core/core-main/src/main/res/values-ko-rKR/strings.xml b/core/core-main/src/main/res/values-ko-rKR/strings.xml index 01c08ce12b..b0c41ef117 100644 --- a/core/core-main/src/main/res/values-ko-rKR/strings.xml +++ b/core/core-main/src/main/res/values-ko-rKR/strings.xml @@ -12,13 +12,9 @@ 임시Basal 주입 에러 %1$.2f U을 주입합니다. 펌프를 기다리는 중 - %1$d 초 동안 연결중 %1$.2f U 주입 중 - 통신 확인 연결중 - 연결됨 연결 끊김 - 연결끊기중 %1$.1f U %1$.2f U %1$+.2f U @@ -37,7 +33,6 @@ 정지 누름 정지 탄수화물 - 프로파일이 설정되지 않았습니다. ]]> 날짜 단위 @@ -46,15 +41,16 @@ 인슐린 민감도(ISF): Basal 목표: + Basal양 초기화중 ... 시리얼번호 배터리 마지막 접속 최근 Bolus: 일 인슐린 총량 - 기본 Basal양 + 기본 Basal양 임시Basal - 확장Bolus + 확장Bolus 인슐린 잔량 펌프 이력 프로파일 보기 @@ -68,8 +64,6 @@ 블루투스 감시기능 펌프에 연결이 되지 않을때 폰의 블루투스를 1초간 껐다 켭니다. 블루투스 스택이 정지되는 일부폰에 이 기능이 도움이 됩니다. 동기화 - - 아니오 제한으로 인해 LOOP가 사용불가합니다. Bolus %1$.2f U이 성공적으로 주입되었습니다. @@ -99,12 +93,14 @@ 시간 와이파이 SSID 로딩 중 … - 이벤트 시간 노트 삭제 새로 추가 다른 펌프에서 전송된 데이터. 펌프 상태 재설정을 위해 펌프 드라이버를 바꾸세요. + 혈당 + 보정 %1$d분 뒤 알람 울림 + 기간 g 펌프 일시중지됨 설정되지 않음 @@ -112,6 +108,10 @@ 경향 화살표 사용불가 필요량 + 없음 + 알수없음 + + 평균 TIR TDD Total @@ -121,6 +121,24 @@ 재설정 프로파일변경 누락. 로컬 프로파일에서 프로파일 변경을 하거나 \"프로파일 활성화하기\"를 누르세요. 프로파일 + 관리 + 마법사 설정 + 15분 추이 + COB + Bolus IOB + Basal IOB + 일시중지 + 유효하지 않음 + 로그인 + 인슐린 + 임시 목표 중지 + Closed Loop + Open Loop + 저혈당 주입정지 + 확인 + DIA + IC + ISF %2$s로 인해 최대 Basal양이 %1$.2f U/h으로 제한됩니다. 펌프 제한 @@ -128,12 +146,6 @@ 양의 값이어야 합니다. %2$s로 인해 Bolus가 %1$.1f U로 제한됩니다. 펌프가 초기화와 프로파일 설정이 되지 않았습니다! - - 확인 - 메시지 - - 취소 - 무시 BLE(블루투스 저전력) 지원되지 않음 저전력 블루투스(BLE)가 작동하지 않거나, 기기가 연동되지 않았습니다. @@ -151,10 +163,7 @@ g/U 프로파일 %1$d%%을 %2$d 분 동안 시작 - - * 가상 펌프에서는 Basal/Bolus에 대해 범위로 지정이 될 수 없고, 이산값(discrete values)만 지원 됩니다. - 임시Basal 취소하기 임시Basal 허용 주입량 기간 @@ -165,18 +174,16 @@ %1$d 분 + 케어포털 혈당 체크 수동 BG 값 입력 또는 보정 알림 노트 의문 운동 - 펌프 위치 변경 - CGM 센서 삽입 CGM 센서 시작 CGM 센서 정지 D.A.D 경고 - 인슐린 카트리지 교체 프로파일 변경 간식Bolus Meal Bolus @@ -186,8 +193,7 @@ 임시Basal 종료 탄수화물 교정 OpenAPS 오프라인 - 펌프 배터리 교체 - 임시 목표 + 임시 목표 수치 임시 목표 취소 Bolus 마법사 채혈 @@ -204,6 +210,7 @@ Loop NS 기록 + 펌프 이력 읽기 연결시간초과 @@ -232,7 +239,6 @@ 총기초량 * 2 시간 감지 - %1$d시 %2$d분 5분 동안 음소거 %1$s 전에 내보내기 함 @@ -262,14 +268,6 @@ 유효하지 않은 버전을 이용 중입니다. Loop가 비활성화 되었습니다! %1$s 버전이 사용 가능합니다. - - - - - - - - Bolus Bolus 어드바이저 @@ -377,9 +375,27 @@ »%1$s« %2$.2f이 \'고정된 한계값\'을 벗어났습니다. Basal 값 + SMS + %1$.0f%% Basal + Basal % + 사용자 + 결과: %1$s + 누락 + 프로파일 비교하기 + + 경고와 알림시 시스템 알림 사용하기 + 긴급 알람 + 정보 + SMS 권한 누락 + + COB vs IOB + !!!!! 느린 탄수화물 흡수 감지: %2$d%% of time. 계산을 다시 확인하십시오. COB를 과대하게 측정하여 더 많은 인슐린이 주입될 수 있습니다 !!!!!]]> + Bolus 마법사 결과의 이 부분 주입[%] + 식사 시간이 되면 알람을 울리기 + 선택한 실행이 없습니다. 아무런 실행이 되지 않습니다. %1$d 일 diff --git a/core/core-main/src/main/res/values-lt-rLT/strings.xml b/core/core-main/src/main/res/values-lt-rLT/strings.xml index 2317b22a6c..3da616bfd5 100644 --- a/core/core-main/src/main/res/values-lt-rLT/strings.xml +++ b/core/core-main/src/main/res/values-lt-rLT/strings.xml @@ -12,14 +12,9 @@ Laikinos bazės suleidimo klaida Bus suleista %1$.2f vv Laukiama ryšio su pompa - Jungiamasi %1$d s Leidžiama %1$.2f vv - Ryšio užmezgimas Jungiamasi - Prisijungta Atsijungta - Atsijungiama - Laukiama atsijungimo %1$.1f vv %1$.2f vv %1$+.2f vv @@ -38,7 +33,6 @@ Paspausta STOP Stop AV - Nenustatytas profilis ]]> Data Vienetai @@ -47,15 +41,18 @@ JIF VB Tikslas + Insulino veikimo trukmė + Insulino į angliavandenius santykis + Valandinė bazė Inicijuojama ... Serijos numeris Baterija Paskutinis prisijungimas Paskutinis bolusas Paros insulinas - Pagrindinis bazės dydis + Pagrindinis bazės dydis Laikina bazė - Ištęstas bolusas + Ištęstas bolusas Rezervuaras Pompos istorija Peržiūrėti profilį @@ -69,8 +66,6 @@ BT Watchdog Vienai sekundei išjungia telefono bluetooth, jei ryšys su pompa nutrūksta. Gali būti veiksminga kai kuriems telefonų modeliams, turintiems BT problemų. Sujungiama - Taip - Ne CIKLAS NEAKTYVUS DĖL APRIBOJIMŲ %1$.2f vv bolusas sėkmingai suleistas Gerai @@ -100,13 +95,16 @@ Laikas WiFi pavadinimas Kraunama … - Įvykio laikas Pastabos Pašalinti Pridėti naują Duomenys gaunami iš kitos pompos. Pakeiskite pompos valdiklį. + KG + Kalibravimas Pranešti po %1$d min Boluso suleidimo klaida. Rankiniu būdu patikrinkite faktiškai suleistą kiekį + Priminimas apie bolusą + Trukmė g Pompa sustabdyta Nesukonfigūruota @@ -114,6 +112,10 @@ Tendencijos kryptis n/a reikal. + nėra + nežinoma + aukštas + žemas Vidutinis TIR (Laikas normos ribose) BPD viso @@ -123,6 +125,25 @@ atstatyti Neatliktas profilio keitimas. Prašome atlikti profilio keitimą arba paspausti \"Aktyvuoti profilį\" Vietinio profilio (VP) skiltyje. Profilis + Terapija + Kurti naują profilį iš šito profilio? + Išmaniojo laikrodžio nustatymai + 15 min tendencija + AAO + Bolusų AIO + Bazės AIO + Pristabdyta + KLAIDA + Prisijungti + Insulinas + Sustabdykite laikiną tikslą + Uždaras Ciklas + Atviras Ciklas + Sustabdymas esant žemai gliukozei + Patvirtinti + IVT + IA + JIF Ribojamas maksimalus bazės dydis%1$.2f vv/val dėl %2$s pompos limitas @@ -130,12 +151,6 @@ reikšmė turi būti teigiama Bolusas ribojamas iki %1$.1f vv dėl %2$s Pompa neprijungta, profilis nepasirinktas! - - Patvirtinimas - Pranešimas - Gerai - Atšaukti - ATMESTI Bluetooth Low Energy nepalaikoma. Nepalaikomas Bluetooth Low Energy arba įrenginys nesuporuotas. @@ -153,10 +168,7 @@ g/vv Pradėti profilį %1$d%% %2$d min - - * Virtualioje pompoje palaikomos tik atskiros vertės, o ne diapazonas detalumui užtikrinti. - Atšaukti laikiną bazę Paleisti laikinąją bazę Vertė Trukmė @@ -178,12 +190,9 @@ Pastaba: %1$s Klausimas: %1$s Aktyvumas: %1$s - Kateterio keitimas - NGJ įvedimas NGJ paleidimas NGJ stabdymas D.A.D. įspėjimas - Rezervuaro keitimas Profilio keitimas Bolusas užkandžiui Bolusas valgiui @@ -193,8 +202,6 @@ Užbaigta laikina bazė AV korekcijai OpenAPS neprisijungus - Baterijos keitimas - Laikinas tikslas Laikino tikslo reikšmė Laikino tikslo atšaukimas Boluso patarėjas @@ -242,7 +249,6 @@ PB * 2 Laiko nustatymas - %1$dh %2$dm Nutildyti 5 minutėms eksportuota prieš %1$s @@ -273,14 +279,6 @@ Versiją %1$s jau galima naudoti Versija %1$s baigia galioti %2$s - - P - A - T - K - Pn - Š - S BOLUSAS SKAIČIUOTUVAS @@ -408,7 +406,6 @@ Tęsti. Bazė per sena. SMS Spausta \"jungtis su pompa\" - Pompos valdik. pakeistas. Pompos valdiklio keitimas. Įrenginys pakeistas Paspausta atnaujinti @@ -419,10 +416,29 @@ Bolusas OK Pompa suporuota Insight Mygtukas Naujinti + %1$.0f%% Valandinė bazė + Valandinė bazė % + Rūšiuoti + vartotojas - Programai reikalinga Bluetooth prieigos teisė + Rezultatas: %1$s + Trūksta + Palyginti profilius + + Naudoti sistemos perspėjimus aliarmams ir įspėjimams + Kritiniai perspėjimai + INFO + Trūksta leidimo SMS + + AAO prieš AIO + !!!!! Nustatytas lėtas angliavandenių įsisavinimas: %2$d%% laiko. Dar karą patikrinkite savo skaičiavimus. AAO gali būti pervertinti, todėl gali būti suleista per daug insulino!!!!!]]> + Suleisti šią boluso skaičiuoklės rezultato dalį [%] + Pranešti apie laiką valgyti + Veiksmas nepasirinktas, nieko neįvyks + Nėra naujausių cukraus duomenų, kuriais būtų galima pagrįsti skaičiavimus! + Neparinktas aktyvus profilis! %1$d d. %1$d d. diff --git a/core/core-main/src/main/res/values-nl-rNL/strings.xml b/core/core-main/src/main/res/values-nl-rNL/strings.xml index ecaf03b73d..b7bcb5a4d2 100644 --- a/core/core-main/src/main/res/values-nl-rNL/strings.xml +++ b/core/core-main/src/main/res/values-nl-rNL/strings.xml @@ -12,14 +12,9 @@ Storing toedienen tijdelijk basaal %1$.2f E toedienen Wacht op pomp - Verbinding maken gedurende %1$d s %1$.2f E worden toegediend - Handshaking Verbining maken - Verbonden Verbinding verbroken - Verbinding aan het verbreken - Wachten op het loskoppelen AAPS gestart %1$.1f E %1$.2f E @@ -31,7 +26,6 @@ %1$d minuten Pomp is bezig Pomp verbindingsstoring - Toegestane limiet bereikt Doelen Sluiten Even geduld a.u.b.… @@ -40,8 +34,8 @@ STOP INGEDRUKT Stop Koolhydraten - Ongeldig profiel! - Geen profiel ingesteld + Ongeldig profiel! + GEEN PROFIEL INGESTELD ]]> Datum Eenheden @@ -61,9 +55,9 @@ Laatste verbinding Laatste bolus Dag totaal - Basis basale dosis + Basis basaalstand Tijdelijk basaal - Vertraagde bolus + Verlengde bolus Reservoir Historiek Profiel bekijken @@ -77,8 +71,6 @@ BT Watchdog Zet de bluetooth van de telefoon even kort uit en weer aan. Dit kan op sommige gsm\'s een vastgelopen bluetooth service verhelpen. Koppelen - Ja - Nee LOOP UITGESCHAKELD DOOR BEPERKINGEN Bolus van %1$.2f E succesvol toegediend OK @@ -108,7 +100,6 @@ Tijd WiFi SSID Bezig met laden … - Tijdstip Notities Verwijder Voeg nieuw toe @@ -158,6 +149,18 @@ COB Bolus IOB Basaal IOB + Gepauzeerd + Ongeldig + Aanmelden + Insuline + Stop tijdelijk doel + Closed loop + Open loop + Stop bij laag + Bevestig + DIA + KH-ratio + ISF Beperken van basaal tot max %1$.2f E/uur wegens de %2$s Pomp limiet @@ -165,12 +168,6 @@ dit moet een positieve waarde zijn Bolus beperkt tot %1$.1f E doordat %2$s Pomp niet geïnitialiseerd, profiel niet ingesteld! - - Bevestiging - Bericht - OK - Afbreken - AFWIJZEN Bluetooth Low Energy wordt niet ondersteund. Bluetooth Low Energy wordt niet ondersteund of het apparaat is niet gekoppeld. @@ -191,10 +188,8 @@ g/E Start profiel %1$d%% voor %2$d min - - * Alleen absolute waardes (geen van-tot bereik) worden ondersteund voor basaal / bolus in virtuele pomp. - Annuleer tijdelijk basaal + Annuleer tijdelijk basaal Laat tijdelijk basaal lopen Dosis Gedurende @@ -216,12 +211,11 @@ Notitie : %1$s Vraag : %1$s Bewegen : %1$s - Infuus wissel - CGM Sens. ingebracht + CGM Sens. ingebracht CGM Sens. Start - CGM Sensor Stoppen + CGM Sensor stoppen Hulphond waarschuwing - Insulinereservoir wissel + Insulinereservoir wissel Profiel wissel Snack bolus Maaltijd bolus @@ -231,8 +225,8 @@ Einde tijd. basaal Koolhydraten correctie OpenAPS Offline - Pomp bat. wissel - Tijdelijk streefdoel + Pomp bat. wissel + Tijdelijk streefdoel Tijdelijk streefdoel Tijdelijk streefdoel annuleren Bolus wizard @@ -276,13 +270,12 @@ Ratio # Dagen Gewicht - Mogelijks inaccuraat bij gebruik van bolussen om infusieset te vullen! + Mogelijk inaccuraat bij gebruik van bolussen om infusieset te vullen! Data verouderd, druk op \"Vernieuwen\" Totaal basaal TBB * 2 Tijd detectie - %1$du %2$dm 5 minuten dempen %1$s geleden geëxporteerd @@ -314,14 +307,6 @@ Versie %1$s verloopt op %2$s Herstart je telefoon of herstart AndroidAPS vanuit de systeem instellingen a. u. b. \nanders zal AndroidAPS geen log mogelijkheid hebben (Dit is belangrijk om te controleren of de algoritmes correct werken)! - - M - T - W - T - F - S - S BOLUS BOLUS CALCULATOR @@ -346,7 +331,7 @@ VERBINDING VERBREKEN HERVATTEN ONDERBREKEN - HW PUMP TOEGESTAAN + HW POMP TOEGESTAAN VERWIJDER VERBINDINGSSLEUTEL ACCEPTEERT TIJDELIJK BASAAL ANNULEER TIJDELIJK BASAAL @@ -354,7 +339,7 @@ ANNULEER VERLENGDE BOLUS STOP TIJDELIJK DOEL CAREPORTAL - INFUSIEPLEK WIJZIGING + INFUUSPLEK WIJZIGING RESERVOIRWISSEL KALIBREREN VUL BOLUS @@ -452,7 +437,6 @@ KeepAlive. Basaal verouderd. SMS Verbinden met pomp geklikt - Pomp stuurprogramma gewijzigd. Pomp stuurprogramma wijzigen. Apparaat gewijzigd Vernieuwen geklikt @@ -463,8 +447,6 @@ Bolus OK Pomp gekoppeld Insight actualiseren knop - verlaag %1$s met %2$s - verhoog %1$s met %2$s %1$.0f%% Basaal Basaal % @@ -484,11 +466,11 @@ Indien ingeschakeld, wordt Autotune automatisch bijgewerkt en overschakelen naar invoerprofiel na de berekening van een automatiseringsregel. UAM als basaal categoriseren Alleen inschakelen als u betrouwbaar alle koolhydraten ingevoerd en hebt opgegeten, met deze optie zullen plotselinge stijgingen van Autotune worden gebruikt om wijzigingen in de basaalstand aan te bevelen. - Insuline curve afstemmen - Alleen inschakelen als je vrije piek gebruikt. Deze optie zal piek en DIA duur afstemmen + Insuline curve afstellen + Alleen inschakelen als je free peak gebruikt. Deze optie zal piek en DIA afstemmen Aantal dagen data Gemiddelde resultaat toepassen in circadiaan IC/ISF - Autotune zal de circadiaanse variaties niet afstemmen, deze optie past alleen de gemiddelde tuning van IC en ISF toe op uw circadiaanse invoerprofiel + Autotune zal de circadian (bioritme) variaties niet afstemmen, deze optie past alleen de gemiddelde tuning van IC en ISF toe op uw circadian invoerprofiel Meer log-informatie voor foutopsporing toevoegen Schakel alleen in op verzoek van een onwikkelaar om meer log-informatie te sturen om Autotune plugin te helpen debuggen Standaard aantal dagen aan gegevens dat Autotune moet verwerken (tot 30) @@ -523,9 +505,38 @@ Autotune uitgevoerd en profiel automatisch gewisseld Fout tijdens laatste Autotune uitvoeren Een ander Autotune proces loopt nog, de uitvoering is geannuleerd - Applicatie heeft bluetooth toestemming nodig + + Gebruik systeem notificaties voor waarschuwingen en notificaties + Dringend alarm + INFO Geen SMS bevoegdheid + + Bolusadviseur + Je hebt een hoge bloedglucose. In plaats van te eten, is het nu aan te raden om te wachten op een betere bloedglucose. Wil je nu een correctiebolus uitvoeren en je laten weten wanneer het tijd is om te eten? In dit geval worden er geen koolhydraten opgenomen en moet je de wizard opnieuw gebruiken wanneer we je er aan herinneren. + COB vs IOB + !!! Trage koolhydraat absorptie gedetecteerd: %2$d%% van de tijd. Controleer je berekening nogmaals. COB kan zijn overschat waardoor er misschien meer insuline wordt afgegeven!!! zijn]]> + Voer dit deel van het bolus wizard resultaat uit [%] + Bolusbeperking toegepast: %1$.2f E naar %2$.2f E + Bolus wordt alleen geregistreerd (niet toegediend door pomp) + Start alarm wanneer het tijd is om te eten + Geen actie geselecteerd, er zal niets uitgevoerd worden + Geen recente BG om de berekening op te baseren! + Geen actief profiel ingesteld! + Onbekende COB! BG uitlezing ontbreekt of de recente app herstart? + Koolhydraten beperking overschreden! + Calc (IC: %1$.1f, ISF: %2$.1f) + Koolhydraten: %1$.2fE + COB: %1$.0fg %2$.2fE + BG: %1$.2fE + IOB: %1$.2fU + Superbolus: %1$.2fE + 15\' trend: %1$.2fE + Percentage: %1$.2fE x %2$d%% ≈ %3$.2fE + Insuline beperking!\nKan %1$.2fE niet leveren + Tijdelijk Doel: %1$s + %1$s tot %2$s + Geen pomp beschikbaar! %1$d dag %1$d dagen diff --git a/core/core-main/src/main/res/values-nl-rNL/validator.xml b/core/core-main/src/main/res/values-nl-rNL/validator.xml index a7ba42791c..a78306753f 100644 --- a/core/core-main/src/main/res/values-nl-rNL/validator.xml +++ b/core/core-main/src/main/res/values-nl-rNL/validator.xml @@ -13,7 +13,7 @@ Website-URL is niet geldig Geen geldige voor of achternaam. Geen geldige volledige naam. - Formaat niet geldig + Format niet juist Moet uit 4 cijfers bestaan Moet uit 6 cijfers bestaan Moet 12 tekens bevatten uit ABCDEF0123456789 diff --git a/core/core-main/src/main/res/values-no-rNO/protection.xml b/core/core-main/src/main/res/values-no-rNO/protection.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-no-rNO/protection.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-no-rNO/strings.xml b/core/core-main/src/main/res/values-no-rNO/strings.xml index aa79c9a513..0aaa6f1b01 100644 --- a/core/core-main/src/main/res/values-no-rNO/strings.xml +++ b/core/core-main/src/main/res/values-no-rNO/strings.xml @@ -6,20 +6,15 @@ Feil Lagre Ikke angitt - Kunne ikke oppdatere basal profil - Basal profil i pumpen er oppdatert + Kunne ikke oppdatere basalprofil + Basalprofil i pumpen er oppdatert Ugyldig inndata Feil ved justering av Temp Basal Kommer til å levere %1$.2f enheter Venter på pumpen - Tilkobler i %1$d sek Leverer %1$.2f enheter - Tilkobling verifiseres Tilkobler - Tilkoblet Frakoblet - Frakobler - Venter på frakobling AAPS startet %1$.1f E %1$.2f E @@ -31,7 +26,6 @@ %1$d min Pumpen er opptatt Tilkoblingsfeil til pumpe - Tillatt grense nådd Opplæringsmål Lukk Vennligst vent… @@ -40,8 +34,8 @@ STOPP trykket Stopp Karbohydrater - Ugyldig profil! - INGEN PROFIL VALGT + Ugyldig profil! + INGEN PROFIL VALGT ]]> Dato Enheter @@ -61,11 +55,11 @@ Siste tilkobling Siste bolus Daglige enheter - Basis basal dose + Profilens basaldose Temp basal - Forlenget bolus + Forlenget bolus Reservoar - Pumpe historikk + Pumpe-historikk Vis profil Hendelsestype mg/dl @@ -74,15 +68,13 @@ % Avanserte innstillinger Bluetooth - BT overvåker + Overvåking av Bluetooth Restarter telefonens bluetooth i ett sekund hvis tilkobling til pumpen mislykkes. Dette hjelper på enkelte telefoner hvor bluetooth av og til stopper. Kobler sammen - Ja - Nei LOOP DEAKTIVERT PGA BEGRENSNINGER - Bolus %1$.2f E er levert vellykket + Bolus %1$.2f E er levert OK - Ingen gyldige basal doser ble lest fra pumpen + Ingen gyldige basaldoser ble lest fra pumpen Begrenser maks IOB til %1$.1f E på grunn av %2$s usikker bruk Pumpe er utilgjengelig @@ -108,7 +100,6 @@ Tid WiFi nettverksnavn Laster… - Hendelse tidspunkt Merknader Fjern Legg til ny @@ -118,21 +109,21 @@ Kalibrering Aktiver alarm om %1$d min Det er registrert en feil med bolus-leveransen. Sjekk manuelt om den er levert og hvor mye - Bolus påminnelse + Bolus-påminnelse Varighet g Pumpen er pauset Ikke konfigurert Loop pauset - Trend pil + Trendpil Auto sens n/a nødv synker raskt synkende - synker rolig + synker sakte stabilt - stiger raskt + stiger sakte stiger stiger raskt ingen @@ -149,43 +140,57 @@ tilbakestill Profilbytte mangler. Utfør et profilbytte og trykk på \"Aktiver profil\" i din lokale profil. Profil + Velg hva som skal fjernes + Er du sikker på at du vil fjerne %1$d elementer + Behandling + Opprett ny profil fra denne profilen? + Innstillinger for veiviser + 15 min trend + COB + Bolus IOB + Basal IOB + Pauset + UGYLDIG + Logg inn + Prime/fylling + Insulin + Avbryt temp target + Lukket Loop + Åpen Loop + Slumre ved lavt BS + Bekreft + DIA + IK + ISF Begrenser maks basal dose til %1$.2f E/t på grunn av %2$s pumpebegrensning - Begrenser maks prosent sats til %1$d%% på grunn av %2$s + Begrenser maks prosentsats til %1$d%% på grunn av %2$s det på være positiv verdi Begrenser bolus til %1$.1f E på grunn av %2$s Pumpen ikke initialisert, ingen profil valgt! - - Bekreftelse - Melding - OK - Avbryt - Avvis - Lavenergi Bluetooth BLE er ikke støttet. - Bluetooth Low Energy er ikke støttet eller enheten er ikke paret. + Lavenergi Bluetooth er ikke støttet. + Lavenergi Bluetooth er ikke støttet eller enheten er ikke paret. Bluetooth er ikke aktivert. Stedstjeneste er ikke aktivert - Bluetooth søk på nye mobiler virker bare når posisjonstjeneste er aktivert. AAPS lagrer ikke dine posisjonsdata og den kan derfor slås av etter vellykket sammenkobling. + Bluetooth-søk på nye mobiler virker bare når posisjonstjeneste er aktivert. AAPS lagrer ikke dine posisjonsdata og den kan derfor slås av etter vellykket sammenkobling. Feil passord Feil PIN-kode Passord stemmer ikke overens PIN-kodene samsvarer ikke - Basal verdier er ikke angitt på hele timer: %1$s + Basalverdier er ikke angitt på hele timer: %1$s Basalverdi erstattet med minste tillate verdi: %1$s - Basal verdi erstattet med høyeste tillate verdi: %1$s + Basalverdi erstattet med høyeste tillate verdi: %1$s /E E/t g/E Start profil %1$d%% i %2$d min - - * Bare konkrete verdier støttes som granularitet for basal/bolus i virtuell pumpe, ingen verdiområder. - Avbryt temp basal + Avbryt temp basal Fortsett temp basal Dose Varighet @@ -207,26 +212,26 @@ Notat: %1$s Spørsmål: %1$s Aktivitet: %1$s - Bytte av pumpens kanyle - Bytte av CGM sensor + Bytte av pumpens kanyle + Bytte av CGM sensor CGM sensor start CGM sensor stopp - Logg diabetes hund varsel - Bytte insulinreservoar - Profil bytte - Mellommåltids bolus - Måltids bolus - Korreksjons bolus - Kombo bolus + Logg varsel fra diabetes-hund + Bytte insulinreservoar + Profilbytte + Mellommåltidsbolus + Måltidsbolus + Korreksjonsbolus + Kombo-bolus Temp Basal start Temp basal slutt Karbo korreksjon OpenAPS offline - Bytte pumpebatteri - Temp mål + Bytte pumpebatteri + Midlertidig BS mål Temp target verdi Avbryt temp mål - Bolus assistent + Bolusassistent Finger Sensor Manuell @@ -273,7 +278,6 @@ TBB * 2 Tidsdetektering - %1$dt %2$dm Demp i 5 minutter eksportert for %1$s siden @@ -290,7 +294,7 @@ Innstillinger er fra en annen hovedversjon av appen. Forskjeller mellom hovedversjoner kan være betydelige og dermed inkompatible innstillinger. Verifiser etter importen at dine innstillinger fortsatt er korrekte! Filen med innstillinger er manipulert Fil med innstillinger er sikker - Bruk er ikke sikker, ukryptert format + Bruker usikkert, ikke-kryptert format for innstillinger JSON formatfeil, mangler påkrevd felt (format, innhold, metadata eller sikkerhet) Dekrypteringsfeil, oppgitt passord kan ikke dekryptere filen Filens sjekksum (hash) mangler, kan dermed ikke bekrefte innstillingene! @@ -305,14 +309,6 @@ Versjon %1$s utløper den %2$s Vennligst start mobilen på nytt eller restart AAPS fra Innstillinger \nellers vil ikke AAPS ha aktivert loggføring (viktig for å spore og kontrollere at algoritmene fungerer riktig)! - - M - T - O - T - F - L - S BOLUS BOLUS KALKULATOR @@ -328,9 +324,9 @@ LAGRE PROFIL BYTT PROFIL PROFILBYTTE KOPIERT - LUKKET LOOP MODUS - LAV GLUKOSESTOPP MODUS - ÅPEN LOOP MODUS + LUKKET LOOP-MODUS + LAV GLUKOSESTOPP-MODUS + ÅPEN LOOP-MODUS LOOP DEAKTIVERT LOOP AKTIVERT KOBLE TIL @@ -338,7 +334,7 @@ GJENOPPTA PAUSE HW PUMPE TILLATT - NULLSTILL PARRINGS NØKLER + NULLSTILL PARRINGSNØKLER AKSEPTER TEMP BASAL AVBRYT TEMP BASAL AVBRYT BOLUS @@ -350,9 +346,9 @@ KALIBRERING PRIME BOLUS BEHANDLING - CAREPORTAL NS OPPDATER - PROFILBYTTE NS OPPDATER - BEHANDLINGER NS OPPDATER + CAREPORTAL NS OPPDATERING + PROFILBYTTE NS OPPDATERING + BEHANDLINGER NS OPPDATERING OPPDATER MIDLERTIDIG BS MÅL NS AUTOMASJON FJERNET BS FJERNET @@ -385,7 +381,7 @@ EKSPORTER INNSTILLINGER IMPORTER INNSTILLINGER TILBAKESTILL DATABASER - OPPRYDDING DATABASER + OPPRYDDING I DATABASER EKSPORTER DATABASER IMPORTER DATABASER OTP EKSPORT @@ -399,7 +395,7 @@ UKJENT Tekst Kildekode - UTC tid forskyvning + UTC tidsforskyvning Handling Tidspunkt Ingen enhet @@ -414,24 +410,24 @@ Midlertidig mål øvre grense Midlertidig målverdi Profil DIA verdi - Profil insulin følsomhet (IF) + Profil insulinfølsomhet Maksimal profil basalverdi Nåværende basalverdi Profil karbohydratfaktor (IK) %1$.2f begrenset til %2$.2f »%1$s« er utenfor lovlige grenseverdier »%1$s« %2$.2f er utenfor lovlige grenseverdier - Basal verdi + Basalverdi NSClient-versjonen samsvarer ikke med AAPS-versjonen. Vennligst oppdater. BOLUS %1$.2f E CARBS %1$d g - EXTENDED BOLUS %1$.2f E %2$d min + UTVIDET BOLUS %1$.2f E %2$d min LAST INN HENDELSER LAST INN HENDELSESLOGG %1$d LAST INN TDDs SETT PROFIL - SETT BRUKE INNSTILLINGER + SETT BRUKERINNSTILLINGER SMB BOLUS %1$.2f E START PUMPE STOPP PUMPE @@ -443,19 +439,16 @@ Oppretthold tilkobling. Basal er ikke oppdatert. SMS Trykket på koble til pumpen - Pumpedriver er endret. Endre pumpedriver. Enheten er endret Trykket på oppdater Planlagt statusoppdatering Kommando er ikke bekreftet Forespurt av bruker - Bruker forespørsel + Brukerforespørsel Bolus OK Pumpe sammenkoblet Insight oppdateringsknapp - reduser %1$s med %2$s - øk %1$s med %2$s %1$.0f%% Basal Basal % @@ -468,15 +461,15 @@ bruker Autotune - Hjelp til å justere profilen (insulinfølsomhet, karbohydratfaktor og basal doser) + Hjelp til å justere profilen (insulinfølsomhet, karbohydratfaktor og basaldoser) AT Autotune innstillinger Automatisering profilbytte - Hvis det er aktivert så vil Autotune automatisk oppdatere profilen og skifte til denne etter beregninger fra en automatiserings regel. + Hvis det er aktivert så vil Autotune automatisk oppdatere profilen og skifte til denne etter beregninger fra en automatiseringsregel. Kategoriser UAM (uannonsert måltid) som basal - Aktiver kun hvis du korrekt har angitt alle spiste karbohydrater. Med dette alternativet vil Autotune foreslå endringer i basal doser hvis den plutselig oppdager BS stigninger. + Aktiver kun hvis du har angitt alle spiste karbohydrater nøyaktig. Med dette alternativet vil Autotune foreslå endringer i basaldoser hvis den plutselig oppdager BS-stigninger. Tilpass insulinkurven - Aktiver kun hvis du bruker egendefinert topp punkt. Dette alternativet vil justere topp- og DIA-varigheten + Aktiver kun hvis du bruker egendefinert toppunkt. Dette alternativet vil justere topp- og DIA-varigheten Antall dager med data Bruk gjennomsnittsverdier i cirkadisk IK/ISF Autotune vil ikke justere cirkadiske variasjoner. Dette valget benytter gjennomsnittsverdier til å justere IK og ISF i din cirkadiske inngangsprofil @@ -487,12 +480,12 @@ Profil : Antall dager: Siste beregning : - Varsel: + Varsel : Velg profil du vil justere Valgt profil har %1$d IK verdier. Autotune vil bruke %2$.2f g/E Valgte profil har %1$d ISF-verdier. Autotune vil bruke %2$.1f %3$s/E Feil i innleste datasett, prøv å kjør Autotune en gang til eller reduser antall dager - Har startet Autotune beregning, vennligst vent + Har startet Autotune-beregning, vennligst vent Kontroller resultatene nøye før du bruker dem! Delvis resultat dag %1$d / %2$d justert Resultat: %1$s @@ -506,17 +499,46 @@ Kopier til lokal profil Oppdater inngangsprofil Tilbakestill inngangsprofil - Opprette ny lokal profil fra denne Autotune profilen? - Oppdater %1$s profil med Autotune profil? + Opprette ny lokal profil fra denne Autotune-profilen? + Oppdater %1$s profil med Autotune-profil? Tilbakestill %1$s profil med inngangsprofil? Ugyldig profil Autotune ble kjørt uten profilbytte Autotune utført og profil ble automatisk skiftet ut Feil oppdaget under siste Autotune kjøring Autotune kjører allerede. Kjøring avbrutt - Appen trenger bluetooth tillatelse + + Bruk systemvarslinger for alarmer og varslinger + Kritisk alarm + INFO Mangler SMS-tillatelse + + Bolus veiviser + Du har høyt blodsukker. I stedet for å spise nå er det bedre å utsette det til du har et lavere blodsukker. Ønsker du å sette en korreksjons bolus nå og få en påminnelse om når det er på tide å spise? I dette tilfellet vil ingen karbohydrater registreres nå, og du må bruke måltids veiviseren igjen når vi gir deg en påminnelse. + COB vs IOB + !!!!! Advarsel: Treg KH absorpsjon oppdaget: %2$d%% av tiden. Dobbeltsjekk din beregning. COB can være misvisende og du risikerer å få for mye insulin !!!!!]]> + Doser denne delen av bolus wizard resultat [%] + Bolus begrensning brukt: %1$.2f E til %2$.2f E + Bolus vil bare bli loggført (ikke levert av pumpe) + Aktiver alarm når det er på tide å spise + Ingen handling valgt. Ingenting endres + Mangler nylige BS verdier til å bruke i beregninger! + Det er ikke angitt noen aktiv profil! + Ukjent COB! BS verdier mangler eller nylig oppstart av appen? + Brudd på karbo begrensninger! + Kalk (IK: %1$.1f, ISF: %2$.1f) + Karbo: %1$.2fE + COB: %1$.0fg %2$.2fE + BS: %1$.2fE + IOB: %1$.2fE + Superbolus: %1$.2fE + 15\' trend: %1$.2fE + Prosent: %1$.2fE x %2$d%% ≈ %3$.2fE + Insulinbegrensning nådd!\nKan ikke levere %1$.2fE + TempT: %1$s + %1$s til %2$s + Ingen pumpe tilgjengelig! %1$d dag %1$d dager diff --git a/core/core-main/src/main/res/values-pl-rPL/strings.xml b/core/core-main/src/main/res/values-pl-rPL/strings.xml index 80f9eb6629..6f74cb8efc 100644 --- a/core/core-main/src/main/res/values-pl-rPL/strings.xml +++ b/core/core-main/src/main/res/values-pl-rPL/strings.xml @@ -12,14 +12,9 @@ Błąd podania bazy tymczasowej Zamierzam podać %1$.2f U Czekam na pompę - Łączenie przez %1$d s Podaję %1$.2f U - Uściskdłoni Łączę - Połączono Rozłączono - Rozłączanie - Oczekiwanie na rozłączenie %1$.1f U %1$.2f U %1$+.2f U @@ -38,7 +33,6 @@ NACIŚNIĘTY STOP Stop Węglowodany - NIE USTAWIONO PROFILU ]]> Data Jednostki @@ -47,15 +41,16 @@ ISF Baza Cel + Dawka bazowa Inicjuje ... Numer seryjny Bateria Ostatnie połączenie Ostatni bolus Jednostki dzienne - Podstawowa dawka bazowa + Podstawowa dawka bazowa Baza tymczasowa - Bolus Przedłużony + Bolus Przedłużony Zbiornik Historia pompy Zobacz profil @@ -69,8 +64,6 @@ BT Watchdog Wyłącza bluetooth telefonu na jedną sekundę, jeśli nie jest możliwe połączenie z pompą. Może to pomóc w niektórych telefonach, w których blokuje się bluetooth. Parowanie - Tak - Nie PĘTLA WYLĄCZONA Z UWAGI NA OGRANICZENIA Bolus %1$.2f U podany prawidłowo OK @@ -100,20 +93,28 @@ Czas WiFi SSID Ładowanie… - Czas zdarzenia Notatki Usuń Dodaj nowy Dane pochodzą z innej pompy. Zmień sterownik pompy, aby zresetować stan pompy. + BG + Kalibracja Uruchom alarm za %1$d min Błąd podczas podawania bolusa. Sprawdź ręcznie rzeczywiście dostarczoną ilość + Przypomnienie bolusa + Czas trwania g Pompa wstrzymana Nie skonfigurowano Pętla wstrzymana Strzałka trendu + Auto sens n/a wym + brak + nieznany + wysokie + niskie Średnio TIR TDD Całkowita @@ -123,6 +124,26 @@ ponowne uruchomienie Brakuje ZmianyProfilu. Proszę wykonać ZmianęProfilu lub nacisnąć \"Aktywuj Profil\" w ProfiluLokalnym Profil + Czy na pewno chcesz usunąć %1$d pozycji + Terapia + Utworzyć nowy profil na bazie wybranego profilu? + Ustawienia kreatora + Trend 15 minutowy + COB + IOB z bolusów + IOB z bazy + Wstrzymano + NIEPRAWIDŁOWY + Zaloguj się + Insulina + Zatrzymaj cel tymczasowy + Zamknięta pętla + Otwarta pętla + Zawieszenie przy niskiej glikemii + Potwierdź + DIA + IC + ISF Ograniczam maks. dawkę bazową do %1$.2f U/h z uwagi na %2$s ograniczenie pompy @@ -130,12 +151,6 @@ wartość musi być dodatnia Ograniczam bolus do %1$.1f U z uwagi na %2$s Pompa nie zainicjowana, profil nie ustawiony! - - Potwierdzenie - Wiadomość - OK - Anuluj - ODRZUĆ Bluetooth Low Energy nie jest obsługiwany. Bluetooth Low Energy nie jest obsługiwany lub urządzenie nie jest sparowane. @@ -153,10 +168,7 @@ g/U Uruchom profil %1$d%% na %2$d min - - *Tylko wartości dyskretne, nie zakresy są wspierane jako dawki bazowe/bolusy w pompie wirtualnej. - Wyłącz bazę tymczasową Pozwól na działanie bazy tymczasowej Wartość Czas trwania @@ -178,12 +190,9 @@ Wskazówka: %1$s Pytanie : %1$s Ćwiczenie: %1$s - Zmiana wkłucia - Założenie sensora CGM Uruchomienie sensora CGM Zatrzymanie sensora CGM Alarm D.A.D. - Zmiana zasobnika insuliny Zmiana profilu Bolus na przekąskę Bolus na posiłek @@ -193,8 +202,6 @@ Dawka Tymczasowa Koniec Węglow. korekcyjne OpenAPS Rozłączony (Offline) - Zmiana baterii pompy - Cel tymczasowy (TT) Wartość celu tymczasowego Odrzuć Cel tymczasowy Kalkulator bolusa @@ -242,7 +249,6 @@ TBB * 2 Wykrywanie czasu - %1$dh %2$dm Wycisz na 5 minut wyeksportowano %1$s temu @@ -273,14 +279,6 @@ Wersja %1$s dostępna Wersja %1$s wygasa %2$s - - P - W - Ś - C - P - S - N BOLUS KALKULATOR BOLUSA @@ -408,7 +406,6 @@ Podtrzym. Baza nieaktualna SMS Kliknięto połącz z pompą - Zmieniono ster. pompy. Zmiana ster. pompy. Urządzenie zmieniono Naciśnięto odśwież @@ -419,12 +416,28 @@ Bolus OK Pompa sparowana Przycisk Odświeżania Insight + %1$.0f%% Baza + Baza % Wybrany %1$d Sortuj + użytkownik - Aplikacja wymaga uprawnienia Bluetooth + Wynik: %1$s + Brakujące + Porównaj profile + + Użyj powiadomień systemowych dla alertów i powiadomień + Pilny alarm + INFO + Brak uprawnień SMS + + COB vs IOB + !!!!! Wykryto powolne wchłanianie węglowodanów: %2$d%% czasu. Sprawdź ponownie swoje obliczenia. COB mogły być przeszacowane przez co mogło być podane zbyt dużo insuliny !!!!!]]> + Dostarcz tą część dawki insuliny z wyniku kalkulatora bolusa [%] + Uruchom alarm kiedy będzie czas na jedzenie + Nie wybrano żadnej akcji, zdarzenie nie będzie wprowadzone %1$d dzień %1$d dni diff --git a/core/core-main/src/main/res/values-pt-rBR/strings.xml b/core/core-main/src/main/res/values-pt-rBR/strings.xml index cabc9b7715..311a87a358 100644 --- a/core/core-main/src/main/res/values-pt-rBR/strings.xml +++ b/core/core-main/src/main/res/values-pt-rBR/strings.xml @@ -4,21 +4,26 @@ Atualizar Erro + Salvar Não definido Falha ao atualizar o perfil basal Perfil Basal atualizado na bomba Dados de entrada inválidos Erro na entrega da basal temporária + Iniciando aplicação de %1$.2f U Aguardando a bomba - Conectando para %1$d - Cumprimento + Aplicando %1$.2fU Conectando - Conectado Desconectado - A desligar + AAPS iniciado + %1$.1f U + %1$.2f U + %1$+.2f U + %1$d g %1$.0f / %2$d U %1$.2f U/h %1$.2f h + %1$d min A bomba está ocupada Erro de conexão com a bomba Objetivos @@ -29,7 +34,7 @@ STOP PRESSIONADO Parar Carbos - SEM PERFIL DEFINIDO + ]]> Data Unidades DIA @@ -37,56 +42,93 @@ ISF Basal Meta + Duração da ação da insulina + Proporção Insulina/Carboidratos + Fator de sensibilidade à insulina + Taxa basal + Alvo de glicemia Inicializando... Número de série Bateria Última ligação Último Bolus Unidades diárias - Taxa Basal de base + Taxa Basal de base Basal temporaria - Bólus estendido + Bólus estendido Reservatório Histórico da Bomba Ver perfil Tipo de evento mg/dL mmol/L + g + % Configurações Avançadas Bluetooth Watchdog BT Desliga o bluetooth do telefone durante um segundo se nenhuma conexão com bomba for possível. Este parâmetro pode ser util em alguns telefones, onde a pilha bluetooth congela. Emparelhando - Sim - Não LOOP DESATIVADO POR RESTRIÇÕES + Bolus %1$.2f U aplicado com sucesso + OK Nenhum valor de basal temporaria valido foi lido da bomba A limitar IOB máx. para %1$.1f U porque %2$s uso não seguro Bomba inacessível + Bólus estendido Hora da bomba actualizada + Sair + Remover registo + Loop Desativado + Alarme Desativar loop Ativar loop Retomar loop Suspender loop + Duração [min] Notificação Nenhum perfil carregado de NS ainda existe não existe Glicose + IA + CA Nome: Hora WiFi SSID Carregando… - Hora do Evento Notas + Remover Adicionar novo + Adicionar novo(a) acima + Os dados estão vindo de uma bomba diferente. Alterar o driver da bomba para redefinir o estado da bomba. + GLIC + Calibração Disparar alarme em %1$d min O Bolus relatou um erro. Verifique a quantidade administrada manualmente + Lembrete de bolus + Duração g Bomba suspensa Não configurado Loop suspenso + Seta de tendência + Auto sens + n/a + req + caindo rapidamente + caindo + caindo lentamente + estável + subindo lentamente + subindo + subindo rapidamente + nenhum + desconhecido + hiper + no alvo + hipo Média TIR DDT Total @@ -96,6 +138,27 @@ repor TrocaPerfil em falta. Por favor faça uma troca de perfil ou pressione \"Ativar Perfil\" em PerfilLocal. Perfil + Selecione para remover + Tem certeza que deseja remover %1$d itens + Tratamento + Criar novo perfil local a partir deste perfil? + Definições do Assistente Rápido + Tendência 15 min + CA + I.A de Bolus + IOB Basal + Pausado + INVÁLIDO + Login + Insulina + Parar Alvo Temp + Loop Fechado + Loop Aberto + Suspensão de Glicémia Baixa + Confirmar + DIA + IC + FSI A basal max está limitada a %1$.2f U/h por %2$s limite da bomba @@ -103,31 +166,27 @@ deve ser valor positivo Limitando bólus para %1$.1f U porque %2$s Bomba não inicializada, perfil não definido! - - Confirmação - Mensagem - OK - Cancelar - Dispensar Bluetooth de energia baixa (LE) não suportado. + Bluetoothn Low Energy (BLE) não suportado ou o dispositivo não está acoplado. Bluetooth não está ativado. Localização Não Está Ativada Para que a procura de Bluetooth funcione em aparelhos mais recentes, a localização tem que ser activada. A app não rastreia a sua localização e pode ser desativada depois de um emparelhamento bem sucedido. + Senha incorreta + PIN incorreto As passwords não coincidem + PINs não conferem Valores das basais não definidos por horas: %1$s + Valor da basal alterado para o valor mínimo suportado: %1$s Valor da basal alterado para o valor máximo suportado: %1$s /U U/h g/U Iniciar perfil %1$d%% para %2$d min - - * Somente valores discretos nos intervalos são suportados como granularidade para basal/bolus na bomba virtual. - Cancelar basal temporário Deixa o basal temporário em andamento Rácio Duração @@ -136,16 +195,22 @@ Perfil inválido: %1$s + %1$d min + Careportal Verificação BG + Glicemia manual ou calibração Anúncio Anotação Pergunta Exercício - Alteração do local do cateter - Colocação do Sensor CGM + Anúncio: %1$s + Observação: %1$s + Questão : %1$s + Exercício : %1$s Início do Sensor CGM - Troca de Reservatório de Insulina + Parar Sensor CGM + Alerta D.A.D Troca de Perfil Bólus Lanche Bólus Refeição @@ -155,8 +220,7 @@ Fim do Basal Temp Correção Carboidratos OpenAPS Offline - Troca de Bateria da Bomba - Alvo Temporário + Valor do Alvo Temporário Cancelar alvo temporário Assistente de Bólus Dedo @@ -165,9 +229,16 @@ desconhecido Comer em breve Hipo + Atividade Wear Automação Personalizado + Bomba + Loop + NS + Gravar + Lendo histórico da bomba + Ícone da bomba Ligação expirou @@ -181,7 +252,9 @@ Aguardando resultados SMB + %1$d g de carboidratos necessários em %2$d minutos + Estatísticas Dose diária acumulativa Dose diária exponencialmente ponderada Basal @@ -191,19 +264,25 @@ # Dias Peso Possivelmente impreciso se o bolus for usado para purgar! + Dados antigos, pressione \"Recarregar\" Basal Diária Total Basal diária * 2 Deteção de tempo + Silenciar por 5 minutos exportado %1$s atrás + exportado em %1$s exportado há menos de uma hora + na pasta: %1$s Selecionar arquivo para importar As preferências foram criadas com uma variante diferente do AAPS (%1$s) enquanto tem: %2$s.\n\nAlgumas configurações podem estar ausentes ou inválidas - após a importação, por favor verifique e atualize suas preferências. Preferências foram criadas num dispositivo diferente. Não há problema se estiver a importar de telefone diferente/antigo, mas se certifique que as preferências importadas estão corretas! Você está usando o formato de legado desatualizado a partir de versões antigas da AAPS, que não é seguro! Use apenas como último recurso, se você não tiver uma exportação em formato atual, JSON. As preferências importadas já têm %1$s dias de idade! Talvez você tenha preferências mais atualizadas ou escolha o arquivo errado? Lembre-se de exportar preferências regularmente! Formato de data-hora inválido! + Preferências de diferentes versões secundárias da aplicação. Está OK se você está importando após a atualização, mas verifique após a importação se as preferências ainda estão corretas! + Preferências de diferentes versões principais do aplicativo. Versões principais diferem significativamente e podem ter preferências incompatíveis! Certifique-se que depois de importar as preferências ainda estão corretas! Arquivo de configurações adulterado Arquivo de configurações é seguro A usar um formato de configurações não seguro e não encriptado @@ -218,19 +297,235 @@ Detectamos que está a correr uma versão inválida. Loop desactivado! Disponível %1$s disponível + A versão %1$s expira em %2$s - + Por favor, reinicie seu telefone ou reinicie o AndroidAPS nas Configurações do Sistema \nCaso contrário o Android APS não terá registro (importante para rastrear e verificar se os algoritmos estão funcionando corretamente)! + BOLUS + CALCULADORA DE BOLUS + AVISOR DE BOLUS + BOLUS ESTENDIDO + TBR SUPERBOLUS + CARBOIDRATOS + CARBOIDRATOS ESTENDIDOS + BASAL TEMPORÁRIO + ALVO TEMPORÁRIO + NOVO PERFIL + CLONAR PERFIL + SALVAR PERFIL + TROCAR PERFIL + TROCA DE PERFIL CLONADO + MODO LOOP FECHADO + MODO LOOP LGS + MODO LOOP ABERTO + LOOP DESATIVADO + LOOP ATIVADO + RECONECTAR + DESCONECTAR + RETOMAR + SUSPENDER + BOMBA HW PERMITIDO + APAGAR CHAVES DE ACOPLAMENTO + ACEITAR BASAL TEMPORARIO + CANCELAR BASAL TEMPORARIO + CANCELAR BOLUS + CANCELAR BOLUS ESTENDIDO + CANCELAR ALVO TEMPORÁRIO + CAREPORTAL + TROCA DE CÂNULA + TROCA DE RESERVATÓRIO + CALIBRAÇÃO + BOLUS DE ENCHER + TRATAMENTO + ATUALIZAR CAREPORTAL NS + ATUALIZAR TROCA DE PERFIL NS + ATUALIZAR TRATAMENTO NS + ATUALIZAR ALVO TEMPORARIO NS + AUTOMAÇÃO REMOVIDA + GLICOSE REMOVIDA + CAREPORTAL REMOVIDO + BOLUS REMOVIDO + CARBOIDRATOS REMOVIDOS + BASAL TEMPORÁRIO REMOVIDO + BOLUS ESTENDIDO REMOVIDO + COMIDA + COMIDA REMOVIDA + PERFIL REMOVIDO + TROCA DE PERFIL REMOVIDO + REINICIAR EVENTOS REMOVIDO + TRATAMENTO REMOVIDO + ALVO TEMPORÁRIO REMOVIDO + NS PAUSADO + RETOMAR NS + NS FILA LIMPA + CONFIGURAÇÕES DE NS COPIADAS + ERROR DIALOG OK + Silenciar diálogo de erros + Silenciar diálogo de erros por 5min + Objetivo iniciado + Objetivo não iniciado + Objetivo ignorado + Reinício das estatísticas + Apagar logs + Apagar tratamentos futuros + Excluir tratamentos futuros + Exportar ajustes + Importar ajustes + Redefinir banco de dados + Limpeza de banco de dados + Exportar banco de dados + Importar banco de dados + Exportar OTP + Reiniciar OTP + Parar SMS + Exportar informações do usuário + Iniciar AAPS + Sair do AAPS + PLUGIN ATIVADO + PLUGIN DESATIVADO + DESCONHECIDO + String + Origem + Deslocamento UTC + Ação + Timestamp + Nenhuma unidade + Exportar Entradas de Usuário para Excel (csv) + LOOP ALTERADO + LOOP REMOVIDO + OUTRO + Alvo de perfil de hipoglicemia + Alvo de perfil de hiperglicemia + Valor menor do alvo temporário + Valor maior do alvo temporário + Valor do alvo temporário + Valor do perfil da DAI + Valor do perfil de sensibilidade + Valor basal máximo do perfil + Valor basal atual + Valor do perfil da taxa de carboidratos %1$.2f limitado a %2$.2f + >>%1$s<< está fora dos limites estabelecidos + »%1$s« %2$.2f está fora dos limites estabelecidos + Valor basal + A versão NSClient não é compatível com o AAPS. Por favor, atualize. + Bolus de %1$.2f U + Carboidratos %1$d g + BOLUS ESTENDIDO %1$.2f U %2$d min + CARREGAR EVENTOS + CARREGAR HISTÓRIA %1$d + CARREGAR TDDs + DEFINIR PERFIL + DEFINIR CONFIGURAÇÕES DO USUÁRIO + BOLUS SMB %1$.2f U + INICIAR BOMBA + PARAR BOMBA + BASAL TEMPORÁRIO %1$.2f U/h %2$d min + BASAL TEMPORÁRIO %1$d%% %2$d min + NOTIFICAÇÃO INSIGHT SET TBR CONCLUÍDO + READSTATUS %1$s + MantenhaVivo. Status desatualizado. + MantenhaVivo. Basal desatualizado. + SMS + Clicado no conectar à bomba + Alteração driver da bomba. + Troca de dispositivo + Atualização em andamento + Att. de status programada + Comando não confirmado + Solicitado pelo usuário + Solicitação do usuário + Bolus OK + Bomba acoplada + Botão Atualizar Insight + %1$.0f%% + Basal + Basal % + Selecionado %1$d + Ordenar + Remover itens + Ordenar Itens + Remover itens selecionados + arquivo + usuário + Autotune + Ajuda com ajustes potenciais no perfil (FS, I:C e taxas basais) + AT + Configurações Autotune + Automação de alternância de perfil + Se ativado, o Autotune atualizará automaticamente e mudará para o perfil de entrada após o cálculo de uma regra de automação. + Classificar RNA como basal + Ativar apenas se você inseriu confiavelmente todos os carboidratos consumidos, com esta opção aumentos repentinos vistos pelo Autotune serão usados para recomendar mudanças na taxa basal. Ajustar curva da insulina Habilitar apenas se você usar pico livre. Esta opção irá ajustar a duração do pico e da DAI + Número de dias de dados + Aplicar resultado médio em I:C/FS circadiano + Autotune não irá ajustar variações circadianas, esta opção somente aplica o ajuste médio do I:C e FS ao seu perfil de entrada circadiano + Incluir mais informações de log para depuração + Acione somente se solicitado pelo dev para enviar mais informações de registro para ajudar a depurar o plugin Autotune Número padrão de dias de dados a serem processados por Autotune (até 30) + Ajustado + Perfil: + Dias de sincronismo: + Última execução : + Aviso : + Selecione o perfil para ajustar + O perfil selecionado tem %1$d valores de IC. Autotune vai usar %2$.2f g/U + O perfil selecionado tem %1$d valores de ISF. Autotune vai usar %2$.1f g/U Erro nos dados de entrada, tente executar novamente autotune ou reduza o número de dias - O aplicativo precisa de permissão bluetooth + Cálculos do Autotune iniciados, por favor aguarde + Verifique os resultados cuidadosamente antes de usá-los! + Resultado parcial - dia %1$d / %2$d ajustado + Resultado: %1$s + Parâmetro + % + Faltando + Autotune perfil: %1$s + Executar Autotune + Verifique o perfil de entrada + Comparar perfis + Copiar para o perfil local + Atualizar perfil de entrada + Reverter perfil de entrada + Criar um novo perfil local a partir deste perfil Autotune? + Atualizar perfil %1$s com perfil do Autotune? + Reverter o perfil %1$s para o perfil inicial? + Perfil inválido + Autotune executado sem troca de perfil + Autotune executado e perfil alterado automaticamente + Erro durante a última execução do Autotune + Outra execução de Autotune foi detectada, execução cancelada + + Usar as notificações do sistema para alertas e notificações + Alarme Urgente + INFO + Falta de permissão SMS + + CA vs IA + !!!!! Absorção lenta de hidratos detectada: %2$d%% do tempo. Verifique o seu cálculo. COB pode estar sobreestimado, assim mais insulina pode ser dada !!!]]> + Entregue esta parte do resultado do assistente de bólus [%] + Disparar alarme quando for a hora de comer + Nenhuma acção seleccionada, nada irá acontecer + Nenhuma glicemia recente para base de cálculo! + Nenhum perfil ativo definido! + CA desconhecido! Leitura de Glicemia faltando ou reinício recente do app? + Violação da restrição de carboidrato! + Calc (I:C: %1$.1f, FS: %2$.1f) + Carboidratos: %1$.2fU + CA: %1$.0fg %2$.2fU + Glicemia: %1$.2fU + IA: %1$.2fU + Superbolus: %1$.2fU + Tendência 15min: %1$.2fU + Porcentagem: %1$.2fU x %2$d%% ≈ %3$.2fU + Violação de restrição de insulina!\nNão é possível entregar %1$.2fU + AlvoTemporário: %1$s + %1$s para %2$s + Nenhuma bomba disponível! %1$d dia %1$d dias @@ -239,4 +534,8 @@ %1$d hora %1$d horas + + %1$d minuto + %1$d minutos + diff --git a/core/core-main/src/main/res/values-pt-rBR/validator.xml b/core/core-main/src/main/res/values-pt-rBR/validator.xml index a9d025b786..29de817b19 100644 --- a/core/core-main/src/main/res/values-pt-rBR/validator.xml +++ b/core/core-main/src/main/res/values-pt-rBR/validator.xml @@ -16,5 +16,9 @@ Formato inválido Deve ser número de 4 dígitos Deve ser número de 6 dígitos + Deve conter 12 caracteres entre ABCDEF0123456789 + Deve conter 8 caracteres entre ABCDEF0123456789 + Deve conter 4 caracteres entre ABCDEF0123456789 + Não de comprimento mínimo Pin deve ser de 3 a 6 dígitos, não o mesmo ou em série diff --git a/core/core-main/src/main/res/values-pt-rPT/strings.xml b/core/core-main/src/main/res/values-pt-rPT/strings.xml index 178a69d7a0..b5e11a126d 100644 --- a/core/core-main/src/main/res/values-pt-rPT/strings.xml +++ b/core/core-main/src/main/res/values-pt-rPT/strings.xml @@ -12,13 +12,9 @@ Erro na administração da Basal Temp A ser administrado %1$.2f U À espera da bomba - A ligar durante %1$d s A administrar %1$.2f U - Cumprimento A ligar - Ligado Desconectada - A desconectar %1$.1f U %1$.2f U %1$+.2f U @@ -37,7 +33,6 @@ PARAR PRESSIONADO Parar Hidratos - SEM PERFIL DEFINIDO ]]> Data Unidades @@ -46,15 +41,16 @@ FSI Basal Alvo + Taxa da Basal A inicializar ... Número de série Bateria Última ligação Último bólus Unidades diárias - Taxa Basal do Perfil + Taxa Basal de base Basal temp - Bólus Prolongado + Bólus Prolongado Reservatório Histórico da Bomba Ver perfil @@ -68,8 +64,6 @@ Watchdog BT Desliga o bluetooth do telefone durante um segundo se nenhuma ligação com bomba for possível. Este parâmetro pode ser útil em alguns telefones, onde o bluetooth congela. A Emparelhar - Sim - Não LOOP DESATIVADO POR RESTRIÇÕES Bólus %1$.2f U administrado com sucesso OK @@ -99,12 +93,16 @@ Hora SSID WiFi A carregar … - Hora do Evento Notas Remover Adicionar novo + Os dados vêm de uma bomba diferente. Altera o driver da bomba para redefinir o seu estado. + GLIC + Calibração Executar alarme em %1$d min Ocorreu um erro de bólus. Verifique manualmente a quantidade administrada + Lembrete de bólus + Duração g Bomba suspensa Não configurado @@ -112,6 +110,10 @@ Seta de tendência n/a req + nenhuma + desconhecido + hiper + hipo Média TIR TDI Total @@ -121,6 +123,25 @@ repor Troca de Perfil em falta. Por favor faça uma troca de perfil ou pressione \"Activar Perfil\" em Perfil Local. Perfil + Tratamento + Criar novo perfil local a partir deste perfil? + Definições do Assistente Rápido + Tendência 15 min + HCA + Bólus - IA + Basal IA + Em pausa + INVÁLIDO + Login + Bólus + Parar Alvo Temp + Loop Fechado + Loop Aberto + Suspensão Glicose Baixa + Confirmar + DIA + IHC + FSI A basal máx está limitada a %1$.2f U/h por %2$s limite bomba @@ -128,12 +149,6 @@ deve ser valor positivo A limitar bólus para %1$.1f U porque %2$s Bomba não inicializada, perfil não definido! - - Confirmação - Mensagem - OK - Cancelar - DISPENSAR Bluetooth Low Energy não suportado. Bluetooth Low Energy não suportado ou dispositivo não emparalhado. @@ -151,10 +166,7 @@ g/U Iniciar perfil %1$d%% para %2$d min - - * Somente valores discretos nos intervalos são suportados como granularidade para basal/bolus na bomba virtual. - Cancelar Basal Temp Permitir Basal Temp Correr Rácio Duração @@ -165,18 +177,20 @@ %1$d min + Careportal Verificar Glicose Glicose Manual or Calibração Anúncio Nota Questão Exercício - Mudança Local Bomba - Colocação Sensor CGM + Anúncio: %1$s + Notas: %1$s + Questão : %1$s + Exercício : %1$s Início do Sensor CGM Parar Sensor CGM Alertar D.A.D. (Alerta cão apoio a pesso) - Mudança de Cartucho de Insulina Troca de Perfil Bólus Lanche Bólus Refeição @@ -186,8 +200,7 @@ Fim Basal Temp Correção Hidratos OpenAPS Offline - Troca Bateria Bomba - Alvo Temporário + Valor Alvo Temporário Cancelar Alvo Temporário Assistente de Bólus Dedo @@ -200,6 +213,12 @@ Android Wear Automatização Personalizado + Bomba + Loop + NS + Registo + A ler histórico da bomba + Ícone da bomba Ligação expirou @@ -228,7 +247,6 @@ Basal diária * 2 Detecção de tempo - %1$dh %2$dm Silenciar por 5 minutos exportado há %1$s @@ -257,23 +275,18 @@ Detectamos que está a correr uma versão inválida. Loop desactivado! Disponível %1$s disponível + Versão: %1$s criada em %2$s - - S - T - Qa - Qi - Se - Sa - D BÓLUS + CALCULADOR DE BÓLUS ASSISTENTE DE BÓLUS BÓLUS PROLONGADO DBT SUPERBÓLUS HC HC LENTOS BASAL TEMPORÁRIA + ALVO TEMPORÁRIO NOVO PERFIL CLONAR PERFIL GUARDAR PERFIL @@ -292,21 +305,33 @@ LIMPAR CHAVES DE EMPARELHAMENTO ACEITAR BASAL TEMPORÁRIA CANCELAR BASAL TEMPORÁRIA + CANCELAR BÓLUS CANCELAR BÓLUS PROLONGADO + CANCELAR ALVO TEMPORÁRIO + CAREPORTAL + ALTERAÇÃO DO LOCAL DO CATETER + ALTERAÇÃO DO RESERVATÓRIO + CALIBRAÇÃO BÓLUS DE PREENCHIMENTO TRATAMENTO ATUALIZAÇÃO DO CAREPORTAL DO NS ATUALIZAR MUDANÇA DE PERFIL DO NS ATUALIZAR TRATAMENTOS DO NS + ATUALIZAR ALVO TEMPORÁRIO NO NS AUTOMATIZAÇÃO REMOVIDA GLIC REMOVIDA CAREPORTAL REMOVIDO + REGISTO DE BÓLUS REMOVIDO + REGISTO DE HCS REMOVIDOS + BASAL TEMPORÁRIA REMOVIDA BÓLUS PROLONGADO REMOVIDO + COMIDA HC REMOVIDOS PERFIL REMOVIDO TROCA DE PERFIL REMOVIDA REINICIAR EVENTOS REMOVIDOS TRATAMENTO REMOVIDO + ALVO TEMPORÁRIO REMOVIDO NS PAUSADO RETOMAR NS FILA DO NS LIMPA @@ -327,10 +352,29 @@ IMPORTAR BASES DE DADOS EXPORTAR OTP REINICIAR OTP + PARAR SMS EXPORTAR ENTRADAS DO UTILIZADOR + COMEÇAR A AAPS + SAIR DA AAPS + PLUGIN ATIVADO + PLUGIN DESATIVADO DESCONHECIDO + Cadeia de caracteres + Fonte + Diferença horária UTC + Acção + Registo de data e hora + Nenhuma Unidade Exportar Entradas do Utilizador para o Excel (csv) + LOOP ALTERADO + LOOP REMOVIDO + OUTROS + Valor mínimo alvo do perfil + Valor máximo alvo do perfil + Valor inferior do alvo temporário + Valor superior do alvo temporário + Valor Alvo Temporário Valor Perfil DIA Valor Perfil Sensibilidade Valor Perfil Basal Máxima @@ -338,11 +382,41 @@ Valor Perfil Rácio Hidratos %1$.2f limitado a %2$.2f »%1$s« está fora dos limites máximos + »%1$s« %2$.2f está fora dos limites permitidos + Valor da Basal + BOLUS %1$.2f U + Hidratos de Carbono %1$d g + BOLUS EXTENDIDO %1$.2f U %2$d min + CARREGAR EVENTOS + CARREGAR HISTÓRICO %1$d + SMS + Comando não confirmado + Solicitado pelo utilizador + Pedido do Utilizador + Bólus OK + Bomba Emparelhada + Botão de Atualização da Insight + %1$.0f%% Basal + Basal % + utilizador - Aplicação precisa de permissão Bluetooth + Em falta + Comparar Perfis + + Utilizar as notificações do sistema para alertas e notificações + Alarme Urgente + INFO + Falta de permissão SMS + + HCA vs IA + !!!!! Absorção lenta de hidratos detetada: %2$d%% do tempo. Verifique o seu cálculo. HCA podem estar sobrestimados, assim mais insulina pode ser dada !!!]]> + Administrar esta parte do resultado do assistente de bólus [%] + Executar alarme quando for tempo de comer + Nenhuma ação seleccionada, nada irá acontecer + IOB: %1$.2fU %1$d dia %1$d dias diff --git a/core/core-main/src/main/res/values-pt-rPT/validator.xml b/core/core-main/src/main/res/values-pt-rPT/validator.xml index d58212ac05..fc5a8125de 100644 --- a/core/core-main/src/main/res/values-pt-rPT/validator.xml +++ b/core/core-main/src/main/res/values-pt-rPT/validator.xml @@ -1,6 +1,6 @@ - Apenas dígitos numéricos são permitidos. + Apenas digitos numéricos são permitidos. Apenas são permitidos dígitos numéricos dentro do intervalo de %1$s - %2$s. Este campo não pode conter qualquer caractere especial Apenas letras padrão são permitidas diff --git a/core/core-main/src/main/res/values-ro-rRO/strings.xml b/core/core-main/src/main/res/values-ro-rRO/strings.xml index 46acda25f6..32f46b3966 100644 --- a/core/core-main/src/main/res/values-ro-rRO/strings.xml +++ b/core/core-main/src/main/res/values-ro-rRO/strings.xml @@ -12,14 +12,9 @@ Eroare la livrare bazală temporară Se vor livra %1$.2fU Se așteaptă pompa - Conectat de %1$d s Livrare %1$.2f U - Împerechere Se conectează - Conectat Deconectat - Se deconectează - Se așteaptă deconectarea %1$.1f U %1$.2f U %1$+.2f U @@ -38,7 +33,6 @@ STOP APĂSAT Stop Carbohidrați - NICIUN PROFIL SETAT ]]> Data Unități @@ -47,15 +41,16 @@ ISF Bazală Țintă + Rată bazală Inițializare... Număr serial Baterie Ultima conexiune Ultimul bolus Unități zilnic - Rată bazală implicită + Rată bazală normală Bazală temporară - Bolus extins + Bolus extins Rezervor Istoric pompă Afișează profilul @@ -69,8 +64,6 @@ BT Watchdog Oprește bluetooth-ul telefonului pentru o secundă dacă nu se poate conecta la pompă. Aceasta poate ajuta în cazul telefoanelor cu bluetooth incompatitibil. Împerechere - Da - Nu BUCLĂ DEZACTIVATĂ DATORITĂ CONSTRÂNGERILOR Bolusul de %1$.2fU a fost livrat cu succes OK @@ -100,13 +93,16 @@ Timp SSID WiFi Se încarcă… - Ora evenimentului Note Șterge Adăugare Datele vin de la o pompa diferita. Schimba driver-ul de pompa pentru a reseta starea pompei. + Gl + Calibrare Rulează alarma în %1$d min Bolus a raportat o eroare. Verifică manual cantitatea livrată + Memento bolus + Durată g Livrare de insulină suspendată Nu este configurat @@ -114,6 +110,10 @@ Săgeată tendinţă indisponibil req + nimic + necunoscută + hiper + hipo Medie Timp în țintă Total TDD @@ -123,6 +123,26 @@ resetare Lipsă SchimbareProfil. Efectuați o schimbare de profil sau apăsați \"Activare profil\" în ProfilulLocal. Profil + Sigur vrei să elimini %1$d element(e) + Tratament + Creați un profil nou din acest profil? + Asistent setări + Tendință 15min + COB + IOB bolus + IOB bazală + Suspendat + INVALID + Autentificare + Insulină + Oprește o țintă temporară + Buclă închisă + Buclă deschisă + Suspendare la hipoglicemie + Confirmă + DIA + IC + ISF Se limitează maximul ratei bazale la %1$.2f U/o datorită %2$s limită pompă @@ -130,12 +150,6 @@ trebuie să fie o valoare pozitivă Se limitează bolusul la %1$.1f U datorită %2$s Pompa nu este inițializată, profilul nu este setat! - - Confirmare - Mesaj - OK - Renunță - RENUNȚĂ BLE nu este suportat. Bluetooth Low Energy nu este acceptat sau dispozitivul nu este asociat. @@ -153,11 +167,7 @@ g/U Utilizează profilul %1$d%% pentru %2$d min - - * Pompa virtuală acceptă doar valori specifice ca și incremente, nu și intervale de valori. -* Doar valorile specifice, nu şi intervalele de valori sunt suportate ca şi incremente în pompa virtuală. - Anulează bazala temporară Lasă să funcționeze bazala temporară Rată Durată @@ -179,12 +189,9 @@ Notă: %1$s Întrebare : %1$s Exercițiu fizic: %1$s - Schimbare loc pompă - Inserare senzor Start senzor Stop senzor CGM Alertă D.A.D. - Schimbare cartuș insulină Schimbare de profil Bolus Gustare Bolus Masă @@ -194,8 +201,6 @@ Sfârșit bazală temporară Corecție de carbohidrați OpenAPS Offline - Schimbare baterie pompă - Ţintă temporară Valoare țintă temporară Oprire ţintă temporară Asistent bolusare @@ -243,7 +248,6 @@ TBB * 2 Detectare timp - %1$dh %2$dm Dezactivează pentru 5 minute exportat cu %1$s în urmă @@ -274,14 +278,6 @@ Versiunea %1$s este disponibilă Versiunea %1$s expiră pe %2$s - - L - Ma - Mi - J - V - S - D BOLUS CALCULATOR DE BOLUS @@ -409,7 +405,6 @@ KeepAlive. Bazală depăşită. SMS Conectare la pompă apăsat - Driver-ul pompei a fost schimbat. Schimbare driver pompa. Dispozitiv modificat Reîmprospătare apăsată @@ -420,11 +415,27 @@ Bolus OK Pompă împerecheată Buton Reîmprospătare Insight + %1$.0f%% Rate bazale + Bazală % Sortează + utilizator - Aplicația are nevoie de permisiune Bluetooth + Rezultat: %1$s + Lipsă + Compară profilurile + + Se folosesc notificările sistemului pentru alerte și notificări + Alarmă urgentă + INFO + Lipsesc permisiunile de SMS + + COB vs IOB + !!!!! A fost detectată o absorbție lentă a carbohidraților: %2$d%% din timp. Reverificați calculele. COB poate fi supraestimat, astfel că este posibilă administrarea de mai multă insulină !!!!!]]> + Livrați doar partea aceasta din rezultatul sugerat de wizard [%] + Rulează alarma când este timpul să mănânci + Nicio acțiune selectată, nu se va întâmpla nimic %1$d zi %1$d zile diff --git a/core/core-main/src/main/res/values-ru-rRU/strings.xml b/core/core-main/src/main/res/values-ru-rRU/strings.xml index 11441588ff..43fe1b74ba 100644 --- a/core/core-main/src/main/res/values-ru-rRU/strings.xml +++ b/core/core-main/src/main/res/values-ru-rRU/strings.xml @@ -12,14 +12,9 @@ Ошибка подачи врем базала Будет подано %1$.2f ед инс ожидание помпы - Связь установлена за %1$d сек Подается болюс %1$.2fед - Подтверждение связи соединение устанавливается - соединение установлено Разъединено - разъединение - Ожидание разъединения AAPS запущен %1$.1f ед %1$.2f ед @@ -31,7 +26,6 @@ %1$d мин помпа занята ошибка соединения - Разрешенный предел достигнут Цели Закрыть Подождите… @@ -40,8 +34,6 @@ нажат стоп стоп Углеводы - Недопустимый профиль! - ПРОФИЛЬ НЕ ЗАДАН дата единицы @@ -61,9 +53,9 @@ прошлое соединение предыдущий болюс суточные единицы - базовая величина базала + базовая величина базала врем базал - Пролонгированный болюс + Пролонгированный болюс Резервуар Журнал помпы просмотр профиля @@ -77,8 +69,6 @@ Дежурный режим Watchdog Выключает bluetooth телефона на одну секунду, если подключение к помпе невозможно. Это помогает на тех телефонах, где зависает модуль bluetooth. Сопряжение - Да - Нет ЗЦ ОТМЕНЕН ОГРАНИЧЕНИЯМИ Болюс %1$.2f ед. подан успешно ОК @@ -108,7 +98,6 @@ Время SSID для Wi-Fi Загрузка… - Время события Заметки Удалить Добавить новый @@ -141,6 +130,7 @@ в диапазоне низкий Средний + Время в целевом диапазоне Суммарный суточный инсулин TDD ]]> УДАЛИТЬ @@ -148,6 +138,27 @@ сброс Профиль не переключен. Переключите профиль или нажмите \"активировать профиль\" в LocalProfile. Профиль + Выберите для удаления + Вы уверены, что хотите удалить %1$d элемент + Терапия + Создать новый профиль из этого профиля? + Настройки мастера + 15 мин тренд + АктУгл COB + Болюс IOB + Базал IOB + на паузе + НЕВЕРНО + Логин + Инсулин + Остановить врем цель + Замкнутый цикл + открытый цикл + Приостановка помпы на низкой ГК + Подтверждаю + Время действия инсулина DIA + IC углкоэф ГУ/инс + ISF (чувствительность к инсулину) Макс базальный уровень ограничен до %1$.2f ед/ч вследствие %2$s лимит помпы @@ -155,12 +166,6 @@ величина должна быть положительной Макс уровень болюса ограничен до %1$.1f ед вследствие %2$s помпа не инициализирована, профиль не установлен - - Подтверждение - Сообщение - OK - Отменить - ОТКЛОНИТЬ Bluetooth с низким энергопотреблением не поддерживается. Bluetooth Low Energy не поддерживается или устройство не сопряжено. @@ -181,10 +186,7 @@ г/ед Начать профиль %1$d%% на %2$d мин - - * В виртуальной помпе поддерживаются только дискретные величины для обработки базала/болюса. - отмена врем базала Оставить временный базал работающим Скорость Продолжительность @@ -206,12 +208,9 @@ Примечание: %1$s Вопрос: %1$s Нагрузка: %1$s - Смена места катетера помпы - Установка сенсора мониторинга глюкозы Сарт сенсора Останов сенсора мониторинга Сигнал служебной собаки - Замена картриджа инсулина Смена профиля Болюс на перекус Болюс на еду @@ -221,8 +220,6 @@ Оконч действия врем базала Коррекция углеводов OpenAPS в автономном режиме - Замена батареи помпы - Временная цель Временное целевое значение Отмена временной цели Мастер Болюса @@ -272,7 +269,6 @@ общий базал*2 Определение времени - %1$dч %2$dмин Отключить уведомления на 5 минут экспортировано %1$s назад @@ -304,14 +300,6 @@ Версия: %1$s истекает %2$s Перезагрузите телефон или перезапустите AAPS из системных настроек \n иначе AAPS не будет вести лог (важно для отслеживания и проверки алгоритмов)! - - Пн - Вт - Ср - Чт - Пт - Сб - Вс БОЛЮС КАЛЬКУЛЯТОР БОЛЮСА @@ -442,7 +430,6 @@ KeepAlive Базал устарел. SMS Нажато подключ к помпе - Драйвер помпы изменен. Замена драйвера помпы. Устройство изменено Нажато обновление @@ -453,8 +440,6 @@ болюс ОК Помпа сопряжена Кнопка \"Обновить Insight\" - снижение %1$s на %2$s - увеличение %1$s на %2$s %1$.0f%% Базал Базал % @@ -513,9 +498,36 @@ Autotune выполнен и профиль переключён автоматически Ошибка во время последнего выполнения Autotune Обнаружен другой запуск Autotune, выполнение отменено - Приложению требуется разрешение Bluetooth + + Использовать системные уведомления для предупреждений и уведомлений + Сигнал тревоги + ИНФОРМАЦИЯ Отсутствует смс разрешение + + Помощник болюса + У вас высокая гликемия. Лучше подождать, чем есть сейчас. Хотите сделать болюс на коррекцию и установить напоминание о приеме пищи? В этом случае углеводы не будут записаны и после напоминания надо будет снова воспользоваться помощником. + угл COB к инс IOB + !!!!! Обнаружено медленное всасывание углеводов: %2$d%% времени. Еще раз проверьте свои расчеты. Возможно акт углеводы COB вне диапазона и может быть подано больше инсулина!!!!!]]> + Подать эту часть рекомендации мастера болюса [%] + Напомнить о еде + Действие не выбрано, ничего не произойдет + Нет данных ГК для основы расчета! + Активный профиль не установлен! + Неизвестный COB! Отсутствуют данные ГК или приложения недавно перезапущено? + Нарушено ограничение по углеводам! + Кальк (IC:%1$.1f ISF: %2$.1f) + Углеводов: %1$.2fгУ + Акт Инс COB: %1$.0fг %2$.2fед + ГК: %1$.2f + IOB: %1$.2fед + Суперболюс:%1$.2fед + тренд 15\': %1$.2f + В процентах: %1$.2fед x %2$d%% = %3$.2f + Нарушено ограничение по инсулину!\nНевозможно подать %1$.2fед + ВремЦ: %1$s + %1$s до %2$s + Нет помпы! %1$d день %1$d дня diff --git a/core/core-main/src/main/res/values-sk-rSK/strings.xml b/core/core-main/src/main/res/values-sk-rSK/strings.xml index ee878caea6..c681727b99 100644 --- a/core/core-main/src/main/res/values-sk-rSK/strings.xml +++ b/core/core-main/src/main/res/values-sk-rSK/strings.xml @@ -12,14 +12,9 @@ Chyba podávania dočasného bazálu Podávanie %1$.2f J inzulínu Čakám na pumpu - Pripájanie %1$d sek Podávanie %1$.2f JI - Overovanie Pripájanie - Pripojené Odpojené - Odpájanie - Čakám na odpojenie AAPS spustený %1$.1f JI %1$.2f JI @@ -31,7 +26,6 @@ %1$d min Pumpa je zaneprázdnená Chyba pripájania pumpy - Dosiahnutý povolený limit Ciele Zavrieť Čakajte prosím... @@ -40,8 +34,6 @@ STLAČENÝ STOP Stop Sacharidy - Neplatný profil! - Nenastavený žiadny profil ]]> Dátum Jednotky @@ -61,9 +53,9 @@ Posledné spojenie Posledný bolus Jednotiek za deň - Základná hodnota bazálu + Základná hodnota bazálu Dočasný bazál - Rozložený bolus + Predĺžený bolus Zásobník História pumpy Zobraziť profil @@ -77,8 +69,6 @@ Strážny pes BT Vypne na 1 sekundu Bluetooth v telefóne, pokiaľ se nedarí pripojiť k pumpe. Môže to pomôcť pri telefónoch, ktoré majú problémy s BT. Párovanie - Áno - Nie UZAVRETÝ OKRUH DEAKTIVOVANÝ OBMEDZENÍM Bolus %1$.2f JI podaný úspešne OK @@ -108,7 +98,6 @@ Čas WiFi SSID Načítavanie... - Čas udalosti Poznámky Vymazať Pridať nový @@ -158,6 +147,18 @@ COB Bolusový IOB Bazálny IOB + Pozastavené + NEPLATNÝ + Prihlásenie + Inzulín + Koniec dočasného cieľa + Uzavretý okruh + Otvorený okruh + Pozastavenie pri nízkej glykémii (LGS) + Potvrdiť + DIA + I:C + ISF Max bazál obmedzený na %1$.2f JI/h: %2$s limit pumpy @@ -165,12 +166,6 @@ požadovaná kladná hodnota Bolus obmedzený na %1$.1f JI: %2$s Pumpa nie je inicializovaná, profil nenastavený! - - Potvrdenie - Správa - OK - Zrušiť - ODMIETNUŤ Bluetooth Low Energy nie je podporované. Bluetooth Low Energy nie je podporované, alebo zariadenie nie je spárované. @@ -191,10 +186,7 @@ g/JI Spustiť profil %1$d%% na %2$d min - - * Iba diskrétne hodnoty a nie rozsahy sú podporované pre bazál/bolus vo virtuálnej pumpe. - Zrušiť dočasný bazál Nechať bežať aktuálny dočasný bazál Hodnota Trvanie @@ -216,12 +208,9 @@ Poznámka : %1$s Otázka: %1$s Cvičenie : %1$s - Výmena setu - Výmena senzora Spustenie senzora Zastavenie senzora Hlásenie strážneho psa - Výmena inzulínu Prepnutie profilu Bolus na desiatu/olovrant Bolus na jedlo @@ -231,8 +220,6 @@ Koniec dočasného bazálu Prídavok sacharidov OpenAPS vypnuté - Výmena batérie v pumpe - Dočasný cieľ Hodnota dočasného cieľa Zrušiť dočasný cieľ Bolusová kalkulačka @@ -282,7 +269,6 @@ TBB * 2 Detekcia času - %1$dh %2$dm Stíšiť na 5 minút exportované pred %1$s @@ -314,14 +300,6 @@ Verzia %1$s expiruje dňa %2$s Prosím reštartujte Váš telefón, alebo reštartujte AndroidAPS z nastavení \nv opačnom prípade AndroidAPS nebude mocť zaznamenávať logy (dôležité kvôli sledovaniu a overovaniu, že algoritmus pracuje správne)! - - Po - Ut - St - Št - Pi - So - Ne BOLUS BOLUSOVÝ KALKULÁTOR @@ -452,7 +430,6 @@ Udržiavam pripojené. Zastaralý bazál. SMS Kliknuté pripojiť k pumpe - Ovládač pumpy zmenený. Zmena ovládača pumpy. Zariadenie zmenené Kliknuté na tlačítko obnoviť @@ -463,8 +440,6 @@ Bolus OK Pumpa spárovaná Insight Tlačítko Obnoviť - zníženie %1$s o %2$s - zvýšenie %1$s o %2$s %1$.0f%% Bazál Bazál % @@ -523,9 +498,36 @@ Autotune spustený a profil automaticky prepnutý Chyba pri poslednom spustení Autotune Bola zistená iná spustená úloha Autotune, spustenie zrušené - Aplikácia vyžaduje povolenie bluetooth + + Používať systémové notifikácie pre výstrahy a oznámenia + Urgentný alarm + INFO Chýbajúce povolenie SMS príkazov + + Bolusový poradca + Máte vysokú glykémiu. Namiesto jedla doporučujeme počkať na lepšiu glykémiu a pripomenúť, keď bude čas na jedlo. Prajete si poslať korekčný bolus a pripomenúť, keď bude čas na jedlo? V tomto prípade nebudú zapísané žiadne sacharidy, a neskôr musíte opäť spustiť kalkulačku, akonáhle vám to pripomenieme. + COB vs. IOB + !!!!! Detekovaná pomalá absorbcia sacharidov: %2$d%% času. Prekontrolujte kalkuláciu. COB môže byť úplne iné, môže byť podaného viac inzulínu!!!!!]]> + Podaj túto časť z výsledku kalkulácie [%] + Spustiť výstrahu, keď je čas na jedlo + Žiadna akcia nevybraná, nič sa neudeje + Žiadna aktuálna glykémia k základnému výpočtu! + Nie je nastavený žiadny aktívny profil! + Neznáme COB! Chýbajú glykémie, alebo bola práve reštartovaná aplikácia? + Sacharidy mimo povolený rozsah! + Kalk (IC: %1$.1f, ISF: %2$.1f) + Sacharidy: %1$.2fJI + COB: %1$.0fg %2$.2fJI + Gly: %1$.2fJI + IOB: %1$.2fJI + Superbolus: %1$.2fJI + 15min trend: %1$.2fJI + Percentá: %1$.2fJI x %2$d%% ≈ %3$.2fJI + Inzulín mimo povolený rozsah!\nNie je možné podať %1$.2fJI + DC: %1$s + %1$s do %2$s + Pumpa nedostupná! %1$d deň %1$d dní diff --git a/core/core-main/src/main/res/values-sr-rCS/protection.xml b/core/core-main/src/main/res/values-sr-rCS/protection.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-sr-rCS/protection.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-sr-rCS/strings.xml b/core/core-main/src/main/res/values-sr-rCS/strings.xml index f2c270ce22..b78bc36ee8 100644 --- a/core/core-main/src/main/res/values-sr-rCS/strings.xml +++ b/core/core-main/src/main/res/values-sr-rCS/strings.xml @@ -3,30 +3,55 @@ Sačuvaj + Isporučujem %1$.2f U + Uglj. hidrati + Basal + Bolus %1$.2f U je uspešno isporučen + Izađi + IOB + GUK Bolus je prijavio grešku. Ručno proverite stvarnu isporučenu količinu + Trajanje + Profil + Tretman + Bolus IOB + Basalni IOB + Closed Loop + Open Loop + Niska Glukoza Obustavi - - + Trajanje + Senzor + Pumpa + Loop + Insulin + Basal + Bolus + Odnos - + Basal + Basal % + Rezultat: %1$s + + diff --git a/core/core-main/src/main/res/values-sv-rSE/strings.xml b/core/core-main/src/main/res/values-sv-rSE/strings.xml index 25ebfe92d5..2302355561 100644 --- a/core/core-main/src/main/res/values-sv-rSE/strings.xml +++ b/core/core-main/src/main/res/values-sv-rSE/strings.xml @@ -12,14 +12,9 @@ Fel vid justering av temp basal Kommer att leverera %1$.2f enheter Väntar på pump - Ansluter (%1$d s) Levererar %1$.2f enheter - Anslutningen verifieras Ansluter - Ansluten Frånkopplad - Kopplar från - Väntar på frånkoppling %1$.1fU %1$.2fU %1$+.2f U @@ -38,7 +33,6 @@ Stopp nedtryckt Stopp Kolhydrater - INGEN PROFIL VALD ]]> Datum Enheter @@ -50,6 +44,7 @@ Insulinets verkningstid Insulin till kolhydratförhållande Insulinkänslighetsfaktor + Basaldos Mål-BG Startar... Serienummer @@ -57,9 +52,9 @@ Senast ansluten Senaste bolus Enheter per dag - Profilens basaldos + Profilens basaldos Temp basal - Förlängd bolus + Förlängd bolus Reservoar Pumphistorik Visa profil @@ -73,8 +68,6 @@ Bluetooth-övervakare Startar om bluetooth på telefonen om anslutning till pumpen misslyckas. Detta hjälper på en del telefoner där bluetooth ibland hänger sig. Parkoppling - Ja - Nej LOOP INAKTIVERAD PGA BEGRÄNSNINGAR Bolus %1$.2f enheter levererat OK @@ -104,19 +97,23 @@ Tid WiFi nätverksnamn Laddar… - När Anteckning Ta bort Lägg till Lägg till nytt ovan Data kommer från en annan pump. Byt pumpdrivrutin för att återställa. + BG + Kalibrering Larma om %1$d min Ett fel rapporterades under bolus. Vänligen kontrollera pumpen manuellt + Boluspåminnelse + Duration g Pump pausad Inte konfigurerad Loop pausad Trendpil + Auto sens - beh sjunker snabbt @@ -140,6 +137,25 @@ Återställ Profilbyte saknas. Vänligen gör ett profilbyte eller tryck Aktivera profil under Lokal Profil. Profil + Behandling + Skapa kopia av denna profil? + Kalkylatorinställningar + 15 min trend + COB + Bolus IOB + IOB från basal + Pausad + OGILTIG + Logga in + Insulin + Avbryt temp mål + Closed Loop + Open Loop + Stopp innan lågt + Bekräfta + Duration + IC + ISF Max basal: %1$.2f E/h pga %2$s pumpbegränsning @@ -147,12 +163,6 @@ det måste vara ett positivt värde Max bolus: %1$.1f U pga %2$s Pump inte initierad, ingen profil vald. - - Bekräftelse - Meddelande - OK - Avbryt - TA BORT Enheten stöder inte BLE. Bluetooth Low Energy stöds inte, eller så är enheten inte parkopplad. @@ -170,10 +180,7 @@ g/U Byt till profil %1$d%% i %2$d min - - * Inga spann stöds som granularitet för basal/bolus i den virtuella pumpen. Endast enkla värden. - Avbryt temp basal Låt temp basalen gå Basaldos Duration @@ -195,12 +202,9 @@ Anteckning: %1$s Fråga : %1$s Träning : %1$s - Byte pumpkanyl - Byte CGM-sensor Start CGM-sensor Stoppa CGM-sensor Diabeteshundlarm - Byte insulinreservoar Profilbyte Mellanmålsbolus Måltidsbolus @@ -210,8 +214,6 @@ Temp basal slut KH-korrektion OpenAPS Offline - Byte pumpbatteri - Temp mål Temp målvärde Avbryt temp mål Kalkylator @@ -259,7 +261,6 @@ TDB * 2 Tidsdetektering - %1$dh %2$dm Tysta i 5 minuter exporterades för %1$s sedan @@ -290,14 +291,6 @@ Version %1$s tillgänglig Version %1$s upphör att gälla %2$s - - M - T - O - T - F - L - S BOLUS BOLUS KALKYLATOR @@ -425,7 +418,6 @@ KA: Basalinfo inaktuell. SMS Klickade Anslut till pump - Pumpdrivr. byttes. Pumpdrivr. byte. Enheten ändrad Klickade Uppdatering @@ -436,12 +428,40 @@ Bolus OK Pump parkopplad Uppdat. knapp för Insight - minska %1$s med %2$s - öka %1$s med %2$s + %1$.0f%% Basal + Basal % + ditt namn - Applikationen behöver bluetooth-behörighet + Resultat: %1$s + Saknas: + Jämför profiler + + Systemaviseringar för larm & info + Akut larm + INFO + Saknar behörighet att skicka SMS + + COB kontra IOB + Varning! Långsam KH-absorption upptäckt %2$d%% av tiden. Dubbelkolla din beräkning. COB kan vara väldigt missvisande och du riskerar få för mycket insulin!]]> + Direkt bolus [%] + Larma när det är dags att äta + Ingen åtgärd vald. Inget ändras. + Inget nytt BG-värde att basera beräkning på! + Ingen aktiv profil vald! + Okänt COB! Saknas BG eller är appen nyss omstartad? + Max KH uppnått! + Kolhydrater: %1$.2fU + COB: %1$.0fg %2$.2fU + BG: %1$.2fU + Superbolus: %1$.2fU + 15\' trend: %1$.2fU + Procent: %1$.2fU x %2$d%% ≈ %3$.2fU + Max bolus uppnått!\nKan inte leverera %1$.2fU + TempM: %1$s + %1$s till %2$s + Ingen pump tillgänglig! %1$d dag %1$d dagar diff --git a/core/core-main/src/main/res/values-tr-rTR/protection.xml b/core/core-main/src/main/res/values-tr-rTR/protection.xml index 3ea04e700d..35afa00898 100644 --- a/core/core-main/src/main/res/values-tr-rTR/protection.xml +++ b/core/core-main/src/main/res/values-tr-rTR/protection.xml @@ -1,2 +1,4 @@ - + + Kilit açma ayarları + diff --git a/core/core-main/src/main/res/values-tr-rTR/strings.xml b/core/core-main/src/main/res/values-tr-rTR/strings.xml index 612310d745..b2f5ecb5c2 100644 --- a/core/core-main/src/main/res/values-tr-rTR/strings.xml +++ b/core/core-main/src/main/res/values-tr-rTR/strings.xml @@ -12,14 +12,9 @@ Geçici Bazal teslimat hatası %1$.2f Ü gönderilecek Pompa bekleniyor - %1$d bağlanıyor %1$.2f Ü gönderiliyor - El Sıkışma Bağlanıyor - Bağlanıldı Bağlantı kesildi - Bağlantı kesiliyor - Bağlantının kesilmesi bekleniyor AAPS başladı %1$.1f Ü %1$.2f Ü @@ -31,7 +26,6 @@ %1$d dakika Pompa meşgul Pompa bağlantı hatası - İzin verilen limite ulaşıldı Görevler Kapat Lütfen bekleyin… @@ -40,8 +34,8 @@ DURDUR BASILI Dur Karbonhidrat - Geçersiz profil! - PROFİL AYARLANMADI + Geçersiz profil! + PROFİL AYARLANMADI ]]> Tarih Birim @@ -61,9 +55,9 @@ Son bağlantı Son bolus Günlük ünite - Temel bazal oranı + Temel bazal oranı Geçici Bazal - Yayma Bolus + Yayma Bolus Rezervuar Pompa geçmişi Profili görüntüle @@ -77,8 +71,6 @@ BT Watchdog Pompa ile herhangi bir bağlantı sorunu yaşanıyorsa, Akıllı telefonunuzda Bluetooth bağlantısını kapatıp açın. Bu bluetooth bağlantı sorununu giderecektir. Eşleştirme - Evet - Hayır DÖNGÜ KISITLAMALARDAN DEVREDIŞI BIRAKILDI %1$.2f Ü bolus başarıyla gönderildi Tamam @@ -108,7 +100,6 @@ Zaman WiFi SSID Yükleniyor… - Tarih, saat Notlar Kaldır Yeni ekle @@ -140,6 +131,7 @@ yüksek aralık içinde düşük + Ortalama TIR GTD Toplam ]]> @@ -148,6 +140,28 @@ sıfırla Profil geçişi yok. Lütfen Profil Değiştirme ile bir profil geçişi yapın veya Yerel Profil\'de \"Profili Etkinleştir\" düğmesine basın. Profil + Silmek için seçin + %1$d öğeyi kaldırmak istediğinizden emin misiniz + Tedavi + Bu profilden yeni profil oluşturulsun mu? + Kurulum Sihirbazı Ayarları + 15 dk eğilim + AKRB + Bolus AİNS + Bazal AİNS + Duraklatıldı + GEÇERSİZ + Giriş + Hazırla/doldur + İnsülin + Geçici hedefi durdur + Kapalı Döngü + Açık Döngü + Düşük Glikoz Duraklatma (LGS) + Onayla + İES + IC Karbonhidrat İnsülin Oranı + IDF İnsülin Duyarlılık Faktörü %2$s nedeniyle max bazal oranı %1$.2f Ü/s ile sınırlı pompa sınırı @@ -155,12 +169,6 @@ pozitif bir değer olmalıdır %2$s\'den dolayı bolus %1$.1f Ü ile sınırlandırılıyor Pompa başlatılamadı, profil oluşturulmamış! - - Onay - İleti - Tamam - İptal - REDDET Düşük Enerji Bluetooth desteklenmez. Düşük Enerji Bluetooth desteklenmiyor veya cihaz eşleştirilmedi. @@ -181,10 +189,8 @@ g/Ü %2$d dakika için %1$d%% profilini başlat - - * Sanal pompada bazal/bolus ayrıntı düzeyi için yalnızca ayrık değerler desteklenir. Aralıklar değil. - Geçici bazali iptal et + Temp bazal iptal Geçici bazala izin ver Oran Süre @@ -206,12 +212,12 @@ Not : %1$s Soru : %1$s Alıştırma : %1$s - Pompa Kanül Değişimi - CGM Sensör Yerleştir + Pompa Kanül Değişimi + CGM Sensör Yerleştir CGM sensörü Başlat CGM Sensör Durdurma D.A.D Alarmı - İnsülin Kartuş Değişimi + İnsülin Rezervuar Değişimi Profil değiştir Aperatif Bolusu Öğün Bolusu @@ -221,8 +227,8 @@ Geçici Bazal Bitimi Karbonhidrat düzeltme OpenAPS Çevrimdışı - Pompa Pil Değişimi - Geçici hedef + Pompa Pil Değişimi + Geçici hedef Geçici hedef değeri Geçici hedef iptali Bolus sihirbazı @@ -272,7 +278,6 @@ TBB * 2 Zaman algılama - %1$dsa %2$ddk 5 dakika sessize al %1$s önce dışa aktarıldı @@ -304,14 +309,6 @@ %1$s sürümünün süresi %2$s tarihinde sona eriyor Lütfen telefonunu yeniden başlat, yada AAPS sistem ayarları üzerinden yeniden başlat.\nAksi taktirde Android APS hiç bir günlük tutmayacak (takip ve doğrulama, algoritmanın düzenli çalışmasi için önemli)! - - P - S - Ç - P - C - C - P BOLUS BOLUS HESAPLAYICI @@ -442,7 +439,6 @@ KA.. Bazal güncel değil. SMS Pompaya bağlan tıklandı - Pompa sürücüsü değişti. Pompa sürücüsü değişimi. Cihaz değişti Yenileme tıklandı @@ -453,8 +449,6 @@ Bolus OK Pompa eşleştirildi Insight Yenileme Düğmesi - %2$s\'dan %1$s\'a azalma - %2$s\'dan %1$s\'a artış %1$.0f%% Bazal Bazal % @@ -513,9 +507,38 @@ OtoAyar çalıştı ve profil otomatik olarak değiştirildi Son OtoAyar çalışması sırasında hata oluştu Başka bir OtoAyar çalıştırması tespit edildi, çalıştırma iptal edildi - Uygulama bluetooth iznine ihtiyac duyuyor + + Uyarılar ve bildirimler için sistem bildirimlerini kullan + Acil önemli Alarm + BİLGİ SMS izni eksik + + Bolus danışmanı + Yüksek glisemiksiniz. Şimdi yemek yemek yerine daha iyi glisemi beklemeniz önerilir. Şimdi bir düzeltme bolusu yapmak ve yemek zamanı geldiğinde size hatırlatmak ister misiniz? Bu durumda karbonhidrat kaydı yapılmaz ve size hatırlattığımızda sihirbazı tekrar kullanmanız gerekir. + AKRB vs AİNS + !!!!! Yavaş karbonhidrat emilimi tespit edildi: zamanın %2$d%% si. Hesaplamanızı iki kez kontrol edin. Aktif Karbonhidrat (AKRB) olduğundan fazla tahmin edilebilir, bu nedenle daha fazla insülin verilebilir !!!!!]]> + Bolus sihirbazı sonucunun bu kadarını ilet [%] + Bolus kısıtlaması uygulandı: %1$.2f Ü ile %2$.2f Ü + Bolus yalnızca kaydedilecektir (pompa ile iletilmez) + Yemek zamanı alarmı çalıştır + Seçili eylem yok, hiçbir şey olmayacak + Hesaplamayı temel alacak yeni bir KŞ yok! + Etkin profil ayarlanmadı! + Aktif karbonhidrat (AKRB) bilinmiyor! KŞ okuması eksik veya son uygulama yeniden başlatılsın mı? + Karbonhidrat kısıtlaması ihlali! + Hesap (KİO: %1$.1f, İDF: %2$.1f) + Karb: %1$.2fÜ + AKRB: %1$.0fg %2$.2fÜ + KŞ: %1$.2fÜ + AİNS: %1$.2fÜ + Süperbolus: %1$.2fÜ + 15\' trend: %1$.2fÜ + Yüzde: %1$.2fÜ x %2$d%% ≈ %3$.2fÜ + İnsülin kısıtlaması ihlali!\n%1$.2fÜ iletilemez + GeçiciH: %1$s + %1$s - %2$s + Pompa mevcut değil! %1$d gün %1$d gün diff --git a/core/core-main/src/main/res/values-zh-rCN/protection.xml b/core/core-main/src/main/res/values-zh-rCN/protection.xml index 3ea04e700d..8e0bb0a97b 100644 --- a/core/core-main/src/main/res/values-zh-rCN/protection.xml +++ b/core/core-main/src/main/res/values-zh-rCN/protection.xml @@ -1,2 +1,4 @@ - + + 解锁设置 + diff --git a/core/core-main/src/main/res/values-zh-rCN/strings.xml b/core/core-main/src/main/res/values-zh-rCN/strings.xml index 3e706785bc..772a5ac084 100644 --- a/core/core-main/src/main/res/values-zh-rCN/strings.xml +++ b/core/core-main/src/main/res/values-zh-rCN/strings.xml @@ -12,14 +12,9 @@ 临时基础输注错误 将要输注 %1$.2f U 正在等待泵 - 正在连接 %1$d 秒 正在输注 %1$.2f U - 握手 正在连接 - 已连接 已断开连接 - 正在断开连接 - 正在等待连接 %1$.1f U %1$.2f U %1$+.2f U @@ -38,7 +33,6 @@ 停止键按下了 停止 碳水化合物 - 没有设置配置文件 ]]> 日期 单位 @@ -50,6 +44,7 @@ 胰岛素作用持续时间DIA 碳水化合物系数(ICR) 胰岛素敏感系数ISF + 基础率 血糖目标 正在初始化 序列号 @@ -57,9 +52,9 @@ 上次连接 上次大剂量 每日单位数 - 基础率 + 基础率 临时基础率 - 扩展大剂量(方波) + 扩展大剂量(方波) 储药器 泵历史记录 查看配置文件 @@ -71,10 +66,8 @@ 高级设置 蓝牙 蓝牙看门狗 - 如果没有连接到泵,关闭手机的蓝牙一秒钟再自动打开。这在一些蓝牙堆栈僵死的手机上是有帮助的, + 如果无法与泵连接,将关闭手机的蓝牙一秒钟后再自动打开。在一些蓝牙堆栈僵死的手机上是有帮助的。 配对中 - - 按约束条件禁用循环 成功输注大剂量 %1$.2f U 确定 @@ -104,19 +97,23 @@ 时间 WiFi SSID 正在加载… - 事件时间 备注 删除 添加新条目 在顶部新增 数据来自不同的胰岛素泵,修改泵的驱动配置用来重置泵的状态。 + 血糖 + 校准 在 %1$d 分钟内运行提醒 大剂量输注报告了一个错误。请手动检查真实输注量 + 大剂量提醒 + 持续时间 泵暂停了 未配置 闭环暂停了 趋势箭头 + 自动敏感度 无可用 迅速下降 @@ -140,6 +137,27 @@ 重置 配置文件切换缺失。请做一次配置文件切换或者在本地配置文件里按“激活配置文件” 配置文件 + 选择要删除的 + 你确定要删除 %1$d 吗? + 治疗 + 是否复制这个配置文件的参数来创新一个新的配置文件? + 向导设置 + 15分钟 趋势 + 碳水 + 大剂量活性胰岛素IOB + 基础 IOB + 已暂停 + 无效 + 登录 + 胰岛素 + 停止临时目标 + 闭环 + 开环 + 低血糖维持模式 + 确认 + DIA + IC + ISF 最大基础率被限定为 %1$.2f U/h 由于 %2$s 泵限制 @@ -147,12 +165,6 @@ 它必须是正数 由于 %2$s, 将大剂量限制为 %1$.1f U 泵未初始化, 配置文件未设置! - - 确认 - 消息 - 确定 - 取消 - 忽略 不支持蓝牙低能量。 蓝牙低电量或设备未配对。 @@ -172,10 +184,7 @@ 克/U 启动配置文件 %1$d%%在 %2$d 分钟 - - *在虚拟泵中,基础率/大剂量仅支持离散值,不支持范围值。 - 取消临时基础率 让临时基础率运行 比率 持续时间 @@ -197,12 +206,9 @@ 备注: %1$s 问题 : %1$s 运动 : %1$s - 泵更换管路 - CGM 传感器插入 CGM 传感器启动 CGM 传感器停止 D.A.D. 警告 - 更换储药器 配置文件切换 零食大剂量 餐时大剂量 @@ -212,8 +218,6 @@ 临时基础率结束 碳水化合物校正 OpenAPS 离线 - 更换泵电池 - 临时目标 临时目标值 临时目标取消 大剂量向导 @@ -261,7 +265,6 @@ TBB * 2 时间检测 - %1$dh %2$dm 静音 5 分钟 已导出 %1$s @@ -292,14 +295,6 @@ 版本 %1$s 可用 版本 %1$s 将在 %2$s 过期 - - 周一 - 周二 - 周三 - 周四 - 周五 - 周六 - 周日 大剂量 大剂量向导 @@ -428,7 +423,6 @@ 状态保持. 基础率超时 手机SMS 单击连接到泵 - 泵驱动程序已变更 泵驱动程序变更 设备已更改 点击刷新 @@ -439,8 +433,6 @@ 大剂量完成 泵已配对 Insight刷新按钮 - 将%1$s 减少 %2$s - 将%1$s 增加 %2$s %1$.0f%% 基础率 基础率 % @@ -452,8 +444,79 @@ 文件 用户 - 应用程序需要蓝牙权限。 + 自动调整 + 帮助对配置文件进行潜在调整(胰岛素敏感系数、碳水化合物系数和基础率) + 自动调整 + 自动调整设置 + 自动化配置开关 + 如果启用,Autotune 将在根据自动化规则计算后自动更新并切换到输入配置文件 + 将 UAM 归类为基础率 + 仅当您可靠地输入了所有摄入的碳水化合物时才启用,使用此选项Autotune观测到血糖突然上升将用于建议更改基础率 + 调整胰岛素曲线 + 仅当您使用自由峰值胰岛素模型时时才启用,此选项将调整胰岛素峰值和DIA持续时间 + 数据天数 + 在昼夜 IC/ISF 中应用平均结果 + Autotune 不会调整昼夜节律变化,此选项仅将 IC 和 ISF 的平均调整应用于您的昼夜节律输入配置文件中 + 包含更多用于调试的日志信息 + 仅当开发人员要求发送更多日志信息以帮助调试 Autotune 插件时才打开 + Autotune 处理数据的默认天数(最多 30 天) + 已调整 + 配置文件: + 调整天数 + 上一次运行 + 警告 : + 选择配置文件去协调 + 选定的配置文件包含 %1$d 个 IC 值。自动调整将使用 %2$.2f g/U + 选定的配置文件包含 %1$d 个 ISF 值。自动调节将使用 %2$.1f %3$s/U + 输入数据错误,尝试再次运行自动调谐或减少天数 + 自动协调计算开始,请耐心等待 + 使用前请仔细检查结果! + 部分结果天数 %1$d / %2$d 已调整 + 结果: %1$s + 参数 + % + 缺失 + 自动协调配置文件 %1$s + 运行自动协调 + 检查输入配置 + 比较配置文件 + 复制到本地配置文件 + 更新输入配置文件 + 检查输入配置 + 从此 Autotune 配置文件创建新的本地配置文件? + 用 Autotune 配置文件更新 %1$s 配置文件? + 使用输入配置文件还原 %1$s 配置文件? + 配置文件无效 + 上次 Autotune 运行期间出错 + 检测到另一次自动调试运行,本次运行已取消 + + 对警报和通知使用系统通知音 + 紧急报警 + 信息 + 缺少 SMS 短信权限 + + 活性碳水vs活性胰岛素 + !!!!! 检测到碳水化合物吸收缓慢:%2$d%%的时间。再次检查你的计算。COB可能被高估,因此可以给予更多胰岛素!!!!!]]> + 输注大剂量向导结果的一部分[%] + 在应当吃饭时提醒 + 没有选择任何行动,不会做出任何改变 + 最近没有血糖数据可供计算! + 没有激活的个人配置文件! + 未知的活性碳水!血糖读取缺失或最近重新启动了应用程序? + 碳水违反约束条件! + 计算 (IC: %1$.1f, ISF: %2$.1f) + 碳水: %1$.2fU + 活性碳水: %1$.0f克 %2$.2fU + 血糖: %1$.2fU + 活性胰岛素: %1$.2fU + 超级大剂量:%1$.2fU + 15分钟趋势:%1$.2fU + 百分比:%1$.2fU x %2$d%% ≈ %3$.2fU + 胰岛素剂量违法约束!\n无法输注 %1$.2fU + 临时目标:%1$s + %1$s 至 %2$s + 没有可用的泵! %1$d 天 diff --git a/core/fabric/src/main/res/values-af-rZA/strings.xml b/core/fabric/src/main/res/values-af-rZA/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-af-rZA/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-bg-rBG/strings.xml b/core/fabric/src/main/res/values-bg-rBG/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-bg-rBG/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-ca-rES/strings.xml b/core/fabric/src/main/res/values-ca-rES/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ca-rES/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-cs-rCZ/strings.xml b/core/fabric/src/main/res/values-cs-rCZ/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-cs-rCZ/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-da-rDK/strings.xml b/core/fabric/src/main/res/values-da-rDK/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-da-rDK/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-de-rDE/strings.xml b/core/fabric/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-el-rGR/strings.xml b/core/fabric/src/main/res/values-el-rGR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-el-rGR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-es-rES/strings.xml b/core/fabric/src/main/res/values-es-rES/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-es-rES/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-fr-rFR/strings.xml b/core/fabric/src/main/res/values-fr-rFR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-fr-rFR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-ga-rIE/strings.xml b/core/fabric/src/main/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ga-rIE/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-hr-rHR/strings.xml b/core/fabric/src/main/res/values-hr-rHR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-hr-rHR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-hu-rHU/strings.xml b/core/fabric/src/main/res/values-hu-rHU/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-hu-rHU/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-it-rIT/strings.xml b/core/fabric/src/main/res/values-it-rIT/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-it-rIT/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-iw-rIL/strings.xml b/core/fabric/src/main/res/values-iw-rIL/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-iw-rIL/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-ko-rKR/strings.xml b/core/fabric/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-lt-rLT/strings.xml b/core/fabric/src/main/res/values-lt-rLT/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-lt-rLT/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-nl-rNL/strings.xml b/core/fabric/src/main/res/values-nl-rNL/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-nl-rNL/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-no-rNO/strings.xml b/core/fabric/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-pl-rPL/strings.xml b/core/fabric/src/main/res/values-pl-rPL/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-pl-rPL/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-pt-rBR/strings.xml b/core/fabric/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-pt-rPT/strings.xml b/core/fabric/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-ro-rRO/strings.xml b/core/fabric/src/main/res/values-ro-rRO/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ro-rRO/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-ru-rRU/strings.xml b/core/fabric/src/main/res/values-ru-rRU/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ru-rRU/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-sk-rSK/strings.xml b/core/fabric/src/main/res/values-sk-rSK/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-sk-rSK/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-sr-rCS/strings.xml b/core/fabric/src/main/res/values-sr-rCS/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-sr-rCS/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-sv-rSE/strings.xml b/core/fabric/src/main/res/values-sv-rSE/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-sv-rSE/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-tr-rTR/strings.xml b/core/fabric/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/fabric/src/main/res/values-zh-rCN/strings.xml b/core/fabric/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/ui/src/main/res/values-af-rZA/strings.xml b/core/ui/src/main/res/values-af-rZA/strings.xml new file mode 100644 index 0000000000..8ca8029ca4 --- /dev/null +++ b/core/ui/src/main/res/values-af-rZA/strings.xml @@ -0,0 +1,13 @@ + + + + OK + Kanselleer + DISMISS + Ja + Nee + + + + + diff --git a/core/ui/src/main/res/values-bg-rBG/strings.xml b/core/ui/src/main/res/values-bg-rBG/strings.xml new file mode 100644 index 0000000000..570adb00c1 --- /dev/null +++ b/core/ui/src/main/res/values-bg-rBG/strings.xml @@ -0,0 +1,16 @@ + + + + Потвърждение + Съобщение + ОК + Откажи + Разбрах + Да + Не + + + %1$dч:%2$dм + + + diff --git a/core/ui/src/main/res/values-ca-rES/strings.xml b/core/ui/src/main/res/values-ca-rES/strings.xml new file mode 100644 index 0000000000..044eff6304 --- /dev/null +++ b/core/ui/src/main/res/values-ca-rES/strings.xml @@ -0,0 +1,15 @@ + + + + Confirmació + Missatge + Cancel·lar + DESCARTAR + + No + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-cs-rCZ/strings.xml b/core/ui/src/main/res/values-cs-rCZ/strings.xml new file mode 100644 index 0000000000..63785ad869 --- /dev/null +++ b/core/ui/src/main/res/values-cs-rCZ/strings.xml @@ -0,0 +1,22 @@ + + + + Potvrzení + Zpráva + OK + Zrušit + ODMÍTNOUT + Ano + Ne + + Zobrazí se výzva k zadání hlavního hesla, které bude použito k dešifrování importovaných předvoleb. + + snížení %1$s o %2$s + zvýšení %1$s o %2$s + Byl dosažen povolený limit + %1$dh %2$dm + + Čas + + Aplikace potřebuje oprávnění bluetooth + diff --git a/core/ui/src/main/res/values-da-rDK/strings.xml b/core/ui/src/main/res/values-da-rDK/strings.xml new file mode 100644 index 0000000000..4997fdf59b --- /dev/null +++ b/core/ui/src/main/res/values-da-rDK/strings.xml @@ -0,0 +1,17 @@ + + + + Bekræftelse + Besked + OK + Annuller + AFVIS + Ja + Nej + + + stigning %1$s af %2$s + %1$dt %2$dm + + + diff --git a/core/ui/src/main/res/values-de-rDE/strings.xml b/core/ui/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 0000000000..ad9bf7d821 --- /dev/null +++ b/core/ui/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,17 @@ + + + + Bestätigung + Nachricht + OK + Abbrechen + VERWERFEN + Ja + Nein + + + zunehmend %1$s mit %2$s + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-el-rGR/strings.xml b/core/ui/src/main/res/values-el-rGR/strings.xml new file mode 100644 index 0000000000..ccaf1a193f --- /dev/null +++ b/core/ui/src/main/res/values-el-rGR/strings.xml @@ -0,0 +1,13 @@ + + + + ΟΚ + Ακύρωση + ΑΠΟΡΡΙΨΗ + Ναι + Όχι + + + + + diff --git a/core/ui/src/main/res/values-es-rES/strings.xml b/core/ui/src/main/res/values-es-rES/strings.xml new file mode 100644 index 0000000000..fcb491b494 --- /dev/null +++ b/core/ui/src/main/res/values-es-rES/strings.xml @@ -0,0 +1,17 @@ + + + + Confirmación + Mensaje + Ok + Cancelar + DESCARTAR + Si + No + + + incremento %1$s por %2$s + %1$dhoras %2$dmin + + + diff --git a/core/ui/src/main/res/values-fr-rFR/strings.xml b/core/ui/src/main/res/values-fr-rFR/strings.xml new file mode 100644 index 0000000000..bc63d6369b --- /dev/null +++ b/core/ui/src/main/res/values-fr-rFR/strings.xml @@ -0,0 +1,17 @@ + + + + Confirmation + Message + OK + Annuler + REJETER + Oui + Non + + + incrémenter %1$s par %2$s + %1$dh%2$dm + + + diff --git a/core/ui/src/main/res/values-ga-rIE/strings.xml b/core/ui/src/main/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000000..719a29f91b --- /dev/null +++ b/core/ui/src/main/res/values-ga-rIE/strings.xml @@ -0,0 +1,15 @@ + + + + Deimhniú + Teachtaireacht + Ceart go leor + Cuir ar ceal + + Níl + + + %1$du %2$dn + + + diff --git a/core/ui/src/main/res/values-hr-rHR/strings.xml b/core/ui/src/main/res/values-hr-rHR/strings.xml new file mode 100644 index 0000000000..44039d4a9a --- /dev/null +++ b/core/ui/src/main/res/values-hr-rHR/strings.xml @@ -0,0 +1,14 @@ + + + + Potvrda + Poruka + U redu + Otkaži + ODBACITI + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-hu-rHU/strings.xml b/core/ui/src/main/res/values-hu-rHU/strings.xml new file mode 100644 index 0000000000..220e7025c0 --- /dev/null +++ b/core/ui/src/main/res/values-hu-rHU/strings.xml @@ -0,0 +1,10 @@ + + + + Igen + Nem + + + + + diff --git a/core/ui/src/main/res/values-it-rIT/strings.xml b/core/ui/src/main/res/values-it-rIT/strings.xml new file mode 100644 index 0000000000..c34fd9886d --- /dev/null +++ b/core/ui/src/main/res/values-it-rIT/strings.xml @@ -0,0 +1,17 @@ + + + + Conferma + Messaggio + OK + Annulla + RIMUOVI + + No + + + incremento %1$s di %2$s + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-iw-rIL/strings.xml b/core/ui/src/main/res/values-iw-rIL/strings.xml new file mode 100644 index 0000000000..52f648ab17 --- /dev/null +++ b/core/ui/src/main/res/values-iw-rIL/strings.xml @@ -0,0 +1,17 @@ + + + + אישור + הודעה + אישור + ביטול + בטל + כן + לא + + + תוספת %1$s ב-%2$s + %1$d ש\' %2$d דק\' + + + diff --git a/core/ui/src/main/res/values-ko-rKR/strings.xml b/core/ui/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 0000000000..bfa3bbb6f4 --- /dev/null +++ b/core/ui/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,16 @@ + + + + 확인 + 메시지 + + 취소 + 무시 + + 아니오 + + + %1$d시 %2$d분 + + + diff --git a/core/ui/src/main/res/values-lt-rLT/strings.xml b/core/ui/src/main/res/values-lt-rLT/strings.xml new file mode 100644 index 0000000000..674ec0f877 --- /dev/null +++ b/core/ui/src/main/res/values-lt-rLT/strings.xml @@ -0,0 +1,16 @@ + + + + Patvirtinimas + Pranešimas + Gerai + Atšaukti + ATMESTI + Taip + Ne + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-nl-rNL/strings.xml b/core/ui/src/main/res/values-nl-rNL/strings.xml new file mode 100644 index 0000000000..bc3a471a72 --- /dev/null +++ b/core/ui/src/main/res/values-nl-rNL/strings.xml @@ -0,0 +1,17 @@ + + + + Bevestiging + Bericht + OK + Annuleren + AFWIJZEN + Ja + Nee + + + verhoog %1$s met %2$s + %1$du %2$dm + + + diff --git a/core/ui/src/main/res/values-no-rNO/strings.xml b/core/ui/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 0000000000..c2b48a0ea9 --- /dev/null +++ b/core/ui/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,17 @@ + + + + Bekreftelse + Melding + OK + Avbryt + Avvis + Ja + Nei + + + øk %1$s med %2$s + %1$dt %2$dm + + + diff --git a/core/ui/src/main/res/values-pl-rPL/strings.xml b/core/ui/src/main/res/values-pl-rPL/strings.xml new file mode 100644 index 0000000000..20d18f5804 --- /dev/null +++ b/core/ui/src/main/res/values-pl-rPL/strings.xml @@ -0,0 +1,16 @@ + + + + Potwierdzenie + Wiadomość + OK + Anuluj + ODRZUĆ + Tak + Nie + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-pt-rBR/strings.xml b/core/ui/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000000..159cc9209c --- /dev/null +++ b/core/ui/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,17 @@ + + + + Confirmação + Mensagem + OK + Cancelar + Dispensar + Sim + Não + + + aumento de %1$s para %2$s + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-pt-rPT/strings.xml b/core/ui/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..b49da9df8d --- /dev/null +++ b/core/ui/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,16 @@ + + + + Confirmação + Mensagem + OK + Cancelar + DISPENSAR + Sim + Não + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-ro-rRO/strings.xml b/core/ui/src/main/res/values-ro-rRO/strings.xml new file mode 100644 index 0000000000..b6d6db7107 --- /dev/null +++ b/core/ui/src/main/res/values-ro-rRO/strings.xml @@ -0,0 +1,16 @@ + + + + Confirmare + Mesaj + OK + Renunță + RENUNȚĂ + Da + Nu + + + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-ru-rRU/strings.xml b/core/ui/src/main/res/values-ru-rRU/strings.xml new file mode 100644 index 0000000000..f533a0aec2 --- /dev/null +++ b/core/ui/src/main/res/values-ru-rRU/strings.xml @@ -0,0 +1,17 @@ + + + + Подтверждение + Сообщение + OK + Отменить + ОТКЛОНИТЬ + Да + Нет + + + увеличение %1$s на %2$s + %1$dч %2$dмин + + + diff --git a/core/ui/src/main/res/values-sk-rSK/strings.xml b/core/ui/src/main/res/values-sk-rSK/strings.xml new file mode 100644 index 0000000000..e46a4e2b69 --- /dev/null +++ b/core/ui/src/main/res/values-sk-rSK/strings.xml @@ -0,0 +1,17 @@ + + + + Potvrdenie + Správa + OK + Zrušiť + ODMIETNUŤ + Áno + Nie + + + zvýšenie %1$s o %2$s + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-sr-rCS/strings.xml b/core/ui/src/main/res/values-sr-rCS/strings.xml new file mode 100644 index 0000000000..a0a9d998e1 --- /dev/null +++ b/core/ui/src/main/res/values-sr-rCS/strings.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/core/ui/src/main/res/values-sv-rSE/strings.xml b/core/ui/src/main/res/values-sv-rSE/strings.xml new file mode 100644 index 0000000000..072aabbcb1 --- /dev/null +++ b/core/ui/src/main/res/values-sv-rSE/strings.xml @@ -0,0 +1,17 @@ + + + + Bekräftelse + Meddelande + OK + Avbryt + TA BORT + Ja + Nej + + + öka %1$s med %2$s + %1$dh %2$dm + + + diff --git a/core/ui/src/main/res/values-tr-rTR/strings.xml b/core/ui/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 0000000000..42d22b7f37 --- /dev/null +++ b/core/ui/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,17 @@ + + + + Onay + İleti + Tamam + Vazgeç + REDDET + Evet + Hayır + + + %2$s\'dan %1$s\'a artış + %1$dsa %2$ddk + + + diff --git a/core/ui/src/main/res/values-zh-rCN/strings.xml b/core/ui/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..18b46540aa --- /dev/null +++ b/core/ui/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,17 @@ + + + + 确认 + 消息 + 确定 + 取消 + 忽略 + + + + + 将%1$s 增加 %2$s + %1$dh %2$dm + + + diff --git a/implementation/src/main/res/values-bg-rBG/strings.xml b/implementation/src/main/res/values-bg-rBG/strings.xml index 816c613c03..ee4ecb4d5c 100644 --- a/implementation/src/main/res/values-bg-rBG/strings.xml +++ b/implementation/src/main/res/values-bg-rBG/strings.xml @@ -7,8 +7,6 @@ Време е за ядене Активиране на болус съветник Използвай напомняне за старт на хранене вместо съветника по време на висока гликемия (\"пре-болус\") - Съветник на болус - Имаш висока захар. Вместо да се яде сега, се препоръчва да се изчака за по-добра захар. Искате ли да направите корекция сега и да ви напомня кога е време за ядене? В този случай няма да бъдат записвани въглехидрати и трябва да използвате съветника отново, когато ви напомня. Време е за болус!\nВключи болус съветника и направи изчисление отново. Командата се изпълнява в момента Базалните стойности са под минимума. Не е зададен профил! diff --git a/implementation/src/main/res/values-cs-rCZ/strings.xml b/implementation/src/main/res/values-cs-rCZ/strings.xml index 49cef2a8c5..73f6a8c14f 100644 --- a/implementation/src/main/res/values-cs-rCZ/strings.xml +++ b/implementation/src/main/res/values-cs-rCZ/strings.xml @@ -7,8 +7,6 @@ Čas k jídlu Povolit poradce s bolusem Při vysoké glykémii použijte připomenutí, abyste začali jíst později, namísto výsledku z kalkulátoru („prebolus“) - Poradce pro bolus - Máte vysokou glykémii. Namísto jídla doporučujeme vyčkat na lepší glykémii a připomenout, až bude čas na jídlo. Přejete si poslat korekční bolus a připomenout, až bude čas k jídlu? V tomto případě nebudou zapsané žádné sacharidy, a později opět musíte spustit kalkulátor, jakmile vám to připomeneme. Čas na bolus!\nSpusťte Bolusovou kalkulačku a proveďte výpočet znovu. Příkaz je právě prováděn Hodnota bazálu pod povoleným minimem. Nenastaveno! diff --git a/implementation/src/main/res/values-es-rES/strings.xml b/implementation/src/main/res/values-es-rES/strings.xml index d804f74e57..df97a9c74f 100644 --- a/implementation/src/main/res/values-es-rES/strings.xml +++ b/implementation/src/main/res/values-es-rES/strings.xml @@ -6,9 +6,17 @@ Faltan lecturas de glucosa Hora de comer Habilitar asistente de bolo - Asistente de bolo + Utiliza un recordatorio para empezar a comer más tarde, en lugar del resultado del asistente durante una glucemia alta (\"pre-bolo\") ¡Hora de comer!\nEjecutar el asistente de bolo y calcular de nuevo. Orden se esta efectuando en este momento + Valor basal por debajo del mínimo. Perfil no establecido. + Solicitar + Permiso + %1$s necesita añadir la optimización de la batería a la lista blanca, para obtener un rendimiento adecuado + La aplicación necesita permisos del sistema para poder mostrar notificaciones sobre otras aplicaciones + La aplicación necesita permiso de ubicación para poder buscar dispositivos Bluetooth y redes WiFi + La aplicación necesita permiso de almacenamiento para poder almacenar los archivos de registro y exportar las configuraciones + Error al solicitar los permisos Este dispositivo no parece soportar la optimización de la batería por medio de los ajustes - pueden ocurrir problemas de rendimiento. Muy bajo diff --git a/implementation/src/main/res/values-fr-rFR/strings.xml b/implementation/src/main/res/values-fr-rFR/strings.xml index 85e353dd8d..ad58c23c1b 100644 --- a/implementation/src/main/res/values-fr-rFR/strings.xml +++ b/implementation/src/main/res/values-fr-rFR/strings.xml @@ -7,8 +7,6 @@ Il est temps de manger Activer l\'assistant bolus Utiliser un rappel pour commencer le repas à la place du résultat de l\'assistant quand la glycémie est élevée (\"pré-bolus\") - Assistant bolus - Vous avez une glycémie élevée. Au lieu de manger maintenant, il est recommandé d\'attendre une meilleure glycémie. Voulez-vous faire un bolus de correction maintenant et avoir une alerte quand il sera temps de manger ? Dans ce cas, aucun glucide ne sera enregistré et vous devrez utiliser l\'assistant à nouveau lorsque nous vous le rappelons. Il est temps de faire le bolus !\nExécutez l\'Assistant et faites de nouveau le calcul. Commande exécutée à l\'instant Le débit Basal est inférieur au minimum autorisé. Profil non accepté ! diff --git a/implementation/src/main/res/values-it-rIT/strings.xml b/implementation/src/main/res/values-it-rIT/strings.xml index 300095a25b..1fd8156185 100644 --- a/implementation/src/main/res/values-it-rIT/strings.xml +++ b/implementation/src/main/res/values-it-rIT/strings.xml @@ -1,16 +1,30 @@ + xDrip+ non installato + Calibrazione inviata a xDrip+ + BG Letture BG mancanti + Abilita consiglio bolo + Usa un promemoria per iniziare a mangiare invece del risultato del calcolatore durante la glicemia alta (\"pre-bolo\") Tempo di fare un bolo!\nEsegui il calcolatore e fai di nuovi i calcoli. + Il comando sarà eseguito ora + Valore basale inferiore al minimo. Profilo non impostato! Richiesta Autorizzazione + %1$s necessita della whitelist per l\'ottimizzazione della batteria per avere prestazioni adeguate + L\'applicazione richiede l\'autorizzazione \"finestra di sistema\" per le notifiche + L\'applicazione richiede l\'accesso alla posizione per la scansione bluetooth e l\'identificazione WiFi + L\'applicazione richiede l\'accesso alla memoria per memorizzare i file di log ed esportare le impostazioni Errore nel richiedere le autorizzazioni Questo dispositivo non sembra supportare la whitelist dell\'ottimizzazione batteria: potrebbero verificarsi problemi di prestazioni. + Molto basso Basso Alto Molto alto + Sotto In range + Sopra HbA1c: Dettaglio 14 giorni TIR giorno diff --git a/implementation/src/main/res/values-nl-rNL/strings.xml b/implementation/src/main/res/values-nl-rNL/strings.xml index dcb09a9614..30eca6a55d 100644 --- a/implementation/src/main/res/values-nl-rNL/strings.xml +++ b/implementation/src/main/res/values-nl-rNL/strings.xml @@ -7,8 +7,6 @@ Tijd om te eten Bolusadviseur inschakelen Gebruik bij een hoge bloedglucose niet het resultaat van de wizard, maar een herinnering om later met eten te beginnen (\"pre-bolus\") - Bolusadviseur - Je hebt een hoge bloedglucose. In plaats van te eten, is het nu aan te raden om te wachten op een betere bloedglucose. Wil je nu een correctiebolus uitvoeren en je laten weten wanneer het tijd is om te eten? In dit geval worden er geen koolhydraten opgenomen en moet je de wizard opnieuw gebruiken wanneer we je er aan herinneren. Tijd om te bolussen!\nVoer de boluswizard uit en maak de berekening opnieuw. Opdracht wordt nu uitgevoerd Basaalwaarde onder minimum. Profiel niet ingesteld! diff --git a/implementation/src/main/res/values-no-rNO/strings.xml b/implementation/src/main/res/values-no-rNO/strings.xml index 6e527990e5..b370c9a700 100644 --- a/implementation/src/main/res/values-no-rNO/strings.xml +++ b/implementation/src/main/res/values-no-rNO/strings.xml @@ -7,8 +7,6 @@ Nå må du spise Aktiver boluskalkulator Bruk en påminnelse om å spise senere enn kalkulator resultatet fra wizard ved høyt blodsukker (\"pre-bolus\") - Bolusguide - Du har høyt blodsukker. I stedet for å spise nå er det bedre å utsette det til du har et lavere blodsukker. Ønsker du å sette en korrigerings bolus nå og få en påminnelse om når den er på tide å spise? I dette tilfellet vil ingen karbohydrater registreres nå, og du må bruke måltids veiviseren igjen når vi gir deg en påminnelse. Tid for bolus!\nStart bolus-veiviser og gjør beregning på nytt. Kommandoen utføres akkurat nå Basalverdi under minimum. Profilen settes ikke! @@ -21,10 +19,13 @@ Feil under spørring etter tillatelser Det ser ikke ut som mobilen støtter registrering av apper som unntas fra batterioptimalisering - du kan oppleve ytelsesproblemer. + Veldig lavt Lavt Høyt Veldig høyt + Under I målområdet + Over HbA1c: SD: %1$s Detaljert 14 dager diff --git a/implementation/src/main/res/values-ru-rRU/strings.xml b/implementation/src/main/res/values-ru-rRU/strings.xml index 9764b3b2d2..aa6f928d1c 100644 --- a/implementation/src/main/res/values-ru-rRU/strings.xml +++ b/implementation/src/main/res/values-ru-rRU/strings.xml @@ -7,8 +7,6 @@ Пора есть Вкл помощник болюса Воспользуйтесь напоминанием для того, чтобы начать есть позже, вместо того, чтобы задействовать помощник болюса на высоких значениях ГК (\"пре-болюс\") - Помощник болюса - У вас высокая гликемия. Лучше подождать, чем есть сейчас. Хотите сделать болюс на коррекцию и установить напоминание о приеме пищи? В этом случае углеводы не будут записаны и после напоминания надо будет снова воспользоваться помощником. Пора дать болюс!\nЗапустите помощник болюса и повторите расчет. Команда выполняется значение базала ниже минимума. профиль не создан! diff --git a/implementation/src/main/res/values-sk-rSK/strings.xml b/implementation/src/main/res/values-sk-rSK/strings.xml index 79b63fcab3..8416b12cd0 100644 --- a/implementation/src/main/res/values-sk-rSK/strings.xml +++ b/implementation/src/main/res/values-sk-rSK/strings.xml @@ -7,8 +7,6 @@ Čas na jedlo Povoliť bolusového poradcu Pri vysokej glykémii spustiť pripomienku namiesto výsledku z kalkulačky, aby ste začali jesť neskôr (tzv. \"prebolus\") - Bolusový poradca - Máte vysokú glykémiu. Namiesto jedla doporučujeme počkať na lepšiu glykémiu a pripomenúť, keď bude čas na jedlo. Prajete si poslať korekčný bolus a pripomenúť, keď bude čas na jedlo? V tomto prípade nebudú zapísané žiadne sacharidy, a neskôr musíte opäť spustiť kalkulačku, akonáhle vám to pripomenieme. Čas na bolus!\nSpustite Bolusovú kalkulačku a urobte výpočet znova. Príkaz sa práve vykonáva Hodnota bazálu pod povoleným minimom. Profil nenastavený! diff --git a/implementation/src/main/res/values-tr-rTR/strings.xml b/implementation/src/main/res/values-tr-rTR/strings.xml index 5419a5fa8f..639f2c2a06 100644 --- a/implementation/src/main/res/values-tr-rTR/strings.xml +++ b/implementation/src/main/res/values-tr-rTR/strings.xml @@ -7,8 +7,6 @@ Yemek zamanı Bolus danışmanını etkinleştir Yüksek glisemi sırasında sihirbaz sonucu yerine daha sonra yemeye başlamak için hatırlatıcı kullanın (\"pre-bolus\") - Bolus danışmanı - Yüksek glisemiksiniz. Şimdi yemek yemek yerine daha iyi glisemi beklemeniz önerilir. Şimdi bir düzeltme bolusu yapmak ve yemek zamanı geldiğinde size hatırlatmak ister misiniz? Bu durumda karbonhidrat kaydı yapılmaz ve size hatırlattığımızda sihirbazı tekrar kullanmanız gerekir. Bolus zamanı!\nBolus sihirbazını çalıştırın ve yeniden hesaplama yapın. Komut şu anda çalıştırıldı Bazal değer minimumun altında. Profil ayarlanmadı! @@ -21,4 +19,16 @@ İzin istenirken hata Bu cihaz, program için pil optimizasyonunu desteklemiyor gibi görünüyor - performans sorunları yaşayabilirsiniz. + Çok düşük + Düşük + Yüksek + Çok yüksek + Altında + Aralıkta + Üstünde + HbA1c: + SD: %1$s + Ayrıntılı 14 gün + Gündüz TIR + Gece TIR diff --git a/insight/src/main/res/values-af-rZA/strings.xml b/insight/src/main/res/values-af-rZA/strings.xml index 33344b898f..4ca3018040 100644 --- a/insight/src/main/res/values-af-rZA/strings.xml +++ b/insight/src/main/res/values-af-rZA/strings.xml @@ -11,7 +11,6 @@ Stop pomp Begin Gestaak - Onderbreek Bedryf modus Integrasie vir Accu-Chek Insight pompe Nie ingesteek @@ -38,7 +37,6 @@ Multigolf: %1$.2f / %2$.2f U vir %3$d min TDD: %1$.2f Bat.: %1$d%% - Bevestig Demp Vrygestelde sagteware weergawe UI verwerker sagteware weergawe diff --git a/insight/src/main/res/values-bg-rBG/strings.xml b/insight/src/main/res/values-bg-rBG/strings.xml index 0bf3f51c08..6265d5cafc 100644 --- a/insight/src/main/res/values-bg-rBG/strings.xml +++ b/insight/src/main/res/values-bg-rBG/strings.xml @@ -11,7 +11,6 @@ Спри помпа Стартиран Спрян - Пауза Работен режим Драйвер за Accu-Chek Insight помпи Не е поставено @@ -45,7 +44,6 @@ ТДД: %1$.2f Рез.: %1$.2fE Бат.: %1$d%% - Потвърди Без звук Софтуер версия UI процесор софтуер версия diff --git a/insight/src/main/res/values-ca-rES/strings.xml b/insight/src/main/res/values-ca-rES/strings.xml index 9bd0334a28..e7cf0ec1ce 100644 --- a/insight/src/main/res/values-ca-rES/strings.xml +++ b/insight/src/main/res/values-ca-rES/strings.xml @@ -2,7 +2,6 @@ Activar avisos de fi de TBR\n(configuració bomba) Desactivar avisos de fi de TBR\n(configuració bomba) - En pausa Insight Per bolus i bolus estès (només disponible amb Insight firmware 3.x) Bomba aturada diff --git a/insight/src/main/res/values-cs-rCZ/strings.xml b/insight/src/main/res/values-cs-rCZ/strings.xml index d546054b3f..fc42ba208f 100644 --- a/insight/src/main/res/values-cs-rCZ/strings.xml +++ b/insight/src/main/res/values-cs-rCZ/strings.xml @@ -11,7 +11,6 @@ Zastavit pumpu Spuštěno Zastaveno - Pozastaveno Provozní režim Integrace pro pumpu Accu-Chek Insight Není vloženo @@ -45,7 +44,6 @@ CDD: %1$.2f Zásobník: %1$.2f U Baterie: %1$d%% - Potvrdit Ztlumit Verze softwaru Verze softwaru UI procesoru diff --git a/insight/src/main/res/values-da-rDK/strings.xml b/insight/src/main/res/values-da-rDK/strings.xml index 7a2a19380e..da78591f7c 100644 --- a/insight/src/main/res/values-da-rDK/strings.xml +++ b/insight/src/main/res/values-da-rDK/strings.xml @@ -11,7 +11,6 @@ Stop pumpe Startet Stoppet - Pauset Driftstilstand Pumpeintegration til Accu-Chek Insight pumper Ikke sat i @@ -45,7 +44,6 @@ TDD: %1$.2f Ampul: %1$.2f IE Batt.: %1$d%% - Bekræft Lydløs Release software version UI processor software version diff --git a/insight/src/main/res/values-de-rDE/strings.xml b/insight/src/main/res/values-de-rDE/strings.xml index 8503684417..3f20886ff5 100644 --- a/insight/src/main/res/values-de-rDE/strings.xml +++ b/insight/src/main/res/values-de-rDE/strings.xml @@ -11,7 +11,6 @@ Pumpe stoppen Gestartet Gestoppt - Pausiert Betriebsmodus Pumpen-Integration für Accu-Chek Insight Pumpen Nicht eingesetzt @@ -45,7 +44,6 @@ TDD: %1$.2f Reser.: %1$.2f IE Batt.: %1$d%% - Bestätigen Stumm Release-Softwareversion UI-Prozessor-Softwareversion diff --git a/insight/src/main/res/values-el-rGR/strings.xml b/insight/src/main/res/values-el-rGR/strings.xml index 684327e0c9..34cba8d0d0 100644 --- a/insight/src/main/res/values-el-rGR/strings.xml +++ b/insight/src/main/res/values-el-rGR/strings.xml @@ -11,7 +11,6 @@ Διακοπή αντλίας Ξεκίνησε Σταμάτησε - Παύση Κατάσταση λειτουργίας Ενσωμάτωση αντλίας για αντλίες Accu-Chek Insight Δεν έχει εισαχθεί @@ -38,7 +37,6 @@ Συνδυαστικό: %1$.2f / %2$.2f U για %3$d λεπτά TDD: %1$.2f Μπατ.:%1$d%% - Επιβεβαίωση Σίγαση Απελευθέρωση έκδοση λογισμικού Έκδοση λογισμικού επεξεργαστή UI diff --git a/insight/src/main/res/values-es-rES/strings.xml b/insight/src/main/res/values-es-rES/strings.xml index e91ddbda8a..f249e566a2 100644 --- a/insight/src/main/res/values-es-rES/strings.xml +++ b/insight/src/main/res/values-es-rES/strings.xml @@ -11,7 +11,6 @@ Detener bomba Iniciado Detenido - Pausado Modo de funcionamiento Integración de bomba de insulina Accu-Chek Insight No insertado @@ -45,7 +44,6 @@ TDD: %1$.2f Reservorio.: %1$.2f U Batería.: %1$d%% - Confirmar Silenciar Versión de software Versión de software de procesador de interfaz de usuario diff --git a/insight/src/main/res/values-fr-rFR/strings.xml b/insight/src/main/res/values-fr-rFR/strings.xml index 9bed642914..5b704b6bd9 100644 --- a/insight/src/main/res/values-fr-rFR/strings.xml +++ b/insight/src/main/res/values-fr-rFR/strings.xml @@ -11,7 +11,6 @@ Arrêter la pompe Démarré Arrêté - En pause Mode de fonctionnement Intégration des pompes Accu-Chek Insight Non inséré @@ -45,7 +44,6 @@ DTI : %1$.2f Réserv.: %1$.2f U Batt.: %1$d%% - Confirmer Coupure son Version du logiciel Version du logiciel de processeur UI diff --git a/insight/src/main/res/values-it-rIT/strings.xml b/insight/src/main/res/values-it-rIT/strings.xml index baa9cbddb9..575d537946 100644 --- a/insight/src/main/res/values-it-rIT/strings.xml +++ b/insight/src/main/res/values-it-rIT/strings.xml @@ -11,7 +11,6 @@ Stoppa micro Avviato Stoppato - In pausa Modalità operativa Integrazione del microinfusore Accu-Chek Insight Non inserito @@ -45,7 +44,6 @@ TDD: %1$.2f Serb.: %1$.2f U Batt: %1$d%% - Conferma Muto Versione Release software Versione UI processor software diff --git a/insight/src/main/res/values-iw-rIL/strings.xml b/insight/src/main/res/values-iw-rIL/strings.xml index 24e8f9e189..a524b1c2f5 100644 --- a/insight/src/main/res/values-iw-rIL/strings.xml +++ b/insight/src/main/res/values-iw-rIL/strings.xml @@ -11,7 +11,6 @@ עצור משאבה החל נעצר - מושהה מצב פעולה חיבור משאבת Accu-Chek Insight לא הוכנס @@ -45,7 +44,6 @@ מינון כולל: %1$.2f מכל: %1$.2f יח\' סול\': %1$d%% - אישור השתק גרסת תוכנה גרסת תוכנת מעבד הממשק diff --git a/insight/src/main/res/values-ko-rKR/strings.xml b/insight/src/main/res/values-ko-rKR/strings.xml index 306b33dddd..e7f6e52f9a 100644 --- a/insight/src/main/res/values-ko-rKR/strings.xml +++ b/insight/src/main/res/values-ko-rKR/strings.xml @@ -11,7 +11,6 @@ 펌프 중지 시작됨 중지됨 - 일시중지 작동 모드 아큐-첵 Insight 펌프 연동 삽입되지 않음 @@ -44,7 +43,6 @@ TDD: %1$.2f 잔여 인슐린 양 : %1$.2f U Batt.: %1$d%% - 확인 음소거 출시 소프트웨어 버전 UI 프로세서 소프트웨어 버전 diff --git a/insight/src/main/res/values-lt-rLT/strings.xml b/insight/src/main/res/values-lt-rLT/strings.xml index 7642435ab3..e924ae0961 100644 --- a/insight/src/main/res/values-lt-rLT/strings.xml +++ b/insight/src/main/res/values-lt-rLT/strings.xml @@ -11,7 +11,6 @@ Sustabdyti pompą Pradžia Sustabdyta - Pristabdyta Darbinis režimas Accu-Chek Insight pompos integracija Neįvestas @@ -45,7 +44,6 @@ BPD: %1$.2f Rez.: %1$.2f vv Bat.: %1$d%% - Patvirtinti Nutildyti Išleistos programinės įrangos versija UI procesoriaus programinės įrangos versija diff --git a/insight/src/main/res/values-nl-rNL/strings.xml b/insight/src/main/res/values-nl-rNL/strings.xml index d059bc21bc..13e21f3390 100644 --- a/insight/src/main/res/values-nl-rNL/strings.xml +++ b/insight/src/main/res/values-nl-rNL/strings.xml @@ -11,7 +11,6 @@ Stop pomp Gestart Gestopt - Gepauzeerd Werkingsmodus Pomp integratie voor Accu-Chek Insight pompen Niet geplaatst @@ -45,7 +44,6 @@ TDD: %1$.2f Reservoir: %1$.2f E Batt.: %1$d%% - Bevestig Geluid dempen Release softwareversie UI processor softwareversie diff --git a/insight/src/main/res/values-no-rNO/strings.xml b/insight/src/main/res/values-no-rNO/strings.xml index f298649491..563c239e65 100644 --- a/insight/src/main/res/values-no-rNO/strings.xml +++ b/insight/src/main/res/values-no-rNO/strings.xml @@ -11,7 +11,6 @@ Stopp pumpe Startet Stoppet - Pauset Driftsmodus Integrasjon for Accu-Chek Insight pumper Ikke innsatt @@ -45,7 +44,6 @@ TDD: %1$.2f Ampull: %1$.2f E Batt.: %1$d%% - Bekreft Demp lyd Programvare versjon UI prosessor programvare versjon diff --git a/insight/src/main/res/values-pl-rPL/strings.xml b/insight/src/main/res/values-pl-rPL/strings.xml index 12e9f498d7..7daf37c811 100644 --- a/insight/src/main/res/values-pl-rPL/strings.xml +++ b/insight/src/main/res/values-pl-rPL/strings.xml @@ -11,7 +11,6 @@ Zatrzymaj pompę Rozpoczęte Zatrzymane - Wstrzymano Tryb działania Integracja pompy dla pomp Accu-Check Insight Nie wprowadzono @@ -45,7 +44,6 @@ TDD: %1$.2f Zbiornik: %1$.2f U Bat.: %1$d%% - Potwierdź Wycisz Wersja oprogramowania Wersja oprogramowania procesora interfejsu użytkownika diff --git a/insight/src/main/res/values-pt-rBR/strings.xml b/insight/src/main/res/values-pt-rBR/strings.xml index ce3560d067..a0069d25f7 100644 --- a/insight/src/main/res/values-pt-rBR/strings.xml +++ b/insight/src/main/res/values-pt-rBR/strings.xml @@ -11,7 +11,6 @@ Parar Bomba Iniciado Parado - Pausado Modo de funcionamento Integração de bomba para bombas Accu-Chek Insight Não inserido @@ -39,7 +38,6 @@ Multionda: %1$.2f / %2$.2f U por %3$d min TDD: %1$.2f Bat.: %1$d%% - Confirmar Silêncio Lançar versão de software Versão de software do processador de interface do utilizador diff --git a/insight/src/main/res/values-pt-rPT/strings.xml b/insight/src/main/res/values-pt-rPT/strings.xml index 3f2a8a3321..149c11372d 100644 --- a/insight/src/main/res/values-pt-rPT/strings.xml +++ b/insight/src/main/res/values-pt-rPT/strings.xml @@ -11,7 +11,6 @@ Parar Bomba Iniciado Parado - Em pausa Modo de funcionamento Integração de bomba para bombas Accu-Chek Insight Não inserido @@ -45,7 +44,6 @@ TDI: %1$.2f Reser.: %1$.2f U Bat.: %1$d%% - Confirmar Silêncio Lançar versão de software Versão de software do processador de interface do utilizador diff --git a/insight/src/main/res/values-ro-rRO/strings.xml b/insight/src/main/res/values-ro-rRO/strings.xml index fb856dd8d6..57fb7d476c 100644 --- a/insight/src/main/res/values-ro-rRO/strings.xml +++ b/insight/src/main/res/values-ro-rRO/strings.xml @@ -11,7 +11,6 @@ Opriți pompa Pornit Oprit - Suspendat Modul de funcționare Integrare pentru pompele Accu-Chek Insight Nu este introdus @@ -45,7 +44,6 @@ TDD: %1$.2f Rezervor: %1$.2fU Bat.: %1$d%% - Confirmă Liniște Versiunea de software Versiunea softwareului procesor UI diff --git a/insight/src/main/res/values-ru-rRU/strings.xml b/insight/src/main/res/values-ru-rRU/strings.xml index abedc5a01d..ef7b71401f 100644 --- a/insight/src/main/res/values-ru-rRU/strings.xml +++ b/insight/src/main/res/values-ru-rRU/strings.xml @@ -11,7 +11,6 @@ Остановить помпу Начало запуска Остановлено - на паузе Режим работы Интеграция с помпой Accu-Chek Insight Не вставлено @@ -45,7 +44,6 @@ Суммарный инсулин TDD: %1$.2f Резерв.: %1$.2f ед Батарея: %1$d%% - Подтверждаю Отключить звук Версия ПО Версия процессора UI diff --git a/insight/src/main/res/values-sk-rSK/strings.xml b/insight/src/main/res/values-sk-rSK/strings.xml index 7f7f1c4238..b7ad4288d1 100644 --- a/insight/src/main/res/values-sk-rSK/strings.xml +++ b/insight/src/main/res/values-sk-rSK/strings.xml @@ -11,7 +11,6 @@ Zastaviť pumpu Spustené Zastavené - Pozastavené Prevádzkový režim Integrácia pre pumpu Accu-Chek Insight Nieje vložené @@ -45,7 +44,6 @@ CDD: %1$.2f Zásobník: %1$.2f JI Bat.: %1$d%% - Potvrdiť Stlmiť Verzia softwaru Verzia softwaru UI procesora diff --git a/insight/src/main/res/values-sv-rSE/strings.xml b/insight/src/main/res/values-sv-rSE/strings.xml index e5af811336..6c3c184575 100644 --- a/insight/src/main/res/values-sv-rSE/strings.xml +++ b/insight/src/main/res/values-sv-rSE/strings.xml @@ -11,7 +11,6 @@ Stoppa pumpen Startade Stoppade - Pausad Driftläge Integration för Accu-Chek Insight pumpar Inte isatt @@ -45,7 +44,6 @@ TDD: %1$.2f Res: %1$.2fU Batt.: %1$d%% - Bekräfta Tysta Mjukvaruversion Release UI-processorversion diff --git a/insight/src/main/res/values-tr-rTR/strings.xml b/insight/src/main/res/values-tr-rTR/strings.xml index 11ac3fb724..7fc5fff8da 100644 --- a/insight/src/main/res/values-tr-rTR/strings.xml +++ b/insight/src/main/res/values-tr-rTR/strings.xml @@ -1,7 +1,7 @@ - GBO (Geçici Bazal oran) bitti bildirimini etkinleştir\n(pompa ayarlarında) - GBO (Geçici bazal oran) bitti bildirimini iptal et\n(pompa ayarlarında) + GBO bitti bildirimini etkinleştir\n(pompa ayarlarında) + GBO bitti bildirimini iptal et\n(pompa ayarlarında) Eşleştirilemedi Kurtarılıyor Durum @@ -11,7 +11,6 @@ Pompayı durdur Başlatıldı Durduruldu - Duraklatıldı Çalışma Modu Accu-Chek Insight pompaları için pompa entegrasyonu Takılmamış @@ -34,7 +33,7 @@ Bolus ve yayma bolus için (yalnızca Insight üretici yazılımı 3.x ile kullanılabilir) Otomatik bolus iletiminde titreşimleri devre dışı bırakın TBR emülasyonlu SMB ve Geçici Bazal için (yalnızca Insight üretici yazılımı 3.x ile kullanılabilir) - El sıkışma sırasında zaman aşımı olduğunda - bluetoothu sıfırla + Bağlantı sırasında zaman aşımı olduğunda - bluetoothu sıfırla Pompa durduruldu Pompa başlatıldı Pompa duraklatıldı @@ -45,7 +44,6 @@ GTD: %1$.2f Rezerv.: %1$.2f Ü Pil: %%1$d% - Onaylayın Sessiz Yayın yazılım sürümü UI işlemci yazılım sürümü diff --git a/insight/src/main/res/values-zh-rCN/strings.xml b/insight/src/main/res/values-zh-rCN/strings.xml index f3b7577815..c979064951 100644 --- a/insight/src/main/res/values-zh-rCN/strings.xml +++ b/insight/src/main/res/values-zh-rCN/strings.xml @@ -11,7 +11,6 @@ 停止泵 已启动 已停止 - 已暂停 操作模式 集成Accu-Chek Insight泵 未插入 @@ -45,7 +44,6 @@ TDD(日输注总量): %1$.2f 储药器: %1$.2f U 电池: %1$d%% - 确认 静音 发行软件版本 UI 处理器软件版本 diff --git a/plugins/aps/src/main/res/values-af-rZA/strings.xml b/plugins/aps/src/main/res/values-af-rZA/strings.xml new file mode 100644 index 0000000000..421ab4a689 --- /dev/null +++ b/plugins/aps/src/main/res/values-af-rZA/strings.xml @@ -0,0 +1,31 @@ + + + Hoë tydelike doelwitte verhoog sensitiwiteit + = 100]]> + Lae tydelike doelwitte verlaag sensitiwiteit + + OpenAPS SMB + Plugin is gedeaktiveer + Besig met uitvoering + OpenAPS AMA + Matriks van %1$d elemente. \nWerklike waarde: + OAPS + Status van die algoritme in 2017 + Mees onlangse algoritme vir gevorderde gebruikers + Begin nou + Profiel + Uitslag + Versoek + Beperkings + Autosens data + Verstek waarde: 3 dit is \'n sleutel OpenAPS veiligheidsdrumpels. Wat dit doen is om jou basale te berk tot 3 x (in hierdie mense) jou grootste basale koers. Jy sal waarskynlik nooit dit hoef te verander, maar jy moet bewus wees wat bespreek is oor \"3 x max daaglikse; 4 x huidige\"vir veiligheidsdrumpels. + Verstek waarde: 4 dit is die helfte van die sleutel OpenAPS veiligheid limiete, en die ander helfte van \"3 x maks daaglikse; 4 x huidige\"van die veiligheid limiet. Dit beteken jou basale, ongeag max basale stel op jou pomp, kan enige hoër wees as hierdie nommer tye die huidige vlak van jou basale. Dit is om te verhoed dat mense in gevaarlike gebied deur instelling buitensporig hoë max basals voor om te verstaan hoe die algoritme werk. Weer, die verstek is 4 x; die meeste mense sal nooit moet dit aanpas en is eerder meer geneig om te moet aanpas ander instellings as hulle voel hulle \"loop in\" hierdie veiligheid limiet. + Maks daaglikse veiligheids vermenigvuldiger + Huidige basale veiligheids vermenigvuldiger + Verstek waarde: 1.2\nThis is \'n vermenigvuldiger plafon vir autosens (en gou autotune) stel \'n 20%% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel. + Verstek waarde: 0.7\nDie ander kant van die autosens veiligheidsperke, sit \'n limiet op hoe laag autosens basals kan aanpas, en hoe hoog dit ISF en BG teikens kan verstel. + + maks waarde in voorkeure + harde limiet + + diff --git a/plugins/aps/src/main/res/values-bg-rBG/strings.xml b/plugins/aps/src/main/res/values-bg-rBG/strings.xml new file mode 100644 index 0000000000..45fc38f9a8 --- /dev/null +++ b/plugins/aps/src/main/res/values-bg-rBG/strings.xml @@ -0,0 +1,38 @@ + + + Високите временни цели да вдигат ли чувствителността? + + Ниските цели да свалят ли чувствителността ? + + OpenAPS SMB + Динамично ISF + Съпротивление намалява целта + Когато се установи резистентност, намалява целевата глюкоза. + Чувствителността увеличава целта + Когато се установи чувствителност, повишаване на целевата глюкоза + Модула е изключен + Динамичен ISF + Изпълнява + OpenAPS AMA + Общо %1$d елемента.\nАктуална стойност: + APS + Алгоритъма, какъвто е бил през 2017 + Най-новият алгоритъм (само за напреднали потребители) + Най-новия алгоритм за напреднали потребители с динамичен/автоматичен ISF + Старт сега + Профил + Резултат + Искане + Ограничения + Autosens данни + По подразбиране: 3 Това е основен параметър в сигурността на OpenAPS. Той ограничава максималният базал да бъде 3 пъти най-голямата стойност от дневните базали. Не би трябвало да има нужа от промяна, защото от опит сме проверили, че максимумите са “3x от най-високия дневен; 4x от текущия”. + По подразбиране: 4\nТова е другият основен параметър в сигурността на OpenAPS, и другата половина от \"3x от най-високия дневен; 4x от текущия\". Това означава, че независимо от макс базал настроен в помпата, стойността на базала не може да е по-висока от тази стойност умножена по стойността на базала за текущият час от денонощието. Това е с цел да предпази от прекалено високи стойности на максималния базал преди да разбират как работи алгоритъма. Повечето от Вас няма да имат нужда от смяна на тази стойност и могат да се справят с настойки на другите параметри. + Макс. множител за най-големия базал за денонощието + Макс. множител за настоящ базал + По подразбиране: 1.2\nТова е максималният множител на autosens (а скоро autotune), за да позволи 20%% максимален лимит на autosens коефициента, който от своя страна настройва базалите, колко може да намали инсулиновата чувствителност, и колко ниско може да свали целевата КЗ. + По подразбиране: 0.7\nДругата част от сигурността на autosens, слагайки ограничение на колко ниско може да ограничи базалите, колко да повиши чувствителността (ISF) и целевите КЗ. + + макс. стойност в настройките + твърд лимит + + diff --git a/plugins/aps/src/main/res/values-ca-rES/strings.xml b/plugins/aps/src/main/res/values-ca-rES/strings.xml new file mode 100644 index 0000000000..d3b3370f27 --- /dev/null +++ b/plugins/aps/src/main/res/values-ca-rES/strings.xml @@ -0,0 +1,35 @@ + + + Objectiu temporal alt augmenta la sensibilitat + = 100]]> + Objectiu temporal baix disminueix sensibilitat + + OpenAPS SMB + Resistència disminueix objectiu + Quan es detecta resistència, disminuir objectiu de glucèmia + Sensibilitat augmenta objectiu + Quan es detecta sensibilitat, augmentar objectiu de glucèmia + Plugin desactivat + Executant + OpenAPS AMA + Array de %1$d elements.\nValor actual: + OAPS + Estat de l\'algoritme el 2017 + Algoritme més nou per usuaris avançats + Executar ara + Perfil + Resultat + Petició + Restriccions + Dades autosens + Valor per defecte: 3. Valor clau de seguretat per OpenAPS. Limita, en aquest cas, la basal a 3x la basal màxima. Normalment no cal modificar-lo, però per motius de seguretat cal tenir present què vol dir quan parlem de, per exemple \"3x max diari; 4x actual\". + Valor per defecte: 4. Valor clau de seguretat per OpenAPS, per quan parlem de \"3x max diari; 4x actual\". Significa que la vostra basal, independentment de la max. basal configurada a la bomba, no pot ser més gran que aquest valor multiplicat per la vostra basal en un moment determinat. Pretén evitar basals màximes excessivament altes abans de dominar l\'algoritme. Normalment no cal modificar el valor per defecte i, en cas de conflicte amb el valor màxim de basal, sol ser més habitual haver de modificar altres paràmetres que no pas aquest. + Màxim multiplicador diari de seguretat + Multiplicador actual basal de seguretat + Valor per defecte: 1.2\nMultiplicador de seguretat per autosens (aviat autotune), per fixar un límit màxim del 20%% per la màxima ràtio d\'autosens, que a la seva vegada determina com d\'alta pot ajustar la basal, com de baix l\'ISF i com de baix l\'objectiu de glucèmia. + Valor per defecte: 0.7\nL\'altra cara dels límits de seguretat d\'autosens: com de baixa pot ajustar la basal i com d\'alts pot ajustar l\'ISF i l\'objectiu de glucèmia. + + valor màxim a la configuració + límit estricte + + diff --git a/plugins/aps/src/main/res/values-cs-rCZ/strings.xml b/plugins/aps/src/main/res/values-cs-rCZ/strings.xml new file mode 100644 index 0000000000..1c88448906 --- /dev/null +++ b/plugins/aps/src/main/res/values-cs-rCZ/strings.xml @@ -0,0 +1,95 @@ + + + Upravit citlivost a glykémii + Korekční faktor pro DynamicISF v % + Korekční faktor pro DynamicISF. Pro agresivnější korekční dávky nastavte hodnoty vyšší než 100 %, pro méně agresivní korekce nižší než 100 %. + Vysoký dočasný cíl zvýší senzitivitu + = 5.5]]> + Nízký dočasný cíl sníží senzitivitu + + OpenAPS SMB + Dynamická ISF + Jak často budou SMB podávány v minutách + Rezistence snižuje cíl + Je-li zjištěna rezistence, sníží nastavenou cílovou glykémii + Citlivost zvyšuje cíl + Je-li zjištěna vyšší citlivost, zvýší nastavenou cílovou glykémii + Modul zakázán + Nedostupná data o glykémiích + Nedostupná data o citlivosti + DYNSENZ + Provádím + OpenAPS AMA + Pole %1$d prvků.\nAktuální hodnota: + OAPS + Stav algoritmu v roce 2017 + Nejnovější algoritmus pro pokročilé uživatele + Nejnovější algoritmus pro pokročilé uživatele s dynamickým/automatickým ISF + Dělitel \"bolus snooze\" + Spustit teď + Poslední spuštění + Vstupní parametry + Vstupní glykémie + Současný bazál + IOB data + Profil + Data o jídle + Výsledek + Požadavek + Omezení + Data detekce senzitivity + Ladící informace + Používat autodetekci senzitivity + Max. U/h, které lze nastavit pro dočas. bazál + Tato hodnota je v kontextu OpenAPS nazývána max basal + Maximální bazální IOB [U] + Tato hodnota je v kontextu OpenAPS nazývána max IOB. + Výchozí hodnota: zapnuto\nToto nastavení říká, že autosens může měnit také cílové hodnoty glykémií. + Autosense také upravuje cílovou glykémii + Výchozí hodnota: 3.0 (AMA) nebo 8.0 (SMB) mg/dl/5min. Tato hodnota definuje minimální část strávených sacharidů za každých 5 min. Tato hodnota ovlivňuje výpočet COB. + Výchozí hodnota: 3 Toto je klíčová hodnota zabezpečení. Říká, že maximální nastavitelný bazál je trojnásobkem maximálního denního bazálu. Patrně to nebudete muset měnit, případně si přečtete o tématu \"3x max denní; 4x aktuální\". + Výchozí hodnota: 4 Toto je druhá klíčová hodnota. Říká, že maximální hodnota dočasného bazálu nikdy nebude větší, než čtyřnásobek aktuálního bazálu. Je to proto, aby se lidé nedostali do nebezpečných hodnot dříve, než pochopí jak OpenAPS pracuje. Znovu, výchozí hodnota je 4 a většina lidí ji nikdy nebude muset změnit. Pokud nestačí, obvykle je problém někde jinde. + Výchozí hodnota: 2\nToto nastavení říká, po jakou část z hodnoty DIA smyčka po bolusu čeká a nereaguje na změny glykémií (zde 3DIA/2 = 1,5h). + Pozor!\nZa normálních okolností tyto hodnoty nemusíte měnit. Klikněte ZDE, PŘEČTĚTE si informace a UJISTĚTE se, že jim rozumíte dříve, než je začnete měnit. + Vždy používat krátkodobý průměrný rozdíl glykémií místo rozdílu posledních 2 hodnot + Výhodné, pokud data z xDripu+ obsahují velký šum. + Max násobitel denního nejvyššího bazálu + Max násobitel současného bazálu + Maximální celková hodnota IOB, kterou OpenAPS nemůže překročit [U] + Tato hodnota je v kontextu OpenAPS nazývána Max IOB.\nOpenAPS nikdy nepřidá inzulín, pokud je současné IOB větší než tato hodnota + Povolit UAM + Povolit SMB + Použít super mikro bolusy místo dočasných bazálů pro zrychlení účinku + Detekce neoznámených jídel + Vždy povolit SMB + Povolit SMB nezávisle na bolusech. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 + Povolit SMB po jídle + Povolit SMB 6 hodin po bolusu i při nulovém COB. Možno pouze se zdroji glykémií s dobrým filtrováním dat, jako např. G5 + Povolit SMB se sacharidy + Povolit SMB, pokud zbývají aktivní sacharidy. + Povolit SMB s dočasnými cíli + Povolit SMB, pokud je aktivní dočasný cíl (aktivita, před jídlem) + Povolit SMB s vysokými dočasnými cíli + Povolit SMB, je-li aktivní vysoký cíl (cvičení, vyšší než 100 mg/dl nebo 5,5 mmol/l) + Maximální počet minut bazálu, ke kterým se limituje SMB + UAM SMB max. minut + Maximální počet minut bazálu, ke kterým se limituje SMB pro UAM + Minimální množství sacharidů potřebných pro návrh + Minimální množství sacharidů v gramech, které spustí upozornění návrhu sacharidů. Množství sacharidů pod touto hodnotou nespustí oznámení. + Hodnota glykémie, při níž bude vydávání inzulinu zastaveno. Výchozí hodnota využívá standardní cílový model. Uživatel může nastavit hodnoty od 3,3 mmol/l do 5,5 mmol/l. Při hodnotách pod 3,6 mmol/l se použije výchozí model. + Hodnota glykémie pro zastavení inzulínu + Výchozí hodnota: 1.2\nToto je bezpečnostní nastavení pro detekci sensitivity (a brzy autotune). Říká, že autosense může zvýšit bazály, snížit ISF a snížit cílovou hodnotu glykémie o 20 %. + Výchozí hodnota: 0.7\nToto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosense může snížit bazály, zvýšit ISF a zvýšit cílovou hodnotu glykémie na 70 %. + Zvýšena hodnota maximálního bazálu, protože nastavení je nižší než Vaše maximální hodnota bazální profilu + maximální násobek bazálu + maximální násobek nejvyššího bazálu + SMB zakázáno v nastavení + UAM zakázáno v nastavení + Autosens zakázán v nastavení + + IOB omezeno na %1$.1f U: %2$s + maximální hodnota v nastavení + pevný limit + + Vrchol + diff --git a/plugins/aps/src/main/res/values-da-rDK/strings.xml b/plugins/aps/src/main/res/values-da-rDK/strings.xml new file mode 100644 index 0000000000..32aea542a4 --- /dev/null +++ b/plugins/aps/src/main/res/values-da-rDK/strings.xml @@ -0,0 +1,41 @@ + + + Justér følsomhed og BG + DynamiskISF-justeringsfaktor % + Justeringsfaktor for DynamiskISF. Indstil mere end 100% for mere aggressive korrektionsdoser og mindre end 100% for mindre aggressive korrektioner. + Høj midlertidig basal øger sensitivitet + = 100]]> + Lav midlertidig basal sænker sensitivitet + + OpenAPS SMB + Dynamisk ISF + Resistens sænker midlertidige mål + Når der påvises resistens, sænkes målglukosen + Følsomhed hæver midlertidige mål + Når der påvises følsomhed, skal målglukosen hæves + Plugin deaktiveret + DynISF + Udfører + OpenAPS AMA + Række af %1$d elementer.\nFaktisk værdi: + OAPS + Status for algoritmen i 2017 + Seneste algoritme for avancerede brugere + Seneste algoritme for avancerede brugere med dynamisk/automatisk ISF + Kør nu + Profil + Resultat + Anmod + Begrænsninger + Autosens data + Standardværdi: 3 Dette er en vigtig OpenAPS sikkerhedsforanstaltning. Hvad dette gør, er at begrænse dine basaler til at være 3x din største basal rate. Du vil sandsynligvis ikke være nødt til at ændre dette, men du skal være opmærksom på, at det er hvad der er omtalt som “3x max dagligt; 4x aktuel” i sikkerhedsforanstaltningerne. + Standardværdi: 4 Dette er den anden halvdel af de vigtigste OpenAPS-sikkerhedsforanstaltninger, og den anden halvdel af \"3x maks. daglig, 4x aktuel\" i sikkerhedsforanstaltningerme. Det betyder, at din basal, uanset maks. basalrate på din pumpe, ikke kan være højere end dette antal gange det aktuelle niveau af din basal. Det er for at forhindre folk i at komme ind på et farligt område ved at opstille for høje maks basaler, før man forstår, hvordan algoritmen fungerer. Igen er standardværdien 4x; de fleste mennesker behøver aldrig at rette dette og i stedet være mere tilbøjelige til at tilpasse andre indstillinger, hvis de føler, at de er \"ved at løbe ind i\" denne sikkerhedsforanstaltning. + Maks daglig basal multiplikator + Nuværende basal sikkerheds multiplikator + Standardværdi: 1.2\nDette er en multiplikator top for autosens (og snart autotune) for at angive en 20%% maks. grænse for, hvor høj autosens kan være, hvilket til gengæld bestemmer, hvor høj autosens kan tilpasse sig, hvor lav den kan justere ISF, og hvor lav den kan angive BG-målet. + Standardværdi: 0,7\nDen anden side af autosens sikkerhedsgrænser, idet den sætter en begrænsning på, hvor lavt autosen kan justere basalerne, og hvor høj den kan justere ISF-og BG-målene. + + max værdi i præferencer + hård grænse + + diff --git a/plugins/aps/src/main/res/values-de-rDE/strings.xml b/plugins/aps/src/main/res/values-de-rDE/strings.xml new file mode 100644 index 0000000000..1ff977b585 --- /dev/null +++ b/plugins/aps/src/main/res/values-de-rDE/strings.xml @@ -0,0 +1,41 @@ + + + Empfindlichkeit und BZ anpassen + DynamicISF Anpassungsfaktor % + Anpassungsfaktor für DynamicISF. Stelle mehr als 100 % für aggressivere Korrekturdosen ein, und weniger als 100 % für weniger aggressive Korrekturen. + Hohe temporäre Ziele erhöhen die Sensitivität + = 100.]]> + Niedrige temporäre Ziele senken die Sensitivität + + OpenAPS SMB + Dynamischer ISF + Resistenz senkt den Zielwert + Wenn Resistenz festgestellt wird, senke den Glukose-Zielwert + Empfindlichkeit erhöht den Zielwert + Wenn eine höhere Empfindlichkeit festgestellt wird, wird der Glukose-Zielwert erhöht. + Plugin ist deaktiviert + DYNISF + Wird ausgeführt + OpenAPS AMA + Array mit %1$d Elementen.\nWert: + OAPS + Stand des Algorithmus in 2017 + Der aktuellste Algorithmus für erfahrene Nutzer + Neuester Algorithmus für fortgeschrittene Benutzer mit dynamischer/automatischer ISF + Ausführen + Profil + Ergebnis + Anfrage + Beschränkungen + Autosens-Daten + Standardwert: 3\nDies ist eine wichtige Sicherheitseinstellung. Sie begrenzt die maximale Basal-Abgabe auf die dreifache Menge (im Standardfall) deiner größten Basalrate im Profil. In der Regel solltest Du diesen Wert nicht ändern. Aber Du solltest wissen, was \"3x max daily, 4x current\" als Sicherheitseinstellung bedeutet. + Standardwert: 4\nDies ist die andere wichtige Sicherheitseinstellung, die zweite Hälfte von \"3x max daily, 4x current\". Diese Grenze beschränkt die Basal-Abgabe auf die (im Standardfall) vierfache Menge der aktuellen Basalrate im Profil. Dies ist wichtig, um Nutzer davor zu bewahren, zuviel Basal-Insulin zu verabreichen. Nochmals, der Standardwert ist 4x. Die meisten Nutzer werden niemals diese Einstellung verändern, sondern andere Einstellungen anpassen, um sich nicht dieser Sicherheitsgrenze zu nähern. + Sicherheitsmultiplikator des Basalhöchstwertes + Sicherheitsmultiplikator der aktuellen Basalrate + Standardwert: 1.2\nDies ist eine Sicherheitsgrenze für Autosens (und bald auch Autotune), die besagt, wie stark Autosens Basalraten erhöhen darf und wie niedrig der ISF (Insulin-Sensitivitäts-Faktor) und der BZ-Zielwert eingestellt werden können. 1.2 ist dabei der Multiplikationsfaktor und erlaubt eine Anpassung um 20%%. + Standardwert: 0.7\nDies ist die andere Sicherheitsgrenze für autosens. Sie beschränkt, wie weit Basalraten abgesenkt und wie sehr ISF und BZ-Zielwerte erhöht werden können. + + Max. Wert in den Einstellungen + festem Grenzwert + + diff --git a/plugins/aps/src/main/res/values-el-rGR/strings.xml b/plugins/aps/src/main/res/values-el-rGR/strings.xml new file mode 100644 index 0000000000..c6d2d1988b --- /dev/null +++ b/plugins/aps/src/main/res/values-el-rGR/strings.xml @@ -0,0 +1,33 @@ + + + Ο υψηλός προσωρινός στόχος ανεβάζει την ευαισθησία + = 100]]> + Ο χαμηλός προσωρινός στόχος μειώνει την ευαισθησία + + OpenAPS SMB + Προσθήκη απενεργοποιημένη + DYNISF + Εκτελείτε + OpenAPS AMA + Πεδίο %1$d Στοιχεία.\nΤρέχουσα τιμή: + OAPS + Κατάσταση του αλγόριθμου για το 2017 + Ο πιο πρόσφατος αλγόριθμος για προχωρημένους χρήστες + Πιο πρόσφατος αλγόριθμος για προχωρημένους χρήστες με δυναμικό/ αυτόματο ISF + Έναρξη τώρα + Προφίλ + Αποτέλεσμα + Αίτημα + Περιορισμοί + Δεδομένα Autosens + Προεπιλεγμένη τιμή: 3 Αυτό είναι ένα κλειδί ασφαλείας του OpenAPS. Αυτό περιορίζει την αύξηση του βασικού x3 (σε αυτούς τους ανθρώους) από την μεγαλύτερη τιμή του. Συνήθως δεν χρειάζεται να το αλλάξετε, αλλά πρέπει να ξέρετε τι σημαίνει “3x μέγιστο ημερήσιο; 4x τρέχων” για λόγους ασφαλείας. + Προεπιλεγμένη τιμή: 4 Αυτό είναι το μισό του θέματος ασφαλείας του OpenAPS, και το άλλο μισό του «3 x μέγιστο ημέρας: 4 x τρέχων» των θεμάτων ασφαλείας. Αυτό σημαίνει ότι ο βασικός ρυθμός, ανεξάρτητα από την μέγιστη τιμή βασικού ρυθμού στην αντλία σας, δεν μπορεί να είναι υψηλότερος από το πολλαπλάσιο αυτού του αριθμού. Αυτό γίνεται για να αποτρέψει τους ανθρώπους από το να μπουν σε επικίνδυνες καταστάσεις θέτωντας υψηλό βασικό πριν κατανοήσουν πλήρως πώς λειτουργεί ο αλγόριθμος. Και πάλι, η προεπιλεγμένη τιμή είναι 4x: οι περισσότεροι άνθρωποι ποτέ δεν θα χρειαστεί να το προσαρμόσουν και αντίθετα είναι πιο πιθανό να χρειαστεί να προσαρμόσουν άλλες ρυθμίσεις αν αισθάνονται ότι κινούνται με ασφάλεια. + Μέγιστος ημερήσιος πολλαπλασιαστής ασφαλείας + Τρέχων πολλαπλασιαστής ασφαλείας βασικού ρυθμού + Προεπιλεγμένη τιμή: 1.2\nΑυτός είναι ένας πολλαπλασιαστής για το autosens (και σύντομα autotune) για να ορίσετε ένα 20%% ανώτατο όριο στο πόσο ψηλά μπορεί να είναι ο λόγος autosens, που με τη σειρά του καθορίζει πόσο ψηλά το autosens μπορεί να ρυθμίσει τον βασικό ρυθμό, πόσο χαμηλά μπορεί να ρυθμίσει την ISF, και πόσο χαμηλά μπορεί να ορίσει το στόχο της BG. + Προεπιλεγμένη τιμή: 0.7\n H άλλη πλευρά από τα όρια ασφαλείας του autosens, θέτοντας ένα ανώτατο όριο στο πόσο χαμηλά to autosens μπορεί να προσαρμόσει τον βασικό ρυθμό και πόσο ψηλά μπορεί να ρυθμίσει τη ISF και τον στόχο του BG. + + μέγιστη τιμή στις Επιλογές + σταθερό όριο + + diff --git a/plugins/aps/src/main/res/values-es-rES/strings.xml b/plugins/aps/src/main/res/values-es-rES/strings.xml new file mode 100644 index 0000000000..d5fdb1b2e1 --- /dev/null +++ b/plugins/aps/src/main/res/values-es-rES/strings.xml @@ -0,0 +1,41 @@ + + + Ajustar sensibilidad y glucosa + Factor de ajuste de Isf Dinámico % + Factor de ajuste para el DynamicISF. Establezca más de 100% para una corrección más agresiva, y menos de 100% para correcciones más susves. + Objetivo temporal elevado aumenta sensibilidad + = 100]]> + Objetivo temporal bajo reduce sensibilidad + + OpenAPS SMB + ISF Dinámico + Resistencia baja el objetivo + Cuando se detecta resistencia a la insulina, disminuye el objetivo de glucosa + Sensibilidad aumenta el objetivo + Cuando se detecta sensibilidad a la insulina, aumenta el objetivo de glucosa + El complemento está deshabilitado + DYNISF + Ejecutando + OpenAPS AMA + Matriz de %1$d elementos.\nValor actual: + OAPS + Estado del algoritmo en 2017 + Algoritmo más reciente para usuarios avanzados + Algoritmo más reciente para usuarios avanzados con ISF dinámico/automático + Ejecutar ahora + Perfil + Resultado + Solicitud + Restricciones + Datos Autosens + Valor predeterminado: 3. Este valor es una protección de seguridad clave de OpenAPS. Limita la basal máxima que puede usar AAPS a un máximo de tres veces tu basal. Probablemente nunca necesites modificar este valor. Antes de modificarlo deberías tener en cuenta las discusiones sobre \"3x máx diaria; 4x actual\" por motivos de seguridad + Valor predeterminado: 4. Esta es la otra mitad de los ajustes de seguridad de OpenAPS y de \"3x máx diaria, 4x actual\". Esto significa que tu basal, independientemente del valor de basal máxima que tengas configurado en la bomba, nunca podrá superar este valor multiplicado por tu basal actual. Esto se usa para evitar que las personas se encuentren en situaciones peligrosas por aumentar excesivamente la basal, sin entender como funciona el algoritmo. La mayoría de las personas nunca tendrán que cambiar estos valores. Si estás cerca de alcanzar éstos límites, deberías de ajustar otras configuraciones + Máximo multiplicador diario de seguridad + Multiplicador basal de seguridad actual + Valor predeterminado: 1.2\nEste parámetro establece un límite de seguridad máximo por defecto del 20% en autosens (y pronto en Autotune), que limita los valores máximos que puede: aumentar las basales, disminuir el factor de sensibilidad (ISF) y disminuir el objetivo de glucosa + Valor predeterminado: 0.7\nEste parámetro establece un límite de seguridad mínimo por defecto del 30% en autosens, que limita los valores que puede: disminuir las basales, aumentar el factor de sensibilidad (ISF) y aumentar el objetivo de glucosa + + valor máximo en preferencias + límite estricto + + diff --git a/plugins/aps/src/main/res/values-fr-rFR/strings.xml b/plugins/aps/src/main/res/values-fr-rFR/strings.xml new file mode 100644 index 0000000000..f669853631 --- /dev/null +++ b/plugins/aps/src/main/res/values-fr-rFR/strings.xml @@ -0,0 +1,41 @@ + + + Ajuster la sensibilité et la glycémie + Facteur d\'ajustement Si dynamique % + Facteur d\'ajustement pour Si dynamique. Définissez plus de 100 % pour des corrections plus agressives et moins de 100 % pour des corrections moins agressives. + Cible temp. haute élève la sensibilité + = 100]]> + Cible temp. basse abaisse la sensibilité + + OpenAPS SMB + SI dynamique + Résistance diminue la cible + Quand une résistance est détectée, baisse de la glycémie cible + Sensibilité augmente la cible + Quand une sensibilité est détectée, augmentation de la glycémie cible + Plugin désactivé + DynSI + Exécution en cours + OpenAPS AMA + Tableau de %1$d éléments.\nValeur Actuelle : + OAPS + État de l’algorithme en 2017 + Algorithme le plus récent pour les utilisateurs avancés + Algorithme le plus récent pour les utilisateurs avancés avec SI dynamique/automatique + Exécuter maintenant + Profil + Résultats + Requête + Restrictions + Données Autosens + Valeur par défaut : 3 Ceci est un paramètre important de sécurité de l’OpenAPS. Ceci va limiter vos débits basal à 3 fois votre débit Basal maximum. Il est probable que vous n’aurez pas besoin de changer cela, mais vous devez être conscient de ce qui est discuté pour les limites de sécurité dans “3x max daily; 4x current”. + Valeur par défaut : 4 Ceci est l’autre moitié des paramètres de sécurité limitant l’OpenAPS, et l’autre moitié de “3x max daily, 4x current” des paramètres de sécurité. Quel que soit le basal maximum prédéfini dans votre pompe, il ne pourra pas être plus haut que ce nombre multiplié par le Basal actuel. Ceci est fait pour ne pas mettre l’utilisateur en danger en programmant des débits Basal maximum trop élevés avant de comprendre comment l’algorithme fonctionne. Encore une fois, la valeur par défaut est 4x, la plupart des gens n’auront jamais besoin d’ajuster ce paramètre, plutôt ils auront tendance à ajuster d’autres paramètres s’ils voient qu’ils atteignent ce paramètre de limite de sécurité. + Multiplicateur max quotidien de sécurité + Multiplicateur de sécurité basale courante + Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (et bientôt Autotune) pour définir +20% en limite maximale du ratio Autosens. En consequence, ceci va définir la valeur maximale du Basal pour Autosens, la valeur minimale de la Sensibilité à l\'Insuline (SI), et la valeur minimale de la cible glycémique. + Valeur par défaut: 0,7\nL\'autre volet des limites de sécurité de l\'autosens, c\'est de définir une limite basse sur l\'ajustement des débits de basal et une limite haute sur l\'ajustement de la SI et des cibles GLY effectués par l\'autosens. + + valeur Max dans les préférences + limite fixée + + diff --git a/plugins/aps/src/main/res/values-ga-rIE/strings.xml b/plugins/aps/src/main/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000000..c1b7586ae6 --- /dev/null +++ b/plugins/aps/src/main/res/values-ga-rIE/strings.xml @@ -0,0 +1,13 @@ + + + OpenAPS SMB + Feidhmiú + OpenAPS AMA + OAPS + Reáchtáil anois + Próifíl + Toradh + Srianta + + + diff --git a/plugins/aps/src/main/res/values-hr-rHR/strings.xml b/plugins/aps/src/main/res/values-hr-rHR/strings.xml new file mode 100644 index 0000000000..0b3126ca0b --- /dev/null +++ b/plugins/aps/src/main/res/values-hr-rHR/strings.xml @@ -0,0 +1,13 @@ + + + Podesite osjetljivost i GUK + Stanje algoritma iz 2017. + Najnoviji algoritam za napredne korisnike + Najnoviji algoritam za napredne korisnike s dinamičkim/automatskim ISF-om + Pokreni sada + Profil + Rezultat + Zahtjev + + + diff --git a/plugins/aps/src/main/res/values-hu-rHU/strings.xml b/plugins/aps/src/main/res/values-hu-rHU/strings.xml new file mode 100644 index 0000000000..474de3d6e5 --- /dev/null +++ b/plugins/aps/src/main/res/values-hu-rHU/strings.xml @@ -0,0 +1,8 @@ + + + OpenAPS SMB + OpenAPS AMA + Autosens adat + + + diff --git a/plugins/aps/src/main/res/values-it-rIT/strings.xml b/plugins/aps/src/main/res/values-it-rIT/strings.xml new file mode 100644 index 0000000000..6453460268 --- /dev/null +++ b/plugins/aps/src/main/res/values-it-rIT/strings.xml @@ -0,0 +1,41 @@ + + + Regola sensibilità e BG + Fattore di regolazione per ISF Dinamico (%) + Fattore di regolazione per ISF Dinamico. Imposta più del 100% per dosi di correzione più aggressive e meno del 100% per correzioni meno aggressive. + Temp-Target \"alto\" aumenta la sensibilità + = 100]]> + Temp-Target \"basso\" riduce la sensibilità + + OpenAPS SMB + ISF Dinamico + La resistenza abbassa il target + Quando viene rilevata resistenza, ridurre la glicemia target + La sensibilità aumenta il target + Quando viene rilevata sensibilità, aumentare la glicemia target + Il plugin è disabilitato + ISFDIN + Esecuzione + OpenAPS AMA + Matrice di %1$d elementi.\nValore attuale: + OAPS + Stato dell\'algoritmo nel 2017 + Algoritmo più recente per utenti avanzati + Algoritmo più recente per utenti avanzati con ISF dinamico/automatico + Esegui ora + Profilo + Risultato + Richiesta + Vincoli + Dati autosens + [Valore predefinito: 3] Questo è un parametro di sicurezza chiave in OpenAPS. Ciò che fa è limitare le tue basali a essere 3 volte, al più, la tua velocità basale massima. Probabilmente non avrai bisogno di cambiare questo valore, ma dovresti essere consapevole di cosa significa il gruppo di parametri \"3x max giornaliera; 4x corrente\" e per quali motivi di sicurezza siano stati impostati tali valori. + [Valore predefinito: 4] Questo è un ulteriore parametro di sicurezza chiave in OpenAPS. La tua basale temporanea, indipendentemente dalla basale massima impostata sul micro, non può mai essere più alta di questo valore moltiplicato per la tua basale corrente in ogni specifico momento. Questo serve a impedire alle persone di addentrarsi in \"territori pericolosi\" impostando basali massime eccessivamente alte prima di aver capito come funziona l\'algoritmo. Ancora una volta, il valore predefinito è 4x; la maggior parte delle persone non avrà bisogno di modificare questo valore e avrà, invece, maggiori probabilità di dover regolare altre impostazioni se ha la sensazione di \"scontrarsi\" con questo limite di sicurezza. + Moltiplicatore di sicurezza max basale giornaliera + Moltiplicatore di sicurezza basale corrente + [Valore predefinito: 1.2]\nQuesto è un moltiplicatore di sicurezza per autosens (e presto autotune) per impostare un limite massimo del 20%% (col valore predefinito) su quanto alto può essere il rapporto di autosens, che a sua volta determina quanto in alto autosens può regolare le basali, quanto in basso può regolare ISF e quanto in basso può impostare il target glicemico. + [Valore predefinito: 0.7]\nUn altro limite di sicurezza di autosens, imposta un blocco a quanto in basso autosens può regolare le basali e a quanto in alto può regolare ISF e target glicemici. + + valore max nelle preferenze + limite fisso + + diff --git a/plugins/aps/src/main/res/values-iw-rIL/strings.xml b/plugins/aps/src/main/res/values-iw-rIL/strings.xml new file mode 100644 index 0000000000..3a834bfbb7 --- /dev/null +++ b/plugins/aps/src/main/res/values-iw-rIL/strings.xml @@ -0,0 +1,41 @@ + + + כיוונון הרגישות והסוכר בדם + כיוונון פקטור הרגישות הדינאמית % + כיוונון פקטור הרגישות הדינאמית. הגדירו יותר מ-100% לקבלת תיקונים אגרסיביים יותר ופחות מ-100% לקבלת תיקונים עדינים יותר. + ערך מטרה זמני גבוה מעלה את הרגישות + = 100]]> + ערך מטרה זמני נמוך מוריד את הרגישות + + OpenAPS SMB + רגישות דינאמית + תנגודת מורידה את ערך המטרה + כשמזוהה תנגודת, הורד את ערך המטרה של הגלוקוז + רגישות מעלה את ערך המטרה + כשמזוהה רגישות, הגדל את ערך המטרה של הגלוקוז + התוסף אינו זמין + DynISF + מבצע + OpenAPS AMA + מערך של %1$d אלמנטים. \n ערך נוכחי: + OAPS + הישאר עם האלגוריתם של 2017 + האלגוריתם העדכני ביותר, עבור משתמשים מתקדמים בלבד + האלגוריתם העדכני ביותר, נועד למשתמשים מתקדמים עם רגישות (ISF) דינאמית\\אוטומטית + בצע + פרופיל + תוצאה + בקשה + מגבלות + נתוני חישוב רגישות אוטו\' + ערך ברירת מחדל: 3 מנגנון הגנה עיקרי של OpenAPS. מגביל את המינון הבזאלי לעד פי 3 מהמינון הבזאלי הגבוה ביותר שהוגדר. ברוב המקרים אין צורך לשנות ערך זה, אך יש לזכור שזו המשמעות של “3x max daily; 4x current” בדיון על מנגנוני הגנה. + ערך ברירת מחדל: 4 זהו החצי השני של מנגנון הגנה עיקרי של OpenAPS, והחצי השני של \"3x max daily; 4x current\" במנגנוני ההגנה. המשמעות היא שהמינון הבזאלי, ללא קשר למקסימום שנקבע במשאבה, אינו יכול להיות גבוה יותר ממספר זה כפול הקצב הבזאלי הנוכחי. מיועד למנוע כניסה לתחומים מסוכנים ע\"י קביעת קצב בזאלי גבוה לפני הבנה של פעולת האלגוריתם. שוב: ברירת המחדל היא x4, רוב המשתמשים לעולם אינם צריכים לשנות ערך זה ואם הם מרגישים שמנגנון הגנה זה מפריע להם, הפתרון הוא בשינוי של הגדרות אחרות. + מכפלת בטיחות בזאלי יומי מרבי + מכפלת בטיחות בזאלי נוכחי + ערך ברירת מחדל: 1.2\nזוהי מגבלת המכפיל של Autosens (ובקרוב Autotune) שמגדירה 20% כיחס מקסימלי של autosens, אשר קובע בתורו את גובה הבזאלי המקסימלי, גובהו המינימלי של יחס התיקון, ואת המינימום של ערכי המטרה האפשריים. + ערך ברירת מחדל: 0.7\nבצד השני של מגבלות הבטיחות של Autosens, ערך זה מגביל את יכולתו של autosens להוריד את הערכים הבזאליים ועד כמה יכול להעלות את יחס התיקון ואת ערכי מטרת הסוכר בדם. + + ערך מקסימלי בהעדפות + מגבלה קשיחה + + diff --git a/plugins/aps/src/main/res/values-ko-rKR/strings.xml b/plugins/aps/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 0000000000..4689b2d341 --- /dev/null +++ b/plugins/aps/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,35 @@ + + + 높은 임시목표는 민감도를 올립니다. + + 낮은 임시목표는 민감도를 내립니다. + + OpenAPS SMB + 저항성이 목표 낮추기 + 저항성이 감지되면, 목표 혈당을 낮춥니다. + 민감성이 목표 올리기 + 민감성이 감지되면, 목표 혈당을 높입니다. + 플러그인이 사용불가능 합니다 + 실행중 + OpenAPS AMA + %1$d 요소의 배열.\n실제 값: + OAPS + 2017년의 알고리즘 + 고급사용자를 위한 가장 최신의 알고리즘 + 지금 실행 + 프로파일 + 결과 + 요청 + 제한 + Autosens 정보 + 기본값: 3\n이 값은 중요한 OpenAPS 안전장치입니다. 이 값의 역할은 펌프에 설정되어 있는 최대Basal보다 3배를 초과할 수 없게 제한하는 것입니다. 이 값을 변경할 필요는 없을 것이지만, 안전을 위해 \"3x max daily; 4x current\"이 의미하는 바를 알고 있어야 합니다. + 기본값: 4\n이 값은 \"3x max daily; 4x current\"의 나머지 절반에 해당하는 또 다른 중요한 OpenAPS 안전장치입니다. 이것은, 펌프에 설정된 최대 Basal과는 관계없이, Basal이 설정된 현재시간의 Basal에 이 값을 곱한 양을 초과할 수 없다는 것을 의미합니다. 이는 알고리즘의 작동 방식을 이해하기 전에 과도하게 높은 최대 기본을 설정하여 위험한 상황에 빠지지 않도록 보호하기 위한 것입니다. 다시한번, 기본 값은 4배인 것을 알아두세요; 일반적으로 이것을 조정할 필요는 전혀 없으며, 대신 이 안전장치를 변경해야할것처럼 생각이 된다면, 다른 설정을 변경해야 할 가능성이 더 큽니다. + 최대 일 안전 승수 + 현재 Basal 안전 승수 + 기본값: 1.2\n이 옵션은 autosens의 최대 한계 값을 20%%로 제한하기 위해 autosens(곧 autotune)이 이용하는 승수값입니다. 이 값이 autosens에 대한 Basal의 최대 값, 인슐린 민감도(ISF)의 최소값 및 혈당 목표의 최소값을 결정케 합니다. + 기본값: 0.7\nautosens 안전 제한의 나머지 부분입니다. 이는 Basal을 얼마나 낮게 조절할 수 있는지, ISF와 혈당 목표범위를 얼마나 높게 설정할 수 있는지를 결정합니다. + + 설정에서의 최대값 + 하드한계 + + diff --git a/plugins/aps/src/main/res/values-lt-rLT/strings.xml b/plugins/aps/src/main/res/values-lt-rLT/strings.xml new file mode 100644 index 0000000000..e3d87cd8f0 --- /dev/null +++ b/plugins/aps/src/main/res/values-lt-rLT/strings.xml @@ -0,0 +1,36 @@ + + + Intensyvus laikinas tikslas didina jautrumą + = 100]]> + Pasyvus laikinas tikslas mažina jautrumą + + OpenAPS SMB + Rezistencija mažina tikslą + Kai nustatoma rezistencija, tikslinė gliukozės vertė sumažinama + Jautrumas didina tikslą + Kai aptinkamas padidėjęs jautrumas insulinui, tikslinis gliukozės lygis padidinamas + Įskiepis išjungtas + DYNISF + Vykdoma + OpenAPS AMA + %1$d elementų masyvas. \naktuali vertė: + AtvCiklas + 2017 m. algoritmas + Naujausias algoritmas patyrusiems vartotojams + Paleisti dabar + Profilis + Rezultatas + Užklausa + Apribojimai + Autosens duomenys + Numatytoji reikšmė: 3 tai pagrindinis OpenAPS saugiklis. Jis apriboja Jūsų valandinę bazę iki trigubos maksimalios valandinės bazės (standartiniu atveju). Jums greičiausiai neprireiks šios reikšmės keisti, tačiau turėtumėte žinoti, kad ji naudojama kaip saugiklis apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". + Numatytoji reikšmė: 4 tai antras pagrindinis OpenAPS saugiklis, apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". Jis reiškia, kad jūsų valandinė bazė, nepriklausomai nuo to, kokia maksimali valandinė bazė suprogramuota pompoje, negali būti didesnė, nei keturguba dabartinė valandinė bazė. Tai apsaugo Jus nuo pavojingų situacijų, kai nustatoma pernelyg didelė valandinė bazė, pilnai nesuprantant, kaip veikia algoritmas. Numatytoji reikšmė yra 4x; daugumai vartotojų niekada neprireikia šio skaičiaus keisti, o pajutus, kad \"atsitrenkiama\" į saugiklį, rekomenduojama peržiūrėti kitus nustatymus. + Maksimalus dienos bazės saugos daugiklis + Dabartinės bazės saugos daugiklis + Numatytoji reikšmė: 1.2\nTai daugiklis Autosens (ir netrukus Autotune) funkcijoje, kuris nustato 20%% maksimalią ribą iki kurios Autosens gali padidinti valandinę bazę, sumažinti JIF ir tikslinę gliukozės vertę. + Numatytoji reikšmė: 0.7\nTai antras daugiklis Autosens funkcijoje, kuris nustato, kad Autosens gali iki minimalios 70 % ribos sumažinti valandinę bazę bei padidinti JIF ir tikslinę gliukozės vertę. + + Maksimali reikšmė nustatymuose + Nekeičiama riba + + diff --git a/plugins/aps/src/main/res/values-nl-rNL/strings.xml b/plugins/aps/src/main/res/values-nl-rNL/strings.xml new file mode 100644 index 0000000000..86c3571465 --- /dev/null +++ b/plugins/aps/src/main/res/values-nl-rNL/strings.xml @@ -0,0 +1,39 @@ + + + Aanpassingsfactor voor DynamicISF. Stel meer dan 100% in voor een agressievere correctie en minder dan 100% voor minder agressieve correctie. + Hoog tijdelijk streefdoel verhoogt gevoeligheid + = 100]]> + Laag tijdelijk streefdoel verlaagt gevoeligheid + + OpenAPS SMB + Dynamische ISF + Resistentie verlaagt het doel + Wanneer insulineresistentie wordt gedetecteerd, wordt het BG streefdoel verlaagd + Gevoeligheid verhoogt het doel + Wanneer insulinegevoeligheid wordt gedetecteerd, wordt het BG streefdoel verhoogd + Plugin is gedeactiveerd + DYNISF + Uitvoeren + OpenAPS AMA + Array van %1$d elementen. \nActuele waarde: + OAPS + Het algoritme uit 2017 + Meest recente algoritme voor gevorderde gebruikers + Meest recente algoritme voor gevorderde gebruikers met dynamische/automatische ISF + Nu uitvoeren + Profiel + Resultaat + Voorstel + Beperkingen + Autosens gegevens + Standaard waarde: 3.0 Dit is een belangrijke veiligheid parameter van OpenAPS. Dit limiteert je basaal met een max van 3 maal je hoogste basale dosis. Normaal hoef je deze niet te veranderen. Het is echter belangrijk dat je de ingebouwde limieten kent. + Standaard waarde: 4 Dit is een combinatie van enerzijds het OpenAPS veiligheid limieten en anderzijds van “3 x max dagelijks basaal; 4x actueel”. Dit betekent dat het basaal niet hoger kan ingesteld worden dan het ingestelde nummer keer het actueel basaal waarbij de limiet in de pomp geen invloed heeft. Dit is een veiligheidsmaatregel om te voorkomen dat patiënten in gevaarlijke laag bereik komen zonder te snappen hoe het algoritme werkt. Nogmaals de standaard waarde is 4x; de meeste zullen deze waarde nooit moeten aanpassen maar zullen eerder andere waardes moeten aanpassen als ze tegen een limiet aanstoten. + Maximale dagelijkse veiligheids vermeningvuldigings factor + Huidige basaalstand veiligheids vermenigvuldigings factor + Standaard waarde: 1.2\nDit is een vermenigvuldigingsfactor voor autosense (en binnenkort autotune) die zorgt dat de autosens ratio maximaal 20%% kan zijn. Dit maximum bepaalt in hoeverre je basaal kan worden verhoogd, en hoeveel je ISF en BG doel verlaagd kunnen worden. + Standaard waarde: 0.7\nDit is de andere kan van de autosens veiligheid limiet. Dit zet een limiet op hoe laag het basaal kan aangepast worden, en hoe hoog het ISF en het streef BG. + + Maximum waarde in instellingen + max limiet (SC) + + diff --git a/plugins/aps/src/main/res/values-no-rNO/strings.xml b/plugins/aps/src/main/res/values-no-rNO/strings.xml new file mode 100644 index 0000000000..07e7ff3e54 --- /dev/null +++ b/plugins/aps/src/main/res/values-no-rNO/strings.xml @@ -0,0 +1,82 @@ + + + Juster sensitivitet og BS + DynamiskISF justeringsfaktor % + Justeringsfaktor for dynamisk ISF. Verdier over 100% vil gi mer aggressive korreksjonsdoser, mens verdier under 100% vil gi mildere korreksjonsdoser. + Høy temp target øker sensitiviteten + = 100]]> + Lav temp target reduserer sensitiviteten + + OpenAPS SMB + Dynamisk ISF + Minste antall minutter mellom hver SMB + Resistens reduserer BS målverdi + Hvis resistens oppdages vil det redusere BS målverdi + Sensitivitet øker BS målverdi + Når systemet oppdager økt insulinsensitivitet, vil BS målverdi økes + Plugin er deaktivert + Ingen BS data tilgjengelig + Ingen data tilgjengelig for autosens + DYNISF + Utfører + OpenAPS AMA + Liste med %1$d elementer.\nFaktisk verdi: + OAPS + Slik algoritmen var definert i 2017 + Siste utgave av algoritmen for avanserte brukere + Nyeste algoritme for avanserte brukere med dynamisk/automatisk ISF + Bolus DIA slumre divisor + Utfør nå + Siste beregning + Inndata parametre + Glukosestatus + Nåværende temp + IOB data + Profil + Måltidsdata + Resultat + Forespørsel + Begrensninger + Autosens-data + Script feilsøking + Bruk Autosens funksjon + Max E/t en Temp Basal kan settes til + Denne verdien kalles max basal i OpenAPS sammenheng + Max basal IOB som OpenAPS kan levere [U] + Denne verdien kalles Max IOB i OpenAPS sammenheng.\nDet er max insulinmengde i [U] som APS kan levere i en dose. + Standard verdi: sann\nGir autosens tillatelse til å justere BS-mål, i tillegg til ISF og basaler. + Autosens justerer også BS målverdier + Standardverdi er: 3.0 (AMA) eller 8.0 (SMB). Dette er grunninnstillingen for KH-opptak per 5 minutt. Den påvirker hvor raskt COB skal reduseres, og benyttes i beregning av fremtidig BS-kurve når BS enten synker eller øker mer enn forventet. Standardverdi er 3mg/dl/5 min. + Standardverdi: 3 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine basaler til maks 3x av din høyeste basalverdi. Du vil trolig ikke behøve å endre denne verdien, men les og forstå hva som menes med \"3x max daglig; 4x gjeldende\" som sikkerhetsinnstilling. + Standardverdi: 4 Dette er en viktig OpenAPS sikkerhetsbegrensning. Dette begrenser dine temp basal til max 4 ganger din nåværende basal dose, uansett hva som er maks basal i pumpen. Dette er for å unngå at man setter farlige høye maks basal doser uten at man har forstått algoritmene. Når du taket i denne begrensningen bør du i stedet fokusere på å endre andre innstillinger. + Standard verdi: 2\nBolus-slumre er aktivt etter at du har gitt en måltidsbolus slik at loop ikke skal forsøke å sette lav-temp når du nettopp har spist. I dette eksempelet brukes standardverdi på 2, så med en DIA på 3 timer vil bolus-slumre begrensningen gradvis forsvinne etter 1.5 timer (3DIA / 2). + Advarsel!\nNormalt vil du ikke trenge å endre verdiene under. Vennligst TRYKK HER og LES teksten for å være sikker på at du FORSTÅR konsekvensene før du gjør endringer. + Bruk alltid kort gjennomsnittsverdi delta i stedet for enkel delta + Nyttig når data fra ufiltrerte kilder som xDrip+ registrerer mye støy. + Multiplikator for max daglig basal + Multiplikator får gjeldende basal + Maks total IOB OpenAPS ikke kan overstige [U] + Denne verdien kalles Maks IOB av OpenAPS\nOpenAPS vil ikke gi mere insulin hvis mengden insulin ombord (IOB) overstiger denne verdien + Aktiver UAM + Aktiver SMB + Bruk Supermikrobolus i stedet for temp basal for raskere resultat + Avdekking av uannonserte måltider (UAM) + Aktiver SMB alltid + Aktiver SMB alltid uavhengig av boluser. Bare mulig med en bra filtrert BS kilde som f.eks. Dexcom G5/G6 + Aktiver SMB etter karbohydrater + Aktiver SMB i 6t etter karbohydratinntak, selv med 0 IOB. Bare mulig med en bra filtrert BS kilde som f. eks. Dexcom G5/G6 + Aktiver SMB med COB + Aktiver SMB når COB er aktiv. + Aktiver SMB med temp målverdi + Aktiver SMB når temp målverdi er aktivert (spise snart, trening) + Aktiver SMB ved høye temp målverdier + Aktiver SMB når det er aktive temp targets (trening, over 100 mg/dl eller 5,5 mmol/l) + Maks antall minutter med basal som kan bli SMB + UAM SMB maks minutter + Standardverdi: 1.2\nDetta er en multiplikatorbegrensning for autosens (og snart autotune) som begrenser at autosens ikke kan øke med mer enn 20%%, som dermed begrenser hvor mye autosens kan justere opp dine basaler, hvor mye ISK kan reduseres og hvor lavt BS målverdi kan settes. + Standardverdi: 0.7\nDette er en multiplikatorbegrensning for autosens sikkerhet. Den begrenser autosens til å redusere basalverdier, og øke isulinssensitivitet (ISF) og BS mål med ikke mer enn enn 30%. + + maks verdi i innstillingene + hard begrensning + + diff --git a/plugins/aps/src/main/res/values-pl-rPL/strings.xml b/plugins/aps/src/main/res/values-pl-rPL/strings.xml new file mode 100644 index 0000000000..18ef4637f4 --- /dev/null +++ b/plugins/aps/src/main/res/values-pl-rPL/strings.xml @@ -0,0 +1,38 @@ + + + Wysoki tymczasowy cel zwiększy wrażliwość + = 100]]> + Niski tymczasowy cel zmniejszy wrażliwość + + OpenAPS SMB + Dynamiczny ISF + Oporność na działanie insuliny obniża cel + Po wykryciu oporności obniża się docelowy poziom cukru + Wrażliwość podnosi docelowy poziom glukozy + Po zwiększeniu wrażliwości zwiększ docelowy poziom glukozy + Wtyczka jest wyłączona + DYNISF + Wykonywanie + OpenAPS AMA + Lista %1$d elementów.\n Bieżąca wartość: + OAPS + Stan algorytmu w 2017 + Najnowszy algorytm dla zaawansowanych użytkowników + Najnowszy algorytm dla zaawansowanych użytkowników z dynamicznym/automatycznym ISF + Uruchom teraz + Profil + Rezultat + Żądanie + Ograniczenia + Dane Autosens + Wartość domyślna: 3 To jest kluczowy współczynnik bezpieczeństwa OpenAPS. Ogranicza dawki bazowe do 3x twojej największej dawki bazowej. Prawdopodobnie nie będziesz musiał tego zmieniać, ale powinieneś być świadomy tego, co się rozumie przez “3x max dzienna; 4x aktualna” dla współczynników bezpieczeństwa. + Wartość domyślna: 4 To jest drugi kluczowy współczynnik bezpieczeństwa OpenAPS, i druga wartość z “3x max dzienna; 4x aktualna”. To oznacza, że Twoja dawka bazowa niezależnie od maksymalnej bazy ustawionej na pompie nie może być większa niż ta ustawiona wartość razy twoja aktualna dawka bazowa. To ma na celu przestrzec ludzi przed ustawieniem zbyt wysokiej dawki maksymalnej przed zrozumieniem jak działa algorytm. Ponownie, wartość domyślna to 4x; większość ludzi nie będzie potrzebowała tego zmienić i raczej będą potrzebować dostosować inne ustawienia, jeśli czują, że zbliżają się do współczynnika bezpieczeństwa. + Max daily safety multiplier (Mnożnik bezpieczeństwa maksymalnej dziennej dawki bazowej [U/godzinę]) + Current basal safety multiplier (Mnożnik bezpieczeństwa aktualnej dziennej dawki bazowej [U/godzinę]) + Wartość domyślna: 1.2\nTo jest mnożnik dla autosens (wkrótce autotune), ustawia 20%% maks. limit dla najwyższej wartości jaką autosens może przyjąć, co z kolei określa jak wysoko autosens może zwiększyć bazę, jak nisko może ustawić współczynnik wrażliwości insuliny ISF, i jak nisko może ustawić docelową wartość glikemii. + Wartość domyślna: 0.7\nDruga strona limitu bezpieczeństwa dla autosens, ustawia mnożnik minimalny dla wartości, do jakiej autosens może obniżyć bazę, i jak wysoko może ustawić ISF i wartość docelową BG. + + maks. wartość w ustawieniach + twarde ograniczenie + + diff --git a/plugins/aps/src/main/res/values-pt-rBR/strings.xml b/plugins/aps/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000000..46333c8c0f --- /dev/null +++ b/plugins/aps/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,40 @@ + + + Ajustar sensibilidade e GLIC + Fator de ajuste para FSI dinâmico. Defina mais de 100%% para doses de correção mais agressivas e menos de 100%% para correções menos agressivas. + Alto alvotempo aumenta sensibilidade + = 100]]> + Baixo alvotemp baixa sensibilidade + + SMB OpenAPS + FSI Dinâmico + Resistência reduz alvo + Quando a resistência for detectada, diminui o alvo de glicose + Sensibilidade aumenta o alvo + Quando a sensibilidade é detectada, aumenta o alvo glicose + Plugin está desativado + DINFS + Executando + OpenAPS AMA + Array de %1$d elementos.\nValor atual: + OAPS + Estado do algoritmo em 2017 + Algoritmo mais recente para usuários avançados + Algoritmo mais recente para usuários avançados com FS dinâmico/automático + Executar agora + Perfil + Resultado + Solicitar + Restrições + Dados Autosens + Valor padrão: 3 Por segurança é o valor limite estabelecido por OpenAPS. O que faz é limitar a basal a x3 a basal mázima. Se necessário modificar este valor, por favor ter em conta que os dados apontam para que os limites de segurança sejam - 3 x max diario ou 4x valor atual (qual seja menor) como valores máximos. + Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objetivo é evitar que sejam determinadas basais temporárias muito elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. + Multiplicador máx. diário de segurança + Multiplicador actual de segurança basal + Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor de Sensibilidade (FSI) e baixar o valor alvo de glicose no sangue. + Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de ISF e valor alvo de glucose no sangue (BG). + + valor máx nas preferências + limite rígido + + diff --git a/plugins/aps/src/main/res/values-pt-rPT/strings.xml b/plugins/aps/src/main/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000000..fd2127015f --- /dev/null +++ b/plugins/aps/src/main/res/values-pt-rPT/strings.xml @@ -0,0 +1,35 @@ + + + Alto alvotempo aumenta sensibilidade + = 100]]> + Baixo alvotemp baixa sensibilidade + + OpenAPS SMB + Resistência reduz alvo + Quando a resistência for detectada, diminui o alvo de glicose + Sensibilidade aumenta o alvo + Quando a sensibilidade é detectada, aumenta o alvo glicose + Plugin está desativado + A Executar + OpenAPS AMA + Array de %1$d elementos.\nValor actual: + OAPS + Estado do algoritmo em 2017 + Algoritmo mais recente para usuários avançados + Executar agora + Perfil + Resultado + Pedido + Restrições + Dados Autosens + Valor padrão: 3 Por segurança é o valor limite estabelecido pela OpenAPS. O que faz é limitar a basal a 3x a basal máxima. Se necessário modificar este valor, por favor tenha em conta que os dados apontam para que os limites de segurança sejam \"3 x máx diário ; 4 x valor atual\". + Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objectivo é evitar que sejam determinadas basais temporárias demasiado elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança. + Multiplicador máx. diário de segurança + Multiplicador actual de segurança basal + Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20%% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor Sensibilidade à Insulina (FSI) e baixar o valor alvo de glicose no sangue. + Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de FSI e valor alvo de glucose no sangue (BG). + + valor máx nas preferências + limite rígido + + diff --git a/plugins/aps/src/main/res/values-ro-rRO/strings.xml b/plugins/aps/src/main/res/values-ro-rRO/strings.xml new file mode 100644 index 0000000000..3337ffb3dc --- /dev/null +++ b/plugins/aps/src/main/res/values-ro-rRO/strings.xml @@ -0,0 +1,37 @@ + + + Ținte temporare mai mari cresc sensibilitatea + = 100]]> + Țintele temporare joase scad sensibilitatea + + OpenAPS SMB + Rezistența la insulină poate coborî targetul + Când e detectata rezistență la insulină, coboară targetul + Sensibilitatea la insulină crește targetul + Când este detectată sensibilitate la insulină, crește targetul + Modul inactiv + DYNISF + Se execută + OpenAPS AMA + Matrice de %1$d elemente.\nValoarea curentă: + OAPS + Starea algoritmului în 2017 + Cel mai recent algoritm destinat utilizatorilor avansaţi + Cel mai recent algoritm pentru utilizatorii avansați cu ISF dinamic/automat + Execută + Profil + Rezultat + Solicitare + Constrângeri + Date Autosens + Valoare implicită: 3\nAceasta este o setare de critică de securitate a OpenAPS. Asta înseamnă că se limitează bazala lade 3x valoarea maximă a bazalelor tale.Cel mai probabil nu veți schimba această valoare, dar trebuie să țineți cont de ce se discută despre “3x max zilnic; 4x curent” ca valori de siguranță. + Valoare implicită: 4\nAceasta este cealaltă jumătate a cheii de siguranță a OpenAPS și cealaltă jumătate a \"3x max zilnic; 4x curent\" al setărilor de siguranță.Aceasta înseamnă că bazala dumneavoastră, indiferent de bazala maximă configurată în pompă, nu poate fi mai mare de acest număr înmulțit cu nivelul curent al bazalei active. Această limitare este impusă pentru a evita posibilitatea de a intra pe un teritoriu periculos prin setarea unei bazale maxime excesiv de mari înainte de a înțelege funcționarea algoritmului. Din nou, valoarea implictă este 4x; majoritatea oamenilor nu vor trebui să ajusteze această valoare și vor modifica, mai degrabă, alte valori dacă vor simți că această valoare le stă în cale. + Multiplicator sigur maxim zilnic + Multiplicator sigur pentru bazala curentă + Valoare implicită: 1.2\nAceasta este valoarea limită de multiplicare pentru autosens (și pentru autotune, în curând) pentru a seta o limită maximă de 20%% din cât de mare poate fi raportul autosens, care, la rândul ei, determină cât de mult poate autosens să modifice bazalele, cât de jos poate modifica ISF și cât de jos poate pune ținta glicemiei. + Valoare implicită: 0.7\nCealaltă parte a limitelor autosens, care limitează cât de jos poate ajusta bazalele și cât de mult poate mări ISF și țintele de glicemie. + + valoare maximă în preferințe + limită fizică + + diff --git a/plugins/aps/src/main/res/values-ru-rRU/strings.xml b/plugins/aps/src/main/res/values-ru-rRU/strings.xml new file mode 100644 index 0000000000..46ed07bc40 --- /dev/null +++ b/plugins/aps/src/main/res/values-ru-rRU/strings.xml @@ -0,0 +1,41 @@ + + + Настроить чувствительность относительно ГК + Коэффициент регулировки динамического диапазона чувствительности ISF % + Коэффициент корректировки динамического диапазона чувствительности ISF. Установите более 100% для агрессивных доз коррекции и менее 100% для менее агрессивной коррекции. + Высокая врем. цель temptarget повышает чувствительность + = 100]]> + Низкая временная цель temptarget снижает чувствительность + = 100]]> + Супер микро болюс OpenAPS + Динамический ISF + Сопротивляемость понижает цель + При обнаружении сопротивляемости целевой уровень гликемии понижается + Чувствительность поднимает цель + При обнаружении чувствительности целевой уровень глюкозы повышается + модуль не активен + ДинISF + выполнение + Помощник болюса OpenAPS AMA + Массив %1$d элементов. \nActual актуальная величина: + OAPS + Состояние алгоритма в 2017 году + Самый новый алгоритм для опытных пользователей + Последний алгоритм для опытных пользователей с динамическим/автоматическим ISF + выполнить сейчас + Профиль + результат + запрос + ограничения + данные autosens + значение по умолчанию:3 Это ключевой ограничитель безопасности OpenAPS. Он ограничивает величину вашего базала максимум до 3x максимума. Вам вероятно не понадобится менять эту величину но вам следует понимать, что она входит в формулу дуэта \"максимум 3x ежедневное; 4x текущее\" + значение по умолчанию: 4 . Это вторая половина обеспечения безопасности OpenAPS из дуэта \"максимум 3x ежедневное; 4x текущее\" Означает что ваша база независимо от установок помпы не может быть выше чем это число умноженное на текущее значение базала. Ограничение для того, чтобы предотвратить вторжение в опасную зону из-за высокого уровня установленных значений базы без понимания алгоритма работы приложения. Большинству людей никогда не потребуется изменять это значение, скорее всего нужно поменять другие настройки если вы чувствуете, что вам мешает это ограничение. + Множитель безопасности макс суточного базала + Текущий множитель безопасности базала + Значение по умолчанию: 1,2\n Это множитель для autosens ( и вскоре autotune) с лимитом 20%% который определяет лимит верхнего значения autosens, который в свою очередь предопределяет верхнюю границу базала, границы изменения чувствительности к инсулину ISF и нижние границы целевой ГК. + по умолчанию:0.7 Еще один параметр безопасности autosens, определяющий как низко он может опускать базал и как высоко поднимать ISF (чувств к инс) и целевые СК + + максимальное значение в настройках + жесткий предел + + diff --git a/plugins/aps/src/main/res/values-sk-rSK/strings.xml b/plugins/aps/src/main/res/values-sk-rSK/strings.xml new file mode 100644 index 0000000000..966cb5dafc --- /dev/null +++ b/plugins/aps/src/main/res/values-sk-rSK/strings.xml @@ -0,0 +1,41 @@ + + + Upraviť citlivosť a glykémiu + Korekčný faktor pre Dynamickú ISF v % + Korekčný faktor pre dynamickú ISF. Pre agresivnejšie korekčné dávky nastavte hodnoty väčšie ako 100%, pre menej agresívne korekcie, menšie než 100%. + Vysoký dočasný cieľ zvýši citlivosť + = 5.5]]> + Nízky dočasný cieľ zníži citlivosť + + OpenAPS SMB + Dynamická ISF + Rezistancia znižuje cieľ + Ak je zistená rezistancia, znížiť cieľovú hladinu glykémie + Citlivosť zvyšuje cieľ + Ak je zistená vyššia citlivosť, zvýši cieľovú hladinu glykémie + Modul je deaktivovaný + DYNISF + Vykonávam + OpenAPS AMA + Pole %1$d prvkov.\nAktuálna hodnota: + OAPS + Stav algoritmu v roku 2017 + Najnovší algoritmus pre pokročilých užívateľov + Najnovší algoritmus pre pokročilých užívateľov s dynamickým/automatickým ISF + Spustiť teraz + Profil + Výsledok + Požiadavka + Obmedzenia + Dáta detekcie citlivosti + Štandardná hodnota: 3 Toto je kľúčová hodnota zabezpečenia. Hovorí, že maximálny nastaviteľný bazál je trojnásobkom maximálneho denného bazálu. Spravidla to zrejme nebudete musieť meniť, prípadne si prečítate o téme \"3x max denný; 4x aktuálny\". + Štandardná hodnota: 4 Toto je druhá kľúčová hodnota. Hovorí, že maximálna hodnota dočasného bazálu nikdy nebude väčšia, ako štvornásobok aktuálneho bazálu. Je to preto, aby se ľudia nedostali do nebezpečných hodnôt skôr, ako pochopia ako OpenAPS pracuje. Znovu, štandardná hodnota je 4 a väčšina ľudí ju nikdy nebude musieť meniť. Pokiaľ nestačí, obvykle je problém niekde inde. + Max násobiteľ denného najvyššieho bazálu + Max násobiteľ súčasného bazálu + Štandardná hodnota: 1.2\nToto je bezpečnostné nastavenie pre detekciu citlivosti (a čoskoro autotune). Hovorí, že autosens môže zvýšiť bazály, znížiť ISF (citlivosť na inzulín) a znížiť cieľovú hodnotu glykémie o 20%%. + Štandardná hodnota: 0.7\nToto je bezpečnostné nastavenie pre automatickú detekciu citlivosti. Hovorí, že automatická detekcia citlivosti môže znížiť bazály, zvýšiť ISF (citlivosť na inzulín) a zvýšiť cieľovú hodnotu glykémie na 70%. + + maximálna hodnota v nastaveniach + pevný limit + + diff --git a/plugins/aps/src/main/res/values-sr-rCS/strings.xml b/plugins/aps/src/main/res/values-sr-rCS/strings.xml new file mode 100644 index 0000000000..0bacc0fe5f --- /dev/null +++ b/plugins/aps/src/main/res/values-sr-rCS/strings.xml @@ -0,0 +1,14 @@ + + + Dodatak je onemogućen + Stanje algoritma u 2017 + Najnoviji algoritam za napredne korisnike + Najnoviji algoritam za napredne korisnike sa dinamičkim/automatskim ISF-om + Pokreni sada + Profil + Rezultat + Zahtev + Ograničenja + + + diff --git a/plugins/aps/src/main/res/values-sv-rSE/strings.xml b/plugins/aps/src/main/res/values-sv-rSE/strings.xml new file mode 100644 index 0000000000..49210db532 --- /dev/null +++ b/plugins/aps/src/main/res/values-sv-rSE/strings.xml @@ -0,0 +1,37 @@ + + + Högt målvärde höjer känsligheten + + Lågt målvärde sänker känsligheten + + OpenAPS SMB + Insulinresistens sänker mål-BG + Om systemet upptäcker tillfällig insulinresistens, sänk mål-BG för att på så sätt tillåta mer insulin + Insulinkänslighet höjer mål-BG + Om systemet upptäcker tillfällig insulinkänslighet, höj mål-BG för att på så sätt minska insulindoseringen + Insticksprogram inaktiverat + DynISF + Utför + OpenAPS AMA + En serie med %1$d tal.\nVärde: + OAPS + Så som algoritmen var definierad år 2017 + Den senaste algoritmen för avancerade användare + Senaste algoritm för avancerade användare med dynamisk / automatisk ISF + Utför nu + Profil + Resultat + Beräknat behov + Begränsningar + Autosensdata + Standardvärde: 3 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina temp basaler till maximalt 3x din största basaldos. Du behöver oftast inte ändra detta värde. Läs på och förstå skillnaden mellan 3x nuvarande och 3x daglig max som säkerhetsinställningar. + Standardvärde: 4 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina tempbasaler till maximalt 4 gånger din nuvarande basaldos, oberoende av din maximala basaldos. Detta för att undvika att man av misstag gör farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning. + Multiplikator för max daglig basal (max_daily) + Multiplikator för nuvarande basal (max_current) + Standardvärde: 1.2\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera upp basaler, sänka insulinkänslighet (ISF) och/eller målvärde med upp till 20%. + Standardvärde: 0.7\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera ner basaler, höja insulinkänslighet (ISF) och/eller målvärde med upp till 30%% för att kompensera för t ex tillfällig hög insulinkänslighet. + + maxvärde i Inställningar + hård begränsning + + diff --git a/plugins/aps/src/main/res/values-tr-rTR/strings.xml b/plugins/aps/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 0000000000..741ab32898 --- /dev/null +++ b/plugins/aps/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,41 @@ + + + Duyarlılığı ve KŞ\'ni ayarlayın + DinamikİDF Ayar Faktörü % + DinamikİDF için ayarlama faktörü. Daha agresif düzeltme dozları için %100\'den fazla ve daha az agresif düzeltmeler için %100\'den az ayarlayın. + Yüksek geçici hedefler duyarlılığı artırır + = 100]]> + Düşük geçici hedefler duyarlılığı azaltır + + OpenAPS SMB + Dinamik İDF + Direnç hedefi düşürür + Direnç tespit edildiğinde KŞ hedefini düşürün + Duyarlılık hedefi yükseltir + Hassasiyet tespit edildiğinde, KŞ hedefini yükseltin + Eklenti devre dışı + DYNISF + Yürütülüyor + OpenAPS AMA + %1$d öğelerin dizisi.\nGerçek değer: + OAPS + 2017\'da algoritmanın durumu + İleri düzey kullanıcılar için en yeni algoritma + Dinamik/otomatik İDF ile ileri düzey kullanıcılar için en yeni algoritma + Şimdi Çalıştır + Profil + Sonuç + İstek + Kısıtlamalar + Otoduyarlılık verileri + Varsayılan değer: 3 Bu OpenAPS için önemli bir güvenlik ayarıdır. Maksimum bazal Iob\'u, en büyük bazal oranınızın üç katı (varsayılan olarak) ile sınırlar. Genel olarak, bu değeri değiştirmemelisiniz. Ama \"3x max günlük, 4x şuan\" ın bir güvenlik ayarı olarak ne anlama geldiğini bilmelisiniz. + Varsayılan ayar: 4 Bu, OpenAPS güvenlik ayarlarının diğer yarısı ve \"3x max günlük, 4x akım\" güvenlik korumasının diğer yarısıdır. Bu, başlangıç değerinizin, pompada ayarlanan taban maksimum değerinizden bağımsız olarak, mevcut bazal seviyenin bu sayısından daha yüksek olamayacağı anlamına gelir. Bu, insanların, algoritmanın nasıl çalıştığını anlamadan temel çizgiyi büyük ölçüde artırarak kendilerini tehlikeli durumlarda bulmalarını engellemektir. Varsayılan ayar 4x\'dir; Çoğu insan bu ayarları asla değiştirmek zorunda kalmayacak, ancak bu güvenlik sınırına yakınsa diğer terapi ayarlarını ayarlamalıdırlar. + Maks günlük güvenlik çarpanı + Mevcut bazal güvenlik çarpanı + Varsayılan değer: 1.2\nOtoduyarlılık (yakında otoayar) çarpanı. Varsayılan değere %20 maksimum limit atamak, otoduyarlılığın bazalları ne kadar yüksek ayarlayabileceğini, ISF ve KŞ hedefini de ne kadar düşük ayarlayabileceğini belirler. + Varsayılan değer: 0.7\nBu otoduyarlılık için diğer güvenlik önlemidir. Otoduyarlılığın bazal oranlarını ne kadar düşürebileceğini ve İnsülin Duyarlılık Faktörü ve KŞ hedeflerini ne kadar yüksek tutabileceğini gösterir. + + tercihlerde maksimum değer + sert sınır + + diff --git a/plugins/aps/src/main/res/values-zh-rCN/strings.xml b/plugins/aps/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000..93374c2836 --- /dev/null +++ b/plugins/aps/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,40 @@ + + + 动态ISF 调整因子 % + 动态ISF的调整因子。设置100%以上用于更积极的校正,100%以下则不那么积极校正。 + 高临时目标增加灵敏度 + =100 mg/dl (5.5 mmol/l) 时提高灵敏度]]> + 低临时目标降低灵敏度 + + OpenAPS SMB + 动态ISF(胰岛素敏感系数) + 抗药时降低目标 + 当检测到胰岛素抵抗时,降低血糖的目标值。 + 敏感时提高目标 + 当检测到胰岛素敏感时,提高血糖的目标值。 + 插件已禁用 + 动态ISF + 正在执行 + OpenAPS AMA + %1$d 元素的数组. \n 实际值: + OpenAPS + 算法的状态在2017年 + 最新的适合高级用户的算法 + 面向高级用户的最新算法,可以动态/自动调整ISF胰岛素敏感系数 + 现在运行 + 配置文件 + 结果 + 请求 + 约束条件 + Autosens 数据 + 默认值: 3 这是一个关键的 OpenAPS 安全阀值。这是限制你的闭环可以最大扩张3倍的日最大基础率。你可能不需要改变这个值 但你应该这个值的含义。日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值 + 默认值: 4 这是另一个的关键 OpenAPS 安全阀值, 日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值。这意味着你的基础率, 无论你的泵上的最大基础率设置的多少,也 不能超过你的当前基础率的4倍。这是为了防止人们在了解该算法的工作原理之前进入危险的领域 。同样, 默认值为 4倍; 大多数人将永远不需要调整, 而是更有可能需要调整其他设置, + 最大日基础率安全倍数 + 当前基础率安全倍数 + 默认值: 1.2 \n 这是 autosens 的安全阀值 对 autosens ( 很快autotune) 比率的高值设置最大增加20%% 最大限制, 这反过来决定了 autosens 可以调整的基础率的上限值, 可以调整的胰岛素敏感系数的下限值, 以及它可以设置血糖目标的下限值。 + 默认值: 0.7 \n  这是autosens 的另一个安全阈值, 。这个值决定了 autosens 可以调整的基础率的下限值, 可以调整的胰岛素敏感系数的上限值, 以及它可以设置血糖目标的上限值。 + + 在参数选项里的最大值 + 硬限制 + + diff --git a/plugins/automation/src/main/res/values-af-rZA/strings.xml b/plugins/automation/src/main/res/values-af-rZA/strings.xml index 4f1f04080e..af94cfc4e4 100644 --- a/plugins/automation/src/main/res/values-af-rZA/strings.xml +++ b/plugins/automation/src/main/res/values-af-rZA/strings.xml @@ -24,7 +24,6 @@ Stuur\'n SMS: %1$s Stuur\'n SMS met die teks Tydelike teiken begin - Tydelike teiken gestop is minder as is ewe of groter as is gelyk aan @@ -74,6 +73,7 @@ Glukose [%1$s]: Laaste bolus Laaste bolus tyd %1$s %2$s min terug + KOB KOB %1$s %2$.0f IAB [U]: Afst [m]: @@ -86,4 +86,5 @@ WYSIG Snellers: Vereistes: + diff --git a/plugins/automation/src/main/res/values-bg-rBG/strings.xml b/plugins/automation/src/main/res/values-bg-rBG/strings.xml index 9fcff0f834..2013b97226 100644 --- a/plugins/automation/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/automation/src/main/res/values-bg-rBG/strings.xml @@ -28,7 +28,6 @@ Изпратете SMS на всички Изпрати SMS с текст Стартирай временна цел - Спри временна цел е по-малко от е равно или по-малко от е равно на @@ -111,4 +110,12 @@ Събитие Подреди Потребителско действие + + П + Вт + Ср + Ч + П + С + Н diff --git a/plugins/automation/src/main/res/values-ca-rES/strings.xml b/plugins/automation/src/main/res/values-ca-rES/strings.xml index b7081def53..33ad516cde 100644 --- a/plugins/automation/src/main/res/values-ca-rES/strings.xml +++ b/plugins/automation/src/main/res/values-ca-rES/strings.xml @@ -28,7 +28,6 @@ Enviar SMS a tots els números Enviar SMS amb text Iniciar objectiu temporal - Aturar objectiu temporal és menor que és igual o menor que és igual a @@ -105,9 +104,18 @@ EDIT Escolliu tipus d\'acció Escolliu tipus d\'activador + Escolliu tipus d\'operació Activadors: Precondicions: Esdeveniment d\'automatització Reordenar Acció de l’usuari + + Dl + Dt + Dc + Dj + Dv + Ds + Dg diff --git a/plugins/automation/src/main/res/values-cs-rCZ/strings.xml b/plugins/automation/src/main/res/values-cs-rCZ/strings.xml index fbe523bb80..ed9d419d38 100644 --- a/plugins/automation/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/automation/src/main/res/values-cs-rCZ/strings.xml @@ -28,7 +28,6 @@ Poslat SMS na všechna čísla Odeslat SMS s textem Start dočasného cíle - Stop dočasného cíle je menší než je rovno nebo menší než je rovno @@ -122,4 +121,12 @@ Přidat pravidlo Odstranit/řadit Zastavit zpracovávání + + Po + Út + St + Čt + + So + Ne diff --git a/plugins/automation/src/main/res/values-da-rDK/strings.xml b/plugins/automation/src/main/res/values-da-rDK/strings.xml index d9ba8fa19b..30273f1f45 100644 --- a/plugins/automation/src/main/res/values-da-rDK/strings.xml +++ b/plugins/automation/src/main/res/values-da-rDK/strings.xml @@ -28,7 +28,6 @@ Send SMS til alle numre Send SMS med tekst Start midlertidig mål - Stop midlertidig mål er mindre end er lig med eller mindre end er lig med @@ -122,4 +121,12 @@ Tilføj regel Fjern/sorter Stop afvikling + + Ma + Ti + On + To + Fr + + diff --git a/plugins/automation/src/main/res/values-de-rDE/strings.xml b/plugins/automation/src/main/res/values-de-rDE/strings.xml index 4fab641328..ff8f758fac 100644 --- a/plugins/automation/src/main/res/values-de-rDE/strings.xml +++ b/plugins/automation/src/main/res/values-de-rDE/strings.xml @@ -28,7 +28,6 @@ SMS an alle Nummern senden SMS mit Text senden Tempöräres Ziel (TT) starten - Temporäres Ziel (TT) stoppen ist kleiner als ist gleich oder kleiner als ist gleich @@ -122,4 +121,12 @@ Regel hinzufügen Entfernen/sortieren Verarbeitung beenden + + Mo + Di + Mi + Do + Fr + Sa + So diff --git a/plugins/automation/src/main/res/values-el-rGR/strings.xml b/plugins/automation/src/main/res/values-el-rGR/strings.xml index d7f575987a..7c3d7a25a5 100644 --- a/plugins/automation/src/main/res/values-el-rGR/strings.xml +++ b/plugins/automation/src/main/res/values-el-rGR/strings.xml @@ -24,7 +24,6 @@ Στείλτε SMS: %1$s Στείλτε SMS με κείμενο Έναρξη προσ. στόχου - Λήξη προσ. στόχου είναι λιγότερο από είναι ίσο ή μικρότερο από είναι ίσο με @@ -74,6 +73,7 @@ Γλυκόζη [%1$s]: Τελευταίο Bolus Τελευταίο bolus %1$s %2$s λεπτά πριν + COB COB %1$s %2$.0f ΙΟΒ [U]: Αποστ [m]: @@ -86,4 +86,5 @@ Επεξεργασία Ενεργοποιήσεις: Προϋποθέσεις: + diff --git a/plugins/automation/src/main/res/values-es-rES/strings.xml b/plugins/automation/src/main/res/values-es-rES/strings.xml index 4e149f3d60..851eaaea45 100644 --- a/plugins/automation/src/main/res/values-es-rES/strings.xml +++ b/plugins/automation/src/main/res/values-es-rES/strings.xml @@ -28,7 +28,6 @@ Enviar SMS a todos los números Mandar mensaje SMS Iniciar objetivo temporal - Detener objetivo temporal es menor que es igual o menor que es igual a @@ -122,4 +121,12 @@ Añadir regla Eliminar/ordenar Parar procesamiento + + M + T + X + T + V + S + D diff --git a/plugins/automation/src/main/res/values-fr-rFR/strings.xml b/plugins/automation/src/main/res/values-fr-rFR/strings.xml index d6523c4dcb..205ded97cb 100644 --- a/plugins/automation/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/automation/src/main/res/values-fr-rFR/strings.xml @@ -28,7 +28,6 @@ Envoyer SMS à tous les numéros Envoyer SMS avec du texte Démarrer la cible temp - Arrêter la cible temp est inférieur à est inférieur ou égal à est égal à @@ -122,4 +121,12 @@ Ajouter une règle Supprimer/trier Arrêter le traitement + + L + M + M + J + V + S + D diff --git a/plugins/automation/src/main/res/values-ga-rIE/strings.xml b/plugins/automation/src/main/res/values-ga-rIE/strings.xml index 3ea04e700d..a6731f9516 100644 --- a/plugins/automation/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/automation/src/main/res/values-ga-rIE/strings.xml @@ -1,2 +1,21 @@ - + + Aláram: %1$s + Aláram: + Fionraí lúb do %1$d nóim + IOB %1$s %2$.1f + Agus + + Deilte + %1$s %2$s + CUIR + WiFi SSID %1$s %2$s + %3$s %1$s %2$s + Glúcóis [%1$s]: + COB + COB %1$s %2$.0f + IOB [U]: + Riamh + Gníomh: + + diff --git a/plugins/automation/src/main/res/values-hr-rHR/strings.xml b/plugins/automation/src/main/res/values-hr-rHR/strings.xml index 3eb8ae6bdb..b53d8401c8 100644 --- a/plugins/automation/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/automation/src/main/res/values-hr-rHR/strings.xml @@ -1,4 +1,14 @@ Delta + Jeste li sigurni da želite ukloniti %1$d stavke + Zaustavi obradu + + Po + Ut + Sr + Če + Pe + Su + Ne diff --git a/plugins/automation/src/main/res/values-hu-rHU/strings.xml b/plugins/automation/src/main/res/values-hu-rHU/strings.xml index 4de3641037..94fc994837 100644 --- a/plugins/automation/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/automation/src/main/res/values-hu-rHU/strings.xml @@ -1,4 +1,26 @@ Automatizálás + És + vagy + Vas + Szo + + Csü + Sze + Ke + + Átmeneti cél %1$s + WiFi SSID %1$s %2$s + Autosens %1$s %2$s %% + Autosens % + %3$s %1$s %2$s + Szélesség: + Hosszúság: + Minden + Soha + Feltétel: + Feladat neve + SZERK + diff --git a/plugins/automation/src/main/res/values-it-rIT/strings.xml b/plugins/automation/src/main/res/values-it-rIT/strings.xml index b2e9e11fd3..2bc4640c58 100644 --- a/plugins/automation/src/main/res/values-it-rIT/strings.xml +++ b/plugins/automation/src/main/res/values-it-rIT/strings.xml @@ -28,7 +28,6 @@ Invia SMS a tutti i numeri Invia SMS con testo Avvia temp-target - Stoppa temp-target è inferiore a è uguale o inferiore a è uguale a @@ -122,4 +121,12 @@ Aggiungi regola Rimuovi/ordina Interrompere l\'elaborazione + + L + M + M + G + V + S + D diff --git a/plugins/automation/src/main/res/values-iw-rIL/strings.xml b/plugins/automation/src/main/res/values-iw-rIL/strings.xml index ab004f04c2..417358c9c2 100644 --- a/plugins/automation/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/automation/src/main/res/values-iw-rIL/strings.xml @@ -28,7 +28,6 @@ שליחת מסרונים לכל המספרים שליחת מסרון עם טקסט הפעלת ערך מטרה זמני - הפסקת ערך מטרה זמני פחות מ- שווה או פחות מ- שווה ל- @@ -122,4 +121,12 @@ הוספת כלל הסרה\\סידור עצור עיבוד + + ב\' + ג\' + ד\' + ה\' + ו\' + ש\' + א\' diff --git a/plugins/automation/src/main/res/values-ko-rKR/strings.xml b/plugins/automation/src/main/res/values-ko-rKR/strings.xml index c15c618705..b1c8085d97 100644 --- a/plugins/automation/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/automation/src/main/res/values-ko-rKR/strings.xml @@ -28,7 +28,6 @@ 모든 번호에 SMS 전송 문자 포함된 SMS 보내기 임시 목표 시작 - 임시 목표 중지 보다 적은 같거나 작은 같은 @@ -105,4 +104,12 @@ 전제 조건: 자동화 이벤트 정렬 + + + + + + + + diff --git a/plugins/automation/src/main/res/values-lt-rLT/strings.xml b/plugins/automation/src/main/res/values-lt-rLT/strings.xml index a0fbc573ca..a7795aa1d4 100644 --- a/plugins/automation/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/automation/src/main/res/values-lt-rLT/strings.xml @@ -28,7 +28,6 @@ Siųsti SMS į visus numerius Išsiųsti SMS žinutę su tekstu Nustatykite laikiną tikslą - Sustabdykite laikiną tikslą mažesnis nei lygus arba mažesnis nei yra lygus @@ -112,4 +111,12 @@ Pertvarkyti Vartotojo veiksmas Rūšiuoti + + P + A + T + K + Pn + Š + S diff --git a/plugins/automation/src/main/res/values-nl-rNL/strings.xml b/plugins/automation/src/main/res/values-nl-rNL/strings.xml index a150d01cfa..161c9e9212 100644 --- a/plugins/automation/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/automation/src/main/res/values-nl-rNL/strings.xml @@ -28,7 +28,6 @@ SMS verzenden naar alle nummers Stuur SMS met tekst Start tijdelijk doel - Stop tijdelijk doel is minder dan is gelijk aan of minder dan is gelijk aan @@ -122,4 +121,12 @@ Regel toevoegen Verwijderen/sorteren Stop met verwerken + + M + T + W + T + F + S + S diff --git a/plugins/automation/src/main/res/values-no-rNO/strings.xml b/plugins/automation/src/main/res/values-no-rNO/strings.xml index bd830ea4e0..0add6a69b9 100644 --- a/plugins/automation/src/main/res/values-no-rNO/strings.xml +++ b/plugins/automation/src/main/res/values-no-rNO/strings.xml @@ -28,7 +28,6 @@ Send SMS til alle numre Send SMS med tekst Start temp target - Avbryt temp target er mindre enn er lik eller mindre enn er lik som @@ -122,4 +121,12 @@ Legg til regel Fjern/sorter Stopp prosessering + + M + T + O + T + F + L + S diff --git a/plugins/automation/src/main/res/values-pl-rPL/strings.xml b/plugins/automation/src/main/res/values-pl-rPL/strings.xml index 9c598ccefb..b7f0fc923c 100644 --- a/plugins/automation/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/automation/src/main/res/values-pl-rPL/strings.xml @@ -28,7 +28,6 @@ Wyślij SMS do wszystkich numerów Wyślij SMS z tekstem Rozpocznij cel tymczasowy - Zatrzymaj cel tymczasowy jest mniejsze niż jest mniejsze lub równe jest równe @@ -111,4 +110,19 @@ Zdarzenie automatyzacji Zmień kolejność Akcja użytkownika + Usuń automatyzację + Sortuj automatyzację + Usuń wybrane pozycje + Wybrany %1$d + Czy na pewno chcesz usunąć %1$d pozycji + Sortuj + Automatyzacja systemowa + + P + W + Ś + C + P + S + N diff --git a/plugins/automation/src/main/res/values-pt-rBR/strings.xml b/plugins/automation/src/main/res/values-pt-rBR/strings.xml index cf0481127c..bcc606048c 100644 --- a/plugins/automation/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/automation/src/main/res/values-pt-rBR/strings.xml @@ -6,6 +6,8 @@ Insira um nome da tarefa. Especifique pelo menos um gatilho. Especifique pelo menos uma acção. + Alarme: %1$s + Alarme: Mnsg: Já activado Já desativado @@ -26,7 +28,6 @@ Enviar SMS para todos os números Enviar SMS com texto Iniciar Alvo Temp - Parar Alvo Temp é menor que é igual ou menor que é igual a @@ -36,6 +37,9 @@ Glicose não está disponível Glicose %1$s %2$.0f %3$s Glicose %1$s %2$.1f %3$s + Alvo Temporário não existe + Alvo Temporário %1$s %2$.0f %3$s + Alvo Temporário %1$s %2$.1f %3$s Percentagem Perfil %1$s %2$d IOB %1$s %2$.1f E @@ -84,8 +88,10 @@ Lat.: Long.: Glicose [%1$s]: + Alvo [%1$s]: Último bolus atrás Última vez do bolus %1$s %2$s atrás + CA COB %1$s %2$.0f IOB [U]: Dist [m]: @@ -98,10 +104,29 @@ EDITAR Escolha um tipo de ação Escolha um tipo de gatilho + Escolha um tipo de ação Gatilhos: Precondições: Evento de automação Reordenar + Ação do usuário + Remover Automação + Classificar automação + Remover itens selecionados + Selecionado %1$d + Tem certeza que deseja remover %1$d itens + Ordenar + Automação do Sistema + Executar automações Adicionar regra Remover/ordenar + Parar processamento + + 2a + 3a + 4a + 5a + 6a + Sáb + Dom diff --git a/plugins/automation/src/main/res/values-pt-rPT/strings.xml b/plugins/automation/src/main/res/values-pt-rPT/strings.xml index 5cf3f8b877..c9aeb9fe9b 100644 --- a/plugins/automation/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/automation/src/main/res/values-pt-rPT/strings.xml @@ -28,7 +28,6 @@ Enviar SMS para todos os números Enviar SMS com texto Iniciar Alvo Temp - Parar Alvo Temp é menor que é igual ou menor que é igual a @@ -111,4 +110,12 @@ Evento de automatização Reordenar Ação do utilizador + + S + T + Qa + Qi + Se + Sa + D diff --git a/plugins/automation/src/main/res/values-ro-rRO/strings.xml b/plugins/automation/src/main/res/values-ro-rRO/strings.xml index dd911275a0..491193847b 100644 --- a/plugins/automation/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/automation/src/main/res/values-ro-rRO/strings.xml @@ -28,7 +28,6 @@ Trimite SMS către toate numerele Trimite SMS cu text Pornește o țintă temporară - Oprește o țintă temporară este mai mică decât este mai mică sau egală cu este egală cu @@ -111,4 +110,16 @@ Eveniment automatizare Reordonează Acțiunea utilizatorului + Elimină automatizarea + Sortează automatizarea + Sigur vrei să elimini %1$d element(e) + Sortează + + L + Ma + Mi + J + V + S + D diff --git a/plugins/automation/src/main/res/values-ru-rRU/strings.xml b/plugins/automation/src/main/res/values-ru-rRU/strings.xml index 342b7aa8f5..84813ced01 100644 --- a/plugins/automation/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/automation/src/main/res/values-ru-rRU/strings.xml @@ -28,7 +28,6 @@ Отправить SMS на все номера Отправить SMS с текстом Начать врем цель - Остановить врем цель меньше чем равно или меньше чем равно @@ -122,4 +121,12 @@ Добавить правило Удаление/сортировка Остановить обработку + + Пн + Вт + Ср + Чт + Пт + Сб + Вс diff --git a/plugins/automation/src/main/res/values-sk-rSK/strings.xml b/plugins/automation/src/main/res/values-sk-rSK/strings.xml index 5a89f06b8f..d3e11ca719 100644 --- a/plugins/automation/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/automation/src/main/res/values-sk-rSK/strings.xml @@ -28,7 +28,6 @@ Poslať SMS na všetky čísla Odoslať SMS s textom Začiatok dočasného cieľa - Koniec dočasného cieľa je menšia ako je rovnaká, alebo menšia ako je rovnaká @@ -122,4 +121,12 @@ Pridať pravidlo Odstrániť/zoradiť Zastaviť spracovanie + + Po + Ut + St + Št + Pi + So + Ne diff --git a/plugins/automation/src/main/res/values-sr-rCS/strings.xml b/plugins/automation/src/main/res/values-sr-rCS/strings.xml index 3eb8ae6bdb..e6bafe046d 100644 --- a/plugins/automation/src/main/res/values-sr-rCS/strings.xml +++ b/plugins/automation/src/main/res/values-sr-rCS/strings.xml @@ -1,4 +1,5 @@ Delta + diff --git a/plugins/automation/src/main/res/values-sv-rSE/strings.xml b/plugins/automation/src/main/res/values-sv-rSE/strings.xml index 3730b6d23b..5c10607e7c 100644 --- a/plugins/automation/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/automation/src/main/res/values-sv-rSE/strings.xml @@ -28,7 +28,6 @@ Skicka SMS till alla nummer Skicka SMS med text Starta temp mål - Avbryt temp mål är mindre än är samma eller mindre än är lika med @@ -111,4 +110,12 @@ Automationshändelse Ändra ordning Användaråtgärd + + M + T + O + T + F + L + S diff --git a/plugins/automation/src/main/res/values-tr-rTR/strings.xml b/plugins/automation/src/main/res/values-tr-rTR/strings.xml index 44f3e1f881..06c4ec4bae 100644 --- a/plugins/automation/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/automation/src/main/res/values-tr-rTR/strings.xml @@ -28,7 +28,6 @@ Tüm numaralara SMS gönder Metin ile SMS gönder Geçici hedefi başlat - Geçici hedefi durdur küçükse eşit veya küçükse eşitse @@ -122,4 +121,12 @@ Kural ekle Kaldır/sırala İşlemeyi durdur + + Pzt + Sal + Çar + Per + Cum + Cmt + Paz diff --git a/plugins/automation/src/main/res/values-zh-rCN/strings.xml b/plugins/automation/src/main/res/values-zh-rCN/strings.xml index cf7bd2dcc9..77a4ffa300 100644 --- a/plugins/automation/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/automation/src/main/res/values-zh-rCN/strings.xml @@ -28,7 +28,6 @@ 将 SMS 发送到所有号码 使用文本发送 SMS 启动临时目标 - 停止临时目标 小于 等于或小于 等于 @@ -121,4 +120,12 @@ 运行自动化 添加规则 移除/排序 + + 周一 + 周二 + 周三 + 周四 + 周五 + 周六 + 周日 diff --git a/plugins/main/src/main/res/values-af-rZA/exam.xml b/plugins/main/src/main/res/values-af-rZA/exam.xml new file mode 100644 index 0000000000..34e814725d --- /dev/null +++ b/plugins/main/src/main/res/values-af-rZA/exam.xml @@ -0,0 +1,21 @@ + + + Wat is waar oor DIA? + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Watter profiel kan gebruik en ingestel word van lyn af? + Onderwerp: Aflyn Profiel + NS-Profiel kan gebruik word, maar nie ingestel. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Wat moet gedoen word wanneer pomp ontkoppel word? + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Wat moet gedoen word as CGM data raserig is? + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + \'n Google-rekening. + \'n Github rekening. + \'n Slimhorlosie. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + diff --git a/plugins/main/src/main/res/values-af-rZA/objectives.xml b/plugins/main/src/main/res/values-af-rZA/objectives.xml new file mode 100644 index 0000000000..8bdb5dce36 --- /dev/null +++ b/plugins/main/src/main/res/values-af-rZA/objectives.xml @@ -0,0 +1,49 @@ + + + Begin + Verifieer + %1$d. Doelwit + Doel %1$d nie begin + Objektief %1$d nie klaar + Opstel van visualisering en monitering, en ontleed basale en verhoudings + Bevestig dat BG is beskikbaar in Nightscout, en insulien pomp data is opgelaai + Begin op\'n oop lus + Loop in oop lus modus vir \'n paar dae en boots met hand met baie tydelike basale. Stel tydelike gebruik en verstek tydelike teikens (bv. vir aktiwiteit of hipo behandeling koolhidrate) + Verstaan jou oop lus, insluitend sy tydelike basale aanbevelings + Gebaseer op daardie ervaring, besluit watter maks basale moet gebruik word, en stel dit op die pomp en voorkeure + Begin toe die lus met lae glukose opgeskort + Loop in geslote lus met max IAB = 0 vir \'n paar dae sonder te veel LGS gebeure + Verstel die geslote lus, verhoog maks IAB bo 0 en geleidelik verlaag BG doelwitte + Lus vir \'n paar dae, en ten minste een nag met geen lae BG alarms, voor BG val + Pas basale en verhoudings aan as nodig, en dan aktiveer auto-sens + 1 week suksesvolle dagtyd lus met gereelde karb toevoegings + Skakel bykomende nutsfunskies aan vir bedags gebruik, soos bv. SMB + Jy moet asb die wiki lees en verhoog maksIAB om SMBs te laat werk! \'n Goeie begin is maksIAB = gemiddelde ete bolus + 3 x maks daaglikse basale + BG beskikbaar in NS + Pompstatus beskikbaar in NS + Per hand aksies + Bereik: %1$s + Stel profiel 90% vir 10 min (Lang-pers profiel naam op Oorsig) + Simuleer stort. Ontkoppel pomp vir 1h (Lang-pers op\'n Oop Lus) + ... en weer terug in die dieselfde manier + Skep\'n persoonlike tydelike teiken met 10 min duur (Lang-pers op jou huidige teiken) + In die konfig Bouer aktiveer Aksies plugin, maak dit sigbaar en vertoon die inhoud van die top menu + Vertoon die inhoud van die Lus plugin + Gebruik skaal funksie deur\'n lang druk op BG grafiek + Enter + Kode aanvaar + Kode ongeldig + Bewys jou kennis + Beantwoording opgeskort tot: %1$s + Verkeerde antwoord! + Volgende onvoltooide + Versoek kode: %1$s + (kyk al die korrekte antwoorde) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Nie aan internet gekoppel nie + Misluk haal tyd + Objektiewe vereistes nie nagekom nie + diff --git a/plugins/main/src/main/res/values-af-rZA/strings.xml b/plugins/main/src/main/res/values-af-rZA/strings.xml index 884d011ad5..d141e765ec 100644 --- a/plugins/main/src/main/res/values-af-rZA/strings.xml +++ b/plugins/main/src/main/res/values-af-rZA/strings.xml @@ -3,79 +3,110 @@ SMS Communicator SMS - Toegelate telefoon nommers +XXXXXXXXXX;+YYYYYYYYYY - Om kalibrasie %1$.2f te stuur antwoord met kode %2$s - Bolus het misluk - Laat afstandbeheerde bevele toe via SMS - Loop is gedeaktiveer - Loop is geaktiveerd - Lus geaktiveer - Afstandbeheerde bevel word nie toegelaat nie - Afstandbeheerde bolus nie beskikbaar nie. Probeer later weer. - Om profiel te verander na %1$s %2$d%% antwoord met %3$s - Om basal e %1$d%% vir %2$d min te begin kies %3$s - Om lus op te skort vir %1$d minute antwoord met kode %2$s - Temp basale %1$.2fU/h vir %2$d min suksesvol geaktiveerd - Verlengde bolus %1$.2fU vir %2$d min is begin - Tydelike basale %1$d%% vir %2$d min hardloop - Tydelike basale aktivering het gefaal - Verlengde bolus het misluk - Stop tydelike basale antwoord met kode %1$s - Stop tydelike basale antwoord met kode %1$s - Tydelike basale gekanselleer - Verlengde bolus gekanselleer - Kansellassie van tydelike basale het gefaal - Kansellasie van verlengde bolus het misluk - Onbekende opdrag of verkeerde opsie - Verkeerde duur - Lus opgeskort - Lus hervat - Ongeldige SMS selfoon nommer - Ongeldig boodskap teks Delta: - IAB: Bolus: - Basale: - DIA - Insulien voorkeure vir Humalog en NovoRapid / NovoLog - Insulien voorkeure vir Fiasp - Laat jou toe om die piek van die insulien aktiwiteit definieer en behoort slegs gebruik te word deur gevorderde gebruikers INS - IAB kurwe piek tyd - Piek tyd [min] - Vry-piek Oref - Snelaksie Oref - DIA van %1$f is te kort - %2$f in stede gebruik! - - Wys informasie van jou loop op jou xDrip+ horlosie-gesig. + - Vertoon kos-voorafinstellings soos omskryf in Nightscout - Kos - kJ - En - Pr - Vet - Kategorie - Subkategorie LP - Definieer\'n profiel wat beskikbaar is aflyn. - Eenhede: BAS - ou weergawe - baie ou weergawe - Nog nie voltooi nie - Tydsverloop + Voltooi, baie mooi gedoen! + Maksimum IAB behoorlik gestel + BG beskikbaar vanaf geselekteerde bron + Lus geaktiveer + APS gekies + Geslote modus geaktiveer + OBJ + Onderrig program + + \'n Paar knoppies vir vinnige algemene nutsfunskies + ACT + Verlengde bolus afleweringsfout + + Verlengde bolus is beperk tot %1$.1f U as gevolg van %2$s + Beperk koolhidrate tot %1$d g agv %2$s + Beperk IAB tot %1$.1f U agv %2$s + Pomp is nie tydelike basale bekwame + Geslote lus modus in voorkeure gedeaktiveer + UAM versper omdat dit staatmaak op Oref1 sensitiwiteit plugin + Veranderende ontwikkelende weergawe. Geslote lus is gedeaktiveerd. + SMB is altyd na koolhidrate versper omdat aktiewe BG bron nie gevorderde filter ondersteun nie + SMB nie toegelaat in open lus modus + maks waarde in voorkeure + harde limiet + Behandelings veiligheid + Kind + Tiener + Volwassene + Insulien weerstandige volwasse + Maks toelaatbare Bolus [U] + Maks Toelaatbare karbs [g] + Sluimer + Wys status vlae op tuisskerm + Drempel waarskuwings stoor vlak [U] + Drempel kritieke stoor vlak [U] + APS modus + Aanvaar nuwe tydelike basale: + CGM + SlimNutsman + + Herbegin + Lewer nou + Vee tou uit + Wys tou + Tou: + Status: + + JouTidepool login gebruiker, normaallweg \'n email adres + Login Gebruiker Naam + Jou Tidepool login kode + Login wagwoord + Toets Tidepool Login + As ge-aktiveer sal data oplaai na https://int-app.tidepool.org instede van die gewone https://app.tidepool.org/ + Gebruik Integrasie (toets) bedieners + Tidepool + TDP + Laai data op na Tidepool + Laai CGM data op + Laai behandelings op (insulien, karbs) + Laai tydelike basale op + Laai profiel veranderings, tydelike teikens op + Laai BG toetse op + + Pomp integrasie vir pompe wat nog nie enige drywer het nie (oop lus) + Virtuele pomp instellings + Oplaaistatus aan NS + + Laai BG data af vanaf Nightscout + Eversense App (bygewerk) + Ontvang BG waardes uit die gelapte Eversense toep. + Ontvang BG waardes vanaf Glimp. + Onvang BG waardes vanaf die 600SeriesAndroidUploader. + Poctech + Ontvang BG waardes van Poctech toepassing + Tomato (MiaoMiao) + Tomato + Ontvang BG waardes vanaf Tomato toep (MiaoMiao toestel) + BG oplaai instellings + + WiFi SSID + Skep aankondigings vanaf foute + Skep Nightscout aankondiging vir foutdialoë en plaaslike waarskuwings (ook vertoonbaar in Careportal onder behandelings) + Sinkroniseer jou data met Nightscout + OAPS + UPLD + diff --git a/plugins/main/src/main/res/values-bg-rBG/exam.xml b/plugins/main/src/main/res/values-bg-rBG/exam.xml new file mode 100644 index 0000000000..357f888dc1 --- /dev/null +++ b/plugins/main/src/main/res/values-bg-rBG/exam.xml @@ -0,0 +1,52 @@ + + + Какво е вярно за DIA? + Продължителност на действие на инсулина (DIA) + Трябва да зададете стойността за DIA в профила си. + Минималната стойност е 5 часа. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Вие трябва сами за себе си да установите правилната стойност за DIA. + Хипо врменна цел + Каква е основната причина за задаване на хипо временна цел? + За да коригирате хипо предизвикано от грешни базални настройки. + За да коригирате хипо предизвикано от физическа дейност. + За да предотвратите понижаване на КЗ ако вече е активен 0% временен базал. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Кой профил може да бъде използван и конфигуриран без интернет? + Тема: Offline профил + NS профил може да бъде използван, но не и да бъде конфигуриран. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Какво трябва да се направи когато се разкача помпата? + Това не е нужно, инсулин няма да бъде доставен, тъй като помпата е физически разкачена. + Доставянето на инсулин няма да спре докато помпата е свързана. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Отбележете всички правилни отговори. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Fiasp® + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Отбележете всички правилни отговори. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Съотношение на инсулин към въглехидрати (I:C) + По-високите стойности на I:C водят до по-малко инсулин доставени за дадено количество въглехидрати. + По-ниските стойности на I:C водят до повече инсулин доставен за дадено количество въглехидрати. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + ISF и I:C ще останат непроменени. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + diff --git a/plugins/main/src/main/res/values-bg-rBG/objectives.xml b/plugins/main/src/main/res/values-bg-rBG/objectives.xml new file mode 100644 index 0000000000..ac3df54c65 --- /dev/null +++ b/plugins/main/src/main/res/values-bg-rBG/objectives.xml @@ -0,0 +1,53 @@ + + + Старт + Потвърждаване + Цел %1$d + Цел %1$d не е стартирана + Цел %1$d не е завършена + Настройка на визуализацията и наблюдението, а също и анализиране на базалните нужди и коефициенти + Потвърждаване, че КЗ се вижда в Найтскаут и данните за помпата се качват там + Стартиране в режим Отворен кръг (Open loop) + Работа в режим \"Отворен кръг\" за няколко дни и ръчно въвеждане на много временни базали. Настройте и използвайте временни и стандартни временни цели (напр. за активни въглехидрати или такива при хипо) + Опитайте се да разбирате по-добре вашият APS в режим \"Отворен кръг\", включително препоръчваните временни базали + Определяне на макс. лимит на базалния инсулин и настройване в помпата и програмата + Стартиране на \"Затворен кръг\" с изключване на базал при ниска КЗ + Стартиране на \"Затворен кръг\" с макс. IOB=0 без твърде много събития тип ниска КЗ + Настройване на \"Затворен кръг\" чрез повишаване на максималният IOB над 0 и понижаване на целевите нива на КЗ + Прекарайте няколко дни по този начин, като поне една нощ нямате аларма за ниска КЗ + Настройване на базалния инсулин и коефициенти ако е необходимо и активиране на auto-sens + Една седмица успешно дневно използване с редовно въвеждане на въглехидрати + Добавяне на допълнителни функции за използване през деня, като SMB + Разрешаване на автоматизация + Трябва да прочетете wiki и увеличите maxIOB за да може SMB да работи добре! Добро начало е maxIOB = средния болус за хранене + 3 пъти най-големия базал от профила + Прочетете документацията как работи автоматизацията. Настройте първите си прости правила. Нека AAPS показва само известия. Когато сте сигурни, автоматизацията се задейства в точното време, за да заменете известяването с реални действия. (https: //androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + КЗ да се вижда в NS + Статуса на помпата да е достъпен в NS + Ръчно приложени + Изпълнено: %1$s + Настройте профила на 90% за 10 минути (задръжте върху името на профила в таб Общ) + Симулирайте душ. Изключете помпата за 1 час (задръжте върху Отворен кръг) + ... и отново я свържете по същия начин + Създаване на различна временна цел с продължителност 10 мин. (задръжте върху сегашната си цел) + В Конфигурация включете плъгин Действия и го направете видим, след което го изберете от списъка с табове. + Отворете съдържанието на Цикъл плъгина. + Използвайте функцията за удължаване на периода на графиката, като задържите върху нея. + Въведи + Ако имате поне 3 месеца опит с други затворени системи, може да получите код за пропускане на целите. Прочетете https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives за получаване на подробна информация. + Код приет! + Неправилен код + Докажете знанията си + Четете внимателно въпросите.  Имате четири възможни отговора за всеки въпрос. Може да има повече от един правилен отговор. Моля, изберете всички, които са правилни, и натиснете VERIFY. + Изключено до: %1$s + Грешен отговор! + Следващия неотговорен + Код (request code): %1$s + (отбележете всички правилни отговори) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Няма връзка с Интернет! + Не може да се вземе времето + Задачите не са изпълнени + diff --git a/plugins/main/src/main/res/values-bg-rBG/strings.xml b/plugins/main/src/main/res/values-bg-rBG/strings.xml index 2e4e52d8d5..735bd3305b 100644 --- a/plugins/main/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/main/src/main/res/values-bg-rBG/strings.xml @@ -1,166 +1,173 @@ - SMS комуникатор SMS - от приложението AUTHENTICATOR за: %1$s , последвано от PIN - Допълнителен PIN в края на токен - Допълнителни цифри, които следва да бъдат залепени в края на всяка генерирана еднократна парола - Настройка на удостоверителя - Код за проверка: OTP + PIN - Кодът за проверката се състои от 6 цифри, от приложението за аудиентикация (известно като OTP), следвани от 3 или повече цифри на задължителния PIN. - Нулиране на удостоверители - Нулиране на ключва - Сигурни ли сте, че ще анулирате ключа на Authenticator? Той ще направи всички конфигурирани в момента аудиентикатори невалидни, и вие ще трябва да ги настроите отново. - Генериран е нов ключ! Моля, използвайте актуализирания QRCode. - Експортиране на OTP парола - Сигурни ли сте, че искате да копирате OTP паролата в клипборда?\n\nВие може да се нуждаете само от това, ако вашето приложение за автентичност има проблеми със сканирането на QRCode, искате да го въведете ръчно или искате да конфигурирате хардуерен OTP токен чрез специално приложение. - OTP парола (във Base32 формат) е експортирана и копирана в клипборда. Поставете го в автентикатор или хардуерен OTP! - 1. Инсталиране на удостоверител - 3. Тест на еднократна парола - Нулиране на удостоверители - На всеки следящ телефона инсталирайте приложение Аутентификатор, който поддържа RFC 6238 ТОТР токени. Популярни безплатни приложения:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Грешен код. Командата не е изпълнена. - Изтичане на времето на предишна комуникация с помпата - Потребител - Разрешени телефонни номера +XXXXXXXXXX;+YYYYYYYYYY - За да доставите болус от %1$.2fЕ отговорете с код %2$s - За да стартирате болус от %1$.2fЕ отговорете с код %2$s - Зa zадаване на временна цел %1$s отговорете с код %2$s - За да спрете временната цел отговорете с код %1$s - За да изключите услугата за отдалечен SMS контрол отговорете с код %1$s.\n\nИмайте предвид, че можете да го активирате само от AAPS смартфона. - Отдалечен SMS контрол е изключен. Можете да го включите от AndroidAPS телефона. - За да изпратите калибрация %1$.2f отговорете с код %2$s - Болус отказан - Минимално време в минути, което трябва да е изминало след отдалечен болус, преди да може да бъде доставен следващият - Колко най-малко минути трябва да минат между доставката на два болуса - За вашата сигурност, променете тази настройка, трябва да добавите най-малко 2 телефонни номера. - Болус от %1$.2fЕ доставен успешно - Болус от %1$.2fЕ доставен успешно - Временна цел от %1$s за %2$d минути - Временна цел от %1$s за %2$d минути стартирана успешно - Временна цел успешно спряна - Позволи отдалечени команди чрез SMS - APS е деактивиран - APS е активиран - APS е включен - За свързване с помпа отговорете с код %1$s - Връзката с помпата е неуспешна - За да спрете помпата за %1$d минути отговорете с код %2$s - Помпата е разкачена - Връзката с помпа е възстановена - Отдалеченото управление е забранено - Отдалечено стартиране на болус не е възможно. Опитайте отново по-късно. - За да стартирате базал от %1$.2fЕ/ч за %2$d мин отговорете с код %3$s - За да превключите профила към %1$s %2$d%% отговорете с код %3$s - За да започнете удължен болус %1$.2fЕ за %2$d мин отговорете с код %3$s - За да въведете %1$dг в %2$s отговорете с код %3$s - За да стартирате базал от %1$d%%Е/ч за %2$d мин отговорете с код %3$s - За да спрете APS за %1$d минути отговорете с код %2$s - За възстановяване на кръга отговорете с код %1$s - За активирнае на кръга отговорете с код %1$s - За изключване на кръга отговорете с код %1$s - Временен базал от %1$.2fЕ/ч за %2$d мин стартиран успешно - Удължен болус %1$.2fU за %2$d мин стартиран успешно - Въглехидрати %1$dг въведени - Въвеждане на%1$dг въглехидрати - НЕУСПЕШНО - Временен базал от %1$d%%Е/ч за %2$d мин стартиран успешно - Неуспешно стартиране на временен базал - Неуспешно стартиране на удължен болус - За да спрете времен базал отговорете с код %1$s - За да спрете удължения болус отговорете с код %1$s - Временният базал е отменен - Удължен болус спрян - Спирането на временния базал е неуспешно - Неуспешно спиране на удължен болус - Непозната команда или грешен отговор - В момента се обработва друг болус. Моля опитай по-късни. - Грешна продължителност - APS забранен - APS възобновен - Грешен тел номер за SMS - Калибрацията е изпратена. Получаването трябва да бъде разрешено в xDrip +. - xDrip+ не получава калибрации - Невалиден текст на съобщение - Изпращане на SMS, ако помпата е недостъпна - Докладвай недостъпна помпа - Грешен формат - КЗ: - Последна КЗ: - Изменение (делта): IOB: - Болус: - Базал: - преди %1$d мин - Изключен (%1$d мин) - Четенето на статуса се провали - Създаден запис - Промяна на профил - Продължителността на временния база; трябва да бъде кратна на %1$d минути и по-голяма от 0. - DIA Lyumjev - Действие на инсулините Humalog и NovoRapid / NovoLog - Действие на инсулин Fiasp - Действие на инсулин Lyumjev - Позволява да зададете сами пика на инсулиновата активност (не използвайте, ако сте нови потребители) - ИНС - Пик на кривата на IOB - Време на пик [мин.] - Връх - Със свободен пик по Oref - Бързодействащ по Oref - DIA от %1$f е твърде кратка - използвай %2$f вместо това! - - Покажи информация за вашия APS на xDrip + циферблат на часовник. + - Показва въведените в Nightscout храни - Филтър - Храна - килодж. - Ен - Бел. - Маз. - Категория - Подкатегория - ЛПр - Този тип профил е достъпен в офлайн режим. - Единици: - Липсва име на профила - Грешка в стойността на ВЧ (IC) - Грешка в базалните стойности - Грешка в стойностите за цел - Грешка в стойностите за чувствителност (ISF) - Невалиден профил %1$s не приет от NS - Изглед - Грешки - Име на профила: - изтриване на текущия профил DIA - И / Въгл - Чувств - Цел - БАЗА - Рекалкулирани използвани данни - КЗ близо до:\n%1$s\n%2$s - Смяна на времето след по-малко от 24ч - Смяна на времето след по-малко от 3 часа - минавам в отворен режим - стара версия - много стара версия - Прилагането изтече - Има нова версия от най-малко %1$d дни! Ще спре подаването на инсулин след %2$d дни, цикълът ще бъде изключен след %3$d дни - Все още не сме неприключили - Изминало време + Приключихме, Браво! + Максимален IOB е зададен правилно + Има данни за КЗ от избрания източник + APS разрешен + Избран APS + APS - Затворен кръг е позволен + Цел + Разучаване на програмата + Искате ли да нулирате прогреса си? + Изчисти приключение + Изчисти стартираните + + Бутони за бърз достъп до основни функции + ДЕЙСТВ + Инструменти + Канюла + Използване на удължен болус ще спре режим затворен цикъл за времето на болуса. Сигурни ли сте? + Грешка при доставяне на удължен болус + + Ограничение на удължен болус до %1$.1f Е поради %2$s + Ограничаване на въглехидрати до %1$d гр. поради %2$s + Ограничаване на IOB до %1$.1f Е поради %2$s + Помпата не поддържа временен базал + Затворения кръг е забранен в настройките + UAM изключен, защото му трябва Oref1 плъгин за чувствителност + Използвате dev версия. Затворения кръг е недостъпен за Вас. + Затворен цикъл е недостъпен поради стартиран Удължен болус + SMB \"винаги включен\" и \"след въглехидрати\" е забранен, защото е активен източник на КЗ, който не поддържа необходимата филтрация + SMB не е позволен в режим Отворен кръг + макс. стойност в настройките + твърд лимит + Настройки на сигурността + Моля, изберете тип на пациента за настройка на границите за безопастност + Дете + Тийнейджър + Възрастен + Възрастни с голяма инсулинова резистентност + Бременност + Максимален инсулин при болус [единици] + Максимални въглехидрати [гр] + Тип пациент + Отложи + Покажи статус светлини на началния екран + Праг за инсулинова възраст [часа] + Праг за критична инсулинова възраст [часа] + Праг за възраст на сензор [часа] + Праг за критична възраст на сензор [часа] + Аларма при заряд на батерия под [%] + Критично ниво на сензорната батерия под [%] + Висока възраст на батерия над [часа] + Критична възраст на батерията над [часа] + Ниво за аларма за останал инсулин в резервоара [Е] + Предупреждение за критично ниво на останал инсулин в резервоар [Е] + Нисък заряд на батерия под [%] + Критично ниво на батерията под [%] + Индикатори + Копиране на настройки от NS + графика + инсулин + Меню на графиката + APS режим + Приложи нов временен базал: + CGM + Бърз болус + + Рестарт + Изпрати сега + Изчисти опашка + Покажи опашка + Опашка: + Статус: + Пълна синхронизация + Пълна синхронизация? Може да отнеме много часове и докато не приключи вие няма да виждате нови данни в NS. + Синхронизация + Профили, болуси, въглехидрати, и временни базали се изпращат към NS + Изпратете данните към NS + Синхорнизирай профили от NS профилния едитор + Получаване на временни цели + Приеми временни цели зададени през NS или NS клиент + Получаване на смяна на профили + Приеми смяна на профили от NS или NS клиент + Приеми изключване на APS + Приеми изключвания на APS през NS или NS Клиент + Получавай инсулин + Приеми инсулин зададен през NS или NS Клиент (не се инжектира, само се калкулира във формулата за IOB) + Приемай въглехидрати + Приемай въглехидрати зададени през NS или NS Клиент + Приемай смени (канула, инсулин, батерия и др.) + Приемай смени (канула, инсулин, батерия и др.) зададени от NS или NS Клиент + Приеми история от данни от сензора + Приемай постояни данни от сензора идващи от NS + Пусни %s? + Забавени качвания на данни + Известяване при NS аларми + Създаване на известия от NS съобщения + + Потребителското Ви име за Tidepool, обикновено е Вашия имейл + Потребителско име + Tidepool парола + Парола + Тест на Tidepool + Когато е активирано, данните ще отиват към https://int-app.tidepool.org вместо към стандартния адрес https://app.tidepool.org/ + Използвай тестовите сървъри + Tidepool + TDP + Качване на данни в Tidepool + Качвай данни за КЗ + Качвай лечения (инсулин, въглехидрати) + Качвай временни базали + Качвай смени на профил и временни цели + Качвай ръчните измервания на КЗ + Качи сега + + За помпи, който все още не работят с AndroidAPS(Open Loop) + Настойки Виртуална Помпа + Качва статуса в NS + + Изтегля стойности на КЗ от Nightscout + xDrip+ + Получаване на данни за КЗ от xDrip+. + BYODA + BYODA + Eversense приложение(модифицирано) + Получава данни за КЗ от модифицираното приложение на Eversense. + Получава данни за КЗ от Glimp. + Получават стойности на КЗ от 600SeriesAndroidUploader. + Poctech + Получавай данни за КЗ от Poctech апликацията. + Глуново + Получавай данните от Glunowo апликацията + Tomato(MяоМяо) + Tomato + Получавай КЗ от Tomato апликация (устройство МяоМяо) + Настройки при качване на КЗ към Nightscout + + WiFi име + Създаване на известие при грешки + Създаване на известия при предупреждения за необходими въглехидрати + Създаване на Nightscout известие при грешки и локални аларми (също видими в Careportal - Treatments) + Създаване на Nightscout известия при предупреждения за необходими въглехидрати + Синхронизира локалните данни с Nightscout + OAPS + КАЧВ + + Оригинален изглед + Скин за ниска резолюция + Бутоните винаги се показват на дъното на екрана. + Голям екран + Тема diff --git a/plugins/main/src/main/res/values-ca-rES/exam.xml b/plugins/main/src/main/res/values-ca-rES/exam.xml new file mode 100644 index 0000000000..89a22b4a08 --- /dev/null +++ b/plugins/main/src/main/res/values-ca-rES/exam.xml @@ -0,0 +1,187 @@ + + + Què és cert sobre la DIA (Durada de l\'Acció de la Insulina)? + Durada de l\'Acció de la Insulina (DIA) + Heu de configurar el valor de la DIA al vostre perfil. + El mínim permès son 5 hores. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Si esteu satisfets amb el valor de la DIA que fèieu servir a la bomba abans d\'utilitzar AndroidAPS, no cal canviar-la quan comenceu amb el llaç. + Heu de determinar vosaltres mateixos el valor apropiat per la DIA. + Objectiu temporal hipo + Quin seria el motiu principal per fixar un objectiu temporal hipo? + Corregir hipos causades per configuracions incorrectes de la ràtio basal. + Corregir una hipo provocada per fer esport. + Evitar que la glucèmia baixi més del compte quan ja hi ha una basal temporal activa del 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Quin perfil pot ser utilitzat i configurat sense connexió a Internet? + Tema: Perfil fora de línia + El perfil NS es pot fer servir, però no configurar. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Què cal fer al desconnectar la bomba? + No cal fer res, ja que a l\'estar la bomba físicament desconnectada, no es lliurarà insulina. + Si la bomba continua connectada, no deixarà de lliurar insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Configuració AAPS + Configuració AAPS + Quines son les bones pràctiques respecte a fer còpia de seguretat de la configuració? + No cal exportar la configuració si la teniu anotada a algun lloc. + Exporteu la configuració cada vegada que completeu un objectiu. + Exporteu la configuració cada vegada que canvieu algun paràmetre. + Exporteu la configuració un cop feta la configuració inicial i haver establert les vostres preferències. + Exporteu la configuració localment des del menú de manteniment. + El fitxer de configuració es troba a la carpeta Internal Storage/AAPS/preferences del vostre telèfon. + Copieu el fitxer de configuració a una ubicació segura fora del telèfon (p.ex. al núvol, connectant un cable a un ordinador, correu electrònic, etc.) + Si el vostre telèfon està avariat o perdut, és fàcil recuperar la vostra configuració remotament sense una còpia de seguretat. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Lectures CGM sorolloses + Què cal fer si les dades del CGM son sorolloses? + No cal fer res, AndroidAPS se n\'encarregarà. + Desactivar el llaç tancat per evitar dosi massa altes o baixes. + Substituir els sensors constantment sorollosos o inexactes. + Comprovar que la vostra app de CGM proporciona dades suavitzades. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Esport i perfils + Com es poden utilitzar els perfils per ajudar el sistema a gestionar l\'esport aeròbic? + Fer un canvi de perfil a menys del 100%. + Fer un canvi de perfil a més del 100%. + Deixar el perfil al 100%. + Aturar el llaç. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Esport i objectius temporals + Com es poden utilitzar els objectius temporals per ajudar el sistema a gestionar l\'esport aeròbic? + Establir un objectiu glucèmic d\'activitat, prou temps abans de començar l\'esport. + Establir un objectiu glucèmic d\'activitat un cop acabat l\'esport. + Deixar l\'objectiu glucèmic com està. + Esperar que la glucèmia baixi per sota del vostre objectiu temporal d\'hipoglucèmia i llavors prendre 15g de carbohidrats d\'acció ràpida. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Llaç desactivat/aturat + Rebo insulina quan el llaç està desactivat/aturat? + Sí, la insulina basal es continua lliurant. + No, s\'atura el lliurament d\'insulina. + Basal, ISF (Factor Sensibilitat Insulina) i proves I:C (ràtio insulina/carbohidrats) + Quan s\'haurien de validar aquests valors? + Abans de començar amb el llaç. + Quan es produeixen sovint glucèmies altes i baixes. + Almenys un cop per setmana. + Un cop configurats i validats, aquests valors no haurien de canviar amb el temps. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Prerequisits + Què seria essencial per configurar i utilitzar AndroidAPS? + Informació del perfil validada (basal, ràtio I:C, ISF, DIA). + Un ordinador amb Android Studio instal·lat i configurat. + Un telèfon compatible. + Una bomba d\'insulina compatible, si és que voleu acabar fent servir un llaç tancat. + Nightscout, per tenir un registre amb totes els dades i poder revisar la configuració. + Un compte Tidepool. + Un compte Google. + Un compte Github. + Experiència en programació o edició de codi. + Una bomba MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Un smartwatch (rellotge intel·ligent). + Un CGM (Monitor Continu de Glucosa) compatible. + Requisits previs + Què seria essencial per configurar i utilitzar AndroidAPS? + Informació validada per poder configurar un perfil (ISF, ràtio I:C, basals, DIA, etc.). + Un dispositiu Android compatible (p.ex. telèfon mòbil, rellotge Android o tauleta). + AndroidAPS necessita una connexió a internet per poder funcionar en mode llaç tancat. + Un CGM (monitor continu de glucosa) compatible i l\'app adequada per rebre al telèfon/dispositiu els valors de glucèmia que proporciona. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Actualitzant AAPS + Marqueu totes les respostes correctes. + Cal tenir Git instal·lat i configurat al vostre ordinador. + Haurieu de desar i anotar la ubicació del vostre \"keystore\" i utilitzar la mateixa clau de signatura per la instal·lació anterior que per les noves actualitzacions. + No actualitzeu mai si el sistema està funcionant correctament. + Si teniu problemes en compilar l\'apk (aplicació), podeu instal·lar una apk que hagi estat compilada per una amiga. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Resolució de problemes + Preguntant a la clínica on us porten la diabetis o a la vostra endocrinòloga. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Quina insulina s\'ha de fer servir amb el plugin Ultra-Rapid Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/insulina humana \"estàndard\". + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Plugins de sensibilitat + Marqueu totes les respostes correctes. + Els plugins de sensibilitat ofereixen l\'usuari suggeriments de canvi de les basals, ràtios I:C (insulina:carbohidrats) i ISF (factor de sensibilitat a l\'insulina) que poden ser utilitzats per editar el perfil. + L\'enregistrament d\'un canvi de cànula restableix la ràtio Autosens, deixant-lo de nou a un 100%. + Algunes de les opcions de plugins es poden configurar segons rangs horaris que poden ser definits per l\'usuari. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Errors d\'entrada de carbohidrats + Què cal fer si feu una entrada incorrecta de carbohidrats? + Elimineu la entrada incorrecta a Tractaments i introduïu el valor correcte de carbohidrats. + Bolus amb insulina utilitzant el menú d\'encebat del set d\'infusió. + Bolus amb insulina utilitzant el botó d\'Insulina (bolus) de la pantalla \"Inici\". + Errors de lliurament/registre d\'insulina + Què cal fer si rebeu menys insulina de la que suggereix l\'historial de la bomba, p.ex. degut a una oclusió, a una cànula que no funciona o un oblit de reconnexió de la bomba després d\'una dutxa? + Eliminar dades d\'insulina del portal de cures Nightscout per eliminar-les de l\'historial de la bomba. + Lliurar un bolus amb part de la insulina que falta utilitzant una jeringa/ploma o el menú d\'encebat. + Insulina \"a bord\" (IOB) + El valor d\'IOB es veu afectat per les basals temporals lliurades. + Una basal temporal alta no serà lliurada si la glucèmia està per sota de l\'objectiu. + Un valor d\'IOB negatiu durant un període de temps important i en absència d\'exercici físic suggereix que el vostre perfil és massa \"fort\" i necessiteu menys insulina en la vostra configuració. + Un valor d\'IOB positiu durant un període de temps important suggereix resistència a la insulina o àpats no anunciats. + Entrada de carbohidrats i bolus + A l\'hora d\'estimar i registrar els carbohidrats consumits, només s\'han de fer servir grams. + Els carbohidrats consumits poden registrar-se utilitzant un sistema d\'intercanvi apropiat (p.ex. intercanvis DAFNE \"CHO\" o les \"Unitats de pa\" europees). + Si els valors de glucèmia estan fora dels valors acceptats (massa alts o massa baixos) la calculadora de bolus es pot fer servir per obtenir suggeriments de carbohidrats o correccions amb insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + Per a què poden ser utilitzats els e-carbs (carbohidrats estesos)? + Per programar carbs del futur, possiblement distribuïts durant un interval de temps (similar a un bolus estès distribuint insulina durant un interval). + Per registrar els carbohidrats de rescat que s\'utilitzen per tractar hipoglucèmies. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Monitorització a distància + Altres aplicacions (p.ex. Dexcom follow, xDrip en mode seguiment) us permeten monitoritzar alguns paràmetres (p.ex. glucèmia/valors sensor) de forma remota, però fan servir algoritmes diferents, per tant poden tenir valors d\'IOB o COB inexactes. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Factor de Sensibilitat a la Insulina (ISF) + Augmentar els valors d\'ISF farà que es lliuri més insulina per una determinada quantitat de carbohidrats. + Reduir els valors d\'ISF farà que es lliuri més insulina per corregir una glucèmia que estigui per sobre de l\'objectiu. + Augmentar o disminuir l\'ISF no afecta la quantitat d\'insulina a lliurar quan els valors de glucèmia estan per sota de l\'objectiu. + Modificar el valor d\'ISF al perfil és suficient per aplicar el canvi. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Podeu fer servir més d\'un valor per la relació I:C al vostre perfil. + Si modifiqueu l\'ISF al vostre perfil haureu de modificar també sempre el vostre ràtio I:C. + Ràtio Insulina:Carbohidrats (I:C ràtio) + Ràtios I:C elevades fan que es lliuri menys insulina per una quantitat de carbohidrats determinada. + Ràtios I:C baixes fan que es lliuri menys insulina per una quantitat de carbohidrats determinada. + Si teniu 0 COB, modificar la ràtio I: C farà que es lliuri una quantitat d\'insulina diferent per corregir un valor de glucèmia determinat. + La ràtio I:C serà diferent si compteu una unitat de carbohidrats com 10g o 12g. + Significat d\'I:C: Quantes unitats d\'hidrats de carboni estan cobertes amb 1U d\'insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Canvis de perfil + Quan s\'especifica un canvi de perfil del 90%, quines respostes son correctes? + Les basals seran un 10% menors. + L\'ISF (factor de sensibilitat a la insulina) serà un 10% més alt. + El valor de la ràtio I:C serà un 10% més baix. + Les ràtios d\'ISF i I:C no canviaran. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Canvis de perfil + Quan s\'especifica un canvi de perfil del 120%, quines respostes son correctes? + L\'objectiu de glucèmia serà un 20% més alt. + Les basals seran un 20% més elevades. + L\'objectiu de glucèmia no canviarà. + L\'ISF serà un 20% més alt. + Canvis de perfil + Iniciant un canvi de perfil amb un desplaçament horari de 2. + Iniciant un canvi de perfil amb un desplaçament horari de -2. + Establint un objectiu temporal de \"Menjar aviat\". + Fent un canvi de perfil a més del 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Modificacions de perfils + Als perfils cal establir les basals, l\'ISF, la ràtio I:C, etc. + Editar valors d\'un perfil és suficient per activar els canvis realitzats. + És possible configurar múltiples perfils i seleccionar-los per adaptar-nos a circumstàncies canviants (p.ex. canvis hormonals, torns de feina rotatius, dies laborables/caps de setmana). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Ajuda amb les ràtios de basal + A on anar per obtenir ajuda sobre les ràtios de basal, etc. + El teu equip diabetològic + Google + Facebook + Altres medicaments. Si us plau llegiu la següent declaració i marqueu la casella per acceptar-la. + diff --git a/plugins/main/src/main/res/values-ca-rES/objectives.xml b/plugins/main/src/main/res/values-ca-rES/objectives.xml new file mode 100644 index 0000000000..0d8400bd72 --- /dev/null +++ b/plugins/main/src/main/res/values-ca-rES/objectives.xml @@ -0,0 +1,53 @@ + + + Començar + Verificar + %1$d. Objectiu + Objectiu %1$d no iniciat + Objectiu %1$d no acabat + Configuració de visualització i monitorització, així com anàlisi de basals i ràtios + Comprovar que la glucèmia està disponible a Nightscout i les dades d\'insulina de la bomba s\'estan enviant + Iniciant llaç obert + Funcionar en mode llaç obert uns quants dies i acceptar manualment múltiples basals temporals. Configurar i utilitzar objectius temporals i objectius temporals per defecte (p.ex. esport o carbs per tractament d\'hipo) + Entendre el vostre llaç obert, recomanacions de basals temporals incloses + D\'acord amb aquesta experiència, decidiu quina hauria de ser la basal màxima i configureu-la a la bomba i la configuració + Començant a tancar el llaç amb LGS (Suspensió per glucèmia baixa) + Funcionar en mode llaç tancat amb IOB max = 0 uns quants dies, sense gaires esdeveniments LGS (Suspensió per glucèmia baixa) + Ajustant el llaç tancat, augmentant la IOB màxima per sobre de 0 i baixant gradualment els objectius de glucèmia + Funcionar uns quants dies, i al menys una nit sense cap alarma per baixa glucèmia, abans de baixar el valor de glucèmia + Ajustar basals i ràtios si cal, i després activar auto-sens + 1 setmana d\'èxit en mode llaç tancat durant el dia, amb introducció regular de carbohidrats + Activant funcions addicionals d\'ús diurn, com l\'SMB (super micro bolus) + Activant l\'automatització + Heu de llegir la wiki i augmentar la maxIOB per a què l\'SMB funcioni correctament! Una bona manera de començar és amb maxIOB = bolus d\'àpat mig + 3 x màxima basal diària + Llegiu els documents sobre com funciona l\'automatització. Configureu les vostres primeres regles. Enlloc de fer l\'acció, feu que AAPS només mostri un avís. Quan esteu segurs que l\'automatització s\'activa en el moment correcte, substituïu la notificació per l\'acció real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glucèmia disponible a NS + Estat de la bomba disponible a NS + Activació manual + Completat: %1$s + Establiu un perfil del 90% durant 10 minuts (pulsació llarga sobre el nom del perfil a \"Inici\") + Simuleu una dutxa. Desconnecteu la bomba durant 1h (pulsació llarga sobre la icona \"llaç obert\") + ... i torneu a connectar de la mateixa manera + Creeu un objectiu temporal personalitzat d\'una durada de 10 minuts (pulsació llarga sobre l\'objectiu actual) + Al Configurador, activeu el plugin Accions, feu-lo visible i mostreu el seu contingut des del menú superior + Mostreu el contingut del plugin Loop (llaç) + Utilitzeu la funció d\'escala fent pulsació llarga sobre la gràfica de glucèmia + Acceptar + Si teniu almenys 3 mesos d\'experiència en llaç tancat amb altres sistemes, és possible que compliu els requisits per obtenir un codi que us permeti saltar-vos objectius. Veure https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives per més detalls. + Codi acceptat + Codi no vàlid + Demostreu els vostres coneixements + Estudieu les preguntes. Se us donen quatre possibles respostes a cada pregunta. Pot haver-hi més d\'una resposta correcta. Marqueu totes les correctes i seleccioneu VERIFICAR. + Resposta deshabilitada fins: %1$s + Resposta incorrecta! + Següent no finalitzada + Sol·licitar codi: %1$s + (marqueu totes les respostes correctes) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + No hi ha connexió a internet + Errada en recuperar l\'hora + No es compleixen els requeriments de l\'objectiu + diff --git a/plugins/main/src/main/res/values-ca-rES/strings.xml b/plugins/main/src/main/res/values-ca-rES/strings.xml index 31b82fbdca..ee4e78be48 100644 --- a/plugins/main/src/main/res/values-ca-rES/strings.xml +++ b/plugins/main/src/main/res/values-ca-rES/strings.xml @@ -1,151 +1,178 @@ - Comunicador SMS SMS - de l\'app d\'autenticació per: %1$s seguit per PIN - PIN obligatori addicional al final del token - Dígits addicionals que han de ser memoritzats i afegits al final de cada clau d\'un sol ús - Codi per comprovar: OTP + PIN - El codi de verificació consta de 6 dígits mostrats per l\'app Autenticador (coneguts com OTP), seguits de 3 o més dígits del PIN obligatori. - Restablir autenticadors - Restablir clau d\'Autenticador - Esteu segurs que voleu restablir la clau de l\'Autenticador (OTP)? Els Autenticadors configurats fins ara deixaran de ser vàlids i els haureu de tornar a configurar. - Nova clau d\'Autenticador generada! Utilitzeu QRCode actualitzat per aprovisionar autenticadors. - Exportant secret OTP - Esteu segurs que voleu copiar el secret OTP al porta-retalls (clipboard)?\n\nNomés és necessari si la vostra app d\'autenticació te problemes per escanejar el QRCode, si voleu introduir-lo manualment o si voleu configurar un token OTP hardware amb una app dedicada. - Secret OTP (en format Base32) exportat i copiat al porta-retalls. Enganxeu-lo a l\'autenticador o gravador hardware d\'OTP! - 1. Instal·lar autenticador - 3. Provar clau d\'un sol ús - Restablir autenticadors - Instal·leu a cada telèfon seguidor una app d\'autenticació compatible amb tokens RFC 6238 TOTP. Apps gratuites populars:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Usuari - Nrs. de telèfon permesos +XXXXXXXXXX;+YYYYYYYYYY - Per definir un Objectiu Temporal %1$s contesteu amb el codi %2$s - Per cancel·lar Objectiu Temporal contesteu amb el codi %1$s - Per desactivar el Servei Remot d\'SMS contesteu amb el codi %1$s.\n\nRecordeu que només el podreu reactivar des del mòbil amb AAPS principal. - Servei Remot d\'SMS aturat. Per reactivar-lo, utilitzeu AAPS des del mòbil principal. - Per enviar calibració %1$.2f contesteu amb el codi %2$s - Error de bolus - Mínim nr. de minuts que han de passar entre un bolus remot i el següent - Quants minuts han de passar, com a mínim, entre un bolus i el següent - Per la vostra seguretat, per editar aquesta configuració haureu d\'afegir al menys 2 nrs. de telèfon. - Bolus %1$.2f U llliurat correctament - Bolus d\'àpat %1$.2f U lliurat correctament - Objectiu %1$s per %2$d minuts - Objectiu %1$s per %2$d minuts definit correctament - Objectiu Temporal cancel·lat correctament - Permetre ordres remotes via SMS - El llaç s\'ha desactivat - El llaç s\'ha activat - Llaç activat - Per connectar la bomba, contesteu amb el codi %1$s - La connexió a la bomba ha fallat - Per desconnectar la bomba %1$d minuts contesteu amb el codi %2$s - Bomba desconnectada - Bomba reconnectada - Ordre remota no permesa - Bolus remot no disponible. Torneu-ho a intentar més tard. - Per iniciar basal de %1$.2f U/h durant %2$d min. contesteu amb el codi %3$s - Per canviar el perfil a %1$s %2$d%% contesteu amb el codi %3$s - Per iniciar bolus estès de %1$.2f U durant %2$d min. contesteu amb el codi %3$s - Per introduir %1$dg en %2$s contesteu amb el codi %3$s - Per iniciar basal %1$d%% durant %2$d min. contesteu amb el codi %3$s - Per interrompre el llaç durant %1$d minuts contesteu amb el codi %2$s - Per reprendre el llaç contesteu amb el codi %1$s - Per activar el llaç contesteu amb el codi %1$s - Per desactivar el llaç contesteu amb el codi %1$s - Basal temporal %1$.2fU/h durant %2$d min iniciada correctament - Bolus estès %1$.2fU durant %2$d min iniciat correctament - Carbs %1$d g introduïts correctament - Error en introduir %1$dg de carbs - Basal temporal %1$d%% durant %2$d min iniciada ok - Error en iniciar basal temporal - Error en iniciar bolus estès - Per aturar basal temporal contesteu amb el codi %1$s - Per aturar bolus estès contesteu amb el codi %1$s - Basal temporal cancel·lada - Bolus estès cancel·lat - Error en cancel·lar basal temporal - Error en cancel·lar bolus estès - Ordre desconeguda o resposta incorrecta - Hi ha un altre bolus en cua. Proveu més tard. - Durada errònia - Llaç aturat - Llaç reprès - Número de telf. per SMS no vàlid - Calibració enviada. Cal que la recepció a xDrip+ estigui activada. - xDrip+ no està rebent calibracions - Cos de missatge incorrecte - Enviar SMS si es produeix esdeveniment de bomba inaccessible - Reportar bomba inaccessible Delta: IOB: Bolus: Basal: - DIA (Durada de l\'Acció de la Insulina) Lyumjev - Configuració preestablerta per insulina Humalog i NovoRapid/NovoLog - Configuració preestablerta per insulina Fiasp - Configuració preestablerta per insulina Lyumjev - Permet definir el pic d\'activitat de la insulina. A utilitzar només per usuaris avançats INS - Pic de la corba IOB - Temps del pic [min] - Oref sense pic - Oref ràpida - DIA de %1$f massa curt - utilitzant %2$f! - - Mostrar informació del llaç a la vostra esfera xDrip+. + - Mostra els valors preestablerts per alimentació definits a Nightscout - Filtre - Aliments - kJ - En - Pr - Greix - Categoria - Subcategoria - PL - Definir un perfil disponible fora de línia. - Unitats: - Falta el nom del perfil - Error en els valors de IC - Error en els valors de basal - Error en els valors de l\'objectiu - Error en els valors de ISF - Perfil invàlid %1$s no acceptat de NS - Vista Errors - Nom del perfil: DIA - IC - ISF - OBJ BAS - Dades recalculades utilitzades - Glucèmia massa semblant: \n%1$s\n%2$s - Canvi a horari d\'estiu en 24h o menys - Canvi a horari d\'estiu fa menys de 3h - Llaç tancat desactivat - versió antiga - versió molt antiga - Aplicació expirada - Nova versió disponible almenys %1$d dies! Retorn a LGS (Low Glucose Suspend = suspensió per glucèmia baixa) en %2$d dies, el llaç serà desactivat en %3$d dies - No finalitzat encara - Temps transcorregut + Enllestit, ben fet! + Màx IOB correctament configurada + Glucèmia disponible des de la font seleccionada + Llaç activat + APS seleccionat + Llaç tancat activat + OBJ + Programa d\'aprenentatge + Voleu reiniciar l\'objectiu? Podeu perdre el vostre progrés. + Cancel·lar finalització + Cancel·lar inici + + Alguns botons per accedir ràpid a funcions habituals + ACC + Eines + Cànula + L\'ús d\'un bolus estès aturarà el mode llaç tancat mentre duri el bolus. Esteu segurs que voleu això? + Error en lliurar bolus estès + + Limitant bolus estès a %1$.1f U a causa de %2$s + Limitant carbs a %1$d g a causa de %2$s + Limitant IOB a %1$.1f U a causa de %2$s + La bomba no té la funcionalitat de basals temporals + Mode llaç tancat desactivat a la configuració + UAM desactivat perquè es basa en el plugin de sensibilitat Oref1 + Executant versió de desenvolupament. Llaç tancat no disponible. + Llaç tancat desactivat degut a bolus estès actiu + Les funcions \"SMB sempre\" i \"SMB després de carbohidrats\" estan desactivades pq la font de glucèmia no fa filtrat avançat + SMB no permès en mode llaç obert + valor màxim a la configuració + límit estricte + Seguretat tractaments + Si us plau, seleccioneu el tipus de pacient per configurar els límits de seguretat + Nen + Adolescent + Adult + Adult resistent a l\'insulina + Embaraç + Max bolus permès [U] + Max carbs permesos [g] + Tipus de pacient + Postposar + Mostrar indicadors d\'estat a la pantalla d\'inici + Llindar per avís d\'edat de l\'insulina [h] + Llindar avís crític per edat de l\'insulina [h] + Llindar per avís d\'edat del sensor [h] + Llindar avís crític per edat del sensor [h] + Llindar per avís del nivell de bateria del sensor [%] + Llindar avís crític pel nivell de bateria del sensor [%] + Llindar per avís d\'edat de la pila [h] + Llindar avís crític per edat de la pila [h] + Llindar per avís del nivell del reservori [U] + Llindar avís crític pel nivell del reservori [U] + Llindar per avís del nivell de bateria de la bomba [%] + Llindar avís crític pel nivell de bateria de la bomba [%] + Llums d\'estat + Copiar configuració d\'NS + Menú gràfica + Mode APS + Acceptar nova basal temporal: + CGM + Assistent + + Reiniciar + Lliurar ara + Buidar la cua + Mostrar la cua + Cua: + Estat: + Sincronització completa + Sincronització completa? Pot tardar hores i fins que no es completi, no veuràs dades noves a NS. + Sincronització + Perfils, bolus, carbohidrats i basals temporals s\'envien a NS + Enviar dades a NS + Rebre perfils + Sincronitzar perfils locals amb l\'editor de perfils de NS + Rebre objectius temporals + Acceptar objectius temporals introduïts a NS o NSClient + Rebre canvis de perfil + Acceptar canvis de perfil introduïts a NS o NSClient + Rebre events APS fora de línia + Acceptar events APS fora de línia introduïts a NS o NSClient + Rebre insulina + Acceptar insulina introduïda a NS o NSClient (no es lliura, només es té en compte per calcular l\'IOB) + Rebre carbohidrats + Acceptar carbohidrats introduïts a NS o NSClient + Rebre events de teràpia + Acceptar events de teràpia (cànula, insulina, canvi de bateria, etc) introduïts a NS o NSClient + Rebre/emplenar dades CGM + Acceptar dades CGM de NS + Executa %s? + Retardar les càrregues + Crear avisos a partir d\'alarmes NS + Crear avisos a partir d\'avisos d\'NS + + El vostre nom d\'usuari de Tidepool, normalment és un email + Nom d\'usuari + Clau d\'accés a Tidepool + Clau d\'accés + Prova d\'accés a Tidepool + En cas d\'estar activat, les dades s\'enviaran a https://int-app.tidepool.org enlloc de a l\'habitual https://app.tidepool.org/ + Utilitzar servidors d\'integració (test) + Tidepool + TDP + Envia dades a Tidepool + Enviar dades CGM + Enviar tractaments (insulina, carbs) + Enviar basals temporals + Enviar canvis de perfil, objectius temporals + Enviar tests glucèmia + + Integració de bombes d\'insulina per les quals encara no existeix driver/controlador (Llaç obert) + Configuració bomba virtual + Enviar estat a NS + + Descarrega dades de glucèmia des de Nightscout + xDrip+ + Rebre valors de glucèmia de xDrip+. + Dexcom (BYODA) + BYODA + Rebre els valors de glucosa de l\'aplicació Dexcom \'Build Your Own Device\'. + App Eversense (\"parxejada\") + Rebre valors de glucèmia de l\'app Eversense \"parxejada\". + Rebre valors de glucèmia de Glimp. + Rebre valors de glucèmia del 600SeriesAndroidUploader. + Poctech + Rebre valors de glucèmia de l\'app Poctech + Glunovo + Rebre valors de l\'app Glunovo + Tomato (MiaoMiao) + Tomato + Rebre valors de glucèmia de l\'app Tomato (dispositiu MiaoMiao) + Configuració enviament dades glucèmia + + SSID WiFi + Crear avisos d\'errors + Crear avisos d\'alertes de calen carbohidrats + Crear avís de Nightscout per alertes locals i finestres d\'error (també visibles al Portal de cures, sota Tractaments) + Crear avís de Nightscout per alertes de calen carbohidrats + Sincronitza les vostres dades amb Nightscout + OAPS + UPLD + + Tema original + Tema baixa resolució + Els botons sempre es mostren a la part inferior de la pantalla + Pantalla grossa + Tema diff --git a/plugins/main/src/main/res/values-cs-rCZ/exam.xml b/plugins/main/src/main/res/values-cs-rCZ/exam.xml new file mode 100644 index 0000000000..f9a9292403 --- /dev/null +++ b/plugins/main/src/main/res/values-cs-rCZ/exam.xml @@ -0,0 +1,228 @@ + + + Co je pravda o DIA? + Doba působnosti inzulínu (DIA) + Měli byste nastavit hodnotu DIA ve vašem profilu. + Minimální hodnota je 5 hodin. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin + Pokud jste spokojeni s tím, že hodnota DIA použitá v pumpě před AAPS dobře fungovala, není třeba ji měnit, když začínáte se smyčkou. + Měli byste si pro sebe určit příslušnou hodnotu DIA. + Dočasný cíl při hypoglykémii + Co je primárním důvodem k nastavení dočasného cíle Hypoglykémie? + Opravovat hypoglykémie způsobené nesprávným nastavením bazálu. + Aby se zabránilo přehnané korekci, způsobené rychlými sacharidy použitými k léčbě hypoglykémie. + Napravit hypo jako důsledek fyzické aktivity. + Aby se zabránilo snížení hladiny glukózy v krvi, pokud již běží 0% dočasný bazál. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html + Který profil lze použít a konfigurovat offline? + Téma: Offline profil + NS profil může být použit, ale ne nastaven. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#profile + Důvody pro použití \"Odpojit pumpu\" v AAPS + Co se má provést při odpojení pumpy? + To je zbytečné, protože inzulín nebude dodáván v případě, že je pumpa fyzicky odpojena. + Zabraňuje AAPS započítat inzulín, který nebyl dodán, když je pumpa fyzicky odpojena + Nezastaví vydávání inzulínu, pokud pumpa zůstane připojena. + Pošle AAPS do režimu otevřené smyčky. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#dalsi-nastaveni + Nastavení AAPS + Nastavení AAPS + Jaké jsou nejlepší postupy pro zálohování vašich nastavení? + Nastavení není třeba exportovat za předpokladu, že jste si je poznamenali. + Exportujte svá nastavení po dokončení cíle. + Exportujte svá nastavení po změně kteréhokoli z vašich nastavení. + Exportujte své nastavení po dokončení počátečního nastavení a nastavení předvoleb. + Exportujte vaše nastavení lokálně pomocí nabídky menu údržby. + Soubor nastavení se nachází ve složce Interní úložiště/AAPS/preferences vašeho telefonu. + Zkopírujte soubor předvoleb do bezpečného umístění mimo telefon (např. pomocí cloudového disku, připojením kabelu k počítači, e-mailem apod.) + Je-li váš telefon poškozen nebo ztracen, existují jednoduché způsoby, jak vzdáleně obnovit vaše nastavení bez zálohování. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#jake-vybaveni-pro-pripad-nouze-se-doporucuje-brat-s-sebou + Šum dat ze senzoru + Co by mělo být provedeno v případě, že CGM data poskakují? + Nic, smyčka se s tím vypořádá. + Zakažte uzavřenou smyčku, aby nedošlo k předávkování nebo poddávkování. + Nahraďte trvale zašůměné nebo nepřesné senzory. + Ověřte, že vaše aplikace CGM vyhlazuje gklykémie. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#vyhlazovani-zarusenych-dat-glykemii + Cvičení a profily + Jak můžete použít profily, abyste mohli nejlépe pomoci systému řešit aerobní cvičení? + Přepnout na profil pod 100 %. + Přepněte profil na více než 100 %. + Ponechte profil nastavený na hodnotu 100%. + Pozastavte smyčku. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite + Cvičení a dočasné cíle + Jak můžete použít dočasné cíle pro nejlepší pomoc při práci se systémem při aerobním cvičení? + Nastavte cílovou hodnotu glykémie vhodnou dobu před zahájením cvičení. + Po ukončení cvičení nastavte cílovou hodnotu glykémie. + Nechte svůj cíl glykémie beze změny. + Počkejte, dokud glykémie neklesne pod Váš dočasný cíl hypoglykémie a pak snězte15 g rychlých sacharidů. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite + Zakázaná/pozastavená smyčka + Dostávám inzulín, když je smyčka zakázána/pozastavena? + Ano, bazální inzulín se dále dodává. + Ne, podávání inzulínu je zastaveno. + Testování bazálu, ISF a IC + Kdy mají být tyto hodnoty ověřeny? + Než začnu provozovat smyčku. + Při častém výskytu vysoké nebo nízké hladiny glykémie v krvi. + Minimálně jednou týdně. + Jakmile jsou tyto hodnoty nastaveny a ověřeny, neměly by se časem měnit. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#nastaveni-androidaps + Požadavky + Co je nezbytné pro nastavení a používání AAPS? + Ověřené informace o profilu (Bazál, IC, ISF, DIA). + Počítač s nainstalovanou a konfigurovanou aplikací Android Studio. + Podporovaný telefon. + Kompatibilní inzulínová pumpa, pokud plánujete spuštění uzavřené smyčky. + Nightscout pro záznam všech dat a kontrolu nastavení. + Účet Tidepool. + Účet Google. + Účet Github. + Zkušenosti s programováním nebo úpravou kódu. + Pumpu MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html + Chytré hodinky. + Podporované CGM. + Požadavky + Co je nezbytné pro nastavení a používání AAPS? + Ověřené informace pro nastavení profilu (ISF, poměr I:C, bazální dávky, DIA atd.). + Kompatibilní Android zařízení (např. mobilní telefon, Android hodinky nebo tablet). + AAPS vyžaduje připojení k internetu pro spuštění uzavřené smyčky. + Podporované CGM a vhodná aplikace pro příjem glykémií v telefonu/zařízení. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html + Aktualizace AAPS + Zatrhněte všechny správné odpovědi. + Musíte mít nainstalovaný a nakonfigurovaný Git na vašem počítači. + Pokud jsou uvolněny aktualizované verze AAPS, starší verze mohou být po určité době vzdálené omezeny. + Měli byste uložit a zaznamenat umístění úložiště klíčů a použít stejný podpisový klíč pro aktualizace jako pro vaši předchozí instalaci. + Nikdy neaktualizujte, pokud systém funguje dobře. + Máte-li potíže se sestavením apk, můžete nainstalovat apk, který byl vybudován přítelem. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Installing-AndroidAPS/Update-to-new-version.html + Řešení problémů + Kde můžete hledat pomoc s AAPS? + Můžete požádat o radu v Facebookové skupině uživatelů AAPS. + Měli byste si přečíst (a znovu přečíst) dokumentaci AAPS. + Můžete požádat o radu a nahlásit technické problémy nebo potíže na Discordu AAPS. + Měli byste se zeptat svého lékaře/endokrinologa. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/index.html#poradce-pri-potizich + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Pluginy Inzulín + Který inzulin byste měli používat s pluginem Ultra-Rapid Oref? + Fiasp® + NovoRapid ® /Novolog ® + Humalog® + Actrapid ®/Humilin R ®/\"běžný\" lidský inzulín. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin + Pluginy Citlivost + Zatrhněte všechny správné odpovědi. + Pluginy citlivosti umožňují AAPS přizpůsobit se dočasným nebo krátkodobým změnám v citlivosti inzulinu (například hormonální změny nebo problémy s absorpcí na infúzním místě). + Pluginy citlivosti poskytují uživateli návrh změn bazálních hodnot, I:C poměrů a ISF, které mohou být použity k úpravě profilu. + Výměna kanyly nebo změna profilu automaticky nastaví Autosense zpět na 100%. + Některé pluginy mají konfigurovatelné časové rozmezí, které může nastavit uživatel. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#detekce-citlivosti + https://androidaps.readthedocs.io/cs/latest/Usage/Open-APS-features.html#autosens + Chyby při zadávání sacharidů + Co byste měli udělat, pokud jste zadali chybně sacharidy? + Odstraňte nesprávný záznam v Ošetření a zadejte správnou novou hodnotu sacharidů. + Pošlete inzulín pomocí plnění/doplňování. + Nic nedělejte – AAPS provede příslušné úpravy. + Pošlete inzulín pomocí ikony Inzulín v přehledu. + Chyby v podání inzulínu + Co byste měli udělat, pokud jste dostali méně inzulínu, než ukazuje historie pumpy, např. v důsledku okluze, vadné kanyly nebo zapomenutí na opětovné připojení pumpy po sprše?  + Odstraňte data z Nightscoutu pro odstranění z historie pumpy. + Porovnat hodnoty v AAPS s hodnotami v historii pumpy (pokud to pumpa podporuje). + Pošlete bolus na vypočtený „chybějící“ inzulín buď injekční stříkačkou nebo perem nebo pomocí plnění na pumpě. + Neudělejte nic a dovolte AAPS opravit jakoukoliv výslednou vysokou hladinu glukózy v krvi. + Zbývající sacharidy (COB) + Jak změna hodnoty citlivosti ovlivňuje výpočet COB? + Zvýšení hodnoty citlivosti prodlouží dobu absorpce sacharidů + Zvýšení hodnoty citlivosti zkrátí dobu absorpce sacharidů + Zvýšení citlivosti neovlivní vypočtenou absorpci sacharidů + Jak změna inzulíno-sacharidového poměru ovlivňuje výpočet COB? + Zvýšení hodnoty inzulíno-sacharidového poměru prodlouží dobu absorpce sacharidů + Zvýšení hodnoty inzulíno-sacharidového poměru zkrátí dobu absorpce sacharidů + Zvýšení inzulíno-sacharidového poměru neovlivní vypočtenou absorpci sacharidů + Jak procentuální změna profilu ovlivňuje výpočet COB? + Nastavením profilu na 150 % dojde k prodloužení doby absorpce sacharidů + Nastavením profilu na 150 % dojde ke zkrácení doby absorpce sacharidů + Nastavení profilu na 150% neovlivní vypočtenou absorpci sacharidů + Aktivní inzulín (IOB) + Hodnota IOB je ovlivněna vydanými dočasnými bazály. + Vysoký dočasný bazál nebude spuštěn, pokud je Vaše glykémie nižší než cíl. + Negativní IOB po značnou dobu bez cvičení naznačuje, že váš profil je příliš \"silný\" a ve vašem profilu je potřeba méně inzulínu. + Pozitivní IOB na značnou dobu naznačuje rezistenci vůči inzulinu nebo neohlášené jídlo. + Zadávání sacharidů a bolusy + Pouze gramy by měly být použity pro odhad a záznam spotřebovaných sacharidů. + Spotřebované sacharidy lze nahrávat pomocí vhodného systému (např. \"výměnné jednotky\"). + AAPS používá dynamický model k odhadu vstřebávání sacharidů a k výpočtu COB. + Pokud jsou hladiny glykémie v krvi mimo přijatelné hodnoty (příliš nízké nebo příliš vysoké), může být použit bolusová kalkulačka k podávání návrhů na sacharidy nebo na korekční bolus. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulinovosacharidovy-pomer-ic-g-u + e-sacharidy + Na co byste mohli použít e-sacharidy (prodloužené sacharidy)? + Pro plánování budoucích sacharidů, případně distribuovaných v intervalu (podobné prodlouženému bolusu). + Pro zaznamenání \'falešných\' sacharidů při cvičení, které chcete skrýt v AAPS. + e-sacharidy (distribuované v budoucnu) mohou AAPS pomoci při nakládání s jídly s vysokým obsahem tuku/bílkovin. + Pro zaznamenání rychlých sacharidů použitých k léčbě nízké hladiny glykémie v krvi + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Extended-Carbs.html + Vzdálené sledování + Jak můžete vzdáleně monitorovat AAPS (například své dítě)? + AAPSClient, aplikace Nightscout a webová stránka Nightscout umožnují sledovat AAPS vzdáleně. + Další aplikace (např. Dexcom follow, xDrip běžící v režimu sledování) vám umožňují sledovat některé parametry (např. hodnoty glykémie) na dálku, ale použití různých algoritmů může mít vliv na nepřesné hodnoty IOB nebo COB. + Chcete-li sledovat AAPS dálkově, musí mít obě zařízení přístup k internetu (např. přes Wi-Fi nebo mobilní síť/mobilní síť). + AAPSClient umožní oboje: monitorovat a poskytovat plnou kontrolu nad AAPS. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Children/Children.html + Citlivost inzulínu (ISF) + Zvýšení hodnot citlivosti povede k větší dodávce inzulínu k pokrytí určitého množství sacharidů. + Snížení hodnot citlivosti vede k většímu množství inzulinu pro korekci vyšší glykémie. + Zvýšení nebo snížení citlivosti nemá žádný vliv na výdej inzulinu, pokud jsou hladiny glykémie v krvi pod cílovou hodnotou. + ISF by měl být zadán do předvoleb AAPS. + Změna hodnoty citlivosti ve vašem profilu postačuje k tomu, aby se tato změna použila. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#korekcni-faktor-citlivost-na-inzulin-isf-mmol-l-u-nebo-mg-dl-u + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html + Ve svém profilu můžete použít více než jednu hodnotu poměru I:C. + Změníte-li ISF ve svém profilu, měli byste vždy změnit také poměr I:C. + Inzulínosacharidový poměr (I:C) + Vyšší hodnoty I:C vedou k menší dávce inzulínu pro stejné množství sacharidů. + Nižší hodnoty I:C vedou k menší dávce inzulínu pro stejné množství sacharidů. + Pokud máte 0 COB změna inzulino-sacharidového poměru povede k jinému množství inzulínu vydanému pro korekci glykémie. + Inzulino-sacharidový poměr se bude lišit podle toho, zda počítáte výměnnou jednotku jako 10 g nebo jako 12 g sacharidů. + Inzulino-sacharidový poměr vyjadřuje: kolik výměnných jednotek pokryje 1 jednotka inzulinu. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulino-sacharidovy-pomer-cr-g-u + Přepnutí profilu + Když zadáte 90% profil, které odpovědi jsou pravdivé? + Bazály budou o 10 % nižší. + Hodnota citlivosti bude o 10 % vyšší. + Hodnota poměru I:C bude o 10% nižší. + Hodnoty ISF a I:C nebudou změněny. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html?highlight=p%C5%99epnut%C3%AD%20profilu + Přepnutí profilu + Když zadáte 120% profil, které odpovědi jsou pravdivé? + Cílová glykémie bude o 20 % vyšší. + Bazály budou o 20 % vyšší. + Cílová glykémie se nezmění. + Hodnota citlivosti bude o 20 % vyšší. + Přepnutí profilu + Pokud se probudíte o 2h dříve než obvykle, jak byste měli oznámit AAPS tuto změnu? + Proveďte přepnutí profilu s posunem času 2 + Proveďte přepnutí profilu s posunem času -2 + Nastavte dočasný cíl Před jídlem. + Přepněte profil na více než 100%.  + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html#posun-casu + Změna profilu + V profilech by měly být nastaveny bazální dávky, ISF, I:C poměry, atd. + Aktivace změn vašeho profilu Nightscout vyžaduje, aby váš telefon AAPS měl k dispozici připojení k Internetu. + Úprava profilů za účelem změny hodnot je dostatečná k provedení všech provedených změn. + Je možné nastavit a vybrat z více profilů za účelem přizpůsobení se měnícím se okolnostem (např. hormonální změny, pracovní dny směny, pracovní dny/víkend životního stylu). + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html#spravny-individualni-algoritmus-davkovani-pro-lecbu-vaseho-diabetu + Pomoc s bazály + Kam jít pro pomoc s bazály apod. + K Vašemu lékaři + Google + Facebook + Ostatní léky. Přečtěte si prosím níže uvedené prohlášení a poté zaškrtněte políčko pro přijetí prohlášení. + AAPS snižuje bazály na zvýšení hladiny cukru v krvi. Léky ze skupiny inhibitorů SGLT2 (glifloziny) mohou zabránit očekávanému zvýšení hodnoty glykémie, a tak mohou produkovat nebezpečný nedostatek inzulínu (ketoacidózu). +\nBěžné značky jsou: Invokana ®, Forxiga ®, Jardiance ®, Steglatro ®, Suglat ®, Apleway ®, Deberza ®, Synjardy ®, Vokanamet ®, Xigduo ®.\n\nTímto slibuji, že tyto léky neberu při používání AAPS nebo deaktivuji smyčku před užíváním těchto léků. + diff --git a/plugins/main/src/main/res/values-cs-rCZ/objectives.xml b/plugins/main/src/main/res/values-cs-rCZ/objectives.xml new file mode 100644 index 0000000000..538cb74450 --- /dev/null +++ b/plugins/main/src/main/res/values-cs-rCZ/objectives.xml @@ -0,0 +1,55 @@ + + + Začátek + Kontrola + %1$d. cíl + Výukový cíl %1$d nespuštěn + Výukový cíl %1$d nedokončen + Nastavit vizualizaci a monitoring, analyzovat bazály a koeficienty + Zkontrolovat, zda jsou glykémie a údaje z pumpy viditelné v Nightscoutu + Začít s otevřenou smyčkou + Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály. Nastavovat a používat dočasné cíle (např. pro sport nebo hypo) + Porozumět otevřené smyčce, včetně jejích doporučení ohledně dočasných bazálů + Na základě předchozích zkušeností rozhodnout, jaký je třeba maximální bazál a nastavit ho v pumpě a v aplikaci + Spustit uzavřenou smyčku pouze se zastavováním při nízké glykémii + Spustit uzavřenou smyčku s max IOB = 0 na několik dní s minimem nutných korekcí na nízkou glykémii + Zapnout uzavřenou smyčku, zvyšovat max IOB nad 0 a snižovat cílovou glykémii + Provozovat smyčku několik dní s alespoň jednou nocí bez alarmů na nízkou glykémii + Upravit bazály a poměry, bude-li to potřeba, a povolit automatickou detekci citlivosti na inzulín + Jeden týden úspěšného používání s běžným příjmem sacharidů + Povolit další funkce pro běžné používání jako SMB + Povolení automatizace + Přečíst si dokumentaci a zvýšit maximální IOB, aby mohlo SMB fungovat. Pro začátek se dá použít velikost běžného bolusu + 3x maximální denní bazál + Přečtěte si na wiki, jak automatizace funguje. Nejdříve nastavte pouze jednoduchá pravidla. Namísto provádění akcí nechte AAPS zobrazovat pouze oznámení. Pokud jste si jistí, že je automatizace spouštěna v pravý čas, můžete oznámení nahradit prováděním akce. (https://androidaps.readdocs.io/en/latest/CROWDIN/cs/Usage/Automation.html) + Glykémie dostupná v NS + Stav pumpy dostupný v NS + Ručně spuštěno + Splněno: %1$s + Naučte se, jak ovládat AAPS + Provádějte v AAPS různé akce + Nastavte profil na 90 % na 10 min (Dlouhé stisknutí názvu profilu na obrazovce Přehled) + Předstírejte, že se jdete sprchovat. Odpojte pumpu na 1 h (Dlouze přidržte tlačítko Otevřená smyčka) + ... a stejným způsobem ji znovu připojte + Vytvořte vlastní dočasný cíl s trváním 10 min (Dlouze přidržte aktuální cíl) + Na kartě Konfigurace povolte modul Akce, aktivujte jeho zobrazení a zobrazte jeho obsah z horní nabídky + Zobrazte obsah modulu Smyčka + Přepněte režim zobrazení dlouhým stisknutím grafu glykémie + Zadat + Pokud máte alespoň 3 měsíce zkušeností s uzavřenou smyčkou na jiných systémech, můžete získat kód, který vám umožní přeskočit cíle. Více informací najdete na https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Objectives.html#skip-objectives. + Kód přijat + Neplatný kód + Prokažte své znalosti + Prostudujte otázky. Na každou otázku jste dostali čtyři možné odpovědi. Může existovat více než jedna správná odpověď. Zatrhněte prosím všechny odpovědi, které jsou správné, a potvrďte volbou ZKONTROLOVAT. + Odpovídání zakázáno do: %1$s + Špatná odpověď! + Další nedokončená + Kód žádosti: %1$s + (zatrhněte všechny správné odpovědi) + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#co-delat-pri-sprchovani-a-koupani + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#konfigurace + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka + Chybí připojení k internetu + Nepodařilo se načíst čas + Požadavky cíle nejsou splněny + diff --git a/plugins/main/src/main/res/values-cs-rCZ/strings.xml b/plugins/main/src/main/res/values-cs-rCZ/strings.xml index d81c5f2647..570cd95c2e 100644 --- a/plugins/main/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/main/src/main/res/values-cs-rCZ/strings.xml @@ -31,64 +31,64 @@ +XXXXXXXXXX;+YYYYYYYYYY K potvrzení bolusu %1$.2fU odpověz SMS s kódem %2$s Pro potvrzení bolusu na jídlo %1$.2fU odpovězte pomocí SMS s kódem %2$s - Pro nastavení dočasného cíle %1$s odpovězte pomocí SMS s kódem %2$s - Pro zrušení dočasného cíle odpovězte pomocí SMS s kódem %1$s - Chcete-li deaktivovat Vzdálené řízení přes SMS, odpovězte pomocí SMS s kódem %1$s.\n\nUpozornění: tuto funkci budete moci znovu aktivovat pouze z telefonu s hlavní verzí AAPS. - Služba Vzdáleného řízení přes SMS zastavena. Chcete-li ji znovu aktivovat, použijte telefon s hlavní verzí AAPS. - Odeslání kalibrace %1$.2f potvrďte kódem %2$s - Chyba při aplikování bolusu - Minimální počet minut, které musí uplynout mezi dvěma bolusy podanými přes vzdálené řízení - Kolik minut (minimálně) musí uplynout mezi dvěma bolusy - Úprava tohoto nastavení v zájmu vaší bezpečnosti vyžaduje, abyste zadali alespoň 2 telefonní čísla. - Bolus %1$.2f U aplikován úspěšně - Bolus na jídlo %1$.2f U byl úspěšně aplikován - Cíl %1$s na %2$d minut + Pro nastavení dočasného cíle %1$s odpovězte pomocí SMS s kódem %2$s + Pro zrušení dočasného cíle odpovězte pomocí SMS s kódem %1$s + Chcete-li deaktivovat Vzdálené řízení přes SMS, odpovězte pomocí SMS s kódem %1$s.\n\nUpozornění: tuto funkci budete moci znovu aktivovat pouze z telefonu s hlavní verzí AAPS. + Služba Vzdáleného řízení přes SMS zastavena. Chcete-li ji znovu aktivovat, použijte telefon s hlavní verzí AAPS. + Odeslání kalibrace %1$.2f potvrďte kódem %2$s + Chyba při aplikování bolusu + Minimální počet minut, které musí uplynout mezi dvěma bolusy podanými přes vzdálené řízení + Kolik minut (minimálně) musí uplynout mezi dvěma bolusy + Úprava tohoto nastavení v zájmu vaší bezpečnosti vyžaduje, abyste zadali alespoň 2 telefonní čísla. + Bolus %1$.2f U byl úspěšně aplikován + Bolus na jídlo %1$.2f U byl úspěšně aplikován + Cíl %1$s na %2$d minut Cíl %1$s na %2$d minut byl úspěšně nastaven Dočasný cíl byl úspěšně zrušen - Povolit posílání příkazů přes SMS - Smyčka byla zakázána - Smyčka byla povolena - Smyčka je povolena - Chcete-li připojit pumpu, odpovězte pomocí SMS s kódem %1$s - Připojení k pumpě selhalo - Chcete-li odpojit pumpu na %1$d minut, odpovězte pomocí SMS s kódem %2$s - Pumpa odpojena + Povolit posílání příkazů přes SMS + Smyčka byla zakázána + Smyčka byla povolena + Smyčka je povolena + Chcete-li připojit pumpu, odpovězte pomocí SMS s kódem %1$s + Připojení k pumpě selhalo + Chcete-li odpojit pumpu na %1$d minut, odpovězte pomocí SMS s kódem %2$s + Pumpa odpojena Pumpa byla znovu připojena - Vzdálený příkaz není povolen - Vzdálený bolus není momentálně povolen. Zkuste to později. - Pro spuštění bazálu %1$.2f U/h na %2$d min odpovězte SMS s kódem %3$s - Pro přepnutí profilu na %1$s %2$d%% odpovězte SMS s kódem %3$s - Pro spuštění prodlouženého bolusu %1$.2f U na %2$d min odpovězte SMS s kódem %3$s - Pro zadání %1$dg na %2$s odpovězte pomocí SMS s kódem %3$s - Pro spuštění bazálu %1$d%% na %2$d min odpovězte SMS s kódem %3$s - K pozastavení smyčky na %1$d minut odpověz SMS s kódem %2$s - Chcete-li obnovit smyčku, odpovězte SMS s kódem %1$s - Chcete-li povolit smyčku, odpovězte SMS s kódem %1$s - Chcete-li zakázat smyčku, odpovězte SMS s kódem %1$s - Dočasný bazál %1$.2fU/h na %2$d minut spuštěn - Prodloužený bolus %1$.2fU na %2$d min úspěšně spuštěn - Sacharidy %1$d g byly úspěšně zadány - Zadání %1$d g sacharidů se nezdařilo - Dočasný bazál %1$d%% na %2$d minut úspěšně spuštěn - Spuštění dočasného bazálu selhalo - Spuštění prodlouženého bolusu selhalo - Na zastavení dočasného bazálu odpovězte SMS s kódem %1$s - Pro zastavení prodlouženého bolusu odpovězte SMS s kódem %1$s - Dočasný bazál zastaven - Prodloužený bolus zastaven - Rušení dočasného bazálu selhalo - Zastavení prodlouženého bolusu selhalo - Neznámý příkaz nebo chybná odpověď + Vzdálený příkaz není povolen + Vzdálený bolus není momentálně povolen. Zkuste to později. + Pro spuštění bazálu %1$.2f U/h na %2$d min odpovězte SMS s kódem %3$s + Pro přepnutí profilu na %1$s %2$d%% odpovězte SMS s kódem %3$s + Pro spuštění prodlouženého bolusu %1$.2f U na %2$d min odpovězte SMS s kódem %3$s + Pro zadání %1$dg na %2$s odpovězte pomocí SMS s kódem %3$s + Pro spuštění bazálu %1$d%% na %2$d min odpovězte SMS s kódem %3$s + K pozastavení smyčky na %1$d minut odpověz SMS s kódem %2$s + Chcete-li obnovit smyčku, odpovězte SMS s kódem %1$s + Chcete-li povolit smyčku, odpovězte SMS s kódem %1$s + Chcete-li zakázat smyčku, odpovězte SMS s kódem %1$s + Dočasný bazál %1$.2fU/h na %2$d minut spuštěn + Prodloužený bolus %1$.2fU na %2$d min úspěšně spuštěn + Sacharidy %1$d g byly úspěšně zadány + Zadání %1$d g sacharidů se nezdařilo + Dočasný bazál %1$d%% na %2$d minut úspěšně spuštěn + Spuštění dočasného bazálu selhalo + Spuštění prodlouženého bolusu selhalo + Na zastavení dočasného bazálu odpovězte SMS s kódem %1$s + Pro zastavení prodlouženého bolusu odpovězte SMS s kódem %1$s + Dočasný bazál zastaven + Prodloužený bolus zastaven + Rušení dočasného bazálu selhalo + Zastavení prodlouženého bolusu selhalo + Neznámý příkaz nebo chybná odpověď Ve frontě je další bolus. Zkuste to znovu později. - Chybná doba trvání - Smyčka pozastavena - Smyčka obnovena - Špatné telefonní číslo - Kalibrace odeslána. Příjem musí být v xDripu+ povolený. - xDrip+ nepřijímá kalibrace - Neplatné tělo zprávy - Odeslat SMS, pokud je detekována nedostupná pumpa - Nahlásit nedostupnou pumpu + Chybná doba trvání + Smyčka pozastavena + Smyčka obnovena + Špatné telefonní číslo + Kalibrace odeslána. Příjem musí být v xDripu+ povolený. + xDrip+ nepřijímá kalibrace + Neplatné tělo zprávy + Odeslat SMS, pokud je detekována nedostupná pumpa + Nahlásit nedostupnou pumpu Chybný formát Glykémie: Poslední glykémie: @@ -103,7 +103,6 @@ Trvání dočasného bazálu musí být násobkem %1$d minut a musí být větší než 0. QR kód pro nastavení jednorázového hesla - DIA Lyumjev Předvolba pro Novorapid Předvolba pro Fiasp @@ -112,7 +111,6 @@ INZ Čas vrcholu IOB křivky Vrchol křivky [min] - Vrchol Volitelný vrchol - Oref Rychle působící - Oref Ultra rychlý - Oref @@ -120,7 +118,7 @@ Novorapid Fiasp - + Stavová řádka xDrip+ (hodinky) XDS Zobrazování informací o smyčce na xDrip+ watchface. @@ -135,10 +133,10 @@ Zobrazení jídel definovaných v NS Filtr Jídlo - kJ - En - Pr - Tuk + kJ + En + Pr + Tuk Kategorie Podkategorie Kalkulačka @@ -172,8 +170,6 @@ klonovat aktuální profil odstranit aktuální profil DIA - I:C - ISF CÍL BAZ @@ -197,6 +193,239 @@ Hotovo, gratulujeme! Nedokončeno Čas + Maximální IOB nastaveno správně + Glykémie dostupné z vybraného zdroje + Služba synchronizace má oprávnění k zápisu + Smyčka povolena + APS vybráno + Uzavřená smyčka povolena + CÍLE + Výukový program + Chcete resetovat začátek cíle? Můžete přijít o svůj pokrok. + Další + Zpět + Vymazat dokončeno + Vymazat start + + Akce + Tlačítka k běžně používaným úkonům + AKCE + Dočasný bazál + Prodloužený bolus + Zrušit prodloužený bolus + Nástroje + Prohlížeč historie + Senzor + věk: + úroveň: + Inzulín + Baterie pumpy + Kanyla + Použití funkce prodlouženého bolusu zastaví uzavřenou smyčku po dobu trvání prodlouženého bolusu. Opravdu to chcete? + Chyba spuštění extended bolusu + stáří kanyly + stáří náplasťové pumpy + Náplasťová pumpa + + Prodloužený bolus omezen na %1$.1f U: %2$s + Sacharidy omezeny na %1$d g: %2$s + IOB omezeno na %1$.1f U: %2$s + Pumpa nepodporuje dočasné bazály + Uzavřená smyčka zakázána v nastavení + UAM zakázáno, protože není povolen Oref1 plugin + Běží DEV verze. Uzavřená smyčka je zakázána. + Uzavřená smyčka je zastavena kvůli běžícímu prodlouženému bolusu + \"SMB vždy\" a \"po jídle\" zakázáno protože zdroj glykémie nepodporuje rozšířené filtrování + SBM není povoleno v otevřené smyčce + maximální hodnota v nastavení + pevný limit + Bezpečnost zadání ošetřeni + Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů + Dítě + Dospívající + Dospělý + Dospělý s nízkou citlivostí + Těhotenství + Maximální povolený bolus [U] + Maximální počet sacharidů [g] + Typ pacienta Odložit + Zkopírovat nastavení NS (existuje-li)? + Zobrazit stavové indikátory na domovské obrazovce + Úroveň varování stáří kanyly [h] + Úroveň kritického stáří kanyly [h] + Úroveň varování stáří inzulínu [h] + Úroveň kritického stáří inzulínu [h] + Úroveň varování stáří senzoru [h] + Úroveň kritického stáří senzoru [h] + Úroveň varování stavu baterie senzoru [%] + Úroveň kritického varování stavu baterie senzoru [%] + Úroveň varování stáří baterie pumpy [h] + Úroveň kritického varování stáří baterie pumpy [h] + Úroveň varování stavu zásobníku [U] + Úroveň kritického varování stavu zásobníku [U] + Úroveň varování stavu baterie pumpy [%] + Úroveň kritického varování stavu baterie pumpy [%] + Stavové indikátory + Zkopírovat nastavení z NS + graf + inzulín + Možnosti grafu + kvalita glykémií + glykémie + zastaralé + Typ smyčky + Spustit nový dočasný bazál: + CGM + Rychlý bolus + + NSClient nedostal oprávnění k zápisu. Špatné API secret? + NSClientV3 + NSV3 + NSClient + NSCl + Adresa URL: + Posouvat + Restart + NSClient + Adresa Nightscoutu + Vložte adresu Nightscoutu + NS heslo (API secret) + NS heslo (API secret) + Vložte API secret (min 12. znaků) + Přístupový token NS + Přístupový token NS + Přístupový token vygenerován na stránce pro administraci NS (min. 17 znaků) + Odeslat teď + Vymazat frontu + Zobrazit frontu + Fronta: + Status: + Vymazat log + Plná synchronizace + Úplná synchronizace? Může to trvat mnoho hodin a dokud neskončíte, nová data v NS neuvidíte. + Synchronizace + Profily, bolusy, sacharidy, dočasné bazály jsou nahrány do NS + Nahrávat data do NS + Přijímat úložiště profilu + Synchronizovat profily z editoru profilu v NS + Přijímat dočasné cíle + Přijmout dočasné cíle zadané prostřednictvím NS nebo NSClienta + Přijímat přepnutí profilu + Přijmout přepnutí profilu zadané prostřednictvím NS nebo NSClienta + Přijímat události APS offline + Přijmout APS offline události zadané prostřednictvím NS nebo NSClienta + Přijímat dočasný bazál a kombinovany bolus + Přijmout dočasný bazál a kombo bolus zadaný přes jinou instanci + Přijímat inzulín + Přijmout inzulín vložený přes NS nebo NSClient (není dodán, pouze započítán do IOB) + Přijímat sacharidy + Přijmout sacharidy vložené prostřednictvím NS nebo NSClienta + Přijímat události + Přijmout léčebné události (výměna setu, inzulínu, baterie atd.) zadané prostřednictvím NS nebo NSClienta + Přijímat/doplňovat glykémie + Přijmout CGM data z NS + Spustit %s? + Zpomalit odesílání + Nastavení alarmů + Vytvořit oznámení z alarmů NS + Vytvořit oznámení z NS upozornění + Mezní hodnota pro zastaralá data [min] + Urgentní mezní hodnota pro zastaralá data [min] + Zaznamenávat spuštění aplikace do NS + Povolit vysílání do jiných aplikací (například xDrip+). Nepovolujte, pokud máte instalovánu více než jednu instanci AAPS nebo AAPSClient! + Povolení odesílaní + + Vaše uživatelské jméno na Tidepoolu, obvykle vaše e-mailová adresa + Uživatelské jméno + Heslo na Tidepoolu + Heslo + Otestovat přihlášení na Tidepool + Pokud je povoleno, data budou nahrávána na https://int-app.tidepool.org místo na https://app.tidepool.org/ + Používat testovací servery + Tidepool + TDP + Nahrávání dat do Tidepoolu + Nahrávat CGM data + Nahrávat ošetření (inzulín, sacharidy) + Nahrávat dočasné bazály + Nahrávat přepnutí profilu, dočasné cíle + Nahrávat měření z prstu + Odstranit vše + Resetovat start + Nahrát nyní + + Typ virtuální pumpy + Definice pumpy + Bolus: Krok =%1$s\nProdl. bolus: [Krok=%2$s, Délka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Délka=%8$smin-%9$sh\n%10$s + Virtuální pumpa + VPUM + Ovladač pumpy pro uživatele bez podporované pumpy (Otevřená smyčka) + VIRTUÁLNÍ PUMPA + Nastavení virtuální pumpy + Nahrávat status do NS + + Glykémie z NS + NSGL + Příjem glykémií z Nightscoutu + xDrip+ + Příjem glykémií z xDripu+. + BYODA + BYODA + Příjem hodnot glykémií z upravené aplikace Dexcom (BYODA). + Eversense aplikace (upravená) + Příjem glykémií z modifikované Eversense aplikace. + Glimp + Příjem glykémií z Glimpu. + MM640g + Příjem glykémií z Uploaderu 640G. + Poctech + Získávat glykémie z aplikace Poctech + Glunovo + Získávat glykémie z aplikace Glunovo + Intelligo + Přijímat hodnoty z aplikace Intelligo + Tomato (MiaoMiao) + Tomato + Přijímat hodnoty glykémií z Tomato aplikace (MiaoMiao zařízení) + GlucoRx Aidex + Aidex + Přijímat hodnoty glykémie ze senzoru GlucoRx Aidex. + Náhodná glykémie + Generovat náhodná data glykémie (pouze režim Demo) + Gly + Odesílat data do xDrip+ + V xDrip+ vyberte zdroj dat 640g/Eversense + Nahrávat data do NS + Nastavení nahrávání glykémií + Zaznamenávat výměnu senzoru do NS + Vytvořit událost \"Výměna senzoru\" v NS automaticky po spuštění senzoru + + Použít mobilní připojení + Použít WiFi připojení + WiFi SSID + Při nabíjení + Na baterii + Nastavení připojení + Povolené SSID (oddělené středníkem) + Povolit připojení pro roamingu + Vytvořit oznámení pro chyby + Vytvořit oznámení z výstrahy vyžadovaných sacharidů + Vytvořit oznámení v NS pro chyby a místní výstrahy (zobrazitelné v Péči pod Ošetřením) + Pro výstrahy vyžadovaných sacharidů vytvořit oznámení v Nightscoutu + Synchronizace dat s NS + Synchronizuje vaše data s Nightscoutem pomocí v3 API + Zablokováno možností nabíjení + Zablokováno možností připojení + Nepodporovaná verze Nightscoutu + OAPS + UPLD + Chyba NSClienta. Zvažte restart NS a NSClienta. + + Původní vzhled + Vzhled pro nízké rozlišení + Tlačítka jsou vždy zobrazena v dolní části obrazovky + Velký displej + Vzhled diff --git a/plugins/main/src/main/res/values-da-rDK/exam.xml b/plugins/main/src/main/res/values-da-rDK/exam.xml new file mode 100644 index 0000000000..95c463befa --- /dev/null +++ b/plugins/main/src/main/res/values-da-rDK/exam.xml @@ -0,0 +1,227 @@ + + + Hvad er sandt ved DIA? + Varighed af insulin aktivitet (DIA) + Du skal angive værdien for DIA i din profil. + Den mindst tilladte værdi er 5 timer. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Hvis du er tilfreds med værdien for DIA, som du brugte i din pumpe før AAPS, er der ingen grund til at ændre dette, når du starter looping. + Du bør selv bestemme, hvad den passende værdi af DIA er for dig. + Hypo midlertidig basal + Hvad er den primære årsag til at sætte et hypo midlertidig mål? + For at rette op for hypo, forårsaget af forkerte basal rate indstillinger. + For at forhindre AAPS i at blive overkorrigeret for en stigning i blodsukkeret forårsaget af de hurtigtvirkende kulhydrater, der anvendes til behandling af hypoglykæmi. + At korrigere for hypoglykæmi (Lavt blodsukker) induceret som følge af motion. + For at undgå lav blodglukose, hvis der allerede er en midlertidig basal på 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Hvilken profil kan bruges og konfigureres offline? + Emne: Offlineprofil + NS-profil kan bruges, men ikke konfigureres. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Årsager til anvendelse af \"Afbryd pumpe\" i AAPS + Hvad skal man gøre, når man frakobler pumpen? + Dette er unødvendigt, da insulin ikke vil blive leveret, hvis pumpen er fysisk afbrudt. + Det forhindrer AAPS i at tage højde for insulin, der ikke blev leveret, mens pumpen er fysisk frakoblet. + Det vil ikke stoppe insulinleveringen, hvis pumpen forbliver forbundet. + Det vil sende AAPS i åben loop tilstand. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + AAPS Indstillinger + AAPS Indstillinger + Hvad er den bedste fremgangsmåde for at lave en backup af dine indstillinger? + Du behøver ikke at exportere dine indstillinger, hvis du laver en note af dem. + Eksportér dine indstillinger, når du er færdig med at udføre et objektiv. + Exporter dine indstillinger, når du har ændret nogle af dine indstillinger. + Eksportér dine indstillinger, når du er færdig med den første opsætning, og har angivet dine indstillinger. + Eksportér dine indstillinger lokalt ved hjælp af vedligeholdelsesmenuen. + Dine indstillinger kan findes i mappen Internt Lager/AAPS/preferences på din telefon. + Kopiér dine indstillinger til en sikker placering uden for din telefon (f.eks. ved at bruge et cloud-drev, forbind et kabel fra din telefon til en computer, e-mail osv.) + Hvis din telefon er beskadiget eller blevet væk, kan du nemt gendanne dine indstillinger uden en backup. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + CGM målinger med \"støj\" + Hvad skal der gøres, hvis der er støj i CGM data? + Gør ingenting - AAPS vil håndtere det. + Deaktivér lukket loop for at undgå mulig over- eller underdosering. + Erstat konsekvent støjende eller unøjagtige sensorer. + Kontrollér, at din CGM-app viser udjævnet data. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Øvelser og profiler + Hvordan kan du bruge profiler til at hjælpe systemet med at håndtere motion? + Lav en profil, der skifter til mindre end 100%. + Lav et profilskift der skifter til mere end 100%. + Lad profilen være sat til 100%. + Suspendér Loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Motion og midlertidige basaler + Hvordan kan du bruge midlertidige basaler til bedst muligt at hjælpe systemet med at håndtere motion? + Set et aktivitets blodsukkermål der starter, en passende tid før du begynder motion. + Set et aktivitetsblodsukker efter motion. + Lad dit blodsukker være uændret. + Vent, til blodsukkeret falder under din midlertidige hypo-basal, og spis 15g hurtigt virkende kulhydrater. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Deaktiveret/Suspendéret Loop + Modtager jeg insulin, når Loop er deaktiveret/suspenderet? + Ja, basal insulin fortsætter med at blive levereret. + Nej, levering af insulin er stoppet. + Basal, ISF og I:C testning + Hvornår skal disse værdier valideres? + Før du starter Loop. + Når du oplever hyppig højt eller lavt blodsukker. + Mindst én gang om ugen. + Når de er angivet og valideret, skal disse værdier ikke ændres over tid. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Forudsætninger + Hvad er afgørende for at opsætte og bruge AAPS? + Valideret profilinformationer (Basaler, I:C, ISF, DIA). + En computer med Android Studio installeret og konfigureret. + En understøttet telefon. + En kompatibel insulinpumpe, hvis du har planer om at køre lukket Loop. + Nightscout, for at holde en log over alle data og gennemgå indstillinger. + En Tidepool konto. + En Google konto. + En Github konto. + Erfaring med programmering eller redigering af kode. + En MiniMed 670G pumpe. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Et Smartwatch. + En Understøttet CGM. + Forudsætninger + Hvad er afgørende for at opsætte og bruge AAPS? + Valideret information til at konfigurere en profil (ISF, I:C ratio, basal rate, DIA osv.). + En kompatibel Android-enhed (f.eks. mobil / mobiltelefon, Android-ur eller tablet). + AndroidAPS kræver en internetforbindelse for, at kunne køre i lukket loop. + En understøttet CGM og relevant app til at modtage blodsukkerværdier på telefonen/enheden. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Opdaterer AAPS + Tjek alle de korrekte svar. + Du skal have installeret Git og konfigureret på din computer. + Når opdaterede versioner af AAPS frigives, kan de tidligere versioner fjernbegrænses efter et bestemt tidspunkt. + Du skal gemme og notere placeringen af din keystore og bruge det samme kodeord til opdateringer som ved den forrige installation. + Opdater aldrig, hvis systemet fungerer godt. + Hvis du har svært ved at bygge apk\'en, kan du installere en apk, der er blevet bygget af en ven. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Fejlfinding + Hvor kan du lede efter hjælp til AAPS? + Du kan bede om råd i \"AAPS-users\" Facebook-gruppen. + Du bør læse (og genlæse) AAPS-dokumentationen. + Du kan bede om råd og notere tekniske problemer eller problemer på AAPS Discord. + Du bør spørge din diabetessygeplejerske/endokrinolog. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Hvilken insulin skal du bruge sammen med Ultra-Rapid Oref-pluginnet? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"regulært\" humant insulin. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Sensitivitets plugins + Tjek alle de korrekte svar. + Sensitivitetsplugins giver AAPS mulighed for at justere midlertidigt eller kortvarige ændringer i insulin-følsomheden (f.eks. hormonelle ændringer eller problemer med absorption på infusionsstedet). + Sensitivitetsplugins giver brugeren foreslåede ændringer i basalrater, I:C-forhold og ISF, der kan bruges til at redigere profilen. + Notering af kanyleskift vil nulstille Autosens ratio tilbage til 100%. + Nogle af plugin mulighederne har konfigurerbare tidsintervaller, der kan indstilles af brugeren. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Kulhydrat indtastningsfejl + Hvad gør du, hvis du har lavet en forkert kulhydrat indtastning? + Slet den forkerte indtastning i Behandlinger og indtast korrekte nye kulhydrat værdier. + Bolus med insulin ved hjælp af infusionssætmenuen. + Gør ingenting – AAPS vil foretage de passende justeringer. + Bolus med insulin ved hjælp af knappen (bolus) i oversigt. + Fejl i insulinlevering/indtastning + Hvad skal du gøre hvis du har fået mindre insulin end pumpehistorikken foreslog, f.eks. på grund af en okklusion, mislykket kanyle eller du glemmer at sætte pumpen på igen efter et brusebad? + Slet insulinleveringsdata fra Nightscouts Careportal for at slette det fra pumpehistorikken. + Sammenlign værdier i AAPS og pumpehistorik (hvis pumpen understøtter dette). + Bolus en del af din beregnede \"glemte\" insulin med enten sprøjter / pen eller brug af en kanylefyldning. + Gør ingenting, og lad AAPS korrigere eventuelle resulterende højt blodsukker. + Kulhydrater om bord (COB) + Hvordan ændring af ISF værdi påvirker COB beregning? + Ved øget ISF, vil kulhydrater være længere tid om at absorberes + Ved øget ISF, vil kulhydrater være kortere tid om at absorberes + Øget ISF vil ikke påvirke absorbering af beregnet kulhydrat + Hvordan ændring af IC værdi påvirker COB beregning? + Ved øget IC, vil kulhydrater være længere tid om at absorberes + Ved øget IC, vil kulhydrater være kortere tid om at absorberes + Øget IC vil ikke påvirke absorbering af beregnet kulhydrat + Hvordan skift af profil procent påvirker COB beregning? + Ved indstilling af profil til 150%, vil kulhydrater være længere tid om at absorberes + Ved indstilling af profil til 150%, vil kulhydrater være kortere tid om at absorberes + Ved indstilling af profil til 150%, påvirkes absorbering af beregnet kulhydrat ikke + Insulin om bord (IOB) + IOB-værdi påvirkes af midlertidige basaler. + Høj midlertidlig basal vil ikke blive givet, når dit blodsukker er under målet. + Negative IOB i en længere periode uden motion tyder på, at din profil er for stærk, og at der er behov for mindre insulin i dine indstillinger. + Positiv IOB i en længere periode tyder på insulinresistens eller uanmeldte måltider. + Kulhydrat indtastninger og bolusser + Kun gram skal bruges til at estimere og registrere kulhydrater, der er indtaget. + Kulhydrater der er indtaget, kan blive registreret ved hjælp af et passende udvekslingssystem (F.eks. DAFNE \"CHO\"-udvekslinger eller europæiske \"brød-enheder\"). + AAPS bruger en dynamisk model til at estimere kulhydrat “henfald” og beregne COB. + Hvis blodsukkeret er uden for acceptable værdier (for lavt eller for høj), kan bolusberegneren bruges til at levere forslag til kulhydrat eller insulin korrektioner. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-kulhydrater + Hvad kan du bruge e-kulhydrater (Forlængede kulhydrater) til? + Til at planlægge kulhydrat i fremtiden, evt. uddelt over et interval (svarende til en forlænget bolus, der distribuerer insulin over et interval). + Til at logge \'gratis\' motions kulhydrater du ønsker at skjule fra AAPS. + e-kulhydrater (distribueret i fremtiden) kan hjælpe AAPS i forbindelse med måltider med højt fedt/protein. + Til at registrere redningskulhydrater du bruger til at behandle et lavt bloduskker. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Ekstern overvågning + Hvordan kan du overvåge AAPS (f.eks. for dit barn) eksternt? + AAPSClient app, Nightscout app og Nightscout webside alle giver dig mulighed for at følge AAPS eksternt. + Andre apps (f.eks Dexcom følger appen eller X-drip der kører i følger tilstand) tillader dig at følge nogle parametre (f.eks blodsukker eller sensor værdier), men bruger forskellige algoritmer, så de kan have ukorrekte IOB eller COB værdier. + For at følge AAPS eksternt, skal begge enheder have internetadgang (f.eks. via Wi-Fi eller mobilnetværk). + AAPSClient, der anvendes som ekstern følger, vil både overvåge og give fuld kontrol over AAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Insulinfølsomhedsfaktor (ISF) + En forhøjelse af ISF-værdierne vil føre til mere insulintilførsel for at dække en bestemt mængde kulhydrater. + Reduktion af ISF-værdier fører til mere insulintilførsel for at korrigere for et højt blodsukker. + Forhøjelse eller sænkning af ISF har ingen effekt på insulinlevering, når blodsukker er under målet. + ISF skal indtastes i dine AAPS præferencer. + Ændring af ISF-værdien i din profil er nok til at anvende ændringen. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Du kan bruge mere end en værdi for I:C forholdet i din profil. + Hvis du ændrer din ISF i din profil, bør du også altid ændre dit I:C-forhold. + Insulin til kulhydratforhold (I:C ratio) + Højere I:C-forhold fører til mindre insulin, der leveres til en given mængde af kulhydrater. + Lavere I:C-forhold fører til mindre insulin, der leveres til en given mængde af kulhydrater. + Hvis du har 0 COB, vil en ændring af I:C-forholdet føre til en anden mængde af insulin for at rette en given BS-værdi. + IC vil være anderledes, hvis du tæller brød (udvekslingsenhed) som 10g eller 12g. + IC betydning er: Hvor mange brød (udveksling) enheder er dækket af 1 enhed insulin. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profilskift + Når du angiver et 90% profilskift, hvilke svar er sandt? + Basalrater vil være 10% lavere. + ISF vil være 10% højere. + Værdien af I:C forholdet vil være et 10% lavere tal. + ISF og I:C-forhold vil være uændret. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profilskift + Når du angiver et 120% profilskift, hvilke svar er så sandt? + Blodsukkermålet vil være 20% højere. + Basalrater vil være 20% højere. + Blodsukkermålet vil være uændret. + ISF vil være 20% højere. + Profilskift + Hvis du står op 2 timer tidligere end normalt, hvordan skal du så fortælle AndroidAPS om ændringen i din tidsplan? + Start et profilskift med et tidsskift på 2 + Start et profilskift med et tidsskift på -2 + Sæt et \"Spiser snart\" midlertidlig blodsukkermål. + Lav et profilskift der skifter til mere end 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Ændringer til profiler + Basal rater, ISF, I:C ratioer, mv. skal indstilles i profiler. + Aktivering af ændringer til din Nightscout-profil kræver, at din AAPS-telefon har internetforbindelse. + Redigering af profiler til ændring af værdier er tilstrækkelig til at foretage ændringer. + Der kan oprettes flere profiler og vælges for at tilpasse skiftende omstændigheder (f.eks. hormonelle ændringer, skiftende arbejde, hverdage / weekend livsstil). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Hjælp til basal rater + Hvor skal man gå til, for hjælp til basalrater etc. + Dit diabetes team + Google + Facebook + Anden medicin. Læs sætningen nedenfor, og afkryds derefter afkrydsningsfeltet for at godkende erklæringen. + AAPS reducerer basal rater eller suspenderer insulin-levering for at hæve blodsukkeret. Medicin i klassen SGLT-2-inhibitorer (glifloziner) kan forhindre, at blodsukkeret øges, og derfor kan medføre en farlig insulinmangel, der fører til Ketoacidose. +\nAlmindelige navne er: Invokana ®, Forxiga, Jardiance ®, Steglatro ®, Steglatro ®, Vokanamet ®, Vokanamet ®\n\nI Jeg lover, at jeg ikke vil tage sådanne stoffer, når jeg bruger AAPS eller deaktiverer loop, før jeg bruger sådanne stoffer. + diff --git a/plugins/main/src/main/res/values-da-rDK/objectives.xml b/plugins/main/src/main/res/values-da-rDK/objectives.xml new file mode 100644 index 0000000000..9403d85551 --- /dev/null +++ b/plugins/main/src/main/res/values-da-rDK/objectives.xml @@ -0,0 +1,55 @@ + + + Start + Bekræft + %1$d. Læringsmål + Mål %1$d ikke startet + Mål %1$d ikke startet + Opsætning af visualisering samt overvågning og analyse af basaler og forhold + Kontroller, at BG er tilgængelig i Nightscout, og pumpens insulin data bliver uploadet + Starter på et åbent loop + Kør i Open Loop mode i et par dage og aktiver manuelt masser af midlertidige basaler. Opsæt og brug midlertidige mål og standard midlertidige mål (f.eks. for aktivitet eller hypo behandling) + Forstå dit åbne loop, herunder dens midlertidige basal anbefalinger + Baseret på denne erfaring, beslut hvad max basal skal være og indstil det både på pumpen og i indstillinger + Begynde at bruge lukket loop med lav glukose suspendering + Kør i lukket loop med max IOB = 0 i et par dage uden for mange LGS-begivenheder + Tuning af lukket loop, hæv max IOB over 0 og sænk gradvist BG målet + Kør i et par dage, og mindst én nat uden lave BG alarmer, før du sætter målet for BG ned + Justér om nødvendigt basaler og forhold og aktivér derefter auto-sens + 1 uges vellykket looping i dagtimerne med alle måltider tastet ind + Aktivering af yderligere funktioner til brug i dagtimerne, såsom SMB + Aktiverer automatisering + Du skal læse wikien og hæve maxIOB for at få SMB\'er til at fungere fint! En god start er maxIOB=gennemsnitlig måltidsbolus + 3 x max daglig basal + Læs dokumentationen om hvordan automatisering virker. Opsæt dine første enkle regler. I stedet for handling lad kun AAPS vise notifikation. Når du er sikker på, at automatisering udløses på det rigtige tidspunkt, skal du erstatte notifikationen med reel handling. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + BG tilgængelig i NS + Pumpestatus tilgængelig i NS + Manuelle handlinger + Udført: %1$s + Lær at styre AAPS + Udfør forskellige handlinger i AAPS + Indstil profil til 90% i 10 min (Tryk og hold på profilnavn i Oversigt) + Simulér brusebad. Afbryd pumpen i 1t (Tryk og hold på Open Loop) + ... og genforbind på samme måde + Opret brugerdefinerede midlertidige mål med 10 min varighed (Tryk og hold på dit nuværende mål) + I Konfigurations bygger, aktivér Handlings plugin, gør det synligt og vis dets indhold fra top menuen + Vis indhold af Loop plugin + Brug skala-funktion ved at trykke på BG-diagrammet længe + Indtast + Hvis du har mindst 3 måneders lukket loop erfaring med andre systemer, kan du kvalificere dig til en kode til at springe quizen over. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for detaljer. + Kode accepteret + Kode ugyldig + Bevis din viden + Undersøg spørgsmålene. Du får fire mulige svar på hvert spørgsmål. Der kan være mere end et korrekt svar. Tjek alle dem, der er korrekte, og vælg GODKEND. + Svar deaktiveret indtil: %1$s + Forkert svar! + Næste uafsluttede + Anmod om kode: %1$s + (tjek alle de korrekte svar) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Ingen forbindelse til internettet + Tid kunne ikke hentes + Quiz krav ikke opfyldt + diff --git a/plugins/main/src/main/res/values-da-rDK/strings.xml b/plugins/main/src/main/res/values-da-rDK/strings.xml index 73f6cea44a..9679e6e3e6 100644 --- a/plugins/main/src/main/res/values-da-rDK/strings.xml +++ b/plugins/main/src/main/res/values-da-rDK/strings.xml @@ -1,166 +1,203 @@ - SMS Kommunikator SMS - Fjernstyr AndroidAPS ved hjælp af SMS-kommandoer. - fra Authenticator app til: %1$s efterfulgt af PIN - Yderligere obligatorisk pinkode i slutningen - Yderligere cifre, der skal huskes og påsættes i slutningen af hver genereret engangsadgangskode - Kode, der skal kontrolleres: OTP + PIN - Bekræftelseskoden består af 6 cifre som vises af Autentificerings-app (kendt som OTP) efterfulgt af 3 eller flere cifre i obligatorisk PIN-kode. - Nulstil Autentificering - Nulstil Autentificeringsnøgle - Er du sikker på at du vil nulstille autentificeringsnøgle? Det vil gøre alle aktuelt konfigurerede autentificatorer ugyldige, og du bliver nødt til at sætte dem op igen. - Ny autentificeringsnøgle blev genereret! Brug venligst opdateret QR kode til at levere autentificatorer. - Eksporterer OTP hemmelighed - Er du sikker på, at du vil kopiere OTP hemmelighed til udklipsholderen?\n\nDu behøver den kun, hvis din autentificeringsapp har problemer med at scanne QR kode, du vil indtaste den manuelt, eller du vil konfigurere hardware OTP token ved hjælp af en dedikeret app. - OTP hemmelige (i Base32 format) eksporteret og kopieret til udklipsholder. Indsæt det i autentifikatoren eller hardware OTP brænder! - 1. Installer Authenticator - 2. Scan kode for at opsætte AAPS OTP-koder - 3. Test Engangsadgangskode - Nulstil Autentificering - På hver follower telefon installeres Authenticator app, der understøtter RFC 6238 TOTP tokens. Populære gratis apps er:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Bruger - Tilladte telefonnumre - +XXXXXXXXXX;+YYYYYYYY - For at indstille midlertidig mål %1$s svar med koden %2$s - For at annullere midlertidig mål, svar med koden %1$s - For at deaktivere SMS fjernstyring svar med koden %1$s.\n\nHusk på, at du kun vil være i stand til at genaktivere den direkte fra AAPS-master-smartphone. - SMS fjernstyring stoppet. For at genaktivere det, brug AAPS på master smartphone. - For at sende kalibrering %1$.2f svar med kode %2$s - Bolus mislykkedes - Mindste antal minutter, der skal gå mellem én fjernbolus og den næste - Hvor mange minutter der mindst skal gå mellem en bolus og den næste - Af hensyn til din sikkerhed, skal du tilføje mindst 2 telefonnumre for at redigere denne præference. - Bolus %1$.2fIE leveret succesfuldt - Måltidsbolus %1$.2f IE leveret uden fejl - Mål %1$s i %2$d minutter - Mål %1$s i %2$d minutter er angivet succesfuldt - Midlertidig mål er annulleret succesfuldt - Tillad fjernkommandoer via SMS - Loop er blevet deaktiveret - Loop er blevet aktiveret - Loop er aktiveret - For at forbinde pumpen svar med koden %1$s - Forbindelse til pumpe mislykkedes - For at frakoble pumpen i %1$d minutter, svar med kode %2$s - Pumpe afbrudt - Pumpe tilsluttet igen - Fjernkommandoen er ikke tilladt - Fjernbolus er ikke tilgængelig. Prøv igen senere. - For at starte basal %1$.2f E/t i %2$d minutter svar med kode %3$s - For at skifte profil til %1$s %2$d%% svar med kode %3$s - For at starte udvidet bolus %1$.2f IE i %2$d minnutter svar med koden %3$s - For at indtaste %1$dg ved %2$s svar med kode %3$s - For at starte basal %1$d%% i %2$d minutter svar med kode %3$s - For at suspendere loop i %1$d minutter svar med kode %2$s - For at genoptage loop svar med koden %1$s - For at aktivere loop svar med kode %1$s - For at deaktivere loop, svar med kode %1$s - Temp basal %1$.2fE/t i %2$d min startet med succes - Udvidet bolus %1$.2f IE for %2$d min er startet succesfuldt - Kulhydrater %1$d g angivet med succes - Indtastning af %1$dg kulhydrater mislykkedes - Midlertidig basal %1$d%% E/t i %2$d min startet med succes - Midlertidig basal start mislykkedes - Udvidet bolus start mislykkedes - For at annullere midlertidig blodsukkermål, svar med kode %1$s - For at stoppe forlænget bolus svar med koden %1$s - Midlertidig basal annulleret - Forlænget bolus annulleret - Annullering af midlertidig basal mislykkedes - Annullering af forlænget bolus mislykkedes - Ukendt kommando eller forkert svar - Der er en anden bolus i kø. Prøv igen senere. - Forkert varighed - Loop suspenderet - Loop genoptaget - Ugyldigt SMS telefonnummer - Kalibrering sendt. Modtagelse skal være aktiveret i xDrip+. - xDrip+ modtager ikke kalibreringer - Ugyldigt beskedindhold - Send sms, hvis der udløses en utilgængelig pumpebegivenhed - Rapportér pumpe utilgængeligt Delta: IOB: Bolus: Basal: - QR-kode til opsætning af engangs kodeord - DIA Lyumjev - Insulin forudindstillet til Humalog og NovoRapid / NovoLog - Insulinforudindstilling til Fiasp - Insulin forudindstillet til Lyumjev - Giver dig mulighed for at definere spidsbelastningen af insulin-aktiviteten og bør kun bruges af avancerede brugere INS - IOB Kurve Peak-Tid - Spidstidspunkt [min] - Top Free-Peak Oref Rapid-Acting Oref - DIA af %1$f for kort - bruger %2$f i stedet! - - Vis oplysninger om dit Loop på din xDrip+ urskive. + - Viser forudindstillede madvarer defineret i Nightscout Filter - Mad - kJ - En - Pr - Fedt - Kategori - Underkategori - App Farvetema - Mørkt tema - Lyst tema - Brug enhedens tema LP - Definér en profil, der er tilgængelig offline. - tilføj ny til listen - Enheder: - Manglende profilnavn - Fejl i IC-værdier - Fejl i basal rate værdier - Fejl i målværdier - Fejl i ISF-værdier - Ugyldig profil %1$s blev ikke accepteret fra NS - Vis - Fejl - Vælg profil, du vil redigere - Profilnavn: - tilføj ny profil - klon nuværende profil - slet nuværende profil DIA - IC - ISF - MÅL BAS - Genberegnede data anvendt - BG for tæt:\n%1$s\n%2$s - genberegnet - dobbelt postering - Sommertids ændring inden de næste 24 timer eller mindre - Sommertids ændring mindre end 3 timer siden - Lukket loop deaktiveret - gammel version - meget gammel version - Applikationen er udløbet - Ny version har været tilgængelig i mindst %1$d dage! Falder til LGS efter %2$d dage, loop vil blive deaktiveret efter %3$d dage - Ikke afsluttet endnu - Tid forløbet + Fuldført, godt klaret! + Maksimal IOB sat korrekt + BS tilgængelig fra valgte kilde + Loop aktiveret + APS valgt + Lukket tilstand aktiveret + OBJ + Oplæringsprogram + Vil du nulstille objektiv start? Du kan miste dine fremskridt. + Ryd færdigt + Ryd startet + + Nogle knapper til hurtigt at få adgang til almindelige funktioner + AKT + Værktøjer + Kanyle + Brug af funktionen til forlænget bolus vil stoppe lukket loop mode i det tidsrum, hvor der køres forlænget bolus. Vil du virkelig gøre det? + Forlænget bolus leveringsfejl + Indstik alder + patch pumpe alder + Patch pumpe + + Begrænser udvidet bolus til %1$.1f IE på grund af %2$s + Begrænser kulhydrater til %1$d g på grund af %2$s + Begrænser IOB til %1$.1f IE på grund af %2$s + Pumpe er ikke egnet til midlertidig basal + Lukket loop tilstand deaktiveret i præferencer + UAM deaktiveret, fordi det er afhængig af Oref1 følsomheds pluginnet + Kører dev version. Lukket loop er deaktiveret. + Lukket loop deaktiveret på grund af kørsel af forlænget bolus + SMB altid og efter kulhydrater deaktiveret, fordi den aktive BS kilde ikke understøtter avanceret filtrering + SMB er ikke tilladt i åben loop mode + max værdi i præferencer + hård grænse + Behandlings sikkerhed + Vælg venligst patienttype til opsætning af sikkerhedsgrænser + Barn + Teeanger + Voksen + Insulinresistent voksen + Graviditet + Maks tilladt bolus [IE] + Maks tilladte kulhydrater [g] + Patienttype + Udsæt + Vis statuslys på startskærm + Grænseværdi for insulin-alder [h] + Grænseværdi for kritisk insulin-alder [h] + Grænseværdi advarsel for sensoralder [h] + Grænseværdi for kritisk sensoralder [h] + Grænseværdi advarsel sensor batteriniveau [%] + Grænseværdi kritisk sensor batteriniveau [%] + Grænseværdi for advarsel på pumpens batterialder [h] + Grænseværdi for kritisk advarsel på batterialder [h] + Grænseværdi for advarsel på reservoirniveau [U] + Grænseværdi for kritisk reservoirniveau [U] + Grænseværdi for advarsel på pumpens batteri [%] + Grænseværdi for kritisk advarsel på batteri [%] + Status lys + Kopier indstillinger fra NS + graf + insulin + Diagrammenu + blodglukose kvalitet + blodglucose + forældet + APS Tilstand + Acceptér ny midlertidig basal: + CGM + Lynguide + + Genstart + Afgiver nu + Ryd kø + Vis kø + Kø: + Status: + Fuld synkronisering + Fuld synkronisering? Det kan tage mange timer, og indtil du er færdig, vil du ikke se nye data i NS. + Synkronisering + Profiler, bolusser, kulhydrater, midlertidige basaler uploades til NS + Upload data til NS + Modtag profil lager + Synkronisér profiler fra NS + Modtag midlertidige mål + Accepter midlertidige mål indtastet gennem NS eller NSClient + Modtag profil skift + Accepter profil skift indtastet gennem NS eller NSClient + Modtag APS offline begivenheder + Accepter APS Offline begivenheder indtastet gennem NS eller NSClient + Modtag TBR og EB + Accepter TBR og EB indtastet gennem en anden instans + Modtag insulin + Accepter insulin via NS eller NSClient (det er ikke afgivet, kun beregnet til IOB) + Modtag kulhydrater + Accepter kulhydrater indtastet gennem NS eller NSClient + Modtag behandlingshændelser + Accepter terapihændelser (Kanyle, insulin, batteriskift osv.), der indtastes gennem NS eller NSClient + Modtag/tilbagefyld CGM-data + Accepter CGM-data fra NS + Kør %s? + Reducer upload hastighed + Opret notifikationer fra NS-alarmer + Opret notifikationer fra NS-meddelelser + + Dit brugernavn til Tidepool, normalt din e-mailadresse + Login Brugernavn + Din Tidepool login adgangskode + Login Adgangskode + Test Tidepool Login + Hvis aktiveret, vil uploads gå til https://int-app.tidepool.org i stedet for den almindelige https://app.tidepool.org/ + Brug Integration (test) servere + Tidepool + TDP + Uploader data til Tidepool + Upload CGM data + Upload behandlinger (insulin, kulhydrater) + Upload midlertidige basaler + Upload profilskift, midlertidige mål + Upload BS test + Fjern alle + Nulstil start + Upload nu + + Pumpeintegration til pumper, som endnu ikke har nogen driver (Åbent Loop) + Indstillinger for virtuel pumpe + Upload status til NS + + Downloader BG data fra Nightscout + xDrip+ + Modtag BG-værdier fra xDrip+. + BYODA + BYODA + Modtag BS-værdier fra \'Byg din egen Dexcom App\'. + Eversense App (patched) + Modtag BG værdier fra den patchede Eversense app. + Modtag BG-værdier fra Glimp. + Modtag BG-værdier fra 600SeriesAndroidUploader. + Poctech + Modtag BS-værdier fra Poctech app + Glunovo + Modtag værdier fra Glunovo app + Intelligo + Modtag værdier fra Intelligo-appen + Tomato (MiaoMiao) + Tomato + Modtag BS-værdier fra Tomato-appen (MiaoMiao enhed) + Aidex + Modtag BG-værdier fra GlucoRx Aidex CGMS. + BS upload indstillinger + + Brug mobilforbindelse + Brug Wi-Fi-forbindelse + WiFi SSID + Under opladning + På batteri + Opret annonceringer fra fejl + Opret meddelelser fra kulhydrat krævet advarsler + Opret Nightscout meddelelse for fejldialoger og lokale advarsler (kan også ses i Careportal under Behandlinger) + Opret Nightscout meddelelser fra kulhydrat krævet advarsler + Synkroniserer dine data med NightScout + Blokeret af opladningsmuligheder + Blokeret af forbindelsesmuligheder + OAPS + UPLD + + Original udseende + Lav kvalitets udseende + Knapper vises altid nederst på skærmen + Stort display + Udseende diff --git a/plugins/main/src/main/res/values-de-rDE/exam.xml b/plugins/main/src/main/res/values-de-rDE/exam.xml new file mode 100644 index 0000000000..5e7017a6bf --- /dev/null +++ b/plugins/main/src/main/res/values-de-rDE/exam.xml @@ -0,0 +1,194 @@ + + + Welche Aussagen zum DIA stimmen? + Insulinwirkdauer (DIA) + Definiere den DIA-Wert in Deinem Profil. + Der minimal zulässige Wert ist 5 Stunden. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#insulin + Du solltest den für dich geeigneten DIA selbst festlegen. + Temporäres Ziel für Hypos + Was ist der Hauptgrund, ein Temporäres Ziel für Hypos zu setzen? + Zur Korrektur von Hypos, die durch falsche Basalrateneinstellungen verursacht wurden. + Um eine Hypo zu korrigieren, die durch Bewegung / Sport entstanden ist. + Um ein Absinken des Blutzuckers zu verhindern, wenn bereits eine temporäre Basalrate von 0 % läuft. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html + Welches Profil kann offline verwendet und konfiguriert werden? + Thema: Offline-Profil + NS-Profil kann verwendet, aber nicht konfiguriert werden. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#profil + Was sollte getan werden, wenn die Pumpe getrennt wird? + Nichts, da kein Insulin abgegeben wird, wenn die Pumpe physisch getrennt ist. + Unterbricht die Insulinzufuhr nicht, wenn die Pumpe physikalisch verbunden bleibt. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#andere-einstellungen + Welches ist die empfohlene Vorgehensweise, um ein Backup Deiner Einstellungen zu erstellen? + Du brauchst Deine Einstellungen nicht zu exportieren, sofern Du Dir diese notierst. + Exportiere die Einstellungen nach Abschluss eines Objectives (Ziels). + Exportiere die Einstellungen nach jeder Änderung Deiner Einstellungen. + Exportiere Deine Einstellungen, nachdem Du Deine Ersteinrichtung abgeschlossen und Deine Präferenzen festgelegt hast. + Exportiere Deine Einstellungen lokal über das Wartungs-Menü. + Deine Einstellungsdatei befindet sich im Ordner Internal Storage/AAPS/preferences auf Deinem Smartphone. + Kopieren Deine Einstellungen an einen sicheren Ort außerhalb Deines Telefons (z. durch Verwendung eines Cloud-Laufwerks, Verbindung eines Kabels mit einem Computer, E-Mail, etc.) + Wenn Dein Telefon beschädigt ist oder verloren geht, gibt es einfache Möglichkeiten, Deine Einstellungen ohne Sicherungskopie wiederherzustellen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#was-sollte-ich-fur-den-notfall-immer-dabei-haben + Verrauschte CGM Werte + Was sollte getan werden, wenn CGM-Daten unzuverlässig werden? + Deaktiviere den Loop, um mögliche Über- oder Unterdosierungen zu verhindern. + Ersetze dauerhaft verrauschte oder ungenaue Sensoren. + Vergewissere Dich, dass Deine CGM App geglättete Daten liefert. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html + Sport und Profile + Wie kannst Du Profile verwenden, um das System am besten beim Umgang mit sportlichen Aktivitäten zu unterstützen? + Mache einen Profilwechsel auf unter 100%. + Mache einen Profilwechsel auf über 100% + Belasse das Profil auf 100%. + Stoppe den Loop. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html#aktivitaten-temp-target + Sport und temporäre Ziele + Wie kannst Du temporäre Ziele verwenden, um das System am besten beim Umgang mit sportlichen Aktivitäten zu unterstützen? + Setze ein Aktivitätsblutzuckerziel, welches angemessene Zeit vor dem Sport beginnt. + Richte nach dem Training ein Aktivitätsblutzuckerziel ein. + Lasse Dein Blutzuckerziel unverändert. + Warte, bis die Blutglukose unter das temporäre Hypoziel abfällt und esse dann 15 g schnell wirkende Kohlenhydrate. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/temptarget.html#aktivitaten-temp-target + Deaktiviere/Pausiere den Loop + Bekomme ich Insulin, wenn der Loop deaktiviert/pausiert ist? + Ja, Basalinsulin wird weiter abgegeben. + Nein, die Insulinabgabe ist gestoppt. + Basal-, ISF-und I:C-Tests + Wann sollten diese Werte überprüft werden? + Bevor ich beginne zu loopen. + Bei häufig hohen oder niedrigen Blutzuckerwerten. + Mindestens einmal pro Woche. + Einmal gesetzt und überprüft, sollten sich diese Werte im Laufe der Zeit nicht ändern. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#androidaps-einstellungen + Voraussetzungen + Überprüfe die Profil-Einstellungen (Basal, IC, ISF, DIA). + Ein Computer mit installiertem und konfiguriertem Android Studio. + Ein unterstütztes Smartphone. + Eine kompatible Insulinpumpe, wenn Du einen Closed Loop planst. + Nightscout, um ein Protokoll aller Daten zu erhalten und Einstellungen zu überprüfen. + Ein Tidepool-Konto. + Ein Google-Konto. + Ein Github-Konto. + Erfahrung im Programmieren oder Bearbeiten von Codes. + Eine Medtronic 670G Insulinpumpe. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html + Eine Smartwatch. + Ein unterstütztes CGM. + Voraussetzungen + Überprüfte und belastbare Profileinstellungen (ISF, I:C Verhältnis, Basalraten, DIA etc.). + Ein kompatibles Android-Gerät (z.B. Handy, Android-Uhr oder Tablet). + Ein unterstütztes CGM und eine passende App, um Blutzuckerwerte auf dem Gerät zu erhalten. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html + Kreuze alle richtigen Antworten an. + Du musst Git auf Deinem Computer installiert und konfiguriert haben. + Du solltest den Speicherort des Keystores speichern und immer den gleichen Signaturschlüssel für Updates verwenden wie für die vorherige Installation. + Nie updaten, wenn das System stabil läuft. + Wenn Du Schwierigkeiten beim Erstellen der apk hast, kannst Du eine apk installieren, die von einem Freund erstellt wurde. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Update-to-new-version.html + Problembehandlung + Du solltest Deine Diabetesklinik / Deinen Diabetologen fragen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Update-to-new-version.html#problembehandlung + https://www.facebook.com/groups/loopedDE/ + https://discord.gg/4fQUWHZ4Mw + Welches Insulin kann mit dem Ultra-Rapid-Oref-Plugin verwendet werden? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"normales\" Humaninsulin + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Config-Builder.html#insulin + Empfindlichkeits-Plugins + Kreuze alle richtigen Antworten an. + Sensitivitäts-Plugins liefern dem Benutzer Vorschläge für Änderungen an Basalraten, I:C-Verhältnissen und ISF, die zur Bearbeitung des Profils verwendet werden können. + Das Protokollieren eines Kanülenwechsels setzt das Autosens Verhältnis wieder auf 100% zurück. + Einige der Plugin-Optionen haben konfigurierbare Zeiträume, die vom Benutzer eingestellt werden können. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/de/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Fehler bei der KH-Eingabe + Was sollst Du tun, wenn Du einen falschen KH-Eintrag gemacht hast? + Lösche die falsche Eingabe in der Behandlung und gib den richtigen neuen Kohlehydratwert ein. + Nutze den Befehl zum Befüllen des Infusionssets für einen Bolus. + Bolus mit Insulin mit dem Insulin-Button in der Übersicht. + Fehler bei Insulinabgabe/Eintrag + Wie solltest Du vorgehen, wenn Du weniger Insulin im Körper hast als in der Pumpenhistorie vermerkt - z.B. durch eine Verstopfung, Kanülenfehler oder eine nach dem Duschen nicht wieder angekoppelte Pumpe? + Lösche Insulindaten im Nightscout careportal, um sie aus der Pumpenhistorie zu entfernen. + Gib einen Teil-Bolus des \'nicht erhaltenen\' Insulins mit Spritze / Pen oder durch Befüllen der Kanüle. + KH an Board (COB) + Wie beeinflusst das Ändern des ISF-Wertes die COB-Berechnung? + Steigende ISF absorbiert Kohlenhydrate länger + Steigende ISF absorbiert Kohlenhydrate kürzer + Steigende ISF verändert die Dauer für die Kohlenhydrataufnahme nicht + Wie beeinflusst das Ändern des ISF-Wertes die COB-Berechnung? + Steigende IC absorbiert Kohlenhydrate länger + Steigende IC absorbiert Kohlenhydrate kürzer + Steigende IC verändert die Zeit für die Kohlenhydrataufnahme nicht + Wie beeinflusst die Änderung des Profil-Prozentsatzes die COB-Berechnung? + Die Einstellung des Profils auf 150% verlängert die Zeit für Kohlenhydrataufnahme + Die Einstellung des Profils auf 150% verkürzt die Zeit für Kohlenhydrataufnahme + Die Einstellung des Profils auf 150% verändert die Zeit für die Kohlenhydrataufnahme nicht + Aktives Insulin (IOB) + IOB wird von den abgegebenen temporären Basalraten beeinflusst. + Eine hohe temporäre Basalrate wird nicht abgegeben, wenn der BZ unterhalb des Zielwerts liegt. + Ein negativer IOB über einen längeren Zeitraum bei fehlender Bewegung deutet darauf hin, dass Dein Profil zu stark ist und weniger Insulin in Deinen Einstellungen benötigt wird. + Ein positiver IOB über einen längeren Zeitraum deutet auf eine Insulinresistenz oder unangekündigte Mahlzeiten hin. + Kohlenhydrat-Eingaben und Boli + Zur Abschätzung und Eingabe von Kohlenhydraten sollten nur Gramm als Einheit verwendet werden. + Aufgenommene Kohlenhydrate können in einem geeigneten Austauschformat (z.B. Broteinheiten oder DAFNE \"CHO\" exchanges) eingegeben werden. + Wenn die Blutzuckerwerte außerhalb der akzeptablen Werte liegen (zu niedrig oder zu hoch), kann der Bolusrechner verwendet werden, um Vorschläge für Kohlenhydrat- oder Insulinkorrekturen zu machen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#insulin-kohlenhydrat-verhaltnis-insulin-to-carb-ratio-ic-g-u + E-carbs + Wofür können E-Carbs (\"verlängerte Kohlenhydrate\") verwendet werden? + Zum Einplanen von Kohlenhydraten in der Zukunft, meist über ein Intervall verteilt (ähnlich wie bei einem verlängerten Bolus, der Insulin über ein Intervall verteilt). + Für die Protokollierung von Hypo-BEs bei der Behandlung niedriger Werte. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Extended-Carbs.html + Kontrolle aus der Ferne + Andere Apps (z. B. Dexcom Follow, xDrip+ im Follow-Modus) ermöglichen es, einige Parameter (z. B. Blutzucker-/Sensorwerte) aus der Ferne zu verfolgen, verwenden jedoch andere Algorithmen und können daher ungenaue IOB- oder COB-Werte aufweisen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Children/Children.html + Insulinsensibilitätsfaktor (ISF) + Eine Erhöhung der ISF-Werte führt zu einer höheren Insulinabgabe, um eine bestimmte Menge an Kohlenhydraten abzudecken. + Reduzierte ISF-Werte führen zu einer höheren Insulinabgabe zur Korrektur eines über dem Zielwert liegenden Blutzuckers. + Das Erhöhen oder Senken des ISF hat keinen Einfluss auf die Insulinabgabe, wenn der Blutzuckerspiegel unter dem Zielwert liegt. + Wenn Du einen ISF-Wert im Profil änderst, wird dies sofort vom Loop berücksichtigt. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#korrekturfaktor-isf-mg-dl-ie-oder-mmol-l-ie + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html + Du kannst mehr als einen Wert für das I:C-Verhältnis in Deinem Profil verwenden. + Wenn Du den ISF in Deinem Profil änderst, solltest Du immer auch Dein I:C-Verhältnis anpassen. + Insulin zu Kohlenhydratverhältnis (I:C-Verhältnis) + Ein höheres I:C-Verhältnis bedeutet, dass weniger Insulin für die vorgegebene Menge an KH abgegeben wird. + Ein niedrigeres I:C-Verhältnis bedeutet, dass weniger Insulin für die vorgegebene Menge an KH abgegeben wird. + Das Ändern des IC-Verhältnisses bedeutet, dass bei 0 COB eine andere Menge an Insulin zur Korrektur eines vorgegebenen BZ-Wertes abgegeben wird. + Der IC-Wert wird sich unterscheiden, je nachdem, ob Du eine Broteinheit (BE) mit 10g oder mit 12g berechnest. + IC bedeutet: Anzahl BE, die durch eine Einheit Insulin abgedeckt werden + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#kh-faktor-carbohydrate-to-insulin-ratio-cr-g-ie + Profilwechsel + Welche Antworten sind bei der Einstellung eines Profilwechsels von 90% wahr? + Die Basalrate ist um 10 % niedriger. + ISF wird um 10% höher sein. + Der Wert für das Verhältnis I:C wird um 10% niedriger sein. + ISF-und I:C-Werte werden unverändert bleiben. + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html#prozentsatz + Profilwechsel + Welche Antworten sind bei der Einstellung eines Profilwechsels von 120% wahr? + Das Blutzuckerziel wird um 20 % höher sein. + Die Basalrate wird um 20 % höher sein. + Das Blutzuckerziel wird unverändert sein. + ISF wird um 20% höher sein. + Profilwechsel + Profilwechsel mit einer Zeitverschiebung von +2 + Profilwechsel mit einer Zeitverschiebung von -2 + Setze ein temporäres Ziel \"bald essen\". + Mache einen Profilwechsel auf über 100% + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Profiles.html#zeitverschiebung + Änderungen an Profilen + Basalraten, ISF, I:C-Verhältnisse, etc., sollten in Profilen gesetzt werden. + Das Bearbeiten von Profilen zur Änderung von Werten reicht aus, um alle vorgenommenen Änderungen durchzuführen. + Es können mehrere Profile erstellt und ausgewählt werden, um sich verändernden Umständen anzupassen (z.B. hormonelle Veränderungen, Schichtarbeit, Wochentage/Wochenend-Lebensstil). + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Module/module.html#gute-individuelle-profileinstellungen-fur-deine-diabetes-therapie + Hilfe bei Basalraten + An wen solltest Du Dich wenden, wenn Du Unterstützung zur Einstellung Deiner Basalrate etc. brauchst? + Dein Diabetes-Team + Google + Facebook + Andere Medikation. Bitte lies die Erklärung unten und markiere dann das Kästchen, um die Erklärung zu akzeptieren. + diff --git a/plugins/main/src/main/res/values-de-rDE/objectives.xml b/plugins/main/src/main/res/values-de-rDE/objectives.xml new file mode 100644 index 0000000000..3c2fbc07f7 --- /dev/null +++ b/plugins/main/src/main/res/values-de-rDE/objectives.xml @@ -0,0 +1,54 @@ + + + Start + Bestätigen + %1$d. Objective (Ziel) + Objective %1$d nicht begonnen + Objective %1$d nicht abgeschlossen + Einrichten der Anzeige und Überwachung sowie Analysieren der Basalraten und Faktoren + Prüfe, ob der BZ-Wert in Nightscout angezeigt wird und die - Pumpen-Insulin-Daten erfolgreich hochgeladen werden + Beginne im Open Loop Modus + Probiere den Open Loop Modus für ein paar Tage aus und setze manuell ganz viele temporäre Basalraten. Richte temporäre Ziele ein und nutze sie (z.B. für Aktivität oder bei KH zur Hypobehandlung) + Versuche, den Open Loop und seine Empfehlungen für temporäre Basalraten nachzuvollziehen + Entscheide, wie hoch demzufolge max Basal sein sollte und übernimm diesen Wert in die Pumpe und in die AAPS-Einstellungen + Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten + Probiere den Closed Loop Modus mit max IOB = 0 für ein paar Tage aus, ohne zu viele Unterzuckerungen zu haben + Passe den Closed Loop an, indem du max IOB auf über 0 erhöhst und den BZ-Zielwert langsam heruntersetzt + Bevor Du den Zielwert niedriger einstellst, musst Du einige Tage Erfahrung sammeln und mindestens eine Nacht ohne Hypoalarm schaffen + Passe Basalraten und Faktoren bei Bedarf an und schalte anschließend Autosens ein. + Loope eine Woche tagsüber mit regelmäßiger Kohlenhydrat-Eingabe + Aktiviere zusätzliche Funktionen für die Nutzung tagsüber wie z. B. SMB + Automatisierung aktivieren + Lies das Wiki und erhöhe maxIOB, damit der SMB gut funktioniert. Ein guter Anfang ist +die Formel maxIOB = durchschnittlicher Essensbolus + 3 x höchste Basalrate + Lies in der Dokumentation nach, wie Automation funktioniert. Richte dir erst einfache Regeln ein. Zunächst sollte AAPS keine Änderungen vornehmen, sondern dir nur eine Benachrichtigung anzeigen. Wenn du dir sicher bist, dass die Automation im richtigen Moment angetriggert wird, dann kannst du die Benachrichtigung durch eine Aktion ersetzen (https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Automation.html) + BZ in Nightscout verfügbar + Pumpen-Status in Nightscout verfügbar + Manuelle Aktionen + Erfüllt: %1$s + Setzte das Profil für 10 Min. auf 90% (drücke dazu lange auf deinen Profilnamen im Homescreen) + Simuliere das Duschen . Trenne die Pumpe für 1 Std. (drücke dazu lang auf Open Loop im Homescreen) + ...und verbinde die Pumpe auf dieselbe Weise wieder + Erstelle ein benutzerdefiniertes temporäres Ziel mit 10 Min. Dauer (drücke lang auf Deinen aktuellen Zielwert im Homescreen) + Aktiviere das Plugin \"Aktionen\" unter Konfiguration, mache es sichtbar und rufe es über das obere Menü auf + Zeige den Inhalt des Loop-Plugins an + Nutze die Skalierfunktion. Drücke dazu lange auf das BZ-Diagramm + OK + Wenn Du mindestens 3 Monate Closed-Loop-Erfahrung mit einem anderen System hast, kannst Du evtl. einen Code zum Überspringen der Objektives erhalten. Weitere Details unter https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Objectives.html#objectives-ziele-uberspringen. + Code akzeptiert + Code ungültig + Prüfe Dein Wissen + Beschäftige dich mit den Fragen. Dir werden für jede Frage vier Antwortmöglichkeiten vorgegeben. Es kann mehr als eine richtige Antwort geben. Bitte hake alle richtigen an und wähle BESTÄTIGEN. + Frage gesperrt bis: %1$s + Falsch! + Nächste offene + Code anfordern: %1$s + (Kreuze alle richtigen Antworten an) + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/FAQ.html#was-mache-ich-wenn-ich-duschen-oder-ein-bad-nehmen-mochte + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#die-startseite + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#konfiguration + https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Getting-Started/Screenshots.html#die-startseite + Keine Verbindung zum Internet + Abruf der Uhrzeit fehlgeschlagen + Anforderungen des Zieles nicht erfüllt + diff --git a/plugins/main/src/main/res/values-de-rDE/strings.xml b/plugins/main/src/main/res/values-de-rDE/strings.xml index 3e7c523db3..6798ca9d19 100644 --- a/plugins/main/src/main/res/values-de-rDE/strings.xml +++ b/plugins/main/src/main/res/values-de-rDE/strings.xml @@ -1,163 +1,204 @@ - SMS-Kommunikator SMS - von der Authenticator App für: %1$s gefolgt von der PIN - Zusätzliche obligatorische PIN am Token-Ende - Zusätzliche Ziffern, die auswendig gelernt und am Ende jedes generierten Einmal-Passworts angehängt werden sollten. - Zu prüfender Code: OTP + PIN - Der Verifizierungscode besteht aus 6 Ziffern, die von Authenticator App (auch OTP genannt) angezeigt werden, gefolgt von 3 oder mehr Ziffern der obligatorischen PIN. - Authentifikators zurücksetzen - Authentifikatorschlüssel zurücksetzen - Willst Du wirklich den Authentifikatorschlüssel zurücksetzen? Dies wird alle momentan genutzten Authentifikatoren ungültig machen und Du musst sie neu einrichten. - Neuer Authentifizierungsschlüssel generiert! Bitte verwende den aktualisierten QR-Code für die Bereitstellung von Authentifikatoren. - OTP-Secret exportieren - Willst Du wirklich das OTP Secret in die Zwischenablage kopieren?\n\nDas ist nur erforderlich, wenn Deine Authentifizierungs-App Probleme mit dem Scannen des QR-Codes hat. Du kannst es auch manuell eingeben oder einen Hardware-OTP-Token mit einer bestimmten App verwenden. - OTP Secret (im Base32 Format) exportiert und in die Zwischenablage kopiert. Setze es von dort in Deine Authentifizierungs-App ein. - 1. Authentifikator installieren - 3. Teste das Einmal-Passwort - Authentifikators zurücksetzen - Installiere auf jedem Follower-Phone eine Authenticator-App, die RFC 6238 TOTP-Token unterstützt. Beliebte kostenlose Apps sind:\n Authy\n Google Authenticator\n LastPass Authenticator\n FreeOTP Authenticator - Nutzer - Erlaubte Telefonnummern +XXXXXXXXXX;+YYYYYYYYYY - Um ein temporäres Ziel von %1$s zu setzen, antworte mit dem Code %2$s - Um das temporäre Ziel zu stoppen, antworte mit dem Code %1$s - Um die SMS-Fernsteuerung zu deaktivieren, antworte mit dem Code %1$s\n\nBeachte, dass Du diesen nur am AAPS-Master-Smartphone wieder aktivieren kannst. - SMS-Fernsteuerung gestoppt. Verwende das AAPS-Master-Smartphone, um sie wieder zu aktivieren. - Um die Kalibrierung %1$.2f zu senden, antworte mit dem Code %2$s. - Bolus fehlgeschlagen - Minimale Dauer in Minuten, die nach einem Remote-Bolus verstrichen sein muss, bevor ein neuer abgegeben werden kann. - Anzahl der Minuten, die mindestens zwischen zwei Remote-Bolusabgaben liegen müssen. - Aus Sicherheitsgründen musst Du mindestens zwei Telefonnummern eintragen, um diese Voreinstellung zu ändern. - Bolus %1$.2f IE erfolgreich abgegeben - Mahlzeiten-Bolus %1$.2f IE erfolgreich abgegeben - Ziel %1$s für %2$d Minuten - Ziel %1$s für %2$d Minuten erfolgreich gesetzt. - Temporäres Ziel wurde erfolgreich abgebrochen - Erlaube Fernsteuerung per SMS - Loop wurde deaktiviert. - Lopp wurde aktiviert. - Loop ist aktiviert. - Um die Pumpe zu verbinden, antworte mit dem Code %1$s - Verbindung zur Pumpe fehlgeschlagen - Um die Verbindung zur Pumpe für %1$d Minuten zu trennen, antworte mit dem Code %2$s - Verbindung zur Pumpe getrennt - Verbindung zur Pumpe wiederhergestellt - Ferngesteuerte Befehle sind nicht erlaubt. - Bolusabgabe aus der Ferne nicht verfügbar. Versuche es später erneut. - Um eine Basalrate von %1$.2f IE/h für %2$d Minuten zu setzen, antworte mit dem Code %3$s - Um das Profil auf %1$s %2$d%% zu setzen, antworte mit dem Code %3$s - Um einen Verzögerungs-Bolus von %1$.2f IE über %2$d Minuten abzugeben, antworte mit dem Code %3$s - Um %1$dg Kohlenhydrate um %2$s einzugeben, antworte mit dem Code %3$s - Um die Basalrate von %1$d%% für %2$d Minuten zu setzen, antworte mit dem Code %3$s - Um das Loopen für %1$d Minuten zu pausieren, antworte mit dem Code %2$s. - Um den Loop fortzusetzen, antworte mit dem Code %1$s - Um den Loop zu aktivieren, antworte mit dem Code %1$s - Um den Loop zu deaktivieren, antworte mit dem Code %1$s - TBR mit %1$.2f IE/h für %2$d min wurde erfolgreich gestartet. - Der erweiterte Bolus %1$.2f IE/h für %2$d Minuten wurde erfolgreich gestartet - %1$d g Kohlenhydrate erfolgreich erfasst - Eingabe von %1$d g Kohlenhydraten ist fehlgeschlagen. - Die temporäre Basalrate wurde erfolgreich für %2$d Minuten auf %1$d%% gesetzt. - Das Starten der TBR ist fehlgeschlagen. - Die Abgabe des erweiterten Bolus ist fehlgeschlagen. - Antworte mit dem Code %1$s, um die temporäre Basalrate zu beenden. - Antworte mit dem Code %1$s, um den erweiterten Bolus zu beenden. - TBR abgebrochen - Die Abgabe des erweiterten Bolus wurde abgebrochen. - Das Abbrechen der TBR ist fehlgeschlagen. - Der Abbruch des erweiterten Bolus ist fehlgeschlagen. - Unbekannter Befehl oder falsche Antwort - In der Warteschlange befindet sich ein weiterer Bolus. Bitte später erneut versuchen. - Falsche Dauer - Loop pausiert - Loop wurde fortgesetzt - Falsche/ungültige Telefonnummer - Kalibrierung gesendet. Das Empfangen von Kalbrierungen muss in xDrip+ aktiviert sein+. - xDrip+ erhält keine Kalibrierungen - Ungültiger Inhalt - SMS senden, wenn Pumpe nicht erreichbar - Hinweis Pumpe nicht erreichbar Delta: IOB: Bolus: Basal: - QR Code für einmaliges Passwort einrichten - DIA Lyumjev - Insulinprofil für Humalog und NovoRapid / NovoLog - Insulinprofil für Fiasp - Insulin-Voreinstellung für Lyumjev - Erlaubt dir, das Wirkmaximum der Insulinaktivität zu definieren, und sollte nur von erfahrenen Anwendern genutzt werden INS - Wirkungshoch der IOB-Kurve - Wirkungshoch [min] - Gipfel Free-Peak Oref Rapid-Acting Oref - DIA von %1$f ist zu kurz - AAPS nutzt stattdessen %2$f! - - Zeige Loop-Informationen auf Deinem xDrip+-Watchface. + - Zeigt die Essensvorlagen aus Nightscout an Filter - Essen - kJ - En - Prot - Ft - Kategorie - Unterkategorie - App Farbschema - Dunkles Design - Helles Design - Systemdesign verwenden LP - Definiere ein Profil, was auch offline verfügbar ist. - neu zur Liste hinzufügen - Einheiten: - Fehlender Profilname - Fehler in IC-Werten - Fehler in den Basalwerten - Fehler in den Zielwerten - Fehler in ISF-Werten - Ungültiges Profil %1$s wurde von NS nicht akzeptiert - Ansicht - Fehler - Profil zum Bearbeiten auswählen - Profilname: - Neues Profil hinzufügen - aktuelles Profil klonen (kopieren) - aktuelles Profil löschen DIA - IC - ISF - ZIEL BAS - Verwendete Daten neu berechnet - BZ zu nah:\n%1$s\n%2$s - neu berechnet - doppelte Einträge - Zeitumstellung in weniger als 24 Stunden - Zeitumstellung vor weniger als 3 Stunden - Closed Loop deaktiviert - Vorherige Version - sehr alte Version - Anwendung abgelaufen - Neue Version seit mindestens %1$d Tagen verfügbar! Rückfall zur sensorunterstützten Pumpentherapie nach %2$d Tagen, Loop wird nach %3$d Tagen deaktiviert. - Verstrichene Zeit + Abgeschlossen, gut gemacht! + Maximales IOB richtig gesetzt + BZ verfügbar von gewählter Quelle + Loop aktiviert + APS ausgewählt + Closed mode aktiviert + ZIEL + Das Programm kennenlernen + Möchtest Du den Start der Ziele zurücksetzen? Du verlierst Deine Fortschritte. + Ziel erneut öffnen + Ziel neu starten + + Einige Schaltflächen, um auf häufig verwendete Funktionen zugreifen zu können. + AKT + Tools + Kanüle + Die Verwendung eines Verzögerungsbolus unterbricht dem Closed Loop Modus für die Dauer des Verzögerungsbolus. Willst Du das wirklich? + Fehler bei der Abgabe eines verzögerten Bolus + Kanülenalter + Alter Patchpumpe + Patch-Pumpe + + Begrenze verzögerten Bolus auf %1$.1f IE wegen %2$s + Begrenze Kohlenhydrate auf %1$d g wegen %2$s + Begrenze IOB auf %1$.1f IE wegen %2$s + Pumpe verfügt nicht über temporäre Basalraten + Closed-Loop-Modus in den Einstellungen deaktiviert + UAM deaktiviert, da diese auf die Oref1 Empfindlichkeitserkennung angewiesen sind. + Entwickler-Version, Closed Loop ist nicht verfügbar. + Closed Loop wegen Verzögerungsbolus unterbrochen + SMB wird immer und nach Kohlenhydraten deaktiviert, weil die aktive BZ-Quelle keine geeignete Filterung der Werte unterstützt. + SMB sind im Open Loop Modus nicht erlaubt + Max. Wert in den Einstellungen + festem Grenzwert + Sicherheitseinstellungen der Behandlungen + Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen + Kind + Teenager + Erwachsener + Insulinresistenter Erwachsener + Schwangerschaft + Max. erlaubter Bolus [IE] + Max. erlaubte Kohlenhydrate [g] + Patiententyp + Schlummern + Statusanzeige auf Homescreen + Warnschwelle Insulinalter [h] + Warnschwelle kritisches Insulinalter [h] + Warnschwelle Sensoralter [h] + Warnschwelle kritisches Sensoralter [h] + Warnschwelle Sensor-Akkustand [%] + Warnschwelle kritischer Sensor-Akkustand [%] + Warnschwelle Pumpenbatterie-Alter [h] + Warnschwelle kritisches Pumpenbatterie-Alter [h] + Warnschwelle Reservoirstand [IE] + Warnschwelle kritischer Reservoirstand [IE] + Warnschwelle Pumpenbatterie-Stand [%] + Warnschwelle kritischer Pumpenbatterie-Stand [%] + Statusanzeige + Einstellung aus NS kopieren + Diagramm + Insulin + Diagrammmenü + BZ-Qualität + Blutzucker + veraltet + APS-Modus + Akzeptiere neue TBR: + CGM + QuickWizard + + Neustart + Jetzt abgeben + Warteschlange leeren + Zeige Warteschlange + Warteschlange: + Status: + Vollständige Synchronisierung + Vollständige Synchronisierung? Es kann viele Stunden dauern und bis zur Fertigstellung wirst du keine neuen Daten in NS sehen. + Synchronisierung + Profile, Boli, Kohlenhydrate und temporäre Basalraten werden zu NS hochgeladen + Daten zu NS hochladen + Gespeicherte Profile abrufen + Profile mit NS Profil-Editor synchronisieren + Temporäre Ziele abrufen + Temp. Ziele akzeptieren, die in NS oder NSClient eingegeben wurden + Profilwechsel abrufen + Profilwechsel akzeptieren, die in NS oder NSClient eingegeben wurden + APS Offline-Ereignisse empfangen + APS Offline-Ereignisse akzeptieren, die über NS oder NSClient eingegeben wurden + TBR und EB empfangen + Akzeptiere TBR und EB, die von einer anderen Instanz eingegeben wurden + Insulin abrufen + Insulin akzeptieren, das in NS oder NSClient eingegeben wurden + Kohlenhydrate abrufen + Kohlenhydrate akzeptieren, die in NS oder NSClient eingegeben wurden + Ereignisse abrufen + Ereignisse (Kanülen-, Ampullen-, Batteriewechsel etc.) akzeptieren, die in NS oder NSClient eingegeben wurden + Historische CGM Daten ergänzen + CGM Daten von NS akzeptieren + %s ausführen? + Hochladen verlangsamen + Benachrichtigungen über NS-Alarme + Benachrichtigungen über NS-Ankündigungen + + Dein Tidepool-Login-Benutzername, normalerweise deine E-Mail-Adresse + Login-Benutzername + Dein Tidepool Anmeldekennwort + Anmeldekennwort + Teste den Tidepool Login + Wenn diese Option aktiviert ist, werden die Uploads an https://int-app.tidepool.org statt an die reguläre https://app.tidepool.org/ weitergeleitet + Integrations (Test) Server verwenden + Tidepool + TDP + Daten zu Tidepool hochladen + CGM Daten hochladen + Behandlungen (Insulin, Kohlenhydrate) hochladen + Temporäre Basalrate hochladen + Profilwechsel und temporäre Ziele hochladen + BZ-Werte (blutig) hochladen + Alle entfernen + Start zurücksetzen + Jetzt hochladen + + Pumpenintegration für Pumpen, die noch nicht über einen Treiber verfügen (Open Loop) + Einstellungen der virtuellen Pumpe + Status zu Nightscout hochladen + + Lade Blutzuckerdaten von Nightscout + xDrip+ + Empfange Blutzuckerwerte von xDrip+. + BYODA + BYODA + Erhalte BZ-Werte von der \'Build Your Own Dexcom App\'. + Eversense App (gepatcht) + Empfange BZ-Werte von der gepatchten Eversense-App. + Empfange Blutzuckerwerte von Glimp. + Empfange Blutzuckerwerte vom 600SeriesAndroidUploader. + Poctech + Empfange Blutzucker-Werte von der Poctech-App. + Glunovo + Werte von der Glunovo App erhalten + Intelligo + Empfange Werte von der Intelligo App + Tomato (MiaoMiao) + Tomato + Empfange Blutzucker-Werte von der Tomato-App (MiaoMiao-Geräte) + Aidex + Erhalte BG-Werte von GlucoRx Aidex CGMS. + BZ Upload Einstellungen + + Mobilfunkverbindung verwenden + WLAN Verbindung verwenden + WLAN SSID + Während des Ladevorgangs + Bei Batteriebetrieb + Ankündigungen aus Fehlern generieren + Benachrichtigungen aus KH-Vorschlags-Alarmen erzeugen + Erstelle Nightscout-Ankündigungen für Fehler-Dialoge und lokale Alarme (auch einsehbar im Careportal unter \"Behandlungen\"). + Nightscout-Benachrichtigungen aus KH-Vorschlags-Alarmen erzeugen + Synchronisiert deine Daten mit Nightscout + Blockiert durch Ladeoptionen + Blockiert durch Verbindungsoptionen + OAPS + UPLD + + Ursprüngliches Erscheinungsbild + Darstellung niedrige Auflösung + Schaltflächen werden immer am unteren Rand des Bildschirms angezeigt + Großer Bildschirm + Erscheinungsbild diff --git a/plugins/main/src/main/res/values-el-rGR/exam.xml b/plugins/main/src/main/res/values-el-rGR/exam.xml new file mode 100644 index 0000000000..fdce573d26 --- /dev/null +++ b/plugins/main/src/main/res/values-el-rGR/exam.xml @@ -0,0 +1,54 @@ + + + Ποια είναι η αλήθεια για το DIA; + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Ποιο προφίλ μπορεί να χρησιμοποιηθεί και να διαμορφωθεί χωρίς σύνδεση; + Θέμα: Προφίλ Εκτός Σύνδεσης + Το προφίλ NS μπορεί να χρησιμοποιηθεί, αλλά όχι να ρυθμιστεί. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Τι πρέπει να γίνει όταν αποσυνδέεται η αντλία; + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Τι πρέπει να κάνετε αν τα δεδομένα του CGM έχουν θόρυβο; + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Λαμβάνω ινσουλίνη όταν το κύκλωμα είναι απενεργοποιημένο/αναστολή; + Ναι, ο βασικός ρυθμός συνεχίζει να χορηγείται. + Όχι, η χορήγηση ινσουλίνης σταμάτησε. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Έγκυρες πληροφορίες προφίλ (Βασικός, IC, ISF, DIA). + Ένα τηλέφωνο που υποστηρίζεται. + Ένα Tidepool λογαριασμό. + Ένα λογαριασμό Google. + Ένα λογαριασμό Github. + Μία αντλία MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Ένα Smartwatch. + Ένα Υποστηριζόμενο CGM. + Ποτέ μην αναβαθμίζετε εάν το σύστημα λειτουργεί καλά. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Fiasp® + Humalog® + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Τι πρέπει να κάνετε αν γίνει μια λανθασμένη εισαγωγή υδατανθράκων; + e-carbs + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Η αλλαγή της τιμής της ISF στο προφίλ σας είναι αρκετό για να εφαρμόσετε την αλλαγή αυτή. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Αν έχετε 0 COB Ενεργούς Υδατ., αλλάζοντας την αναλογία IC θα οδηγήσει σε μια διαφορετική ποσότητα ινσουλίνης για να διορθωθεί μια συγκεκριμένη τιμή BG. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Πού θα πάτε για βοήθεια με Βασικό ρυθμό κτλ. + Στην ομάδα του γιατρού σας + Google + FaceBook + diff --git a/plugins/main/src/main/res/values-el-rGR/objectives.xml b/plugins/main/src/main/res/values-el-rGR/objectives.xml new file mode 100644 index 0000000000..b366654f4f --- /dev/null +++ b/plugins/main/src/main/res/values-el-rGR/objectives.xml @@ -0,0 +1,49 @@ + + + Έναρξη + Επικύρωση + %1$d. Στόχος + Ο στόχος %1$d δεν ξεκίνησε + Ο στόχος %1$d δεν ολοκληρώθηκε + Δημιουργία παρακολούθησης και ανάλυση βασικού ρυθμού και αναλογιών + Επιβεβαιώστε ότι η BG φαίνεται στο Nightscout και τα δεδομένα της αντλίας φορτώθηκαν + Ξεκινήστε σε ανοιχτό κύκλωμα + Τρέξτε σε ανοιχτό κύκλωμα μερικές ημέρες και χειροκίνητα κάντε πολλούς προσωρινούς ρυθμούς. Φτιάξτε και χρησιμοποιήστε προσωρινούς και στανταρντ προσωρινούς στόχους (π.χ. για άσκηση ή θεραπεία υπογλυκαιμίας) + Κατανοήστε το ανοιχτό κύκλωμα, περιλαμβάνοντας τις προτάσεις για Προσωρινό ρυθμό + Βάση της εμπειρίας σας, αποφασίστε ποιο είναι το μέγιστο βασικής δόσης και αποθηκεύστε το στην αντλία και στις Επιλογές + Ξεκινήστε να κλείσετε το κύκλωμα με Σταμάτημα Χαμηλής Γλυκόζης (Low Glucose Suspend) + Τρέξτε σε κλειστό κύκλωμα με μέγιστο IOB = 0 για μερικές ημέρες χωρίς πολλά LGS - υπογλυκαιμίες + Ρυθμίζοντας το κλειστό κύκλωμα, αυξήστε το μέγιστο IOB πάνω από 0 και σταδιακά μειώστε τους στόχους BG + Τρέξτε το για λίγες ημέρες, και τουλάχιστον μία νύχτα χωρίς χαμηλό συναγερμό BG, πριν χαμηλώσετε τα όρια + Ρυθμίστε τον βασικό ρυθμό και τις αναλογίες αν χρειάζεται, και μετά ενεργοποιήστε το auto-sens + 1 επιτυχής εβδομάδα ημερήσιου κυκλώματος με κανονική εισαγωγή υδατανθράκων + Ενεργοποιώντας επιπρόσθετα χαρακτηριστικά για χρήση κατά την ημέρα, όπως το SMB + Πρέπει να διαβάσετε τον οδηγό wiki και να αυξήσετε το ανώτατο όριο του IOB για να μπορέσει να λειτουργήσει σωστά το SMB! Μια καλή αρχή είναι μέγιστο IOB= μέσο bolus γεύματος + 3 x το μέγιστο ημερήσιο βασικού ρυθμού + BG διαθέσιμες στο NS + Η κατάσταση της αντλίας διαθέσιμη στο NS + Ξεκινήστε χειροκίνητα + Επιτεύχθηκε: %1$s + Θέστε το προφίλ στο 90% για 10 λεπτά (Παρατεταμένο πάτημα του προφίλ στην Επισκόπηση) + Προσομοίωση ένδειξης. Αποσυνδέστε την αντλία για 1 ώρα (Παρατεταμένο στο Ανοιχτό Κύκλωμα) + ... και επανασυνδέστε με τον ίδιο τρόπο + Φτιάξτε προσωρινούς στόχους με διάρκεια 10 λεπτά (Παρατεταμένο πάτημα στον στόχο σας) + Στην Διαμόρφωση ενεργοποιήστε την προσθήκη Ενέργειες, κάντε την ορατή ώστε να την βλέπετε από το δικό της tab + Εμφάνιση περιεχομένου της προσθήκης Κύκλωμα + Χρησιμοποιήστε τη λειτουργία κλίμακας πατώντας παρατεταμένα το διάγραμμα BG + Εισαγωγή + Κωδικός αποδεκτός + Μη έγκυρος κωδικός + Αποδείξτε τις γνώσεις σας + Οι απαντήσεις εμφανίζονται στο: %1$s + Λάθος απάντηση! + Επόμενο ημιτελές + Κωδικός αιτήματος: %1$s + (ελέγξτε όλες τις σωστές απαντήσεις) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Δεν είστε συνδεδεμένοι στο internet + Απέτυχε η ανάκτηση ώρας + Αντικειμενικές προϋποθέσεις δεν πληρούνται + diff --git a/plugins/main/src/main/res/values-el-rGR/strings.xml b/plugins/main/src/main/res/values-el-rGR/strings.xml index bccc12a66e..cf44ba951e 100644 --- a/plugins/main/src/main/res/values-el-rGR/strings.xml +++ b/plugins/main/src/main/res/values-el-rGR/strings.xml @@ -1,107 +1,122 @@ - SMS Επικοινωνία SMS - Χρήστης - Επιτρεπτά τηλεφωνικά νούμερα +XXXXXXXXXX;+YYYYYYYYYY - Για να ορίσετε τον Προσωρινό Στόχο %1$s απαντήστε με κωδικό %2$s - Για να ακυρώσετε Προσωρινό Στόχο απαντήστε με κωδικό %1$s - Για να απενεργοποιήσετε το SMS Απομακρυσμένη Υπηρεσία απαντήστε με κωδικό %1$s.\n\n μπορείτε να το ενεργοποιήσετε ξανά απευθείας μόνο από το AAPS master smartphone. - Η απομάκρυσμένη υπηρεσία SMS σταμάτησε. Για να την ενεργοποιήσετε πάλι, χρησιμοποιήστε το AAPS στο κύριο τηλέφωνο. - Για αποστολή καλιμπραρίσματος %1$.2f στείλτε με κωδικό %2$s - Αποτυχία Bolus - Ελάχιστος χρόνος σε λεπτά που πρέπει να μεσολαβήσει μεταξύ μίας απομακρυσμένης έγχυσης (bolus) και της επόμενης - Πόσα λεπτά, τουλάχιστον, πρέπει να μεσολαβήσουν μεταξύ μιας έγχυσης (bolus) και της επόμενης - Για την ασφάλειά σας, για να επεξεργαστείτε αυτή την προτίμηση πρέπει να προσθέσετε τουλάχιστον 2 αριθμούς τηλεφώνου. - Bolus %1$.2fU δόθηκε επιτυχώς - Γευματική Bolus %1$.2fU μονάδες δόθηκε επιτυχώς - Στόχος %1$s για %2$d λεπτά - Στόχος %1$s για %2$d λεπτά ορίστηκε με επιτυχία - Ο προσωρινός στόχος ακυρώθηκε με επιτυχία - Άδεια για απομακρυσμένες εντολές μέσω SMS - Το κύκλωμα απενεργοποιήθηκε - Το κύκλωμα ενεργοποιήθηκε - Κύκλωμα ενεργοποιημένο - Για να συνδέσετε την αντλία απαντήστε με κωδικό %1$s - Αποτυχία σύνδεσης με την αντλία - Για αποσύνδεση αντλίας για %1$d λεπτά απαντήστε με κωδικό %2$s - Η αντλία αποσυνδέθηκε - Η αντλία επανασυνδέθηκε - Δεν επιτρέπεται απομακρυσμένη εντολή - Απομακρυσμένο bolus μη διαθέσιμο. Δοκιμάστε ξανά αργότερα. - Για έναρξη βασικού %1$.2fU/h για %2$d λεπτά απαντήστε με κωδικό %3$s - Για αλλαγή προφίλ σε %1$s %2$d%% στείλτε κωδικό %3$s - Για έναρξη εκτεταμένου bolus %1$.2fU για %2$d λεπτά απαντήστε με κωδικό %3$s - Για να εισαγάγετε %1$dg στο %2$s απαντήστε με κωδικό %3$s - Για έναρξη βασικού %1$d%% για %2$d λεπτά στείλτε κωδικό %3$s - Για αναστολή κυκλκώματος για %1$d λεπτών στείλτε με κωδικό %2$s - Για να συνεχίσετε το κύκλωμα απαντήστε με κωδικό %1$s - Για να ενεργοποιήσετε το κύκλωμα απαντήστε με κωδικό %1$s - Για να απενεργοποιήσετε το κύκλωμα απαντήστε με κωδικό %1$s - Προσωρινός Ρυθμός %1$.2fU/h για %2$d λεπτά ξεκίνησε επιτυχώς - Εκτεταμένο bolus %1$.2fU για %2$d λεπτά ξεκίνησε επιτυχώς - Υδατάνθρακες %1$d g εισήχθησαν επιτυχώς - Η εισαγωγή %1$dg υδατανθράκων απέτυχε - Προσωρινός Ρυθμός %1$d%% για %2$d λεπτά ξεκίνησε επιτυχώς - Εκκίνηση Προσωρινού Ρυθμού απέτυχε - Έναρξη εκτεταμένου bolus απέτυχε - Για κλείσιμο Προσωρινού Ρυθμού στείλτε κωδικό %1$s - Για κλείσιμο Εκτεταμένου bolus στείλτε κωδικό %1$s - Ο Προσωρινός Ρυθμός ακυρώθηκε - Εκτεταμένο bolus ακυρώθηκε - Ακύρωση Προσωρινού Ρυθμού απέτυχε - Η ακύρωση του Εκτεταμένου bolus απέτυχε - Άγνωστη εντολή ή λάθος απάντηση - Λάθος διάρκεια - Κύκλωμα σε αναστολή - Επαναφορά κυκλώματος - Μη έγκυρος αριθμός τηλεφώνου για SMS - το xDrip+ δεν λαμβάνει βαθμονόμηση - Μη έγκυρο μήνυμα - Διαφορά: IOB: Bolus: - Βασικός Ρυθμός: - Η ινσουλίνη που ορίζεται Humalog και NovoRapid / NovoLog - Η ινσουλίνη που ορίζεται για Fiasp - Προκαθορισμός ινσουλίνης για την Lyumjev - Σας επιτρέπει να ορίσετε το μέγιστο της δράσης της ινσουλίνης και πρέπει να χρησιμοποιείται μόνο από προχωρημένους χρήστες INS - Μέγιστη τιμή καμπύλης IOB - Μέγιστο καμπύλης [λεπτά] - Προαιρετικά-αιχμή Oref - Γρήγορη δράση - Oref - DIA για %1$f πολύ μικρή - χρησιμοποιήστε %2$f! - - Δείτε πληροφορίες σχετικά με το κύκλωμά σας στην πρόσοψη xDrip +. + - Εμφανίζει τις επιλογές τροφίμων που ορίζεται στο Nightscout - Γεύμα - kj - Ενέργεια - Πρωτεΐνες - Λίπος - Κατηγορία - Υποκατηγορία LP - Ορίστε ένα προφίλ που είναι διαθέσιμο εκτός σύνδεσης. BAS - παλιά έκδοση - πολύ παλιά έκδοση - Δεν ολοκληρώθηκε ακόμη - Ο χρόνος που πέρασε + Ολοκληρώθηκε, συγχαρητήρια! + Το μέγιστο IOB έχει ρυθμιστεί σωστά + BG διαθέσιμη από επιλεγμένη πηγή + Κύκλωμα ενεργοποιημένο + Επιλέχθηκε APS + Ενεργοποιήθηκε η κλειστή λειτουργία + ΣΤΟΧΟΙ + Πρόγραμμα εκμάθησης + + Ορισμένα πλήκτρα για γρήγορη πρόσβαση σε κοινά χαρακτηριστικά + ΔΡΑΣΗ + Σφάλμα έγχυσης εκτεταμένου bolus + + Περιορίζεται το εκτεταμένο bolus σε %1$.1f U λόγω %2$s + Περιορίζονται οι υδατάνθρακες σε %1$d g λόγω %2$s + Περιορίζεται η IOB σε %1$.1f U λόγω %2$s + Η αντλία δεν υποστηρίζει προσωρινό βασικό ρυθμό + Το κλειστό κύκλωμα είναι απενεργοποιημένο στις Επιλογές + Το UAM απενεργοποιήθηκε επειδή είναι ενεργοποιημένο στην προσθήκη ευαισθησία στο Oref1 + Εκτελείται έκδοση Dev. Το κλειστό κύκλωμα είναι απενεργοποιημένο. + Το SMB πάντα και μετά το γεύμα απενεργοποιείται επειδή η ενεργή πηγή BG δεν υποστηρίζει προηγμένο φιλτράρισμα + To SMB δεν επιτρέπεται σε λειτουργία ανοιχτού κυκλώματος + μέγιστη τιμή στις Επιλογές + σταθερό όριο + Ασφάλεια Θεραπειών + Παρακαλώ επιλέξτε τύπο ασθενούς για να ορισθούν όρια ασφαλείας + Παιδί + Έφηβος + Ενήλικας + Αντίσταση ινσουλίνης ενηλίκων + Κύηση + Μέγιστο Επιτρεπτό bolus[U] + Μέγιστο Επιτρεπτό υδατανθράκων [g] + Τύπος ασθενή + Αναβολή + Εμφάνιση του φωτισμού κατάστασης στην αρχική οθόνη + Όριο προειδοποίησης για την ηλικία της ινσουλίνης[h] + Κατώτατο όριο ηλικίας της ινσουλίνης[h] + Όριο προειδοποίησης για την ηλικία του αισθητήρα[h] + Κατώτατο όριο ηλικίας του αισθητήρα[h] + Όριο προειδοποίησης μπαταρίας του αισθητήρα[%] + Κατώτατο όριο επιπέδου της μπαταρίας[%] + Όριο προειδοποίησης ζωής της μπαταρίας της αντλίας[h] + Κατώτατο όριο της ηλικίας της μπαταρίας της αντλίας[h] + Όριο προειδοποίησης χαμηλής αμπούλας [U] + Όριο προειδοποίησης πολύ χαμηλής αμπούλας [U] + Λειτουργία APS + Αποδοχή νέου Προσ Ρυθμού: + CGM + Γρήγορος Οδηγός + + Επανεκκίνηση + Έγχυση τώρα + Διαγραφή σειράς + Δείξε σειρά + Σειρά: + Κατάσταση: + + Το όνομα χρήστη του Tidepool, συνήθως το mail σας + Όνομα Χρήστη + Το συνθηματικό του Tidepool + Συνθηματικό εισόδου + Δοκιμή εισόδου Tidepool + Αν ενεργοποιήθηκε, τα δεδομένα θα ανέβουν στο https://int-app.tidepool.org αντί για το σύνηθες https://app.tidepool.org/ + Χρησιμοποιήστε διακομιστές ολοκλήρωσης (δοκιμής) + Tidepool + TDP + Αποστολή δεδομένων στο Tidepool + Αποστολή δεδομένων CGM + Αποστολή θεραπειών (ινσουλίνης, υδατανθράκων) + Αποστολή προσωρινών ρυθμών + Αποστολή αλλαγών προφίλ, προσωρινών στόχων + Αποστολή BG βαθμονομήσεων + + Ολοκλήρωση αντλίας για αντλίες που δεν έχουν κανέναν οδηγό ακόμα (Ανοιχτό Κύκλωμα) + Ρυθμίσεις Εικονικής αντλίας + Φόρτωση κατάστασης στο NS + + Λήψη δεδομένων BG από Nightscout + Eversense App (τροποποιημένη) + Λάβετε τις τιμές BG από την εφαρμογή του Eversense. + Λάβετε τις τιμές BG από το Glimp. + Λάβετε τις τιμές BG από το 600SeriesAndroidUploader. + Poctech + Λάβετε τις τιμές BG από την εφαρμογή Poctech + Tomato (MiaoMiao) + Tomato + Λάβετε τιμές BG από Tomato app (MiaoMiao) + Ανέβασμα ρυθμίσεων BG + + WiFi SSID + Δημιουργήστε ειδοποιήσεις σφαλμάτων + Δημιουργήστε μια ειδοποίηση Ns για σφάλματα διαλόγων και τοπικούς συναγερμούς (που φαίνονται στο Careportal κάτω από τις Θεραπείες) + Συγχρονίζει τα δεδομένα σας με το Nightscout + OAPS + UPLD + diff --git a/plugins/main/src/main/res/values-es-rES/exam.xml b/plugins/main/src/main/res/values-es-rES/exam.xml new file mode 100644 index 0000000000..68c7523c0e --- /dev/null +++ b/plugins/main/src/main/res/values-es-rES/exam.xml @@ -0,0 +1,227 @@ + + + ¿Qué es cierto acerca de DIA? + Duración de la acción de insulina (DIA) + Debes establecer el valor de DIA en tu perfil. + El valor mínimo permitido es 5 horas. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Si estás satisfecho con el valor de DIA que utilizaste en tu bomba antes de utilizar AAPS y te funcionó bien, no hay necesidad de cambarlo cuando empieces a cerrar el lazo. + Deberías determinar por ti mismo el valor apropiado para DIA. + Objetivo temporal ante Hipoglucemia + ¿Cuál es la razón principal para establecer un objetivo temporal por hipoglucemia? + Para corregir hipos causados por ajustes incorrectos de la tasa basal. + Para evitar que AAPS corrija de forma excesiva ante un aumento rápido de la glucosa por tomar hidratos rápidos para remontar una hipoglucemia. + Para corregir una hipo resultando de ejercicio. + Para evitar que la glucosa sanguínea se quede baja si ya hay una tasa basal temporal 0% en funcionamiento. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + ¿Qué perfil puede ser usado y configurado estando desconectado? + Tema: Perfil fuera de línea + El perfil NS puede ser usado pero no configurado. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Razones para aplicar \"Desconectar bomba\" en AAPS + ¿Qué se debe hacer al desconectar la bomba? + Esto es innecesario, ya que no se entregará insulina si la bomba está físicamente desconectada. + Evita que AAPS tenga en cuenta la insulina que no se entregó cuando la bomba estaba físicamente desconectada. + Si la bomba permanece conectada, no se detendrá la entrega de insulina. + Pasará AAPS a modo de lazo abierto + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Ajustes de AAPS + Ajustes de AAPS + ¿Cuáles son las mejores prácticas para hacer copias de seguridad de su configuración? + No necesita exportar sus ajustes siempre que haga una nota de ellos. + Exporta tu configuración después de completar un objetivo. + Exportar la configuración después de cambiar cualquiera de sus ajustes. + Exportar la configuración una vez finalizada la configuración inicial y haber establecido sus preferencias. + Exportar la configuración localmente usando el menú de mantenimiento. + El archivo de configuración se encuentra en la carpeta Almacenamiento/AAPS/preferencias en el teléfono. + Copie el archivo de preferencias a una ubicación segura fuera de su teléfono (p.e. mediante el uso de una nube, conectando un cable a una computadora, correo electrónico, etc.) + Si su teléfono está dañado o perdido, hay formas fáciles de recuperar remotamente su configuración sin hacer una copia de seguridad. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Lecturas CGM ruidosas + ¿Qué se debe hacer si los datos de CGM tienen ruido? + No hacer nada: AAPS se ocupará de ello. + Deshabilita el lazo cerrado para evitar posibles sobredosis o subdosis. + Sustituya los sensores constantemente ruidosos o inexactos. + Comprueba que tu aplicación CGM proporciona datos suavizados. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Ejercicio y perfiles + ¿Cómo puede usar perfiles para ayudar mejor al sistema a hacer frente al ejercicio aeróbico? + Haga un cambio de perfil a menos de 100%. + Haga un cambio de perfil a más de 100%. + Dejar el perfil configurado al 100%. + Suspender el lazo + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Ejercicios y objetivos temporales + ¿Cómo se puede usar objetivos temporales para ayudar mejor al sistema a hacer frente al ejercicio aeróbico? + Establece un objetivo de glucosa en la sangre actividad que comienza un tiempo adecuado antes de comenzar el ejercicio. + Establece un objetivo de glucosa en la sangre actividad después de finalizar el ejercicio. + Deja tu objetivo de glucosa sanguíneo sin cambios. + Espere hasta que la glucosa en sangre caiga por debajo de su objetivo de hipo temp y luego coma 15 g de hidratos de carbono de actividad rápida. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Desactiva/suspende el lazo + ¿Recibo insulina cuando el lazo está desactivado/suspendido? + Sí, la insulina basal sigue siendo entregada. + No, la administración de la insulina está detenida. + Pruebas basales, ISF, e I:C + ¿Cuándo se deben validar estos valores? + Antes de empezar el lazo + Cuando se tienen valores de glucosa altos o bajos frecuentemente. + Al menos una vez a la semana. + Una vez fijados y validados, estos valores no debrían cambiar a lo largo del tiempo. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Requisitos previos + ¿Qué es esencial para configurar y utilizar AAPS? + Información de perfil validada (Basal, IC, ISF, DIA). + Un ordenador con Android Studio instalado y configurado. + Un teléfono compatible. + Una bomba de insulina compatible, si planeas usar el sistema en modo \"lazo cerrado\". + Nightscout, para tener un registro de los datos y revisar los parámetros de configuración. + Una cuenta de Tidepool. + Una cuenta de Google. + Una cuenta de Github. + Experiencia programando o editando código. + Una bomba MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Un Smartwatch. + Un MCG soportado. + Requisitos previos + ¿Qué es esencial para configurar y utilizar AAPS? + Parámetros validados para poder configurar un perfil (ISF, I:C ratio, perfil basal, DIA etc.). + Un dispositivo Android compatible (e.j. un móvil, un smartwatch Android compatible o una tablet). + AAPS requiere una conexión a Internet para funcionar en modo lazo cerrado. + Un medidor continuo de glucosa (MCG) y una aplicación capaz de recibir los valores proporcionados por el medidor en el móvil o tablet. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Actualizando AAPS + Compruebe todas las respuestas correctas. + Es necesario tener Git instalado y configurado en el ordenador. + Cuando esté disponible una versión más reciente de AAPS, las funciones de las versiones anteriores pueden ser limitadas de forma remota después de una fecha determinada. + Se debe guardar en un lugar seguro la \"keystore\" que se ha empleado y usar la misma\"key\" para futuras actulizaciones. + Nunca actualice si el sistema está funcionando bien. + Si tienes problemas construyendo la aplicación (. apk), puedes instalar el mismo archivo. apk compilado por un amigo. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Solución de problemas + ¿Dónde puedes buscar ayuda con AAPS? + Puede solicitar asesoramiento en el grupo de usuarios de AAPS en Facebook. + Deberías leer (y volver a leer) la documentación de AAPS. + Puedes solicitar asesoramiento y registrar problemas técnicos o indidencias en el grupo de Discord de AAPS. + Debes preguntar a tu endocrino o educador diabetológico. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + ¿Qué insulina debes usar con el plugin Ultra-Rapid Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"insulina humana estándar\". + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Plugins de sensibilidad + Compruebe todas las respuestas correctas. + Los plugins de sensibilidad permiten a AAPS ajustarse para cambios temporales o de corta duración en la sensibilidad a la insulina (por ejemplo, cambios hormonales o problemas con la absorción en el sitio de infusión). + Los plugins de sensibilidad sugieren al usuario cambios en la cantidad de insulina basal a suministrar, en el factor de sensibiliad a la insulina (ISF) y en el ratio I:C y pueden ser incorporados al perfil definido. + Registrar el cámbio de cánula reseteará Autosens, dejándolo de nuevo al 100%. + Algunas de las opciones del plugin tienen rangos de tiempo configurables que pueden ser definidos por el usuario. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/es/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Error de entrada de Carbohidratos + ¿Qué deberías hacer si has hecho una entrada incorrecta de carbohidratos? + Elimina la entrada incorrecta en los tratamientos e introduce el valor correcto de carbohidratos. + Bolo con insulina usando el menú de llenado de la infusión. + No hacer nada - AAPS realizará los ajustes apropiados. + Bolo con insulina usando el botón de Insulina (bolus) en página general. + Errores de entrega/entrada de insulina + ¿Qué debes hacer si recibiste menos insulina de la que sugiere la historia de la bomba p.ej. debido a una oclusión, una cánula fallida o olvidarse de reponer la bomba después de una ducha? + Elimina los datos de insulina del portal de Nightscout Careportal para eliminarlos del historial de la bomba. + Comparar valores en AAPS con el historial de la bomba (si la bomba lo soporta). + Bolo una proporción de la insulina calculada “perdida” por jeringa/pluma o usando menú de llenado. + No hacer nada y permite que AAPS corrija cualquier resultado de nivel alto de glucosa en sangre. + Carbohidratos activos (COB) + ¿Cómo afecta el cambio del valor ISF al cálculo de COB? + Incrementar el ISF hará que los carbohidratos se absorban más lentamente + Incrementar el ISF hará que los carbohidratos se absorban más rápidamente + Incrementar el ISF no afectará la absorción calculada de carbohidratos + ¿Cómo afecta cambiar los valores de IC a los cálculos de COB? + Incrementar el IC hará que los carbohidratos se absorban más lentamente + Incrementar el IC hará que los carbohidratos se absorban más rápidamente + Incrementar el IC no afectará la absorción calculada de carbohidratos + ¿Cómo afecta el cambio de porcentaje del perfil al cálculo de los COB? + Establecer el perfil a 150% hará que los carbohidratos se absorban más lentamente + Establecer el perfil a 150% hará que los carbohidratos se absorban más rápidamente + Establecer el perfil a 150% no afectará la absorción calculada de carbohidratos + Insulina a bordo (IOB) + El valor del IOB se ve afectado por las bases temporales ejecutadas. + No se dará alta tasa basal temporal cuando su nivel de azúcar en sangre esté por debajo del objetivo. + El IOB negativo durante un período sustancial en ausencia de ejercicio sugiere que tu perfil es demasiado fuerte y que se necesita menos insulina en tus ajustes. + El IOB positivo durante un período sustancial sugiere resistencia a la insulina o comidas no anunciadas. + Entrada y bolos de carbohidratos + Sólo se deben utilizar gramos para estimar y registrar los carbohidratos consumidos. + Los carbohidratos consumidos se pueden registrar utilizando un sistema de intercambio apropiado (por ejemplo, los intercambios DAFNE \"CHO\" o \"Unidades de Pan\" europeas). + AAPS utiliza un modelo dinámico para estimar la \"reducción\" y calcular el COB. + Si los niveles de glucosa en sangre están fuera de los valores aceptables (demasiado bajos o demasiado altos), la calculadora del bolo se puede utilizar para proporcionar sugerencias para las correcciones de carbohidratos o de insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + ¿Para qué podría utilizar los e-carbs (carbohidratos extendidos)? + Para programar los carbohidratos en el futuro, posiblemente distribuidos a través de un período (similar a un bolo extendido que distribuye insulina sobre un período). + Para regristrar carbohidratos \'libres\' de ejercicios que quieres ocultar a AAPS. + Los eCarbs (distribuidos en el futuro) pueden ayudar a AAPS con el tratamiento de comidas con alto contenido de grasa/proteína (UGP). + Para registrar carbohidratos de rescate que se utilizan para tratar glucosa baja. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Monitoreo remoto + ¿Cómo puedes monitorizar AAPS de forma remota (por ejemplo, para ver a tu hijo)? + La aplicación AAPSClient, la aplicación Nightscout y la página web de Nightscout permiten seguir de forma remota a AAPS. + Otras aplicaciones (por ejemplo, Dexcom follow, xDrip running en el modo de seguimiento) le permiten seguir algunos parámetros (por ejemplo, los valores de glucosa/sensor) de forma remota, pero utilizan diferentes algoritmos por lo que puede tener valores de IOB o COB inexactos. + Para seguir a AAPS de forma remota, ambos dispositivos deben disponer de acceso a Internet (por ejemplo, vía WiFi o red de datos móviles) + AAPSClient se usa como seguidor remoto y permite supervisar y proporcionar control total de AAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Factor Sensibilidad a la Insulina (ISF) + El aumento de los valores de ISF conducirá a un mayor suministro de insulina para cubrir una cantidad específica de carbonos. + Reducir los valores de ISF conduce a una mayor cantidad de insulina para corregir una glucosa sanguínea a un objetivo superior. + Aumentar o reducir el ISF no tiene ningún efecto en la administración de insulina cuando los niveles de glucosa en la sangre están por debajo del objetivo. + El ISF debe añadirse en las preferencias de AAPS. + El cambio del valor de ISF en el perfil es suficiente para aplicar el cambio. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Puede utilizar más de un valor para la relación I:C en su perfil. + Si cambias tu ISF en tu perfil, siempre deberías cambiar tu relación I:C también. + Proporción de insulina a carbohidrato (relación I:C) + Las relaciones I:C más altas conducen a menos insulina entregada por una cantidad dada de carbohidratos. + Las relaciones I:C más bajas conducen a menos insulina entregada por una cantidad dada de carbohidratos. + Si tiene 0 COB, cambiar la ratio IC conducirá a una cantidad distinta de insulina para corregir un valor de glucemia determinado. + El IC será diferente si cuenta una unidad de carbohidratos como 10g o 12g. + IC significa: Cuántas unidades de carbohidratos están cubiertas por 1U de insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Cambio de perfil + Al especificar un cambio de perfil del 90%, ¿qué respuestas son correctas? + Las basales serán 10% más bajas. + El ISF será un 10% más alto. + El valor del ratio I:C será un 10% más bajo. + Las relaciones ISF e I:C no se modificarán. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#profile-switch + Cambio de perfil + Al especificar un cambio de perfil del 120%, ¿qué respuestas son correctas? + El objetivo de la glucosa en sangre será 20% más alto. + Las tasas basales serán un 20% más altas. + El objetivo de la glucosa sanguínea no cambiará. + El ISF será un 20% más alto. + Cambio de perfil + Si te levantas 2 horas antes de lo habitual, ¿cómo debes notificar a AAPS sobre el cambio de horario? + Iniciar un cambio de perfil con un intervalo de tiempo de 2 + Iniciar un cambio de perfil con un intervalo de tiempo de -2 + Establece un objetivo temporal comida pronta. + Haga un cambio de perfil a más de 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Cambios en perfiles + Las tasas basales, ISF, I:C, etc., deben establecerse en los perfiles. + Activar cambios en el perfil de Nightscout requiere que el teléfono con AAPS disponga de conexión a Internet. + Editar perfiles para cambiar valores es suficiente para implementar cualquier cambio realizado. + Se pueden configurar múltiples perfiles y seleccionarlos para adaptarse a las circunstancias cambiantes (por ejemplo, cambios hormonales, turnos de trabajo, días de semana/fin de semana). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Ayuda con tasas basales + A donde ir para obtener ayuda con tasa basal y demás. + Tu equipo de diabetes + Google + Facebook + Otros Medicamentos. Por favor, lea la siguiente declaración y luego marque la casilla para aceptar la declaración. + AAPS reduce las tasas basales o suspende la administración de insulina para aumentar la glucosa en sangre. Los inhibidores de la familia de las SGLT2 (gliflozinas) pueden prevenir el aumento esperado de la glucosa en sangre, por lo que pueden producir una deficiencia de insulina preligrosa (DKA) +\nAlgunos nombres genéricos de marcas son: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nI Prometo que no tomaré este tipo de medicamentos cuando utilice AAPS o desactivaré el lazo cerrado antes de usarlos. + diff --git a/plugins/main/src/main/res/values-es-rES/objectives.xml b/plugins/main/src/main/res/values-es-rES/objectives.xml new file mode 100644 index 0000000000..b578454c50 --- /dev/null +++ b/plugins/main/src/main/res/values-es-rES/objectives.xml @@ -0,0 +1,55 @@ + + + Inicio + Verificar + %1$d. Objetivo + Objetivo %1$d no iniciado + Objetivo %1$d no finalizado + Configurar la visualización y la monitorización, analizar los valores basales y los ratios + Comprobar que los datos de glucosa están disponibles en Nightscout, y que los datos de la bomba de insulina se están subiendo + Comenzando en lazo abierto + Ejecutar en modo de lazo abierto durante unos días, y aceptar manualmente las basales temporales. Configure y use objetivos temporales y predeterminados (por ejemplo, para actividad o carbohidratos para hipoglucemia) + Entender el lazo abierto, incluidas las recomendaciones de basales temporales + Sobre la base de esa experiencia, decidir valores de máximo basal, y ajustar la bomba y preferencias + Iniciando el lazo cerrado con suspensión con baja glucosa + Ejecutar en lazo cerrado con max IOB=0 durante unos días sin demasiados valores bajos de glucosa + Ajuste del lazo cerrado, aumentando máximo IOB por encima de 0 y bajando gradualmente objetivos BG + Usar unos cuantos días, y al menos una noche sin alarmas de glucosa baja, antes de bajar valor de glucosa + Ajustar las basales y ratios, si es necesario, y luego activar auto-sens + Una semana con éxito en lazo cerrado durante el día con entrada regular de carbohidratos + Habilitar funciones adicionales para uso durante el día como SMB + Activar automatización + ¡Debes leer el wiki y subir maxIOB para que SMB funcione bien! Para comenzar un buen valor sería maxIOB = bolo de comida medio + 3 x máximo basal diario + Lea los documentos sobre cómo funciona la automatización. Configura tus primeras reglas simples. En lugar de acción, deje que AAPS muestre solo notificaciones. Cuando esté seguro de que la automatización se activa en el momento adecuado, reemplace la notificación por acción real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glucosa disponible en NS + Estado de la bomba disponible en NS + Aprobación Manual + Completado: %1$s + Aprenda cómo controlar AAPS + Ejecutar diferentes acciones en AAPS + Establecer perfil 90% durante 10 min (Pulsación larga en nombre del perfil en Resumen) + Simular ducha. Desconectar bomba durante 1h (Pulsación larga en el lazo abierto) + ... y volver a conectar de la misma manera + Crear un objetivo temporal personalizado con 10 min de duración (Pulsación larga en tu objetivo actual) + En Config Builder habilitar el plugin Acciones, hágalo visible y muestre su contenido desde el menú superior + Mostrar contenido del plugin Loop + Usar función de escala mediante un gráfico BG pulsado largo + Intro + Si tienes al menos 3 meses de experiencia con el bucle cerrado de otros sistemas puedes cualificarte para obtener un código para saltarte los objetivos. Para información detallada (en inglés): https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. + Código aceptado + Código inválido + Compruebe su conocimiento + Estudia las preguntas. Se te dan cuatro respuestas posibles para cada pregunta. Puede haber más de una respuesta correcta. Por favor, marca todas las que son correctas y seleccione VERIFICAR. + Respuesta deshabilitada a: %1$s + Respuesta incorrecta! + Siguien&te sin terminar + Solicitar código: %1$s + (compruebe todas las respuestas correctas) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Sin conexión a Internet + Fallo tiempo de recuperación + No se cumplen los requisitos de objetivo + diff --git a/plugins/main/src/main/res/values-es-rES/strings.xml b/plugins/main/src/main/res/values-es-rES/strings.xml index 2726aebefb..eb77281707 100644 --- a/plugins/main/src/main/res/values-es-rES/strings.xml +++ b/plugins/main/src/main/res/values-es-rES/strings.xml @@ -26,98 +26,69 @@ Usuario Números de teléfono permitidos XXXXXXXXXX +; + YYYYYYYYYY - Para establecer un basal temporal %1$s responder con el código %2$s - Para cancelar la basal temporal, responder con el código %1$s - Para inhabilitar la respuesta de servicio remoto de SMS, responder con el código %1$s.\n\nTenga en cuenta que solamente será capaz de reactivarlo directamente desde el móvil con la AAPS maestro. - Servicio remoto de SMS detenido. Para reactivarlo, utilice AAPS en el movil maestro. - Para enviar calibración %1$.2f responder con código %2$s - Bolo fallido - Número mínimo de minutos que deben transcurrir entre un bolo remoto y el siguiente - Cuántos minutos deben transcurrir, al menos, entre un bolo y el siguiente - Por su seguridad, para editar esta preferencia es necesario añadir al menos 2 números de teléfono. - Bolo %1$.2fU entregado correctamente - Bolo de comida %1$.2f U entregado correctamente - Objetivo %1$s para %2$d minutos Objetivo %1$s para %2$d minutos establecido correctamente Objetivo temporal cancelado correctamente - Permitir comandos remotos vía SMS - El lazo se ha desactivado - El lazo se ha activado - Lazo activo - Para conectar la bomba, responder con el código %1$s - Error al conectar a la bomba - Para desconectar la bomba durante %1$dminutos, responde con el código %2$s - Bomba desconectada Bomba reconectada - Comando remoto no permitido - El bolo remoto no está disponible. Inténtalo de nuevo más tarde. - Para iniciar una basal de %1$.2fU/h durante %2$d min, responder con el código %3$s - Para cambiar el perfil a %1$s %2$d%% responder con el código %3$s - Para iniciar un bolo extendido de %1$.2fU durante %2$d minutos, responder con el código %3$s - Para introducir %1$dg en %2$s, responder con el código %3$s - Para iniciar una basal de %1$d%% durante %2$d min, responder con el código %3$s - Para suspender el lazo durante %1$d minutos, responde con el código %2$s - Para reanudar el lazo, responde con el código %1$s - Para activar el lazo, responder con el código %1$s - Para desactivar el lazo, responder con el código %1$s - Basal temporal %1$.2fU/h durante %2$d minutos iniciada correctamente - Bolo extendido de %1$.2fU durante %2$d minutos se inició correctamente - Carbohidratos %1$d g ingresados correctamente - Error al introducir %1$dg de carbohidratos - Basal temporal de %1$d%% durante %2$d minutos iniciada correctamente - Error al iniciar la basal temporal - Error al iniciar el bolo extendido - Para cancelar la basal temporal, responder con el código %1$s - Para parar el bolo extendido, responder con el código %1$s - Basal temporal cancelada - Bolo extendido cancelado - Error al cancelar la basal temporal - Error al cancelar el bolo extendido - Comando desconocido o respuesta incorrecta Hay otro bolo en cola. Inténtalo de nuevo más tarde. - Duración incorrecta - Lazo suspendido - Lazo reanudado - Número de teléfono incorrecto para SMS - Calibración enviada. La recepción debe estar habilitada en xDrip+. - xDrip+ no está recibiendo calibraciones - El cuerpo del mensaje es inválido - Enviar SMS si se activa un evento de bomba inaccesible - Reportar bomba inalcanzable Delta: IOB: Bolo: Dosis Basal: Código QR para la configuración de la contraseña de un sólo uso + Lyumjev + Ajustes de insulina preestablecidos para Humalog y NovoRapid/NovoLog + Ajuste de insulina preestablecido para Fiasp + Ajuste de insulina preestablecido para Lyumjev + Permite personalizar el pico de acción máxima de la insulina. Debe ser utilizado únicamente por usuarios avanzados + INS + Tiempo del pico máximo de la curva de IOB + Tiempo del pico máximo de acción de la insulina [min] + Personalizar Pico + Acción Rápida + Ultra-Rápido Oref + DIA de %1$f demasiado corto - usando %2$f! + Novorapid, Novolog, Humalog + Fiasp - + + xds Mostrar información sobre tu lazo en tu esfera xDrip+ + Mostrar detalles IOB + Separar la insulina activa en bolos y basales en el reloj + Lazo desactivado + Mostrar BGI (Índice de glucosa en sangre) + Agregar BGI a la línea de estado + Estado de xDrip+ (reloj) + Comida Muestra los ajustes preestablecidos de alimentos definidos en Nightscout Filtro Comida - kJ - En - Pr - Grasa Categoría Subcategoría + Calculadora + Elegir tema oscuro, claro o seguir con el predeterminado del sistema Esquema de color de aplicación Tema oscuro Tema claro Usar tema del dispositivo + Perfil PERFIL Define un perfil que esté disponible cuando tengas una desconexión añadir nuevo a la lista + ¿Desea cambiar el perfil y descartar los cambios realizados al perfil actual? + Guardar o restablecer los cambios actuales primero + ¿Desea eliminar el perfil actual? Unidades: Falta el nombre de perfil Error en valores IC Error en valores basales Error en los valores de objetivo Error en valores ISF + El nombre de perfil contiene puntos.\nEsto no está permitido por NS.\nEl perfil no se cargará en NS. Perfil no válido %1$s no aceptado desde Nightscout Vista Errores @@ -127,13 +98,18 @@ clonar el perfil actual borrar el perfil actual DIA - IC - ISF OBJ BAS + Datos usados para recalcular + Datos de glucosa demasiado cercanos:\n%1$s\n%2$s + recalculado + entradas repetidas + Cambio al horario de verano en menos de 24 horas + Cambio al horario de verano hace menos de 3 horas - Lazo cerrado deshabilitado + Debe liberar al menos %1$d MB de almacenamiento interno. ¡Loop se encuentra desactivado! versión antigua @@ -142,7 +118,186 @@ Nueva versión disponible de al menos %1$d día/s. Soporte a la función de suspensión por glucosa baja (LGS) durante %2$d días. Después se deshabilitará el lazo en %3$d días + ¡Logrado, bien hecho! No logrado Tiempo agotado + Máximo IOB ajustado correctamente + Glucosa disponible desde la fuente seleccionada + Lazo activado + APS seleccionado + Lazo cerrado activado + OBJ + Programa de aprendizaje + ¿Desea reiniciar el objetivo? Puedes perder tu progreso. + Limpieza finalizada + Limpieza iniciada + + Algunos botones para acceder rápidamente a funciones comunes + ACC + Herramientas + Cánula + El uso de la función de bolo extendido detendrá el modo de bucle cerrado durante el tiempo de ejecución del bolo extendido. ¿Realmente quieres esto? + Error al emitir bolo extendido + edad de la cánula + edad del parche de la bomba + Bomba parche + + Limitando el bolo extendido a %1$.1f U debido a %2$s + Limitando carbohidratos a %1$d g debido a %2$s + Limitando IOB a %1$.1f U debido a %2$s + La bomba no tiene capacidad basal temporal + Lazo cerrado deshabilitado en preferencias + UAM deshabilitado al usar el plugin de sensibilidad Oref1 + Ejecutando la versión dev. Lazo cerrado no disponible. + Bucle cerrado inhabilitado debido a la ejecución del bolo extendido + SMB siempre y después de carbohidratos desactivados porque la fuente activa de BG no soporta filtrado avanzado + SMB no permitido en modo de lazo abierto + valor máximo en preferencias + límite estricto + Seguridad de tratamientos + Por favor, selecciona el tipo de paciente para establecer los límites de seguridad + Niño + Adolescente + Adulto + Adulto resistente a la insulina + Embarazada + Máximo bolo permitido [U] + Máximos carbohidratos permitidos [g] + Tipo de paciente + Silenciar + Mostrar luces de estado en la pantalla de inicio + Umbral de advertencia de la edad de la insulina [h] + Umbral crítico de la edad de la insulina [h] + Umbral de advertencia de la edad del sensor [h] + Umbral crítico de la edad del sensor [h] + Umbral de advertencia de nivel de batería del sensor [%] + Umbral crítico de nivel de batería del sensor [%] + Umbral de advertencia de la edad de la batería de la bomba [h] + Umbral crítico de la edad de la batería de la bomba [h] + Umbral de advertencia del nivel del reservorio [U] + Umbral crítico del nivel del reservorio [U] + Umbral de advertencia de nivel de batería bomba [%] + Umbral nivel crítico de la batería de bomba [%] + Luces de estado + Copiar ajustes desde Nightscout + gráfico + insulina + Menú gráfico + calidad de glucosa en sangre + glucosa en sangre + obsoleto + Modo APS + Aceptar nueva basal temporal: + MCG + Asistente + + Reiniciar + Lanzar ahora + Borrar cola + Mostrar cola + Cola: + Estado: + Sincronización completa + ¿Sincronización completa? Puede tardar muchas horas y hasta que termine no verás nuevos datos en Nightscout + Sincronización + Perfiles, bolos, carbohidratos y basales temporales se suben a Nightscout + Subir datos a Nightscout + Recibir perfil almacenado + Sincronizar perfiles desde el editor de perfiles de Nightscout + Recibir objetivos temporales + Aceptar objetivos temporales registrados mediante Nightscout o NSClient + Recibir cambios de perfil + Aceptar cambios de perfil registrados mediante Nightscout o NSClient + Recibir eventos de desconexión de APS + Aceptar eventos de desconexión de APS registrados mediante Nightscout o NSClient + Recibir TBR y EB + Aceptar TBR y EB ingresados mediante otra instancia + Recibir insulina + Aceptar insulina registrada mediante Nightscout o NSClient (no se entrega, sólo se calcula para IOB) + Recibir carbohidratos + Aceptar carbohidratos añadidos mediante Nightscout o NSClient + Recibir eventos de tratamientos + Aceptar registros de terapia (cánula, insulina, cambios de batería, etc.) añadidos mediante Nightscout o NSClient + Recibir/Rellenar datos del MCG + Aceptar valores MCG desde Nightscout + ¿Ejecutar %s? + Ralentizar subidas + Crear notificaciones de alarmas desde Nightscout + Crear notificaciones desde Nightscout + + Tu nombre de usuario de Tidepool, normalmente tu dirección de correo electrónico + Nombre de usuario + Tu contraseña de acceso a Tidepool + Contraseña de inicio de sesión + Prueba de acceso Tidepool + Si está habilitado, las subidas irán a https://int-app.tidepool.org en lugar de a https://app.tidepool.org/ + Usar servidores de integración (prueba) + Tidepool + TDP + Carga datos a Tidepool + Carga tus datos + Subir tratamientos (insulina, carbohidratos) + Subir basales temporales + Subir conmutaciones de perfil, objetivos temps + Subir pruebas de glucosa + Eliminar todos + Restablecer inicio + Subir ahora + + Integración de bombas de insulina que aún no tienen ningún controlador disponible (lazo abierto) + Ajustes de bomba virtual + Subir estado a Nightscout + + Recibir los datos de glucosa de Nightscout + xDrip+ + Recibir los valores de glucosa de xDrip+ + Dexcom (BYODA) + BYODA + Recibir los valores de glucosa de la aplicación Dexcom \'Build Your Own Device\' + Eversense App (parcheada) + Recibir los valores de glucosa de la aplicación Eversense parcheada. + Recibir valores de glucosa de Glimp. + Recibir los valores de glucosa del 600SeriesAndroidUploader. + Poctech + Recibir los valores de glucosa de Poctech + Glunovo + Recibir los valores de glucosa de la aplicación Glunovo + Intelligo + Recibir los valores de glucosa de Intelligo + Tomato (MiaoMiao) + Tomato + Recibir los valores de glucosa de Tomato App (MiaoMiao) + Aidex + Recibir los valores de glucosa de GlucoRx Aidex CGMS + Glucosa aleatoria + Generar datos aleatorios de glucosa (sólo modo Demo) + BG + Enviar datos de glucosa a xDrip+ + En xDrip+, selecciona 640G/Eversense como fuente de datos + Subir datos de glucosa a Nightscout + Ajuste de subida de datos de glucosa + Registro de cambio de sensor en Nightscout + Crear evento \"Cambio de sensor\" en Nightscout automáticamente al iniciar el sensor + + Usar conexión móvil + Usar conexión WiFi + WiFi SSID + Durante la carga + Con batería + Crear notificaciones de los errores + Crear notificaciones de alertas de carbohidratos necesarios + Crear notificaciones en Nightscout para diálogos de error y alertas locales (también visibles en el portal de cuidados, en los tratamientos) + Crear notificaciones de Nightscout para las alertas de carbohidratos necesarios + Sincroniza tus datos con Nightscout + Bloqueado por opciones de carga + Bloqueado por opciones de conectividad + OAPS + UPLD + + Tema original + Tema baja resolución + Los botones siempre se muestran en la parte inferior de la pantalla + Pantalla grande + Tema diff --git a/plugins/main/src/main/res/values-fr-rFR/exam.xml b/plugins/main/src/main/res/values-fr-rFR/exam.xml new file mode 100644 index 0000000000..aa9d6eedb4 --- /dev/null +++ b/plugins/main/src/main/res/values-fr-rFR/exam.xml @@ -0,0 +1,227 @@ + + + Qu\'est-ce qu\'il y a de vrai pour le DAI (Durée Action Insuline)? + Durée d\'Action de l\'Insuline (DAI) + Vous devez définir la valeur de DAI dans votre profil. + La valeur minimale autorisée est de 5 heures. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html?#insulin + Si vous êtes convaincu que la valeur de DAI utilisée dans votre pompe avant AAPS marche bien, il n\'y a pas besoin de la changer lorsque vous commencez à utiliser la boucle. + Vous devez déterminer par vous-même la valeur appropriée pour la DAI. + Cible temporaire Hypo + Quelle est la raison principale pour définir une cible temporaire hypo? + Pour corriger les hypos causés par des paramètres de débit basal incorrects. + Pour empêcher AAPS de surcorriger une hausse de glycémie causée par les glucides à action rapide utilisés pour traiter une hypo. + Pour corriger une hypo due à un exercice. + Pour éviter que la glycémie ne baisse s\'il y a déjà un débit de basal temporaire de 0%. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html + Quel profil peut être utilisé et configuré hors ligne? + Rubrique : Profil Hors Ligne + Le profil NS peut être utilisé, mais il n\'est pas configuré. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html#profile + Motifs pour l\'utilisation de la \"Déconnexion de pompe\" dans AAPS + Que faire lors de la déconnexion de la pompe? + C\'est inutile car l\'insuline ne sera pas délivrée si la pompe est physiquement déconnectée. + Cela empêche AAPS de comptabiliser l\'insuline qui n\'a pas été délivrée quand la pompe est physiquement déconnectée. + Cela n\'arrêtera pas la distribution d\'insuline si la pompe reste connectée. + Cela passera AAPS en mode boucle ouverte. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#other-settings + Paramètres AAPS + Paramètres AAPS + Quelles sont les meilleures pratiques pour sauvegarder vos paramètres ? + Vous n\'avez pas besoin d\'exporter vos paramètres si vous les avez notés. + Exportez vos paramètres une fois que vous avez terminé un objectif. + Exportez vos paramètres après avoir modifié n\'importe lequel de vos paramètres. + Exportez vos paramètres une fois que vous avez terminé votre configuration initiale et défini vos préférences. + Exportez vos paramètres localement en utilisant le menu maintenance. + Votre fichier de paramètres se trouve dans le dossier Stockage Interne/AAPS/Préférences sur votre téléphone. + Copiez votre fichier de préférences vers un emplacement sûr en dehors de votre téléphone (par ex. en utilisant un disque cloud, en connectant un câble à un ordinateur, un courriel, etc.) + Si votre téléphone est endommagé ou perdu, il existe des moyens faciles de récupérer vos paramètres à distance sans aucune sauvegarde. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Valeurs MGC bruitées + Que faut-il faire si les données de MGC sont bruitées ? + Ne faites rien - AAPS s\'en occupera. + Désactivez la boucle fermée pour éviter tout sur-dosage ou sous-dosage possible. + Remplacez systématiquement les capteurs bruyants ou imprécis. + Vérifiez que votre application MGC fournit des données lissées. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Exercices et profils + Comment utiliser les profils pour aider au mieux le système à gérer un exercice aérobique ? + Faites un changement de profil à moins de 100%. + Faites un changement de profil à plus de 100%. + Laissez le profil fixé à 100%. + Suspendez la boucle. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html#cible-temporaire-activite + Exercices et cibles temporaires + Comment utiliser les cibles temporaires pour aider au mieux le système à gérer un exercice aérobique ? + Définissez une cible temporaire d\'activité en la démarrant à une heure appropriée avant de commencer l\'exercice physique. + Définissez une cible temporaire d\'activité après la fin de l\'exercice. + Laissez votre cible de glycémie inchangée. + Attendez que la glycémie tombe en dessous de votre cible temporaire d\'hypo, puis mangez 15 g de glucides à action rapide. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/temptarget.html#activity-temp-target + Boucle désactivée/suspendue + Est-ce que je reçois de l\'insuline lorsque la boucle est désactivée / suspendue ? + Oui, l\'insuline basale continue à être délivrée. + Non, l\'injection d\'insuline est arrêtée. + Tests des débits de basal, SI et G/I + Quand faut-il valider ces valeurs ? + Avant de commencer la boucle. + Lorsque la glycémie est souvent élevée ou faible. + Au moins 1 fois par semaine. + Une fois définies et validées, ces valeurs ne doivent pas changer avec le temps. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#androidaps-settings + Conditions préalables + Qu\'est-ce qui est essentiel pour mettre en place et utiliser AAPS ? + Informations de profil validées (Basal, G/I, SI, DAI). + Un ordinateur avec Android Studio installé et configuré. + Un téléphone compatible. + Une pompe à insuline compatible si vous avez l\'intention d\'exécuter une boucle fermée. + Nightscout, pour conserver un historique de toutes les données et revoir les paramètres. + Un compte Tidepool. + Un compte Google. + Un compte Github. + Avoir de l\'expérience en programmation ou en édition de code. + Une pompe MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html + Une montre connectée. + Un MGC pris en charge et compatible. + Conditions préalables + Qu\'est-ce qui est essentiel pour mettre en place et utiliser AAPS ? + Informations validées pour configurer un profil (SI, ratio G/I, débits de basal, DAI, etc.). + Un appareil Android compatible (par ex. téléphone mobile, montre Android version complète ou tablette). + AAPS nécessite une connexion internet pour fonctionner en boucle fermée. + Une MGC prise en charge et une application appropriée pour recevoir des valeurs de glycémie sur le téléphone/appareil. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html + Mise à jour d\'AAPS + Sélectionnez toutes les bonnes réponses. + Git doit être installé et configuré sur votre ordinateur. + Lorsque des versions mises à jour d\'AAPS sont disponibles, les versions précédentes peuvent avoir des fonctionnalités limitées à distance après une période donnée. + Vous devez enregistrer et noter l\'emplacement de votre magasin de clés et utiliser la même clé de signature que votre installation précédente pour les mises à jour. + Ne jamais mettre à jour si le système fonctionne correctement. + Si vous avez des difficultés à construire l\'apk, vous pouvez installer un apk qui a été construit par un ami. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Résolution de problèmes + Où pouvez-vous chercher de l\'aide pour AAPS ? + Vous pouvez demander des conseils dans le groupe Facebook des utilisateurs AAPS. + Vous devriez lire (et relire) la documentation AAPS. + Vous pouvez demander des conseils et signaler des problèmes techniques ou des défauts dans le Discord d\'AAPS. + Vous devez demander à votre diabétologue/professionnels de santés. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Quelle insuline devez-vous utiliser avec le plugin Ultra-Rapid-Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/Insuline humaine \"Normale\". + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Configuration/Config-Builder.html#insulin + Plugins de Sensibilité + Sélectionnez toutes les bonnes réponses. + Les plugins de sensibilité permettent à AAPS de s\'adapter aux changements temporaires ou de courte durée de la sensibilité à l\'insuline (par ex. changements hormonaux ou problèmes d\'absorption sur le site d\'infusion). + Les plugins de sensibilité fournissent à l\'utilisateur des modifications suggérées pour les débits de basal, les ratios G/I et SI qui peuvent être utilisés pour éditer le profil. + Le changement de canule réinitialisera le ratio Autosens à 100%. + Certaines des options du plugin ont des plages de temps configurables qui peuvent être définies par l\'utilisateur. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/fr/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Entrées de glucides erronées + Que devez-vous faire si vous avez renseigné une valeur erronée de glucides ? + Supprimez l\'entrée incorrecte dans les Traitements et entrez la nouvelle valeur correcte de glucides. + Bolus avec insuline en utilisant le menu d\'amoçage de la perfusion. + Ne faites rien – AAPS effectuera les ajustements appropriés. + Bolus avec insuline en utilisant le bouton Insuline (bolus) dans Aperçu (Accueil). + Erreurs de saisie/injection d\'insuline + Que devriez-vous faire si vous avez reçu moins d\'insuline que l\'historique de la pompe suggère par ex. à cause d\'une occlusion, d\'une mauvaise canule ou d\'un oubli de rebranchement de la pompe après une douche ? + Supprimez les données d\'insuline de Nightscout Careportal pour le retirer de l\'historique de la pompe. + Comparer les valeurs dans l\'historique d\'AAPS et de la pompe (si la pompe le permet). + Faites un bolus du montant de votre insuline calculée « manquante » soit par seringue / stylo ou en utilisant un amorçage. + Ne faites rien et laissez AAPS corriger le taux élevé de glycémie qui en résulte. + Glucides Actifs (GA) + Comment le changement de la SI impacte le calcul des GA ? + Augmenter la SI rendra l\'absorption des glucides plus longue + L\'augmentation de la SI réduira le temps d\'absorption des glucides + L\'augmentation de la SI n\'affectera pas les calculs de l\'absorption des glucides + Comment le changement de G/I impacte le calcul des GA ? + L\'augmentation de G/I rendra l\'absorption des glucides plus longue + L\'augmentation de G/I réduira le temps d\'absorption des glucides + L\'augmentation de G/I n\'impactera pas l\'absorption des glucides calculés + Comment le changement du pourcentage de profil impacte le calcul des GA ? + Définir le profil à 150% rendra l\'absorption des glucides plus longue + Définir le profil à 150% réduira le temps d\'absorption des glucides + Définir le profil à 150% n\'impactera pas le calcul de l\'absorption des glucides + Insuline Active (IA) + La valeur de l\'IA est impactée par les débits de basal temporaires émis. + Une basale temp haute ne sera pas donnée quand votre glycémie est en dessous de la cible. + Une IA négative pendant une période significative en l\'absence d\'exercice indique que votre profil est trop fort et qu\'il faut moins d\'insuline dans vos paramètres. + Une IA positive pendant une période significative indique une résistance à l\'insuline ou des repas non signalés. + Entrée de glucides et bolus + Seuls les grammes doivent être utilisés pour estimer et enregistrer les glucides consommés. + Les glucides consommés peuvent être enregistrés à l\'aide d\'un système d\'échange approprié (par exemple, les échanges DAFNE \"CHO\" ou les \"Unités de Pain\" européennes). + AAPS utilise un modèle dynamique pour estimer la « décomposition » des glucides et calculer les GA (COB). + Si les glycémies sont en dehors des valeurs acceptables (trop faibles ou trop élevées), la calculatrice de bolus peut être utilisée pour fournir des suggestions de corrections de glucides ou d\'insuline. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#rapport-glucides-insuline-g-i-g-u + e-Glucides + Pour quoi pourriez-vous utiliser des e-Glucides (glucides étendus) ? + Pour planifier les glucides dans le futur, éventuellement répartis sur un intervalle de temps (similaire à un bolus étendu distribuant l\'insuline sur une durée). + Pour enregistrer des glucides d\'exercice \"libres\" que vous souhaitez masquer à AAPS. + Les e-glucides (distribués plus tard) peuvent aider AAPS à traiter les repas à haute teneur en graisses/protéines. + Pour enregistrer les glucides de secours que vous utilisez pour traiter la glycémie faible. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Extended-Carbs.html + Surveillance à distance + Comment pouvez-vous surveiller AAPS à distance (par exemple pour votre enfant) ? + L\'application AAPSClient, l\'application Nightscout et la page Web Nightscout vous permettent de suivre AAPS à distance. + D\'autres applications (par ex. Dexcom Follow, xDrip en mode suivi) vous permettent de suivre certains paramètres (par ex. valeurs de glycémie/capteur) à distance, mais elles utilisent des algorithmes différents qui peuvent donner des valeurs IA ou GA inexactes. + Pour suivre AAPS à distance, les deux appareils doivent avoir un accès à internet (par exemple, via Wi-Fi ou données de réseau mobile/cellulaire). + AAPSClient utilisé comme suivi à distance surveillera et fournira le contrôle complet d\'AAPS. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Children/Children.html + Sensibilité à l\'Insuline (SI) + Augmenter la SI entraînera une augmentation de la quantité d\'insuline pour couvrir une quantité spécifique de glucides. + Réduire la SI entraînera une augmentation de la quantité d\'insuline pour corriger une glycémie supérieure à la cible. + Augmenter ou diminuer la SI n\'a aucun effet sur la quantité d\'insuline injectée lorsque la glycémie est inférieur à la cible. + La SI doit être saisie dans vos préférences AAPS. + La modification de la SI dans le profil est suffisant pour appliquer le changement. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Profiles.html + Vous pouvez utiliser plus d\'une valeur pour le ratio G/I dans votre profil. + Si vous changez votre SI dans votre profil, vous devez toujours modifier votre ratio G/I également. + Ratio Glucides sur Insuline (ratio G/I) + Les ratios G/I plus élevés conduisent à moins d\'insuline injectée pour une quantité donnée de glucides. + Les ratios G/I plus faibles conduisent à moins d\'insuline injectée pour une quantité donnée de glucides. + Si vous avez 0 GA, changer le ratio G/I conduira à différentes quantités d\'insuline pour corriger une valeur de glycémie donnée. + Le G/I sera différent si vous comptez l\'unité (d\'échange) de pain à 10g ou à 12g. + Le G/I (Ratio Glucides/Insuline) est : combien d\'unités (d\'échange) de pain sont couverte par 1U d\'insuline. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Changement de profil + Quand vous spécifiez un changement de profil à 90%, quelles réponses sont vraies ? + Le débit de base sera diminuée de 10%. + La valeur de SI sera augmentée de 10%. + La valeur du ratio G/I sera un nombre 10% inférieur. + Les ratios SI et G/I seront inchangés. + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Changement de profil + Quand vous spécifiez un changement de profil à 120%, quelles réponses sont vraies ? + La glycémie cible sera 20% plus élevée. + Le débit de base sera 20% plus élevé. + La glycémie cible sera inchangée. + La valeur de SI sera 20 % plus élevée. + Changement de profil + Si vous vous réveillez 2 heures plus tôt que d\'habitude, comment informez-vous AAPS du changement de votre planning ? + Faites un changement de profil avec un décalage horaire de 2 + Faites un changement de profil avec un décalage horaire de -2 + Fixez une cible temporaire repas imminent. + Faites un changement de profil à plus de 100 %. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#timeshift + Changements de profils + Les débits de basal, SI, ratios G/I, etc. doivent être définis dans les profils. + L\'activation des modifications apportées à votre profil Nightscout nécessite que votre téléphone AAPS soit connecté à Internet. + Modifier les profils pour changer des valeurs est suffisant pour mettre en œuvre toutes les modifications effectuées. + Plusieurs profils peuvent être définis et sélectionnés pour s\'adapter à des circonstances changeantes (par ex. changements hormonaux, changement de poste de travail, jours de semaine/week-end). + https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Aide sur les débits de basal + Où aller pour avoir de l\'aide avec le débit Basal etc. + Votre équipe médicale + Google + Facebook + Autres médicaments. Veuillez lire l\'énoncé ci-dessous et cocher la case pour accepter la déclaration. + AAPS réduit le débit de basal ou suspend l\'injection d\'insuline pour augmenter le taux de sucre dans le sang. Les médicaments du groupe d\'inhibiteurs SGLT2 (gliflozins) peuvent empêcher l\'augmentation de la glycémie et ainsi produire une carence dangereuse en insuline conduisant à une acidocétose DKA. +\nLes noms de marque communes sont : Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nJe m\'engage à ne pas prendre ces médicaments lors de l\'utilisation d\'AAPS ou à désactiver la boucle avant de les utiliser. + diff --git a/plugins/main/src/main/res/values-fr-rFR/objectives.xml b/plugins/main/src/main/res/values-fr-rFR/objectives.xml new file mode 100644 index 0000000000..4ab7a99fab --- /dev/null +++ b/plugins/main/src/main/res/values-fr-rFR/objectives.xml @@ -0,0 +1,55 @@ + + + Départ + Vérifiez + %1$d. Objectif + Objectif %1$d non démarré + Objectif %1$d non terminé + Paramétrage de la visualisation et la surveillance des données, analyse des débits Basal et des ratios + Vérifiez que la Glycémie est disponible sur Nightscout et que les données d’insuline ont été téléchargées de la pompe + Démarrage de la boucle ouverte + Utilisez votre boucle ouverte pendant plusieurs jours et lancez manuellement plusieurs débits Basal temporaires. Définissez et utilisez les cibles temporaires et celles par défaut (ex : sport ou resucrage suite à une hypo) + Compréhension de la Boucle Ouverte, y compris les propositions de débits Basal temporaires + Partant de ce constat, décidez quel doit être le débit de base maximum, et entrez le dans la pompe et les préférences + Démarrage de la boucle fermée avec le système AGB ( Arrêt pour Glycémie Basse ) + Activez la boucle fermée avec le paramètre max IOB = 0 pendant plusieurs jours sans avoir un trop grand nombre d\'AGB (Arrêt pour Glycémie Basse) + Réglage de la Boucle Fermée, augmentation de l\'IA (Insuline Active) maximale au dessus de 0 et abaissement progressif des cibles glycémiques + Utilisez pendant plusieurs jours, et au moins une nuit sans alarme d’hypoglycémie, avant d\'abaisser les cibles glycémiques + Ajustement des débits Basal et des ratios si nécessaire, puis activation de la fonction auto-sens + 1 semaine de Boucle Fermée en journée en saisissant régulièrement les glucides + Activation de fonctionnalités supplémentaires pour l\'utilisation en journée, telles que la fonction SMB + Activation de l\'automatisation + Lisez le wiki et augmentez le maxIA pour que les SMBs fonctionnent correctement ! Un bon début est maxIA = moyenne des Bolus Repas + 3 x maximum débit Basal quotidien + Lisez la documentation comment l\'automatisation fonctionne. Configurez vos premières règles simples. Au lieu de mettre une action, configurez une notification. Quand vous êtes sûr que l\'automatisation est déclenchée au bon moment, remplacez la notification par une action réelle. (https://androidaps.readthedocs.io/fr/latest/Usage/Automation.html) + Glycémie disponible sur NS + Statut de la pompe disponible sur NS + Activation manuelle + Accompli : %1$s + Apprendre comment contrôler AAPS + Effectuer différentes actions dans AAPS + Sélection du profil à 90% pendant 10 min (appui long sur le nom du profil à l\'Accueil) + Simulation d\'une douche. Déconnectez la pompe pendant 1h (Appui long sur Boucle Ouverte) + ... et reconnectez la pompe de la même façon + Créez une cible temporaire personnalisée avec une durée de 10 min (Appui long sur votre cible actuelle) + Dans la Configuration, activez le plugin Actions, rendez le visible et affichez son contenu dans le menu supérieur + Affichage du contenu du plugin Boucle + Modification de l\'échelle du graphique par un appui long sur la courbe de glycémie + Entrer + Si vous avez au moins 3 mois d\'expérience de boucle fermée avec d\'autres systèmes, vous pourriez avoir droit à un code permettant d\'ignorer les objectifs. Voir https://androidaps.readthedocs.io/fr/latest/Usage/Objectives.html#ignorer-les-objectifs pour plus de détails. + Code accepté + Code invalide + Prouver ses connaissances + Étudiez les questions. Vous avez quatre réponses possibles pour chaque question. Il peut y avoir plusieurs réponses correctes. Veuillez vérifier celles qui sont correctes et sélectionnez VÉRIFIER. + Réponse désactivée jusqu\'à : %1$s + Mauvaise réponse ! + Prochain non terminé + Code requis : %1$s + (Sélectionnez toutes les bonnes réponses) + https://androidaps.readthedocs.io/fr/latest/Getting-Started/FAQ.html#que-faire-pour-prendre-une-douche-ou-un-bain + https://androidaps.readthedocs.io/fr/latest/Getting-Started/Screenshots.html + https://androidaps.readthedocs.io/fr/latest/Configuration/Config-Builder.html + https://androidaps.readthedocs.io/fr/latest/Getting-Started/Screenshots.html + Non connecté à Internet + Échec de la récupération de l\'heure + Exigences de l\'objectif non atteintes + diff --git a/plugins/main/src/main/res/values-fr-rFR/strings.xml b/plugins/main/src/main/res/values-fr-rFR/strings.xml index 751a5ed863..134d580791 100644 --- a/plugins/main/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/main/src/main/res/values-fr-rFR/strings.xml @@ -1,202 +1,255 @@ - Communicateur SMS SMS - Commander à distance AAPS en utilisant les commandes SMS. - depuis l\'application Authenticator pour : %1$s suivie du code PIN - Code PIN obligatoire à la fin de l\'OTP - Chiffres supplémentaires qui doivent être mémorisés et collés à la fin de chaque OTP généré - Configuration de l\'Authentificateur - Code à vérifier : OTP + PIN - Le code de vérification est composé de 6 chiffres affichés par l\'application Authenticator (appelée OTP) suivi du code PIN obligatoire constitué de 3 chiffres ou plus. - Réinitialiser les authentificateurs - Réinitialiser la clé de l\'Authentificateur - Voulez-vous réinitialiser la clé de l\'Authenticateur ? Cela rendra tous authentificateurs configurés invalides, et vous devrez les configurer à nouveau. - Nouvelle clé de l\'Authenticateur générée ! Veuillez utiliser le QRCode mis à jour pour les authentificateurs. - Exportation de l\'OTP secret - Êtes-vous sûr de vouloir copier l\'OTP secret dans le presse-papiers ?\n\nVous pouvez en avoir besoin uniquement si votre application d\'authentification a des problèmes pour scanner le QRCode, si vous voulez le saisir manuellement ou si vous voulez configurer un jeton OTP matériel en utilisant une application dédiée. - OTP secret (au format Base32) exporté et copié dans le presse-papiers. Collez-le dans l\'authentificateur ou le graveur OTP matériel ! - 1. Installation l\'Authentificateur - 2. Scannez le code pour configurer les codes OTP AAPS - 3. Test Mot-de-Passe-Unique (OTP) - Réinitialiser les authentificateurs - Sur chaque téléphone suiveur, installez une appli. Authentificateur qui prend en charge les jetons RFC 6238 TOTP. Les applications libres populaires sont:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - En réinitialisant l\'Authentificateur, vous invalidez tous les authentificateurs déjà initialisés. Vous devrez les reconfigurer ! - Code incorrect. Commande annulée. - Délai d\'attente pour finir la communication précédente avec la pompe - Patient - Numéros de tél autorisés +XXXXXXXXXX;+YYYYYYYYYY - Pour injecter le bolus de %1$.2f U, renvoyez le code %2$s - Pour injecter le bolus repas de %1$.2f U, renvoyez le code %2$s - Pour définir la cible temp %1$s, renvoyez le code %2$s - Pour annuler la cible temp, renvoyez le code %1$s - Pour désactiver les commandes à distance SMS, renvoyez le code %1$s.\n\nGardez à l\'esprit que vous ne pourrez le réactiver que directement à partir de l\'application AAPS du smartphone maître. - Service de commande à distance SMS arrêté. Pour le réactiver, utilisez AAPS sur le smartphone maître. - Pour envoyer la calibration %1$.2f, renvoyez le code %2$s - Échec du Bolus - Nombre minimum de minutes qu\'il doit y avoir entre un bolus distant et le suivant - Combien de minutes doit-il y avoir, au minimum, entre un bolus et le suivant - Pour votre sécurité, pour modifier cette préférence vous devez ajouter au moins 2 numéros de téléphone. - Bolus de %1$.2f U délivré avec succès - Bolus repas de %1$.2f U délivré avec succès - Cible %1$s pendant %2$d minutes - Cible %1$s pendant %2$d minutes définie avec succès - Cible Temp annulée avec succès - Autoriser les commandes à distance par SMS - La Boucle a été désactivée - La Boucle a été activée - La Boucle est activée - Pour connecter la pompe, renvoyez le code %1$s - Echec de la connexion pompe - Pour déconnecter la pompe pendant %1$d min, renvoyez le code %2$s - Pompe déconnectée - Pompe reconnectée - La commande à distance n\'est pas autorisée - Bolus à distance non disponible. Réessayez plus tard. - Pour démarrer la basal de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s - Pour changer le profil vers %1$s %2$d%%, renvoyez le code %3$s - Pour démarrer le bolus étendu de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s - Pour entrer %1$dg à %2$s, renvoyez le code %3$s - Pour démarrer la Basal %1$d%% pendant %2$d min, renvoyez le code %3$s - Pour suspendre la boucle pendant %1$d min, renvoyez le code %2$s - Pour reprendre la boucle, renvoyez le code %1$s - Pour activer la boucle, renvoyez le code %1$s - Pour désactiver la boucle, renvoyez le code %1$s - Démarrage réussi pour %1$.2fU/h de basal temp pour %2$d min - Le Bolus étendu %1$.2fU pendant %2$d min a commencé avec succès - %1$d g de glucides entrés avec succès - L\'entrée de %1$dg de glucides a échoué - Démarrage réussi pour %1$d%% de Basal temporaire pour %2$d min - Le démarrage du basal temporaire a échoué - Le départ du Bolus étendu a échoué - Pour arrêter la basal temp, renvoyez le code %1$s - Pour arrêter le bolus étendu, renvoyez le code %1$s - Basal temporaire annulé - Bolus étendu annulé - Echec de l\'annulation du basal temporaire - Échec de l\'annulation du Bolus étendu - Commande inconnue ou mauvaise réponse - Un autre bolus est en file d\'attente. Réessayez plus tard. - Durée incorrecte - Boucle suspendue - Boucle relancée - Num tél du SMS est invalide - Étalonnage envoyé. La réception doit être activée dans xDrip+. - xDrip+ ne reçoit pas les étalonnages - Message invalide - Envoyer un SMS si l\'événement Pompe hors de portée est déclenché - Signaler Pompe hors de portée - Format incorrect - Gly: - Dernière Gly: + Pour définir la cible temp %1$s, renvoyez le code %2$s + Pour annuler la cible temp, renvoyez le code %1$s + Pour désactiver les commandes à distance SMS, renvoyez le code %1$s.\n\nGardez à l\'esprit que vous ne pourrez le réactiver que directement à partir de l\'application AAPS du smartphone maître. + Service de commande à distance SMS arrêté. Pour le réactiver, utilisez AAPS sur le smartphone maître. + Pour envoyer la calibration %1$.2f, renvoyez le code %2$s + Échec du Bolus + Nombre minimum de minutes qu\'il doit y avoir entre un bolus distant et le suivant + Combien de minutes doit-il y avoir, au minimum, entre un bolus et le suivant + Pour votre sécurité, pour modifier cette préférence vous devez ajouter au moins 2 numéros de téléphone. + Bolus de %1$.2f U délivré avec succès + Bolus repas de %1$.2f U délivré avec succès + Cible %1$s pendant %2$d minutes + Autoriser les commandes à distance par SMS + La Boucle a été désactivée + La Boucle a été activée + La Boucle est activée + Pour connecter la pompe, renvoyez le code %1$s + Echec de la connexion pompe + Pour déconnecter la pompe pendant %1$d min, renvoyez le code %2$s + Pompe déconnectée + La commande à distance n\'est pas autorisée + Bolus à distance non disponible. Réessayez plus tard. + Pour démarrer la basal de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s + Pour changer le profil vers %1$s %2$d%%, renvoyez le code %3$s + Pour démarrer le bolus étendu de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s + Pour démarrer la Basal %1$d%% pendant %2$d min, renvoyez le code %3$s + Pour suspendre la boucle pendant %1$d min, renvoyez le code %2$s + Pour reprendre la boucle, renvoyez le code %1$s + Pour activer la boucle, renvoyez le code %1$s + Pour désactiver la boucle, renvoyez le code %1$s + Démarrage réussi pour %1$.2fU/h de basal temp pour %2$d min + Le Bolus étendu %1$.2fU pendant %2$d min a commencé avec succès + %1$d g de glucides entrés avec succès + L\'entrée de %1$dg de glucides a échoué + Démarrage réussi pour %1$d%% de Basal temporaire pour %2$d min + Le démarrage du basal temporaire a échoué + Le départ du Bolus étendu a échoué + Pour arrêter la basal temp, renvoyez le code %1$s Delta: - IA: Bolus: Basal: - il y a %1$d min - Suspendu (%1$d m) - La lecture du statut a échoué - Changement de profil effectué - La durée du DBT doit être un multiple de %1$d minutes et supérieure à 0. - Code QR pour configurer un mot de passe à usage unique - DAI Lyumjev - Réglages pour les insulines Humalog et NovoRapid / NovoLog - Réglages pour l\'insuline Fiasp - Réglages pour l\'insuline Lyumjev - Permet de définir le pic de l’activité de l’insuline et ne doit être utilisé que par les utilisateurs avancés INS - Durée du Pic de la Courbe IA - Temps du Pic [min] - Pic - Profil d\'insuline ajustable Oref - Insuline à Action Rapide Oref - Insuline Ultra Rapide Oref - Durée d’Action pour %1$f trop courte - utiliser %2$f à la place ! Novorapid, Novolog, Humalog Fiasp - - Barre d\'état pour xDrip+ (Montre) + xds - Afficher les informations de votre Boucle sur votre écran de montre xDrip+. - Afficher l\'IA détaillée - Sur la montre, décomposer l’IA en IA bolus et IA basal - Boucle désactivée - Afficher l’Impact Glycémie - Ajouter l’IGly sur la vue générale - état Xdrip+ (montre) - Aliments - Affiche les aliments définis par défaut dans Nightscout - Filtrer - Aliments - kJ - En - Pr - Lipides - Catégorie - Sous-catégorie - Assistant - Choisissez le thème sombre, clair ou le thème système - Thèmes de couleurs de l\'appli - Thème sombre - Thème clair - Utiliser le thème de l’appareil - Profil - PL - Définissez un profil qui est disponible hors ligne. - ajouter un nouveau à la liste - Voulez-vous changer de profil et annuler les modifications faites dans le profil actuel ? - Sauver ou réinitialiser les modifications actuelles en premier - Supprimer le profil actuel ? - Unités : - Nom de profil manquant - Erreur dans les valeurs de G/I - Erreur dans les valeurs de basal - Erreur dans les valeurs cibles - Erreur dans les valeurs de SI - Le nom du profil contient des points.\nCe n\'est pas pris en charge par NS.\nLe profil n\'est pas remonté dans NS. - Profil %1$s non valide, refusé par NS - Vue - Erreurs - Sélectionnez le profil à modifier - Nom du profil : - ajouter un nouveau profil - dupliquer le profil actuel - supprimer le profil actuel - DAI - G/I - SI - CIBLE BAS - Données recalculées utilisées - Gly trop proche :\n%1$s\n%2$s - recalculé - entrées doubles - Changement d\'heure dans moins de 24 heures - Changement d\'heure dans moins de 3 heures - Boucle fermée désactivée - Boucle désactivée ! Libérez au moins %1$d Mo du stockage interne ! - ancienne version - très ancienne version - Application expirée - Nouvelle version disponible depuis %1$d jours ! Retour à Arrêt Glycémie Basse (AGB) dans %2$d jours, la boucle sera désactivée dans %3$d jours - Terminé, félicitations ! - Pas encore terminé - Temps écoulé + Maximum IA réglé correctement + Glycémie disponible depuis la source sélectionnée + Le service de synchronisation a l\'autorisation d\'écriture + Boucle activée + APS Sélectionné + Mode boucle fermée activé + OBJ + Programme d’apprentissage + Voulez-vous réinitialiser le début de l\'objectif ? Vous risquez de perdre vos progrès. + Suivant + Préc + Refaire l\'objectif + Suppression démarrée + + Actions + Quelques boutons pour accéder rapidement aux fonctions communes + ACT + Basal Temporaire + Bolus étendu + Annuler Bolus étendu + Outils + Historique + Capteur + âge: + niveau: + Insuline + Pile pompe + Canule + L\'utilisation du bolus étendu arrètera la boucle fermée pour la durée d\'exécution du bolus étendu. Voulez-vous vraiment le faire ? + Erreur administration bolus étendu + âge canule + âge pompe patch + Pompe patch + + Limiter les bolus prolongé à %1$.1f U à cause de %2$s + Limiter les glucides %1$d g à cause de %2$s + Limiter l’IA %1$.1f U en raison de la %2$s + Pompe n’est pas capable de basals temporaires + Mode de Boucle Fermée désactivé dans les préférences + Repas Non Signalé (UAM) désactivé car il utilise le plugin Sensibilité de Oref1 + Version Dev. La Boucle Fermée est désactivée. + Boucle fermée désactivée à cause du bolus étendu + SMB toujours et post-ingestion de glucides désactivé car la source de glycémies actuelle ne supporte pas de filtrage avancé + SMB non autorisé en mode boucle ouverte + valeur Max dans les préférences + limite fixée + Traitements de sécurité + Veuillez sélectionner le type de patient pour définir les limites de sécurité + Enfant + Adolescent + Adulte + Adulte résistant à l\'insuline + Grossesse + Maximum Bolus autorisé [U] + Maximum de Glucides autorisé [g] + Type de patient - Masquer + Afficher les voyants d\'état sur l\'écran d\'accueil + Seuil d\'alerte âge insuline [h] + Seuil critique âge insuline [h] + Seuil d\'alerte âge capteur [h] + Seuil critique âge capteur [h] + Seuil d’alerte niveau pile capteur [%] + Seuil critique niveau pile capteur [%] + Seuil d\'alerte âge pile pompe [h] + Seuil critique âge pile pompe [h] + Seuil d\'alerte niveau réservoir [U] + Seuil critique de niveau réservoir [U] + Seuil d’alerte niveau pile pompe [%] + Seuil critique niveau pile pompe [%] + Voyants d\'état + Copier les paramètres depuis NS + graphique + insuline + Menu graphique + qualité de la glycémie + glycémie + obsolète + Mode APS + Accepter nouveau basal temporaire : + MGC + Assistant Rapide + + Redémarrer + Jeton d\'accès NS + Jeton d\'accès NS + Jeton d\'accès généré sur la page d\'administration NS (min. 17 caractères) + Transmettre maintenant + Vider queue + Afficher queue + Queue : + État : + Synchronisation complète + Synchronisation complète ? Cela peut prendre plusieurs heures et jusqu\'à la fin, vous ne verrez pas de nouvelles données sur NS. + Synchronisation + Profils, boluses, glucides, basals temporaires sont téléchargés vers NS + Télécharger des données vers NS + Recevoir les profils sauvegardés + Synchroniser les profils à partir de l\'éditeur de profil NS + Recevoir les cibles temporaires + Accepter les cibles temporaires entrées via NS ou NSClient + Recevoir les changements de profil + Accepter les changements de profil entrés via NS ou NSClient + Recevoir les événements APS hors ligne + Accepter les événements APS hors ligne entrés via NS ou NSClient + Recevoir des DBT et des BE + Accepter le DBT et le BE entrés dans une autre instance + Recevoir l\'insuline + Acceptez l\'insuline entrée via NS ou NSClient (elle n\'est pas injectée, uniquement pour le calcul pour IA) + Recevoir les glucides + Accepter les glucides entrés par NS ou NSClient + Recevoir des événements thérapeutiques + Accepter les événements de thérapie (canule, insuline, changement de batterie, etc.) entrés via NS ou NSClient + Recevoir/remplir les anciennes données MGC + Accepter les données MGC de NS + Exécuter %s? + Ralentir les téléchargements + Options d\'alarme + Créer des notifications à partir des alarmes NS + Créer des notifications à partir des notifications NS + + Votre nom d\'utilisateur Tidepool, normalement votre adresse e-mail + Nom d\'utilisateur + Mot de passe de connexion Tidepool + Mot de passe de connexion + Test de la connexion Tidepool + Si activé, les transferts iront vers https://int-app.tidepool.org au lieu de https://app.tidepool.org/ + Utiliser les serveurs d\'Intégration (test) + Tidepool + TDP + Transfère les données vers Tidepool + Transférer les données CGM + Transférer les traitements (insuline, glucides) + Transférer les Basal temporaires + Transférer les changements de profils, les objectifs temporaires + Transférer les tests de glycémies + Supprimer tout + Réinitialiser le démarrage + Télécharger maintenant + + Intégration pour les pompes qui n’ont pas encore de pilote (Boucle Ouverte) + Paramètres pompe virtuelle + Remontée des informations vers NS + + Télécharge les glycémies depuis Nightscout + xDrip+ + Recevoir les glycémies depuis xDrip+. + BYODA + BYODA + Recevoir les valeurs de glycémie de l’application Dexcom patchée (BYODA). + App Eversense (patché) + Recevoir les valeurs de glycémie de l’app Eversense patchée. + Recevoir les glycémies depuis Glimp. + Recevoir les glycémies depuis le 600SeriesAndroidUploder. + Poctech + Recevoir les glycémies depuis l\'app Poctech + Glunovo + Recevoir des valeurs de l\'application Glunovo + Intelligo + Recevoir des valeurs depuis l\'application Intelligo + Tomato (MiaoMiao) + Tomato + Recevoir les valeurs de glycémie de l\'application Tomato (appareil MiaoMiao) + Aidex + Recevoir les valeurs de glycémie du MGC GlucoRx Aidex. + Paramètres de téléchargement des glycémies + + Utiliser la connexion mobile + Utilisez la connexion Wi-Fi + SSID WiFi + Pendant la charge + Sur batterie + Créer des messages d’erreurs + Créer des annonces à partir des alertes Glucides requis + Créer une annonce Nightscout pour les messages d\'erreur et les alertes locales (également visible dans la section Careportal de l\'onglet traitements) + Créer des annonces Nightscout pour les alertes besoins de glucides + Synchronise vos données avec Nightscout + Synchronise vos données avec Nightscout en utilisant l\'API v3 + Bloqué par les options de recharge + Bloqué par les options de connectivité + OAPS + UPLD + + Thème d\'origine + Basse résolution + Boutons toujours en bas + Grand écran + Thème diff --git a/plugins/main/src/main/res/values-ga-rIE/exam.xml b/plugins/main/src/main/res/values-ga-rIE/exam.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-ga-rIE/exam.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-ga-rIE/objectives.xml b/plugins/main/src/main/res/values-ga-rIE/objectives.xml new file mode 100644 index 0000000000..693890deb0 --- /dev/null +++ b/plugins/main/src/main/res/values-ga-rIE/objectives.xml @@ -0,0 +1,5 @@ + + + Tosaigh + Fhíorú + diff --git a/plugins/main/src/main/res/values-ga-rIE/strings.xml b/plugins/main/src/main/res/values-ga-rIE/strings.xml index be33e8553d..53af16be99 100644 --- a/plugins/main/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/main/src/main/res/values-ga-rIE/strings.xml @@ -2,37 +2,18 @@ SMS - Is lúb díchumasaithe - Is lúb cumasaithe - Is lúb cumasaithe - Cealú TBR teip - Lúb ar fionraí - Lúb atógáil - Deilte: IOB: - Bólas: - Bunaidh: - DIA Lyumjev INS Free-Peak Oref Rapid-Acting Oref - + - Bia - kJ - Saill - Catagóir - Aonaid: - Ainm Próifíle: DIA - IC - ISF - BUN @@ -40,5 +21,36 @@ + Lúb cumasaithe + APS roghnaithe + + GNÍ + + Páiste + Déagóirí + Duine fásta + Othar cineál + APS mód + CGM + + Atosaigh + Seachadadh anois + Stádas: + + Tidepool + TDP + + + Sonraí a íoslódáil ó Nightscout + xDrip+ + Luachanna BG a fháil ó xDrip+. + Luachanna BG a fháil ón 600SeriesAndroidUploader. + Poctech + Tomato (MiaoMiao) + Tomato + + WiFi SSID + OAPS + diff --git a/plugins/main/src/main/res/values-hr-rHR/exam.xml b/plugins/main/src/main/res/values-hr-rHR/exam.xml new file mode 100644 index 0000000000..88a331afbf --- /dev/null +++ b/plugins/main/src/main/res/values-hr-rHR/exam.xml @@ -0,0 +1,40 @@ + + + Što je istina o DIA-i? + Trajanje djelovanja inzulina (DIA) + Trebali biste postaviti vrijednost za DIA u svom profilu. + Ako ste zadovoljni da je vrijednost za DIA koju ste koristili u svojoj pumpi prije AAPS-a, nema potrebe da je mijenjate kada počnete raditi u petlji. + Kako bi se spriječilo pretjerano korigiranje AAPS-a za porast glukoze u krvi uzrokovan brzodjelujućim ugljikohidratima koji se koriste za tretiranje hipoglikemije. + Razlozi za primjenu \"Otkači pumpu\" u AAPS + Sprječava APPS da obračuna inzulin koji nije isporučen dok je pumpa fizički odspojena. + Poslat će AAPS u način rada otvorene petlje. + AAPS postavke + AAPS postavke + Ne činiti ništa - AAPS će se pozabaviti time. + Što je bitno za postavljanje i korištenje AAPS-a? + Što je bitno za postavljanje i korištenje AAPS-a? + AAPS zahtijeva internetsku vezu kako bi radio u zatvorenoj petlji. + Ažuriranje AAPS-a + Kada se objave ažurirane verzije AAPS-a, starije verzije mogu biti udaljeno ograničene nakon određenog vremena. + Gdje možete potražiti pomoć za AAPS? + Za savjet možete zatražiti u Facebook grupi Korisnici AAPS-a. + Trebali biste pročitati (i ponovno pročitati) AAPS dokumentaciju. + Možete zatražiti savjet i prijaviti tehničke probleme ili probleme u AAPS Discord. + Dodaci za osjetljivost omogućuju AAPS-u da se prilagodi privremenim ili kratkotrajnim promjenama u osjetljivosti na inzulin (na primjer, hormonalne promjene ili problemi s apsorpcijom na mjestu infuzije). + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Ne poduzimati ništa – AAPS će izvršiti odgovarajuće prilagodbe. + Usporedite vrijednosti u AAPS i povijesti pumpe (ako pumpa to podržava). + Ne poduzimajte ništa i dopustite APPS-u da ispravi sve rezultirajuće visoke razine glukoze u krvi. + AAPS koristi dinamički model za procjenu \"raspada\" ugljikohidrata i izračunavanje COB-a. + Za bilježenje \'besplatnih\' ugljikohidrata za vježbanje koje želite sakriti od AAPS-a. + e-ugljikohidrati (distribuirani u budućnosti) mogu pomoći AAPS-u u rješavanju obroka s visokim udjelom masti/proteina. + Kako možete nadzirati APPS (na primjer za svoje dijete) na daljinu? + Aplikacija AAPSClient, aplikacija Nightscout i web stranica Nightscout omogućuju vam praćenje AAPS-a na daljinu. + Da biste pratili AAPS na daljinu, oba uređaja moraju imati pristup internetu (npr. putem Wi-Fi ili podatkovne mreže mobilne/mobilne mreže). + AAPSClient koji se koristi kao daljinski pratitelj nadzirat će i pružiti potpunu kontrolu nad AAPS-om. + ISF trebate unijeti u svoje postavke AAPS-a. + Ako ustanete 2 sata ranije nego inače, kako biste trebali obavijestiti AAPS o promjeni svog rasporeda? + Aktiviranje promjena vašeg Nightscout profila zahtijeva da vaš AAPS telefon ima internetsku vezu. + AAPS smanjuje bazalne doze ili obustavlja isporuku inzulina radi povećanja šećera u krvi. Lijekovi iz klase inhibitora SGLT2 (gliflozini) mogu spriječiti povećanje glukoze u krvi i stoga mogu izazvati opasan nedostatak inzulina koji dovodi do DKA. +\nUobičajeni brendovi su: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nOvime obećavam da neću uzimati takve lijekove kada koristeći AAPS ili će deaktivirati petlju prije upotrebe takvih lijekova. + diff --git a/plugins/main/src/main/res/values-hr-rHR/objectives.xml b/plugins/main/src/main/res/values-hr-rHR/objectives.xml new file mode 100644 index 0000000000..01623f2c9e --- /dev/null +++ b/plugins/main/src/main/res/values-hr-rHR/objectives.xml @@ -0,0 +1,5 @@ + + + Naučite kako kontrolirati AAPS + Izvršite različite radnje u AAPS-u + diff --git a/plugins/main/src/main/res/values-hr-rHR/strings.xml b/plugins/main/src/main/res/values-hr-rHR/strings.xml index e54e822a18..4562060211 100644 --- a/plugins/main/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/main/src/main/res/values-hr-rHR/strings.xml @@ -1,26 +1,218 @@ - Daljinsko upravljanje AndroidAPS-om pomoću SMS naredbi. - 2. Skenirajte kod za postavljanje AAPS OTP kodova - Poništavanjem autentifikatora činite sve već osigurane autentifikatore nevažećima. Morat ćete ih ponovno postaviti! + Za postavljanje privremenog cilja %1$s odgovorite s kodom %2$s + Da biste otkazali Temp Target, odgovorite s kodom %1$s + Da biste onemogućili uslugu SMS Remote Service, odgovorite s kodom %1$s.\n\nImajte na umu da ćete je moći ponovno aktivirati samo s AAPS glavnog pametnog telefona. + Usluga SMS Remote Service zaustavljena. Za ponovno aktiviranje upotrijebite AAPS na glavnom pametnom telefonu. + Za slanje kalibracije %1$.2f odgovorite s kodom %2$s + Bolus nije uspio + Najmanji broj minuta koji mora proći između jednog daljinskog bolusa i sljedećeg + Koliko minuta mora proći najmanje između dva bolusa + Radi vaše sigurnosti, za uređivanje ove postavke morate dodati najmanje 2 telefonska broja. + Bolus %1$.2f U uspješno isporučen + Bolus za obrok %1$.2f U uspješno isporučen + Ciljajte %1$s na %2$d minute + Dopusti daljinske naredbe putem SMS-a + Petlja je onemogućena + Petlja je omogućena + Petlja je omogućena + Za povezivanje pumpe odgovorite s kodom %1$s + Povezivanje s pumpom nije uspjelo + Za odspajanje pumpe na %1$d minute odgovorite s kodom %2$s + Pumpa nije povezana + Daljinska naredba nije dopuštena + Daljinski bolus nije dostupan. Pokušajte ponovno kasnije. + Za početak bazalnog %1$.2f U/h za %2$d min odgovorite s kodom %3$s + Za promjenu profila na %1$s %2$d%% odgovorite s kodom %3$s + Za početak produženog bolusa %1$.2f U za %2$d min odgovorite s kodom %3$s + Za unos %1$dg na %2$s odgovorite s kodom %3$s + Za početak bazalnog %1$d%% za %2$d min odgovorite s kodom %3$s + Da biste obustavili petlju na %1$d minute, odgovorite s kodom %2$s + Za nastavak petlje odgovorite s kodom %1$s + Da biste omogućili petlju odgovorite s kodom %1$s + Za onemogućavanje petlje odgovorite s kodom %1$s + Temp bazal %1$.2fU/h za %2$d min uspješno je započeo + Produženi bolus %1$.2fU za %2$d min uspješno je započeo + Ugljikohidrati %1$d g uspješno uneseni + Unos %1$dg ugljikohidrata nije uspio + Temp bazal %1$d%% za %2$d min uspješno je započeo + Temp bazalni početak nije uspio + Početak produženog bolusa nije uspio + Za zaustavljanje privremenog bazalnog odgovora s kodom %1$s + Za zaustavljanje produljenog bolusa odgovorite kodom %1$s + Temp bazal je otkazan + Produženi bolus otkazan + Otkazivanje privremenog bazala nije uspjelo + Otkazivanje produženog bolusa nije uspjelo + Nepoznata naredba ili pogrešan odgovor + Pogrešno trajanje + Petlja suspendirana Delta: - QR kod za postavljanje jednokratne lozinke + Lyumjev + Unaprijed podešen predložak za inzulin Humalog i NovoRapid / NovoLog + Unaprijed podešen predložak za inzulin Fiasp + Unaprijed podešen predložak za inzulin Lyumjev + Omogućuje definiranje vrhunca aktivnosti inzulina i trebaju ga koristiti samo napredni korisnici + INS + Vršno vrijeme IOB krivulje + Špica [min] + Free-Peak Oref + Rapid-Acting Oref + Ultra-Rapid Oref + DIA od %1$f prekratak - umjesto njega koristite %2$f! + Novorapid, Novolog, Humalog + Fiasp - - Prikažite informacije o svojem Loop-u na vašem xDrip+ brojčaniku. + + xds + Prikaži detaljan IOB + Podijelite IOB na bolus i bazalni IOB na brojčaniku + Petlja onemogućena + Prikaži BGI + Dodajte BGI u redak statusa + xDrip+ status (sat) - Prikaži postavke prehrane definirane u Nightscout + Hrana + Filter + Hrana + Kategorija + Podkategorija + Kalkulator + Odaberite tamno, svijetlo ili slijedite temu sustava + Shema boja aplikacije + Tamna tema + Svijetla tema + Koristite temu uređaja - Definirajte profil koji je dostupan izvan mreže. + Profil + LP + dodaj novi na popis + Želite li promijeniti profil i odbaciti promjene napravljene na trenutnom profilu? + Prvo spremite ili poništite trenutne promjene + Izbrisati trenutni profil? + Jedinice: + Nedostaje naziv profila + Pogreška u IC vrijednostima + Pogreška u bazalnim vrijednostima + Pogreška u ciljanim vrijednostima + Pogreška u ISF vrijednostima + Naziv profila sadrži točke.\nNS to ne podržava.\nProfil nije učitan u NS. + Nevažeći profil %1$s nije prihvaćen od NS-a + Pogled + Greške + Odaberite profil za uređivanje + Ime profila: + dodaj novi profil + klonirajte trenutni profil + brisanje trenutnog profila + DIA + CILJ + BAZAL + Korišteni preračunati podaci + BG preblizu:\n%1$s\n%2$s + preračunato + dvostruki unosi + Promjena računanja vremena za 24 sata ili manje + Promjena računanja vremena prije manje od 3 sata - zatvorena petlja onemogućena + Oslobodite najmanje %1$d MB iz interne pohrane! Petlja onemogućena! + stara verzija + vrlo stara verzija + Aplikacija je istekla + Nova verzija dostupna najmanje %1$d dana! Vraćanje na LGS nakon %2$d dana, petlja će biti onemogućena nakon %3$d dana + Nije još dovršeno + Prošlo vrijeme + Program učenja + + Nekoliko izbora za brzi pristup uobičajenim funkcijama + + Sigurnosne postavke medikacije + Max dozvoljen bolus [U] + Max dozvoljeni Uh [g] + + Profili, bolusi, ugljikohidrati, privremeni bazali učitavaju se u NS + Upload podataka u NS + Primite pohranu profila + Sinkronizirajte profile iz NS uređivača profila + Primanje privremenih ciljeva + Prihvatite privremene ciljeve unesene putem NS ili NSClient + Primite promjene profila + Prihvatite promjene profila unesene putem NS ili NSClient + Primajte izvanmrežne APS događaje + Prihvatite APS Offline događaje unesene putem NS ili NSClient + Primi TBR i EB + Prihvatite TBR i EB unesene kroz drugu instancu + Primiti inzulin + Prihvatite inzulin unesen putem NS ili NSClijenta (ne isporučuje se, samo se obračunava prema IOB-u) + Primajte ugljikohidrate + Prihvatite ugljikohidrate unesene putem NS ili NSClijenta + Primajte terapijske događaje + Prihvati terapijske događaje (kanila, inzulin, promjena baterije itd.) unesene putem NS ili NSClijenta + Primanje/ispunjavanje CGM podataka + Prihvati CGM podatke iz NS-a + Pokrenuti %s? + Usporite prijenose + Mogućnosti alarma + Kreirajte obavijesti iz NS alarma + Kreirajte obavijesti iz NS najava + Prag zastarjelih podataka [min] + Hitan prag zastarjelih podataka [min] + Prijavite pokretanje aplikacije u NS + Omogući lokalne emisije. + + Vaše korisničko ime za prijavu na Tidepool, obično vaša adresa e-pošte + Korisničko ime za prijavu + Vaša lozinka za prijavu na Tidepool + Vaša lozinka za prijavu + Testirajte Tidepool prijavu + Ako je omogućeno, prijenosi će ići na https://int-app.tidepool.org umjesto na uobičajeni https://app.tidepool.org/ + Koristite integracijske (testne) poslužitelje + Tidepool + TDP + Učitava podatke u Tidepool + Učitajte CGM podatke + Prijenos tretmana (inzulin, ugljikohidrati) + Učitajte privremene bazale + Učitajte prekidače profila, privremene ciljeve + Učitajte testove glukoze u krvi + Ukloniti sve + Poništi početak + Pošalji sada + + Vrsta virtualne pumpe + Definicija pumpe + Bolus: korak=%1$s\nProduženi bolus: [korak=%2$s, trajanje=%3$smin-%4$sh]\nBazal: korak=%5$s\nTBR: %6$s (do %7$s), Trajanje=%8$smin-%9$sh\n%10$s + VPUMP + Integracija pumpe za pumpe koje još nemaju upravljački program (otvorena petlja) + Postavke virtualne pumpe + Prijenos statusa u NS + + Preuzima podatke o GUK-u s Nightscout-a + Preuzima podatke o GUK-a s xDrip+. + Primajte vrijednosti GUK-a iz zakrpane aplikacije Eversense. + Primajte vrijednosti GUK-a od Glimpa. + Primajte vrijednosti glukoze u krvi od 600SeriesAndroidUploader. + Intelligo + Primite vrijednosti iz aplikacije Intelligo + Aidex + Primite vrijednosti GK od GlucoRx Aidex CGMS. + + Koristite mobilnu vezu + Koristite WiFi vezu + Tijekom punjenja + Na bateriji + Sinkroniziraj svoje podatke sa Nightscout + Blokirano opcijama punjenja + Blokirano opcijama povezivanja + diff --git a/plugins/main/src/main/res/values-hu-rHU/exam.xml b/plugins/main/src/main/res/values-hu-rHU/exam.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-hu-rHU/exam.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-hu-rHU/objectives.xml b/plugins/main/src/main/res/values-hu-rHU/objectives.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-hu-rHU/objectives.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-hu-rHU/strings.xml b/plugins/main/src/main/res/values-hu-rHU/strings.xml index c4c6a694bc..88a6e9acba 100644 --- a/plugins/main/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/main/src/main/res/values-hu-rHU/strings.xml @@ -2,31 +2,52 @@ OTP + PIN - Bázis: - DIA Lyumjev - + - Szűrő - Profilnév hiányzik - Hiba bázisértékekben - Hiba célértékekben - Hibák - BÁZ - régi verzió - nagyon régi verzió - Alkalmazás lejárt - Eltelt idő + APS kiválasztva + + Eszközök + Kanül + + Gyerek + Tinédzser + Felnőtt + Inzulinrezisztens felnőtt + Várandós + Betegkategória + Szundi + CGM + + Állapot: + CGM adatok fogad/visszatölt + + Tidepool + TDP + Feltöltés most + + + Poctech + Tomato (MiaoMiao) + Tomato + + WiFi SSID + OAPS + FELT + + Eredeti megjelenés + Alacsony felbontás + Megjelenés diff --git a/plugins/main/src/main/res/values-it-rIT/exam.xml b/plugins/main/src/main/res/values-it-rIT/exam.xml new file mode 100644 index 0000000000..0b279bbd96 --- /dev/null +++ b/plugins/main/src/main/res/values-it-rIT/exam.xml @@ -0,0 +1,227 @@ + + + Cosa è vero riguardo DIA? + Durata attività insulina (DIA) + Dovresti impostare il valore DIA nel tuo profilo. + Il valore minimo consentito è 5 ore. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Se sei soddisfatto del valore DIA che hai usato nel tuo micro prima di AAPS, non c\'è bisogno di cambiarlo quando inizi l\'attività di loop. + Dovresti determinare da te il valore appropriato per DIA. + Temp-Target Ipoglicemia + Qual è la ragione principale per impostare un target temporaneo \"ipoglicemia\"? + Per correggere ipoglicemie causate da impostazioni non corrette della velocità basale. + Per evitare che AAPS corregga eccessivamente un aumento della glicemia causato dai carboidrati a veloce assorbimento usati per trattare una ipoglicemia. + Per correggere una ipoglicemia indotta da esercizio fisico. + Per evitare che la glicemia si abbassi se è già in esecuzione una velocità basale temporanea dello 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Quale profilo può essere usato e configurato offline? + Argomento: profilo offline + Il profilo NS può essere usato, ma non configurato. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Motivi per azionare la funzione \"Disconnetti micro\" in AAPS + Cosa dovrebbe essere fatto quando si disconnette il micro? + Questo non è necessario poiché l\'insulina non verrà erogata se il micro è fisicamente disconnesso. + Evita che AAPS tenga conto di insulina che non è stata erogata mentre il micro è fisicamente disconnesso. + Non interromperà l\'erogazione di insulina se il micro rimane connesso. + Manderà AAPS in modalità loop aperto. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Impostazioni AAPS + Impostazioni AAPS + Quali sono le migliori pratiche per il backup delle tue impostazioni? + Non hai bisogno di esportare le tue impostazioni a condizione di prenderne nota. + Esportare le tue impostazioni dopo aver completato un obiettivo. + Esportare le tue impostazioni dopo aver fatto delle modifiche. + Esportare le tue impostazioni dopo aver terminato la tua configurazione iniziale e aver impostato le tue preferenze. + Esportare le tue impostazioni localmente utilizzando il menu manutenzione. + Il file delle tue impostazioni si trova nella cartella Internal Storage (memoria interna)/AAPS/preferences del tuo telefono. + Copiare il file delle tue preferenze in un luogo sicuro al di fuori del tuo telefono (ad esempio usando un\'unità cloud, un computer, l\'email, ecc.) + Se il tuo telefono è danneggiato o smarrito, ci sono modi semplici per recuperare da remoto le tue impostazioni senza avere un backup. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Letture CGM \"rumorose\" (noisy) + Cosa dovrebbe essere fatto se i dati CGM sono \"rumorosi\"? + Nulla - AAPS se ne occuperà. + Disabilitare il loop chiuso per evitare un possibile sovra-dosaggio o sotto-dosaggio. + Sostituire i sensori costantemente \"rumorosi\" o inaccurati. + Verificare che la tua app CGM faccia lo smoothing dei dati della glicemia. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Esercizio e profili + Come puoi usare i profili per aiutare al meglio il sistema a gestire l\'esercizio aerobico? + Fare un cambio profilo sotto il 100%. + Fare un cambio profilo sopra il 100%. + Lasciare il profilo al 100%. + Sospendere il loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Esercizio e target temporanei + Come puoi usare i target temporanei per aiutare al meglio il sistema a gestire l\'esercizio aerobico? + Impostare un target glicemico per l\'attività fisica in un momento adeguato, sufficientemente prima dell\'inizio dell\'esercizio. + Impostare un target glicemico per l\'attività fisica dopo la fine dell\'esercizio. + Lasciare il tuo target glicemico invariato. + Attendere che la glicemia scenda al di sotto del tuo target temporaneo \"ipoglicemia\" e poi mangiare 15 g di carboidrati a rapido assorbimento. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Loop disabilitato/sospeso + Ricevo insulina quando il loop è disabilitato/sospeso? + Sì, l\'insulina basale continua a essere erogata. + No, l\'erogazione di insulina è interrotta. + Test Basale, ISF e I:C + Quando questi valori dovrebbero essere validati? + Prima di iniziare l\'attività di loop. + Quando si verificano frequenti glicemie alte o basse. + Almeno una volta a settimana. + Una volta impostati e validati, questi valori non dovrebbero cambiare nel tempo. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Prerequisiti + Cosa è essenziale per configurare e usare AAPS? + Informazioni profilo validate (basale, IC, ISF, DIA). + Un computer con Android Studio installato e configurato. + Un telefono supportato. + Un microinfusore compatibile se stai pianificando di eseguire un loop chiuso. + Nightscout, per tenere un registro di tutti i dati e rivedere le impostazioni. + Un account Tidepool. + Un account Google. + Un account Github. + Esperienza in programmazione o modifica di codice. + Un micro MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Uno smartwatch. + Un CGM Supportato. + Prerequisiti + Cosa è essenziale per configurare e usare AAPS? + Informazioni validate per configurare un profilo (ISF, rapporto I:C, velocità basali, DIA, ecc). + Un dispositivo Android compatibile (smartphone, smartwatch con versione integrale di Android o tablet). + AAPS richiede una connessione internet per poter funzionare in loop chiuso. + Un CGM supportato e un\'app appropriata per ricevere valori della glicemia sul telefono/dispositivo. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Aggiornamento AAPS + Seleziona tutte le risposte corrette. + Devi avere Git installato e configurato sul tuo computer. + Quando vengono rilasciate versioni aggiornate di AAPS, le precedenti potrebbero essere limitate da remoto dopo un determinato periodo di tempo. + Dovresti salvare e annotare la posizione del tuo archivio chiavi e usare per gli aggiornamenti la stessa chiave di firma della tua installazione precedente. + Non aggiornare mai se il sistema funziona bene. + Se hai difficoltà a costruire l\'apk, puoi installare un apk che è stato costruito da un amico. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Risoluzione problemi + Dove puoi cercare aiuto con AAPS? + Puoi chiedere consiglio nel gruppo Facebook degli utenti AAPS. + Dovresti leggere (e rileggere) la documentazione di AAPS. + Puoi chiedere consigli e segnalare problemi tecnici nel Discord di AAPS. + Dovresti chiedere al tuo endocrinologo/centro diabetologico. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/aapsitalia/ + https://discord.gg/4fQUWHZ4Mw + Quale insulina dovresti usare con il plugin Ultra-Rapid Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/insulina umana \"regolare\". + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Plugin sensibilità + Seleziona tutte le risposte corrette. + I plugin di sensibilità consentono ad AAPS di adattarsi a cambiamenti temporanei o di breve durata nella sensibilità all\'insulina (ad esempio cambiamenti ormonali o problemi di assorbimento legati al sito di infusione). + I plugin di sensibilità forniscono all\'utente suggerimenti su cambi a velocità basali, rapporti I:C e ISF che possono essere utilizzati per modificare il profilo. + La registrazione di un cambio cannula ripristinerà il rapporto Autosens al 100%. + Alcune opzioni del plugin hanno intervalli di tempo configurabili che possono essere impostati dall\'utente. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Errori inserimento CHO + Cosa dovresti fare se hai fatto un inserimento non corretto di carboidrati? + Eliminare nei Trattamenti l\'inserimento non corretto e immettere il nuovo valore CHO. + Erogare un bolo di insulina usando il menu caricamento set di infusione. + Non fare nulla - AAPS effettuerà gli opportuni aggiustamenti. + Erogare un bolo di insulina usando il tasto Insulina nella sezione Panoramica. + Errori erogazione/inserimento insulina + Cosa dovresti fare se hai ricevuto meno insulina di quanto lo storico del micro suggerisce? Ad esempio a causa di un\'occlusione, una cannula difettosa o l\'aver dimenticato di riattaccare il micro dopo una doccia?  + Eliminare dal portale Nightscout i dati relativi all\'insulina per rimuoverli dallo storico del micro. + Compara i valori in AAPS con lo storico micro (se supportato). + Erogare un bolo con parte della tua insulina calcolata \"mancante\" usando una siringa/penna o la funzione caricamento. + Non fare nulla e permettere ad AAPS di correggere eventuali glicemie alte. + CHO attivi (COB) + In che modo la modifica del valore ISF influisce sul calcolo dei COB? + L\'aumento di ISF richiederà un tempo maggiore per l\'assorbimento dei CHO + L\'aumento di ISF richiederà un tempo minore per l\'assorbimento dei CHO + L\'aumento di ISF non influirà sull\'assorbimento calcolato dei CHO + In che modo la modifica del valore IC influisce sul calcolo dei COB? + L\'aumento di IC richiederà un tempo maggiore per l\'assorbimento dei CHO + L\'aumento di IC richiederà un tempo minore per l\'assorbimento dei CHO + L\'aumento di IC non influirà sull\'assorbimento calcolato dei CHO + In che modo la modifica della percentuale profilo influisce sul calcolo dei COB? + Impostare il profilo al 150% richiederà un tempo maggiore per l\'assorbimento dei CHO + Impostare il profilo al 150% richiederà un tempo minore per l\'assorbimento dei CHO + Impostare il profilo al 150% non influirà sull\'assorbimento calcolato dei CHO + Insulina attiva (IOB) + Il valore IOB è influenzato dalle basali temporanee emesse. + Non verrà emessa una basale temporanea alta quando la tua glicemia è al di sotto del target. + IOB negativo per un periodo considerevole in assenza di esercizio fisico suggerisce che il tuo profilo è troppo incisivo e che è necessaria meno insulina nelle tue impostazioni. + IOB positivo per un periodo considerevole suggerisce resistenza all\'insulina o pasti non annunciati. + Inserimento CHO e boli + Solo i grammi dovrebbero essere utilizzati per stimare e registrare i carboidrati consumati. + I carboidrati consumati possono essere registrati utilizzando un sistema di scambio appropriato (ad esempio: gli scambi CHO \"DAFNE\" o le unità di pane europee \"Bread Units\"). + AAPS usa un modello dinamico per stimare il \"decadimento\" dei carboidrati e calcolare COB. + Se la glicemia è di fuori dei valori accettabili (troppo bassa o troppo alta) il calcolatore di boli può essere utilizzato per fornire suggerimenti per le correzioni con carboidrati o insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + Per cosa potresti usare gli e-carbs (carboidrati estesi)? + Per indicare i carboidrati nel futuro e/o distribuiti su un intervallo di tempo (similmente a un bolo esteso che distribuisce insulina sullo stesso intervallo). + Per la registrazione di \"carboidrati da esercizio\" che vuoi nascondere da AAPS. + Gli e-carbs (distribuiti nel futuro) possono aiutare AAPS a gestire pasti ricchi di grassi/proteine. + Per registrare i carboidrati che usi per trattare la glicemia bassa. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Monitoraggio remoto + Come puoi monitorare AAPS (ad esempio per il tuo bambino) da remoto? + L\'app AAPSClient, l\'app Nightscout e la versione web di Nightscout ti consentono di seguire AAPS da remoto. + Altre app (ad esempio: Dexcom follow o xDrip in modalità follower) consentono di seguire da remoto alcuni parametri come i valori di glicemia/sensore, ma usano algoritmi diversi e potrebbero mostrare valori inaccurati di IOB o COB. + Per seguire AAPS da remoto, entrambi i dispositivi devono avere accesso a internet (ad esempio via Wi-Fi o dati da rete mobile/cellulare). + AAPSClient utilizzato come follower remoto monitorerà AAPS e ne fornirà il pieno controllo. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Fattore di sensibilità insulinica (ISF) + Aumentare i valori di ISF porterà a una maggiore erogazione di insulina per coprire una specifica quantità di carboidrati. + Ridurre i valori ISF porta a una maggiore erogazione di insulina per correggere una glicemia al di sopra del target. + Aumentare o ridurre ISF non ha alcun effetto sull\'erogazione di insulina quando le glicemie sono al di sotto del target. + ISF dovrebbe essere inserito nelle tue preferenze di AAPS. + Cambiare il valore ISF nel tuo profilo è sufficiente per applicare la modifica. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Puoi usare più di un valore per il rapporto I:C nel tuo profilo. + Se cambi il tuo ISF nel tuo profilo dovresti sempre cambiare anche il tuo rapporto I:C. + Rapporto insulina-carboidrati (rapporto I:C) + Rapporti I:C più alti portano a una minore insulina erogata per una data quantità di carboidrati. + Rapporti I:C più bassi portano a una minore insulina erogata per una data quantità di carboidrati. + Se hai 0 COB, cambiare il rapporto IC porterà a una differente quantità di insulina necessaria a correggere una determinata glicemia. + IC sarà diverso se consideri l\'unità di pane (BE) come 10g o 12g. + Il significato di IC è: quante unità di pane (BE) sono coperte da 1U di insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Cambio profilo + Quando si specifica un cambio profilo del 90%, quali risposte sono vere? + Le velocità basali saranno il 10% più basse. + ISF sarà il 10% più alto. + Il valore del rapporto I:C sarà un numero il 10% più basso. + ISF e rapporti I:C rimarranno invariati. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Cambio profilo + Quando si specifica un cambio profilo del 120%, quali risposte sono vere? + La glicemia target sarà il 20% più alta. + Le velocità basali saranno il 20% più alte. + La glicemia target rimarrà invariata. + ISF sarà il 20% più alto. + Cambio profilo + Se ti svegli 2 ore prima del solito, come dovresti informare AAPS del cambiamento nei tuoi programmi? + Avviare un cambio profilo con un timeshift di 2 + Avviare un cambio profilo con un timeshift di -2 + Impostare un target temporaneo \"pasto a breve\". + Fare un cambio profilo sopra il 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Modifiche ai profili + Velocità basali, ISF, rapporti I:C, ecc., dovrebbero essere impostati nei profili. + L\'attivazione delle modifiche al tuo profilo Nightscout richiede che il tuo telefono con AAPS abbia una connessione internet. + Modificare i profili per cambiare i valori è sufficiente per attivare ogni cambiamento fatto. + Più profili possono essere impostati e selezionati per adattarsi a diverse circostanze (ad esempio: cambiamenti ormonali, turni di lavoro, stile di vita nei giorni lavorativi/weekend). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Aiuto con le velocità basali + Dove andare per avere aiuto con le velocità basali e il resto. + Il tuo team diabetologico + Google + Facebook + Altri Farmaci. Leggere la seguente dichiarazione e, per proseguire, accettarla selezionando la casella. + AAPS riduce la velocità basale o sospende l\'erogazione di insulina per aumentare la glicemia. Farmaci appartenenti al gruppo degli inibitori SGLT2 (gliflozine) possono ostacolare l\'aumento previsto della glicemia e, quindi, provocare una pericolosa carenza di insulina (DKA). +\nI marchi più comuni sono: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nCon ciò prometto che non prenderò tali farmaci durante l\'uso di AAPS o disattiverò il loop prima di usare questi farmaci. + diff --git a/plugins/main/src/main/res/values-it-rIT/objectives.xml b/plugins/main/src/main/res/values-it-rIT/objectives.xml new file mode 100644 index 0000000000..895140e5fe --- /dev/null +++ b/plugins/main/src/main/res/values-it-rIT/objectives.xml @@ -0,0 +1,56 @@ + + + Avvia + Verifica + %1$d. Obiettivo + Obiettivo %1$d non avviato + Obiettivo %1$d non terminato + Impostazione della visualizzazione e del monitoraggio. Analisi di basali e rapporti + Verifica che la glicemia sia disponibile su Nightscout e che i dati sull\'insulina del micro siano in fase di caricamento + Avvio in un loop aperto + Esegui l\'applicazione in modalità loop aperto per alcuni giorni. Attiva manualmente il maggior numero possibile di basali temporanee suggerite. Imposta e usa i target temporanei, anche quelli predefiniti (ad esempio per l\'attività fisica o il trattamento dell\'ipoglicemia con carboidrati) + Comprensione del tuo loop aperto, incluse le relative raccomandazioni sulle basali temporanee + Sulla base di tale esperienza, decidi quale dovrebbe essere il valore di \'max basale\' e impostalo sul microinfusore e nelle preferenze + Avvio della chiusura del loop con Low Glucose Suspend + Esegui l\'applicazione in loop chiuso con max IOB = 0 per pochi giorni senza troppi eventi LGS + Regolazione del loop chiuso, aumentando max IOB al di sopra di 0 e abbassando gradualmente i target glicemici + Esegui l\'applicazione per alcuni giorni e almeno una notte senza allarmi di glicemia bassa, prima di abbassare il target glicemico + Adatta basali e rapporti se necessario, quindi attiva auto-sens + 1 settimana di looping diurno con inserimento regolare dei carboidrati, eseguito con successo + Abilitazione funzioni aggiuntive per l\'uso diurno, come SMB + Abilitazione automazione + È necessario leggere il wiki e aumentare maxIOB affinché le azioni di SMB funzionino adeguatamente! Un buon inizio è maxIOB = media bolo posto + 3 x max basale giornaliera + Leggi la documentazione su come funziona l\'automazione. Configura le tue prime semplici regole. Consenti ad AAPS solo di visualizzare una notifica, non di eseguire un\'azione. Quando sei sicuro che l\'automazione viene attivata al momento giusto, sostituisci la notifica con un\'azione reale. +(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glicemia disponibile in NS + Stato micro disponibile in NS + Attivazioni manuali + Completato: %1$s + Impara a controllare AAPS + Esegui varie azioni in AAPS + Imposta il profilo \"90%\" per 10 min (premi a lungo sul nome profilo nella sezione Panoramica) + Simula la doccia. Disconnetti il micro per 1h (premi a lungo su Loop aperto) + ... e riconnetti allo stesso modo + Crea un target temporaneo personalizzato con una durata di 10 min (premi a lungo sul tuo target corrente) + Nel Configuratore strutturale attiva il plugin Azioni, rendilo visibile e visualizzane i contenuti tramite il menu in alto + Visualizza il contenuto del plugin Loop + Usa la funzione di ridimensionamento premendo a lungo sul grafico delle glicemie + Entra + Se hai almeno 3 mesi di esperienza in loop chiuso con altri sistemi potresti beneficiare di un codice per saltare gli obiettivi. Guarda https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives per i dettagli. + Codice accettato + Codice non valido + Dai prova della tua conoscenza + Studia, leggi le domande e rifletti. Ti vengono fornite quattro possibili risposte per ogni domanda. Ci può essere più di una risposta corretta. Seleziona tutte quelle che sono corrette e poi vai su VERIFICA. + Risposta disabilitata fino a: %1$s + Risposta errata! + Prossimo N.C. + Codice richiesta: %1$s + (segna tutte le risposte corrette) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Non connesso a internet + Impossibile recuperare l\'ora + Requisiti obiettivo non soddisfatti + diff --git a/plugins/main/src/main/res/values-it-rIT/strings.xml b/plugins/main/src/main/res/values-it-rIT/strings.xml index bbbf67018a..29ea547986 100644 --- a/plugins/main/src/main/res/values-it-rIT/strings.xml +++ b/plugins/main/src/main/res/values-it-rIT/strings.xml @@ -1,166 +1,339 @@ - Comunicazioni SMS SMS - Controlla AAPS in remoto usando i comandi SMS. - da app autenticatore: %1$s seguito da PIN - PIN obbligatorio aggiuntivo a fine token - Cifre aggiuntive che devono essere memorizzate e incollate alla fine di ogni OTP generata - Codice controllo: + Configurazione autenticatore OTP + PIN - Il codice di verifica è composto da 6 cifre visualizzate dall\'app autenticatore (note come OTP) seguite da 3 o più cifre del PIN obbligatorio. - Resetta autenticatori - Resetta chiave autenticatore - Sei sicuro di resettare la chiave autenticatore? Renderà non validi tutti gli autenticatori attualmente configurati e sarà necessario configurarli nuovamente. - La nuova chiave autenticatore è stata generata! Usa il QRCode aggiornato per fornire gli autenticatori. - Esportazione OTP secret - Sei sicuro di voler copiare l\'OTP secret negli appunti?\n\nPotresti averne bisogno solo se la tua app autenticatore ha problemi con la scansione del QRCode, vuoi inserirlo manualmente o vuoi configurare un token OTP hardware usando un\'app dedicata. - OTP secret (in formato Base32) esportato e copiato negli appunti. Incollalo nell\'autenticatore o nel configuratore hardware di OTP! - 1. Installa l\'autenticatore - 2. Scansione il codice per configurare i codici OTP di AAPS - 3. Testa OTP - Resetta autenticatori - Su ogni telefono follower installa una app autenticatore che supporta i token RFC 6238 TOTP. App gratuite popolari sono:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Resettando l\'autenticatore rendi non validi tutti gli autenticatori già forniti. Dovrai configurarli di nuovo! - Utente - Numeri di telefono consentiti + Codice errato. Comando cancellato. + Timeout nell\'attesa della fine della precedente comunicazione col micro. +XXXXXXXXXX;+YYYYYYYYYY - Per impostare il Temp-Target %1$s rispondi con il codice %2$s - Per cancellare il Temp-Target rispondi col codice %1$s - Per disabilitare il servizio di controllo remoto tramite SMS rispondi col codice %1$s.\n\nRicorda che potrai riattivarlo solo in maniera diretta dallo smartphone master in cui è installato AAPS. - Servizio di controllo remoto tramite SMS stoppato. Per riattivarlo, usa lo smartphone master in cui è installato AAPS. - Per inviare la calibrazione %1$.2f rispondi col codice %2$s - Bolo fallito - Numero minimo di minuti che devono trascorrere tra un bolo remoto e il successivo - Quanti minuti devono trascorrere, almeno, tra un bolo e il successivo - Per la tua sicurezza, per modificare questa preferenza hai bisogno di aggiungere almeno 2 numeri di telefono. - Bolo di %1$.2f U erogato con successo - Bolo pasto di %1$.2f U erogato con successo - Target %1$s per %2$d minuti - Target %1$s per %2$d minuti impostato con successo - Temp-Target cancellato con successo - Consenti comandi remoti tramite SMS - Il loop è stato disabilitato - Il loop è stato abilitato - Il loop è abilitato - Per connettere il micro rispondi col codice %1$s - Connessione al micro fallita - Per disconnettere il micro per %1$d minuti rispondi col codice %2$s - Micro disconnesso - Micro riconnesso - Il comando da remoto non è permesso - Bolo remoto non disponibile. Riprova più tardi. - Per avviare la basale %1$.2f U/h per %2$d min rispondi col codice %3$s - Per passare al profilo %1$s %2$d%% rispondi col codice %3$s - Per avviare il bolo esteso %1$.2f U/h per %2$d min rispondi col codice %3$s - Per inserire %1$dg a %2$s rispondi col codice %3$s - Per avviare la basale %1$d%% per %2$d min rispondi col codice %3$s - Per sospendere il loop per %1$d minuti rispondi col codice %2$s - Per riprendere il loop rispondi col codice %1$s - Per abilitare il loop rispondi col codice %1$s - Per disabilitare il loop rispondi col codice %1$s - Basale temporanea %1$.2fU/h per %2$d min avviata con successo - Bolo esteso %1$.2fU/h per %2$d min avviato con successo - CHO %1$d g inseriti con successo - Inserimento di %1$dg di CHO fallito - Basale temporanea %1$d%% per %2$d min avviata con successo - Avvio basale temporanea fallito - Avvio bolo esteso fallito - Per stoppare la basale temporanea rispondi col codice %1$s - Per stoppare il bolo esteso rispondi col codice %1$s - Basale temporanea cancellata - Bolo esteso cancellato - Basale temporanea: cancellazione fallita - Bolo esteso: cancellazione fallita - Comando sconosciuto o risposta errata - C\'è un altro bolo in coda. Riprova più tardi. - Durata errata - Loop sospeso - Loop ripreso - Numero di telefono SMS non valido - xDrip+ non sta ricevendo calibrazioni - Corpo del messaggio non valido - Invia SMS se si verifica l\'evento \"micro irraggiungibile\" - Segnala micro irraggiungibile + Per erogare il bolo di %1$.2fU rispondi col codice %2$s + Per erogare il bolo pasto di %1$.2fU rispondi col codice %2$s + Per impostare il Temp-Target %1$s rispondi con il codice %2$s + Per cancellare il Temp-Target rispondi col codice %1$s + Per disabilitare il servizio di controllo remoto tramite SMS rispondi col codice %1$s.\n\nRicorda che potrai riattivarlo solo in maniera diretta dallo smartphone master in cui è installato AAPS. + Servizio di controllo remoto tramite SMS stoppato. Per riattivarlo, usa lo smartphone master in cui è installato AAPS. + Per inviare la calibrazione %1$.2f rispondi col codice %2$s + Bolo fallito + Numero minimo di minuti che devono trascorrere tra un bolo remoto e il successivo + Quanti minuti devono trascorrere, almeno, tra un bolo e il successivo + Per la tua sicurezza, per modificare questa preferenza hai bisogno di aggiungere almeno 2 numeri di telefono. + Bolo di %1$.2f U erogato con successo + Bolo pasto di %1$.2f U erogato con successo + Target %1$s per %2$d minuti + Consenti comandi remoti tramite SMS + Il loop è stato disabilitato + Il loop è stato abilitato + Il loop è abilitato + Per connettere il micro rispondi col codice %1$s + Connessione al micro fallita + Per disconnettere il micro per %1$d minuti rispondi col codice %2$s + Micro disconnesso + Il comando da remoto non è permesso + Bolo remoto non disponibile. Riprova più tardi. + Per avviare la basale %1$.2f U/h per %2$d min rispondi col codice %3$s + Per passare al profilo %1$s %2$d%% rispondi col codice %3$s + Per avviare il bolo esteso %1$.2f U/h per %2$d min rispondi col codice %3$s + Per inserire %1$dg a %2$s rispondi col codice %3$s + Per avviare la basale %1$d%% per %2$d min rispondi col codice %3$s + Per sospendere il loop per %1$d minuti rispondi col codice %2$s + Per riprendere il loop rispondi col codice %1$s + Per abilitare il loop rispondi col codice %1$s + Per disabilitare il loop rispondi col codice %1$s + Basale temporanea %1$.2fU/h per %2$d min avviata con successo + Bolo esteso %1$.2fU/h per %2$d min avviato con successo + CHO %1$d g inseriti con successo + Inserimento di %1$dg di CHO fallito + Basale temporanea %1$d%% per %2$d min avviata con successo + Avvio basale temporanea fallito + Avvio bolo esteso fallito + Per stoppare la basale temporanea rispondi col codice %1$s + Per stoppare il bolo esteso rispondi col codice %1$s + Basale temporanea cancellata + Bolo esteso cancellato + Basale temporanea: cancellazione fallita + Bolo esteso: cancellazione fallita + Comando sconosciuto o risposta errata + Durata errata + Loop sospeso + Loop ripreso + Numero di telefono SMS non valido + Calibrazione inviata. La ricezione deve essere abilitata in xDrip+. + xDrip+ non sta ricevendo calibrazioni + Corpo del messaggio non valido + Invia SMS se si verifica l\'evento \"micro irraggiungibile\" + Segnala micro irraggiungibile + Formato errato + BG: + Ultimo BG: Delta: IOB: - Bolo: - Basale: - Codice QR per configurare OTP + %1$dmin fa + Sospeso (%1$d m) + Lettura stato fallita + Cambio profilo creato + La durata del TBR deve essere un multiplo di %1$d minuti e maggiore di 0. - DIA Lyumjev - Preset per insulina Humalog e NovoRapid / NovoLog - Preset per insulina Fiasp - Preset per insulina Lyumjev - Ti consente di definire il picco di attività dell\'insulina e dovrebbe essere usato solo dagli utenti avanzati INS - Tempo picco Curva IOB - Tempo del picco [min] - Picco Free-Peak Oref Rapid-Acting Oref - DIA di %1$f troppo breve - uso %2$f. + Ultra-Rapid Oref + Novorapid, Novolog, Humalog + Fiasp - - Mostra le informazioni del loop sulla watchface di xDrip+. + + Statusline xDrip+ (smartwatch) + xds + Mostra IOB dettagliato + Dividi IOB in bolo e basale sulla watchface + Loop disabilitato + Mostra BGI + Aggiungi BGI alla statusline + Stato xDrip+ (smartwatch) - Visualizza i preset dei cibi definiti in Nightscout - Filtro - Cibo - kJ - Enr - Prt - Grs - Categoria - Sottocategoria + Cibo + kJ + Enr + Prt + Grs + Calcolatore - Schema colori app - Tema scuro - Tema chiaro - Usa tema dispositivo + Scegli tema scuro, chiaro o segui quello del sistema - PL - Definisci un profilo che è disponibile offline. - aggiungi nuovo alla lista - Unità: - Nome profilo mancante - Errore nei valori IC - Errore nei valori della basale - Errore nei valori del target - Errore nei valori ISF - Profilo %1$s non valido - non accettato da NS - Vista - Errori - Seleziona profilo da modificare - Nome profilo: - aggiungi nuovo profilo - clona profilo corrente - elimina profilo corrente + Profilo + Vuoi cambiare profilo e scartare le modifiche apportate al profilo corrente? + Salva o resetta prima le modifiche correnti + Rimuovere il profilo corrente? + Il nome profilo contiene dei punti.\nQuesto non è supportato da NS.\nIl profilo non viene caricato in NS. DIA - IC - ISF TARG BAS - Dati ricalcolati usati - BG troppo vicino:\n%1$s\n%2$s - ricalcolato - doppi caricamenti - Cambio all\'ora legale/solare in 24h o meno - Cambio all\'ora legale/solare avvenuto meno di 3 ore fa - Loop chiuso disabilitato + Libera almeno %1$d MB dalla memoria interna! Loop disabilitato! - versione datata - versione molto datata - Applicazione scaduta - Nuova versione disponibile da almeno %1$d giorni! Ritorno a LGS dopo %2$d giorni, disattivazione del loop dopo %3$d giorni - Non ancora completato - Tempo trascorso + Completato, ben fatto! + Max IOB impostata correttamente + BG disponibile da sorgente selezionata + Loop abilitato + APS selezionato + Modalità chiusa abilitata + OBT + Programma di apprendimento + Vuoi resettare l\'avvio dell\'obiettivo? Potresti perdere i tuoi progressi. + Cancella completamento + Cancella avvio + + Alcuni tasti per accedere rapidamente alle funzioni comuni + AZN + Strumenti + Cannula + L\'uso della funzione bolo esteso interromperà la modalità loop chiuso per il tempo di esecuzione del bolo esteso. Lo vuoi davvero? + Errore erogazione bolo esteso + Età cannula + età micro a patch + Micro a patch + + Limitazione bolo esteso a %1$.1f U a causa di: %2$s + Limitazione carboidrati a %1$d g a causa di: %2$s + Limitazione IOB a %1$.1f U a causa di: %2$s + Micro non in grado di impostare la basale temporanea + Modalità loop chiuso disabilitata nelle preferenze + UAM disabilitato perché il plugin di sensibilità Oref1, dal quale UAM dipende, non è abilitato + Versione sviluppatore in esecuzione. Loop chiuso disabilitato. + Loop chiuso disabilitato a causa dell\'esecuzione di un bolo esteso + Le funzioni \"SMB sempre\" e \"SMB dopo i CHO\" sono disabilitate perché l\'attuale sorgente delle glicemie non supporta il filtraggio avanzato + SMB non consentito in modalità loop aperto + valore max nelle preferenze + limite fisso + Sicurezza trattamenti + Seleziona il tipo di paziente per configurare i limiti di sicurezza + Bambino + Adolescente + Adulto + Adulto insulino-resistente + Gravidanza + Max bolo consentito [U] + Max CHO consentiti [g] + Tipo paziente + Posticipa + Copiare impostazioni NS (se esiste)? + Mostra indicatori di stato sulla home + Età cannula: soglia di avviso [h] + Età cannula: soglia critica [h] + Età insulina: soglia di avviso [h] + Età insulina: soglia critica [h] + Età sensore: soglia di avviso [h] + Età sensore: soglia critica [h] + Livello batteria sensore: soglia di avviso [%] + Livello batteria sensore: soglia critica [%] + Età batteria micro: soglia di avviso [h] + Età batteria micro: soglia critica [h] + Livello serbatoio: soglia di avviso [U] + Livello serbatoio: soglia critica [U] + Livello batteria micro: soglia di avviso [%] + Livello batteria micro: soglia critica [%] + Indicatori di stato + Copia impostazioni da NS + grafico + insulina + Menu grafico + qualità glicemia + glicemia + obsoleto + Modalità APS + Accetta nuova basale temporanea: + CGM + Calcolatore rapido + + NSCLIENT non ha l\'autorizzazione di scrittura. API secret errato? + NSClientV3 + NSV3 + NSClient + NSCI + URL: + Autoscorrimento + Riavvio + NSClient + URL di Nightscout + Inserisci il tuo URL di Nightscout + API secret di NS + API secret di NS + Inserisci l\'API secret di NS (minimo 12 caratteri) + Invia ora + Cancella coda + Mostra coda + Coda: + Stato: + Cancella log + Sincronizzazione completa + Sincronizzazione completa? Potrebbe richiedere molte ore e fino alla fine del processo non vedrai nuovi dati in NS. + Sincronizzazione + Profili, boli, CHO, basali temporanee vengono caricati su NS + Carica dati su NS + Ricevi profilo + Sincronizza i profili dall\'editor profilo di NS + Ricevi target temporanei + Accetta target temporanei inseriti tramite NS o NSClient + Ricevi cambi profilo + Accetta cambi profilo inseriti tramite NS o NSClient + Ricevi eventi APS offline + Accetta eventi APS offline inseriti tramite NS o NSClient + Ricevi TBR e EB + Accetta TBR e EB inseriti attraverso altra istanza + Ricevi insulina + Accetta insulina inserita tramite NS o NSClient (non viene erogata, solo calcolata per IOB) + Ricevi CHO + Accetta CHO inseriti tramite NS o NSClient + Ricevi eventi terapia + Accetta eventi terapia (cambio cannula, insulina, batteria, ecc.) inseriti tramite NS o NSClient + Ricevi/riempi dati CGM + Accetta dati CGM da NS + Eseguire %s? + Rallenta caricamenti + Opzioni allarme + Crea notifiche da allarmi NS + Crea notifiche da avvisi NS + Soglia dati non aggiornati [min] + Soglia dati non aggiornati da molto tempo [min] + Registra l\'avvio dell\'app in NS + Abilita trasmissioni ad altre app (come xDrip+). Non abilitare se hai installato più di un\'istanza di AAPS o AAPSClient! + Abilita trasmissioni locali + + Il tuo nome utente per l\'accesso a Tidepool, generalmente il tuo indirizzo email + Nome utente + La tua password di Tidepool + Password + Test di accesso a Tidepool + Se abilitato, gli upload andranno su https://int-app.tidepool.org invece che su https://app.tidepool.org/ + Usa server integrativi (test) + Tidepool + TDP + Carica dati su Tidepool + Carica dati CGM + Carica trattamenti (insulina, CHO) + Carica basali temporanee + Carica cambi profilo, target temporanei + Carica test BG + Rimuovi tutto + Avvio reset + Carica adesso + + Tipo micro virtuale + Definizione micro + Bolo: Step=%1$s\nBolo Esteso: [Step=%2$s, Durata=%3$smin-%4$sh]\nBasale: Step=%5$s\nTBR: %6$s (di %7$s), Durata=%8$smin-%9$sh\n%10$s + Micro virtuale + MICROV + Per microinfusori che non hanno ancora alcun driver (Loop aperto) + MICRO VIRTUALE + Impostazioni micro virtuale + Carica stato in NS + + BG NSClient + BG NS + Scarica dati glicemia da Nightscout + xDrip+ + Ricevi valori glicemia da xDrip+. + BYODA + BYODA + Ricevi valori glicemia dall\'app Dexcom ottenuta con \'Build Your Own Dexcom App\'. + Eversense app (modificata) + Ricevi valori glicemia dall\'app Eversense modificata. + Glimp + Ricevi valori glicemia da Glimp. + MM640g + Ricevi valori glicemia da 600SeriesAndroidUploader. + Poctech + Ricevi valori glicemia da app Poctech + Glunovo + Ricevi valori glicemia da app Glunovo + Intelligo + Ricevi valori da app Intelligo + Tomato (MiaoMiao) + Tomato + Ricevi valori glicemia da app Tomato (dispositivo MiaoMiao) + GlucoRx Aidex + GlucoRx Aidex + Ricevi valori glicemia da CGM GlucoRx Aidex. + BG casuale + Genera dati glicemia casuali (solo modalità demo) + BG + Invia dati BG a xDrip+ + In xDrip+ seleziona origine dati 640g/Eversense + Carica dati BG su NS + Impostazioni caricamento BG + Registra cambio sensore in NS + Crea evento \"Cambio Sensore\" in NS all\'avvio del sensore + + Usa connessione cellulare + Usa connessione WiFi + WiFi SSID + Durante la ricarica + Utilizzo batteria + Impostazioni connessione + SSID ammessi (separati da punto e virgola) + Consenti connessione in roaming + Crea avvisi da errori + Crea avvisi da CHO richiesti + Crea avviso su Nightscout per finestre di errore e allarmi locali (visualizzabile anche nella sezione Portale sotto la voce Trattamenti) + Crea avvisi su Nightscout dagli avvisi per CHO richiesti + Sincronizza i tuoi dati con Nightscout + Bloccato dalle opzioni di ricarica + Bloccato dalle opzioni di connettività + Versione non supportata di Nightscout + OAPS + UPLD + Malfunzionamento NSClient. Considera il riavvio di NS e NSClient. + + Tema originale + Tema a bassa risoluzione + I tasti vengono sempre visualizzati nella parte inferiore dello schermo + Visualizzazione ampia + Tema diff --git a/plugins/main/src/main/res/values-iw-rIL/exam.xml b/plugins/main/src/main/res/values-iw-rIL/exam.xml new file mode 100644 index 0000000000..7111b1c736 --- /dev/null +++ b/plugins/main/src/main/res/values-iw-rIL/exam.xml @@ -0,0 +1,227 @@ + + + מה נכון לגבי משך פעילות אינסולין (DIA)? + משך פעילות האינסולין (DIA) + יש לקבוע ערך DIA בפרופיל. + הערך המינימלי הוא 5 שעות. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + אם ערך ה-DIA אותו קבעתם במשאבה לפני המעבר ל- AndroidAPS עבד היטב, אפשר להמשיך להשתמש באותו ערך עם הלולאה. + עליכם לקבוע לעצמכם את ערך ה-DIA הרצוי. + ערך מטרה זמני - היפו + מהי הסיבה העיקרית לקביעת ערך מטרה זמני \"היפו\"? + לתיקון מצבי היפו שנגרמו עקב הגדרות מינון בזאלי שגויות. + כדי למנוע מ-AndroidAPS לבצע תיקון יתר של עליית רמת הסוכר, שנגרמה ע\"י פחמימות פשוטות (בעלות קצב פירוק גבוה) שנאכלו לצורך הטיפול בהיפו. + לתיקון היפו שנגרם ע\"י פעילות גופנית. + כדי למנוע מרמת הסוכר לרדת במידה ומינון בזאלי זמני 0% כבר פעיל. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + באיזה פרופיל אפשר להשתמש ולהגדיר במצב לא מקוון? + פרופיל לא מקוון + ניתן להשתמש בנייטסקאוט אך לא ניתן להגדירו. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + סיבות להפעלת מצב \"ניתוק משאבה\" ב- AndroidAPS + מה צריך לעשות כשמנתקים את המשאבה? + \"ניתוק משאבה\" אינו הכרחי הואיל ולא יוזרם אינסולין אם המשאבה מנותקת פיזית. + כדי למנוע מ- AndoirdAPS לקחת בחשבון אינסולין שלא הוזרם בעת שהמשאבה היתה מנותקת + \"ניתוק משאבה\" לא יגרום להפסקת הזרמת האינסולין כל עוד המשאבה מחוברת. + \"ניתוק משאבה\" יעביר את AndoirdAPS למצב לולאה פתוחה. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + הגדרות AAPS + הגדרות AAPS + מהן הפעולות המומלצות לצורך גיבוי ההגדרות שלכם? + אין צורך לייצא את ההגדרות שלכם בהנחה שרשמתם אותן בצורה כלשהי. + יצאו את ההגדרות שלכם אחרי השלמת משימה (Objective). + יצאו את ההגדרות שלכם אחרי כל שינוי שבצעתם בהן. + יצאו את ההגדרות שלכם לאחר סיום ההתקנה הראשונית וקביעת ההגדרות. + יצאו את ההגדרות ליעד מקומי באמצעות תפריט התחזוקה. + קובץ ההגדרות שלכם נמצא בתיקיה Internal Storage/AAPS/preferences בטלפון שלכם. + העתיקו את קובץ ההגדרות למיקום בטוח, מחוץ לטלפון (לדוגמה באחסון ענן, העתקה באמצעות חיבור הטלפון למחשב ע\"י כבל, שליחה במייל וכו\') + אם הטלפון ניזוק או אבד, ישנן דרכים נוחות לשחזור ההגדרות מרחוק, ללא צורך בגיבוי. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + נתוני הסנסור שאינם יציבים + מה לעשות אם נתוני הסנסור לא יציבים? + אין צורך לעשות דבר - AndroidAPS יטפל בכך בעצמו. + הפסקת הלולאה כדי למנוע מינון איסולין גבוה מדי\\נמוך מדי. + יש להחליף סנסור שבאופן קבוע מספק נתוני רועשים ו\\או לא מדויקים. + יש לוודא שיישום הסנסור מספק נתונים איכותיים ו- \"חלקים\". + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + פעילות גופנית ופרופילים + איך השימוש בפרופילים יכול לסייע למערכת להתמודד בצורה הטובה ביותר עם פעילות גופנית? + יש לבצע שינוי פרופיל לפחות מ-100%. + בצעו שינוי פרופיל ליותר מ-100%. + יש להשאיר את הפרופיל על 100%. + השהית הלולאה. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + פעילות גופנית וערכי מטרה זמניים + איך ניתן להשתמש בערכי מטרה זמניים כדי לסייע למערכת להתמודד בצורה הטובה ביותר עם פעילות גופנית? + מגדירים ערך מטרה המתאים לפעילות גופנית זמן מספיק לפני תחילת האימון. + מגדירים ערך מטרה לפעילות גופנית לאחר סיום האימון. + השאירו את ערך מטרת הסוכר ללא שינוי. + המתינו עד שהגלוקוז בדם יירד מתחת לערך המטרה של היפו ואז אכלו 15 גרם של פחמימות מהירות. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + השבתת \\ השהיית לולאה + האם אני מקבל\\ת אינסולין כאשר הלולאה מושבתת\\מושהית? + כן, אינסולין בזאלי ממשיך להינתן. + לא, אספקת האינסולין נפסקת. + מינון באזלי, יחס תיקון, ויחס פחמימות + מתי יש לוודא את נכונות ערכים אלה? + לפני שאני מתחיל\\ה לולאה. + כאשר חווים רמת סוכר גבוהה או נמוכה לעיתים קרובות. + לפחות פעם אחת בשבוע. + לאחר שהוגדרו ואומתו, ערכים אלה אינם צריכים להשתנות לאורך הזמן. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + דרישות מקדימות + מה חיוני להגדרה ולשימוש ב-AndroidAPS? + הגדרת פרופיל אישי (מינון בזאלי-Basal, יחס אינסולין\\פחמימה- IC, יחס תיקון-ISF, משך פעילות אינסולין-DIA). + מחשב עם Android Studio מותקן ומוגדר. + טלפון נתמך. + משאבת אינסולין מתאימה אם אתם מתכננים להפעיל לולאה סגורה. + נייטסקאוט, כדי לשמור יומן של כל הנתונים וסקירה של ההגדרות. + חשבון Tidepool. + חשבון Google. + חשבון Github. + ניסיון בתכנות או בעריכת קוד. + משאבת מנימד 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + שעון חכם. + סנסור נתמך. + דרישות מקדימות + מה חיוני להגדרה ולשימוש ב-AndroidAPS? + מידע מאומת כדי להגדיר פרופיל (יחסי תיקון, יחסי פחמימות, מינונים בזאליים, משך פעילות האינסולין וכו\'). + מכשיר Android תואם (לדוגמה טלפון נייד, שעון אנדרואיד או טאבלט). + ה-AndroidAPS חייב חיבור לאינטרנט כדי להפעיל לולאה סגורה. + חיישן סוכר נתמך ואפליקציה מתאימה לקבלת ערכי הסוכר בטלפון\\התקן. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + עדכון AAPS + סמנו את כל התשובות הנכונות. + אתם צריכים להתקין ולהגדיר את Git במחשב שלכם. + כאשר גרסאות מעודכנות של AndroidAPS ישוחררו, ייתכן שהגרסאות הקודמות יוגבלו מרחוק לאחר זמן מסויים. + עליכם לשמור ולציין את מיקום ה-Keystore שלכם ולהשתמש באותו מפתח חתימה בעדכונים בו השתמשתם להתקנה הקודמת שלכם. + לעולם לא לעדכן את האפליקציה אם היא פועלת כראוי. + אם נתקלתם בקושי בבנייה של ה-APK, אתם יכולים להתקין APK שנבנה על ידי חבר. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + פתרון תקלות + איפה אפשר לחפש עזרה לגבי AndroidAPS? + אפשר לבקש עצות בקבוצת הפייסבוק \"AndroidAPS Users\" (אנגלית). + צריך לקרוא (ולקרוא מחדש) את מסמכי AndroidAPS. + תוכלו לבקש עצות ולרשום בעיות טכניות או בעיות ב-Discord של AndroidAPS. + עליכם לשאול את המרפאה\\הרופא האנדוקרינולוג שלכם. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + באיזה אינסולין להשתמש עם תוסף האולטרה מהיר? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/ אינסולין אנושי \"רגיל\". + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + תוספי רגישות + סמנו את כל התשובות הנכונות. + תוספי רגישות מאפשרים ל-AndroidAPS לפצות על שינויים זמניים או קצרים ברגישות לאינסולין (לדוגמה משינויים הורמונליים או בעיות עם קליטה באתר העירוי). + תוספי רגישות מספקים למשתמש הצעות לשינויים למינוני הבזאלי, יחסי התיקון והפחמימות, שאיתם ניתן לערוך את הפרופיל. + רישום החלפת צינורית יאפס את היחס של Autosens בחזרה ל-100%. + חלק מאפשרויות התוסף כוללות טווחי זמן הניתנים להגדרה ע\"י המשתמש. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + שגיאות רישום פחמימות + מה לעשות אם טעיתם ברישום הפחמימות? + מחקו את הרשומה השגויה בטיפולים וציינו את ערך הפחמימות הנכון. + בולוס עם אינסולין תוך שימוש בתפריט התיחול (Priming) של העירוי. + עשו כלום - AndroidAPS יעשה את ההתאמות הנדרשות. + מתן בולוס אינסולין באמצעות כפתור האינסולין בדף הסקירה הכללית. + שגיאות ברישום\\הזרקת אינסולין + מה עליכם לעשות אם מקבלים פחות אינסולין מאשר המוצע ע\"י היסטוריית המשאבה, למשל עקב חסימה, צינורית כושלת או אי חיבור מחדש של המשאבה אחרי מקלחת?  + מחקו את נתוני האינסולין מפורטל הטיפולים של נייטסקאוט כדי לסלק אותם מהיסטוריית המשאבה. + השוו את הרשומות שב-AndroidAPS עם היסטוריית המשאבה (אם המשאבה תומכת בכך). + מזריקים בולוס על חלק מהאינסולין המחושב \"שחסר\" עם מזרק\\עט או באמצעות תיחול (Prime). + לא לעשות דבר ולאפשר ל-AndroidAPS לתקן כל רמת סוכר גבוהה. + פחמ\' פעילות + איך שינויים ביחס התיקון משפיעים על חישוב הפחמימות הפעילות? + הגדלת ערך יחס התיקון תגרום להארכת משך ספיגת הפחמימות + הגדלת ערך יחס התיקון תגרום לקיצור משך ספיגת הפחמימות + הגדלת ערך יחס התיקון לא תשפיע על חישוב ספיגת הפחמימות + איך שינויים ביחס הפחמימות משפיעים על חישוב הפחמימות הפעילות? + הגדלת ערך יחס הפחמימות תגרום להארכת משך ספיגת הפחמימות + הגדלת ערך יחס הפחמימות תגרום לקיצור משך ספיגת הפחמימות + הגדלת ערך יחס הפחמימות לא תשפיע על חישוב ספיגת הפחמימות + איך שינויים באחוזי הפרופיל משפיעים על חישוב הפחמימות הפעילות? + הגדרת 150% פרופיל תגרום להארכת משך ספיגת הפחמימות + הגדרת 150% פרופיל תגרום לקיצור משך ספיגת הפחמימות + הגדרת 150% פרופיל לא תשפיע על חישוב משך ספיגת הפחמימות + אינסולין פעיל בגוף (IOB) + ערך האינסולין הפעיל (IOB) מושפע ממינונים בזאליים זמניים שסופקו. + מינון בזאלי גבוה לא יינתן כאשר רמת הסוכר נמוכה מערך המטרה. + אינסולין פעיל שלילי לאורך זמן בו לא נעשית פעילות מצביע על כך שהפרופיל חזק מדי, נדרש פחות אינסולין ויש להגדיר זאת בפרופיל. + אינסולין פעיל חיובי לאורך זמן ארוך מצביע על תנגודת לאינסולין או על ארוחות שלא הוכרזו. + רישום פחמימות ובולוסים + יש להשתמש אך ורק בגרמים להערכה ורישום צריכת הפחמימות. + ניתן לתעד צריכת פחמימות באמצעות מערכת המרה מתאימה (לדוגמה, המרות \"DAFNE \"CHO, מערכת המרת \"יחידות לחם\" אירופאית). + אפליקציית AndroidAPS משתמשת במודל דינאמי כדי להעריך את דעיכת הפחמימות ולחשב את כמות הפחמימות הפעילות. + אם רמות הסוכר מחוץ לערכים המקובלים (נמוך מדי או גבוה מדי) ניתן להשתמש במחשבון הבולוס לקבלת הצעות לתיקוני פחמימות או אינסולין. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + פחמימות ממושכות + מה עושים עם פחמימות ממושכות? + מתזמנים פחמימות עתידיות, שניתן לפזר במרווחי זמן (בדומה לבולוס ממושך שמפזר את ההזרקות על פני מרווחי זמן). + רישום פחמימות שהרווחתם בפעילות גופנית שאתם רוצים להסתיר מ-AndroidAPS. + פחמימות ממושכות (המפוזרות בעתיד) יכולות לסייע ל-AndroidAPS בהתמודדות עם ארוחות עשירות בשומן\\חלבון. + רישום פחמימות בהם השתמשתם להצלה מהיפוגליקמיה.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + ניטור מרחוק + איך לפקח על AndroidAPS (למשל של הילד\\ה שלכם) מרחוק? + אפלקציית NS Client, אפליקציית נייטסקאוט ואתר נייטסקאוט מאפשרים כולם לעקוב אחר AndroidAPS מרחוק. + אפליקציות אחרות (לדוגמה, דקסקום Follow ו-xDrip במצב מעקב) מאפשרות לכם לעקוב אחר פרמטרים מסוימים (לדוגמה, ערכי סוכר) מרחוק, אך משתמשות באלגוריתמים שונים, כך שהן עשויות להציג ערכי אינסולין ופחמימות פעילות לא מדויקים. + ע\"מ לעקוב אחר AndroidAPS מרחוק, שני ההתקנים חייבים להיות בעלי גישה לאינטרנט (למשל באמצעות רשת אינטרנט אלחוטית או אינטרנט סלולרי). + אפליקציית NS Client אצל עוקב משמשת לניטור מרוחק ומאפשרת שליטה מלאה ב-AndroidAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + יחס התיקון (ISF) + עלייה בערך יחס התיקון תביא למתן יותר אינסולין לכיסוי כמות נתונה של פחמימות. + הפחתת ערך יחס התיקון (ISF) מובילה למתן יותר אינסולין כדי לתקן רמת סוכר שמעל ערך המטרה. + העלאת או הורדת יחס התיקון (ISF) אינה משפיעה על מינון האינסולין כאשר רמות הגלוקוז בדם הן מתחת לערך המטרה. + יש להזין את יחס התיקון בהעדפות ב-AndroidAPS. + שינוי ערך ISF בפרופיל שלכם מספיק כדי להחיל את השינוי. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + ניתן להשתמש ביותר מערך אחד ליחס הפחמימות בפרופיל שלכם. + אם משנים את יחס התיקון בפרופיל, חייבים לשנות גם את יחס הפחמימות. + יחס אינסולין לפחמימות (יחס הפחמימות, I:C) + יחס פחמימות גבוה גורם להזרקת פחות אינסולין עבור כל פחמימה. + יחס פחמימות נמוך גורם להזרקת פחות אינסולין עבור כל פחמימה. + כאשר יש 0 פחמ\', שינוי יחס הפחמימות (IC) יוביל למינון שונה של אינסולין כדי לתקן ערך סוכר נתון. + יחס הפחמימות (IC) יהיה שונה אם ערך יחידת לחם ייספר כ-10 או 12 גר\'. + יחס הפחמימות (IC) הוא: כמה יחידות לחם מכוסות ע\"י יחידת אינסולין אחת. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + החלפת פרופילים + בעת החלפה לפרופיל 90%, מהם כל ההיגדים הנכונים? + המינון הבזאלי יהיה נמוך ב-10%. + ערך פקטור התיקון (ISF) יהיה גבוה ב-10%. + ערך יחס הפחמימות יהיה נמוך ב-10%. + ערכי יחס התיקון ויחס הפחמימות לא ישתנו. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + החלפת פרופילים + בעת החלפה לפרופיל 120%, מהם ההיגדים הנכונים? + ערך מטרת הסוכר בדם יהיה גבוה ב-20%. + המינון הבזאלי יהיה גבוה ב-20%. + ערך מטרת רמת הסוכר לא ישתנה. + ערך פקטור התיקון (ISF) יהיה גבוה ב-20%. + החלפת פרופיל + אם קמים שעתיים מוקדם מהרגיל, איך צריך להודיע ל-AndroidAPS של השינוי בלוח הזמנים? + יש להפעיל מצב פרופיל זמני עם היסט זמן של 2+ + יש להפעיל מצב פרופיל זמני עם היסט זמן של 2- + יש להגדיר ערך מטרה זמני לאכילה בקרוב. + יש לבצע שינוי פרופיל ליותר מ- 100%  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + שינויים בפרופילים + על המינונים בזאליים, יחס התיקון, יחס הפחמימות וכו\' להיות מוגדרים בפרופילים. + הפעלת שינויים בפרופיל הנייטסקאוט שלכם דורשת שהמכשיר עליו AndroidAPS מותקן יהיה מחובר לאינטרנט. + עריכת פרופילים לצורך שינוי ערכים מספיקה כדי להחיל שינויים כלשהם שבוצעו. + ניתן להגדיר פרופילים מרובים כדי להתאים לנסיבות משתנות (לדוגמה שינויים הורמונליים, עבודת משמרת, ימי חול\\אורח חיים של סופ\"ש). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + נושא: עזרה עם מינונים בזאליים + היכן ניתן לקבל עזרה בנושא מינון בזאלי וכו\'. + צוות הסוכרת שלכם + Google + Facebook + תרופות אחרות. אנא קראו את ההצהרה להלן ולאחר מכן סמנו את התיבה כדי לקבל את ההצהרה. + אפליקציית AAPS מורידה את המינון הבזאלי כדי להעלות את רמת הגלוקוז בדם. תרופות מקבוצת מעכבי SGLT2 (גליפלוזינים) יכולים למנוע עלייה צפויה בסוכר וייתכן שייצרו חסר אינסולין מסוכן (DKA). +\nשמותיהם המסחריים מוכרים הם: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nאני מתחייב\\ת שלא לקחת את התרופות הללו תוך שימוש ב-AAPS או שלא אאפשר את הלולאה לפני לקיחת התרופות הנ\"ל. + diff --git a/plugins/main/src/main/res/values-iw-rIL/objectives.xml b/plugins/main/src/main/res/values-iw-rIL/objectives.xml new file mode 100644 index 0000000000..c6047474da --- /dev/null +++ b/plugins/main/src/main/res/values-iw-rIL/objectives.xml @@ -0,0 +1,55 @@ + + + התחל + סיום + %1$d. משימה + מטרה %1$d לא החלה + משימה %1$d לא בוצעה במלואה + מגדיר ויזואליזציה, ניטור, נתוח של מינון בזאלי ויחסים + ודא כי רמת סוכר זמינה ב- Nightscout, ושנתוני האינסולין מהמשאבה נשלחים + התחלה עם לולאה פתוחה + השתמשו במצב לולאה פתוחה במשך מס\' ימים וקבעו באופן ידני מספר רב של מינונים בזאליים זמניים. הגדירו והשתמשו במטרות זמניות ובמטרות ברירת מחדל (לדוגמא פעילות גופנית, או מתן פחמימות בהיפו) + הבנה של הלולאה הפתוחה שלך, לרבות הבזאלים הזמניים וההמלצות + בהתבסס על ניסיון זה, קבעו את הערך הבזאלי המקסימלי והגדירו אותו במשאבה + מתחילים לסגור את הלולאה עם השהיה עקב רמת גלוקוז נמוכה + השתמשו בלולאה סגורה עם ערך IOB מקסימלי = 0 למשך מספר ימים, עם כמה שפחות ארועי השהיה עקב גלוקוז נמוך (LGS) + כוונון הלולאה הסגורה, תוך העלאה של ערך ה- IOB מעל 0 ובסופו של דבר הורדת ערכי המטרה של רמת הסוכר + לפני הורדת ערך רמת הסוכר, הפעילו במשך מס\' ימים, עם לפחות לילה אחד ללא התרעת רמת סוכר נמוכה + במידת הצורך, בצעו התאמת בזאלי ויחסים, ולאחר מכן הפעילו את Autosens + שבוע של הפעלה מוצלחת של הלולאה במשך שעות היום, עם רישום ערכי פחמימות בקביעות + הפעלת פונקציות נוספות לשימוש במשך היום, כגון סופר מיקרו בולוסים (SMB) + הפעלת אוטומציה + חובה לקרוא את הויקי ולהעלות את ערך ה-maxIOB כדי להפעיל את ה- SMB כראוי. התחלה טובה תהיה maxIOB=בולוס ממוצע + 3 פעמים ערך הבזאלי היומי המקסימלי + קראו את המסמכים על כיצד האוטומציה פועלת. הגדירו את הכללים הפשוטים הראשונים שלכם. במקום פעולה, תנו ל-AAPS להציג הודעה בלבד. כאשר אתם בטוחים שהאוטומציה מופעלת כראוי, החליפו את ההודעה בפעולה אמיתית. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + ערך הסוכר זמין ב-Nightscout + סטטוס המשאבה זמין ב-Nightscout + קביעות ידניות + הושלמו: %1$s + למדו כיצד לשלוט ב-AndoridAPS + בצעו פעולות שונות ב-AndroidAPS + הגדירו פרופיל 90% למשך 10 דקות (לחיצה ארוכה על שם הפרופיל במסך הסקירה הכללית) + דמו מקלחת. הגדירו ניתוק משאבה במשך שעה אחת (לחיצה ארוכה על לולאה פתוחה) + ... והתחברו מחדש באותה הדרך + צרו ערך מטרה זמני מותאם אישית במשך 10 דקות (לחיצה ארוכה על ערך המטרה הנוכחי) + ב-בונה התצורה יש להפעיל את תוסף הפעולות, להפוך אותו לגלוי ולהציג את תוכנו בתפריט העליון + הצג תוכן של תוסף לולאה + השתמשו בפונקציית קנה המידה ע\"י לחיצה ארוכה על תרשים הסוכר + הכנס + אם השתמשתם בלולאה סגורה במשך שלושה חודשים לפחות עם מערכות אחרות, תוכלו לבקש קוד לדילוג על המטרות. ראו: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives לפרטים נוספים. + קוד אושר + קוד בלתי חוקי + הוכיחו את הידע שלכם\\ן + למדו לקראת מענה על השאלות.  קיימות ארבע תשובות אפשריות לכל שאלה. ייתכן שיש יותר מתשובה נכונה אחת. בחרו את כל התשובות הנכונות ובחרו אישור. + לא ניתן לענות עד: %1$s + תשובה שגויה! + הבא שלא נענה + בקשת קוד: %1$s + (סמנו את כל התשובות הנכונות) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + אין חיבור לאינטרנט + אחזור השעה נכשל + דרישות המשימה לא נענו + diff --git a/plugins/main/src/main/res/values-iw-rIL/strings.xml b/plugins/main/src/main/res/values-iw-rIL/strings.xml index 40c3f0f521..24ec8c20ac 100644 --- a/plugins/main/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/main/src/main/res/values-iw-rIL/strings.xml @@ -1,164 +1,195 @@ - תקשורת SMS SMS - מיישום מאמת עבור: %1$s ואחריו PIN - תוספת PIN חובה בסוף האסימון - ספרות נוספות שיש לשנן ולהדביק בסוף כל אחת מהסיסמאות החד פעמיות - קוד לבדיקה: OTP + PIN - קוד האימות מורכב מ-6 ספרות המוצגות על ידי יישום מאמת (הידוע בתור OTP) ואחריו 3 או יותר ספרות של PIN הכרחי. - איפוס מאמתים - איפוס מפתח אימות - האם אתם בטוחים שברצונכם לאפס את מפתח האימות? איפוס יהפוך את כל המאמתים המוגדרים כעת לבלתי תקפים, ותצטרכו להגדיר אותם מחדש. - מפתח אימות חדש הופק! נא להשתמש בקוד QR מעודכן כדי לאפשר אימות. - יצוא סוד OTP - אתם בטוחים שברצונכם להעתיק את סוד ה-OTP ללוח ההעתקה?\n\nייתכן שתצטרכו לעשות זאת רק אם יישום האימות נתקל בבעיות בסריקת קוד QR, או שברצונכם להכניס אותו ידנית או להגדיר אסימון OTP של חומרה באמצעות יישום ייעודי. - סוד OTP (בפורמט Base32) יוצא והועתק אל לוח ההעתקה. הדביקו אותו לתוך תוכנת האימות או בחומרת צריבת OTP! - 1. התקנת מאמת - 3. ניסוי סיסמה חד-פעמית - איפוס מאמתים - בכל אחד מהטלפונים העוקבים, התקינו יישום מאמת התומך באסימוני RFC 6238 TOTP. יישומים פופולריים בחינם הם:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - משתמש - מספרי טלפון מורשים +XXXXXXXXXX;+YYYYYYYYYY - להגדרת המטרה הזמנית %1$s יש להשיב עם הקוד %2$s - לביטול המטרה הזמנית יש להשיב עם הקוד %1$s - לביטול שירות השליטה מרחוק באמצעות SMS השיבו עם הקוד %1$s. \n\nהשירות ניתן להפעלה מחדש ממכשיר ה-AAPS הראשי בלבד. - שירות השליטה מרחוק באמצעות SMS מופסק. על מנת להפעילו, השתמשו ב-AAPS במכשיר הראשי. - כדי לשלוח ערך כיול %1$.2f יש להשיב עם הקוד %2$s - הבולוס נכשל - מספר המינימלי (בדקות) שחייב לחלוף בין בולוס מרוחק אחד למשנהו - מספר הדקות המינימלי שצריכות לחלוף, בין בולוס אחד למשנהו - למען בטחונכם, על מנת לערוך את העדפה זו, עליכם להוסיף לפחות שני מספרי טלפון. - בולוס %1$.2f יחידות ניתן בהצלחה - בולוס עבור ארוחה %1$.2fU ניתן בהצלחה - ערך מטרה %1$s למשך %2$d דקות - יעד %1$s עבור %2$d דקות הוגדר בהצלחה - יעד זמני בוטל בהצלחה - אפשר שליטה מרחוק באמצעות SMS - הלולאה הושבתה - הלולאה הופעלה - לולאה פעילה - לחיבור המשאבה יש להשיב עם הקוד %1$s - החיבור אל המשאבה נכשל - לניתוק המשאבה למשך %1$d דקות השיבו עם הקוד %2$s - המשאבה מנותקת - המשאבה חוברה מחדש - פקודה מרוחקת אינה מותרת - בולוס מרחוק אינו זמין. נסו שוב מאוחר יותר. - להפעלת בזאלי %1$.2f יח\' לשעה למשך %2$d דקות יש להשיב עם הקוד %3$s - להחלפת פרופיל ל- %1$s %2$d %% הקש את הקוד %3$s - למתן בולוס ממושך %1$.2f יח\' למשך %2$d דקות יש להשיב עם הקוד %3$s - למתן %1$d גר\' ב-%2$s יש להשיב עם הקוד %3$s - להפעלת בזאלי %1$d%% למשך %2$d דקות הקש קוד %3$s - להשהיית הלולאה למשך %1$d דקות יש להשיב עם הקוד %2$s - להפעלת הלולאה מחדש יש להשיב עם הקוד %1$s - כדי לאפשר הלולאה יש להשיב עם הקוד %1$s - להשבתת הלולאה יש להשיב עם הקוד %1$s - בזאלי זמני %1$.2f יחידות\\שעה למשך %2$d דקות הופעל בהצלחה - בולוס ממושך %1$.2f יחידות למשך %2$d דקות הופעל בהצלחה - %1$d גר\' פחמימות נקלטו בהצלחה - קליטת %1$d גר\' פחמימות נכשלה - בזאלי זמני %1$d%% למשך %2$d דקות הופעל בהצלחה - הפעלת בזאלי זמני נכשלה - הפעלת בולוס ממושך נכשלה - להפסקת בזאלי זמני הקש קוד %1$s - להפסקת בולוס ממושך יש להשיב עם הקוד %1$s - בזאלי זמני בוטל - בולוס ממושך בוטל - ביטול בזאלי זמני ניכשל - ביטול בולוס ממושך נכשל - פקודה לא מוכרת או תגובה שגויה - ישנו בולוס נוסף בתור. נסו שוב מאוחר יותר. - משך שגוי - לולאה מושהית - לולאה חודשה - מספר טלפון ל-SMS אינו תקין - הכיול נשלח. יש לאשר את קבלת כיולים ב-xDrip+. - xDrip אינו מקבל כיולים - גוף ההודעה אינו חוקי - שולח SMS אם מופעל אירוע \"המשאבה אינה נגישה\" - דווח שהמשאבה אינה נגישה - דלתא: - אינסולין פעיל: - בולוס: - אינסולין בזאלי: - ברקוד QR ליצירת סיסמה חד פעמית - משך פעילות אינסולין Lyumjev - הגדרת אינסולין ל-Humalog ו- NovoRapid / Novolog - הגדרת אינסולין מסוג Fiasp - הגדרת אינסולין מסוג Lyumjev - מאפשר להגדיר את שיא פעילות האינסולין, לשימוש על ידי משתמשים מתקדמים בלבד - אינסולין - שעת שיא של עקומת IOB - זמן שיא [min] - שיא - Oref שיא חופשי - Oref אינסולין מהיר - DIA במשך %1$f הוא קצר מדי - משתמש ב-%2$f במקום! - - הצג מידע אודות הלולאה במסך xDrip בשעון החכם. + - מציג את ההגדרות הקבועות מראש עבור מזון המוגדר ב-Nightscout - סינון - מזון - kJ - אנרגיה - חלבון - שומן - קטגוריה - תת קטגוריה - סכמת צבעים - ערכת נושא כהה - ערכת נושא בהירה - השתמש בערכת הנושא של המכשיר LP - הגדירו פרופיל שזמין באופן לא מקוון. - הוסף לרשימה - יחידות: - חסר שם לפרופיל - שגיאה בערכי יחס הפחמימות - שגיאה בערכי המינון הבזאלי - שגיאה בערכי המטרה - שגיאה בערכי יחס התיקון - הפרופיל הבלתי חוקי %1$s מ-Nightscout לא מאושר - תצוגה - שגיאות - בחרו פרופיל לעריכה - שם הפרופיל: - הוסף פרופיל חדש - שכפל את הפרופיל הנוכחי - מחק את הפרופיל הנוכחי DIA - IC - ISF - ע\' מטרה - בזאלי - משתמש בנתונים מחושבים מחדש - רמת הסוכר קרובה מדי:\n%1$s\n%2$s - חושב מחדש - רישומים כפולים - שינוי לשעון קיץ ב-24 השעות הקרובות - חל מעבר לשעון קיץ לפני פחות מ-3 שעות - לולאה סגורה מושבתת - גרסה ישנה - גרסה ישנה מאוד - תוקף האפליקציה פג - גרסה חדשה זמינה כבר %1$d ימים! הגבלה להשהיה עקב סוכר נמוך תחל אחרי %2$d ימים, הלולאה תושבת אחרי %3$d ימים - עוד לא הושלם - זמן שחלף + הושלם, כל הכבוד! + ערך IOB מקסימלי הוגדר כראוי + ערכי סוכר זמינים מהמקור הנבחר + הלולאה פעילה + נבחר APS + מצב סגור מופעל + OBJ + תוכנית הלימוד + האם ברצונכם לאפס את התחלת המשימה? אתם עלולים לאבד את התקדמותכם במשימה. + ביטול השלמה + ביטול התחלה + + לחצנים לגישה מהירה לפונקציות שימושיות + ACT + כלים + צינורית + שימוש בבולוס ממושך יפסיק את מצב הלולאה הסגורה לזמן פעילות הבולוס. אתם בטוחים שאתם רוצים להמשיך? + שגיאה במתן הבולוס הממושך + גיל הצינורית + גיל משאבה + משאבה ללא צינורית + + הגבלת בולוס ממושך ל- %1$.1f יח\' בגלל %2$s + הגבלת פחמימות ל-%1$d גר\' בגלל %2$s + הגבלת IOB ל-%1$.1f יח\' בגלל %2$s + המשאבה אינה מסוגלת לבצע בזאלי זמני + מצב לולאה סגור מושבת בהעדפות + UAM מושבת מפני שהוא מסתמך על תוסף רגישות של Oref1 + זוהי גרסת פיתוח. לולאה סגורה אינה מורשת. + הלולאה הסגורה מופסקת עקב מתן בולוס ממושך + SMB תמידי ו-SMB לאחר פחמימות מושבתים כיוון שמקור ערכי הסוכר הפעיל אינו תומך בסינון נתונים מתקדם + SMB אינו פעיל במצב לולאה פתוחה + ערך מקסימלי בהעדפות + מגבלה קשיחה + בטיחות טיפולים + נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות + ילד\\ה + מתבגר\\ת + מבוגר\\ת + מבוגר\\ת עם תנגודת אינסולין גבוהה + הריון + בולוס מקסימלי מותר [U] + מקסימום פחמימות מותר [g] + סוג המטופל\\ת + נודניק + הצגת אורות חיווי במסך הבית + סף התראה לתוקף האינסולין [h] + סף התראה קריטית לתוקף האינסולין [h] + סף התראה של תוקף החיישן [h] + סף התראה קריטית של תוקף החיישן [h] + סף התראה של רמת סוללת החיישן [%] + סף התראה קריטית של רמת סוללת החיישן [%] + סף התראה של גיל הסוללה [h] + סף התראה קריטית של גיל הסוללה [h] + אזהרת סף של מיכל ריק [U] + אזהרת סף קריטית של מיכל ריק [U] + סף התראה של רמת הסוללה [%] + סף התראה קריטית של רמת הסוללה [%] + אורות חיווי + העתקת הגדרות מ-Nightscout + גרף + אינסולין + תפריט הגרף + איכות נתוני סוכר + ערכי סוכר בדם + לא עדכני + מצב APS + אשר בזאלי זמני חדש: + סנסור + אשף מהיר + + הפעל מחדש + ספק עכשיו + נקה תור + הצג תור + תור: + סטטוס: + סינכרון מלא + סנכרון מלא? זה ייקח שעות מרובות ולא תוכלו לראות נתונים חדשים בנייטסקאוט. + סינכרון + פרופילים, בולוסים, פחמימות ומינונים בזאליים זמניים נטענים לנייטסקאוט + טוען נתוני סוכר לנייטסקאוט + אחזר פרופילים שמורים + סינכרון פרופילים מעורך הפרופיל של נייטסקאוט לפרופיל מקומי + קבלת ערכי מטרה זמניים + קבלת ערכי מטרה זמניים שהוגדרו בנייטסקאוט או ב-NSClient + קבלת החלפות פרופיל + קבלת החלפות פרופיל שהוגדרו בנייטסקאוט או ב-NSClient + אחזר אירועים לא מקוונים + קבל אירועים לא מקוונים שנרשמו דרך נייטסקאוט או NSClient + קבל מינון בזאלי זמני ובולוס מושהה + קבל מינוני בזאלי זמני ובולוסים מושהים שהופעלו ממכשיר עוקב + קבלת אינסולין + קבלת אינסולין שהוזן באמצעות נייטסקאוט או NSClient (הוא לא מוזרק, רק מחושב רק כאינסולין פעיל) + קבלת פחמימות + קבלת פחמימות שנרשמו בנייטסקאוט או ב-NSClient + קבל אירועי טיפול + קבלת אירועי טיפול (צינורית, אינסולין, החלפת סוללה) שצוינו באמצעות נייטסקאוט או NSClient + קבלת\\טעינת נתוני סנסור + קבלת נתוני סנסור מנייטסקאוט + להפעיל %s? + האט העלאות + ייצר התראות מאזעקות של Nightscout + ייצר התראות מהכרזות של Nightscout + + שם המשתמש שלכם להתחברות ל-Tidepool, בדרך כלל כתובת הדוא\"ל שלכם + שם משתמש להתחברות + סיסמת ההתחברות ל-Tidepool + סיסמת התחברות + בדיקת התחברות ל-Tidepool + אם האפשרות מופעלת, נתונים יועלו לכתובת https://int-app.tidepool.org במקום https://app.tidepool.org/ + שימוש בשרתי אינטגרציה (בדיקה) + Tidepool + TDP + מעלה נתונים ל-Tidepool + העלאת נתוני סנסור + העלאת טיפולים (אינסולין, פחמימות) + העלאת בזאלים זמניים + העלאת החלפת פרופילים, ערכי מטרה זמניים + העלאת בדיקות סוכר + הסר הכל + אתחל התחלה + העלה עכשיו + + שימוש במשאבות אשר עדיין אין להם מנהל התקן כלשהו (לולאה פתוחה) + הגדרות משאבה וירטואלית + טוען מצב ל-Nightscout + + הורדת ערכי סוכר בדם מ-Nightscout + xDrip+ + קבלת ערכי סוכר מ-xDrip. + BYODA + BYODA + השתמש בנתוני הסוכר מאפליקציית \"בנה לעצמך דקסקום\" (BYODA). + אפליקלציית Eversense (עם פאץ\') + קבלת ערכי רמת סוכר מאפליקציית Eversense עם פאץ\'. + קבלת ערכי סוכר בדם מאפליקציית Glimp. + קבלת ערכי סוכר בדם מ-600SeriesAndroidUploader. + Poctech + קבלת ערכי סוכר מיישום Poctech + Glunovo + קבלת ערכי סוכר מיישום Glunovo + Intelligo + קבלת ערכי סוכר מיישום Intelligo + Tomato (MiaoMiao) + Tomato + קבלת ערכי סוכר מאפליקציית Tomato (התקן MiaoMiao) + Aidex + קבלת נתוני סוכר מחיישני GlucoRx Aidex. + הגדרות העלאת ערכי סוכר בדם + + השתמש באינטרנט סלולרי + השתמש בחיבור WiFi + WiFi SSID + בזמן טעינה + משתמש בסוללה + צור הודעות משגיאות + צור התראות על פחמימות דרושות + יצירת הכרזת Nightscout עבור הודעות על שגיאות והתראות מקומיות (ניתנות להצגה בפורטל הטיפולים תחת \"טיפולים\") + צור הכרזות נייטסקאוט עבור התראות מסוג פחמימות דרושות + מסנכרן את נתוניכם עם Nightscout + חסום ע\"י הגדרות טעינה + חסום ע\"י הגדרות חיבור + OAPS + מעלה + + סקין מקורי + סקין רזולוציה נמוכה + לחצנים מוצגים תמיד בתחתית המסך + תצוגה גדולה + סקין diff --git a/plugins/main/src/main/res/values-ko-rKR/exam.xml b/plugins/main/src/main/res/values-ko-rKR/exam.xml new file mode 100644 index 0000000000..e278f20581 --- /dev/null +++ b/plugins/main/src/main/res/values-ko-rKR/exam.xml @@ -0,0 +1,179 @@ + + + DIA에 대하여 올바른 것은? + 활성 인슐린 지속 시간 (DIA) + 프로파일에 DIA 값을 입력해야 합니다. + 허용되는 최소값은 5시간입니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html?#insulin + 적절한 DIA 값을 스스로 찾아야 합니다. + 저혈당 임시 목표 + 저혈당 임시 목표를 설정하는 가장 중요한 이유는 무엇인가요? + 잘못된 basal 양 설정으로 인한 저혈당을 수정하기 위함. + 운동으로 인한 저혈당을 교정하기 위함. + 0% 임시 basal이 이미 적용되고 있는 상황에서 혈당이 낮아지는 것을 방지하기 위함. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html + 어떤 프로파일이 오프라인에서 설정할 수 있습니까? + 주제: 오프라인 프로파일 + NS 프로파일이 사용될 수 있지만, 오프라인 상에서 설정할 수는 없습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html#profile + 펌프 일시중지할땐 무엇을 해야합니까? + 펌프가 물리적으로 연결되어 있지 않을 때에는 인슐린이 주입되지 않으므로 이 기능이 필요하지 않습니다. + 펌프가 연결된 채로 있다면 이 기능은 인슐린 주입을 멈추지 않습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#other-settings + 설정을 백업하는 가장 좋은 방법은 무엇인가요? + 적용된 설정을 따로 기록해둔다면 설정값을 \"내보내기\" 하지 않아도 됩니다. + 목표를 보두 수행한 뒤 설정값을 \"내보내기\" 합니다. + 설정이 바뀐 부분이 있다면 설정값을 \"내보내기\" 합니다. + 초기 구성을 마치고, 개별 설정을 입력한 뒤 설정값을 \"내보내기\" 합니다. + 관리 메뉴에서 설정값을 현재 기기로 \"내보내기\" 합니다. + 핸드폰의 Internal Storage/AAPS/preferences 폴더에서 설정값을 찾을 수 있습니다. + 안전한 외부 기기 (예를 들어, 클라우드 드라이브, 컴퓨터에 케이블 연결, email, 등)에 설정 파일을 복사합니다. + 핸드폰을 잃어버렸거나 고장난 경우, 백업해놓지 않아도 설정값을 원격으로 쉽게 되살릴 수 있습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + 노이즈가 심한 CGM의 혈당값 + CGM 혈당의 노이즈가 심하다면 어떻게 해야합니까? + 과량주입 또는 과소주입의 가능성을 막기 위해 closed loop 기능을 끕니다. + 지속적인 노이즈나 부정확한 센서를 교체합니다. + 사용 중인 CGM 어플이 데이터 평활화 기능을 제공하는지 확인합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + 운동과 프로파일 + 유산소 운동을 할 때 프로파일을 어떻게 설정하는 것이 시스템에 가장 도움이 될까요? + 프로파일을 100% 보다 낮게 변경합니다. + 프로파일을 100% 보다 높게 변경합니다. + 프로파일을 100%로 그대로 둡니다. + Loop 기능을 중지합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html#activity-temp-target + 운동과 임시 목표 + 유산소 운동을 할 때 임시 목표를 어떻게 설정하는 것이 시스템에 가장 도움이 될까요? + 운동을 시작하기 전 적절한 시간에 \"운동 시 임시 목표\"가 작동하도록 설정합니다. + 운동이 끝난 후 \"운동 시 임시 목표\"를 설정합니다. + 임시 목표를 변경하지 않습니다. + \"저혈당 임시 목표\"보다 혈당이 떨어질 때까지 기다린 후 빠르게 반응하는 탄수화물 15g을 섭취합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/temptarget.html#activity-temp-target + 중지 또는 일시중지된 loop + Loop가 중지/일시중지 되었을때 인슐린이 주입됩니까? + 네, Basal 인슐린은 계속 주입됩니다. + 아니오, 인슐린 주입이 모두 중지됩니다. + Basal, ISF, and I:C 테스트 + 언제 이 값들을 확인해야할까요? + Looping을 시작하게 전 + 자주 고혈당 또는 저혈당을 경험할 때 + 적어도 일주일에 한 번 + 한 번 설정하고 확인하면, 이 값은 계속 변하면 안됨. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#androidaps-settings + 기본 준비사항 + 유효한 프로파일 정보 (Basal, IC, ISF, DIA). + Android Studio가 설치되고 환경설정된 컴퓨터 + 지원되는 폰. + Closed loop을 사용할 계획이라면 호환되는 인슐린 펌프 + 모든 데이터의 log를 보관하고 설정을 검토하기 위한 Nightscout + Tidepool 계정. + 구글(Google) 계정. + 깃허브(Github) 계정. + 프로그래밍이나 코딩을 해 본 경험 + 미니메드(MiniMed) 670G 펌프. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html + 스마트워치. + 지원되는 연속혈당측정기(CGM). + 기본 준비사항 + 프로파일을 설정하기 위해 확인된 정보 (ISF, I:C ratio, basal 양, DIA 등). + 호환되는 Android 장치 (예를 들어, 핸드폰, Android 워치, 또는 태블릿). + 지원되는 CGM과 핸드폰 또는 장치에 혈당값을 수신하기 위한 적절한 어플. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html + 올바른 답변을 모두 체크하세요. + 컴퓨터에 Git을 설치하고 환경 설정해야 합니다. + Keystore의 위치를 저장하고 기록해두어야 이전에 설치할 때 사용했던 동일한 signing key를 업데이트할 때 사용할 수 있습니다. + 시스템이 잘 작동한다면 절대 업데이트하지마세요. + 만약 apk를 만드는 것이 어렵다면, 친구가 만든 apk를 사용하여 설치할 수 있습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + 문제 해결 + 당뇨병 클리닉/내분비내과의사에게 문의해야 합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + 어떤 인슐린에서 초-초속효성의 Oref 플러그인을 사용해야 할까요? + 피아스프(Fiasp®) + 노보래피드(NovoRapid®)/노보로그(Novolog®) + 휴마로그(Humalog®) + 액트라피드(Actrapid®)/휴말린 R(Humalin R®)/\"보통의\" 인간 인슐린. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Config-Builder.html#insulin + 민감도 플러그인 + 올바른 답변을 모두 체크하세요. + 민감도 플러그인은 프로파일을 수정할 때 사용할 수 있도록 basal 양, I:C ratio, ISF의 추천되는 변화값을 사용자에게 제공합니다. + 캐뉼라 교체를 입력하면 Autosens 비율은 100%로 되돌아갑니다. + 일부 플러그인 옵션은 사용자가 설정 가능한 시간 범위를 갖습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Configuration/Sensitivity-detection-and-COB.html + 탄수화물 입력 오류 + 부적절한 탄수화물을 입력하였다면 어떻게 하여야 합니까? + 관리 메뉴에서 잘못된 입력을 삭제하고, 새로운 탄수화물 양으로 수정합니다. + 주입 세트 교체 메뉴의 prime 기능을 사용하여 bolus 인슐린을 주입합니다. + 홈 화면에서 \"인슐린 (bolus)\" 버튼을 사용하여 bolus 인슐린을 주입합니다. + 인슐린 주입/입력 오류 + 만약 펌프 기록에서 보여지는 것보다 인슐린이 적게 주입되었을 때 어떻게 해야 할까요? (예를 들어, 주입 막힘, 캐뉼라 문제, 샤워 후 펌프 재부착을 잊어버렸을 때) + Nightscout 케어포탈에서 인슐린 데이터를 삭제하여 펌프 기록에서 이를 제거합니다. + \"주입되지 않은\" 인슐린양을 계산하여 시린지/펜 또는 prime 기능을 사용하여 인슐린을 주입합니다. + 활성 인슐린 (IOB) + IOB 값은 실행된 임시 basal의 영향을 받습니다. + 혈당이 목표보다 낮을 경우 높은 임시 basal은 실행되지 않습니다. + 운동 없이도 음수의 IOB (마이너스 IOB) 구간이 많을 경우, 프로파일이 너무 강한 것이며 인슐린 양을 적게 설정해야 합니다. + 양수의 IOB (플러스 IOB) 구간이 많을 경우, 인슐린 저항성 또는 입력하지 않은 식사를 의미합니다. + 탄수화물 입력과 bolus + 섭취한 탄수화물을 계산하고 기록할 때 gram 단위만을 사용해야 합니다. + 섭취한 탄수화물은 적절한 변환 방식 (예를 들어, DAFNE \"CHO\" 변환 또는 유럽의 \"Bread Units\")을 이용하여 기록할 수 있습니다. + 만약 혈당이 적절한 값을 벗어나면 (너무 낮거나 너무 높은 경우), 탄수화물 또는 교정 인슐린의 제안을 위해 bolus 계산기를 사용할 수 있습니다. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + 확장 탄수화물 (e-carbs) + c-carbs (확장 탄수화물)을 언제 사용할 수 있을까요? + (일정 기간에 걸쳐 인슐린을 나눠서 주입하는 확장 bolus와 유사하게) 일정 기간에 걸쳐 나눠서 탄수화물을 섭취할 계획이 있을 때. + 저혈당 처치를 위해 사용한 탄수화물의 제거를 기록하기 위함. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Extended-Carbs.html + 원격 모니터링 + 다른 어플들(예를 들어, Dexcom 팔로우, 팔로우 모드의 xDrip)은 일부 변수들(혈당/센서 수치)을 원격으로 팔로우 할 수 있지만, 알고리즘이 달라 부정확한 IOB 또는 COB 값을 보여줄 수 있습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Children/Children.html + 인슐린 민감도 (ISF) + ISF 값을 올리면 일정한 양의 탄수화물을 다루기 위해 더 많은 인슐린이 주입하게 합니다. + ISF 값을 낮추면 목표 혈당보다 높을 때 교정을 위해 더 많은 인슐린이 주입하게 합니다. + 혈당이 목표보다 낮을 때에는 ISF를 높이거나 낮추는 것이 인슐린 주입에 영향을 주지 않습니다. + 변경사항을 적용하는데 프로파일에서 ISF 값 변경하는 것으로 충분합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html + 프로파일에서 한 개 이상의 I:C ratio를 사용할 수 있습니다. + 프로파일에서 ISF를 바꾸면, I:C ratio도 항상 바꿔줘야 합니다. + 인슐린 대 탄수화물 비율 (I:C ratio) + 높은 I:C ratio은 탄수화물 섭취 시 인슐린을 적게 주입하게 합니다. + 낮은 I:C ratio은 탄수화물 섭취 시 인슐린을 적게 주입하게 합니다. + COB가 0 인 경우 IC 비율을 변경하면 혈당을 교정하기 위해 다른 양의 인슐린이 주입됩니다. + Bread unit (교환 단위)를 10g 또는 12g으로 계산하면 IC 값도 달라지게 됩니다. + IC: 1U의 인슐린으로 bread uits (교환 단위)를 얼마나 섭취할 수 있는 지를 의미합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + 프로파일 변경 + 프로파일을 90%로 변경하였을 때, 다음 중 옳은 것은? + Basal 양이 10% 감소합니다. + ISF가 10% 증가합니다. + I:C ratio 값이 10% 작은 수가 됩니다. + ISF와 I:C ratio는 변하지 않습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html?highlight=profile%20switch#profile-switch + 프로파일 변경 + 프로파일을 120%로 변경하였을 때, 다음 중 옳은 것은? + 목표 혈당값이 20% 높아집니다. + Basal 양이 20% 증가합니다. + 목표 혈당값은 변하지 않습니다. + ISF가 20% 증가합니다. + 프로파일 변경 + 시간이동 2으로 프로파일을 변경합니다. + 시간이동 -2으로 프로파일을 변경합니다. + \"식사 전 임시 목표\"로 설정합니다. + 프로파일을 100% 보다 높게 변경합니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Usage/Profiles.html?highlight=profile%20switch#timeshift + 프로파일의 변화 + Basal rates, ISF, I:C ratio 등을 프로파일에서 설정해야 합니다. + 변경된 것을 실행하려면, 프로파일에서 변화된 값을 수정하기만 하면 됩니다. + 변화하는 상황 (예를 들어, 호르몬 변화, 교대근무, 평일/주말 생활 방식)에 적응하기 위하여 여러 개의 프로파일을 만들어서 선택할 수 있습니다. + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Basal 양에 대한 도움 + Basal값 등과 관련된 도움을 어디서 받아야 하나요? + 의료진 + 구글(Google) + 페이스북(Facebook) + 다른 약물. 하단의 문구를 읽고, 내용을 수용하면 네모칸에 체크하십시오. + diff --git a/plugins/main/src/main/res/values-ko-rKR/objectives.xml b/plugins/main/src/main/res/values-ko-rKR/objectives.xml new file mode 100644 index 0000000000..343b5f7b16 --- /dev/null +++ b/plugins/main/src/main/res/values-ko-rKR/objectives.xml @@ -0,0 +1,54 @@ + + + 시작 + 확인 + %1$d. 목표 + 목표 %1$d이 시작되지 않았습니다 + 목표 %1$d이 완료되지 않았습니다 + 시각화 및 모니터링 설정하고, Basal과 비율을 분석합니다. + Nightscout에서 혈당 데이터가 잘 들어오는지, 펌프, 인슐린 데이터가 업로드 되는지 확인합니다 + Open Loop를 시작합니다 + 며칠 동안 Open Loop 모드를 사용하고 수동으로 임시Basal을 실행하여 봅니다. 사용자 정의 임시 목표와 (\'활동\', \'저혈당\' 같은) 기본 임시목표를 사용해봅니다 + 임시Basal 추천기능과 Open Loop에 대해 이해합니다 + 이 경험을 토대로, 최대 Basal을 결정하고 이를 펌프와 설정에 입력합니다 + Closed Loop를 시작하고 저혈당인슐린 중지 기능(LGS)을 사용해 봅니다 + 최대 IOB = 0 인 상태로 Closed Loop를 몇일동안 실행하되 저혈당 인슐린일시중지(LGS)가 많이 발생하지 않도록 합니다 + Closed Loop를 조정하여 최대 IOB를 0 이상으로 올려서 서서히 혈당 목표치를 낮추어 봅니다 + 혈당을 낮추기 전에 몇일간 사용해보되 최소한 하루는 저혈당 알람이 발생하지 않도록 해봅니다 + 필요하면 Basal과 비율을 조절하고, auto-sens를 활성화합니다 + 섭취한 탄수화물양을 입력하고 1주일동안 낮시간대에 loop를 성공적으로 사용하여 봅니다 + 낮시간대에 SMB(Super Micro Bolus)같은 추가기능을 활성화해 사용해봅니다 + 자동화 사용 + SMB가 잘 작동하게 하기위해서 wiki를 반드시 읽은 다음 maxIOB 값을 올려보세요! maxIOB=평균 식사 Bolus + 3 x 최대하루 Basal이면 적당한 시작값입니다 + 자동화가 어떻게 작동하는지 설명서를 확인하세요. 간단한 첫 번째 규칙을 만들어 보십시오. 실행하기 전에 AAPS가 알림을 보여주도록 설정합니다. 자동화가 적시에 잘 작동하는 것을 확인하면 알림을 실제 실행으로 변경하십시오. +(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + NS에서 혈당이 확인 가능합니다 + NS에서 펌프상태가 확인 가능합니다 + 수동 주입 + 완료: %1$s + 10분동안 프로파일 90%를 설정해보세요(홈에서 프로파일명을 길게 눌러보세요) + 샤워한다고 가정하고 펌프를 1시간 동안 펌프를 일시중지하세요 (홈에서 Open Loop를 길게 눌러보세요) + ... 그리고 같은 방법으로 펌프를 재연결하세요 + 사용자정의 임시 목표를 10분동안 실행해보세요 (홈에서 본인의 현재 목표혈당을 길게 눌러보세요) + 구성관리자에서 실행 플러그인을 활성화하고 메뉴에서 표시되게 합니다 + Loop 플러그인 내용을 표시합니다 + 홈의 혈당 차트를 길게 눌러 차트 시간을 변경하세요 + 입력 + 다른 시스템에서 closed loop을 적어도 3개월 동안 사용한 경우 목표를 건너뛸 수 있는 코드를 받을 수 있습니다. 자세한 정보는 https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives를 참고하십시오. + 코드 인증 + 잘못된 코드 + 당신의 지식을 확인해봅니다 + 문제들에 대한 공부. 각각의 질문에 네 개의 답변이 주어집니다. 한 개 이상의 정답이 있을 수 있습니다. 올바른 것을 모두 체크하고, 확인을 선택하십시오. + 다음 시간까지 답변 불가능: %1$s + 잘못된 답변! + 다음 미답변 + 요청 코드: %1$s + (올바른 답변을 모두 체크하세요) + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/CROWDIN/ko/Getting-Started/Screenshots.html#the-homescreen + 인터넷에 연결되지 않음 + 시간을 가져오지 못했습니다 + 목표 요구 사항이 충족되지 않음 + diff --git a/plugins/main/src/main/res/values-ko-rKR/strings.xml b/plugins/main/src/main/res/values-ko-rKR/strings.xml index 3d4089e62d..c3af0eacf6 100644 --- a/plugins/main/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/main/src/main/res/values-ko-rKR/strings.xml @@ -1,140 +1,170 @@ - SMS 통신기 SMS - 인증 어플에서: %1$s 뒤에 PIN - 암호 끝에 더해지는 자동형성 PIN - 부가적인 숫자를 생성되는 일회성 비밀번호 끝에 더하고 기억해야 함. - 확인용 code: OTP + PIN - 유효한 코드는 인증 어플에서 보여지는 6개의 숫자 (OTP) 뒤에 자동형성 PIN의 3개 또는 그 이상의 숫자가 이어져야 함. - 인증 초기화 - 인증 암호 초기화 - 인증 암호를 초기화하는 것이 확실합니까? 현재 설정된 인증 암호를 모두 무효화 시키며, 이들을 모두 다시 설정해야 합니다. - 새로운 인증 암호가 생성되었습니다! 준비된 인증 어플에서 업데이트된 QRCode를 사용하십시오. - OTP 비밀번호 내보내기 - OTP 비밀번호의 클립보드 복사를 원하는 것이 확실합니까?\n\n 이는 인증 어플이 QRCode를 스캐닝하는데 문제가 있을 때, 비밀번호 수동 입력을 원할 때, 또는 공용 어플 사용 시에 하드웨어 OTP 암호 설정을 원할 때에만 필요합니다. - OTP 비밀번호 (Base32 포맷)가 클립보드에 내보내져서 복사되었습니다. 인증 어플 또는 하드웨어 OTP burner에 붙여넣기 하십시오! - 1. 인증어플 설치하기 - 3. 일회성 비밀번호 테스트 - 인증 초기화 - 각각의 팔로워 폰에 RFC 6238 TOTP 암호를 사용하는 인증 어플을 설치합니다. 대중적인 무료 어플은 다음과 같습니다:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator. - 사용자 - 허가된 전화번호 +XXXXXXXXXX;+YYYYYYYYYY - 임시목표 %1$s를 설정하려면 %2$s를 입력하고 답장하세요 - 임시목표를 취소하려면 %1$s를 입력하고 답장하세요 - SMS 원격 기능을 비활성화려면 %1$s를 입력하고 답장하세요.\n\nAAPS 마스터폰을 통해서만 다시 활성화할 수 있습니다. - SMS 원격 기능이 중지되었습니다. 다시 활성화하려면 AAPS 마스터폰을 이용하세요. - 보정값 %1$.2f을 전송하려면 %2$s 를 입력하고 답장하세요 - Bolus failed - 원격 Bolus를 주입한 후 얼마간의 시간이 흐른 후에야 다음 원격 Bolus주입이 가능합니다 - 원격 Bolus를 주입한 후 몇분이 지나야 다음 원격 Bolus 주입이 가능하게 합니까 - 안전을 위하여 이 설정을 수정하기 위해 최소 2개의 폰 번호를 추가해야합니다. - Bolus %1$.2f U이 성공적으로 주입되었습니다. - 식사 Bolus %1$.2f U 이 성공적으로 주입되었습니다. - %2$d 분 동안 목표 %1$s - %2$d 분 동안 목표 %1$s 설정이 완료되었습니다 - 임시 목표 취소가 완료되었습니다 - SMS 원격 명령 사용하기 - Loop가 중지되었습니다. - Loop가 실행되었습니다. - Loop가 실행중입니다. - 코드 %1$s을(를) 사용하여 펌프에 연결하기 - 펌프에 연결하지 못했습니다. - %1$d분 동안 펌프 연결을 끊으려면 코드 %2$s를 입력하세요. - 펌프가 연결되지 않았습니다. - 펌프가 다시 연결되었습니다. - 원격 명령이 허가되지 않았습니다 - 원격 주입이 불가능합니다. 나중에 다시 시도해주세요. - %2$d분동안 basal %1$.2fU/h 주입하려면 %3$s을(를) 입력하세요. - 프로파일 %1$s %2$d%%로 변경하려면 %3$s 를 입력하고 답장하세요 - %2$d분동안 확장bolus %1$.2fU 주입하려면 %3$s을(를) 입력하세요. - %2$s에 %1$dg을 입력하려면 %3$s를 입력하고 답장하세요 - %2$d 분 동안 Basal %1$d%% 주입하려면 %3$s을 입력하고 답장하세요 - %1$d분동안 Loop 일시중지하려면 %2$s 를 입력하고 답장하세요 - 코드 %1$s을(를) 사용하여 loop의 작동 다시 시작하기 - 코드 %1$s을(를) 사용하여 loop의 작동 활성화하기 - 코드 %1$s을(를) 사용하여 loop의 작동 비활성화하기 - Temp Basal %1$.2fU/h for %2$d min started successfully - Extended bolus %1$.2fU for %2$d min started successfully - 탄수화물 %1$dg 입력이 완료되었습니다. - 탄수화물 %1$dg 입력이 실패하였습니다 - Temp basal %1$d%% for %2$d min started successfully - Temp Basal start failed - Extended bolus start failed - 임시Basal을 중지하려면 %1$s 를 입력하고 답장하세요 - 확장 Bolus를 중지하려면 %1$s 를 입력하고 답장하세요 - Temp Basal canceled - Extended bolus canceled - Canceling Temp Basal failed - Canceling extended bolus failed - 알려지지 않은 명령이거나 잘못된 답장입니다 - 대기열에 또다른 bolus가 있습니다. 이후에 다시 시도하세요. - 기간이 잘못되었습니다. - Loop가 일시중지 되었습니다. - Loop가 재실행 되었습니다. - SMS폰번호가 유효하지 않습니다 - 보정 전송됨. xDrip에서 수신이 되도록 설정되어 있어야 합니다+. - xDrip+에서 보정값을 받지 못합니다. - 잘못된 메시지 내용 - 허용되지 않는 펌프 이벤트가 발생하면 SMS를 보내기 - 허용되지 않는 펌프 기록 Delta: IOB: Bolus: Basal: - DIA Lyumjev - 휴마로그와 노보래피드에 대한 인슐린 설정 - 피아스프에 대한 인슐린 설정 - Lyumjev에 대한 인슐린 설정 - 인슐린활동의 피크를 직접 정의할 수 있습니다. 고급 사용자만 사용해야 합니다. INS - IOB 커브 피크 시간 - 피크 시간 [min] - 사용자지정-피크 Oref - 초속효성 Oref - DIA %1$f는 너무 짧습니다. 대신 %2$f을 사용하세요! - - xDrip+ 워치페이스에서 Loop정보 보여주기 + - Nightscout에서 정의된 음식 설정을 표시합니다. - 필터 - 음식 - kJ - En - 단백질 - 지방 - 분류 - 하위 분류 LP - 오프라인에서 사용 가능한 프로파일을 정의하십시오. - 단위: - 프로파일명: DIA - IC - ISF TARG BAS - 24시간 미만의 썸머타임 변경 - 썸머타임 변경이 3시간 미만입니다 - Closed Loop 비활성됨 - 오래된 버전 - 아주 오래된 버전 - 최소 %1$d일 새버전이 가능합니다! %2$d일 후엔 LGS(저혈당주입중지)으로 복귀되며, %3$d일이후엔 Loop가 비활성화 될 것입니다 - 아직 완료되지 않았습니다. - 경과 시간 + 훌륭합니다. 완료되었습니다! + 최대 IOB가 바르게 설정됨 + 선택한 소스에서 혈당이 들어옵니다. + Loop 활성화됨 + APS 선택됨 + Closed 모드가 활성화됨 + OBJ + 프로그램 배우기 + 목표를 초기화하시겠습니까? 진행상황이 삭제됩니다. + 완료 초기화 + 시작 초기화 + + 일반 기능을 빠르게 실행시킬 버튼 + ACT + 도구 + 캐뉼라 + 확장 Bolus 기능을 사용하는 동안에는 Closed Loop 모드가 중지됩니다. 정말 원하십니까? + 확장Bolus 주입 에러 + + %2$s로 인해 확장Bolus가 %1$.1f U로 제한됩니다. + %2$s로 인해 탄수화물이 %1$d g로 제한됩니다. + %2$s로 인해 IOB가 %1$.1f U으로 제한됩니다. + 이 펌프 임시Basal을 지원하지 않습니다. + 설정에서 Closed Loop 모드가 비활성화되었습니다. + Oref1 민감도 플러그인이 필요하므로 UAM이 비활성화 되었습니다. + 개발자버전을 실행중입니다. Closed Loop는 비활성화 됩니다. + 확장 Bolus 사용으로 인해 Closed Loop가 비활성화됨 + 선택한 혈당 출처가 고급 필터링을 지원하지 않기 때문에 SMB가 항상 비활성화됩니다. + Open Loop모드에선 SMB가 허용되지 않습니다. + 설정에서의 최대값 + 하드한계 + 관리 안전설정 + 안전 제한 설정을 위해 환자 유형을 선택하십시오. + 어린이 + 청소년 + 성인 + 인슐린 저항성 높은 성인 + 임신 중 + 최대 허용 Bolus [U] + 최대 허용 탄수화물 [g] + 환자 유형 + 스누즈 + 홈화면에 상태 표시등 보여주기 + 인슐린 사용 기간 경고 기준 [h] + 인슐린 사용 기간 위험 기준 [h] + 센서 사용 기간 경고 기준 [h] + 센서 사용 기간 위험 기준 [h] + 배터리 잔량 경고 기준 [%] + 배터리 잔량 위험 기준 [%] + 펌프 배터리 사용 기간 경고 기준 [h] + 펌프 배터리 사용 기간 위험 기준 [h] + 주사기량 경고 기준값[U] + 주사기량 위험 기준값[U] + 펌프 배터리 잔량 경고 기준 [%] + 펌프 배터리 잔량 위험 기준 [%] + 상태 등 + NS에서 설정을 복사해오기 + 차트 메뉴 + APS 모드 + 새 임시Basal 적용: + CGM + 빠른마법사 + + 재시작 + 즉시전송 + 대기열 지우기 + 대기열 보여주기 + 대기열: + 상태: + 동기화 + 프로파일, bolus, 탄수화물, 임시 basal이 NS에 업로드 됨 + NS에 데이터 업로드하기 + 프로파일 목록 받기 + 임시 목표들 받기 + NS 또는 NSClient에서 입력한 임시 목표 수락하기 + 프로파일 변경 받기 + NS 또는 NSClient에서 입력한 프로파일 변경 수락하기 + APS 오프라인 이벤트 받기 + NS 또는 NSClient에서 입력한 APS 오프라인 이벤트 수락하기 + 인슐린 받기 + NS 또는 NSClient에서 입력한 인슐린 수락하기 (주입되지는 않음, IOB에 계산만 됨) + 탄수화물 받기 + NS 또는 NSClient에서 입력한 탄수화물 수락하기 + 처치 이벤트 받기 + NS 또는 NSClient에서 입력한 처치 이벤트 (캐뉼라, 인슐린, 배터리 교체 등) 수락하기 + CGM 데이터 받기/다시 채우기 + NS로부터 CGM 데이터 수락하기 + NS 알람에서 알림 만들기 + NS 안내에서 알림 만들기 + + Tidepool 사용자명, 보통 이메일 주소입니다. + 로그인 사용자명 + Tidepool 로그인 비밀번호 + 로그인 비밀번호 + Tidepool 로그인 테스트하기 + 활성화하면 업로드 정보가 https://app.tidepool.org/이 아닌 https://int-app.tidepool.org/로 전송됩니다. + 테스트 서버 사용 + Tidepool + TDP + 데이터를 Tidepool로 업로드 + CGM 데이터 업로드 + 관리정보(인슐린, 탄수화물) 업로드 + 임시 Basal 업로드 + 프로파일변경, 임시목표 업로드 + 혈당 테스트 업로드 + 지금 업로드하기 + + 가상용 펌프를 위한 설정(Open Loop) + 가상펌프 설정 + NS에 상태 업로드하기 + + Nightscout에서 다운로드하여 혈당값 받기 + xDrip+ + xDrip+에서 혈당값 받기 + Eversense 앱(패치버전) + 패치된 Eversense 앱에서 혈당값 받기 + Glimp에서 혈당값 받기 + 600SeriesAndroidUploader에서 혈당값 받기 + Poctech + Poctech 앱에서 혈당값 받기 + Tomato (MiaoMiao) + Tomato + 혈당값이 Tomato앱(MiaoMaio장치) 으로부터 수신되었습니다. + 혈당 업로드 설정 + + 와이파이 SSID + 에러 발생시 알림 생성 + \"필요 탄수화물 경고\"에서 알림 만들기 + 에러 발생에 대한 Nightscout 알림과 자체 경고를 생성합니다. (케어포털 관리에서도 표시됩니다.) + \"필요한 탄수화물 경고\"를 위해 Nightscout 알림 만들기 + Nightscout과 데이터 동기화하기 + OAPS + UPLD + + 기본 스킨 + 저해상도 스킨 + 버튼을 화면 아래 고정하여 보여주기 + 큰 화면 + 스킨 diff --git a/plugins/main/src/main/res/values-lt-rLT/exam.xml b/plugins/main/src/main/res/values-lt-rLT/exam.xml new file mode 100644 index 0000000000..a18498ae6f --- /dev/null +++ b/plugins/main/src/main/res/values-lt-rLT/exam.xml @@ -0,0 +1,179 @@ + + + Koks atsakymas apie IVT yra teisingas? + Insulino veikimo trukmė (IVT) + Jūs turite nustatyti IVT reikšmę profilyje. + Mažiausia reikšmė - 5 valandos. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Jūs turite nustatyti sau tinkamą IVT reikšmę. + Hipo laikinas tikslas + Kokia yra pagrindinė priežastis nustatyti hipo laikiną tikslą? + Hipoglikemijų dėl neteisingai nustatytos bazės korekcija. + Hipoglikemijos dėl fizinio aktyvumo korekcija. + Kad būtų išvengta glikemijos kritimo kai jau nustatyta 0% laikina bazė. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Kuris profilis gali būti naudojamas ir sukonfigūruotas neprisijungus? + Tema: Vietinis Profilis + NS Profilis gali būti naudojamas, bet nekonfigūruojamas. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Kas vyksta programiškai atjungus pompą? + To daryti nereikia, nes insulinas nebus tiekiamas, jei pompa fiziškai atjungta. + Tai nesustabdys insulino tiekimo, jei pompa nebus fiziškai atjungta. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Kaip geriausiai padaryti nustatymų atsarginę kopiją? + Jums nereikia eksportuoti nustatymų, jei juos užsirašėte. + Reikia eksportuoti nustatymus kaskart užbaigus tikslą. + Reikia eksportuoti nustatymus juos pakeitus. + Reikia eksportuoti nustatymus užbaigus pirminę sąranką ir įvedus asmeninius parametrus. + Reikia eksportuoti nustatymus lokaliai per Serviso meniu. + Jūsų nustatymų failas randamas telefono aplanke Internal Storage/AAPS/preferences. + Išsaugokite nustatymų failą saugioje vietoje ne telefone (pvz. saugykloje debesyje, perkeliant į kompiuterį kabeliu, el. pašte ir pan.) + Jei sugadinsite telefoną ar jį pamesite, yra paprastų būdų, kaip nuotoliniu būdu atkurti nustatymus be atsarginės kopijos. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Triukšmingi NGJ Rodmenys + Ką reikėtų daryti, jei sensoriaus duomenys yra triukšmingi - besiblaškantys? + Išjungti uždarą ciklą, kad išvengtumėte per didelio ar per mažo dozavimo. + Pakeisti sensorių, jei jo duomenys pastoviai triukšmingi ar netikslūs. + Patikrinti, ar jūsų NGJ programa išlygina duomenis. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Aktyvumas ir Profiliai + Kaip naudoti profilius, kad sistema geriausiai susitvarkytų su aerobiniais pratimais? + Perjungti profilį į žemesnį nei 100%. + Perjungti profilį į aukštesnį nei 100%. + Palikti 100% profilį. + Sustabdyti ciklą. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Aktyvumas ir Laikini tikslai + Kaip naudoti laikinus tikslus, kad sistema geriausiai susitvarkytų su aerobiniais pratimais? + Nustatykite laikiną aktyvumo tikslą pradėdami jį tinkamu laiku prieš pradėdami sportuoti. + Pasibaigus fizinei veiklai, nustatykite laikiną aktyvumo tikslą. + Palikti tikslinę glikemiją nepakeistą. + Palaukti, kol glikemija nukris žemiau laikino hipoglikemijos tikslo, tada suvalgyti 15 g greitųjų angliavandenių. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Ciklas išjungtas/sustabdytas + Ar man leidžiamas insulinas, kai ciklas yra išjungtas / pristabdytas? + Taip, bazinis insulinas ir toliau leidžiamas. + Ne, insulino tiekimas sustabdytas. + Bazės, JIF, ir IA testavimas + Kada šios reikšmės turėtų būti patikrintos? + Prieš pradedant naudoti AAPS. + Kai gliukozės kiekis kraujyje dažnai yra per didelis ar per mažas. + Mažiausiai kartą per savaitę. + Vieną kartą nustatytos ir patvirtintos, šios reikšmės daugiau neturėtų būti keičiamos. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Būtinosios sąlygos + Turėti patikrintus profilio duomenis (valandines bazes, IA, JIF, IVT). + Kompiuterio su įdiegta ir sukonfigūruota Android Studio programa. + Tinkamo telefono. + Tinkamos insulino pompos, jei ketinate naudotis uždaru ciklu. + Nightscout, kad galima būtų išsaugoti ir peržiūrėti visų duomenų bei nustatymų istoriją. + Tidepool paskyros. + Google paskyros. + Github paskyros. + Turėti programavimo ar kodo redagavimo patirties. + MiniMed 670G pompos. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Išmaniojo laikrodžio. + Palaikomo NGJ. + Būtinosios sąlygos + Patikrintos profilio informacijos (JIF, IA, bazė, IVT ir pan.). + Suderinamo Android įrenginio (pvz.: išmaniojo telefono, laikrodžio su full Android ar planšetės). + Palaikomo NGJ ir tinkamos programėlės glikemijos duomenims gauti telefone/įrenginyje. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Pasirinkite visus teisingus atsakymus. + Git programa turi būti įdiegta ir sukonfigūruota jūsų kompiuteryje. + Turėtumėte išsaugoti ir pasižymėti raktų saugyklos vietą ir atnaujinimams naudoti tą patį pasirašymo raktą, kaip ir ankstesniam diegimui. + Niekada neatnaujinkite, jei sistema veikia gerai. + Jei kyla sunkumų kuriant apk failą, galite instaliuoti apk failą, kurį sukūrė draugas. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Trikčių šalinimas + Turėtumėte kreiptis į savo diabeto kliniką/endokrinologą. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Kurį insuliną reikėtų naudoti su Ultra-Rapid Oref įskiepiu? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"tradicinį\" žmogaus insuliną. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Jautrumo įskiepiai + Pasirinkite visus teisingus atsakymus. + Jautrumo įskiepiai pateikia vartotojui siūlomus bazės, IA santykio ir JIF pakeitimus, kuriuos galima naudoti profiliui redaguoti. + Pažymėjus kaniulės pakeitimą, Autosens santykis vėl bus grąžintas į 100%. + Kai kurios įskiepo parinktys turi konfigūruojamus laiko intervalus, kuriuos gali nustatyti vartotojas. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Angliavandenių įvedimo klaidos + Ką reikia daryti, jei įrašyti neteisingi angliavandeniai? + Ištrinti neteisingą įrašą Terapijos skiltyje ir įvesti teisingą angliavandenių kiekį. + Suleisti bolusą, naudojant infuzijos rinkinio užpildymo funkciją. + Suleisti bolusą, naudojant mygtuką Insulinas, esantį pagrindiniame lange. + Insulino suleidimo / įrašų klaidos + Ką turėtumėte daryti, jei buvo suleista mažiau insulino nei rodo pompos istorija, pvz. dėl užsikimšimo, neveikiančios kaniulės ar pamiršus po dušo vėl pritvirtinti pompą?  + Ištrinti insulino suleidimo įrašą per Nightscout Careportal, kad pašalintumėte jį iš pompos istorijos. + Susileisti trūkstamą insulino kiekį švirkštu ar naudojantis infuzinės sistemos užpildymo funkcija. + Aktyvus insulinas organizme (AIO) + AIO reikšmei įtakos turi nustatyta laikina valandinė bazė. + Padidinta laikina bazė nebus nustatyta, jei kraujo glikemija yra žemiau nustatyto tikslo. + Jei ilgą laiką stebima neigiama AIO reikšmė ir nėra fizinio aktyvumo, tai rodo, kad jūsų nustatymai yra per „agresyvūs“ ir kad jums reikia mažiau insulino nei nustatyta. + Jei ilgą laiką stebima teigiama AIO reikšmė, tai rodo rezistenciją insulinui arba valgomą, tačiau neįrašomą maistą. + Angliavandenių įrašai ir bolusai + Apskaičiuojant ir įrašant angliavandenius, reikia naudoti tik gramus. + Suvartotus angliavandenius galima įrašyti naudojant atitinkamą perskaičiavimo sistemą (pvz., DAFNE „CHO“ perskaičiavimą ar europinius duonos vienetus). + Jei gliukozės kiekis kraujyje viršija leistinas ribas (per žemas ar per aukštas), skaičiuotuvas gali pateikti pasiūlymus dėl angliavandenių ar korekcinio boluso. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + i-AV + Kam naudojami i-AV (ištęsti angliavandeniai)? + Įvesti angliavandenius, kurie dar tik bus ateityje, galimai pasiskirstę laike (panašiai kaip ištęstas bolusas paskirsto laike insuliną). + Norint įrašyti angliavandenius, kuriuos suvartojote esant žemai glikemijai.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Nuotolinis stebėjimas + Kitos programėlės (pvz. Dexcom follow, Xdrip sekėjo režimu) leidžia sekti tuos pačius parametrus (pvz. glikemijos/sensoriaus reikšmės) nuotoliniu būdu, tačiau naudoja kitus algoritmus, todėl gali pateikti neteisingas AIO ir AAO reikšmes. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Jautrumo insulinui faktorius (JIF) + Padidinus JIF reikšmes, bus leidžiama daugiau insulino, kad būtų padengtas konkretus angliavandenių kiekis. + Sumažinus JIF, insulino bus leidžiama daugiau, kad būtų koreguojama aukštesnė, nei nustatyta glikemija. + JIF padidinimas ar sumažinimas neturi įtakos insulino leidimui, kai gliukozės kiekis kraujyje yra žemesnis už tikslinį. + Jei profilyje pakeisite JIF vertę, Ciklas į pokytį iškart atsižvelgs. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Jūs galite naudoti daugiau nei vieną IA santykio reikšmę savo profilyje. + Jei profilyje pakeičiate JIF reikšmę, visada taip pat turite pakeisti IA santykį. + Insulino ir angliavandenių santykis (IA santykis) + Didesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui. + Mažesnis insulino ir angliavandenių IA santykis reiškia, kad mažiau insulino reikia padengti tam tikram angliavandenių kiekiui. + Jei turite 0 AAO (aktyvių angliavandenių organizme), pakeitus IA, glikemija bus koreguojama kitokiu insulino kiekiu. + IA vertė skirsis priklausomai nuo to, ar duonos vienetui (jo pakeitimui) skaičiuojate 10g ar 12g angliavandenių. + IA reiškia: kiek vienas vienetas insulino dengia duonos vienetų (jo pakeitimo). + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profilio keitimas + Kai nustatomas 90% profilio keitimas, kurie atsakymai yra teisingi? + Valandinė bazė bus 10% mažesnė. + JIF reikšmė bus 10% didesnė. + IA santykio reikšmė bus 10% mažesnė. + JIF ir IA reikšmės nebus pakeistos. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profilio keitimas + Kai nustatomas 120% profilis, kurie atsakymai yra teisingi? + Tikslinė glikemija bus 20% aukštesnė. + Valandinė bazė bus 20% didesnė. + Tikslinė glikemija nebus pakeista. + JIF reikšmė bus 20% didesnė. + Profilio keitimas + Perjunkite profilį su laiko poslinkiu +2 + Perjunkite profilį su laiko poslinkiu -2 + Nustatyti Netrukus valgysiu laikiną tikslą. + Perjungti profilį į aukštesnį nei 100%.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Profilių pakeitimai + Bazė, JIF, IA santykiai ir t.t. turėtų būti nustatyti profiliuose. + Užtenka tik redaguoti profilius pakeičiant reikšmes, kad būtų aktyvuoti visi atlikti pakeitimai. + Galima nustatyti ir pasirinkti kelis profilius, kad jie atitiktų besikeičiančias aplinkybes (pvz., hormoniniai pokyčiai, pamaininis darbas, darbo dienų/savaitgalių gyvenimo būdas). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Pagalba su valandinėmis bazėmis + Kur kreiptis, jei jums reikia pagalbos nustatant valandines bazes ir pan.? + Į Jūsų endokrinologą ir diabetologą + Google + Facebook + Kiti vaistai. Prašome perskaityti toliau pateiktą pranešimą ir pažymėti langelį, kad patvirtintumėte. + diff --git a/plugins/main/src/main/res/values-lt-rLT/objectives.xml b/plugins/main/src/main/res/values-lt-rLT/objectives.xml new file mode 100644 index 0000000000..f0915a68c2 --- /dev/null +++ b/plugins/main/src/main/res/values-lt-rLT/objectives.xml @@ -0,0 +1,54 @@ + + + Pradėti + Patikrinti + %1$d. tikslas + %1$d tikslas nepradėtas + %1$d tikslas nepasiektas + Nustatymai vizualizacijai, monitoringui ir bazės verčių bei koeficientų analizei + Įsitikinkite, kad gliukozės duomenys rodomi Nightscout, o pompos insulino duomenys yra įkelti + Aktyvuojamas atviras ciklas + Keletą dienų praleiskite atvirojo ciklo (Open Loop) režime, rankiniu būdu tvirtindami kuo daugiau siūlomų bazės pakeitimų. Nustatykite ir naudokite laikinus bei numatytuosiuos tikslus (pvz.: fiziniam aktyvumui ir hipo korekcijai angliavandeniais) + Perpraskite atvirojo ciklo veikimą bei laikinos bazės rekomendacijas + Remdamiesi šia patirtimi, nuspręskite, koks turėtų būti maksimalus bazės dydis bei įveskite jį pompoje ir programos Nustatymuose + Pradėkite uždaro ciklo (Closed Loop) režimą su pompos stabdymu esant žemai gliukozei + Keletą dienų praleiskite uždaro ciklo režime su kuo mažiau hipoglikemijų, kai AIO = 0 + Koreguokite savo uždarąjį ciklą po truputį didindami maks AIO ir mažindami tikslinę glikemijos reikšmę + Praleiskite keletą dienų ir bent vieną naktį be hipoglikemijos aliarmų + Jei reikia, paderinkite valandines bazės vertes bei pagrindinius parametrus ir įgalinkite Autosens funkciją + 1 savaitę praleiskite sėkmingai naudodami uždarąjį ciklą dienos metu ir įvesdami visus valgomus angliavandenius + Dienos metu aktyvuokite papildomas funkcijas, tokias kaip SMB (Super Mikro Bolusas) + Automatizavimo įjungimas + Norėdami, kad SMB veiktų gerai, turite perskaityti dokumentaciją ir padidinti max AIO! Pradžiai patartina skaičiuoti taip: maxAIO=(didžiausia valandinė bazė x 3) + vidutinis bolusas + Perskaitykite automatizacijos dokumentaciją. Nustatykite pirmąsias paprastas taisykles. Užuot įjungę veiksmus, leiskite AAPS tik rodyti pranešimus. Kai būsite tikri, kad automatizacija prasidės tinkamu laiku, pakeiskite pranešimą realiu veiksmu. +(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + KG matoma NS + NS matomas pompos statusas + Įvesti rankiniu būdu + Įvykdyta: %1$s + Nustatykite profilį 90% 10 min (ilgai paspauskite profilio pavadinimą Apžvalgos skiltyje) + Imituokite maudynes duše. Atjunkite pompą 1 valandai (ilgai paspauskite Atviras Ciklas) + ... ir iš naujo prisijunkite tuo pačiu būdu + Nustatykite 10 min trukmės laikiną tikslą (ilgai spausti ant dabartinio tikslo) + Konfigūracijoje įjunkite Veiksmų įskiepį, nustatykite jį matomą ir jo turinio rodymą viršutiniame meniu + Parodyti Ciklo įskiepio turinį + Panaudokite vaizdo dydžio keitimo funkciją ilgai spaudžiant ant glikemijos kreivės + Įeiti + Jei turite bent 3 mėnesių uždaro ciklo patirties kitose sistemose, galite gauti kodą, leidžiantį praleisti tikslus. Visą informaciją galite rasti čia: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. + Kodas priimtas + Neteisingas kodas + Patvirtinkite savo žinias + Išanalizuokite klausimus.  Į kiekvieną klausimą jums pateikiami keturi galimi atsakymai. Teisingų atsakymų gali būti daugiau nei vienas. Pažymėkite visus teisingus ir pasirinkite PATVIRTINTI. + Atsakymas sustabdytas: %1$s + Neteisingas atsakymas! + Kitas neužbaigtas + Paprašyti kodo: %1$s + (pasirinkite visus teisingus atsakymus) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Neprisijungta prie interneto + Nepavyko nuskaityti laiko + Tikslo reikalavimai neįvykdyti + diff --git a/plugins/main/src/main/res/values-lt-rLT/strings.xml b/plugins/main/src/main/res/values-lt-rLT/strings.xml index 6f19eadd1b..c11cad30e9 100644 --- a/plugins/main/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/main/src/main/res/values-lt-rLT/strings.xml @@ -1,155 +1,220 @@ - SMS komunikatorius SMS - iš Authenticator programėlės: %1$s, po to - PIN - Papildomas privalomas PIN kodas žymeklio gale - Papildomi skaitmenys, kuriuos reikia atsiminti ir pridėti kiekvieno sugeneruoto slaptažodžio pabaigoje - Kodas patikrinimui: OTP + PIN - Patvirtinimo kodą sudaro 6 skaitmenys, kuriuos rodo Authenticator programa (dar vadinama OTP), po 3 ar daugiau privalomo PIN skaitmenų. - Atstatyti tapatybės nustatymą - Atstatyti autentifikatoriaus kodą - Ar tikrai norite iš naujo nustatyti autentifikatoriaus raktą? Dėl to visi šiuo metu konfigūruojami autentifikatoriai negalios, ir jums reikės juos nustatyti dar kartą. - Sukurtas naujas autentifikavimo raktas! Autentifikatoriams pateikti naudokite atnaujintą QR kodą. - Eksportuojamas OTP kodas - Ar tikrai norite nukopijuoti OTP slaptažodį į mainų sritį?\n\nTai gali būti reikalinga tik tuo atveju, jei jūsų programai kyla problemų identifikuojant nuskaitant QR kodą. Arba norite jį įvesti rankiniu būdu ar sukonfigūruoti įrangos OTP prieigos raktą naudodami specialią programą. - OTP kodas (Base32 formatas) eksportuotas ir nukopijuotas į mainų sritį. Įklijuokite jį į autentifikatorių arba OTP programą! - 1. Įdiegti Authenticator - 3. Patikrinti vienkartinį slaptažodį - Atstatyti tapatybės nustatymą - Kiekviename telefone, palaikančiame RFC 6238 TOTP prieigos raktus, įdiekite autentifikavimo programą. Populiariausios nemokamos programos yra:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Vartotojas - Leidžiami telefono numeriai - +370XXXXXXXX; +370YYYYYYYY - Norėdami nustatyti laikiną tikslą %1$s, atsakykite su kodu %2$s - Norėdami atšaukti laikiną tikslą, atsakykite su kodu %1$s - Norėdami išjungti SMS nuotolinį valdymą, atsakykite kodu %1$s.\n\n Turėkite omenyje, kad jūs funkciją galėsite atnaujinti tiesiai tik iš AAPS pagrindinio telefono. - SMS nuotolinio valdymo funkcija sustojo. Norėdami ją atnaujinti, naudokite AAPS pagrindinį išmanųjį telefoną. - Norėdami nusiųsti kalibraciją %1$.2f, atsakykite kodu %2$s - Bolusas nesuleistas - Minimalus minučių skaičius, kuris turi praeiti nuo vieno boluso, suleisto nuotoliniu būdu iki kito - Kiek mažiausiai minučių turi praeiti tarp vieno ir kito boluso - Jūsų saugumui, norėdami redaguoti šį pasirinkimą, jums reikia pridėti ne mažiau kaip 2 telefono numerius. - %1$.2f vv bolusas sėkmingai suleistas - Bolusas %1$.2f vv sėkmingai suleistas - Tikslas %1$s %2$d min. - Tikslas %1$s %2$d min. nustatytas sėkmingai - Laikinas tikslas atšauktas sėkmingai - Leisti nuotolines komandas SMS žinutėmis - Ciklas buvo išjungtas - Ciklas buvo įjungtas - Ciklas įjungtas - Pompos prijungimui atsakykite su kodu %1$s - Nepavyko prisijungti prie pompos - Norėdami atjungti pompą %1$d min., atsakykite kodu %2$s - Pompa atjungta - Pompa prijungta - Nuotolinis valdymas negalimas - Nuotolinis bolusas negalimas. Bandykite vėliau. - Norėdami aktyvuoti %1$.2f vv/val bazę, kurios trukmė %2$d min, atsakykite kodu %3$s - Norėdami perjungti profilį %1$s %2$d%%, atsakykite kodu %3$s - Norint pradėti ištęstinį bolusą %1$.2f vv %2$d min., atsakykite kodu %3$s - Įvedimui %1$dg %2$s atsakykite kodu %3$s - Norėdami aktyvuoti %1$d%% bazę %2$d min., atsakykite kodu %3$s - Norėdami sustabdyti Ciklą %1$d min., atsakykite kodu %2$s - Ciklo atnaujinimui atsakykite su kodu %1$s - Ciklo įjungimui atsakykite su kodu %1$s - Ciklo išjungimui atsakykite su kodu %1$s - %1$.2f vv/val laikina bazė, kurios trukmė %2$d min., aktyvuota sėkmingai - %1$.2f vv ištęstas bolusas, kurio trukmė %2$d min., aktyvuotas sėkmingai - %1$d g angliavandenių įrašyti sėkmingai - Įvesti %1$dg angliavandenių nepavyko - %1$d%% laikina bazė, kurios trukmė %2$d min., aktyvuota sėkmingai - Laikina bazė neaktyvuota - Ištęstinis bolusas nepradėtas - Norėdami sustabdyti laikiną bazę, atsakykite kodu %1$s - Norėdami sustabdyti ištęstinį bolusą, atsakykite kodu %1$s - Laikina bazė atšaukta - Ištęstinis bolusas atšauktas - Laikinos bazės atšaukti nepavyko - Nepavyko atšaukti ištęstinio boluso - Nežinoma komanda arba neteisingas atsakymas - Kitas bolusas laukia eilėje. Bandykite dar kartą vėliau. - Neteisinga trukmė - Ciklas sustabdytas - Ciklas atnaujintas - Neteisingas SMS telefono numeris - Kalibracija išsiųsta. xDrip+ programoje turi būti įgalintas gavimas. - xDrip+ negauna kalibracijų - Neteisingas pranešimas - Siųsti SMS, jei aptinkamas įrašas apie nepasiekiamą pompą - Pranešti apie nepasiekiamą pompą - Pokytis: - AIO: - Bolusas: - Valandinė bazė: + Norėdami nustatyti laikiną tikslą %1$s, atsakykite su kodu %2$s + Norėdami atšaukti laikiną tikslą, atsakykite su kodu %1$s + Norėdami išjungti SMS nuotolinį valdymą, atsakykite kodu %1$s.\n\n Turėkite omenyje, kad jūs funkciją galėsite atnaujinti tik tiesiai iš AAPS pagrindinio telefono. + SMS nuotolinio valdymo funkcija sustojo. Norėdami ją atnaujinti, naudokite AAPS pagrindinį išmanųjį telefoną. + Norėdami nusiųsti kalibraciją %1$.2f, atsakykite kodu %2$s + Bolusas nesuleistas + Minimalus minučių skaičius, kuris turi praeiti nuo vieno boluso, suleisto nuotoliniu būdu iki kito + Kiek mažiausiai minučių turi praeiti tarp vieno ir kito boluso + Jūsų saugumui, norėdami redaguoti šį pasirinkimą, jums reikia pridėti ne mažiau kaip 2 telefono numerius. + %1$.2f vv bolusas sėkmingai suleistas + Bolusas %1$.2f vv sėkmingai suleistas + Tikslas %1$s %2$d min. + Leisti nuotolines komandas SMS žinutėmis + Ciklas buvo išjungtas + Ciklas buvo įjungtas + Ciklas įjungtas + Pompos prijungimui atsakykite su kodu %1$s + Nepavyko prisijungti prie pompos + Norėdami atjungti pompą %1$d min., atsakykite kodu %2$s + Pompa atjungta + Nuotolinis valdymas negalimas + Nuotolinis bolusas negalimas. Bandykite vėliau. + Norėdami aktyvuoti %1$.2f vv/val bazę, kurios trukmė %2$d min, atsakykite kodu %3$s + Norėdami perjungti profilį %1$s %2$d%%, atsakykite kodu %3$s - IVT Lyumjev - Nustatymai Humalog ir NovoRapid / NovoLog insulinams - Nustatymai Fiasp insulinui - Nustatymai Lyumjev insulinui - Leidžia pasirinkti insulino veikimo piką ir turėtų būti naudojama tik patyrusių vartotojų INS - AIO kreivės pikas - Piko laikas [min] - Oref be piko - Greito veikimo Oref - IVT %1$f per trumpa - bus naudojama %2$f! - - Rodyti Ciklo informaciją laikrodyje, xDrip+ pradžios ekrane. + - Rodyti maisto ruošinius iš Nightscout - Filtruoti - Maistas - kJ - Energ. vertė - Balt. - Rieb - Kategorija - Subkategorija - VP - Nustatykite vietinį profilį. - pridėti naują į sąrašą - Vienetai: - Profilio pavadinimas nėra įrašytas - Insulino ir AV santykio (I:A) reikšmės klaida - Bazės reikšmių klaida - Tikslinės glikemijos reikšmės klaida - JIF reikšmės klaida - Neteisingas profilis %1$s nepriimtas iš NS - Rodymas - Klaidos - Profilio pavadinimas: - pridėti naują profilį - klonuoti esamą profilį - ištrinti esamą profilį - IVT - IA - JIF - TIKSLAS - VB - Naudojami perskaičiuoti duomenys - KG per arti:\n%1$s\n%2$s - Laiko persukimas įvyks po 24 val ar mažiau - Laiko persukimas įvyks po mažiau nei 3 val - Uždaras ciklas deaktyvuotas - sena versija - labai sena versija - Aplikacijos laikas baigėsi - Nauja versija pasiekiama mažiausiai %1$d d.! Po %2$d grįšite prie stabdymo prie žemo, po %3$d ciklas bus išjungtas - Dar nebaigta - Praėjo laiko + Užbaigta, puiku! + Maksimalus AIO nustatytas tinkamai + KG šaltinis pasirinktas teisingai + Ciklas aktyvuotas + DKS pasirinkta + Uždaras ciklas aktyvus + TIKSL + Mokymosi programa + Ar norite iš naujo nustatyti tikslų pradžią? Jūs galite prarasti jau pasiektus. + Išvalyti užbaigtus + Išvalyti pradėtus + + Mygtukai greitesniam pagrindinių funkcijų paleidimui + VEIKS + Įrankiai + Kaniulė + Ištęsto boluso funkcija sustabdys uždaro ciklo režimą ištęsto boluso veikimo metu. Ar tikrai norite patvirtinti savo pasirinkimą? + Ištęstinio boluso suleidimo klaida + kateterio amžius + + Ištęstinis bolusas ribojamas iki %1$.1f vv dėl %2$s + Ribojami angliavandeniai iki %1$d g dėl %2$s + Ribojamas AIO iki %1$.1f V dėl %2$s + Pompa negali nustatyti laikinos bazės + Uždaro ciklo būsena išjungta nustatymuose + NDM neveikia, nes priklauso nuo Oref1 jautrumo įskiepio + Naudojama neužbaigta versija. Uždaras ciklas neaktyvus. + Uždara ciklas išjungtas dėl ištęsto boluso veikimo + Funkcijos \"SMB visada\" ir \"SMB po angliavandenių\" išjungtos, nes kraujo gliukozės duomenų šaltinis neturi reikalingo filtravimo + SMB neleidžiami atviro ciklo režime + Maksimali reikšmė nustatymuose + Nekeičiama riba + Terapijos saugumas + Pasirinkite paciento tipą saugumo riboms nustatyti + Vaikas + Paauglys + Suaugęs + Insulinui rezistentiškas suaugęs + Nėštumas + Maksimalus leistinas bolusas [U] + Maks. leistini angliavandeniai [g] + Paciento tipas + Snausti + Pradžios ekrane rodyti spalvotus indikatorius + Kaniulės ribinio laiko įspėjimas [h] + Kaniulės kritinio laiko įspėjimas [h] + Insulino ribinio laiko įspėjimas [h] + Insulino kritinio laiko įspėjimas [h] + Jutiklio ribinio laiko įspėjimas [h] + Jutiklio kritinio laiko įspėjimas [h] + Įspėjimo apie žemą sensoriaus baterijos lygį riba [%] + Įspėjimo apie kritiškai žemą sensoriaus baterijos lygį riba [%] + Pompos baterijos ribinio laiko įspėjimas [h] + Pompos baterijos kritinio laiko įspėjimas [h] + Įspėjimo apie žemą rezervuaro lygį riba [U] + Įspėjimo apie kritiškai žemą rezervuaro lygį riba [U] + Pompos baterijos ribinio įkrovimo lygio įspėjimas [%] + Pompos baterijos kritinio įkrovimo lygio įspėjimas [%] + Būklės indikatoriai + Kopijuoti nustatymus iš NS + Grafiko meniu + DKS režimas + Patvirtinti naują laikiną bazę: + NGJ + Greitasis patarėjas + + NS Klientas V3 + NS V3 + Paleisti iš naujo + Nightscout URL + Įveskite savo Nightscout URL + NS prieigos raktas + Prieigos raktas + Prieigos raktas sukurtas NS administratoriaus puslapyje (min. 17 simbolių) + Suleisti dabar + Išvalyti eilę + Rodyti eilę + Eilė: + Statusas: + Pilna sinchronizacija + Vykdyti pilną sinchronizaciją? Tai gali užtrukti nemažai valandų ir kol ji nebus užbaigta, nematysite atnaujintų NS duomenų. + Sinchronizacija + Profiliai, bolusai, angliavandeniai, laikinos bazės įkeltos į NS + Įkelti duomenis į NS + Priimti profilių saugyklą + Sinchronizuoti profilius iš NS + Gauti laikinus tikslus + Priimti laikinus tikslus, įvestus per NS arba NSClient + Gauti profilio keitimus + Priimti profilio keitimus, įvestus per NS arba NSClient + Gauti APS įvykius neprisijungus + Priimti APS įvykius neprisijungus, įvestus per NS arba NSClient + Gauti insulino duomenis + Priimti insulino duomenis, įvestus per NS arba NSClient (jis nėra suleidžiamas, tik įskaičiuojamas į AIO) + Gauti angliavandenių duomenis + Priimti angliavandenių duomenis, įvestus per NS arba NSClient + Gauti terapijos įvykius + Priimti terapijos įvykius (kaniulės, insulino, baterijos keitimą ir pan.), įvestus per NS arba NSClient + Gauti/užpildyti atgaline data NGJ duomenis + Priimti NGJ duomenis iš NS + Vykdyti %s? + Sulėtinti įkėlimus + Sukurti pranešimus iš NS aliarmų + Sukurkite pranešimus iš NS perspėjimų + Įgalinti perdavimą į kitas programas (pvz., xDrip+). Neįgalinkite, jei įdiegta daugiau nei vienas AAPS arba NSClient egzempliorius! + + Jūsų Tidepool vartotojo vardas, įprastai jūsų el. pašto adresas + Vartotojo vardas + Jūsų Tidepool prisijungimo slaptažodis + Prisijungimo slaptažodis + Patikrinti Tidepool prisijungimą + Jei įjungta, duomenys bus perduoti https://int-app.tidepool.org, vietoje https://app.tidepool.org/ + Naudoti integracijos (test) serverius + Tidepool + TDP + Perduoda duomenis į Tidepool + Perduoti NGJ duomenis + Įkelti terapijas (insulinas, angliavandeniai) + Perkelti laikiną bazę + Perduoti profilio pokyčius, laikinas bazes + Perduoti KG testus + Pašalinti visus + Pradėti iš naujo + Įkelti dabar + + Integracija pompoms, kurios dar neturi reikalingo valdiklio (Atviras Ciklas) + Virtualios pompos nustatymai + Perduoti būsenos duomenis į NS + + Gauti kraujo gliukozės vertes iš Nightscout + xDrip+ + Gauti kraujo gliukozės reikšmes iš xDrip+. + BYODA + BYODA + Gauti kraujo gliukozės reikšmes iš \'Build Your Own Dexcom App\'. + Eversense programėlė (modifikuota) + Gauti kraujo gliukozės vertes iš modifikuotos Eversense programėlės. + Gauti kraujo gliukozės vertes iš Glimp. + Gauti kraujo gliukozės vertes iš 600SeriesAndroidUploader. + Poctech + Gauti KG vertes iš Poctech programėlės + Glunovo + Gauti KG reikšmes iš Glunovo programos + Intelligo + Gauti KG reikšmes iš Intelligo programos + Tomato (MiaoMiao) + Tomato + Gauti KG vertes iš Tomato programėlės (MiaoMiao) + GlucoRx Aidex + Aidex + Gauti KG reikšmes iš GlucoRx Aidex CGMS programos. + KG duomenų perdavimo nustatymai + + Naudoti Cellular sąsają + Naudoti WiFi ryšį + WiFi pavadinimas + Įkrovimo metu + Maitina akumuliatorius + Kurti klaidų pranešimus + Sukurkite pranešimus apie būtinų angliavandenių įspėjimus + Sukurti Nightscout pranešimus apie klaidas ir vietinius įspėjimus (taip pat matomi Priežiūroje prie Terapijos) + Sukurkite NS pranešimus apie būtinų angliavandenių įspėjimus + Sinchronizuoja duomenis su Nightscout + Sinchronizuoja duomenis su Nightscout naudojant V3 API + Užblokuota dėl įkrovimo parinkčių + Užblokuota dėl ryšio parinkčių + OAPS + Siunt + + Originali išvaizda + Žemos rezoliucijos išvaizda + Mygtukai visada rodomi ekrano apačioje + Didelis ekranas + Išvaizda diff --git a/plugins/main/src/main/res/values-nl-rNL/exam.xml b/plugins/main/src/main/res/values-nl-rNL/exam.xml new file mode 100644 index 0000000000..a9a5a51e67 --- /dev/null +++ b/plugins/main/src/main/res/values-nl-rNL/exam.xml @@ -0,0 +1,227 @@ + + + Wat is waar over DIA? + Duur van insuline activiteit (DIA) + Je moet de waarde voor DIA in je profiel instellen. + De minimumwaarde is 5 uur. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline + Als je er zeker van bent dat de waarde voor DIA die je in je pomp hebt gebruikt voor je AndroidAPS gebruikte, goed werkte, dan is het niet nodig om deze te wijzigen als je begint met loopen. + Je moet voor jezelf de juiste waarde voor DIA bepalen. + Hypo Tijdelijk streefdoel + Wat is de belangrijkste reden om een tijdelijk hypo streefdoel in te stellen? + Om te corrigeren voor hypo\'s veroorzaakt door onjuiste basaalstanden. + Om te voorkomen dat AndroidAPS overcorrigeert voor een bloedglucosestijging veroorzaakt door de snel werkende koolhydraten die gebruikt worden voor een hypo. + Om te corrigeren voor een hypo veroorzaakt door inspanning. + Om te voorkomen dat de bloedglucose te laag wordt als er al een tijdelijke basaalstand van 0% actief is. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html + Welk profiel kan offline worden gebruikt én worden aangepast? + Thema: offline profiel + NS-Profiel kan worden gebruikt, maar niet worden aangepast. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#profiel + Redenen voor het toepassen van \"Verbreek verbinding met pomp\" in AndroidAPS + Wat moet er gebeuren wanneer pomp wordt losgekoppeld? + Dit is onnodig omdat er geen isuline toegediend zal worden als de pomp fysiek losgekoppeld is. + Het zorgt ervoor dat AndroidAPS geen insuline meerekent die niet werd toegediend terwijl de pomp niet was aangesloten  + Het zal de insulineafgifte niet stoppen als de pomp verbonden blijft. + Dit zet AndroidAPS in open-loopmodus. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#overige-instellingen + AAPS-instellingen + AAPS-instellingen + Welke dingen kun je het beste doen om een back-up van je instellingen te maken? + Je hoeft je instellingen niet te exporteren, zolang je ze ergens noteert. + Exporteer je instellingen nadat je een doel hebt bereikt. + Exporteer je instellingen na het wijzigen van instellingen. + Exporteer je instellingen nadat je de initiële instellingen hebt voltooid en je voorkeuren hebt ingesteld. + Exporteer je instellingen lokaal via het Onderhoud-menu. + Je instellingenbestand is op je telefoon te vinden in de map Internal Storage/AAPS/preferences. + Kopieer je instellingenbestand naar een veilige locatie buiten je telefoon (bijvoorbeeld met behulp van een cloudopslagdienst, door je telefoon met een kabel met de computer te verbinden, per e-mail, etc.) + Als je telefoon beschadigd of verloren raakt, zijn er eenvoudige manieren om zonder back-up op afstand je instellingen te herstellen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#welke-spullen-moet-ik bij-me-hebben-voor-noodgevallen + Ruis in CGM-metingen + Wat moet er gebeuren als CGM-gegevens ruis vertonen? + Niets, AAPS lost het op. + Schakel de closed loop uit om te voorkomen dat de closed loop over- of onderdoseert. + Vervang sensoren die consequent ruis geven of inaccuraat zijn. + Zorg dat je CGM-app de BG-gegevens vloeiend maakt. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#filteren-van-bloed-glucose-waardes + Beweging en profielen + Hoe kun je profielen gebruiken om het systeem het beste te helpen omgaan met conditietraining? + Doe een profielwissel naar minder dan 100%. + Pas het profiel percentage aan naar een waarde boven de 100%. + Laat het profiel op 100% staan. + Onderbreek de loop. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html#activiteit-tijdelijk-streefdoel + Inspanning en tijdelijke doelen + Hoe kun je tijdelijke doelen gebruiken om het systeem het beste te helpen omgaan met conditietraining? + Stel een Activiteit tijdelijk streefdoel in dat start vóór de inspanning. + Stel een Activiteit tijdelijk streefdoel in dat start na de inspanning. + Je streefdoel ongewijzigd laten. + Wachten totdat de bloedclose tot onder het Hypo tijdelijk streefdoel daalt en dan 15 g snelwerkende koolhydraten eten. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/temptarget.html#activiteit-tijdelijk-streefdoel + Uitgeschakelde/onderbroken loop + Ontvang ik insuline wanneer de Loop is uitgeschakeld/onderbroken? + Ja, de basale insuline wordt nog steeds geleverd. + Nee, de levering van insuline is gestopt. + Testen van Basaal, ISF en I:C + Wanneer moeten deze waarden gevalideerd worden? + Voordat je begint met loopen. + Wanneer je vaak hoge of lage bloedglucoses hebt. + Minstens één keer per week. + Eenmaal ingesteld en gevalideerd, hoeven deze waarden niet veranderd te worden in de loop der tijd. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#androidaps-instellingen + Vereisten + Wat is minimaal nodig om AAPS in te stellen en te gebruiken? + Goed geteste profielgegevens (Basaal, KH-ratio, ISF, DIA). + Een computer waarop Android Studio is geïnstalleerd en geconfigureerd. + Een geschikte telefoon. + Een ondersteunde insulinepomp als je van plan bent een closed loop te gebruiken. + Nightscout, om een logboek van alle gegevens bij te houden en instellingen te bekijken. + Een Tidepool account. + Een Google account. + Een Github account. + Ervaar met programmeren of code aanpassen. + Een MiniMed 670G pomp. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html + Een Smartwatch. + Een geschikte CGM. + Vereisten + Wat is minimaal nodig om AAPS in te stellen en te gebruiken? + Gevalideerde informatie om een profiel op te zetten (ISF, I:C ratio, basaalstanden, DIA etc.). + Een ondersteund Android apparaat (bijvoorbeeld een mobiele telefoon, volledig Android-horloge of een tablet). + AndroidAPS heeft een internetverbinding nodig om in closed-loopmodus te kunnen werken. + Een ondersteunde CGM en geschikte app om bloedglucosewaarden te ontvangen op je telefoon/apparaat. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html + AAPS bijwerken + Selecteer alle juiste antwoorden. + Je moet Git geïnstalleerd en geconfigureerd hebben op je computer. + Wanneer nieuwe versies van AndroidAPS zijn uitgebracht, kunnen eerdere versies na een bepaalde tijd van afstand beperkt worden. + Je moet de locatie van de keystore onthouden en dezelfde signing key gebruiken voor updates als bij je vorige installatie. + Doe nooit een update als het systeem goed werkt. + Als je moeite hebt met het bouwen van de apk, kun je een apk installeren die is gebouwd door een vriend. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#bijwerken-naar-een-nieuwe-versie + Probleemoplossing + Waar kan je hulp zoeken voor AndroidAPS? + Je kunt om advies vragen in de AndroidAPS Users Facebookgroep. + Je moet de AndroidAPS documentatie lezen (en opnieuw lezen). + Je kunt om advies vragen en technische problemen inbrengen op het AndroidAP- kanaal op Discord. + Je moet hulp vragen aan je behandelteam. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Installing-AndroidAPS/Update-to-new-version.html#problemen-oplossen + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Welke insuline gebruik je met de Ultra-Rapid Oref plugin? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"regular\" menselijke insuline. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Config-Builder.html#insuline + Gevoeligheidsplugins + Selecteer alle juiste antwoorden. + Gevoeligheidsplugins stellen AndroidAPS in staat om aan te passen aan tijdelijke of kortstondige veranderingen in insulinegevoeligheid (bijvoorbeeld hormonale veranderingen of problemen met insuline-opname bij de infuusplaats). + Gevoeligheidsplugins bieden de gebruiker suggesties voor wijzigingen aan basaaalstanden, I:C ratio\'s en ISF die kunnen worden gebruikt om het profiel mee aan te passen. + Het vastleggen van een canulewissel zet de Autosens-ratio terug naar 100%. + Sommige van de plugins hebben configureerbare tijdbereiken die kunnen worden ingesteld door de gebruiker. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/nl/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Koolhydraatinvoerfouten + Wat moet u doen als u een onjuiste hoeveelheid koolhydraten hebt ingevoerd? + Verwijder het onjuiste record in Behandelingen en voer de juiste koolhydraten opnieuw in. + Bolus met insuline met behulp van het infusieset uitvulmenu. + Doe niets – AndroidAPS zal de juiste aanpassingen maken. + Bolus met insuline met behulp van de insuline (bolus) knop in het Overzicht. + Insulinetoediening/-invoerfouten + Wat moet je doen wanneer je minder insuline toegediend hebt gekregen dan de geschiedenis van de pomp suggereert, bijvoorbeeld vanwege een verstopping, een lekkende canule of door het vergeten de pomp opnieuw aan te koppelen na een douche?  + Verwijder de insulinegegevens uit het Nightscout Careportal om deze uit de pompgeschiedenis te verwijderen. + Vergelijk de waarden in AndroidAPS en pompgeschiedenis (als de pomp dit ondersteunt). + Bolus een deel van je berekende \'gemiste\' insuline door een injectiespuit/pen of door de uitvulfunctie te gebruiken. + Doe niets en laat AndroidAPS de ontstane hoge bloedglucosespiegel corrigeren. + Koolhydraten aan boord (COB) + Welke invloed heeft het wijzigen van de ISF waarde op COB berekeningen? + Verhoging van ISF zal de absorptie van koolhydraten vertragen + Verhoging van ISF zal de absorptie van koolhydraten versnellen + Verhoging van ISF heeft geen invloed op berekende koolhydraten absorptie + Welke invloed heeft het wijzigen van de IC waarde op COB berekeningen? + Verhoging van IC zal de absorptie van koolhydraten vertragen + Verhoging van IC zal de absorptie van koolhydraten versnellen + Verhoging van IC heeft geen invloed op berekende koolhydraten absorptie + Welke invloed heeft het wijzigen van het profiel percentage op COB berekeningen? + Instellen van een profiel op 150% zal de absorptie van koolhydraten vertragen + Instellen van een profiel op 150% zal de absorptie van koolhydraten versnellen + Instellen van profiel op 150% heeft geen invloed op berekende koolhydraten absorptie + Insuline aan boord (IOB) + De IOB-waarde wordt beïnvloed door eerdere tijdelijke basaalstanden. + Een hoge tijdelijke basaal zal niet worden ingesteld wanneer je bloedsuiker onder het streefdoel ligt. + Negatieve IOB voor een aanzienlijke periode vrij van inspanning, suggereert dat je profiel te hoog is ingesteld, dus dat er minder insuline nodig is. + Positieve IOB voor een aanzienlijke periode suggereert insulineresistentie of onaangekondigde maaltijden. + Koolhydraatinvoer en bolussen + Alleen grammen moeten worden gebruikt voor het schatten en opgeven van koolhydraten. + Koolhydraten kunnen worden geregistreerd met behulp van een geschikt uitwisselingssysteem (bv. DAFNE \"CHO\" of Europese \"Bread Units\"). + AndroidAPS gebruikt een dynamisch model om koolhydraat \"verval\" te schatten en COB te berekenen. + Als de bloedglucosespiegels buiten aanvaardbare waarden liggen (te laag of te hoog), kan de boluscalculator worden gebruikt om suggesties te doen voor koolhydraat-of insuline-correcties. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + Waarvoor kun je e-carbs (uigestelde koolhydraten) gebruiken? + Om koolhydraten in de toekomst te plannen, mogelijk verdeeld over een interval (vergelijkbaar met een verlengde bolus die insuline over een interval verspreidt). + Voor het loggen van vrij ingenomen koolhydraten tbv. inspanning die je wilt verbergen voor AndroidAPS. + e-carbs (verdeeld in de toekomst) kunnen AndroidAPS helpen bij het omgaan met maaltijden met een hoog vet-/eiwitgehalte. + Voor het vastleggen van reddingskoolhydraten die je gebruikt voor de behandeling van een lage bloedglucose.  + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Extended-Carbs.html + Bewaking op afstand + Hoe kun je AndroidAPS (bijvoorbeeld voor je kind) op afstand monitoren? + AAPSClient app, Nightscout app en de Nightscout webpagina kunnen AAPS op afstand volgen. + Met andere apps (bijv. Dexcom follow, xDrip in follow mode) kun je enkele gegevens (bijv. bloedglucose/sensorwaarden) op afstand volgen, maar deze gebruiken andere algoritmen en kunnen daardoor onjuiste IOB-of COB-waarden tonen. + Om AndroidAPS op afstand te kunnen volgen, is voor beide apparaten internettoegang noodzakelijk (bijvoorbeeld via Wi-Fi of mobiel netwerk). + AAPSClient gebruikt als een externe volger zal AAPS monitoren en geeft volledige controle. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Children/Children.html + Insulinegevoeligheidsfactor (ISF) + Het verhogen van de ISF-waarde zal leiden tot meer insulinetoediening om een dezelfde hoeveelheid koolhydraten te dekken. + Het verlagen van de ISF-waarde leidt tot meer insulinetoediening om een verhoogde bloedglucose te corrigeren. + Verhoging of verlaging van de ISF heeft geen effect op de insulinetoediening wanneer de bloedglucosespiegel lager is dan de streefwaarde. + ISF moet worden ingevoerd in je AndroidAPS-voorkeuren. + Het wijzigen van de ISF-waarde in uw profiel is voldoende om de wijziging toe te passen. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#insuline-gevoeligheids-factor-insulin-sensitivity-factor-ISF-mmol-l-E-of-mg-dl-E + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html + Je kunt meer dan één waarde voor KH-ratio in je profiel gebruiken. + Als je je ISF verandert in je profiel, moet je ook altijd de KH-ratio veranderen. + Koolhydraatratio (KH-ratio) + Hogere KH-ratio\'s leiden tot minder insulinetoediening voor dezelfde hoeveelheid koolhydraten. + Lagere KH-ratio\'s leiden tot minder insulinetoediening voor dezelfde hoeveelheid koolhydraten. + Als je 0 COB hebt zal het veranderen van KH-ratio leiden tot een andere hoeveelheid insuline om jouw BG te corrigeren. + De KH-ratio is anders als je een brood-eenheid telt als 10g of als 12g koolhydraten. + KH-ratio betekent: hoeveel brood-eenheden gebruik je voor 1E insuline. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#Koolhydraat-ratio-KH-g-E + Profielwissels + Welke antwoorden zijn correct bij het opgeven van een 90% profielwissel? + De basaalstanden worden 10% lager. + ISF-waarde wordt 10% hoger. + De waarde van de KH-ratio wordt 10% lager. + De ISF en KH-ratio blijven ongewijzigd. + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html?highlight=profilewitch#profiel-wissel + Profielwissels + Welke antwoorden zijn correct bij het opgeven van een 120% profielwissel? + De streefwaarde wordt 20% hoger. + De basaalstanden worden 20% hoger. + Het BG streefdoel blijft ongewijzigd. + De ISF-waarde wordt 20% hoger. + Profielwissels + Als je 2 uur eerder opstaat dan normaal, hoe moet je AndroidAPS dan laten weten dat jouw dagschema is veranderd? + Voer een profiel wissel uit met een tijdverschuiving van 2 + Voer een profiel wissel uit met een tijdverschuiving van -2 + Stel een Eet binnenkort Tijdelijk streefdoel in. + Doe een profielwissel naar meer dan 100%.  + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Profiles.html?highlight=profilewitch#tijd-verschuiving + Aanpassen van profielen + Basaalstanden, ISF, KH-ratio\'s, etc, moeten in profielen worden ingesteld. + Om veranderingen in je Nightscout Profiel te activeren, heeft je AAPS telefoon een actieve internetverbinding nodig. + Een profiel bewerken is voldoende om eventuele wijzigingen door te voeren. + Er kunnen meerdere profielen worden ingesteld en geselecteerd om tegemoet te komen aan veranderende omstandigheden (bijvoorbeeld hormonale veranderingen, shift werk-, weekdagen/weekendlevensstijl). + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Module/module.html#goed-individueel-doserings-algoritme-voor-jouw-diabetesbehandeling + Hulp met basaalstanden + Waar je terecht kunt voor hulp met basaal waarden etc. + Jouw behandelaars + Google + Facebook + Andere medicijnen. Lees de verklaring hieronder en vink het vakje aan om de verklaring te accepteren. + AndroidAPS vermindert de basaalstanden of stopt de insulinetoediening om de bloedsuiker te verhogen. Medicijnen in de klasse SGLT2-remmers (gliflozines) kunnen een stijging van bloedglucose voorkomen en kunnen daardoor een gevaarlijk insulinetekort veroorzaken dat leidt tot diabetische ketoacidose. +\nBekende merknamen zijn: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nIk verklaar dat ik dergelijke medicijnen niet zal gebruiken wanneer ik AndroidAPS gebruik, of dat ik de loop zal deactiveren voordat ik met deze medicijnen start. + diff --git a/plugins/main/src/main/res/values-nl-rNL/objectives.xml b/plugins/main/src/main/res/values-nl-rNL/objectives.xml new file mode 100644 index 0000000000..a54f6c68c6 --- /dev/null +++ b/plugins/main/src/main/res/values-nl-rNL/objectives.xml @@ -0,0 +1,55 @@ + + + Start + Verifieer + %1$d. Doel + Doel %1$d niet gestart + Doel %1$d niet gereed + Opzetten van visualisatie en monitoring en analyseren van basalen en ratio\'s + Verifieer dat BG beschikbaar is in Nightscout, en dat de insuline gegevens van de pomp worden geüpload + Starten met de Open Loop modus + Draai enkele dagen In Open Loop modus en voer meermaals handmatig tijdelijke basalen uit. Stel standaard en aangepaste tijdelijke streefdoelen in (bv. bij sporten of koolhydraten inname bij hypo) + De Open Loop begrijpen, inclusief de voorgestelde tijdelijke basalen + Gebaseerd op deze ervaringen, beslis wat het maximale basaal mag zijn en stel dit in op de pomp + Starten met de Closed Loop met bescherming tegen lage Bg + In closed loop draaien met een max. IOB = 0 gedurende enkele dagen met een beperkt aantal lage BG + Inregelen van de closed loop, verhoog de max IOB boven 0 en laat geleidelijk het streef BG dalen + Test enkele dagen als ook minstens 1 nacht zonder een laag BG alarm voordat je jouw streef BG verlaagt + Pas het basaal en de ratios aan indien nodig, activeer hierna de auto-sens optie + Gedurende 1 week succesvol overdag loopen met regelmatige invoer van koolhydraten + Activeren van extra functies overdag zoals SMB (super micro bolus) + Automatisering inschakelen + Lees de wiki en verhoog maxIOB om SMB goed werkend te krijgen. Een goed begin is maxIOB=gemiddelde maaltijdbolus + 3 x max dagelijkse basaal + Zorg ervoor dat je goed begrijpt hoe automatisering werkt voordat je jouw eerste eenvoudige regel aanmaakt. In plaats van de regel een actie te laten uitvoeren, laat hem alleen een notificatie tonen. Pas als je zeker weet dat de automatisering op het juiste moment wordt geactiveerd, vervang je de melding door een echte actie. (https://androidaps.readthedocs.io/en/latest/NL/Usage/Automation.html) + BG beschikbaar in NS + Pomp status beschikbaar in NS + Handmatige aanpassingen + Voltooid: %1$s + Leer hoe AndroidAPS te gebruiken + Voer verschillende acties uit in AndroidAPS + Stel profiel in op 90% voor 10 min (houd profielnaam lang ingedrukt op Overzicht scherm) + Simuleer douchen. Ontkoppel de pomp voor 1u (houd Open Loop lang ingedrukt) + ... en op dezelfde manier weer aankoppelen + Stel een aangepast tijdelijk doel in met een duur van 10 min (houd huidige doel lang ingedrukt) + Schakel in Configurator de Acties plugin in zodat deze zichtbaar wordt en de inhoud ervan via de menubar bovenaan kan worden ingezien + Inhoud van loop plugin weergeven + Gebruik de schaalfunctie: houd de BG grafiek lang ingedrukt + Enter + Als je ten minste 3 maanden closed loop ervaring hebt met een ander doe-het-zelf systeem dan kun je wellicht een code aanvragen om doelen over te slaan. Zie https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Usage/Objectives.html#doelen-overslaan voor details. + Code geaccepteerd + Code ongeldig + Bewijs je kennis + Beantwoord de vragen.  Bij elke vraag worden vier antwoordmogelijkheden gegeven. Het kan zijn dat er meer dan één antwoord moet worden aangevinkt. Vink alle antwoorden aan die jij denkt dat juist zijn en kies VERIFIEER. + Beantwoorden uitgeschakeld tot: %1$s + Verkeerd antwoord! + Volgende onvoltooide + Aanvraagcode: %1$s + (controleer alle juiste antwoorden) + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/FAQ.html#wat-te-doen-tijdens-het-douchen + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#overzicht-scherm + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#configurator + https://androidaps.readthedocs.io/en/latest/CROWDIN/nl/Getting-Started/Screenshots.html#overzicht-scherm + Niet verbonden met het internet + Ophalen tijd mislukt + Vereisten van doel niet behaald + diff --git a/plugins/main/src/main/res/values-nl-rNL/strings.xml b/plugins/main/src/main/res/values-nl-rNL/strings.xml index 979e1779f9..adfd3219e5 100644 --- a/plugins/main/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/main/src/main/res/values-nl-rNL/strings.xml @@ -1,202 +1,306 @@ - SMS Commando\'s SMS - Bedien AAPS op afstand met SMS commando\'s. - van de Authenticator-app voor: %1$s gevolgd door PIN - Extra verplichte PIN aan einde van token - Extra cijfers die je moet onthouden, en aan het eind van elk gegenereerd eenmalig wachtwoord moet toevoegen. - Authentificatie instellingen - Te controleren code: OTP + PIN - De verificatiecode bestaat uit 6 cijfers die worden afgebeeld door de Authenticator-app (bekend als OTP), gevolgd door 3 of meer cijfers van de verplichte PIN-code. - Reset Authentificatie - Reset Authentificatie-sleutel - Weet je zeker dat je de Autentificatie-sleutel wilt resetten? Met deze actie maak je alle Authentificatie instellingen van verbonden telefoons ongeldig, en je zult ze opnieuw moeten instellen. - Er is een nieuwe Authentificatie-sleutel gegenereerd! Gebruik de nieuwe QR-Code voor het instellen van geautoriseerde telefoons. - OTP-secret wordt geëxporteerd - Weet je zeker dat je het OTP-secret naar het klembord wilt kopiëren?\n\nJe hebt dit alleen nodig als je Authenticator-app problemen heeft met het scannen van QR-codes, als je het handmatig wilt invullen of als je een hardware OTP-token met een speciale app wilt configureren. - OTP-secret (in Base32-formaat) is geëxporteerd en gekopieerd naar het klembord. Plak het in de Authenticator-app of de app van de hardware OTP-token! - 1. Installeer Authenticator app - 2. Scan code om AndroidAPS OTP codes in te stellen - 3. Test eenmalig wachtwoord (One Time Password) - Reset Authentificatie - Installeer de Authenticator-app op elke volger telefoon die RFC 6238 TOTP tokens ondersteunt. Populaire gratis apps zijn:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Door de authenticator opnieuw in te stellen maakt u alle reeds aangemaakte authenticatoren ongeldig. U moet ze opnieuw instellen! - Verkeerde code. Opdracht geannuleerd. - Time-out tijdens het wachten op het voltooien van de vorige pomp communicatie - Gebruiker - Geautoriseerde telefoon nummers +XXXXXXXXXX;+YYYYYYYYYY - Om een bolus van %1$.2fE te geven antwoord met de code %2$s - Om een maaltijd bolus van %1$.2fE te geven antwoord met de code %2$s - Om tijdelijk streefdoel %1$s in te stellen antwoord met code %2$s - Om tijdelijk streefdoel te annuleren antwoord met code %1$s - Om de SMS Remote Service uit te zetten, antwoord met code %1$s. \n\nDenk er aan dat je deze alleen weer aan kunt zetten op de AAPS master smartphone. - De controle via SMS is uitgezet. Gebruik AAPS op de master smartphone om deze weer te aan te zetten. - Om calibratie %1$.2f te verzenden antwoord met de code %2$s - Bolus mislukt - Minimum aantal minuten dat moet verstrijken tussen de ene bolus op afstand en de volgende - Hoeveel minuten er ten minste moeten verstrijken tussen de ene bolus en de volgende - Voor de veiligheid moet je ten minste 2 telefoonnummers toevoegen om deze instelling te kunnen bijwerken. - Bolus van %1$.2f E succesvol toegediend - Maaltijdbolus van %1$.2f E succesvol toegediend - Streefdoel %1$s gedurende %2$d minuten - Streefdoel %1$s gedurende %2$d minuten succesvol ingesteld - Tijdelijk streefdoel is geannuleerd - Sta SMS commando\'s toe - Loop was uitgeschakeld - Loop was ingeschakeld - Loop is ingeschakeld - Om verbinding te maken met pomp antwoord met code %1$s - Verbinding maken met pomp is mislukt - Om de pomp te ontkoppelen gedurende %1$d minuten antwoord met code %2$s - Pomp verbinding verbroken - Pomp opnieuw verbonden - Commando\'s op afstand zijn niet toegestaan - Bolus op afstand niet beschikbaar. Probeer het later opnieuw. - Om een basaal van %1$.2f E/uur gedurende %2$d min te starten, antwoord met code %3$s - Om naar profiel %1$s %2$d%% te wisselen antwoord met code %3$s - Om een vertraagde bolus van %1$.2f E gedurende %2$d min te starten, antwoord met code %3$s - Om %1$dg in te voeren om %2$s antwoord met code %3$s - Om een basaal van %1$d%% gedurende %2$d min te starten antwoord met code %3$s - Om de loop te onderbreken gedurende %1$d minuten antwoord met de code %2$s - Om loop te hervatten antwoord met code %1$s - Om loop in te schakelen antwoord met code %1$s - Om loop uit te schakelen antwoord met code %1$s - Tijdelijk basaal %1$.2fE/uur voor %2$d minuten succesvol gestart - Vertraagde bolus %1$.2fE voor %2$d minuten succesvol gestart - Koolhydraten %1$d g succesvol ingevoerd - Invoeren van %1$dg koolhydraten is mislukt - Tijdelijk basaal van %1$d%% voor %2$d minuten succesvol gestart - Start tijdelijk basaal mislukt - Starten vertraagde bolus is mislukt - Om het tijdelijke basaal te stoppen antwoord met de code %1$s - Om de vertraagde bolus te stoppen antwoord met de code %1$s - Tijdelijk basaal afgebroken - Vertraagde bolus is geannuleerd - Afbreken van tijdelijk basaal mislukt - Annuleren van vertraagde bolus is mislukt - Onbekende opdracht of verkeerd antwoord - Er staat een andere bolus in de wachtrij. Probeer het later opnieuw. - Verkeerde tijdsduur - Loop onderbroken - Loop hervat - Foutief SMS telefoon nummer - Kalibratie verzonden. xDrip+ moet zo zijn ingesteld dat hij het ontvangen van kalibraties toestaat. - xDrip+ ontvangt geen kalibraties - Ongeldige inhoud van het bericht - Stuur SMS wanneer de pomp onbereikbaar is - Melding pomp onbereikbaar - Verkeerde invoer + Om tijdelijk streefdoel %1$s in te stellen antwoord met code %2$s + Om tijdelijk streefdoel te annuleren antwoord met code %1$s + Om de SMS Remote Service uit te zetten, antwoord met code %1$s.\n\nDenk er aan dat je deze alleen weer aan kunt zetten op de AAPS master smartphone. + De controle via SMS is uitgezet. Gebruik AAPS op de master smartphone om deze weer te aan te zetten. + Om calibratie %1$.2f te verzenden antwoord met de code %2$s + Bolus mislukt + Minimum aantal minuten dat moet verstrijken tussen een bolus op afstand en de volgende + Hoeveel minuten er ten minste moeten verstrijken tussen een bolus en de volgende + Voor de veiligheid moet je ten minste 2 telefoonnummers toevoegen om deze instelling te kunnen bijwerken. + Bolus van %1$.2f E succesvol toegediend + Maaltijdbolus van %1$.2f E succesvol toegediend + Streefdoel %1$s gedurende %2$d minuten + Externe commando\'s toestaan via SMS + Loop is uitgeschakeld + Loop is ingeschakeld + Loop is ingeschakeld + Om verbinding te maken met pomp antwoord met code %1$s + Verbinding maken met pomp is mislukt + Om de pomp te ontkoppelen gedurende %1$d minuten antwoord met code %2$s + Pomp verbinding verbroken + Commando\'s op afstand zijn niet toegestaan + Bolus op afstand niet beschikbaar. Probeer het later opnieuw. + Om een basaal van %1$.2f E/uur gedurende %2$d min te starten, antwoord met code %3$s + Om naar profiel %1$s %2$d%% te wisselen antwoord met code %3$s + Om een vertraagde bolus van %1$.2f E gedurende %2$d min te starten, antwoord met code %3$s + Om %1$dg in te voeren om %2$s antwoord met code %3$s + Om een basaal van %1$d%% gedurende %2$d min te starten antwoord met code %3$s + Om de loop te onderbreken gedurende %1$d minuten antwoord met de code %2$s + Om loop te hervatten antwoord met code %1$s + Om loop in te schakelen antwoord met code %1$s + Om loop uit te schakelen antwoord met code %1$s + Tijdelijk basaal %1$.2fE/uur voor %2$d minuten succesvol gestart + Vertraagde bolus %1$.2fE voor %2$d minuten succesvol gestart + Koolhydraten %1$d g succesvol ingevoerd + Invoeren van %1$dg koolhydraten is mislukt + Tijdelijk basaal van %1$d%% voor %2$d minuten succesvol gestart + Start tijdelijk basaal mislukt + Starten vertraagde bolus is mislukt + Om het tijdelijke basaal te stoppen antwoord met de code %1$s + Om de vertraagde bolus te stoppen antwoord met de code %1$s + Tijdelijk basaal geannuleerd + Vertraagde bolus is geannuleerd + Afbreken van tijdelijk basaal mislukt + Annuleren van vertraagde bolus is mislukt + Onbekende opdracht of verkeerd antwoord + Verkeerde tijdsduur + Loop pauzeren + Loop hervat + Foutief SMS telefoon nummer + Kalibratie verzonden. xDrip+ moet zo zijn ingesteld dat hij het ontvangen van kalibraties toestaat. + xDrip+ ontvangt geen kalibraties + Ongeldige inhoud van het bericht + Stuur SMS wanneer de pomp onbereikbaar is + Melding pomp onbereikbaar BG: - Laatste BG: - Verschil: IOB: Bolus: - Basaal: - %1$dmin geleden - Gepauzeerd (%1$d m) - Lezen van status mislukt - Profiel wissel aangemaakt - Tijdelijk basaal duur moet een veelvoud van %1$d minuten en groter dan 0 zijn. - QR Code voor het instellen van een eenmalig wachtwoord - DIA Lyumjev - Insuline instelling voor Humalog en NovoRapid / NovoLog - Insuline instelling voor Fiasp - Insuline instelling voor Lyumjev - Hiermee kan je de piek van de insulineactiviteit definiëren, mag alleen worden gebruikt door gevorderde gebruikers INS - IOB curve piek tijd - Piek tijd [min] - Piek Free-Peak Oref - Snel-werkende Oref Ultra-Rapid Oref - DIA van %1$f te kort - %2$f wordt inplaats gebruikt! Novorapid, Novolog, Humalog Fiasp - - xDrip+ Statuslijn (horloge) + xds - Toon informatie over de Loop op jouw xDrip+ wijzerplaat. - Toon gedetailleerde IOB - Splits IOB in bolus en basaal op de watchface - Loop is uitgeschakeld - Toon BGI - Voeg BGI toe aan status lijn - xDrip+ Status (horloge) - Voeding - Toon de instellingen voor Voeding in Nightscout Filter - Voeding - kJ - En - Prot - Vet - Categorie - Subcategorie - Bolus wizard + kJ + En + Prot + Vet - Kies donker, licht of volg het systeemthema - Kleurenschema - Donker thema - Licht thema - Gebruik systeem thema - Profiel LP - Gebruik profiel(en) die je in AAPS aanmaakt en offline kunt gebruiken. - nieuwe toevoegen aan lijst - Wilt u van profiel wisselen en gemaakte wijzigingen aan het huidige profiel negeren? - Huidige wijzigingen eerst opslaan of resetten - Huidige profiel verwijderen? - Eenheden: - Profielnaam ontbreekt - Fout in IC waarden - Fout in basaal waarden - Fout in streefdoel - Fout in ISF waarden - Profielnaam bevat punten.\nDit wordt niet ondersteund door NS.\nProfiel is niet geüpload naar NS. - Ongeldig profiel %1$s niet geaccepteerd door NS - Weergeven - Foutmeldingen - Kies profiel om te bewerken - Profielnaam: - nieuw profiel toevoegen - huidig profiel dupliceren - huidig profiel verwijderen DIA - KH-ratio - ISF - DOEL BAS - Herberekende data gebruikt - BG data interval to kort:\n%1$s\n%2$s - opnieuw berekend - dubbele items - Omschakeling van zomer- of wintertijd in 24 uur of minder - Omschakeling zomer/wintertijd minder dan 3 uur geleden - Gesloten Lus modus gedeactiveerd - Maak minstens %1$d MB vrij in interne opslag! Loop is uitgeschakeld! - oude versie - zeer oude versie - Applicatie is verlopen - Nieuwe versie al zeker %1$d dagen beschikbaar! Terugval LGS na %2$d dagen, loop zal worden uitgeschakeld na %3$d dagen - Voltooid, goed gedaan! - Nog niet voltooid - Verstreken tijd + Maximum IOB juist ingesteld + BG beschikbaar op gekozen bron + Synchronisatieservice heeft schrijfrechten + Loop Actief + APS geslecteerd + Closed modus actief + DOEL + Leerprogramma + Wil je dit leerdoel opnieuw starten? Je kunt je voortgang verliezen. + Voltooiing wissen + Start wissen + + Een aantal knoppen voor snelle toegang tot algemene functies + ACT + Hulpmiddelen + Canule + Gebruik van Vertraagde bolus functie zal de closed loop modus stoppen voor de duur van de vertraagde bolus. Wil je dit toch? + Vertraagde bolus toedieningsfout + canule leeftijd + patchpomp leeftijd + Patchpomp + + Beperken van extended bolus op %1$.1f E vanwege %2$s + Koolhydraten worden beperkt tot %1$d gr doordat %2$s + IOB gelimiteerd tot %1$.1f E doordat %2$s + Pomp kan geen tijdelijk basaal aanvaarden + Closed Loop modus gedeactiveerd in de instellingen + UAM gedeactiveerd omdat het Oref1 gevoeligheid plugin nodig heeft + Dev versie actief. Closed loop gedeactiveerd + Closed loop modus uitgeschakeld vanwege afgeven Vertraagde bolus + SMB altijd gedeactiveerd doordat de gekozen BG bron geen optimale filtering toepast + SMB niet toegestaan in Open Loop modus + Maximum waarde in instellingen + max limiet (SC) + Behandelingen veiligheid + Selecteer het type patiënt om de veiligheidslimieten in te stellen + Kind + Tiener + Volwassene + insuline resistente volwassene + Zwangerschap + Max toegestane bolus [E] + Max toegestane koolhydraten [g] + Type patiënt - Sluimeren + NS instellingen kopiëren (indien aanwezig)? + Toon statusindicatoren op startscherm + Drempelwaarde waarschuwing canule leeftijd [h] + Drempel kritieke canule leeftijd [h] + Drempel waarschuwing insuline leeftijd [h] + Drempel alarm insuline leeftijd [h] + Drempel waarschuwing sensor leeftijd [h] + Drempel alarm sensor leeftijd [h] + Drempel waarschuwing batterij niveau [%] + Drempel alarm batterij niveau [%] + Drempelwaarde waarschuwing pompbatterijleeftijd [h] + Drempelwaarde kritieke pompbatterijleeftijd [h] + Drempel waarschuwing reservoir niveau [E] + Drempel alarm reservoir niveau [E] + Drempelwaarde waarschuwing pompbatterijniveau [%] + Drempelwaarde kritiek pompbatterijniveau [%] + Statusindicatoren + Kopieer instellingen van NS + grafiek + insuline + Grafiek menu + bloedglucose kwaliteit + bloed glucose + verouderd + APS Mode + Accepteer nieuw tijdelijk basaal: + CGM + Vaste maaltijd + + NSCLIENT heeft geen schrijfrechten. Verkeerde API secret? + NSClientV3 + NSV3 + NSClient + NSCI + URL: + Autoscroll + Herstart + NSClient + Nightscout URL + Nightscout URL ingeven + NS API secret + NS API secret + Geen NS API secret op (min 12 kar.) + NS toegangstoken + NS toegangstoken + Toegangstoken gegenereerd op de NS beheerderspagina (min. 17 tekens) + Toedienen + Ledig wachtrij + Toon wachtrij + Wachtend: + Status: + Logboek wissen + Volledige synchronisatie + Volledige synchronisatie? Dit kan een aantal uren duren. Je ziet dan geen nieuwe gegevens in Nightscout. + Synchronisatie + Profielen, bolussen, koolhydraten, tijdelijke basaal standen worden geupload naar NS + Upload data naar NS + Ontvang profiel opslag + Synchroniseer profielen van NS profiel editor + Ontvang tijdelijke doelen + Accepteer tijdelijke doelen ingevoerd in NS of NSClient + Ontvang profielwissels + Accepteer profielwissels zoals ingevoerd in NS of NSClient + Ontvang APS offline gebeurtenissen + Accepteer APS offline gebeurtenissen die zijn ingevoerd via NS of NSClient + Ontvang TBR en EB + Accepteer TBR en EB ingevoerd vanaf een andere bron + Ontvang insuline + Accepteer insuline zoals ingevoerd in NS of NSClient (insuline wordt niet toegediend, het wordt alleen in IOB calculatie meegenomen) + Ontvang koolhydraten + Accepteer koolhydraten ingevoerd in NS of NSClient + Accepteer behandelingen + Accepteer behandelingen (cannule, insuline, batterijwissel etc) ingevoerd via NS of NSClient + Ontvang / backfill CGM gegevens + Accepteer CGM data van NS + %s uitvoeren? + Vertraag uploads + Alarm opties + Maak meldingen van NS alarmen + Maak meldingen van NS aankondigingen + Oude gegevens sinds [min] + Alarm oude gegevens sinds [min] + Log app start naar NS + Schakel lokaal data delen met andere apps (zoals xDrip+) in. Schakel dit niet in als er meer dan één installatie van AAPS of NSClient zijn geinstalleerd! + Activeer locaal delen. + + Uw Tidepool login gebruikersnaam, normaliter uw e-mailadres + Inlog gebruikersnaam + Uw Tidepool login wachtwoord + Login wachtwoord + Test Tidepool Login + Indien ingeschakeld zullen uploads gaan naar https://int-app.tidepool.org in plaats van de reguliere https://app.tidepool.org/ + Gebruik integratie (test) servers + Tidepool + TDP + Upload gegevens naar Tidepool + CGM-gegevens uploaden + Upload behandelingen (insuline, carbs) + Tijdelijke basalen uploaden + Upload profiel wisselingen, tijdelijke doelen + Upload BG-tests + Alles verwijderen + Start reset + Nu Uploaden + + Virtuele pomp Type + Pomp definitie + Bolus: Stap=%1$s\nExtended Bolus: [Stap=%2$s, Duur=%3$smin-%4$sh]\nBasaal: Stap=%5$s\nTBR: %6$s (by %7$s), Duur=%8$smin-%9$sh\n%10$s + Virtuele Pomp + VPUMP + Pomp integratie voor pompen, waar nog geen driver voor is (Open Loop) + VIRTUELE POMP + Virtuele pomp instellingen + Upload status naar NS + + NSClient BG + NS BG + Download BG waardes van Nightscout + xDrip+ + Ontvang BG waardes van xDrip+. + BYODA + BYODA + Ontvang BG waarden van de \'Build Your Own Dexcom App\' (BYODA). + Eversense App (aangepast) + Ontvang BG waardes van de aangepaste Eversense app. + Glimp + Ontvang BG waardes van Glimp. + MM640g + Ontvang BG waardes van 600SeriesAndroidUploader. + Poctech + Ontvang BG waardes van Poctech app + Glunovo + Ontvang waardes van Glunovo app + Intelligo + Ontvang waarden van de Intelligo app + Tomato (MiaoMiao) + Tomato + Ontvang BG waardes van Tomato app (MiaoMiao apparaatje) + GlucoRx Aidex + Aidex + Ontvang BG waarden van GlucoRx Aidex CGMS. + BG upload instellingen + + Mobiele verbinding gebruiken + Gebruik WiFi verbinding + WiFi SSID + Tijdens opladen + Op batterij + Verbindings instellingen + Toegestane SSIDs (gescheiden door puntkomma) + Sta verbinding tijdens roaming toe + Creëer een melding bij storingen + Maak melding bij waarschuwingen voor benodigde koolhydraten + Creëer een Nightscout melding voor storingen en lokale waarschuwingen (ook zichtbaar in het Careportal en Behandelingen) + Maak Nightscout melding bij waarschuwingen voor benodigde koolhydraten + Synchroniseert je data met Nightscout + Synchroniseert je data met Nightscout via de v3 API + Geblokkeerd door oplaad instellingen + Geblokkeerd door verbindings instellingen + Niet ondersteunde versie van Nightscout + OAPS + UPLD + NSClient werkt niet goed. Overweg een herstart van NS en NSClient. + + Klassiek weergave thema + Lage resolutie skin + Knoppen worden altijd weergegeven aan de onderkant van het scherm + Groot scherm + Skin diff --git a/plugins/main/src/main/res/values-no-rNO/exam.xml b/plugins/main/src/main/res/values-no-rNO/exam.xml new file mode 100644 index 0000000000..8f2eb96361 --- /dev/null +++ b/plugins/main/src/main/res/values-no-rNO/exam.xml @@ -0,0 +1,227 @@ + + + Hva er riktig om DIA? + Insulinets virkningstid (DIA) + Du skal sette verdien for DIA i profilen din. + Minimum tillatt DIA verdi er 5 timer. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Hvis du føler at DIA verdien som du benyttet i pumpen fungerte godt før du tok i bruk AndroidAPS, da er det ikke nødvendig å endre dette når du starter å loope. + Du må selv bestemme hvilken verdi som passer for DIA. + Hypo Temp-Target (TT) + Hva er hovedgrunnen til å velge en hypo temp-target? + For å korrigere følinger som er forårsaket av feil i dine basalinnstillinger. + For å forhindre at AAPS overkorrigerer for en blodglukoseøkning forårsaket av de hurtigvirkende karbohydratene som brukes til behandling av en hypo. + For å korrigere for en føling som er et resultat av trening. + For å forhindre at blodsukkeret blir lavt selv om basaldosen allerede er 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Hvilken profiltype kan brukes og konfigureres offline? + Tema: Offline profil + NS profil kan brukes, men ikke konfigureres. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Årsaker for å velge \"Koble fra pumpen\" i AndroidAPS + Hva bør gjøres innen du kobler fra pumpen? + Dette er unødvendig siden insulin ikke vil bli levert hvis pumpen er fysisk frakoblet. + Det hjelper AndroidAPS å forstå at ingen insulin ble levert mens pumpen var fysisk frakoblet + Insulinleveransen vil ikke stoppes hvis pumpen er fortsatt tilkoblet. + Det vil sette AndroidAPS i åpen loop modus. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + AAPS innstillinger + AAPS innstillinger + Hva er beste metode for å ta backup av dine innstillinger? + Du trenger ikke å eksportere dine innstillinger hvis du har skrevet dem ned. + Eksporter dine innstillinger etter at du har avsluttet et læringsmål. + Eksporter dine innstillingene etter at du har gjort endringer på noen av dem. + Eksporter dine innstillinger etter at du har avsluttet de første grunnleggende innstillinger og angitt dine preferanser. + Eksporter dine innstillinger lokalt ved hjelp av vedlikeholdsmenyen. + Den eksporterte innstillings filen finnes i mappen Intern lagring/AAPS/preferences på din mobil. + Kopier din innstillingsfil til en trygg plass utenfor din telefon (f.eks. ved å bruke skylagring, koble mobil til PC via kabel, epost etc.) + Hvis din mobil er ødelagt eller mistet, finnes det enkle metoder for å gjenopprette dine innstillinger uten å bruke mobil backup. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Støy i CGM målinger + Hva bør gjøres hvis CGM data har støy? + Gjør ingenting - AndroidAPS vil håndtere det. + Deaktiver lukket loop for å unngå mulig over- eller underdosering. + Bytt alltid ut støyete eller unøyaktige sensorer. + Kontroller at din CGM app leverer glattede data. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Trening og profiler + Hvordan kan du bruke profiler for å hjelpe systemet med å håndtere treninger? + Gjør et profilbytte til mindre enn 100%. + For å gjøre et profilbytte til mer enn 100%. + La profilen være på 100%. + Pause loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#active temp-target + Trening og midlertidige målverdier (temp targets) + Hvordan kan du bruke midlertidige målverdier til å hjelpe systemet å håndtere aerobic trening? + Sett et midlertidig mål for blodsukkeret som starter en passende tid før treningen begynner. + Angi en temp mål for Trening etter at du har avsluttet treningen. + La målverdien for ditt blodsukker være uforandret. + Vent til blodsukkeret ditt synker under Hypo temp target og spis så 15 gram med hurtigvirkende karbohydrater. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#active temp-target + Deaktiver/pause loop + Får jag insulin når loop er stanset/pauset? + Ja, basal insulin vil fortsatt bli levert. + Nei, levering av insulin er stanset. + Test av basaldoser, ISF og KH ratio + Når skal disse verdiene testes og verifiseres? + Før du starter med looping. + Når du opplever hyppige høye eller lave blodsukkerverdier. + Minst en gang i uken. + Når du har innstilt og validert verdiene vil de ikke endre seg over tid. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Forutsetninger + Hva er nødvendig for å sette opp og bruke AAPS? + Validert profil informasjon (basal, IK, ISF, DIA). + En computer hvor Android Studio er installert og konfigurert. + En telefon som støttes. + En kompatibel insulinpumpe hvis du planlegger å kjøre lukket loop. + Nightscout, for å logge alle dine data og kontrollere dine innstillinger. + En Tidepool konto. + En Google konto. + En Github konto. + Erfaring fra programmering eller redigering av kode. + En MiniMed 670G pumpe. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + En smartklokke. + En CGM som støttes. + Forutsetninger + Hva er nødvendig for å sette opp og bruke AAPS? + Validert informasjon for å konfigurere din profil (ISF, KH ratio, basal doser, DIA etc.). + En kompatibel Android enhet (f.eks. mobiltelefon, full Android klokke, eller nettbrett). + AndroidAPS krever en internett forbindelse for å kunne kjøre lukket loop. + En støttet CGM og passende app som mottar blodsukkerverdier på mobilen/enheten. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Oppdatering av AAPS + Kontroller alle riktige svar. + Du må ha Git installert og konfigurert på din PC. + Når oppdateringer til AndroidAPS lanseres kan tidligere versjoner etter en tidsperiode få begrenset funksjonalitet. + Du må lagre og notere lokasjonen for din keystore og benytte samme signeringsnøkkel for bygging av oppdateringen som forrige installasjon. + Aldri oppdater hvis systemet fungerer bra. + Hvis du har problemer med å bygge apk filen, kan du installere en apk som er bygget av en venn. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Feilsøking + Hvor kan du be om hjelp for AndroidAPS? + Du kan be om råd i Facebookgruppen AAPS Users. + Du bør lese (og lese om igjen) AndroidAPS dokumentasjonen. + Du kan be om råd og stille tekniske problemer eller spørsmål på AAPS Discord. + Du bør spørre din diabetesklinikk/endokrinolog. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Hvilken insulin skal du bruke sammens med Ultra-Rapid Oref modulen? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/\"regulært\" humant insulin. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Sensitivitets plugin + Kontroller alle riktige svar. + Sensitivitets plugin gjør det mulig for AAPS å gjøre midlertidige eller kortvarige justeringer av insulin sensitivitet (f. eks. hormonelle forandringer eller problemer med absorpsjon ved innstikkstedet). + Sensitivitets plugin gir brukeren forslag til endringer i basaldoser, KH ratio og ISF som kan benyttes til å redigere profilen. + Hvis du logger bytte av kanyle vil Autosens verdien tilbakestilles til 100%. + Noen plugins har konfigurerbare tidsintervall som kan settes av brukeren. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Feil i KH angivelse + Hva skal du gjøre hvis du har gjort en feilaktig registrering av karbohydrater? + Fjern den feilaktige registreringen i Behandlinger og legg inn riktig verdi for karbohydrater. + Gi insulinbolus ved å bruke prime funksjonen for infusjonssettet. + Gjør ingenting - AndroidAPS vil gjøre nødvendige justeringer. + Gi bolus ved hjelp av Insulin knappen på hjem/oversikts siden. + Feil i insulin levering/registrering + Hva ska du gjøre hvis du har fått mindre insulin enn hva pumpens historikk viser, f.eks. på grunn av okklusjon, feil med kanyle eller om du har glemt å koble på pumpen etter en dusj + Fjern insulindata fra Nightscout slik at det slettes fra pumpens historikk. + Sammenlign verdiene i AndroidAPS og pumpehistorikken (hvis pumpen støtter dette). + Gi en bolus med en del av det insulinet du mangler enten med penn eller ved å bruke prime funksjonen. + Ikke gjør noe og la AndroidAPS korrigere eventuelle høye blodsukkerverdier. + Karbohydrater ombord (COB) + Hvordan vil endring av ISF-verdi påvirke COB-beregning? + Økning av ISF gjør at karbohydrater absorberes over lengre tid + Økning av ISF gjør at karbohydrater absorberes over kortere tid + Økning av ISF påvirker ikke beregningen av absorbering av karbohydrater + Hvordan vil endring av IC-verdi påvirke COB-beregning? + Økning av IC gjør at karbohydrater absorberes over lengre tid + Økning av IC gjør at karbohydrater absorberes over kortere tid + Økning av IC påvirker ikke beregningen av absorbering av karbohydrater + Hvordan vil endring av profil-prosent påvirke COB-beregning? + Ved å sette profilen til 150% vil karbohydrater absorberes over lengre tid + Ved å sette profilen til 150% vil karbohydrater absorberes over kortere tid + Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater + Aktivt insulin (IOB) + IOB verdi påvirkes av midlertidige temp basaler. + Høy temp basal vil ikke bli gitt når ditt blodsukker er under målverdi. + Negativ IOB i en lengre periode selv om du ikke trener tyder på at profilen din gir for mye insulin og kanskje bør reduseres i innstillingene. + Positiv IOB for en lengre periode tyder på enten økt insulinresistens eller uannonserte måltider. + Karbohydrater og bolus + Bare gram skal benyttes for å estimere og registrere spiste karbohydrater. + Karbohydrater som konsumeres kan registreres ved hjelp av et passende byttesystem (f.eks. DAFNE \"CHO\" eller europeiske \"brødenheter\"). + AndroidAPS bruker en dynamisk modell til å beregne karbohydrat opptaket og beregne COB. + Hvis blodsukkernivået er utenfor akseptable verdier (for lavt eller for høy), kan boluskalkulatoren brukes til å gi forslag til korreksjoner for karbohydrater eller insulin. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-Karbo + Hva kan du bruke e-karbohydrater (forlengede karbohydrater) til? + For å angi karbohydrater i fremtiden og/eller fordele dem over et tidsintervall (tilsvarende en forlenget bolus over et intervall). + For å logge \"frie\" treningskarbohydrater som du vil skjule for AndroidAPS. + E-karbo som er registrert i fremtiden kan hjelpe AAPS å håndtere måltider som er fett/proteinrike. + For å registrere karbohydrater som brukes til å korrigere lavt blodsukker + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Fjernovervåking + Hvordan kan du overvåke AndroidAPS (for eksempel for ditt barn) på eksternt? + AAPSClient app, Nightscout app og Nightscout websiden gjør det mulig for deg å følge AAPS eksternt. + Andre apper (f.eks. Dexcom follow, xDrip som kjører i følger modus) lar deg følge noen parametere (f.eks. blodsukker/sensor verdier) på avstand, men bruker forskjellige beregningsmetoder og kan derfor vise andre IOB eller COB verdier. + For å følge AAPS eksternt må begge enhetene ha Internett-tilgang (f.eks. via Wi-Fi eller mobildata). + AAPSClient som brukes som ekstern følger app vil både overvåke og gi full kontroll over AAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Insulin Sensitivitetsfaktor (ISF) + Økte ISF-verdiene vil føre til levering av mer insulin for å dekke opp en viss mengde karbohydrater. + Lavere ISF verdier fører til mer insulintilførsel for å korrigere blodsukker som ligger over målnivået. + Å øke eller senke ISF har ingen effekt på tilførselen av insulin når blodsukkeret er lavere enn målverdien. + ISF skal angis i dine AndroidAPS innstillinger. + Å endre ISF verdien i din profil er tilstrekkelig for å ta i bruk endringen. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Du kan bruke mer enn én verdi for KH ratio i profilen din. + Hvis du endrer ISF i profilen din, bør du alltid endre KH ration din. + Insulin til Karbohydratratio (KH ratio) + Høyere insulin til karbohydrat forhold (KH ratio) fører til at mindre insulin leveres for en gitt mengde karbohydrater. + Lavere insulin karbohydratforhold fører til at mindre insulin leveres for en gitt mengde karbohydrater. + Hvis du har 0 COB, vil endring av IK forholdet føre til endring av insulinmengden som trengs for å korrigere ditt BS nivå. + IK vil være forskjellig hvis du regner en skive brød som 10g eller 12g. + IK betyr: Hvor mange brødenheter som dekkes av 1E insulin. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profil bytte + Hvilke svar er korrekte når du spesifiserer et profilbytte på 90%? + Basaldoser vil være 10% lavere. + ISF verdien vil være 10% høyere. + Verdien av KH ratio vil være 10 % lavere. + ISF og KH ratio er uendret. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profil bytte + Når du spesifiserer et profilbytte på 120%, hvilke svar er korrekte? + Blodsukkermålet vil være 20% høyere. + Basaldoser vil være 20% høyere. + Blodsukkermålet vil være uforandret. + ISF vil være 20% høyere. + Profil bytte + Hvis du står opp 2 timer tidligere enn vanlig, hvordan forteller du AndroidAPS om endringen i døgnrytmen din? + Gjør et profilbytte med en tidsforskyvning på 2 + Gjør et profilbytte med en tidsforskyvning på -2 + Angi et \"spise snart\" midlertidig temp target. + Gjør et profilbytte til mer enn 100% + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Endring av profil + Basalrater, ISF, KH ratio, etc., bør defineres i profiler. + Aktivering av endringer i Nightscout profilen din krever at din AndroidAPS telefon er koblet til Internett. + Å redigere verdier i profilen din er tilstrekkelig for å aktivere profilendringen. + Flere profiler kan defineres og velges for å håndtere endringer i omstendigheter (f.eks. hormonelle endringer, skift arbeid, hverdager/helgedager). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Hjelp med basaldoser + Hvor finner du hjelp for basaldoser m. m. + Ditt diabetesteam + Google + Facebook + Annen medisinering. Vennligst les utsagnet nedenfor, og sjekk deretter boksen for å godta erklæringen. + AndroidAPS reduserer basaldoser eller utsetter insulindoser for å få en økning i blodsukkerverdier. Medisiner av typen SGLT2 hemmere (gliflozins) kan redusere eller hemme forventet økning i blodsukker og kan derfor føre til akutt og farlig høyt blodsukker ketoacidose (DKA). +\nVanlige medisinnavn er: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nJeg lover å ikke ta slike medisiner mens jeg bruker AndroidAPS og vil deaktivere bruken av loop mens jeg bruker slik medisin. + diff --git a/plugins/main/src/main/res/values-no-rNO/objectives.xml b/plugins/main/src/main/res/values-no-rNO/objectives.xml new file mode 100644 index 0000000000..8cdedfd9e8 --- /dev/null +++ b/plugins/main/src/main/res/values-no-rNO/objectives.xml @@ -0,0 +1,55 @@ + + + Start + Kontroller + %1$d. Læringsmål + Læringsmål %1$d ikke startet + Læringsmål %1$d er ikke ferdig + Stiller inn utseende og overvåking for analyser av basaler og forholdstall + Kontroller at BS er tilgjengelig i Nightscout og at insulindata fra pumpen lastes opp + Starter med åpen loop + Kjør i \"Åpen Loop\" modus i noen dager og aktiver flere temp basaler. Konfigurer og aktiver flere midlertidige og default temp BS mål (f.eks. for Aktivitet eller Hypo behandling) + Forstå din åpen loop, inkludert den temp basal anbefalingen + Ut ifra hva du har erfart og lært, avgjør hva din max basal skal være og still den inn i både pumpen og AAPS innstillinger + Begynn å bruk lukket loop med aktivert funksjon for stopping av insulin ved lavt BS + Aktiver closed loop med max IOB = 0 i noen dager uten for mange episoder hvor systemet stopper insulintilførsel på grunn av lavt BS + Finjustering av lukket loop med gradvis økende maks IOB over 0 og redusering av BS målverdi + Kjør i noen dager og opplev minst en natt uten lavt BS alarmer før du begynner å redusere målverdi for BS + Juster om nødvendig basal og forholdstall, og deretter aktiverer du autosens + 1 uke vellykket looping på dagtid hvor alle måltider (KH) angis + Aktiver ekstra funksjoner for bruk på dagtid, slik som SMB (Super Micro Bolus) + Aktiver Automatisering + Du må lese wiki og øke din maxIOB for å få SMB til å fungere. Et godt utgangspunkt er maxIOB = gjennomsnittlig måltidsbolus + 3*max daglig basal + Les dokumentasjonen på hvordan Automatisering virker. La din første regel være enkel. I stedet for å utføre en behandling, få AAPS til å vise en melding i stedet. Kun når du er sikker på at Automatisering aktiveres korrekt kan du erstatte meldingsvarselet med en behandlingskommando. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + BS tilgjengelig i NS + Pumpe status tilgjengelig i NS + Manuell kommando + Utført: %1$s + Lær hvordan du kontrollerer AAPS + Utfør forskjellige handlinger i AAPS + Angi profil 90% for 10 min (langt-trykk på profilnavn i Oversikt) + Simuler dusjing. Frakoble pumpen i 1t (langt trykk på Åpen Loop) + ... og koble til igjen på samme måte + Opprett egendefinerte midlertidige BS mål med 10 min varighet (langt-trykk på gjeldende mål) + I Konfigurasjonsverktøyet aktiverer du Hendelser plugin, og gjør det synlig og viser innholdet fra menyen i øverste linje + Vis innholdet i Loop plugin + Test skaleringsfunksjonen ved et langt trykk på BS grafen + Angi + Om du kan dokumentere minst 3 måneders erfaring med et annet lukket loop system så kan det hende du kvalifiserer for å hoppe over læringsmålene. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for flere detaljer. + Kode akseptert + Kode ugyldig + Bevis kunnskapen din + Studer spørsmålene. Hvert spørsmål har fire svaralternativer. Det kan være flere enn ett riktig svar. Marker alle riktige svar og velg KONTROLLER. + Besvarelser deaktivert til: %1$s + Feil svar! + Neste uferdig + Be om kode: %1$s + (kontroller alle riktige svar) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Ikke koblet til Internett + Feil ved henting av tid + Læringmålets krav er ikke oppfylt + diff --git a/plugins/main/src/main/res/values-no-rNO/strings.xml b/plugins/main/src/main/res/values-no-rNO/strings.xml index f96f4f4781..b90a6bd911 100644 --- a/plugins/main/src/main/res/values-no-rNO/strings.xml +++ b/plugins/main/src/main/res/values-no-rNO/strings.xml @@ -9,7 +9,7 @@ Ytterligere sifre som MÅ memoreres og legges til på slutten av hvert generert engangspassord Oppsett for 2 faktor autentisering Kode som skal kontrolleres: - OTP + PIN + engangspassord + PIN Bekreftelseskoden består av 6 sifre som vises av Authenticator appen (kjent som OTP) etterfulgt av 3 eller flere siffer for obligatorisk PIN-kode. Tilbakestill Authenticators Tilbakestill Authenticator nøkkel @@ -31,64 +31,64 @@ +XXXXXXXXXX;+YYYYYYYYYY For å levere bolus på %1$.2fE, svar med kode %2$s For å levere måltidsbolus på %1$.2fE, svar med kode %2$s - For å sette Temp Target på %1$s, svar med kode %2$s - For å avbryte Temp Target, svar med kode %1$s - For å deaktivere fjernstyring via SMS-meldinger, svar med kode %1$s.\n\nHusk at du vil kunne reaktivere den igjen kun fra AAPS hovedtelefon. - Fjernstyring via SMS-meldinger er stanset. For å reaktivere, bruk AAPS på hovedtelefonen. - For å sende kalibrering %1$.2f, svar med kode %2$s - Bolus mislyktes - Minimum antall minutter som må forløpe mellom en fjernstyrt bolus og den neste - Minimum antall minutter mellom en fjernstyrt bolus og neste - For din egen sikkerhet, må du legge til minst 2 telefonnumre for å endre denne innstillingen. - Bolus på %1$.2f E er levert - Måltidsbolus på %1$.2f E er levert - Temp target på %1$s er satt i %2$d minutter + For å sette Temp Target på %1$s, svar med kode %2$s + For å avbryte Temp Target, svar med kode %1$s + For å deaktivere fjernstyring via SMS-meldinger, svar med kode %1$s.\n\nHusk at du vil kunne reaktivere den igjen kun fra AAPS hovedtelefon. + Fjernstyring via SMS-meldinger er stanset. For å reaktivere, bruk AAPS på hovedtelefonen. + For å sende kalibrering %1$.2f, svar med kode %2$s + Bolus feilet + Minimum antall minutter mellom en fjernstyrt bolus og til den neste + Minimum antall minutter mellom en fjernstyrt bolus og den neste + For din egen sikkerhet, må du legge til minst 2 telefonnumre for å endre denne innstillingen. + Bolus %1$.2f E ble levert vellykket + Måltidsbolus på %1$.2f E er levert vellykket + Mål %1$s i %2$d minutter Temp target på %1$s i %2$d minutter ble lagret Temp Target ble fjernet - Tillat fjernstyring via SMS-meldinger - Loop har blitt deaktivert - Loop har blitt aktivert - Loop er aktivert - For å koble til pumpen, svar med kode %1$s - Tilkobling til pumpen mislyktes - For å koble fra pumpen i %1$d minutter, svar med koden %2$s - Pumpe frakoblet + Tillat fjernstyring via SMS-meldinger + Loop har blitt deaktivert + Loop har blitt aktivert + Loop er aktivert + For å koble til pumpen, svar med kode %1$s + Tilkobling til pumpen mislyktes + For å koble fra pumpen i %1$d minutter, svar med koden %2$s + Pumpe frakoblet Pumpen tilkoblet igjen - Fjernstyringskommando er ikke tillatt - Fjernstyringsbolus er ikke tilgjengelig. Prøv igjen senere. - For å starte basal %1$.2f E/t i %2$d minutter, svar med kode %3$s - For å bytte profil til %1$s %2$d%%, svar med kode %3$s - For å starte forlenget bolus %1$.2f E i %2$d minutter, svar med kode %3$s - For å angi %1$dg kl. %2$s, svar med kode %3$s - For å starte basal %1$d%% i %2$d minutter, svar med kode %3$s - For å pause loop i %1$d minutter, svar med kode %2$s - For å gjenoppta loop, svar med kode %1$s - For å aktivere loop, svar med kode %1$s - For å deaktivere loop, svar med kode %1$s - Vellykket start av temp basal %1$.2fE/t i %2$d minutter - Vellykket start av forlenget bolus %1$.2fE i %2$d minutter - Vellykket registrering av %1$dg KH - Registrering av %1$dg karbohydrater mislyktes - Vellykket start av temp basal %1$d%% i %2$d minutter - Mislykket start av temp basal - Mislykket start av forlenget bolus - For å avbryte Temp basal, svar med kode %1$s - For å stoppe forlenget bolus, svar med kode %1$s - Temp basal avbrutt - Forlenget bolus avbrutt - Mislykket kansellering av Temp basal - Mislykket kansellering av forlenget bolus - Ukjent kommando eller feil svar + Fjernstyringskommando er ikke tillatt + Fjernstyringsbolus er ikke tilgjengelig. Prøv igjen senere. + For å starte basal %1$.2f E/t i %2$d minutter, svar med kode %3$s + For å bytte profil til %1$s %2$d%%, svar med kode %3$s + For å starte forlenget bolus %1$.2f E i %2$d minutter, svar med kode %3$s + For å angi %1$dg kl. %2$s, svar med kode %3$s + For å starte basal %1$d%% i %2$d minutter, svar med kode %3$s + For å pause loop i %1$d minutter, svar med kode %2$s + For å gjenoppta loop, svar med kode %1$s + For å aktivere loop, svar med kode %1$s + For å deaktivere loop, svar med kode %1$s + Vellykket start av temp basal %1$.2fE/t i %2$d minutter + Vellykket start av forlenget bolus %1$.2fE i %2$d minutter + Vellykket registrering av %1$dg KH + Registrering av %1$dg karbohydrater mislyktes + Vellykket start av temp basal %1$d%% i %2$d minutter + Mislykket start av temp basal + Mislykket start av forlenget bolus + For å avbryte Temp basal, svar med kode %1$s + For å stoppe forlenget bolus, svar med kode %1$s + Temp basal avbrutt + Forlenget bolus avbrutt + Mislykket kansellering av Temp basal + Mislykket kansellering av forlenget bolus + Ukjent kommando eller feil svar Det ligger en annen bolus i køen. Prøv igjen senere. - Feil varighet - Loop er pauset - Loop gjenopptatt - Ugyldig mobilnummer for SMS - Kalibrering sendt. Mottak må være aktivert i xDrip+. - xDrip+ tar ikke imot kalibreringer - Ugyldig innhold i meldingen - Send SMS hvis det ikke oppnås kontakt med pumpa - Rapporter når kontakt med pumpe ikke oppnås + Feil varighet + Loop er pauset + Loop gjenopptatt + Ugyldig mobilnummer for SMS + Kalibrering sendt. Mottak må være aktivert i xDrip+. + xDrip+ tar ikke imot kalibreringer + Ugyldig innhold i meldingen + Send SMS hvis det ikke oppnås kontakt med pumpa + Rapporter når kontakt med pumpe ikke oppnås Feil format BS: Siste BS: @@ -103,7 +103,6 @@ Temp basal varighet må oppgis i antall %1$d minutter og større enn 0. QR-kode for oppsett av engangspassord - DIA Lyumjev Insulininnstillinger for Humalog og NovoRapid / NovoLog Insulininnstillinger for Fiasp @@ -112,38 +111,55 @@ INS IOB-kurvens topptid Topptid [min] - Topp Egendefinert topp Oref Hurtigvirkende Oref + Ultra-Rapid Oref DIA på %1$f er for kort - bruker %2$f i stedet! + Novorapid, Novolog, Humalog + Fiasp - + + xds Vis informasjon om loop på din xDrip+ urskive. + Vis detaljert IOB + Splitt IOB til bolus- og basal-IOB på klokken + Loop er deaktivert + Vis BGI + Legg til BGI i statuslinje + xDrip+ Status (klokke) + Mat Viser forhåndsinnstillinger for mat fra Nightscout Filter Mat - kJ - En - Pr - Fett + kJ + En + Pr + Fett Kategori Underkategori + Kalkulator + Velg mørk, lys eller bruk systemets fargetema App fargetema Mørkt tema Lyst tema Bruk systemets fargetema + Profil LP Definer en profil som er tilgjengelig offline. legg til ny i liste + Ønsker du å bytte profil og forkaste endringer i gjeldende profil? + Lagre eller nullstill gjeldende endringer først + Slette gjeldende profil? Enheter: Mangler profilnavn Feil i IK faktoren Feil i basalverdiene Feil i BS mål verdiene Feil i IF verdien + Profilnavnet inneholder prikker.\nDette støttes ikke av NS.\nProfilen er ikke lastet opp til NS. Ugyldig profil %1$s ikke akseptert fra NS Visning Feil @@ -153,8 +169,6 @@ kopier gjeldende profil slett gjeldende profil DIA - IC - ISF MÅL BAS @@ -166,6 +180,7 @@ Sommer/vintertid inntreffer innen 24t Sommer/vintertid inntreffer innen 3t - lukket loop er midlertidig deaktivert + Frigjør minst %1$d MB fra internminnet! Loop deaktivert! gammel versjon @@ -174,7 +189,234 @@ Ny versjon tilgjengelig i minst %1$d dager! Systemet vil bytte til \"stopp innen lavt (LGS)\" etter %2$d dager og loop vil deaktiveres etter %3$d dager + Fullført, godt gjort! Enda Ikke fullført Tid brukt + Maks IOB er angitt riktig + BS tilgjengelig fra valgt kilde + Synkroniseringstjeneste har skriverettigheter + Loop er aktivert + APS valgt + Lukket loop aktivert + MÅL + Opplæringsprogram + Ønsker du å omstarte læringsmålet? Du vil miste fullførte trinn. + Neste + Forrige + Sletting ferdig + Sletting startet + + Handlinger + Hurtigknapper for rask tilgang til ofte brukte funksjoner + ACT + Temp basal + Forlenget bolus + Avbryt forlenget bolus + Verktøy + Historikk leser + Sensor + alder: + nivå: + Insulin + Pumpebatteri + Kanyle + Bruk av forlenget bolus funksjon vil deaktivere lukket loop i perioden med forlenget bolus. Vil du virkelig dette? + Forlenget bolus feilet + kanyle alder + patch pumpe alder + Patch pumpe + + Begrenser forlenget bolus til %1$.1f E på grunn av %2$s + Begrenser karbohydrater til %1$d g på grunn av %2$s + Begrenser IOB til %1$.1f E på grunn av %2$s + Pumpen støtter ikke temp basaler + Lukket Loop er eaktivert i innstillinger + UAM deaktivert fordi den trenger Oref1 sensitivitetsplugin + Du kjører dev-versjonen. Lukket loop ikke aktivert. + Lukket loop deaktivert på grunn av forlenget bolus + SMB Alltid På og SMB Etter Karbohydrater er deaktivert fordi BS kilden ikke støtter avansert filtrering + SMB ikke tillatt i åpen loop + maks verdi i innstillingene + hard begrensning + Sikkerhet ved behandlinger + Velg pasienttype for oppsett av sikkerhetsgrenser + Barn + Tenåring + Voksen + Insulinresistent voksen + Graviditet + Maks tillat bolus [U] + Maks tillat karbo [g] + Pasienttype + Slumre + Kopiere NS innstillinger (hvis de eksisterer)? + Vis statusindikatorer på hjem-skjermen + Terskel for advarsel om alder på slangesett [h] + Terskel for kritisk alder på slangesett [h] + Terskel for advarsel, alder på insulin [h] + Terskel for kritisk alder på insulin [h] + Terskel for advarsel, alder på CGM [h] + Terskel for kritisk alder på CGM [h] + Terskel for advarsel, batterinivå for sensor [%] + Terskel for kritisk batterinivå for sensor [%] + Terskel for advarsel, batterialder for pumpe [h] + Terskel for kritisk batterialder for pumpe [h] + Terskel for advarsel, insulinreservoar [U] + Terskel for kritisk insulinreservoar [U] + Terskel for advarsel, batterinivå for pumpe [%] + Terskel for kritisk batterinivå for pumpe [%] + Statuslys + Kopier innstillingene fra NS + graf + insulin + Diagram meny + blodsukkermålingens kvalitet + blodsukker + utdatert + APS modus + Aksepter ny temp basal: + CGM + Hurtigveiviser + + NSCLIENT har ingen skriverettighet. Feil API-nøkkel? + NSClientV3 + NSV3 + NSClient + NSCI + URL: + Autoscroll + Omstart + NSClient + Nightscout URL + Oppgi din Nightscout URL + Nightscout API-nøkkel + Nightscout API-nøkkel + Oppgi NS API-nøkkel (min 12 tegn) + NS tilgangstoken + NS tilgangstoken + Tilgangstoken laget på NS admin-side (min 17 tegn) + Lever nå + Tøm kø + Vis kø + Kø: + Status: + Tøm logg + Full synkronisering + Full synkronisering? Dette kan ta mange timer og du ser ikke nye data i NS før dette er ferdig. + Synkronisering + Profiler, boluser, karbohydrater, midlertidige basaler lastes opp til NS + Last opp data til NS + Hent lagrede profiler + Synkroniser profiler fra NS profileditor + Motta midlertidige BS mål + Aksepter midlertidige mål angitt med NS eller NSClient + Motta profilbytter + Aksepter profilbytter som er angitt via NS eller NSClient + Motta APS offline hendelser + Aksepter APS offline hendelser lagt inn gjennom NS eller NSKlient + Motta TBR og EB + Godta TBR og EB beregninger fra tilleggsmodul + Motta insulin + Aksepter insulin angitt via NS eller NSClient (enhetene er ikke dosert, kun beregnet mot IOB) + Motta karbohydrater + Aksepter karbohydrater angitt med NS eller NSClient + Motta behandlingshendelser + Godta behandlingshendelser (kanyle, insulin, batteribytte osv.) som er lagt inn gjennom NS eller NSClient + Motta/tilbakefyll CGM data + Aksepter CGM data fra NS + Kjør %s? + Reduser opplastingshastighet + Alarmvalg + Opprett varsler fra NS-alarmer + Opprett varsler fra NS-meldinger + Advarsel ved manglende data [min] + Advarsel ved kritisk mangel på data [min] + Logg app-start til NS + Aktiver kringkasting av data til andre apper (som xDrip+). Ikke aktiver dette hvis du har mer enn én AAPS eller NSClient installert! + Aktiver deling av data mellom apper på telefonen. + + Ditt Tidepool brukernavn, normalt din e-postadresse + Brukernavn for innlogging + Ditt passord for Tidepool + Passord + Test Tidepool innlogging + Hvis aktivert, vil opplastinger gå til https://int-app.tidepool.org i stedet for vanlig https://app.tidepool.org/ + Bruk integrasjon (test) servere + Tidepool + TDP + Laster opp data til Tidepool + Last opp CGM data + Last opp behandlinger (insulin, karbohydrater) + Last opp temp basaler + Last opp profilbytter, temp targets + Last opp BS tester + Fjern alt + Tilbakestill til oppstart + Last opp nå + + Virtuell pumpetype + Pumpedefinisjon + Bolus: Step=%1$s\nForlenget bolus: [Step=%2$s, Varighet=%3$smin-%4$sh]\nBasal: Step=%5$s\nTBR: %6$s (av %7$s), Varighet=%8$smin-%9$sh\n%10$s + Virtuell pumpe + VPUMP + Integrasjon mot pumper som ikke støttes av AndroidAPS (åpen loop) + VIRTUELL PUMPE + Innstillinger for virtuell pumpe + Last opp status til Nightscout + + NSClient BS + NS BS + Last ned BS-verdier fra Nightscout + xDrip+ + Motta BS-verdier fra xDrip+. + BYODA + BYODA + Motta BS verdier fra \'Build Your Own Dexcom App\'. + Eversense App (patched) + Motta BS-verdier fra den modifiserte Eversense-appen. + Glimp + Motta BS-verdier fra Glimp. + MM640G + Motta BS-verdier fra 600SeriesAndroidUploader. + Poctech + Motta BS verdier fra Poctech app + Glunovo + Motta BS verdier fra Glunovo app + Intelligo + Motta BS-verdier fra Intelligo-app + Tomato (MiaoMiao) + Tomato + Motta BS verdier fra Tomato app (MiaoMiao enhet) + GlucoRx Aidex + Aidex + Motta BS verdier fra GlucoRx Aidex CGM. + Innstillinger for opplasting av BS + + Bruk mobildata + Bruk Wi-Fi-tilkobling + WiFi nettverksnavn + Under lading + På batteri + Tilkoblingsinnstillinger + Tillatte nettverksnavn SSID (separert med semikolon) + Tillat tilkobling i roaming + Lag meldinger ved feil + Opprett varslinger hvis det er nødvendig med karbohydrater + Opprett varslinger i Nightscout ved feil eller meldinger (også synlig i Careportal under Behandlinger) + Opprett Nighjtscout meldinger ved behov for karbohydrater + Synkroniserer dine data med Nightscout + Synkroniserer dataene dine med Nightscout med v3 API + Blokkert på grunn av ladealternativer + Blokkert på grunn av tilkoblingsalternativer + Versjonen av Nightscout støttes ikke + OAPS + UPLD + NSClient feil. Vurder omstart av NS og NSClient. + + Opprinnelig visningstema + Tema for lav oppløsning + Knapper vises alltid på bunnen av skjermen + Stor skjerm + Tema diff --git a/plugins/main/src/main/res/values-pl-rPL/exam.xml b/plugins/main/src/main/res/values-pl-rPL/exam.xml new file mode 100644 index 0000000000..6de9ccf9b8 --- /dev/null +++ b/plugins/main/src/main/res/values-pl-rPL/exam.xml @@ -0,0 +1,179 @@ + + + Co jest prawdą w przypadku DIA? + Czas działania insuliny (DIA) + Powinieneś ustawić wartość dla DIA w swoim profilu. + Minimalna dopuszczalna wartość to 5 godzin. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Powinieneś określić dla siebie odpowiednią wartość DIA. + Cel tymczasowy dla Hipo + Jaki jest główny powód ustawienia celu tymczasowego Hipo? + Aby skorygować hipoglikemię spowodowaną nieprawidłowymi ustawieniami dawki podstawowej. + Korekta hipoglikemii wywołanej wysiłkiem fizycznym. + Aby zapobiec spadkowi poziomu glukozy we krwi, jeśli jest już uruchomiona tymczasowa dawka podstawowa wynosząca 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Który profil może być używany i skonfigurowany w trybie offline? + Temat: Profil w trybie offline + Profil NS może być używany, ale nie jest skonfigurowany. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Co należy zrobić przy rozłączeniu pompy? + Nie jest to konieczne, ponieważ insulina nie zostanie dostarczona, jeśli pompa jest fizycznie odłączona. + Nie zatrzyma podawania insuliny, jeśli pompa pozostanie podłączona. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Jakie są najlepsze procedury tworzenia kopii zapasowych swoich ustawień? + Nie ma potrzeby eksportowania ustawień, pod warunkiem, że zrobisz z nich notatki. + Wyeksportuj ustawienia po zakończeniu realizacji zadania sprawdzającego. + Wyeksportuj ustawienia po zmianie każdego z ustawień. + Wyeksportuj ustawienia po zakończeniu początkowej konfiguracji i ustawieniu preferencji. + Wyeksportuj ustawienia lokalnie, korzystając z menu konserwacji. + Twój plik ustawień znajduje się w folderze Pamięć wewnętrzna / AAPS / preferencje w telefonie. + Skopiuj plik preferencji w bezpieczne miejsce poza telefonem (np. Korzystając z dysku w chmurze, podłączając kabel do komputera, e-mail itp.) + Jeśli Twój telefon zostanie uszkodzony lub zgubiony, zastosowanie łatwe sposoby na zdalne odzyskanie ustawień bez kopii zapasowej. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Szumy w odczytach z CGM + Co powinno być wykonane gdy dane CGM są zaszumione? + Wyłącz pętlę zamkniętą, aby uniknąć możliwego przedawkowania lub niedoszacowania. + Wymieniaj stale zaszumione lub niewłaściwie wskazujące sensory. + Sprawdź, czy aplikacja CGM zapewnia wygładzone dane. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Ćwiczenia fizyczne i profile + Jak wykorzystać profile, aby najlepiej pomóc systemowi radzić sobie z ćwiczeniami aerobowymi? + Wykonaj zmianę profilu na poniżej 100%. + Wykonaj zmianę profilu na powyżej 100%. + Pozostaw profil ustawiony na 100%. + Wstrzymaj pętle. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Ćwiczenie fizyczne i cele tymczasowe + Jak wykorzystać cele tymczasowe, aby jak najlepiej pomóc systemowi radzić sobie z ćwiczeniami aerobowymi? + Ustaw cel poziomu glukozy we krwi \"ćwiczenia\" w odpowiednim czasie przed rozpoczęciem ćwiczeń fizycznych. + Ustaw cel poziomu glukozy we krwi \"ćwiczenia\" w odpowiednim czasie po zakończeniu ćwiczeń fizycznych. + Pozostaw cel poziomu glukozy we krwi niezmieniony. + Poczekaj, aż poziom glukozy we krwi spadnie poniżej celu tymczasowego \"Hipo\", a następnie zjedz 15 g szybko działających węglowodanów. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Wyłączona/zawieszona pętla + Czy otrzymuję insulinę, gdy pętla jest wyłączona/zawieszona? + Tak, insulina bazowa nadal jest dostarczana. + Nie, podawanie insuliny jest zatrzymane. + Testowanie dawki bazowej, ISF i I:C + Kiedy należy sprawdzić poprawność tych wartości? + Zanim zaczniesz używać pętli. + W przypadku częstego występowania wysokiego lub niskiego stężenia glukozy we krwi. + Co najmniej raz w tygodniu. + Po ustawieniu i zweryfikowaniu wartości te nie powinny zmieniać się w czasie. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Wymagania wstępne + Sprawdzone informacje profilowe (Basal, IC, ISF, DIA). + Komputer z zainstalowanym i skonfigurowanym programem Android Studio. + Obsługiwany telefon. + Kompatybilna pompa insulinowa, jeśli planujesz uruchomienie pętli zamkniętej. + Nightscout, aby zachować dziennik wszystkich danych i przeglądać ustawienia. + Konto Tidepool. + Konto Google. + Konto Github. + Doświadczenie w programowaniu lub edycji kodu. + Pompa MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Smartwatch. + Obsługiwany CGM. + Wymagania wstępne + Sprawdzone informacje umożliwiające skonfigurowanie profilu (współczynniki ISF, I:C, dawki bazowe, DIA itp.). + Kompatybilne urządzenie z systemem Android (np. telefon komórkowy, zegarek z pełnym systemem Android lub tablet). + Wspierany CGM i odpowiednia aplikacja, aby otrzymywać wartości glukozy we krwi na telefonie/urządzeniu. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Zaznacz wszystkie prawidłowe odpowiedzi. + Musisz mieć zainstalowany i skonfigurowany Git na komputerze. + Powinieneś/powinnaś zapisać i zanotować lokalizację swojego klucza i użyć tego samego klucza do aktualizacji jak dla poprzedniej instalacji. + Nigdy nie aktualizuj, jeśli system działa dobrze. + Jeśli masz trudności z budową apk, możesz zainstalować apk zbudowany przez znajomego. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Rozwiązywanie problemów + Należy zwrócić się do diabetologa lub lekarza endokrynologa. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Która insulina powinna być używana z wtyczką Ultra-Rapid Oref? + Fiasp® + NovoRapid ® /Novolog ® + Humalog® + Actrapid ® /Humulin R ®/\"zwykła\" insulina ludzka. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Wtyczki wrażliwości + Zaznacz wszystkie prawidłowe odpowiedzi. + Wtyczki wrażliwości dostarczają użytkownikowi sugerowane zmiany w dawkach bazowych, współczynnikach I:C i ISF, które mogą być używane do edycji profilu. + Rejestracja zmiany wkłucia spowoduje zresetowanie współczynnika Autosens z powrotem do 100%. + Niektóre z opcji wtyczki mają konfigurowalne zakresy czasu, które mogą być ustawiane przez użytkownika. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Błędy wprowadzania węglowodanów + Co powinieneś zrobić, gdy wprowadziłeś niewłaściwą ilość węglowodanów? + Usuń niepoprawny wpis w leczeniu (Treat) i wprowadź poprawną nową wartość węglowodanów. + Bolus z insuliną z użyciem menu rozpoczęcia/wypełnienia zestawu infuzyjnego. + Bolus z insuliną za pomocą przycisku Insulina (bolus) na karcie głównej. + Błędy w dostarczaniu/wpisywaniu insuliny + Co należy zrobić, jeśli otrzymano mniej insuliny niż sugeruje historia pompy, np. z powodu niedrożności, uszkodzonej kaniuli lub zapomnienia o ponownym podłączeniu pompy po prysznicu? + Usuń dane insuliny z portalu Nightscout aby usunąć je z historii pompy. + Podaj obliczoną dawkę „pominiętej” insuliny za pomocą strzykawki / wstrzykiwacza lub za pomocą pompy funkcji wypełnienia. + Aktywna insulina (IOB) + Na wartość IOB mają wpływ wykonane tymczasowe dawki bazowe. + Wysoka tymczasowa dawka bazowa nie zostanie podana, gdy twóje poziom cukru we krwi jest poniżej poziomu docelowego. + Negatywne IOB utrzymujące się przez znaczny okres czasu bez wysiłku fizycznego sugeruje, że Twój profil jest zbyt silny i mniej insuliny jest wymagane w Twoich ustawieniach. + Pozytywne IOB utrzymujące się przez znaczny okres czasu sugeruje insulinooporność lub niezapowiedziany (niewprowadzony do AAPS) posiłek. + Wprowadzanie węglowodanów i bolusów + Do szacowania i zapisywania spożywanych węglowodanów należy używać tylko gramów. + Spożywane węglowodany mogą być rejestrowane przy użyciu odpowiednich zamiennych jednostek systemowych (np. DAFNE \"CHO\" wymienia lub europejskich \"jednostek chlebowych\"). + Jeśli poziom glukozy we krwi jest poza dopuszczalnymi wartościami (zbyt niski lub zbyt wysoki), kalkulator bolusa może być stosowany w celu dostarczenia sugestii dotyczących korekty węglowodanów lub insuliny. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs (e-węgle) + Do czego możesz użyć e-węgli (węglowodanów wydłużonych)? + W celu zaplanowania ilości węglowodanów w przyszłości, możliwych do dystrybucji w interwałach czasowych (podobnie do przedłużonego bolusa rozprowadzającego insulinę w odstępie czasowym). + Do rejestrowania węglowodanów ratunkowych spożytych do leczenia niskiego poziomu cukru we krwi. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Zdalny monitoring + Inne aplikacje (np. Dexcom follow, xDrip uruchomione w trybie śledzenia) pozwalają na śledzenie niektórych parametrów (np. poziom glukozy/wartości sensora) na odległość, ale używają różnych algorytmów, więc pokazywać nieprezcyzyjne wartości IOB lub COB. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Wskaźnik wrażliwości na insulinę (ISF) + Podwyższenie wartości ISF doprowadzi do zwiększenia ilości insuliny w celu pokrycia określonej ilości węglowodanów. + Obniżenie wartości ISF prowadzi do zwiększenia dawki insuliny w celu skorygowania stężenia glukozy we krwi powyżej wartości docelowej. + Podwyższenie lub obniżenie ISF nie ma wpływu na dostarczanie insuliny, gdy stężenie glukozy we krwi jest poniżej wartości docelowej. + Zmiana wartości ISF w profilu wystarczy, aby zastosować zmianę. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Możesz użyć więcej niż jednej wartości dla stosunku I:C w swoim profilu. + Jeśli zmienisz ISF w swoim profilu, zawsze powinieneś również zmienić swój stosunek I:C. + Stosunek insuliny do węglowodanów (stosunek I:C) + Wyższe wartości I:C prowadzą do mniejszej ilości insuliny dostarczonej dla danej ilości węglowodanowych. + Niższe wartości I:C prowadzą do mniejszej ilości insuliny dostarczonej dla danej ilości węglowodanowych. + Załóżmy, że masz 0 COB. Zmiana IC doprowadzi do podania innej ilości insuliny w celu skorygowania twojej wartości BG. + IC będzie inny, jeśli policzysz jednostkę chlebową (wymiennik węglowodanów) jako 10g lub 12g. + Znaczenie IC to: Ile jednostek chlebowych (wymienników węglowodanowych) jest pokrytych 1U insuliny. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Zmiana profilu + Określając 90% zmianę profilu, które odpowiedzi są prawdziwe? + Baza będzie o 10% niższa. + Wartość ISF będzie o 10% wyższa. + Wartość współczynnika I:C będzie mniejsza o 10%. + Współczynniki ISF i I:C nie ulegną zmianie. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Zmiana profilu + Po ustawieniu zmiany wartości profilu na 120%, które odpowiedzi są prawdziwe? + Docelowy poziom glukozy we krwi będzie o 20% wyższy. + Dawki bazowe będą o 20% wyższe. + Docelowy poziom glukozy we krwi nie ulegnie zmianie. + Wartość ISF będzie o 20% wyższa. + Zmiana profilu + Wprowadź zmianę profilu ze zmianą czasu równą 2 + Wprowadź zmianę profilu ze zmianą czasu równą -2 + Ustaw cel tymczasowy wkrótce posiłek. + Wykonaj zmianę profilu na powyżej 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Zmiany w profilach + Dawki bazowe, współczynniki ISF, I:C itp., powinny być ustawione w profilach. + Edycja profili w celu zmiany wartości wystarczy, aby uaktywnić wszelkie wprowadzone zmiany. + Można skonfigurować i wybrać wiele profili, aby uwzględnić zmieniające się okoliczności (np. Zmiany hormonalne, praca zmianowa, tryb życia w dni powszednie / weekendy). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Pomoc z dawkami bazowymi + Gdzie uzyskać pomoc w sprawie dawek podstawowych itp. + Twój zespół cukrzycowy + Google + Facebook + Inne leki. Przeczytaj poniższe oświadczenie, a następnie zaznacz pole, aby zaakceptować oświadczenie. + diff --git a/plugins/main/src/main/res/values-pl-rPL/objectives.xml b/plugins/main/src/main/res/values-pl-rPL/objectives.xml new file mode 100644 index 0000000000..56b40b8737 --- /dev/null +++ b/plugins/main/src/main/res/values-pl-rPL/objectives.xml @@ -0,0 +1,53 @@ + + + Start + Zweryfikuj + %1$d. Cel + Zadanie %1$d nierozpoczęte + Zadanie %1$d nieukończone + Konfiguracja wizualizacji i monitorowania, analiza dawek bazowych i współczynników + Sprawdź czy BG (pomiary cukru) są dostępne w Nightscout, i czy przesyłane są dane pompy insulinowej + Rozpoczęcie w trybie otwartej pętli (open loop) + Uruchom w trybie otwartej pętli przez kilka dni i ręcznie potwierdzaj kilka zmian dawki tymczasowej. Ustaw i używaj celów tymczasowych i domyślnych celów tymczasowych (np. Ćwiczenia lub Hipo) + Zrozumienie działania otwartej pętli, wraz z jej rekomendacjami dawek tymczasowych + Na podstawie tych doświadczeń zdecyduj jaka powinna być ustawiona maksymalna baza, i wprowadź ją w pompie i w ustawieniach AAPS + Rozpoczęcie zamknięcia pętli z zawieszeniem podawania bazy przy niskim poziomie cukru + Używaj przez kilka dni zamkniętej pętli (Closed Loop) z max IOB = 0 bez zbyt wielu incydentów niedocukrzeń + Dostrajanie zamkniętej pętli, podniesienie wartości max IOB powyżej 0 i stopniowe obniżanie docelowego poziomu cukru (BG target) + Używaj pętli przez kilka dni i przynajmniej jedną noc bez żadnego alarmu niskiego poziomu, przed obniżeniem docelowego poziomu cukru + Dostosuj bazę i wartości parametrów jeśli jest to potrzebne, i wtedy uruchom funkcję autosens + 1 tydzień sukcesu w działaniu pętli w ciągu dnia z regularnym wprowadzaniem spożywanych węglowodanów + Włączanie dodatkowych funkcji do użytku, jak SMB (Super Mikro Bolusy) + Włączanie automatyzacji + Musisz przeczytać wiki i zwiększyć maxIOB, aby SMB działało dobrze! Dobrym początkiem jest maxIOB = średni bolus + 3 x maks. dzienna dawka bazowa + Przeczytaj dokumentację dotyczącą działania automatyzacji. Skonfiguruj swoje pierwsze proste zasady. Zamiast działania niech AAPS wyświetli tylko powiadomienie. Gdy masz pewność, że automatyzacja zostaje uruchomiona we właściwym czasie, zastąp powiadomienie rzeczywistą akcją. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + BG dostępne w NS + Status pompy dostępny w NS + Ręczne zarządzanie + Ukończone: %1$s + Ustaw profil 90% na 10 min (Długie przytrzymanie nazwy profilu w Przegląd) + Symuluj prysznic. Odłącz pompę na 1 godzinę (długie naciśnięcie w otwartej pętli) + ... i połącz się ponownie w ten sam sposób + Utwórz własny cel tymczasowy z czasem trwania 10 min (przytrzymaj dłużej przycisk z Twoją nazwą profilu) + W konfiguracji włącz wtyczkę Akcje, zrób ją widoczną i wyświetl jej zawartość w górnym menu + Wyświetl zawartość wtyczki Pętla (Loop) + Użyj funkcji skalowania przez dłuższe przytrzymanie wykresu glikemii + Wprowadź + Jeśli masz co najmniej 3 miesiące doświadczenia w zamkniętej pętli z innymi systemami, możesz kwalifikować się do kodu umożliwiającego pominięcie celów. Szczegółowe informacje można znaleźć pod adresem https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. + Kod został zaakceptowany + Niepoprawny kod + Potwierdź swoje umiejętności + Przestudiuj pytania. Na każde pytanie masz cztery możliwe odpowiedzi. Może być więcej niż jedna poprawna odpowiedź. Zaznacz wszystkie poprawne i wybierz WERYFIKUJ. + Odpowiadanie wyłączone do: %1$s + Odpowiedź nieprawidłowa! + Następny niedokończony + Kod zapytania: %1$s + (zaznacz wszystkie poprawne odpowiedzi) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Brak połączenia z Internetem + Nie udało się odzyskać + Wymagania celu nie zostały spełnione + diff --git a/plugins/main/src/main/res/values-pl-rPL/strings.xml b/plugins/main/src/main/res/values-pl-rPL/strings.xml index 323d926d55..1fb4bcb7d0 100644 --- a/plugins/main/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/main/src/main/res/values-pl-rPL/strings.xml @@ -1,152 +1,182 @@ - Komunikator SMS SMS - z aplikacji Authenticator dla: %1$s, z doklejonym PIN-em - Dodatkowy obowiązkowy PIN na końcu tokenu - Dodatkowe cyfry, które powinny być zapamiętywane i przyklejone na końcu każdego wygenerowanego hasła jednorazowego - Kod do sprawdzenia: OTP + PIN - Kod weryfikacyjny składa się z 6 cyfr wyświetlanych przez aplikację uwierzytelniającą (tzw. OTP) po których następują co najmniej 3 cyfry obowiązkowego PIN-u. - Resetuj uwierzytelnianie - Resetuj klucz uwierzytelniania - Czy na pewno zresetować klucz uwierzytelniający? Spowoduje to, że wszystkie aktualnie skonfigurowane uwierzytelniania będą niepoprawne i konieczne będzie ponowne ich skonfigurowanie. - Nowy klucz uwierzytelniający został wygenerowany! Proszę użyć zaktualizowanego kodu QRCode do potwierdzenia uwierzytelniania. - Eksportowanie sekretu OTP - Czy na pewno chcesz skopiować klucz tajny OTP do schowka?\n\nMożesz tego potrzebować jeśli Twoja aplikacja uwierzytelniająca (authenticator) ma problemy ze skanowaniem kodu QR, chcesz wprowadzić klucz ręcznie lub chcesz skonfigurować sprzętowy token OTP za pomocą dedykowanej aplikacji. - Klucz tajny OTP (w formacie Base32) został wyeksportowany i skopiowany do schowka. Wklej go przy ręcznym dodawaniu konta w aplikacji authenticator lub użyj w aplikacji konfigurującej tokeny sprzętowe! - 1. Zainstaluj uwierzytelnianie - 3. Sprawdź hasło jednorazowe - Resetuj uwierzytelnianie - Na każdym telefonie śledzącym zainstalować aplikację uwierzytelniania obsługującą tokeny TOTP RFC 6238 Popularne darmowe aplikacje:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Użytkownik - Dozwolone numery telefonów +XXXXXXXXXX;+YYYYYYYYYY - Aby ustawić cel tymczasowy %1$s odeślij w SMS kod %2$s - Aby anulować cel docelowy odeślij w SMS kod %1$s - Aby wyłączyć zdalne sterowanie SMS-ami odeślij kod %1$s.\n\nPamiętaj że możesz to ponownie włączyć tylko bezpośrednio w aplikacji AAPS na głównym telefonie. - Zatrzymano zdalne sterowanie SMS-ami. Aby ponownie włączyć użyj aplikacji AAPS na głównym telefonie. - Aby wysłać kalibrację %1$.2f wprowadź kod %2$s - Bolus nieudany - Minimalna liczba minut która musi upłynąć pomiędzy jednym a drugim zdalnie podawanym bolusem - Ile co najmniej minut musi upłynąć pomiędzy jednym a drugim bolusem - Dla twojego bezpieczeństwa, aby zmienić to ustawienie musisz dodać co najmniej 2 numery telefonów. - Bolus %1$.2f U podany prawidłowo - Pomyślnie podano %1$.2f U bolusa posiłkowego - Cel %1$s na %2$d minut - Pomyślnie ustawiono cel %1$s na %2$d minuty - Pomyślnie anulowano cel tymczasowy - Zezwalaj na komendy zdalne via SMS - Pętla (Loop) została wyłączona - Pętla (Loop) została włączona - Pętla (Loop) jest włączona - Aby podłączyć pompę odpowiedz kodem %1$s - Połączenie z pompą nie powiodło się - Aby odłączyć pompę na %1$d minut odpowiedz kodem %2$s - Pompa odłączona - Pompa ponownie podłączona - Zdalne komendy nie są dozwolone - Bolus zdalny niedostępny. Spróbuj ponownie później. - Aby rozpocząć bazę %1$.2f U/h przez %2$d min. odpowiedz kodem %3$s - Aby przełączyć profil na %1$s %2$d%% odpowiedz kodem %3$s - Aby rozpocząć bolus przedłużony %1$.2f U przez %2$d min. odpowiedz kodem %3$s - Aby wprowadzić %1$dg o %2$s odeślij w SMS kod %3$s - Aby rozpocząć bolus przedłużony %1$d%% przez %2$d min. odpowiedz kodem %3$s - Aby wstrzymać pętle na %1$d minut odpowiedz kodem %2$s - Aby wznowić pętlę odpowiedz kodem %1$s - Aby włączyć pętlę odpowiedz kodem %1$s - Aby wyłączyć pętlę odpowiedz kodem %1$s - Tymczasowa baza %1$.2fU/h przez %2$d min rozpoczęta - Bolus przedłużony %1$.2fU na %2$d min. rozpoczęty pomyślnie - Pomyślnie wprowadzono %1$d g węglowodanów - Próba wprowadzenia %1$dg węglowodanów nie powiodła się - Tymczasowa baza %1$d%% przez %2$d min. pomyślnie rozpoczęta - Rozpoczęcie tymczasowej bazy nie powiodło się - Nie powiodło się podanie bolusa przedłużonego - Aby zatrzymać bazę tymczasową wprowadź kod %1$s - Aby zatrzymać bolus przedłużony wprowadź kod %1$s - Baza tymczasowa anulowana - Przedłużony bolus anulowano - Anulowanie tymczasowej bazy nie powiodło się - Anulowanie bolusa przedłużonego nie powiodło się - Nieznane polecenie lub błędna odpowiedź - W kolejce oczekuje inny bolus. Spróbuj ponownie później. - Zły czas trwania - Pętla wstrzymana - Pętla wznowiona - Nieprawidłowy numer telefonu SMS - Kalibracja wysłana. Odbiór musi być włączony w xDrip+. - xDrip+ nie odbiera kalibracji - Błędny tekst wiadomości - Wyślij SMS, jeśli wyzwolone jest zdarzenie pompy nieosiągalnej - Zgłoś nieosiągalną pompę Delta: IOB: Bolus: - Baza: - DIA Lyumjev - Profil insulinowy dla Humalog i Novorapid / NovoLog - Profil insulinowy dla Fiasp - Profil insulinowy dla Lyumjev - Pozwala na określenie czasu wartości szczytowej działania insuliny i powinno być używane tylko przez zaawansowanych użytkowników INS - IOB Czas piku krzywej działania insuliny - Czas piku [min] - Szczyt - Swobodny-Pik Oref - Szybko-Działający Oref - DIA %1$f zbyt krótki - przyjmuję %2$f w zamian! - - Pokaż informacje o swojej pętli na watchface xDrip+. + - Wyświetla dane posiłków zdefiniowanych w Nightscout - Filtr - Posiłek - kJ - En - Bi - - Kategoria - Podkategoria LP - Zdefiniuj profil, który jest dostępny offline. - Jednostki: - Brak nazwy profilu - Błąd w przelicznikach IC - Błąd w wartościach bazy - Błąd w wartościach docelowych - Błąd w wartościach ISF - Błędny profil %1$s nie został zaakceptowany z NS - Podgląd - Błędy - Nazwa profilu: DIA - IC - ISF - CEL BAS - Użyto przeliczonych wartości - Zbyt bliskie pomiary glikemii:\n%1$s\n%2$s - Zmiana czasu w 24h lub mniej - Zmiana czasu nastąpiła mniej niż 3 godziny temu - Zamknięta pętla wyłączona - stara wersja - bardzo stara wersja - Aplikacja wygasła - Nowa wersja dostępna co najmniej %1$d dni! Powrót do LGS (zawieszania podawania bazy przy niskim poziomie) po %2$d dniach, pętla zostanie wyłączona po %3$d dniach - Nie ukończono - Czas jaki upłynął + Ukończone, wspaniale! + Maks. IOB ustawione poprawnie + BG dostępne z wybranego źródła + Pętla włączona + Wybrano APS + Tryb zamknięty włączony + OBJ + Program do nauki + Czy chcesz zresetować czas rozpoczęcia zadania? Możesz utracić postępy. + Wyczyść skończone + Wyczyść rozpoczęte + + Niektóre przyciski umożliwiające szybki dostęp do typowych funkcji + ACT + Narzędzia + Kaniula + Użycie funkcji Extended bolus spowoduje zatrzymanie trybu pętli zamkniętej na czas działania przedłużonego bolusa. Czy na pewno tego chcesz? + Błąd dostarczania bolusa przedłużonego + + Ograniczam bolus do %1$.1f U z uwagi na %2$s + Ograniczam węglow. do %1$d g z uwagi na %2$s + Ograniczam IOB do %1$.1f U z uwagi na %2$s + Pompa nie jest zdolna do wykonywania dawek bazowych tymczasowych + Tryb zamkniętej pętli wyłączony w ustawieniach + UAM jest wyłączone ponieważ zależy od wtyczki wrażliwości Oref1 + Uruchomiona jest wersja dev. Zamknięta pętla jest wyłączona. + Zamknięta pętla wyłączona, ponieważ działa Extended Bolus (bolus przedłużony) + SMB zawsze i po węglow. wyłączone z uwagi na brak źródła BG z zaawansowanym filtrowaniem + SMB nie dozwolone w trybie otwartej pętli + maks. wartość w ustawieniach + twarde ograniczenie + Bezpieczeństwo terapii + Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa + Dziecko + Nastolatek + Osoba dorosła + Osoba dorosła insulinooporna + Ciąża + Maks. dopuszczalny bolus [U] + Maks. dopuszczalne węglowodany [g] + Typ pacjenta + Wycisz + Pokaż diody stanu na ekranie głównym + Ostrzeżenie o czasie insuliny [h] + Krytyczny czas insuliny [h] + Ostrzeżenie o czasie sensora CGM [h] + Krytyczny czas sensora CGM [h] + Próg ostrzeżenia o poziomie baterii sensora [%] + Próg ostrzeżenia o krytycznym poziomie baterii sensora [%] + Próg ostrzeżenia o wieku baterii pompy [g] + Próg krytycznego wieku baterii pompy [g] + Próg ostrzeżenia o poziomie zbiornika [U] + Próg ostrzeżenia o krytycznym poziomie zbiornika [U] + Próg ostrzeżenia o poziomie baterii pompy [%] + Próg krytycznego poziomu baterii pompy [%] + Wskaźniki stanu + Kopiowanie ustawień z NS + Menu wykresu + Tryb APS + Akceptuj nową bazę tymczasową: + CGM + Bolus zdefiniowany + + Restart + Dostarcz teraz + Wyczyść kolejkę + Pokaż kolejkę + Kolejka: + Status: + Pełna synchronizacja + Wykonać pełną synchronizację? Może ona potrwać wiele godzin i aż do jej zakończenia nie zobaczysz nowych danych w NS. + Synchronizacja + Profile, bolusy, węglowodany, tymczasowe bazy są przesyłane do NS + Prześlij dane do NS + Odbieraj zapisane profile + Synchronizuj profile z edytorem profilów NS + Odbieraj cele tymczasowe + Akceptuj cele tymczasowe wprowadzone przez NS lub NSClient + Odbieraj zmiany profilu + Akceptuj zmiany profilu wprowadzone przez NS lub NSClient + Odbieraj zdarzenia o rozłączeniu APS + Akceptuj zdarzenia o rozłączeniu APS wprowadzone przez NS lub NSClient + Odbieraj wpisy o insulinie + Akceptuj wpisy o insulinie wprowadzone przez NS lub NSClient (insulina nie zostanie podana, jedynie obliczona do IOB) + Odbieraj wpisy o węglowodanach + Akceptuj węglowodany wprowadzone przez NS lub NSClient + Odbieraj zdarzenia związane z leczeniem + Akceptuj zdarzenia związane z leczeniem (kaniula, insulina, zmiana baterii itp.) wprowadzone przez NS lub NSClient + Odbieraj/uzupełnij dane CGM + Akceptuj dane CGM z NS + Uruchomić %s? + Wysyłaj dane wolniej + Utwórz powiadomienia z alarmów NS + Utwórz powiadomienia z komunikatów NS + + Twoja nazwa użytkownika Tidepool, zwykle Twój adres e-mail + Login nazwa użytkownika + Twoje hasło logowania do Tidepool + Hasło logowania + Sprawdź dostęp do Tidepool + Jeśli ta opcja jest włączona, przesyłanie będzie dostępne na https://int-app.tidepool.org zamiast zwykłego https://app.tidepool.org/ + Użyj serwerów integracyjnych (testowych) + Tidepool + TDP + Prześlij dane do Tidepool + Prześlij dane CGM + Prześlij terapię (insulina, węglowodany) + Prześlij bazy tymczasowe + Prześlij zmiany profilu, cele tymczasowe + Prześlij testowe BG + Prześlij teraz + + Integracja z pompami, które nie posiadają jeszcze żadnego sterownika (Open Loop) + Ustawienia pompy wirtualnej + Przesyłaj status do NS + + Pobieraj wartości BG z Nightscout + xDrip+ + Pobieraj wartości BG z xDrip+. + Dexcom Patched + DEX.PATCH. + Pobieraj glikemię ze spatchowanej aplikacji Dexcom. + Apka Eversense (spatchowana) + Pobieraj wartości BG ze spatchowanej aplikacji Eversense. + Pobieraj wartości BG z Glimp. + Pobieraj wartości BG z uploadera pomp serii 600. + Poctech + Odczytuj wartości BG z aplikacji Poctech + Glunovo + Otrzymuj wartości z aplikacji Glunovo + Tomato (MiaoMiao) + Tomato + Otrzymuj poziomy cukru (BG) z Apki Tomato) (urządzenie MiaoMiao) + Ustawienia wysyłania wartości BG (poziomów cukru) + + Używaj danych komórkowych + Używaj Wi-Fi + WiFi SSID + Podczas ładowania + Na baterii + Twórz powiadomienia o błędach + Twórz powiadomienia z wymaganych dodatkowych węglowodanów (sugestii dosłodzenia) + Twórz powiadomienia Nightscout o błędach i lokalnych alarmach (również widoczne w PortaluOpieki w ramach Leczenia) + Twórz powiadomienia w Nighstcout na podstawie sugestii dosłodzenia + Synchronizuje twoje dane z Nightscout + OAPS + UPLD + + Motyw oryginalny + Mały ekran + Przyciski są zawsze wyświetlane na dole ekranu + Duży ekran + Motyw diff --git a/plugins/main/src/main/res/values-pt-rBR/exam.xml b/plugins/main/src/main/res/values-pt-rBR/exam.xml new file mode 100644 index 0000000000..3994f9b1f6 --- /dev/null +++ b/plugins/main/src/main/res/values-pt-rBR/exam.xml @@ -0,0 +1,227 @@ + + + O que é verdade sobre o DAI? + Duração da Atividade da Insulina (DAI) + Você deve definir o valor para a DAI no seu perfil. + A menor duração permitida é de 5 horas. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Se você estiver satisfeito com um valor da DAI que funcionava bem na sua bomba antes do AndroidAPS, não há necessidade de modificar esse valor quando você começa o loop. + Você deve determinar por si mesmo o valor apropriado para a DAI. + Alvo Temporário para hipoglicemia + Qual é a razão principal para definir um alvo temporário de hipoglicemia? + Corrigir hipoglicemias causadas por configurações incorretas da dose basal. + Para evitar que o AAPS corrija de forma excessiva uma subida rápida na glicose causada por \"carboidratos de alto índice glicêmico\" usados para tratar hipoglicemia. + Corrigir uma hipoglicemia causada por exercícios físicos. + Prevenir que a glicose fique baixa em uma situação em que já há uma dose basal temporária de 0% ativa. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Qual perfil pode ser usado e configurado offline? + Tópico: Perfil Offline + Perfil NS pode ser usado, mas não configurado. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Motivos para ativar o modo \"Desconectar bomba\" no AndroidAPS + O que deve ser feito ao desligar a bomba? + É um procedimento desnecessário, pois a insulina não é administrada se a bomba estiver fisicamente desconectada. + Isto previne o APPS de contabilizar a insulina que não foi aplicada uma vez que a bomba estava fisicamente desconectada. + Isso não interromperá a administração de insulina se a bomba permanecer conectada. + Isso colocará o AndroidAPS no modo loop aberto. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Configurações do AAPS + Configurações do AAPS + Quais são as melhores práticas para fazer backup de suas configurações? + Você não precisa exportar suas configurações desde que estejam salvas em algum lugar (e. g. faça uma anotação). + Exporte suas configurações após concluir um objetivo. + Exporte as suas configurações após alterá-las. + Exporte suas configurações após concluir sua configuração inicial e após definir suas preferências. + Exporte as suas configurações localmente usando o menu de manutenção. + Seu arquivo de configurações pode ser encontrado no armazenamento interno/AAPS/preferences do seu telefone. Pode ser necessário exibir arquivos ocultos do sistema nas configurações de seu navegador de arquivos para encontrar a pasta AAPS. + Copie seu arquivo de preferências para um local seguro fora de seu telefone (por exemplo, usando uma unidade na nuvem, conectando um cabo a um computador, e-mail, etc.) + Se seu telefone ficar danificado ou se você perder-lo, existem maneiras fáceis de recuperar suas configurações remotamente sem um backup local. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Leituras do CGM imprecisas + O que deve ser feito se os dados do CGM são irregulares? + Não faça nada. O AndroidAPS vai lidar com isso sozinho. + Desative o loop fechado para evitar uma possível dosagem maior ou menor que a necessária. + Troque sensores que apresentam erros ou medições imprecisas. + Verifique se seu aplicativo CGM fornece dados suavizados. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Exercício e Perfis + Como seria a melhor forma de usar os perfis para ajudar o sistema a lidar com exercício aeróbico? + Altere o perfil para menos de 100%. + Altere o perfil para mais de 100%. + Deixe seu perfil em 100%. + Suspenda o loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Exercício e Alvos Temporários + Como seria a melhor forma de usar os alvos temporários para ajudar o sistema a lidar com exercício aeróbico? + Alguns minutos antes de iniciar o exercício, defina um alvo de glicemia. + Defina um alvo de glicemia após o término do exercício. + Não altere o seu alvo de glicemia. + Aguarde até que a glicemia fique abaixo do seu alvo temporário de hipoglicemia e coma 15g de carbos de ação rápida. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Loop Desativado/Suspenso + Eu recebo insulina quando o loop estiver desactivado/suspenso? + Sim, a insulina basal continua sendo administrada. + Não, a administração da insulina será interrompida. + Testando a basal, FSI e Relação IC + Quando esses valores deveriam ser avaliados? + Antes de iniciar o looping. + Quando ocorrerem hipoglicemias e hiperglicemias frequentes. + Pelo menos uma vez por semana. + Uma vez definido e validado, estes valores não deveriam mudar ao longo do tempo. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Pré-requisitos + O que é essencial para configurar e usar o AndroidAPS? + Informações do perfil validadas (Basal, IC, FSI, DAI). + Um computador com o Android Studio instalado e configurado. + Um telefone compatível. + Uma bomba de insulina compatível se você pretender usar o loop fechado. + Nightscout, para manter um registro de todos os dados e revisar configurações. + Uma conta do Tidepool. + Uma conta Google. + Uma conta do Github. + Experiência na programação ou editação de código. + Uma bomba MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Um Smartwatch. + Um CGM compatível. + Pré-requisitos + O que é essencial para configurar e usar o AndroidAPS? + Informações validadas para configurar um perfil (razão FS, I:C, taxas de basal, DAI etc.). + Um dispositivo Android compatível (por exemplo, celular/celular, relógio Android completo ou tablet). + O AndoidAPS requer uma conexão com a internet para ser executado em Loop fechado. + Um CGM compatível com um app apropriado para receber os valores de glicose no telefone/dispositivo. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Atualizando o AAPS + Marque todas as respostas corretas. + Você precisa ter o Git instalado e configurado no seu computador. + Quando versões atualizadas do AAPS são lançadas, versões anteriores podem ser limitadas remotamente após um determinado tempo. + Você deveria salvar e anotar o local da sua chave de assinatura e usar a mesma chave de assinatura das versões anteriores para as atualizações. + Nunca atualize se o sistema estiver funcionando bem. + Se você tiver dificuldades criando o apk, você pode instalar um apk que foi criado por um amigo. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Resolução de problemas + Onde você pode encontrar ajuda com o AAPS? + Você pode perguntar em grupos de usuários do AndroidAPS no Facebook. + Você pode ler (e reler) a documentação do AAPS. + Você pode pedir ajuda ou registrar problemas técnicos no Discord do AndroidAPS. + Você deveria pedir/perguntar à sua clínica de diabetes/endocrinologista. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Qual insulina você deveria usar com o plugin \"Oref Ultra-Rapid\"? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/insulina humana regular. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Tópico: Plugins de Sensibilidade + Marque todas as respostas corretas. + Plugins de sensibilidade permitem ao AAPS ajustar de forma temporária ou por uma curta duração alterações na sensibilidade à insulina (por exemplo, mudanças hormonais ou problemas com absorção de insulina no local onde ela é aplicada). + Plug-ins de sensibilidade fornecem ao usuário alterações sugeridas nas taxas de basal, relação IC e FSI que podem ser usados para editar o perfil. + Registrar uma troca de cânula irá redefinir a taxa de Autosense de volta para 100%. + Algumas opções de plugin têm intervalos de tempo que podem ser configurados pelo usuário. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Tópico: Erros de Entrada de Carboidratos + O que deve fazer se tiver feito uma entrada incorreta de carboidratos? + Exclua a entrada incorreta em Tratamentos e insira o novo valor de carboidratos correto. + Dê um bolus com insulina usando o menu ações -> purgar/preencher. + Não faça nada. O AAPS vai fazer os ajustes apropriados. + Dê um Bolus com insulina usando o botão Insulina (bolus) no menu Visão Geral. + Tópico: Erros de entrada/administração de insulina + O que você deveria fazer se você receber menos insulina do que o histórico da bomba sugere por exemplo devido a uma oclusão, uma cânula problemática ou esquecer de reconectar a bomba após um banho? + Exclua dados de insulina do Nightscout Careportal para removê-los do histórico da bomba. + Compare os valores no AndroidAPS e no histórico da bomba de insulina (se a bomba tiver essa opção). + Dê uma porção do bolus calculado não administrado por meio de seringa/caneta ou usando o menu ações -> purgar/preencher. + Não faça nada e permita o AAPS corrigir qualquer elevação no nível de glicose. + Carboidratos Ativos (CA) + Como a alteração do valor FS afeta o cálculo de CA? + Aumentando o FS levará mais tempo para absorver carboidratos + Aumentando o FS levará menos tempo para absorver carboidratos + Aumentando o FS não afetará a absorção calculada de carboidratos + Como a alteração do valor de IC afeta o cálculo do CA? + Aumentar a relação insulina/carboidrato (IC) vai fazer com que a absorção de carboidratos leve mais tempo. + Aumentando a relação insulina-carboidrato (IC) fará com que a absorção de carboidratos seja mais rápida. + Aumentar a relação insulina carboidratos (IC) não vai afetar o cálculo de absorção de carboidratos. + Como alterar a porcentagem do perfil afeta o cálculo de CA? + Definir o perfil para 150% levará a absorção de carboidratos em mais tempo + Definir o perfil para 150% levará a absorção de carboidratos em menos tempo + Definir o perfil para 150% não afetará a absorção de carboidratos calculados + Insulina ativa (IA) + O valor de IA é afetado por basais temporárias efetuadas. + Um basal alto temporário não será efetuado quando sua glicose estiver abaixo do alvo. + Insulina Ativa (IA) negativa por um período substancial na ausência de exercícios, sugere que seu perfil é muito agressivo e menos insulina deve ser considerada nas suas configurações. + Insulina Ativa (IA) positiva durante um período substancial sugere resistência à insulina ou refeições não anunciadas. + Tópico: Entrada de carboidratos e bolus + Apenas a unidade \"gramas\" deve ser utilizada para estimar e gravar os carboidratos consumidos. + Carboidratos consumidos podem ser gravados usando um sistema de conversão apropriada (por exemplo, câmbio de \"CHO\" DAFNE ou Unidades de Pão Europeas\"). + O AndroidAPS usa um modelo dinâmico para estimar a \"degradação\" de carboidratos e calcular os carboidratos ativos (CA). + Se os níveis de glicose no sangue estiverem fora dos limites aceitáveis (muito baixo ou muito alto) a calculadora de bolus pode ser usada para fornecer sugestões para correções de carboidrato ou insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + Tópico: e-Carbs + Para que você possa usar os e-carbs (carboidratos estendidos)? + Para agendar carboidratos no futuro, possivelmente distribuídos num intervalo (semelhante a um bolus estendido que distribui insulina num intervalo). + Para registrar carboidratos que você quer esconder do AAPS. + E-carbs (distribuídos no futuro) podem ajudar o AAPS em lidar com comidas ricas em gorduras e proteínas. + Para registrar carboidratos de resgate que você usa para tratar uma glicose baixa + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Tópico: Monitoramento Remoto + Como você poderia monitorar o AndroidAPS (por exemplo, para seu filho) remotamente? + Os aplicativos AAPSClient, Nightscout e o site do Nightscout permitem que você siga o AndroidAps remotamente. + Outros aplicativos (por exemplo, Dexcom Follow, xDrip no modo \"follow\") permitem que você siga alguns parâmetros (por exemplo, valores do sensor de glicose) remotamente, mas esses aplicativos usam algoritmos diferentes, por isso pode ter valores IA ou CA imprecisos. + Para seguir o AAPS remotamente, ambos os dispositivos devem ter acesso à internet (por exemplo, através de Wi-Fi ou pela redes de dados móveis do celular. + NS Client usado como seguidor remoto (\"remote follower\") monitorará e fornecerá controle total do AndroidAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Tópico: Fator de Sensibilidade à Insulina (FSI) + Aumentar os valores do FSI levará à administração de mais insulina para cobrir uma quantidade específica de carboidratos. + Reduzir os valores do FSI levará à adminstração de quantidades maiores de insulina para corrigir uma glicose acima do alvo. + Aumentar ou reduzir o FSI não tem efeito na administração de insulina quando os níveis de glicose estão abaixo do alvo. + O FSI (Fator de Sensibilidade à Insulina) deve ser configurado em Preferências do AAPS. + Alterar o valor do FSI no seu perfil é o suficiente para aplicar a alteração. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Você pode definir mais do que um valor para o rácio IC no seu perfil. + Se você mudar o FSI no seu perfil, também deveria mudar o IC. + Tópico: Relação Insulina:Carboidrato (Relação IC) + Rácios IC mais altos levam a menos insulina administrada por uma dada quantidade de carboidratos. + Rácios IC mais baixos levam a menos insulina administrada por uma dada quantidade de carboidratos. + Se tiver 0 CA, alterar a proporção IC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da glicemia. + O IC será diferente se você contar a unidade (de câmbio) de pão como 10g ou 12g. + O significado do IC é: Quantas unidades (de câmbio) de pão são cobertas por 1U de insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Tópico: Alternando Perfil + Ao especificar uma mudança de perfil de 90%, quais respostas são corretas? + Taxas de basal serão 10% menores. + O valor do FSI será 10% maior. + O valor da relação IC será 10% menor. + As relações FSI e IC não sofrem alterações. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Tópico: Troca de Perfil + Ao especificar uma mudança de perfil de 120%, quais respostas são corretas? + O alvo de glicose será 20% maior. + Os basais serão 20% maiores. + O alvo de glicose não muda. + O valor do FSI será 20% maior. + Tópico: Alternando Perfil + Se você levantar 2h mais cedo do que o normal, como deveria avisar o AAPS da mudança do seu horário? + Iniciar uma mudança de perfil com uma alteração de turno de 2 + Iniciar uma mudança de perfil com uma alteração de turno de -2 + Defina um alvo temporário \"comer em breve\". + Altere seu perfil para mais de 100% + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Tópico: Alterações nos perfis + Taxas de basal, FSI, rácios de IC, etc., devem ser definidos em perfis. + Ativar alterações no seu perfil do Nightscout requer que o telefone do AndroidAPS tenha uma conexão com a Internet. + Apenas editar os valores nos seus perfis é suficiente para implementar as alterações feitas. + Múltiplos perfis podem ser configurados e selecionados para acomodar mudanças de circunstâncias (por exemplo, alterações hormonais, mudança de trabalho, dias de semana/fim de semana). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Tópico: Ajuda com taxas basais + Onde procurar ajuda para taxas basais e etc. + Sua equipe de diabetes + Google + Facebook + Outros Medicamentos. Por favor, leia a declaração abaixo e depois marque a caixa para aceitar a declaração. + O AAPS reduz ou suspende as taxas basais para aumentar a glicose. Remédios do grupo de inibidores de SGLT2 (gliflozins) podem evitar o aumento esperado da glicose e, assim, podem produzir uma falta de insulina perigosa que pode levar à cetoacidose diabética. +\nOs nomes comuns de marca são: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nEu Prometo, através desta declaração, que não vou tomar esses remédios enquanto estou usando o AAPS ou eu desativo o loop antes de usar esses remédios. + diff --git a/plugins/main/src/main/res/values-pt-rBR/objectives.xml b/plugins/main/src/main/res/values-pt-rBR/objectives.xml new file mode 100644 index 0000000000..7f4252df59 --- /dev/null +++ b/plugins/main/src/main/res/values-pt-rBR/objectives.xml @@ -0,0 +1,55 @@ + + + Iniciar + Verificar + %1$d. Objetivo + Objetivo %1$d não iniciado + Objetivo %1$d não concluído + Configurando a visualização e monitoramento, e analisando basais e relações + Verificar se a Glicemia está disponível no Nightscout, e se os dados de insulina da bomba estão sendo transferidos + Iniciando em um loop aberto + Utilize o modo Loop Aberto por alguns dias e execute manualmente várias basais temporárias. Configure e use alvos temporários e defina alvos temporários padrão (por exemplo, para exercício ou tratamento hipos com carboidratos) + Entendendo o seu loop aberto, incluindo as suas recomendações de basais temporárias + Com base nessa experiência, decidir qual deve ser a basal máximo e configurá-lo na bomba e nas preferências + Comece a fechar loop com Suspensão por Glicose Baixa + Utilizar em close loop com IA máx = 0 por alguns dias sem muitas situações de Suspensão por Baixa Glicose + Ajustar o loop fechado, aumentar a IA máxima acima de 0 e reduzir gradualmente os alvos de glicemia + Utilizar por alguns dias e pelo menos uma noite sem alarmes de glicose baixa, antes de baixar a glicemia + Ajuste as basais e os parâmetros, se necessário, e, em seguida, ative o auto-sens + 1 semana de looping durante o dia com sucesso com entrada regular de carboidratos + Activando recursos adicionais para uso durante o dia, como SMB + Ativando a automação + Deverá ler a wiki e aumentar a IA máx para que os SMBs funcionem corretamente! Inicialmente poderá considerar maxIA=média dos bólus + 3 x a basal diária máxima + Leia os documentos de como a automação funciona. Configure suas primeiras regras simples. Em vez de efetuar uma ação deixe AAPS apresentar apenas uma notificação. Quando você tiver certeza de que a automação é acionada no momento certo substitua a notificação por uma ação real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glicose disponível no NS + Status da Bomba disponível no NS + Execução manual + Concluído: %1$s + Aprenda como controlar o AndroidAPS + Realizar diferentes ações no AAPS + Definir perfil de 90% por 10 min (pressione longo no nome de perfil na Visão Geral) + Simular banho. Suspender e desconectar a bomba por 1h (Pressione longo em Loop Aberto) + ... e volte a conectar da mesma forma + Crie um alvo temporário personalizado com 10 min de duração (pressione longo no seu alvo atual) + No Configurador ative o plugin de Ações, torne-o visível e exiba o seu conteúdo no menu superior + Mostrar conteúdo do plugin Loop + Ajuste a escala ao pressionar por um tempo o gráfico da glicemia + Inserir + Se você tiver pelo menos 3 meses de experiência com sistemas Closed Loop com outros aplicativos, pode-se qualificar por um código para pular os objetivos. Vê https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives para mais detalhes. + Código aceito + Código inválido + Prove seu conhecimento + Estude as perguntas. Haverá quatro respostas possíveis para cada pergunta. Pode ter mais do que uma resposta correta. Por favor, marque todas as que estão corretas e selecione VERIFICAR. + Resposta desativada até: %1$s + Resposta errada! + Próximo inacabado + Pedir Código: %1$s + (marque todas as respostas correctas) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Não está conectado à internet + Falha no tempo de recuperação + Requisitos de objetivo não cumpridos + diff --git a/plugins/main/src/main/res/values-pt-rBR/strings.xml b/plugins/main/src/main/res/values-pt-rBR/strings.xml index 64498d8f54..5e5abf59b7 100644 --- a/plugins/main/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/main/src/main/res/values-pt-rBR/strings.xml @@ -1,166 +1,198 @@ - Comunicador SMS SMS - Controle remotamente o AndroidAPS usando comandos SMS. - do aplicativo Autenticador para: %1$s seguido por PIN - PIN adicional obrigatório no fim do token - Dígitos adicionais que devem ser memorizados e colados no final de cada Uma-Password-Única que seja gerada - Código para verificar: - CÓDIGO + PIN - O código de verificação consiste em 6 dígitos exibidos pelo app Autenticador (conhecido como OTP) seguido por 3 ou mais dígitos do PIN obrigatório. - Repor Autenticadores - Repor Chave Autenticador - Tem certeza de redefinir chave Authenticador? Ele tornará todos os Authenticators configurados atualmente como inválidos, e precisará de os configurar novamente. - Nova Chave do Autenticador foi gerada! Por favor, use o QRCode atualizado para os autenticadores. - Exportando senha OTP - Tem certeza de que deseja copiar a senha OTP para a área de transferência?\n\nGeralmente, isso somente é necessário se o aplicativo autenticador apresenta problemas para escanear o QRCode, se você quer inserir a senha manualmente ou se você deseja configurar um token físico (hardware) de OTP usando um aplicativo dedicado. - Senha OTP (no formato Base32) exportada e copiada para a área de transferência. Cole-a em um aplicativo autenticador ou gravador de dispositivo OTP físico! - 1. Instalar Autenticador - 2. Escaneie o QR Code para configurar os códigos OTP do AAPS - 3. Teste Uma-Password-Única - Repor Autenticadores - Instalar uma app Autenticador que suporte Tokens RFC 6238 TOTP em cada telefone seguidor. Populares aplicativos gratuitos são:\n • Authy\n • o Google Authenticator\n • LastPass Autenticador\n • FreeOTP Autenticador - Ao redefinir o autenticador, você torna todos os autenticadores já provisionados inválidos. Você precisará configurá-los novamente! - Usuário - Números de telefone permitidos +XXXXXXXXXX;+YYYYYYYYYY - Para definir o Alvo Tempo %1$s responda com o código %2$s - Para cancelar Alvo Temp responda com o código %1$s - Para desativar o Serviço Remoto SMS de responda com o código %1$s.\n\nTenha em mente que será capaz de o reativar diretamente apenas a partir do celular principal do AAPS. - SMS Serviço Remoto interrompido. Para reativá-lo, use o AAPS no telemóvel mestre. - Para enviar calibração %1$.2f responder com código %2$s - Bolus falhou - Número mínimo de minutos que deve decorrer entre um bólus remoto e o próximo - Quantos minutos deve decorrer, pelo menos, entre um bólus e o próximo - Para sua segurança, para editar esta preferência você precisa adicionar pelo menos 2 números de telefone. - Bolus %1$.2f U aplicado com sucesso - Bolus da refeição %1$.2f U aplicado com sucesso - Alvo %1$s para %2$d minutos - Alvo %1$s para %2$d minutos definido com sucesso - Alvo Temp cancelado com êxito - Permitir comandos remotos via SMS - Loop foi desativado - Loop foi ativado - Loop ativado - Para conectar à bomba responda com o código %1$s - Conexão com a bomba falhou - Para desconectar a bomba por %1$d minutos responda com código %2$s - Bomba desconectada - Bomba reconectada - O comando remoto não é permitido - O bolus remoto não está disponível. Tente novamente mais tarde. - Para começar o basal %1$.2fU/h durante%2$d min responda com o código %3$s - Para mudar o perfil para %1$s %2$d%% responda com o código %3$s - Para começar o bólus estendido %1$.2fU/h para %2$d min responda com o código %3$s - Para inserir %1$dg em %2$s responda com código %3$s - Para começar a basal %1$d%% U/h durante %2$d min responda com o código %3$s - Para suspender o loop por %1$d minutos resposta com código %2$s - Para retomar o loop responda com o código %1$s - Para ativar o loop responda com o código %1$s - Para desativar o loop responda com o código %1$s - Basal temporária %1$.2fU/h para %2$d min iniciada com êxito - Bólus estendido %1$.2fU/h para %2$d min iniciado com êxito - Carboidratos %1$d g inseridos com sucesso - Introdução de %1$dg de hidratos falhou - Basal temporária %1$d%% U/h durante%2$d min iniciada com êxito - Falha ao iniciar basal temp - Falha ao iniciar o bolus estendido - Para parar a basal temporária responda com o código %1$s - Para parar o bólus temporário responda com o código %1$s - basal temporária cancelada - Bólus estendido cancelado - Cancelamento do basal temporário falhou - Falhou o cancelamento do bolus extendido - Comando desconhecido ou resposta errada - Há outra bolus na fila. Tente novamente mais tarde. - Duração errada - Loop suspenso - Loop retomado - Número de telefone inválido para comunicação por SMS - Calibração enviada. O recebimento deve estar ativado no xDrip+. - xDrip+ não está recebendo calibrações - Corpo da mensagem inválido - Enviar SMS se um evento de bomba inacessível for identificado - Reportar bomba inacessível Delta: IOB: Bolus: Basal: - Código QR para configuração de senha de uso único - DIA Lyumjev - Predefinição de Insulina para Humalog e NovoRapid / NovoLog - Pré-ajuste de Insulina para Fiasp - Configuração pre-definida para a Insulina Lyumyev - Permite que você defina o pico da atividade de insulina, deve ser usado apenas por usuários avançados INS - Tempo Pico da curva de IOB - Tempo Pico [min] - Pico - Oref Pico-Livre - Oref Ação Rápida - Duração de Acção da Insulina (DIA) de %1$f demasiado curto - corrigido para %2$f! - - Mostrar informações sobre o loop no watchface do xDrip+. + - Exibe as predefinições de comida definidas no Nightscout - Filtros - Alimentos - kJ - En - Pr - Gor - Categoria - Subcategoria - Esquema de cores do aplicativo - Tema escuro - Tema claro - Usar tema do dispositivo - PL - Defina um perfil que está disponível offline. - adicionar novo à lista - Unidades: - Nome do perfil ausente - Erro nos valores de I:C - Erro nos valores da basal - Erro nos valores de alvo - Erro nos valores de FSI - Perfil inválido %1$s não aceito do NS - Visualização - Selecione um perfil para editar - Nome do Perfil: - adicionar novo perfil - clonar perfil atual - excluir perfil atual DIA - IC - FSI - ALV BAS - Dados recalculados foram utilizados - Glicemia muito próxima:\n%1$s\n%2$s - recalculada - entradas duplicadas - Horário de Verão em 24h ou menos - Horário de Verão a menos de 3 horas - Closed Loop desligado - versão antiga - versão muito antiga - Aplicativo expirou - Nova versão para pelo menos %1$d dias disponíveis! Retorno a LGS após %2$d dias, o loop será desativado após %3$d dias - Incompleto - Tempo decorrido + Terminado, parabéns! + IOB máxima definida correctamente + Glicemia disponivel desde a fonte selecionada + Loop activado + APS seleccionado + Modo fechado ativado + OBJ + Programa de aprendizagem + Deseja reiniciar o objetivo? Pode perder seu progresso. + Limpeza terminado + Limpeza iniciado + + Alguns botões para acessar rapidamente a funções comuns + ACT + Ferramentas + Cânula + O uso do Bólus Estendido irá parar o modo Closed Loop no tempo do bólus estendido. Quer realmente isso? + Erro na entrega Bólus Estendido + idade da cânula + Idade da bomba patch + Bomba patch + + A limitar bólus estendido para %1$.1f U porque %2$s + A limitar hidratos para %1$d g porque %2$s + A limitar IOB para %1$.1f U porque %2$s + A bomba não é capaz de basais temporárias + Loop fecchado disabilitado nas preferências + UAM desativado porque confia no plugin de sensibilidade Oref1 + A correr a versão dev. O Loop fechado está desabilitado. + Closed Loop desabilitado por causa da execução do Bólus Estendido + SMB sempre e depois dos hidratos desactivado por fonte da Glicemia activa não suportar filtro avançado + SMB não permitido no modo open loop + valor máx nas preferências + limite rígido + Segurança do Tratamento + Selecione o tipo de paciente para configurar os limites de segurança + Criança + Adolescente + Adulto + Adulto resistente à insulina + Grávida + Máximo bolus permitido [U] + Máximo de carbs permitidos [g] + Tipo de paciente + Silenciar + Mostrar luzes de estado no ecrã principal + Aviso de limite da vida útil da insulina [h] + Aviso de limite crítico da vida útil da insulina [h] + Aviso de limite da vida útil do sensor [h] + Aviso de limite crítico da vida útil do sensor [h] + Aviso de limite do nível da bateria do sensor [%] + Aviso de limite crítico do nível da bateria do sensor [%] + Aviso de limite da vida útil da bateria da bomba [h] + Aviso de limite crítico da vida útil da bateria da bomba [h] + Aviso de limite de nível de reservatório [U] + Aviso de limite crítico de nível de reservatório [U] + Aviso de limite do nível da bateria da bomba [%] + Aviso de limite do nível crítico da bateria da bomba [%] + Luzes de estado + Copiar definições do NS + gráfico + insulina + qualidade da glicemia + glicemia + desatualizado + Modo APS + Aceitar nova basal temporária: + CGM + Assistente Rápido + + Reiniciar + Entregar agora + Limpar fila + Mostrar fila + Fila: + Status: + Sincronização completa + Sincronização completa? O processo pode levar muitas horas e durante esse período você não verá novos dados no NS. + Sincronização + Perfis, bolus, carboidratos, basais temporários são enviados para NS + Enviar dados para NS + Receber perfil armazenado + Sincronizar perfis vindo do editor de perfis do NS + Receber alvos temporários + Aceitar alvos temporários inseridos através do NS ou NSClient + Receber trocas de perfil + Aceitar trocas de perfil inseridas através de NS ou NSClient + Receber eventos APS offline + Aceitar eventos APS offline inseridos através de NS ou NSClient + Receber taxa basal temporária (TBT) e bolus estendido (e-bolus ou BE) + Aceitar taxa basal temporária (TBT) e bolus estendido (BE) informados por outra instância + Receber insulina + Aceitar insulina inserida através de NS ou NSClient (não é administrada, apenas serve para o cálculo da IA) + Receber carboidratos + Aceitar carboidratos inseridos através de NS ou NSClient + Receber eventos de terapia + Aceitar eventos de terapia (cânula, insulina, troca de bateria etc) inseridos através de NS ou NSClient + Receber dados recentes e dados antigos do CGM + Aceitar dados de CGM do NS + Executar %s? + Desacelerar os envios de dados + Criar notificações dos alarmes do NS + Criar notificações dos anúncios do NS + + Nome de utilizador no Tidepool, normalmente seu endereço de e-mail + Nome de Utilizador + Palavra-passe da conta Tidepool + Palavra-passe + Teste de Conta Tidepool + Se activado, envio será para https://int-app.tidepool.org em vez do habitual https://app.tidepool.org/ + Usar servidores de integração (teste) + Tidepool + TDP + Enviar dados para Tidepool + Enviar dados CGM + Enviar tratamentos (insulina, hidratos) + Enviar basais temporárias + Enviar trocas de perfil, alvos temporários + Enviar testes Glicemia + Remover todos + Iniciar reinicialização + Enviar agora + + Integração para as bombas que não têm qualquer driver ainda (Open Loop) + Definições da bomba virtual + Enviar estado para NS + + Downloads de dados de Glicose do Nightscout + xDrip+ + Receber valores de glicose do xDrip+. + BYODA + BYODA + Receber valores de glicemia do \'Build Your Own Dexcom App\'. + Aplicação Eversense (com patch) + Receber valores de Glicose da aplicação Eversense modificada. + Receber valores BG do Glimp. + Receber valores de Glucose do 600SeriesAndroidUploader. + Poctech + Receber valores Glucose da app Poctech + Glunovo + Receber valores GLIC do aplicativo Glunovo + Intelligo + Receber valores da app Intelligo + Tomato (MiaoMiao) + Tomato + Receber valores de Glicose da aplicação Tomato (dispositivo MiaoMiao) + Aidex + Receber valores BG do GlucoRx Aidex CGMS. + Configurações de upload de BG + + Usar conexão móvel + Utilizar conexão Wi-Fi + WiFi SSID + Durante o carregamento + Usando bateria + Criar anúncios dos erros + Criar anúncios a partir da alerta de carboidratos requeridos + Criar um anúncio no Nightscout para caixas de diálogo de erro e alertas locais (também podem ser visualizados em Careportal sob tratamentos) + Criar anúncios no Nightscout para alertas de carboidratos requeridos + Sincroniza seus dados com o Nightscout + Bloqueado pelas opções de carregamento + Bloqueado pelas opções de conectividade + OAPS + UPLD + + Tema original + Design de baixa resolução + Botões são sempre exibidos na parte inferior da tela + Mostrador Grande + Tema diff --git a/plugins/main/src/main/res/values-pt-rPT/exam.xml b/plugins/main/src/main/res/values-pt-rPT/exam.xml new file mode 100644 index 0000000000..dac04dd301 --- /dev/null +++ b/plugins/main/src/main/res/values-pt-rPT/exam.xml @@ -0,0 +1,179 @@ + + + O que é verdade sobre DIA? + Duração da Acção da Insulina (DIA) + Deve definir o valor da DIA no seu perfil. + O valor mínimo permitido são 5 horas. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Deve determinar para o seu valor adequado para a DIA. + Hipo Alvo-Temp + Qual é a principal razão para definir um alvo temporário? + Para corrigir hipos causadas por configurações de taxa de basal incorretas. + Para corrigir uma hipo induzida como resultado de exercício. + Para evitar que a glicose no sangue baixe se verificar já uma taxa de basal temporária de 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Qual perfil pode ser usado e configurado offline? + Tópico: Perfil Offline + Perfil NS pode ser usado, mas não configurado. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + O que deve ser feito ao desligar a bomba? + Isto é desnecessário, uma vez que a insulina não será administrada se a bomba estiver fisicamente desconectada. + Não interromperá a administração de insulina se a bomba permanecer conectada. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Quais são as melhores práticas para cópia de segurança das suas configurações? + Não precisa exportar as suas configurações desde que faça uma anotação delas. + Exporte suas configurações depois de concluir um objetcivo. + Exporte as suas configurações após alterar qualquer uma das suas configurações. + Exporte suas configurações após concluir sua configuração inicial e definir suas Preferências. + Exporte localmente as suas configurações usando o menu de manutenção. + Ficheiro de configurações é encontrado no armazenamento interno/AAPS/preferences na pasta do seu telefone. + Copie o seu ficheiro de preferências para um local seguro fora do seu telefone (por exemplo, um disco na cloud, ligando um cabo a um computador, email, etc.) + Se o seu telefone estiver danificado ou perdido, há maneiras fáceis de recuperar suas configurações remotamente sem uma copia de segurança. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Leituras Irregulares CGM + O que deve ser feito se os dados do CGM são irregulares? + Desactive o closed loop para evitar o sobre ou a subdosagem. + Substitua sensores consistentemente irregulares ou imprecisos. + Verifique se app do CGM fornece dados suave. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Exercício e Perfis + Como pode utilizar melhor os perfis para ajudar o sistema a lidar com exercício aeróbico? + Faça troca de perfil para menos de 100%. + Faça troca de perfil para mais de 100%. + Deixe o perfil definido para 100%. + Suspender o loop. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Exercício e Alvos Temporários + Como pode utilizar alvos temporários da melhor maneira para ajudar o sistema a lidar com exercício aeróbico? + Defina um alvo de actividade de glicose para começar a um tempo adequado antes do início do exercício. + Defina um alvo de actividade de glicose após terminar o exercício. + Deixe o seu alvo de glicose inalterado. + Espere até que a glicose no sangue baixe abaixo do seu alvo temporário de hipo e, em seguida, coma 15 g de hidratos rápidos. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Loop Desactivado/Suspenso + Eu recebo insulina quando o loop estiver desactivado/suspenso? + Sim, a insulina basal continua a ser administrada. + Não, administração da insulina está parada. + Testes de Basal, FSI e I:HC + Quando esses valores devem ser validados? + Antes de começar com o looping. + Quando passar por frequente glicose alta ou baixa. + Pelo menos uma vez por semana. + Uma vez definido e validado, estes valores não devem mudar ao longo do tempo. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Pré-requisitos + Informações do perfil validadas (Basal, IC, FSI, DIA). + Um computador com Android Studio instalado e configurado. + Um telefone compatível. + Uma bomba de insulina compatível se planeia correr um closed loop. + Nightscout, para manter um registo de todos os dados e rever as configurações. + Uma conta Tidepool. + Uma conta Google. + Uma conta Github. + Experiência na programação ou edição de código. + Uma bomba MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Um Smartwatch. + Um CGM Suportado. + Pré-requisitos + Informações validadas para configurar um perfil (FSI, rácio I:HC, taxas de basal, DIA etc.). + Um dispositivo Android compatível (por exemplo, smartphone, relógio Full Android ou tablet). + Um CGM suportado e app apropriada para receber valores da glicose no sangue no telemóvel/dispositivo. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Seleccione todas as respostas correctas. + Precisa ter Git instalado e configurado no computador. + Deve guardar e anotar a localização da sua keystore e utilizar a mesma chave de assinatura para actualizações como para a instalação anterior. + Nunca actualize se o sistema estiver a funcionar bem. + Se tiver dificuldade em construir o apk, pode instalar um apk que foi construído por um amigo. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Resolução de Problemas + Deveria pedir à sua clínica de diabetes/endocrinologista. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Que insulina deve utilizar com o plugin Oref Ultra-Rápida ? + Fiasp® + NovoRapid®/Novolog® + Humalog ® + Actrapid®/Humalin R®/\"regular\" insulina humana. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Plugins de Sensibilidade + Marque todas as respostas correctas. + Plug-ins de sensibilidade fornecem ao utilizador alterações sugeridas nas taxas de basal, rácios I:HC e FSI que podem ser utilizados para editar perfil. + Registar uma mudança de cânula irá redefinir a taxa de Autosens de volta para 100%. + Algumas opções de plugin têm intervalos de tempo configuráveis que podem ser configurados pelo utilizador. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Erros de Entrada de Hidratos + O que deve fazer se tiver feito uma entrada incorrecta de hidratos? + Elimine a entrada incorreta em Tratamentos e insira o novo valor correto dos hidratos. + Bólus com insulina usando o conjunto de infusão no menu purgar. + Bólus com insulina usando o botão Insulina (bólus) na Visão Geral. + Erros de entrada/administração de insulina + O que deve fazer se receber menos insulina do que o histórico da bomba sugere por exemplo devido a uma oclusão, uma cânula danificada ou esquecer-se de reanexar a bomba após um banho? + Elimine dados de insulina do Nightscout Careportal para removê-lo do histórico da bomba. + Bólus uma proporção de insulina calculada \'não administrada\' ou com seringa/caneta ou purgando. + Insulina ativa (IA ) + O valor do IA é afectado por basais temporárias emitidas. + Basal temporária alta não será dada quando a sua glicose estiver abaixo do alvo. + IA negativa por um período substancial na ausência de exercício, sugere que o seu perfil é muito alto e é necessária menos insulina nas suas configurações. + IA positiva durante um período substancial sugere resistência à insulina ou refeições não introduzidas. + Entrada de hidratos e bólus + Apenas gramas devem ser utilizados para estimar e registar hidratos de carbonos consumidos. + Hidratos de Carbono consumidos podem ser registados usando um sistema de troca apropriado (por exemplo, DAFNE \"CHO\" ou \"Unidades de Pão\" Europeus). + Se os níveis de glicose no sangue estiverem fora dos valores aceitáveis (muito baixos ou muito altos) a calculadora de bólus pode ser usada para fornecer sugestões para correções de hidratos ou insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + hidratos-e + Para que poderia utilizar os hidratos-e (hidratos estendidos)? + Para agendar hidratos no futuro, possivelmente distribuídos num intervalo (semelhante a um bólus estendido que distribui insulina por um intervalo). + Para registar hidratos de resgate que usa para tratar hipoglicemia. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Monitorização Remota + Outras apps (por exemplo, Dexcom follow, xDrip em modo seguidor) permitem que siga alguns parâmetros (por exemplo, valores de glicose no sangue/sensor) remotamente, mas usam diferentes algoritmos, pode ter valores IA ou HCA imprecisos. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Factor Sensibilidade à Insulina (FSI) + Aumento dos valores de FSI leva a maior mais administração de insulina para uma quantidade específica de hidratos. + Reduzir os valores de ISF leva a maior administração de insulina para corrigir para uma glicose acima do alvo. + Aumentar ou reduzir o FSI não tem efeito na administração de insulina quando os níveis de glicose estão abaixo do alvo. + A alteração do valor do FSI no seu perfil é suficiente para aplicar a mudança. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Pode utilizar mais de um valor para o rácio I:HC no seu perfil. + Se alterar o seu FSI no perfil, também deve mudar a taxa de I:HC. + Rácio Insulina por Hidratos de Carbono (Rácio I:HC) + Rácios I:HC mais altos levam a menos insulina administrada para uma dada quantidade de hidratos. + Rácios I:HC mais baixos levam a menos insulina administrada para uma dada quantidade de hidratos. + Se tiver 0 HCA, alterar o rácio IHC irá levar a uma quantidade diferente de insulina para corrigir um determinado valor da GLIC. + I:HC será diferente se contar a unidade de pão como 10g ou 12g. + O significado do I:HC é: Quantas unidades de pão são cobertas por 1U de insulina. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Troca de Perfil + Ao especificar uma troca de perfil de 90%, quais respostas são verdadeiras? + Taxas de basal serão 10% inferiores. + FSI será 10% superior. + O valor do rácio I:HC será um número inferior a 10%. + Os rácios FSI e I:HC ficarão inalterados. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Troca de Perfil + Ao especificar uma troca de perfil de 120%, quais respostas são verdadeiras? + Alvo da glicose será 20% maior. + Taxas de basal serão 20% superiores. + Alvo da glicose será inalterado. + FSI será 20% maior. + Troca de Perfil + Iniciar uma mudança de perfil com um deslocamento temporal de 2 + Iniciar uma mudança de perfil com uma deslocamento temporal de -2 + Defina um alvo temporário de comer brevemente. + Faça troca de perfil para mais de 100%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Alterações nos perfis + Taxas de basal, FSI, rácios de I:HC, etc., devem ser definidos nos perfis. + Editar perfis para alterar valores é suficiente para decretar quaisquer alterações feitas. + Vários perfis podem ser configurados e seleccionados para acomodar as circunstâncias de mudança (por exemplo, alterações hormonais, mudança de turno, dias de semana/fim de semana). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Ajuda com taxas basal + Onde ir para obter ajuda com rácios da basal, etc. + A sua equipa da diabetes + Google + Facebook + Outra Medicação. Por favor, leia declaração abaixo e marque a caixa para aceitá-la. + diff --git a/plugins/main/src/main/res/values-pt-rPT/objectives.xml b/plugins/main/src/main/res/values-pt-rPT/objectives.xml new file mode 100644 index 0000000000..565137ef3f --- /dev/null +++ b/plugins/main/src/main/res/values-pt-rPT/objectives.xml @@ -0,0 +1,53 @@ + + + Iniciar + Verificar + %1$d. Objectivo + Objetivo %1$d não iniciado + Objetivo %1$d não terminado + A configurar visualização e monitorização, e análise de rácios e basais + Verificar se a Glic está disponível no Nightscout, e se os dados da bomba de insulina estão a ser carregados + A iniciar em Open Loop + Utilizar em modo de Open Loop por alguns dias e dar manualmente muitas basais temporárias. Configurar e usar alvos temporários e alvos padrão temporários (por exemplo, para actividade ou tratamentos de hipo com hidratos) + Compreender o seu open loop, incluindo as recomendações de basais temporárias + Com base nessa experiência, decidir qual deve ser a basal máxima e configurá-la na bomba e nas preferências + Começar o loop fechado com Suspensão por Glicose Baixa + Utilizar em loop fechado com IA máx = 0 por alguns dias sem muitas situações de SGB. + Ajustar o loop fechado, aumentar a IA máxima acima de 0 e reduzir gradualmente os alvos de GLIC + Utilizar por alguns dias e pelo menos uma noite sem alarmes de GLIC baixa, antes de baixar GLIC + Ajuste as basais e os rácios, se necessário, e, em seguida, active o auto-sens + 1 semana de looping durante o dia com sucesso com entrada regular de hidratos de carbono + Activando recursos adicionais para uso durante o dia, como SMB + A ativar a automatização + Deverá ler a wiki e aumentar a IA máx para que os SMBs funcionem devidamente! Inicialmente poderá considerar maxIA=média dos bólus + 3 x a basal máxima + Leia a documentação de como a automatização funciona. Configure primeiro regras simples. Em vez de ação, deixe AAPS apresentar apenas a notificação. Quando tem certeza de automação é acionada no momento certo substitua a notificação por ação real. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glicose disponível no NS + Estado da Bomba disponível no NS + Execução manual + Concluído: %1$s + Definir perfil de 90% por 10 min (pressione longo no nome de perfil na Visão Geral) + Simular chuveiro. Desconectar a bomba por 1h (Pressione longo em Open Loop) + ... e volte a ligar de volta da mesma forma + Crie um alvo temporário personalizado com 10 min de duração (pressione longo no seu alvo actual) + No Configurador active o plugiin de Acções, torne-o visível e exiba o seu conteúdo no menu superior + Mostrar conteúdo do plugin Loop + Utilizar a função de escala premindo longamente gráfico Glicose + Inserir + Se tiver pelo menos 3 meses de experiência com Closed Loop com outros sistemas, pode-se qualificar para um código para ignorar objectivos. Ver https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives para mais detalhes. + Código aceite + Código inválido + Prove seu conhecimento + Estude as perguntas.  Recebe quatro respostas possíveis para cada pergunta. Talvez haja mais do que uma resposta correcta. Por favor, marque todas ass que estão correctas e seleccione VERIFICAR. + Responder desactivado até: %1$s + Resposta errada! + Seguinte inacabado + Pedir Código: %1$s + (marque todas as respostas correctas) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Não está ligado à internet + Falha ao recuperar tempo + Requisitos de objectivo não cumpridos + diff --git a/plugins/main/src/main/res/values-pt-rPT/strings.xml b/plugins/main/src/main/res/values-pt-rPT/strings.xml index 041334ec80..db4021582a 100644 --- a/plugins/main/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/main/src/main/res/values-pt-rPT/strings.xml @@ -1,151 +1,176 @@ - Comunicador SMS SMS - da app Authenticator para: %1$s seguido pelo PIN - PIN obrigatório adicional no token final - Dígitos adicionais que devem ser memorizados e colados no final de cada Uma-Senha-Única que seja gerada - Código para verificar: OTP + PIN - O código de verificação consiste em 6 dígitos exibidos pela app Authenticator (conhecido como OTP) seguido de 3 ou mais dígitos de PIN obrigatório. - Repor Autenticadores - Repor Chave Autenticador - Tem certeza de redefinir chave Authenticador? Ele tornará todos os Authenticators configurados actualmente como inválidos, e precisará de os configurar novamente. - Nova Chave do Autenticador foi gerada! Por favor, use o QRCode actualizado para os autenticadores. - A exportar segredo da OTP - Tem a certeza de que deseja copiar o segredo da OTP para a área de transferêencia?\n\nSó pode precisar se a app do seu autenticador tiver problemas para digitalizar QRCode, deseja digitá-lo manualmente ou deseja configurar o token OTP de hardware usando app dedicada. - Segredo da OTP (em formato Base32) exportado e copiado na áreas de transferênca. Cole-o no autenticador ou no hardware OTP burner! - 1. Instalar Autenticador - 3. Testar Uma-Senha-Única (OTP) - Repor Autenticadores - Instalar uma app Autenticador que suporte Tokens RFC 6238 TOTP em cada telefone seguidor. Populares aplicativos gratuitos são:\n • Authy\n • o Google Authenticator\n • LastPass Autenticador\n • FreeOTP Autenticador - Utilizador - Número de telefones permitidos +XXXXXXXXXX;+YYYYYYYYYY - Para definir o Alvo Temporário %1$s responda com o código %2$s - Para cancelar Alvo Temporário responda com o código %1$s - Para desactivar o Serviço Remoto SMS de responda com o código %1$s.\n\nTenha em mente que será capaz de o reactivar directamente apenas a partir do telemóvel mestre do AAPS. - SMS Serviço Remoto interrompido. Para reactivá-lo, use o AAPS no telemóvel mestre. - Para enviar calibração %1$.2f responder com código %2$s - Bólus falhado - Número mínimo de minutos que deve decorrer entre um bólus remoto e o próximo - Quantos minutos deve decorrer, pelo menos, entre um bólus e o próximo - Para sua segurança, para editar esta preferência precisa adicionar pelo menos 2 números de telefone. - Bólus %1$.2f U administrado com sucesso - Bólus de Refeição %1$.2f U administrado com sucesso - Alvo %1$s para %2$d minutos - Alvo %1$s para %2$d minutos definido com sucesso - Alvo Temporário cancelado com êxito - Permitir comandos remotos via SMS - Loop foi desactivado - Loop foi activado - Loop activado - Para ligar a bomba responda com o código %1$s - Ligação à bomba falhou - Para remover a bomba por %1$d minutos responda com o código %2$s - Bomba removida - Bomba ligada novamente - O comando remoto não é permitido - O bólus remoto não está disponível. Tente novamente mais tarde. - Para iniciar basal %1$.2f U/h por %2$d min responda com o código %3$s - Para mudar o perfil para %1$s %2$d%% responda com o código %3$s - Para iniciar bólus prolongado %1$.2f U por %2$d min responda com o código %3$s - Para inserir %1$dg em %2$s responda com código %3$s - Para começar a basal %1$d%% U/h durante %2$d min responda com o código %3$s - Para suspender o loop por %1$d minutos resposta com código %2$s - Para retomar o loop responda com o código %1$s - Para activar o loop responda com o código %1$s - Para desativar o loop responda com o código %1$s - Basal temporária %1$.2fU/h para %2$d min iniciada com êxito - Bólus prolongado %1$.2fU/h para %2$d min iniciado com êxito - Hidratos %1$d g inseridos com sucesso - Introdução de %1$dg de hidratos falhou - Basal temporária %1$d%% U/h durante%2$d min iniciada com êxito - Início basal temporária falhou - Falha ao iniciar o bólus prolongado - Para parar a basal temporária responda com o código %1$s - Para parar o bólus prolongado responda com o código %1$s - Basal temporária cancelada - Bólus prolongado cancelado - Não foi possível cancelar a basal temporária - Falhou a cancelar bólus prolongado - Comando desconhecido ou resposta errada - Existe outro bólus em espera. Tente novamente mais tarde. - Duração errada - Loop suspenso - Loop retomado - Número de telefone de SMS inválido - Calibração enviada. Receção tem de estar ativada na xDrip+. - O xDrip+ não está a receber as calibrações - Corpo da mensagem inválido - Enviar SMS se evento de bomba inacessível for acionado - Reportar bomba inacessível Delta: - IA: - Bólus: Basal: - DIA Lyumjev - Predefinição de Insulina Humalog e NovoRapid / NovoLog - Predefinição de Insulina Fiasp - Predefinição para Insulina Lyumjev - Permite definir o pico de atividade da insulina e deve ser usado somente por usuários avançados INS - Tempo do Pico da curva de IA - Tempo Pico [min] - Oref Pico-Livre - Oref Acção-Rápida - Duração de Acção da Insulina (DIA) de %1$f demasiado curto - corrigido para %2$f! - - Mostrar informações sobre o loop no mostrador do xDrip+. + - Exibe as predefinições de comida definidas no Nightscout - Filtro - Alimentos - kJ - En - Pr - Gor - Categoria - Subcategoria - PL - Defina um perfil que está disponível offline. - Unidades: - Nome do perfil ausente - Erro nos valores de IHC - Erro nos valores da basal - Erros no valor alvo - Erro nos valores do FSI - Perfil inválido %1$s não aceite do NS - Ver - Erros - Nome do Perfil: DIA - IHC - FSI - ALV BAS - Dados utilizados foram recalculados - Glicemia demasiado próxima:\n%1$s\n%2$s - Horário de Verão em 24h ou menos - Horário de Verão a menos de 3 horas - Loop Fechado desativado - versão antiga - versão muito antiga - A aplicação expirou - Nova versão para pelo menos %1$d dias disponíveis! Retorno a SGB após %2$d dias, o loop será desactivado após %3$d dias - Não concluído ainda - Tempo decorrido + Terminado, parabéns! + IA máxima definida corretamente + Glicose disponível da fonte seleccionada + Loop activado + APS seleccionado + Modo fechado ativado + OBJ + Programa de aprendizagem + Deseja reiniciar o objectivo? Pode perder seu progresso. + Limpar terminado + Limpar iniciado + + Alguns botões para aceder rapidamente a funções comuns + ACÇ + Ferramentas + Cânula + O uso do Bólus Prolongado irá parar o modo Loop Fechado durante o tempo do bólus prolongado. Quer realmente isso? + Erro na administração Bólus Prolongado + + A limitar bólus prolongado para %1$.1f U porque %2$s + A limitar hidratos para %1$d g porque %2$s + A limitar IA para %1$.1f U porque %2$s + A bomba não é capaz de basais temporárias + Loop fechado desativado nas preferências + RNA desactivada porque confia no plugin de sensibilidade Oref1 + A correr a versão dev. O Loop fechado está desativado. + Loop Fechado desativado por causa da execução do Bólus Prolongado + SMB sempre e depois dos hidratos desactivado por fonte da Glicose activa não suportar filtro avançado + SMB não permitido no modo open loop + valor máx nas preferências + limite rígido + Segurança de Tratamentos + Por favor seleccione o tipo de paciente para configurar limites de segurança + Criança + Adolescente + Adulto + Adulto resistente insulina + Gravidez + Máx bólus permitido [U] + Máx hidratos permitidos [g] + Tipo de Paciente + Silenciar + Mostrar luzes de estado no ecrã principal + Limite aviso idade insulina [h] + Limite crítico da idade da insulina [h] + Limite aviso idade sensor [h] + Limite crítico da idade do sensor [h] + Limite de aviso do nível da bateria do sensor [%] + Limite crítico do nível da bateria do sensor [%] + Limite de aviso de idade da bateria da bomba [h] + Limite crítico de idade da bateria da bomba [h] + Limite de aviso de nível de reservatório [U] + Limite crítico do nível do reservatório [U] + Limite de aviso do nível da bateria da bomba [%] + Limite crítico do nível da bateria da bomba [%] + Luzes de Estado + Copiar definições do NS + Menu do Gráfico + Modo APS + Aceitar nova basal temporária: + CGM + Assistente Rápido + + Reiniciar + Administrar agora + Limpar fila de espera + Mostrar file de espera + Fila de espera: + Estado: + Sincronização completa + Sincronização completa? Pode levar muitas horas até terminar e não irá ver dados novos no NS. + Sincronização + Perfil, bolus, hidratos de carbono e basais temporárias são enviados para o NS + Enviar dados para o NS + Receber armazenamento de perfil + Sincronizar perfis a partir do editor de perfis do NS + Receber alvos temporários + Aceitar alvos temporários inseridos através do NS ou NSCliente + Receber mudança de perfil + Aceitar mudanças de perfil inseridos através de NS ou NSCliente + Receber eventos da APS offline + Aceitar eventos APS inseridos através de NS ou NSClient + Receber insulina + Aceitar insulina inserida através do NS ou NSClient (não é administrada, apenas utilizada no cálculo da IA) + Receber hidratos de carbono + Aceitar hidratos de carbono inseridos através do NS ou NSCliente + Receber tratamentos + Aceitar tratamentos (catéter, insulina, mudança de bateria etc) inseridos através do NS ou NSCliente + Receber/preencher dados do MCG + Aceitar dados do MCG provenientes do NS + Executar %s? + Reduzir velocidade de transferência + Criar notificações dos alarmes NS + Criar notificações a partir dos anúncios NS + + Nome de utilizador no Tidepool, normalmente seu endereço de e-mail + Nome de Utilizador + Senha da conta Tidepool + Senha Login + Teste de Conta Tidepool + Se ativado, o envio será para https://int-app.tidepool.org em vez do habitual https://app.tidepool.org/ + Utilizar servidores de integração (teste) + Tidepool + TDP + Enviar dados para Tidepool + Enviar dados CGM + Enviar tratamentos (insulina, hidratos) + Enviar basais temporárias + Enviar trocas de perfil, alvos temporários + Enviar testes Glicose + Fazer o upload agora + + Integração para as bombas que não têm qualquer driver ainda (Open Loop) + Definições da bomba virtual + Enviar estado para NS + + Descarrega dados Glicose do Nightscout + xDrip+ + Receber valores Glicose do xDrip+. + BYODA + BYODA + Receber valores de glicemia do aplicativo BYODA. + Aplicação Eversense (com patch) + Receber valores Glicose da aplicação Eversense modificada. + Receber valores Glicose do Glimp. + Receber valores Glicose do 600SeriesAndroidUploader. + Poctech + Receber valores Glucose da app Poctech + Glunovo + Receber valores do aplicativo Glunovo + Tomato (MiaoMiao) + Tomato + Receber valores de Glicose da app Tomato (dispositivo MiaoMiao) + Definições de Envio da Glicose + + SSID WiFi + Criar anúncios dos erros + Criar anúncios a partir dos alertas de hidratos necessários + Criar um anúncio no Nightscout para caixas de diálogo de erro e alertas locais (também podem ser visualizados em Careportal sob tratamentos) + Criar anúncios Nightscout para alertas de hidratos necessários + Sincroniza os seus dados com o Nightscout + OAPS + UPLD + + Tema Gráfico Original + Design de Baixa Resolução + Os botões são sempre exibidos na parte inferior do ecrã + Mostrador Grande + Tema gráfico diff --git a/plugins/main/src/main/res/values-ro-rRO/exam.xml b/plugins/main/src/main/res/values-ro-rRO/exam.xml new file mode 100644 index 0000000000..d294073e3a --- /dev/null +++ b/plugins/main/src/main/res/values-ro-rRO/exam.xml @@ -0,0 +1,179 @@ + + + Care afirmații despre DIA sunt adevărate? + Durata de Acțiune a Insulinei (DIA) + Ar trebui să setaţi valoarea pentru DIA în profilul dumneavoastră. + Valoarea minimă permisă este de 5 ore. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Ar trebui să determinaţi dumneavoastră valoarea corespunzătoare pentru DIA. + Țintă-Temporară Hipoglicemie + Care este motivul principal pentru a stabili o țintă temporară de hipoglicemie? + Pentru a corecta hipoglicemiile cauzate de setările de rată bazală incorecte. + Pentru corectarea unui episod hipoglicemic indus ca rezultat al exerciţiului fizic. + Pentru a preveni scăderea glicemiei, dacă este deja în funcţiune o rată bazală temporară de 0% a glicemiei. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Ce profil se va folosi și configura offline? + Subiect: Profil Offline + Profilul NS poate fi folosit, dar nu modificat. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Ce trebuie să faceți atunci când deconectați pompa? + Acest lucru nu este necesar deoarece insulina nu va fi eliberată dacă pompa este deconectată fizic. + Nu va opri administrarea insulinei dacă pompa rămâne conectată. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Care sunt cele mai bune metode de a păstra o copie de siguranță a setărilor AndroidAPS? + Nu este nevoie să exportați setările dvs. cu condiția să le notați. + Exportă setările după ce termini de completat un obiectiv. + Exportă setările după ce modifici oricare dintre setările tale. + Exportă setările după ce termini configurarea inițială și ai setat Preferințele. + Exportă setările local folosind meniul de întreţinere. + Fișierul de setări se găsește în folderul Internal Storage/AAPS/preferences pe telefonul dvs. + Copiați fișierul de preferințe într-o locație sigură în afara telefonului dvs. (de ex. folosind un spațiu de stocare online cloud, conectând un cablu la un computer, un e-mail etc.) + În cazul în care telefonul este deteriorat sau pierdut, există modalități simple de a vă recupera setările fără o copie de rezervă. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Citiri zgomotoase ale CGM + Ce ar trebui făcut dacă valorile CGM sunt nesigure? + Dezactivați bucla închisă pentru a evita o posibilă supradozare sau subdozare. + Înlocuiți senzorii zgomotoși sau inexacti. + Verificaţi că aplicaţia dumneavoastră CGM furnizează date filtrate. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Exercițiu și Profiluri + Cum poți folosi profilurile pentru a ajuta sistemul să facă față exercițiilor aerobe? + Faceți un schimb de profil la mai puțin de 100%. + Faceți un schimb de profil de peste 100%. + Lasă profilul setat la 100%. + Suspendă bucla. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Activitate fizica și Ținte Temporare + Cum puteți utiliza Ținte Temporare pentru a ajuta sistemul să facă față exercițiilor aerobe? + Stabiliţi o ţintă a glicemiei pentru activitate începând cu un interval de timp adecvat înainte de începerea exerciţiului. + Stabiliţi o ţintă a glicemiei pentru activitate după încheierea exerciţiului. + Lăsaţi valoarea ţintă a glicemiei dumneavoastră neschimbată. + Aşteptaţi până când glicemia scade sub Ținta Temporară de hipoglicemie şi apoi mâncaţi 15 g de carbohidraţi cu acţiune rapidă. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Buclă dezactivată/suspendată + Primesc insulina atunci când bucla închisă este dezactivata/suspendata? + Da, insulina bazală este livrată în continuare. + Nu, livrarea de insulină este oprită. + Testare rate bazale, ISF și rație I:C + Când ar trebui să fie validate aceste valori? + Înainte de a începe folosirea buclei inchise. + Când aveţi frecvent valori crescute sau scăzute ale glicemiei. + Cel puţin o dată pe săptămână. + Odată setate și validate, aceste valori nu ar trebui să se modifice în timp. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Cerinţe preliminare + Profil validat (ratele bazale, IC, ISF, DIA). + Un computer cu Android Studio instalat și configurat. + Un telefon compatibil. + O pompă de insulină compatibilă dacă intenţionaţi să rulaţi o buclă închisă. + Nightscout, pentru a păstra un jurnal cu toate datele și pentru evaluarea setărilor. + Un cont Tidepool. + Un cont de Google. + Un cont de Github. + Experiență în programare sau editare cod. + O pompă MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Un ceas inteligent. + Un sistem de senzori CGM compatibil. + Cerințe preliminare + Informații validate pentru crearea unui profil (ISF, I:C, rate bazale, DIA etc.). + Un dispozitiv Android compatibil (de ex. telefon mobil, ceas Android sau tabletă). + Un CGM suportat si o aplicatie corespunzatoare pentru a primi valorile glicemiei pe telefon/dispozitiv. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Bifați toate răspunsurile corecte. + Trebuie să ai Git instalat și configurat pe calculator. + Ar trebui să salvați și să rețineți locația keystore-ului dvs. și să utilizați aceeași cheie de semnare pentru actualizări ca și pentru instalarea anterioară. + Nu actualizați niciodată dacă sistemul funcționează corect. + Dacă aveți dificultăți la construirea aplicației, puteți instala o aplicație care a fost construită de un prieten. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Depanare + Ar trebui să întrebați medicul diabetolog. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Ce insulină trebuie să utilizaţi cu plugin-ul Ultra-Rapid Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humalin R®/insulină umană \"regular\". + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Plugin-uri de sensibilitate + Bifați toate răspunsurile corecte. + Plugin-urile de sensibilitate oferă utilizatorului sugestii pentru modificarea ratelor bazale, raportului I:C și ISF care pot fi utilizate pentru a edita profilul. + Înregistrarea unei schimbări de canula va reseta raportul Autosens înapoi la 100%. + Unele dintre opțiunile plugin-ului au intervale de timp configurabile care pot fi setate de către utilizator. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Erori la introducerea carbohidraților + Ce ar trebui sa faceți dacă ați introdus o cantitate de carbohidrați greșită? + Ştergeţi intrarea incorectă din Tratamente şi introduceţi noua valoare de carbohidrați corectă. + Introdu un bolus de insulina folosind meniul de Amorsare. + Introdu un bolus de insulina folosind butonul Insulina din meniul principal. + Erori de livrare/introducere insulină + Ce trebuie să faci dacă ai primit mai putină insulină decât sugerează istoricul pompei, de exemplu datorită unei ocluzii, a unei canule defecte sau pentru ca ai uitat sa reatașezi pompa după un dus?  + Șterge datele despre insulină din Nightscout Careportal pentru a le înlătura din istoricul pompei. + Bolusati o cantitate parțiala de insulina din insulina calculata ca fiind lipsa utilizând seringa/penul sau amorsarea. + Insulină activă (IOB) + Valoarea IOB este afectată de bazalele temporare emise. + Rata bazala ridicata temporara nu va fi livrata atunci când glicemia este sub nivelul țintă. + Un IOB negativ pentru o perioadă substanțială în absența exercițiilor fizice sugerează că profilul tău este prea puternic și este nevoie de mai puţină insulină în setările inițiale. + Un IOB pozitiv pentru o perioadă substanţială sugerează rezistenţă la insulină sau mese neanunțate. + Carbohidrați si bolusuri + Pentru estimarea și înregistrarea carbohidraților consumați trebuie utilizate numai grame. + Carbohidraţii consumaţi pot fi înregistraţi folosind un sistem de schimb corespunzător (de ex. schimburi DAFNE \"CHO\" sau \"Unităţi De Pâine\" europene). + Dacă valorile glicemiei sunt în afara valorilor acceptabile (prea mici sau prea mari), calculatorul bolus poate fi utilizat pentru a oferi sugestii pentru corecţiile cu carbohidrați sau insulină. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + Pentru ce ați putea utiliza e-carbohidrati (carbohidrati extinsi)? + Pentru a introduce carbohidrați în viitor, posibil distribuiți pe un interval de timp (similar cu a seta un bolus extins pe un interval de timp). + Pentru a înregistra carbohidrații folosiți la tratarea hipoglicemiei + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Monitorizare la distanţă + Alte aplicații (de exemplu, Dexcom follow, xDrip care rulează în modul de urmărire) vă permit să urmăriți unii parametri (de exemplu, valorile glucozei/senzorilor de sânge) de la distanţă, dar utilizează algoritmi diferiţi, astfel încât e posibil să aveţi valori incorecte IOB sau COB. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Factor de sensibilitate la insulină (ISF) + Creşterea valorilor ISF va duce la o cantitate mai mare de insulină administrată pentru a acoperi o anumită cantitate de carbohidraţi. + Reducerea valorilor ISF duce la o cantitate mai mare de insulină administrată pentru a corecta valorile glicemiei peste ţintă. + Creşterea sau scăderea ISF nu are nici un efect asupra livrării de insulină atunci când nivelul glucozei din sânge este sub ţintă. + Schimbarea valorii ISF în profil este suficientă pentru a produce efecte. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Poți folosi mai mult de o valoare pentru raportul I:C în profilul tău. + Dacă schimbaţi ISF în profilul dumneavoastră, ar trebui să vă schimbaţi întotdeauna și raportul I:C. + Raport insulină per carbohidrați (ICR) + Rapoarte ICR mai mari duc la livrarea unei cantintăți de insulină pentru o anumită cantitate de carbohidrați. + Valorile ICR mai mici conduc la livrarea unei cantități mai mici de insulină pentru o anumită cantitate de carbohidrați. + Dacă aveți 0 CoB (carbohidrați activi), schimbarea IC va determina modificarea cantității de insulină livrată pentru a corecta glicemia. + Valoarea IC va fi diferita dacă considerați 1BE (unitate de pâine) ca 10g sau 12g glucide. + IC înseamnă: Câte unități de pâine (BE) sunt acoperite de 1 unitate de insulină. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Schimbare profil + Când specificați un schimb de profil de 90% care sunt răspunsurile adevărate? + Ratele bazale vor fi cu 10% mai mici. + Valoarea ISF va fi cu 10% mai mare. + Valoarea raportului I:C va fi cu 10% mai mic. + ISF și ICR nu vor fi schimbate. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Schimbare profil + Când specificați un schimb de profil de 120% care sunt răspunsurile adevărate? + Ținta pentru glicemie va fi cu 20% mai mare. + Ratele bazale vor fi cu 20% mai mari. + Glicemia ţintă nu se va modifica. + Valoarea ISF va fi cu 20% mai mare. + Schimbare profil + Inițiați o schimbare de profil cu decalaj de timp de 2 + Inițiați o schimbare de profil cu decalaj de timp de -2 + Fixaţi o Țintă Temporară mănânc în curând. + Faceți un schimb de profil de peste 100% + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Modificări ale profilurilor + Ratele bazale, ISF, I:C etc. ar trebui stabilite în profiluri. + Editarea profilurilor pentru a modifica valorile este suficientă pentru a adopta orice modificări făcute. + Profilurile multiple pot fi setate şi selectate pentru a ţine cont de circumstanţele schimbătoare (de exemplu, modificări hormonale, muncă în schimburi, stil de viață în zilele lucrătoare/weekend). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Ajutor cu ratele bazale + Unde căutați ajutor pentru a seta ratele bazale etc. + Medicul dumneavoastră diabetolog + Google + Facebook + Alt Medicament. Vă rugăm să citiţi declaraţia de mai jos şi apoi să bifaţi caseta pentru a accepta declaraţia. + diff --git a/plugins/main/src/main/res/values-ro-rRO/objectives.xml b/plugins/main/src/main/res/values-ro-rRO/objectives.xml new file mode 100644 index 0000000000..04bc864836 --- /dev/null +++ b/plugins/main/src/main/res/values-ro-rRO/objectives.xml @@ -0,0 +1,53 @@ + + + Start + Verifică + Obiectiv %1$d + Obiectivul %1$d nu a fost asumat + Obiectivul %1$d nu a fost atins + Se stabilesc vizualizările și monitorizarea și se analizează bazalele și valorile ratelor + Verificați că vedeți glicemia în Nightscout și că datele despre insulină date de pompă sunt înregistrate în site + Pornire cu buclă deschisă + Funcționare în modul Buclă Deschisă pentru câteva zile și introducere manuală a multiplelor sugestii de bazale temporare. Se stabilesc și se folosesc ținte temporare și ținte implicite (e.g. pentru activități sau pentru carbohidrați de corecție) + Se va înțelege modul de lucru în buclă deschisă, inclusiv recomandările de bazale temporare + Pe baza experienței, se va decide care va fi bazala maximă, și se va implementa aceasta în pompă și în preferințe + Se va începe modul buclă închisă cu funcția Suspendare la Glicemie Mică + Rulează în mod buclă închisă cu max IOB = 0 pentru câteva zile, fără prea multe evenimente LGS (Suspendare la Glicemii Mici) + Îmbunătățirea buclei închise, mărirea valorii max IOB peste 0 și scăderea graduală a țintelor de glicemie + Se rulează pentru câteva zile și cel puțin o noapte fără a avea alarme de glicemie mică înainte de scăderea țintei + Ajustarea bazalelor și a factorilor dacă este necesar și apoi activarea auto-sens + O săptămână de buclă închisă încheiată cu succes în condițiile introducerii regulate a carbohidraților + Se activează opțiuni pentru uzul în timpul zilei, cum ar fi SMB + Activarea automatizării + Trebuie sa citiți wiki și să măriți maxIOB pentru a obține SMB corect! Un start bun este maxIOB=media bolusurilor + 3x maxima bazalei din zi + Citiți documentația despre cum funcționează automatizarea. Setați primele reguli simple. În loc de a acționa, lăsați AAPS doar să afișeze notificări. Când sunteți siguri ca automatizarea acționează la momentul potrivit, înlocuiți notificările cu acțiuni reale.(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + Glicemie disponibilă în NS + Starea pompei disponibilă în NS + Acțiuni manuale + Îndeplinit: %1$s + Stabiliți profilul 90% pentru 10 min (apăsare prelungă a numelui profilului în Vedere de ansamblu) + Simularea unui duș. Deconectarea pompei pentru 1 oră (Apăsare prelungă pe Buclă deschisă) + ... și reconectare în același mod + Creați ținte temporare personalizate pentru o durată de 10 min (apăsare prelungă pe ținta curentă) + În Generatorul de Configurații activați facilitatea Acțiuni, făceți-o vizibilă și afișați-i conținutul folosind meniul de sus + Afișați conținutul facilității Buclă + Folosiți funcția scală prin apăsarea prelungă a graficului glicemiei + Introduceţi + Dacă aveți cel puțin 3 luni de experiență cu un sistem în bucla închisă, puteți beneficia de un cod pentru a sări peste obiective. Pentru mai multe detalii vezi: https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. + Cod acceptat + Cod invalid + Dovediți-vă cunoștințele + Studiați întrebările. Vi se dau patru răspunsuri posibile pentru fiecare întrebare. Poate exista mai mult de un răspuns corect. Vă rugăm să bifați toate cele care sunt corecte și selectați VERIFICA. + Posibilitatea de a răspunde este dezactivată până la: %1$s + Răspuns greșit! + Următoarea nefinalizată + Solicită codul: %1$s + (bifați toate răspunsurile corecte) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Nu există conexiune la internet + Nu s-a reușit preluarea timpului + Nu au fost îndeplinite cerințele obiectivului + diff --git a/plugins/main/src/main/res/values-ro-rRO/strings.xml b/plugins/main/src/main/res/values-ro-rRO/strings.xml index 18f24dabd9..e1751a355b 100644 --- a/plugins/main/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/main/src/main/res/values-ro-rRO/strings.xml @@ -1,152 +1,175 @@ - Comunicator SMS SMS - de la aplicația Authenticator pentru: %1$s urmat de PIN - PIN obligatoriu suplimentar la sfârșitul token-ului - Cifre suplimentare care ar trebui să fie memorate și adăugate la sfârșitul fiecărei parole unice generate - Cod de verificat: - OTP + cod PIN - Codul de verificare constă din 6 cifre afişate de către aplicaţia Authentificator (cunoscută ca OTP), urmat de 3 sau mai multe cifre de PIN obligatoriu. - Resetați Authenticatori - Resetați cheia pentru Authenticator - Sunteți sigur că vreți sa resetați cheia pentru Authenticator? Acest lucru va invalida toți Authenticatorii configurați și va trebui să ii setați din nou. - S-a generat o nouă cheie pentru Authenticator! Vă rugăm să utilizați QRCode actualizat pentru a configura autentificatori. - Se exporta secretul OTP - Sunteţi sigur că doriţi să copiaţi secretul OTP în clipboard?\n\nS-ar putea să aveţi nevoie doar dacă aplicaţia dumneavoastră de autentificare are probleme de scanare a QRCode, doriţi să o introduceţi manual sau doriţi să configuraţi token-ul hardware OTP folosind aplicaţia dedicată. - Secret OTP (în formatul Base32) exportat şi copiat în clipboard. Lipiţi-l în autentificator sau in hardware OTP burner! - 1. Instalați Authenticator - 3. Testați o parolă unică - Resetați Authenticatori - Pe fiecare telefon urmăritor instalați o aplicație de tip Authenticator care suporta tokens RFC 6238 TOTP. Asemenea aplicații gratuite populare sunt:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Utilizator - Numere de telefon permise - + XXXXXXXXXX; + YYYYYYYYYY - Pentru a seta tinta temporara %1$s raspundeti cu: %2$s - Pentru a anula tinta temporara raspundeți cu: %1$s - Pentru a dezactiva serviciul SMS la distanta raspundeti cu: %1$s.\n\nRetineti ca o sa il puteti reactiva doar direct de pe smartphone-ul master AAPS. - Serviciul SMS la distanta s-a oprit. Pentru a il reactiva, utilizati AAPS de pe smartphone-ul master. - Pentru a trimite calibrarea cu %1$.2f răspundeți cu codul %2$s - Bolusare eșuată - Numarul minim de minute care trebuie sa treaca intre un bolus la distanta si urmatorul - Cate minute trebuie sa treaca, cel puţin, intre un bolus si următorul - Pentru siguranta dumneavoastra, pentru a edita aceasta preferinta trebuie sa adaugati cel putin 2 numere de telefon. - Bolusul de %1$.2fU a fost livrat cu succes - Bolusul de masa de %1$.2fU a fost livrat cu succes - Țintă %1$s pentru %2$d minute - Tinta %1$s pentru %2$d minute este setata cu succes - Tinta temporara anulata cu succes - Permite comenzi de la distanță, prin SMS - Bucla a fost dezactivată - Bucla a fost activată - Bucla este activată - Pentru a conecta pompa raspundeti cu codul %1$s - Conectarea cu pompa a esuat - Pentru a deconecta pompa timp de %1$d minute, răspundeți cu: %2$s - Pompă deconectată - Pompă reconectată - Comanda de la distanță nu este permisă - Bolus de la distanță nu este disponibil. Încearcă din nou mai târziu. - Pentru a iniția bazala de %1$.2fU/h pentru %2$d min trimiteți codul %3$s - Pentru a schimba profilul în %1$s %2$d%% trimiteți codul %3$s - Pentru a iniția bolusul extins de %1$.2fU/h pentru %2$d min trimiteți codul %3$s - Pentru a introduce %1$dg la %2$s, raspundeti cu: %3$s - Pentru a iniția bazala de %1$d%% pentru %2$d min trimiteți codul %3$s - Pentru suspendarea buclei pentru %1$d minute trimiteți codul %2$s - Pentru a reactiva bucla inchisa, raspundeti cu %1$s - Pentru a activa bucla inchisa, raspundeti cu %1$s - Pentru a dezactiva bucla inchisa, raspundeti cu %1$s - Bazala temporară %1$.2fU/h pentru %2$d minute a fost trimisă cu succes - Bolusul extins de %1$.2fU pentru %2$d min a fost inițiat - %1$dg carbohidrați introduși cu succes - Introducerea a %1$dg de carbohidrati a esuat - Bazala temporară %1$d%% pentru %2$d minute a fost stabilită cu succes - Trimiterea bazalei temporare a eșuat - Pornirea bolusului extins a eșuat - Pentru oprirea bazalei temporare, răspundeți cu codul %1$s - Pentru oprirea bolusului extins, răspundeți cu codul %1$s - Bazala temporară a fost anulată - Bolus extins anulat - Renunțarea la bazala temporară a eșuat - Anularea bolusului extins a eșuat - Comandă necunoscută sau răspuns greșit - Există un alt bolus în coada de așteptare. Încercați din nou mai târziu. - Durată greșită - Buclă suspendată - Buclă restabilită - Număr de telefon SMS invalid - Calibrare trimisă. Recepționarea trebuie să fie activată și în xDrip+. - xDrip+ nu recepționează calibrări - Conținutul mesajului nu este valid - Trimite SMS dacă este generata o alarma de eroare conexiune pompa - Raportează pompa inaccesibilă - Diferență: IOB: Bolus: - Bazală: - DIA Lyumjev - Setări prestabilite pentru insulinele Humalog sau NovoRapid / NovoLog - Setări prestabilite pentru Fiasp - Setări prestabilite pentru Lyumjev - Vă permite definirea vârfului activităţii insulinei şi ar trebui folosit doar de către utilizatorii avansaţi INS - Curbă timp vârf IOB - Timp vârf [min] - Oref Vârf-Liber - Oref Insulină-Rapidă - DIA din %1$f prea scurtă - se folosește %2$f în schimb! - - Afișează informații privind starea buclei pe watchface-ul xDrip+. + - Afişează mâncărurile predefinite în Nightscout - Filtru - Mâncare - kJ - En - Pr - Grăsime - Categorie - Subcategorie - Schemă de culori aplicații LP - Definire profil care să fie valabil offline. - Unități: - Lipsește numele profilului - Eroare in valorile IC - Eroare in valorile ratei bazale - Eroare in valorile tinta - Eroare in valorile ISF - Profilul invalid din NS %1$s nu este acceptat - Vizualizare - Erori - Nume profil: DIA - IC - ISF TARG - BZL - Date recalculate utilizate - BG prea aproape:\n%1$s\n%2$s - Schimbare oră vară/iarnă în mai puțin de 24h - Schimbare oră vară/iarnă în mai puțin de 3 ore - buclă închisă dezactivată - versiune veche - versiune foarte veche - Aplicația a expirat - O versiune nouă este disponibilă de cel puțin %1$d zile! Reveniți la LGS după %2$d zile, bucla închisă va fi dezactivată după %3$d zile - Încă incomplet - Timp scurs + Finalizat cu succes! + IOB maxim configurat corect + Glicemie disponibilă din sursa selectată + Buclă activată + APS selectat + Mod buclă închisă activat + OBI + Program de învăţare + Doriți să reîncepeți obiectivul? Vă puteți pierde progresul. + Șterge starea \"Terminat\" + Șterge starea \"Început\" + + Butoane pentru accesarea celor mai comune facilităţi + ACT + Instrumente + Canula + Utilizarea unui bolus extins va opri modul buclă închisă pe timpul livrării bolusului extins. Sigur doriți acest lucru? + Eroare de livrare a bolusului extins + + Se limitează bolusul extins la %1$.1f U datorită %2$s + Se limitează carbohidrații %1$d g datorită %2$s + Se limitează IOB la %1$.1f U datorită %2$s + Pompa nu suportă bazale temporare + Modul buclă închisă dezactivat în preferințe + UAM dezactivat deoarece este bazat pe plugin-ul Oref1 pentru sensibilitate + Se folosește versiunea dev. Bucla închisă este dezactivată. + Bucla închisă dezactivată din cauza livrării bolusului extins + SMB dezactivat întotdeauna și după carbohidrați, deoarece sursa glicemiei nu suportă filtrare avansată + SMB nu este permis în mod buclă deschisă + valoare maximă în preferințe + limită fizică + Setări siguranță tratament + Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță + Copil + Adolescent + Adult + Adult rezistent la insulină + Sarcină + Bolus maxim admis [U] + Carbohidrați admiși maxim [g] + Tip de pacient + Amână + Afișați indicatorii luminoși ai pompei pe ecranul de start + Prag de avertizare vechime insulină [h] + Prag critic vechime insulină [h] + Prag de avertizare vechime senzor [h] + Prag critic vechime senzor [h] + Prag de avertizare nivel baterie senzor [%] + Prag nivel critic baterie senzor [%] + Prag de avertizare vârstă baterie [h] + Prag critic vârstă baterie [h] + Pragul de avertisment pentru insulina din rezervor [U] + Pragul critic al nivelului insulinei în rezervor [U] + Prag de avertizare nivel baterie [%] + Prag critic nivel baterie [%] + Lumini de stare + Copiați setările din NS + Meniu diagramă + Mod APS + Acceptă noua bazală temporară: + CGM + AsistentRapid + + Restartare + Livrează acum + Curăță coada de așteptare + Arată coada de așteptare + Coadă: + Stare: + Sincronizare completă + Sincronizare completă? Poate dura multe ore şi până la final nu veţi vedea date noi în NS. + Sincronizare + Profilurile, bolusurile, carbohidrații, bazalele temporare sunt încărcate în NS + Încarcă date în NS + Primire stocare profile + Sincronizează profilurile din editorul de profil NS + Primește ținte temporare + Acceptați țintele temporare introduse prin NS sau NSClient + Primește schimbări de profil + Acceptați schimbările de profil introduse prin NS sau NSClient + Primiți evenimente APS offline + Acceptați evenimente offline APS introduse prin NS sau NSClient + Primiţi date insulina + Acceptaţi insulina introdusă prin NS sau NSClient (nu este livrată, ci doar calculată in IoB) + Primește carbohidrați + Acceptați carbohidrați introduși prin NS sau NSClient + Primește evenimente terapeutice + Acceptaţi evenimentele de tratament (canulă, insulină, modificarea bateriei etc.) introduse prin NS sau NSClient + Primire/completare date CGM + Acceptați datele CGM din NS + Executați %s? + Încarcă mai lent + Creare notificări din alarmele NS + Creare notificări din anunţurile NS + + Utilizatorul Tidepool (de obicei adresa de email) + Numele de utilizator + Parola Tidepool + Parola utilizatorului + Testează conectarea la Tidepool + Dacă este activ, înregistrările vor fi transmise către https://int-app.tidepool.org, în loc să fie transmise către https://app.tidepool.org/ + Folosește serverele Integration (test) + Tidepool + TDP + Înregistrează datele la Tidepool + Înregistrează datele din CGM + Înregistrează tratamentele (insulină, carbohidrați) + Înregistrează bazalele temporare + Înregistrează schimbările de profil, țintele temporare + Înregistrează testările de glicemie + Încarcă acum + + Integrare cu pompele ce nu au încă un driver software disponibil (Buclă Deschisă) + Setări pompă virtuală + Trimitere status către NS + + Descarcă datele despre glicemii din Nightscout + xDrip+ + Primește valorile glicemiei din xDrip+. + BYODA + BYODA + Primește valori de glicemie de la aplicația Dexcom modificată. + Aplicația Eversense (modificată) + Primește valorile glicemiei din aplicația Eversense modificată. + Primește valorile glicemiei din aplicația Glimp. + Primește valorile glicemiei din aplicația 600SeriesAndroidUploader (Medtronic). + Poctech + Citire a valorii glicemiei din aplicația Poctech + Glunovo + Primiți glicemii de la aplicația Glunovo + Tomato (MiaoMiao) + Tomato + Înregistrează valorile glicemiei din aplicația Tomato (dispozitiv MiaoMIao) + Setări înregistrare glicemie + + SSID WiFi + Crează anunțuri pentru erori + Crează anunțuri din alertele de cerere carbohidrați + Crează anunțuri în Nightscout pentru dialoguri de erori și alerte locale (vizibile și în Careportal - Tratamente) + Creează anunțuri Nightscout din alertele de cerere carbohidrați + Sincronizare a datelor cu Nightscout + OAPS + UPLD + + Tema originală + Skin de rezoluție redusă + Butoanele sunt afișate întotdeauna în partea de jos a ecranului + Display mare + Tema diff --git a/plugins/main/src/main/res/values-ru-rRU/exam.xml b/plugins/main/src/main/res/values-ru-rRU/exam.xml new file mode 100644 index 0000000000..3f94f77d47 --- /dev/null +++ b/plugins/main/src/main/res/values-ru-rRU/exam.xml @@ -0,0 +1,227 @@ + + + Что верно о длительности работы инсулина DIA? + Время действия инсулина (DIA) + Следует задать значение DIA в вашем профиле. + Минимально допустимое значение-5 часов. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Если вы удовлетворены значением длительности действия инсулина DIA, заданным в помпе до AAPS, то при запуске цикла изменять это значение не требуется. + Следует самостоятельно определить DIA подходящее для вас. + Временная цель Гипо + Какова основная причина для установки временной цели гипо? + Для коррекции гипо, вызванных неверными настройками базальной скорости. + Чтобы не допустить чрезмерной коррекции подъема ГК, вызванного быстрыми углеводами, принятыми для устранения гипо. + Чтобы исправить гипо вызванное нагрузкой. + Чтобы предотвратить снижение уровня глюкозы в крови, если временная базальная скорость уже 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Какой профиль можно применить и настроить в автономном режиме? + Тема: Автономный профиль + Профилем NS можно пользоваться, но не настраивать. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Причины применения опции «Отсоединить помпу» в AAPS + Что следует делать при отсоединении помпы? + This is unnecessary as insulin will not be delivered if the pump is physically disconnected. + Это позволяет AAPS не учитывать инсулин, который не был подан во время физического отключения помпы + Это не прекратит подачу инсулина если помпа остается подключенной. + Это переведет AAPS в режим открытого цикла. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Настройки AAPS + Настройки AAPS + Как эффективнее сохранять свои настройки? + Экспорт настроек не нужен, если они у вас где-то записаны. + Экспортируйте настройки после прохождения цели. + Экспортируйте настройки после изменения любого параметра. + Экспортируйте настройки после окончания начальной настройки и установки параметров. + Экспортируйте настройки локально используя меню Обслуживание. + Файл с вашими настройками сохраняется на телефоне во Внутреннем хранилище/AAPS/preferences. + Скопируйте файл с настройками в надежное место вне телефона (например, закинув в облако или на компьютер. либо отправив по E-mail и т.д.) + Если ваш телефон поврежден или утерян, существует легкий способ удаленно восстановить настройки без резервной копии. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Зашумленные данные мониторинга + Что следует делать, если данные мониторинга зашумлены? + Ничего не делать - алгоритм AAPS сам справится с этим. + Отключить замкнутый цикл, чтобы избежать возможной передозировки или уменьшения дозы. + Заменить постоянно шумящий или неточный сенсор. + Убедитесь, что приложение мониторинга сглаживает данные ГК. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Нагрузка и Профили + Как использовать профили, чтоб помочь системе справиться с аэробными упражнениями? + Задать профиль ниже 100%. + Переключить на профиль выше 100%. + Оставить профиль на 100%. + Приостановить цикл. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Физическая нагрузка и временные цели + Как использовать временные цели чтоб помочь системе справиться с аэробными упражнениями? + Установить временную цель \"Нагрузка\" заблаговременно перед началом упражнения. + Установить временную цель \"Нагрузка\" после окончания упражнения. + Оставить временную цель без изменений. + Подождать пока глюкоза крови упадет ниже уровня цели \"Гипо\", а затем съесть 15г быстрых углеводов. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Отключенный/приостановленный цикл + Получаю ли я инсулин, когда цикл отключен/приостановлен? + Да, базальный инсулин продолжает подаваться. + Нет, подача инсулина прекращается. + Проверка базы, чувствительности ISF и I:C + Когда следует проверять эти значения? + Перед началом использования петли. + При частом высоком или низком уровне глюкозы в крови. + Хотя бы один раз в неделю. + После установки и проверки, эти значения не должны меняться со временем. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Предварительные требования + Что необходимо для настройки и использования AAPS? + Проверенные данные профиля (базал, углеводный коэффициент IC, фактор чувствительности к инсулину ISF, длительность действия инсулина DIA). + Компьютер с установленной и настроенной Android Studio. + Поддерживаемый телефон. + Совместимая инсулиновая помпа, если вы планируете использовать замкнутый цикл. + Nightscout, для записи всех данных и обзора настроек. + Учетная запись Tidepool. + Учетная запись Google. + Учетная запись Github. + Опыт программирования или редактирования кода. + Помпа MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Смарт часы. + Поддерживаемый мониторинг. + Предварительные требования + Что необходимо для настройки и использования AAPS? + Проверенные настройки профиля (чувствительность ISF, I:C, скорость базала, продолжительность действия инсулина и т.д.). + Совместимое устройство на Android (мобильный телефон, планшет или часы на полноценном Android). + AAPS требует подключения к интернет чтоб работать в режиме замкнутого цикла. + Поддерживаемая система мониторинга и подходящее приложение для получения данных ГК на устройстве. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Обновление AAPS + Отметьте все правильные ответы. + На компьютере должен быть установлен и настроен Git. + При выходе новой версии AAPS, функционал старых версий может быть удаленно ограничен после указанного периода времени. + Необходимо сохранить и запомнить расположение хранилища ключей и использовать тот же ключ подписи для обновлений, что и для предыдущей установки. + Никогда не обновлять, если система работает хорошо. + Если у вас возникли трудности с построением приложения, вы можете установить апк, который был построен другом. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Устранение неполадок + Где искать помощь по AAPS? + Можно попросить совета в группе AAPS Users на Facebook. + Следует прочитать (и перечитать) документацию AAPS. + Можно консультироваться, a также пересылать логи технических проблем и неполадок в чате Discord по AAPS. + Вы должны спросить в диабетической клинике / у вашего врача-эндокринолога. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Какой инсулин следует использовать с модулем Сверхбыстрый Oref? + Fiasp® + Novoapid ® /Novolog ® + Хумалог® + Actrapid ® /Humalin R ®/\"обычный\" человеческий инсулин. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Модули чувствительности + Отметьте все правильные ответы. + Модули чувствительности позволяют AAPS подстраиваться под временные или кратковременные изменения в чувствительности к инсулину (например, гормональные изменения или проблемы с поглощением в месте установки катетера). + Модули чувствительности предлагают пользователю изменения скорости базала, коэффициентов I:C и ISF, которые можно внести в профиль. + Внесение записи о замене катетера вернет коэффициент Autosens к 100%. + У некоторых опций модуля есть настраиваемые диапазоны времени, которые может задать пользователь. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Ошибки записи углеводов + Что нужно делать, если сделан неправильный ввод углеводов? + Удалить неверную запись в Журнале терапии и заново ввести правильное значение углеводов. + Ввести инсулин через меню для заполнения канюли. + Ничего не делать – AAPS сам внесет необходимые изменения. + Ввести инсулин через кнопку Инсулин (болюс) на вкладке Начало. + Ошибки подачи/поступления инсулина + Что делать, если вы получили меньше инсулина, чем указано в истории помпы, например, из-за окклюзии, проблем с канюлей или из-за того, что вы забыли подключить помпу обратно после душа? + Удалить данные об инсулине в Портале терапии Nightscout, чтобы удалить их из истории помпы. + Сравнить значения в истории AAPS и помпы (если помпа это поддерживает). + Рассчитать и ввести «пропущенный» вами инсулин шприцем/ручкой или через кнопку заполнения канюли. + Ничего не делать и позволить AAPS исправить возможный высокий уровень ГК. + Активные углеводы COB - углеводы в процессе компенсации + Как изменение значения ISF влияет на расчет COB? + Увеличение фактора чувствительности ISF потребует больше времени на усвоение углеводов + Увеличение фактора чувствительности ISF потребует меньше времени на усвоение углеводов + Увеличение фактора чувствительности ISF не повлияет на расчетное время усвоения углеводов + Как изменение значения IC влияет на расчет COB? + Увеличение IC увеличит время усвоения углеводов + Увеличение IC уменьшит время усвоения углеводов + Увеличение IC не повлияет на расчетное время усвоения углеводов + Как изменение процента профиля влияет на расчет активных углеводов COB? + Установка профиля на 150% потребует больше времени на усвоение углеводов + Установка профиля на 150% потребует меньше времени на усвоение углеводов + Установка профиля на 150% не повлияет на расчетное время усвоения углеводов + Активный инсулин (IOB) + На величину IOB влияют устанавливаемые ВБС. + Высокая ВБС не будет применяться, если уровень сахара в крови ниже целевого. + Отрицательный IOB в течение длительного периода при отсутствии физнагрузки указывает на то, что ваш профиль завышен и требуется снизить кол-во инсулина в настройках. + Положительный IOB в течение длительного периода предполагает инсулинорезистентность или не отмеченный прием пищи. + Запись углеводов и болюсов + Для оценки и записи потребляемых углеводов следует использовать только граммы. + Употребленные углеводы можно записывать с помощью соответствующей системы обмена (например, DAFNE «CHO» или европейские «хлебные единицы»). + AAPS использует динамическую модель для оценки \"распада\" и расчета COB. + Если уровень глюкозы в крови находится вне допустимых значений (слишком низкое или слишком высокое), то калькулятор болюса может быть использован для внесения предложений по коррекции углеводного коэффициента IC. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + Растянутые углеводы + Для чего можно использовать e-carbs (растянутые углеводы)? + Запланировать углеводы в будущем, возможно, распределить в течение определенного времени (по аналогии с растянутым болюсом на определенный интервал времени). + Для внесения «свободных» углеводов при физнагрузке, чтобы скрыть их от AAPS. + Растянутые углеводы e-carbs (распределяемые в будущем) могут помочь AAPS в работе с пищей с высоким содержанием жиров/белков. + Для указания «лечебных» углеводов, при поднятии низкого уровня ГК. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Удаленный мониторинг + Как можно удаленно следить за работой AAPS (например, вашего ребенка)? + Приложение AAPSClient, приложение Nightscout и сайт Nightscout позволяют удаленно отслеживать AAPS. + Прочие приложения (например, Dexcom follow, xDrip в режиме фолловера) позволяют удаленно отслеживать некоторые параметры (например, уровень ГК/значения сенсоров), но используют другие алгоритмы, поэтому могут отображать неточные значения IOB или COB. + Для удаленного отслеживания AAPS оба устройства должны иметь доступ в Интернет (напр.,Wi-Fi или мобильной/сотовой сети). + AAPSClient в режиме удаленного мониторинга предоставляет как отслеживание, так и полное управление AAPS. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Фактор Чувствительности к Инсулину (ISF) + Увеличения фактора чувствительности к инсулину ISF приведет к увеличению дозы инсулина на покрытие определенного числа углеводов. + Уменьшение фактора чувствительности к инсулину ISF приведет к увеличению дозы инсулина для корректировки ГК выше целевого уровня. + Увеличение или уменьшение фактора чувствительности к инсулину ISF не влияет на дозировку инсулина когда уровень ГК ниже целевого. + Фактор чувствительности к инсулину ISF задается в параметрах AAPS. + Изменение значения ISF в профиле достаточно для применения изменений. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Вы можете использовать больше одного значения для коэффициента I:C в своем профиле. + Если вы изменяете ISF в своем профиле, вам всегда следует изменять соотношение I:C. + Углеводный коэффициент IC (ГУ/ед.инс) + Более высокий I:C приводит к уменьшению количества инсулина, вводимого на данное число углеводов. + Более низкий I:C приводит к уменьшению количества инсулина, вводимого на данное число углеводов. + Если у вас 0 активных углеводов COB, изменение углеводного коэффициента IC приведет к иному количеству инсулина на коррекцию данной ГК. + Углеводный коэффициент IC изменится если принимать ХЕ за 10 или 12г. + Смысл углеводного коэффициента IC таков: сколько ГУ (хлебных единиц) покрываются одной ед. инсулина. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Cмена профиля + При установке 90% при переключении профиля, какие утверждения верны? + Базальная скорость снизится на 10%. + ISF повысится на 10%. + Значение I:C снизится на 10%. + Коэффициенты ISF и I:C останутся без изменений. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Переключение профиля + При установке 120% при переключении профиля, какие утверждения верны? + Целевой уровень ГК будет на 20% выше. + Базальная скорость будет на 20% выше. + Целевой уровень ГК не изменится. + ISF будет на 20% выше. + Переключение профиля + Если вы проснулись на 2 часа раньше обычного, как следует уведомить AAPS об изменении режима? + Выполнить переключение профиля со сдвигом времени 2 + Выполнить переключение профиля со сдвигом времени -2 + Установить временную цель \"Eating Soon\" (Ожидаемый прием пищи). + Задать профиль выше 100% + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Изменения в профилях + Базальные скорости, ISF, соотношение I:C и т.д. должны быть установлены в профилях. + Для активации изменений в профиле Nightscout требуется, чтобы телефон с AAPS был подключен к Интернету. + Сохранения новых значений в профиле достаточно, чтобы все сделанные изменения вступили в силу. + Можно настроить несколько профилей и выбирать их в связи с меняющимися обстоятельствами (например, гормональные изменения, посменная работа, образ жизни в будние/выходные дни). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Помощь с базальной скоростью + Куда обращаться за помощью по скорости базала и т. д. + Ваши эндокринологи + Google + Facebook + Прочие препараты. Прочтите высказывание ниже, а затем отметьте галочку, чтобы принять условия. + AAPS понижает базальную скорость или приостанавливает ввод инсулина для повышения уровня ГК. Препараты из класса ингибиторов SGLT2 (глифлозины) могут предотвращать повышение уровня ГК и, следовательно, вызывать опасную нехватку инсулина, приводящую к диабетическому кетоацидозу DKA. +\nОбщими торговыми наименованиями являются: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nЯ подтверждаю, что не буду принимать такие препараты, при использовании AAPS или отключу цикл перед их применением. + diff --git a/plugins/main/src/main/res/values-ru-rRU/objectives.xml b/plugins/main/src/main/res/values-ru-rRU/objectives.xml new file mode 100644 index 0000000000..223c176927 --- /dev/null +++ b/plugins/main/src/main/res/values-ru-rRU/objectives.xml @@ -0,0 +1,55 @@ + + + Начать + Проверить + Цель %1$d + Цель %1$d не начата + Цель %1$d не завершена + Настройка визуализации и мониторинга, анализ базала и коэффициентов + Убедитесь, что величина ГК и данные по инсулину помпы передаются в Nightscout + Старт незамкнутого цикла + Начинайте работу в режиме незамкнутого цикла и ручной подстройки величины временного базала. Установите и применяйте временные цели и временные цели по умолчанию (напр. углеводы при нагрузке или купировании гипо) + Глубже понимаем работу системы в режиме незамкнутого цикла, включая ее рекомендации по временным базалам + На основе накопленного опыта, определяем максимальную величину базала и задаем ее в помпе и в настройки AndroidAPS + Начинаем замыкать цикл с прекращением подачи инсулина при низком значении Ск (режим Low Glucose Suspend) + Работа в замкнутом цикле с макс активным инсулином IOB = 0 на протяжении нескольких дней избегая событий типа приостановка на низких ГК Low Suspend + Настройка замкнутого цикла с поднятием макс величины IOB выше 0 и постепенным понижением целевой ГК + Работа несколько дней и по кр мере одну ночь без срабатывания оповещений о низкой ГК + Настраиваем базал и коэффициенты с последующей активацией auto-sens + 1 неделя успешной дневной работы с регулярным введением углеводов + Активация таких доп функций для дневного времени как супер микро болюс SMB + Включение автоматизации + Прочтите wiki и увеличьте maxIOB чтобы супер микро болюс SMB заработал как положено! Хорошее начало – maxIOB = средний болюс на еду + троекратный максимальный суточный базал + Прочтите документацию по автоматизации. Настройте свои первые простые правила. Вместо действия позвольте AAPS только выводить уведомления. Если вы уверены, что автоматизация инициируется в нужное время, замените уведомление реальными действиями. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + гликемия доступна в NS + Статус помпы доступен в NS + Ввод вручную + Выполнено: %1$s + Научитесь контролировать AAPS + Выполняйте различные действия в AAPS + Установите профиль 90% на 10 мин (Долгое нажатие на имя профиля на главном экране) + Имитация душа. Отключите помпу на 1ч (Долгое нажатие на Открытый цикл Open Loop) + ... и обратное подключение таким же способом + Создайте настраиваемую временную цель длительностью 10 мин. (Долгое нажатие на текущую цель) + В Конфигураторе активируйте модуль Действия Actions, сделав его видимым и показав содержимое верхнего меню + Просмотр содержимого модуля Цикл Loop + Применить функцию масштабирования по долгому нажатию на диаграмму ГК + Ввод + Если у вас есть хотя бы три месяца опыта работы с замкнутым циклом на других системах, то можно получить код пропуска. Подробности смотрите по адресу https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives. + Код принят + Неверный код + Подтвердите ваши знания + Изучите вопросы. Вам дано четыре возможных ответа на каждый вопрос. Может быть более одного правильного ответа. Проверьте все правильные ответы и подтвердите выбор. + Ответы отключены до: %1$s + Неверный ответ! + Следующий незавершенный + Код запроса: %1$s + (отметьте все правильные ответы) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Нет подключения к Интернету + Не удалось загрузить время + Требования к цели не выполнены + diff --git a/plugins/main/src/main/res/values-ru-rRU/strings.xml b/plugins/main/src/main/res/values-ru-rRU/strings.xml index bccf2d9f5d..d475ebfd81 100644 --- a/plugins/main/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/main/src/main/res/values-ru-rRU/strings.xml @@ -1,180 +1,235 @@ - SMS коммуникатор SMS - Дистанционное управление AAPS при помощи команд SMS. - из приложения Authenticator для %1$s и дополните пином в конце - Дополнительный обязательный пин-код в конце маркера - Дополнительные цифры, которые должны быть запомнены и добавлены в конце каждого сгенерированного одноразового пароля - Настройка аутентификации - Код для проверки: - OTP + ПИН-код - Проверочный код состоит из 6 цифр, отображаемых приложением Authenticator (известным как OTP), за которым следует 3 или более цифр обязательного PIN-кода. - Сбросить аутентификаторы - Сбросить ключ идентификации - Вы действительно хотите сбросить ключ аутентификации? Все сконфигурированные в настоящее время ключи станут недопустимы, и придется их настроить заново. - Создан новый ключ аутентификации! Для идентификации используйте обновленный QRCode. - Экспорт секретного кода OTP - Вы действительно хотите скопировать пароль OTP в буфер обмена?\n\nЭто может потребоваться только в том случае, если у вашего приложения идентификации проблемы при сканировании QR кода, вы хотите ввести его вручную или настроить аппаратный маркер OTP с помощью специального приложения. - Секретный одноразовый код OTP (в формате Base32) экспортирован и скопирован в буфер обмена. Вставьте его в систему идентификации или аппаратный маркер OTP! - 1. Установить Аутентификатор - 2. Сканируйте код для настройки OTP кодов AAPS - 3. Одноразовый Пароль - Сбросить аутентификаторы - В каждом отслеживающем телефоне установите приложение Authenticator, поддерживающее маркеры TOTP RFC 6238. Популярные бесплатные приложения: \n Authy\n Google Authenticator\n LastPass Authenticator\n FreeOTP Authenticator - После сброса аутентификатора вы делаете все созданные идентификаторы недействительными. Вам нужно будет снова создать их! - Неверный код. Команда отменена. - Время ожидания окончания предыдущего соединения с помпой истекло - Пользователь - разрешенные телефонные номера - + XXXXXXXXXX; + YYYYYYYYYY - Для подачи болюса %1$.2fед ответьте кодом %2$s - Для подачи болюса %1$.2fед ответьте кодом %2$s - Чтобы установить временную цель %1$s ответьте кодом %2$s - Чтобы отменить временную цель ответьте кодом %1$s - Чтобы отключить службу удаленных SMS-сообщений ответьте кодом %1$s.\n\n Имейте в виду, что вы сможете вновь активировать ее только с основного телефона AAPS. - Удаленная служба SMS остановлена. Для ее реактивации используйте AAPS на главном смартфоне. - чтобы отправить калибровку %1$.2f ответьте кодом %2$s - Подача болюса не состоялась - Минимальное количество минут между одним удаленным болюсом и следующим - Минимум минут, должных пройти между одним болюсом и следующим - В целях безопасности, для изменения этого параметра необходимо добавить не менее 2 телефонных номеров. - Болюс %1$.2fед. подан успешно - Болюс на еду %1$.2f ед. подан успешно - Цель %1$s на %2$d минут - Цель %1$s на %2$d минут установлена успешно - Временная цель успешно отменена - разрешить команды через смс - зцикл был деактивирован - зцикл был активирован - зцикл работает - Чтобы подсоединить помпу ответьте кодом %1$s - Ошибка подключения к помпе - Для разъединения с помпой на %1$d мин ответьте кодом %2$s - Помпа отключена - Связь с помпой возобновлена - удаленная команда не разрешена - Удаленный болюс недоступен, повторите попытку позже. - Для начала подачи базала %1$.2f ед./ч на %2$d мин. ответьте кодом %3$s - Для переключения профиля на %1$s %2$d%% ответьте кодом %3$s - Для начала подачи пролонгированного болюса %1$.2fед. на %2$d мин. ответьте кодом %3$s - Чтобы ввести %1$d г в %2$s ответьте кодом %3$s - Для начала подачи базала %1$d%% на %2$d мин. ответьте кодом %3$s - для приостановки цикла на %1$d мин ответьте кодом %2$s - Чтобы возобновить цикл ответьте кодом %1$s - Чтобы включить цикл ответьте кодом %1$s - Чтобы отключить цикл ответьте кодом %1$s - врем базал %1$.2fU/h на %2$d мин начат успешно - Пролонгированный болюс %1$.2fед. на %2$d мин. начат успешно - Углеводы %1$d г введены успешно - Не удалось ввести %1$d г углеводов - Врем. базал %1$d%% на %2$d мин. начат успешно - неуспех старта врем базала - Не удалось начать подачу пролонгированного болюса - Для прекращения подачи врем. базала ответьте кодом %1$s - Для прекращения подачи пролонгированного болюса ответьте кодом %1$s - врем базал отменен - Пролонгированный болюс отменен - отмена врем базала не состоялась - Сбой отмены пролонгированного болюса - Неизвестная команда или неверный ответ - В очереди есть еще один болюс. Повторите попытку позже. - неверное значение длительности - ЗЦ остановлен - ЗЦикл возобновлен - неверный номер телефона для смс - Калибровка отправлена. В xDrip+ должен быть включена возможность приема. - xDrip + не получает калибровки - Недопустимое тело сообщения - Отправить SMS, если инициируется запись о недоступности помпы - Сообщить о недоступности помпы - Неверный формат - ГК: - Предыдущая ГК: - дельта: - IOB: активный инсулин - болюс: - базал: - %1$dмин. назад - Остановлен на(%1$d мин) - Статус чтения: неудача - Переключатель профиля создан - Длительность временного базала TBR должна быть кратной %1$d минутам и больше 0. - QR код для введения временного пароля - Время действия инсулина DIA Lyumjev - Предустановки для Humalog и Novorapid / Novolog - Предустановки для Fiasp - Предустановки для Lyumjev - Позволяет самостоятельно задавать пик активности инсулина - только для опытных пользователей - ИНС - Время пика активного инс IOB - Время пика [min] - Пик - Свободный от пиков Oref - Быстро действующий Oref - Значение времени действия инс %1$f слишком мало - применено %2$f! + Сверхбыстрый Oref + Новорапид, Хумалог + Фиасп - - Показать информацию о работе алгоритма ИПЖ на экране смарт-часов xDrip+. - Показать разбивку IOB на болюсный и базальный IOB на часах + + Статус xDrip + Показать IOB подробно + Зцикл не работает + Показать BGI + Добавить BGI в строку состояния + Cтрока состояния xDrip (часы) - Фильтр - Еда - кДж - Энергия - Белки - Жиры - Категория - Подкатегория + Еда + Показывает заданные в Nightscout настройки для приема пищи + Калькулятор - Цветовая схема приложения - Тёмная тема - Светлая тема - Использовать тему устройства + Выберите темную, светлую или системную тему - ЛП - Определите профиль, доступный в автономном режиме. - добавить новый в список - Единицы: - Отсутствует название профиля - Ошибка в значении углеводного коэффициента IC - Ошибка в величине базала - Ошибка в целевых значениях - Ошибка в значении фактора чувствительности к инсулину ISF - Неверный профиль %1$s не принят из NS - Посмотреть - Ошибки - Выберите профиль для изменения - Название профиля: - добавить новый профиль - клонировать текущий профиль - удалить текущий профиль - Время действия инсулина DIA - IC углкоэф ГУ/инс - ISF (чувствительность к инсулину) - ЦЕЛЬ - БАЗАЛ + Профиль + Хотите переключить профиль и сбросить изменения, внесенные в текущий профиль? - Используются пересчитанные данные - ГК слишком близко к \n%1$s\n%2$s - пересчитано - двойные записи - Переход на летнее/зимнее время через 24 часа или менее - Изменение сезонного времени произошло меньше 3 часов назад-Закрытый цикл выключен - старая версия - очень старая версия - Истек срок действия приложения - Новая версия доступна уже %1$d дней! По истечении %2$d дн алгоритм переходит в режим работы только с остановкой при низкой гликемии LGS, замкнутый цикл будет отключен через %3$d дн - Не завершено - Прошло времени + Завершено, отлично! + Максимум активного инсулина IOB установлен правильно + ГК доступна из выбранного источника + Служба синхронизации имеет разрешение на запись + Цикл активирован + Выбран APS + Режим замкнутого цикла включен + ЦЕЛИ + Обучающая программа + Хотите сбросить начатую цель? Можете потерять достигнутое. + Далее + Назад + Очистить завершенные + Очистить начатые + + Действия + Кнопки быстрого доступа к некоторым распространенным настройкам + ДЕЙСТВ + ВремБазал + Пролонгированный болюс + Отменить пролонгированный болюс + Инструменты + Просмотр журнала + Сенсор + возраст: + уровень: + Инсулин + Батарея помпы + Катетер помпы + Функция Пролонгированный Болюс остановит режим замкнутого цикла на время действия пролонгированного болюса. Подтверждаете выбор? + Ошибка подачи пролонгированного болюса + время, отработанное катетером помпы + время отработанное разовой помпой + Разовая помпа + + Ограничение пролонгированного болюса до %1$.1f ед. из-за %2$s + Ограничение углеводов до %1$d г. из-за %2$s + Ограничение активного инсулина IOB до %1$.1f ед. из-за %2$s + Помпа не рассчитана на подачу временного базала + Режим замкнутого цикла отключен в настройках + Незапланированный прием пищи UAM отключен, поскольку он основывается на модуле чувствительности из Oref1 + Работает версия разработчика. Замкнутый цикл отключен. + Замкнутый цикл отключен из-за работы Пролонгированного Болюса + Опция супер микро болюс всегда и после углеводов отключена т. к. активный источник ГК не поддерживает комплексное фильтрование + В режиме незамкнутого цикла open loop супер микро болюс SMB не допускается + максимальное значение в настройках + жесткий предел + Безопасность терапии + Выберите возраст пациента для установки ограничителей безопасности + Ребенок + Подросток + Взрослый + Инсулинорезистентный взрослый + Беременность + Макс разрешенный болюс [U] + Макс разрешенные углеводы [g] + Тип пациента + Отложить + Показать индикаторы состояния на главном экране + Порог предупреждения о времени, отработанном катетером [h] + Критический порог предупреждения о времени, отработанном катетером [h] + Порог предупреждения о времени, отработанном инсулином [h] + Критический порог предупреждения о времени, отработанном инсулином [h] + Порог предупреждения о времени, отработанном сенсором [h] + Критический порог предупреждения о времени, отработанном сенсором [h] + Порог предупреждения о разрядке батареи [%] + Порог предупреждения о критическом уровне разрядки батареи [%] + Порог предупреждения о разрядке батареи [h] + Порог предупреждения о критическом уровне разрядки батареи [h] + Порог уровня наполненности резервуара для оповещения [ед.] + Порог критического уровня наполненности резервуара [U] + Порог предупреждения о разрядке батареи [%] + Порог предупреждения о критическом уровне разрядки батареи [%] + Индикаторы состояния + Копировать параметры из NS + график + инсулин + Меню графика + качество ГК + уровень глюкозы в крови ГК + устаревшие данные + Режим APS + Принять новый врем базал: + Непрерывный мониторинг ГК + Мастер Быстрого доступа + + NSClientV3 + NSV3 + перезапуск + Атрибут защиты доступа в NS + Атрибут защиты доступа в NS + Атрибут защиты доступа в NS, созданный на странице администратора NS (минимум 17 символов) + Подать сейчас + очистка очереди + показать очередь + очередь + состояние: + Полная синхронизация + Полная синхронизация? Это может занять много часов и до завершения вы не увидите новые данные в NS. + Синхронизация + Профили, болюсы, углеводы, временные базалы закачиваются в NS + Передать данные в NS + Принимать хранилище профилей + Синхронизировать профили из редактора NS профиля в локальный профиль + Получить временные цели + Принимать временные цели, установленные через NS или NSClient + Получать переключения профиля + Принимать переключения профиля, введенные через NS или NSClient + Принимать события APS автономно + Принимать события APS введенные через NS или клиент NS автономно + Получать временную базальную скорость TBR и пролонгированный болюс EB + Принять TBR и EB введеные с другого устройства + Принимать инсулин + Принимать инсулин, введенный через NS или NSClient (не подается, только рассчитывается как активный IOB) + Принимать углеводы + Принимать углеводы, введенные через NS или NSClient + Принимать события терапии + Принимать события терапии (катетер, инсулин, изменение батареи и т. д.) через NS или NSClient + Получать/заполнять данные мониторинга CGM + Принимать данные мониторинга CGM из NS + Запустить %s? + Замедлить выгрузку + Создать уведомления из оповещений NS + Создать уведомления из оповещений NS + + Имя пользователя Tidepool, обычно ваш адрес электронной почты + Имя пользователя + Ваш пароль для входа в Tidepool + Пароль для входа + Тест входа в Tidepool + Если активировано, загрузки перейдут на https://int-app.tidepool.org вместо обычного https://app.tidepool.org/ + Использовать серверы интеграции (тест) + Tidepool + TDP + Загружает данные в Tidepool + Загрузить данные мониторинга + Загрузить лечение (инсулин, углеводы) + Загрузить временные базалы + Загрузить переключения профиля, временные цели + Загрузить тесты ГК + Удалить всё + Перезапустить старт + Выгрузить (передать данные) сейчас + + Интеграция с помпами, еще не имеющими драйвера (незамкнутый цикл) + настройки вирт помпы + статус передачи данных в NS + + Получать данные гликемии с сайта Nightscout + xDrip + + Получать данные гликемии от xDrip+. + Самост собран прилож Dexcom + ССП DEXCOM + Получать данные ГК от \'Самостоятельно собранного приложения Dexcom\'. + Приложение Eversense (пропатченное) + Получать данные гликемии от пропатченного приложения Eversense. + Получать данные гликемии от Glimp. + Получать данные гликемии от 600SeriesAndroidUploader. + Poctech + Получать данные гликемии от приложения Poctech + Приложение Glunovo + Получать данные гликемии от приложения Glunovo + Приложение Intelligo + Получать данные гликемии от приложения Intelligo + Томато (MiaoMiao) + Томато + Получать значения ГК от приложения Tomato (устройство MiaoMiao) + Aidex + Получить значения ГК от GlucoRx Aidex + Случайные значения ГК + Генерировать случайные данные ГК (только демо-режим) + ГК + Отправлять данные СК на xDrip+ + В xDrip + выберите источник данных 640g/Eversense + Выгружать (передавать данные) ГК в Nightscout + Параметры загрузки СК + Вносить запись о замене сенсора в NS + Автоматически создать событие \"Замена сенсора\" в NS при запуске сенсора + + Использовать мобильное подключение + Использовать WiFi соединение + SSID для Wi-Fi + Во время зарядки + От батареи + Создавать оповещение на основе названия ошибки + Создавать оповещения из напоминаний о необходимых углеводах + Создать оповещение NS с диалогом об ошибке и оповещения на месте (также видимые в портале назначений в разделе лечение) + Создавать оповещения Nightscout из напоминаний о необходимых углеводах + Синхронизирует данные с Nightscout + Синхронизирует данные с Nightscout при помощи API v3 + Заблокировано опциями зарядки + Заблокировано настройками подключения + OAPS + ЗАГРУЗ + + Исходная тема оформления + Тема для низкого разрешения + Кнопки всегда отображаются в нижней части экрана + Большой экран + Тема оформления diff --git a/plugins/main/src/main/res/values-sk-rSK/exam.xml b/plugins/main/src/main/res/values-sk-rSK/exam.xml new file mode 100644 index 0000000000..154a03f3d1 --- /dev/null +++ b/plugins/main/src/main/res/values-sk-rSK/exam.xml @@ -0,0 +1,227 @@ + + + Čo je pravda o DIA? + Doba pôsobenia inzulínu (DIA) + Mali by ste nastaviť hodnotu DIA vo vašom profile. + Minimálna hodnota je 5 hodín. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin + Pokiaľ ste spokojní s tým, že hodnota DIA použitá v pumpe pred AAPS dobre fungovala, nie je potrebné ju meniť, keď začínate s uzavretým okruhom. + Mali by ste si pre seba určiť príslušnú hodnotu DIA. + Dočasný cieľ pri hypoglykémii + Čo je primárnym dôvodom k nastaveniu dočasného cieľa \"Hypoglykémia\"? + Upravovať hypoglykémie, spôsobené nesprávnym nastavením bazálu. + Aby sa zabránilo prehnanej korekcii, spôsobenej rýchlymi sacharidmi, použitými k liečbe hypoglykémie. + Napraviť hypo, ako dôsledok fyzickej aktivity. + Aby sa zabránilo zníženiu hladiny glukózy v krvi, pokiaľ už beží 0% dočasný bazál. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html + Ktorý profil je možné použiť a konfigurovať offline? + Téma: Offline profil + NS profil môže byť použitý, ale nenakonfigurovaný. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#profile + Dôvody pre použitie \"Odpojiť pumpu\" v AAPS + Čo je potrebné urobiť, pri odpojení pumpy? + Toto je zbytočné, pretože inzulín nebude vydaný v prípade, že je pumpa fyzicky odpojená. + Zabraňuje AndroidAPS započítať inzulín, ktorý nebol vydaný, keď je pumpa fyzicky odpojená. + Nezastaví vydávanie inzulínu, pokiaľ pumpa zostane pripojená. + Prepne AAPS do režimu otvoreného okruhu. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#dalsi-nastaveni + Nastavenie AAPS + Nastavenie AAPS + Aké sú najlepšie postupy pre zálohovanie vašich nastavení? + Nastavenia nie je potrebné exportovať za predpokladu, že ste si ich zapísali. + Exportujte svoje nastavenia po dokončení cieľa. + Exportujte svoje nastavenia, po zmene ktoréhokoľvek z vašich nastavení. + Exportujte svoje nastavenia po dokončení počiatočného nastavenia a nastavenia preferencií. + Exportujte vaše nastavenia lokálne pomocou menu údržby. + Súbor nastavení sa nachádza v zložke Interné úložisko/AAPS/Preferences vašeho telefónu. + Skopírujte súbor s vašimi nastaveniami do bezpečného umiestnenia mimo telefón (napr. pomocou cloudového disku, pripojením kábla k počítaču, E-mailom a pod.) + Ak je váš telefón poškodený, alebo stratený, existujú jednoduché spôsoby, ako vzdialene obnoviť vaše nastavenia bez zálohovania. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#jake-vybaveni-pro-pripad-nouze-se-doporucuje-brat-s-sebou + Šum dát zo senzora + Čo je potrebné urobiť v prípade, že CGM dáta poskakujú? + Nerobte nič, AAPS sa s tým vysporiada. + Deaktivujte uzavretý okruh, aby nedošlo k predávkovaniu, alebo poddávkovaniu. + Nahraďte trvalo zašumené, alebo nepresné senzory. + Overte, či vaša aplikácia CGM vyhladzuje glykémie. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#vyhlazovani-zarusenych-dat-glykemii + Cvičenie a profily + Ako môžete použiť profily, aby ste mohli najlepšie pomocou systému riešiť aeróbne cvičenie? + Prepnúť na profil pod 100 %. + Prepnite profil na viac ako 100 %. + Ponechajte profil nastavený na hodnotu 100%. + Pozastavte uzavretý okruh. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite + Cvičenie a dočasné ciele + Ako môžete použiť dočasné ciele pre najlepšiu pomoc pri práci so systémom pri aeróbnom cvičení? + Nastavte cieľovú hodnotu glykémie vo vhodnej dobe pred zahájením cvičenia. + Po ukončení cvičenia nastavte cieľovú hodnotu glykémie. + Nechajte svoju cieľovú glykémiu bez zmeny. + Počkajte, kým glykémia neklesne pod Váš dočasný cieľ hypoglykémia a potom zjedzte 15 g rýchlych sacharidov. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/temptarget.html#docasny-cil-pri-pohybove-aktivite + Deaktivovaný/pozastavený uzavretý okruh + Dostávam inzulín, keď je uzavretý okruh deaktivovaný/pozastavený? + Áno, bazálny inzulín je podávaný naďalej. + Nie, podávanie inzulínu je zastavené. + Testovanie bazálu, ISF a IC + Kedy majú byť tieto hodnoty overené? + Predtým, ako začnem používať uzavretý okruh. + Pri častom výskyte vysokej, alebo nízkej hladiny glykémie v krvi. + Minimálne raz týždenne. + Akonáhle sú tieto hodnoty nastavené a overené, nemali by sa časom meniť. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#nastaveni-androidaps + Požiadavky + Čo je nevyhnutné pre nastavenie a používanie AAPS? + Overené informácie o profile (Bazál, IC, ISF, DIA). + Počítač s nainštalovanou a nakonfigurovanou aplikáciou Android Studio. + Podporovaný telefón. + Kompatibilná inzulínová pumpa, pokiaľ plánujete spustenie uzavretého okruhu. + Nightscout pre záznam všetkých dát a kontrolu nastavení. + Tidepool účet. + Google účet. + Github účet. + Skúsenosti s programovaním, alebo úpravou kódu. + Pumpu MiniMed 670G. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html + Inteligentné hodinky. + Podporovaný CGM. + Požiadavky + Čo je nevyhnutné pre nastavenie a používanie AAPS? + Overené informácie pre nastavenie profilu (ISF, pomer I:C, bazálne dávky, DIA atď.). + Kompatibilné Android zariadenie (napr. mobilný telefón, Android hodinky, alebo tablet). + AAPS vyžaduje pripojenie k internetu pre spustenie uzavretého okruhu. + Podporované CGM a vhodná aplikácia pre prijímanie glykémií v telefóne/zariadení. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html + Aktualizujem AAPS + Zaškrtnite všetky správne odpovede. + Musíte mať nainštalovaný a nakonfigurovaný Git na vašom počítači. + Pokiaľ sú uvoľnené aktualizované verzie AAPS, staršie verzie môžu byť po určitej dobe vzdialene obmedzené. + Mali by ste uložiť a zaznamenať umiestnenie úložiska kľúčov a použiť rovnaký podpisový kľúč pre aktualizácie, ako pre vašu predchádzajúcu inštaláciu. + Nikdy neaktualizujte, pokiaľ systém funguje dobre. + Ak máte problém s vytvorením apk, môžete nainstalovať apk, ktorý bol vytvorený priateľom. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Installing-AndroidAPS/Update-to-new-version.html + Riešenie problémov + Kde môžete hľadať pomoc s AAPS? + Môžete požiadať o radu vo Facebookovej skupine používateľov AAPS. + Mali by ste si prečítať (a znovu prečítať) dokumentáciu k AAPS. + Môžete požiadať o radu a nahlásiť technické problémy, alebo chyby na Discorde AAPS. + Mali by ste se spýtať svojho lekára/endokrinológa. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/index.html#poradce-pri-potizich + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Ktorý inzulín by ste mali používať s pluginom Ultra-rýchly Oref? + Fiasp® + NovoRapid ® /Humalog ® + Humalog® + Actrapid ®/Humulin R ®/\"bežný\" ľudský inzulín. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#inzulin + Pluginy Citlivosť + Zaškrtnite všetky správne odpovede. + Pluginy citlivosti umožňujú AndroidAPS prispôsobiť sa dočasným, alebo krátkodobým zmenám v citlivosti inzulínu (napríklad hormonálne zmeny, alebo problémy s absorbciou na infúznom mieste). + Pluginy citlivosti poskytujú používateľovi návrh zmien bazálnych hodnôt, I:C pomerov a ISF, ktoré môžu byť použité k úprave profilu. + Výmena kanyly, alebo zmena profilu automaticky nastaví Autosense späť na 100%. + Niektoré pluginy majú konfigurovateľné časové rozmedzie, ktoré môže nastaviť používateľ. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Configuration/Config-Builder.html#detekce-citlivosti + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Chyby pri zadávaní sacharidov + Čo by ste mali urobiť, pokiaľ ste chybne zadali sacharidy? + Odstráňte nesprávny záznam v Ošetreniach a zadajte správnu novú hodnotu sacharidov. + Pošlite inzulín pomocou plnenie/doplňovanie. + Nič nerobte – AAPS urobí vhodné úpravy. + Pošlite inzulín pomocou ikony Inzulín v prehľade. + Chyby pri podávaní inzulínu + Čo by ste mali urobiť, pokiaľ ste dostali menej inzulínu, než ukazuje história pumpy, napr. v dôsledku oklúzie, vadnej kanyly, alebo zabudnutia na opätovné pripojenie pumpy po sprche? + Odstráňte dáta z Nightscoutu pre odstránenie z histórie pumpy. + Porovnaj hodnoty v AAPS z históriou v tvojej pumpe (ak pumpa podporuje túto funkciu). + Pošlite bolus na vypočítaný „chýbajúci“ inzulín buď injekčnou striekačkou, alebo perom, alebo pomocou plnenia na pumpe. + Nerobte nič a dovoľte AAPS upraviť akúkoľvek výslednú vysokú hladinu glukózy v krvi. + Aktívne sacharidy (COB) + Ako ovplyvňuje zmena hodnoty citlivosti výpočet COB? + Zvýšenie hodnoty citlivosti predĺži dobu absorbcie sacharidov + Zvýšenie hodnoty citlivosti skráti dobu absorbcie sacharidov + Zvýšenie citlivosti neovplyvní vypočítanú absorbciu sacharidov + Ako ovplyvňuje zmena inzulíno-sacharidového pomeru výpočet COB? + Zvýšenie hodnoty inzulíno-sacharidového pomeru predĺži dobu absorbcie sacharidov + Zvýšenie hodnoty inzulíno-sacharidového pomeru skráti dobu absorbcie sacharidov + Zvýšenie inzulíno-sacharidového pomeru neovplyvní vypočítanú absorbciu sacharidov + Ako ovplyvňuje percentuálna zmena profilu výpočet COB? + Nastavením profilu na 150 % dôjde k predĺženiu doby absorbcie sacharidov + Nastavením profilu na 150 % dôjde ku skráteniu doby absorbcie sacharidov + Nastavenie profilu na 150% neovplyvní vypočítanú absorbciu sacharidov + Aktívny inzulín (IOB) + Hodnota IOB je ovplyvnená vydanými dočasnými bazálmi. + Vysoký dočasný bazál nebude spustený, pokiaľ je Vaša glykémia nižšia, ako cieľ. + Negatívne IOB po značnú dobu bez cvičenia naznačuje, že váš profil je príliš \"silný\" a vo vašom profile je potrebného menej inzulínu. + Pozitívne IOB na značnú dobu naznačuje rezistenciu voči inzulínu, alebo neohlásené jedlo. + Zadávanie sacharidov a bolusov + Iba gramy by mali byť použité pre odhad a záznam spotrebovaných sacharidov. + Spotrebované sacharidy je možné zaznamenávať pomocou vhodného systému (napr. \"sacharidové jednotky\"). + AAPS používa dynamický model k odhadu vstrebávania sacharidov a k výpočtu COB. + Pokiaľ sú hladiny glykémie v krvi mimo prijateľných hodnôt (príliš nízke, alebo príliš vysoké), môže byť použitá bolusová kalkulačka k podávaniu návrhov na sacharidy, alebo na korekčný bolus. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulinovosacharidovy-pomer-ic-g-u + e-sacharidy + Na čo by ste mohli použiť e-sacharidy (predĺžené sacharidy)? + Pre plánovanie budúcich sacharidov, prípadne distribuovaných v intervale (podobné predĺženému bolusu). + Pre zaznamenávanie \'falošných\' sacharidov pri cvičení, ktoré chcete skryť pred AAPS. + e-sacharidy (distribuované v budúcnosti) môžu AAPS pomôcť pri narábaní s jedlami s vysokým obsahom tukov/bielkovín. + Pre zaznamenávanie rýchlych sacharidov, použitých k liečbe nízkej hladiny glukózy v krvi. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Extended-Carbs.html + Vzdialený monitoring + Ako môžete vzdialene monitorovať AAPS (napríklad svoje dieťa)? + NSClient aplikácia, aplikácia Nightscout a webová stránka Nightscout, umožnujú sledovať AAPS vzdialene. + Ďalšia aplikácia (např. Dexcom follow, xDrip bežiaci v režime sledovania) vám umožňujú sledovať niektoré parametre (napr. hodnoty glykémie) na diaľku, ale použitie rôznych algoritmov môže mať vplyv na nepresné hodnoty IOB nebo COB. + Ak chcete sledovať AndroidAPS na diaľku, musia mať obe zariadenia prístup k internetu (napr. cez Wi-Fi, alebo mobilná dátová sieť). + NSClient umožňuje oboje: monitorovať a poskytovať plnú kontrolu nad AAPS. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Children/Children.html + Citlivosť inzulínu (ISF) + Zvýšenie hodnôt citlivosti povedie k väčšej dodávke inzulínu na pokrytie určitého množstva sacharidov. + Zníženie hodnôt citlivosti vedie k väčšiemu množstvu inzulínu na korekciu vyššej glykémie. + Zvýšenie, alebo zníženie citlivosti nemá žiadny vplyv na výdaj inzulínu, pokiaľ sú hladiny glukózy v krvi pod cieľovou hodnotou. + ISF by mala byť zadaná v nastaveniach AAPS. + Zmena hodnoty citlivosti vo vašom profile stačí k tomu, aby se táto zmena použila. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#korekcni-faktor-citlivost-na-inzulin-isf-mmol-l-u-nebo-mg-dl-u + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html + Vo svojom profile môžete použiť viac ako jednu hodnotu I:C pomeru. + Ak zmeníte ISF vo svojom profile, mali by ste vždy zmeniť aj I:C pomer. + Inzulínosacharidový pomer (I:C) + Vyššie hodnoty I:C vedú k menšej dávke inzulínu ku rovnakému množstvu sacharidov. + Nižšie hodnoty I:C vedú k menšej dávke inzulínu ku rovnakému množstvu sacharidov. + Pokiaľ máte 0 COB, zmena inzulíno-sacharidového pomeru povedie k inému množstvu inzulínu vydanému pre korekciu glykémie. + Inzulíno-sacharidový pomer sa bude líšiť podľa toho, či počítate sacharidovú jednotku ako 10 g, alebo ako 12 g sacharidov. + Inzulíno-sacharidový pomer vyjadruje: koľko sacharidových jednotiek pokryje 1 jednotka inzulínu. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#inzulino-sacharidovy-pomer-cr-g-u + Prepnutie profilu + Keď zadáte 90% profil, ktoré odpovede sú pravdivé? + Bazály budú o 10 % nižšie. + Hodnota citlivosti bude o 10 % vyššia. + Hodnota pomeru I:C bude o 10% nižšia. + Hodnoty ISF a I:C budú nezmenené. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html?highlight=p%C5%99epnut%C3%AD%20profilu + Prepnutie profilu + Keď zadáte 120% profil, ktoré odpovede sú pravdivé? + Cieľová glykémia bude o 20 % vyššia. + Bazály budú o 20 % vyššie. + Cieľová glykémia sa nezmení. + Hodnota citlivosti bude o 20 % vyššia. + Prepnutie profilu + Pokiaľ sa prebudíte o 2 hodiny skôr než obvykle, ako by ste mali oznámiť AAPS túto zmenu? + Urobte prepnutie profilu s posunom času 2 + Urobte prepnutie profilu s posunom času -2 + Nastavte dočasný cieľ pre blížiace sa jedlo. + Prepnúť profil na viac ako 100 %. + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Profiles.html#posun-casu + Zmeny profilov + V profiloch by mali byť nastavené bazálne dávky, ISF, I:C pomery, atď. + Aktivácia zmien vašeho profilu Nightscout vyžaduje, aby váš telefón s AAPS mal k dispozícii pripojenie k internetu. + Úprava profilov za účelom zmeny hodnôt je dostatočná k vykonaniu všetkých urobených zmien. + Je možné nastaviť a vybrať z viacerých profilov za účelom prispôsobenia sa meniacim sa okolnostiam (napr. hormonálne zmeny, práca na smeny, pracovné dni/životný štýl cez víkend). + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Module/module.html#spravny-individualni-algoritmus-davkovani-pro-lecbu-vaseho-diabetu + Pomoc s bazálmi + Kam ísť pre pomoc s bazálmi a pod. + K Vášmu lekárovi + Google + Facebook + Ostatné lieky. Prečítajte si prosím nižšie uvedené prehlásenie a potom zaškrtnite políčko pre prijatie prehlásenia. + AAPS znižuje bazály, alebo pozastavuje podávanie inzulínu, aby sa zvýšila hladina cukru v krvi. Lieky zo skupiny inhibítorov SGLT2 (gliflozíny) môžu zabrániť očakávanému zvýšeniu hodnoty glykémie a tak môžu produkovať nebezpečný nedostatok inzulínu (ketoacidózu). +\nBežné značky sú: Invokana ®, Forxiga ®, Jardiance ®, Steglatro ®, Suglat ®, Apleway ®, Deberza ®, Synjardy ®, Vokanamet ®, Xigduo ®.\n\n. Týmto sľubujem, že tieto lieky neberiem pri používaní AAPS, alebo deaktivujem uzavretý okruh pred užívaním týchto liekov. + diff --git a/plugins/main/src/main/res/values-sk-rSK/objectives.xml b/plugins/main/src/main/res/values-sk-rSK/objectives.xml new file mode 100644 index 0000000000..708504a568 --- /dev/null +++ b/plugins/main/src/main/res/values-sk-rSK/objectives.xml @@ -0,0 +1,55 @@ + + + Štart + Kontrola + %1$d. cieľ + Výukový cieľ %1$d nespustený + Výukový cieľ %1$d nedokončený + Nastaviť vizualizáciu a monitoring, analyzovať bazály a pomery + Skontrolovať, či sú glykémie a údaje z pumpy viditeľné v Nightscoute + Začať s otvoreným okruhom + Niekoľko dní používať otvorený okruh a ručne potvrdzovať doporučené dočasné bazály. Nastavovať a používať dočasné ciele (napr. pre šport, alebo hypo) + Porozumieť otvorenému okruhu, vrátane jeho doporučení ohľadne dočasných bazálov + Na základe predchádzajúcich skúseností rozhodnúť, aký je potrebný maximálny bazál a nastaviť ho v pumpe a v aplikácii + Spustiť uzavretý okruh iba zo zastavovaním pri nízkej glykémii + Spustiť uzavretý okruh s max IOB = 0 na niekoľko dní s minimom nutných korekcií na nízku glykémiu + Zapnúť uzavretý okruh, zvyšovať max IOB nad 0 a znižovať cieľovou glykémii + Používať uzavretý okruh niekoľko dní s aspoň jednou nocou bez alarmov na nízku glykémiu + Upraviť bazály a pomery, ak je to potrebné, a povoliť automatickú detekciu citlivosti na inzulín + Jeden týždeň úspešného používania s bežným príjmom sacharidov + Povoliť ďalšie funkcie pre bežné používanie ako SMB + Povolenie automatiky + Prečítať si dokumentáciu a zvýšiť maximálne IOB, aby mohlo správne fungovať SMB! Pre začiatok sa dá použiť veľkosť bežného bolusu + 3x maximálny denný bazál + Prečítajte si dokumentáciu na wiki, ako automatika funguje. Najskôr nastavte iba jednoduché pravidlá. Namiesto vykonávania akcií nechajte AAPS zobrazovať iba oznámenia. Pokiaľ ste si istý, že automatika je spustená v správnom čase, môžete oznámenie nahradiť vykonaním akcie.(https://androidaps.readdocs.io/en/latest/CROWDIN/cs/Usage/Automation.html) + Glykémia dostupná v NS + Stav pumpy dostupný v NS + Spustené manuálne + Splnené: %1$s + Naučte sa, ako ovládať AndroidAPS + Vykonávajte v AndroidAPS rôzne akcie + Nastavte profil na 90 % na 10 min (Dlhé stlačenie názvu profilu na obrazovke Prehľad) + Predstierajte, že se idete sprchovať. Odpojte pumpu na 1 h (Dlhšie pridržte tlačítko Otvorený okruh) + ...a rovnakým spôsobom ju znovu pripojte + Vytvorte vlastný dočasný cieľ s trvaním 10 min (Dlhšie pridržte aktuálny cieľ) + V Konfigurácii povoľte modul Akcie, aktivujte jeho zobrazenie a zobrazte jeho obsah z hornej ponuky + Zobrazte obsah modulu uzavretý okruh + Prepnite režim zobrazenia dlhým stlačením grafu glykémie + Zadať + Pokiaľ máte aspoň 3 mesiace skúseností s uzavretým okruhom na iných systémoch, môžete získať kód, ktorý vám umožní preskočiť ciele. Viac informácií nájdete na https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Usage/Objectives.html#skip-objectives. + Kód akceptovaný + Neplatný kód + Preukážte svoje znalosti + Preštudujte si otázky. Dostali ste štyri možné odpovede na každú otázku. Môže existovať viac ako jedna správna odpoveď. Zaškrtnite všetky správne odpovede a potvrďte voľbou KONTROLA. + Odpovedanie zakázané do: %1$s + Nesprávna odpoveď! + Ďalšia nedokončená + Kód žiadosti: %1$s + (zaškrtnite všetky správne odpovede) + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/FAQ.html#co-delat-pri-sprchovani-a-koupani + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#konfigurace + https://androidaps.readthedocs.io/en/latest/CROWDIN/cs/Getting-Started/Screenshots.html#hlavni-stranka + Nie ste pripojený k internetu + Vyčítanie času zlyhalo + Požiadavky cieľa nie sú splnené + diff --git a/plugins/main/src/main/res/values-sk-rSK/strings.xml b/plugins/main/src/main/res/values-sk-rSK/strings.xml index bf3ad3f88a..1fa9d634a8 100644 --- a/plugins/main/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/main/src/main/res/values-sk-rSK/strings.xml @@ -1,202 +1,298 @@ - SMS komunikátor SMS - Ovládanie AAPS na diaľku použitím SMS príkazov. - z aplikácie Authenticator pre: %1$s nasledované kódom PIN - Ďalší povinný kód PIN na konci tokenu - Ďalšie číslice, ktoré by mali byť zapamätané a pridané na koniec každého vygenerovaného jednorázového hesla - Nastavenie autentifikátora - Kód pre kontrolu: OTP + PIN - Overovací kód sa skladá zo 6 číslic zobrazených aplikáciou Authenticator (známej ako OTP) nasledované 3, alebo viacerými číslicami povinného kódu PIN. - Resetovať autentifikátory - Resetovať autentifikačný kľúč - Ste si istý, že chcete obnoviť autentifikačný kľúč? Vyresetujete tým všetky aktuálne nakonfigurované autentikátory a budete ich musieť znovu nastaviť. - Bol vygenerovaný nový autentifikačný kľúč! Prosím, použite aktualizovaný QR kód pre nastavenie autentifikátorov. - Export OTP tajného kľúča - Ste si istý, že chcete skopírovať tajný OTP kľúč do schránky?\n\nPravdepodobne to budete potrebovať iba v prípade, keď bude mať vaša overovacia aplikácia problém so skenováním QR kódu, chcete ho zadať ručne, alebo chcete nakonfigurovať hardwarový OTP token pomocou špeciálnej aplikácie. - Tajné OTP heslo (vo formáte Base32) bolo vyexportované a skopírované do schránky. Vložte ho do autentikátora, alebo programátora OTP hardwaru! - 1. Nainštalujte Autentifikátor - 2. Naskenujte kód pre nastavenie AAPS OTP kódov - 3. Odtestujte jednorázové heslo - Resetovať autentifikátory - Na každom sledovacom telefóne nainštalujte Autentifikátor, ktorý podporuje tokeny TOTP RFC 6238. Najobľúbenejšie bezplatné aplikácie sú:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Resetovaním autentifikátora budú všetky už poskytnuté autentifikátory neplatné. Budete ich musieť znovu nastaviť! - Nesprávný kód. Príkaz zrušený. - Vypršal časový limit pri čakaní na dokončenie predchádzajúcej komunikácie s pumpou - Používateľ - Povolené telefónne čísla - +421XXXXXXXXX;+421YYYYYYYYY - Pre podanie bolusu %1$.2fJI odpovedz SMS kódom %2$s - Pre podanie bolusu k jedlu %1$.2fJI odpovedz SMS kódom %2$s - Pre nastavenie dočasného cieľa %1$s odpovedz SMS kódom %2$s - Pre zrušenie dočasného bazálu odpovedzte SMS s kódom %1$s - Pre vypnutie služby SMS komunikátora odpovedz SMS kódom %1$s.\n\n\Majte na pamäti, že opätovná reaktivácia je možná len priamo na AAPS master telefóne. - SMS komunikátor zastavený. Na jeho reaktiváciu, použite AAPS na master telefóne. - Pre odoslanie kalibrácie %1$.2f odpovedz SMS kódom %2$s - Chyba pri aplikovaní bolusu - Minimálny počet minút, ktorý musí uplynúť medzi jedným vzdialeným bolusom a tým nasledujúcim - Aspoň koľko minút musí uplynúť, medzi jedným vzdialeným bolusom a tým nasledujúcim - Pre vašu bezpečnosť, musíte pridať aspoň 2 telefónne čísla, aby ste zmenili toto prednastavenie. - Bolus %1$.2f JI podaný úspešne - Bolus na jedlo %1$.2f JI podaný úspešne - Cieľ %1$s na %2$d minút - Cieľ %1$s na %2$d minút bol úspešne nastavený - Dočasný cieľ úspešne zrušený - Povoliť príkazy na diaľku cez SMS - Uzavretý okruh bol deaktivovaný - Uzavretý okruh bol aktivovaný - Uzavretý okruh je aktivovaný - Ak chcete pripojiť pumpu, odpovedzte pomocou SMS s kódom %1$s - Pripojenie k pumpe zlyhalo - Ak chcete odpojiť pumpu na %1$d minút, odpovedzte pomocou SMS s kódom %2$s - Pumpa odpojená - Pumpa bola znovu pripojená - Príkazy na diaľku nie sú povolené - Diaľkovo ovládaný bolus nie je momentálne povolený. Skúste to neskôr. - Pre spustenie bazálu %1$.2f JI/h na %2$d min odpovedzte SMS s kódom %3$s - Pre prepnutie profilu na %1$s %2$d%% odpovedzte SMS s kódom %3$s - Pre spustenie predĺženého bolusu %1$.2f JI na %2$d min odpovedzte SMS s kódom %3$s - Pre zadanie %1$dg na %2$s odpovedz SMS kódom %3$s - Pre spustenie bazálu %1$d%% na %2$d min odpovedzte SMS s kódom %3$s - Pre pozastavenie uzavretého okruhu na %1$d minút odpovedaj SMS s kódom %2$s - Pre obnovenie uzavretého okruhu, odpovedzte SMS s kódom %1$s - Pre povolenie uzavretého okruhu, odpovedzte SMS s kódom %1$s - Pre zakázanie uzavretého okruhu, odpovedzte SMS s kódom %1$s - Dočasný bazál %1$.2fJI/h spustený na %2$d minút - Predĺžený bolus %1$.2fJI na %2$d min úspešne spustený - Sacharidy %1$d g zadané úspešne - Zadanie %1$dg sacharidov sa nepodarilo - Dočasný bazál %1$d%% na %2$d minút úspešne spustený - Spustenie dočasného bazálu zlyhalo - Spustenie predĺženého bolusu zlyhalo - Na zastavenie dočasného bazálu odpovedzte SMS s kódom %1$s - Na zastavenie predĺženého bolusu odpovedzte SMS s kódom %1$s - Dočasný bazál zrušený - Predĺžený bolus zastavený - Zrušenie dočasného bazálu zlyhalo - Zastavenie predĺženého bolusu zlyhalo - Neznámy príkaz alebo chybná odpoveď - Vo fronte je ďalší bolus. Skúste to znovu neskôr. - Nesprávna doba trvania - Uzavretý okruh pozastavený - Uzavretý okruh obnovený - Chybné telefónne číslo - Kalibrácia odoslaná. Príjem kalibrácií musí byť povolený v xDrip+. - xDrip+ neprijíma kalibrácie - Neplatný obsah správy - Odoslať SMS, pokiaľ pumpa nie je dostupná - Nahlásiť nedostupnú pumpu - Chybný formát - Glykémia: - Posledná glykémia: - Rozdiel: + Pre nastavenie dočasného cieľa %1$s odpovedz SMS kódom %2$s + Pre zrušenie dočasného bazálu odpovedzte SMS s kódom %1$s + Pre vypnutie služby SMS komunikátora odpovedz SMS kódom %1$s.\n\n\Majte na pamäti, že opätovná reaktivácia je možná len priamo na AAPS master telefóne. + SMS komunikátor zastavený. Na jeho reaktiváciu, použite AAPS na master telefóne. + Pre odoslanie kalibrácie %1$.2f odpovedz SMS kódom %2$s + Chyba pri aplikovaní bolusu + Minimálny počet minút, ktorý musí uplynúť medzi jedným vzdialeným bolusom a tým nasledujúcim + Aspoň koľko minút musí uplynúť, medzi jedným vzdialeným bolusom a tým nasledujúcim + Pre vašu bezpečnosť, musíte pridať aspoň 2 telefónne čísla, aby ste zmenili toto prednastavenie. + Bolus %1$.2f JI podaný úspešne + Bolus na jedlo %1$.2f JI podaný úspešne + Cieľ %1$s na %2$d minút + Povoliť príkazy na diaľku cez SMS + Uzavretý okruh bol deaktivovaný + Uzavretý okruh bol aktivovaný + Uzavretý okruh je aktivovaný + Ak chcete pripojiť pumpu, odpovedzte pomocou SMS s kódom %1$s + Pripojenie k pumpe zlyhalo + Ak chcete odpojiť pumpu na %1$d minút, odpovedzte pomocou SMS s kódom %2$s + Pumpa odpojená + Príkazy na diaľku nie sú povolené + Diaľkovo ovládaný bolus nie je momentálne povolený. Skúste to neskôr. + Pre spustenie bazálu %1$.2f JI/h na %2$d min odpovedzte SMS s kódom %3$s + Pre prepnutie profilu na %1$s %2$d%% odpovedzte SMS s kódom %3$s + Pre spustenie predĺženého bolusu %1$.2f JI na %2$d min odpovedzte SMS s kódom %3$s + Pre zadanie %1$dg na %2$s odpovedz SMS kódom %3$s + Pre spustenie bazálu %1$d%% na %2$d min odpovedzte SMS s kódom %3$s + Pre pozastavenie uzavretého okruhu na %1$d minút odpovedaj SMS s kódom %2$s + Pre obnovenie uzavretého okruhu, odpovedzte SMS s kódom %1$s + Pre povolenie uzavretého okruhu, odpovedzte SMS s kódom %1$s + Pre zakázanie uzavretého okruhu, odpovedzte SMS s kódom %1$s + Dočasný bazál %1$.2fJI/h spustený na %2$d minút + Predĺžený bolus %1$.2fJI na %2$d min úspešne spustený + Sacharidy %1$d g zadané úspešne + Zadanie %1$dg sacharidov sa nepodarilo + Dočasný bazál %1$d%% na %2$d minút úspešne spustený + Spustenie dočasného bazálu zlyhalo + Spustenie predĺženého bolusu zlyhalo + Na zastavenie dočasného bazálu odpovedzte SMS s kódom %1$s + Na zastavenie predĺženého bolusu odpovedzte SMS s kódom %1$s + Dočasný bazál zrušený + Predĺžený bolus zastavený + Zrušenie dočasného bazálu zlyhalo + Zastavenie predĺženého bolusu zlyhalo + Neznámy príkaz alebo chybná odpoveď + Nesprávna doba trvania + Uzavretý okruh pozastavený + Uzavretý okruh obnovený + Chybné telefónne číslo + Kalibrácia odoslaná. Príjem kalibrácií musí byť povolený v xDrip+. + xDrip+ neprijíma kalibrácie + Neplatný obsah správy + Odoslať SMS, pokiaľ pumpa nie je dostupná + Nahlásiť nedostupnú pumpu IOB: Bolus: - Bazál: - pred %1$d min - Pozastavený (%1$d min) - Načítanie stavu zlyhalo - Prepnutie profilu vytvorené - Trvanie dočasného bazálu musí byť násobkom %1$d minút a musí byť väčšie ako 0. - QR kód pre nastavenie jednorázového hesla - DIA Lyumjev - Predvoľba pre inzulín Humalog a Novorapid - Predvoľba pre inzulín Fiasp - Predvoľba pre inzulín Lyumjev - Umožňuje definovať vrchol účinnosti inzulínu a malo by byť používané iba pokročilými užívateľmi - INZ - Čas vrcholu IOB krivky - Vrchol krivky [min] - Vrchol - Voliteľný vrchol - Oref - Rýchlo pôsobiaci - Oref - Ultra rýchly - Oref - DIA %1$f je príliš krátke - AAPS namiesto toho použilo %2$f ! Novorapid, Novolog, Humalog Fiasp - - Stavový riadok xDrip+ (hodinky) - XDS - Zobraz informácie o uzavretom okruhu na xDrip+ watchface. - Zobraziť detailný IOB - Rozpísať IOB na hodinkách do bolusového a bazálneho - Uzavretý okruh deaktivovaný - Zobrazovať BGI - Pridať BGI do stavového riadku - Stav z xDrip+ (hodinky) + - Jedlo - Zobrazenie prednastavených jedál, definovaných v Nightscoute Filter - Jedlo - kJ - En - Pr - Tuk - Kategória - Podkategória - Kalkulačka + kJ + En + Pr + Tuk - Vyber tmavú, svetlú, alebo systémovú tému - Farebná schéma - Tmavá téma - Svetlá téma - Použiť tému zariadenia - Profil - LPRF - Definujte profil, ktorý je dostupný offline. - pridať nový do zoznamu - Chcete prepnúť profil a zahodiť zmeny urobené v aktuálnom profile? - Najprv uložte alebo resetujte aktuálne zmeny - Odstrániť aktuálny profil? - Jednotky: - Chýba názov profilu - Chyba v hodnotách inz./sach. prevodu - Chyba v hodnotách bazálu - Chyba v cieľových hodnotách - Chyba v hodnotách citlivosti - Názov profilu obsahuje bodky.\nToto nie je v NS podporované.\nProfil nie je prenesený do NS. - Neplatný profil %1$s nebol akceptovaný z NS - Zobraziť - Chyby - Vyberte profil pre úpravu - Názov profilu: - pridať nový profil - klonovať aktuálny profil - zmazať aktuálny profil DIA - I:C - ISF - CIEĽ - BAZ - Použité prepočítané dáta - Glykémia je príliš blízko:\n%1$s\n%2$s - prepočítané - dvojité zápisy - Zmena letného času za menej ako 24 hodín - Zmena letného času za menej ako 3 hodiny - Uzavretý okruh pozastavený - Uvoľnite aspoň %1$d MB z interného úložiska! Uzavretý okruh zakázaný! - stará verzia - veľmi stará verzia - Aplikácia expirovala - Nová verzia je dostupná minimálne %1$d dní! Prepnutie na ochranu pred nízkou glykémiou po %2$d dňoch, vypnutie uzavretého okruhu po %3$d dňoch - Hotovo, gratulujeme! - Nedokončené - Uplynutý čas + Maximálne IOB nastavené správne + Glykémie dostupné z vybraného zdroja + Služba synchronizácie má oprávnenie k zápisu + Uzavretý okruh povolený + APS vybrané + Uzavretý okruh povolený + CIEĽ + Výukový program + Chcete resetovať začiatok cieľa? Môžete prísť o svoj pokrok. + Vymazanie dokončené + Vymazanie začaté + + Niektoré tlačidlá na rýchly prístup do spoločných funkcií + AKCIA + Nástroje + Kanyla + Použitie funkcie predĺženého bolusu zastaví uzavretý okruh na dobu trvania predĺženého bolusu. Naozaj to chcete? + Chyba pri podávaní predĺženého bolusu + vek kanyly + vek náplasťovej pumpy + Náplasťová pumpa + + Predĺžený bolus obmedzený na %1$.1f JI: %2$s + Sacharidy obmedzené na %1$d g: %2$s + IOB obmedzený na %1$.1f JI: %2$s + Pumpa nepodporuje dočasné bazály + Uzavretý okruh zakázaný v nastaveniach + UAM zakázané, pretože nie je povolený plug-in Oref1 + Bežiaca vývojárska verzia. Uzavretý okruh je zakázaný. + Uzavretý okruh je zastavený kvôli prebiehajúcemu predĺženému bolusu + \"SMB vždy\" a \"po jedle\" zakázané pretože zdroj glykémie nepodporuje rozšírené filtrovánie + SBM nie sú povolené pri otvorenom okruhu + maximálna hodnota v nastaveniach + pevný limit + Bezpečnosť zadania ošetrenia + Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov + Dieťa + Dospievajúci + Dospelý + Dospelý s nízkou citlivosťou + Tehotenstvo + Maximálny povolený bolus [JI] + Max. povolené množstvo sacharidov [g] + Typ pacienta - Odložiť + Skopírovať nastavenia NS (ak existujú)? + Zobraziť indikátory stavu na domovskej obrazovke + Prah upozornenia na vek kanyly [h] + Prah kritického veku kanyly [h] + Prah upozornenia na vek inzulínu [h] + Prah kritického veku inzulínu [h] + Prah upozornenia na vek senzora [h] + Prah kritického veku senzora [h] + Prah upozornenia na úroveň batérie senzora [%] + Prah kritickej úrovne batérie senzora [%] + Prah upozornenia na vek batérie v pumpe [h] + Prah kritického veku batérie v pumpe [h] + Prah upozornenia na úroveň hladiny zásobníka [JI] + Prah kritickej úrovne hladiny zásobníka [JI] + Prah upozornenia na úroveň batérie v pumpe [%] + Prah kritickej úrovne batérie v pumpe [%] + Indikátory stavu + Kopírovať nastavenia z NS + graf + inzulín + Grafové menu + kvalita glykémií + glykémia + zastaralé + APS mód + Povoliť nový dočasný bazál: + CGM + Rýchly bolus + + NSClient nemá právo na zápis. Nesprávne API secret? + NSClientV3 + NSV3 + Interný NSClient + NSCl + Adresa URL: + Automatický posuv + Reštart + Interný NSClient + Adresa Nightscoutu + Zadajte adresu Nightscoutu + NS heslo (API secret) + NS heslo (API secret) + Zadajte API secret (min 12. znakov) + Prístupový token NS + Prístupový token NS + Prístupový token vygenerovaný na stránke pre administráciu NS (min. 17 znakov) + Podať teraz + Vymazať frontu + Zobraziť frontu + Fronta: + Stav: + Vymazať log + Úplná synchronizácia + Úplná synchronizácia? Môže to trvať niekoľko hodín a kým skončí, neuvidíte nové dáta v NS. + Synchronizácia + Profily, bolusy, sacharidy, dočasné bazály sú nahrávané do NS + Nahrávať dáta do NS + Prijímať úložisko profilov + Synchronizovať profily z NS editora profilov + Prijímať dočasné ciele + Prijať dočasné ciele zadané prostredníctvom NS, alebo NSClienta + Prijímať prepnutia profilov + Prijať prepnutia profilov zadané prostredníctvom NS, alebo NSClienta + Prijímať udalosti APS offline + Prijať APS offline udalosti zadané prostredníctvom NS, alebo NSClienta + Prijímať dočasný bazál a predĺžený bolus + Prijať dočasný bazál a predĺžený bolus zadaný cez inú inštanciu + Prijímať inzulín + Prijať inzulín vložený cez NS, alebo NSClient (nie je dodaný, iba započítaný do IOB) + Prijímať sacharidy + Prijať sacharidy vložené prostredníctvom NS, alebo NSClienta + Prijímať liečebné udalosti + Prijať liečebné udalosti (výmena setu, inzulínu, batérie atď.) zadané prostredníctvom NS, alebo NSClienta + Prijímať/doplňovať glykémie + Prijať CGM dáta z NS + Spustiť %s? + Spomaliť nahrávanie + Nastavenie alarmov + Vytvoriť oznámenia z alarmov NS + Vytvoriť oznámenia z upozornení NS + Hraničná hodnota pre zastaralé dáta [min] + Vysoká hraničná hodnota pre zastaralé dáta [min] + Zaznamenávať spustenie aplikácie do NS + Povoliť vysielanie do iných aplikácií (napr. xDrip+). Nepovoľujte, pokiaľ máte nainštalovanú viac ako jednu AAPS, alebo NSClient inštanciu! + Povoliť lokálne vysielanie. + + Vaše meno používateľa na Tidepoole, obvykle Vaša E-mailová adresa + Meno používateľa + Heslo na Tidepool + Heslo + Odtestovať prihlásenie na Tidepool + Pokiaľ bude aktivované, dáta sa budú nahrávať na https://int-app.tidepool.org namiesto https://app.tidepool.org/ + Používať testovacie servery + Tidepool + TDP + Nahrávánie dát na Tidepool + Nahrávať CGM dáta + Nahrávať ošetrenia (inzulín, sacharidy) + Nahrávať dočasné bazály + Nahrávať prepnutia profilu, dočasné ciele + Nahrávať merania z prsta + Odstrániť všetko + Resetovať štart + Nahrať teraz + + Typ virtuálnej pumpy + Definícia pumpy + Bolus: Krok =%1$s\nPredl. bolus: [Krok=%2$s, Dĺžka=%3$smin-%4$sh]\nBazál: Krok=%5$s\nDoč. bazál: %6$s (%7$s), Dĺžka=%8$smin-%9$sh\n%10$s + Virtuálna pumpa + VPUM + Ovládač pumpy pre užívateľov bez podporovanej pumpy (Otvorený okruh) + Virtuálna pumpa + Nastavenie virtuálnej pumpy + Nahrať stav do NS + + Glykémie z NS + NS GL + Získavať hodnoty glykémií z Nightscoutu + xDrip+ + Prijímať hodnoty glykémií z xDrip+. + BYODA + BYODA + Prijímať hodnoty glykémií z upravenej aplikácie Dexcom (BYODA). + Eversense aplikácia (upravená) + Získavať glykémie z upravenej Eversense aplikácie. + Glimp + Získavať hodnoty glykémií z aplikácie Glimp. + MM640g + Získavať hodnoty glykémií z 600SeriesAndroidUploader. + Poctech + Získavať glykémie z aplikácie Poctech + Glunovo + Získavať glykémie z aplikácie Glunovo + Intelligo + Prijímať hodnoty z aplikácie Intelligo + Tomato (MiaoMiao) + Tomato + Prijímať glykémie z aplikácie Tomato (zariadenie MiaoMiao) + GlucoRx Aidex + Aidex + Prijímať hodnoty glykémie zo senzora GlucoRx Aidex. + Nastavenie nahrávania glykémie + + Použiť mobilné pripojenie + Použiť WiFi pripojenie + WiFi SSID + Počas nabíjania + Na batérii + Nastavenie pripojenia + Povolené SSID (oddelené bodkočiarkou) + Povoliť pripojenie pri roamingu + Vytvárať z chýb oznámenia + Vytvoriť oznámenie z výstrahy požadovaných sacharidov + Vytvárať oznámenia pre chyby a lokálne výstrahy v NS (zobraziteľné v starostlivosti pod ošetrením) + Pre výstrahy požadovaných sacharidov vytvoriť oznámenie v Nightscoute + Synchronizuje vaše dáta s NS + Synchronizuje vaše dáta s Nightscoutom pomocou v3 API + Zablokované možnosti nabíjania + Zablokované možnosti pripojenia + Nepodporovaná verzia Nighscoutu + OAPS + UPLD + Chyba NSClienta. Zvážte reštart NS a NSClienta. + + Pôvodný vzhľad + Vzhľad pre nízke rozlišenie + Tlačidlá sú vždy zobrazené v spodnej časti obrazovky + Veľký displej + Vzhľad diff --git a/plugins/main/src/main/res/values-sr-rCS/exam.xml b/plugins/main/src/main/res/values-sr-rCS/exam.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-sr-rCS/exam.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-sr-rCS/objectives.xml b/plugins/main/src/main/res/values-sr-rCS/objectives.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-sr-rCS/objectives.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-sr-rCS/strings.xml b/plugins/main/src/main/res/values-sr-rCS/strings.xml index adad28331d..9dc5fc6171 100644 --- a/plugins/main/src/main/res/values-sr-rCS/strings.xml +++ b/plugins/main/src/main/res/values-sr-rCS/strings.xml @@ -1,61 +1,17 @@ - SMS komunikator - Daljinsko upravljanje AAPS-om pomoću SMS naredbi. - Dozvoljeni brojevi telefona +XXXXXXXXXX;+YYYYYYYYYY - Da bi podesili privremeni cilj %1$s odgovori sa kodom %2$s - Da otkažete privremenog cilja odgovorI sa kodom %1$s - Da bi onemogućili SMS usluga na daljinu odgovori sa kodom %1$s.\n\nImaj na umu da ćeš moći da ga ponovo aktiviraš direktno samo sa AAPS glavnog pametnog telefona. - SMS usluga na daljinu je zaustavljen. Da bi je ponovo aktivirali, koristite AAPS na glavnom pametnom telefonu. - Za slanje kalibracije %1$.2f odgovori sa kodom %2$s - Bolus nije uspeo - Minimalni broj minuta koji mora da prođe između jednog daljinskog bolusa i sledećeg - Koliko minuta mora da prođe najmanje između jednog bolusa i sledećeg - Radi tvoje sigurnosti, za izmenu ove postavke, moraš dodati najmanje 2 telefonska broja. - Bolus %1$.2f U je uspešno isporučen - Bolus za obrok %1$.2f U je uspešno isporučen - Cilj %1$s za %2$d minuta - Cilj %1$s za %2$d minuta je uspešno postavljen - Privremeni cilj uspješno je otkazan - Dozvoli daljinske komande putem SMS-a - Petlja je onemogućena - Petlja je omogućena - Petlja je omogućena - Za povezivanje pumpe, odgovori sa kodom %1$s - Povezivanje sa pumpom nije uspelo - Za isključivanje pumpe na %1$d minuta, odgovori sa kodom %2$s - Pumpa nije povezana - Pumpa je ponovo povezana - Daljinska komanda nije dozvoljena - Daljinski bolus nije dostupan. Pokušaj ponovo kasnije. - Za početak bazala %1$.2f U/h za %2$d min odgovori sa kodom %3$s - Za promenu profila na %1$s %2$d%% odgovori sa kodom %3$s - Za početak produženog bolusa %1$.2f U za %2$d min, odgovori sa kodom %3$s - Za unos %1$dg u %2$s odgovori sa kodom %3$s - Za početak bazala %1$d%% za %2$d min, odgovori sa kodom %3$s - Za obustavljanje petlje na %1$d minuta, odgovori sa kodom %2$s - Za nastavak petlje odgovori sa kodom %1$s - Za omogućavanje petlje odgovori sa kodom %1$s - Za onemogućavanje petlje odgovori sa kodom %1$s Delta: IOB: Bolus: Basal: - Unapred podešena postavka insulina za Humalog i NovoRapid / NovoLog - Unapred podešena postavka insulina za Fiasp - Unapred podešena postavka insulina za Lyumjev - Omogućava definisanje vrhunca aktivnosti insulina i trebaju ga koriste samo napredni korisnici - - Prikažite informacije o tvom loop-u na tvom xDrip+ satu. + - Prikazuje unapred podešene postavke hrane definisane u Nightscout-u - Definiši profil koji je dostupan bez internet veze. @@ -63,5 +19,29 @@ + Program učenja + + Neke tipke za brzi pristup uobičajenim funkcijama + + Sigurnost tretmana + Maks. dozvoljen bolus [U] + Maks. dozvoljeni ugljeni hidrati [g] + APS režim + Prihvatite novi privremeni bazal: + Brzi Čarobnjak + + + + Integracija pumpe za pumpe koje još uvek nemaju upravljački program (Open Loop) + + Preuzimajte podatke GUK sa Nightscout-a + xDrip+ + Preuzimajte vrijednosti GUK od xDrip+. + Preuzimajte vrednosti GUK iz zakrpljene aplikacije Eversense. + Preuzimajte vrednosti GUK od Glimp-a. + Preuzimajte vrednosti GUK od 600SeriesAndroidUploader-a. + + Sinhronizuje vaše podatke sa Nightscout-om + diff --git a/plugins/main/src/main/res/values-sv-rSE/exam.xml b/plugins/main/src/main/res/values-sv-rSE/exam.xml new file mode 100644 index 0000000000..d2511255d3 --- /dev/null +++ b/plugins/main/src/main/res/values-sv-rSE/exam.xml @@ -0,0 +1,179 @@ + + + Vad är sant om DIA? + Insulinduration (DIA) + Du bör ange värdet för DIA i din profil. + Det minsta tillåtna värdet är 5 timmar. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + Du bör själv fastställa det lämpliga värdet för DIA. + Hypo tempmål + Vad är huvudskälet till att ange ett hypo tempmål? + För att korrigera känningar som orsakas av felaktiga basalinställningar. + För att korrigera för en känning om ett resultat av motion. + För att förhindra att blodsockret blir lågt även om basaldosen redan är 0%. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Vilken profiltyp kan användas och konfigureras offline? + Ämne: Offlineprofil + NS-profil kan användas, men inte konfigureras. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + Vad bör göras när pumpen kopplas bort? + Detta är onödigt eftersom insulin ändå inte kommer levereras om pumpen är fysiskt bortkopplad. + Insulinleveransen kommer inte att stoppas om pumpen fortsätter vara ansluten. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + Vilka är de rekommenderade metoderna för att säkerhetskopiera dina inställningar? + Du behöver inte exportera dina inställningar om du antecknar dem. + Exportera dina inställningar när du har slutfört ett mål. + Exportera dina inställningar efter att ha ändrat någon av dina inställningar. + Exportera dina inställningar när du har slutfört grundinstallationen och har justerat dina inställningar. + Exportera dina inställningar lokalt med hjälp av underhållsmenyn. + Din inställningsfil finns i mappen Internt lagringsutrymme/AAPS/preferences på telefonen. + Kopiera din inställningsfilen till en säker plats utanför din telefon (t.ex. genom att använda molnlagring, ansluta med en kabel till datorn, e-post, etc.) + Om telefonen är skadad eller borttappad finns det enkla sätt att återställa dina inställningar utan säkerhetskopia. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Brusiga CGM-värden + Vad bör göras om CGM-datat är brusigt? + Inaktivera closed loop-läge för att undvika över- eller underdosering. + Byt ut brusiga eller felaktiga sensorer. + Kontrollera att din CGM-app ger utjämnade data. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Träning och profiler + Hur kan du använda profiler för att bäst hjälpa systemet att hantera aerobisk träning? + Gör ett profilbyte till mindre än 100%. + Gör ett profilbyte till mer än 100%. + Lämna profilen på 100%. + Pausa loopen. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Träning och tillfälliga mål + Hur kan man använda tillfälliga mål för att på bästa sätt hjälpa systemet att hantera aerobisk träning? + Ställ in temp mål för Träning vid en lämplig tidpunkt innan motionen påbörjas. + Ställ in temp mål för Träning efter avslutad träning. + Lämna ditt målvärde oförändrat. + Vänta tills blodglukosnivån sjunker under ditt Hypo temp mål och sen äter du 15 g av snabbverkande kolhydrater. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Inaktiverad/pausad loop + Får jag insulin när loopen är avstängd eller pausad? + Ja. Basalinsulin fortsätter att levereras. + Nej, leverans av insulin är stoppad. + Test av basaldoser, ISF och KH-kvot + När ska dessa värden testas? + Innan loopning påbörjas. + När du upplever frekvent högt eller lågt blodsocker. + Minst en gång i veckan. + När du väl har ställt in och validerat dessa värden bör dessa värden inte ändras över tiden. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Förutsättningar + Validerad profilinformation (Basal, IC, ISF, DIA). + En dator med Android Studio installerad och konfigurerad. + En telefon som stöds. + En kompatibel insulinpump om du planerar att köra closed loop. + Nightscout, för att logga allt data och få en överblick över inställningar. + Ett Tidepool-konto. + Ett Google-konto. + Ett Github-konto. + Erfarenhet av programmering eller redigering av kod. + En MiniMed 670G pump. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + En smart klocka. + En CGM som stöds. + Förutsättningar + Validerad information för att konfigurera en profil (ISF, KH-kvot, basaldoser, DIA osv.). + En kompatibel Android-enhet (t.ex. mobiltelefon, full Android-klocka eller surfplatta). + En stödd CGM och lämplig app för att ta emot blodsockervärden på telefonen/enheten. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Markera ett eller flera alternativ. + Du måste ha Git installerat och konfigurerat på din dator. + Du bör spara och notera platsen för ditt keystore och använda samma signeringsnyckel för uppdateringar som för den föregående installationen. + Uppdatera aldrig om systemet fungerar bra. + Om du har problem att bygga apk-filen, kan du installera en apk som har byggts av en vän. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Felsökning + Du bör fråga din diabetesklinik/endokrinolog. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + Vilket insulin ska du använda med insticksprogrammet Ultra-Rapid Oref? + Fiasp® + NovoRapid®/Novolog® + Humalog ® + Actrapid ®/Humalin R ®/\"reguljärt\" human-insulin. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Insticksprogram för känslighet + Markera ett eller flera alternativ. + Insticksprogram för känslighet ger användaren föreslagna ändringar av basaldoser, KH-kvoter och insulinkänslighetsfaktorer som kan användas för att redigera profilen. + Om du loggar ett kanylbyte återställs autosens-värdet tillbaka till 100%. + Vissa av insticksprogrammen har konfigurerbara tidsintervall som kan ställas in av användaren. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + Fel i KH-inmatning + Vad ska du göra om du har gjort en felaktig inmatning? + Ta bort den felaktiga posten i Behandlingar och ange rätt kolhydratmängd. + Ge bolus med insulin med hjälp av förfyllningsmenyn för infusionssetet. + Ge bolus med hjälp av knappen Insulin på hem/översiktssidan. + Fel i bolusinmatning + Vad ska du göra om du fått mindre insulin än vad pumpens historik visar, t.ex. på grund av en ocklusion, en felaktig kanyl eller om du glömt att sätta fast pumpen efter en dusch?  + Ta bort insulindata från Nightscout för att ta bort den från pumpens historik. + Ge en bolus med en del av det insulin du saknar antingen med penna eller genom att använda förfyllningsfunktionen. + Aktivt Insulin (IOB) + IOB-värdet påverkas av temp basaler. + Hög temp basal kommer inte att ges när ditt BG-värde är under målet. + Negativ IOB under en längre period även om du inte motionerat, tyder på att din profil ger för mycket insulin. + Positiv IOB under en längre period tyder på insulinresistens eller oannonserade måltider (UAM). + Kolhydrater och bolus + Endast gram får användas för att uppskatta och registrera kolhydrater som konsumeras. + Kolhydrater som konsumeras kan registreras med hjälp av ett lämpligt utbytessystem (t.ex. DAFNE \"CHO\" eller europeiska \"Brödenheter\"). + Om blodglukosnivån ligger utanför normala värden (för lågt eller för högt) kan boluskalkylatorn användas för att ge förslag om KH- eller insulinkorrektioner. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + e-carbs + Vad kan du använda e-carbs (förlängda kolhydrater) till? + För att schemalägga framtida kolhydrater och/eller fördela över ett intervall (likt en förlängd bolus fördelar insulin över ett intervall). + För att logga kolhydrater som getts för att korrigera ett lågt Bg-värde.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Fjärrövervakning + Andra appar (t.ex. Dexcom Follow, xDrip+ i följarläge) gör att du kan följa vissa parametrar (t.ex. BG-värden) men använder andra algoritmer så IOB och COB kanske inte överenstämmer. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + Insulinkänslighetsfaktor (ISF) + Högre ISF-värden kommer att leda till mer insulin för att täcka en viss mängd kolhydrater. + Lägre ISF-värden kommer att leda till mer insulin för att korrigera högt blodsocker. + Att höja eller sänka ISF har ingen effekt på insulinleveransen när blodglukosnivån är lägre än målet. + Om du ändrar ISF-värdet i din profil är det tillräckligt för att tillämpa ändringen. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Du kan använda mer än ett värde för KH-kvot i din profil. + Om du ändrar din ISF-profil i din profil bör du alltid ändra din KH-kvot också. + Insulin till kolhydratförhållandet (I:C förhållande) + Högre kolhydratskvot leder till att mindre insulin levereras för en given mängd kolhydrater. + Lägre kolhydratskvot leder till att mindre insulin levereras för en given mängd kolhydrater. + Om du har 0 COB, kommer en förändring av IC-kvoten leda till en annan mängd insulin för att korrigera din BG-nivå. + IC kommer att vara annorlunda om du räknar brödenheter (utbytesenhet) som 10g eller 12g. + IC betyder: Hur många brödenheter (utbytesenheter) som omfattas av 1U insulin. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profilbyte + När du anger ett profilbyte till 90%, vilka svar är sanna? + Basaldoserna kommer att bli 10% lägre. + ISF kommer att bli 10% högre. + KH-kvoten kommer att bli 10% lägre. + ISF och KH-kvoterna kommer att vara oförändrade. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profilbyte + När du anger ett profilbyte till 120%, vilka svar är sanna? + Blodglukosmålet kommer att bli 20% högre. + Basaldoserna kommer att bli 20% högre. + Blodglukosmålet ändras inte. + ISF kommer att bli 20% högre. + Profilbyte + Gör ett profilbyte med en tidsförskjutning av 2 + Gör ett profilbyte med en tidsförskjutning av -2 + Sätt ett \"Äta snart\" temp mål. + Gör ett profilbyte till mer än 100%.  + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Ändringar av profiler + Basaldoser, ISF, KH-kvoter och dylikt bör anges i profiler. + Att redigera profiler för att ändra värden är tillräckligt för att genomföra eventuella ändringar. + Flera profiler kan ställas in och väljas för att hantera förändrade omständigheter (t.ex. hormonella förändringar, skiftarbete, vardagar/helg). + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Hjälp med basaldoser + Var man hittar hjälp för basaldoser m. m. + Ditt diabetesteam + Google + Facebook + Annan medicin. Läs nedanstående förklaring och markera sedan rutan för att acceptera deklarationen. + diff --git a/plugins/main/src/main/res/values-sv-rSE/objectives.xml b/plugins/main/src/main/res/values-sv-rSE/objectives.xml new file mode 100644 index 0000000000..8ae05ffd0d --- /dev/null +++ b/plugins/main/src/main/res/values-sv-rSE/objectives.xml @@ -0,0 +1,53 @@ + + + Starta + Kontrollera + %1$d. Målet + Mål %1$d inte uppnått + Mål %1$d inte uppnått + Ställer in utseende och övervakning för att sedan kunna analysera basaler och kvoter + Kontrollera att BG syns i Nightscout och att insulindata från pumpen laddas upp + Starta med open loop + Kör i Open Loop-läge i några dagar och sätt ett antal temp-basaler manuellt. Konfigurera och använd temporära och förinställda temporära mål (t.ex. Träning eller Hypo) + Förstå din open loop och hur den föreslår temp basaler + Utifrån vad du nu lärt dig, besluta vilken max basal du vill ha. Ställ in det både i inställningarna i appen och i din pump + Börja använda closed loop med aktiverad funktion att stänga av vid lågt BG + Aktivera closed loop med max IOB=0 i några dagar till dess systemet inte stänger av pga lågt BG för många gånger + Finjustering av closed loop, med gradvis ökande max IOB och minskande målvärde för BG + Kör några dagar och åtminstone en natt utan larm för lågt BG innan du sänker målvärdet för BG + Justera basaler och kvoter om det behövs. Aktivera sedan autosens + 1 veckas lyckad looping dagtid, där alla måltider lagts in + Aktiverar ytterligare funktioner för användning dagtid, t ex SMB + Aktivera automatisering + Du måste läsa på wikin och öka max IOB för att få SMB att fungera bra. En bra start är att sätta max IOB till din genomsnittliga måltidsbolus plus 3 gånger den högsta basalen du har under ett dygn + Läs dokumentationen hur automatisering fungerar. Konfigurera dina första enkla regler. I stället för att ange en åtgärd, låt bara AAPS visa en avisering. När du är säker på att automatisering utlöses vid rätt tidpunkt kan du ersätta aviseringen med verklig åtgärd. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + BG är tillängligt i Nightscout + Pumpstatus tillgängligt i Nightscout + Manuella justeringar + Utfört: %1$s + Ställ in profilen 90% för 10 minuter (Tryck och håll in profilens namn i Översikten) + Simulera dusch. Koppla från pump i 1 timme (Tryck och håll in på Open Loop i Översikten) + ... och återanslut på samma sätt + Skapa ett anpassat tillfälligt mål med 10 min varaktighet (Tryck och håll in på nuvarande BG-mål i Översikten) + I Konfigurationsverktyget, aktivera insticksprogrammet Åtgärder, gör det synligt och visa dess innehåll från övre menyn + Visa innehållet i insticksprogrammet \"Loop\" + Testa skala om BG-grafen genom att trycka och hålla in fingret på den + Enter + Om du har minst 3 månaders erfarenhet av closed loop med andra system kan du kvalificera dig för en kod för att hoppa över mål. Se https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives för mer info. + Koden godkänd + Koden är felaktig + Bevisa dina kunskaper + Studera frågorna.  Ni får fyra möjliga svar på varje fråga. Det kan finnas mer än ett korrekt svar. Kontrollera alla de som är korrekta och välj Kontrollera. + Svarsfunktionen inaktiverad till: %1$s + Fel svar + Nästa icke slutförda + Begärd kod: %1$s + (markera ett eller flera alternativ) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + Inte ansluten till internet + Fel vid hämtning av tid + Målets krav är inte uppfyllda + diff --git a/plugins/main/src/main/res/values-sv-rSE/strings.xml b/plugins/main/src/main/res/values-sv-rSE/strings.xml index 12494b8672..ef046dfe3b 100644 --- a/plugins/main/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/main/src/main/res/values-sv-rSE/strings.xml @@ -1,157 +1,189 @@ - SMS-tjänst SMS - från autentiseringsapp för: %1$s följt av PIN-kod - PIN-kod som läggs till på slutet - Ytterligare siffror som ska memoreras och läggas till i slutet av varje genererat engångslösenord - Kod att kontrollera: - OTP + PIN-kod - Verifieringskoden består av sex siffror som visas av autentiseringsappen (känd som OTP) följt av 3 eller fler siffror som är en valbar PIN-kod. - Återställ autentiserare - Återställ autentiseringsnyckel - Är du säker på att återställa autentiseringsnyckeln? Det gör alla konfigurerade autentiseringsappar ogiltiga och du kommer behöva ställa in dem igen. - Ny autentiseringsnyckel genererades! Använd uppdaterad QR-kod till att aktivera autentiserare. - Exporterar OTP-hemlighet - Är du säker på att du vill kopiera OTP-hemligheten till Urklipp?\n\nDu behöver bara göra detta om din autentiseringsapp har problem QR-koder så du vill ange den manuellt eller om du vill konfigurera OTP-token med hjälp av en dedikerad app. - OTP-hemligheten exporteras och kopieras till klippbordet i Base32-format. Klistra in den i autentiseringsfunktionen eller OTP-brännaren! - 1. Installera autentiseringsapp - 3. Testa engångslösenord - Återställ autentiserare - På varje följartelefon behöver man installera en autentiseringsapp som stöder RFC 6238 TOTP tokens. Populära gratisappar är:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Ditt namn - Godkända telefonnummer - +4670XXXXXXX; +4670YYYYYYY - För att sätta ett temporärt mål på %1$s svara med kod %2$s - För att avbryta temporärt mål, svara med kod: %1$s - För att inaktivera fjärrkommandon via SMS, svara med kod: %1$s \n\nTänk på att måste ha tillgång till huvudtelefonen för att kunna återaktivera. - Fjärrkommandon via SMS stoppas. För att återaktivera detta, använd Konfigurationsverktyget på huvudtelefonen. - För att skicka kalibrering %1$.2f, svara med kod %2$s - Bolus misslyckades - Minsta antal minuter som måste förflyta mellan en fjärrbolus och nästa - Minsta antal minuter mellan fjärrbolus - För att redigera den här inställningen måste du, för din säkerhet, lägga till minst 2 telefonnummer. - Bolus %1$.2f enheter levererat - Bolus på %1$.2f enheter levererat - Temporärt mål på %1$s är satt i %2$d minuter - Temporärt mål på %1$s är satt i %2$d minuter - Temporärt mål avbrutet - Tillåt fjärrstyrning via SMS - Loop inaktiverad. - Loop aktiverad - Loop är aktiverad - För att ansluta pumpen, svara med kod %1$s - Anslutning till pump misslyckades - För att koppla från pumpen i %1$d minuter, svara med kod %2$s - Pump frånkopplad - Pump återansluten - Otillåtet fjärrkommando - Fjärrbolus inte tillgängligt. Försök igen senare. - För att starta temp basal %1$.2f enheter/tim i %2$d min, svara med kod %3$s - För att byta till profil %1$s %2$d%% svara med kod %3$s - För att starta förlängd bolus med %1$.2f enheter över %2$d min, svara med kod %3$s - Om du vill ange %1$dg kl. %2$s, svara med kod %3$s - För att starta temp basal %1$d%% i %2$d min, svara med kod %3$s - För att pausa loop i %1$d minuter, svara med kod %2$s - För att återuppta loopen, svara med kod %1$s - För att aktivera loopen, svara med kod %1$s - För att inaktivera loopen, svara med kod %1$s - Temp basal %1$.2f enheter/tim i %2$d min startad - Förlängd bolus %1$.2f enheter över %2$d min har startats - %1$dg kolhydrater registrerat - Misslyckades med att registrera %1$dg kolhydrater - Temp basal %1$d%% enheter/tim i %2$d min startad - Fel vid start av temp basal - Lyckades inte starta förlängd bolus - För att stoppa temp basal, svara med kod %1$s - För att stoppa förlängd bolus, svara med kod %1$s - Temp basal avbruten - Förlängd bolus avbruten - Misslyckades med att avbryta temp basal - Avbryter förlängd bolus - Okänt kommando eller fel svar - Det finns en annan bolus i kö. Försök igen senare. - Fel duration - Loop pausad - Loop återupptagen - Ogiltigt telefonnummer för SMS - Kalibrering skickad. Observera att xDrip+ måste vara inställd att ta emot kalibreringar. - xDrip+ tar inte emot kalibreringar - Ogiltigt innehåll i meddelande - Skicka SMS om pumpen inte kan nås - Rapportera om pump inte kan nås Delta: IOB: Bolus: Basal: - Duration Lyumjev - Insulininställning för vanliga direktverkande insuliner som Humalog, Lispro, Apidra och Novorapid/Novolog - Insulininställning för ultrasnabba insuliner, t ex Fiasp - Insulininställning för Lyumjev - Låter dig ställa in tidpunkten för toppen på insulinets aktivitet. Bör bara användas av avancerade användare INS - Peaktid för IOB-kurvan - Peaktid [min] Free-Peak Oref Rapid-Acting Oref - %1$f tim DIA är för kort. Använder %2$f istället! - - Visa AAPS-information på din xDrip+ urtavla. + - Visar förutbestämda inställningar för mat i Nightscout Filter - Matdatabas - kJ - En - Pr - Fett - Kategori - Underkategori LP - Definiera en profil som är tillgänglig offline. - lägg till ny i listan - Enheter: - Profilnamn saknas - Fel i KH-kvoter - Fel i basaldoser - Fel i målvärden - Fel i korrektionskvoter - Ogiltig profil %1$s från NS accepteras inte - Visa - Fel - Profilnamn: - lägg till ny profil - klona nuvarande profil - ta bort aktuell profil DIA - IC - ISF - Mål BAS - Omräknad data används - BG för nära:\n%1$s\n%2$s - omräknad - dubbla poster - Sommar/vintertid inträffar inom 24 timmar - Sommar/vintertid ändrades för mindre än 3 timmar sedan. Closed Loop avstängt - gammal version - väldigt gammal version - Applikationen inte giltig längre - Ny version tillgänglig för %1$d dagar sedan. Systemet kommer att byta läge till \"stopp innan lågt\" efter %2$d dagar och sluta loopa helt efter %3$d dagar - Inte slutfört ännu - Förfluten tid + Klart. Bra jobbat! + Max IOB är korrekt angivet + BG tillgängligt från vald källa + Loop aktiverad + APS vald + Closed loop aktiverad + Mål + Inlärningsprogram + Vill du starta om målet? Du kan förlora de steg du gjort hittills. + Rensa avslutade + Rensa påbörjade + + Knappar för att snabbt komma åt vanliga funktioner + Act + Verktyg + Kanyl + OBS! Om du använder förlängd bolus, kommer du inte längre vara i Closed Loop under den tiden som den förlängda bolusen är igång. Vill du fortsätta? + Förlängd bolus misslyckad + kanylålder + slanglös pump ålder + Slanglös pump + + Begränsar bolus till %1$.1f enheter pga %2$s + Begränsar kolhydrater till %1$d g pga %2$s + Begränsar IOB till %1$.1f pga %2$s + Pumpen kan inte hantera temp basaler + Closed Loop inaktiverat i Inställningar + UAM är inaktiverat eftersom det kräver Oref1 känslighetsplugin + Du kör nu dev-versionen. Closed Loop inaktiverat. + Closed Loop-läget inaktiverat pga att en förlängd bolus är aktiv + SMB Alltid På och SMB Efter Kolhydrater är inaktiverat pga att den aktiva BG-källan inte stöder avancerad filtrering + SMB inte tillåtet i Open Loop + maxvärde i Inställningar + hård begränsning + Säkerhetsbegränsningar + Välj en patienttyp för att ställa in säkerhetsgränser + Barn + Tonåring + Vuxen + Insulinresistent vuxen + Gravid + Max tillåten bolus [U] + Max tillåtna KH [g] + Patienttyp + Snooze + Visa \"statuslampor\" på hemskärmen + Insulinålder - varning: [h] + Insulinålder - akut varning: [h] + Sensorålder - varning: [h] + Sensorålder - akut varning: [h] + Varningsnivå sensorbatteri [%] + Kritisk nivå sensorbatteri [%] + Batteriålder - varning: [tim] + Batteriålder - akut varning: [tim] + Varningsnivå för reservoar [U] + Akut varningsnivå för reservoar [U] + Varningsnivå för batteri [%] + Akut varningsnivå för batteri [%] + Statuslampor + Kopiera inställningar från NS + graf + insulin + Diagrammeny + Kvalitet på BG-data + blodglukos + föråldrad + APS-läge + Acceptera ny temp basal: + CGM + Snabbsteg + + Starta om + Synkronisera nu + Töm kö + Visa kö + Kö: + Status: + Full synkronisering + Full synkronisering? Det kan ta flera timmar du kommer inte att se nya data i NS förrän den är klar. + Synkronisering + Profiler, bolus, kolhydrater och temp basaler laddas upp till NS + Ladda upp data till NS + Ladda ner profiler + Synkronisera profiler från NS + Ladda ner temporära mål + Godkänn temp mål som anges genom NS eller NSClient + Ladda ner profilbyten + Acceptera profilbyten som matats in via NS eller NSClient + Ladda ner APS offline händelser + Acceptera APS Offline-händelser som matas in via NS eller NSClient + Ladda ner loggade insulindoser + Acceptera loggat insulin som matats in via NS eller NSClient (den levereras inte, endast beräknad mot IOB) + Ladda ner loggade kolhydrater + Acceptera kolhydrater som matats in via NS eller NSClient + Ladda ner loggade behandlingar + Acceptera händelser (kanyl-, insulin-, batteribyte etc) som angetts via NS eller NSClient + Ladda ner CGM-data + Acceptera CGM-data från NS + Kör %s? + Långsamma uppladdningar + Skapa aviseringar från NS-larm + Skapa aviseringar från NS-meddelanden + + Ditt användarnamn på Tidepool. Normalt din e-postadress + Användarnamn + Ditt Tidepool-lösenord + Lösenord + Testlogin på Tidepool + Om man slår på denna, kommer datat skickas till https://int-app.tidepool.org istället för https://app.tidepool.org + Använd Integration (test) servrar + Tidepool + TDP + Laddar upp data till Tidepool + Ladda upp CGM-data + Ladda upp behandlingar (insulin, kolhydrater) + Ladda upp temp basaler + Ladda upp profilbyten och temp mål + Ladda upp BG-test + Ladda upp nu + + Integration för pumpar som ännu inte stöds av AndroidAPS (Open loop) + Inställningar för Virtuell pump + Ladda upp status till Nightscout + + Ladda ner BG-data från Nightscout + xDrip+ + Ta emot BG-data från xDrip+. + Patchad Dexcom-app + Dex + Ta emot BG-värden från \"Bygg din egen Dexcom-app\". + Eversense App (modifierad) + Ta emot BG-data från den modifierade +Eversense-appen. + Ta emot BG-data från Glimp + Ta emot BG-data från 600SeriesAndroidUploader + Poctech + Ta emot BG-data från Poctechappen + Glunovo + Ta emot värden från Glunovo-appen + Tomato (MiaoMiao) + Tomato + Ta emot BG-data från tomato app (MiaoMiao-enhet) + Uppladdningsinställningar för BG + + WiFi nätverksnamn + Skapa notiser vid fel + Skapa aviseringar för KH-förslag + Skapa notiser i Nightscout vid fel eller lokala meddelanden (även synliga i Careportal/Behandlingar) + Skapa Nightscout-aviseringar för KH-förslag + Synkroniserar dina data med Nightscout + APS + Upld batt + + Ursprungligt tema + Lågupplöst tema + Knappar visas alltid längst ned på skärmen + Stor skärm + Tema diff --git a/plugins/main/src/main/res/values-tr-rTR/exam.xml b/plugins/main/src/main/res/values-tr-rTR/exam.xml new file mode 100644 index 0000000000..69575a14c3 --- /dev/null +++ b/plugins/main/src/main/res/values-tr-rTR/exam.xml @@ -0,0 +1,227 @@ + + + İES (DIA) hakkında doğru olan nedir? + İnsülin Etki Süresi (İES) + Profilinizde İES değerini ayarlamalısınız. + İzin verilen minimum değer 5 saattir. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + AAPS\'den önce pompanızda kullandığınız İES değerinin doğru olduğundan eminseniz, döngüye başladığınızda bunu değiştirmenize gerek yoktur. + İES için uygun değeri kendiniz belirlemelisiniz. + Hipo Geçici-Hedef + Hipo geçici hedef belirlemenin birincil nedeni nedir? + Yanlış bazal oranı ayarlarından kaynaklanan hipoları düzeltmek için. + Hipo tedavisinde kullanılan hızlı etkili karbonhidratların neden olduğu kan şekeri artışında, AAPS\'in aşırı düzeltme yapmasını önlemek. + Egzersizin bir sonucu olarak tetiklenen hipoyu düzeltmek için. + Halihazırda %0 geçici bazal oran çalışıyorsa, kan şekerinin düşmesini önlemek için. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + Hangi profil çevrimdışı kullanılabilir ve yapılandırılabilir? + Konu: Çevrimdışı profiller + NS Profili kullanılabilir ancak yapılandırılamaz. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + AAPS\'de Pompa bağlantısını kesme nedenleri + Pompa bağlantısı kesilirken ne yapılmalı? + Pompanın fiziksel olarak bağlantısı kesilirse insülin iletilmeyeceğinden bu gereksizdir. + AAPS\'nin, pompa fiziksel olarak bağlı değilken iletilmeyen insülini hesaba katmasını önler. + Pompa bağlı kalırsa insülin iletimini durdurmaz. + AAPS\'yi açık döngü moduna gönderir. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + AAPS Ayarları + AAPS Ayarları + Ayarlarınızı yedeklemek için en sağlıklı yöntemler nelerdir? + Ayarlarınızı not etmeniz şartıyla ayarları dışa aktarmanıza gerek yoktur. + Bir görevi tamamlamayı bitirdikten sonra ayarlarınızı dışa aktarın. + Ayarlarınızdan herhangi birini değiştirdikten sonra ayarlarınızı dışa aktarın. + İlk kurulumunuzu tamamladıktan ve Tercihlerinizi belirledikten sonra ayarlarınızı dışa aktarın. + Bakım menüsünü kullanarak ayarlarınızı yerel olarak dışa aktarın. + Ayar dosyanız, telefonunuzdaki Dahili Depolama/AAPS/tercihler klasöründe bulunur. + Tercihler dosyanızı telefonunuzun dışındaki güvenli bir konuma kopyalayın (ör. bulut sürücüsü kullanarak, bilgisayara kablo bağlayarak, e-posta vb.) + Telefonunuz hasar görürse veya kaybolursa, ayarlarınızı yedeklemeden uzaktan kurtarmanın kolay yolları vardır. + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + Gürültülü CGM Okumaları + CGM (dexcom, miaomaio vs.) verileri gürültülü ise ne yapılmalı? + Hiçbir şey yapmayın - AAPS bununla ilgilenecektir. + Olası aşırı veya düşük dozdan kaçınmak için kapalı döngüyü devre dışı bırakın. + Sürekli gürültülü veya hatalı sensörleri değiştirin. + CGM uygulamanızın sorunsuz veriler sağladığını doğrulayın. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + Egzersiz ve Profiller + Aerobik egzersiz yaparken sistemin size en iyi şekilde yardımcı olması için profilleri nasıl kullanırsınız? + %100\'ün altında bir profil geçişi yapın. + %100\'den fazla bir profil geçişi yapın. + Profili %100 olarak bırakın. + Döngüyü askıya alın. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Egzersiz ve Geçici Hedefler + Aerobik egzersiz yaparken sistemin size en iyi şekilde yardımcı olması için geçici hedefleri nasıl kullanırsınız? + Egzersize başlamadan önce uygun bir zamandan başlayarak aktivite kan şekeri hedefi belirleyin. + Egzersizi bitirdikten sonra bir aktivite kan şekeri hedefi belirleyin. + Kan şekeri hedefinizi değiştirmeden bırakın. + Kan şekeri, hipo geçici hedefinizin altına düşene kadar bekleyin ve ardından 15 g hızlı etkili karbonhidrat yiyin. + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + Döngüyü Devre Dışı bırakma/Askıya alma + Döngü devre dışı bırakıldığında/askıya alındığında insülin alır mıyım? + Evet, bazal insülin verilmeye devam ediyor. + Hayır, insülin iletimi durdurulur. + Bazal, ISF ve I:C Testi + Bu değerler ne zaman doğrulanmalıdır? + Döngüye başlamadan önce. + Sık sık yüksek veya düşük kan şekeri yaşarken. + Haftada en az bir kez. + Bir kez ayarlanıp onaylandıktan sonra bu değerler zaman içinde değişmemelidir. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + Önkoşullar + AAPS\'yi kurmak ve kullanmak için gerekenler nelerdir? + Doğrulanmış profil bilgileri (Basal, IC, ISF, DIA). + Android Studio\'nun kurulu ve yapılandırılmış olduğu bir bilgisayar. + Desteklenen bir telefon. + Kapalı devre çalıştırmayı planlıyorsanız uyumlu bir insülin pompası. + Tüm verilerin kaydını tutmak ve ayarları gözden geçirmek için Nightscout sitesi + Tidepool hesabı. + Google hesabı. + Github hesabı. + Programlama veya kod düzenleme konusunda deneyim. + MiniMed 670G pompa. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + Akıllı saat. + Desteklenen bir CGM. + Önkoşullar + AAPS\'yi kurmak ve kullanmak için gerekenler nelerdir? + Profil oluşturmak için doğrulanmış bilgiler (ISF, I:C oranı, bazal oranlar, DIA vb.). + Uyumlu bir Android cihaz (ör. cep telefonu, Android saat veya tablet). + AAPS\'in kapalı döngüde çalışması için internet bağlantısı gerekir. + Telefonda/cihazda kan şekeri değerlerini almak için desteklenen bir CGM ve uygulama. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + AAPS\'i güncelleme + Tüm doğru cevapları kontrol edin. + Git\'in bilgisayarınızda kurulu ve yapılandırılmış olması gerekir. + AAPS\'nin güncellenmiş sürümleri yayınlandığında, önceki sürümler belirli bir süre sonra uzaktan sınırlandırılabilir. + Anahtar deponuzun konumunu kaydetmeli ve not etmeli ve önceki yüklemenizde olduğu gibi güncellemeler için aynı imzalama anahtarını kullanmalısınız. + Sistem iyi çalışıyorsa asla güncelleme yapmayın. + Apk oluşturmakta zorluk çekiyorsanız, bir arkadaşınız tarafından oluşturulmuş bir apk yükleyebilirsiniz. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + Sorun giderme + AAPS ile ilgili nereden yardım alabilirsiniz? + AAPS Kullanıcıları Facebook grubundan tavsiye isteyebilirsiniz. + AAPS belgelerini okumalısınız (ve yeniden okumalısınız). + AAPS Discord\'da tavsiye isteyebilir ve teknik sorunları veya hataları bildirebilirsiniz. + Diyabet kliniğinize/endokrinoloğunuza sormalısınız. + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + Ultra-Hızlı Oref eklentisi ile hangi insülini kullanmalısınız? + Fiasp® + NovoRapid®/Novolog® + Humalog® + Actrapid®/Humulin R®/ insan insülini. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + Duyarlılık Eklentileri + Tüm doğru cevapları kontrol edin. + Duyarlılık eklentileri, AAPS\'nin insülin duyarlılığındaki geçici veya kısa süreli değişiklikleri (örneğin hormonal değişiklikler veya infüzyon bölgesinde emilim sorunları) ayarlamasına olanak tanır. + Duyarlılık eklentileri, kullanıcıya profili düzenlemek için kullanılabilecek bazal oranlar, I:C oranları ve ISF için önerilen değişiklikleri sağlar. + Bir kanül değişikliğinin kaydedilmesi, Otoduyarlılık oranını %100\'e sıfırlayacaktır. + Eklenti seçeneklerinden bazıları, kullanıcı tarafından ayarlanabilen yapılandırılabilir zaman aralıklarına sahiptir. + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/tr/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + Karbonhidrat Giriş Hataları + Yanlış bir karbonhidrat girişi yaptıysanız ne yapmalısınız? + Tedavilerdeki yanlış girişi siler ve doğru karbonhidrat değerini girerim. + İnfüzyon seti başlatma menüsünü kullanarak insülin gönderme. + Hiçbir şey yapmayın – AAPS uygun ayarlamaları yapacaktır. + Genel Bakış\'ta İnsülin (bolus) düğmesini kullanarak insülin gönderme. + İnsülin gönderme/giriş hataları + Tıkanma, başarısız bir kanül veya duştan sonra pompayı tekrar takmayı unutma v.s. nedeniyle, pompa geçmişinin önerdiğinden daha az insülin aldıysanız ne yapmalısınız? + Pompa geçmişinden çıkarmak için insülin verilerini Nightscout Bakım Portalından silin. + AAPS ve pompa geçmişindeki değerleri karşılaştırın (pompa bunu destekliyorsa). + Şırınga/kalem veya başlatma kullanarak hesaplanan \"eksik\" insülininizi bolus olarak karşılayın. + Hiçbir şey yapmayın ve AAPS\'in ortaya çıkabilecek yüksek kan şekeri seviyesini düzeltmesine müsade edin. + Aktif Karbonhidrat (AKRB) + İDF değerinin değiştirilmesi AKRB (Aktif karbonhidrat) hesaplamasını nasıl etkiler? + Artan İDF, karbonhidratların daha uzun süre emilmesini sağlayacaktır + Artan İDF, karbonhidratların daha kısa sürede emilmesini sağlayacaktır + Artan İDF, hesaplanan karbonhidrat emilimini etkilemez + Değişen Kİ değeri AKRB hesaplamasını nasıl etkiler? + Artan Kİ oranı, karbonhidratların daha uzun sürede emilmesini sağlar + Artan Kİ, karbonhidratların daha kısa sürede emilmesini sağlayacaktır + Artan Kİ oranı, hesaplanan karbonhidrat emilimini etkilemez + Değişen profil yüzdesi AKRB hesaplamasını nasıl etkiler? + Profili %150\'ye ayarlamak karbonhidratların daha uzun sürede emilmesini sağlar + Profili %150\'ye ayarlamak karbonhidratların daha kısa sürede emilmesini sağlar + Profili %150\'ye ayarlamak hesaplanan karbonhidrat emilimini etkilemez + Aktif İnsülin (AİNS) + AİNS değeri, verilen geçici bazallardan etkilenir. + Kan şekeriniz hedefin altına düştüğünde yüksek geçici bazal verilmeyecektir. + Egzersiz yapmadığınız halde uzun bir dönem için negatif AİNS, profilinizin çok güçlü olduğunu ve ayarlarınızda daha az insüline ihtiyaç duyulduğunu gösterir. + Önemli bir süre için pozitif IOB, insülin direncini veya habersiz öğünleri gösterir. + Karbonhidrat girişi ve boluslar + Tüketilen karbonhidratları tahmin etmek ve kaydetmek için sadece gram kullanılmalıdır. + Tüketilen karbonhidratlar uygun bir değişim sistemi kullanılarak kaydedilebilir (örn. DAFNE \"CHO\" değişimleri veya Avrupa \"Ekmek Birimleri\"). + AAPS, karbonhidrat \"çözünmesini\" tahmin etmek ve AKRB\'ı hesaplamak için dinamik bir model kullanır. + Kan şekeri seviyeleri kabul edilebilir değerlerin dışındaysa (çok düşük veya çok yüksek), karbonhidrat veya insülin düzeltmeleri için öneriler sağlamak için bolus hesaplayıcı kullanılabilir. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + yayma-karbonhidratlar + Y-karbonhidratları (yayma karbonhidratlar) ne için kullanabilirsiniz? + Gelecekte karbonhidratları planlamak için, muhtemelen bir aralığa dağıtılır (bir aralıkta insülin dağıtan yayma bolusa benzer). + AAPS\'den gizlemek istediğiniz \'ücretsiz\' egzersiz karbonhidratlarını kaydetmek için. + y-karbonhidratlar (gelecekte dağıtılacak) AAPS\'nin yüksek yağ/proteinli öğünlerle uğraşmasına yardımcı olabilir. + Düşük kan şekerini tedavi etmede kullandığınız kurtarma karbonhidratlarını kaydetmek için. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + Uzaktan İzleme + AAPS\'i (örneğin çocuğunuz için) uzaktan nasıl izleyebilirsiniz? + AAPSClient uygulaması, Nightscout uygulaması ve Nightscout web sayfasının tümü, AAPS\'i uzaktan takip etmenize olanak tanır. + Diğer uygulamalar (ör. Dexcom takip, xDrip) bazı parametreleri (ör. kan şekeri/sensör değerleri) uzaktan takip etmenize izin verir, ancak farklı algoritma kullanımı, hatalı AİNS veya AKRB değerlerine sebep olabilir. + AAPS\'yi uzaktan takip etmek için her iki cihazın da internet erişimine sahip olması gerekir (ör. Wi-Fi veya mobil/hücresel ağ verileri aracılığıyla). + Uzak takipçi olarak kullanılan AAPSClient, AAPS\'i hem izleyecek hem de tam kontrol sağlayacaktır. + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + İnsülin Duyarlılık Faktörü (İDF) + ISF değerlerini yükseltmek, belirli bir karbonhidrat miktarını karşılamak için daha fazla insülin verilmesine yol açacaktır. + ISF değerinin düşürülmesi, hedeflenen kan şekerinin üzerinde bir düzeltme için daha fazla insülin verilmesine yol açar. + Kan şekeri seviyeleri hedefin altında olduğunda ISF\'yi yükseltmenin veya düşürmenin insülin iletimi üzerinde hiçbir etkisi yoktur. + İDF, AAPS Tercihlerinize girilmelidir. + Profilinizdeki ISF değerini değiştirmeniz değişikliği uygulamak için yeterlidir. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + Profilinizde I:C oranı için birden fazla değer kullanabilirsiniz. + Profilinizde ISF\'nizi değiştirirseniz, her zaman I:C oranınızı da değiştirmelisiniz. + Karbonhidrat insülin Oranı (I:C oranı) + Daha yüksek I:C oranları, belirli bir miktarda karbonhidrat için daha az insülin verilmesine yol açar. + Daha düşük I:C oranları, belirli bir miktarda karbonhidrat için daha az insülin verilmesine yol açar. + 0 AKRB varsa, Kİ oranını değiştirmek, belirli bir KŞ değerini düzeltmek için farklı insülin miktarına sebep olur. + Ekmek (değişim) birimini 10g veya 12g olarak sayarsanız IC farklı olacaktır. + IC anlamı şudur: 1Ü insülin kaç ekmek birimi (değişim) kapsar. + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + Profil Değiştirme + %90\'lık bir profil değişimi belirlediğinizde hangi yanıtlar doğrudur? + Bazal oranlar %10 daha düşük olacaktır. + ISF %10 daha yüksek olacaktır. + I:C oranının değeri %10 daha düşük bir sayı olacaktır. + ISF ve I:C oranları değişmeyecektir. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#profile-switch + Profil Değiştirme + %120 profil değişimi belirlediğinizde hangi yanıtlar doğrudur? + Hedef kan şekeri %20 daha yüksek olacaktır. + Bazal oranlar %20 daha yüksek olacaktır. + Hedef kan şekeri değişmeyecektir. + ISF %20 daha yüksek olacaktır. + Profil Değiştirme + Normalden 2 saat önce kalkarsanız, zaman değişikliğini AAPS\'e nasıl bildirmelisiniz? + 2 saatlik bir zaman kayması ile bir profil değişikliği başlatın + -2saatlik bir zaman kayması ile bir profil değişikliği başlatın + Yakında yemek geçici hedefi belirleyin. + %100\'den fazla bir profil değişikliği yapın. + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profile%20switch#timeshift + Profillerdeki değişiklikler + Profillerde bazal oranlar, ISF, I:C oranları vb. ayarlanmalıdır. + Nightscout Profilinizdeki değişiklikleri etkinleştirmek, AAPS kurulu telefonunuzun internete bağlı olmasını gerektirir. + Değerleri değiştirmek için profi düzenlemek, yapılan değişiklikleri yürürlüğe koymak için yeterlidir. + Değişen koşullara (ör. hormonal değişiklikler, vardiyalı çalışma, hafta içi/hafta sonu yaşam tarzı) uyum sağlamak için birden fazla profil ayarlanabilir ve seçilebilir. + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + Bazal oranlarla ilgili yardım + Bazal oranlar vb. ile ilgili yardım için nereye gitmeli? + Diyabet ekibiniz + Google + Facebook + Diğer ilaçlarla etkileşim. Lütfen aşağıdaki beyanı okuyun ve ardından kabul etmek için kutuyu işaretleyin. + AAPS, kan şekerini yükseltmek için bazal oranları düşürür veya insülin iletimini askıya alır. SGLT2 inhibitörleri (gliflozinler) sınıfındaki ilaçlar kan şekerindeki artışları önleyebilir ve bu nedenle DKA\'ya (Diyabetik ketoasidoz) yol açan tehlikeli bir insülin eksikliğine yol açabilir. +\nYaygın marka isimleri şunlardır: Invokana®, Forxiga®, Jardiance®, Steglatro®, Suglat®, Apleway®, Deberza®, Synjardy®, Vokanamet®, Xigduo®.\n\nAAPS kullanırken bu tür ilaçları almayacağıma veya bu tür ilaçları kullanmadan önce döngüyü devre dışı bırakacağıma söz veriyorum. + diff --git a/plugins/main/src/main/res/values-tr-rTR/objectives.xml b/plugins/main/src/main/res/values-tr-rTR/objectives.xml new file mode 100644 index 0000000000..553656415c --- /dev/null +++ b/plugins/main/src/main/res/values-tr-rTR/objectives.xml @@ -0,0 +1,55 @@ + + + Başlat + Doğrulayın + Görev %1$d. + Görev %1$d başlanmadı + Görev %1$d tamamlanmadı + Nightscout üzerinden izlemeyi ve görselleştirmeyi yapılandırın, bazalları ve oranlarını analiz edin + Nightscout\'ta KŞ\'nin bulunduğunu ve pompadaki insülin verilerinin yüklenmekte olduğunu doğrulayın + Açık Döngü modu başlatılıyor + Birkaç gün boyunca Açık Döngü modunda çalıştırın ve birçok geçici bazalı el yordamı ile girin. Geçici ve varsayılan geçici hedefleri düzenleyin ve kullanın (örn. egzersiz ve hipo-tedaviyi desteklemek için) + Geçici bazal tavsiyeleri de dahil olmak üzere Açık Döngüyü anlamak + Bu deneyime dayanarak, max bazalın ne olması gerektiğine karar vermeli ve bunu pompa ve tercihlere koymalısınız + Kapalı Döngü, (LGS) Düşük Glikoz Duraklatma modunda başlatılıyor + Kapalı Döngüyü, maks IOB = 0 olacak şekilde çok sayıda LGS (düşük KŞ) olmadan birkaç gün boyunca deneyin + Kapalı Döngü\'de ince ayarlar, maks (IOB) Aktif İnsülini 0\'ın üzerine yükseltme ve yavaş yavaş KŞ hedeflerini aşağıya çekme + KŞ hedefini azaltmadan önce birkaç gün ve en az bir gece düşük KŞ (Hipo) alarmı olmadan deneyin + Gerekirse, bazal ve oranları ayarlayın ve sonra auto-sens\'i (otoduyarlılık) etkinleştirin + Bir hafta boyunca düzenli karbonhidrat girdileri yaparak gün boyunca Kapalı Döngüyü çalıştırın + SMB (Super Micro Bolus) gibi gündüz kullanımı için ek özelliklerin etkinleştirilmesi + Otomasyonu etkinleştirme + (Super Micro Bolus) SMB\'lerın iyi çalışabilmesi için wiki\'yi okumalısınız ve maxIOB\'u yükseltmelisiniz! İyi bir başlangıç için maxIOB = ortalama yemek bolusu + 3 x max günlük bazaldır + Otomasyonun nasıl çalıştığına dair dokümanları okuyun. İlk basit kurallarınızı belirleyin. Eylem yerine AAPS\'in yalnızca bildirim göndermesine izin verin. Otomasyonun doğru zamanda tetiklendiğinden emin olduğunuzda, bildirimi gerçek eylemle değiştirin. (https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + KŞ NS\'ta mevcut + Pompa durumu NS\'ta mevcut + Manuel eylemler + Başarıldı: %1$s + AAPS\'yi nasıl kontrol edeceğinizi öğrenin + AAPS\'de farklı eylemler gerçekleştirin + Profili 10 dakika boyunca %90 olarak ayarla (Ana sayfada profil adına uzun basın) + Duşu simüle edin. 1 saat boyunca pompanın bağlantısını kesin (Açık Döngü işaretine Uzun Basın) + ... ve aynı şekilde tekrar bağlanın + 10 dakika süreyle geçici hedef oluşturun (Mevcut hedefinize uzun basın) + Konfigürasyon oluşturucuda, Eylemler eklentisini etkinleştirin, görünür yapın ve içeriğini üst menüden görüntüleyin + Döngü eklentisinin içeriğini görüntüle + KŞ tablosuna uzun basarak ölçeği değiştirebilirsiniz + Giriş + Diğer sistemlerde en az 3 aylık kapalı döngü deneyiminiz varsa, hedefleri atlamak için bir kod almaya hak kazanabilirsiniz. Ayrıntılar için https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives adresine bakın. + Kod kabul edildi + Geçersiz kod + Bilginizi sınayın + Sorulara çalışın. Her soru için size dört olası cevap verilir. Birden fazla doğru cevap olabilir. Lütfen doğru olanların hepsini kontrol edin ve DOĞRULA\'yı seçin. + Yanıtlama devre dışı bırakıldı: %1$s + Yanlış Cevap! + Tamamlanmayan bir sonraki + Kod: %1$s + (tüm doğru cevapları kontrol edin) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + İnternete bağlı değil + Geri almada hata + Görev gereksinimleri karşılanmadı + diff --git a/plugins/main/src/main/res/values-tr-rTR/strings.xml b/plugins/main/src/main/res/values-tr-rTR/strings.xml index 9eade1550a..b6e90a40b0 100644 --- a/plugins/main/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/main/src/main/res/values-tr-rTR/strings.xml @@ -1,180 +1,226 @@ - SMS Kominikatör SMS - SMS komutlarını kullanarak AAPS\'yi uzaktan kontrol edin. - authenticator uygulamasından %1$s için PIN girin - İlave zorunlu şifre (PIN) - Oluşturulan Her Tek Kullanımlık Şifrenin sonunda ezberlenmesi ve yapıştırılması gereken ek şifre - Kimlik doğrulayıcı (OTP-Authenticator) kurulumu - Kontrol edilecek kod: OTP + PIN - Doğrulama kodu, Authenticator uygulaması (OTP olarak bilinir) tarafından görüntülenen 6 haneden ve ardından 3 veya daha fazla zorunlu PIN hanesinden oluşur. - Kimlik Doğrulayıcıları (OTP) Sıfırla - Kimlik Doğrulayıcı Anahtarını Sıfırla - Kimlik Doğrulayıcı (Authenticator) anahtarını sıfırlamak istediğinizden emin misiniz? Şu anda yapılandırılmış tüm Kimlik Doğrulayıcıları geçersiz kılar ve bunları yeniden ayarlamanız gerekir. - Yeni Kimlik Doğrulayıcı (Authenticator) Anahtarı oluşturuldu! Kimlik doğrulayıcıları için lütfen güncellenmiş QRCode\'u kullanın. - OTP dışa aktarma - OTP secret panoya kopyalamak istediğinizden emin misiniz?\n\nYalnızca kimlik doğrulama uygulamanızın QRCode\'u tarama sorunları varsa, bunu elle girmek veya uygulamayı kullanarak OTP donanımı yapılandırmak istiyorsanız buna ihtiyacınız olabilir. - OTP secret (Base32 formatında) dışa aktarıldı ve panoya kopyalandı. Doğrulayıcıya veya OTP donanım yazıcısına yapıştırın! - 1. Doğrulayıcıyı (Authenticator) yükleyin - 2. AAPS OTP kod kurulumu için QR kodu tarayın - 3. Tek Kullanımlık Parolayı (OTP) Test Edin - Doğrulayıcıları (Authenticators) Sıfırla - Her takipçi telefonunda, RFC 6238 TOTP belirteçlerini destekleyen Kimlik Doğrulayıcı uygulamasını yükleyin. Popüler ücretsiz uygulamalar şunlardır:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - Kimlik doğrulayıcıyı sıfırlayarak, önceden sağlanmış tüm doğrulayıcıları geçersiz kılarsınız. Onları tekrar kurmanız gerekecek! - Hatalı kod. Komut iptal edildi. - Önceki pompa iletişiminin bitmesini beklerken zaman aşımı - Kullanıcı - İzinli telefon numaraları +XXXXXXXXXX;+YYYYYYYYYY - %1$.2fÜ Bolus gönderilecek, kod ile cevap ver %2$s - %1$.2fU Yemek bolusu göndermek için %2$s koduyla yanıt verin - Geçici Hedefi %1$s yapmak için %2$s koduyla yanıt verin - Geçici Hedefi iptal etmek için %1$s koduyla yanıt verin - SMS Uzak Hizmet desteğini devre dışı bırakmak için %1$s koduyla yanıt verin.\n\nBu hizmeti yalnızca AAPS yüklü ana telefondan yeniden etkinleştirebileceğinizi unutmayın. - SMS Uzak Hizmeti durduruldu. Yeniden etkinleştirmek için ana telefondaki APPS\'i kullanın. - Kalibrasyon için %1$.2f gönderilecek, kod ile cevap ver %2$s - Bolus başarısız oldu - Bir sms bolusu ile bir sonraki bolus arasında geçmesi gereken minimum dakika sayısı - Bir sms bolus gönderimi ile bir sonraki bolus arasında en az kaç dakika geçsin? - Güvenliğiniz için en az 2 telefon numarası eklemeniz gerekir. - %1$.2f U Bolus başarıyla gönderildi - %1$.2f U Yemek Bolusu başarıyla gönderildi - Hedef %2$d dakika boyunca %1$s - Hedef %2$d dakika boyunca %1$s olarak başarıyla ayarlandı - Geçici Hedef başarıyla iptal edildi - SMS ile uzaktan komutlara izin ver - Döngü devre dışı bırakıldı - Döngü etkinleştirildi - Döngü etkin - Pompaya bağlanmak için %1$s koduyla yanıt verin - Pompa bağlantısı başarısız - Pompanın bağlantısını %1$d dakika boyunca kesmek için %2$s koduyla yanıtlayın - Pompa bağlantısı kesildi - Pompa yeniden bağlandı - Uzaktan komuta izin verilmez - Uzaktan bolus gönderilemiyor. Daha sonra tekrar deneyin. - %2$d dk boyunca bazalı %1$.2f Ü/sa yapmak için %3$s koduyla yanıtlayın - Profili %1$s %2$d%% olarak değiştirmek için %3$s koduyla yanıtlayın - %2$d dakika boyunca %1$.2f U yayma bolus başlatmak için %3$s koduyla yanıtlayın - %2$s\'de %1$dg girmek için %3$s koduyla yanıtlayın - %2$d dk boyunca bazal %1$d%% başlatmak için %3$s koduyla yanıtlayın - Döngüyü %1$d dakika askıya almak için %2$s koduyla yanıtlayın - Döngüye devam etmek için %1$s koduyla yanıtlayın - Döngüyü etkinleştirmek için %1$s koduyla yanıtlayın - Döngüyü iptal etmek için %1$s koduyla yanıtlayın - Geçici bazal %1$.2fÜ/s %2$d dakika için başarıyla başlatıldı - %1$.2fU yayma bolus %2$d dakika boyunca başarıyla başlatıldı - %1$d g karbonhidrat başarıyla sisteme girildi - %1$d g karbonhidrat girilemedi - %2$d dakikalık geçici bazal %1$d%% başarıyla başlatıldı - Geçici bazal başlatma başarısız oldu - Yayma bolus başlatma başarısız oldu - Geçici bazalı durdurmak için %1$s kodunu gir - Yayma bolusu durdurmak için %1$s koduyla yanıtlayın - Geçici bazal iptal edildi - Yayma bolus iptal edildi - Geçici bazal iptal edilemedi - Yayma bolus iptal edilemedi - Bilinmeyen komut veya yanlış cevap - Sırada başka bir bolus var. Daha sonra tekrar deneyin. - Yanlış süre - Döngü duraklatıldı - Döngü devam ettirildi - Geçersiz SMS telefon numarası - Kalibrasyon gönderildi. Alma xDrip+\'ta etkinleştirilmelidir. - xDrip+ kalibrasyonları almıyor - Geçersiz mesaj - Pompa ulaşılamazsa SMS gönder - Pompaya ulaşılamadığını bildir - Yanlış Format - KŞ: - Son KŞ: Delta: - AİNS: Bolus: - Bazal: - %1$ddak önce - (%1$d dk) Duraklatıldı - Durum okuması başarısız oldu - Profil değiştirme yapıldı - GBO süresi %1$d dakikanın katı ve 0\'dan büyük olmalıdır. - Tek kullanımlık şifre kurulumu için QR Kodu - İES Lyumjev - Humalog ve NovoRapid / NovoLog için İnsülin Profili - Fiasp için insülin Profili - Lyumjev için insülin ayarı - İnsülin aktivitesinin zirvesini tanımlamanıza izin verir ve yalnızca ileri düzey kullanıcılar tarafından kullanılmalıdır. - İNS - AİNS Eğrisi Tepe Zamanı - Tepe zamanı [min] - Tepe - Serbest tepe Oref - Hızlı etkili Oref - DIA %1$f çok kısa - bunun yerine %2$f kullanıyor! + Ultra Hızlı Oref + Novorapid, Novolog, Humalog + Fiasp - - Döngü\'yle ilgili bilgileri xDrip+ saat arayüzünde gösterin. + + xd+ - Nightscout\'ta tanımlanan gıda ön ayarlarını gösterir - Filtre - Yiyecek - kJ - En - Pr - Yağ - Kategori - Alt kategori - Uyg. Renk Şeması - Koyu tema - Açık tema - Cihaz temasını kullan - YP - Çevrimdışı kullanılabilen bir profil tanımlayın. - listeye yeni ekle - Birim: - Profil adı eksik - IC değerinde hata - Bazal değerlerde hata - Hedef değerlerde hata - ISF değerinde hata - Geçersiz profil %1$s NS tarafından kabul edilmiyor - Görünüm - Hatalar - Düzenlenecek profili seç - Profil adı: - yeni profil ekle - mevcut profili klonla - mevcut profil sil - İES İnsülin Etki Süresi - IC Karbonhidrat İnsülin Oranı - IDF İnsülin Duyarlılık Faktörü - HDF - BAZ - Kullanılan veriler yeniden hesaplandı - KŞ çok yakın:\n%1$s\n%2$s - tekrar hesaplandı - çift giriş - 24 saat veya daha kısa süre içinde yaz saati değişikliği - Yaz Saati Uygulaması 3 saatten daha kısa bir süre önce değişti - Kapalı döngü devre dışı - eski sürüm - çok eski sürüm - Uygulamanın süresi doldu - En az %1$d gündür yeni sürüm mevcut! %2$d gün sonra LGS\'ye (Düşük Glukoz gönderimine) dönülecek, %3$d gün sonra da döngü devre dışı bırakılacaktır - Henüz tamamlanmadı - Geçen süre + Tamamlandı, tebrikler! + Maksimal AİNS doğru şekilde ayarlandı + Seçili kaynaktan KŞ kullanılabilir + Senkronizasyon servisi yazma iznine sahip + Döngü etkin + APS Seçildi + Kapalı mod etkin + GRV + Eğitim programı + Görevleri sıfırlamak istiyor musunuz? Tüm yaptıklarınızı kaybedeceksiniz. + Sonraki + Geri + Komple tamamlandı + Yeniden Başla + + Eylemler + Ortak özelliklere hızlıca erişmek için bazı düğmeler + EYLEM + Geçici Bazal + Yayma Bolus + Yayma Bolusu iptal et + Araçlar + Geçmiş tarayıcısı + Sensör + yaş: + seviye: + İnsülin + Pompa pili + Kanül + Yayma bolus özelliğinin kullanılması, yayma bolus çalıştırıldığı süre boyunca kapalı döngü modunu durduracaktır. Gerçekten istiyor musunuz? + Yayma bolus iletim hatası + kanül yaşı + yama pompa yaşı + Yama pompa + + %2$s\'den dolayı yayma bolus %1$.1f Ü ile sınırlandırılıyor + %2$s\'den dolayı karbonhidratlar %1$d g ile sınırlandırılıyor + %2$s\'den dolayı AİNS %1$.1f Ü ile sınırlandırılıyor + Pompa geçici bazal özellikli değil + Kapalı Döngü tercihlerde devre dışı bırakıldı + UAM (UnAnnounced Meals), Oref1 duyarlılık eklentisine bağlı olduğu için devre dışı bırakıldı + Geliştirici sürümü çalışıyor. Kapalı Döngü devre dışı. + Yayma bolus çalıştığı için kapalı döngü devre dışı bırakıldı + Aktif KŞ kaynağı gelişmiş filtrelemeyi desteklemediği için SMB (Super Micro Bolus) her zaman ve karbonhidratlardan sonra devre dışı bırakıldı + Açık Döngü modunda SMB\'ye (Super Micro Bolus) izin verilmiyor + tercihlerde maksimum değer + sert sınır + Tedavi güvenliği + Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin + Çocuk + Ergen + Yetişkin + Yetişkin İnsülin direnci + Hamile + Maks izin verilen bolus [U] + Maks izin verilen karbonhidrat [g] + Hasta tipi + Ertele + Ana ekranda durum ışıklarını göster + Kanül ömrü uyarısı belirle (saat) [h] + Kritik kanül ömrü (saat) [h] + İnsülin ömrü uyarısı belirle (saat) [h] + Kritik insülin ömrü (saat) [h] + Sensör ömrü uyarısı (saat) [h] + Kritik sensör ömrü (saat) [h] + Sensör pili seviye uyarısı [%] + Kritik sensör pili [%] + Pompa pil ömrü uyarısı (saat) [h] + Kritik pompa pili (saat) [h] + Rezervuar seviye uyarısı (ünite) [U] + Kritik rezervuar seviyesi (ünite) [U] + Pompa pil seviye uyarısı [%] + Kritik pompa pili seviyesi [%] + Durum ışıkları + Ayarları NS\'den kopyala + grafik + insülin + Grafik menüsü + kan şekeri kalitesi + kan şekeri + güncel değil + APS modu + Yeni geçici bazal oranını kabul et: + CGM + Hızlı Asistan + + Yeniden başlat + NS erişim anahtarları + NS erişim anahtarları + NS yönetici sayfasında oluşturulan erişim anahtarları (en az 17 karakter) + Simdi ilet + Sırayı temizle + Sırayı göster + Sıra: + Durum: + Tam senkronizasyon + Tam senkronizasyon? Birkaç saat sürebilir ve bitene kadar NS\'ta yeni veriler göremeyeceksiniz. + Senkronizasyon + Profiller, boluslar, karbonhidratlar, geçici bazallar NS\'a yüklenir + Verileri NS\'a yükleyin + Profil deposunu al + NS profil düzenleyicisinden profilleri senkronize edin + Geçici hedefleri al + NS veya NSClient aracılığıyla girilen geçici hedefleri kabul edin + Profil değişimlerini al + NS veya NSClient aracılığıyla girilen profil değişimlerini kabul edin + APS çevrimdışı olaylarını alın + NS veya NSClient aracılığıyla girilen APS çevrimdışı olaylarını kabul edin + GBO ve EB (Yayma Bolus) alın + Başka bir örnek üzerinden girilen GBO ve EB (Yayma Bolusu) kabul edin + İnsülinleri alın + NS veya NSClient aracılığıyla girilen insülini kabul edin (iletilmez, yalnızca AİNS\'e göre hesaplanır) + Karbonhidratları alın + NS veya NSClient aracılığıyla girilen karbonhidratları kabul edin + Terapi etkinlikleri alın + NS veya NSClient aracılığıyla girilen tedavi olaylarını (kanül, insülin, pil değişimi vb.) kabul edin + SGİ (CGM) verilerini alma/doldurma + NS\'tan SGİ (CGM) verilerini kabul edin + Yürüt %s? + Yüklemeleri yavaşlat + NS alarmlarından bildirimler oluşturun + NS duyurularından bildirimler oluşturun + + Tidepool oturum açma kullanıcı adınız, normalde e-posta adresiniz + Kullanıcı adınınız + Tidepool şifreniz + Giriş Parolası + Tidepool girişini test et + Etkinleştirilirse, yüklemeler https://app.tidepool.org/ yerine https://int-app.tidepool.org adresine gider + Entegrasyon (test) sunucularını kullanın + Tidepool + TDP + Tidepool\'a veri yükler + SGİ (CGM) verilerini yükle + Tedavileri yükleyin (insülin, karbonhidratlar) + Geçici bazalları yükleyin + Profil değişimlerini, geçici hedefleri yükleyin + KŞ testlerini yükleyin + Tümünü kaldır + Başlatmayı sıfırla + Şimdi yükle + + Henüz herhangi bir sürücüye sahip olmayan pompalar için pompa entegrasyonu (Açık Döngü) + Sanal pompa ayarları + Nightscout\'a durum aktar + + Nightscout\'tan KŞ verilerini yükler + xDrip+ + XDrip+\'ten KŞ değerlerini alır. + BYODA + BYODA + \'Kendi Dexcom Uygulamanızı Oluşturun\' uygulamasından KŞ değerlerini alın. + Eversense App (yamalı) + Yamalı Eversense uygulamasından KŞ değerleri alır. + Glimp\'ten KŞ değerleri alır. + 600SeriesAndroidUploader\'dan KŞ değerleri alır. + Poctech + Poctech uygulamasından KŞ değerlerini alır + Glunovo + Glunovo uygulamasından değerler alır + Intelligo + Intelligo uygulamasından değerler alır + Tomato (MiaoMiao) + Tomato + KŞ değerlerini Tomato uygulamasından (MiaoMiao Cihazından) al + Aidex + GlucoRx Aidex CGMS\'den KŞ değerleri alır. + Rastgele KŞ + Rastgele KŞ verileri oluşturun (Yalnızca demo modunda) + + XDrip+\'a KŞ verilerini gönder + xDrip+ içerisinde 640g/Eversense veri kaynağı seç + KŞ verilerini NighScout\'a yükle + KŞ yükleme ayarları + Sensör değişimlerini NS\'a kaydet + Sensör başlangıcında otomatik olarak NS\'de \"Sensör Değişimi\" olayı oluştur + + Mobil veri kullan + Wi-Fi bağlantısı kullan + WiFi SSID + Şarj olurken + Pilde + Hatalardan duyurular oluştur + Karbonhidrat gerekli uyarılarından duyurular oluşturun + Hata diyalogları ve yerel uyarılar için Nightscout anonsu oluşturun (Tedaviler altında Bakım portalında da görüntülenebilir) + Karbonhidrat gerekli uyarılarından Nightscout duyuruları oluşturun + Nightscout ile verilerinizi senkronize eder + Verilerinizi v3 API kullanarak Nightscout ile senkronize eder + Şarj seçenekleri tarafından engellendi + Bağlantı seçenekleri tarafından engellendi + OAPS + UPLD + + Orjinal görünüm + Düşük çözünürlüklü görünüm + Butonlar her zaman ekranın altında görüntülenir + Büyük ekran + Görünüm diff --git a/plugins/main/src/main/res/values-zh-rCN/exam.xml b/plugins/main/src/main/res/values-zh-rCN/exam.xml new file mode 100644 index 0000000000..a0675de3cb --- /dev/null +++ b/plugins/main/src/main/res/values-zh-rCN/exam.xml @@ -0,0 +1,194 @@ + + + 关于DIA(胰岛素作用持续时间)哪些是对的? + 胰岛素作用持续时间 ( DIA) + 您应该在个人配置文件中设置胰岛素敏感系数DIA的值。 + 允许的最小值为 5 小时。 + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html?#insulin + 您应该为自己确定 DIA 的适当值。 + 低血糖临时目标 + 设定低血糖临时目标的主要原因是什么? + 纠正由于基础率设置不准确而引起的低血糖事件。 + 纠正由于运动引起的低血糖事件。 + 在已设定0%临时基础率的基础上,进一步防止血糖降低。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html + 哪些配置文件可以离线使用和配置? + 主题: 离线配置文件 + NS 文件可以使用,但不能配置 。 + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile + 泵断开连接时我们应做些什么? + 这是没有必要的,如果胰岛素泵物理断开,胰岛素会无法输注。 + 如果胰岛素泵保持连接,就不会停止胰岛素输注。 + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings + 备份设置的最佳办法是什么? + 你不需要导出你的设置,只要你对它们做了记录。 + 在实现一个目标后导出您的设置。 + 在更改您的任何设置后导出您的设置。 + 在您完成初始化并设置了您的偏好选项后导出您的设置。 + 使用维护菜单导出您的本地设置。 + 您的设置文件可以在手机上的文件夹内部存储/AAPS/preferences中找到。 + 将您的首选项文件复制到手机以外的安全位置(如使用云盘,用数据线传到计算机,电子邮箱等等) + 如果您的手机损坏或丢失,在没有备份的情况下可以轻松的远程恢复您的设置。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me + CGM数据噪音 + 如果 CGM 数据有噪声,我们应该怎么办? + 禁用闭环功能以避免胰岛素过量或不足。 + 更换持续产生噪音或不准确数据的传感器。 + 验证您的CGM应用程序是否提供了平滑数据。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data + 运动和配置 + 你如何使用配置文件来最好地帮助APS系统处理有氧运动? + 请执行低于100%的配置文件切换。 + 请执行高于100%的配置文件切换。 + 将配置文件设置为100%。 + 暂停闭环。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + 运动和临时目标 + 你如何使用临时目标功能来最好地帮助APS系统处理有氧运动? + 在开始运动之前,选一个合适的时间设置活动血糖目标。 + 在运动结束之后,设置活动血糖目标。 + 让你的血糖目标保持不变。 + 等血糖值低于你的低血糖警戒线之后,吃15克速升的活性碳水合物。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html#activity-temp-target + 禁用/暂停闭环 + 在禁用/暂停闭环时,我是否接收了胰岛素输注? + 是的,胰岛素基础率仍在继续输注。 + 不,胰岛素停止输注。 + Basal基础率,ISF胰岛素敏感系数,I:C或ICR碳水化合物系数的测试 + 什么时候需要修订这些值? + 在开始闭环之前。 + 当经常出现高血糖或低血糖时。 + 每周至少一次。 + 一旦设置和验证,这些值不应随着时间而变化。 + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#androidaps-settings + 先决条件 + 已验证配置文件的信息 (Basal, IC, ISF, DIA)。 + 一台安装和配置了Android Studio软件的计算机。 + 一部支持此应用的手机。 + 一个兼容的胰岛素泵,如果您计划运行闭合模式。 + Nightscout, 以保存所有数据的日志和检查设置。 + Tidelpool账户。 + Google 账户 + GitHub 账户 + 编程或编辑代码方面的经验。 + 一台 MiniMed 670G 泵。 + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + 一个智能手表. + 受支持的CGM血糖监测产品 + 先决条件 + 验证参数信息用于个人配置文件(如ISF胰岛素敏感度系数、I:C胰岛素碳水比率、基础率、DIA胰岛素作用持续时间等等)。 + 兼容的Android 设备 (例如:手机、安卓原生系统手表,或平板电脑)。 + 一台安装了动态血糖监测应用或兼容软件的手机/设备,用于接收血糖数据。 + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html + 选择所有正确的答案. + 您需要在您的计算机上安装和配置Git。 + 您应该保存并记住密钥的存储位置,并使用相同地签名密钥进行更新,与您以前的安装一样。 + 如果该系统运作良好,就不要去更新系统。 + 如果您在构建应用时遇到困难,您可以安装一个由朋友构建的应用程序。 + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#update-to-a-new-version-or-branch + 疑难解答 + 您应该问您的糖尿病诊所/内分泌专家。 + https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting + https://www.facebook.com/groups/AndroidAPSUsers/ + https://discord.gg/4fQUWHZ4Mw + 在超速效Oref插件中你应该使用哪种胰岛素? + Fiasp®速效门冬胰岛素(超速效) + 诺和锐®/门冬胰岛素® + 优泌乐®赖脯胰岛素 + 诺和灵®/优泌林 R®/\"常规\"人胰岛素 + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#insulin + 敏感度插件 + 选择所有正确的答案。 + 灵敏度插件为用户提供basal基础率,I:C碳水化合物系数和ISF胰岛素敏感系数的更改建议,可用来编辑配置文件。 + 记录输注导管更换会将Autosens比率重置回100%。 + 一些插件选项具有可配置的时间范围,可由用户设置。 + https://androidaps.readthedocs.io/en/latest/EN/Configuration/Sensitivity-detection-and-COB.html + https://androidaps.readthedocs.io/en/latest/Usage/Open-APS-features.html?highlight=Autosens#autosens + 碳水化合物输入错误 + 如果您输入了不正确的碳水化合物,该怎么办? + 删除治疗数据中的错误条目,并重新输入正确的碳水值。 + 使用主菜单地输注功能输注大剂量胰岛素。 + 使用首页概览中的胰岛素(输注) 按钮输注大剂量胰岛素。 + 胰岛素输注/记录错误 + 如果你实际吸收的胰岛素少于泵的历史记录你应该做些什么?例如:由于堵塞、插管失败或淋浴后忘记重新连接泵? + 从Nightscout护理门户删除胰岛素数据,将其从泵的历史记录中删除。 + 通过注射器或胰岛素笔输注你计算出的“遗漏”胰岛素的一部分。 + 活性碳水化合物 (COB) + 更改ISF值如何影响COB计算? + 增加ISF将使得碳水吸收更慢 + 增加ISF将使得碳水吸收更快 + 增加ISF不会影响碳水吸收的计算 + 更改IC值如何影响COB计算? + 增加IC将使得碳水吸收更慢 + 增加IC将使得碳水吸收更快 + 增加IC不会影响碳水吸收的计算 + 更改配置文件百分比如何影响COB计算? + 指定一个150%的配置文件切换会更快吸收碳水 + 指定一个150%的配置文件切换会更快吸收碳水 + 指定一个150%的配置文件切换不会影响碳水吸收 + 活性胰岛素(IOB) + 活性胰岛素IOB数值受发布的临时基础率影响。 + 当您的血糖低于目标值时,不会被给予高临时基础率。 + 在没有运动的情况下,活性胰岛素IOB长时间负数表明你的个人配置太强,你需要在配置中减少的胰岛素用量。 + 长时间活性胰岛素IOB数值过高,表示可能存在胰岛素抵扣,或者没有记录的饮食。 + 碳水记录和胰岛素输注 + 只能使用克来估算和记录消耗的碳水化合物。 + 消耗的碳水化合物可以使用适当地交换份系统 (例如:正常饮食剂量调整DAFNE的“碳水化合物量CHO” 或者 欧洲“面包单位Bread Units”)进行记录。 + 如果血糖水平超出可接受值(过低或过高),则可以使用大剂量向导计算器提供碳水化合物或胰岛素的校正建议。 + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-to-carb-ratio-ic-g-u + 扩展碳水化合物 + 你能使用碳水时间偏移功能 (扩展碳水化合物) 做什么? + 计划今后的碳水化合物,可以在未来一段时间内分布碳水值(类似于在一段时间内分配胰岛素的扩展大剂量功能)。 + 用于记录治疗低血糖的碳水化合物。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/Extended-Carbs.html + 远程监控 + 其他应用(如Dexcom follow、以follow模式运行的xDrip)允许您远程关注某些参数 (如血糖/传感器值),但由于使用不同的算法,可能会有不准确的IOB或COB值。 + https://androidaps.readthedocs.io/en/latest/EN/Children/Children.html + 胰岛素敏感系数(ISF) + 提高ISF值将导致更多的胰岛素输注,以消化特定数量的碳水化合物。 + 降低ISF值会导致更多的胰岛素输注,用于纠正高于目标的血糖值。 + 当血糖水平低于目标值时,提高或降低ISF对胰岛素输送没有影响。 + 更改配置文件中的胰岛素敏感系数值要在可以实现的范围内。 + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#insulin-sensitivity-factor-isf-mmol-l-u-or-mg-dl-u + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html + 在个人配置文件中可以使用一个以上的I:C比率。 + 如果你在个人配置文件中修改了你的胰岛素敏感系数ISF,你也应该经常改变你的I:C比率。 + 胰岛素与碳水化合物的比率(I:C比率) + 对于定量的碳水化合物,更高的I:C比率会导致胰岛素输注减少。 + 对于定量的碳水化合物,更低的I:C比率会导致胰岛素输注减少。 + 如果你的活性碳水化合物数值为0,改变IC比率将导致使用不同的胰岛素剂量来校正给定的血糖值。 + 如果你将面包单位(交换份) 计算为10克或12克,那么碳水系数IC比率将不同。 + IC 的含义是:1单位胰岛素可以覆盖多少面包单位 (交换份) 。 + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#carbohydrate-to-insulin-ratio-cr-g-u + 配置文件切换 + 当指定一个90%的配置文件切换时,哪些答案是正确的? + 基础率会降低10%。 + 胰岛素敏感系数ISF值将提高10%。 + 胰岛素与碳水化合物的比率I:C比率的值将降低10%。 + 胰岛素敏感系数ISF和胰岛素碳水比率I:C将保持不变。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#profile-switch + 配置文件切换 + 当指定一个120%的配置文件切换时,哪些答案是正确的? + 血糖的目标值将提高20%。 + 胰岛素基础率会提高20%。 + 血糖的目标值将保持不变。 + 胰岛素敏感系数ISF值将提高20%。 + 配置文件切换 + 以增加2小时的方式,启动个人配置文件切换 + 以减少2小时的方式,启动个人配置文件切换 + 设置一个马上吃饭,临时的血糖目标值。 + 将配置文件切换到100%以上。 + https://androidaps.readthedocs.io/en/latest/EN/Usage/Profiles.html?highlight=profilewitch#timeshift + 修改配置文件 + Basal基础率,ISF胰岛素敏感系数,I:C碳水化合物系数等,应该在配置文件中设定。 + 编辑配置文件进行参数的修改,足以适应任何变化。 + 可以设置和选择多个配置文件,以适应不断变化的环境(例如激素变化、轮班工作、工作日/周末生活方式)。 + https://androidaps.readthedocs.io/en/latest/EN/Module/module.html#good-individual-dosage-algorithm-for-your-diabetes-therapy + 帮助调整基础率 + 去哪里寻求胰岛素基础率等方面的帮助。 + 你的糖尿病团队 + 谷歌 + Facebook + 其他药物。请阅读下面的声明,然后勾选接受声明。 + diff --git a/plugins/main/src/main/res/values-zh-rCN/objectives.xml b/plugins/main/src/main/res/values-zh-rCN/objectives.xml new file mode 100644 index 0000000000..a1d81abfcb --- /dev/null +++ b/plugins/main/src/main/res/values-zh-rCN/objectives.xml @@ -0,0 +1,53 @@ + + + 开始 + 验证 + %1$d.目标 + 目标 %1$d 未开始 + 目标 %1$d 未完成 + 设置可视化的连续血糖监测系统,并且分析胰岛素基础率和比率。 + 验证Nightscout中血糖(BG) 数据可用,并且泵的胰岛素数据正在上传。 + 开始开环 + 在开环模式下运行几天,手动设定多次临时基础率。设置临时目标默认值并使用临时目标功能(例如,在运动或低血糖补充碳水化合物时) + 了解你的开环,包括它的临时基础率建议 + 基于使用开环的经验,决定基础率的最大值,在胰岛素泵和AAPS的参数选项上设置它 + 从低血糖维持模式(用于测算基础率) 开始闭环功能 + 设置最大活性胰岛素IOB=0,在闭环的低血糖维持模式下运行几天,确保没有太多的低血糖事件 + 优化闭环,逐渐增加活性胰岛素IOB的最大值,并逐渐降低血糖的目标值 + 运行几天,至少一个晚上没有低血糖报警,然后才可以继续调低血糖的目标值 + 必要时调整胰岛素基础率和比率,然后再启用auto-sens胰岛素敏感系数自动调整功能 + 规律的进行碳水记录,成功在一个星期的白天开启闭环 + 在白天启用额外的功能,例如微型大剂量 SMB + 启用自动操作功能插件 + 你应该阅读wiki指南,以调整 maxIOB(活性胰岛素的最大值) 设置,让SMB(微型大剂量) 更好的工作。建议是 maxIOB值=餐时剂量的平均值+基础率的最大值的3倍。 + 阅读有关自动操作插件的说明文档,设定你的第一个简单规则。让AAPS只显示通知,而不是操作。当您确定自动操作在正确的时间触发时,用真实操作代替通知。(https://androidaps.readthedocs.io/en/latest/EN/Usage/Automation.html) + 血糖在NS中可用 + 泵状态在 NS 中可用 + 手动执行 + 已完成: %1$s + 将个人配置文件设置为90%持续10分钟 (长按首页概览左上角的配置文件名称) + 模拟淋浴。 将泵断开连接1个小时(长按开环图标) + ... 然后以同样的方式重新连接 + 创建具有 10 分钟持续时间的定制临时目标 (当前目标上长按 ) + 在配置生成器中启用Actions(常用操作) 插件,使其可视并在顶部菜单显示其内容 + 显示闭环插件的内容 + 长按血糖图来使用缩放功能 + 输入 + 如果您有至少3个月的其他系统闭环经验,您可能有资格获得跳过学习目标的代码。参见 https://androidaps.readthedocs.io/en/latest/EN/Usage/Objectives.html#skip-objectives for details。 + 已接受代码 + 代码无效 + 证明你的知识 + 研究这些问题。每个问题都有四个可能的答案。答案可能不止一个。请选择所有正确的选项,然后点击验证。 + 禁止答题,直到: %1$s + 错误答案! + 下一个未完成的 + 请求码: %1$s + (选择所有正确的答案) + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-to-do-when-taking-a-shower-or-bath + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#config-builder + https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/Screenshots.html#the-homescreen + 未连接到网络 + 时间同步失败 + 未满足目标要求。 + diff --git a/plugins/main/src/main/res/values-zh-rCN/strings.xml b/plugins/main/src/main/res/values-zh-rCN/strings.xml index bf3e462e18..d34e1904c1 100644 --- a/plugins/main/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/main/src/main/res/values-zh-rCN/strings.xml @@ -1,163 +1,187 @@ - SMS短信通讯器 - 手机SMS - 从验证码生成器应用获取%1$s的随机码,并附加PIN码 - 验证码末尾强制附加的PIN码 - 在每次生成的一次性随机密码末尾,需要记住并强制附加的数字。 - 验证码检查: - OTP随机 + PIN固定 - 验证码包含6位数字,由验证器应用程序生成(称为OTP),然后再包含3位或3位以上的必填数字PIN码。 - 重置身份验证器 - 重置身份验证器的密钥 - 你确定要重置验证器密钥吗?它将导致以前配置的OTP随机验证码无效,您需要重新设置它们(在遥控手机的OTP应用上)。 - 生成了新的身份验证器密钥!请使用更新的二维码设置验证器。 - 导出OTP密钥 - 你确定要将OTP密钥复制到剪贴板?\n\n只有在验证器应用扫描二维码出现问题时,你才需要这么做。可能你想手动输入二维码,或者使用专用的应用程序配置硬件OTP令牌。 - 将OTP密钥 (Base32 格式) 导出并复制到剪贴板。粘贴它到身份验证器或硬件OTP中! - 1. 安装身份验证器app - 3. 测试一次性验证码 - 重置身份验证器 - 在其他遥控手机上安装支持RFC 6238 TOTP令牌协议的应用程序。常用的免费应用有:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator - 用户 - 允许的手机号码 +XXXXXXXXXX;+YYYYYYYYYY - 要设置临时目标 %1$s,请回复验证码 %2$s - 要取消临时目标,请回复验证码 %1$s - 要禁用短信遥控服务,请回复验证码%1$s.\n\n请记住,你只能在AAPS闭环手机上重新激活此功能。 - 短信遥控服务已禁用。要重新激活它,请使用AAPS闭环手机。 - 要发送校准值 %1$.2f 回复如下代码 %2$s - 大剂量输注失败 - 一次远程遥控输注命令与下一次命令之间必须经过的最小分钟数 - 两次短信遥控胰岛素输注的时间间隔 - 为了您的安全,您需要添加至少两个电话号码。 - 成功输注大剂量%1$.2fU - 成功输注餐时大剂量%1$.2fU - 目标 %1$s 执行 %2$d 分钟 - 目标 %1$s 执行 %2$d 分钟设置成功 - 临时目标已成功取消 - 通过SMS短信允许远程命令 - 闭环已经被禁用 - 闭环已经被启用 - 闭环被启用 - 连接泵,请回复验证码:%1$s - 连接泵失败 - 断开泵%1$d分钟,请回复验证码:%2$s - 泵已断开 - 泵已重新连接 - 远程命令没有被允许 - 远程大剂量不可用。请稍后再试。 - 执行基础率%1$.2fU/h持续时间%2$d分钟,请回复验证码:%3$s - 要切换配置文件到 %1$s %2$d%% 请回复代码 %3$s - 要开始扩展大剂量 %1$.2fU/h 持续时间%2$d 分钟,请回复验证码:%3$s - 要在 %2$s 输入 %1$d 克,请回复验证码 %3$s - 要开始基础率 %1$d%% 持续时间%2$d 分钟,请回复如下代码 %3$s - 要暂停闭环 %1$d 分钟请回复如下代码 %2$s - 恢复闭环,请回复验证码:%1$s - 启用闭环,请回复验证码:%1$s - 禁用闭环,请回复验证码:%1$s - 临时基础率 %1$.2fU/h 持续 %2$d 分钟启用成功了 - 扩展大剂量 %1$.2fU/h 持续时间 %2$d 分钟已经启用成功了 - 碳水%1$d克输入成功 - 输入 %1$d 克碳水化合物失败 - 临时基础率 %1$d%% 持续时间 %2$d 分钟 启用成功了 - 开始临时基础率失败了 - 开始扩展大剂量失败了 - 要停止临时基础率,请回复如下代码 %1$s - 要停止扩展大剂量,请回复如下代码 %1$s - 临时基础率取消了 - 扩展大剂量已经取消了 - 取消临时基础率失败 - 取消扩展大剂量失败 - 未知的命令或者错误的回复 - 队列中在执行另一个大剂量命令,请稍后再试。 - 错误的持续时间 - 闭环暂停了 - 闭环恢复了 - 无效的SMS手机号码 - 校准已发送。必须在 xDrip+ 中启用接收功能。 - xDrip+未接收校准 - 无效消息 - 如果触发泵连接丢失事件,则发送短信通知。 - 泵连接丢失报告 - 增量: - IOB活性胰岛素: - 大剂量: - 基础率: - 用于安装一次性随机验证码的二维码 - DIA - Lyumjev(超速效赖脯胰岛素) - 胰岛素预设为 Humalog(优泌乐) 和 NovoRapid(门冬)/NovoLog(诺和锐) - Fiasp 胰岛素预设 - 预设为Lyumjev速效赖脯胰岛素 - 允许您定义胰岛素作用的峰值, 并且只应由高级用户使用 INS - IOB 曲线峰值时间 - 峰值时间 [min] Free-Peak Oref - 速效 Oref - DIA of %1$f 太短了,请使用 %2$f 代替 - - 在 xDrip + 表盘上显示有关闭环的信息。 + - 显示 Nightscout 中定义的食物预设 - 筛选 - 食物 - kJ - En - 蛋白质 - 脂肪 - 类别 - 子类别 - App颜色主题 - 暗色主题 - 亮色主题 - 跟随系统主题 - 本地配置文件 - 定义一个离线可使用的配置文件。 - 新增条目到列表 - 单位: - 缺少配置文件名称 - IC数值错误 - 基础率数值错误 - 目标数值错误 - ISF数值错误 - 不接受来自NS的无效配置文件%1$s - 查看 - 错误 - 选择要编辑的配置文件 - 个人配置名称: - 添加新配置文件 - 克隆当前配置文件 - 删除当前配置文件 DIA - IC - ISF TARG - 基础率 - 重新计算的数据 - 血糖间隔太近:\n%1$s\n%2$s - 重新计算 - 双重条目 - 在24小时或更少时间内变更\"夏令时\" - 夏令时变更在三小时内-已禁用闭环 - 旧版本 - 非常旧版本 - 应用版本已过期。 - 新版本已发布至少%1$d天!将在%2$d天后回退到LGS (低血糖维持模式),闭环功能将在%3$d天后禁用。 - 尚未完成 - 已用时间 + 完成了,做的好 + 合理地设置最大 IOB + 所选的血糖值来源的血糖是可用的 + 闭环启用了 + APS已选择 + 闭环模式启用了 + 目标 + 学习计划 + 你想要重置已启动的目标? 你会失去已有的进度。 + 清除已完成 + 清除已启动 + + 一些快速访问常用功能的按钮 + 操作 + 工具 + 输注导管 + 在使用扩展大剂量(方波) 功能期间将停止闭环功能。你真的想要启用吗? + 扩展大剂量(方波) 输注错误 + 导管年龄 + patch 泵年龄 + Patch 泵 + + 由于 %2$s, 将扩展大剂量限制为 %1$.1f U + 由于 %2$s, 将碳水化合物限制为 %1$d 克 + 由于 %2$s, 将 IOB(活性胰岛素) 限制为 %1$.1f U + 这个泵无法设置临时基础率 + 在参数选项中禁用了闭环模式 + UAM被禁用, 因为它依赖于 Oref1 敏感都插件 + 正在运行开发版本,闭环被禁用了 + 由于运行扩展大剂量而禁用了闭环 + SMB always and after carbs disabled 因为实时的血糖来源不支持高级筛选 + 在开环模式下不允许使用SMB-微型大剂量 + 在参数选项里的最大值 + 硬限制 + 治疗安全 + 请选择患者类型,以设置安全限制 + 儿童 + 青少年 + 成人 + 胰岛素抵抗成人 + 孕妇 + 允许的最大大剂量值[U] + 最大允许碳水化合物 [g] + 患者类型 + 稍后再响 + 在主屏幕上显示状态指示灯 + 胰岛素状态灯警示阀值[小时] + 胰岛素状态灯临界阀值[小时] + 传感器状态灯警示阀值[小时] + 传感器状态灯临界阀值[小时] + 传感器剩余电量状态灯警示阀值[百分比] + 传感器剩余电量状态灯临界阀值[百分比] + 胰岛素泵电池使用时长状态灯警示阀值[小时] + 胰岛素泵电池使用时长状态灯临界阀值[小时] + 储药器药量低于阈值[U] 警告 + 储药器药量低于阈值[U] 严重警告 + 胰岛素泵剩余电量状态灯警示阀值[百分比] + 胰岛素泵剩余电量状态灯临界阀值[百分比] + 状态指示灯 + 从NS复制设置 + 绘图 + 胰岛素 + 图表菜单 + 血糖质量 + 血糖 + 已过期 + APS模式 + 接受新的临时基础率 + CGM + 快速向导 + + 重新启动 + 立即输注 + 清除队列 + 显示队列 + 队列: + 状态: + 完全同步 + 完全同步数据? 这可能需要很长时间,在完成以前你将无法在NS中看到新数据。 + 同步 + 将用户配置,大剂量,碳水化合物,临时基础率的数据上传到NS网站 + 上传数据到NS网站 + 接收存储用户配置 + 同步NS配置文件编辑器的用户配置到本地。 + 接收临时目标 + 允许通过NS或NS客户端接收血糖的临时目标值。 + 接收用户配置文件切换 + 允许通过NS或NS客户端接收用户配置文件切换。 + 接收 APS 离线事件 + 允许通过NS或NS客户端接收APS 离线事件。 + 接收TBR 和 EB + 接受通过另一个实例输入 TBR 和 EB + 接收胰岛素输注 + 允许通过NS或 NS客户端接收胰岛素输注 (它并不会输注胰岛素,只计算为活性胰岛素IOB) + 接收碳水化合物 + 允许通过NS或NS客户端接收碳水化合物输入。 + 接收治疗事件 + 允许通过NS或NS客户端接收(导管更换、胰岛素更换、电池更换等) 护理事件 + 接收/回填CGM数据 + 接受来自NS 的 CGM 数据 + 运行 %s? + 放慢上传速度 + 创建来自NS报警的通知 + 创建来自NS公告的通知 + + 你的Tidepool登录用户名,通常是你的邮件地址 + 登录用户名 + 登录密码 + 登录密码 + 测试Tidepool登录 + 如果启用,则上载将转到https://intapp.tidepool.org,而不是常规https://app.tidepool.org/。 + 使用集成(测试)服务器 + Tidepool + TDP + 数据上传到Tidepool + 上传CGM数据 + 上传治疗方案(胰岛素,碳水化合物) + 上传临时基础率 + 上传配置文件切换,临时目标 + 上传血糖值 + 删除全部 + 现在上传 + + 与我们还没有其驱动的泵集成(开环) + 虚拟泵设置 + 将状态上传到 NS + + 从 Nightscout 下载 血糖数据 + xDrip+ + 从 xDrip+ 接收血糖值。 + BYODA德康补丁版(构建你自己的德康应用Build Your Own Dexcom App) + BYODA + 从德康补丁版接收血糖数据(Build Your Own Dexcom App)。 + Everyang App (补丁) + 从 Eversense 补丁app接收血糖值。 + 从 Glimp 接收血糖值。 + 从美敦力600Series 的AndroidUploader 接收血糖值。 + Poctech + 从 Poctech app 接收血糖值。 + Glunovo + 从Glunovo应用接收血糖数据。 + 番茄(喵喵) + 番茄 + 从番茄app(喵喵设备) 接收血糖值 + Aidex动泰 + 从GlucoRx Aidex动泰持续葡萄糖监测系统接收血糖值。 + 血糖上传设置 + + WiFi SSID + 创建错误公告 + 从碳水需求警报创建NS公告 + 为错误对话框和本地警报创建Nightscout公告(在治疗标签下的护理记录里也可查看) + 为碳水化合物需求警报创建Nightscout网站的公告 + 将数据与 Nightscout 同步 + 被充电选项阻止 + 被连接选项阻止 + OpenAPS + UPLD + + 原始皮肤 + 低分辨率皮肤 + 按钮总是显示在屏幕底部 + 大显示屏 + 皮肤 diff --git a/plugins/openhumans/src/main/res/values-bg-rBG/strings.xml b/plugins/openhumans/src/main/res/values-bg-rBG/strings.xml index 09a29d9416..8e76bd2326 100644 --- a/plugins/openhumans/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/openhumans/src/main/res/values-bg-rBG/strings.xml @@ -14,7 +14,6 @@ Open Humans нотификации Излязохте от \"Open Humans\". Натиснете тук за да влезете отново, ако това не е било нарочно. - Качи сега Следващ Условия за ползване Това е отворен код, който ще копира данните ви в Open Humans. Ние не запазваме никакви права да споделяме вашите данни с трети страни без изричното ви разрешение. Данните, които проектът и приложението получават, се идентифицират чрез случаен идентификатор на потребител и ще бъдат надеждно предадени на Open Humans акаунт с вашето разрешение за този процес. Можете да спрете качването и да изтриете данните за качване по всяко време чрез www.openhumans.org. @@ -26,4 +25,5 @@ Разбирам и съм съгласен. Откажи Затвори + Качи сега diff --git a/plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml b/plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml index 55fb5b87a0..6afb9f9662 100644 --- a/plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/openhumans/src/main/res/values-cs-rCZ/strings.xml @@ -15,7 +15,6 @@ AAPS nahrává na Open Humans. To může chvíli trvat. Byl jste odhlášen z Open Humans Chcete-li se znovu přihlásit, klepněte zde, pokud to nebylo schválně. - Nahrát nyní Další Vítejte v Open Humans Chcete-li nastavit nahrávání dat, klikněte na \'Další\'. @@ -54,4 +53,5 @@ Jsme hotovi! Od této chvíle bude telefon čas od času tiše nahrávat data na pozadí. Zavřít + Nahrát nyní diff --git a/plugins/openhumans/src/main/res/values-da-rDK/strings.xml b/plugins/openhumans/src/main/res/values-da-rDK/strings.xml index ed0698fbfe..56f6d1f82c 100644 --- a/plugins/openhumans/src/main/res/values-da-rDK/strings.xml +++ b/plugins/openhumans/src/main/res/values-da-rDK/strings.xml @@ -12,9 +12,9 @@ Upload kun ved opladning Uploader til Open Humans… Open Humans Notifikationer + AAPS uploader til Open Humans. Dette kan tage et stykke tid. Du er blevet logget ud af Open Humans Klik her for at logge ind igen, hvis dette ikke var meningen. - Upload nu Næste Velkommen til Open Humans Klik på \'Næste\' for at opsætte dataoverførsel. @@ -53,4 +53,5 @@ Vi er færdige! Fra nu af vil telefonen lydløst uploade data i baggrunden fra tid til anden. Luk + Upload nu diff --git a/plugins/openhumans/src/main/res/values-de-rDE/strings.xml b/plugins/openhumans/src/main/res/values-de-rDE/strings.xml index c00c221db2..ed83309d77 100644 --- a/plugins/openhumans/src/main/res/values-de-rDE/strings.xml +++ b/plugins/openhumans/src/main/res/values-de-rDE/strings.xml @@ -14,7 +14,6 @@ Open Humans Benachrichtigungen Du wurdest von Open Humans abgemeldet. Klicke hier, um Dich erneut anzumelden, falls dies versehentlich passiert ist. - Jetzt hochladen Weiter Willkommen bei Open Humans Klicken Sie auf \'Weiter\', um das Hochladen der Daten einzurichten. @@ -53,4 +52,5 @@ Wir sind fertig! Von nun an wird Ihr Telefon von Zeit zu Zeit stillschweigend Daten im Hintergrund hochladen. Schließen + Jetzt hochladen diff --git a/plugins/openhumans/src/main/res/values-es-rES/strings.xml b/plugins/openhumans/src/main/res/values-es-rES/strings.xml index b119a27b65..a5e0492963 100644 --- a/plugins/openhumans/src/main/res/values-es-rES/strings.xml +++ b/plugins/openhumans/src/main/res/values-es-rES/strings.xml @@ -15,7 +15,6 @@ AAPS está subiendo datos a Open Humans. Esto puede llevar un tiempo. Has cerrado la sesión de Open Humans Haga clic aquí para iniciar sesión de nuevo si no tenía esa intención. - Subir ahora Siguiente Bienvenido a Open Humans Para configurar la subida de datos, haga clic en \'Siguiente\'. @@ -54,4 +53,5 @@ ¡Terminamos! A partir de ahora, el teléfono cargará datos silenciosamente en segundo plano, de vez en cuando. Cerrar + Subir ahora diff --git a/plugins/openhumans/src/main/res/values-fr-rFR/strings.xml b/plugins/openhumans/src/main/res/values-fr-rFR/strings.xml index e30a959ba7..07c68e7d7e 100644 --- a/plugins/openhumans/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/openhumans/src/main/res/values-fr-rFR/strings.xml @@ -15,7 +15,6 @@ AAPS téléverse vers Open Humans. Cela peut prendre un certain temps. Vous avez été déconnecté d\'Open Humans Cliquez ici pour vous connecter à nouveau si ce n\'était pas volontaire. - Télécharger maintenant Suivant Bienvenue à Open Humans Pour configurer l\'envoi de données, cliquez sur \'Suivant\'. @@ -54,4 +53,5 @@ Nous avons terminé ! Désormais, votre téléphone téléversera les données en arrière-plan de temps en temps. Fermer + Télécharger maintenant diff --git a/plugins/openhumans/src/main/res/values-ga-rIE/strings.xml b/plugins/openhumans/src/main/res/values-ga-rIE/strings.xml index 3ea04e700d..d1e993eb08 100644 --- a/plugins/openhumans/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/openhumans/src/main/res/values-ga-rIE/strings.xml @@ -1,2 +1,5 @@ - + + Cuir ar ceal + Dún + diff --git a/plugins/openhumans/src/main/res/values-hr-rHR/strings.xml b/plugins/openhumans/src/main/res/values-hr-rHR/strings.xml index 3ea04e700d..d4ec8aeeec 100644 --- a/plugins/openhumans/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/openhumans/src/main/res/values-hr-rHR/strings.xml @@ -1,2 +1,43 @@ - + + AAPS prenosi na Open Humans. Ovo može potrajati. + Sljedeći + Dobrodošli u Open Humans + Za postavljanje prijenosa podataka kliknite \'Dalje\'. + Pristanak + Uvjeti korištenja + Molimo pažljivo pročitajte sljedeće informacije i prihvatite uvjete korištenja da biste nastavili. + Ovo je alat otvorenog koda koji će kopirati vaše podatke u Open Humans. Ne zadržavamo nikakva prava dijeljenja vaših podataka s trećim stranama bez vašeg izričitog dopuštenja. Podaci koje projekt i aplikacija primaju identificirani su putem slučajnog korisničkog ID-a i sigurno će se prenijeti na Open Humans račun samo uz vašu autorizaciju tog procesa. Možete zaustaviti prijenos i izbrisati svoje podatke za prijenos u bilo kojem trenutku putem www.openhumans.org. + Podaci preneseni + Vrijednosti glukoze + Bolusi + Produženi bolusi + Ugljikohidrati + Careportal događaji (osim bilješki) + Prekidači profila + Ukupne dnevne doze + Privremene bazalne stope + Privremeni ciljevi + Postavke + Verzija aplikacije + Model uređaja + Dimenzije ekrana + Podaci za otklanjanje pogrešaka algoritma + Podaci NISU preneseni + Lozinke + Nightscout URL + Tajni API Nightscouta + Slobodna tekstualna polja + Razumijem i slažem se. + Prijavite se na Open Humans + Završni detalji + Samo ste jedan korak od prijenosa podataka na Open Humans. Želiš li nastaviti? + Otkaži + Nastavi + Završavam... + Ovo može potrajati nekoliko sekundi. + Gotovi smo! + Od sada će vaš telefon s vremena na vrijeme tiho prenositi podatke u pozadini. + Zatvori + Pošalji sada + diff --git a/plugins/openhumans/src/main/res/values-hu-rHU/strings.xml b/plugins/openhumans/src/main/res/values-hu-rHU/strings.xml index 3ea04e700d..32738fc736 100644 --- a/plugins/openhumans/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/openhumans/src/main/res/values-hu-rHU/strings.xml @@ -1,2 +1,18 @@ - + + Open Humans + OH + Az Open Humans lehetővé teszi adatainak feltöltését és tudományos projekteknek való adományozását. + Kijelentkezés + Beállítás + Az Open Humans beállítása megtörtént. Ha le szeretné állítani az adatfeltöltést, kattintson a \"Kijelentkezés\" gombra. + Az Open Humans jelenleg inaktív. Az adatok feltöltésének megkezdéséhez kattintson a \"Beállítás\" gombra. + Project Member ID: %1$s + Adatfeltöltés csak WiFi kapcsolat esetén + Adatfeltöltés csak töltés alatt + Adatfeltöltés Open Humans rendszerbe… + Open Humans értesítések + Kijelentkezett az Open Humans rendszerből + Kattintson ide az újbóli bejelentkezéshez, ha ez nem volt szándékos. + Feltöltés most + diff --git a/plugins/openhumans/src/main/res/values-it-rIT/strings.xml b/plugins/openhumans/src/main/res/values-it-rIT/strings.xml index 3be8ca8245..799889c8dd 100644 --- a/plugins/openhumans/src/main/res/values-it-rIT/strings.xml +++ b/plugins/openhumans/src/main/res/values-it-rIT/strings.xml @@ -15,7 +15,6 @@ AAPS sta caricando i dati su Open Humans. Potrebbe volerci un po\' di tempo. Sei stato disconnesso da Open Humans Fare click qui per accedere di nuovo. - Carica adesso Avanti Benvenuto in Open Humans Per configurare il caricamento dei dati, fai click su \'Avanti\'. @@ -54,4 +53,5 @@ Abbiamo fatto! D\'ora in poi, il tuo telefono caricherà i dati in background di tanto in tanto. Chiudi + Carica adesso diff --git a/plugins/openhumans/src/main/res/values-iw-rIL/strings.xml b/plugins/openhumans/src/main/res/values-iw-rIL/strings.xml index fb019a5df2..f88dba3f0a 100644 --- a/plugins/openhumans/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/openhumans/src/main/res/values-iw-rIL/strings.xml @@ -14,7 +14,6 @@ התראות Open Humans התנתקתם מ-Open Humans לחצו כאן כדי להתחבר מחדש אם זה לא היה בכוונה. - העלה עכשיו הבא ברוכים הבאים ל-Open Humans כדי להגדיר העלאת נתונים, לחצו על \'הבא\'. @@ -53,4 +52,5 @@ סיימנו! מעתה ואילך, הטלפון שלכם יעלה מדי פעם נתונים ברקע. סגור + העלה עכשיו diff --git a/plugins/openhumans/src/main/res/values-ko-rKR/strings.xml b/plugins/openhumans/src/main/res/values-ko-rKR/strings.xml index e4a3cea742..2cfbf09336 100644 --- a/plugins/openhumans/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/openhumans/src/main/res/values-ko-rKR/strings.xml @@ -14,8 +14,8 @@ Open Humans 알림 Open Humans에 접속 종료되었습니다. 의도한 것이 아닌 경우 \"여기\"를 클릭하여 다시 접속하십시오. - 지금 업로드하기 이용 약관 취소 닫기 + 지금 업로드하기 diff --git a/plugins/openhumans/src/main/res/values-lt-rLT/strings.xml b/plugins/openhumans/src/main/res/values-lt-rLT/strings.xml index 6e0be3e028..d86bbaf369 100644 --- a/plugins/openhumans/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/openhumans/src/main/res/values-lt-rLT/strings.xml @@ -14,8 +14,8 @@ Open Humans Pranešimai Jūs buvote atjungtas iš Open Humans Spustelėkite čia, kad prisijungtumėte dar kartą, jei tai atsitiko netyčia. - Įkelti dabar Naudojimosi sąlygos Atšaukti Uždaryti + Įkelti dabar diff --git a/plugins/openhumans/src/main/res/values-nl-rNL/strings.xml b/plugins/openhumans/src/main/res/values-nl-rNL/strings.xml index 9a35bba7e0..41bca11f74 100644 --- a/plugins/openhumans/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/openhumans/src/main/res/values-nl-rNL/strings.xml @@ -15,7 +15,6 @@ AndroidAPS is aan het uploaden naar Open Humans. Dit kan even duren. Je bent uitgelogd van Open Humans Klik hier om opnieuw in te loggen als dit niet opzettelijk was. - Nu Uploaden Volgende Welkom bij Open Humans Klik op \'Volgende\' om gegevens te uploaden. @@ -54,4 +53,5 @@ We zijn klaar! Voortaan zal je telefoon zo nu en dan op de achtergrond gegevens uploaden. Sluiten + Nu Uploaden diff --git a/plugins/openhumans/src/main/res/values-no-rNO/strings.xml b/plugins/openhumans/src/main/res/values-no-rNO/strings.xml index 26d42bcaa7..ae2801db85 100644 --- a/plugins/openhumans/src/main/res/values-no-rNO/strings.xml +++ b/plugins/openhumans/src/main/res/values-no-rNO/strings.xml @@ -15,7 +15,6 @@ AndroidAPS laster opp til Open Humans. Dette kan ta en stund. Du har blitt logget ut fra Open Humans Klikk her for å logge inn igjen hvis dette ikke var hensikten. - Last opp nå Neste Velkommen til Open Humans For å aktivere opplast av data, trykk på \'Neste\'. @@ -54,4 +53,5 @@ Vi er ferdig! Fra nå av vil telefonen din med jevne mellomrom i bakgrunnen overføre en kopi av dine nye brukerdata. Lukk + Last opp nå diff --git a/plugins/openhumans/src/main/res/values-pl-rPL/strings.xml b/plugins/openhumans/src/main/res/values-pl-rPL/strings.xml index 8903c083f9..2d718ec83b 100644 --- a/plugins/openhumans/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/openhumans/src/main/res/values-pl-rPL/strings.xml @@ -14,8 +14,33 @@ Powiadomienia Open Humans Zostałeś wylogowany z Open Humans Kliknij tutaj, aby zalogować się ponownie, jeśli wylogowanie nie było celowe. - Prześlij teraz + Dalej + Witaj w Open Humans + Aby ustawić wysyłanie danych klinkij \'Next \' Warunki użytkowania + Proszę uważnie przeczytać poniższe informacje i zaakceptować warunki aby kontynuować. + Dane wysłane + Wartości glukozy + Bolus przedłużony + Zdarzenia Careportalu (poza notatkami) + Zmiany Profilu + Całkowita dzienna dawka + Tymczasowa dawka bazowa + Cel tymczasowy (TT) + Wersja aplikacji + Dane NIE przesłane + Hasła + Twoje API secret Nightscout + Wolne pola tekstowe + Zaloguj się do Open Humans + Wykończenie + Jesteś tylko o jeden krok od przesłania swoich danych do Open Humans. Czy chcesz kontynuować? Anuluj + Kontynuuj + Kończenie... + To może potrwać kilka sekund. + Gotowe! + Od teraz Twój telefon będzie od czasu do czasu przesyłać dane w tle. Zamknij + Prześlij teraz diff --git a/plugins/openhumans/src/main/res/values-pt-rBR/strings.xml b/plugins/openhumans/src/main/res/values-pt-rBR/strings.xml index 604c5d915b..27485c8719 100644 --- a/plugins/openhumans/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/openhumans/src/main/res/values-pt-rBR/strings.xml @@ -1,5 +1,51 @@ + Open Humans + OH + Open Humans permite que você envie os dados do seu tratamento para doação a projetos científicos. + Sair da sua conta + Configuração + Open Humans foi configurado. Caso queira interromper o envio de seus dados, clique em \'Sair da sua conta\' + Open Humans está inativo. Para iniciar o envio de seus dados, clique em \'Configuração\' + ID de Membro do Projeto: %1$s + Enviar apenas se conectado ao WiFi + Enviar apenas se estiver carregando + Enviando para Open Humans… + Notificações Open Humans + AAPS está fazendo upload para Open Humans. Isto pode levar um tempo. + Você foi desconectado do Open Humans + Clique aqui para reconectar se isto não foi proposital. + Bem vindos ao Open Humans + Para configurar os dados de upload, clique em \'Próximo\'. + Consentimento + Termos de Uso + Por favor, leia atentamente as seguintes informações e aceite os termos de uso para prosseguir. + Esta é uma ferramenta de código aberto que copiará seus dados para o Open Humans. Não retemos nenhum direito de compartilhar seus dados com terceiros sem sua autorização explícita. Os dados que o projeto e o aplicativo recebem são identificados por meio de um ID de usuário aleatório e só serão transmitidos de forma segura a uma conta Open Humans com a sua autorização desse processo. Você pode parar de carregar e excluir seus dados de upload a qualquer momento em www.openhumans.org. + Upload de dados concluído + Valor da glicose + Bolus extendido + Eventos do Careportal (exceto notas) + Troca de Perfil + Total de doses diárias + Taxa Basal Temporária + Alvos temporários + Versão do aplicativo + Dimensões de tela + Dados de depuração do algoritmo + Dados NÃO enviados + Senhas + Senha API do Nightscout + Campos de Texto Livre + Eu compreendo e concordo. + Login no Open Humans + Toques finais + Você está apenas a um passo de enviar seus dados para o Open Humans. Deseja continuar? Cancelar + Prosseguir + Concluindo... + Isto pode levar alguns segundos. + Estamos prontos! + De agora em diante, o telefone fará o upload silencioso de dados em segundo plano de vez em quando. Fechar + Enviar agora diff --git a/plugins/openhumans/src/main/res/values-pt-rPT/strings.xml b/plugins/openhumans/src/main/res/values-pt-rPT/strings.xml index af92c70daf..4745c68a68 100644 --- a/plugins/openhumans/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/openhumans/src/main/res/values-pt-rPT/strings.xml @@ -14,8 +14,8 @@ Notificações Open Humans Sessão do Open Humans foi encerrada Clique aqui para entrar novamente, se não foi de propósito. - Fazer o upload agora Termos de Utilização Cancelar Fechar + Fazer o upload agora diff --git a/plugins/openhumans/src/main/res/values-ro-rRO/strings.xml b/plugins/openhumans/src/main/res/values-ro-rRO/strings.xml index fda0398e6d..9572c5af0f 100644 --- a/plugins/openhumans/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/openhumans/src/main/res/values-ro-rRO/strings.xml @@ -14,8 +14,8 @@ Notificări Open Humans Ai fost deconectat de la Open Humans Dați click aici pentru a vă conecta din nou, dacă a fost din greșeală. - Încarcă acum Condiții de utilizare Renunță Închide + Încarcă acum diff --git a/plugins/openhumans/src/main/res/values-ru-rRU/strings.xml b/plugins/openhumans/src/main/res/values-ru-rRU/strings.xml index 8c51e1acf3..119e1c47e2 100644 --- a/plugins/openhumans/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/openhumans/src/main/res/values-ru-rRU/strings.xml @@ -15,7 +15,6 @@ AAPS передает данные в Open Humans. Это может занять некоторое время. Вы вышли из Open Humans Нажмите здесь, чтобы снова войти в систему, если выход произошел случайно. - Начать передачу данных Далее Добро пожаловать в Open Humans Для настройки загрузки данных нажмите \'Далее\'. @@ -54,4 +53,5 @@ Готово! С этого момента ваш телефон будет иногда загружать данные в фоновом режиме. Закрыть + Начать передачу данных diff --git a/plugins/openhumans/src/main/res/values-sk-rSK/strings.xml b/plugins/openhumans/src/main/res/values-sk-rSK/strings.xml index 5670f7f52f..eefe3c1a9c 100644 --- a/plugins/openhumans/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/openhumans/src/main/res/values-sk-rSK/strings.xml @@ -15,7 +15,6 @@ AAPS nahráva do Open Humans. Može to chvíľu trvať. Boli ste odhlásený z Open Humans Kliknite sem, ak sa chcete prihlásiť znova, v prípade, že sa to stalo nedopatrením. - Nahrať teraz Ďalšia Vitajte v Open Humans Pre nastavenie nahrávania dát, kliknite \"Ďalšia\". @@ -54,4 +53,5 @@ Skončili sme! Od tejto chvíle bude telefón čas od času potichu nahrávať dáta na pozadí. Zavrieť + Nahrať teraz diff --git a/plugins/openhumans/src/main/res/values-sv-rSE/strings.xml b/plugins/openhumans/src/main/res/values-sv-rSE/strings.xml index c900ec0744..f4a755194a 100644 --- a/plugins/openhumans/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/openhumans/src/main/res/values-sv-rSE/strings.xml @@ -14,8 +14,8 @@ Aviseringar från Open Humans Du har loggats ut från Open Humans Klicka här om du vill logga in igen. - Ladda upp nu Användarvillkor Avbryt Stäng + Ladda upp nu diff --git a/plugins/openhumans/src/main/res/values-tr-rTR/strings.xml b/plugins/openhumans/src/main/res/values-tr-rTR/strings.xml index 84eba7359d..89075bc76a 100644 --- a/plugins/openhumans/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/openhumans/src/main/res/values-tr-rTR/strings.xml @@ -15,7 +15,6 @@ AAPS, Open Humans\'a yükleniyor. Bu biraz zaman alabilir. Open Humans\'dan çıkış yaptınız Bu bilerek yapılmadıysa tekrar oturum açmak için burayı tıklayın. - Şimdi yükle İleri Open Humans\'a hoş geldiniz Veri yüklemeyi ayarlamak için \'İleri\'yi tıklayın. @@ -54,4 +53,5 @@ Bitirdik! Artık telefonunuz zaman zaman arka planda sessizce veri yükleyecektir. Kapat + Şimdi yükle diff --git a/plugins/openhumans/src/main/res/values-zh-rCN/strings.xml b/plugins/openhumans/src/main/res/values-zh-rCN/strings.xml index f0a3873155..b1147a67c9 100644 --- a/plugins/openhumans/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/openhumans/src/main/res/values-zh-rCN/strings.xml @@ -14,18 +14,19 @@ 开源人类项目通知 你已经从开源人类项目中退出 如果不是故意的,请单击此处再次登录。 - 现在上传 下一个 欢迎使用 Open Humans 要设置数据上传,请单击“下一步” 同意 使用条款 请仔细阅读以下信息并接受使用条款以继续 + 这是一个开源工具,可以将您的数据复制到 Open Humans。未经您的明确授权,我们不保留与第三方共享您的数据的权利。项目和应用程序接收到的数据是通过随机用户 ID 识别的,并且只有在您对该过程的授权后才会安全地传输到 Open Humans 账户。您可以随时通过 www.openhumans.org 停止上传和删除您的上传数据。 上传数据 血糖值 大剂量 扩展大剂量(方波) 碳水化合物 + Careportal事件(除笔记外) 切换配置文件 每日总剂量 临时基础率 @@ -42,9 +43,14 @@ 空闲文本字段 我理解并同意 登陆到Open Humans + 最后的润色 + 您离上传您的数据到Open Humans只剩最后一步,您想要继续吗? 取消 继续 正在完成... + 这可能需要几秒钟 成功完成! + 从现在起,您的手机将不时在后台自动上传数据 关闭 + 现在上传 diff --git a/pump/combo/src/main/res/values-es-rES/strings.xml b/pump/combo/src/main/res/values-es-rES/strings.xml index 78f9bdb747..13de6fc1e9 100644 --- a/pump/combo/src/main/res/values-es-rES/strings.xml +++ b/pump/combo/src/main/res/values-es-rES/strings.xml @@ -1,6 +1,13 @@ + Integración de bombas de insulina Accu-Check Combo. Necesita tener Ruffy instalado + Programando bomba para emitir bolo + Estado + Actividad + Ninguna conexión por %1$d min %1$d U/h (%2$d min restantes) + Inicializando + Suspendido debido a un error Suspendido por el usuario Funcionando Cancelando TBR diff --git a/pump/eopatch/src/main/res/values-af-rZA/strings.xml b/pump/eopatch/src/main/res/values-af-rZA/strings.xml index 3ea04e700d..0f5b4b3455 100644 --- a/pump/eopatch/src/main/res/values-af-rZA/strings.xml +++ b/pump/eopatch/src/main/res/values-af-rZA/strings.xml @@ -1,2 +1,5 @@ - + + Kanselleer + Bevestig + diff --git a/pump/eopatch/src/main/res/values-bg-rBG/strings.xml b/pump/eopatch/src/main/res/values-bg-rBG/strings.xml index 3ea04e700d..d2db3c1d87 100644 --- a/pump/eopatch/src/main/res/values-bg-rBG/strings.xml +++ b/pump/eopatch/src/main/res/values-bg-rBG/strings.xml @@ -1,2 +1,7 @@ - + + Болус от %1$.2fЕ доставен успешно + Откажи + Потвърди + Следващ + diff --git a/pump/eopatch/src/main/res/values-ca-rES/strings.xml b/pump/eopatch/src/main/res/values-ca-rES/strings.xml index 3ea04e700d..64c8463388 100644 --- a/pump/eopatch/src/main/res/values-ca-rES/strings.xml +++ b/pump/eopatch/src/main/res/values-ca-rES/strings.xml @@ -1,2 +1,6 @@ - + + Bolus %1$.2f U lliurat correctament + Cancel·lar + Confirmar + diff --git a/pump/eopatch/src/main/res/values-cs-rCZ/strings.xml b/pump/eopatch/src/main/res/values-cs-rCZ/strings.xml index 3ea04e700d..c427401839 100644 --- a/pump/eopatch/src/main/res/values-cs-rCZ/strings.xml +++ b/pump/eopatch/src/main/res/values-cs-rCZ/strings.xml @@ -1,2 +1,11 @@ - + + Připomenutí expirace pumpy + 30 min + 1 h + 1 h 30 min + 2 h + Zrušit + Potvrdit + Další + diff --git a/pump/eopatch/src/main/res/values-da-rDK/strings.xml b/pump/eopatch/src/main/res/values-da-rDK/strings.xml index 3ea04e700d..11887057a6 100644 --- a/pump/eopatch/src/main/res/values-da-rDK/strings.xml +++ b/pump/eopatch/src/main/res/values-da-rDK/strings.xml @@ -1,2 +1,7 @@ - + + Bolus %1$.2fE leveret uden fejl + Annuller + Bekræft + Næste + diff --git a/pump/eopatch/src/main/res/values-de-rDE/strings.xml b/pump/eopatch/src/main/res/values-de-rDE/strings.xml index 3ea04e700d..7a6aeed3fd 100644 --- a/pump/eopatch/src/main/res/values-de-rDE/strings.xml +++ b/pump/eopatch/src/main/res/values-de-rDE/strings.xml @@ -1,2 +1,7 @@ - + + Bolus %1$.2f IE erfolgreich abgegeben + Abbrechen + Bestätigen + Weiter + diff --git a/pump/eopatch/src/main/res/values-el-rGR/strings.xml b/pump/eopatch/src/main/res/values-el-rGR/strings.xml index 3ea04e700d..113e7a2587 100644 --- a/pump/eopatch/src/main/res/values-el-rGR/strings.xml +++ b/pump/eopatch/src/main/res/values-el-rGR/strings.xml @@ -1,2 +1,5 @@ - + + Ακύρωση + Επιβεβαίωση + diff --git a/pump/eopatch/src/main/res/values-es-rES/strings.xml b/pump/eopatch/src/main/res/values-es-rES/strings.xml index 3ea04e700d..4d7845205b 100644 --- a/pump/eopatch/src/main/res/values-es-rES/strings.xml +++ b/pump/eopatch/src/main/res/values-es-rES/strings.xml @@ -1,2 +1,134 @@ - + + EOPatch2 + EOP2 + Integración de la bomba para usar EOPatch2 /GlucoMen Day + Alertas + Alertas de reservorio bajo + Recordatorio de expiración del parche + Recordatorios de zumbidos del parche + h:mm a + Bolo de %1$.2f U enviado correctamente + Estado del Pod + Número de Serie + Número de Lote + Fecha y hora para despertar & + Fecha y Hora de expiración + Estado + Tasa basal predeterminada + Tasa basal temporal + Total Suministrado + El perfil basal es inferior a 0.05 U/h EOPatch tiene una unidad de inyección mínima de 0.05 U. Por favor, inténtelo de nuevo después de ajustar el perfil usando la unidad miníma de inyección. + No se ha seleccionado ningún perfil. Por favor, seleccione un perfil e inténtelo de nuevo. + día + + + - + 30 minutos + 1 hora + 1 hr 30 min + 2 horas + \u0020 + Para cambiar al nuevo parche, el parche actual debe ser descartado. Todo suministro de insulina por parte del parche será cancelado. + El parche se ha desactivado por completo. + El parche ha sido desactivado.\nDescarte el parche.\nElimine el parche pegado a tu cuerpo. + Un bolo ha sido suministrado. ¿Realmente quieres cancelar el suministro de insulina y remover el parche? + Un basal temporal ha sido suministrado en este momento. ¿Realmente desea cancelar el suministro insulina y remover el parche? + Un basal temporal y un bolo has sido suministrados en este momento. ¿Realmente desea cancelar el suministro insulina y remover el parche? + ¿Seguro que quiere remover el parche? + Insulina restante + Tiempo restante + Finalizar + Remover + Remueva el parche debido a un error de comunicación + Para la desactivación normal, pulse \'Reintentar\'.\nPara desactivar unilateralmente, pulse \'Remover\'. + Para la desactivación normal, pulse \'Reintentar\'. + Para desactivar unilateralmente, pulse \"Remover\". + Apagar manualmente la alarma del parche + Si se desactiva de forma permanente durante un error de comunicación, el pitido de alarma puede que no se pueda detener desde el parche. + En este caso, puede detenerlo completamente pulsando el botón de Alarma manual que libera el puerto del parche como se muestra a continuación: + 1. Retire el parche de su cuerpo y despegue la cinta adhesiva. + 2. Use un clip, para presionar fuertemente el agujero al lado de a la entrada de insulina. + Rellanando Insulina + 1/6 + 1. + Rellene un nuevo parche con insulina. Compruebe el ángulo de jeringa. + 2. + Comprobar 1 pitido. + Iniciar el emparejamiento + Emparejamiento del parche + 2/6 + El nuevo parche está siendo emparejado.\nMantenga la distancia entre el parche y el dispositivo inteligente lo más cerca posible + Prepárate para colocar el parche + 3/6 + Retire la cinta adhesiva y luego pulse \'Siguiente\'. + [Caution1] Si la aguja es visible, pulse \'Descartar\'. + [Caution2] Si el parche está húmedo, sucio, o su cinta adhesiva está doblada, pulse \'Descartar\'. + Coloque el parche en su cuerpo + 4/6 + Limpie y seque el sitio de la aplicación, luego de colocar el parche en la piel. + Revise el sitio de infusión y luego pulse \"Comenzar verificación de seguridad\". + Empezar la revisión de seguridad + Comprobaciones de seguridad… + 5/6 + Toma aproximadamente 30 segundos. + [Caution] Para un uso seguro, no retire la palanca que ejecuta la aguja hasta que se complete la verificación de seguridad! + Inserte la aguja + 6/6 + Gire la palanca de acción de la aguja más de 100 grados para insertar la aguja y luego gire la palanca completamente para removerla + Compruebe si suena 1 pitido y luego pulse \'Siguiente\'. + Compruebe si suena 1 pitido y luego pulse \'Reintentar\'. + ¡Activación del parche completada! + El programa \'%1$s\' ha sido habilitado. + Te alerta cuando el Parche se acerca a su tiempo de expiración.\nCambia el tiempo de recordatorio si es necesario. + Recordatorio de expiración del parche + Recordatorio de activación del parche + La activación del parche no se ha completado.\n Continuar. + Revisión de la comunicación del parche + Comprobando comunicación con el parche… + Acerca tu dispositivo inteligente al parche. + Por favor, muévete a otra ubicación e inténtalo de nuevo. + Error de comunicación + Comunicación exitosa + Conectado con el parche. + Emparejamiento cancelado + días +  U + Después de la suspensión, se cancelará la entrega actual de Bolo & del Basal temporal. \n\nTasa : %1$s U/hr \nTiempo restante: %2$s\n& Insulina para terminar: %3$.2f U + Tras la suspensión, el bolo en proceso será cancelado. \n\nInsulina para completar: %1$.2f U + Tras la suspensión, el Basal temporal será cancelado. \n\nTasa : %1$s U/hr\nTiempo restante: %2$s + El suministro de Insulina será detenido. + Remover/Cambiar parche + Activar Parche + Remover parche + Continuar + Remover + Revisión de comunicación + Suspender + Suspendido + En ejecución + Cancelar + Confirmar + Alarma + Conectando + Cambiando + Procesando + Reintentar + [Caution] NO retire el protector de la aguja y el soporte de adhesivo hasta que sea indicado. + ¿Seguro que quiere remover el parche? + Debido a una información no confirmada del bolo, El calculo no se puede utilizar hasta %s.\n\n¿Está seguro de que desea remover el parche actual? + Error de inserción de la aguja. + Compruebe la dirección del agujero a la izquierda girando la palanca a una posición vertical y luego pulse \"Reintentar\". + Pulse \'Remover\' para desactivar el parche. + Tiempo de suspensión de la Insulina Basal + Continuación de la administración de Insulina + Renaudación de la insulina.\nPulse \'Confirmar\' para reanudar la entrega de insulina.\n\n[Caution]\nEl suministro de insulina no se reanudará hasta que pulse \'Confirmar\'.\nSi no presiona \'Confirmar\', puedes desarrollar hiperglucemia. + Se han suspendido todas las entregas de insulina. + Se ha renaudado el suministro de Insulina. + Terminar + tiempo restante: %1$s:%2$s + Siguiente + Reintentar después de la verificación de comunicación con el parche. + Suspención fallida. + Reanudación fallida. + EEE, d MMM, aaaa hh:mm a + diff --git a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml index 69d5792844..998800b76d 100644 --- a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml +++ b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml @@ -80,8 +80,11 @@ Activation du Patch terminée ! Le programme \'%1$s\' a été activé. Avertir lorsque le Patch approche de son heure d\'expiration.\nChangez l\'heure de rappel si nécessaire. + Annuler + Confirmer Connection en cours Changement en cours Traitement en cours Réessayer + Suivant diff --git a/pump/eopatch/src/main/res/values-ga-rIE/strings.xml b/pump/eopatch/src/main/res/values-ga-rIE/strings.xml index 3ea04e700d..d25983e214 100644 --- a/pump/eopatch/src/main/res/values-ga-rIE/strings.xml +++ b/pump/eopatch/src/main/res/values-ga-rIE/strings.xml @@ -1,2 +1,4 @@ - + + Cuir ar ceal + diff --git a/pump/eopatch/src/main/res/values-hr-rHR/strings.xml b/pump/eopatch/src/main/res/values-hr-rHR/strings.xml index 3ea04e700d..e1267008db 100644 --- a/pump/eopatch/src/main/res/values-hr-rHR/strings.xml +++ b/pump/eopatch/src/main/res/values-hr-rHR/strings.xml @@ -1,2 +1,5 @@ - + + Otkaži + Sljedeći + diff --git a/pump/eopatch/src/main/res/values-it-rIT/strings.xml b/pump/eopatch/src/main/res/values-it-rIT/strings.xml index 3ea04e700d..b43a00e335 100644 --- a/pump/eopatch/src/main/res/values-it-rIT/strings.xml +++ b/pump/eopatch/src/main/res/values-it-rIT/strings.xml @@ -1,2 +1,7 @@ - + + Bolo di %1$.2f U erogato con successo + Annulla + Conferma + Avanti + diff --git a/pump/eopatch/src/main/res/values-iw-rIL/strings.xml b/pump/eopatch/src/main/res/values-iw-rIL/strings.xml index 3ea04e700d..55f3d1e749 100644 --- a/pump/eopatch/src/main/res/values-iw-rIL/strings.xml +++ b/pump/eopatch/src/main/res/values-iw-rIL/strings.xml @@ -1,2 +1,4 @@ - + + בולוס %1$.2f יח\' ניתן בהצלחה + diff --git a/pump/eopatch/src/main/res/values-ko-rKR/strings.xml b/pump/eopatch/src/main/res/values-ko-rKR/strings.xml index 3ea04e700d..07500b7d45 100644 --- a/pump/eopatch/src/main/res/values-ko-rKR/strings.xml +++ b/pump/eopatch/src/main/res/values-ko-rKR/strings.xml @@ -1,2 +1,6 @@ - + + Bolus %1$.2f U이 성공적으로 주입되었습니다. + 취소 + 확인 + diff --git a/pump/eopatch/src/main/res/values-lt-rLT/strings.xml b/pump/eopatch/src/main/res/values-lt-rLT/strings.xml index 3ea04e700d..d661e8ca17 100644 --- a/pump/eopatch/src/main/res/values-lt-rLT/strings.xml +++ b/pump/eopatch/src/main/res/values-lt-rLT/strings.xml @@ -1,2 +1,6 @@ - + + %1$.2f vv bolusas sėkmingai suleistas + Atšaukti + Patvirtinti + diff --git a/pump/eopatch/src/main/res/values-no-rNO/strings.xml b/pump/eopatch/src/main/res/values-no-rNO/strings.xml index 3ea04e700d..3fa13cd6ef 100644 --- a/pump/eopatch/src/main/res/values-no-rNO/strings.xml +++ b/pump/eopatch/src/main/res/values-no-rNO/strings.xml @@ -1,2 +1,134 @@ - + + EOPatch2 + EOP2 + Pumpe-integrasjon for EOPatch2 / GlucoMen Day + Varsler + Lavt reservoar varsler + Patch utløpspåminnelse + Patch Buzzer påminnelser + h:mm a + Bolus %1$.2f E er levert + BLE Status + Serienummer + Lot nummer + Oppvåkningsdato & tid + Utløpstid + Status + Profilens basaldose + Midlertidig basaldose + Totalt levert + Basisprofilen er mindre enn 0,05 E/t. EOPatch har en minimum injeksjonsenhet på 0,05E. Prøv igjen etter å ha satt profilen til mer enn den minste injeksjonsenheten. + Ingen profil valgt. Velg en profil og prøv igjen. + dag + + + - + 30 min + 1 t + 1 time 30 min + 2 t + \u0020 + For å bytte til nytt depotplaster må det forkastes. All insulintilførsel fra depotplaster vil bli kansellert. + Depotplasteret er forkastet. + Depotplasteret er deaktivert.\nForkast depotplasteret.\nFjern depotplasteret fra kroppen din. + En bolus har levert akkurat nå. Ønsker du virkelig å avbryte insulintilførselen og kaste plasteret? + En midlertidig basal er levert akkurat nå. Ønsker du virkelig å avbryte insulintilførselen og kaste plasteret? + En bolus- og midlertidig basal blir levert akkurat nå. Ønsker du virkelig å avbryte insulintilførselen og kaste plasteret? + Er du sikker på at du vil forkaste plasteret? + Insulin igjen + Gjenværende tid + Fullfør + Forkast + Forkast Patch Kommunikasjonsfeil under kassering + For normal deaktivering, trykk på «Prøv igjen».\nFor aktivering av unilateral betjening, trykk «Discard». + For normal deaktivering, trykk på «Prøv igjen». + For unilateral deaktivering, trykk \"Discard\". + Slå av Patch\'s Alarm manuelt + Hvis deaktivert unilateralt under en kommunikasjonsfeil, kan det hende at alarmen ikke stopper fra Patch. + I dette tilfellet kan du stoppe den helt ved å trekke den manuelle alarmen ut på Patch som følger: + 1. Fjern plasteret fra kroppen din og fjern den klebende teipen. + 2. Bruk en binders, sett den i hullet ved siden av insulinporten. + Fyller insulin + 1/6 + 1. + Fyll et nytt plaster med insulin i romtemperatur. Sjekk sprøytevinkelen. + 2. + Sjekk etter 1 pip. + Start paringen + Patch sammenkobling + 2/6 + Det nye plasteret parres.\nPlasteret og den smarte enheten må være så nær hverandre som mulig + Forbered på å plassere plasteret + 3/6 + Fjern plasteret og trykk \'Neste\'. + [Caution1] Dersom en nål stikker ut, trykk på \'Forkast\'. + [Caution2] Hvis plasteret er vått, skittent eller plasteret er brettet, trykk \'Forkast\'. + Fester plasteret + 4/6 + Desinfiser påføringsstedet og la det tørke før du fester plasteret til huden. + Kontroller infusjonsstedet og trykk deretter på \"Start sikkerhetssjekk\". + Start sikkerhetssjekk + Sikkerhetssjekk… + 5/6 + Det tar omtrent 30 sekunder. + [Caution] For sikker bruk, ikke fjern kanylens utløsermekanisme før sikkerhetskontrollen er fullført! + Innføring av kanylen + 6/6 + Drei utløsermekanismen mer enn 100 ° for å stikke inn kanylen inn, og fortsett rotasjonen for å frigjøre utløsermekanismen + Sjekk at du får 1 lydsignal og trykk deretter på \'Neste\'. + Sjekk at du får 1 lydsignal og trykk deretter på \'Forsøk igjen\'. + Patch aktiveringen er fullført! + \'%1$s\' program har blitt aktivert. + Varsler deg når Patch nærmer seg utløpstiden.\nEndre varslingsperioden hvis nødvendig. + Patch utløpspåminnelse + Patch aktiveringspåminnelse + Patch aktiveringen er ikke fullført.\n Fortsett. + Patch kommunikasjonskontroll + Kontrollerer Patch kommunikasjon… + Flytt smartenheten din nærmere Patch. + Gå til en annen lokasjon og prøv på nytt. + Kommunikasjons feil + Kommunikasjon vellykket + Sammenkoblet med Patch. + Avbryt paringen + dager +  E + Når du pauser pumpen vil gjeldende bolus dosering & Temp basal bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s\n& Gjenværende insulin å levere: %3$.2f E + Når du pauser pumpen vil levering av bolus dose bli avbrutt. \n\nGjenværende insulin : %1$.2f E + Når du pauser pumpen vil gjeldende Temp basal dosering bli kansellert. \n\nDosering : %1$s E/time\nGjenstående tid : %2$s + Insulintilførsel er pauset. + Kast/bytt patch + Aktiver Patch + Forkast Patch + Gjenoppta + Forkast + Kommunikasjonskontroll + Pause + Pauset + Kjører + Avbryt + Bekreft + Alarm + Tilkobler + Endrer + Behandler + Prøv igjen + [Caution] IKKE fjern kanylehetten og det selvklebende lokket før du får beskjed. + Er du sikker på at du vil forkaste plasteret? + På grunn av en ubekreftet bolusinformasjon, kan ikke boluskalkulator brukes før %s.\n\nEr du sikker på at du vil forkaste gjeldende plaster? + Feil ved innsetting av kanyle. + Sjekk om hullet er rett når du dreier spaken, og trykk på «Prøv på nytt». + Trykk på \'Discard\' for å deaktivere plasteret. + Basal utsettelsestid + Gjenoppta insulintilførselen + Slutten av insulinpausen.\nTrykk på \"Bekreft\" for å gjenoppta insulintilførselen.\n\n[Caution]\nInsulintilførsel vil ikke gjenopptas før du trykker \"Bekreft\".\nHvis du ikke trykker på \"Bekreft\", kan du utvikle hyperglykemi. + Insulintilførsel er suspendert. + Insulintilførselen er gjenopptatt. + Fullfør + gjenstående tid: %1$s:%2$s + Neste + Prøv igjen etter Patch kommunikasjonskontroll. + Suspendering feilet. + Gjenopptakelse feilet. + EEE, d MMM, yyyy h:mm a + diff --git a/pump/eopatch/src/main/res/values-pl-rPL/strings.xml b/pump/eopatch/src/main/res/values-pl-rPL/strings.xml index 3ea04e700d..df753769a7 100644 --- a/pump/eopatch/src/main/res/values-pl-rPL/strings.xml +++ b/pump/eopatch/src/main/res/values-pl-rPL/strings.xml @@ -1,2 +1,7 @@ - + + Bolus %1$.2f U podany prawidłowo + Anuluj + Potwierdź + Dalej + diff --git a/pump/eopatch/src/main/res/values-pt-rBR/strings.xml b/pump/eopatch/src/main/res/values-pt-rBR/strings.xml index 3ea04e700d..cccc235289 100644 --- a/pump/eopatch/src/main/res/values-pt-rBR/strings.xml +++ b/pump/eopatch/src/main/res/values-pt-rBR/strings.xml @@ -1,2 +1,6 @@ - + + Bolus %1$.2f U aplicado com sucesso + Cancelar + Confirmar + diff --git a/pump/eopatch/src/main/res/values-pt-rPT/strings.xml b/pump/eopatch/src/main/res/values-pt-rPT/strings.xml index 3ea04e700d..1d98b206cd 100644 --- a/pump/eopatch/src/main/res/values-pt-rPT/strings.xml +++ b/pump/eopatch/src/main/res/values-pt-rPT/strings.xml @@ -1,2 +1,6 @@ - + + Bólus %1$.2f U administrado com sucesso + Cancelar + Confirmar + diff --git a/pump/eopatch/src/main/res/values-ro-rRO/strings.xml b/pump/eopatch/src/main/res/values-ro-rRO/strings.xml index 3ea04e700d..7cc0b5804b 100644 --- a/pump/eopatch/src/main/res/values-ro-rRO/strings.xml +++ b/pump/eopatch/src/main/res/values-ro-rRO/strings.xml @@ -1,2 +1,6 @@ - + + Bolusul de %1$.2fU a fost livrat cu succes + Renunță + Confirmă + diff --git a/pump/eopatch/src/main/res/values-ru-rRU/strings.xml b/pump/eopatch/src/main/res/values-ru-rRU/strings.xml index 3ea04e700d..cd4d867584 100644 --- a/pump/eopatch/src/main/res/values-ru-rRU/strings.xml +++ b/pump/eopatch/src/main/res/values-ru-rRU/strings.xml @@ -1,2 +1,119 @@ - + + EOPatch2 + EOP2 + Интеграция помпы для EOPatch2 / GlucoMen Day + Оповещения + Оповещения о низком уровне инсулина в резервуаре + Напоминание об истечении срока патча + Напоминания зуммера патча + ч:мм a + Болюс %1$.2f ед. подан успешно + Статус BLE + Серийный номер + Номер партии + Дата запуска & время + Окончание срока действия + Состояние + Базовая скорость базала + Временная базальная скорость + Всего доставлено + Базальная скорость профиля меньше 0,05 ед/ч. EOPatch имеет минимальный шаг подачи 0.05 ед/ч. Повторите еще раз после приведения профиля в соответствие с этим параметром. + Профиль не выбран. Выберите профиль и повторите попытку. + день + + + - + 30 мин. + 1 ч. + 1 час 30 мин + 2 часа + \u0020 + Для перехода на новый Patch, Завершите пользование Patch\'ем. Подача инсулина этим Patch\'ем будет отменена. + Пользование Patch\'ем завершено. + Patch был отключен.\nЗавершить пользование Patch\'ем\nУдалите Patch с тела. + Подается болюс. Отменить подачу инсулина и завершить пользование Patch\'ем? + Подается временный базал. Отменить подачу инсулина и завершить пользование Patch\'ем? + Подается болюс и временный базал. Отменить подачу инсулина и завершить пользование Patch\'ем? + Завершить пользование этим Patch\'ем? + Осталось инсулина + Оставшееся время + Завершить + Завершить пользование + Ошибка связи при завершении пользования разовой помпой Patch + Для нормальной деактивации нажмите \'Повтор\'.\n Для односторонней деактивации нажмите \'Завершить пользование\'. + Для нормальной деактивации нажмите «Повтор». + Для односторонней деактивации нажмите \'Завершить пользование\'. + Принудительное выключение оповещения Patch + Если при ошибке связи Patch отключается в одностороннем порядке, он может не остановить оповещения. + В этом случае его можно полностью остановить, проткнув порт ручной активации будильника Patch, как показано ниже: + 1. Снимите Patch с тела и удалите липкую ленту. + 2. Используя скрепку, сильно проткните отверстие рядом с портом заполнения инсулина. + Заполнение Инсулина + 1/6 + 1. + Заполните новый Patch инсулином при комнатной температуре. Проверьте наклон шприца. + 2. + Дождитесь одиночного сигнала. + Начните сопряжение + Идет сопряжение с Patch + 2/6 + Идет сопряжение с новым Patch\'ем. \n Держите расстояние между патчем и смарт-устройством как можно ближе + Подготовьтесь к установке Patch\'а + 3/6 + Удалите клеевую ленту и нажмите «Далее». + [Caution1] Если торчит игла, нажмите \'Завершить пользование Patch\'ем\'. + [Caution2] Если Patch влажный или грязный, или загнута его клейкая лента, нажмите \'Завершить пользование Patch\'ем\'. + Установка Patch + 4/6 + Очистите и просушите место применения, затем прикрепите Patch к коже. + Проверьте место ввода катетера и нажмите «Начать проверку безопасности». + Запустите проверку безопасности + Проверка безопасности… + 5/6 + Потребуется около 30 секунд. + [Caution] Не удаляйте рычаг действия Иглы до завершения проверки безопасности! + Введение иглы + 6/6 + Поверните рычаг действия Иглы более чем на 100 градусов, чтобы вставить иглу, а затем поворачивайте рычаг дальше для ее снятия + Дождитесь одиночного сигнала, затем нажмите \'Далее\'. + Дождитесь одиночного сигнала, затем нажмите \"Повторить\". + Активация Patch\'а завершена! + \'%1$s\' программа включена. + Уведомляет о завершении срока работы Patch\'а.\n Если необходимо, измените время напоминания. + Напоминания об истечении срока работы Patch\'а + Напоминание об активации Patch\'а + Активация патча не была завершена.\n Продолжить. + Проверка связи Patch\'а + Проверка связи с Patch\'ем… + Поднесите смарт-устройство ближе к Patch\'у. + Перейдите на другое место и повторите попытку. + Ошибка связи + Коммуникация завершена успешно + Подключено к Patch. + Отменить сопряжение + дней + После приостановки текущий болюс & Временный базал будет отменен. \n\nСкорость базала: %1$s ед/ч\nОсталось времени: %2$s\n& инсулина: %3$.2f U + После приостановки текущий болюс будет отменен. \n\n Осталось инсулина: %1$.2f U + После приостановки текущий Временный базал будет отменен.\n\n Скорость базала: %1$s ед/ч\n Осталось времени: %2$s + Введение инсулина будет приостановлено. + Завершить пользование Patch\'ем/Заменить Patch + Активировать Patch + Завершить пользование Patch\'ем + Возобновить + Завершить пользование + Отменить + Подтверждаю + Завершить пользование этим Patch\'ем? + Нажмите \'Завершить пользование Patch\'ем\', чтобы деактивировать Patch. + Возобновить подачу инсулина + Окончание приостановки подачи инсулина.\n Нажмите \'Подтвердить\', чтобы возобновить подачу.\n\n[Caution]\n Подача не возобновится, если не нажать \'Подтвердить\'.\n Если не нажать \'Подтвердить\', может развиться гипергликемия. + Введение инсулина приостановлено. + Подача инсулина возобновлена. + Завершить + оставшееся время: %1$s:%2$s + Далее + Повторите попытку после проверки связи с Патчем. + Сбой приостановки. + Возобновление не состоялось. + EEE, d MMM, гггг чч:мм a + diff --git a/pump/eopatch/src/main/res/values-sk-rSK/strings.xml b/pump/eopatch/src/main/res/values-sk-rSK/strings.xml index 3ea04e700d..5b38567544 100644 --- a/pump/eopatch/src/main/res/values-sk-rSK/strings.xml +++ b/pump/eopatch/src/main/res/values-sk-rSK/strings.xml @@ -1,2 +1,7 @@ - + + Bolus %1$.2f JI podaný úspešne + Zrušiť + Potvrdiť + Ďalšia + diff --git a/pump/eopatch/src/main/res/values-sv-rSE/strings.xml b/pump/eopatch/src/main/res/values-sv-rSE/strings.xml index 3ea04e700d..b561a57094 100644 --- a/pump/eopatch/src/main/res/values-sv-rSE/strings.xml +++ b/pump/eopatch/src/main/res/values-sv-rSE/strings.xml @@ -1,2 +1,6 @@ - + + Bolus %1$.2f enheter levererat + Avbryt + Bekräfta + diff --git a/pump/eopatch/src/main/res/values-tr-rTR/strings.xml b/pump/eopatch/src/main/res/values-tr-rTR/strings.xml index 3ea04e700d..40f0b0a16e 100644 --- a/pump/eopatch/src/main/res/values-tr-rTR/strings.xml +++ b/pump/eopatch/src/main/res/values-tr-rTR/strings.xml @@ -1,2 +1,61 @@ - + + Pompa Süre Sonu Hatırlatıcısı + Pompa sesli Hatırlatıcılar + h:mm a + %1$.2f Ü bolus başarıyla gönderildi + Uyanma tarih & zamanı + Profil seçilmedi. Lütfen bir profil seçin ve tekrar deneyin. + Yeni pompaya geçmek için mevcut pompa atılmalıdır. Pompadan gelen tüm insülin teslimatları iptal edilecektir. + Pompa çıkarıldı. + Pompa devre dışı bırakıldı.\nPompayı atın.\nVücudunuza bağlı pompayı çıkarın. + Şu anda bir bolus iletiliyor. İnsülin iletimini iptal etmek ve pompayı çıkarmak istiyor musunuz? + Şu anda geçici bir bazal teslim ediliyor. İnsülin iletimini iptal etmek ve pompayı çıkarmak istiyor musunuz? + Şu anda bolus ve geçici bazal veriliyor. İnsülin iletimini iptal etmek ve pompayı çıkarmak istiyor musunuz? + Pompayı çıkarmak istediğinize emin misiniz? + Pompa çıkarılırken iletişim hatası + Normal devre dışı bırakma için \'Yeniden Dene\'ye dokunun.\nTek taraflı devre dışı bırakma için \'Çıkar\'a dokunun. + Normal devre dışı bırakma için \'Yeniden Dene\'ye dokunun. + Tek taraflı devre dışı bırakma için \'Çıkar\'a dokunun. + Pompanın alarmını manuel olarak kapatma + Pompa bir iletişim hatası sırasında tek taraflı olarak devre dışı bırakılırsa, Alarm bip sesi durmayabilir. + Bu durumda Pompa üzerindeki manuel Alarm kapatma portunu aşağıdaki gibi iterek tamamen durdurabilirsiniz: + 1. Pompayı vücudunuzdan çıkarın ve yapışkan bandı soyun. + 2. Bir klips kullanarak insülin doldurma portunun yanındaki deliğe kuvvetlice sokun. + İnsülin Doldurma + Yeni bir Pompayı oda sıcaklığında insülin ile doldurun. Şırınga açısını kontrol edin. + Pompa eşleştirme + Yeni Pompa eşleştiriliyor.\nPompa ile cihaz arasındaki mesafeyi mümkün olduğunca yakın tutun + Pompayı takmak için hazırlayın + Yapışkan bandı çıkarın ve ardından \'İleri\'ye dokunun. + [Caution1] Eğer iğne dışarı çıkmışsa, \'Çıkar\'a dokunun. + [Caution2] Pompa ıslak veya kirliyse ya da yapışkan bandı katlanmışsa, \'Çıkar\'a dokunun. + Pompayı takın + İnfüzyon bölgesini temizleyin ve kurulayın, ardından Pompayı cilde yapıştırın. + İnfüzyon bölgesini kontrol edin ve ardından \'Güvenlik kontrolünü başlat\'a dokunun. + İğneyi yerleştirmek için İğne hareket kolunu 100°\'den fazla çevirin ve ardından çıkarmak için tamamen döndürün + 1 bip sesini kontrol edin ve ardından \'İleri\'ye dokunun. + 1 bip sesini kontrol edin ve ardından \'Yeniden Dene\'ye dokunun. + Pompa aktivasyonu tamamlandı! + \'%1$s\' program etkinleştirildi. + Pompa sona erme süresine yaklaştığında sizi uyarır.\nGerekirse Hatırlatma süresini değiştirin. + Pompa Süre Sonu Hatırlatıcısı + Pompa etkinleştirme Hatırlatıcısı + Pompa aktivasyonu tamamlanmadı.\n Devam edin. + Pompa iletişim kontrolü + Pompa iletişimi kontrol ediliyor… + Cihazınızı Pompaya yaklaştırın. + Pompaya bağlandı. + Askıya alındığında, şu anda iletilen Bolus & Geçici bazal iptal edilecek. \n\nOran : %1$s Ü/sa\nKalan süre : %2$s\n& Gidecek İnsülin: %3$.2f Ü + Askıya alındığında, mevcut Bolus iptal edilecektir. \n\nGidecek İnsülin: %1$.2f Ü + Askıya alındığında, şu anda iletilen Geçici Bazal iptal edilecek. \n\nOran : %1$s Ü/sa\nKalan süre : %2$s + İnsülin iletimi askıya alındı. + Pompayı Değiştirme/Çıkarma + Pompa Etkinleştirme + Pompa Çıkarma + Çıkar + Onaylanmamış bir bolus bilgisi nedeniyle, Bolus hesap mak. %s\'e kadar kullanılamaz.\n\nGeçerli Pompayı çıkarmak istediğinizden emin misiniz? + Kolu çevirdikten sonra kalan deliğin yönünün düz olup olmadığını kontrol edin ve ardından \'Yeniden Dene\'ye dokunun. + Pompayı devre dışı bırakmak için \'Çıkar\'a dokunun. + Pompa iletişim kontrolünden sonra yeniden deneyin. + diff --git a/pump/eopatch/src/main/res/values-zh-rCN/strings.xml b/pump/eopatch/src/main/res/values-zh-rCN/strings.xml index 3ea04e700d..2051ccbd2c 100644 --- a/pump/eopatch/src/main/res/values-zh-rCN/strings.xml +++ b/pump/eopatch/src/main/res/values-zh-rCN/strings.xml @@ -1,2 +1,7 @@ - + + 成功输注大剂量 %1$.2f U + 取消 + 确认 + 下一个 + diff --git a/pump/omnipod-common/src/main/res/values-no-rNO/strings.xml b/pump/omnipod-common/src/main/res/values-no-rNO/strings.xml index 3b7489d3c0..efd93b34f5 100644 --- a/pump/omnipod-common/src/main/res/values-no-rNO/strings.xml +++ b/pump/omnipod-common/src/main/res/values-no-rNO/strings.xml @@ -19,14 +19,14 @@ Kunne ikke lagre basalprofil: mottok en tom profil. Kontroller at du har aktivert profilen. Ingen basalprofil er aktiv. Sørg for å aktivere din basalprofil. Ukjent kommando: %1$s - Feilet i å oppdatere status + Kunne ikke oppdatere status Kunne ikke oppdatere status ved oppstart Kunne ikke bekrefte varsler Kunne ikke stoppe insulinleveranser Kunne ikke angi tid Kunne ikke gjenoppta leveransen - Feilet i å initialisere Pod - Feilet ved innsetting av kanyle + Kunne ikke initialisere Pod + Kunne ikke sette inn kanyle Pod\'ens aktiveringstid er overskredet. Denne Pod kan ikke lenger aktiveres. Klarte ikke å verifisere fremdrift i aktiveringen. Prøv på nytt. Pod er pauset @@ -43,7 +43,7 @@ Insulintilførselen er gjenopptatt. Angi tid - Pauset + Pause Gjenoppta levering Pod-administrasjon Demp varsler @@ -82,14 +82,14 @@ Klargjør infusjonsstedet. Fjern Pod\'ens kanylebeskyttelse og papirfolien, og fest Pod til infusjonsstedet.\n\nHvis du oppdager feil med kanylen, trykk Avbryt og forkast Pod.\n\nTrykk Neste for å sette inn kanyle og starte påfyllingsbolus. Når du trykker OK, vil kanylen settes inn. Pass på at du har festet Pod\'en på infusjonsstedet. Sett inn kanyle - Prøver å angi basalprogram og sette inn kanylen.\n\nNår kanylen er vellykket på plass kan du trykke på Neste. + Prøver å angi basalprogram og setter inn kanylen.\n\nNår kanylen er på plass kan du trykke på Neste. Pod aktivert Den nye Pod\'en er nå aktiv.\n\nDin basalprofil har blitt lagret og kanylen er inne.\n\nVennligst kontroller at kanylen ble satt riktig inn og skift Pod hvis du tror det har oppstått feil med innsettingen. Deaktiver Pod Trykk på Neste for å deaktivere Pod.\n\nMerk: Dette vil stanse all insulintilførsel og deaktivere Pod. Deaktiverer Pod - Deaktivering av Pod.\n\nNår deaktiveringen er vellykket utført, kan du trykke på Neste. + Deaktivering av Pod.\n\nNår deaktiveringen er utført, kan du trykke på Neste. Pod deaktivert Din Pod er deaktivert.\n\nVennligst fjern Pod\'en fra kroppen din og lever den inn for gjenvinning. Pod forkastet @@ -99,15 +99,15 @@ Bolus-lyd aktivert Basal-lyd aktivert - SMB lyd aktivert + SMB-lyd aktivert TBR-lyd aktivert - Vis Pause insulintilførsel knapp i Omnipod meny + Vis knapp for å Pause insulintilførsel i Omnipod-fanen DST/Tidssone-deteksjon aktivert Utløpspåminnelse aktivert Timer før nedstenging Varsel om lavt reservoar aktivert Antall enheter - Automatisk demp Pod-varsler + Demp Pod-varsler automatisk Annet Varsler Bekreftelseslyd @@ -117,7 +117,7 @@ Lydvarsel for ubekreftet bolus er aktivert Ingen aktiv Pod - Oppsett pågår (venter på Pod aktivering) + Oppsett pågår (venter på Pod-aktivering) Oppsett pågår (venter på innsetting av kanyle) Kjører Pauset @@ -129,11 +129,11 @@ Deaktiver Pod Forkast Pod Angi Bolus - Avbryt bolus + Avbryt Bolus Angi Midlertidig Basal Avbryt midlertidig basal (internt av driver) Avbryt midlertidig basal - Angi basal program + Angi basalprogram Hent Pod-status Hent Pod-info Angi tid diff --git a/pump/omnipod-common/src/main/res/values-ru-rRU/strings.xml b/pump/omnipod-common/src/main/res/values-ru-rRU/strings.xml index 9a3521b68c..84363e57d7 100644 --- a/pump/omnipod-common/src/main/res/values-ru-rRU/strings.xml +++ b/pump/omnipod-common/src/main/res/values-ru-rRU/strings.xml @@ -7,8 +7,8 @@ Инструментарий Активировать Pod Деактивировать Pod - Утилизировать Pod - Если нажать Утилизировать Pod, вы больше не сможете обмениваться командами с Pod. Сделайте это только в том случае, если связь с помпой постоянно отсутствует. Если связь с Pod еще возможна, воспользуйтесь опцией Деактивировать Pod.\n\n Если все же хотите продолжить, снимите помпу с тела! + Завершить пользование Pod\'ом + Если нажать Завершить пользование Pod\'ом, обмениваться командами с Pod будет невозможно. Делайте это только если связь с помпой постоянно отсутствует. Если связь с Pod еще возможна, воспользуйтесь опцией Деактивировать Pod.\n\n Если все же хотите продолжить, снимите Pod с тела! Воспроизвести тестовый звуковой сигнал Воспроизводится тестовый звуковой сигнал… Журнал Pod @@ -72,7 +72,7 @@ Далее Повторить Деактивировать Pod - Утилизировать Pod + Завершить пользование Pod\'ом Вы еще не выполнили все шаги. Действительно хотите выйти? Выход @@ -95,7 +95,7 @@ Pod сброшен Состояние Pod cброшено. Подача инсулина не была приостановлена, так как Pod не был правильно деактивирован!\n\nУдалите Pod с тела и утилизируйте его. Если сбросить Pod, дальнейшая коммуникация с ним невозможна. Делайте это только тогда, когда все попытки связи с Pod неудачны. Вы уверены, что хотите cбросить Pod? - Утилизировать Pod + Завершить пользование Pod\'ом Звуковой сигнал болюса включен Звуковой сигнал базала включен @@ -127,7 +127,7 @@ Ошибка Pod: %1$03d %2$s Деактивировать Pod - Утилизировать Pod + Завершить пользование Pod\'ом Настроить болюс Отменить болюс Установить временный базал diff --git a/pump/omnipod-common/src/main/res/values-tr-rTR/strings.xml b/pump/omnipod-common/src/main/res/values-tr-rTR/strings.xml index 8177a3c2ec..b0e9df6108 100644 --- a/pump/omnipod-common/src/main/res/values-tr-rTR/strings.xml +++ b/pump/omnipod-common/src/main/res/values-tr-rTR/strings.xml @@ -82,7 +82,7 @@ İnfüzyon bölgesini hazırlayın. Pod\'un iğne kapağını ve yapışkan desteğini çıkarın ve Pod\'u infüzyon bölgesine takın.\n\nKanül dışarı çıkarsa, lütfen İptal\'e basın ve Pod\'unuzu atın.\n\nKanülü yerleştirmek ve bazal iletimini başlatmak için İleri\'ye basın. Tamam\'a bastığınızda kanül yerleştirilecektir. Pod\'u infüzyon bölgenize taktığınızdan emin olun. Kanül Yerleştir - Başlangıç bazal programını ayarlanacak ve kanül yerleştirilecek\n\nKanül başarıyla yerleştirildiğinde, İleri\'ye basabilirsiniz. + Başlangıç bazal programı ayarlanacak ve kanül yerleştirilecek\n\nKanül başarıyla yerleştirildiğinde, İleri\'ye basabilirsiniz. Pod Etkinleştirildi Yeni Pod artık aktif.\n\nBazal planınız programlandı ve kanül yerleştirildi.\n\nLütfen kanülün doğru şekilde takıldığından emin olun. Düzgün takılmadığını düşünüyorsanız Pod\'unuzu değiştirin. @@ -100,7 +100,7 @@ Bolus bip seslerini etkinleştir Bazal bip seslerini etkinleştir SMB bip seslerini etkinleştir - GBO (TBR) bip seslerini etkinleştir + GBO bip seslerini etkinleştir Omnipod sekmesinde İletimi Askıya Al düğmesini göster DST/Saat dilimi algılamayı etkinleştir Süre sonu hatırlatıcısını etkinleştir @@ -112,7 +112,7 @@ Alarmlar Onay Bipleri Bildirimler - Belirsiz GBO(TBR) bildirimleri için sesi etkinleştir + Belirsiz GBO bildirimleri için sesi etkinleştir Belirsiz SMB bildirimleri için sesi etkinleştir Belirsiz bolus bildirimleri için sesi etkinleştir diff --git a/pump/omnipod-dash/src/main/res/values-no-rNO/strings.xml b/pump/omnipod-dash/src/main/res/values-no-rNO/strings.xml index d8cdfdb3c9..ae095b507f 100644 --- a/pump/omnipod-dash/src/main/res/values-no-rNO/strings.xml +++ b/pump/omnipod-dash/src/main/res/values-no-rNO/strings.xml @@ -19,11 +19,11 @@ Bluetooth tilkoblingskvalitet Leveringsstatus - Fyll en ny Pod med nok insulin for 3 dager.\n\nLytt etter to lydsignaler fra Pod under fyllingen. De indikerer at minimumsvolum på 80E er fylt opp. Vær nøye med å tømme fyllingssprøyten helt, selv etter at du har hørt de to lydsignalene.\n\nEtter fylling av Pod, vennligst trykk Neste.\n\nMerk: vent med å fjerne kanylebeskyttelsen til Pod. - Prøver å parre med den nye Pod og prime den.\n\nNår oppstartsprosessen er ferdig, kan du trykke Neste. + Fyll en ny Pod med nok insulin for 3 dager.\n\nLytt etter to lydsignaler fra Pod under fyllingen. De indikerer at minimumsvolum på 80E er fylt opp. Vær nøye med å tømme fyllingssprøyten helt, selv etter at du har hørt de to lydsignalene.\n\nEtter fylling av Pod, vennligst trykk Neste.\n\nMerk: vent med å fjerne kanylebeskyttelsen fra Pod. + Prøver å koble til den nye Pod\'en og prime den.\n\nNår oppstartsprosessen er ferdig, kan du trykke Neste. Lydvarsel aktivert hvis insulinlevering blir stanset - Klarte ikke å koble seg til pod + Klarte ikke å koble til pod Fant for mange podder for aktivering Fant ingen pod tilgjengelig for aktivering Generell feil: %1$s diff --git a/pump/omnipod-eros/src/main/res/values-tr-rTR/strings.xml b/pump/omnipod-eros/src/main/res/values-tr-rTR/strings.xml index 83ee834174..e7945ff72b 100644 --- a/pump/omnipod-eros/src/main/res/values-tr-rTR/strings.xml +++ b/pump/omnipod-eros/src/main/res/values-tr-rTR/strings.xml @@ -10,7 +10,7 @@ Pod Yönetimi menüsünde RileyLink İstatistikleri düğmesini göster Eylemler\'de pil değişikliği günlüğünü etkinleştir RileyLink - Belirsiz GBO bildirimleri için ses etkinleştirildi + Belirsiz GBO bildirimleri için sesi etkinleştir Belirsiz SMB bildirimleri için ses etkinleştirildi Belirsiz bolus bildirimleri için ses etkinleştirildi diff --git a/pump/pump-common/src/main/res/values-af-rZA/strings.xml b/pump/pump-common/src/main/res/values-af-rZA/strings.xml index b83741f98f..8664248042 100644 --- a/pump/pump-common/src/main/res/values-af-rZA/strings.xml +++ b/pump/pump-common/src/main/res/values-af-rZA/strings.xml @@ -6,14 +6,6 @@ OK Pomp Reeks Nommer - Nooit gekontak nie - Besig om te wek - Fout met kommunikasie - Te lank op kommunikasie gewag - Pomp onbereikbaar - Ongeldige konfigirasie - Aktief - Slaap Basale Konfigurasies diff --git a/pump/pump-common/src/main/res/values-bg-rBG/strings.xml b/pump/pump-common/src/main/res/values-bg-rBG/strings.xml index f36b9672ab..724118bf48 100644 --- a/pump/pump-common/src/main/res/values-bg-rBG/strings.xml +++ b/pump/pump-common/src/main/res/values-bg-rBG/strings.xml @@ -7,14 +7,6 @@ Сериен номер на помпа %1$.2fЕ / %2$.2fЕ доставени - Никога не сме се свързвали - Събуждане - Грешка в комуникацията - Изтече времето за връзка - Помпата е недостъпна - Грешна конфигурация - Активна - Спинка си Под не е инициализиран Прекратено diff --git a/pump/pump-common/src/main/res/values-ca-rES/strings.xml b/pump/pump-common/src/main/res/values-ca-rES/strings.xml index 2a0ebc70be..f57fdce7c2 100644 --- a/pump/pump-common/src/main/res/values-ca-rES/strings.xml +++ b/pump/pump-common/src/main/res/values-ca-rES/strings.xml @@ -7,14 +7,6 @@ Número de sèrie bomba %1$.2f U / %2$.2f U lliurades - Mai contactada - Iniciant - Error de comunicació - Temps d\'espera excedit en la comunicació - Bomba no accessible - Configuració no vàlida - Activa - En suspens En pausa Basals diff --git a/pump/pump-common/src/main/res/values-cs-rCZ/strings.xml b/pump/pump-common/src/main/res/values-cs-rCZ/strings.xml index 82ff929227..0abfd01c58 100644 --- a/pump/pump-common/src/main/res/values-cs-rCZ/strings.xml +++ b/pump/pump-common/src/main/res/values-cs-rCZ/strings.xml @@ -7,14 +7,6 @@ Sériové číslo pumpy Vydáno %1$.2f U / %2$.2f U - Nikdy nekontaktováno - Probouzení - Chyba komunikace - Vypršel časový limit komunikace - Pumpa nedostupná - Neplatná konfigurace - Aktivní - Spící Není inicializován Inicializováno Šifrování komunikace diff --git a/pump/pump-common/src/main/res/values-da-rDK/strings.xml b/pump/pump-common/src/main/res/values-da-rDK/strings.xml index 91a4e2a8cc..b6cb8843ff 100644 --- a/pump/pump-common/src/main/res/values-da-rDK/strings.xml +++ b/pump/pump-common/src/main/res/values-da-rDK/strings.xml @@ -7,14 +7,6 @@ Pumpe Serienummer %1$.2f IE / %2$.2f IE leveret - Aldrig kontaktet - Vågner - Fejl i kommunikation - Timeout ved kommunikation - Pumpe utilgængelig - Ugyldig konfiguration - Aktiv - Sover Ikke initialiseret Initialiseret Krypterer kommunikation diff --git a/pump/pump-common/src/main/res/values-de-rDE/strings.xml b/pump/pump-common/src/main/res/values-de-rDE/strings.xml index a67ea2b760..87dcaf96f4 100644 --- a/pump/pump-common/src/main/res/values-de-rDE/strings.xml +++ b/pump/pump-common/src/main/res/values-de-rDE/strings.xml @@ -7,14 +7,6 @@ Seriennummer der Pumpe %1$.2f IE / %2$.2f IE abgegeben - Nie verbunden - Aufwecken - Fehler bei der Kommunikation - Zeitüberschreitung bei Kommunikation - Pumpe nicht erreichbar - Ungültige Einstellung - Aktiv - Schlafen Nicht initialisiert Initialisiert Kommunikation verschlüsseln diff --git a/pump/pump-common/src/main/res/values-el-rGR/strings.xml b/pump/pump-common/src/main/res/values-el-rGR/strings.xml index d7de5e5a37..b74ac67900 100644 --- a/pump/pump-common/src/main/res/values-el-rGR/strings.xml +++ b/pump/pump-common/src/main/res/values-el-rGR/strings.xml @@ -6,14 +6,6 @@ ΟΚ Σειριακός Αριθμός Αντλίας - Ποτέ δεν επικοινωνήσατε - Ξύπνημα - Σφάλμα με επικοινωνία - Λήξη χρόνου επικοινωνίας - Η αντλία δεν είναι διαθέσιμη - Μη έγκυρη παραμετροποίηση - Ενεργή - Sleeping Βασικοί Ρύθμιση παραμέτρων diff --git a/pump/pump-common/src/main/res/values-es-rES/strings.xml b/pump/pump-common/src/main/res/values-es-rES/strings.xml index 2f69dba75d..60d70636b3 100644 --- a/pump/pump-common/src/main/res/values-es-rES/strings.xml +++ b/pump/pump-common/src/main/res/values-es-rES/strings.xml @@ -7,14 +7,6 @@ Número de serie de la bomba %1$.2f U / %2$.2f U entregado - Nunca contactado - En fase de inicio - Error con la comunicación - Tiempo de espera en la comunicación - Bomba no alcanzable - Configuración inválida - Activo - Suspendida No Inicializado Inicializado Encriptando comunicación diff --git a/pump/pump-common/src/main/res/values-fr-rFR/strings.xml b/pump/pump-common/src/main/res/values-fr-rFR/strings.xml index c983d9cde7..65a2c01cc1 100644 --- a/pump/pump-common/src/main/res/values-fr-rFR/strings.xml +++ b/pump/pump-common/src/main/res/values-fr-rFR/strings.xml @@ -7,14 +7,6 @@ Numéro de série de la pompe %1$.2fU / %2$.2fU injectés - Jamais contacté - Réveil en cours - Erreur de communication - Expiration du délai d\'attente de la communication - Pompe hors de portée - Configuration invalide - Actif - En veille Non initialisé Initialisé Cryptage de la communication diff --git a/pump/pump-common/src/main/res/values-ga-rIE/strings.xml b/pump/pump-common/src/main/res/values-ga-rIE/strings.xml index 6bf78d23ab..47700cc568 100644 --- a/pump/pump-common/src/main/res/values-ga-rIE/strings.xml +++ b/pump/pump-common/src/main/res/values-ga-rIE/strings.xml @@ -3,7 +3,6 @@ Ceart go leor - Gníomhach Bunaidhi Ar fad diff --git a/pump/pump-common/src/main/res/values-hr-rHR/strings.xml b/pump/pump-common/src/main/res/values-hr-rHR/strings.xml index cd61470ff6..a50c74be49 100644 --- a/pump/pump-common/src/main/res/values-hr-rHR/strings.xml +++ b/pump/pump-common/src/main/res/values-hr-rHR/strings.xml @@ -3,7 +3,6 @@ Serijski broj pumpe - Pumpa nedostupna Nije inicijalizirano Inicijalizirano Šifriranje komunikacije diff --git a/pump/pump-common/src/main/res/values-hu-rHU/strings.xml b/pump/pump-common/src/main/res/values-hu-rHU/strings.xml index 552a2fc350..1d747e7a9c 100644 --- a/pump/pump-common/src/main/res/values-hu-rHU/strings.xml +++ b/pump/pump-common/src/main/res/values-hu-rHU/strings.xml @@ -4,7 +4,6 @@ OK Pumpa sorozatszáma - Pumpa nem elérhető Bázis Statisztikák diff --git a/pump/pump-common/src/main/res/values-it-rIT/strings.xml b/pump/pump-common/src/main/res/values-it-rIT/strings.xml index af17f3e0a7..d5a0c5df8e 100644 --- a/pump/pump-common/src/main/res/values-it-rIT/strings.xml +++ b/pump/pump-common/src/main/res/values-it-rIT/strings.xml @@ -7,14 +7,6 @@ Numero seriale micro %1$.2f U / %2$.2f U erogate - Mai connesso - Risveglio - Errore nella comunicazione - Timeout della comunicazione - Micro irraggiungibile - Configurazione non valida - Attivo - In sospensione Non inizializzato Inizializzato Comunicazione crittata diff --git a/pump/pump-common/src/main/res/values-iw-rIL/strings.xml b/pump/pump-common/src/main/res/values-iw-rIL/strings.xml index 39fdd67134..3b69771457 100644 --- a/pump/pump-common/src/main/res/values-iw-rIL/strings.xml +++ b/pump/pump-common/src/main/res/values-iw-rIL/strings.xml @@ -7,14 +7,6 @@ המספר הסידורי של המשאבה %1$.2f יח\' מתוך %2$.2f יח\' הוזרקו - מעולם לא נוצר קשר - מתעורר - שגיאת תקשורת - חריגה ממגבלת הזמן לתקשורת - המשאבה לא זמינה - תצורה לא חוקית - פעיל - שינה לא מאותחל מאותחל מצפין תקשורת diff --git a/pump/pump-common/src/main/res/values-ko-rKR/strings.xml b/pump/pump-common/src/main/res/values-ko-rKR/strings.xml index 75bfce664a..af97429c24 100644 --- a/pump/pump-common/src/main/res/values-ko-rKR/strings.xml +++ b/pump/pump-common/src/main/res/values-ko-rKR/strings.xml @@ -7,14 +7,6 @@ 펌프 일련번호 %1$.2f U / %2$.2f U 주입됨 - 연결되지 않은 - 시작중 - 연결오류 - 연결시간초과 - 펌프에 연결할 수 없습니다. - 유효하지 않은 설정 - 활성 - 수면 중지됨 Basal diff --git a/pump/pump-common/src/main/res/values-lt-rLT/strings.xml b/pump/pump-common/src/main/res/values-lt-rLT/strings.xml index 0f5bbf7766..8ad10a36e1 100644 --- a/pump/pump-common/src/main/res/values-lt-rLT/strings.xml +++ b/pump/pump-common/src/main/res/values-lt-rLT/strings.xml @@ -7,14 +7,6 @@ Pompos serijos Nr. %1$.2f vv iš %2$.2f vv suleista - Niekada nebuvo sujungta - Pažadinimas - Ryšio klaida - Ryšiui skirtas laikas baigėsi - Pompa nepasiekiama - Neteisinga konfigūracija - Aktyvi - Užmigusi Nepavyko paleisti Sustabdyta diff --git a/pump/pump-common/src/main/res/values-nl-rNL/strings.xml b/pump/pump-common/src/main/res/values-nl-rNL/strings.xml index ee21e52a83..ed5e2fc0a4 100644 --- a/pump/pump-common/src/main/res/values-nl-rNL/strings.xml +++ b/pump/pump-common/src/main/res/values-nl-rNL/strings.xml @@ -7,14 +7,6 @@ Serienummer van de pomp %1$.2f E / %2$.2f E toegediend - Nooit verbonden - Actief worden - Communicatiefout - Time-out bij communicatie - Pomp niet beschikbaar - Ongeldige configuratie - Actief - Slapen Niet geïnitialiseerd Geïnitialiseerd Communicatie wordt versleutelen diff --git a/pump/pump-common/src/main/res/values-no-rNO/strings.xml b/pump/pump-common/src/main/res/values-no-rNO/strings.xml index 1cb9a104f8..4c56f30466 100644 --- a/pump/pump-common/src/main/res/values-no-rNO/strings.xml +++ b/pump/pump-common/src/main/res/values-no-rNO/strings.xml @@ -7,14 +7,6 @@ Pumpens serienummer %1$.2f E / %2$.2f E levert - Aldri kontaktet - Våkner opp - Feil med kommunikasjonen - Tidsavbrudd ved kommunikasjonen - Pumpe er utilgjengelig - Ugyldig oppsett av pumpe - Aktiv - Hvilemodus Pumpen er ikke startet Pumpen er startet Krypterer kommunikasjon @@ -26,7 +18,7 @@ Basaldoser Konfigurasjoner Varsler - Statistikker + Statistikk Ukjente Alle Boluser diff --git a/pump/pump-common/src/main/res/values-pl-rPL/strings.xml b/pump/pump-common/src/main/res/values-pl-rPL/strings.xml index c30d0aa466..84f6c172be 100644 --- a/pump/pump-common/src/main/res/values-pl-rPL/strings.xml +++ b/pump/pump-common/src/main/res/values-pl-rPL/strings.xml @@ -7,14 +7,6 @@ Numer seryjny pompy podano %1$.2f U / %2$.2f U - Nigdy nie połączona - Wybudzanie - Błąd komunikacji - Przekroczony limit czasu połączenia - Pompa nieosiągalna - Nieprawidłowe ustawienia - Aktywna - Uśpiona Nie zainicjowany Wstrzymany diff --git a/pump/pump-common/src/main/res/values-pt-rBR/strings.xml b/pump/pump-common/src/main/res/values-pt-rBR/strings.xml index cd7efed068..fa4f781e56 100644 --- a/pump/pump-common/src/main/res/values-pt-rBR/strings.xml +++ b/pump/pump-common/src/main/res/values-pt-rBR/strings.xml @@ -7,14 +7,6 @@ Número de série da Bomba %1$.2fU / %2$.2fU administrada - Nunca contatado - A acordar - Erro com comunicação - Tempo limite para comunicação - Bomba inacessível - Configuração inválida - Ativo - A dormir Bomba não inicializada Inicializado Comunicação criptografada diff --git a/pump/pump-common/src/main/res/values-pt-rPT/strings.xml b/pump/pump-common/src/main/res/values-pt-rPT/strings.xml index ea37e4bfb6..1d9841e8c5 100644 --- a/pump/pump-common/src/main/res/values-pt-rPT/strings.xml +++ b/pump/pump-common/src/main/res/values-pt-rPT/strings.xml @@ -7,14 +7,6 @@ Número de série da Bomba %1$.2f U / %2$.2f U administrado - Nunca contactado - A acordar - Erro com comunicação - Tempo limite para comunicação - Bomba inacessível - Configuração inválida - Activo - A dormir Não inicializado Suspenso diff --git a/pump/pump-common/src/main/res/values-ro-rRO/strings.xml b/pump/pump-common/src/main/res/values-ro-rRO/strings.xml index 96e855064e..87bf174a55 100644 --- a/pump/pump-common/src/main/res/values-ro-rRO/strings.xml +++ b/pump/pump-common/src/main/res/values-ro-rRO/strings.xml @@ -7,14 +7,6 @@ Număr serial pompă %1$.2f U din %2$.2f U livrate - Niciodată contactată - Se pornește - Eroare de comunicație - Comunicația nu a reușit la timp - Pompă indisponibilă - Configurație invalidă - Activă - În repaus Neiniţializat Suspendat diff --git a/pump/pump-common/src/main/res/values-ru-rRU/strings.xml b/pump/pump-common/src/main/res/values-ru-rRU/strings.xml index f4cdec2277..a16eb0b1f7 100644 --- a/pump/pump-common/src/main/res/values-ru-rRU/strings.xml +++ b/pump/pump-common/src/main/res/values-ru-rRU/strings.xml @@ -7,14 +7,6 @@ Серийный номер помпы Подано %1$.2fед / %2$.2fед - Никогда не подключалась - Пробуждение - Ошибка связи - Таймаут связи - Помпа недоступна - Недопустимая конфигурация - Работает - Спящий режим Нет инициализации Инициализировано Шифрование коммуникации diff --git a/pump/pump-common/src/main/res/values-sk-rSK/strings.xml b/pump/pump-common/src/main/res/values-sk-rSK/strings.xml index fb265967e8..bb0594d127 100644 --- a/pump/pump-common/src/main/res/values-sk-rSK/strings.xml +++ b/pump/pump-common/src/main/res/values-sk-rSK/strings.xml @@ -7,14 +7,6 @@ Sériové číslo pumpy Podané %1$.2f JI / %2$.2f JI - Nikdy nepripojené - Prebúdzanie - Chyba komunikácie - Uplynul časový limit komunikácie - Pumpa nedostupná - Neplatná konfigurácia - Aktívna - Spiaca Nie je inicializovaný Inicializované Šifrovanie komunikácie diff --git a/pump/pump-common/src/main/res/values-sv-rSE/strings.xml b/pump/pump-common/src/main/res/values-sv-rSE/strings.xml index fb2d4781fc..ec0f2d3faf 100644 --- a/pump/pump-common/src/main/res/values-sv-rSE/strings.xml +++ b/pump/pump-common/src/main/res/values-sv-rSE/strings.xml @@ -7,14 +7,6 @@ Serienummer på pumpen %1$.2fU / %2$.2fU levererat - Aldrig ansluten - Väcker - Kommunikationsfel - Kommunikationstimeout - Pumpen kan inte nås - Felaktig konfiguration - Aktiv - Sover Inte initierad Pausad diff --git a/pump/pump-common/src/main/res/values-tr-rTR/strings.xml b/pump/pump-common/src/main/res/values-tr-rTR/strings.xml index 33349a586d..2b8a31f151 100644 --- a/pump/pump-common/src/main/res/values-tr-rTR/strings.xml +++ b/pump/pump-common/src/main/res/values-tr-rTR/strings.xml @@ -7,14 +7,6 @@ Pompa Seri Numarası %1$.2f Ü / %2$.2f Ü gönderildi - Hiç bağlantı yapılmadı - Uyanıyor - İletişim hatası - İletişimde zaman aşımı - Pompa ulaşılamıyor - Geçersiz yapılandırma - Aktif - Uyuyor Başlatılmadı Başlatıldı İletişim Şifreleniyor diff --git a/pump/pump-common/src/main/res/values-zh-rCN/strings.xml b/pump/pump-common/src/main/res/values-zh-rCN/strings.xml index 412817da28..bd291a94f2 100644 --- a/pump/pump-common/src/main/res/values-zh-rCN/strings.xml +++ b/pump/pump-common/src/main/res/values-zh-rCN/strings.xml @@ -7,14 +7,6 @@ 泵序列号 %1$.2f U / %2$.2f U 已输注 - 从未连接 - 唤醒中 - 通信出错 - 通信超时 - 泵无法连接 - 无效配置 - 启用 - 休眠 尚未初始化 已初始化 正在加密通信 diff --git a/ui/src/main/res/values-af-rZA/strings.xml b/ui/src/main/res/values-af-rZA/strings.xml index 33df4da408..a669bff2f8 100644 --- a/ui/src/main/res/values-af-rZA/strings.xml +++ b/ui/src/main/res/values-af-rZA/strings.xml @@ -1,6 +1,9 @@ - Geen aksie gekies, niks sal gebeur + Beperking toegepas! + Bolus beperking toegepas + Karbs beperking toegepas + TT Begin aktiwiteit TT Begin eet gou TT Begin hipo TT @@ -9,7 +12,46 @@ Statistiek - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Totaal + + Knoppie 1 + Knoppie 2 + Knoppie 3 + Rekord pomp ligging verandering + Rekord insulien kasset verandering + + + + Skort lus vir 2h + Skort lus vir 3h + Skort lus vir 10 h + Ontkoppel pomp vir 15 min + Ontkoppel pomp vir 30 min + Ontkoppel pomp vir 1 h + Ontkoppel pomp vir 2 h + Ontkoppel pomp vir 3 h + Hervat + Herverbind Pomp + + Resultaat: %1$s %2$s + Bereken + IAB: + Insulien: + Karbs: + Totale IAB: + Dur: + Verhouding: + Ins: + IAB: + Totale IOB: + TT + Corr + Prima + + diff --git a/ui/src/main/res/values-bg-rBG/strings.xml b/ui/src/main/res/values-bg-rBG/strings.xml index 644eae90ce..37159adfa6 100644 --- a/ui/src/main/res/values-bg-rBG/strings.xml +++ b/ui/src/main/res/values-bg-rBG/strings.xml @@ -1,6 +1,5 @@ - Няма избрано действие, нищо няма да се изпълни Приложено ограничение! Приложено ограничение на болус Приложено ограничение на въглехидрати @@ -19,7 +18,61 @@ Изпрати Възраст Тегло - + %1$.1fгр Чувств: %2$.1f + %1$.0fгр Чувств: %2$.1f + Суперболус + Общо + + Бутон 1 + Бутон 2 + Бутон 3 + Запис смяна на сет + Запис смяна на резервоар + + + + Изключи APS за 2ч + Изключи APS за 3ч + Изключи APS за 10 ч + Изключване на помпата + Изключи помпата за 15 мин. + Изключи помпата за 30 мин. + Изключи помпата за 1 ч + Изключи помпата за 2 ч + Изключи помпата за 3 ч + Възстанови + Свържи помпа + 15 мин + 30 мин + 1 час + 2 часа + 3 часа + 10 часа + + Резултат: %1$s %2$s + Нужни %1$d гр + ВХ след + Покажи изчисленията + Калк + IOB: + Инсулин: + Вълехидрати: + Общо IOB: + Прод.: + Съотношение: + Инс: + IOB: + Общо IOB: + Вр.цел + Корекция + Пълнене + Презареди от NS + Покажи невалидните + Скрий невалидните + Клонирай + + Избрано: + diff --git a/ui/src/main/res/values-ca-rES/strings.xml b/ui/src/main/res/values-ca-rES/strings.xml index 59f9116b67..586cbe039d 100644 --- a/ui/src/main/res/values-ca-rES/strings.xml +++ b/ui/src/main/res/values-ca-rES/strings.xml @@ -1,18 +1,72 @@ - Cap acció sel·leccionada, no passarà res + Restricció aplicada! + Restricció de bolus aplicada + Restricció de carbs. aplicada + OT Iniciar OT: Esport Iniciar OT: Menjar aviat Iniciar OT: Hipo Decalatge horari min + Recordar aplicar bolus més tard Estadístiques Càlculs en procés ID: Enviar - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Total + + Botó 1 + Botó 2 + Botó 3 + Anotar canvi de cànula + Anotar canvi reservori d\'insulina + + + + Aturar el llaç 2h + Aturar el llaç 3h + Aturar el llaç 10h + Desconnectar bomba + Desconnectar bomba 15 min + Desconnectar bomba 30 min + Desconnectar bomba 1 h + Desconnectar bomba 2 h + Desconnectar bomba 3 h + Reprendre + Reconnectar bomba + 15 min + 30 min + 1 hora + 2 hores + 3 hores + 10 hores + + Resultat: %1$s %2$s + Falten %1$d g + Mostrar càlcul + Calc + IOB: + Insulina: + Carbs: + IOB total: + Durada: + Ràtio: + Ins: + IOB: + IOB total: + OT + Corr + Actualitzar des de NS + Duplicar + + Seleccionat: + diff --git a/ui/src/main/res/values-cs-rCZ/strings.xml b/ui/src/main/res/values-cs-rCZ/strings.xml index c7c1278035..49762f9bdd 100644 --- a/ui/src/main/res/values-cs-rCZ/strings.xml +++ b/ui/src/main/res/values-cs-rCZ/strings.xml @@ -1,6 +1,5 @@ - Žádná akce nevybrána, nic se neprovede Aplikováno omezení! Aplikováno omezení bolusu Aplikováno omezení sacharidů @@ -29,11 +28,108 @@ Váha Nejběžnější profil: Poznámka: Pouze data viditelná na této obrazovce budou odesílána anonymně. ID je přiřazeno k této instalaci produktu AAPS. Data můžete znovu odeslat, pokud se váš hlavní profil změní, ale nechte ho běžet alespoň týden, aby byl výsledek viditelný v čase v rozsahu. Vážíme si Vaši pomoci. - Zadání glykémie Jiné Glukoměr Senzor + %1$s ISF: %2$.1f + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Celkem + + Prosím ujistěte se, že hodnota odpovídá specifikaci Vašeho setu! + Standardní množství inzulinu pro Plnění/Doplňování + Tlačítko 1 + Tlačítko 2 + Tlačítko 3 + Zaznamenat výměnu setu + Zaznamenat výměnu inzulínu + + Nepouštět bolus, jen zaznamenat + + Znovu použít %1$d%% %2$dh + Posun času + % změna + + Pozastavit smyčku na 1 h + Pozastavit smyčku na 2 h + Pozastavit smyčku na 3 h + Pozastavit smyčku na 10 h + Odpojit pumpu + Odpojit pumpu na 15 min + Odpojit pumpu na 30 min + Odpojit pumpu na 1 h + Odpojit pumpu na 2 h + Odpojit pumpu na 3 h + Uvolnit + Znovu připojit pumpu + 15 minut + 30 minut + 1 hodina + 2 hodiny + 3 hodiny + 10 hodin + + správný výsledek v % + správný výsledek s jednotkami + 2h + Výsledek: %1$s %2$s + Chybí %1$d g + aktuální hodnota glykémie + Čas jídla + nastavit upozornění na sacharidy + Zobrazit kalkulaci + Nejsou k dispozici žádné záznamy + Kalk + IOB: + Inzulín: + Sacharidy: + Celkem IOB: + Celková aktivita IOB: + Trv: + Poměr: + Inz: + IOB: + Celkem IOB: + DC + Korekce + Jídlo + Doplňování + Změny profilu + Dočasné cíle + Sacharidy a bolusy + Zobrazit zneplatněné / odstraněné záznamy + Skrýt zneplatněné / odstraněné záznamy + Obnovit z Nightscoutu + Obnovit z NS + Zobrazit zneplatněné + Skrýt zneplatněné + Odebrat záznamy spuštěné AAPS + Skrýt smyčku + Zobrazit smyčku + Uživatelská položka + Klonovat + Zobrazit záznamy smyčky + Skrýt záznamy smyčky + + Profil 1 + Profil 2 + Typ profilu + % bazálu + Vybráno: + Porovnat profily + Pomocník s profilem + Výchozí profil + Aktuální profil + Dostupný profil + Věk: %1$.0f CDD: %2$.0f U + Věk: %1$.0f CDD: %2$.0f U %3$d%% + Věk: %1$.0f Hmotnost: %2$.0f kg + Výchozí profil DPV + Neplatný vstup % + + Bazál diff --git a/ui/src/main/res/values-da-rDK/strings.xml b/ui/src/main/res/values-da-rDK/strings.xml index 5630cccefd..d33584e143 100644 --- a/ui/src/main/res/values-da-rDK/strings.xml +++ b/ui/src/main/res/values-da-rDK/strings.xml @@ -1,6 +1,5 @@ - Ingen handling valgt, intet vil ske Dialog annulleret Start Aktivitets mål Start \"Spiser snart\" mål @@ -19,7 +18,76 @@ Alder Vægt Bemærk: Kun data synlige på denne skærm vil blive uploadet anonymt. ID tildeles til denne installation af AAPS. Du kan indsende data igen, hvis din hovedprofil bliver ændret, men lad det køre mindst en uge for at gøre resultatet synligt i tidsinterval. Din hjælp er værdsat. - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + I alt + + Knap 1 + Knap 2 + Knap 3 + Registrer skift af infusionssæt + Registrer skift af insulinampul + + + + Suspendér loop i 2t + Suspendér loop i 3t + Suspendér loop i 10t + Afbryd pumpe + Afbryd pumpen i 15 min + Afbryd pumpen i 30 min + Afbryd pumpen i 1 time + Afbryd pumpen i 2 timer + Afbryd pumpen i 3 timer + Genoptag + Genforbind Pumpe + 15 minutter + 30 minutter + 1 time + 2 timer + 3 timer + 10 timer + + korrekt resultat med % + korrekt resultat med enheder + Resultat: %1$s %2$s + Mangler %1$d g + nuværende blodglukose + Kulhydrat tid + indstil KH alarm + Vis beregning + Beregn + IOB: + Insulin: + Kulhydrater: + Total IOB: + Tid: + Ratio: + Ins: + IOB: + Total IOB: + Midlertidig Mål + Korrektion + Klargør + Profil ændringer + Midlertidig mål + Kulhydrater og bolus + Vis ugyldige / fjernede poster + Skjul ugyldige / fjernede poster + Opdater fra Nightscout + Opdater fra NS + Vis ugyldige + Skjul ugyldige + Skjul loop + Vis loop + Klon + Vis loop poster + Skjul loop poster + + Profil 2 + Valgt: + diff --git a/ui/src/main/res/values-de-rDE/strings.xml b/ui/src/main/res/values-de-rDE/strings.xml index 35902ca1b4..0b3a8e0e3d 100644 --- a/ui/src/main/res/values-de-rDE/strings.xml +++ b/ui/src/main/res/values-de-rDE/strings.xml @@ -1,6 +1,9 @@ - Keine Aktion ausgewählt, nichts wird geschehen. + Beschränkung angewendet! + Bolus-Beschränkung angewendet + Kohlenhydrat-Beschränkung erreicht + TT Dialog abgebrochen Starte Aktivitäts-TT Starte Essens-TT @@ -17,7 +20,76 @@ Senden Alter Gewicht - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Gesamt + + Schaltfläche 1 + Schaltfläche 2 + Schaltfläche 3 + Katheter-Wechsel erfassen + Reservoir-Wechsel erfassen + + + + Pausiere Loop für 2 h + Pausiere Loop für 3 h + Pausiere Loop für 10 h + Pumpe trennen + Trenne Pumpe für 15 min + Trenne Pumpe für 30 min + Trenne Pumpe für 1 h + Trenne Pumpe für 2 h + Trenne Pumpe für 3 h + Fortsetzen + Pumpe erneut verbinden + 15 Min. + 30 Min. + 1 Std. + 2 Std. + 3 Std. + 10 Std. + + korrektes Ergebnis mit % + korrektes Ergebnis mit Einheiten + Ergebnis: %1$s %2$s + %1$d g fehlen + Aktueller Blutzucker + KH-Zeit + setze Alarm für KH Timer + Berechnung anzeigen + Berech. + IOB: + Insulin: + Kohlenhydrate: + Gesamt IOB: + Dauer: + Verhältnis: + Ins: + IOB: + Gesamt IOB: + TT + Korr + Füllen + Profilwechsel + Temporäre Ziele + Kohlenhydrate & Bolus + Zeige ungültige / gelöschte Einträge + Verberge ungültige / gelöschte Einträge + Aktualisiere von Nightscout + Mit NIghtscout-Daten aktualisieren + Zeige Ungültige + Verstecke Ungültige + Verberge Loop + Zeige Loop an + Klonen + Zeige Loop Datensätze + Verberge Loop Datensätze + + Profil 2 + Ausgewählt: + diff --git a/ui/src/main/res/values-el-rGR/strings.xml b/ui/src/main/res/values-el-rGR/strings.xml index f879c08682..9708ec2f05 100644 --- a/ui/src/main/res/values-el-rGR/strings.xml +++ b/ui/src/main/res/values-el-rGR/strings.xml @@ -1,6 +1,5 @@ - Δεν έχει επιλεγεί καμία ενέργεια, δεν υπάρχει τίποτα να κάνει Εκκίνηση δραστηριότητας TT Εκκίνηση Τρώω σύντομα ΤΤ Εκκίνηση TT Υπογλυκαιμίας @@ -9,7 +8,53 @@ Στατιστικά - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Σύνολο + + Πλήκτρο 1 + Πλήκτρο 2 + Πλήκτρο 3 + Καταγράψτε την αλλαγή της τοποθεσίας αντλίας + Καταγράψτε την αλλαγή της τοποθεσίας καθετήρα + + + + Κύκλωμα σε αναστολή για 2h + Κύκλωμα σε αναστολή για 3h + Κύκλωμα σε αναστολή για 10h + Αποσύνδεση αντλίας για 15 λεπτά + Αποσύνδεση αντλίας για 30 λεπτά + Αποσύνδεση αντλίας για 1h + Αποσύνδεση αντλίας για 2h + Αποσύνδεση αντλίας για 3h + Επαναφορά + Επανασύνδεση αντλίας + 15 λεπτά + 30 λεπτά + 1 ώρα + 2 ώρες + 3 ώρες + 10 ώρες + + Αποτέλεσμα: %1$s %2$s + Που υπολείπεται%1$d + Υπολογ + IOB: + Ινσουλίνη: + Υδατάνθρακες: + Συνολική IOB: + Διάρκεια: + Αναλογία: + Ins: + IOB: + Συνολική IOB: + TT + Διόρθωση + Ανανέωση από NS + + diff --git a/ui/src/main/res/values-es-rES/strings.xml b/ui/src/main/res/values-es-rES/strings.xml index 254c61f8e2..17d708f63f 100644 --- a/ui/src/main/res/values-es-rES/strings.xml +++ b/ui/src/main/res/values-es-rES/strings.xml @@ -1,6 +1,9 @@ - No se ha seleccionado ninguna opción, por lo que no se realizará ningún cambio + Restricción aplicada! + Restricción aplicada en bolo + Restricción aplicada en carbohidratos + OT Diálogo cancelado Iniciar OT Actividad Iniciar OT Comiendo Pronto @@ -10,32 +13,92 @@ Recordar ejecutar el bolo más tarde establecer recordatorio + Configurar la opacidad Widget de AAPS + Monitor de actividad + ¿Desea restablecer las estadísticas de actividad? + Estadísticas + Cálculo en curso + Entrada de edad no válida + Entrada de peso no válida + ID: + Enviar + Edad + Peso + Perfil más común: Nota: Sólo los datos visibles en esta pantalla se subirán de forma anónima. El ID es asignado a la instalación de AAPS. Puedes volver a enviar datos si cambias tu perfil principal, pero deja que se ejecute al menos durante una semana, para que el resultado del tiempo en rango sea visible. Agradecemos tu ayuda. - + Tipo de glucosa + Otro + Medidor de glucosa + Sensor %1$s ISF: %2$.1f %1$.1fg IC: %2$.1f %1$.0fg IC: %2$.1f - %1$d%% Superbolo Total + + Por favor, asegúrate de que la cantidad coincide con la especificada en el set de infusión! + Cebar/Llenar la cantidad de insulina estándar + Botón 1 + Botón 2 + Botón 3 + Anotar el cambio de sitio de la bomba + Anotar cambio del cartucho de insulina + + No administrar bolo, sólo anotarlo + + Reutilizar %1$d%% %2$dh + Cambio de hora + Porcentaje + + Suspender lazo durante 1 hora + Suspender lazo durante 2 horas + Suspender lazo durante 3 horas + Suspender lazo durante 10 horas + Desconectar bomba + Desconectar la bomba durante 15 minutos + Desconectar la bomba durante 30 minutos + Desconectar la bomba durante 1 hora + Desconectar la bomba durante 2 horas + Desconectar la bomba durante 3 horas + Resumir + Vuelva a conectar la bomba + 15 min + 30 min + 1 hora + 2 horas + 3 horas + 10 horas + + corregir resultado con % + corregir resultado con unidades + 2h + Resultado: %1$s %2$s + Faltan %1$d g + glucosa en sangre actual + Tiempo de Carbohidratos + establecer alarma de carbohidratos + Mostrar cálculo No hay registros disponibles Cálculo IOB: - INVÁLIDO Insulina: Carbohidratos: IOB total: + Actividad IOB: Duración: + Relación: Ins: IOB: IOB Total: OT Corrección Comida + Cebar + Cambios en el perfil Objetivos temporales Carbohidratos y bolos Mostrar registros eliminados o invalidados @@ -47,6 +110,22 @@ Eliminar registros de inicio de AAPS Ocultar lazo Mostrar lazo + Registro por parte del usuario Duplicar Mostrar registros del lazo + Ocultar registros del lazo + + Perfil 1 + Perfil 2 + Tipo de perfil + % de basal + Seleccionado: + Comparar perfiles + Asistente de perfil + Perfil predeterminado + Perfil actual + Perfil disponible + Edad: %1$.0f TDD: %2$.0f U + Edad: %1$.0f TDD: %2$.0f U %3$d%% + diff --git a/ui/src/main/res/values-fr-rFR/strings.xml b/ui/src/main/res/values-fr-rFR/strings.xml index 02322bb9fc..8167b9d334 100644 --- a/ui/src/main/res/values-fr-rFR/strings.xml +++ b/ui/src/main/res/values-fr-rFR/strings.xml @@ -1,6 +1,5 @@ - Aucune action sélectionnée, rien ne se passera Restriction appliquée ! Restriction de bolus appliquée Restriction des glucides appliquée @@ -29,7 +28,6 @@ Poids  Profil le plus courant : Remarque : seules les données visibles sur cet écran seront téléchargées de manière anonyme. L\'ID est attribué à cette installation d\'AAPS. Vous pouvez soumettre à nouveau des données si votre profil principal est modifié, mais laissez-le fonctionner au moins pendant une semaine pour obtenir le résultat \"temps dans la cible\". Votre aide est appréciée. - Source de Glycémie Autre Lecteur @@ -38,14 +36,17 @@ %1$s SI: %2$.1f %1$.1fg G/I: %2$.1f %1$.0fg G/I: %2$.1f - %1$d%% Superbolus Total + + + + + Aucun enregistrement disponible Calc IA: - INVALIDE Insuline: Glucides: IA Totale: @@ -75,4 +76,16 @@ Dupliquer Afficher les entrées de la boucle Masquer les entrées de la boucle + + Type de profil + % de basal + Sélectionné : + Comparer les profils + Assistant Profil + Profil par défaut + Profil actuel + Profils disponibles + Âge: %1$.0f DTI: %2$.0f U + Âge: %1$.0f DTI: %2$.0f U %3$d%% + diff --git a/ui/src/main/res/values-ga-rIE/strings.xml b/ui/src/main/res/values-ga-rIE/strings.xml index a21b9a1524..ebdcf7031d 100644 --- a/ui/src/main/res/values-ga-rIE/strings.xml +++ b/ui/src/main/res/values-ga-rIE/strings.xml @@ -3,7 +3,47 @@ nóim - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Lomlán + + Cnaipe 1 + Cnaipe 2 + Cnaipe 3 + + + + Fionraí lúb do 2 u + Fionraí lúb do 3 u + Fionraí lúb do 10 u + Dhícheangal Caidéil + Dhícheangal Caidéil do 15 nóim + Dhícheangal Caidéil do 30 nóim + Dhícheangal Caidéil do 1 u + Dhícheangal Caidéil do 2 u + Dhícheangal Caidéil do 3 u + Atosú + 15 nóim + 30 nóim + 1 uair + 2 uair + 3 uair + 10 uair + + Toradh: %1$s %2$s + IOB: + Inslin: + Carbí: + Lomlán IOB: + Fad: + Cóimheas: + Ins: + IOB: + Lomlán IOB: + TT + Cear + + diff --git a/ui/src/main/res/values-hr-rHR/strings.xml b/ui/src/main/res/values-hr-rHR/strings.xml index d6d876a493..01afd905bd 100644 --- a/ui/src/main/res/values-hr-rHR/strings.xml +++ b/ui/src/main/res/values-hr-rHR/strings.xml @@ -3,7 +3,16 @@ Napomena: Anonimno će se učitati samo podaci vidljivi na ovom zaslonu. ID je dodijeljen ovoj instalaciji AAPS-a. Možete ponovno poslati podatke ako se vaš glavni profil promijeni, ali pustite ga da radi barem tjedan dana kako bi rezultat bio vidljiv u određenom vremenskom rasponu. Cijenimo vašu pomoć. - + + + + + + Rezultat: %1$s %2$s + postavite timer alarma ugljikohidrata + + Profil 2 + diff --git a/ui/src/main/res/values-hu-rHU/strings.xml b/ui/src/main/res/values-hu-rHU/strings.xml index ecb30a96a4..6e1aba18dd 100644 --- a/ui/src/main/res/values-hu-rHU/strings.xml +++ b/ui/src/main/res/values-hu-rHU/strings.xml @@ -4,7 +4,19 @@ Statisztikák Számítás folyamatban - + Szuperbólus + + Gomb 1 + Gomb 2 + Gomb 3 + + + + Folytatás + + Hiányzik %1$d g + + diff --git a/ui/src/main/res/values-it-rIT/strings.xml b/ui/src/main/res/values-it-rIT/strings.xml index 45b9d76282..905d2d6d40 100644 --- a/ui/src/main/res/values-it-rIT/strings.xml +++ b/ui/src/main/res/values-it-rIT/strings.xml @@ -1,6 +1,9 @@ - Nessuna azione selezionata, non succederà nulla + Vincolo applicato! + Vincolo bolo applicato + Vincolo CHO applicato + TT Finestra di dialogo cancellata Avvia TT Attività fisica Avvia TT Pasto a breve @@ -19,7 +22,74 @@ Età Peso Nota: solo i dati visibili su questa schermata verranno caricati (in modo anonimo). Un ID è assegnato a questa installazione di AAPS. Puoi inviare nuovamente i dati se il tuo profilo principale viene modificato, ma lascialo in esecuzione almeno per una settimana per rendere il risultato visibile nel time in range (TIR). Il tuo aiuto è apprezzato. - + Altro + Sensore + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolo + Totale + + Tasto 1 + Tasto 2 + Tasto 3 + Registra cambio posizione cannula + Registra cambio cartuccia insulina + + No bolo, solo record + + Time shift + Percentuale + + Sospendi loop per 1h + Sospendi loop per 2h + Sospendi loop per 3h + Sospendi loop per 10h + Disconnetti micro + Disconnetti micro per 15 min + Disconnetti micro per 30 min + Disconnetti micro per 1 h + Disconnetti micro per 2 h + Disconnetti micro per 3 h + Riprendi + Riconnetti micro + + Risultato: %1$s %2$s + Mancanti %1$d g + glicemia corrente + Offset CHO + imposta allarme timer CHO + Mostra calcolo + Calc + IOB: + Insulina: + CHO: + IOB totale: + Dur: + Rapporto: + Ins: + IOB: + IOB totale: + TT + Corr + Caricamento + Modifiche al profilo + Target Temporanei + CHO e boli + Mostra record non validi/rimossi + Nascondi record non validi/rimossi + Aggiorna da Nightscout + Aggiornamento da NS + Mostra invalidato + Nascondi invalidato + Nascondi loop + Mostra loop + Clona + Mostra record di loop + Nascondi record di loop + + Profilo 2 + Selezionato: + diff --git a/ui/src/main/res/values-iw-rIL/strings.xml b/ui/src/main/res/values-iw-rIL/strings.xml index d5977a6167..b57c1d33c1 100644 --- a/ui/src/main/res/values-iw-rIL/strings.xml +++ b/ui/src/main/res/values-iw-rIL/strings.xml @@ -1,6 +1,5 @@ - לא נבחרה פעולה, דבר לא יתבצע. דו-שיח בוטל התחל פעילות TT התחל TT אוכלים בקרוב @@ -17,7 +16,76 @@ עדכן גיל משקל - + %1$.1f גר\' יחס פחמ\':%2$.1f + %1$.0f גר\' יחס פחמ\': %2$.1f + סופר בולוס + סה\"כ + + כפתור 1 + כפתור 2 + כפתור 3 + רשום החלפת אתר עירוי + רשום החלפת מכל אינסולין + + + + השהה לולאה ל-2 ש\' + השהה לולאה ל-3 ש\' + השהה לולאה ל-10 ש\' + ניתוק משאבה + נתק את המשאבה למשך 15 דקות + נתק את המשאבה למשך 30 דקות + נתק את המשאבה למשך שעה + נתק את המשאבה למשך שעתיים + נתק את המשאבה למשך שלוש שעות + חידוש + חיבור משאבה מחדש + 15 דקות + 30 דקות + שעה אחת + שעתיים + 3 שעות + 10 שעות + + תיקון עם % + תיקון עם יחידות + תוצאה: %1$s %2$s + חסרים %1$d גר\' + רמת סוכר נוכחית + זמן פחמימות + הגדרת אזעקה טיימר פחמימות + הצג חישוב + חישוב + אינסולין פעיל: + אינסולין: + פחמימות: + אינסולין פעיל כולל: + משך: + יחס: + אינסולין: + IOB: + IBO כולל: + TT + תיקון + תיחול + שינויים בפרופיל + ערכי מטרה זמניים + פחמ\' ובולוס + הצג רשומות מבוטלות\\מחוקות + הסתר רשומות מבוטלות\\מחוקות + רענן מנייטסקאוט + רענון אירועים מנייטסקאוט + הצג פסולים + הסתר פסולים + החבא לולאה + הצג לולאה + שכפול + הצג רשומות לולאה + החבא רשומות לולאה + + פרופיל 2 + נבחר: + diff --git a/ui/src/main/res/values-ko-rKR/strings.xml b/ui/src/main/res/values-ko-rKR/strings.xml index c4b9a76fd5..4b2565aca5 100644 --- a/ui/src/main/res/values-ko-rKR/strings.xml +++ b/ui/src/main/res/values-ko-rKR/strings.xml @@ -1,6 +1,5 @@ - 선택한 실행이 없습니다. 아무런 실행이 되지 않습니다. 활동 임시목표 시작 식사직전 임시목표 시작 저혈당 임시목표 시작 @@ -12,7 +11,58 @@ 계산 진행 중 ID: 확인 - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + 합계 + + 버튼1 + 버튼2 + 버튼3 + 펌프 위치 변경 기록 + 인슐린 카트리지 변경 기록 + + + + 2시간동안 Loop 일시중지 + 3시간동안 Loop 일시중지 + 10시간동안 Loop 일시중지 + 펌프 일시중지 + 15분동안 펌프 일시중지 + 30분동안 펌프 일시중지 + 1시간동안 펌프 일시중지 + 2시간동안 펌프 일시중지 + 3시간동안 펌프 일시중지 + 재실행 + 펌프 재연결 + 15분 + 30분 + 1시간 + 2시간 + 3시간 + 10시간 + + 결과: %1$s %2$s + 부족 %1$d g + 계산 표시 + Calc + IOB: + 인슐린: + 탄수화물: + IOB 총량: + 기간: + 비율: + 인슐린: + IOB: + IOB 총량: + 임시목표 + 교정 + 교체 + NS로부터 최신 정보로 업데이트 함. + 복사 + + 선택: + diff --git a/ui/src/main/res/values-lt-rLT/strings.xml b/ui/src/main/res/values-lt-rLT/strings.xml index 482935a38d..41fdcc3c81 100644 --- a/ui/src/main/res/values-lt-rLT/strings.xml +++ b/ui/src/main/res/values-lt-rLT/strings.xml @@ -1,6 +1,5 @@ - Veiksmas nepasirinktas, nieko neįvyks Pradėti Aktyvumo LT Pradėti Netrukus valgysiu LT Pradėti \"Hipo\" LT @@ -16,7 +15,59 @@ Pateikti Amžius Svoris - + %1$.1fg IA: %2$.1f + %1$.0fg IA: %2$.1f + Superbolus + Viso + + Mygtukas 1 + Mygtukas 2 + Mygtukas 3 + Įrašas apie infuzijos rinkinio keitimą + Įrašas apie rezervuaro keitimą + + + + Sustabdyti ciklą 2 val + Sustabdyti ciklą 3 val + Sustabdyti ciklą 10 val + Atjungti pompą + Atjungti pompą 15 min + Atjungti pompą 30 min + Atjungti pompą 1 val + Atjungti pompą 2 val + Atjungti pompą 3 val + Atnaujinti + Prijungti pompą + 15 min + 30 min + 1 val. + 2 val. + 3 val. + 10 val. + + Rezultatas: %1$s %2$s + Trūksta %1$d g + AV laikas + Rodyti skaičiavimą + Skaič. + AIO: + Insulinas: + AV: + Visas AIO: + Trukmė: + Santykis: + Ins: + AIO: + Visas AIO: + LT + Korekcija + Užpildyti sistemą + Atnaujinti iš NS + Klonuoti + + Parinkta: + diff --git a/ui/src/main/res/values-nl-rNL/strings.xml b/ui/src/main/res/values-nl-rNL/strings.xml index 45146b3177..5bf2b46c48 100644 --- a/ui/src/main/res/values-nl-rNL/strings.xml +++ b/ui/src/main/res/values-nl-rNL/strings.xml @@ -1,6 +1,5 @@ - Geen actie geselecteerd, er zal niets uitgevoerd worden Beperking toegepast! Bolus limiet ingesteld Koolhydraten beperking ingesteld @@ -29,7 +28,6 @@ Gewicht Meest voorkomende profiel: Opmerking: Alleen gegevens die zichtbaar zijn op dit scherm worden anoniem geüpload. ID is toegewezen aan deze installatie van AAPS. U kunt gegevens opnieuw indienen als uw hoofdprofiel wordt gewijzigd, maar laat het ten minste een week draaien om resultaat zichtbaar te maken in de tijd in het bereik. Uw hulp wordt gewaardeerd. - Glucose type Andere Meter @@ -38,14 +36,47 @@ %1$s ISF: %2$.1f %1$.1fg IC: %2$.1f %1$.0fg IC: %2$.1f - %1$d%% Superbolus Totaal + + Knop 1 + Knop 2 + Knop 3 + Markeer een infuuswissel in NS + Markeer een insuline ampul wissel in NS + + + + Onderbreek loop voor 2u + Onderbreek loop voor 3u + Onderbreek loop voor 10u + Pomp afkoppelen + Verbreek verbinding 15min met pomp + Verbreek verbinding 30min met pomp + Verbreek verbinding 1u met pomp + Verbreek verbinding 2u met pomp + Verbreek verbinding 3u met pomp + Hervatten + Opnieuw verbinden met pomp + 15 min + 30 min + 1 uur + 2 uur + 3 uur + 10 uur + + corrigeer uitkomt met percentage + corrigeer uitkomt met units + Resultaat: %1$s %2$s + Er ontbreekt %1$d g + huidige bloedglucose + KH tijdsduur + koolhydraten timer alarm instellen + Toon berekening Geen records beschikbaar Calc IOB: - Ongeldig Insuline: Koolhydraten: Totale IOB: @@ -75,4 +106,8 @@ Dupliceren Toon loop records Verberg loop records + + Profiel 2 + Geselecteerd: + diff --git a/ui/src/main/res/values-no-rNO/strings.xml b/ui/src/main/res/values-no-rNO/strings.xml index 859ca8279b..0cf65f5158 100644 --- a/ui/src/main/res/values-no-rNO/strings.xml +++ b/ui/src/main/res/values-no-rNO/strings.xml @@ -1,30 +1,113 @@ - Ingen handling valgt. Ingenting endres Begrensning benyttet! Bolus-begrensning utført Karbohydrat-begrensning utført TT Dialog avbrutt - Start Trening TT - Start Spise snart TT - Start Hypo TT + Start TT for trening + Start TT for spise snart + Start TT for hypoglykemi Tidsforskyvning min - Påminnelse til å gi bolus senere + Påminnelse om å gi bolus senere angi påminnelse Konfigurer gjennomsiktighet AAPS widget + Aktivitetsmonitor + Vil du tilbakestille aktivitetsstatistikken? Statistikk Beregning pågår + Ugyldig alder + Ugyldig vekt ID: Lagre Alder Vekt + Mest vanlig profil: Merk: Kun data synlig på denne skjermen vil bli anonymt lastet opp. ID er tilordnet denne installasjonen av AndroidAPS. Du kan sende inn data igjen hvis hovedprofilen din blir endret, men la den kjøre i minst en uke for å se effekten av resultatet i tidsperioden. Din hjelp blir verdsatt. - + Glukosetype + Annet + Måler + Sensor + %1$s ISF: %2$.1f + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Total + + Knapp 1 + Knapp 2 + Knapp 3 + Logg bytte av slangesett + Logg bytte av insulinampull + + + + Pause loop i 2t + Pause loop i 3t + Pause loop i 10t + Koble fra pumpen + Koble fra pumpen i 15 min + Koble fra pumpen i 30 min + Koble fra pumpen i 1t + Koble fra pumpen i 2t + Koble fra pumpen i 3t + Gjenoppta + Koble til pumpen + 15 min + 30 min + 1 time + 2 timer + 3 timer + 10 timer + + korriger resultatet med % + korriger resultatet med enheter + Resultat: %1$s %2$s + Mangler %1$d g + nåværende blodsukker + Karbo-tid + angi karbo nedtellings alarm + Vis beregning + Ingen registreringer tilgjengelig + Kalk + IOB: + Insulin: + Karbo: + Total IOB: + Total IOB aktivitet: + Varighet: + Ratio: + Ins: + IOB: + Totalt IOB: + TT + Korr + Måltid + Prime + Profilendringer + Temp Mål + Karbohydrater og bolus + Vis ugyldige / slettede registreringer + Skjul ugyldige / slettede registreringer + Oppdater fra Nightscout + Oppdater fra NS + Vis ugyldige + Skjul ugyldige + Fjern oppføringer startet av AAPS + Skjul loop + Vis loop + Brukeroppføring + Dupliser + Vis loop-registreringer + Skjul loop-registreringer + + Profil 2 + Valgt: + diff --git a/ui/src/main/res/values-pl-rPL/strings.xml b/ui/src/main/res/values-pl-rPL/strings.xml index 7be1ebb38f..02352a2aac 100644 --- a/ui/src/main/res/values-pl-rPL/strings.xml +++ b/ui/src/main/res/values-pl-rPL/strings.xml @@ -1,6 +1,5 @@ - Nie wybrano żadnej akcji, zdarzenie nie będzie wprowadzone Rozpocznij TT Ćwiczenia Rozpocznij TT WkrótcePosiłek Rozpocznij TT Hipo @@ -15,7 +14,59 @@ Wyślij Czas Waga - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Razem + + Przycisk 1 + Przycisk 2 + Przycisk 3 + Zapisz zmianę wkłucia + Zapisz zmianę zasobnika insuliny + + + + Wstrzymaj pętlę na 2h + Wstrzymaj pętlę na 3h + Wstrzymaj pętlę na 10 h + Odłącz pompę + Wyłącz pompę na 15 min + Wyłącz pompę na 30 min + Wyłącz pompę na 1 h + Wyłącz pompę na 2 h + Wyłącz pompę na 3 h + Wznów + Połącz ponownie pompę + 15 min + 30 min + 1 godzina + 2 godziny + 3 godziny + 10 godzin + + Wynik: %1$s %2$s + Brakuje %1$d g + Czas węglow. + Pokaż obliczenia + Kalk + IOB: + Insulina: + Węglow.: + Całkowita IOB: + Czas: + Iloczyn: + Ins: + IOB: + Całkowita IOB: + TT + Poprawka + Wypełnianie + Odśwież z NS + Sklonuj + + Wybrany: + diff --git a/ui/src/main/res/values-pt-rBR/strings.xml b/ui/src/main/res/values-pt-rBR/strings.xml index 9fad612e0b..6fb05b80d0 100644 --- a/ui/src/main/res/values-pt-rBR/strings.xml +++ b/ui/src/main/res/values-pt-rBR/strings.xml @@ -1,6 +1,5 @@ - Nenhuma acção seleccionada, nada irá acontecer Janela cancelada Iniciar atividade TT Iniciar Comer em breve TT @@ -18,7 +17,76 @@ Idade Peso Nota: Apenas os dados visíveis nesta tela serão enviados anonimamente. O ID é atribuído a esta instalação do AndroidAPS. Você pode enviar dados novamente se o perfil principal for alterado, mas deixe-o rodar pelo menos uma semana para tornar o resultado visível no intervalo de tempo. Sua ajuda é apreciada. - + %1$.1fg I:C: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Total + + Botão 1 + Botão 2 + Botão 3 + Registar mudança de sítio + Registar mudança cartucho + + + + Suspender loop por 2h + Suspender loop por 3h + Suspender loop por 10h + Bomba Desconectada + Desconectar bomba por 15 min + Desconectar bomba por 30 min + Desconectar bomba por 1 h + Desconectar bomba por 2 h + Desconectar bomba por 3 h + Continuar + Reconectar Bomba + 15 min + 30 min + 1 hora + 2 horas + 3 horas + 10 horas + + resultado correto em % + resultado correto em unidades + Resultado: %1$s %2$ss + Precisando de %1$d g + glicemia atual + Hora do carboidrato + definir alarme temporizador de carboidrato + Mostrar Localização + Calc + IOB: + Insulina: + Carboidratos: + IOB Total: + Dur: + Rácio: + Ins: + IOB: + IOB Total: + TT + Corr + Purgar/Preencher + Alterações de perfil + Alvos Temporários + Carboidratos e bolus + Exibir registros invalidados / removidos + Ocultar registros invalidados / removidos + Atualizar do NS (Nightscout) + Atualizar de NS + Mostrar invalidados + Ocultar invalidados + Ocultar loop + Exibir loop + Clonar + Exibir registros do loop + Ocultar registros do loop + + Perfil 2 + Seleccionado: + diff --git a/ui/src/main/res/values-pt-rPT/strings.xml b/ui/src/main/res/values-pt-rPT/strings.xml index 4f5e0cf288..41170e1d9c 100644 --- a/ui/src/main/res/values-pt-rPT/strings.xml +++ b/ui/src/main/res/values-pt-rPT/strings.xml @@ -1,6 +1,5 @@ - Nenhuma ação seleccionada, nada irá acontecer Iniciar AT de atividade Iniciar AT de Comer em breve Iniciar AT de Hipo @@ -13,7 +12,59 @@ Cálculo em curso ID: Enviar - + %1$.1fg IC: %2$.1f + %1$.0fg IHC: %2$.1f + Superbólus + Total + + Botão 1 + Botão 2 + Botão 3 + Registar mudança local bomba + Registar mudança de reservatório + + + + Suspender loop por 2h + Suspender loop por 3h + Suspender loop por 10h + Remover a bomba + Remover bomba por 15 min + Remover bomba por 30 min + Remover bomba por 1 h + Remover bomba por 2 h + Remover bomba por 3 h + Retomar + Re-ligar a Bomba + 15 min. + 30 min. + 1 hora + 2 horas + 3 horas + 10 horas + + Resultado: %1$s %2$ss + A faltar %1$d g + Hora dos Hidratos + Mostrar Localização + Calc + IA: + Insulina: + Hidratos: + IA Total: + Dur: + Rácio: + Ins: + IA: + Total da IA: + AT + Corr + Purgar + Atualizar a partir do NS + Clone + + Seleccionado: + diff --git a/ui/src/main/res/values-ro-rRO/strings.xml b/ui/src/main/res/values-ro-rRO/strings.xml index 8b1e45e614..08e82ef568 100644 --- a/ui/src/main/res/values-ro-rRO/strings.xml +++ b/ui/src/main/res/values-ro-rRO/strings.xml @@ -1,6 +1,5 @@ - Nicio acțiune selectată, nu se va întâmpla nimic Start TT activitate Start TT mănânc-în-curând Start TT hipo @@ -13,7 +12,59 @@ Calcul în desfășurare ID: Trimiteți - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Total + + Buton 1 + Buton 2 + Buton 3 + Înregistrare schimbare a locului pompei + Înregistrare schimbare rezervor insulină + + + + Suspendă bucla pentru 2h + Suspendă bucla pentru 3h + Suspendă bucla pentru 10 h + Deconectează pompa + Deconectează pompa pentru 15 min + Deconectează pompa pentru 30 min + Deconectează pompa pentru 1h + Deconectează pompa pentru 2h + Deconectează pompa pentru 3h + Restabilește + Reconectaţi pompa + 15 min + 30 min + 1 oră + 2 ore + 3 ore + 10 ore + + Rezultat: %1$s %2$s + Lipsă %1$d g + Ora carbohidrați + Arată calculul + Calc + IOB: + Insulină: + Carbohidrați: + IOB total: + Durată: + Raport: + Ins: + IOB: + IOB totală: + TT + Corecție + Amorsare + Actualizează din NS + Clonează + + Selectat: + diff --git a/ui/src/main/res/values-ru-rRU/strings.xml b/ui/src/main/res/values-ru-rRU/strings.xml index 6c5d65ce39..2ccf634130 100644 --- a/ui/src/main/res/values-ru-rRU/strings.xml +++ b/ui/src/main/res/values-ru-rRU/strings.xml @@ -1,6 +1,5 @@ - Действие не выбрано, ничего не произойдет применено ограничение! применено ограничение болюса применено ограничение углеводов @@ -17,14 +16,115 @@ Настроить прозрачность Виджет AAPS + Монитор активности + Хотите сбросить статистику активности? Статистика Идет подсчет + Некорректное значение возраст + Некорректное значение вес Идентификатор: Отправить Возраст Вес + Наиболее часто применяемый профиль: Примечание: Данные, видимые на этом экране, будут загружены анонимно. Для этой установки AAPS назначен идентификатор. Вы можете снова передать данные, если ваш основной профиль будет изменен, но пусть он работает по крайней мере в течение недели, чтобы результат был виден в динамике. Ваша помощь ценна. - + Тип глюкозы + Другое + Глюкометр + Сенсор + %1$s ISF: %2$.1f + %1$.1fг IC: %2$.1f + %1$.0fг IC: %2$.1f + Суперболюс + Всего + + Убедитесь что количество соответствует характеристикам инфузионной системы! + Заполнить стандартное количество инсулина + Кнопка 1 + Кнопка 2 + Кнопка 3 + Внести запись о смене места катетера помпы + Внести запись о замене картриджа инсулина + + Не подавать болюс, только внести запись + + Повторно использовать %1$d%%%2$dч + Сдвиг по времени + В процентах + + Приостановить цикл на 1 час + Приостановить цикл на 2 часа + Приостановить цикл на 3 часа + Приостановить цикл на 10 часов + Отсоединить помпу + Отсоединить помпу на 15 мин + Отсоединить помпу на 30 мин + Отсоединить помпу на 1 час + Отсоединить помпу на 2 час + Отсоединить помпу на 3 часа + Возобновить + Возобновить соединение с помпой + 15 мин + 30 мин + 1 час + 2 часа + 3 часа + 10 часов + + изменить результат на % + изменить результат на ед + + Результат: %1$s %2$s + Не хватает %1$d г + текущий уровень глюкозы крови + Время приема углеводов + установить будильник приема углеводов + Показать расчет + Нет доступных записей + Кальк + IOB акт инс: + Инсулин: + Углеводы: + Общий IOB: + Общая активность IOB: + Длит: + Процент: + Инсулин: + IOB акт инс: + Общий IOB: + Врем цель (TT) + Коррекция + На еду + Заполн инфуз системы + Изменения профиля + Врем цели + Углеводы и болюс + Показать недействительные / удаленные записи + Скрыть недействительные / удаленные записи + Обновить из Nightscout + Обновить из NS + Показать недействительные + Скрыть недействительные + Удалить записи о начале работы AAPS + Скрыть цикл + Показать цикл + + Профиль 1 + Профиль 2 + Тип профиля + % базального + Выбрано: + Сравнить профили + Помощник профиля + Профиль по умолчанию + Текущий профиль + Доступный профиль + Возраст: %1$.0f Суточная Потребность: %2$.0f ед %3$d%% + Возраст: %1$.0f Вес: %2$.0f кг + Значение для профиля по умолчанию + Некорректное значение + + Базальная скорость diff --git a/ui/src/main/res/values-sk-rSK/strings.xml b/ui/src/main/res/values-sk-rSK/strings.xml index 0db43f44b9..52b69b82c2 100644 --- a/ui/src/main/res/values-sk-rSK/strings.xml +++ b/ui/src/main/res/values-sk-rSK/strings.xml @@ -1,6 +1,5 @@ - Žiadna akcia nevybraná, nič sa neudeje Aplikované obmedzenie! Aplikované obmedzenie bolusu Aplikované obmedzenie sacharidov @@ -29,11 +28,86 @@ Váha Najčastejšie používaný profil: Poznámka: Len údaje zobrazené na tejto obrazovke budú odosielané anonymne. ID je pridelené na túto inštaláciu AndroidAPS. Údaje môžete odoslať znova, ak sa váš hlavný profil zmení, ale nechajte ho bežať aspoň týždeň, aby bol výsledok času v rozsahu viditeľný. Vaša pomoc je vítaná. - Zadanie glykémie Iné Glukomer Senzor + %1$s ISF: %2$.1f + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Spolu + + Tlačidlo 1 + Tlačidlo 2 + Tlačidlo 3 + Zaznamenať výmenu setu + Zaznamenať výmenu inzulínu + + + + Pozastaviť uzavretý okruh na 2 h + Pozastaviť uzavretý okruh na 3 h + Pozastaviť uzavretý okruh na 10 h + Odpojenie pumpy + Odpojiť pumpu na 15 min + Odpojiť pumpu na 30 min + Odpojiť pumpu na 1 h + Odpojiť pumpu na 2 h + Odpojiť pumpu na 3 h + Pokračovať + Znovu pripojiť pumpu + 15 minút + 30 minút + 1 hodina + 2 hodiny + 3 hodiny + 10 hodiny + + správny výsledok v % + správny výsledok s jednotkami + Výsledok: %1$s %2$s + Chýba %1$d g + aktuálna glykémia + Čas jedla + nastaviť upozornenie na sacharidy + Zobraziť kalkuláciu + Nie sú k dispozícii žiadne záznamy + Kalk + IOB: + Inzulín: + Sacharidy: + Celkový IOB: + Celková aktivita IOB: + Trv: + Pomer: + Inz: + IOB: + Celkový IOB: + DC + Korekcia + Jedlo + Plnenie + Zmeny profilu + Dočasné ciele + Sacharidy a bolusy + Zobraziť zneplatnené / odstránené záznamy + Skryť zneplatnené / odstránené záznamy + Obnoviť z Nightscoutu + Aktualizovať z NS + Zobraziť zneplatnené + Skryť zneplatnené + Odstrániť všetky záznamy AAPS spustený + Skryť uzavretý okruh + Zobraziť uzavretý okruh + Záznam užívateľa + Klonovať + Zobraziť záznamy uzavretého okruhu + Skryť záznamy uzavretého okruhu + + Profil 2 + Vybrané: + diff --git a/ui/src/main/res/values-sr-rCS/strings.xml b/ui/src/main/res/values-sr-rCS/strings.xml index e92eaf702d..65b94c23d6 100644 --- a/ui/src/main/res/values-sr-rCS/strings.xml +++ b/ui/src/main/res/values-sr-rCS/strings.xml @@ -2,7 +2,27 @@ - + + + + + + Rezultat: %1$s %2$s + Nedostaje %1$d g + Vreme ugljenih hidrata + IOB: + Insulin: + Ugljeni hidrati: + Ukupno IOB: + Trajanje: + Odnos: + Ins: + IOB: + Ukupno IOB: + TT + Korekcija + + diff --git a/ui/src/main/res/values-sv-rSE/strings.xml b/ui/src/main/res/values-sv-rSE/strings.xml index 691e1367db..86e66d2c4f 100644 --- a/ui/src/main/res/values-sv-rSE/strings.xml +++ b/ui/src/main/res/values-sv-rSE/strings.xml @@ -1,6 +1,5 @@ - Ingen åtgärd vald. Inget ändras. Starta \"Träning\" Starta \"Äta snart\" Starta \"Hypo\" @@ -16,7 +15,62 @@ Spara Ålder Vikt - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + Superbolus + Total + + Knapp 1 + Knapp 2 + Knapp 3 + Logga byte av kanyl + Logga byte av insulinreservoar + + + + Pausa loop i 2 timmar + Pausa loop i 3 timmar + Pausa loop i 10 timmar + Koppla ifrån pump + Koppla loss pump i 15 min + Koppla loss pump i 30 min + Koppla loss pump i 1 timme + Koppla loss pump i 2 timmar + Koppla loss pump i 3 timmar + Återuppta + Återanslut Pump + 15 min + 30 min + 1 tim + 2 tim + 3 tim + 10 tim + + korrigera med % + korrigera med enheter + Resultat: %1$s %2$s + Saknar %1$dg + nuvarande BG + KH-tid + Visa beräkning + Kalkyl + IOB: + Insulin: + KH: + IOB fr bolus: + Dur: + Tot: + Ins: + IOB: + IOB fr basal: + TT + Korrektion + Förfyllning + Uppdatera från NS + Kopiera + + Valt: + diff --git a/ui/src/main/res/values-tr-rTR/strings.xml b/ui/src/main/res/values-tr-rTR/strings.xml index ae7f3c64b7..36355b4aac 100644 --- a/ui/src/main/res/values-tr-rTR/strings.xml +++ b/ui/src/main/res/values-tr-rTR/strings.xml @@ -1,6 +1,5 @@ - Seçili eylem yok, hiçbir şey olmayacak Sınırlaması uygulanır! Bolus kısıtlaması uygulandı Karbonhidrat kısıtlaması uygulandı @@ -24,7 +23,36 @@ Yaş Ağırlık Not: Yalnızca bu ekranda görünen veriler anonim olarak yüklenecektir. Bu AAPS kurulumunda kimlik atanır. Ana profiliniz değişirse verileri tekrar gönderebilir, ancak sonuçların zaman içinde görünür olması için en az bir hafta çalışmasına izin verebilirsiniz. Yardımın takdire değer. - + + %1$.1fg Kİ: %2$.1f + %1$.0fg IC: %2$.1f + Süperbolus + Toplam + + + + + Hesap + AİNS: + İnsülin: + Karbonhidrat: + Toplam AİNS: + Süre: + Oran: + Profil değişiklikleri + Geçersiz kılınan / kaldırılan kayıtları göster + Geçersiz kılınan / kaldırılan kayıtları gizle + Nightscout\'tan Yenile + NS\'tan yenile + Geçersiz olanları göster + Geçersiz olanları gizle + Döngüyü gizle + Döngüyü göster + Klon + Döngü kayıtlarını göster + Döngü kayıtlarını gizle + + diff --git a/ui/src/main/res/values-zh-rCN/strings.xml b/ui/src/main/res/values-zh-rCN/strings.xml index 474f775dec..d55841d518 100644 --- a/ui/src/main/res/values-zh-rCN/strings.xml +++ b/ui/src/main/res/values-zh-rCN/strings.xml @@ -1,6 +1,5 @@ - 没有选择任何行动,不会做出任何改变 对话框已取消 开始运动临时目标 开始很快吃饭TT(临时目标) @@ -17,7 +16,76 @@ 提交 年龄 重量 - + %1$.1fg IC: %2$.1f + %1$.0fg IC: %2$.1f + 超级大剂量Superbolus + 总计 + + 按钮1 + 按钮2 + 按钮3 + 记录泵管路更换 + 记录胰岛素储药器变化 + + + + 暂停闭环2个小时 + 暂停闭环3个小时 + 暂停闭环10个小时 + 断开泵连接 + 与泵断开连接15分钟 + 与泵断开连接30分钟 + 与泵断开连接1个小时 + 与泵断开连接2个小时 + 与泵断开连接3个小时 + 恢复 + 重新连接泵 + 15 分钟 + 30 分钟 + 1 小时 + 2 小时 + 3 小时 + 10 小时 + + 校正结果使用% + 校正结果使用单位 + 结果: %1$s %2$s + 缺少 %1$d 克 + 当前血糖 + 碳水时间 + 设置碳水计时器提醒 + 显示计时器 + 计算 + IOB活性胰岛素: + 胰岛素: + 碳水化合物: + 总 IOB: + Dur: + 比率: + Ins: + IOB活性胰岛素: + 总 IOB: + 临时目标 + 矫正值 + 充盈 + 配置文件更改 + 临时目标 + 碳水与大剂量 + 显示无效/已删除的记录 + 隐藏无效/已删除的记录 + 从 Nightscout 刷新 + 从NS刷新 + 显示无效项 + 隐藏失效项 + 隐藏闭环 + 显示闭环 + 克隆 + 显示闭环记录 + 隐藏闭环记录 + + 配置文件 2 + 已选择: + From d8880b36bfca5e10904ae579ac0bfb81acf4cc58 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 21:48:43 +0100 Subject: [PATCH 099/123] fix tests --- .../implementation/queue/CommandQueueImplementation.kt | 2 +- .../queue/CommandQueueImplementationTest.kt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 097cde704e..cd42d0269b 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -99,7 +99,7 @@ class CommandQueueImplementation @Inject constructor( ) : CommandQueue { private val disposable = CompositeDisposable() - private var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) + internal var handler = Handler(HandlerThread(this::class.simpleName + "Handler").also { it.start() }.looper) private val queue = LinkedList() @Volatile private var thread: QueueThread? = null diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 95471d7e49..e416baeae5 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.queue import android.content.Context +import android.os.Handler import android.os.PowerManager import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector @@ -42,7 +43,9 @@ import org.junit.Before import org.junit.Test import org.mockito.Mock import org.mockito.Mockito.anyLong +import org.mockito.Mockito.mock import org.mockito.Mockito.`when` +import org.mockito.invocation.InvocationOnMock import java.util.Calendar class CommandQueueImplementationTest : TestBaseWithProfile() { @@ -162,6 +165,13 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { dateUtil, repository, fabricPrivacy, config, androidPermission, activityNames ) + val handler = mock(Handler::class.java) + `when`(handler.post(anyObject())).thenAnswer { invocation: InvocationOnMock -> + (invocation.arguments[0] as Runnable).run() + true + } + commandQueue.handler = handler + // start with empty queue Assert.assertEquals(0, commandQueue.size()) From c0f9184f7bc09e72d19e8b1d3a146381d0b8859c Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 22:49:58 +0100 Subject: [PATCH 100/123] fix tests --- .../implementation/queue/CommandQueueImplementationTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index e416baeae5..3d856f602d 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -82,7 +82,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { activePlugin, context, sp, buildHelper, dateUtil, repository, fabricPrivacy, config, androidPermission, activityNames ) { - override fun notifyAboutNewCommand() {} + override fun notifyAboutNewCommand() : Boolean = true } From 99c232a2e5c3a642d91409c004c50415431bdcc1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 15 Nov 2022 23:02:25 +0100 Subject: [PATCH 101/123] fix actions fragment --- .../androidaps/implementations/ActivityNamesImpl.kt | 3 ++- ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt index 548d4353b1..6cc574f9e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ActivityNamesImpl.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import androidx.annotation.RawRes +import androidx.annotation.StringRes import androidx.fragment.app.FragmentManager import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.activities.HistoryBrowseActivity @@ -91,7 +92,7 @@ class ActivityNamesImpl @Inject constructor() : ActivityNames { .show(fragmentManager, "ProfileViewer") } - override fun runCareDialog(fragmentManager: FragmentManager, options: ActivityNames.EventType, event: Int) { + override fun runCareDialog(fragmentManager: FragmentManager, options: ActivityNames.EventType, @StringRes event: Int) { CareDialog() .also { it.arguments = Bundle().also { bundle -> diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt index 3bef6972ff..806c3f4492 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CareDialog.kt @@ -85,9 +85,9 @@ class CareDialog : DialogFragmentWithDate() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - savedInstanceState?.let { - event = savedInstanceState.getInt("event", R.string.error) - options = ActivityNames.EventType.values()[savedInstanceState.getInt("options", 0)] + (savedInstanceState ?: arguments)?.let { + event = it.getInt("event", R.string.error) + options = ActivityNames.EventType.values()[it.getInt("options", 0)] } binding.icon.setImageResource( From 4be8c1a554b4a679e41cc2e905954bbd6d8b40d8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 16 Nov 2022 09:42:44 +0100 Subject: [PATCH 102/123] Gradle test --- build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.gradle b/build.gradle index fb9425fa44..99df1c565c 100644 --- a/build.gradle +++ b/build.gradle @@ -67,6 +67,8 @@ buildscript { } plugins { + // Test Gradle build, keep disabled under normal circumstances + // id "com.osacky.doctor" version "0.8.1" id "io.gitlab.arturbosch.detekt" version "1.21.0" id "org.jlleitschuh.gradle.ktlint" version "11.0.0" id 'org.barfuin.gradle.jacocolog' version '2.0.0' From 1b08e788098b0daa31c8d489b2bf0daa2bc8b232 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 16 Nov 2022 10:29:20 +0100 Subject: [PATCH 103/123] make ktlint global, remove detekt --- build.gradle | 3 +- pump/omnipod-dash/build.gradle | 7 - pump/omnipod-dash/detekt-config.yml | 690 ---------------------------- 3 files changed, 2 insertions(+), 698 deletions(-) delete mode 100644 pump/omnipod-dash/detekt-config.yml diff --git a/build.gradle b/build.gradle index 99df1c565c..be7c8dbb20 100644 --- a/build.gradle +++ b/build.gradle @@ -69,7 +69,6 @@ buildscript { plugins { // Test Gradle build, keep disabled under normal circumstances // id "com.osacky.doctor" version "0.8.1" - id "io.gitlab.arturbosch.detekt" version "1.21.0" id "org.jlleitschuh.gradle.ktlint" version "11.0.0" id 'org.barfuin.gradle.jacocolog' version '2.0.0' id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false @@ -96,6 +95,8 @@ allprojects { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } + + apply plugin: 'org.jlleitschuh.gradle.ktlint' } apply from: 'jacoco_project.gradle' diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index a36c0451b9..65d0b50f7f 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -4,8 +4,6 @@ plugins { id 'kotlin-kapt' id 'kotlin-allopen' id 'com.hiya.jacoco-android' - id "io.gitlab.arturbosch.detekt" // TODO move to `subprojects` section in global build.gradle - id "org.jlleitschuh.gradle.ktlint" // TODO move to `subprojects` section in global build.gradle } apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" @@ -14,11 +12,6 @@ apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" -detekt { // TODO move to `subprojects` section in global build.gradle - toolVersion = "1.15.0-RC2" - config = files("./detekt-config.yml") // TODO move to global space and use "../detekt-config.yml" -} - android { namespace 'info.nightscout.androidaps.plugins.pump.omnipod.dash' diff --git a/pump/omnipod-dash/detekt-config.yml b/pump/omnipod-dash/detekt-config.yml deleted file mode 100644 index f0fd4930d7..0000000000 --- a/pump/omnipod-dash/detekt-config.yml +++ /dev/null @@ -1,690 +0,0 @@ -build: - maxIssues: -1 - excludeCorrectable: false - weights: - # complexity: 2 - # LongParameterList: 1 - # style: 1 - # comments: 1 - -config: - validation: true - warningsAsErrors: false - # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]' - excludes: '' - -processors: - active: true - exclude: - - 'DetektProgressListener' - # - 'FunctionCountProcessor' - # - 'PropertyCountProcessor' - # - 'ClassCountProcessor' - # - 'PackageCountProcessor' - # - 'KtFileCountProcessor' - -console-reports: - active: true - exclude: - - 'ProjectStatisticsReport' - - 'ComplexityReport' - - 'NotificationReport' - # - 'FindingsReport' - - 'FileBasedFindingsReport' - -output-reports: - active: true - exclude: - # - 'TxtOutputReport' - # - 'XmlOutputReport' - # - 'HtmlOutputReport' - -comments: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - AbsentOrWrongFileLicense: - active: false - licenseTemplateFile: 'license.template' - CommentOverPrivateFunction: - active: false - CommentOverPrivateProperty: - active: false - EndOfSentenceFormat: - active: false - endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' - UndocumentedPublicClass: - active: false - searchInNestedClass: true - searchInInnerClass: true - searchInInnerObject: true - searchInInnerInterface: true - UndocumentedPublicFunction: - active: false - UndocumentedPublicProperty: - active: false - -complexity: - active: true - ComplexCondition: - active: true - threshold: 4 - ComplexInterface: - active: false - threshold: 10 - includeStaticDeclarations: false - includePrivateDeclarations: false - ComplexMethod: - active: true - threshold: 15 - ignoreSingleWhenExpression: false - ignoreSimpleWhenEntries: false - ignoreNestingFunctions: false - nestingFunctions: [run, let, apply, with, also, use, forEach, isNotNull, ifNull] - LabeledExpression: - active: false - ignoredLabels: [] - LargeClass: - active: true - threshold: 600 - LongMethod: - active: true - threshold: 60 - LongParameterList: - active: true - functionThreshold: 6 - constructorThreshold: 7 - ignoreDefaultParameters: false - ignoreDataClasses: true - ignoreAnnotated: [] - MethodOverloading: - active: false - threshold: 6 - NamedArguments: - active: false - threshold: 3 - NestedBlockDepth: - active: true - threshold: 4 - ReplaceSafeCallChainWithRun: - active: false - StringLiteralDuplication: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - threshold: 3 - ignoreAnnotation: true - excludeStringsWithLessThan5Characters: true - ignoreStringsRegex: '$^' - TooManyFunctions: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - thresholdInFiles: 11 - thresholdInClasses: 11 - thresholdInInterfaces: 11 - thresholdInObjects: 11 - thresholdInEnums: 11 - ignoreDeprecated: false - ignorePrivate: false - ignoreOverridden: false - -coroutines: - active: true - GlobalCoroutineUsage: - active: false - RedundantSuspendModifier: - active: false - SuspendFunWithFlowReturnType: - active: false - -empty-blocks: - active: true - EmptyCatchBlock: - active: true - allowedExceptionNameRegex: '_|(ignore|expected).*' - EmptyClassBlock: - active: true - EmptyDefaultConstructor: - active: true - EmptyDoWhileBlock: - active: true - EmptyElseBlock: - active: true - EmptyFinallyBlock: - active: true - EmptyForBlock: - active: true - EmptyFunctionBlock: - active: true - ignoreOverridden: false - EmptyIfBlock: - active: true - EmptyInitBlock: - active: true - EmptyKtFile: - active: true - EmptySecondaryConstructor: - active: true - EmptyTryBlock: - active: true - EmptyWhenBlock: - active: true - EmptyWhileBlock: - active: true - -exceptions: - active: true - ExceptionRaisedInUnexpectedLocation: - active: false - methodNames: [toString, hashCode, equals, finalize] - InstanceOfCheckForException: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - NotImplementedDeclaration: - active: false - PrintStackTrace: - active: false - RethrowCaughtException: - active: false - ReturnFromFinally: - active: false - ignoreLabeled: false - SwallowedException: - active: false - ignoredExceptionTypes: - - InterruptedException - - NumberFormatException - - ParseException - - MalformedURLException - allowedExceptionNameRegex: '_|(ignore|expected).*' - ThrowingExceptionFromFinally: - active: false - ThrowingExceptionInMain: - active: false - ThrowingExceptionsWithoutMessageOrCause: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptions: - - IllegalArgumentException - - IllegalStateException - - IOException - ThrowingNewInstanceOfSameException: - active: false - TooGenericExceptionCaught: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptionNames: - - ArrayIndexOutOfBoundsException - - Error - - Exception - - IllegalMonitorStateException - - NullPointerException - - IndexOutOfBoundsException - - RuntimeException - - Throwable - allowedExceptionNameRegex: '_|(ignore|expected).*' - TooGenericExceptionThrown: - active: true - exceptionNames: - - Error - - Exception - - Throwable - - RuntimeException - -formatting: - active: true - android: false - autoCorrect: true - AnnotationOnSeparateLine: - active: false - autoCorrect: true - AnnotationSpacing: - active: false - autoCorrect: true - ArgumentListWrapping: - active: false - autoCorrect: true - ChainWrapping: - active: true - autoCorrect: true - CommentSpacing: - active: true - autoCorrect: true - EnumEntryNameCase: - active: false - autoCorrect: true - Filename: - active: true - FinalNewline: - active: true - autoCorrect: true - insertFinalNewLine: true - ImportOrdering: - active: false - autoCorrect: true - layout: 'idea' - Indentation: - active: false - autoCorrect: true - indentSize: 4 - continuationIndentSize: 4 - MaximumLineLength: - active: true - maxLineLength: 150 - ModifierOrdering: - active: true - autoCorrect: true - MultiLineIfElse: - active: true - autoCorrect: true - NoBlankLineBeforeRbrace: - active: true - autoCorrect: true - NoConsecutiveBlankLines: - active: true - autoCorrect: true - NoEmptyClassBody: - active: true - autoCorrect: true - NoEmptyFirstLineInMethodBlock: - active: false - autoCorrect: true - NoLineBreakAfterElse: - active: true - autoCorrect: true - NoLineBreakBeforeAssignment: - active: true - autoCorrect: true - NoMultipleSpaces: - active: true - autoCorrect: true - NoSemicolons: - active: true - autoCorrect: true - NoTrailingSpaces: - active: true - autoCorrect: true - NoUnitReturn: - active: true - autoCorrect: true - NoUnusedImports: - active: true - autoCorrect: true - NoWildcardImports: - active: true - PackageName: - active: true - autoCorrect: true - ParameterListWrapping: - active: true - autoCorrect: true - indentSize: 4 - SpacingAroundColon: - active: true - autoCorrect: true - SpacingAroundComma: - active: true - autoCorrect: true - SpacingAroundCurly: - active: true - autoCorrect: true - SpacingAroundDot: - active: true - autoCorrect: true - SpacingAroundDoubleColon: - active: false - autoCorrect: true - SpacingAroundKeyword: - active: true - autoCorrect: true - SpacingAroundOperators: - active: true - autoCorrect: true - SpacingAroundParens: - active: true - autoCorrect: true - SpacingAroundRangeOperator: - active: true - autoCorrect: true - SpacingBetweenDeclarationsWithAnnotations: - active: false - autoCorrect: true - SpacingBetweenDeclarationsWithComments: - active: false - autoCorrect: true - StringTemplate: - active: true - autoCorrect: true - -naming: - active: true - ClassNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - classPattern: '[A-Z][a-zA-Z0-9]*' - ConstructorParameterNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - parameterPattern: '[a-z][A-Za-z0-9]*' - privateParameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - ignoreOverridden: true - EnumNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - enumEntryPattern: '[A-Z][_a-zA-Z0-9]*' - ForbiddenClassName: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - forbiddenName: [] - FunctionMaxLength: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - maximumFunctionNameLength: 30 - FunctionMinLength: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - minimumFunctionNameLength: 3 - FunctionNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - functionPattern: '([a-z][a-zA-Z0-9]*)|(`.*`)' - excludeClassPattern: '$^' - ignoreOverridden: true - ignoreAnnotated: ['Composable'] - FunctionParameterNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - parameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - ignoreOverridden: true - InvalidPackageDeclaration: - active: false - rootPackage: '' - MatchingDeclarationName: - active: true - mustBeFirst: true - MemberNameEqualsClassName: - active: true - ignoreOverridden: true - NonBooleanPropertyPrefixedWithIs: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - ObjectPropertyNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - constantPattern: '[A-Za-z][_A-Za-z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*' - PackageNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*' - TopLevelPropertyNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - constantPattern: '[A-Z][_A-Z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' - VariableMaxLength: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - maximumVariableNameLength: 64 - VariableMinLength: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - minimumVariableNameLength: 1 - VariableNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - variablePattern: '[a-z][A-Za-z0-9]*' - privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - ignoreOverridden: true - -performance: - active: true - ArrayPrimitive: - active: true - ForEachOnRange: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - SpreadOperator: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - UnnecessaryTemporaryInstantiation: - active: true - -potential-bugs: - active: true - Deprecation: - active: false - DuplicateCaseInWhenExpression: - active: true - EqualsAlwaysReturnsTrueOrFalse: - active: true - EqualsWithHashCodeExist: - active: true - ExplicitGarbageCollectionCall: - active: true - HasPlatformType: - active: false - IgnoredReturnValue: - active: false - restrictToAnnotatedMethods: true - returnValueAnnotations: ['*.CheckReturnValue', '*.CheckResult'] - ImplicitDefaultLocale: - active: false - ImplicitUnitReturnType: - active: false - allowExplicitReturnType: true - InvalidRange: - active: true - IteratorHasNextCallsNextMethod: - active: true - IteratorNotThrowingNoSuchElementException: - active: true - LateinitUsage: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - excludeAnnotatedProperties: [] - ignoreOnClassesPattern: '' - MapGetWithNotNullAssertionOperator: - active: false - MissingWhenCase: - active: true - allowElseExpression: true - NullableToStringCall: - active: false - RedundantElseInWhen: - active: true - UnconditionalJumpStatementInLoop: - active: false - UnnecessaryNotNullOperator: - active: false - UnnecessarySafeCall: - active: false - UnreachableCode: - active: true - UnsafeCallOnNullableType: - active: true - UnsafeCast: - active: false - UselessPostfixExpression: - active: false - WrongEqualsTypeParameter: - active: true - -style: - active: true - ClassOrdering: - active: false - CollapsibleIfStatements: - active: false - DataClassContainsFunctions: - active: false - conversionFunctionPrefix: 'to' - DataClassShouldBeImmutable: - active: false - EqualsNullCall: - active: true - EqualsOnSignatureLine: - active: false - ExplicitCollectionElementAccessMethod: - active: false - ExplicitItLambdaParameter: - active: false - ExpressionBodySyntax: - active: false - includeLineWrapping: false - ForbiddenComment: - active: true - values: ['TODO:', 'FIXME:', 'STOPSHIP:'] - allowedPatterns: '' - ForbiddenImport: - active: false - imports: [] - forbiddenPatterns: '' - ForbiddenMethodCall: - active: false - methods: ['kotlin.io.println', 'kotlin.io.print'] - ForbiddenPublicDataClass: - active: false - ignorePackages: ['*.internal', '*.internal.*'] - ForbiddenVoid: - active: false - ignoreOverridden: false - ignoreUsageInGenerics: false - FunctionOnlyReturningConstant: - active: true - ignoreOverridableFunction: true - excludedFunctions: 'describeContents' - excludeAnnotatedFunction: ['dagger.Provides'] - LibraryCodeMustSpecifyReturnType: - active: true - LibraryEntitiesShouldNotBePublic: - active: false - LoopWithTooManyJumpStatements: - active: true - maxJumpCount: 1 - MagicNumber: - active: true - # TODO: re-enable omnipod-dash - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', '**/omnipod-dash/**'] - ignoreNumbers: ['-1', '0', '1', '2'] - ignoreHashCodeFunction: true - ignorePropertyDeclaration: false - ignoreLocalVariableDeclaration: false - ignoreConstantDeclaration: true - ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotation: false - ignoreNamedArgument: true - ignoreEnums: false - ignoreRanges: false - MandatoryBracesIfStatements: - active: false - MandatoryBracesLoops: - active: false - MaxLineLength: - active: true - maxLineLength: 120 - excludePackageStatements: true - excludeImportStatements: true - excludeCommentStatements: false - MayBeConst: - active: true - ModifierOrder: - active: true - NestedClassesVisibility: - active: false - NewLineAtEndOfFile: - active: false - NoTabs: - active: false - OptionalAbstractKeyword: - active: true - OptionalUnit: - active: false - OptionalWhenBraces: - active: false - PreferToOverPairSyntax: - active: false - ProtectedMemberInFinalClass: - active: true - RedundantExplicitType: - active: false - RedundantHigherOrderMapUsage: - active: false - RedundantVisibilityModifierRule: - active: false - ReturnCount: - active: true - max: 2 - excludedFunctions: 'equals' - excludeLabeled: false - excludeReturnFromLambda: true - excludeGuardClauses: false - SafeCast: - active: true - SerialVersionUIDInSerializableClass: - active: false - SpacingBetweenPackageAndImports: - active: false - ThrowsCount: - active: true - max: 2 - TrailingWhitespace: - active: false - UnderscoresInNumericLiterals: - active: false - acceptableDecimalLength: 5 - UnnecessaryAbstractClass: - active: true - excludeAnnotatedClasses: ['dagger.Module'] - UnnecessaryAnnotationUseSiteTarget: - active: false - UnnecessaryApply: - active: false - UnnecessaryInheritance: - active: true - UnnecessaryLet: - active: false - UnnecessaryParentheses: - active: false - UntilInsteadOfRangeTo: - active: false - UnusedImports: - active: false - UnusedPrivateClass: - active: true - UnusedPrivateMember: - active: false - allowedNames: '(_|ignored|expected|serialVersionUID)' - UseArrayLiteralsInAnnotations: - active: false - UseCheckNotNull: - active: false - UseCheckOrError: - active: false - UseDataClass: - active: false - excludeAnnotatedClasses: [] - allowVars: false - UseEmptyCounterpart: - active: false - UseIfEmptyOrIfBlank: - active: false - UseIfInsteadOfWhen: - active: false - UseRequire: - active: false - UseRequireNotNull: - active: false - UselessCallOnNotNull: - active: true - UtilityClassWithPublicConstructor: - active: true - VarCouldBeVal: - active: false - WildcardImport: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] - excludeImports: ['java.util.*', 'kotlinx.android.synthetic.*'] \ No newline at end of file From 152fd063cb7aa59ae93a6b92df8e160515b6145b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 16 Nov 2022 10:36:42 +0100 Subject: [PATCH 104/123] Aaps -> WearApp --- wear/src/main/AndroidManifest.xml | 2 +- .../java/info/nightscout/androidaps/{Aaps.kt => WearApp.kt} | 2 +- .../java/info/nightscout/androidaps/di/WearComponent.kt | 6 +++--- .../main/java/info/nightscout/androidaps/di/WearModule.kt | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) rename wear/src/main/java/info/nightscout/androidaps/{Aaps.kt => WearApp.kt} (96%) diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml index 3d10810e37..1b5db5dc26 100644 --- a/wear/src/main/AndroidManifest.xml +++ b/wear/src/main/AndroidManifest.xml @@ -11,7 +11,7 @@ { +interface WearComponent : AndroidInjector { @Component.Builder interface Builder { @BindsInstance - fun application(aaps: Aaps): Builder + fun application(aaps: WearApp): Builder fun build(): WearComponent } diff --git a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt index 91fa047b5e..1875954570 100644 --- a/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt +++ b/wear/src/main/java/info/nightscout/androidaps/di/WearModule.kt @@ -4,7 +4,7 @@ import android.content.Context import dagger.Binds import dagger.Module import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.Aaps +import info.nightscout.androidaps.WearApp import info.nightscout.rx.di.RxModule import info.nightscout.shared.di.SharedModule import info.nightscout.shared.impl.di.SharedImplModule @@ -24,8 +24,8 @@ open class WearModule { @Module interface AppBindings { - @Binds fun bindContext(aaps: Aaps): Context - @Binds fun bindInjector(aaps: Aaps): HasAndroidInjector + @Binds fun bindContext(aaps: WearApp): Context + @Binds fun bindInjector(aaps: WearApp): HasAndroidInjector } } From c86f25824ae510c97256aae9349d7644a47aaed4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 16 Nov 2022 10:47:53 +0100 Subject: [PATCH 105/123] rename classes --- .../info/nightscout/database/impl/DelegatedAppDatabase.kt | 8 ++++---- .../impl/daos/delegated/DelegatedAPSResultLinkDao.kt | 2 +- .../impl/daos/delegated/DelegatedExtendedBolusDao.kt | 2 +- .../InvalidateTemporaryBasalTransactionWithPumpId.kt | 4 +--- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt b/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt index ad6ecf8430..c8865506af 100644 --- a/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/DelegatedAppDatabase.kt @@ -21,13 +21,13 @@ import info.nightscout.database.impl.daos.TotalDailyDoseDao import info.nightscout.database.impl.daos.UserEntryDao import info.nightscout.database.impl.daos.VersionChangeDao import info.nightscout.database.impl.daos.delegated.DelegatedAPSResultDao -import info.nightscout.database.impl.daos.delegated.DelegatedAPSResultLinkLinkDao +import info.nightscout.database.impl.daos.delegated.DelegatedAPSResultLinkDao import info.nightscout.database.impl.daos.delegated.DelegatedBolusCalculatorResultDao import info.nightscout.database.impl.daos.delegated.DelegatedBolusDao import info.nightscout.database.impl.daos.delegated.DelegatedCarbsDao import info.nightscout.database.impl.daos.delegated.DelegatedDeviceStatusDao import info.nightscout.database.impl.daos.delegated.DelegatedEffectiveProfileSwitchDao -import info.nightscout.database.impl.daos.delegated.DelegatedExtendedExtendedBolusDao +import info.nightscout.database.impl.daos.delegated.DelegatedExtendedBolusDao import info.nightscout.database.impl.daos.delegated.DelegatedFoodDao import info.nightscout.database.impl.daos.delegated.DelegatedGlucoseValueDao import info.nightscout.database.impl.daos.delegated.DelegatedMultiwaveBolusLinkDao @@ -48,12 +48,12 @@ internal class DelegatedAppDatabase(val changes: MutableList, val datab val therapyEventDao: TherapyEventDao = DelegatedTherapyEventDao(changes, database.therapyEventDao) val temporaryBasalDao: TemporaryBasalDao = DelegatedTemporaryBasalDao(changes, database.temporaryBasalDao) val bolusDao: BolusDao = DelegatedBolusDao(changes, database.bolusDao) - val extendedBolusDao: ExtendedBolusDao = DelegatedExtendedExtendedBolusDao(changes, database.extendedBolusDao) + val extendedBolusDao: ExtendedBolusDao = DelegatedExtendedBolusDao(changes, database.extendedBolusDao) val multiwaveBolusLinkDao: MultiwaveBolusLinkDao = DelegatedMultiwaveBolusLinkDao(changes, database.multiwaveBolusLinkDao) val totalDailyDoseDao: TotalDailyDoseDao = DelegatedTotalDailyDoseDao(changes, database.totalDailyDoseDao) val carbsDao: CarbsDao = DelegatedCarbsDao(changes, database.carbsDao) val temporaryTargetDao: TemporaryTargetDao = DelegatedTemporaryTargetDao(changes, database.temporaryTargetDao) - val apsResultLinkDao: APSResultLinkDao = DelegatedAPSResultLinkLinkDao(changes, database.apsResultLinkDao) + val apsResultLinkDao: APSResultLinkDao = DelegatedAPSResultLinkDao(changes, database.apsResultLinkDao) val bolusCalculatorResultDao: BolusCalculatorResultDao = DelegatedBolusCalculatorResultDao(changes, database.bolusCalculatorResultDao) val effectiveProfileSwitchDao: EffectiveProfileSwitchDao = DelegatedEffectiveProfileSwitchDao(changes, database.effectiveProfileSwitchDao) val profileSwitchDao: ProfileSwitchDao = DelegatedProfileSwitchDao(changes, database.profileSwitchDao) diff --git a/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt index a165536fcd..756b07c20f 100644 --- a/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedAPSResultLinkDao.kt @@ -4,7 +4,7 @@ import info.nightscout.database.impl.daos.APSResultLinkDao import info.nightscout.database.entities.APSResultLink import info.nightscout.database.entities.interfaces.DBEntry -internal class DelegatedAPSResultLinkLinkDao(changes: MutableList, private val dao: APSResultLinkDao) : DelegatedDao(changes), APSResultLinkDao by dao { +internal class DelegatedAPSResultLinkDao(changes: MutableList, private val dao: APSResultLinkDao) : DelegatedDao(changes), APSResultLinkDao by dao { override fun insertNewEntry(entry: APSResultLink): Long { changes.add(entry) diff --git a/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt index 76e89815dd..f650e3588e 100644 --- a/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/daos/delegated/DelegatedExtendedBolusDao.kt @@ -4,7 +4,7 @@ import info.nightscout.database.impl.daos.ExtendedBolusDao import info.nightscout.database.entities.ExtendedBolus import info.nightscout.database.entities.interfaces.DBEntry -internal class DelegatedExtendedExtendedBolusDao(changes: MutableList, private val dao: ExtendedBolusDao) : DelegatedDao(changes), ExtendedBolusDao by dao { +internal class DelegatedExtendedBolusDao(changes: MutableList, private val dao: ExtendedBolusDao) : DelegatedDao(changes), ExtendedBolusDao by dao { override fun insertNewEntry(entry: ExtendedBolus): Long { changes.add(entry) diff --git a/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt index d4ed06050e..d39f5caf8e 100644 --- a/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt +++ b/database/impl/src/main/java/info/nightscout/database/impl/transactions/InvalidateTemporaryBasalTransactionWithPumpId.kt @@ -3,9 +3,7 @@ package info.nightscout.database.impl.transactions import info.nightscout.database.entities.TemporaryBasal import info.nightscout.database.entities.embedments.InterfaceIDs -class InvalidateTemporaryBasalTransactionWithPumpId(val pumpId: Long, val pumpType: InterfaceIDs.PumpType, val -pumpSerial: -String) : +class InvalidateTemporaryBasalTransactionWithPumpId(val pumpId: Long, val pumpType: InterfaceIDs.PumpType, val pumpSerial: String) : Transaction() { override fun run(): TransactionResult { From 222a22b45e02fa57f01c16a982139dc77578ddf7 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 17 Nov 2022 18:06:03 +0100 Subject: [PATCH 106/123] SHouw only date in About dialog --- app/build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 56f0acf025..b0f0547e90 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,7 +56,8 @@ def generateGitRemote = { -> def generateDate = { -> StringBuilder stringBuilder = new StringBuilder() - stringBuilder.append((new Date()).format('yyyy.MM.dd-HH:mm')) + // showing only date prevents app to rebuild everytime + stringBuilder.append((new Date()).format('yyyy.MM.dd')) return stringBuilder.toString() } From bd860f4a524ec416a42f461b39338a40fc568063 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 17 Nov 2022 20:37:51 +0100 Subject: [PATCH 107/123] optimize dependencies --- app/build.gradle | 2 ++ build.gradle | 1 + core/core-main/build.gradle | 49 ++++---------------------------- insight/build.gradle | 2 ++ plugins/aps/build.gradle | 1 + plugins/automation/build.gradle | 1 + plugins/main/build.gradle | 4 +++ pump/omnipod-common/build.gradle | 4 +++ 8 files changed, 21 insertions(+), 43 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b0f0547e90..9fade3c32b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -225,6 +225,8 @@ dependencies { // MainApp api "com.uber.rxdogtag2:rxdogtag:2.0.1" + // DataLayerListenerService + api "com.google.android.gms:play-services-wearable:$play_services_wearable_version" } apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" diff --git a/build.gradle b/build.gradle index be7c8dbb20..31ece7c158 100644 --- a/build.gradle +++ b/build.gradle @@ -28,6 +28,7 @@ buildscript { json_version = '20220320' serialization_version = '1.4.1' joda_version = '2.12.1' + swipe_version = '1.1.0' junit_version = '4.13.2' mockito_version = '4.4.0' diff --git a/core/core-main/build.gradle b/core/core-main/build.gradle index 9125fb55f6..9cb96a63ac 100644 --- a/core/core-main/build.gradle +++ b/core/core-main/build.gradle @@ -23,59 +23,22 @@ dependencies { implementation project(':core:ui') api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$coroutines_version" - api "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutines_version" - - api "androidx.activity:activity-ktx:$activity_version" - api "androidx.appcompat:appcompat:$appcompat_version" - - api 'androidx.biometric:biometric:1.1.0' - - api 'androidx.cardview:cardview:1.0.0' - api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" - api "androidx.core:core-ktx:$core_version" - api "androidx.fragment:fragment-ktx:$fragmentktx_version" - api 'androidx.legacy:legacy-support-v13:1.0.0' - api 'androidx.legacy:legacy-support-v4:1.0.0' - api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" - api "androidx.lifecycle:lifecycle-process:$lifecycle_version" - api "androidx.navigation:navigation-fragment-ktx:$nav_version" - api "androidx.navigation:navigation-runtime-ktx:$nav_version" - api "androidx.navigation:navigation-ui-ktx:$nav_version" - api 'androidx.percentlayout:percentlayout:1.0.0' - api 'androidx.recyclerview:recyclerview:1.2.1' - - api 'androidx.gridlayout:gridlayout:1.0.0' - - api "com.google.android.material:material:$material_version" - - api "com.google.dagger:dagger-android:$dagger_version" - api "com.google.dagger:dagger-android-support:$dagger_version" - - api "com.google.android.gms:play-services-wearable:$play_services_wearable_version" - api "com.google.android.gms:play-services-location:$play_services_location_version" api 'com.google.guava:guava:31.1-jre' - api "androidx.work:work-rxjava3:$work_version" + api "androidx.activity:activity-ktx:$activity_version" + api "androidx.appcompat:appcompat:$appcompat_version" + api 'androidx.biometric:biometric:1.1.0' + api "com.google.dagger:dagger-android:$dagger_version" + api "com.google.dagger:dagger-android-support:$dagger_version" //CryptoUtil api 'com.madgag.spongycastle:core:1.58.0.0' api "com.google.crypto.tink:tink-android:$tink_version" //WorkManager - api "androidx.work:work-runtime:$work_version" - api "androidx.work:work-runtime-ktx:$work_version" - //api "androidx.work:work-rxjava3:$work_version" - //api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' - - - api "commons-codec:commons-codec:$commonscodec_version" - + api "androidx.work:work-runtime:$work_version" // DataWorkerStorage } android { diff --git a/insight/build.gradle b/insight/build.gradle index 6e5bc131cc..94a41ddbbc 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -38,4 +38,6 @@ dependencies { api "androidx.room:room-runtime:$room_version" api "androidx.room:room-rxjava3:$room_version" kapt "androidx.room:room-compiler:$room_version" + + api "com.google.android.material:material:$material_version" } \ No newline at end of file diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle index 8aa25674c8..82991ec3b2 100644 --- a/plugins/aps/build.gradle +++ b/plugins/aps/build.gradle @@ -26,6 +26,7 @@ dependencies { implementation project(':interfaces') api "androidx.appcompat:appcompat:$appcompat_version" + api "androidx.swiperefreshlayout:swiperefreshlayout:$swipe_version" // APS api 'org.mozilla:rhino:1.7.14' diff --git a/plugins/automation/build.gradle b/plugins/automation/build.gradle index 150713a3d9..545488c54d 100644 --- a/plugins/automation/build.gradle +++ b/plugins/automation/build.gradle @@ -28,4 +28,5 @@ dependencies { implementation project(':interfaces') api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" + api "com.google.android.gms:play-services-location:$play_services_location_version" } \ No newline at end of file diff --git a/plugins/main/build.gradle b/plugins/main/build.gradle index 55629955bc..1f74f3341e 100644 --- a/plugins/main/build.gradle +++ b/plugins/main/build.gradle @@ -54,4 +54,8 @@ dependencies { // Overview api 'com.google.android.flexbox:flexbox:3.0.0' + + // Food + api "androidx.work:work-runtime:$work_version" + api "androidx.work:work-runtime-ktx:$work_version" } \ No newline at end of file diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index e445bc5d99..4174e66704 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -24,4 +24,8 @@ dependencies { implementation project(':interfaces') api "androidx.constraintlayout:constraintlayout:$constraintlayout_version" + api "androidx.fragment:fragment-ktx:$fragmentktx_version" + api "androidx.navigation:navigation-fragment-ktx:$nav_version" + + api "com.google.android.material:material:$material_version" } \ No newline at end of file From cfe9875b6815182b404efb54ab1812c748506ae6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 18 Nov 2022 17:28:13 +0100 Subject: [PATCH 108/123] fix tests --- build.gradle | 1 + plugins/aps/build.gradle | 1 + plugins/main/build.gradle | 2 +- pump/omnipod-dash/build.gradle | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 31ece7c158..118d2542c2 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,7 @@ buildscript { nav_version = '2.5.3' appcompat_version = '1.5.1' material_version = '1.7.0' + gridlayout_version = '1.0.0' constraintlayout_version = '2.1.4' preferencektx_version = '1.2.0' commonslang3_version = '3.12.0' diff --git a/plugins/aps/build.gradle b/plugins/aps/build.gradle index 82991ec3b2..c13275c4a2 100644 --- a/plugins/aps/build.gradle +++ b/plugins/aps/build.gradle @@ -27,6 +27,7 @@ dependencies { api "androidx.appcompat:appcompat:$appcompat_version" api "androidx.swiperefreshlayout:swiperefreshlayout:$swipe_version" + api "androidx.gridlayout:gridlayout:$gridlayout_version" // APS api 'org.mozilla:rhino:1.7.14' diff --git a/plugins/main/build.gradle b/plugins/main/build.gradle index 1f74f3341e..8316b164f0 100644 --- a/plugins/main/build.gradle +++ b/plugins/main/build.gradle @@ -31,7 +31,7 @@ dependencies { api "com.google.android.material:material:$material_version" // Actions - api 'androidx.gridlayout:gridlayout:1.0.0' + api "androidx.gridlayout:gridlayout:$gridlayout_version" // NSClient, Tidepool api("io.socket:socket.io-client:1.0.0") { diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 65d0b50f7f..460f2620e2 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -43,5 +43,6 @@ dependencies { api "androidx.room:room-rxjava3:$room_version" kapt "androidx.room:room-compiler:$room_version" + testImplementation "commons-codec:commons-codec:$commonscodec_version" api 'com.github.guepardoapps:kulid:2.0.0.0' } From 72d423b4712856fa4414e78ef776202528e22619 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Nov 2022 16:36:04 +0000 Subject: [PATCH 109/123] chore(deps): bump firebase-bom from 31.0.3 to 31.1.0 Bumps firebase-bom from 31.0.3 to 31.1.0. --- updated-dependencies: - dependency-name: com.google.firebase:firebase-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- core/fabric/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/fabric/build.gradle b/core/fabric/build.gradle index c798261a7a..5b7ede3fbb 100644 --- a/core/fabric/build.gradle +++ b/core/fabric/build.gradle @@ -24,7 +24,7 @@ dependencies { implementation project(':app-wear-shared:shared') //Firebase - api platform('com.google.firebase:firebase-bom:31.0.3') + api platform('com.google.firebase:firebase-bom:31.1.0') api "com.google.firebase:firebase-analytics-ktx" api "com.google.firebase:firebase-crashlytics-ktx" // StatsActivity not in use now From 232b44b153493f4bd39b3fc8e93f8b02a5a413f2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 18 Nov 2022 19:03:26 +0100 Subject: [PATCH 110/123] move Intents --- .../nightscout/androidaps/plugins/aps/loop/LoopFragment.kt | 2 +- .../plugins/general/dataBroadcaster/DataBroadcastPlugin.kt | 2 +- .../info/nightscout/androidaps/receivers/DataReceiver.kt | 1 + .../info/nightscout/androidaps/pump/PumpEnactResultTest.kt | 2 +- .../pump/common/bolusInfo/DetailedBolusInfoStorage.kt | 2 +- .../{pumpExtensions => pump}/DetailedBolusInfoExtension.kt | 2 +- .../{pumpExtensions => pump}/PumpEnactResultExtension.kt | 2 +- .../core/{pumpExtensions => pump}/PumpStateExtension.kt | 0 .../core/{pumpExtensions => pump}/PumpTypeExtension.kt | 2 +- .../nightscout/androidaps/data/DetailedBolusInfoTest.kt | 4 ++-- .../info/nightscout/implementation/XDripBroadcastImpl.kt | 2 +- .../implementation/pump/PumpSyncImplementation.kt | 6 +++--- .../implementation/queue/CommandQueueImplementation.kt | 2 +- .../java/info/nightscout/interfaces}/receivers/Intents.kt | 2 +- .../main/java/info/nightscout/plugins/source/AidexPlugin.kt | 2 +- .../main/java/info/nightscout/plugins/source/XdripPlugin.kt | 2 +- .../plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java | 2 +- .../pump/omnipod/eros/manager/AapsOmnipodErosManager.java | 2 +- .../main/java/info/nightscout/ui/dialogs/InsulinDialog.kt | 2 +- .../main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt | 4 ++-- 20 files changed, 23 insertions(+), 22 deletions(-) rename core/core-main/src/main/java/info/nightscout/core/{pumpExtensions => pump}/DetailedBolusInfoExtension.kt (95%) rename core/core-main/src/main/java/info/nightscout/core/{pumpExtensions => pump}/PumpEnactResultExtension.kt (98%) rename core/core-main/src/main/java/info/nightscout/core/{pumpExtensions => pump}/PumpStateExtension.kt (100%) rename core/core-main/src/main/java/info/nightscout/core/{pumpExtensions => pump}/PumpTypeExtension.kt (99%) rename {core/core-main/src/main/java/info/nightscout/androidaps => interfaces/src/main/java/info/nightscout/interfaces}/receivers/Intents.kt (98%) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt index eb86467edd..ba782e0e67 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.databinding.LoopFragmentBinding import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.core.pumpExtensions.toHtml +import info.nightscout.core.pump.toHtml import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.utils.HtmlHelper diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index af07116d13..78d0a6785e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -9,7 +9,7 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt index 3e2d3cd56b..5a00ce742d 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.kt @@ -17,6 +17,7 @@ import info.nightscout.plugins.source.XdripPlugin import info.nightscout.androidaps.utils.extensions.copyDouble import info.nightscout.androidaps.utils.extensions.copyLong import info.nightscout.androidaps.utils.extensions.copyString +import info.nightscout.interfaces.receivers.Intents import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.BundleLogger diff --git a/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt b/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt index 46a1ce51d7..f8e9402252 100644 --- a/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/pump/PumpEnactResultTest.kt @@ -4,7 +4,7 @@ import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.core.main.R -import info.nightscout.core.pumpExtensions.toHtml +import info.nightscout.core.pump.toHtml import info.nightscout.interfaces.pump.PumpEnactResult import info.nightscout.plugins.extensions.toText import info.nightscout.plugins.sync.nsShared.extensions.json diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt index e9579764c2..46d78b1f07 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/pump/common/bolusInfo/DetailedBolusInfoStorage.kt @@ -1,7 +1,7 @@ package info.nightscout.androidaps.plugins.pump.common.bolusInfo import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.core.pumpExtensions.toJsonString +import info.nightscout.core.pump.toJsonString import info.nightscout.interfaces.pump.DetailedBolusInfo import info.nightscout.shared.utils.T import info.nightscout.rx.logging.AAPSLogger diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pump/DetailedBolusInfoExtension.kt similarity index 95% rename from core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pump/DetailedBolusInfoExtension.kt index 2bf38f8193..daa6265a7f 100644 --- a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/DetailedBolusInfoExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pump/DetailedBolusInfoExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.core.pumpExtensions +package info.nightscout.core.pump import com.google.gson.Gson import info.nightscout.database.impl.transactions.InsertOrUpdateBolusTransaction diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pump/PumpEnactResultExtension.kt similarity index 98% rename from core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pump/PumpEnactResultExtension.kt index 8de34e0389..c2ca37786a 100644 --- a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpEnactResultExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pump/PumpEnactResultExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.core.pumpExtensions +package info.nightscout.core.pump import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.interfaces.pump.PumpEnactResult diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pump/PumpStateExtension.kt similarity index 100% rename from core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpStateExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pump/PumpStateExtension.kt diff --git a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt b/core/core-main/src/main/java/info/nightscout/core/pump/PumpTypeExtension.kt similarity index 99% rename from core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt rename to core/core-main/src/main/java/info/nightscout/core/pump/PumpTypeExtension.kt index b1c4ae590f..7024036f9e 100644 --- a/core/core-main/src/main/java/info/nightscout/core/pumpExtensions/PumpTypeExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/core/pump/PumpTypeExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.core.pumpExtensions +package info.nightscout.core.pump import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.embedments.InterfaceIDs diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt index fa57cb2b1a..079a8b9fa6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt @@ -2,8 +2,8 @@ package info.nightscout.androidaps.data import android.content.Context import info.nightscout.androidaps.TestBase -import info.nightscout.core.pumpExtensions.fromJsonString -import info.nightscout.core.pumpExtensions.toJsonString +import info.nightscout.core.pump.fromJsonString +import info.nightscout.core.pump.toJsonString import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.BolusCalculatorResult import info.nightscout.database.entities.TherapyEvent diff --git a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt index da3dcffed3..c8e5652f0d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/XDripBroadcastImpl.kt @@ -4,7 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import info.nightscout.androidaps.annotations.OpenForTesting -import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.receivers.Intents import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.GlucoseValue import info.nightscout.interfaces.GlucoseUnit diff --git a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt index ba99566007..320d88dd49 100644 --- a/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/pump/PumpSyncImplementation.kt @@ -3,9 +3,9 @@ package info.nightscout.implementation.pump import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.main.R -import info.nightscout.core.pumpExtensions.fromDbPumpType -import info.nightscout.core.pumpExtensions.toDbPumpType -import info.nightscout.core.pumpExtensions.toDbSource +import info.nightscout.core.pump.fromDbPumpType +import info.nightscout.core.pump.toDbPumpType +import info.nightscout.core.pump.toDbSource import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.Carbs import info.nightscout.database.entities.ExtendedBolus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index cd42d0269b..940c47cd66 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBo import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.core.pumpExtensions.insertCarbsTransaction +import info.nightscout.core.pump.insertCarbsTransaction import info.nightscout.database.entities.EffectiveProfileSwitch import info.nightscout.database.entities.ProfileSwitch import info.nightscout.database.entities.interfaces.end diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/receivers/Intents.kt b/interfaces/src/main/java/info/nightscout/interfaces/receivers/Intents.kt similarity index 98% rename from core/core-main/src/main/java/info/nightscout/androidaps/receivers/Intents.kt rename to interfaces/src/main/java/info/nightscout/interfaces/receivers/Intents.kt index 8d09939b11..e7e15ea428 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/receivers/Intents.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/receivers/Intents.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.receivers +package info.nightscout.interfaces.receivers @Suppress("unused") interface Intents { diff --git a/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt index 30a8fa7ec8..aa4de3d77a 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt @@ -6,7 +6,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.receivers.Intents import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction diff --git a/plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt index 2c2a6c8c4e..97074f97c7 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/source/XdripPlugin.kt @@ -6,7 +6,7 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.androidaps.receivers.Intents +import info.nightscout.interfaces.receivers.Intents import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index 5cb3c4c379..c56f303c12 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -79,7 +79,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUti import info.nightscout.androidaps.services.AlarmSoundService; import info.nightscout.androidaps.utils.DecimalFormatter; import info.nightscout.core.fabric.FabricPrivacy; -import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; +import info.nightscout.core.pump.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.plugin.ActivePlugin; import info.nightscout.interfaces.plugin.PluginDescription; diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java index 4c22897403..ee9aa65adc 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/manager/AapsOmnipodErosManager.java @@ -64,7 +64,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.history.database.Ero import info.nightscout.androidaps.plugins.pump.omnipod.eros.rileylink.manager.OmnipodRileyLinkCommunicationManager; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.AapsOmnipodUtil; import info.nightscout.androidaps.plugins.pump.omnipod.eros.util.OmnipodAlertUtil; -import info.nightscout.core.pumpExtensions.DetailedBolusInfoExtensionKt; +import info.nightscout.core.pump.DetailedBolusInfoExtensionKt; import info.nightscout.interfaces.notifications.Notification; import info.nightscout.interfaces.profile.Profile; import info.nightscout.interfaces.pump.DetailedBolusInfo; diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt index 047a3e00d2..0ef22c20da 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/InsulinDialog.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.ui.extensions.toSignedString import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.core.profile.toMgdl -import info.nightscout.core.pumpExtensions.insertBolusTransaction +import info.nightscout.core.pump.insertBolusTransaction import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.TemporaryTarget diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt index f045d33f1e..8a10b73736 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/TreatmentDialog.kt @@ -13,8 +13,8 @@ import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.core.pumpExtensions.insertBolusTransaction -import info.nightscout.core.pumpExtensions.insertCarbsTransaction +import info.nightscout.core.pump.insertBolusTransaction +import info.nightscout.core.pump.insertCarbsTransaction import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.database.entities.UserEntry From 562870723eee963b73cd039b1965db09c897fbdc Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 18 Nov 2022 19:51:39 +0100 Subject: [PATCH 111/123] move Loop to plugins --- app/src/main/AndroidManifest.xml | 2 +- .../activities/MyPreferenceFragment.kt | 2 +- .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/di/FragmentsModule.kt | 2 +- .../androidaps/di/PluginsListModule.kt | 2 +- .../androidaps/di/ReceiversModule.kt | 2 +- .../implementations/ActivityNamesImpl.kt | 2 +- .../general/overview/OverviewFragment.kt | 2 +- .../plugins/general/wear/WearPlugin.kt | 2 +- .../utils/buildHelper/ConfigImpl.kt | 1 + app/src/main/res/values/arrays.xml | 11 ----- app/src/main/res/values/strings.xml | 22 ---------- .../plugins/aps/loop/LoopPluginTest.kt | 2 + .../java/info/nightscout/interfaces/Config.kt | 1 + .../nightscout/interfaces/ui/ActivityNames.kt | 2 +- .../aps/loop/CarbSuggestionReceiver.kt | 2 +- .../plugins/aps/loop/LoopFragment.kt | 12 +++--- .../plugins/aps/loop/LoopPlugin.kt | 38 +++++++++--------- .../aps/loop/events/EventLoopSetLastRunGui.kt | 2 +- .../aps/loop/events/EventLoopUpdateGui.kt | 2 +- .../events/EventNewOpenLoopNotification.kt | 2 +- .../src/main/res/drawable/notif_icon.png | Bin .../src/main/res/layout/loop_fragment.xml | 20 ++++----- plugins/main/src/main/res/values/arrays.xml | 11 +++++ plugins/main/src/main/res/values/strings.xml | 30 ++++++++++++++ .../main}/src/main/res/xml/pref_loop.xml | 4 +- .../java/info/nightscout/ui/widget/Widget.kt | 2 +- 27 files changed, 96 insertions(+), 86 deletions(-) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/CarbSuggestionReceiver.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/LoopFragment.kt (93%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/LoopPlugin.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/events/EventLoopSetLastRunGui.kt (72%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/events/EventLoopUpdateGui.kt (69%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/aps/loop/events/EventNewOpenLoopNotification.kt (59%) rename {app => plugins/main}/src/main/res/drawable/notif_icon.png (100%) rename {app => plugins/main}/src/main/res/layout/loop_fragment.xml (97%) rename {app => plugins/main}/src/main/res/xml/pref_loop.xml (89%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d6fb469bc4..78de2d2b60 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -121,7 +121,7 @@ - + = MainActivity::class.java + override val mainActivity: Class<*> = MainActivity::class.java override val tddStatsActivity: Class<*> = TDDStatsActivity::class.java override val historyBrowseActivity: Class<*> = HistoryBrowseActivity::class.java override val errorHelperActivity: Class<*> = ErrorHelperActivity::class.java diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index 18b1eccd3c..b099cdc5f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -34,7 +34,7 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification +import info.nightscout.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt index e9c2d42932..bcf18702cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/WearPlugin.kt @@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.wear import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui +import info.nightscout.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusProgressIfRunning import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataHandlerMobile import info.nightscout.androidaps.plugins.general.wear.wearintegration.DataLayerListenerServiceMobileHelper diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt index cb78a6cbf4..4ab1ce5632 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt @@ -17,6 +17,7 @@ class ConfigImpl @Inject constructor() : Config { override val PUMPDRIVERS = BuildConfig.FLAVOR == "full" || BuildConfig.FLAVOR == "pumpcontrol" override val FLAVOR = BuildConfig.FLAVOR override val VERSION_NAME = BuildConfig.VERSION_NAME + override val BUILD_VERSION = BuildConfig.BUILDVERSION override val DEBUG = BuildConfig.DEBUG override val currentDeviceModelString = diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index f641ab60a5..e81b35a0f0 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,17 +1,6 @@ - - @string/closedloop - @string/openloop - @string/lowglucosesuspend - - - closed - open - lgs - - mg/dL mmol/L diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ffce60003..8ce9c90ff2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,7 +40,6 @@ Do you really want to reset the databases? Exit Used for configuring the active plugins - Activate or deactivate the implementation triggering the loop. Displays the current state of your loop and buttons for most common actions Shows an ongoing notification with a short overview of what your loop is doing Sensitivity is calculated the same way like Oref0, but you can specify timeframe to the past. Minimal carb absorption is calculated from max carb absorption time from preferences. @@ -65,16 +64,10 @@ Which constraints are applied? Loop Use this to activate AAPS\' loop integration. - APS - After processed constraints - Temp basal set by pump - NO APS SELECTED OR PROVIDED RESULT Constraints violation Change your input! BG Source Where should AAPS gain it\'s data from? - New suggestion available - Carbs Suggestion Profile Nightscout version: Preferences exported @@ -115,7 +108,6 @@ Corr (DANGEROUS TO DISABLE) NS upload only NS upload only (disabled sync). Not effective on SGV unless a local source like xDrip+ is selected. Not effective on Profiles while NS-Profiles is used.\n!!! WARNING !!! Disabling this option may cause malfunctions and insulin overdose if any of your component (AAPS, NS, xDrip+) is wrong configured. Carefully watch if data displayed by AAPS match the pump state! - Pump not initialized! Units Range for Visualization High and low mark for the charts in Overview and Smartwatch @@ -127,7 +119,6 @@ Ongoing Notification OLD DATA CONF - LOOP HOME TREAT WEAR @@ -179,7 +170,6 @@ Sensitivity WeightedAverage Not all profiles loaded! Values not stored! - smb_enable_carbs_suggestions_threshold INVALID Default Temp-Targets eatingsoon duration @@ -220,9 +210,6 @@ Number of carbs to add when button is pressed Amount of insulin to add when button is pressed Could not launch CGM application. Make sure it is installed. - Ignore 5m - Ignore 15m - Ignore 30m Notify on SMB Show SMB on the watch like a standard bolus. Show the predictions on the watchface. @@ -232,7 +219,6 @@ Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. Please update your Dexcom app to supported version Dexcom app is not installed. - SMB set by pump Activity Blood Glucose Impact Sensitivity @@ -241,8 +227,6 @@ Insulin On Board Basals Engineering mode enabled - A bolus was delivered within the last 3 minutes, skipping SMB - Basal set correctly IobCobCalculator Meal max absorption time [h] Time at which any meal is considered absorbed. Remaining carbs will be cut off. @@ -311,8 +295,6 @@ Reset to defaults Preferred APS mode Send today\'s log files to developers along with this time. Unexpected situation. - Minimal request change [%] - Open Loop will popup new change request only if change is bigger than this value in %. Default value is 20% short_tabtitles == ∑ %1$s U Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. @@ -327,10 +309,6 @@ wear_detailed_delta Chart menu Data Broadcaster - SMB request time - SMB execution time - Temp basal request time - Temp basal execution time Predictions Treatments Deviation slope diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt index e0904afe86..2d0d9d2d3f 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/aps/loop/LoopPluginTest.kt @@ -19,6 +19,8 @@ import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames +import info.nightscout.plugins.aps.loop.LoopFragment +import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt index d21a2b8281..7a22934afc 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt @@ -9,6 +9,7 @@ interface Config { val PUMPDRIVERS: Boolean val FLAVOR: String val VERSION_NAME: String + val BUILD_VERSION: String val DEBUG: Boolean val currentDeviceModelString : String val appName: Int diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index ef0b07c6b3..e5a7476f8f 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -11,7 +11,7 @@ import androidx.fragment.app.FragmentManager */ interface ActivityNames { - val mainActivityClass: Class<*> + val mainActivity: Class<*> val tddStatsActivity: Class<*> val historyBrowseActivity: Class<*> val errorHelperActivity: Class<*> diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/CarbSuggestionReceiver.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/CarbSuggestionReceiver.kt index 865cd09476..3f9eb6781e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/CarbSuggestionReceiver.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/CarbSuggestionReceiver.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop +package info.nightscout.plugins.aps.loop import android.content.Context import android.content.Intent diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopFragment.kt similarity index 93% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopFragment.kt index ba782e0e67..3ccae10db0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopFragment.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop +package info.nightscout.plugins.aps.loop import android.os.Bundle import android.os.Handler @@ -12,15 +12,15 @@ import android.view.ViewGroup import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import dagger.android.support.DaggerFragment -import info.nightscout.androidaps.R -import info.nightscout.androidaps.databinding.LoopFragmentBinding -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.pump.toHtml import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.utils.HtmlHelper +import info.nightscout.plugins.R +import info.nightscout.plugins.aps.loop.events.EventLoopSetLastRunGui +import info.nightscout.plugins.aps.loop.events.EventLoopUpdateGui +import info.nightscout.plugins.databinding.LoopFragmentBinding import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger @@ -73,7 +73,7 @@ class LoopFragment : DaggerFragment(), MenuProvider { } override fun onCreateMenu(menu: Menu, inflater: MenuInflater) { - menu.add(Menu.FIRST, ID_MENU_RUN, 0, rh.gs(R.string.openapsma_run)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) + menu.add(Menu.FIRST, ID_MENU_RUN, 0, rh.gs(R.string.run_now)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.setGroupDividerEnabled(true) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopPlugin.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopPlugin.kt index 1244d4122e..2c0645e22a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/LoopPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop +package info.nightscout.plugins.aps.loop import android.annotation.SuppressLint import android.app.NotificationChannel @@ -12,17 +12,11 @@ import android.os.HandlerThread import android.os.SystemClock import androidx.core.app.NotificationCompat import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.BuildConfig -import info.nightscout.androidaps.MainActivity -import info.nightscout.androidaps.R import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.convertedToPercent import info.nightscout.androidaps.extensions.plannedRemainingMinutes import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui -import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui -import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.receivers.ReceiverStatusStore @@ -58,6 +52,10 @@ import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.plugins.R +import info.nightscout.plugins.aps.loop.events.EventLoopSetLastRunGui +import info.nightscout.plugins.aps.loop.events.EventLoopUpdateGui +import info.nightscout.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.plugins.configBuilder.RunningConfiguration import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.plugins.sync.nsclient.extensions.buildDeviceStatus @@ -87,7 +85,7 @@ class LoopPlugin @Inject constructor( private val aapsSchedulers: AapsSchedulers, private val rxBus: RxBus, private val sp: SP, - config: Config, + private val config: Config, private val constraintChecker: Constraints, rh: ResourceHelper, private val profileFunction: ProfileFunction, @@ -253,7 +251,7 @@ class LoopPlugin @Inject constructor( // Check if we have any result if (apsResult == null) { - rxBus.send(EventLoopSetLastRunGui(rh.gs(R.string.noapsselected))) + rxBus.send(EventLoopSetLastRunGui(rh.gs(R.string.no_aps_selected))) return } @@ -299,7 +297,7 @@ class LoopPlugin @Inject constructor( buildDeviceStatus( dateUtil, this, iobCobCalculator, profileFunction, activePlugin.activePump, receiverStatusStore, runningConfiguration, - BuildConfig.VERSION_NAME + "-" + BuildConfig.BUILDVERSION + config.VERSION_NAME + "-" + config.BUILD_VERSION )?.also { repository.insert(it) } @@ -345,7 +343,7 @@ class LoopPlugin @Inject constructor( val actionIgnore30m = NotificationCompat.Action(R.drawable.ic_notif_aaps, rh.gs(R.string.ignore30m, "Ignore 30m"), pendingIntent30m) val builder = NotificationCompat.Builder(context, CHANNEL_ID) builder.setSmallIcon(R.drawable.notif_icon) - .setContentTitle(rh.gs(R.string.carbssuggestion)) + .setContentTitle(rh.gs(R.string.carbs_suggestion)) .setContentText(resultAfterConstraints.carbsRequiredText) .setAutoCancel(true) .setPriority(Notification.IMPORTANCE_HIGH) @@ -430,7 +428,7 @@ class LoopPlugin @Inject constructor( if (resultAfterConstraints.isChangeRequested && allowNotification) { val builder = NotificationCompat.Builder(context, CHANNEL_ID) builder.setSmallIcon(R.drawable.notif_icon) - .setContentTitle(rh.gs(R.string.openloop_newsuggestion)) + .setContentTitle(rh.gs(R.string.open_loop_new_suggestion)) .setContentText(resultAfterConstraints.toString()) .setAutoCancel(true) .setPriority(Notification.IMPORTANCE_HIGH) @@ -458,14 +456,14 @@ class LoopPlugin @Inject constructor( private fun presentSuggestion(builder: NotificationCompat.Builder) { // Creates an explicit intent for an Activity in your app - val resultIntent = Intent(context, MainActivity::class.java) + val resultIntent = Intent(context, activityNames.mainActivity) // The stack builder object will contain an artificial back stack for the // started Activity. // This ensures that navigating backward from the Activity leads out of // your application to the Home screen. val stackBuilder = TaskStackBuilder.create(context) - stackBuilder.addParentStack(MainActivity::class.java) + stackBuilder.addParentStack(activityNames.mainActivity) // Adds the Intent that starts the Activity to the top of the stack stackBuilder.addNextIntent(resultIntent) val resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT) @@ -492,7 +490,7 @@ class LoopPlugin @Inject constructor( rxBus.send( EventMobileToWear( EventData.OpenLoopRequest( - rh.gs(R.string.openloop_newsuggestion), + rh.gs(R.string.open_loop_new_suggestion), it.constraintsProcessed.toString(), EventData.OpenLoopRequestConfirmed(dateUtil.now()) ) @@ -515,7 +513,7 @@ class LoopPlugin @Inject constructor( buildDeviceStatus( dateUtil, this@LoopPlugin, iobCobCalculator, profileFunction, activePlugin.activePump, receiverStatusStore, runningConfiguration, - BuildConfig.VERSION_NAME + "-" + BuildConfig.BUILDVERSION + config.VERSION_NAME + "-" + config.BUILD_VERSION )?.also { repository.insert(it) } @@ -540,8 +538,8 @@ class LoopPlugin @Inject constructor( } val pump = activePlugin.activePump if (!pump.isInitialized()) { - aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + aapsLogger.debug(LTag.APS, "applyAPSRequest: " + rh.gs(R.string.pump_not_initialized)) + callback?.result(PumpEnactResult(injector).comment(R.string.pump_not_initialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { @@ -640,8 +638,8 @@ class LoopPlugin @Inject constructor( return } if (!pump.isInitialized()) { - aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pumpNotInitialized)) - callback?.result(PumpEnactResult(injector).comment(R.string.pumpNotInitialized).enacted(false).success(false))?.run() + aapsLogger.debug(LTag.APS, "applySMBRequest: " + rh.gs(R.string.pump_not_initialized)) + callback?.result(PumpEnactResult(injector).comment(R.string.pump_not_initialized).enacted(false).success(false))?.run() return } if (pump.isSuspended()) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopSetLastRunGui.kt similarity index 72% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopSetLastRunGui.kt index d43ceca646..a158dc3f12 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopSetLastRunGui.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopSetLastRunGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop.events +package info.nightscout.plugins.aps.loop.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopUpdateGui.kt similarity index 69% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopUpdateGui.kt index c2d2ae6f4d..a7cc0562a4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventLoopUpdateGui.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventLoopUpdateGui.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop.events +package info.nightscout.plugins.aps.loop.events import info.nightscout.rx.events.EventUpdateGui diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventNewOpenLoopNotification.kt similarity index 59% rename from app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt rename to plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventNewOpenLoopNotification.kt index 354f855807..7145c087bd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/events/EventNewOpenLoopNotification.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/aps/loop/events/EventNewOpenLoopNotification.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.plugins.aps.loop.events +package info.nightscout.plugins.aps.loop.events import info.nightscout.rx.events.Event diff --git a/app/src/main/res/drawable/notif_icon.png b/plugins/main/src/main/res/drawable/notif_icon.png similarity index 100% rename from app/src/main/res/drawable/notif_icon.png rename to plugins/main/src/main/res/drawable/notif_icon.png diff --git a/app/src/main/res/layout/loop_fragment.xml b/plugins/main/src/main/res/layout/loop_fragment.xml similarity index 97% rename from app/src/main/res/layout/loop_fragment.xml rename to plugins/main/src/main/res/layout/loop_fragment.xml index 2bc9545867..fecc99e0a2 100644 --- a/app/src/main/res/layout/loop_fragment.xml +++ b/plugins/main/src/main/res/layout/loop_fragment.xml @@ -3,7 +3,7 @@ android:id="@+id/swipeRefresh" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".plugins.aps.loop.LoopFragment"> + tools:context=".aps.loop.LoopFragment"> @@ -126,7 +126,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/openapsma_request_label" + android:text="@string/request_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -175,7 +175,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_constraintsprocessed_label" + android:text="@string/loop_constraints_processed_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -271,7 +271,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_tbrrequest_time_label" + android:text="@string/loop_tbr_request_time_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -319,7 +319,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_tbrexecution_time_label" + android:text="@string/loop_tbr_execution_time_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -367,7 +367,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_tbrsetbypump_label" + android:text="@string/loop_tbr_set_by_pump_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -415,7 +415,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_smbrequest_time_label" + android:text="@string/loop_smb_request_time_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -463,7 +463,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_smbexecution_time_label" + android:text="@string/loop_smb_execution_time_label" android:textAlignment="viewEnd" android:textSize="14sp" /> @@ -511,7 +511,7 @@ android:layout_weight="2" android:paddingStart="0dp" android:paddingEnd="5dp" - android:text="@string/loop_smbsetbypump_label" + android:text="@string/loop_smb_set_by_pump_label" android:textAlignment="viewEnd" android:textSize="14sp" /> diff --git a/plugins/main/src/main/res/values/arrays.xml b/plugins/main/src/main/res/values/arrays.xml index e163555609..0845e72888 100644 --- a/plugins/main/src/main/res/values/arrays.xml +++ b/plugins/main/src/main/res/values/arrays.xml @@ -59,4 +59,15 @@ @string/key_pregnant + + @string/closedloop + @string/openloop + @string/lowglucosesuspend + + + closed + open + lgs + + \ No newline at end of file diff --git a/plugins/main/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml index 31bc73da92..aa0dc72cff 100644 --- a/plugins/main/src/main/res/values/strings.xml +++ b/plugins/main/src/main/res/values/strings.xml @@ -564,4 +564,34 @@ Large display Skin + + smb_enable_carbs_suggestions_threshold + + Executing + Run now + A bolus was delivered within the last 3 minutes, skipping SMB + Pump not initialized! + LOOP + Activate or deactivate the implementation triggering the loop. + NO APS SELECTED OR PROVIDED RESULT + Ignore 5m + Ignore 15m + Ignore 30m + Carbs Suggestion + New suggestion available + Basal set correctly + Last run + APS + Request + After processed constraints + Constraints + Temp basal request time + Temp basal execution time + Temp basal set by pump + SMB request time + SMB execution time + SMB set by pump + Minimal request change [%] + Open Loop will popup new change request only if change is bigger than this value in %. Default value is 20% + \ No newline at end of file diff --git a/app/src/main/res/xml/pref_loop.xml b/plugins/main/src/main/res/xml/pref_loop.xml similarity index 89% rename from app/src/main/res/xml/pref_loop.xml rename to plugins/main/src/main/res/xml/pref_loop.xml index f94fd564e2..533125908b 100644 --- a/app/src/main/res/xml/pref_loop.xml +++ b/plugins/main/src/main/res/xml/pref_loop.xml @@ -17,14 +17,14 @@ diff --git a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt index 5aebb4f6b9..87ecb8001f 100644 --- a/ui/src/main/java/info/nightscout/ui/widget/Widget.kt +++ b/ui/src/main/java/info/nightscout/ui/widget/Widget.kt @@ -107,7 +107,7 @@ class Widget : AppWidgetProvider() { val alpha = sp.getInt(WidgetConfigureActivity.PREF_PREFIX_KEY + appWidgetId, WidgetConfigureActivity.DEFAULT_OPACITY) // Create an Intent to launch MainActivity when clicked - val intent = Intent(context, activityNames.mainActivityClass).also { it.action = intentAction } + val intent = Intent(context, activityNames.mainActivity).also { it.action = intentAction } val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT) // Widgets allow click handlers to only launch pending intents views.setOnClickPendingIntent(R.id.widget_layout, pendingIntent) From 72505b60930f5e7cf1c120f9f32b6697195b086d Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 18 Nov 2022 23:22:00 +0100 Subject: [PATCH 112/123] remove dependencies from setup wizard --- .../nightscout/rx/events/EventSWRLStatus.kt | 9 +++++++ .../nightscout/rx/events/EventSWSyncStatus.kt | 9 +++++++ .../androidaps/setupwizard/SWDefinition.kt | 24 ++++++++----------- .../setupwizard/SetupWizardActivity.kt | 8 +++---- .../interfaces/constraints/Objectives.kt | 1 + .../objectives/ObjectivesPlugin.kt | 3 ++- .../plugins/sync/nsclient/NSClientPlugin.kt | 5 +++- .../sync/nsclientV3/NSClientV3Plugin.kt | 3 +++ .../pump/medtronic/MedtronicPumpPlugin.kt | 9 +++++++ .../omnipod/eros/OmnipodErosPumpPlugin.java | 8 +++++++ .../plugins/pump/common/PumpPluginAbstract.kt | 2 +- 11 files changed, 60 insertions(+), 21 deletions(-) create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWRLStatus.kt create mode 100644 app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWSyncStatus.kt diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWRLStatus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWRLStatus.kt new file mode 100644 index 0000000000..b6edc03f23 --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWRLStatus.kt @@ -0,0 +1,9 @@ +package info.nightscout.rx.events + +import android.content.Context + +// Pass RL status to setup wizard +class EventSWRLStatus(val status: String) : EventStatus() { + + override fun getStatus(context: Context): String = status +} \ No newline at end of file diff --git a/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWSyncStatus.kt b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWSyncStatus.kt new file mode 100644 index 0000000000..ed48813a8d --- /dev/null +++ b/app-wear-shared/rx/src/main/java/info/nightscout/rx/events/EventSWSyncStatus.kt @@ -0,0 +1,9 @@ +package info.nightscout.rx.events + +import android.content.Context + +// Pass pump status to setup wizard +class EventSWSyncStatus(val status: String) : EventStatus() { + + override fun getStatus(context: Context): String = status +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index 7956f399c0..c36496233f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWBreak import info.nightscout.androidaps.setupwizard.elements.SWButton import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword @@ -41,12 +40,10 @@ import info.nightscout.interfaces.pump.OmnipodEros import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.HardLimits -import info.nightscout.plugins.constraints.objectives.ObjectivesFragment -import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin -import info.nightscout.plugins.profile.ProfilePlugin -import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventPumpStatusChanged +import info.nightscout.rx.events.EventSWRLStatus +import info.nightscout.rx.events.EventSWSyncStatus import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP @@ -61,10 +58,8 @@ class SWDefinition @Inject constructor( private val rh: ResourceHelper, private val sp: SP, private val profileFunction: ProfileFunction, - private val profilePlugin: ProfilePlugin, private val activePlugin: ActivePlugin, private val commandQueue: CommandQueue, - private val objectivesPlugin: ObjectivesPlugin, private val configBuilder: ConfigBuilder, private val loop: Loop, private val importExportPrefs: ImportExportPrefs, @@ -224,7 +219,7 @@ class SWDefinition @Inject constructor( ) .add(SWBreak(injector)) .add( - SWEventListener(injector, EventNSClientStatus::class.java) + SWEventListener(injector, EventSWSyncStatus::class.java) .label(R.string.status) .initialStatus(activePlugin.firstActiveSync?.status ?: "") ) @@ -332,10 +327,10 @@ class SWDefinition @Inject constructor( //.add(ProfileFragment()) ) .validator { - profilePlugin.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } + activePlugin.activeProfileSource.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } ?: false } - .visibility { profilePlugin.isEnabled() } + .visibility { (activePlugin.activeProfileSource as PluginBase).isEnabled() } private val screenProfileSwitch get() = SWScreen(injector, R.string.careportal_profileswitch) .skippable(false) @@ -368,7 +363,7 @@ class SWDefinition @Inject constructor( activePump is OmnipodEros && !activePump.isRileyLinkReady() }) .add( // Omnipod Eros only - SWEventListener(injector, EventRileyLinkDeviceStatusChange::class.java) + SWEventListener(injector, EventSWRLStatus::class.java) .label(R.string.setupwizard_pump_riley_link_status) .visibility { activePlugin.activePump is OmnipodEros }) .add(SWButton(injector) @@ -466,10 +461,11 @@ class SWDefinition @Inject constructor( .add(SWBreak(injector)) .add( SWFragment(injector, this) - .add(ObjectivesFragment()) + .add(activity.supportFragmentManager.fragmentFactory.instantiate(ClassLoader.getSystemClassLoader(), (activePlugin.activeObjectives as PluginBase).pluginDescription.fragmentClass!!)) + //.add(ObjectivesFragment()) ) - .validator { objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted } - .visibility { !objectivesPlugin.objectives[Objectives.FIRST_OBJECTIVE].isStarted && config.APS } + .validator { activePlugin.activeObjectives?.isStarted(Objectives.FIRST_OBJECTIVE) ?: false} + .visibility { config.APS && !(activePlugin.activeObjectives?.isStarted(Objectives.FIRST_OBJECTIVE) ?: false) } private fun swDefinitionFull() = // List all the screens here add(screenSetupWizard) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index 377cf462c2..e78b3def77 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -10,16 +10,16 @@ import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update -import info.nightscout.plugins.sync.nsShared.events.EventNSClientStatus import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.events.EventPumpStatusChanged +import info.nightscout.rx.events.EventSWRLStatus +import info.nightscout.rx.events.EventSWSyncStatus import info.nightscout.rx.events.EventSWUpdate import info.nightscout.shared.sharedPreferences.SP import io.reactivex.rxjava3.disposables.CompositeDisposable @@ -80,11 +80,11 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) disposable += rxBus - .toObservable(EventRileyLinkDeviceStatusChange::class.java) + .toObservable(EventSWRLStatus::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) disposable += rxBus - .toObservable(EventNSClientStatus::class.java) + .toObservable(EventSWSyncStatus::class.java) .observeOn(aapsSchedulers.main) .subscribe({ updateButtons() }, fabricPrivacy::logException) disposable += rxBus diff --git a/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt index f88e94dfe9..69a0aa9165 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/constraints/Objectives.kt @@ -16,4 +16,5 @@ interface Objectives { } fun isAccomplished(index: Int): Boolean + fun isStarted(index: Int): Boolean } \ No newline at end of file diff --git a/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt index 86934966c7..c8bbd1c5a1 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/constraints/objectives/ObjectivesPlugin.kt @@ -149,5 +149,6 @@ class ObjectivesPlugin @Inject constructor( return value } - override fun isAccomplished(index: Int) = objectives[Objectives.MAXIOB_OBJECTIVE].isAccomplished + override fun isAccomplished(index: Int) = objectives[index].isAccomplished + override fun isStarted(index: Int): Boolean = objectives[index].isStarted } diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index e42dd14398..aee8370e90 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -40,6 +40,7 @@ import info.nightscout.rx.events.EventAppExit import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange import info.nightscout.rx.events.EventPreferenceChange +import info.nightscout.rx.events.EventSWSyncStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -92,10 +93,12 @@ class NSClientPlugin @Inject constructor( disposable += rxBus .toObservable(EventNSClientStatus::class.java) .observeOn(aapsSchedulers.io) - .subscribe({ event: EventNSClientStatus -> + .subscribe({ event -> if (event.version == NsClient.Version.V1) { status = event.getStatus(context) rxBus.send(EventNSClientUpdateGUI()) + // Pass to setup wizard + rxBus.send(EventSWSyncStatus(event.getStatus(context))) } }, fabricPrivacy::logException) disposable += rxBus diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 0e6715af29..5270cb1242 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -42,6 +42,7 @@ import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventChargingState import info.nightscout.rx.events.EventNetworkChange import info.nightscout.rx.events.EventPreferenceChange +import info.nightscout.rx.events.EventSWSyncStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.sdk.NSAndroidClientImpl @@ -149,6 +150,8 @@ class NSClientV3Plugin @Inject constructor( if (event.version == NsClient.Version.V3) { status = event.getStatus(context) rxBus.send(EventNSClientUpdateGUI()) + // Pass to setup wizard + rxBus.send(EventSWSyncStatus(event.getStatus(context))) } }, fabricPrivacy::logException) disposable += rxBus diff --git a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt index a3b38c98ca..c7427d5a57 100644 --- a/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt +++ b/pump/medtronic/src/main/java/info/nightscout/androidaps/plugins/pump/medtronic/MedtronicPumpPlugin.kt @@ -11,6 +11,7 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract import info.nightscout.androidaps.plugins.pump.common.data.PumpStatus import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState +import info.nightscout.androidaps.plugins.pump.common.events.EventRileyLinkDeviceStatusChange import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.RileyLinkConst import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpDevice import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.defs.RileyLinkPumpInfo @@ -67,6 +68,7 @@ import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventRefreshButtonState import info.nightscout.rx.events.EventRefreshOverview +import info.nightscout.rx.events.EventSWRLStatus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.LTag import info.nightscout.shared.interfaces.ResourceHelper @@ -157,6 +159,13 @@ class MedtronicPumpPlugin @Inject constructor( }.start() } } + // Pass only to setup wizard + disposable.add( + rxBus + .toObservable(EventRileyLinkDeviceStatusChange::class.java) + .observeOn(aapsSchedulers.io) + .subscribe({ event: EventRileyLinkDeviceStatusChange -> rxBus.send(EventSWRLStatus(event.getStatus(context))) }, fabricPrivacy::logException) + ) super.onStart() } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java index c56f303c12..dabf420b29 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/OmnipodErosPumpPlugin.java @@ -108,6 +108,7 @@ import info.nightscout.rx.events.EventAppExit; import info.nightscout.rx.events.EventAppInitialized; import info.nightscout.rx.events.EventPreferenceChange; import info.nightscout.rx.events.EventRefreshOverview; +import info.nightscout.rx.events.EventSWRLStatus; import info.nightscout.rx.logging.AAPSLogger; import info.nightscout.rx.logging.LTag; import info.nightscout.shared.interfaces.ResourceHelper; @@ -326,6 +327,13 @@ public class OmnipodErosPumpPlugin extends PumpPluginBase implements Pump, Riley .observeOn(aapsSchedulers.getIo()) .subscribe(event -> handlePodFaultEvent(), fabricPrivacy::logException) ); + // Pass only to setup wizard + disposable.add(rxBus + .toObservable(EventRileyLinkDeviceStatusChange.class) + .observeOn(aapsSchedulers.getIo()) + .subscribe(event -> rxBus.send(new EventSWRLStatus(event.getStatus(context))), + fabricPrivacy::logException) + ); disposable.add(rxBus .toObservable(EventPreferenceChange.class) .observeOn(aapsSchedulers.getIo()) diff --git a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt index 00389b1e34..ced169452b 100644 --- a/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt +++ b/pump/pump-common/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.kt @@ -66,7 +66,7 @@ abstract class PumpPluginAbstract protected constructor( var pumpSyncStorage: PumpSyncStorage ) : PumpPluginBase(pluginDescription, injector, aapsLogger, rh, commandQueue), Pump, Constraints, info.nightscout.androidaps.plugins.pump.common.sync.PumpSyncEntriesCreator { - private val disposable = CompositeDisposable() + protected val disposable = CompositeDisposable() // Pump capabilities final override var pumpDescription = PumpDescription() From 594d48bc02172bd0b20c14f9f10646335d4f3a80 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 10:13:29 +0100 Subject: [PATCH 113/123] remove unused code --- .../nightscout/androidaps/setupwizard/SetupWizardActivity.kt | 2 -- core/ui/build.gradle | 2 -- 2 files changed, 4 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt index e78b3def77..853c5fb950 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt @@ -9,7 +9,6 @@ import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding -import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.setupwizard.elements.SWItem import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog @@ -35,7 +34,6 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { @Inject lateinit var sp: SP @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var aapsSchedulers: AapsSchedulers - @Inject lateinit var uel: UserEntryLogger private val disposable = CompositeDisposable() private lateinit var screens: List diff --git a/core/ui/build.gradle b/core/ui/build.gradle index de99417aef..8a2f568bb2 100644 --- a/core/ui/build.gradle +++ b/core/ui/build.gradle @@ -4,8 +4,6 @@ plugins { } apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" -//apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" -//apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" android { namespace 'info.nightscout.core.ui' From c2fb7811ddf2d9567585fe61f867f7db3ea608fd Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 10:13:59 +0100 Subject: [PATCH 114/123] New Crowdin updates (#2206) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations strings.xml (French) * New translations exam.xml (French) * New translations protection.xml (French) * New translations strings.xml (French) * New translations strings.xml (Russian) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations validator.xml (Japanese) * New translations objectives.xml (Japanese) * New translations exam.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations exceptions.xml (Japanese) * New translations alert_titles.xml (Japanese) * New translations alert_descriptions.xml (Japanese) * New translations alert_codes.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Japanese) * New translations strings.xml (Romanian) * New translations strings.xml (Danish) * New translations strings.xml (Russian) * New translations strings.xml (Russian) * New translations strings.xml (Romanian) * New translations strings.xml (French) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (German) * New translations strings.xml (Greek) * New translations strings.xml (Irish) * New translations strings.xml (Hebrew) * New translations strings.xml (Hungarian) * New translations strings.xml (Italian) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Norwegian) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (French) * New translations strings.xml (Spanish) * New translations strings.xml (Afrikaans) * New translations strings.xml (Bulgarian) * New translations strings.xml (Catalan) * New translations strings.xml (Czech) * New translations strings.xml (Danish) * New translations strings.xml (German) * New translations strings.xml (Greek) * New translations strings.xml (Hebrew) * New translations strings.xml (Italian) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Korean) * New translations strings.xml (Lithuanian) * New translations strings.xml (Dutch) * New translations strings.xml (Norwegian) * New translations strings.xml (Polish) * New translations strings.xml (Portuguese) * New translations strings.xml (Russian) * New translations strings.xml (Slovak) * New translations strings.xml (Swedish) * New translations strings.xml (Turkish) * New translations strings.xml (Portuguese) * New translations strings.xml (Russian) * New translations strings.xml (Slovak) * New translations strings.xml (Swedish) * New translations strings.xml (Turkish) * New translations strings.xml (Chinese Simplified) * New translations strings.xml (Portuguese, Brazilian) * New translations strings.xml (Croatian) * New translations strings.xml (Serbian (Latin)) * New translations strings.xml (Russian) * New translations strings.xml (Japanese) * Update source file strings.xml * Update source file strings.xml * New translations strings.xml (Spanish) * New translations protection.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations exam.xml (Spanish) * New translations protection.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (Spanish) * New translations strings.xml (French) * New translations strings.xml (French) * New translations exam.xml (Spanish) * New translations exam.xml (Spanish) * New translations exam.xml (Spanish) * New translations exam.xml (Spanish) --- .../rx/src/main/res/values-es-rES/strings.xml | 1 + .../rx/src/main/res/values-fr-rFR/strings.xml | 1 + .../rx/src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 4 + app/src/main/res/values-af-rZA/strings.xml | 13 -- app/src/main/res/values-bg-rBG/strings.xml | 21 -- app/src/main/res/values-ca-rES/strings.xml | 7 - app/src/main/res/values-cs-rCZ/strings.xml | 21 -- app/src/main/res/values-da-rDK/strings.xml | 21 -- app/src/main/res/values-de-rDE/strings.xml | 21 -- app/src/main/res/values-el-rGR/strings.xml | 13 -- app/src/main/res/values-es-rES/strings.xml | 23 +- app/src/main/res/values-fr-rFR/strings.xml | 21 -- app/src/main/res/values-it-rIT/strings.xml | 21 -- app/src/main/res/values-iw-rIL/strings.xml | 21 -- app/src/main/res/values-ja-rJP/strings.xml | 24 +-- app/src/main/res/values-ko-rKR/strings.xml | 21 -- app/src/main/res/values-lt-rLT/strings.xml | 21 -- app/src/main/res/values-nl-rNL/strings.xml | 21 -- app/src/main/res/values-no-rNO/strings.xml | 21 -- app/src/main/res/values-pl-rPL/strings.xml | 21 -- app/src/main/res/values-pt-rBR/strings.xml | 21 -- app/src/main/res/values-pt-rPT/strings.xml | 21 -- app/src/main/res/values-ro-rRO/strings.xml | 21 -- app/src/main/res/values-ru-rRU/strings.xml | 21 -- app/src/main/res/values-sk-rSK/strings.xml | 21 -- app/src/main/res/values-sv-rSE/strings.xml | 21 -- app/src/main/res/values-tr-rTR/strings.xml | 21 -- app/src/main/res/values-zh-rCN/strings.xml | 21 -- .../src/main/res/values-es-rES/protection.xml | 11 + .../src/main/res/values-fr-rFR/protection.xml | 11 + .../src/main/res/values-ja-rJP/strings.xml | 17 +- .../src/main/res/values-ja-rJP/validator.xml | 2 + .../src/main/res/values-ru-rRU/strings.xml | 11 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../ui/src/main/res/values-es-rES/strings.xml | 5 + .../ui/src/main/res/values-fr-rFR/strings.xml | 5 + .../ui/src/main/res/values-ja-rJP/strings.xml | 8 + .../src/main/res/values-ja-rJP/strings.xml | 4 + .../main/res/values-ja-rJP/alert_codes.xml | 2 + .../res/values-ja-rJP/alert_descriptions.xml | 2 + .../main/res/values-ja-rJP/alert_titles.xml | 2 + .../src/main/res/values-ja-rJP/exceptions.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-es-rES/strings.xml | 54 +++++ .../src/main/res/values-fr-rFR/strings.xml | 54 +++++ .../src/main/res/values-ja-rJP/strings.xml | 5 + .../src/main/res/values-ru-rRU/strings.xml | 11 + .../src/main/res/values-ja-rJP/strings.xml | 4 + .../src/main/res/values-af-rZA/strings.xml | 1 + .../src/main/res/values-bg-rBG/strings.xml | 1 + .../src/main/res/values-ca-rES/strings.xml | 1 + .../src/main/res/values-cs-rCZ/strings.xml | 1 + .../src/main/res/values-da-rDK/strings.xml | 1 + .../src/main/res/values-de-rDE/strings.xml | 1 + .../src/main/res/values-el-rGR/strings.xml | 1 + .../main/src/main/res/values-es-rES/exam.xml | 27 +-- .../src/main/res/values-es-rES/strings.xml | 155 +++++++++++++ .../main/src/main/res/values-fr-rFR/exam.xml | 1 + .../src/main/res/values-fr-rFR/strings.xml | 203 ++++++++++++++++++ .../src/main/res/values-ga-rIE/strings.xml | 1 + .../src/main/res/values-hr-rHR/strings.xml | 1 + .../src/main/res/values-hu-rHU/strings.xml | 1 + .../src/main/res/values-it-rIT/strings.xml | 1 + .../src/main/res/values-iw-rIL/strings.xml | 1 + .../main/src/main/res/values-ja-rJP/exam.xml | 2 + .../src/main/res/values-ja-rJP/objectives.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 27 +++ .../src/main/res/values-ko-rKR/strings.xml | 1 + .../src/main/res/values-lt-rLT/strings.xml | 1 + .../src/main/res/values-nl-rNL/strings.xml | 1 + .../src/main/res/values-no-rNO/strings.xml | 1 + .../src/main/res/values-pl-rPL/strings.xml | 1 + .../src/main/res/values-pt-rBR/strings.xml | 1 + .../src/main/res/values-pt-rPT/strings.xml | 1 + .../src/main/res/values-ro-rRO/strings.xml | 1 + .../src/main/res/values-ru-rRU/strings.xml | 1 + .../src/main/res/values-sk-rSK/strings.xml | 1 + .../src/main/res/values-sr-rCS/strings.xml | 1 + .../src/main/res/values-sv-rSE/strings.xml | 1 + .../src/main/res/values-tr-rTR/strings.xml | 1 + .../src/main/res/values-zh-rCN/strings.xml | 1 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-fr-rFR/strings.xml | 44 ++++ .../src/main/res/values-ja-rJP/strings.xml | 2 + .../src/main/res/values-ru-rRU/strings.xml | 14 ++ .../src/main/res/values-ja-rJP/strings.xml | 18 ++ .../src/main/res/values-ja-rJP/strings.xml | 18 ++ .../src/main/res/values-ja-rJP/strings.xml | 9 + .../src/main/res/values-ja-rJP/strings.xml | 13 ++ .../src/main/res/values-ja-rJP/strings.xml | 11 + .../src/main/res/values-ja-rJP/strings.xml | 10 + ui/src/main/res/values-es-rES/strings.xml | 4 + ui/src/main/res/values-fr-rFR/strings.xml | 44 ++++ ui/src/main/res/values-ja-rJP/strings.xml | 14 ++ 98 files changed, 860 insertions(+), 514 deletions(-) create mode 100644 app-wear-shared/rx/src/main/res/values-ja-rJP/strings.xml create mode 100644 app-wear-shared/shared/src/main/res/values-ja-rJP/strings.xml create mode 100644 core/core-main/src/main/res/values-ja-rJP/validator.xml create mode 100644 core/fabric/src/main/res/values-ja-rJP/strings.xml create mode 100644 core/ui/src/main/res/values-ja-rJP/strings.xml create mode 100644 implementation/src/main/res/values-ja-rJP/strings.xml create mode 100644 insight/src/main/res/values-ja-rJP/alert_codes.xml create mode 100644 insight/src/main/res/values-ja-rJP/alert_descriptions.xml create mode 100644 insight/src/main/res/values-ja-rJP/alert_titles.xml create mode 100644 insight/src/main/res/values-ja-rJP/exceptions.xml create mode 100644 insight/src/main/res/values-ja-rJP/strings.xml create mode 100644 plugins/aps/src/main/res/values-ja-rJP/strings.xml create mode 100644 plugins/automation/src/main/res/values-ja-rJP/strings.xml create mode 100644 plugins/main/src/main/res/values-ja-rJP/exam.xml create mode 100644 plugins/main/src/main/res/values-ja-rJP/objectives.xml create mode 100644 plugins/main/src/main/res/values-ja-rJP/strings.xml create mode 100644 plugins/openhumans/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/combo/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/danar/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/diaconn/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/eopatch/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/medtronic/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/pump-common/src/main/res/values-ja-rJP/strings.xml create mode 100644 pump/rileylink/src/main/res/values-ja-rJP/strings.xml create mode 100644 ui/src/main/res/values-ja-rJP/strings.xml diff --git a/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml b/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml index 3537b368a4..01b2015eac 100644 --- a/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml +++ b/app-wear-shared/rx/src/main/res/values-es-rES/strings.xml @@ -1,5 +1,6 @@ + Conectando durante %1$d s Estableciendo comunicacion Conectado Desconectando diff --git a/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml b/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml index bbe3069ad2..09260d1d6a 100644 --- a/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml +++ b/app-wear-shared/rx/src/main/res/values-fr-rFR/strings.xml @@ -1,5 +1,6 @@ + Connexion en cours %1$ds Connexion Connectée Déconnexion en cours diff --git a/app-wear-shared/rx/src/main/res/values-ja-rJP/strings.xml b/app-wear-shared/rx/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/app-wear-shared/rx/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/app-wear-shared/shared/src/main/res/values-ja-rJP/strings.xml b/app-wear-shared/shared/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..554d7a16e3 --- /dev/null +++ b/app-wear-shared/shared/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index e4bc7ca2b0..2ce93013bf 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -9,7 +9,6 @@ Wil jy regtig die databasis herstel? Gaan uit Gebruik vir die aktiewe plugins te konfigureer - Aktiveer of deaktiveer die implementering die lus wakker maak. Wys die huidige staat van jou lus en knoppies vir mees algemene optrede Toon \'n voortgesette kennisgewing met \'n kort oorsig van wat jou lus besig is om te doen Sensitiwiteit word bereken op dieselfde manier as Oref0, maar jy kan die tydsraamwerk spesifiseer in die verlede. Minimale karb absorpsie is bereken uit maks karb absorpsie tyd vanaf voorkeure. @@ -27,14 +26,9 @@ Hier is \'n paar algemene invoegtoepassings wat jy dalk nuttig sal vind. Watter beperkings word toegepas? Lus - APS - Na verwerkte beperkings - Tydelike basale gestel deur pomp - GEEN APS GEKIES OF UITSLAG VERSKAF Beperkings skending Verander jou insette! BG bron - Nuwe voorstel beskikbaar Nightscout-weergawe: Voorkeure uitgevoer Uitvoer instellings na @@ -55,7 +49,6 @@ Voeg by Wysig Corr - Pomp nie geïnisialiseer nie! Reeks vir visualisering Hoë en lae merke vir die diagramme in Overview en Smartwatch LAE merk @@ -66,7 +59,6 @@ Voortgesette kennisgewing OU DATA CONF - LUS TUIS BEHANDEL WEAR @@ -138,7 +130,6 @@ Laat outomatiese Foutverslagdoening en kenmerk data stuur na die ontwikkelaars via die fabric.io diens. Hernuwe asseblief jou G5 toepassing na \'n ondersteunde weergawe Dexcom toep is nie geïnstalleer nie. - SMB gestel deur pomp Aktiwiteit Sensitiewiteit Afwykings @@ -146,8 +137,6 @@ Insulien AanBoord Basale Ingenieurswese modus geaktiveer - \'n Bolus was binne die laaste 3 minute afgelewer, SMB is oorgespring - Basale reggestel Maaltyd maks absorpsie tyd [h] Tyd waarteen enige maaltyd as geabsorbeer beskou word. Oorblywende koolhidrate sal afgesny word. Wys notas veld in behandeling dialoë @@ -193,8 +182,6 @@ Herstel na verstek Verkose APS modus Stuur vandag se loglêers aan ontwikkelaars saam met hierdie tyd. Onverwagte situasie. - Minimale versoek verandering [%] - Oop lus sal nuwe verandering versoek as die %. Verstek waarde is 20% == ∑ %1$s U Projeksies diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 05618058c5..635e2e0c29 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -10,7 +10,6 @@ Сигурни ли сте че искате да изтриете всички данни? Изход За конфигурация на активните плъгини - Включва или изключва затворения кръг (loop). Показва текущото състояние на вашия APS и бутони за най-често използваните действия Показва известие с резюме на това, което прави вашия APS Чувствителността се изчислява по същия начин като в Oref0, но можете да зададете времева рамка. Минимална въглехидрати абсорбция се изчислява от Макс време за усвояване на въглехидратите в опциите. @@ -30,15 +29,9 @@ Синхронизация Кои ограничения да се прилагат? Режим на APS - Loop - Алгоритъм за APS - След ограничения - Временният базал зададен от помпата - НЕ Е ИЗБРАН APS ИЛИ НЯМА РЕЗУЛТАТ ОТ НЕГО Нарушено ограничение Променете данните! Източник на данни за КЗ - Има ново предложение - Предложение Профил Nightscout версия: Настройките са експортирани @@ -78,7 +71,6 @@ Корекция (ОПАСНО ЗА ДЕАКТИВИРАНЕ) Само качвай данни в NS Само каване в NS (изключи синхронизиране). Може да спре данните за КЗ, освен ако не е избран локален източник като xDrip +. Не е ефективно за профила, освен ако не ползвате NS профил.\n!!! ВНИМАНИЕ !!! Деактивирането на тази опция може да причини проблеми и предозиране на инсулин, ако някой от Вашите компоненти (AAPS, NS, xDrip +) е неправилно конфигуриран. Внимателно гледайте, ако данните, показани от AAPS съответстват на състоянието на помпата! - Помпата не е инициализирана! Единици Диапазон за визуализация Стойност на линиите за ниска и висока КЗ (mmol/l) за телефона и часовника @@ -90,7 +82,6 @@ Текущи известия СТАРИ ДАННИ КОНФ - ЦИК ОСН Леч WEAR @@ -170,9 +161,6 @@ Количество въглехидрати за добавяне при натискане на бутона Количество инсулин за добавяне при натискане на бутона Не може да се стартира CGM приложението. Уверете се, че е инсталирано. - Игнориране за 5 мин - Игнориране за 15 мин - Игнориране за 30 мин Уведомяване при SMB Покажи SMB на часовника като стандартен болус. Показвай прогнозините КЗ на часовника. @@ -182,7 +170,6 @@ Позволява автоматично изпращане на данни за грешки и статистически данни до разработчиците чрез услугата fabric.io . Моля обновете Dexcom приложението до поддържана версия Приложението на Dexcom не е инсталирано. - SMB в помпата Активност Въздействие на Кръвна Захар Чувствителност @@ -191,8 +178,6 @@ Действащ инсулин Базали Режим за раработчици (Engineering mode) включен - Има болус през последните 3 мин, пропускам SMB - Базалът е зададен коректно Макс. време за усвояване на храна (часове) Време за което всяко хранене се счита за усвоено. Оставащите въглехидрати ще бъдат изчиствани. Показване на поле \"бележки\" в диалоговите прозорци за лечение @@ -244,8 +229,6 @@ Възстанови настройките по подразбиране Предпочитаният режим на APS Изпрати последните лог файлове на разработчиците. Непредвидена ситуация. - Минимална стойност за промяна [%] - AndroidAPS ще покаже запитването за промяна на базала само ако е по-голямо от тази стойност.(Стандартно 20%) Общо %1$s Е Калкулатора изчислява нужния инсулин, но само тази част ще бъде доставена. Полезно със SMB алгоритъма. Единици @@ -255,10 +238,6 @@ Покажи премахнатите Изтрий опашка? Всички данни ще се загубят! Меню на графиката - Диапазон между изпълнение на SMB - Макс. време за изпълнение за SMB - Диапазон между временни базали - Продължителност на временни базали Прогнозни КЗ Лечения Наклон на отклонението diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index 0a9529a3e8..f8197d4c38 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -10,7 +10,6 @@ Esteu segurs que voleu restablir les bases de dades? Sortir Utilitzat per configurar plugins actius - Activar o desactivar la implementació que activa el llaç. Mostra l\'estat actual del llaç i botons per les accions més habituals Va mostrant avisos amb un petit resum del que el llaç està fent Sensibilitat calculada com amb Oref0, però podent especificar un rang de temps en el passat. L\'absorció mínima dels carbohidrats es calcula a partir del temps màxim d\'absorció de carbohidrats indicat a la configuració. @@ -30,14 +29,9 @@ Sincronització Quines restriccions s\'estan aplicant? Llaços - APS - Basal temporal definida per la bomba - CAP APS SELECCIONAT O RESULTAT ENTREGAT Violació de restriccions Modifiqueu les dades! Origen glucèmia - Nova proposta disponible - Proposta de carbs Versió de Nightscout: Configuració exportada Entrades d\'usuari exportades @@ -77,7 +71,6 @@ Avís en curs DADES ANTIGUES CONF - LLAÇ INICI TRACT WEAR diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 2addcab9ee..11cfba5e32 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -10,7 +10,6 @@ Opravdu resetovat všechny databáze? Konec Nastavení konfigurace (povolování součástí systému) - Povolení nebo zakázání smyčky. Zobrazení stavu a informací. Přístup k nejběžnějším ovládacím prvkům Zobrazení průběžného oznámení v Androidu s krátkým přehledem, co smyčka právě dělá Citlivost je počítána stejným způsobem jako v Oref0, ale je možné specifikovat dobu do minulosti. Minimální absorpce sacharidů je počítána dynamicky z maximální doby absorpce definované v nastavení. @@ -35,16 +34,10 @@ Jaká omezení byla použita? Smyčka Použitím aktivujte integraci AAPS. - APS - Po zpracování omezení - Bazál nastavený pumpou - ŽÁDNÉ APS NEVYBRÁNO NEBO NEVRÁTILO VÝSLEDEK Mimo povolený rozsah Změňte zadání! Zdroj glykémie Odkud má AAPS získávat glykémie? - Dostupné nové doporučení - Návrh sacharidů Profil Verze Nightscoutu: Nastavení exportováno @@ -84,7 +77,6 @@ Korekce (NEBEZPEČNÉ ZAKÁZAT) Pouze odesílání do NS Pouze nahrávání do NS. Neplatí pro glykémie, pokud je NS vybrán jako zdroj glykémií. Neplatí pro profily, pokud je vybraný NS Profil.\n!!! VAROVÁNÍ!!! Vypnutí této možnosti může způsobit chybné chování a předávkování inzulínem, pokud je některá z vašich komponent (AAPS, NS, xDrip+) špatně nastavena. Pečlivě sledujte, jestli data zobrazená v AAPS odpovídají stavu pumpy! - Pumpa není inicializována! Jednotky Rozsah pro zobrazení Značka vysoké a nízké hodnoty v přehledu a na hodinkách Wear @@ -96,7 +88,6 @@ Průběžné oznámení ZASTARALÉ KONF - SMYČ PŘEH OŠET WEAR @@ -176,9 +167,6 @@ Množství sacharidů přidané po stisknutí tlačítka Množství inzulínu přidané po stisknutí tlačítka Nelze spustit aplikace CGM. Ujistěte se, že je nainstalovaná. - Ignorovat 5 m - Ignorovat 15 m - Ignorovat 30 m Oznámení při SMB Ukazovat SMB na hodinkách jako normální bolus. Zobrazovat predikce na hodinkách. @@ -188,7 +176,6 @@ Automatické odesílání chyb aplikace a statistiky používání vývojářům pomocí služby fabric.io. Prosím aktualizujte Dexcom aplikaci na podporovanou verzi Aplikace Dexcom není nainstalována. - SMB provedené pumpou Aktivita Vliv na hladinu glukózy Citlivost @@ -197,8 +184,6 @@ Zbývající inzulín Bazály Expertní mód povolen - Odeslán bolus během posledních 3 minut, SMB přeskočeno - Bazál nastaven správně Maximální doba absorpce sacharidů [h] Doba, po které jsou všechny sacharidy považovány za strávené. Zbylé budou oříznuty. Zobrazovat kolonku poznámky v dialozích ošetření @@ -255,8 +240,6 @@ Obnovit výchozí Preferovaný režim APS Odešlete dnešní soubory protokolů vývojářům spolu s tímto časem. Neočekávaná situace. - Minimální změna pro výzvu [%] - Otevřená smyčka vytvoří novou žádost o změnu pouze v případě, že změna je větší než tato hodnota. Výchozí hodnota je 20 % == ∑ %1$s U Kalkulátor provede výpočet, ale dodána je pouze tato část inzulínu. Výhodné při používání SMB algoritmu. Jednotky @@ -266,10 +249,6 @@ Zobrazit odstraněné Vymazat frontu? Všechna data ve frontě budou ztracena! Možnosti grafu - Čas požadavku SMB - Čas provedení SMB - Čas požadavku dočasného bazálu - Čas provedení dočasného bazálu Predikce Ošetření Odchylka sklonu diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 8cc7d6d551..cef62849c5 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -10,7 +10,6 @@ Er du sikker på, at du vil nulstille databaserne? Afslut Bruges til at konfigurere de aktive plugins - Aktiver eller deaktiver implementeringen som aktiverer Loop. Viser den aktuelle tilstand af dit loop og knapper til de mest almindelige handlinger Viser en løbende notifikation med en kort oversigt over, hvad dit loop gør Sensitiviteten er beregnet på samme måde som Oref0, men du kan angive tidsramme for fortiden. Minimal optagelse af kulhydrater beregnes fra maks. kulhydrat optagelse fra præferencer. @@ -30,15 +29,9 @@ Synkronisering Hvilke begrænsninger er anvendt? Loop - APS - Efter bearbejdede begrænsninger - Midlertidig basal sat af pumpe - INGEN APS VALGT ELLER GIVET RESULTAT Begrænsninger overtrådt Skift dit input! BG kilde - Nyt forslag tilgængeligt - Kulhydrat Forslag Profil Nightscout version: Præferencer eksporteret @@ -78,7 +71,6 @@ Korrektion (FARLIG AT DEAKTIVERE) Kun NS upload Kun NS upload (Synkronisering deaktiveret). Ikke effektiv på SVG medmindre en lokal kilde såsom xDrip+ er valgt. Ikke effektiv på profiler når NS-Profil bliver brugt.\n!!! ADVSRSEL !!! Deaktivering af denne indstilling kan forårsage funktionsfejl og overdosis af insulin hvis nogle af dine komponenter (AAPS, NS xDrip+) er konfigureret forkert. Kig nøje efter om data fra AAPS matcher pumpens tilstand! - Pumpe er ikke initialiseret! Enheder Område for Visualisering Højeste og laveste værdi for diagrammerne i Oversigt og Smartwatch @@ -90,7 +82,6 @@ Igangværende Notifikation GAMLE DATA KONF - LOOP HJEM BEHANDL UR @@ -170,9 +161,6 @@ Antal kulhydrater der skal tilføjes når der trykkes på knappen Mængde insulin der skal tilføjes når der trykkes på knappen Kunne ikke starte CGM applikationen. Kontroller at den er installeret. - Ignorér 5m - Ignorér 15m - Ignorér 30m Giv besked ved SMB Vis SMB på uret som en standard bolus. Vis forudsigelser på urskiven. @@ -182,7 +170,6 @@ Tillad automatisk nedbruds rapportering og funktionsbrug data som sendes til udviklerne via fabric.io tjenesten. Opdater venligst din Dexcom app til understøttet version Dexcom app er ikke installeret. - SMB indstillet af pumpe Aktivitet Blodsukker virkning Sensitivitet @@ -191,8 +178,6 @@ Aktivt insulin Basaler Engineering mode aktiveret - En bolus blev leveret inden for de sidste 3 minutter, springer SMB over - Basal sat korrekt Måltid max absorptionstid [h] Tid hvor ethvert måltid betragtes som absorberet. Resterende kulhydrater vil blive afskåret. Vis notefelt i behandlingsdialoger @@ -246,8 +231,6 @@ Nulstil til standardindstillinger Foretrukket APS-tilstand Send dagens logfiler til udviklere sammen med denne tid. Uventet situation. - Minimal anmodningsændring [%] - Åben Loop vil kun foreslå ny ændringsanmodning, hvis ændringen er større end denne værdi i %. Standardværdien er 20% == ∑ %1$s IE Bolus guiden udfører beregning, men kun denne del af beregnet insulin leveres. Nyttig med SMB algoritme. Enheder @@ -257,10 +240,6 @@ Vis fjernede Ryd køen? Alle data i køen vil gå tabt! Diagrammenu - SMB anmodningstid - SMB udførelsestid - Midlertidig basal anmodningstid - Midlertidig basal afviklingstid Forudsigelser Behandlinger Afvigelses hældning diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 45ddb41dd8..f526b9e490 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -10,7 +10,6 @@ Möchtest du die Datenbank wirklich zurücksetzen? Schließen Dient zum Konfigurieren der aktiven Plugins - Aktiviere oder deaktiviere die Anwendung, die den Loop ausführt. Zeigt den aktuellen Status deines Loops und Schaltflächen für die geläufigsten Aktionen an Zeigt eine fortlaufende Benachrichtigung mit einer kurzen Übersicht darüber, was dein Loop derzeit tut Die Sensitivität wird genauso wie bei Oref0 berechnet, aber Du kannst dafür ein Zeitfenster bestimmen. Die minimale Kohlenhydrat-Absorptionsrate wird aus der maximalen Absorptionsdauer aus den Einstellungen abgeleitet. @@ -30,15 +29,9 @@ Synchronisierung Welche Beschränkungen werden angewendet? Loop - APS - Beschränkungen angewendet - TBR der Pumpe - KEIN APS AUSGEWÄHLT ODER KEIN ERGEBNIS VORHANDEN Beschränkungen wurden verletzt oder Limit erreicht. Ändere deine Eingabe! BZ-Quelle - Neue Empfehlung verfügbar - Kohlenhydrate Vorschlag Profil Nightscout-Version: Einstellungen exportiert @@ -78,7 +71,6 @@ Korr (DEAKTIVIEREN GEFÄHRLICH) Zu NS nur hochladen Zu Nightscout nur hochladen (keine Synchronisation). Gilt nicht für CGM-Werte falls nicht eine lokale Quelle wie xDrip+ ausgewählt wurde. Gilt ebenfalls nicht für Profildaten, wenn ein NS-Profil genutzt wird. \n!!! WARNUNG !!! Deaktivieren dieser Option kann zu Fehlfunktionen und Insulin-Überdosierung führen, wenn eine der Komponenten (AAPS, NS, xDrip+) falsch konfiguriert ist. Achte sorgfältig darauf, ob die in AAPS angezeigten Daten mit denen der Pumpe übereinstimmen! - Pumpe nicht initialisiert! Einheiten Zielbereich für die Grafikanzeige Hoch- und Niedrig-Werte für die Übersicht- und die Smartwatch-Anzeige @@ -90,7 +82,6 @@ Anhaltende Benachrichtigung VERALTETE DATEN KONF - LOOP HOME BEH UHR @@ -170,9 +161,6 @@ Menge der Kohlenhydrate, die hinzugefügt werden soll, wenn die Schaltfläche gedrückt wird. Menge an Insulin, die hinzugefügt werden soll, wenn die Schaltfläche gedrückt wird CGM-Anwendung konnte nicht geöffnet werden. Stelle sicher, dass diese installiert ist. - 5 Min. ignorieren - 15 Min. ignorieren - 30 Min. ignorieren Bei SMB benachrichtigen Zeige SMB auf der Uhr wie einen normalen Bolus an. Zeige Vorhersagen auf dem Watchface. @@ -182,7 +170,6 @@ Erlauben, dass automatische Fehler-Berichte und Nutzungsstatistiken an die Entwickler über den Service von Fabric.io gesendet werden Bitte aktualisiere deine Dexcom App auf eine unterstützte Version Dexcom App ist nicht installiert. - SMB von der Pumpe abgegeben Aktivität Blutzuckerwirkung Sensitivität @@ -191,8 +178,6 @@ Aktives Insulin Basal Entwickler-Modus aktiviert - Aufgrund eines Bolus in den letzten 3 Minuten wird kein SMB abgegeben. - Basalrate richtig eingestellt Maximale Dauer der Essens-Resorption [h] Zeit, nach der jede Mahlzeit mit Sicherheit absorbiert ist. Verbleibende Kohlenhydrate werden danach nicht mehr berücksichtigt. Zeige Feld für Notizen in den Behandlungsdialogen @@ -247,8 +232,6 @@ Bevorzugter APS-Modus Sende die heutigen Logdateien unter Angabe dieser Uhrzeit an die Entwickler. Unerwartetes Verhalten. - Minimaler Wert zur Anfrage einer Änderung [%] - Open Loop schlägt neue Änderungen nur dann vor, wenn die Änderung größer als dieser Wert ist. Der Standard-Wert ist 20%. == ∑ %1$s IE Der Bolus-Rechner führt Berechnungen durch, aber nur dieser Teil der berechneten Insulin wird abgegeben. Nützlich mit SMB-Algorithmus. Einheiten @@ -258,10 +241,6 @@ Unerwartetes Verhalten. Gelöschte anzeigen Warteschlange löschen? Alle Daten in der Warteschlange gehen verloren! Diagrammmenü - SMB Anfragezeit - SMB Ausführungszeit - Temp. BR Anfragezeit - Temp. BR Ausführungszeit Predictions (Vorhersagen) Behandlungen Steigung der Abweichung diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index c9348d8f03..5c8ed80c04 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -9,7 +9,6 @@ Θέλετε πραγματικά να επαναφέρετε την βάση δεδομένων; Έξοδος Χρησιμοποιείται για ρύθμιση ενεργών συνδέσεων - Ενεργοποιήστε ή απενεργοποιήστε την εφαρμογή που ενεργοποιεί το κύκλωμα. Εμφανίζει την τρέχουσα κατάσταση του κυκλώματός σας και τα πλήκτρα για τις πιο κοινές ενέργειες Εμφανίζει μία τρέχουσα ειδοποίηση με σύντομη επισκόπηση του τι κάνει το κύκλωμα τώρα Η ευαισθησία υπολογίζεται με τον ίδιο τρόπο όπως το Oref0, αλλά μπορείτε να καθορίσετε το χρονικό διάστημα στο παρελθόν. Η ελάχιστη απορρόφηση υδατανθράκων υπολογίζεται από την μέγιστη απορρόφηση υδατανθράκων από τις επιλογές. @@ -27,14 +26,9 @@ Αυτά είναι μερικά πρόσθετα που μπορεί να βρείτε χρήσιμα. Ποιοι περιορισμοί έχουν εφαρμοστεί; Κύκλωμα - APS - Μετά από επεξεργασία περιορισμών - Προσωρινός Ρυθμός ορίστηκε από την αντλία - ΔΕΝ ΕΠΙΛΕΧΘΗΚΕ APS Ή ΒΡΕΘΗΚΕ ΑΠΟΤΕΛΕΣΜΑ Παραβίαση Περιορισμών Αλλάξτε αυτό που εισάγατε! Πηγή BG - Νέα πρόταση διαθέσιμη Έκδοση Nightscout: Επιλογές εξήχθησαν Εξαγωγή ρυθμίσεων σε @@ -54,7 +48,6 @@ Προσθήκη Διαμόρφωση Διορθ - Η αντλία δεν έχει ρυθμιστεί! Εύρος εμφάνισης Υψηλό και Χαμηλό σημείο για την γραφική στην Επισκόπηση και Smartwatch ΧΑΜΗΛΟ σημείο @@ -65,7 +58,6 @@ Συνεχής Ειδοποίηση Παλιά Δεδομένα Διαμόρφωση - ΚΥΚΛΩΜΑ ΑΡΧΙΚΗ ΘΕΡΑΠ WEAR @@ -137,7 +129,6 @@ Να επιτρέπεται η αυτόματη αποστολή αναφορών σφάλματος και χαρακτηριστικά χρήσης δεδομένων στους προγραμματιστές μέσω του fabric.io. service. Ενημερώστε την εφαρμογή G5 στην υποστηριζόμενη έκδοση Η εφαρμογή Dexcom δεν είναι εγκατεστημένη. - Το SMB ρυθμίστηκε από την αντλία Δραστηριότητα Ευαισθησία Αποκλίσεις @@ -145,8 +136,6 @@ Ενεργή Ινσουλίνη Βασικοί Μηχανική λειτουργία ενεργοποιημένη - Ένα bolus παραδόθηκε μέσα στα τελευταία 3 λεπτά, παράκαμψη SMB - Ο βασικός ρυθμός ορίστηκε σωστά Μέγιστος χρόνος απορρόφησης γεύματος [h] Χρόνος κατά τον οποίο οποιοδήποτε γεύμα θεωρείται απορροφημένο. Οι υπόλοιποι υδατάνθρακες θα αποκοπούν. Εμφάνιση πεδίου σημειώσεων στους διαλόγους θεραπείας @@ -192,8 +181,6 @@ Επαναφορά προεπιλογών Προτιμώμενη λειτουργία APS Στείλτε τα αρχεία καταγραφής της ημέρας στους προγραμματιστές μαζί με αυτή τη φορά. Απροσδόκητη κατάσταση. - Ελάχιστο αίτημα για αλλαγή [%] - Το Ανοιχτό κύκλωμα θα εμφανίσει νέο μήνυμα αλλαγής μόνο αν η αλλαγή είναι μεγαλύτερη από αυτήν τη τιμή %. Προεπιλεγμένη τιμή 20% == ∑ %1$s U Ο Υπολογισμός Bolus κάνει υπολογισμούς αλλά μόνο αυτό το μέρος της υπολογίσημης ινσουλίνης χορηγείται. Χρήσιμο με τον αλγόριθμο SMB. diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 10b26dd93c..d3bf785a1d 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -10,7 +10,6 @@ ¿Realmente quiere restablecer las bases de datos? Salir Utilizado para configurar complementos activos - Activar o desactivar la posibilidad para activar el lazo. Muestra el estado actual de tu lazo y los botones para las acciones más usadas Muestra una notificación en curso con un breve resumen de lo que está haciendo tu lazo La sensibilidad se calcula de la misma manera que en Oref0, pero puede especificarse el rango de tiempo. La absorción de carbohidratos mínima se calcula con el máximo tiempo de absorción de carbohidratos en preferencias @@ -31,19 +30,14 @@ Ajustes generales Algunos ajustes generales que pueden ser de utilidad Sincronización + Subida de datos y sincronización de plugins ¿Qué restricciones se aplican? Lazo Usa esto para habilitar la integración de lazo de AAPS - APS - Tras procesar las restricciones - Basal temporal establecida por la bomba - NO APS Seleccionado o resultado entregado Violación de restricciones ¡Cambiar datos! Origen de Glucosa ¿Desde dónde debería obtener AAPS los datos? - Nueva propuesta disponible - Sugerencia de carbohidratos Perfil Versión de Nightscout: Ajustes exportados @@ -83,7 +77,6 @@ Corrección (PELIGROSO DESHABILITAR) Sólo subida a Nightscout Sólo subir a Nightscout (sincronización desactivada). No es efectivo en SGV, a menos que se seleccione una fuente local como xDrip+. No es efectivo en perfiles, si se usan perfiles Nightscout.\n!!! ¡¡ADVERTENCIA!!! Desactivar esta opción puede causar mal funcionamiento y sobredosis de insulina, si cualquiera de sus componentes (AAPS, NS, xDrip+) está mal configurado. ¡Vigile cuidadosamente si los datos mostrados por AAPS coinciden con el estado de la bomba! - ¡Bomba no iniciada! Unidades Rango de visualización Establece los rangos de glucosa objetivos (hiper e hipo) en la pantalla inicio de AAPS y en la esfera del reloj @@ -95,7 +88,6 @@ Notificaciones en curso DATOS CADUCADOS CONF - LAZO INICIO TRAT RELOJ @@ -175,9 +167,6 @@ Cantidad de carbohidratos que se agregan cuando se presiona el botón Cantidad de insulina que se agrega cuando se presiona el botón No se pudo iniciar la aplicación CGM. Asegúrate de que está instalada. - Ignorar 5m - Ignorar 15m - Ignorar 30m Notificar SMB Mostrar SMB en el reloj como un bolo estándar Mostrar las predicciones en el reloj @@ -187,7 +176,6 @@ Permite que los informes de errores automáticos y los datos de uso de las funciones, se envíen a los desarrolladores mediante el servicio fabric.io Actualiza tu aplicación de Dexcom a una versión compatible La aplicación Dexcom no está instalada. - SMB administrado por bomba Actividad Impacto de glucosa en sangre Sensibilidad @@ -196,8 +184,6 @@ Insulina activa Basales Modo de ingeniería activado - Un Bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB - Basal establecida correctamente Tiempo máximo de absorción de la comida [h] Tiempo en el que cualquier comida se considera absorbida. Los carbohidratos restantes serán cortados. Mostrar el campo notas en diálogos de tratamientos @@ -223,6 +209,7 @@ Presionar el botón de abajo para permitir que AAPS pueda sugerir/realizar cambios en la insulina basal El complemento de sensibilidad es usado para detectar la sensibilidad y cálculo de COB. Para más info ver: https://androidaps.readthedocs.io/es/latest/Configuration/Sensitivity-detection-and-COB.html + Sincronizar datos a la nube. Puedes saltar este paso ahora, pero no podrás completar los objetivos hasta que lo configures. Por favor, recuerde: nuevos perfiles de insulina requieren DIA de al menos 5h. DIA de 5-6h en nuevos perfiles es lo mismo que DIA de 3h en perfiles antiguos. Selecciona uno de los algoritmos disponibles. Están ordenados de más antiguos a más recientes. Los nuevos son más potentes y agresivos. Por ello, si eres un nuevo usuario, se recomienda empezar con AMA y no con el último. No olvides leer la documentación de OpenAPS y configurarlo antes de usarlo. Por favor, a continuación configure su RileyLink. Después de seleccionar un RileyLink, será posible continuar la configuración una vez que el estado de RileyLink esté en \"Conectado\". Esto podría tardar un minuto.\n @@ -253,8 +240,6 @@ Restablecer valores predeterminados Modo preferido de APS Enviar los archivos de registro de hoy a los desarrolladores. Situación inesperada. - Valor mínimo de cambio [%] - Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor == ∑%1$s U El asistente de bolos realiza el cálculo, pero solo se entrega esta parte de la insulina calculada. Útil con el algoritmo SMB. Unidades @@ -264,10 +249,6 @@ Mostrar eliminados ¿Borrar cola? ¡Se perderán todos los datos de la cola! Menú gráfico - Tiempo requerido de SMB - Tiempo de ejecución de SMB - Tiempo requerido para basal temporal - Tiempo de ejecución para basal temporal Predicciones Tratamientos Pendiente de desviación diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index ab03602ea9..cf503eee45 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -10,7 +10,6 @@ Voulez-vous vraiment réinitialiser les bases de données ? Quitter Utilisé pour configurer les plugins actifs - Activer ou désactiver la mise en œuvre déclenchant la Boucle. Affiche l’état actuel de votre Boucle et des boutons d’actions les plus courantes Affiche une notification en cours avec un bref aperçu de ce que fait votre Boucle La sensibilité est calculée de la même manière que Oref0, mais vous pouvez spécifier la période concernée. L\'absorption minimale des glucides est calculée à partir des temps d’absorption max des glucides du menu préférences. @@ -35,16 +34,10 @@ Quelles restrictions sont appliquées ? Boucle Utilisez ceci pour activer l’intégration de la boucle AAPS. - APS - Après traitement des restrictions - Basal temporaire défini par la pompe - Pas d\'APS sélectionné ou pas de résultat fourni Violation des restrictions Changez vos entrées ! Source des glycémies Quelle source de données doit être utilisée par AAPS ? - Nouvelle recommendation disponible - Suggestion de glucides Profil Version Nightscout : Préférences exportées @@ -85,7 +78,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Corr. (DÉSACTIVATION DANGEREUSE) Envoi NS uniquement Envoi NS uniquement (sync désactivée). Inactif sur les Glycémie des capteurs sauf si une source locale comme xDrip+ est sélectionnée. Inactif sur les profils si Profil NS est sélectionné.\n!!! ATTENTION !!! La désactivation de cette option peut causer des dysfonctionnements et une surdose d\'insuline si l\'un de vos composants (AAPS, NS, xDrip+) est mal configuré. Vérifiez bien si les données affichées par AAPS correspondent à l’état de la pompe ! - Pompe non initialisée ! Unités Fourchette de visualisation Les repères hauts et bas sur les graphiques pour l\'aperçu et la montre @@ -97,7 +89,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Notification en cours DONNÉES ANCIENNES CONF - BOUCLE ACCUEIL TRAIT WEAR @@ -177,9 +168,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Nombre de glucides à ajouter lorsque vous appuyez sur le bouton Quantité d’insuline à ajouter lorsque vous appuyez sur le bouton Impossible d’exécuter l’application de MGC. Assurez-vous de que celle-ci est installée. - Ignorer 5m - Ignorer 15m - Ignorer 30m Notifier en SMB Afficher SMB sur la montre comme un bolus standard. Affichez les prédictions sur l\'écran de montre. @@ -189,7 +177,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Autoriser l\'envoi automatique des rapports d\'erreur et des données d\'utilisation aux développeurs via le service fabric.io SVP actualisez votre app Dexcom vers une version compatible L\'application Dexcom n\'est pas installée. - SMB défini par la pompe Activité Impact glycémique Sensibilité @@ -198,8 +185,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Insuline Active Basals Mode ingénierie actif - Un bolus a été délivré dans les 3 dernières minutes, SMB ignoré - Basal correctement configuré Durée maximale d’absorption pour un repas [h] Durée où n’importe quel repas est considéré absorbé. Les glucides restants ne seront pas pris en compte. Affiche les notes dans les dialogues @@ -256,8 +241,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Réinitialiser les valeurs par défaut Mode APS préféré Envoi des fichiers logs d\'aujourd\'hui aux développeurs avec l\'heure. Cas imprévu. - Changement minimum [%] - Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% == ∑ %1$s U L\'assistant bolus effectue le calcul mais seulement ce pourcentage de l\'insuline calculée est délivré. Utile avec l\'algorithme SMB. Unités @@ -267,10 +250,6 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S Afficher les éléments supprimés Effacer la queue ? Toutes les données en attente seront perdues ! Menu Graph - Heure de demande SMB - Heure d\'exécution SMB - Heure de demande basal temp - Heure d\'exécution basal temp Prédictions Traitements Pente de déviations diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 6b39dc7967..bf877b00e6 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -10,7 +10,6 @@ Vuoi davvero resettare i database? Esci Usato per configurare i plugin attivi - Attiva o disattiva l\'implementazione per la gestione del loop. Visualizza lo stato corrente del tuo loop e i tasti per le azioni più comuni Mostra una notifica persistente con una breve panoramica di ciò che sta facendo il tuo loop La sensibilità è calcolata allo stesso modo di Oref0, ma puoi specificare l\'intervallo di tempo al passato. L\'assorbimento minimo dei carboidrati è calcolato da \'max tempo assorbimento pasto\' nelle preferenze. @@ -34,16 +33,10 @@ Quali vincoli sono applicati? Loop Usalo per attivare l\'integrazione del loop di AAPS. - APS - Dopo elaborazione vincoli - Basale temporanea impostata dal micro - NESSUN APS SELEZIONATO O RISULTATO FORNITO Violazione dei vincoli Cambia il tuo input! Origine BG Da dove AAPS dovrebbe ottenere i suoi dati? - Nuovo suggerimento disponibile - Suggerimento CHO Profilo Versione Nightscout: Preferenze esportate @@ -83,7 +76,6 @@ Corr Solo upload su NS (PERICOLOSO DISABILITARE) Solo upload su NS (no sincronizzazione). Non ha effetto su SGV a meno che non sia selezionata una fonte locale come xDrip+. Non ha effetto sui profili mentre vengono usati i profili NS.\n!!! ATTENZIONE !!! Disabilitare questa opzione potrebbe causare malfunzionamenti e sovra-dosaggio di insulina se uno dei tuoi strumenti (AAPS, NS, xDrip+) è configurato in modo errato. Guarda attentamente se i dati visualizzati da AAPS corrispondono allo stato del micro! - Micro non inizializzato! Unità Intervallo di visualizzazione Limite alto e basso per i grafici nella sezione Panoramica e sullo smartwatch @@ -95,7 +87,6 @@ Notifica persistente DATI VECCHI CONF - LOOP HOME TRATT SMWA @@ -175,9 +166,6 @@ Numero di carboidrati da aggiungere quando si preme il tasto Quantità di insulina da aggiungere quando si preme il tasto Impossibile avviare l\'applicazione CGM. Assicurati che sia installata. - Ignora | 5m - Ignora | 15m - Ignora | 30m Notifica SMB Mostra SMB sullo smartwatch come un bolo standard. Mostra le predizioni sulla watchface. @@ -187,7 +175,6 @@ Consenti la segnalazione automatica degli errori e l\'invio dei dati d\'uso delle funzioni dell\'app agli sviluppatori tramite il servizio fabric.io. Aggiorna la tua app Dexcom a una versione supportata App Dexcom non installata. - SMB impostato dal micro Attività Impatto glicemia (BGI) Sensibilità @@ -196,8 +183,6 @@ Insulina attiva Basali Engineering mode abilitata - Un bolo è stato erogato negli ultimi 3 minuti, SMB ignorato - Basale impostata correttamente Max tempo assorbimento pasto [h] Tempo entro il quale ogni pasto si considera assorbito. Eventuali carboidrati rimanenti verranno tagliati fuori. Finestre tratt.nto: mostra campo note @@ -253,8 +238,6 @@ Ripristina valori predefiniti Modalità APS preferita Invia agli sviluppatori i file log di oggi e di questo momento. Situazione inaspettata. - Richiesta minima di modifica [%] - Il loop aperto mostrerà una nuova richiesta di modifica solo se la modifica è maggiore di questo valore in %. Il valore predefinito è 20% == ∑ %1$s U Il calcolatore esegue il calcolo, ma solo questa parte dell\'insulina calcolata è erogata. Utile con algoritmo SMB. Unità @@ -264,10 +247,6 @@ Mostra rimossi Cancellare la coda? Tutti i dati in coda andranno persi! Menu grafico - Richiesta SMB (momento) - Esecuzione SMB (momento) - Richiesta basale temporanea (momento) - Esecuzione basale temporanea (momento) Predizioni Trattamenti Pendenza deviazione diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 62bb9fbf21..85667881b1 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -10,7 +10,6 @@ אתם בטוחים שאתם רוצים לאפס את מסדי הנתונים? יציאה משמש לקביעת תצורה של תוספים פעילים - הפעלת או השבתת הלולאה. מציג את המצב הנוכחי של הלולאה ולחצני פעולות שימושיות מציג הודעה קבועה עם סקירה קצרה של מה שהלולאה שלכם עושה חישוב הרגישות נעשה בהתאם ל־Oref0, אך ניתן לשנות את מסגרת הזמן. ספיגת הפחמימות המינימלית מחושבת לפי משך ספיגת הפחמימות המרבי מההעדפות. @@ -30,15 +29,9 @@ סינכרון אילו מגבלות פעילות? לולאה - אלגוריתם APS - מגבלות לאחר עיבוד - מינון בזאלי זמני שהוגדר במשאבה - לא נבחרה או סופקה תוצאה ע\"י APS הפרת מגבלות שנה קלט! מקור ערכי הסוכר - הצעה חדשה זמינה - המלצת פחמימות פרופיל גירסת נייטסקאוט: ההעדפות יוצאו @@ -78,7 +71,6 @@ תיקון (מסוכן להשבית) העלאה בלבד לנייטסקאוט העלאה בלבד של נתונים לנייטסקאוט. לא מתאים לשימוש אלא אם מקור נתוני הסוכר הוא מקומי כדוגמת xDrip. לא מתאים לשימוש בפרופילים מקוונים מנייטסקאוט.\n!!! אזהרה !!! ביטול אפשרות זו עלולה לגרום לתקלות ולמינון יתר של אינסולין אם אחד או יותר מרכיבי המערכת (AAPS, xDrip, נייטסקאוט) אינו מוגדר כהלכה. וודאו היטב שהנתונים המוצגים ב-AAPS תואמים את מצב המשאבה! - משאבה לא הופעלה! יחידות טווח הצגה סימוני גבוה ונמוך בתרשים סקירה כללית ובשעון חכם @@ -90,7 +82,6 @@ התראה מתמשכת נתונים ישנים CONF - לולאה בית TREAT WEAR @@ -170,9 +161,6 @@ מספר פחמימות להוספה כאשר לוחצים על הלחצן כמות האינסולין להוספה כאשר לוחצים על הלחצן לא ניתן היה להפעיל את יישום סנסור. וודא שהוא מותקן. - התעלם ל-5 דק\' - התעלם ל-15 דק\' - התעלם ל-30 דק\' דיווח על SMB הצג SMB על השעון כמו בולוס סטנדרטי. הראה את התחזיות על לוח השעון. @@ -182,7 +170,6 @@ אפשר דיווח אוטומטי על קריסה ושליחת נתוני השימוש למפתחים דרך שירות fabric.io. עדכנו את יישום ה-Dexcom שלכם לגרסה נתמכת אפליקציית Dexcom אינה מותקנת. - SMB מוגדר באמצעות משאבה פעילות השפעת הסוכר בדם רגישות @@ -191,8 +178,6 @@ אניסולין פעיל בזאלי מצב הנדסה מופעל - ניתן בולוס ב-3 הדקות האחרונות, מדלג על SMB - הבזאלי הוגדר כהלכה זמן ספיגה מקסימלי של הארוחה [h] משך זמן בו כל ארוחה תחשב כנספגה. לא תהיה התחשבות בפחמימות שנותרו. הצגת שדות הערות בתיבות דו-שיח של טיפול @@ -246,8 +231,6 @@ אפס לברירת המחדל מצב APS מועדף שלח קובצי יומן של היום למפתחים יחד עם זמן זה. מצב לא צפוי. - מינימום לבקשה לשינוי [%] - \'לולאה פתוחה\' תציג בקשת שינוי חדשה רק אם השינוי גדול מערך זה ב-%. ערך ברירת המחדל הוא 20% == ∑ %1$s יח\' אשף הבולוס מבצע חישוב אך רק חלק זה של האינסולין המחושב מוזרק. שימושי בשימוש עם אלגוריתם SMB. יחידות @@ -257,10 +240,6 @@ הצג מחוקים לנקות את התור? כל הנתונים בתור יאבדו! תפריט תרשים - זמן בקשת SMB - זמן ביצוע SMB - זמן בקשת בזאלי זמני - זמן הפעלת בזאלי זמני חיזוי טיפולים שיפוע הסטייה diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 70cc9c5d48..98031d622d 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -2,28 +2,6 @@ - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 38addcd1d1..f9e57224a0 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -10,7 +10,6 @@ 데이터 베이스를 정말 초기화하시겠습니까? 종료 활성화된 플러그인을 구성하는 데 사용됩니다. - Loop를 활성화 혹은 비활성화합니다. 현재 Loop 상태와 기본 기능 버튼을 표시합니다. Loop가 어떤 작동하는지에 대한 간략한 개요를 연속 알림으로 보여줍니다. Oref0와 동일한 방법으로 민감도가 계산되지만, 과거 시간을 지정할 수 있습니다. 최소 탄수화물 흡수는 설정에서 최대 탄수화물 흡수 시간으로 부터 계산됩니다. @@ -30,15 +29,9 @@ 동기화 어떤 제약을 적용합니까? Loop - APS - 제약 적용 후 - 펌프에 의한 임시Basal 설정 - APS가 선택되지 않았거나 계산된 결과가 없습니다. 제한 위반 입력값을 변경하세요! 혈당 출처 - 새로운 제안이 있습니다 - 탄수화물 제안 Nightscout 버전: 설정이 저장되었습니다 사용자 입력 사항들이 저장됨 @@ -77,7 +70,6 @@ 교정주입 (비활성화 시 위험함) NS에 업로드만 하기 NS에 업로드만 하기 (sync를 비활성화 함). xDrip+와 같은 로컬 출처를 선택한 경우 외에는 SGV에 영향을 주지 않음. NS 프로파일을 사용하는 동안 프로파일에 영향을 주지 않음.\n!!! 경고!!! 이 기능을 비활성화하면 일부 구성요소 (AAPS, NS, xDrip+) 가 잘못 설정되어 있을 때 잘못 작동하거나 인슐린의 과다주입을 야기할 수 있음. AAPS에서 보여지는 정보와 펌프 상태가 일치하는지 유의해서 관찰해야 함! - 펌프가 초기화 되지 않았습니다! 단위 차트 표시 범위 홈화면/스마트워치의 차트에서 표시되는 고/저혈당 선 @@ -89,7 +81,6 @@ 연속 알림 오래된 데이터 CONF - LOOP TREAT WEAR @@ -166,9 +157,6 @@ 버튼을 누를 때 추가되는 탄수화물 양 버튼을 누를때 추가될 인슐린 양 CGM앱을 실행할 수 없습니다. 앱이 설치되어 있는지 확인하세요. - 5분간 무시하기 - 5분간 무시하기 - 30분간 무시하기 SMB 알림 일반 Bolus처럼 워치에 SMB 표시 워치페이스에서 예측치를 보여줍니다. @@ -178,7 +166,6 @@ fabric.io 서비스를 통해 개발자에게 앱 오류 및 특정 데이터를 자동 전송합니다. Dexcom앱을 지원가능한 버전으로 업데이트하세요. Dexcom 앱이 설치되지 않았습니다. - 펌프에 의한 SMB 설정 활동 BG impact 민감도 @@ -187,8 +174,6 @@ 체내인슐린양(IOB) Basal 전문가 모드 사용 - 최근 3분 이내에 Bolus가 주입되었습니다. SMB를 건너뜁니다. - Basal이 정상적으로 설정되었습니다. 식사 최대 흡수 시간 [h] 식사가 모두 흡수되었다고 간주되는 시간. 나머지 탄수화물은 모두 없어집니다. 관리창에 노트 영역 보여주기 @@ -237,8 +222,6 @@ 기본값으로 초기화 선호하는 APS 모드 예상치 못한 상황 보고를 위해 오늘의 로그 파일을 개발자에게 전송합니다. - 최소 요청 변화 [%] - Open Loop가 %단위로 이 값보다 변화가 더 클 경우에만 새 변경 요청을 팝업합니다. 기본값은 20 %입니다 == ∑ %1$s U Bolus 마법사는 계산을 수행하지만 계산된 인슐린의 이 부분만 주입됩니다. SMB 알고리즘에 유용합니다. 단위 @@ -248,10 +231,6 @@ 삭제된 기록 표시 대기열을 삭제하시겠습니까? 대기열에 있는 모든 데이터가 삭제됩니다! 차트 메뉴 - SMB 요청시간 - SMB 실행시간 - 임시 Basal 요청시간 - 임시 Basal 실행시간 예측 편차 기울기 인증 실패 diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index b2542509d5..04c099dc31 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -10,7 +10,6 @@ Ar tikrai norite iš naujo nustatyti duomenų bazę? Išeiti Naudojama aktyvių įskiepių konfigūravimui - Aktyvuoja arba deaktyvuoja Ciklo paleidimą. Rodo dabartinę Ciklo būseną ir pagrindinių veiksmų mygtukus Rodo atsinaujinančius pranešimus su trumpa Ciklo veiklos apžvalga Jautrumas insulinui apskaičiuojamas taip pat kaip ir Oref0, tačiau jūs galite nustatyti, koks praeities laikotarpis bus naudojamas. Minimalus angliavandenių įsisavinimo greitis apskaičiuojamas remiantis maksimaliu angliavandenių įsisavinimo greičiu, kuris įvestas Nustatymuose. @@ -30,15 +29,9 @@ Sinchronizacija Kokie apribojimai taikomi? Ciklas - DKS - Pritaikius apribojimus - Laikina bazė nustatyta pompoje - NEPASIRINKTA DKS ARBA NĖRA REZULTATO Apribojimų pažeidimas Pakeiskite įvestus duomenis! Glikemijos šaltinis - Gautas naujas pasiūlymas - Angliavandenių pasiūlymas Profilis Nightscout versija: Nustatymai eksportuoti @@ -78,7 +71,6 @@ Korekcija (PAVOJINGA IŠJUNGTI) Tik įkeliama į NS Tik įkelti į Nightscout (be sinchronizavimo). Netaikoma NGJ reikšmėms, nebent pasirinktas vietinis duomenų šaltinis, pvz., xDrip+. Taip pat netaikoma profilio duomenims, jei naudojamas NS profilis.\n!!! ĮSPĖJIMAS !!! Išjungus šią parinktį, galimas insulino perdozavimas, jei bet kuris iš komponentų (AAPS, NS, xDrip+) sukonfigūruotas neteisingai. Atidžiai stebėkite, ar AAPS rodomi duomenys atitinka pompos duomenis! - Pompa neprijungta! Vienetai Vizualizacijos diapazonas Aukštoji ir žemoji riba Apžvalgos grafikuose bei išmaniuosiuose laikrodžiuose @@ -90,7 +82,6 @@ Nuolatinis pranešimas SENI DUOMENYS KONF - CIKLAS PRADŽIA ĮRAŠ WEAR @@ -169,9 +160,6 @@ Paspaudus mygtuką įvedamas nustatytas angliavandenių kiekis Paspaudus mygtuką įvedamas nustatytas insulino kiekis Nepavyko paleisti NGJ programos. Įsitikinkite, kad ji įdiegta. - Ignoruoti 5 min - Ignoruoti 15 min - Ignoruoti 30 min Pranešti apie SMB Rodyti SMB laikrodyje kaip standartinį bolusą. Rodyti prognozes laikrodyje. @@ -181,7 +169,6 @@ Leisti automatinį pranešimų apie programos trikdžius ir funkcijų naudojimo duomenų siuntimą kūrėjams, naudojant fabric.io servisą. Atnaujinkite savo Dexcom programėlės versiją Dexcom app neįdiegta. - SMB nustatyta iš pompos Aktyvumas KG įtaka Jautrumas insulinui @@ -190,8 +177,6 @@ Aktyvus insulinas organizme Bazė Inžinerinis režimas įjungtas - Bolusas buvo suleistas per paskutines 3 minutes, SMB praleidžiamas - Bazė nustatyta teisingai Maksimalus maisto įsisavinimo laikas [h] Laikas, per kurį bet koks maistas laikomas įsisavintu. Likę angliavandeniai bus atmesti. Rodyti pastabų laukelį terapijos dialoguose @@ -241,8 +226,6 @@ Atkurti numatytuosius Pageidaujamas DKS režimas Siųsti šios dienos žurnalo įrašus kūrėjams dabar. Netikėta situacija. - Minimalaus pokyčio užklausa [%] - Atviras Ciklas parodys naujų pakeitimų užklausą tik tada, kai pokytis bus didesnis nei ši vertė %. Numatytoji vertė yra 20% == ∑ %1$s vv Boluso skaičiuoklė atlieka skaičiavimus, tačiau tik dalis apskaičiuoto insulino yra suleidžiama. Naudinga kartu su SMB algoritmu. Vienetai @@ -252,10 +235,6 @@ Parodyti pašalintus Išvalyti eilę? Visi eilės duomenys bus prarasti! Grafiko meniu - SMB užklausos laikas - SMB įvykdymo laikas - Laikinos bazės užklausos laikas - Laikinos bazės įvykdymo laikas Prognozė Nukrypimo koeficientas Autorizacija nepavyko diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 30a6865178..b8d80024c4 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -10,7 +10,6 @@ Wil je echt de database wissen? Afsluiten Gebruikt om actieve plugins te configureren - Activeer of deactiveer de implementatie die de Loop triggert. Toont de huidige Loop-status en knoppen voor meest gebruikte acties Toont een permanente melding met een beknopt overzicht van hetgeen de Loop momenteel doet Gevoeligheid wordt berekend op dezelfde manier als Oref0, maar je kunt zelf instellen hoeveel uren AAPS terugkijkt. Minimale koolhydraat absorptie is berekend op basis van max koolhydraat absorptie tijd zoals in jouw instellingen. @@ -35,16 +34,10 @@ Welke beperkingen worden toegepast? Loop Gebruik dit om AAPS loop integratie te activeren. - APS - Berekening met toepassing van limieten - Tijdelijk basaal gezet door pomp - GEEN APS GESELECTEERD OF TOEGEKEND RESULTAAT In strijd met beperkingen Wijzig het ingegevene! BG bron Waar moet de AAPS zijn gegevens vandaan halen? - Nieuw voorstel beschikbaar - Koolhydraten Voorstel Profiel Nightscout versie: Instellingen geëxporteerd @@ -84,7 +77,6 @@ Correctie (GEVAARLIJK OM UIT TE SCHAKELEN) alleen NS upload Alleen NS-upload. Heeft geen effect op de SGV, behalve als een lokale bron als xDrip geselecteerd is. Heeft geen effect op profielen wanneer NS-Profielen gebruikt worden.\n!!! WAARSCHUWING !!! Het uitschakelen van deze optie kan fouten veroorzaken en mogelijk resulteren in een overdosis insuline als een van de onderdelen (AAPS, NS, xDrip) onjuist is geconfigureerd. Let goed op of de gegevens van AAPS overeenkomen met de pompstatus! - Pomp niet geïnitialiseerd! Eenheden Bereik voor visualisatie Hoge en lage grens voor grafieken op het Overzicht en op Wear @@ -96,7 +88,6 @@ Permanent bericht Oude gegevens CONF - LOOP OVZ BEHAND WEAR @@ -176,9 +167,6 @@ Aantal koolhydraten toevoegen wanneer de knop wordt ingedrukt Hoeveelheid insuline dat wordt toegevoegd wanneer er op de knop gedrukt wordt Kon de CGM applicatie niet starten. Zorg dat deze geïnstalleerd is. - Negeer 5m - Negeer 15m - Negeer 30m Waarschuw bij SMB Toon SMB op horloge zoals gewone bolussen. Toon de voorspellingen op het horloge. @@ -188,7 +176,6 @@ Sta automatische crashrapporten en verder gebruik van data toe zodat deze naar de ontwikkelaars via fabric.io kan verzonden worden. Gelieve Dexcom app naar ondersteunde versie te updaten Dexcom app is niet geïnstalleerd. - SMB op de pomp ingesteld Activiteit Bloedglucose impact Gevoeligheid @@ -197,8 +184,6 @@ Opgenomen Insuline Basalen Engineering modus is geactiveerd - Er is een bolus toegediend gedurende de afgelopen 3 minuten, SMB wordt overgeslagen - Basaal correct ingesteld Maximum maaltijd absorptie tijd [uur] Tijdspanne waarbinnen elke maaltijd volledig is opgenomen. Resterende KH worden niet mee gerekend. Toon notities veld in behandeling dialoogvensters @@ -255,8 +240,6 @@ Terug naar standaardinstellingen Voorkeur APS-modus Logboekbestanden van vandaag verzenden aan ontwikkelaars samen met de onverwachte situatie. - Minimale verzoek voor aanpassing [%] - Open Loop zal alleen een wijzigingsverzoek tonen als de verandering groter is dan deze waarde in %. De standaard waarde is 20% == ∑ %1$s E Bolus wizard voert de berekening uit maar alleen dit deel van berekende insuline wordt geleverd. Handig in combinatie met het SMB algoritme. Eenheden @@ -266,10 +249,6 @@ Laat verwijderde items zien Wachtrij leegmaken? Alle gegevens in de wachtrij zullen verloren gaan! Grafiek menu - SMB aanvraagtijd - SMB uitvoeringstijd - Tijdelijk basaal aanvraag tijd - Tijdelijke basaal uitvoering tijd Voorspellingen Behandelingen Richtingscoëfficiënt afwijking diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 05f0537e7a..49b0352322 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -10,7 +10,6 @@ Vil du virkelig nullstille databasene? Avslutt Brukes for innstilling av aktive plugins - Aktiver eller deaktiver hendelsen som trigger loop. Viser loopens nåværende tilstand og knapper for de vanligste funksjonene Viser en konstant melding med en kort oppsummering av hva loop gjør Sensitiviteten beregnes på samme måte som i Oref0, men du kan angi hvor mye av historikken som skal tas med i beregningen. Minimum opptak av karbohydrater beregnes ut fra maks karbohydratopptak angitt i dine innstillinger. @@ -35,16 +34,10 @@ Hvilke begrensninger brukes? Loop Bruk denne for å aktivere AAPS\' loopintegrasjon. - APS - Etter behandling av begrensninger - Temp basal satt av pumpen - INGEN APS ER VALGT ELLER HAR LEVERT RESULTAT Brudd på begrensninger Endre dine inndata! BS-kilde Hvor skal AAPS få sine data fra? - Ny anbefaling tilgjengelig - Karbo forslag Profil Nightscout versjon: Innstillinger er eksportert @@ -84,7 +77,6 @@ Korreksjon (FARLIG Å DEAKTIVERE) Kun NS opplasting Kun NS opplasting (deaktivert sync). Ikke effektiv på SGV med mindre en lokal kilde som xDrip+ er valgt. Ikke effektiv på Profiler mens NS-Profiler brukes.\n!!! ADVARSEL !!! Deaktivering av dette alternativet kan føre til funksjonsfeil og overdosering av insulin hvis noen av dine komponenter (AAPS, NS, xDrip+) er feil konfigurert. Observer at data som vises i AAPS samsvarer med pumpestatus! - Pumpen er ikke startet! Enheter Område for visualisering Høy og lav verdi for grafen i Oversikt og smartklokke @@ -96,7 +88,6 @@ Pågående varslinger GAMLE DATA KONF - LOOP HJEM BEH WEAR @@ -176,9 +167,6 @@ Antall karbohydrater som skal legges til når knappen trykkes Mengde insulin som skal legges til når knappen trykkes inn Kunne ikke starte CGM-programmet. Kontroller at det er installert. - Ignorer 5m - Ignorer 15m - Ignorer 30m Varsle på SMB Vis SMB på klokken som en standard bolus. Vis blodsukker prognoser på klokken. @@ -188,7 +176,6 @@ Tillat automatisk rapportering av appkrasher og bruksdata til utviklerne via fabrioc.io tjenesten. Vennligst oppdater din Dexcom app til en versjon som støttes Dexcom appen er ikke installert. - SMB satt med pumpe Aktivitet Blodsukkerpåvirkning Sensitivitet @@ -197,8 +184,6 @@ Aktivt insulin (IOB) Basaler Engineering Mode aktivert - En bolus ble gitt i løpet av de siste 3 minuttene, dropper SMB - Basal justert korrekt Maks absorpsjonstid for måltid [h] Etter denne tiden forventes det at måltidet er absorbert. Eventuelle gjenværende karbo vil tas ut av beregninger. Vis merknadsfelt i dialogvindu for Behandlinger @@ -255,8 +240,6 @@ Gjenopprett standardinnstillinger Foretrukket APS modus Send dagens loggfiler til utviklere og med dette tidspunktet. Uventet situasjon. - Minste endrings forespørsel [%] - I åpen Loop modus vil AAPS be om en endring hvis forandringen er større enn denne verdien i %. Standard verdi er 20% == ∑ %1$s E Bolus veiviser utfører beregninger, men bare denne del av beregnet insulin leveres. Nyttig ved bruk av SMB algoritmen. Enheter @@ -266,10 +249,6 @@ Vis slettede Slett køen? All data i køen vil gå tapt! Diagram meny - SMB forespurt - SMB utført - Temp basal endring forespurt - Temp basal utført Prognoser Behandlinger Avvikskurve diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index cff1f77981..a79cf37372 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -10,7 +10,6 @@ Na pewno chcesz zresetować bazy danych? Wyjście Konfiguracja aktywnych modułów systemu - Włącz lub wyłącz działanie pętli. Wyświetla bieżący stan twojej pętli i przyciski dla większości typowych działań Wyświetla bieżące powiadomienia z krótkim omówieniem działania pętli Wrażliwość jest obliczana w taki sam sposób, jak algorytm Oref0, ale możliwe jest podanie okresu z przeszłości. Minimalne wchłanianie węglowodanów jest obliczana na podstawie czasu wchłaniania max carb, określonego w ustawieniu. @@ -30,15 +29,9 @@ Synchronizacja Które ograniczenia są zastosowane? Pętla - APS - Po ograniczeniach - Baza tymczasowa ustawiona przez pompę - NIE WYBRANO APS LUB NIE UZYSKANO WYNIKU Naruszenie ograniczeń Zmień wprowadzone dane! Źródło BG - Dostępna nowa sugestia - Sugestia węglowodanów Profil Wersja Nightscout: Ustawienia wyeksportowane @@ -78,7 +71,6 @@ Korekta (NIEBEZPIECZNIE TO WYŁĄCZYĆ) tylko przesyłanie NS Tylko przesyłanie NS (wyłączona synchronizacja). Nie ma wpływu na pomiary glikemii (SGV), chyba że wybrane jest lokalne źródło, takie jak xDrip+. Nie wpływa na profile gdy używane są profile z Nightscout.\n!!! OSTRZEŻENIE !!! Wyłączenie tej opcji może spowodować nieprawidłowe działanie i przedawkowanie insuliny, jeśli którykolwiek z Twoich komponentów (AAPS, NS, xDrip+) nie jest skonfigurowany poprawnie. Uważnie obserwuj, czy dane wyświetlane przez AAPS są zgodne ze stanem pompy! - Pompa nie zainicjowana! Jednostki Zakres do wizualizacji (na wykresie) Oznaczenia wysokiego i niskiego cukru na wykresie w oknie przegląd i na smartwatch\'u @@ -90,7 +82,6 @@ Nadchodzące powiadomienia NIEAKTUALNE DANE CONF - LOOP HOME TREAT WEAR @@ -169,9 +160,6 @@ Liczba węglowodanów do dodania po wciśnięciu przycisku Ilość insuliny do dodania po wciśnięciu przycisku Nie można uruchomić aplikacji CGM. Upewnij się, że została zainstalowana. - Ignoruj 5 min - Ignoruj 15 min - Ignoruj 30 min Powiadom na SMB Pokaż SMB na zegarku jak bolus standardowy. Pokaż prognozę poziomu na zegarku. @@ -181,7 +169,6 @@ Zezwalaj na automatyczne zgłaszanie awarii i danych o użytkowaniu aplikacji do deweloperów za pośrednictwem usługi fabric.io. Proszę uaktualnij swoją Apkę Dexcom do wersji wspieranej Apka Dexcom nie jest zainstalowana. - SMB ustawiony przez pompę Aktywność Wpływ na glikemię (BGI) Wrażliwość @@ -190,8 +177,6 @@ IOB (Aktywna Insulina) Dawki Bazowe Tryb Inżynierski włączony - Bolus został podany w ciągu ostatnich 3 minut, opuszczam SMB - Baza ustawiona prawidłowo Maksymalny czas wchłaniania posiłku [h] Czas, w którym każdy posiłek jest uznany za wchłonięty. Pozostałe węglowodany zostaną wyzerowane. Pokaż pole uwag w oknie leczenia @@ -242,8 +227,6 @@ Przywróć ustawienia domyślne Preferowany tryb APS Wyślij dzisiejsze pliki logów razem z datą i czasem do programistów. Nieoczekiwana sytuacja. - Minimalna żądana zmiana [%] - Otwarta pętla wprowadzi żądanie zmiany tylko w przypadku, gdy będzie ona większa niż ta wartość w %. Wartość domyślna to 20% == ∑ %1$s U Kreator bolusa wykonuje obliczenia, ale tylko ta część obliczonej dawki insuliny jest dostarczana. Pomocne z algorytmem SMB. Jednostki @@ -253,10 +236,6 @@ Pokaż usunięte Wyczyścić kolejkę? Wszystkie dane w kolejce zostaną utracone! Menu wykresu - Żądany czas SMB - Czas wykonywania SMB - Żądany czas bazy tymczasowej - Czas wykonywania bazy tymczasowej Prognozy poziomu Zabiegi Krzywa odchylenie diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2ff022a105..453f5d1305 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -10,7 +10,6 @@ Você realmente quer redefinir os bancos de dados? Sair Usado para configurar os plugins ativos - Ative ou desative a implementação ativando o loop. Exibe o estado atual do seu loop e botões para ações mais comuns Mostra uma notificação em curso com um breve resumo do que o seu loop está a fazer A sensibilidade é calculada da mesma forma que Oref0, mas você pode especificar um período de tempo no passado. A absorção mínima de carboidratos é calculada a partir do tempo de absorção máxima especificado nas preferências. @@ -30,15 +29,9 @@ Sincronização Que restrições são aplicadas? Loop - APS - Depois das restrições processadas - Basal temporária definida pela bomba - SEM APS SELECIONADO OU RESULTADO FORNECIDO Violação das restrições Altere sua entrada! Fonte de BG - Nova sugestão disponível - Sugestão de Carbs Perfil Versão do Nightscout: Preferências exportadas @@ -77,7 +70,6 @@ Editar Correção (PERIGOSO PARA DESATIVAR) somente upload para NS - Bomba não inicializada! Unidades Intervalo para visualização Marca alta e baixa para as cartas em Visão geral e Smartwatch @@ -89,7 +81,6 @@ Notificação em curso DADOS ANTIGOS CONF - LOOP Início TRATA WEAR @@ -156,9 +147,6 @@ Número de carboidratos a adicionar quando o botão é premido Unidades de insulina a adicionar quando o botão é premido Não foi possível lançar aplicação de monitorização contínua. Por favor verifique que está instalada. - Ignorar 5m - Ignorar 15m - Ignorar 30m Notificar no SMB Mostrar SMB no relogio como bolus normal. Mostrar a predições na face do relogio. @@ -168,7 +156,6 @@ Permitir que seja enviado automaticamente à equipa de desenvolvimento o report de crashes e das funções utilizadas, utilizando o serviço fabric.io. Por favor atualize as sua aplicação Dexcom para uma versão suportada App Dexcom não está instalada. - SMB definido pela bomba Atividade Sensibilidade Desvios @@ -176,8 +163,6 @@ Insulina a bordo Basais Modo engenheiro activado - Um bolus foi injectado nos últimos 3 minutos, saltando SMB - Basal correctamente definida Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -225,8 +210,6 @@ Repor definições por defeito Modo APS preferido Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. - Pedido de mudança mínima [%] - A app mostrará um pedido de alteração apenas se a mudança for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é entregue. Útil com o algoritmo SMB. Unidades @@ -236,10 +219,6 @@ Mostrar removido(a)s Limpar fila? Todos os dados na fila serão perdidos! Menu do Gráfico - Hora de solicitação SMB - Hora de execução do SMB - Hora de solicitação Basal Temp - Hora de execução Basal Temp Previsões Tratamentos Desvio de inclinação diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index d1d138a66c..190a5cb00f 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -10,7 +10,6 @@ Quer realmente reiniciar a base de dados? Sair Usado para configurar os plugins ativos - Ativar ou desativar a aplicação que desencadeia o loop. Exibe o estado actual do loop e botões para acções mais comuns Mostra uma notificação em curso com um breve resumo do que o seu loop está a fazer A sensibilidade é calculada da mesma forma que Oref0, mas pode especificar o período de tempo para o passado. A absorção mínima de hidratos de carbono é calculada a partir do tempo máximo de absorção de hidratos de carbono das preferências. @@ -30,15 +29,9 @@ Sincronização Que restrições são aplicadas? Loop - APS - Depois das restrições processadas - Basal temporária definida pela bomba - NÃO EXISTE NENHUM APS SELECIONADO OU RESULTADO FORNECIDO Violação das restrições Altere o seu input! Fonte da Glicose - Disponível nova sugestão - Sugestão de Hidratos Perfil Versão Nightscout: Preferências exportadas @@ -78,7 +71,6 @@ Corr (PERIGOSO DESACTIVAR) Envio NS apenas Envio NS apenas (sincronização desactivada). Não efectivo no SGV a menos que uma fonte local como o xDrip seja selecionada. Não efectivo em Perfis enquanto NS-Perfis é usado.\n!!! AVISO !!! A desactivação desta opção pode causar mal funcionamento e overdose de insulina se qualquer um de seu componente (AAPS, NS, xDrip+) estiver mal configurado. Assista cuidadosamente se dados exibidos pela AAPS combinam com o estado da bomba! - Bomba não inicializada! Unidades Intervalo para visualização Marca Alto e Baixo para os gráficos em Sumário e Smartwatch @@ -90,7 +82,6 @@ Notificação em curso DADOS ANTIGOS CONF - LOOP Início TRATA WEAR @@ -169,9 +160,6 @@ Número de hidratos de carbono a adicionar quando o botão é premido Unidades de insulina a adicionar quando o botão é premido Não foi possível lançar aplicação de monitorização contínua. Por favor verifique que está instalada. - Ignorar 5m - Ignorar 15m - Ignorar 30m Notificar no SMB Mostrar SMB no relogio como bolus normal. Mostrar previsões no mostrador. @@ -181,7 +169,6 @@ Permitir que seja enviado automaticamente à equipa de desenvolvimento o report de crashes e das funções utilizadas, utilizando o serviço fabric.io. Por favor atualize as sua aplicação Dexcom para uma versão suportada App Dexcom não está instalada. - SMB definido pela bomba Actividade Impacto Glicose Sensibilidade @@ -190,8 +177,6 @@ Insulina ativa Basais Modo engenheiro activado - Um bólus foi administrado nos últimos 3 minutos, a ignorar SMB - Basal correctamente definida Tempo máx. absorção refeição [h] Hora em que qualquer refeição é considerada absorvida. Restantes hidratos de carbono serão cortados. Mostrar campo de notas na janela de tratamentos @@ -241,8 +226,6 @@ Repor definições por defeito Modo APS preferido Enviar os ficheiros de registo do dia de hoje para os programadores. Situação inesperada. - Pedido de mudança mínima [%] - A app mostrará um pedido de alteração apenas se a mudança para uma nova basal temporária for superior a este valor em %. O valor padrão é 20% == ∑ %1$s U Assistente de bólus executa o cálculo, mas apenas esta parte da insulina calculada é administada. Útil com o algoritmo SMB. Unidades @@ -252,10 +235,6 @@ Exibir removidos Limpar fila? Todos os dados na fila serão perdidos! Menu do Gráfico - Hora de solicitação SMB - Hora de execução do SMB - Hora de solicitação da DBT - Hora de execução da DBT Previsões Desvio de inclinação Falha na autorização diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 659b7bc056..4c60dcf15d 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -10,7 +10,6 @@ Sigur resetați bazele de date? Ieșire Folosit pentru configurarea facilităţilor active - Activare sau dezactivare a implementării declanşatoare pentru buclă. Afişează starea curentă a buclei şi butoanele pentru cele mai folosite acţiuni Afişează o notificare activă cu o scurtă descriere referitoare la starea buclei Sensibilitatea este calculată la fel ca în algoritmul Oref0, dar se poate specifica un interval de timp în trecut. Absorbția minimă de carbohidrați este calculată din parametrul echivalent, stabilit în preferințe. @@ -30,15 +29,9 @@ Sincronizare Ce constrângeri sunt aplicate? Buclă - APS - Constrângeri după procesare - Bazală Temporală programată în pompă - NU AȚI SELECTAT APS SAU NU EXISTĂ REZULTAT GENERAT Încălcare a unei limite Schimbați ceea ce ați introdus! Sursă glicemie - O nouă sugestie este disponibilă - Sugestie carbohidrați Profil Versiune Nightscout: Am exportat preferințele @@ -78,7 +71,6 @@ Corecție (E PERICULOS SĂ DEZACTIVEZI) Doar încărcare în NS Numai încărcare NS (sincronizare dezactivata). Nu este eficient pe SGV (rom. valori de glicemie din senzor) dacă nu este selectată o sursă locală ca xDrip. Nu este eficient pe Profiluri dacă sunt utilizate cele din NS.\n!!! ATENȚIE !!! Dezactivarea acestei opțiuni poate determina disfuncționalități și supradozaj cu insulină dacă oricare dintre componentele dumneavoastră (AAPS, NS, xDrip) este configurată greșit. Urmăriți cu atenție dacă datele afișate de AAPS se potrivesc cu starea pompei! - Pompa nu este inițializată! Unități Intervalul pentru vizualizare Valoarea maximă și minimă pentru graficele din vizualizare și pentru smartwatch @@ -90,7 +82,6 @@ Notificare activă DATE VECHI CONF - BUCL ACASĂ TRAT CEAS @@ -169,9 +160,6 @@ Cantitate de carbohidrați de adăugat când se apasă butonul Cantitatea de insulină de adăugat când se apasă butonul Nu s-a putut deschide aplicația CGM. Asigurați-vă că este instalată. - Ignorați 5min - Ignorați 15min - Ignorați 30min Notifică despre SMB Arată SMB pe ceas ca și un bolus standard. Arată previziunile pe ceas. @@ -181,7 +169,6 @@ Permite trimiterea de rapoarte automate de eroare și de date despre folosire către dezvoltatori prin serviciul fabric.io. Actualizați aplicația Dexcom la o versiune acceptată Aplicația Dexcom nu este instalată. - SMB setat de pompă Activitate Impactul glicemiei Sensibilitate @@ -190,8 +177,6 @@ Insulină activă Bazale Mod inginer activat - S-a livrat un bolus în ultimele 3 minute, nu se livrează SMB - Bazala setată corect Timpul maxim de absorbție a mesei [h] Timpul în care orice mâncare se consideră absorbită. Carbohidrații rămași vor fi ignorați. Afișează câmp pentru note în dialogurile de tratamente @@ -241,8 +226,6 @@ Resetare la setările implicite Modul APS preferat Trimite înregistrările zilei de astăzi către dezvoltatori, împreună cu timpul curent. Situație neașteptată. - Cerere de schimbare minimală [%] - Bucla deschisă va afișa o nouă cerere de schimbare doar dacă nou valoare este mai mare cu %. Valoarea implicită este 20% == ∑ %1$s U Wizard bolus face un calcul, dar numai o parte din insulina calculată este și livrată. Este mai eficient când se folosește cu algoritmul SMB. Unități @@ -252,10 +235,6 @@ Arată ștergerile Ștergeți coada? Toate datele din coadă vor fi pierdute! Meniu diagramă - Timp solicitare SMB - Timp de execuţie SMB - Timp solicitare bazală temporară - Timpul de execuție al bazalei temporare Predicții Panta deviaţiei Autorizarea a eșuat diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 4d40c7bbec..516b359448 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -10,7 +10,6 @@ Вы действительно хотите обнулить базы данных? Выход Применяется для настройки активных плагинов - Активировать или деактивировать запуск цикла. Отображает текущее состояние цикла и часто используемые кнопки Показывает текущие уведомления и краткий обзор событий цикла Чувствительность вычисляется аналогично алгоритму oref0, но можно включить период прошлого. Минимальное усвоение углеводов вычисляется на основе макс усвоения из настроек. @@ -35,16 +34,10 @@ Какие ограничения применяются? замкнутый цикл Используйте, чтобы активировать интеграцию AAPS в цикл ИПЖ. - Система ИПЖ - после наложенных ограничений - Временный базал определяется помпой - APS не выбрана или не выдала результат ограничение нарушено измените введенные данные источник СК Откуда должен получать данные AAPS? - есть новое предложение - Предложены углеводы профиль версия Nightscout: настройки экспортированы @@ -84,7 +77,6 @@ коррекция (ОТКЛЮЧЕНИЕ ОПАСНО) Только загрузка в NS Только загрузка в NS (синхронизация отключена). Не влияет на данные мониторинга если не выбран локальный источник, такой как xDrip. Профили, иные чем профиль NS не действуют.\n!!! ПРЕДУПРЕЖДЕНИЕ !!! Отключение этой опции может привести к сбою и передозировке инсулина, если какой-либо из компонентов (AAPS, NS, xDrip) настроен неправильно. Внимательно следите за тем, чтобы данные соответствовали состоянию помпы! - помпа не инициализирована Единицы диапазон для визуализации Нижняя и верхняя граница диаграммы в отчетах и Smartwatch @@ -96,7 +88,6 @@ текущие уведомления старые данные КОНФ - ЗЦ НАЧАЛО НАЗНАЧ WEAR @@ -176,9 +167,6 @@ Количество вводимых углеводов при нажатии кнопки Количество инсулина, вводимого при нажатии кнопки Не удалось запустить приложения мониторинга СК. Убедитесь, что оно установлено. - Игнорировать 5 м - Игнорировать 15 м - Игнорировать 30 м Сообщить о супер микро болюсе SMB Показывать супер микро болюс SMB на часах как стандартный болюс. Показывать линию тренда на смарт-часах. @@ -188,7 +176,6 @@ Разрешить отправлять сообщения о неполадках и данные об использовании опций разработчикам при помощи сервиса fabric.io. Пожалуйста, обновите приложение Dexcom до поддерживаемой версии Приложение Dexcom не установлено - Супер микро болюс SMB задан помпой Нагрузка Влияние глюкозы Чувствительность @@ -197,8 +184,6 @@ Активный инсулин IOB Базал Режим отладки включен - Болюс был подан в течение последних трех минут, минуя супер микро болюс SMB - Базал задан корректно Максимальное время усваимости пищи [h] Время, за которое любая еда считается усвоившейся. Оставшиеся углеводы не будут учтены. Показать поле примечаний в диалогах назначений @@ -255,8 +240,6 @@ Восстановить значения по умолчанию Предпочитаемый режим APS Отправьте файлы сегодняшнего лога разработчикам наряду с этим. Непредвиденная ситуация. - Минимальный запрос на изменения [%] - Алгоритм ИПЖ выдаст всплывающее окно с запросом на новые изменения, только если изменение больше, чем это значение в %. Значение по умолчанию — 20% == ∑ %1$s ед Мастер болюса выполняет расчет, но подана только эта часть рекомендуемого инсулина. Полезно с алгоритмом SMB. Единицы @@ -266,10 +249,6 @@ Показать удаленные Очистить очередь? Все данные в очереди будут потеряны! Меню графика - Время запроса микроболюса SMB - Время выполнения микроболюса SMB - Время запроса временной базальной скорости - Время выполнения временной базальной скорости Прогнозирование Терапия Линия отклонения diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index 3c31c2476e..17ee574925 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -10,7 +10,6 @@ Naozaj chcete vymazať databázu? Ukončiť Používané na konfiguráciu aktívnych pluginov - Aktivuje alebo deaktivuje spustenie uzavretého okruhu. Zobrazenie aktuálneho stavu vašeho uzavretého okruhu a tlačidlá k najpoužívanejším ovládacím prvkom Zobrazuje priebežné oznámenia v Androide s krátkym prehľadom, čo práve uzavretý okruh robí Citlivosť je počítaná tým istým spôsobom ako v Oref0, ale je možné špecifikovať časové okno do minulosti. Minimálne vstrebávanie sacharidov je počítané dynamicky z maximálnej doby vstrebávania, definovanej v nastaveniach. @@ -35,16 +34,10 @@ Aké obmedzenia sú použité? Uzavretý okruh Použi toto, pre aktiváciu integrácie AndroidAPS uzavretého okruhu. - APS - Po spracovaní obmedzení - Bazál nastavený pumpou - NEVYBRANÉ ŽIADNE APS, ALEBO NEVRÁTILO VÝSLEDOK Mimo povolený rozsah Zmeňte zadanie! Zdroj glykémie Odkiaľ má AndroidAPS získavať glykémie? - Dostupné nové doporučenie - Návrh sacharidov Profil Verzia Nightscoutu: Nastavenie exportované @@ -84,7 +77,6 @@ Korekcia (DEAKTIVOVANIE NEBEZPEČNÉ) Iba odosielanie do NS Iba odosielanie do NS. Neplatí pre glykémie, pokiaľ je NS zvolený, ako zdroj glykémií. Neplatí pre profily, pokiaľ je zvolený NS Profil.\n!!! VAROVANIE!!! Vypnutie tejto možnosti môže spôsobiť nesprávne fungovanie a predávkovanie inzulínom, pokiaľ je niektorý z vašich komponentov (AAPS, NS, xDrip+) nesprávne nastavený. Starostlivo sledujte, či dáta zobrazené v AAPS, zodpovedajú aktuálnemu stavu na pumpe! - Pumpa nie je inicializovaná! Jednotky Rozsah pre zobrazenie Značka vysokej a nízkej hodnoty v prehľade a na hodinkách Wear @@ -96,7 +88,6 @@ Priebežné notifikácie ZASTARALÉ DÁTA KONF - OKRUH PREH OŠET WEAR @@ -176,9 +167,6 @@ Množstvo sacharidov, ktoré má byť pridané po stlačení tlačidla Množstvo inzulínu, ktoré má byť pridané po stlačení tlačidla Nie je možné spustiť aplikáciu CGM. Uistite sa, že je nainštalovaná. - Ignorovať 5m - Ignorovať 15m - Ignorovať 30m Oznámenie pri SMB Ukazovať SMB na hodinkách ako normálny bolus. Zobrazovať predikcie na hodinkách. @@ -188,7 +176,6 @@ Automatické odosielanie chýb aplikácie a štatistiky používania vývojárom pomocou služby fabric.io. Prosím aktualizuj tvoju Dexcom aplikáciu na podporovanú verziu Dexcom aplikácia nie je nainštalovaná. - SMB podané pumpou Aktivita Vplyv na glykémiu (BGI) Citlivosť @@ -197,8 +184,6 @@ Aktívny inzulín Bazály Vývojársky mód povolený - Podaný bolus v priebehu posledných 3 minút, SMB preskočené - Bazál nastavený správne Maximálna doba vstrebávania sacharidov [h] Doba, po ktorej sú všetky sacharidy považované za vstrebané. Zvyšné budú orezané. Zobrazovať kolónku poznámky v dialógoch ošetrení @@ -255,8 +240,6 @@ Obnoviť predvolené Preferovaný režim APS Odošlite dnešné súbory protokolov vývojárom spolu s týmto časom. Neočakávaná situácia. - Minimálna požiadavka na zmenu [%] - Otvorený okruh vytvorí novú žiadosť o zmenu iba v prípade, že zmena je väčšia ako táto hodnota v %. Štandardná hodnota je 20% == ∑ %1$s JI Bolusová kalkulačka urobí výpočet, ale iba táto časť vypočítaného inzulínu je podaná. Pomáha pri SMB algoritme. Jednotky @@ -266,10 +249,6 @@ Zobraziť odstránené Vymazať frontu? Všetky dáta vo fronte budú stratené! Grafové menu - Čas požiadavky SMB - Čas aplikácie SMB - Čas požiadavky dočasného bazálu - Čas spustenia dočasného bazálu Predikcie Ošetrenia Odchýlka sklonu diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index d3678ba0d6..e549ce95ac 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -10,7 +10,6 @@ Vill du verkligen återställa databaserna? Avsluta Används för att konfigurera de aktiva insticksprogrammen - Aktivera eller inaktivera implementationen som kör loopen. Visar loopens nuvarande tillstånd och knappar för de vanligaste funktionerna Visar en konstant avisering med en kort sammanfattning av vad din loop gör Känsligheten beräknas på samma sätt som i Oref0, men du kan specificera hur mycket av historiken som ska tas med i beräkningen. Minimalt upptag av kolhydrater beräknas utifrån maximal upptagstid för kolhydrater som angetts i Inställningar. @@ -30,15 +29,9 @@ Synkronisering Vilka begränsningar ska tillämpas? Loop - APS - Efter begränsningar - Temp basal satt i pump - INGEN APS VALD Begränsning nådd Ändra inmatning BG-källa - Ny rekommendation tillgänglig - KH-förslag Profil Nightscoutversion: Inställningar exporterade @@ -78,7 +71,6 @@ Korrektion (INAKTIVERAD KAN MEDFÖRA FARA) NS-Endast uppladdning NS-endast uppladdning (inaktiverad synkronisering). Påverkar inte uppladdning av BG om inte en lokal källa som xDrip+ är vald. NS-profiler kan också användas.\nVARNING! Att inaktivera detta alternativ och därmed tillåta att NS påverkar AAPS kan orsaka fel och t. o. m. insulinöverdos om någon av dina komponenter (AAPS, NS, xDrip+) inte är helt rätt konfigurerade. Övervaka noga att data som visas av AAPS överensstämmer med verkligheten! - Pump inte initierad Enheter Gränsvärden för visualisering Högt och lågt värde för grafen i Översikt och i klockan @@ -90,7 +82,6 @@ Konstant avisering i telefonen Aktuellt BG saknas! Konf - Loop Hem Beh Wear @@ -170,9 +161,6 @@ Mängd kolhydrater att lägga till när man trycker på knappen Mängd insulin att lägga till när man trycker på knappen Kunde inte starta CGM-appen. Kontrollera att den är installerad. - Ignorera 5 min - Ignorera 15 min - Ignorera 30 min Skicka notis vid SMB Visa SMB på klockan som en standardbolus. Visa BG-prognos på klockan. @@ -182,7 +170,6 @@ Tillåt automatisk rapportering av appkrascher och användningsinformation till utvecklarna via fabric.io-tjänsten. Vänligen uppdatera din Dexcom-app till en supportad version Dexcom-appen är inte installerad. - SMB satt i pump Insulinaktivitet (5m) Blodglukospåverkan Känslighet (Sens) @@ -191,8 +178,6 @@ Aktivt insulin (IOB) Basaler Engineering Mode aktiverat - En bolus gavs för mindre än 3 min sedan. Hoppar över SMB - Basal justerad korrekt Max absorptionstid för kolhydrater [tim] Efter denna tid anses alla kolhydrater vara absorberade. Om det fortfarande finns COB, kommer dessa att tas bort ur beräkningen. Anteckning i behandlingsdialoger @@ -242,8 +227,6 @@ Återställ standardinställningar Föredraget APS-läge Skicka dagens loggfiler till utvecklarna tillsammans med denna datumstämpel. Oväntad situation. - Minsta ändring som ger notifiering [%] - I Open Loop-läge kommer AAPS bara att be om ändring ifall förändringen är större än detta värde. Standardvärdet är 20% == ∑ %1$s U Bolusguiden utför beräkningar, men endast denna del av beräknat insulin levereras. Användbar med SMB-algoritm. Enheter @@ -253,10 +236,6 @@ Visa borttagna Allt data som inte synkats kommer att kastas bort. Är du säker på att du vill tömma kön? Diagrammeny - SMB begärd - SMB utförd - Basalförändring begärd - Basalförändring utförd BG-prognos Avvikelsekurva Behörighetskontroll misslyckades diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 3f1d7c7239..d6edbd3e0b 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -10,7 +10,6 @@ Veritabanlarını gerçekten sıfırlamak istiyor musunuz? Çıkış Aktif eklentileri yapılandırmak için kullanılır - Döngüyü tetikleyen uygulamayı etkinleştirin veya devre dışı bırakın. Döngünüzün mevcut durumunu ve en yaygın eylemler için düğmeleri görüntüler Döngü\'ün ne yaptığını kısa bir genel bakışla devam eden bir bildirimi gösterir Duyarlılık, Oref0 ile aynı şekilde hesaplanır, ancak geçmişe yönelik zaman aralığı belirleyebilirsiniz. Minimum karbonhidrat emilimi, tercihlerden maksimum karbonhidrat emilim süresinden hesaplanır. @@ -33,16 +32,10 @@ Hangi kısıtlamaları uygula? Döngü AAPS\'nin döngü entegrasyonunu etkinleştirmek için bunu kullanın. - APS - İşlenmiş kısıtlamalardan sonra - Pompa tarafından ayarlanan geçici bazal - SEÇİLEN VEYA SAĞLANAN SONUCU APS YOK Kısıtlamalar ihlali Girişinizi değiştirin! KŞ kaynağı AAPS verilerini nereden alsın? - Yeni öneri mevcut - Karbonhidrat Önerisi Profil Nightscout sürümü: Tercihler dışa aktarıldı @@ -82,7 +75,6 @@ Düzeltme (DEVRE DIŞI BIRAKILMASI TEHLİKELİ) Yalnızca NS yüklemelerinde Yalnızca NS yüklemesi (senkronizasyon devre dışı). xDrip+ gibi yerel bir kaynak seçilmediği sürece SGV üzerinde etkili değildir. NS-Profili kullanılırken Profiller üzerinde etkili değildir.\n!!! UYARI !!! Bileşenlerinizden herhangi biri (AAPS, NS, xDrip+) yanlış yapılandırılmışsa, bu seçeneğin devre dışı bırakılması arızalara ve aşırı insülin dozuna neden olabilir. AAPS tarafından görüntülenen verilerin pompa durumuyla eşleşip eşleşmediğini dikkatlice izleyin! - Pompa başlatılamadı! Birim Görselleştirme Aralığı Genel bakış ve akıllı saat göstergesi için yüksek ve düşük değerler @@ -94,7 +86,6 @@ Sürekli Bildirim ESKİ VERİ KONF - DÖNGÜ GİRİŞ TEDAVİ WEAR @@ -174,9 +165,6 @@ Butona basıldığında eklenecek karbonhidrat sayısı Butona basıldığında eklenecek insülin miktarı CGM uygulaması başlatılamadı. Yüklendiğinden emin olun. - 5dk yoksay - 15dk yoksay - 30dk yoksay SMB\'ye (Super Micro Bolus) bildir Saatte SMB\'yi (Super Micro Bolus) standart bir bolus gibi göster. Saat arayüzü üzerindeki tahminleri göster. @@ -186,7 +174,6 @@ Geliştiricilere, fabric.io hizmeti aracılığıyla otomatik kilitlenme raporlaması ve özellik kullanım verilerinin gönderilmesine izin verir. Lütfen Dexcom uygulamanızı desteklenen sürüme güncelleyin Dexcom uygulaması yüklü değil. - SMB (Supermicroboluses) pompa tarafından verildi Aktivite Kan Şekeri Etkisi Duyarlılık @@ -195,8 +182,6 @@ Aktif İnsülin Bazallar Geliştirici modu etkinleştirildi - Son 3 dakika içerisinde bir bolus gönderildi, SMB (Super Micro Bolus) atlandı - Bazal doğru ayarlanmış Besinin maksimum emilim süresi [h] Herhangi bir öğünün emildiği kabul edilen zaman. Kalan karbonhidratlar kesilecek. Tedavi diyaloglarında not alanını göster @@ -252,8 +237,6 @@ Varsayılanlara sıfırla Tercih edilen APS modu Bu günün kayıt dosyalarını geliştiricilere gönderin. Beklenmedik bir durum. - Minimum istek değişikliği [%] - Açık Döngü, yalnızca değişiklik % cinsinden bu değerden büyükse yeni değişiklik isteğini açar. Varsayılan değer %20\'dir == ∑ %1$s Ü Bolus sihirbazı hesaplamayı gerçekleştirir ancak hesaplanan insülinin yalnızca bu kısmı iletilir. SMB algoritması ile kullanışlıdır. Birim @@ -263,10 +246,6 @@ Kaldırılanları göster Kuyruk temizlensin mi? Kuyruktaki tüm veriler kaybedilecek! Grafik menüsü - SMB (Super Micro Bolus) zamanı - SMB (Super Micro Bolus) uygulama süresi - Geçici bazal zamanı - Geçici bazal uygulama süresi Tahminler Tedaviler Sapma eğimi diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 20ae575c9b..43795b5d62 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -10,7 +10,6 @@ 你真的想重置数据库吗? 退出 用于配置活动插件 - 激活或停用这个工具触发闭环。 显示闭环的当前状态和大多数常用操作的按钮 显示持续的通知, 其中简要概述了您的闭环正在做什么 灵敏度的计算方式与 Oref0 相同, 但可以指定过去的时间范围。碳水化合物吸收最小值是根据参数选项里的碳水化合物吸收时间最大值计算得来的 @@ -30,15 +29,9 @@ 同步 应用了哪些约束条件? 闭环 - APS - 通过约束条件之后 - 通过泵设置临时基础率 - APS没有被选择或者提供结果 违反约束条件 更改您的输入! 血糖来源 - 新的建议可用 - 碳水建议 配置文件 Nightscout 版本: 参数选项导出了 @@ -78,7 +71,6 @@ 矫正 (禁用很危险) NS仅上传 NS只上传数据(禁用同步)。除非选择本地血糖数据如xDrip+否则此功能无效。使用NS网站配置文件时此功能无效。\n!!!警告!!!如果您的任何组件(AAPS,NS,xDrip+) 配置错误,禁用此选项可能导致故障和胰岛素过量。请仔细观察AAPS显示的数据是否与泵状态匹配! - 泵未初始化! 单位 可视化范围 在智能手表上的图表上的高值和低值标记 @@ -90,7 +82,6 @@ 持续的的通知 旧数据 配置 - 闭环 主页 治疗 手表 @@ -170,9 +161,6 @@ 按下按钮时添加的碳水化合物数量 按下按钮时添加的胰岛素量 无法启动 CGM 应用程序。 请确保已安装。 - 忽略5分钟 - 忽略 15分钟 - 忽略30分钟 在 SMB 上通知 在手表上像显示常规大剂量一样显示SMB微型大剂量 在手表的表盘上显示预测 @@ -182,7 +170,6 @@ 允许通过fabric.io服务将自动崩溃报告和功能使用数据发送给开发人员。 请将您的 dexcom app 更新为支持的版本 未安装德康app。 - 通过泵设置SMB微型大剂量 活动 血糖影响 灵敏度 @@ -191,8 +178,6 @@ 活性胰岛素 基础率 已启用工程模式 - 在最近3分钟内输注了大剂量,正在忽略SMB微型大剂量 - 正确地设置基础率 膳食最大吸收时间 [h] 任何膳食被认为完全吸收的时间。 剩余的碳水化合物将被忽略 在治疗对话框中显示备注字段 @@ -244,8 +229,6 @@ 重置为默认值 首选的APS模式 发送包括当前时间的今日的日志文件给开发者。描述一下意外情况 - 最小请求更改[%] - 开环状态下,算法建议的基础率调整百分比大于此数值时,才会弹出更改建议。默认值为20% == ∑ %1$s U 大剂量向导执行计算,但只有这部分计算结果的胰岛素被输注。适用于SMB算法。 单位 @@ -255,10 +238,6 @@ 显示已删除 清除队列? 队列中的所有数据都将丢失! 图表菜单 - SMB 请求时间 - SMB持续时长 - 临时基础率请求时间 - 临时基础率持续时长 预测 治疗 斜度偏差 diff --git a/core/core-main/src/main/res/values-es-rES/protection.xml b/core/core-main/src/main/res/values-es-rES/protection.xml index 81480ef4d5..ba99a242b9 100644 --- a/core/core-main/src/main/res/values-es-rES/protection.xml +++ b/core/core-main/src/main/res/values-es-rES/protection.xml @@ -7,19 +7,30 @@ Protección de bolo Contraseña maestra Contraseña de configuración + Configuración de PIN Contraseña de aplicación + PIN para la aplicación Contraseña de Bolus + PIN para bolos + Contraseña y retención de PIN [s] + Tiempo previo a que se introduzca el PIN o la password Desbloquear ajustes Biométrico Contraseña personalizada + PIN personalizado Sin protección Protección ¡La contraseña maestra no está configurada!\n\nPor favor, configure su contraseña maestra en Preferencias (%1$s → %2$s) No es seguro volver atrás Para ser eficaz, la protección biométrica necesita una contraseña maestra establecida para el respaldo.\n\nPor favor, establezca una contraseña maestra! ¡Contraseña establecida! + PIN establecido Contraseña no establecida + PIN no establecido Contraseña no cambiada + PIN no cambiado ¡Contraseña borrada! + PIN eliminado Introducir contraseña aquí + Introducir PIN aquí diff --git a/core/core-main/src/main/res/values-fr-rFR/protection.xml b/core/core-main/src/main/res/values-fr-rFR/protection.xml index 7d47f26e8a..70be31d79b 100644 --- a/core/core-main/src/main/res/values-fr-rFR/protection.xml +++ b/core/core-main/src/main/res/values-fr-rFR/protection.xml @@ -7,19 +7,30 @@ Protection des bolus Mot de passe principal Mot de passe des paramètres + Paramètres PIN Mot de passe de l\'application + PIN de l\'application Mot de passe des bolus + Bolus PIN + Rétention du mot de passe et du PIN [s] + Durée pour la saisie du mot de passe ou du code PIN Déverrouiller les paramètres Biométrique Mot de passe personnalisé + Code PIN personnalisé Pas de Protection Protection Le mot de passe principal n\'est pas défini !\n\nVeuillez définir votre mot de passe principal dans les préférences (%1$s → %2$s) Retour arrière non sécurisé Pour être effective, la protection biométrique nécessite un mot de passe principal pour revenir en arrière.\n\nMerci de définir un mot de passe principal ! Mot de passe défini ! + Code PIN défini! Mot de passe non défini + Code PIN non défini Mot de passe non modifié + Code PIN inchangé Mot de passe supprimé ! + Code PIN effacé! Entrez le mot de passe ici + Saisir le code PIN ici diff --git a/core/core-main/src/main/res/values-ja-rJP/strings.xml b/core/core-main/src/main/res/values-ja-rJP/strings.xml index 4c45586f82..7c50b353e7 100644 --- a/core/core-main/src/main/res/values-ja-rJP/strings.xml +++ b/core/core-main/src/main/res/values-ja-rJP/strings.xml @@ -1,20 +1,29 @@ + - - + - - + + + + + + + + + + + diff --git a/core/core-main/src/main/res/values-ja-rJP/validator.xml b/core/core-main/src/main/res/values-ja-rJP/validator.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/core-main/src/main/res/values-ja-rJP/validator.xml @@ -0,0 +1,2 @@ + + diff --git a/core/core-main/src/main/res/values-ru-rRU/strings.xml b/core/core-main/src/main/res/values-ru-rRU/strings.xml index 43fe1b74ba..55c1cd1ace 100644 --- a/core/core-main/src/main/res/values-ru-rRU/strings.xml +++ b/core/core-main/src/main/res/values-ru-rRU/strings.xml @@ -34,6 +34,8 @@ нажат стоп стоп Углеводы + Недопустимый профиль! + ПРОФИЛЬ НЕ ЗАДАН дата единицы @@ -150,6 +152,7 @@ на паузе НЕВЕРНО Логин + Прайм/заполнение Инсулин Остановить врем цель Замкнутый цикл @@ -187,6 +190,7 @@ Начать профиль %1$d%% на %2$d мин + Отменить врем базал Оставить временный базал работающим Скорость Продолжительность @@ -208,9 +212,12 @@ Примечание: %1$s Вопрос: %1$s Нагрузка: %1$s + Смена места катетера помпы + Установка сенсора мониторинга глюкозы Сарт сенсора Останов сенсора мониторинга Сигнал служебной собаки + Замена картриджа инсулина Смена профиля Болюс на перекус Болюс на еду @@ -220,6 +227,8 @@ Оконч действия врем базала Коррекция углеводов OpenAPS в автономном режиме + Замена батареи помпы + Временная цель Временное целевое значение Отмена временной цели Мастер Болюса @@ -510,6 +519,8 @@ угл COB к инс IOB !!!!! Обнаружено медленное всасывание углеводов: %2$d%% времени. Еще раз проверьте свои расчеты. Возможно акт углеводы COB вне диапазона и может быть подано больше инсулина!!!!!]]> Подать эту часть рекомендации мастера болюса [%] + Применено ограничение болюса: %1$.2f ед. до %2$.2f ед. + Болюс будет только записан (без подачи помпой) Напомнить о еде Действие не выбрано, ничего не произойдет Нет данных ГК для основы расчета! diff --git a/core/fabric/src/main/res/values-ja-rJP/strings.xml b/core/fabric/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/core/fabric/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/core/ui/src/main/res/values-es-rES/strings.xml b/core/ui/src/main/res/values-es-rES/strings.xml index fcb491b494..bbd019d1f8 100644 --- a/core/ui/src/main/res/values-es-rES/strings.xml +++ b/core/ui/src/main/res/values-es-rES/strings.xml @@ -9,9 +9,14 @@ Si No + Se te solicitará la contraseña maestra, ya que es necesaria para descifrar las perferencias importadas + decremento %1$s por %2$s incremento %1$s por %2$s + Límite permitido alcanzado %1$dhoras %2$dmin + Hora del evento + La aplicación necesita permisos de bluetooth diff --git a/core/ui/src/main/res/values-fr-rFR/strings.xml b/core/ui/src/main/res/values-fr-rFR/strings.xml index bc63d6369b..1d92856f3a 100644 --- a/core/ui/src/main/res/values-fr-rFR/strings.xml +++ b/core/ui/src/main/res/values-fr-rFR/strings.xml @@ -9,9 +9,14 @@ Oui Non + Le mot de passe principal vous sera demandé pour décrypter les préférences exportées. + réduire %1$s par %2$s incrémenter %1$s par %2$s + Limite autorisée atteinte %1$dh%2$dm + Heure de l\'événement + L\'application a besoin de l\'autorisation Bluetooth diff --git a/core/ui/src/main/res/values-ja-rJP/strings.xml b/core/ui/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..a0a9d998e1 --- /dev/null +++ b/core/ui/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/implementation/src/main/res/values-ja-rJP/strings.xml b/implementation/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..b31c519926 --- /dev/null +++ b/implementation/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/insight/src/main/res/values-ja-rJP/alert_codes.xml b/insight/src/main/res/values-ja-rJP/alert_codes.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-ja-rJP/alert_codes.xml @@ -0,0 +1,2 @@ + + diff --git a/insight/src/main/res/values-ja-rJP/alert_descriptions.xml b/insight/src/main/res/values-ja-rJP/alert_descriptions.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-ja-rJP/alert_descriptions.xml @@ -0,0 +1,2 @@ + + diff --git a/insight/src/main/res/values-ja-rJP/alert_titles.xml b/insight/src/main/res/values-ja-rJP/alert_titles.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-ja-rJP/alert_titles.xml @@ -0,0 +1,2 @@ + + diff --git a/insight/src/main/res/values-ja-rJP/exceptions.xml b/insight/src/main/res/values-ja-rJP/exceptions.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-ja-rJP/exceptions.xml @@ -0,0 +1,2 @@ + + diff --git a/insight/src/main/res/values-ja-rJP/strings.xml b/insight/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/insight/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/aps/src/main/res/values-es-rES/strings.xml b/plugins/aps/src/main/res/values-es-rES/strings.xml index d5fdb1b2e1..144d26d6ce 100644 --- a/plugins/aps/src/main/res/values-es-rES/strings.xml +++ b/plugins/aps/src/main/res/values-es-rES/strings.xml @@ -9,11 +9,14 @@ OpenAPS SMB ISF Dinámico + Con qué frecuencia se administrarán los SMB en min Resistencia baja el objetivo Cuando se detecta resistencia a la insulina, disminuye el objetivo de glucosa Sensibilidad aumenta el objetivo Cuando se detecta sensibilidad a la insulina, aumenta el objetivo de glucosa El complemento está deshabilitado + No hay disponibles datos de glucosa + No hay datos disponibles de autosens DYNISF Ejecutando OpenAPS AMA @@ -22,20 +25,71 @@ Estado del algoritmo en 2017 Algoritmo más reciente para usuarios avanzados Algoritmo más reciente para usuarios avanzados con ISF dinámico/automático + DIA Divisor para suspensión de bolos Ejecutar ahora + Última ejecución + Parámetros de entrada + Estado de glucosa + Basal temporal actual + Datos IOB Perfil + Datos de comidas Resultado Solicitud Restricciones Datos Autosens + Depuración de script + Usar la función Autosens + Máximas U/h que la basal temporal no podrá superar + Este valor se llama \"Max basal\" en el contexto de OpenAPS + Basal máxima que OpenAPS puede entregar [U] + Este valor se denomina \"Max IOB\" en OpenAPS\nEsta es la cantidad máxima de insulina en [U] que APS puede entregar a la vez. + Valor predeterminado: habilitado\nEste ajuste permite que autosens pueda ajustar los objetivos de glucosa, así como, el factor de sensibilidad (ISF) y las basales + Autosens también ajusta los objetivos + Valores predeterminados: 3.0 (AMA) y 8.0 (SMB)\nEsta configuración establece cómo se absorben los carbohidratos cada 5 minutos. Por defecto se espera que se absorban 3mg/dl cada 5 minutos. Esto afecta a la rapidez con la que los carbohidratos (COB) decaen, y cómo se calcula la predicción de la absorción de carbohidratos futuros, cuando la glucosa está cayendo más de lo esperado, o no aumenta tanto como se esperaba Valor predeterminado: 3. Este valor es una protección de seguridad clave de OpenAPS. Limita la basal máxima que puede usar AAPS a un máximo de tres veces tu basal. Probablemente nunca necesites modificar este valor. Antes de modificarlo deberías tener en cuenta las discusiones sobre \"3x máx diaria; 4x actual\" por motivos de seguridad Valor predeterminado: 4. Esta es la otra mitad de los ajustes de seguridad de OpenAPS y de \"3x máx diaria, 4x actual\". Esto significa que tu basal, independientemente del valor de basal máxima que tengas configurado en la bomba, nunca podrá superar este valor multiplicado por tu basal actual. Esto se usa para evitar que las personas se encuentren en situaciones peligrosas por aumentar excesivamente la basal, sin entender como funciona el algoritmo. La mayoría de las personas nunca tendrán que cambiar estos valores. Si estás cerca de alcanzar éstos límites, deberías de ajustar otras configuraciones + Valor predeterminado: 2\nLa característica \"Bolus snooze\" (bolo de repetición) se activa después de suministrar un bolo de comida. Esto permite que durante el periodo de tiempo resultante de dividir el valor de DIA por este ajuste, AAPS no establezca basales temporales demasiado bajas. Por ejemplo, con el valor predeterminado 2 y un valor de DIA establecido en 5 horas, la duración del bolo de repetición resultante sería de 2,5 horas (5/2=2,5h), periodo en el cuál, las basales temporales no serán demasiado bajas. + ¡ATENCIÓN!\nLos valores que se muestran a continuación, normalmente no suelen ser necesario modificarlos. Por favor, PINCHA AQUÍ y lee todo el contenido. Asegúrate de que lo has entendido completamente antes de modificar alguno de estos valores. + Usar siempre el delta medio corto, en lugar del delta simple + Útil cuando los datos de fuentes sin filtrar como los de xDrip+ son inestables Máximo multiplicador diario de seguridad Multiplicador basal de seguridad actual + Máximo IOB total que OpenAPS no puede superar [U] + Este valor se denomina \"Max IOB\", en el contexto de OpenAPS\nOpenAPS no podrá superar esta cantidad de insulina activa (IOB) + Activar UAM + Activar SMB + Usar microbolos en lugar de basales temporales, para corregir más rápidamente + Detectar comidas no anunciadas (UAM) + Habilitar SMB siempre + Habilitar SMB siempre, de forma independiente a los bolos. Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 + Habilitar SMB después de carbohidratos + Habilitar SMB durante 6 horas después de los carbohidratos, incluso con 0g de carbohidratos (COB). Sólo se puede usar con sensores de glucosa con buen filtrado, como G5/G6 + Habilitar SMB con carbohidratos + Habilitar SMB cuando hay carbohidratos activos (COB) + Habilitar SMB con objetivos temporales + Habilitar SMB cuando hay un objetivo temporal activo (ComiendoPronto, Actividad, etc.) + Habilitar SMB con objetivos temporales altos + Habilitar SMB cuando hay activo un objetivo temporal alto (ejercicio superior a 100 mg/dl o 5.5 mmol/l) + Minutos máximos de basal para limitar SMB + Minutos máximos de UAM SMB + Minutos máximos de basal para limitar SMB para UAM + Carbohidratos mínimos necesarios para la sugerencia + Gramos mínimos de carbohidratos para mostrar una alerta de sugerencia de carbohitratos: las sugerencias de carbohidratos debajo de este número no iniciarán una notificación. + Valor de glucosa por debajo del cual se suspende la administración de insulina. El valor predeterminado utiliza el modelo de objetivo estándar. El usuario puede establecer un valor entre 60mg/dl (3. mmol/l) y 100mg/dl (5.5mmol/l). Valores por debajo de 65/3.6 usan el modelo predeterminado + Nivel de glucosa por debajo de valor LGS (Suspensión por glucosa baja) Valor predeterminado: 1.2\nEste parámetro establece un límite de seguridad máximo por defecto del 20% en autosens (y pronto en Autotune), que limita los valores máximos que puede: aumentar las basales, disminuir el factor de sensibilidad (ISF) y disminuir el objetivo de glucosa Valor predeterminado: 0.7\nEste parámetro establece un límite de seguridad mínimo por defecto del 30% en autosens, que limita los valores que puede: disminuir las basales, aumentar el factor de sensibilidad (ISF) y aumentar el objetivo de glucosa + Incrementando el valor basal máximo porque la configuración es menor que la base máxima en el perfil + multiplicador basal máximo + multiplicador basal diario máximo + SMB deshabilitado en preferencias + UAM deshabilitado en las preferencias + Autosens deshabilitado en preferencias + Limitando IOB a %1$.1f U debido a %2$s valor máximo en preferencias límite estricto + Pico diff --git a/plugins/aps/src/main/res/values-fr-rFR/strings.xml b/plugins/aps/src/main/res/values-fr-rFR/strings.xml index f669853631..dd8cadc785 100644 --- a/plugins/aps/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/aps/src/main/res/values-fr-rFR/strings.xml @@ -9,11 +9,14 @@ OpenAPS SMB SI dynamique + Fréquence des SMB en min Résistance diminue la cible Quand une résistance est détectée, baisse de la glycémie cible Sensibilité augmente la cible Quand une sensibilité est détectée, augmentation de la glycémie cible Plugin désactivé + Pas de glycémies disponibles + Pas de données Autosens disponibles DynSI Exécution en cours OpenAPS AMA @@ -22,20 +25,71 @@ État de l’algorithme en 2017 Algorithme le plus récent pour les utilisateurs avancés Algorithme le plus récent pour les utilisateurs avancés avec SI dynamique/automatique + Bolus snooze diviseur de DAI Exécuter maintenant + Dernière exécution + Paramètres d\'entrée + État de la glycémie + Temp actuelle + Données IA Profil + Données repas Résultats Requête Restrictions Données Autosens + Débogage du Script + Utiliser la fonction Autosens + Débit max en U/h pour une Temp Basal + Cette valeur est appelée Basal max dans le contexte OpenAPS + IA Basal max que OpenAPS pourra délivrer [U] + Cette valeur est appelée Max IA (Insuline Active) dans le contexte OpenAPS\nC\'est le maximum d\'insuline en [U] que APS peut délivrer en une seule fois. + Valeur par défaut : vrai\nCeci est utilisé pour autoriser Autosens à ajuster les cibles de glycémie en plus de SI et les basals. + Autosens ajuste aussi les cibles + Valeur par défaut : 3.0 (AMA) ou 8.0 (SMB). Il s’agit d’un paramètre décrivant l’absorption des glucides par 5 minutes. La valeur par défaut est de 3mg/dl/5min. Cela influe sur la vitesse calculée de disparition des Glucides Actifs (GA), et comment sera estimée la consommation des glucides pour calculer les valeurs futures de glycémies, lorsque la glycémie chute plus que prévu ou n\'augmente pas autant que calculé. Valeur par défaut : 3 Ceci est un paramètre important de sécurité de l’OpenAPS. Ceci va limiter vos débits basal à 3 fois votre débit Basal maximum. Il est probable que vous n’aurez pas besoin de changer cela, mais vous devez être conscient de ce qui est discuté pour les limites de sécurité dans “3x max daily; 4x current”. Valeur par défaut : 4 Ceci est l’autre moitié des paramètres de sécurité limitant l’OpenAPS, et l’autre moitié de “3x max daily, 4x current” des paramètres de sécurité. Quel que soit le basal maximum prédéfini dans votre pompe, il ne pourra pas être plus haut que ce nombre multiplié par le Basal actuel. Ceci est fait pour ne pas mettre l’utilisateur en danger en programmant des débits Basal maximum trop élevés avant de comprendre comment l’algorithme fonctionne. Encore une fois, la valeur par défaut est 4x, la plupart des gens n’auront jamais besoin d’ajuster ce paramètre, plutôt ils auront tendance à ajuster d’autres paramètres s’ils voient qu’ils atteignent ce paramètre de limite de sécurité. + Valeur par défaut : 2\nBolus snooze est activé apres votre bolus de repas, la boucle ne réagira pas avec des valeurs basses temporaire quand vous venez juste de manger. L’exemple ici et la valeur par défaut est 2 ; donc avec une Durée d\'Action (DAI) de 5 heures signifie que snooze bolus sera graduellement éliminé après 2,5 heures (5/2). + Attention !\nNormalement vous n\'avez pas à changer les valeurs mentionnées ci-dessous. SVP CLIQUEZ ICI et LISEZ bien le texte. Assurez-vous de bien le COMPRENDRE avant de changer n’importe laquelle de ces valeurs. + Utiliser delta basé sur moyenne courte au lieu du delta simple + Utile lorsque les données provenant de sources non filtrées comme xDrip+ deviennent incohérentes. Multiplicateur max quotidien de sécurité Multiplicateur de sécurité basale courante + IA totale maximale pour OpenAPS [U] + Cette valeur est appelée Max IA (Insuline Active) dans le contexte OpenAPS\nOpenAPS n’ajoutera pas plus d’insuline si l\'IA actuelle est supérieure à cette valeur + Activer RNS + Activer SMB + Utiliser les Super Micro Bolus au lieu des débits de base temporaires pour une action rapide + Détection des Repas Non Signalés + Activer les SMB en permanence + Activer les SMB en permanence de manière indépendante des bolus. Ceci est possible uniquement avec une source de gly ayant un très bon filtrage de données comme le G5 + Activer les SMB après les glucides + Activer les SMB pendant 6h après les glucides, même s’il y a 0 GA (Glucides Actifs). Ceci est possible uniquement avec une source de glycémie ayant un très bon filtrage de données comme le G5 + Activer les SMB avec les GA + Activer les SMB tant que des Glucides sont actifs. + Activer les SMB avec les cibles temp + Activer les SMB lorsqu\'il y a une cible temporaire active (repas imminent, exercise) + Activer les SMB avec cibles temp hautes + Activer les SMB quand il y a une cible temp haute active (exercise, au dessus de 100 mg/dl ou 5.5 mmol/l) + Max minutes de basal pour limiter le SMB + SMB RNS minutes max + Minutes de basal max pour limiter les SMB des RNS + Glucides minimum requis pour suggestion + Quantité de glucides minimum en g pour afficher une alerte de suggestion de glucides. Les suggestions inférieures ne déclencheront pas de notification. + Valeur glycémique au-dessous de laquelle l\'injection de l\'insuline est suspendu. La valeur par défaut utilise le modèle standard de la cible. L\'utilisateur peut choisir entre 60mg/dl (3.3mmol/l) et 100mg/dl (5.5mmol/l). Les valeurs au-dessous de 65/3.6 déclenchent l\'utilisation du modèle standard + Glycémie au-dessous de laquelle se déclenche l\'Arrêt Glycémie Basse Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (et bientôt Autotune) pour définir +20% en limite maximale du ratio Autosens. En consequence, ceci va définir la valeur maximale du Basal pour Autosens, la valeur minimale de la Sensibilité à l\'Insuline (SI), et la valeur minimale de la cible glycémique. Valeur par défaut: 0,7\nL\'autre volet des limites de sécurité de l\'autosens, c\'est de définir une limite basse sur l\'ajustement des débits de basal et une limite haute sur l\'ajustement de la SI et des cibles GLY effectués par l\'autosens. + Augmentation de la valeur du débit Basal max parce que ce paramètre est inférieur au débit Basal max de votre profil + multiplicateur max basal + multiplicateur max basal quotidien + SMB désactivé dans les préférences + Repas Non Signalé (RNS) désactivé dans les préférences + Autosens désactivé dans les préférences + Limiter l’IA %1$.1f U en raison de la %2$s valeur Max dans les préférences limite fixée + Pic diff --git a/plugins/aps/src/main/res/values-ja-rJP/strings.xml b/plugins/aps/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..e90d65eb5d --- /dev/null +++ b/plugins/aps/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/plugins/aps/src/main/res/values-ru-rRU/strings.xml b/plugins/aps/src/main/res/values-ru-rRU/strings.xml index 46ed07bc40..7bff16c34e 100644 --- a/plugins/aps/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/aps/src/main/res/values-ru-rRU/strings.xml @@ -9,11 +9,14 @@ = 100]]> Супер микро болюс OpenAPS Динамический ISF + Как часто SMB будут подаваться в минутах Сопротивляемость понижает цель При обнаружении сопротивляемости целевой уровень гликемии понижается Чувствительность поднимает цель При обнаружении чувствительности целевой уровень глюкозы повышается модуль не активен + Данные гликемии недоступны + Данные autosens недоступны ДинISF выполнение Помощник болюса OpenAPS AMA @@ -23,11 +26,19 @@ Самый новый алгоритм для опытных пользователей Последний алгоритм для опытных пользователей с динамическим/автоматическим ISF выполнить сейчас + Предыдущее выполнение + Параметры ввода + Состояние гликемии + Текущий врем базал + Данные IOB (активн инс) Профиль + Данные приема пищи результат запрос ограничения данные autosens + Отладка скрипта + Пользоваться функцией Autosens значение по умолчанию:3 Это ключевой ограничитель безопасности OpenAPS. Он ограничивает величину вашего базала максимум до 3x максимума. Вам вероятно не понадобится менять эту величину но вам следует понимать, что она входит в формулу дуэта \"максимум 3x ежедневное; 4x текущее\" значение по умолчанию: 4 . Это вторая половина обеспечения безопасности OpenAPS из дуэта \"максимум 3x ежедневное; 4x текущее\" Означает что ваша база независимо от установок помпы не может быть выше чем это число умноженное на текущее значение базала. Ограничение для того, чтобы предотвратить вторжение в опасную зону из-за высокого уровня установленных значений базы без понимания алгоритма работы приложения. Большинству людей никогда не потребуется изменять это значение, скорее всего нужно поменять другие настройки если вы чувствуете, что вам мешает это ограничение. Множитель безопасности макс суточного базала diff --git a/plugins/automation/src/main/res/values-ja-rJP/strings.xml b/plugins/automation/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..32e75b4468 --- /dev/null +++ b/plugins/automation/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/plugins/main/src/main/res/values-af-rZA/strings.xml b/plugins/main/src/main/res/values-af-rZA/strings.xml index d141e765ec..55e6b7c132 100644 --- a/plugins/main/src/main/res/values-af-rZA/strings.xml +++ b/plugins/main/src/main/res/values-af-rZA/strings.xml @@ -109,4 +109,5 @@ OAPS UPLD + diff --git a/plugins/main/src/main/res/values-bg-rBG/strings.xml b/plugins/main/src/main/res/values-bg-rBG/strings.xml index 735bd3305b..6ec07bd907 100644 --- a/plugins/main/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/main/src/main/res/values-bg-rBG/strings.xml @@ -170,4 +170,5 @@ Бутоните винаги се показват на дъното на екрана. Голям екран Тема + diff --git a/plugins/main/src/main/res/values-ca-rES/strings.xml b/plugins/main/src/main/res/values-ca-rES/strings.xml index ee4e78be48..cb4742c875 100644 --- a/plugins/main/src/main/res/values-ca-rES/strings.xml +++ b/plugins/main/src/main/res/values-ca-rES/strings.xml @@ -175,4 +175,5 @@ Els botons sempre es mostren a la part inferior de la pantalla Pantalla grossa Tema + diff --git a/plugins/main/src/main/res/values-cs-rCZ/strings.xml b/plugins/main/src/main/res/values-cs-rCZ/strings.xml index 570cd95c2e..4d9df649c7 100644 --- a/plugins/main/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/main/src/main/res/values-cs-rCZ/strings.xml @@ -428,4 +428,5 @@ Tlačítka jsou vždy zobrazena v dolní části obrazovky Velký displej Vzhled + diff --git a/plugins/main/src/main/res/values-da-rDK/strings.xml b/plugins/main/src/main/res/values-da-rDK/strings.xml index 9679e6e3e6..7dae731233 100644 --- a/plugins/main/src/main/res/values-da-rDK/strings.xml +++ b/plugins/main/src/main/res/values-da-rDK/strings.xml @@ -200,4 +200,5 @@ Knapper vises altid nederst på skærmen Stort display Udseende + diff --git a/plugins/main/src/main/res/values-de-rDE/strings.xml b/plugins/main/src/main/res/values-de-rDE/strings.xml index 6798ca9d19..6b62dfaaa3 100644 --- a/plugins/main/src/main/res/values-de-rDE/strings.xml +++ b/plugins/main/src/main/res/values-de-rDE/strings.xml @@ -201,4 +201,5 @@ Schaltflächen werden immer am unteren Rand des Bildschirms angezeigt Großer Bildschirm Erscheinungsbild + diff --git a/plugins/main/src/main/res/values-el-rGR/strings.xml b/plugins/main/src/main/res/values-el-rGR/strings.xml index cf44ba951e..0458951d07 100644 --- a/plugins/main/src/main/res/values-el-rGR/strings.xml +++ b/plugins/main/src/main/res/values-el-rGR/strings.xml @@ -119,4 +119,5 @@ OAPS UPLD + diff --git a/plugins/main/src/main/res/values-es-rES/exam.xml b/plugins/main/src/main/res/values-es-rES/exam.xml index 68c7523c0e..5ef973f368 100644 --- a/plugins/main/src/main/res/values-es-rES/exam.xml +++ b/plugins/main/src/main/res/values-es-rES/exam.xml @@ -9,32 +9,32 @@ Deberías determinar por ti mismo el valor apropiado para DIA. Objetivo temporal ante Hipoglucemia ¿Cuál es la razón principal para establecer un objetivo temporal por hipoglucemia? - Para corregir hipos causados por ajustes incorrectos de la tasa basal. - Para evitar que AAPS corrija de forma excesiva ante un aumento rápido de la glucosa por tomar hidratos rápidos para remontar una hipoglucemia. - Para corregir una hipo resultando de ejercicio. - Para evitar que la glucosa sanguínea se quede baja si ya hay una tasa basal temporal 0% en funcionamiento. + Para corregir hipoglucemias causadas por ajustes incorrectos de la tasa basal. + Para evitar que AAPS corrija de forma excesiva ante un aumento rápido de la glucosa por tomar carbohidratos rápidos para recuperarse de una hipoglucemia. + Para corregir una hipoglucemia que sucedió como resultando del ejercicio. + Para evitar que la glucosa sanguínea continue bajando si ya hay una tasa basal temporal igual a 0% en funcionamiento. https://androidaps.readthedocs.io/en/latest/EN/Usage/temptarget.html ¿Qué perfil puede ser usado y configurado estando desconectado? - Tema: Perfil fuera de línea - El perfil NS puede ser usado pero no configurado. + Tema: Perfil desconectado + El perfil que proviene de Nightscout (NS) puede ser utilizado, pero no configurado. https://androidaps.readthedocs.io/en/latest/EN/Configuration/Config-Builder.html#profile Razones para aplicar \"Desconectar bomba\" en AAPS ¿Qué se debe hacer al desconectar la bomba? Esto es innecesario, ya que no se entregará insulina si la bomba está físicamente desconectada. - Evita que AAPS tenga en cuenta la insulina que no se entregó cuando la bomba estaba físicamente desconectada. - Si la bomba permanece conectada, no se detendrá la entrega de insulina. + Evita que AAPS tenga en cuenta la insulina que no se administró cuando la bomba estaba físicamente desconectada + Si la bomba permanece conectada, no se detendrá el suministro de insulina. Pasará AAPS a modo de lazo abierto https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#other-settings Ajustes de AAPS Ajustes de AAPS - ¿Cuáles son las mejores prácticas para hacer copias de seguridad de su configuración? - No necesita exportar sus ajustes siempre que haga una nota de ellos. + ¿Cuáles son las mejores prácticas para hacer copias de seguridad de sus configuraciones? + No necesita exportar sus configuraciones siempre que haga una nota de ellos. Exporta tu configuración después de completar un objetivo. Exportar la configuración después de cambiar cualquiera de sus ajustes. Exportar la configuración una vez finalizada la configuración inicial y haber establecido sus preferencias. Exportar la configuración localmente usando el menú de mantenimiento. El archivo de configuración se encuentra en la carpeta Almacenamiento/AAPS/preferencias en el teléfono. - Copie el archivo de preferencias a una ubicación segura fuera de su teléfono (p.e. mediante el uso de una nube, conectando un cable a una computadora, correo electrónico, etc.) + Copie el archivo de preferencias a una ubicación segura fuera de su teléfono (p.e. mediante el uso del alamacenamiento en la nube, conectándose con un cable a una computadora, correo electrónico, etc.) Si su teléfono está dañado o perdido, hay formas fáciles de recuperar remotamente su configuración sin hacer una copia de seguridad. https://androidaps.readthedocs.io/en/latest/EN/Usage/ExportImportSettings.html https://androidaps.readthedocs.io/en/latest/EN/Getting-Started/FAQ.html#what-emergency-equipment-is-recommended-to-take-with-me @@ -42,8 +42,8 @@ ¿Qué se debe hacer si los datos de CGM tienen ruido? No hacer nada: AAPS se ocupará de ello. Deshabilita el lazo cerrado para evitar posibles sobredosis o subdosis. - Sustituya los sensores constantemente ruidosos o inexactos. - Comprueba que tu aplicación CGM proporciona datos suavizados. + Sustituya los sensores con valores ruidosos o inexactos. + Comprueba que tu aplicación del CGM proporciona datos suavizados. https://androidaps.readthedocs.io/en/latest/EN/Usage/Smoothing-Blood-Glucose-Data-in-xDrip.html#smoothing-blood-glucose-data Ejercicio y perfiles ¿Cómo puede usar perfiles para ayudar mejor al sistema a hacer frente al ejercicio aeróbico? @@ -109,6 +109,7 @@ https://androidaps.readthedocs.io/en/latest/EN/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting https://www.facebook.com/groups/AndroidAPSUsers/ https://discord.gg/4fQUWHZ4Mw + Plugins de insulina ¿Qué insulina debes usar con el plugin Ultra-Rapid Oref? Fiasp® NovoRapid®/Novolog® diff --git a/plugins/main/src/main/res/values-es-rES/strings.xml b/plugins/main/src/main/res/values-es-rES/strings.xml index eb77281707..0d37fe45c1 100644 --- a/plugins/main/src/main/res/values-es-rES/strings.xml +++ b/plugins/main/src/main/res/values-es-rES/strings.xml @@ -7,6 +7,7 @@ desde la aplicación de autenticación para: %1$s seguido de PIN PIN obligatorio adicional al final del token Los dígitos adicionales se deben memorizar y pegar al final de cada una de las contraseñas generadas por One Time Password + Configuración de autentificación Código para comprobar: OTP + PIN El código de verificación consta de 6 dígitos mostrados por la aplicación Authenticator (conocido como OTP) seguido de 3 o más dígitos del PIN obligatorio. @@ -23,17 +24,83 @@ Restablecer autentificadores En cada teléfono seguidor, instale la aplicación Authenticator que admita tokens RFC 6238 TOTP. Las aplicaciones gratuitas populares son:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator Al reiniciar el autenticador, haces que todos los autenticadores previos no sean válidos. ¡Necesitarás configurarlos de nuevo! + Código incorrecto. Comando cancelado. + Tiempo de espera agotado mientras finalizaba la comunicación anterior con la bomba Usuario Números de teléfono permitidos XXXXXXXXXX +; + YYYYYYYYYY + Para entregar bolo %1$.2fU responder con el código %2$s + Para entregar bolo %1$.2fU responder con el código %2$s + Para establecer un basal temporal %1$s responder con el código %2$s + Para cancelar la basal temporal, responder con el código %1$s + Para deshabilitar la respuesta de servicio remoto de SMS, responder con el código %1$s.\n\nTen en cuenta que solamente será capaz de reactivarlo directamente desde el móvil con la aplicación AAPS maestra. + Servicio remoto de SMS detenido. Para reactivarlo, utilice AAPS en el movil maestro. + Para enviar calibración %1$.2f responder con código %2$s + Bolo fallido + Número mínimo de minutos que deben transcurrir entre un bolo remoto y el siguiente + Cuántos minutos deben transcurrir, al menos, entre un bolo y el siguiente + Por tu seguridad, para editar esta preferencia es necesario añadir al menos 2 números de teléfono. + Bolo de %1$.2f U enviado correctamente + Bolo de comida %1$.2f U entregado correctamente + Objetivo %1$s durante %2$d minutos Objetivo %1$s para %2$d minutos establecido correctamente Objetivo temporal cancelado correctamente + Permitir comandos remotos vía SMS + El lazo se ha desactivado + El lazo se ha activado + Lazo activo + Para conectar la bomba, responder con el código %1$s + Error al conectar a la bomba + Para desconectar la bomba durante %1$dminutos, responde con el código %2$s + Bomba desconectada Bomba reconectada + Comando remoto no permitido + El bolo remoto no está disponible. Inténtalo de nuevo más tarde. + Para iniciar una basal de %1$.2fU/h durante %2$d min, responder con el código %3$s + Para cambiar el perfil a %1$s %2$d%% responder con el código %3$s + Para iniciar un bolo extendido de %1$.2fU durante %2$d minutos, responder con el código %3$s + Para introducir %1$dg en %2$s, responder con el código %3$s + Para iniciar una basal de %1$d%% durante %2$d min, responder con el código %3$s + Para suspender el lazo durante %1$d minutos, responde con el código %2$s + Para reanudar el lazo, responde con el código %1$s + Para activar el lazo, responder con el código %1$s + Para desactivar el lazo, responder con el código %1$s + Basal temporal %1$.2fU/h durante %2$d minutos iniciada correctamente + Bolo extendido de %1$.2fU durante %2$d minutos se inició correctamente + Carbohidratos %1$d g ingresados correctamente + Error al introducir %1$dg de carbohidratos + Basal temporal de %1$d%% durante %2$d minutos iniciada correctamente + Error al iniciar la basal temporal + Error al iniciar el bolo extendido + Para cancelar la basal temporal, responder con el código %1$s + Para parar el bolo extendido, responder con el código %1$s + Basal temporal cancelada + Bolo extendido cancelado + Error al cancelar la basal temporal + Error al cancelar el bolo extendido + Comando desconocido o respuesta incorrecta Hay otro bolo en cola. Inténtalo de nuevo más tarde. + Duración incorrecta + Lazo suspendido + Lazo reanudado + Número de teléfono incorrecto para SMS + Calibración enviada. La recepción debe estar habilitada en xDrip+. + xDrip+ no está recibiendo calibraciones + El cuerpo del mensaje es inválido + Enviar SMS si se activa un evento de bomba inaccesible + Reportar bomba inalcanzable + Formato incorrecto + Glucosa: + Última Glucosa: Delta: IOB: Bolo: Dosis Basal: + hace %1$d min + Suspendido (%1$d m) + Error al leer estado + Cambio de perfil creado + La duración de TBR debe ser un múltiplo de %1$d minutos y mayor a 0. Código QR para la configuración de la contraseña de un sólo uso Lyumjev @@ -52,6 +119,7 @@ Fiasp + Línea de estado de xDrip+ (reloj) xds Mostrar información sobre tu lazo en tu esfera xDrip+ Mostrar detalles IOB @@ -65,6 +133,10 @@ Muestra los ajustes preestablecidos de alimentos definidos en Nightscout Filtro Comida + kJ + En + Pr + Grasa Categoría Subcategoría Calculadora @@ -123,18 +195,31 @@ Tiempo agotado Máximo IOB ajustado correctamente Glucosa disponible desde la fuente seleccionada + El servicio de sincronización tiene permiso de escritura Lazo activado APS seleccionado Lazo cerrado activado OBJ Programa de aprendizaje ¿Desea reiniciar el objetivo? Puedes perder tu progreso. + Siguiente + Anterior Limpieza finalizada Limpieza iniciada + Acciones Algunos botones para acceder rápidamente a funciones comunes ACC + Basal temporal + Bolo extendido + Cancelar bolo extendido Herramientas + Historial + Sensor + Edad: + Nivel: + Insulina + Batería de la bomba Cánula El uso de la función de bolo extendido detendrá el modo de bucle cerrado durante el tiempo de ejecución del bolo extendido. ¿Realmente quieres esto? Error al emitir bolo extendido @@ -166,7 +251,10 @@ Tipo de paciente Silenciar + ¿Deseas copiar los ajustes desde Nightscout, si existen? Mostrar luces de estado en la pantalla de inicio + Umbral de advertencia de la edad de la cánula [h] + Umbral crítico de la edad de la cánula [h] Umbral de advertencia de la edad de la insulina [h] Umbral crítico de la edad de la insulina [h] Umbral de advertencia de la edad del sensor [h] @@ -192,12 +280,29 @@ MCG Asistente + NSClient no tiene permisos de escritura. ¿API Secret incorrecta? + NSClientV3 + NSV3 + NSClient + NSCLI + URL: + Desplazamiento automático Reiniciar + NSClient + URL de Nightscout + Introduce tu página de Nightscout + API Secret de Nightscout + API Secret de Nightscout + Introduce la contraseña API Secret de Nightscout (mínimo de 12 caracteres) + Token de acceso de Nightscout + Token de acceso de Nightscout + Token de acceso generado en la página de administración de NS (mínimo 17 caracteres) Lanzar ahora Borrar cola Mostrar cola Cola: Estado: + Borrar log Sincronización completa ¿Sincronización completa? Puede tardar muchas horas y hasta que termine no verás nuevos datos en Nightscout Sincronización @@ -223,8 +328,14 @@ Aceptar valores MCG desde Nightscout ¿Ejecutar %s? Ralentizar subidas + Opciones de alarma Crear notificaciones de alarmas desde Nightscout Crear notificaciones desde Nightscout + Datos antiguos limite [min] + Datos antiguos urgentes limite [min] + Registrar el inicio de la aplicación en Nightscout + Activar transmisiones a otras aplicaciones (como xDrip+). ¡No activar si tiene más de una instancia de AAPS o AAPSClient instalado! + Habilitar la emisión de mensajes localmente Tu nombre de usuario de Tidepool, normalmente tu dirección de correo electrónico Nombre de usuario @@ -245,10 +356,18 @@ Restablecer inicio Subir ahora + Tipo de bomba virtual + Definición de la bomba + Bolo: Paso =%1$s\nBolo Extendido: [paso =%2$s, Duración =%3$smin -%4$sh] \nBasal: Paso =%5$s\nTBR: %6$s ( %7$s), Duración =%8$sMin -%9$sh\n%10$s + Bomba virtual + BOMBAV Integración de bombas de insulina que aún no tienen ningún controlador disponible (lazo abierto) + BOMBA VIRTUAL Ajustes de bomba virtual Subir estado a Nightscout + NSClient BG + NS BG Recibir los datos de glucosa de Nightscout xDrip+ Recibir los valores de glucosa de xDrip+ @@ -257,7 +376,9 @@ Recibir los valores de glucosa de la aplicación Dexcom \'Build Your Own Device\' Eversense App (parcheada) Recibir los valores de glucosa de la aplicación Eversense parcheada. + Glimp Recibir valores de glucosa de Glimp. + MM640g Recibir los valores de glucosa del 600SeriesAndroidUploader. Poctech Recibir los valores de glucosa de Poctech @@ -268,6 +389,7 @@ Tomato (MiaoMiao) Tomato Recibir los valores de glucosa de Tomato App (MiaoMiao) + GlucoRx Aidex Aidex Recibir los valores de glucosa de GlucoRx Aidex CGMS Glucosa aleatoria @@ -285,19 +407,52 @@ WiFi SSID Durante la carga Con batería + Ajustes de conexión + SSID\'s permitidos (separados por punto y coma) + Permitir conexión en roaming Crear notificaciones de los errores Crear notificaciones de alertas de carbohidratos necesarios Crear notificaciones en Nightscout para diálogos de error y alertas locales (también visibles en el portal de cuidados, en los tratamientos) Crear notificaciones de Nightscout para las alertas de carbohidratos necesarios Sincroniza tus datos con Nightscout + Sincroniza tus datos con Nightscout usando API v3 Bloqueado por opciones de carga Bloqueado por opciones de conectividad + Versión de Nightscout no soportada OAPS UPLD + NSClient fallando. Considera reiniciar NS y NSClient. Tema original Tema baja resolución Los botones siempre se muestran en la parte inferior de la pantalla Pantalla grande Tema + + Ejecutando + Ejecutar ahora + Un bolo ha sido entregado en los últimos 3 minutos, omitiendo SMB + ¡Bomba no iniciada! + LAZO + Activar o desactivar la posibilidad para activar el lazo. + NO APS Seleccionado o resultado entregado + Ignorar 5m + Ignorar 15m + Ignorar 30m + Sugerencia de carbohidratos + Nueva propuesta disponible + Basal establecida correctamente + Última ejecución + APS + Solicitud + Tras procesar las restricciones + Restricciones + Tiempo requerido para basal temporal + Tiempo de ejecución para basal temporal + Basal temporal establecida por la bomba + Tiempo requerido de SMB + Tiempo de ejecución de SMB + SMB administrado por la bomba + Valor mínimo de cambio [%] + Valor predeterminado 20%. El lazo abierto realizará una petición de cambio, sólo cuando se supere este valor diff --git a/plugins/main/src/main/res/values-fr-rFR/exam.xml b/plugins/main/src/main/res/values-fr-rFR/exam.xml index aa9d6eedb4..c865261ea0 100644 --- a/plugins/main/src/main/res/values-fr-rFR/exam.xml +++ b/plugins/main/src/main/res/values-fr-rFR/exam.xml @@ -109,6 +109,7 @@ https://androidaps.readthedocs.io/en/latest/CROWDIN/fr/Installing-AndroidAPS/Update-to-new-version.html#troubleshooting https://www.facebook.com/groups/AndroidAPSUsers/ https://discord.gg/4fQUWHZ4Mw + Plugins Insuline Quelle insuline devez-vous utiliser avec le plugin Ultra-Rapid-Oref? Fiasp® NovoRapid®/Novolog® diff --git a/plugins/main/src/main/res/values-fr-rFR/strings.xml b/plugins/main/src/main/res/values-fr-rFR/strings.xml index 134d580791..5779758c00 100644 --- a/plugins/main/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/main/src/main/res/values-fr-rFR/strings.xml @@ -1,9 +1,36 @@ + Communicateur SMS SMS + Commander à distance AAPS en utilisant les commandes SMS. + depuis l\'application Authenticator pour : %1$s suivie du code PIN + Code PIN obligatoire à la fin de l\'OTP + Chiffres supplémentaires qui doivent être mémorisés et collés à la fin de chaque OTP généré + Configuration de l\'Authentificateur + Code à vérifier : OTP + PIN + Le code de vérification est composé de 6 chiffres affichés par l\'application Authenticator (appelée OTP) suivi du code PIN obligatoire constitué de 3 chiffres ou plus. + Réinitialiser les authentificateurs + Réinitialiser la clé de l\'Authentificateur + Voulez-vous réinitialiser la clé de l\'Authenticateur ? Cela rendra tous authentificateurs configurés invalides, et vous devrez les configurer à nouveau. + Nouvelle clé de l\'Authenticateur générée ! Veuillez utiliser le QRCode mis à jour pour les authentificateurs. + Exportation de l\'OTP secret + Êtes-vous sûr de vouloir copier l\'OTP secret dans le presse-papiers ?\n\nVous pouvez en avoir besoin uniquement si votre application d\'authentification a des problèmes pour scanner le QRCode, si vous voulez le saisir manuellement ou si vous voulez configurer un jeton OTP matériel en utilisant une application dédiée. + OTP secret (au format Base32) exporté et copié dans le presse-papiers. Collez-le dans l\'authentificateur ou le graveur OTP matériel ! + 1. Installation l\'Authentificateur + 2. Scannez le code pour configurer les codes OTP AAPS + 3. Test Mot-de-Passe-Unique (OTP) + Réinitialiser les authentificateurs + Sur chaque téléphone suiveur, installez une appli. Authentificateur qui prend en charge les jetons RFC 6238 TOTP. Les applications libres populaires sont:\n • Authy\n • Google Authenticator\n • LastPass Authenticator\n • FreeOTP Authenticator + En réinitialisant l\'Authentificateur, vous invalidez tous les authentificateurs déjà initialisés. Vous devrez les reconfigurer ! + Code incorrect. Commande annulée. + Délai d\'attente pour finir la communication précédente avec la pompe + Patient + Numéros de tél autorisés +XXXXXXXXXX;+YYYYYYYYYY + Pour injecter le bolus de %1$.2f U, renvoyez le code %2$s + Pour injecter le bolus repas de %1$.2f U, renvoyez le code %2$s Pour définir la cible temp %1$s, renvoyez le code %2$s Pour annuler la cible temp, renvoyez le code %1$s Pour désactiver les commandes à distance SMS, renvoyez le code %1$s.\n\nGardez à l\'esprit que vous ne pourrez le réactiver que directement à partir de l\'application AAPS du smartphone maître. @@ -16,6 +43,8 @@ Bolus de %1$.2f U délivré avec succès Bolus repas de %1$.2f U délivré avec succès Cible %1$s pendant %2$d minutes + Cible %1$s pendant %2$d minutes définie avec succès + Cible Temp annulée avec succès Autoriser les commandes à distance par SMS La Boucle a été désactivée La Boucle a été activée @@ -24,11 +53,13 @@ Echec de la connexion pompe Pour déconnecter la pompe pendant %1$d min, renvoyez le code %2$s Pompe déconnectée + Pompe reconnectée La commande à distance n\'est pas autorisée Bolus à distance non disponible. Réessayez plus tard. Pour démarrer la basal de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s Pour changer le profil vers %1$s %2$d%%, renvoyez le code %3$s Pour démarrer le bolus étendu de %1$.2f U/h pendant %2$d min, renvoyez le code %3$s + Pour entrer %1$dg à %2$s, renvoyez le code %3$s Pour démarrer la Basal %1$d%% pendant %2$d min, renvoyez le code %3$s Pour suspendre la boucle pendant %1$d min, renvoyez le code %2$s Pour reprendre la boucle, renvoyez le code %1$s @@ -42,28 +73,126 @@ Le démarrage du basal temporaire a échoué Le départ du Bolus étendu a échoué Pour arrêter la basal temp, renvoyez le code %1$s + Pour arrêter le bolus étendu, renvoyez le code %1$s + Basal temporaire annulé + Bolus étendu annulé + Echec de l\'annulation du basal temporaire + Échec de l\'annulation du Bolus étendu + Commande inconnue ou mauvaise réponse + Un autre bolus est en file d\'attente. Réessayez plus tard. + Durée incorrecte + Boucle suspendue + Boucle relancée + Numéro de tél. SMS invalide + Étalonnage envoyé. La réception doit être activée dans xDrip+. + xDrip+ ne reçoit pas les étalonnages + Message invalide + Envoyer un SMS si l\'événement Pompe hors de portée est déclenché + Signaler Pompe hors de portée + Format incorrect + Gly: + Dernière Gly: Delta: + IA: Bolus: Basal: + il y a %1$d min + Suspendu (%1$d m) + La lecture du statut a échoué + Changement de profil effectué + La durée du DBT doit être un multiple de %1$d minutes et supérieure à 0. + QR Code pour configurer un mot de passe à usage unique Lyumjev + Réglages pour les insulines Humalog et NovoRapid / NovoLog + Réglages pour l\'insuline Fiasp + Réglages pour l\'insuline Lyumjev + Permet de définir le pic de l’activité de l’insuline et ne doit être utilisé que par les utilisateurs avancés INS + Durée du Pic de la Courbe IA + Temps du Pic [min] + Profil d\'insuline ajustable Oref + Insuline à Action Rapide Oref + Insuline Ultra Rapide Oref + Durée d’Action pour %1$f trop courte - utiliser %2$f à la place ! Novorapid, Novolog, Humalog Fiasp + Barre d\'état pour xDrip+ (Montre) xds + Afficher les informations de votre Boucle sur votre écran de montre xDrip+. + Afficher l\'IA détaillée + Sur la montre, décomposer l’IA en IA bolus et IA basal + Boucle désactivée + Afficher l’Impact Glycémie + Ajouter l’IGly sur la vue générale + état Xdrip+ (montre) + Aliments + Affiche les aliments définis par défaut dans Nightscout + Filtrer + Aliments + kJ + En + Pr + Lipides + Catégorie + Sous-catégorie + Assistant + Choisissez le thème sombre, clair ou le thème système + Thèmes de couleurs de l\'appli + Thème sombre + Thème clair + Utiliser le thème de l’appareil + Profil + PL + Définissez un profil qui est disponible hors ligne. + ajouter un nouveau à la liste + Voulez-vous changer de profil et annuler les modifications faites dans le profil actuel ? + Sauver ou réinitialiser les modifications actuelles en premier + Supprimer le profil actuel ? + Unités : + Nom de profil manquant + Erreur dans les valeurs de G/I + Erreur dans les valeurs de basal + Erreur dans les valeurs cibles + Erreur dans les valeurs de SI + Le nom du profil contient des points.\nCe n\'est pas pris en charge par NS.\nLe profil n\'est pas remonté dans NS. + Profil %1$s non valide, refusé par NS + Vue + Erreurs + Sélectionnez le profil à modifier + Nom du profil : + ajouter un nouveau profil + dupliquer le profil actuel + supprimer le profil actuel + DAI + CIBLE BAS + Données recalculées utilisées + Gly trop proche :\n%1$s\n%2$s + recalculé + entrées doubles + Changement d\'heure dans moins de 24 heures + Changement d\'heure dans moins de 3 heures - Boucle fermée désactivée + Boucle désactivée ! Libérez au moins %1$d Mo du stockage interne ! + ancienne version + très ancienne version + Application expirée + Nouvelle version disponible depuis %1$d jours ! Retour à Arrêt Glycémie Basse (AGB) dans %2$d jours, la boucle sera désactivée dans %3$d jours + Terminé, félicitations ! + Pas encore terminé + Temps écoulé Maximum IA réglé correctement Glycémie disponible depuis la source sélectionnée Le service de synchronisation a l\'autorisation d\'écriture @@ -121,7 +250,11 @@ Maximum de Glucides autorisé [g] Type de patient + Masquer + Copier les paramètres NS (s\'ils existent)? Afficher les voyants d\'état sur l\'écran d\'accueil + Seuil d\'alerte âge canule [h] + Seuil critique âge canule [h] Seuil d\'alerte âge insuline [h] Seuil critique âge insuline [h] Seuil d\'alerte âge capteur [h] @@ -147,7 +280,20 @@ MGC Assistant Rapide + NSCLIENT ne possède pas la permission d\'écriture. Mauvais API secret? + NSClientV3 + NSV3 + NSClient + NSCI + URL : + Défilement automatique Redémarrer + NSClient + URL Nightscout + Entrez l’URL de votre site Nightscout + NS API Secret + NS API Secret + Entrez NS API secret (12 carac. min) Jeton d\'accès NS Jeton d\'accès NS Jeton d\'accès généré sur la page d\'administration NS (min. 17 caractères) @@ -156,6 +302,7 @@ Afficher queue Queue : État : + Effacer le journal Synchronisation complète Synchronisation complète ? Cela peut prendre plusieurs heures et jusqu\'à la fin, vous ne verrez pas de nouvelles données sur NS. Synchronisation @@ -184,6 +331,11 @@ Options d\'alarme Créer des notifications à partir des alarmes NS Créer des notifications à partir des notifications NS + Seuil sans nouvelle donnée Gly [min] + Seuil d\'urgence pour les données obsolètes [min] + Démarrage AAPS entré dans NS + Active les diffusions vers d\'autres applications (comme xDrip+). Ne pas activer si plusieurs instances d\'AAPS ou de AAPSClient sont installées ! + Activer les transmissions locales Votre nom d\'utilisateur Tidepool, normalement votre adresse e-mail Nom d\'utilisateur @@ -204,10 +356,18 @@ Réinitialiser le démarrage Télécharger maintenant + Type de pompe virtuelle + Définition de pompe + Bolus : Étape =%1$s\nExtended Bolus : [Étape =%2$s, Durée =%3$smin -%4$sh]\nBasal : Étape =%5$s\nTBR : %6$s (par %7$s), Durée =%8$smin -%9$sh\n%10$s + Pompe virtuelle + POMPEV Intégration pour les pompes qui n’ont pas encore de pilote (Boucle Ouverte) + POMPE VIRTUELLE Paramètres pompe virtuelle Remontée des informations vers NS + Glycémie NSClient + Gly NS Télécharge les glycémies depuis Nightscout xDrip+ Recevoir les glycémies depuis xDrip+. @@ -216,7 +376,9 @@ Recevoir les valeurs de glycémie de l’application Dexcom patchée (BYODA). App Eversense (patché) Recevoir les valeurs de glycémie de l’app Eversense patchée. + Glimp Recevoir les glycémies depuis Glimp. + Medtronic 640g Recevoir les glycémies depuis le 600SeriesAndroidUploder. Poctech Recevoir les glycémies depuis l\'app Poctech @@ -227,15 +389,27 @@ Tomato (MiaoMiao) Tomato Recevoir les valeurs de glycémie de l\'application Tomato (appareil MiaoMiao) + GlucoRx Aidex Aidex Recevoir les valeurs de glycémie du MGC GlucoRx Aidex. + Gly Aléatoire + Générer des glycémies aléatoires (mode démo uniquement) + Gly + Transmettre les Gly vers xDrip+ + Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de données + Remonter les Gly vers NS Paramètres de téléchargement des glycémies + Enreg. du changement de capteur sur NS + Créer automatiquement un événement \"Changement de capteur\" dans NS au démarrage du capteur Utiliser la connexion mobile Utilisez la connexion Wi-Fi SSID WiFi Pendant la charge Sur batterie + Paramètres de connexion + SSIDs autorisés (séparés par point-virgule) + Autoriser connexion données itinérance Créer des messages d’erreurs Créer des annonces à partir des alertes Glucides requis Créer une annonce Nightscout pour les messages d\'erreur et les alertes locales (également visible dans la section Careportal de l\'onglet traitements) @@ -244,12 +418,41 @@ Synchronise vos données avec Nightscout en utilisant l\'API v3 Bloqué par les options de recharge Bloqué par les options de connectivité + Version de Nightscout non supportée OAPS UPLD + Dysfonctionnement NSClient. Redémarrez NS et NSClient. Thème d\'origine Basse résolution Boutons toujours en bas Grand écran Thème + + Exécution en cours + Exécuter maintenant + Un bolus a été délivré au cours des 3 dernières minutes, SMB ignoré + Pompe non initialisée ! + BOUCLE + Activer ou désactiver la mise en œuvre déclenchant la Boucle. + Pas d\'APS sélectionné ou pas de résultat fourni + Ignorer 5m + Ignorer 15m + Ignorer 30m + Suggestion de glucides + Nouvelle recommendation disponible + Basal configuré correctement + Dernière exécution + APS + Requête + Après applicaton des restrictions + Restrictions + Heure de demande basal temp + Heure d\'exécution basal temp + Basal temporaire défini par la pompe + Heure de demande SMB + Heure d\'exécution SMB + SMB défini par la pompe + Changement minimum [%] + Le fonctionnement de la Boucle demandera une confirmation uniquement si le changement est supérieur à cette valeur en %. Par défaut, la valeur est 20% diff --git a/plugins/main/src/main/res/values-ga-rIE/strings.xml b/plugins/main/src/main/res/values-ga-rIE/strings.xml index 53af16be99..84f149a2d7 100644 --- a/plugins/main/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/main/src/main/res/values-ga-rIE/strings.xml @@ -53,4 +53,5 @@ WiFi SSID OAPS + diff --git a/plugins/main/src/main/res/values-hr-rHR/strings.xml b/plugins/main/src/main/res/values-hr-rHR/strings.xml index 4562060211..abcee53bf3 100644 --- a/plugins/main/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/main/src/main/res/values-hr-rHR/strings.xml @@ -215,4 +215,5 @@ Blokirano opcijama punjenja Blokirano opcijama povezivanja + diff --git a/plugins/main/src/main/res/values-hu-rHU/strings.xml b/plugins/main/src/main/res/values-hu-rHU/strings.xml index 88a6e9acba..2b2a38bce0 100644 --- a/plugins/main/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/main/src/main/res/values-hu-rHU/strings.xml @@ -50,4 +50,5 @@ Eredeti megjelenés Alacsony felbontás Megjelenés + diff --git a/plugins/main/src/main/res/values-it-rIT/strings.xml b/plugins/main/src/main/res/values-it-rIT/strings.xml index 29ea547986..7becd62f2d 100644 --- a/plugins/main/src/main/res/values-it-rIT/strings.xml +++ b/plugins/main/src/main/res/values-it-rIT/strings.xml @@ -336,4 +336,5 @@ I tasti vengono sempre visualizzati nella parte inferiore dello schermo Visualizzazione ampia Tema + diff --git a/plugins/main/src/main/res/values-iw-rIL/strings.xml b/plugins/main/src/main/res/values-iw-rIL/strings.xml index 24ec8c20ac..0ddfaae237 100644 --- a/plugins/main/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/main/src/main/res/values-iw-rIL/strings.xml @@ -192,4 +192,5 @@ לחצנים מוצגים תמיד בתחתית המסך תצוגה גדולה סקין + diff --git a/plugins/main/src/main/res/values-ja-rJP/exam.xml b/plugins/main/src/main/res/values-ja-rJP/exam.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-ja-rJP/exam.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-ja-rJP/objectives.xml b/plugins/main/src/main/res/values-ja-rJP/objectives.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/main/src/main/res/values-ja-rJP/objectives.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/main/src/main/res/values-ja-rJP/strings.xml b/plugins/main/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..21b3885d51 --- /dev/null +++ b/plugins/main/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/main/src/main/res/values-ko-rKR/strings.xml b/plugins/main/src/main/res/values-ko-rKR/strings.xml index c3af0eacf6..89632ded54 100644 --- a/plugins/main/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/main/src/main/res/values-ko-rKR/strings.xml @@ -167,4 +167,5 @@ 버튼을 화면 아래 고정하여 보여주기 큰 화면 스킨 + diff --git a/plugins/main/src/main/res/values-lt-rLT/strings.xml b/plugins/main/src/main/res/values-lt-rLT/strings.xml index c11cad30e9..06ebf5a4d0 100644 --- a/plugins/main/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/main/src/main/res/values-lt-rLT/strings.xml @@ -217,4 +217,5 @@ Mygtukai visada rodomi ekrano apačioje Didelis ekranas Išvaizda + diff --git a/plugins/main/src/main/res/values-nl-rNL/strings.xml b/plugins/main/src/main/res/values-nl-rNL/strings.xml index adfd3219e5..62ebbd244a 100644 --- a/plugins/main/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/main/src/main/res/values-nl-rNL/strings.xml @@ -303,4 +303,5 @@ Knoppen worden altijd weergegeven aan de onderkant van het scherm Groot scherm Skin + diff --git a/plugins/main/src/main/res/values-no-rNO/strings.xml b/plugins/main/src/main/res/values-no-rNO/strings.xml index b90a6bd911..ed5041b6cb 100644 --- a/plugins/main/src/main/res/values-no-rNO/strings.xml +++ b/plugins/main/src/main/res/values-no-rNO/strings.xml @@ -419,4 +419,5 @@ Knapper vises alltid på bunnen av skjermen Stor skjerm Tema + diff --git a/plugins/main/src/main/res/values-pl-rPL/strings.xml b/plugins/main/src/main/res/values-pl-rPL/strings.xml index 1fb4bcb7d0..881a7a89c2 100644 --- a/plugins/main/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/main/src/main/res/values-pl-rPL/strings.xml @@ -179,4 +179,5 @@ Przyciski są zawsze wyświetlane na dole ekranu Duży ekran Motyw + diff --git a/plugins/main/src/main/res/values-pt-rBR/strings.xml b/plugins/main/src/main/res/values-pt-rBR/strings.xml index 5e5abf59b7..3d91df929d 100644 --- a/plugins/main/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/main/src/main/res/values-pt-rBR/strings.xml @@ -195,4 +195,5 @@ Botões são sempre exibidos na parte inferior da tela Mostrador Grande Tema + diff --git a/plugins/main/src/main/res/values-pt-rPT/strings.xml b/plugins/main/src/main/res/values-pt-rPT/strings.xml index db4021582a..acc5c87d1d 100644 --- a/plugins/main/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/main/src/main/res/values-pt-rPT/strings.xml @@ -173,4 +173,5 @@ Os botões são sempre exibidos na parte inferior do ecrã Mostrador Grande Tema gráfico + diff --git a/plugins/main/src/main/res/values-ro-rRO/strings.xml b/plugins/main/src/main/res/values-ro-rRO/strings.xml index e1751a355b..03e61419f1 100644 --- a/plugins/main/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/main/src/main/res/values-ro-rRO/strings.xml @@ -172,4 +172,5 @@ Butoanele sunt afișate întotdeauna în partea de jos a ecranului Display mare Tema + diff --git a/plugins/main/src/main/res/values-ru-rRU/strings.xml b/plugins/main/src/main/res/values-ru-rRU/strings.xml index d475ebfd81..cc3fa841bd 100644 --- a/plugins/main/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/main/src/main/res/values-ru-rRU/strings.xml @@ -232,4 +232,5 @@ Кнопки всегда отображаются в нижней части экрана Большой экран Тема оформления + diff --git a/plugins/main/src/main/res/values-sk-rSK/strings.xml b/plugins/main/src/main/res/values-sk-rSK/strings.xml index 1fa9d634a8..4d751c98c1 100644 --- a/plugins/main/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/main/src/main/res/values-sk-rSK/strings.xml @@ -295,4 +295,5 @@ Tlačidlá sú vždy zobrazené v spodnej časti obrazovky Veľký displej Vzhľad + diff --git a/plugins/main/src/main/res/values-sr-rCS/strings.xml b/plugins/main/src/main/res/values-sr-rCS/strings.xml index 9dc5fc6171..b3f387dd4a 100644 --- a/plugins/main/src/main/res/values-sr-rCS/strings.xml +++ b/plugins/main/src/main/res/values-sr-rCS/strings.xml @@ -44,4 +44,5 @@ Sinhronizuje vaše podatke sa Nightscout-om + diff --git a/plugins/main/src/main/res/values-sv-rSE/strings.xml b/plugins/main/src/main/res/values-sv-rSE/strings.xml index ef046dfe3b..874324507b 100644 --- a/plugins/main/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/main/src/main/res/values-sv-rSE/strings.xml @@ -186,4 +186,5 @@ Eversense-appen. Knappar visas alltid längst ned på skärmen Stor skärm Tema + diff --git a/plugins/main/src/main/res/values-tr-rTR/strings.xml b/plugins/main/src/main/res/values-tr-rTR/strings.xml index b6e90a40b0..88a880c421 100644 --- a/plugins/main/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/main/src/main/res/values-tr-rTR/strings.xml @@ -223,4 +223,5 @@ Butonlar her zaman ekranın altında görüntülenir Büyük ekran Görünüm + diff --git a/plugins/main/src/main/res/values-zh-rCN/strings.xml b/plugins/main/src/main/res/values-zh-rCN/strings.xml index d34e1904c1..ccf6358c7b 100644 --- a/plugins/main/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/main/src/main/res/values-zh-rCN/strings.xml @@ -184,4 +184,5 @@ 按钮总是显示在屏幕底部 大显示屏 皮肤 + diff --git a/plugins/openhumans/src/main/res/values-ja-rJP/strings.xml b/plugins/openhumans/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/plugins/openhumans/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/pump/combo/src/main/res/values-ja-rJP/strings.xml b/pump/combo/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/pump/combo/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/pump/danar/src/main/res/values-ja-rJP/strings.xml b/pump/danar/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/pump/danar/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/pump/diaconn/src/main/res/values-ja-rJP/strings.xml b/pump/diaconn/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/pump/diaconn/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml index 998800b76d..749bef2d14 100644 --- a/pump/eopatch/src/main/res/values-fr-rFR/strings.xml +++ b/pump/eopatch/src/main/res/values-fr-rFR/strings.xml @@ -80,11 +80,55 @@ Activation du Patch terminée ! Le programme \'%1$s\' a été activé. Avertir lorsque le Patch approche de son heure d\'expiration.\nChangez l\'heure de rappel si nécessaire. + Rappel d\'expiration du Patch + Rappel d\'activation du Patch + L\'activation du Patch n\'est pas terminée.\n Continuer. + Contrôle de communication du Patch + Vérification de la communication avec le Patch… + Rapprochez votre appareil du patch. + Veuillez vous déplacer à un autre endroit et réessayer. + Erreur de communication + Communication réussie + Connecté avec le Patch. + Annuler l\'appairage + jours +  U + Lors de la suspension, le Bolus & Basal Temp actuellement délivré sera annulé.\n\nTaux : %1$s U/h\nTemps restant : %2$s\n& Insuline restante : %3$.2f U + Lors de la suspension, le Bolus actuellement distribué sera annulé. \n\nInsuline restante : %1$.2f U + Lors de la suspension, le Basal Temp actuellement distribué sera annulé.\n\nTaux : %1$s U/h\nTemps restant : %2$s + L\'injection d\'insuline sera suspendue. + Retirer/Changer le Patch + Activer le Patch + Retirer le Patch + Reprendre + Retirer + Vérification de la communication + Suspendre + Suspendu + Exécution Annuler Confirmer + Alarme Connection en cours Changement en cours Traitement en cours Réessayer + [Attention] NE PAS retirer le capuchon de l\'aiguille et le support adhésif jusqu\'aux instructions suivantes. + Êtes-vous sûr-e de vouloir retirer le Patch actuel ? + En raison d\'une information de bolus non confirmée, l\'Assistant Bolus ne peut pas être utilisé jusqu\'à %s.\n\nÊtes-vous sûr de vouloir retirer le Patch actuel ? + Erreur d\'insertion de l\'aiguille. + Vérifiez si la direction du trou à gauche après avoir tourné le levier est droite, puis appuyez sur \"Réessayer\". + Appuyez sur « Supprimer » pour désactiver le Patch. + Durée de suspension Basal + Reprendre l\'injection d\'insuline + Fin de suspension de l\'insuline.\nAppuyez sur \"Confirmer\" pour reprendre l\'injection d\'insuline.\n\n[Attention]\nL\'injection de l\'insuline ne reprendra que si vous appuyez sur \"Confirmer\".\nSi vous ne cliquez pas sur \"Confirmer\", vous pourriez développer une hyperglycémie. + Injection d\'insuline suspendue. + L\'injection de l\'insuline redémarrée. + Terminer + temps restant: %1$s:%2$s Suivant + Réessayer après la vérification de la communication avec le Patch. + Échec de la suspension. + Échec de la reprise. + EEE, d MMM, yyyy hh:mm a diff --git a/pump/eopatch/src/main/res/values-ja-rJP/strings.xml b/pump/eopatch/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..3ea04e700d --- /dev/null +++ b/pump/eopatch/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/pump/eopatch/src/main/res/values-ru-rRU/strings.xml b/pump/eopatch/src/main/res/values-ru-rRU/strings.xml index cd4d867584..5045f6a945 100644 --- a/pump/eopatch/src/main/res/values-ru-rRU/strings.xml +++ b/pump/eopatch/src/main/res/values-ru-rRU/strings.xml @@ -101,10 +101,24 @@ Завершить пользование Patch\'ем Возобновить Завершить пользование + Проверка связи + Останов + Приостановлено + Выполняется Отменить Подтверждаю + Сигнал тревоги + Соединение устанавливается + Замена + Обработка + Повторить попытку + [Caution] НЕ удаляйте колпачок иглы и клеящийся слой до дальнейших инструкций. Завершить пользование этим Patch\'ем? + Из-за неподтвержденной информации о болюсах, невозможно применить калькулятор болюса до %s.\n\n Завершить пользование Patch\'ем? + Ошибка ввода иглы. + Убедитесь, что направление отверстия после поворота рычага осталось прямым, затем нажмите «Повтор». Нажмите \'Завершить пользование Patch\'ем\', чтобы деактивировать Patch. + Время приостановки базала Возобновить подачу инсулина Окончание приостановки подачи инсулина.\n Нажмите \'Подтвердить\', чтобы возобновить подачу.\n\n[Caution]\n Подача не возобновится, если не нажать \'Подтвердить\'.\n Если не нажать \'Подтвердить\', может развиться гипергликемия. Введение инсулина приостановлено. diff --git a/pump/medtronic/src/main/res/values-ja-rJP/strings.xml b/pump/medtronic/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..7dd05e5965 --- /dev/null +++ b/pump/medtronic/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..e35fcaa95a --- /dev/null +++ b/pump/omnipod-common/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..942b365512 --- /dev/null +++ b/pump/omnipod-dash/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml b/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..bc89093c83 --- /dev/null +++ b/pump/omnipod-eros/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/pump/pump-common/src/main/res/values-ja-rJP/strings.xml b/pump/pump-common/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..33c77af761 --- /dev/null +++ b/pump/pump-common/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/pump/rileylink/src/main/res/values-ja-rJP/strings.xml b/pump/rileylink/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..0a73dfc845 --- /dev/null +++ b/pump/rileylink/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ui/src/main/res/values-es-rES/strings.xml b/ui/src/main/res/values-es-rES/strings.xml index 17d708f63f..f6203c5986 100644 --- a/ui/src/main/res/values-es-rES/strings.xml +++ b/ui/src/main/res/values-es-rES/strings.xml @@ -127,5 +127,9 @@ Perfil disponible Edad: %1$.0f TDD: %2$.0f U Edad: %1$.0f TDD: %2$.0f U %3$d%% + Edad: %1$.0f Peso: %2$.0f kg + Perfil DPV por defecto + Entrada % inválida + Tasa basal diff --git a/ui/src/main/res/values-fr-rFR/strings.xml b/ui/src/main/res/values-fr-rFR/strings.xml index 8167b9d334..3580b02455 100644 --- a/ui/src/main/res/values-fr-rFR/strings.xml +++ b/ui/src/main/res/values-fr-rFR/strings.xml @@ -39,10 +39,48 @@ Superbolus Total + Assurez-vous que le montant correspond à la spécification de votre ensemble de perfusions! + Insuline par défaut pour Amorcer/Remplir + Bouton 1 + Bouton 2 + Bouton 3 + Enregistrer le changement de site de la pompe + Enreg. changement de réservoir + Ne pas administrer de bolus, enregistrer uniquement + Réutiliser %1$d%% %2$dh + Décalage horaire + Pourcentage + Suspendre la boucle pendant 1h + Suspendre la boucle pendant 2h + Suspendre la boucle pendant 3h + Suspendre la boucle pendant 10h + Déconnecter la pompe + Déconnecter la pompe pendant 15 min + Déconnecter la pompe pendant 30 min + Déconnecter la pompe pendant 1 h + Déconnecter la pompe 2 h + Déconnecter la pompe pendant 3 h + Reprendre + Reconnecter la pompe + 15 min + 30 min + 1 heure + 2 heures + 3 heures + 10 heures + corriger le résultat avec le % + corriger le résultat avec les unités + 2 h + Résultat: %1$s %2$s + %1$d g manquants + glycémie actuelle + Décalage horaire + régler l\'alarme du minuteur de glucides + Afficher le calcul Aucun enregistrement disponible Calc @@ -77,6 +115,8 @@ Afficher les entrées de la boucle Masquer les entrées de la boucle + Profil 1 + Profil 2 Type de profil % de basal Sélectionné : @@ -87,5 +127,9 @@ Profils disponibles Âge: %1$.0f DTI: %2$.0f U Âge: %1$.0f DTI: %2$.0f U %3$d%% + Âge: %1$.0f Poids: %2$.0f kg + Profil par défaut DPV + % saisi invalide + Débit de Basal diff --git a/ui/src/main/res/values-ja-rJP/strings.xml b/ui/src/main/res/values-ja-rJP/strings.xml new file mode 100644 index 0000000000..45273ae530 --- /dev/null +++ b/ui/src/main/res/values-ja-rJP/strings.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + From 1cbfae2dc1c0eabc41bdca46add6260f27de9aac Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 10:46:56 +0100 Subject: [PATCH 115/123] di cleanup --- .../nightscout/androidaps/di/AppComponent.kt | 6 ++---- .../androidaps/di/DataClassesModule.kt | 14 -------------- .../androidaps/di/ObjectivesModule.kt | 2 -- .../androidaps/di/ReceiversModule.kt | 6 ------ .../info/nightscout/androidaps/di/UIModule.kt | 17 ----------------- .../nightscout/androidaps/di/WizardModule.kt | 18 ++++++++++++++++-- .../di/CoreDataClassesModule.kt | 7 +++++-- .../di/CoreFragmentsModule.kt | 2 +- .../{androidaps => core}/di/CoreModule.kt | 5 +++-- .../di/CoreReceiversModule.kt | 2 +- .../nightscout/core}/di/PreferencesModule.kt | 2 +- .../di/ValidatorsModule.kt | 2 +- .../info/nightscout/plugins/di/LoopModule.kt | 12 ++++++++++++ .../nightscout/plugins/di/PluginsModule.kt | 4 +++- .../nightscout/plugins/di/SkinsUiModule.kt | 12 ++++++++++++ .../plugins/pump/common/di/RileyLinkModule.kt | 11 ++++++++++- .../java/info/nightscout/ui/di/UiModule.kt | 5 +++++ 17 files changed, 72 insertions(+), 55 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/di/UIModule.kt rename core/core-main/src/main/java/info/nightscout/{androidaps => core}/di/CoreDataClassesModule.kt (71%) rename core/core-main/src/main/java/info/nightscout/{androidaps => core}/di/CoreFragmentsModule.kt (95%) rename core/core-main/src/main/java/info/nightscout/{androidaps => core}/di/CoreModule.kt (84%) rename core/core-main/src/main/java/info/nightscout/{androidaps => core}/di/CoreReceiversModule.kt (88%) rename {app/src/main/java/info/nightscout/androidaps => core/core-main/src/main/java/info/nightscout/core}/di/PreferencesModule.kt (94%) rename core/core-main/src/main/java/info/nightscout/{androidaps => core}/di/ValidatorsModule.kt (94%) create mode 100644 plugins/main/src/main/java/info/nightscout/plugins/di/LoopModule.kt create mode 100644 plugins/main/src/main/java/info/nightscout/plugins/di/SkinsUiModule.kt diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index a36b6e30ec..3fd45eedf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -21,6 +21,7 @@ import info.nightscout.androidaps.plugins.pump.medtronic.di.MedtronicModule import info.nightscout.androidaps.plugins.pump.omnipod.dash.di.OmnipodDashModule import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule import info.nightscout.automation.di.AutomationModule +import info.nightscout.core.di.CoreModule import info.nightscout.database.impl.DatabaseModule import info.nightscout.implementation.di.ImplementationModule import info.nightscout.plugins.aps.di.ApsModule @@ -44,11 +45,8 @@ import javax.inject.Singleton WizardModule::class, ApsModule::class, WorkflowModule::class, - PreferencesModule::class, OverviewModule::class, - DataClassesModule::class, WorkersModule::class, - UiModule::class, // Gradle modules AutomationModule::class, @@ -60,7 +58,7 @@ import javax.inject.Singleton SharedModule::class, SharedImplModule::class, OpenHumansModule::class, - UIModule::class, + UiModule::class, // pumps ComboModule::class, diff --git a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt deleted file mode 100644 index 91a56552a7..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/di/DataClassesModule.kt +++ /dev/null @@ -1,14 +0,0 @@ -package info.nightscout.androidaps.di - -import dagger.Module -import dagger.android.ContributesAndroidInjector -import info.nightscout.core.wizard.BolusWizard -import info.nightscout.core.wizard.QuickWizardEntry - -@Module -@Suppress("unused") -abstract class DataClassesModule { - - @ContributesAndroidInjector abstract fun bolusWizardInjector(): BolusWizard - @ContributesAndroidInjector abstract fun quickWizardEntryInjector(): QuickWizardEntry -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt b/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt deleted file mode 100644 index 200b83579f..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/di/ObjectivesModule.kt +++ /dev/null @@ -1,2 +0,0 @@ -package info.nightscout.androidaps.di - diff --git a/app/src/main/java/info/nightscout/androidaps/di/ReceiversModule.kt b/app/src/main/java/info/nightscout/androidaps/di/ReceiversModule.kt index 36e7e7ea45..1186f5fe8c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/ReceiversModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/ReceiversModule.kt @@ -2,9 +2,6 @@ package info.nightscout.androidaps.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.plugins.aps.loop.CarbSuggestionReceiver -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkBluetoothStateReceiver -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkBroadcastReceiver import info.nightscout.androidaps.receivers.AutoStartReceiver import info.nightscout.androidaps.receivers.BTReceiver import info.nightscout.androidaps.receivers.ChargingStateReceiver @@ -22,9 +19,6 @@ abstract class ReceiversModule { @ContributesAndroidInjector abstract fun contributesChargingStateReceiver(): ChargingStateReceiver @ContributesAndroidInjector abstract fun contributesDataReceiver(): DataReceiver @ContributesAndroidInjector abstract fun contributesKeepAliveWorker(): KeepAliveWorker - @ContributesAndroidInjector abstract fun contributesRileyLinkBluetoothStateReceiver(): RileyLinkBluetoothStateReceiver @ContributesAndroidInjector abstract fun contributesSmsReceiver(): SmsReceiver @ContributesAndroidInjector abstract fun contributesTimeDateOrTZChangeReceiver(): TimeDateOrTZChangeReceiver - @ContributesAndroidInjector abstract fun contributesCarbSuggestionReceiver(): CarbSuggestionReceiver - @ContributesAndroidInjector abstract fun contributesRileyLinkBroadcastReceiver(): RileyLinkBroadcastReceiver } diff --git a/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt b/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt deleted file mode 100644 index 457222578e..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/di/UIModule.kt +++ /dev/null @@ -1,17 +0,0 @@ -package info.nightscout.androidaps.di - -import dagger.Module -import dagger.android.ContributesAndroidInjector -import info.nightscout.ui.widget.WidgetConfigureActivity -import info.nightscout.plugins.skins.SkinListPreference -import info.nightscout.ui.widget.Widget - -@Module -@Suppress("unused") -abstract class UIModule { - - @ContributesAndroidInjector abstract fun skinListPreferenceInjector(): SkinListPreference - @ContributesAndroidInjector abstract fun contributesWidget(): Widget - @ContributesAndroidInjector abstract fun contributesWidgetConfigureActivity(): WidgetConfigureActivity - -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt b/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt index 916b1d9785..ee17fb3b3d 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt @@ -4,7 +4,21 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.setupwizard.SWEventListener import info.nightscout.androidaps.setupwizard.SWScreen -import info.nightscout.androidaps.setupwizard.elements.* +import info.nightscout.androidaps.setupwizard.elements.SWBreak +import info.nightscout.androidaps.setupwizard.elements.SWButton +import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword +import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber +import info.nightscout.androidaps.setupwizard.elements.SWEditNumber +import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits +import info.nightscout.androidaps.setupwizard.elements.SWEditString +import info.nightscout.androidaps.setupwizard.elements.SWEditUrl +import info.nightscout.androidaps.setupwizard.elements.SWFragment +import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink +import info.nightscout.androidaps.setupwizard.elements.SWInfoText +import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.androidaps.setupwizard.elements.SWPlugin +import info.nightscout.androidaps.setupwizard.elements.SWPreference +import info.nightscout.androidaps.setupwizard.elements.SWRadioButton @Module @Suppress("unused") @@ -21,7 +35,7 @@ abstract class WizardModule { @ContributesAndroidInjector abstract fun swFragmentInjector(): SWFragment @ContributesAndroidInjector abstract fun swPreferenceInjector(): SWPreference @ContributesAndroidInjector abstract fun swHtmlLinkInjector(): SWHtmlLink - @ContributesAndroidInjector abstract fun swInfotextInjector(): SWInfoText + @ContributesAndroidInjector abstract fun swInfoTextInjector(): SWInfoText @ContributesAndroidInjector abstract fun swItemInjector(): SWItem @ContributesAndroidInjector abstract fun swPluginInjector(): SWPlugin @ContributesAndroidInjector abstract fun swRadioButtonInjector(): SWRadioButton diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/CoreDataClassesModule.kt similarity index 71% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/CoreDataClassesModule.kt index d015f32590..83e98adda8 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreDataClassesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/CoreDataClassesModule.kt @@ -1,10 +1,12 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import dagger.Module import dagger.android.ContributesAndroidInjector import info.nightscout.androidaps.plugins.aps.loop.APSResultObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.data.AutosensDataObject import info.nightscout.core.profile.ProfileStoreObject +import info.nightscout.core.wizard.BolusWizard +import info.nightscout.core.wizard.QuickWizardEntry import info.nightscout.interfaces.pump.PumpEnactResult @Module @@ -14,6 +16,7 @@ abstract class CoreDataClassesModule { @ContributesAndroidInjector abstract fun pumpEnactResultInjector(): PumpEnactResult @ContributesAndroidInjector abstract fun apsResultInjector(): APSResultObject @ContributesAndroidInjector abstract fun autosensDataInjector(): AutosensDataObject - @ContributesAndroidInjector abstract fun profileStoreInjector(): ProfileStoreObject + @ContributesAndroidInjector abstract fun bolusWizardInjector(): BolusWizard + @ContributesAndroidInjector abstract fun quickWizardEntryInjector(): QuickWizardEntry } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/CoreFragmentsModule.kt similarity index 95% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/CoreFragmentsModule.kt index 9cb9e059f1..83e35b26d2 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreFragmentsModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/CoreFragmentsModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/CoreModule.kt similarity index 84% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/CoreModule.kt index bb79bc7e9e..9fb8e283e7 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/CoreModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import android.content.Context import android.os.Build @@ -11,7 +11,8 @@ import dagger.Provides CoreReceiversModule::class, CoreFragmentsModule::class, CoreDataClassesModule::class, - ValidatorsModule::class + ValidatorsModule::class, + PreferencesModule::class ] ) open class CoreModule { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/CoreReceiversModule.kt similarity index 88% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/CoreReceiversModule.kt index ed2bc5af94..f6bc260f71 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/CoreReceiversModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/CoreReceiversModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/app/src/main/java/info/nightscout/androidaps/di/PreferencesModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/PreferencesModule.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/di/PreferencesModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/PreferencesModule.kt index 180accfb95..08c20d4822 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PreferencesModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/PreferencesModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt b/core/core-main/src/main/java/info/nightscout/core/di/ValidatorsModule.kt similarity index 94% rename from core/core-main/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt rename to core/core-main/src/main/java/info/nightscout/core/di/ValidatorsModule.kt index 2626b36c9e..e2903a301a 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/di/ValidatorsModule.kt +++ b/core/core-main/src/main/java/info/nightscout/core/di/ValidatorsModule.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.di +package info.nightscout.core.di import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/plugins/main/src/main/java/info/nightscout/plugins/di/LoopModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/LoopModule.kt new file mode 100644 index 0000000000..b253e7b8fe --- /dev/null +++ b/plugins/main/src/main/java/info/nightscout/plugins/di/LoopModule.kt @@ -0,0 +1,12 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.aps.loop.CarbSuggestionReceiver + +@Module +@Suppress("unused") +abstract class LoopModule { + + @ContributesAndroidInjector abstract fun contributesCarbSuggestionReceiver(): CarbSuggestionReceiver +} \ No newline at end of file diff --git a/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt index f5d4d8c7a3..0101840517 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/di/PluginsModule.kt @@ -12,7 +12,9 @@ import dagger.Module SourceModule::class, VirtualPumpModule::class, ObjectivesModule::class, - SkinsModule::class + SkinsModule::class, + SkinsUiModule::class, + LoopModule::class ] ) diff --git a/plugins/main/src/main/java/info/nightscout/plugins/di/SkinsUiModule.kt b/plugins/main/src/main/java/info/nightscout/plugins/di/SkinsUiModule.kt new file mode 100644 index 0000000000..2bb1167ed8 --- /dev/null +++ b/plugins/main/src/main/java/info/nightscout/plugins/di/SkinsUiModule.kt @@ -0,0 +1,12 @@ +package info.nightscout.plugins.di + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.plugins.skins.SkinListPreference + +@Module +@Suppress("unused") +abstract class SkinsUiModule { + + @ContributesAndroidInjector abstract fun skinListPreferenceInjector(): SkinListPreference +} \ No newline at end of file diff --git a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/RileyLinkModule.kt b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/RileyLinkModule.kt index ffd25e97ea..11f77f6b8c 100644 --- a/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/RileyLinkModule.kt +++ b/pump/rileylink/src/main/java/info/nightscout/androidaps/plugins/pump/common/di/RileyLinkModule.kt @@ -13,8 +13,15 @@ import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.ble.device.Or import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusActivity import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusGeneralFragment import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusHistoryFragment +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkBluetoothStateReceiver +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkBroadcastReceiver import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.RileyLinkService -import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.* +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.DiscoverGattServicesTask +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.InitializePumpManagerTask +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.PumpTask +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ResetRileyLinkConfigurationTask +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.ServiceTask +import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.service.tasks.WakeAndTuneTask @Module @Suppress("unused") @@ -40,4 +47,6 @@ abstract class RileyLinkModule { @ContributesAndroidInjector abstract fun contributesRileyLinkBLEConfigActivity(): RileyLinkBLEConfigActivity @ContributesAndroidInjector abstract fun contributesRileyLinkService(): RileyLinkService + @ContributesAndroidInjector abstract fun contributesRileyLinkBroadcastReceiver(): RileyLinkBroadcastReceiver + @ContributesAndroidInjector abstract fun contributesRileyLinkBluetoothStateReceiver(): RileyLinkBluetoothStateReceiver } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt index 6a625a79a8..04fc9f37d8 100644 --- a/ui/src/main/java/info/nightscout/ui/di/UiModule.kt +++ b/ui/src/main/java/info/nightscout/ui/di/UiModule.kt @@ -29,11 +29,16 @@ import info.nightscout.ui.dialogs.TempBasalDialog import info.nightscout.ui.dialogs.TempTargetDialog import info.nightscout.ui.dialogs.TreatmentDialog import info.nightscout.ui.dialogs.WizardInfoDialog +import info.nightscout.ui.widget.Widget +import info.nightscout.ui.widget.WidgetConfigureActivity @Module @Suppress("unused") abstract class UiModule { + @ContributesAndroidInjector abstract fun contributesWidget(): Widget + @ContributesAndroidInjector abstract fun contributesWidgetConfigureActivity(): WidgetConfigureActivity + @ContributesAndroidInjector abstract fun contributesCalibrationDialog(): CalibrationDialog @ContributesAndroidInjector abstract fun contributesCarbsDialog(): CarbsDialog @ContributesAndroidInjector abstract fun contributesCareDialog(): CareDialog From 97cd02d02161d75a212e10aac92b1fd3f2ec15fc Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 11:48:26 +0100 Subject: [PATCH 116/123] cleanup --- .../nightscout/androidaps/di/AppModule.kt | 4 ++-- .../androidaps/utils/PercentageSplitter.kt | 20 ---------------- .../nightscout/androidaps/utils/SntpClient.kt | 17 -------------- .../utils/PercentageSplitterTest.kt | 23 ------------------- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../core}/wizard/BolusWizardTest.kt | 16 ++++++------- .../NotificationHolderImpl.kt | 15 ++++++------ .../constraints/objectives}/SntpClientTest.kt | 6 ++--- 8 files changed, 22 insertions(+), 81 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt rename {app/src/test/java/info/nightscout/androidaps/utils => core/core-main/src/test/java/info/nightscout/core}/wizard/BolusWizardTest.kt (92%) rename {app/src/main/java/info/nightscout/androidaps/utils => implementation/src/main/java/info/nightscout/implementation}/androidNotification/NotificationHolderImpl.kt (85%) rename {app/src/test/java/info/nightscout/androidaps/utils => plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives}/SntpClientTest.kt (80%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index dcd1a8851b..b4105def4e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -11,14 +11,12 @@ import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator -import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation @@ -30,6 +28,7 @@ import info.nightscout.implementation.CarbTimerImpl import info.nightscout.implementation.LocalAlertUtilsImpl import info.nightscout.implementation.TrendCalculatorImpl import info.nightscout.implementation.XDripBroadcastImpl +import info.nightscout.implementation.androidNotification.NotificationHolderImpl import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.implementation.pump.PumpSyncImplementation import info.nightscout.implementation.queue.CommandQueueImplementation @@ -63,6 +62,7 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.TrendCalculator +import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData diff --git a/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt b/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt deleted file mode 100644 index 96d1ad6b49..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.utils - -import java.util.regex.Pattern - -object PercentageSplitter { - - // Matches "Profile name (200%,-2h)", "Profile name (50%) - private val splitPattern = Pattern.compile("(.+)\\(\\d+%(,-?\\d+h)?\\)") - - /** - * Removes the suffix for percentage and timeshift from a profile name. This is the inverse of what - * [ProfileSwitch.getCustomizedName()] does. - * Since the customized name is used for the PS upload to NS, this is needed get the original profile name - * when retrieving the PS from NS again. - */ - fun pureName(name: String): String { - val percentageMatch = splitPattern.matcher(name) - return if (percentageMatch.find()) (percentageMatch.group(1) as String).trim { it <= ' ' } else name - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt deleted file mode 100644 index 6f01aa6a78..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt +++ /dev/null @@ -1,17 +0,0 @@ -package info.nightscout.androidaps.utils - -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt deleted file mode 100644 index 89f0e9b903..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package info.nightscout.androidaps.utils - -import info.nightscout.androidaps.utils.PercentageSplitter.pureName -import org.junit.Assert -import org.junit.Test - -/** - * Created by mike on 22.12.2017. - */ -class PercentageSplitterTest { - - @Test fun pureNameTestPercentageOnly() { - Assert.assertEquals("Fiasp", pureName("Fiasp(101%)")) - } - - @Test fun pureNameTestPercentageAndPositiveTimeShift() { - Assert.assertEquals("Fiasp", pureName("Fiasp (101%,2h)")) - } - - @Test fun pureNameTestPercentageAndNegtiveTimeShift() { - Assert.assertEquals("Fiasp", pureName("Fiasp (50%,-2h)")) - } -} \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index af18cd7321..5ba01a09b6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -24,7 +24,7 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { val lastData = 0L val baseBasal = 0.0 - override val pumpDescription = PumpDescription() + override var pumpDescription = PumpDescription() override fun isInitialized(): Boolean = true override fun isSuspended(): Boolean = false diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt similarity index 92% rename from app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt rename to core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt index 21731d8e4b..107a9a959c 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.utils.wizard +package info.nightscout.core.wizard import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase +import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint @@ -18,7 +18,6 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.CommandQueue -import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -41,7 +40,6 @@ class BolusWizardTest : TestBase() { @Mock lateinit var commandQueue: CommandQueue @Mock lateinit var loop: Loop @Mock lateinit var iobCobCalculator: IobCobCalculator - @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var dateUtil: DateUtil @Mock lateinit var autosensDataStore: AutosensDataStoreObject @@ -63,6 +61,8 @@ class BolusWizardTest : TestBase() { } } + val testPumpPlugin = TestPumpPlugin(injector) + @Suppress("SameParameterValue") private fun setupProfile(targetLow: Double, targetHigh: Double, insulinSensitivityFactor: Double, insulinToCarbRatio: Double): Profile { val profile = Mockito.mock(Profile::class.java) @@ -74,10 +74,10 @@ class BolusWizardTest : TestBase() { `when`(profileFunction.getUnits()).thenReturn(GlucoseUnit.MGDL) `when`(iobCobCalculator.calculateIobFromBolus()).thenReturn(IobTotal(System.currentTimeMillis())) `when`(iobCobCalculator.calculateIobFromTempBasalsIncludingConvertedExtended()).thenReturn(IobTotal(System.currentTimeMillis())) - `when`(activePlugin.activePump).thenReturn(virtualPumpPlugin) - val pumpDescription = PumpDescription() - pumpDescription.bolusStep = pumpBolusStep - `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) + `when`(activePlugin.activePump).thenReturn(testPumpPlugin) + testPumpPlugin.pumpDescription = PumpDescription().also { + it.bolusStep = pumpBolusStep + } `when`(iobCobCalculator.ads).thenReturn(autosensDataStore) Mockito.doAnswer { invocation: InvocationOnMock -> diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt rename to implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt index 458ca453ea..8bc83f63a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.androidNotification +package info.nightscout.implementation.androidNotification import android.app.Notification import android.app.NotificationChannel @@ -8,9 +8,9 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.TaskStackBuilder -import info.nightscout.androidaps.MainActivity import info.nightscout.core.main.R import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject @@ -18,9 +18,10 @@ import javax.inject.Singleton @Singleton class NotificationHolderImpl @Inject constructor( - val rh: ResourceHelper, - val context: Context, - val iconsProvider: IconsProvider + private val rh: ResourceHelper, + private val context: Context, + private val iconsProvider: IconsProvider, + private val activityNames: ActivityNames ) : NotificationHolder { override val channelID = "AndroidAPS-Ongoing" @@ -33,8 +34,8 @@ class NotificationHolderImpl @Inject constructor( get() = _notification ?: placeholderNotification() override fun openAppIntent(context: Context): PendingIntent? = TaskStackBuilder.create(context).run { - addParentStack(MainActivity::class.java) - addNextIntent(Intent(context, MainActivity::class.java)) + addParentStack(activityNames.mainActivity) + addNextIntent(Intent(context, activityNames.mainActivity)) getPendingIntent(0, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT) } diff --git a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt similarity index 80% rename from app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt index fc9817d92a..2814ddd1ef 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt +++ b/plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.utils +package info.nightscout.plugins.constraints.objectives import info.nightscout.androidaps.TestBase -import info.nightscout.plugins.constraints.objectives.SntpClient import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Test import org.mockito.Mock +import kotlin.math.abs class SntpClientTest : TestBase() { @Mock lateinit var dateUtil: DateUtil @@ -24,7 +24,7 @@ class SntpClientTest : TestBase() { SntpClient(aapsLogger, dateUtil).doNtpTime(object : SntpClient.Callback() { override fun run() { Assert.assertTrue(success) - Assert.assertTrue(Math.abs(time - System.currentTimeMillis()) < 60000) + Assert.assertTrue(abs(time - System.currentTimeMillis()) < 60000) } }) } From 296bf78a607a8bc116719a0fa77fd66785ee0a0e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 12:52:36 +0100 Subject: [PATCH 117/123] move IconsProviderImpl --- app/src/main/java/info/nightscout/androidaps/di/AppModule.kt | 5 +++-- implementation/build.gradle | 1 + .../implementation}/resources/IconsProviderImplementation.kt | 4 ++-- .../src/main/res/drawable/ic_notif_nsclient.xml | 0 .../src/main/res/drawable/ic_notif_pumpcontrol.xml | 0 ui/build.gradle | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) rename {app/src/main/java/info/nightscout/androidaps/utils => implementation/src/main/java/info/nightscout/implementation}/resources/IconsProviderImplementation.kt (89%) rename {app => implementation}/src/main/res/drawable/ic_notif_nsclient.xml (100%) rename {app => implementation}/src/main/res/drawable/ic_notif_pumpcontrol.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index b4105def4e..33ce75461c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvid import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl -import info.nightscout.androidaps.utils.resources.IconsProviderImplementation +import info.nightscout.implementation.resources.IconsProviderImplementation import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.AndroidPermissionImpl @@ -63,6 +63,7 @@ import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.plugins.aps.loop.LoopPlugin +import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData @@ -139,7 +140,7 @@ open class AppModule { @Binds fun bindImportExportPrefsInterface(importExportPrefs: ImportExportPrefsImpl): ImportExportPrefs @Binds fun bindIconsProviderInterface(iconsProvider: IconsProviderImplementation): IconsProvider @Binds fun bindLoopInterface(loopPlugin: LoopPlugin): Loop - @Binds fun bindAutotuneInterface(autotunePlugin: info.nightscout.plugins.general.autotune.AutotunePlugin): Autotune + @Binds fun bindAutotuneInterface(autotunePlugin: AutotunePlugin): Autotune @Binds fun bindIobCobCalculatorInterface(iobCobCalculatorPlugin: IobCobCalculatorPlugin): IobCobCalculator @Binds fun bindSmsCommunicatorInterface(smsCommunicatorPlugin: SmsCommunicatorPlugin): SmsCommunicator @Binds fun bindDataSyncSelectorInterface(dataSyncSelectorImplementation: DataSyncSelectorImplementation): DataSyncSelector diff --git a/implementation/build.gradle b/implementation/build.gradle index a9cd6b3462..cd610c49e8 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -25,4 +25,5 @@ dependencies { implementation project(':core:core-main') implementation project(':core:fabric') implementation project(':core:ui') + implementation project(':ui') } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/resources/IconsProviderImplementation.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt rename to implementation/src/main/java/info/nightscout/implementation/resources/IconsProviderImplementation.kt index 43686c1945..eeec845d6b 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/resources/IconsProviderImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/resources/IconsProviderImplementation.kt @@ -1,6 +1,6 @@ -package info.nightscout.androidaps.utils.resources +package info.nightscout.implementation.resources -import info.nightscout.androidaps.R +import info.nightscout.implementation.R import info.nightscout.interfaces.Config import info.nightscout.interfaces.ui.IconsProvider import javax.inject.Inject diff --git a/app/src/main/res/drawable/ic_notif_nsclient.xml b/implementation/src/main/res/drawable/ic_notif_nsclient.xml similarity index 100% rename from app/src/main/res/drawable/ic_notif_nsclient.xml rename to implementation/src/main/res/drawable/ic_notif_nsclient.xml diff --git a/app/src/main/res/drawable/ic_notif_pumpcontrol.xml b/implementation/src/main/res/drawable/ic_notif_pumpcontrol.xml similarity index 100% rename from app/src/main/res/drawable/ic_notif_pumpcontrol.xml rename to implementation/src/main/res/drawable/ic_notif_pumpcontrol.xml diff --git a/ui/build.gradle b/ui/build.gradle index 0ae18c9b7e..f7123159ce 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -25,5 +25,5 @@ dependencies { implementation project(':core:core-main') implementation project(':core:fabric') implementation project(':interfaces') - implementation project(path: ':core:ui') + implementation project(':core:ui') } \ No newline at end of file From 6519e8fea63a2fbc3d51d805d37ad92a32da7fc8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 12:55:29 +0100 Subject: [PATCH 118/123] move TabPageAdapter --- app/src/main/java/info/nightscout/androidaps/MainActivity.kt | 2 +- .../src/main/java/info/nightscout/ui}/tabs/TabPageAdapter.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename {app/src/main/java/info/nightscout/androidaps/utils => ui/src/main/java/info/nightscout/ui}/tabs/TabPageAdapter.kt (95%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index f07ef96d0f..b8a165112b 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -41,7 +41,7 @@ import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.androidaps.utils.tabs.TabPageAdapter +import info.nightscout.ui.tabs.TabPageAdapter import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog diff --git a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt b/ui/src/main/java/info/nightscout/ui/tabs/TabPageAdapter.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt rename to ui/src/main/java/info/nightscout/ui/tabs/TabPageAdapter.kt index 404093e3c1..18ffa6a24e 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/tabs/TabPageAdapter.kt +++ b/ui/src/main/java/info/nightscout/ui/tabs/TabPageAdapter.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.tabs +package info.nightscout.ui.tabs import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment From c847b3513859e9acee0294ab6cfd74f40e71b246 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 13:05:37 +0100 Subject: [PATCH 119/123] move PrefImportSummaryDialog --- .../maintenance/ImportExportPrefsImpl.kt | 6 ++-- .../androidaps/setupwizard/SWDefinition.kt | 4 +-- .../main/res/layout/maintenance_fragment.xml | 2 +- app/src/main/res/values-af-rZA/strings.xml | 2 +- app/src/main/res/values-bg-rBG/strings.xml | 2 +- app/src/main/res/values-ca-rES/strings.xml | 2 +- app/src/main/res/values-cs-rCZ/strings.xml | 2 +- app/src/main/res/values-da-rDK/strings.xml | 2 +- app/src/main/res/values-de-rDE/strings.xml | 2 +- app/src/main/res/values-el-rGR/strings.xml | 2 +- app/src/main/res/values-es-rES/strings.xml | 2 +- app/src/main/res/values-fr-rFR/strings.xml | 2 +- app/src/main/res/values-it-rIT/strings.xml | 2 +- app/src/main/res/values-iw-rIL/strings.xml | 2 +- app/src/main/res/values-ko-rKR/strings.xml | 2 +- app/src/main/res/values-lt-rLT/strings.xml | 2 +- app/src/main/res/values-nl-rNL/strings.xml | 2 +- app/src/main/res/values-no-rNO/strings.xml | 2 +- app/src/main/res/values-pl-rPL/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt-rPT/strings.xml | 2 +- app/src/main/res/values-ro-rRO/strings.xml | 2 +- app/src/main/res/values-ru-rRU/strings.xml | 2 +- app/src/main/res/values-sk-rSK/strings.xml | 2 +- app/src/main/res/values-sv-rSE/strings.xml | 2 +- app/src/main/res/values-tr-rTR/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 8 ----- .../alertDialogs/PrefImportSummaryDialog.kt | 6 ++-- .../src/main/res/drawable/ic_header_error.xml | 30 +++++++++---------- .../main/res/drawable/ic_header_import.xml | 30 +++++++++---------- .../src/main/res/drawable/ic_header_log.xml | 30 +++++++++---------- .../layout/dialog_alert_import_summary.xml | 0 .../res/layout/import_summary_details.xml | 0 .../main/res/layout/import_summary_item.xml | 0 ui/src/main/res/values/strings.xml | 10 +++++++ 36 files changed, 88 insertions(+), 86 deletions(-) rename {app/src/main/java/info/nightscout/androidaps/utils => ui/src/main/java/info/nightscout/ui}/alertDialogs/PrefImportSummaryDialog.kt (98%) rename {app => ui}/src/main/res/drawable/ic_header_error.xml (97%) rename {app => ui}/src/main/res/drawable/ic_header_import.xml (97%) rename {app => ui}/src/main/res/drawable/ic_header_log.xml (97%) rename {app => ui}/src/main/res/layout/dialog_alert_import_summary.xml (100%) rename {app => ui}/src/main/res/layout/import_summary_details.xml (100%) rename {app => ui}/src/main/res/layout/import_summary_item.xml (100%) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index d13dec97ee..4733a8a8e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -27,7 +27,7 @@ import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat -import info.nightscout.androidaps.utils.alertDialogs.PrefImportSummaryDialog +import info.nightscout.ui.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.ui.dialogs.OKDialog @@ -199,9 +199,9 @@ class ImportExportPrefsImpl @Inject constructor( } private fun askToConfirmImport(activity: FragmentActivity, fileToImport: PrefsFile, then: ((password: String) -> Unit)) { - if (!assureMasterPasswordSet(activity, R.string.nav_import)) return + if (!assureMasterPasswordSet(activity, R.string.import_setting)) return TwoMessagesAlertDialog.showAlert( - activity, rh.gs(R.string.nav_import), + activity, rh.gs(R.string.import_setting), rh.gs(R.string.import_from) + " " + fileToImport.name + " ?", rh.gs(R.string.password_preferences_decrypt_prompt), { askForMasterPass(activity, R.string.preferences_import_canceled, then) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt index c36496233f..a89e480ac4 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt @@ -193,14 +193,14 @@ class SWDefinition @Inject constructor( .visibility { androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } .validator { !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } - private val screenImport get() = SWScreen(injector, R.string.nav_import) + private val screenImport get() = SWScreen(injector, R.string.import_setting) .add( SWInfoText(injector) .label(R.string.storedsettingsfound) ) .add(SWBreak(injector)) .add(SWButton(injector) - .text(R.string.nav_import) + .text(R.string.import_setting) .action { importExportPrefs.importSharedPreferences(activity) }) .visibility { importExportPrefs.prefsFileExists() && !androidPermission.permissionNotGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) } diff --git a/app/src/main/res/layout/maintenance_fragment.xml b/app/src/main/res/layout/maintenance_fragment.xml index bb9718b4de..e8c6f0cd51 100644 --- a/app/src/main/res/layout/maintenance_fragment.xml +++ b/app/src/main/res/layout/maintenance_fragment.xml @@ -156,7 +156,7 @@ android:drawableTop="@drawable/ic_import_settings" android:paddingStart="0dp" android:paddingEnd="0dp" - android:text="@string/nav_import" + android:text="@string/import_setting" android:textSize="11sp" app:layout_column="1" app:layout_columnWeight="1" diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml index 2ce93013bf..968e7ce1ad 100644 --- a/app/src/main/res/values-af-rZA/strings.xml +++ b/app/src/main/res/values-af-rZA/strings.xml @@ -36,7 +36,7 @@ Instellings ingevoer Lêer nie gevind nie Voer instellings uit na - Voer instellings in + Voer instellings in Eindverbruiker Lisensie Ooreenkoms MOET NIE GEBRUIK WORD OM MEDIESE BESLUITE TE MAAK NIE. DAAR IS GEEN WAARBORG DAT DIE PROGRAM, ONDERWORPE AAN TOEPASSELIKE WETTE EN WETGEWING. TENSY ANDERS GEMELD IN TEKS VOORSIEN DIE KOPIEREG-HOUERS EN / OF ANDER PARTYE DIE PROGRAM \"AS IS\" SONDER ËNIGE WAARBORG VAN ENIGE ORDE, UITDRUKKELIK OF IMPLISIET, INKLUSIEF, MAAR NIE BEPERK TOT DIE IMPLISIETE WAARBORG VAN TOEPAASBAARHEID OF NUT VIR EEN SPESIFIEKE DOEL. DIE TOTALE EN ALLE RISIKOVIR DIE KWALITEIT EN PRESTASIE VAN DIE PROGRAM RUS MET JOUSELF. VIR ENIGE PROGRAM DEFEKTIEWE OF FALINGS MOET JY PERSOONLIK DIE KOSTE EN REGSAANSPREEKLIKHEID DRA VAN ALLE NODIGE AKSIES, DIENS, REPARASIES OF KORREKSIES VIR USELF OF ENIGE DERDE PARTYE EN/OF AKSIES, DIENS, REPARASIES OF KORREKSIES WAT DEUR DIE PROGRAM GEDOEN WAS. EK VERSTAAN en STEM IN diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml index 635e2e0c29..0e6bfe9afc 100644 --- a/app/src/main/res/values-bg-rBG/strings.xml +++ b/app/src/main/res/values-bg-rBG/strings.xml @@ -41,7 +41,7 @@ Настройките са импортирани Файлът не е намерен Експорт настройки - Импорт настройки + Импорт настройки Главна парола, която ще бъде използвана за криптиране на експортирани настройки. Експорт неуспешен! Настройките не са експортирани! Импорт неуспешен! Настройките не са импортирани! diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index f8197d4c38..a5b3d99684 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -40,7 +40,7 @@ Configuració importada Arxiu no trobat Exportar configuració - Importar configuració + Importar configuració Se us demanarà una clau mestra, es farà servir per encriptar la configuració exportada. Exportació cancel·lada! Configuració NO exportada! Importació cancel·lada! Configuració NO importada! diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 11cfba5e32..c0cac39b5b 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -47,7 +47,7 @@ Nastavení importováno Soubor nenalezen Exportovat nastavení - Importovat nastavení + Importovat nastavení Zobrazí se výzva k zadání hlavního hesla, které bude použito k šifrování exportovaných předvoleb. Export zrušen! Předvolby NEBYLY exportovány! Import zrušen! Předvolby NEBYLY importovány! diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index cef62849c5..523cee87b6 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -41,7 +41,7 @@ Indstillinger importeret Filen blev ikke fundet Eksporter indstillinger - Importer indstillinger + Importer indstillinger Du bliver bedt om hovedadgangskode, som vil blive brugt til at kryptere eksporterede præferencer. Eksport annulleret! Indstillinger er IKKE eksporteret! Import er annulleret! Præferencer er IKKE importeret! diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f526b9e490..747386d773 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -41,7 +41,7 @@ Einstellungen importiert Datei nicht gefunden Einstellungen exportieren - Einstellungen importieren + Einstellungen importieren Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die exportierten Einstellungen verschlüsselt. Export abgebrochen! Einstellungen wurden NICHT exportiert! Import abgebrochen! Einstellungen wurden NICHT importiert! diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index 5c8ed80c04..bb7a814581 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -36,7 +36,7 @@ Ρυθμίσεις εισήχθησαν Μη εύρεση φακέλου Εξαγωγή ρυθμίσεων - Εισαγωγή ρυθμίσεων + Εισαγωγή ρυθμίσεων Άδεια χρήσης τελικού χρήστη ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΓΙΑ ΝΑ ΚΑΝΕΤΕ ΙΑΤΡΙΚΗ ΑΠΟΦΑΣΗ. ΔΕΝ ΥΠΑΡΧΕΙ ΕΓΓΥΗΣΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ, ΣΤΟ ΒΑΘΜΟ ΠΟΥ ΕΠΙΤΡΕΠΕΤΑΙ ΑΠΟ ΤΟ ΕΦΑΡΜΟΣΤΕΟ ΔΙΚΑΙΟ. ΕΚΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΔΙΑΒΑΘΜΙΣΜΕΝΗ ΚΑΤΑ ΤΗΝ ΕΓΓΡΑΦΗ ΤΩΝ ΚΑΤΟΧΟΙ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΚΑΙ/Ή ΑΛΛΑ ΜΕΡΗ ΠΑΡΕΧΟΝΤΑΙ ΤΟ ΠΡΟΓΡΑΜΜΑ \"ΩΣ ΕΧΕΙ\" ΧΩΡΙΣ ΕΓΓΥΗΣΗ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΙΔΟΥΣ, ΕΞΑΙΡΟΥΜΕΝΕΣ Ή ΣΙΩΠΗΡΕΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΕΝΔΕΙΚΤΙΚΑ, ΤΩΝ ΣΙΩΠΗΡΩΝ ΕΓΓΥΗΣΕΩΝ ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ΚΑΙ ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Ο ΟΛΟΚΛΗΡΩΜΕΝΟΣ ΚΙΝΔΥΝΟΣ ΟΣΟΝ ΑΦΟΡΑ ΤΗΝ ΠΟΙΟΤΗΤΑ ΚΑΙ ΤΗΝ ΑΠΟΔΟΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΙΝΑΙ ΔΙΚΟ ΣΑΣ. ΕΑΝ ΤΟ ΠΡΟΓΡΑΜΜΑ ΔΕΝ ΕΙΝΑΙ ΕΛΑΤΤΩΜΑΤΙΚΟ, ΠΡΕΠΕΙ ΝΑ ΕΞΕΤΑΣΤΕ ΤΟ ΚΟΣΤΟΣ ΟΛΩΝ ΤΩΝ ΑΠΑΡΑΙΤΗΤΩΝ ΣΥΝΤΗΡΗΣΕΩΝ, ΕΠΙΣΚΕΥΩΝ Ή ΔΙΟΡΘΩΣΕΩΝ. ΚΑΤΑΛΑΒΑ ΚΑΙ ΣΥΜΦΩΝΩ diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index d3bf785a1d..60530689d7 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -47,7 +47,7 @@ Ajustes importados Archivo no encontrado Exportar ajustes - Importar ajustes + Importar ajustes Se le solicitará la contraseña maestra, que se utilizará para cifrar los ajustes exportados ¡Exportación cancelada! ¡Las preferencias NO se han exportado! ¡Importación cancelada! ¡Las preferencias NO se han importado! diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index cf503eee45..f22f5ef6bb 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -47,7 +47,7 @@ Paramètres importés Fichier introuvable Exporter les paramètres - Importer les paramètres + Importer les paramètres Le mot de passe principal vous sera demandé pour crypter les préférences exportées. Export annulé ! Les préférences n\'ont PAS été exportées ! Import annulé ! Les préférences n\'ont PAS été importées ! diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index bf877b00e6..f2e896f798 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -46,7 +46,7 @@ Impostazioni importate File non trovato Esporta impostazioni - Importa impostazioni + Importa impostazioni Ti verrà richiesta la password master, che verrà usata per crittografare le preferenze esportate. Esportazione annullata! Le preferenze NON sono state esportate! Importazione annullata! Le preferenze NON sono state importate! diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 85667881b1..04c52e723f 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -41,7 +41,7 @@ הגדרות מיובאות הקובץ לא נמצא ייצא הגדרות - ייבוא הגדרות + ייבוא הגדרות אתם תתבקשו למלא סיסמה ראשית שתשמש להצפנת ההעדפות המיוצאות. ייצוא בוטל! ההגדרות לא יוצאו! ייבוא בוטל! ההעדפות לא הובאו! diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index f9e57224a0..130bfb260f 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -40,7 +40,7 @@ 설정을 불러왔습니다 파일을 찾을 수 없습니다 설정 저장하기 - 설정 불러오기 + 설정 불러오기 내보낸 preferences 암호화 하기 위해 마스터 비밀번호가 필요합니다. 내보내기 취소됩니다! 환경 설정을 내보내지 않았습니다! 가져오고 취소됩니다! 환경설정을 가져오지 않았습니다. diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml index 04c099dc31..b5fc609d7b 100644 --- a/app/src/main/res/values-lt-rLT/strings.xml +++ b/app/src/main/res/values-lt-rLT/strings.xml @@ -41,7 +41,7 @@ Nustatymai importuoti Failas nerastas Eksportuoti nustatymus - Importuoti nustatymus + Importuoti nustatymus Jūsų paprašys nustatyti slaptažodį, kuris bus naudojamas užšifruojant eksportuojamus nustatymus. Eksportas nutrauktas! Nustatymai NE eksportuoti! Importas nutrauktas! Nustatymai NE importuoti! diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index b8d80024c4..b06f02b5fb 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -47,7 +47,7 @@ Instellingen geïmporteerd Bestand niet gevonden Exporteer instellingen - Importeer instellingen + Importeer instellingen Je wordt gevraagd om een masterwachtwoord. Daarmee worden geëxporteerde instellingen versleuteld. Exporteren geannuleerd! Instellingen zijn NIET geëxporteerd! Importeren geannuleerd! Instellingen zijn NIET geïmporteerd! diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 49b0352322..927ada125c 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -47,7 +47,7 @@ Innstillinger importert Fil ikke funnet Eksporter innstillinger - Importer innstillinger + Importer innstillinger Du må angi et hovedpassord som vil bli brukt til å kryptere dine eksporterte innstillinger. Eksport kansellert! Innstillinger ble IKKE lagret! Innlesing avbrutt! Innstillinger ble IKKE lest inn! diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index a79cf37372..9219686d51 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -41,7 +41,7 @@ Ustawienia zaimportowane Nie znaleziono pliku Eksportuj ustawienia - Importuj ustawienia + Importuj ustawienia Zostaniesz poproszony o hasło główne, które będzie użyte do szyfrowania wyeksportowanych preferencji. Eksportowanie anulowane! Ustawienia NIE zostały wyeksportowane! Import anulowany! Ustawienia NIE zostały zaimportowane! diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 453f5d1305..2301d4d464 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -41,7 +41,7 @@ Configurações importadas Arquivo não encontrado Exportar configurações - Importar configurações + Importar configurações Será perguntado pela senha mestre, que será usada para encriptar preferências exportadas. Exportação cancelada! Preferências NÃO foram exportadas! Importação cancelada! Preferências NÃO foram importadas! diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 190a5cb00f..83214d9b37 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -41,7 +41,7 @@ Definições importadas Ficheiro não encontrado Exportar definições - Importar definições + Importar definições Ser-lhe-á pedida a senha mestra, que será usada para encriptar preferências exportadas. Exportação cancelada! Preferências NÃO foram exportadas! Importação cancelada! Preferências NÃO foram importadas! diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index 4c60dcf15d..c7e8544121 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -41,7 +41,7 @@ Setări importate Nu am găsit fișierul Exportă setările - Importă setările + Importă setările Vi se va solicita parola principală, care va fi utilizată pentru criptare la exportarea setărilor. Exportarea a eșuat! Preferințele NU au fost exportate! Importarea a eșuat! Preferințele NU au fost importate! diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 516b359448..f89dd65a34 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -47,7 +47,7 @@ настройки импортированы файл не найден экспорт настроек - импорт настроек + импорт настроек Будет предложено ввести главный пароль, который будет использоваться для шифрования экспортированных параметров. Экспорт отменен! Настройки НЕ экспортированы! Импорт отменен! Настройки не импортированы! diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml index 17ee574925..8cac41d7a1 100644 --- a/app/src/main/res/values-sk-rSK/strings.xml +++ b/app/src/main/res/values-sk-rSK/strings.xml @@ -47,7 +47,7 @@ Nastavenia importované Súbor nenájdený Exportovať nastavenia - Importovať nastavenia + Importovať nastavenia Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie exportovaných nastavení. Export zrušený! Nastavenia neboli exportované! Import zrušený! Nastavenia neboli importované! diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index e549ce95ac..e9061c643c 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -41,7 +41,7 @@ Inställningar importerade Hittade inte filen Exportera inställningar - Importera inställningar + Importera inställningar Du kommer att bli tillfrågad om huvudlösenordet som sedan kommer att användas för att kryptera exporterade inställningar. Exporten avbröts. Inställningarna har INTE exporterats! Importen avbröts. Inställningarna har inte importerats! diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index d6edbd3e0b..759e2a902c 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -45,7 +45,7 @@ Ayarlar içe aktarıldı Dosya bulunamadı Dışarı aktarma ayarları - İçe aktarma ayarları + İçe aktarma ayarları Dışa aktarılan tercihleri şifrelemek için kullanılacak ana parola sorulacaktır. Aktarım iptal edildi! Tercihler dışa aktarılmadı! Aktarım iptal edildi! Tercihler içe aktarılmadı! diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 43795b5d62..d9307a89aa 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -41,7 +41,7 @@ 配置导入了 找不到文件 导出配置 - 导入配置 + 导入配置 请您输入主密码,该密码将用于加密导出的首选项配置。 导出已取消!首选项未导出! 导入已取消! 未导入首选项 ! diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8ce9c90ff2..3b461a7cbb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -77,7 +77,6 @@ Settings imported File not found Export settings - Import settings Language You will be asked for master password, which will be used to encrypt exported preferences. Export canceled! Preferences were NOT exported! @@ -87,13 +86,6 @@ Old Master Password This file was exported and encrypted with different master password. Provide old master password to decrypt file. As a result of successful import current master password WILL BE REPLACED with that old master password! - Please check preferences before importing: - Preferences cannot be imported! - Preferences should not be imported! - Explain import issues… - Import issues details - Import - Import anyway (DANGEROUS!) End User License Agreement MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. I UNDERSTAND AND AGREE diff --git a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt b/ui/src/main/java/info/nightscout/ui/alertDialogs/PrefImportSummaryDialog.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt rename to ui/src/main/java/info/nightscout/ui/alertDialogs/PrefImportSummaryDialog.kt index 76482f1122..b0a003b169 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/alertDialogs/PrefImportSummaryDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/alertDialogs/PrefImportSummaryDialog.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.alertDialogs +package info.nightscout.ui.alertDialogs import android.annotation.SuppressLint import android.content.Context @@ -17,11 +17,11 @@ import androidx.annotation.StringRes import androidx.annotation.StyleRes import androidx.appcompat.view.ContextThemeWrapper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import info.nightscout.androidaps.R import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.interfaces.maintenance.Prefs import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.shared.extensions.runOnUiThread +import info.nightscout.ui.R import java.util.LinkedList object PrefImportSummaryDialog { @@ -111,7 +111,7 @@ object PrefImportSummaryDialog { val builder = MaterialAlertDialogBuilder(context, theme) .setMessage(context.getString(messageRes)) - .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(R.string.nav_import), headerIcon, theme)) + .setCustomTitle(info.nightscout.core.ui.dialogs.AlertDialogHelper.buildCustomTitle(context, context.getString(R.string.import_setting), headerIcon, theme)) .setView(innerLayout) .setNegativeButton(android.R.string.cancel) { dialog: DialogInterface, _: Int -> dialog.dismiss() diff --git a/app/src/main/res/drawable/ic_header_error.xml b/ui/src/main/res/drawable/ic_header_error.xml similarity index 97% rename from app/src/main/res/drawable/ic_header_error.xml rename to ui/src/main/res/drawable/ic_header_error.xml index 09c29c1558..e62b4f1ac9 100644 --- a/app/src/main/res/drawable/ic_header_error.xml +++ b/ui/src/main/res/drawable/ic_header_error.xml @@ -1,16 +1,16 @@ - - - - + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_header_import.xml b/ui/src/main/res/drawable/ic_header_import.xml similarity index 97% rename from app/src/main/res/drawable/ic_header_import.xml rename to ui/src/main/res/drawable/ic_header_import.xml index e929fad69b..238adb2431 100644 --- a/app/src/main/res/drawable/ic_header_import.xml +++ b/ui/src/main/res/drawable/ic_header_import.xml @@ -1,16 +1,16 @@ - - - - + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_header_log.xml b/ui/src/main/res/drawable/ic_header_log.xml similarity index 97% rename from app/src/main/res/drawable/ic_header_log.xml rename to ui/src/main/res/drawable/ic_header_log.xml index 41d3979612..765c8a1082 100644 --- a/app/src/main/res/drawable/ic_header_log.xml +++ b/ui/src/main/res/drawable/ic_header_log.xml @@ -1,16 +1,16 @@ - - - - + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_alert_import_summary.xml b/ui/src/main/res/layout/dialog_alert_import_summary.xml similarity index 100% rename from app/src/main/res/layout/dialog_alert_import_summary.xml rename to ui/src/main/res/layout/dialog_alert_import_summary.xml diff --git a/app/src/main/res/layout/import_summary_details.xml b/ui/src/main/res/layout/import_summary_details.xml similarity index 100% rename from app/src/main/res/layout/import_summary_details.xml rename to ui/src/main/res/layout/import_summary_details.xml diff --git a/app/src/main/res/layout/import_summary_item.xml b/ui/src/main/res/layout/import_summary_item.xml similarity index 100% rename from app/src/main/res/layout/import_summary_item.xml rename to ui/src/main/res/layout/import_summary_item.xml diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml index b47b511150..83edd9543d 100644 --- a/ui/src/main/res/values/strings.xml +++ b/ui/src/main/res/values/strings.xml @@ -152,4 +152,14 @@ Basal rate + + Explain import issues… + Import issues details + Import + Import anyway (DANGEROUS!) + Import settings + Please check preferences before importing: + Preferences cannot be imported! + Preferences should not be imported! + From 6fa78770482d6b3593eeecea800d3f99948088c2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 13:51:47 +0100 Subject: [PATCH 120/123] merge Config & BuildHelper --- .../nightscout/androidaps/MainActivity.kt | 10 ++--- .../info/nightscout/androidaps/MainApp.kt | 4 +- .../activities/HistoryBrowseActivity.kt | 8 ++-- .../nightscout/androidaps/di/AppModule.kt | 13 ++---- .../configBuilder/ConfigBuilderFragment.kt | 6 +-- .../maintenance/ImportExportPrefsImpl.kt | 8 ++-- .../general/maintenance/MaintenancePlugin.kt | 4 +- .../general/overview/OverviewFragment.kt | 12 +++--- .../plugins/general/overview/OverviewMenus.kt | 6 +-- .../iob/iobCobCalculator/IobCobOref1Worker.kt | 4 +- .../iob/iobCobCalculator/IobCobOrefWorker.kt | 4 +- .../utils/buildHelper/BuildHelperImpl.kt | 35 ---------------- .../utils/buildHelper/ConfigImpl.kt | 28 ++++++++++++- .../interfaces/ConstraintsCheckerTest.kt | 11 ++--- .../maintenance/MaintenancePluginTest.kt | 6 +-- .../plugins/safety/SafetyPluginTest.kt | 6 +-- .../versionChecker/VersionCheckerUtils.kt | 41 +++++++++---------- .../maintenance/PrefFileListProvider.kt | 14 +++---- .../VersionCheckerUtilsKtTest.kt | 11 +++-- .../queue/CommandQueueImplementation.kt | 6 +-- .../queue/CommandQueueImplementationTest.kt | 19 ++++----- .../implementation/queue/QueueThreadTest.kt | 4 +- .../info/nightscout/interfaces/BuildHelper.kt | 9 ---- .../java/info/nightscout/interfaces/Config.kt | 5 +++ .../OpenAPSSMBDynamicISFPlugin.kt | 8 ++-- .../general/autotune/AutotunePlugin.kt | 8 ++-- .../constraints/safety/SafetyPlugin.kt | 6 +-- .../general/actions/ActionsFragment.kt | 4 +- .../nightscout/plugins/source/AidexPlugin.kt | 6 +-- .../plugins/source/RandomBgPlugin.kt | 6 +-- .../plugins/sync/nsShared/NSClientFragment.kt | 6 +-- .../plugins/sync/nsclient/NSClientPlugin.kt | 4 +- .../sync/nsclient/services/NSClientService.kt | 4 +- .../workers/NSClientAddUpdateWorker.kt | 10 ++--- .../sync/nsclientV3/NSClientV3Plugin.kt | 4 +- .../workers/ProcessTreatmentsWorker.kt | 10 ++--- .../dash/ui/OmnipodDashOverviewFragment.kt | 8 ++-- .../eros/ui/ErosPodManagementActivity.kt | 7 ++-- .../ui/activities/TreatmentsActivity.kt | 4 +- .../fragments/TreatmentsBolusCarbsFragment.kt | 6 +-- .../fragments/TreatmentsCareportalFragment.kt | 6 +-- .../TreatmentsProfileSwitchFragment.kt | 6 +-- .../fragments/TreatmentsTempTargetFragment.kt | 6 +-- 43 files changed, 161 insertions(+), 232 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt delete mode 100644 interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index b8a165112b..153c2836de 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -41,14 +41,12 @@ import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.ui.tabs.TabPageAdapter -import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraints @@ -70,6 +68,7 @@ import info.nightscout.shared.sharedPreferences.SP import info.nightscout.ui.activities.ProfileHelperActivity import info.nightscout.ui.activities.StatsActivity import info.nightscout.ui.activities.TreatmentsActivity +import info.nightscout.ui.tabs.TabPageAdapter import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import java.util.Locale @@ -87,14 +86,13 @@ class MainActivity : NoSplashAppCompatActivity() { @Inject lateinit var smsCommunicator: SmsCommunicator @Inject lateinit var loop: Loop @Inject lateinit var nsSettingsStatus: NSSettingsStatus - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var protectionCheck: ProtectionCheck @Inject lateinit var iconsProvider: IconsProvider @Inject lateinit var constraintChecker: Constraints @Inject lateinit var signatureVerifierPlugin: SignatureVerifierPlugin - @Inject lateinit var config: Config @Inject lateinit var uel: UserEntryLogger @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var passwordCheck: PasswordCheck @@ -351,7 +349,7 @@ class MainActivity : NoSplashAppCompatActivity() { var message = "Build: ${BuildConfig.BUILDVERSION}\n" message += "Flavor: ${BuildConfig.FLAVOR}${BuildConfig.BUILD_TYPE}\n" message += "${rh.gs(R.string.configbuilder_nightscoutversion_label)} ${nsSettingsStatus.getVersion()}" - if (buildHelper.isEngineeringMode()) message += "\n${rh.gs(R.string.engineering_mode_enabled)}" + if (config.isEngineeringMode()) message += "\n${rh.gs(R.string.engineering_mode_enabled)}" if (!fabricPrivacy.fabricEnabled()) message += "\n${rh.gs(R.string.fabric_upload_disabled)}" message += rh.gs(R.string.about_link_urls) val messageSpanned = SpannableString(message) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 6be382e4b8..385857e14b 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -32,7 +32,6 @@ import info.nightscout.database.entities.UserEntry import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction import info.nightscout.database.impl.transactions.VersionChangeTransaction -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.LocalAlertUtils @@ -68,7 +67,6 @@ class MainApp : DaggerApplication() { @Inject lateinit var versionCheckersUtils: VersionCheckerUtils @Inject lateinit var sp: SP @Inject lateinit var config: Config - @Inject lateinit var buildHelper: BuildHelper @Inject lateinit var configBuilder: ConfigBuilder @Inject lateinit var plugins: List<@JvmSuppressWildcards PluginBase> @Inject lateinit var compatDBHelper: CompatDBHelper @@ -118,7 +116,7 @@ class MainApp : DaggerApplication() { handler.postDelayed( { // check if identification is set - if (buildHelper.isDev() && sp.getStringOrNull(R.string.key_email_for_crash_report, null).isNullOrBlank()) + if (config.isDev() && sp.getStringOrNull(R.string.key_email_for_crash_report, null).isNullOrBlank()) notificationStore.add(Notification(Notification.IDENTIFICATION_NOT_SET, rh.get().gs(R.string.identification_not_set), Notification.INFO)) // log version disposable += repository.runTransaction(VersionChangeTransaction(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE, gitRemote, commitHash)).subscribe() diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt index 2016486476..f83fd06af6 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCa import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventAutosensCalculationFinished @@ -46,7 +46,7 @@ class HistoryBrowseActivity : NoSplashAppCompatActivity() { @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var defaultValueHelper: DefaultValueHelper @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var overviewMenus: OverviewMenus @Inject lateinit var dateUtil: DateUtil @@ -291,7 +291,7 @@ class HistoryBrowseActivity : NoSplashAppCompatActivity() { val menuChartSettings = overviewMenus.setting graphData.addInRangeArea(historyBrowserData.overviewData.fromTime, historyBrowserData.overviewData.endTime, defaultValueHelper.determineLowLine(), defaultValueHelper.determineHighLine()) graphData.addBgReadings(menuChartSettings[0][OverviewMenus.CharType.PRE.ordinal], context) - if (buildHelper.isDev()) graphData.addBucketedData() + if (config.isDev()) graphData.addBucketedData() graphData.addTreatments(context) graphData.addEps(context, 0.95) if (menuChartSettings[0][OverviewMenus.CharType.TREAT.ordinal]) @@ -340,7 +340,7 @@ class HistoryBrowseActivity : NoSplashAppCompatActivity() { if (menuChartSettings[g + 1][OverviewMenus.CharType.DEV.ordinal]) secondGraphData.addDeviations(useDevForScale, 1.0) if (menuChartSettings[g + 1][OverviewMenus.CharType.BGI.ordinal]) secondGraphData.addMinusBGI(useBGIForScale, if (alignDevBgiScale) 1.0 else 0.8) if (menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal]) secondGraphData.addRatio(useRatioForScale, if (useRatioForScale) 1.0 else 0.8) - if (menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] && buildHelper.isDev()) secondGraphData.addDeviationSlope(useDSForScale, 1.0) + if (menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] && config.isDev()) secondGraphData.addDeviationSlope(useDSForScale, 1.0) // set manual x bounds to have nice steps secondGraphData.formatAxis(historyBrowserData.overviewData.fromTime, historyBrowserData.overviewData.endTime) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 33ce75461c..fce987886e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -15,11 +15,8 @@ import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl -import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl -import info.nightscout.implementation.resources.IconsProviderImplementation import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.AndroidPermissionImpl @@ -32,12 +29,12 @@ import info.nightscout.implementation.androidNotification.NotificationHolderImpl import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.implementation.pump.PumpSyncImplementation import info.nightscout.implementation.queue.CommandQueueImplementation +import info.nightscout.implementation.resources.IconsProviderImplementation import info.nightscout.implementation.stats.DexcomTirCalculatorImpl import info.nightscout.implementation.stats.TddCalculatorImpl import info.nightscout.implementation.stats.TirCalculatorImpl import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder @@ -85,7 +82,7 @@ open class AppModule { @Provides fun providesPlugins( - config: Config, buildHelper: BuildHelper, + config: Config, @PluginsListModule.AllConfigs allConfigs: Map<@JvmSuppressWildcards Int, @JvmSuppressWildcards PluginBase>, @PluginsListModule.PumpDriver pumpDrivers: Lazy>, @PluginsListModule.NotNSClient notNsClient: Lazy>, @@ -97,7 +94,7 @@ open class AppModule { if (config.PUMPDRIVERS) plugins += pumpDrivers.get() if (config.APS) plugins += aps.get() if (!config.NSCLIENT) plugins += notNsClient.get() - if (buildHelper.isUnfinishedMode()) plugins += unfinished.get() + if (config.isUnfinishedMode()) plugins += unfinished.get() return plugins.toList().sortedBy { it.first }.map { it.second } } @@ -105,10 +102,6 @@ open class AppModule { @Singleton fun provideStorage(): Storage = FileStorage() - @Provides - @Singleton - fun provideBuildHelper(config: Config, fileListProvider: PrefFileListProvider): BuildHelper = BuildHelperImpl(config, fileListProvider) - @Provides @Singleton fun provideProfileFunction( diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index 4e51e619be..ed988c862e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -23,7 +23,6 @@ import info.nightscout.androidaps.plugins.configBuilder.events.EventConfigBuilde import info.nightscout.androidaps.utils.protection.ProtectionCheck import info.nightscout.androidaps.utils.protection.ProtectionCheck.Protection.PREFERENCES import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase @@ -47,7 +46,6 @@ class ConfigBuilderFragment : DaggerFragment() { @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var protectionCheck: ProtectionCheck @Inject lateinit var config: Config - @Inject lateinit var buildHelper: BuildHelper @Inject lateinit var ctx: Context private var disposable: CompositeDisposable = CompositeDisposable() @@ -101,13 +99,13 @@ class ConfigBuilderFragment : DaggerFragment() { private fun updateGUI() { binding.categories.removeAllViews() createViewsForPlugins(R.string.configbuilder_profile, R.string.configbuilder_profile_description, PluginType.PROFILE, activePlugin.getSpecificPluginsVisibleInList(PluginType.PROFILE)) - if (config.APS || config.PUMPCONTROL || buildHelper.isEngineeringMode()) + if (config.APS || config.PUMPCONTROL || config.isEngineeringMode()) createViewsForPlugins(R.string.configbuilder_insulin, R.string.configbuilder_insulin_description, PluginType.INSULIN, activePlugin.getSpecificPluginsVisibleInList(PluginType.INSULIN)) if (!config.NSCLIENT) { createViewsForPlugins(R.string.configbuilder_bgsource, R.string.configbuilder_bgsource_description, PluginType.BGSOURCE, activePlugin.getSpecificPluginsVisibleInList(PluginType.BGSOURCE)) createViewsForPlugins(R.string.configbuilder_pump, R.string.configbuilder_pump_description, PluginType.PUMP, activePlugin.getSpecificPluginsVisibleInList(PluginType.PUMP)) } - if (config.APS || config.PUMPCONTROL || buildHelper.isEngineeringMode()) + if (config.APS || config.PUMPCONTROL || config.isEngineeringMode()) createViewsForPlugins(R.string.configbuilder_sensitivity, R.string.configbuilder_sensitivity_description, PluginType.SENSITIVITY, activePlugin.getSpecificPluginsVisibleInList(PluginType.SENSITIVITY)) if (config.APS) { createViewsForPlugins(R.string.configbuilder_aps, R.string.configbuilder_aps_description, PluginType.APS, activePlugin.getSpecificPluginsVisibleInList(PluginType.APS)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt index 4733a8a8e8..751195432d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefsImpl.kt @@ -27,7 +27,6 @@ import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.diaconn.events.EventDiaconnG8PumpLogReset import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat -import info.nightscout.ui.alertDialogs.PrefImportSummaryDialog import info.nightscout.androidaps.utils.protection.PasswordCheck import info.nightscout.androidaps.utils.userEntry.UserEntryPresentationHelper import info.nightscout.core.ui.dialogs.OKDialog @@ -38,7 +37,6 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.maintenance.PrefFileNotFoundError @@ -59,6 +57,7 @@ import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T +import info.nightscout.ui.alertDialogs.PrefImportSummaryDialog import java.io.File import java.io.FileNotFoundException import java.io.IOException @@ -75,10 +74,9 @@ class ImportExportPrefsImpl @Inject constructor( private var log: AAPSLogger, private val rh: ResourceHelper, private val sp: SP, - private val buildHelper: BuildHelper, + private val config: Config, private val rxBus: RxBus, private val passwordCheck: PasswordCheck, - private val config: Config, private val androidPermission: AndroidPermission, private val encryptedPrefsFormat: EncryptedPrefsFormat, private val prefFileList: PrefFileListProvider, @@ -313,7 +311,7 @@ class ImportExportPrefsImpl @Inject constructor( promptForDecryptionPasswordIfNeeded(activity, prefsAttempted, importOkAttempted, format, importFile) { prefs, importOk -> // if at end we allow to import preferences - val importPossible = (importOk || buildHelper.isEngineeringMode()) && (prefs.values.isNotEmpty()) + val importPossible = (importOk || config.isEngineeringMode()) && (prefs.values.isNotEmpty()) PrefImportSummaryDialog.showSummary(activity, importOk, importPossible, prefs, { if (importPossible) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt index 3d1658ce6e..ed15820b72 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.kt @@ -7,7 +7,6 @@ import androidx.core.content.FileProvider import dagger.android.HasAndroidInjector import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.interfaces.plugin.PluginBase @@ -37,7 +36,6 @@ class MaintenancePlugin @Inject constructor( private val sp: SP, private val nsSettingsStatus: NSSettingsStatus, aapsLogger: AAPSLogger, - private val buildHelper: BuildHelper, private val config: Config, private val fileListProvider: PrefFileListProvider, private val loggerUtils: LoggerUtils @@ -192,7 +190,7 @@ class MaintenancePlugin @Inject constructor( builder.append("Remote: " + BuildConfig.REMOTE + System.lineSeparator()) builder.append("Flavor: " + BuildConfig.FLAVOR + BuildConfig.BUILD_TYPE + System.lineSeparator()) builder.append(rh.gs(R.string.configbuilder_nightscoutversion_label) + " " + nsSettingsStatus.getVersion() + System.lineSeparator()) - if (buildHelper.isEngineeringMode()) builder.append(rh.gs(R.string.engineering_mode_enabled)) + if (config.isEngineeringMode()) builder.append(rh.gs(R.string.engineering_mode_enabled)) return sendMail(attachmentUri, recipient, subject, builder.toString()) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt index b099cdc5f8..75cef4f6b0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.kt @@ -34,7 +34,6 @@ import info.nightscout.androidaps.events.EventNewBG import info.nightscout.androidaps.extensions.directionToIcon import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger -import info.nightscout.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewCalcProgress import info.nightscout.androidaps.plugins.general.overview.events.EventUpdateOverviewGraph @@ -60,7 +59,6 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.GlucoseUnit @@ -76,6 +74,7 @@ import info.nightscout.interfaces.pump.defs.PumpType import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.utils.JsonHelper import info.nightscout.interfaces.utils.TrendCalculator +import info.nightscout.plugins.aps.loop.events.EventNewOpenLoopNotification import info.nightscout.plugins.constraints.bgQualityCheck.BgQualityCheckPlugin import info.nightscout.plugins.databinding.OverviewFragmentBinding import info.nightscout.plugins.general.overview.notifications.NotificationStore @@ -142,13 +141,12 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList @Inject lateinit var xdripPlugin: XdripPlugin @Inject lateinit var notificationStore: NotificationStore @Inject lateinit var quickWizard: QuickWizard - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var protectionCheck: ProtectionCheck @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var overviewMenus: OverviewMenus @Inject lateinit var skinProvider: SkinProvider @Inject lateinit var trendCalculator: TrendCalculator - @Inject lateinit var config: Config @Inject lateinit var dateUtil: DateUtil @Inject lateinit var uel: UserEntryLogger @Inject lateinit var repository: AppRepository @@ -939,7 +937,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList private fun updateIobCob() { val iobText = overviewData.iobText(iobCobCalculator) val iobDialogText = overviewData.iobDialogText(iobCobCalculator) - val displayText = overviewData.cobInfo(iobCobCalculator).displayText(rh, dateUtil, buildHelper.isEngineeringMode()) + val displayText = overviewData.cobInfo(iobCobCalculator).displayText(rh, dateUtil, config.isEngineeringMode()) val lastCarbsTime = overviewData.lastCarbsTime runOnUiThread { _binding ?: return@runOnUiThread @@ -1023,7 +1021,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList if (menuChartSettings.isEmpty()) return graphData.addInRangeArea(overviewData.fromTime, overviewData.endTime, defaultValueHelper.determineLowLine(), defaultValueHelper.determineHighLine()) graphData.addBgReadings(menuChartSettings[0][OverviewMenus.CharType.PRE.ordinal], context) - if (buildHelper.isDev()) graphData.addBucketedData() + if (config.isDev()) graphData.addBucketedData() graphData.addTreatments(context) graphData.addEps(context, 0.95) if (menuChartSettings[0][OverviewMenus.CharType.TREAT.ordinal]) @@ -1072,7 +1070,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList if (menuChartSettings[g + 1][OverviewMenus.CharType.DEV.ordinal]) secondGraphData.addDeviations(useDevForScale, 1.0) if (menuChartSettings[g + 1][OverviewMenus.CharType.BGI.ordinal]) secondGraphData.addMinusBGI(useBGIForScale, if (alignDevBgiScale) 1.0 else 0.8) if (menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal]) secondGraphData.addRatio(useRatioForScale, if (useRatioForScale) 1.0 else 0.8) - if (menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] && buildHelper.isDev()) secondGraphData.addDeviationSlope( + if (menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] && config.isDev()) secondGraphData.addDeviationSlope( useDSForScale, if (useDSForScale) 1.0 else 0.8, useRatioForScale diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt index 3c8a1dd4f9..5460528f3a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewMenus.kt @@ -13,7 +13,6 @@ import androidx.appcompat.widget.PopupMenu import com.google.gson.Gson import info.nightscout.androidaps.R import info.nightscout.core.fabric.FabricPrivacy -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop import info.nightscout.rx.bus.RxBus @@ -31,9 +30,8 @@ class OverviewMenus @Inject constructor( private val rh: ResourceHelper, private val sp: SP, private val rxBus: RxBus, - private val buildHelper: BuildHelper, - private val loop: Loop, private val config: Config, + private val loop: Loop, private val fabricPrivacy: FabricPrivacy ) { @@ -127,7 +125,7 @@ class OverviewMenus @Inject constructor( if (g > 0 && !m.secondary) return@forEach var insert = true if (m == CharType.PRE) insert = predictionsAvailable - if (m == CharType.DEVSLOPE) insert = buildHelper.isDev() + if (m == CharType.DEVSLOPE) insert = config.isDev() if (used.contains(m.ordinal)) insert = false for (g2 in g + 1 until numOfGraphs) { if (settingsCopy[g2][m.ordinal]) insert = false diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt index 774519b59c..a5b1fe6280 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Worker.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.aps.SMBDefaults @@ -59,7 +59,7 @@ class IobCobOref1Worker( @Inject lateinit var sensitivityAAPSPlugin: SensitivityAAPSPlugin @Inject lateinit var sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var profiler: Profiler @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var dateUtil: DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt index 668f17b77d..381ed41b5e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOrefWorker.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.utils.DecimalFormatter import info.nightscout.androidaps.workflow.CalculationWorkflow import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.aps.AutosensData import info.nightscout.interfaces.aps.SMBDefaults @@ -55,7 +55,7 @@ class IobCobOrefWorker @Inject internal constructor( @Inject lateinit var sensitivityAAPSPlugin: SensitivityAAPSPlugin @Inject lateinit var sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var profiler: Profiler @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var dateUtil: DateUtil diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt deleted file mode 100644 index 1b70ac23d4..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/BuildHelperImpl.kt +++ /dev/null @@ -1,35 +0,0 @@ -package info.nightscout.androidaps.utils.buildHelper - -import info.nightscout.androidaps.BuildConfig -import info.nightscout.interfaces.BuildHelper -import info.nightscout.interfaces.Config -import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider -import java.io.File - -class BuildHelperImpl constructor( - private val config: Config, - fileListProvider: PrefFileListProvider -) : BuildHelper { - - private var devBranch = false - private var engineeringMode = false - private var unfinishedMode = false - - init { - val engineeringModeSemaphore = File(fileListProvider.ensureExtraDirExists(), "engineering_mode") - val unfinishedModeSemaphore = File(fileListProvider.ensureExtraDirExists(), "unfinished_mode") - - engineeringMode = engineeringModeSemaphore.exists() && engineeringModeSemaphore.isFile - unfinishedMode = unfinishedModeSemaphore.exists() && unfinishedModeSemaphore.isFile - devBranch = BuildConfig.VERSION.contains("-") || BuildConfig.VERSION.matches(Regex(".*[a-zA-Z]+.*")) - } - - override fun isEngineeringModeOrRelease(): Boolean = - if (!config.APS) true else engineeringMode || !devBranch - - override fun isEngineeringMode(): Boolean = engineeringMode - - override fun isUnfinishedMode(): Boolean = unfinishedMode - - override fun isDev(): Boolean = devBranch -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt index 4ab1ce5632..7f55d53a51 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt @@ -3,12 +3,16 @@ package info.nightscout.androidaps.utils.buildHelper import android.os.Build import info.nightscout.androidaps.BuildConfig import info.nightscout.androidaps.R +import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.interfaces.Config +import java.io.File import javax.inject.Inject import javax.inject.Singleton @Singleton -class ConfigImpl @Inject constructor() : Config { +class ConfigImpl @Inject constructor( + fileListProvider: PrefFileListProvider +) : Config { override val SUPPORTEDNSVERSION = 140206 // 14.2.6 override val APS = BuildConfig.FLAVOR == "full" @@ -23,4 +27,26 @@ class ConfigImpl @Inject constructor() : Config { override val currentDeviceModelString = Build.MANUFACTURER + " " + Build.MODEL + " (" + Build.DEVICE + ")" override val appName: Int = R.string.app_name + + private var devBranch = false + private var engineeringMode = false + private var unfinishedMode = false + + init { + val engineeringModeSemaphore = File(fileListProvider.ensureExtraDirExists(), "engineering_mode") + val unfinishedModeSemaphore = File(fileListProvider.ensureExtraDirExists(), "unfinished_mode") + + engineeringMode = engineeringModeSemaphore.exists() && engineeringModeSemaphore.isFile + unfinishedMode = unfinishedModeSemaphore.exists() && unfinishedModeSemaphore.isFile + devBranch = BuildConfig.VERSION.contains("-") || BuildConfig.VERSION.matches(Regex(".*[a-zA-Z]+.*")) + } + + override fun isEngineeringModeOrRelease(): Boolean = + if (!APS) true else engineeringMode || !devBranch + + override fun isEngineeringMode(): Boolean = engineeringMode + + override fun isUnfinishedMode(): Boolean = unfinishedMode + + override fun isDev(): Boolean = devBranch } \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index f05d4007e8..97163013e1 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -17,11 +17,9 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin -import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin -import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl +import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.constraints.Objectives @@ -58,14 +56,12 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { @Mock lateinit var detailedBolusInfoStorage: DetailedBolusInfoStorage @Mock lateinit var temporaryBasalStorage: TemporaryBasalStorage @Mock lateinit var glimpPlugin: GlimpPlugin - @Mock lateinit var sensitivityOref1Plugin: SensitivityOref1Plugin @Mock lateinit var profiler: Profiler @Mock lateinit var fileListProvider: PrefFileListProvider @Mock lateinit var repository: AppRepository @Mock lateinit var pumpSync: PumpSync @Mock lateinit var insightDatabaseDao: InsightDatabaseDao @Mock lateinit var ruffyScripter: RuffyScripter - @Mock lateinit var buildHelper: BuildHelper private lateinit var hardLimits: HardLimits private lateinit var danaPump: DanaPump @@ -193,7 +189,7 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { dateUtil, repository, glucoseStatusProvider, - buildHelper + config ) openAPSAMAPlugin = info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin( @@ -224,9 +220,8 @@ class ConstraintsCheckerTest : TestBaseWithProfile() { constraintChecker, activePlugin, hardLimits, - BuildHelperImpl(config, fileListProvider), + ConfigImpl(fileListProvider), iobCobCalculator, - config, dateUtil ) val constraintsPluginsList = ArrayList() diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt index 25b1de3e71..1cb99a8312 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePluginTest.kt @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.content.Context import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.plugins.sync.nsclient.data.NSSettingsStatus @@ -23,16 +22,15 @@ class MaintenancePluginTest : TestBase() { @Mock lateinit var rh: ResourceHelper @Mock lateinit var sp: SP @Mock lateinit var nsSettingsStatus: NSSettingsStatus - @Mock lateinit var buildHelper: BuildHelper + @Mock lateinit var config: Config @Mock lateinit var loggerUtils: LoggerUtils @Mock lateinit var fileListProvider: PrefFileListProvider - @Mock lateinit var config: Config private lateinit var sut: MaintenancePlugin @Before fun mock() { - sut = MaintenancePlugin(injector, context, rh, sp, nsSettingsStatus, aapsLogger, buildHelper, config, fileListProvider, loggerUtils) + sut = MaintenancePlugin(injector, context, rh, sp, nsSettingsStatus, aapsLogger, config, fileListProvider, loggerUtils) `when`(loggerUtils.suffix).thenReturn(".log.zip") `when`(loggerUtils.logDirectory).thenReturn("src/test/res/logger") `when`(fileListProvider.ensureTempDirExists()).thenReturn(File("src/test/res/logger")) diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt index 5c403dfb70..0f69d8f663 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/plugins/safety/SafetyPluginTest.kt @@ -6,7 +6,6 @@ import info.nightscout.androidaps.HardLimitsMock import info.nightscout.androidaps.TestBaseWithProfile import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Constants import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -33,7 +32,6 @@ class SafetyPluginTest : TestBaseWithProfile() { @Mock lateinit var sp: SP @Mock lateinit var constraintChecker: Constraints @Mock lateinit var activePlugin: ActivePlugin - @Mock lateinit var buildHelper: BuildHelper @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var glimpPlugin: GlimpPlugin @Mock lateinit var profiler: Profiler @@ -75,7 +73,7 @@ class SafetyPluginTest : TestBaseWithProfile() { `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) `when`(config.APS).thenReturn(true) hardLimits = HardLimitsMock(sp, rh) - safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, activePlugin, hardLimits, buildHelper, iobCobCalculator, config, dateUtil) + safetyPlugin = SafetyPlugin(injector, aapsLogger, rh, sp, rxBus, constraintChecker, activePlugin, hardLimits, config, iobCobCalculator, dateUtil) openAPSAMAPlugin = OpenAPSAMAPlugin( injector, aapsLogger, rxBus, constraintChecker, rh, profileFunction, context, activePlugin, iobCobCalculator, hardLimits, profiler, fabricPrivacy, dateUtil, repository, glucoseStatusProvider, sp @@ -98,7 +96,7 @@ class SafetyPluginTest : TestBaseWithProfile() { @Test fun disabledEngineeringModeShouldLimitClosedLoop() { `when`(sp.getString(R.string.key_aps_mode, "open")).thenReturn("closed") - `when`(buildHelper.isEngineeringModeOrRelease()).thenReturn(false) + `when`(config.isEngineeringModeOrRelease()).thenReturn(false) var c = Constraint(true) c = safetyPlugin.isClosedLoopAllowed(c) Assert.assertTrue(c.getReasons(aapsLogger).contains("Running dev version. Closed loop is disabled.")) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt index 1c7980e542..fb7c471eeb 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/constraints/versionChecker/VersionCheckerUtils.kt @@ -1,19 +1,20 @@ package info.nightscout.androidaps.plugins.constraints.versionChecker import android.os.Build +import dagger.Lazy +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.core.main.R import info.nightscout.interfaces.Config -import info.nightscout.shared.interfaces.ResourceHelper -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification -import info.nightscout.interfaces.notifications.Notification -import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.interfaces.constraints.versionChecker.AllowedVersions -import info.nightscout.shared.utils.DateUtil -import info.nightscout.shared.utils.T +import info.nightscout.interfaces.notifications.Notification import info.nightscout.rx.bus.RxBus 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 info.nightscout.shared.utils.T import java.io.IOException import java.net.URL import java.util.concurrent.TimeUnit @@ -26,7 +27,7 @@ class VersionCheckerUtils @Inject constructor( private val sp: SP, private val rh: ResourceHelper, private val rxBus: RxBus, - private val config: Config, + private val config: Lazy, private val receiverStatusStore: ReceiverStatusStore, private val dateUtil: DateUtil ) { @@ -52,17 +53,17 @@ class VersionCheckerUtils @Inject constructor( try { val definition: String = URL("https://raw.githubusercontent.com/nightscout/AndroidAPS/versions/definition.json").readText() val version: String? = AllowedVersions().findByApi(definition, Build.VERSION.SDK_INT)?.optString("supported") - compareWithCurrentVersion(version, config.VERSION_NAME) + compareWithCurrentVersion(version, config.get().VERSION_NAME) // App expiration - var endDate = sp.getLong(rh.gs(R.string.key_app_expiration) + "_" + config.VERSION_NAME, 0) - AllowedVersions().findByVersion(definition, config.VERSION_NAME)?.let { expirationJson -> + var endDate = sp.getLong(rh.gs(R.string.key_app_expiration) + "_" + config.get().VERSION_NAME, 0) + AllowedVersions().findByVersion(definition, config.get().VERSION_NAME)?.let { expirationJson -> AllowedVersions().endDateToMilliseconds(expirationJson.getString("endDate"))?.let { ed -> endDate = ed + T.days(1).msecs() - sp.putLong(rh.gs(R.string.key_app_expiration) + "_" + config.VERSION_NAME, endDate) + sp.putLong(rh.gs(R.string.key_app_expiration) + "_" + config.get().VERSION_NAME, endDate) } } - if (endDate != 0L) onExpireDateDetected(config.VERSION_NAME, dateUtil.dateString(endDate)) + if (endDate != 0L) onExpireDateDetected(config.get().VERSION_NAME, dateUtil.dateString(endDate)) } catch (e: IOException) { aapsLogger.error(LTag.CORE, "Github master version check error: $e") @@ -77,12 +78,12 @@ class VersionCheckerUtils @Inject constructor( val newVersionElements = newVersion.toNumberList() val currentVersionElements = currentVersion.toNumberList() - if (newVersionElements == null || newVersionElements.isEmpty()) { + if (newVersionElements.isNullOrEmpty()) { onVersionNotDetectable() return } - if (currentVersionElements == null || currentVersionElements.isEmpty()) { + if (currentVersionElements.isNullOrEmpty()) { // current version scrambled?! onNewVersionDetected(currentVersion, newVersion) return @@ -94,9 +95,9 @@ class VersionCheckerUtils @Inject constructor( (newElem - currElem).let { when { - it > 0 -> return onNewVersionDetected(currentVersion, newVersion) - it < 0 -> return onOlderVersionDetected() - it == 0 -> Unit + it > 0 -> return onNewVersionDetected(currentVersion, newVersion) + it < 0 -> return onOlderVersionDetected() + else -> Unit } } } @@ -147,8 +148,7 @@ class VersionCheckerUtils @Inject constructor( fun findVersion(file: String?): String? { val regex = "(.*)version(.*)\"(((\\d+)\\.)+(\\d+))\"(.*)".toRegex() - return file?.lines()?.filter { regex.matches(it) } - ?.mapNotNull { regex.matchEntire(it)?.groupValues?.getOrNull(3) }?.firstOrNull() + return file?.lines()?.filter { regex.matches(it) }?.firstNotNullOfOrNull { regex.matchEntire(it)?.groupValues?.getOrNull(3) } } companion object { @@ -164,6 +164,5 @@ fun String.numericVersionPart(): String = @Suppress("unused") fun findVersion(file: String?): String? { val regex = "(.*)version(.*)\"(((\\d+)\\.)+(\\d+))\"(.*)".toRegex() - return file?.lines()?.filter { regex.matches(it) } - ?.mapNotNull { regex.matchEntire(it)?.groupValues?.getOrNull(3) }?.firstOrNull() + return file?.lines()?.filter { regex.matches(it) }?.firstNotNullOfOrNull { regex.matchEntire(it)?.groupValues?.getOrNull(3) } } diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt index bd85f8f809..0693614551 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/PrefFileListProvider.kt @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.general.maintenance import android.content.Context import android.os.Environment +import dagger.Lazy import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.general.maintenance.formats.EncryptedPrefsFormat @@ -30,13 +31,12 @@ import kotlin.math.abs @Singleton class PrefFileListProvider @Inject constructor( private val rh: ResourceHelper, - private val config: Config, + private val config: Lazy, private val encryptedPrefsFormat: EncryptedPrefsFormat, private val storage: Storage, private val versionCheckerUtils: VersionCheckerUtils, context: Context ) { - @Suppress("DEPRECATION") private val path = File(Environment.getExternalStorageDirectory().toString()) private val aapsPath = File(path, "AAPS" + File.separator + "preferences") private val exportsPath = File(path, "AAPS" + File.separator + "exports") @@ -120,7 +120,7 @@ class PrefFileListProvider @Inject constructor( fun newExportFile(): File { val timeLocal = LocalDateTime.now().toString(DateTimeFormat.forPattern("yyyy-MM-dd'_'HHmmss")) - return File(aapsPath, timeLocal + "_" + config.FLAVOR + ".json") + return File(aapsPath, timeLocal + "_" + config.get().FLAVOR + ".json") } fun newExportCsvFile(): File { @@ -134,14 +134,14 @@ class PrefFileListProvider @Inject constructor( meta[PrefsMetadataKey.AAPS_FLAVOUR]?.let { flavour -> val flavourOfPrefs = flavour.value - if (flavour.value != config.FLAVOR) { + if (flavour.value != config.get().FLAVOR) { flavour.status = PrefsStatus.WARN - flavour.info = rh.gs(R.string.metadata_warning_different_flavour, flavourOfPrefs, config.FLAVOR) + flavour.info = rh.gs(R.string.metadata_warning_different_flavour, flavourOfPrefs, config.get().FLAVOR) } } meta[PrefsMetadataKey.DEVICE_MODEL]?.let { model -> - if (model.value != config.currentDeviceModelString) { + if (model.value != config.get().currentDeviceModelString) { model.status = PrefsStatus.WARN model.info = rh.gs(R.string.metadata_warning_different_device) } @@ -165,7 +165,7 @@ class PrefFileListProvider @Inject constructor( } meta[PrefsMetadataKey.AAPS_VERSION]?.let { version -> - val currentAppVer = versionCheckerUtils.versionDigits(config.VERSION_NAME) + val currentAppVer = versionCheckerUtils.versionDigits(config.get().VERSION_NAME) val metadataVer = versionCheckerUtils.versionDigits(version.value) if ((currentAppVer.size >= 2) && (metadataVer.size >= 2) && (abs(currentAppVer[1] - metadataVer[1]) > 1)) { diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt index e2a794e98d..47756950b2 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/plugins/contraints/versionChecker/VersionCheckerUtilsKtTest.kt @@ -1,15 +1,15 @@ package info.nightscout.androidaps.plugins.contraints.versionChecker -import android.content.Context +import dagger.Lazy import info.nightscout.androidaps.TestBase -import info.nightscout.interfaces.Config -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils import info.nightscout.androidaps.plugins.constraints.versionChecker.numericVersionPart import info.nightscout.androidaps.receivers.ReceiverStatusStore -import info.nightscout.shared.utils.DateUtil +import info.nightscout.interfaces.Config import info.nightscout.rx.bus.RxBus +import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.sharedPreferences.SP +import info.nightscout.shared.utils.DateUtil import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertEquals import org.junit.Before @@ -27,9 +27,8 @@ import org.mockito.Mockito.`when` @Mock lateinit var sp: SP @Mock lateinit var rh: ResourceHelper - @Mock lateinit var context: Context @Mock lateinit var receiverStatusStore: ReceiverStatusStore - @Mock lateinit var config: Config + @Mock lateinit var config: Lazy @Mock lateinit var dateUtil: DateUtil @Mock lateinit var rxBus: RxBus diff --git a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt index 940c47cd66..60c162209d 100644 --- a/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt +++ b/implementation/src/main/java/info/nightscout/implementation/queue/CommandQueueImplementation.kt @@ -41,7 +41,6 @@ import info.nightscout.implementation.queue.commands.CommandStopPump import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.implementation.queue.commands.CommandTempBasalPercent import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -89,11 +88,10 @@ class CommandQueueImplementation @Inject constructor( private val activePlugin: ActivePlugin, private val context: Context, private val sp: SP, - private val buildHelper: BuildHelper, + private val config: Config, private val dateUtil: DateUtil, private val repository: AppRepository, private val fabricPrivacy: FabricPrivacy, - private val config: Config, private val androidPermission: AndroidPermission, private val activityNames: ActivityNames ) : CommandQueue { @@ -233,7 +231,7 @@ class CommandQueueImplementation @Inject constructor( val tempCommandQueue = CommandQueueImplementation( injector, aapsLogger, rxBus, aapsSchedulers, rh, constraintChecker, profileFunction, activePlugin, context, sp, - buildHelper, dateUtil, repository, fabricPrivacy, config, androidPermission, activityNames + config, dateUtil, repository, fabricPrivacy, androidPermission, activityNames ) tempCommandQueue.readStatus(reason, callback) tempCommandQueue.disposable.clear() diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt index 3d856f602d..02f8d42b3e 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/CommandQueueImplementationTest.kt @@ -18,7 +18,6 @@ import info.nightscout.implementation.queue.commands.CommandExtendedBolus import info.nightscout.implementation.queue.commands.CommandLoadHistory import info.nightscout.implementation.queue.commands.CommandTempBasalPercent import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -56,7 +55,6 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { @Mock lateinit var powerManager: PowerManager @Mock lateinit var repository: AppRepository @Mock lateinit var activityNames: ActivityNames - @Mock lateinit var buildHelper: BuildHelper @Mock lateinit var androidPermission: AndroidPermission class CommandQueueMocked( @@ -70,16 +68,16 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { activePlugin: ActivePlugin, context: Context, sp: SP, - buildHelper: BuildHelper, + config: Config, dateUtil: DateUtil, repository: AppRepository, fabricPrivacy: FabricPrivacy, - config: Config, androidPermission: AndroidPermission, activityNames: ActivityNames ) : CommandQueueImplementation( injector, aapsLogger, rxBus, aapsSchedulers, rh, constraintChecker, profileFunction, - activePlugin, context, sp, buildHelper, dateUtil, repository, fabricPrivacy, config, androidPermission, activityNames + activePlugin, context, sp, config, dateUtil, repository, fabricPrivacy, + androidPermission, activityNames ) { override fun notifyAboutNewCommand() : Boolean = true @@ -122,9 +120,8 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { commandQueue = CommandQueueMocked( injector, aapsLogger, rxBus, aapsSchedulers, rh, constraintChecker, profileFunction, activePlugin, context, sp, - buildHelper, dateUtil, - repository, - fabricPrivacy, config, androidPermission, activityNames + config, dateUtil, repository, + fabricPrivacy, androidPermission, activityNames ) testPumpPlugin = TestPumpPlugin(injector) @@ -151,7 +148,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { `when`(constraintChecker.applyBasalConstraints(anyObject(), anyObject())).thenReturn(rateConstraint) val percentageConstraint = Constraint(0) `when`(constraintChecker.applyBasalPercentConstraints(anyObject(), anyObject())).thenReturn(percentageConstraint) - val thenReturn = `when`(rh.gs(R.string.connectiontimedout)).thenReturn("Connection timed out") + `when`(rh.gs(R.string.connectiontimedout)).thenReturn("Connection timed out") `when`(rh.gs(R.string.formatinsulinunits)).thenReturn("%1\$.2f U") `when`(rh.gs(R.string.goingtodeliver)).thenReturn("Going to deliver %1\$.2f U") } @@ -161,9 +158,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() { val commandQueue = CommandQueueImplementation( injector, aapsLogger, rxBus, aapsSchedulers, rh, constraintChecker, profileFunction, activePlugin, context, sp, - buildHelper, - dateUtil, repository, - fabricPrivacy, config, androidPermission, activityNames + config, dateUtil, repository, fabricPrivacy, androidPermission, activityNames ) val handler = mock(Handler::class.java) `when`(handler.post(anyObject())).thenAnswer { invocation: InvocationOnMock -> diff --git a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt index dd7e5f831d..120c5614da 100644 --- a/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt +++ b/implementation/src/test/java/info/nightscout/implementation/queue/QueueThreadTest.kt @@ -10,7 +10,6 @@ import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.R import info.nightscout.implementation.queue.commands.CommandTempBasalAbsolute import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.plugin.ActivePlugin @@ -33,7 +32,6 @@ class QueueThreadTest : TestBaseWithProfile() { @Mock lateinit var sp: SP @Mock lateinit var powerManager: PowerManager @Mock lateinit var repository: AppRepository - @Mock lateinit var buildHelper: BuildHelper @Mock lateinit var androidPermission: AndroidPermission @Mock lateinit var activityNames: ActivityNames @@ -60,7 +58,7 @@ class QueueThreadTest : TestBaseWithProfile() { commandQueue = CommandQueueImplementation( injector, aapsLogger, rxBus, aapsSchedulers, rh, constraintChecker, profileFunction, activePlugin, context, sp, - buildHelper, dateUtil, repository, fabricPrivacy, config, androidPermission, activityNames + config, dateUtil, repository, fabricPrivacy, androidPermission, activityNames ) val pumpDescription = PumpDescription() diff --git a/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt b/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt deleted file mode 100644 index c2d5e03eba..0000000000 --- a/interfaces/src/main/java/info/nightscout/interfaces/BuildHelper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package info.nightscout.interfaces - -interface BuildHelper { - - fun isEngineeringModeOrRelease(): Boolean - fun isEngineeringMode(): Boolean - fun isUnfinishedMode(): Boolean - fun isDev(): Boolean -} \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt index 7a22934afc..9792306a0b 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/Config.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/Config.kt @@ -13,4 +13,9 @@ interface Config { val DEBUG: Boolean val currentDeviceModelString : String val appName: Int + + fun isEngineeringModeOrRelease(): Boolean + fun isEngineeringMode(): Boolean + fun isUnfinishedMode(): Boolean + fun isDev(): Boolean } \ No newline at end of file diff --git a/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt index 2477d539cd..89b03eaa91 100644 --- a/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/aps/openAPSSMBDynamicISF/OpenAPSSMBDynamicISFPlugin.kt @@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.annotations.OpenForTesting import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.DetermineBasalAdapter import info.nightscout.interfaces.constraints.Constraints import info.nightscout.interfaces.iob.IobCobCalculator @@ -42,7 +42,7 @@ class OpenAPSSMBDynamicISFPlugin @Inject constructor( dateUtil: DateUtil, repository: AppRepository, glucoseStatusProvider: GlucoseStatusProvider, - private val buildHelper: BuildHelper + private val config: Config ) : OpenAPSSMBPlugin( injector, aapsLogger, @@ -68,10 +68,10 @@ class OpenAPSSMBDynamicISFPlugin @Inject constructor( .shortName(R.string.dynisf_shortname) .preferencesId(R.xml.pref_openapssmbdynamicisf) .setDefault(false) - .showInList(buildHelper.isEngineeringMode() && buildHelper.isDev()) + .showInList(config.isEngineeringMode() && config.isDev()) } - override fun specialEnableCondition(): Boolean = buildHelper.isEngineeringMode() && buildHelper.isDev() + override fun specialEnableCondition(): Boolean = config.isEngineeringMode() && config.isDev() override fun provideDetermineBasalAdapter(): DetermineBasalAdapter = DetermineBasalAdapterSMBDynamicISFJS(ScriptReader(context), injector) } \ No newline at end of file diff --git a/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt index 63b3f01c68..e0ffedac0d 100644 --- a/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt +++ b/plugins/aps/src/main/java/info/nightscout/plugins/general/autotune/AutotunePlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.profile.ProfileStoreObject import info.nightscout.database.entities.UserEntry import info.nightscout.database.entities.ValueWithUnit -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.plugin.ActivePlugin @@ -58,7 +58,7 @@ class AutotunePlugin @Inject constructor( private val autotuneIob: AutotuneIob, private val autotunePrep: AutotunePrep, private val autotuneCore: AutotuneCore, - private val buildHelper: BuildHelper, + private val config: Config, private val uel: UserEntryLogger, aapsLogger: AAPSLogger ) : PluginBase( @@ -69,7 +69,7 @@ class AutotunePlugin @Inject constructor( .pluginName(R.string.autotune) .shortName(R.string.autotune_shortname) .preferencesId(R.xml.pref_autotune) - .showInList(buildHelper.isEngineeringMode() && buildHelper.isDev()) + .showInList(config.isEngineeringMode() && config.isDev()) .description(R.string.autotune_description), aapsLogger, resourceHelper, injector ), Autotune { @@ -406,7 +406,7 @@ class AutotunePlugin @Inject constructor( atLog("[Plugin] $message") } - override fun specialEnableCondition(): Boolean = buildHelper.isEngineeringMode() && buildHelper.isDev() + override fun specialEnableCondition(): Boolean = config.isEngineeringMode() && config.isDev() override fun atLog(message: String) { autotuneFS.atLog(message) diff --git a/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt index 982a0574bf..778a1c8e42 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/constraints/safety/SafetyPlugin.kt @@ -9,7 +9,6 @@ import info.nightscout.androidaps.extensions.storeInt import info.nightscout.androidaps.extensions.storeString import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification import info.nightscout.androidaps.utils.DecimalFormatter -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.constraints.Constraint import info.nightscout.interfaces.constraints.Constraints @@ -44,9 +43,8 @@ class SafetyPlugin @Inject constructor( private val constraintChecker: Constraints, private val activePlugin: ActivePlugin, private val hardLimits: HardLimits, - private val buildHelper: BuildHelper, - private val iobCobCalculator: IobCobCalculator, private val config: Config, + private val iobCobCalculator: IobCobCalculator, private val dateUtil: DateUtil ) : PluginBase( PluginDescription() @@ -70,7 +68,7 @@ class SafetyPlugin @Inject constructor( override fun isClosedLoopAllowed(value: Constraint): Constraint { val mode = sp.getString(R.string.key_aps_mode, "open") if (mode == "open") value.set(aapsLogger, false, rh.gs(R.string.closedmodedisabledinpreferences), this) - if (!buildHelper.isEngineeringModeOrRelease()) { + if (!config.isEngineeringModeOrRelease()) { if (value.value()) { val n = Notification(Notification.TOAST_ALARM, rh.gs(R.string.closed_loop_disabled_on_dev_branch), Notification.NORMAL) rxBus.send(EventNewNotification(n)) diff --git a/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt index b1b93d98a8..27b54b4036 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/general/actions/ActionsFragment.kt @@ -22,7 +22,6 @@ import info.nightscout.database.entities.UserEntry.Action import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.iob.IobCobCalculator @@ -67,10 +66,9 @@ class ActionsFragment : DaggerFragment() { @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var iobCobCalculator: IobCobCalculator @Inject lateinit var commandQueue: CommandQueue - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var protectionCheck: ProtectionCheck @Inject lateinit var skinProvider: SkinProvider - @Inject lateinit var config: Config @Inject lateinit var uel: UserEntryLogger @Inject lateinit var repository: AppRepository @Inject lateinit var loop: Loop diff --git a/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt index aa4de3d77a..62fcab5714 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/source/AidexPlugin.kt @@ -6,16 +6,15 @@ import androidx.work.WorkerParameters import androidx.work.workDataOf import dagger.android.HasAndroidInjector import info.nightscout.androidaps.receivers.DataWorkerStorage -import info.nightscout.interfaces.receivers.Intents import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase 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.plugins.R import info.nightscout.rx.logging.AAPSLogger @@ -29,7 +28,6 @@ class AidexPlugin @Inject constructor( injector: HasAndroidInjector, rh: ResourceHelper, aapsLogger: AAPSLogger, - private val buildHelper: BuildHelper, private val config: Config ) : PluginBase( PluginDescription() @@ -55,7 +53,7 @@ class AidexPlugin @Inject constructor( // Allow only for pumpcontrol or dev & engineering_mode override fun specialEnableCondition(): Boolean { - return config.APS.not() || buildHelper.isDev() && buildHelper.isEngineeringMode() + return config.APS.not() || config.isDev() && config.isEngineeringMode() } // cannot be inner class because of needed injection diff --git a/plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt index cb73e0ffb3..31d2ad6e6d 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/source/RandomBgPlugin.kt @@ -8,7 +8,7 @@ import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.database.entities.GlucoseValue import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.CgmSourceTransaction -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription @@ -39,7 +39,7 @@ class RandomBgPlugin @Inject constructor( private val repository: AppRepository, private val xDripBroadcast: XDripBroadcast, private val virtualPumpPlugin: VirtualPumpPlugin, - private val buildHelper: BuildHelper + private val config: Config ) : PluginBase( PluginDescription() .mainType(PluginType.BGSOURCE) @@ -95,7 +95,7 @@ class RandomBgPlugin @Inject constructor( } override fun specialEnableCondition(): Boolean { - return isRunningTest() || buildHelper.isUnfinishedMode() || virtualPumpPlugin.isEnabled() && buildHelper.isEngineeringMode() + return isRunningTest() || config.isUnfinishedMode() || virtualPumpPlugin.isEnabled() && config.isEngineeringMode() } private fun handleNewData() { diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt index fc5235cb3c..5715153b6d 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsShared/NSClientFragment.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.database.entities.UserEntry -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginFragment @@ -48,7 +48,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { @Inject lateinit var uel: UserEntryLogger @Inject lateinit var aapsLogger: AAPSLogger @Inject lateinit var activePlugin: ActivePlugin - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config companion object { @@ -97,7 +97,7 @@ class NSClientFragment : DaggerFragment(), MenuProvider, PluginFragment { } override fun onCreateMenu(menu: Menu, inflater: MenuInflater) { - if (buildHelper.isUnfinishedMode()) + if (config.isUnfinishedMode()) menu.add(Menu.FIRST, ID_MENU_TEST, 0, "Test").setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_CLEAR_LOG, 0, rh.gs(R.string.clear_log)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) menu.add(Menu.FIRST, ID_MENU_RESTART, 0, rh.gs(R.string.restart)).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt index aee8370e90..62009d5e8c 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/NSClientPlugin.kt @@ -15,7 +15,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.toast.showToastAdNotification import info.nightscout.core.ui.toast.ToastUtils -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase @@ -62,7 +61,6 @@ class NSClientPlugin @Inject constructor( private val sp: SP, private val nsClientReceiverDelegate: NsClientReceiverDelegate, private val config: Config, - private val buildHelper: BuildHelper, private val dataSyncSelector: DataSyncSelector ) : NsClient, Sync, PluginBase( PluginDescription() @@ -145,7 +143,7 @@ class NSClientPlugin @Inject constructor( preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_errors))?.isVisible = false preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_carbs_req))?.isVisible = false } - preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = buildHelper.isEngineeringMode() + preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = config.isEngineeringMode() } override val hasWritePermission: Boolean get() = nsClientService?.hasWriteAuth ?: false diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt index 07aabe1167..944ce8c951 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/services/NSClientService.kt @@ -21,7 +21,6 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotifi import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.sync.DataSyncSelector @@ -87,7 +86,6 @@ class NSClientService : DaggerService(), NsClient.NSClientService { @Inject lateinit var sp: SP @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var nsClientPlugin: NSClientPlugin - @Inject lateinit var buildHelper: BuildHelper @Inject lateinit var config: Config @Inject lateinit var dateUtil: DateUtil @Inject lateinit var dataWorkerStorage: DataWorkerStorage @@ -253,7 +251,7 @@ class NSClientService : DaggerService(), NsClient.NSClientService { } else if (!nsEnabled) { rxBus.send(EventNSClientNewLog("NSCLIENT", "disabled", NsClient.Version.V1)) rxBus.send(EventNSClientStatus("Disabled", NsClient.Version.V1)) - } else if (nsURL != "" && (buildHelper.isEngineeringMode() || nsURL.lowercase(Locale.getDefault()).startsWith("https://"))) { + } else if (nsURL != "" && (config.isEngineeringMode() || nsURL.lowercase(Locale.getDefault()).startsWith("https://"))) { try { rxBus.send(EventNSClientStatus("Connecting ...", NsClient.Version.V1)) val opt = IO.Options() diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt index e7790ec8fa..dde49b1766 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclient/workers/NSClientAddUpdateWorker.kt @@ -10,7 +10,6 @@ import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.entities.TherapyEvent import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.plugin.ActivePlugin @@ -42,10 +41,9 @@ class NSClientAddUpdateWorker( @Inject lateinit var dataWorkerStorage: DataWorkerStorage @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var sp: SP @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var config: Config @Inject lateinit var repository: AppRepository @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var rxBus: RxBus @@ -140,14 +138,14 @@ class NSClientAddUpdateWorker( } eventType == TherapyEvent.Type.COMBO_BOLUS.text -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { + if (config.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { extendedBolusFromJson(json)?.let { extendedBolus -> storeDataForDb.extendedBoluses.add(extendedBolus) } ?: aapsLogger.error("Error parsing ExtendedBolus json $json") } eventType == TherapyEvent.Type.TEMPORARY_BASAL.text -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { + if (config.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) { temporaryBasalFromJson(json)?.let { temporaryBasal -> storeDataForDb.temporaryBasals.add(temporaryBasal) } ?: aapsLogger.error("Error parsing TemporaryBasal json $json") @@ -161,7 +159,7 @@ class NSClientAddUpdateWorker( } eventType == TherapyEvent.Type.APS_OFFLINE.text -> - if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && buildHelper.isEngineeringMode() || config.NSCLIENT) { + if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && config.isEngineeringMode() || config.NSCLIENT) { offlineEventFromJson(json)?.let { offlineEvent -> storeDataForDb.offlineEvents.add(offlineEvent) } ?: aapsLogger.error("Error parsing OfflineEvent json $json") diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt index 5270cb1242..4f152b7994 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/NSClientV3Plugin.kt @@ -15,7 +15,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.toast.showToastAdNotification import info.nightscout.core.ui.toast.ToastUtils -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.plugin.PluginBase @@ -72,7 +71,6 @@ class NSClientV3Plugin @Inject constructor( private val sp: SP, private val nsClientReceiverDelegate: NsClientReceiverDelegate, private val config: Config, - private val buildHelper: BuildHelper, private val dateUtil: DateUtil ) : NsClient, Sync, PluginBase( PluginDescription() @@ -198,7 +196,7 @@ class NSClientV3Plugin @Inject constructor( preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_errors))?.isVisible = false preferenceFragment.findPreference(rh.gs(R.string.key_ns_create_announcements_from_carbs_req))?.isVisible = false } - preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = buildHelper.isEngineeringMode() + preferenceFragment.findPreference(rh.gs(R.string.key_ns_receive_tbr_eb))?.isVisible = config.isEngineeringMode() } override val hasWritePermission: Boolean get() = nsClientService?.hasWriteAuth ?: false diff --git a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt index 087304294b..0be0795064 100644 --- a/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/sync/nsclientV3/workers/ProcessTreatmentsWorker.kt @@ -8,7 +8,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.receivers.DataWorkerStorage import info.nightscout.database.impl.AppRepository -import info.nightscout.interfaces.BuildHelper import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.XDripBroadcast @@ -50,10 +49,9 @@ class ProcessTreatmentsWorker( @Inject lateinit var dataWorkerStorage: DataWorkerStorage @Inject lateinit var aapsLogger: AAPSLogger - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var sp: SP @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var config: Config @Inject lateinit var repository: AppRepository @Inject lateinit var activePlugin: ActivePlugin @Inject lateinit var rxBus: RxBus @@ -104,7 +102,7 @@ class ProcessTreatmentsWorker( } is NSTemporaryBasal -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) + if (config.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) storeDataForDb.temporaryBasals.add(treatment.toTemporaryBasal()) is NSEffectiveProfileSwitch -> @@ -133,13 +131,13 @@ class ProcessTreatmentsWorker( } is NSOfflineEvent -> - if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && buildHelper.isEngineeringMode() || config.NSCLIENT) + if (sp.getBoolean(R.string.key_ns_receive_offline_event, false) && config.isEngineeringMode() || config.NSCLIENT) treatment.toOfflineEvent().let { offlineEvent -> storeDataForDb.offlineEvents.add(offlineEvent) } is NSExtendedBolus -> - if (buildHelper.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) + if (config.isEngineeringMode() && sp.getBoolean(R.string.key_ns_receive_tbr_eb, false) || config.NSCLIENT) treatment.toExtendedBolus().let { extendedBolus -> storeDataForDb.extendedBoluses.add(extendedBolus) } diff --git a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt index fa124c339b..f8c4cb9d48 100644 --- a/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt +++ b/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/ui/OmnipodDashOverviewFragment.kt @@ -26,10 +26,10 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definitio import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.PodConstants import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager import info.nightscout.androidaps.utils.protection.ProtectionCheck -import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy +import info.nightscout.core.ui.UIRunnable import info.nightscout.core.ui.dialogs.OKDialog -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.Constants import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.queue.Callback @@ -67,7 +67,7 @@ class OmnipodDashOverviewFragment : DaggerFragment() { @Inject lateinit var dateUtil: DateUtil @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var activityNames: ActivityNames - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config companion object { @@ -175,7 +175,7 @@ class OmnipodDashOverviewFragment : DaggerFragment() { .messageOnSuccess(rh.gs(R.string.omnipod_common_confirmation_time_on_pod_updated)) ) } - if (buildHelper.isEngineeringMode()) { + if (config.isEngineeringMode()) { bluetoothStatusBinding.deliveryStatus.visibility = View.VISIBLE bluetoothStatusBinding.connectionQuality.visibility = View.VISIBLE } diff --git a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt index 69629474f8..9e7d8e46d6 100644 --- a/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt +++ b/pump/omnipod-eros/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/eros/ui/ErosPodManagementActivity.kt @@ -24,10 +24,9 @@ import info.nightscout.androidaps.plugins.pump.omnipod.eros.manager.AapsOmnipodE import info.nightscout.androidaps.plugins.pump.omnipod.eros.queue.command.CommandReadPulseLog import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.activation.ErosPodActivationWizardActivity import info.nightscout.androidaps.plugins.pump.omnipod.eros.ui.wizard.deactivation.ErosPodDeactivationWizardActivity -import info.nightscout.core.ui.UIRunnable import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.queue.Callback import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.ui.ActivityNames @@ -53,7 +52,7 @@ class ErosPodManagementActivity : NoSplashAppCompatActivity() { @Inject lateinit var omnipodErosPumpPlugin: OmnipodErosPumpPlugin @Inject lateinit var serviceTaskExecutor: ServiceTaskExecutor @Inject lateinit var aapsSchedulers: AapsSchedulers - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var activityNames: ActivityNames private var disposables: CompositeDisposable = CompositeDisposable() @@ -172,7 +171,7 @@ class ErosPodManagementActivity : NoSplashAppCompatActivity() { // Otherwise, users should use the Deactivate Pod Wizard. In case proper deactivation fails, // they will get an option to discard the Pod state there // Milos Kozak: allow to show button by activating engineering mode - val discardButtonEnabled = podStateManager.hasPodState() && (!podStateManager.isPodInitialized || buildHelper.isEngineeringMode()) + val discardButtonEnabled = podStateManager.hasPodState() && (!podStateManager.isPodInitialized || config.isEngineeringMode()) binding.buttonDiscardPod.visibility = discardButtonEnabled.toVisibility() val pulseLogButtonEnabled = aapsOmnipodManager.isPulseLogButtonEnabled diff --git a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt index 08b90185fb..0b61f6b47a 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TreatmentsActivity.kt @@ -6,7 +6,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import com.google.android.material.tabs.TabLayout import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.shared.extensions.toVisibility import info.nightscout.ui.R @@ -22,7 +22,7 @@ import javax.inject.Inject class TreatmentsActivity : NoSplashAppCompatActivity() { - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var activePlugin: ActivePlugin private lateinit var binding: TreatmentsFragmentBinding diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt index a66a3b1f0f..1a4f6c9127 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsBolusCarbsFragment.kt @@ -34,7 +34,7 @@ import info.nightscout.database.impl.transactions.CutCarbsTransaction import info.nightscout.database.impl.transactions.InvalidateBolusCalculatorResultTransaction import info.nightscout.database.impl.transactions.InvalidateBolusTransaction import info.nightscout.database.impl.transactions.InvalidateCarbsTransaction -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers @@ -68,7 +68,7 @@ class TreatmentsBolusCarbsFragment : DaggerFragment(), MenuProvider { @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var profileFunction: ProfileFunction @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var uel: UserEntryLogger @Inject lateinit var repository: AppRepository @@ -306,7 +306,7 @@ class TreatmentsBolusCarbsFragment : DaggerFragment(), MenuProvider { this.menu = menu inflater.inflate(R.menu.menu_treatments_carbs_bolus, menu) updateMenuVisibility() - val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_insulin, false) || !sp.getBoolean(R.string.key_ns_receive_carbs, false) || !buildHelper.isEngineeringMode() + val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_insulin, false) || !sp.getBoolean(R.string.key_ns_receive_carbs, false) || !config.isEngineeringMode() menu.findItem(R.id.nav_refresh_ns)?.isVisible = !nsUploadOnly val hasItems = (binding.recyclerview.adapter?.itemCount ?: 0) > 0 menu.findItem(R.id.nav_delete_future)?.isVisible = hasItems diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt index fbbe9d37cc..f3fb666d93 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsCareportalFragment.kt @@ -27,7 +27,7 @@ import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateAAPSStartedTherapyEventTransaction import info.nightscout.database.impl.transactions.InvalidateTherapyEventTransaction -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventNSClientRestart @@ -59,7 +59,7 @@ class TreatmentsCareportalFragment : DaggerFragment(), MenuProvider { @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var translator: Translator @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var repository: AppRepository @Inject lateinit var uel: UserEntryLogger @@ -200,7 +200,7 @@ class TreatmentsCareportalFragment : DaggerFragment(), MenuProvider { this.menu = menu inflater.inflate(R.menu.menu_treatments_careportal, menu) updateMenuVisibility() - val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || !buildHelper.isEngineeringMode() + val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_therapy_events, false) || !config.isEngineeringMode() menu.findItem(R.id.nav_refresh_ns)?.isVisible = !nsUploadOnly } diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt index f793bac2c2..ed930c3e6d 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsProfileSwitchFragment.kt @@ -30,7 +30,7 @@ import info.nightscout.database.entities.UserEntry.Sources import info.nightscout.database.entities.ValueWithUnit import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.transactions.InvalidateProfileSwitchTransaction -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers @@ -65,7 +65,7 @@ class TreatmentsProfileSwitchFragment : DaggerFragment(), MenuProvider { @Inject lateinit var rh: ResourceHelper @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var repository: AppRepository @Inject lateinit var uel: UserEntryLogger @@ -284,7 +284,7 @@ class TreatmentsProfileSwitchFragment : DaggerFragment(), MenuProvider { this.menu = menu inflater.inflate(R.menu.menu_treatments_profile_switch, menu) updateMenuVisibility() - val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || !buildHelper.isEngineeringMode() + val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_profile_switch, false) || !config.isEngineeringMode() menu.findItem(R.id.nav_refresh_ns)?.isVisible = !nsUploadOnly } diff --git a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt index 954f371678..2e5c63e876 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/fragments/TreatmentsTempTargetFragment.kt @@ -34,7 +34,7 @@ import info.nightscout.database.entities.interfaces.end import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.ValueWrapper import info.nightscout.database.impl.transactions.InvalidateTemporaryTargetTransaction -import info.nightscout.interfaces.BuildHelper +import info.nightscout.interfaces.Config import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -69,7 +69,7 @@ class TreatmentsTempTargetFragment : DaggerFragment(), MenuProvider { @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var translator: Translator @Inject lateinit var dateUtil: DateUtil - @Inject lateinit var buildHelper: BuildHelper + @Inject lateinit var config: Config @Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var uel: UserEntryLogger @Inject lateinit var repository: AppRepository @@ -219,7 +219,7 @@ class TreatmentsTempTargetFragment : DaggerFragment(), MenuProvider { this.menu = menu inflater.inflate(R.menu.menu_treatments_temp_target, menu) updateMenuVisibility() - val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_temp_target, false) || !buildHelper.isEngineeringMode() + val nsUploadOnly = !sp.getBoolean(R.string.key_ns_receive_temp_target, false) || !config.isEngineeringMode() menu.findItem(R.id.nav_refresh_ns)?.isVisible = !nsUploadOnly } From 0158ac17dd1ce3c207b2498f520d3fc6fb98a47b Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 13:58:59 +0100 Subject: [PATCH 121/123] DataBroadcastPlugin -> plugins --- .../java/info/nightscout/androidaps/di/AppModule.kt | 2 +- .../nightscout/androidaps/di/PluginsListModule.kt | 2 +- .../buildHelper => implementations}/ConfigImpl.kt | 2 +- app/src/main/res/values/strings.xml | 1 - .../androidaps/interfaces/ConstraintsCheckerTest.kt | 2 +- .../general/dataBroadcaster/DataBroadcastPlugin.kt | 11 ++++++----- plugins/main/src/main/res/values/strings.xml | 3 +++ 7 files changed, 13 insertions(+), 10 deletions(-) rename app/src/main/java/info/nightscout/androidaps/{utils/buildHelper => implementations}/ConfigImpl.kt (97%) rename {app/src/main/java/info/nightscout/androidaps => plugins/main/src/main/java/info/nightscout}/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt (97%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index fce987886e..7ae0d9387c 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -16,7 +16,7 @@ import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.buildHelper.ConfigImpl +import info.nightscout.androidaps.implementations.ConfigImpl import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.AndroidPermissionImpl diff --git a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt index 7535b9ed3d..c04ee1c049 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/PluginsListModule.kt @@ -12,7 +12,7 @@ import info.nightscout.androidaps.diaconn.DiaconnG8Plugin import info.nightscout.androidaps.plugin.general.openhumans.OpenHumansUploaderPlugin import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.general.dataBroadcaster.DataBroadcastPlugin +import info.nightscout.plugins.general.dataBroadcaster.DataBroadcastPlugin import info.nightscout.androidaps.plugins.general.maintenance.MaintenancePlugin import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin import info.nightscout.androidaps.plugins.general.persistentNotification.PersistentNotificationPlugin diff --git a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt b/app/src/main/java/info/nightscout/androidaps/implementations/ConfigImpl.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt rename to app/src/main/java/info/nightscout/androidaps/implementations/ConfigImpl.kt index 7f55d53a51..aee3b56fde 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/buildHelper/ConfigImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/implementations/ConfigImpl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.buildHelper +package info.nightscout.androidaps.implementations import android.os.Build import info.nightscout.androidaps.BuildConfig diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3b461a7cbb..b5f9eb2608 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -300,7 +300,6 @@ Clear queue? All data in queue will be lost! wear_detailed_delta Chart menu - Data Broadcaster Predictions Treatments Deviation slope diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt index 97163013e1..8265235390 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.plugins.pump.combo.ruffyscripter.RuffyScripter import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage import info.nightscout.androidaps.plugins.pump.common.bolusInfo.TemporaryBasalStorage import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin -import info.nightscout.androidaps.utils.buildHelper.ConfigImpl +import info.nightscout.androidaps.implementations.ConfigImpl import info.nightscout.database.impl.AppRepository import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.interfaces.constraints.Constraint diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt b/plugins/main/src/main/java/info/nightscout/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt similarity index 97% rename from app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt rename to plugins/main/src/main/java/info/nightscout/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt index 78d0a6785e..85cf911c5f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt +++ b/plugins/main/src/main/java/info/nightscout/plugins/general/dataBroadcaster/DataBroadcastPlugin.kt @@ -1,15 +1,13 @@ -package info.nightscout.androidaps.plugins.general.dataBroadcaster +package info.nightscout.plugins.general.dataBroadcaster import android.content.Context import android.content.Intent import android.content.pm.ResolveInfo import android.os.Bundle import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.durationInMinutes import info.nightscout.androidaps.extensions.toStringFull import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.interfaces.receivers.Intents import info.nightscout.androidaps.receivers.ReceiverStatusStore import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.core.fabric.FabricPrivacy @@ -22,6 +20,9 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginDescription import info.nightscout.interfaces.plugin.PluginType import info.nightscout.interfaces.profile.ProfileFunction +import info.nightscout.interfaces.receivers.Intents +import info.nightscout.plugins.R +import info.nightscout.plugins.aps.loop.events.EventLoopUpdateGui import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.bus.RxBus @@ -60,7 +61,7 @@ class DataBroadcastPlugin @Inject constructor( ) : PluginBase( PluginDescription() .mainType(PluginType.GENERAL) - .pluginName(R.string.databroadcaster) + .pluginName(R.string.data_broadcaster) .alwaysEnabled(true) .neverVisible(true) .showInList(false), @@ -71,7 +72,7 @@ class DataBroadcastPlugin @Inject constructor( override fun onStart() { super.onStart() disposable += rxBus - .toObservable(info.nightscout.plugins.aps.events.EventOpenAPSUpdateGui::class.java) + .toObservable(EventLoopUpdateGui::class.java) .observeOn(aapsSchedulers.io) .subscribe({ sendData(it) }, fabricPrivacy::logException) disposable += rxBus diff --git a/plugins/main/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml index aa0dc72cff..07c143fca5 100644 --- a/plugins/main/src/main/res/values/strings.xml +++ b/plugins/main/src/main/res/values/strings.xml @@ -594,4 +594,7 @@ Minimal request change [%] Open Loop will popup new change request only if change is bigger than this value in %. Default value is 20% + + Data Broadcaster + \ No newline at end of file From 0d960c2b4465fc30aefd9501634c6cec92a95420 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 14:05:22 +0100 Subject: [PATCH 122/123] CompatDbHelper -> implementations --- app/src/main/java/info/nightscout/androidaps/MainApp.kt | 2 +- .../java/info/nightscout/implementation}/db/CompatDBHelper.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename {app/src/main/java/info/nightscout/androidaps => implementation/src/main/java/info/nightscout/implementation}/db/CompatDBHelper.kt (99%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index 385857e14b..55c66bb9dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -15,7 +15,7 @@ import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import dagger.android.AndroidInjector import dagger.android.DaggerApplication -import info.nightscout.androidaps.db.CompatDBHelper +import info.nightscout.implementation.db.CompatDBHelper import info.nightscout.androidaps.di.DaggerAppComponent import info.nightscout.androidaps.logging.UserEntryLogger import info.nightscout.androidaps.plugins.configBuilder.PluginStore diff --git a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt b/implementation/src/main/java/info/nightscout/implementation/db/CompatDBHelper.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt rename to implementation/src/main/java/info/nightscout/implementation/db/CompatDBHelper.kt index ae715ad866..63c63fd70c 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/CompatDBHelper.kt +++ b/implementation/src/main/java/info/nightscout/implementation/db/CompatDBHelper.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.db +package info.nightscout.implementation.db import android.content.Context import info.nightscout.database.impl.AppRepository From 7725812e4a7277f9287c4921c51b575b92421dc9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 16:48:45 +0100 Subject: [PATCH 123/123] move SetupWizard --- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 7 - .../nightscout/androidaps/MainActivity.kt | 2 +- .../androidaps/di/ActivitiesModule.kt | 2 - .../nightscout/androidaps/di/AppComponent.kt | 7 +- .../implementations/ActivityNamesImpl.kt | 2 + .../configBuilder/ConfigBuilderPlugin.kt | 2 +- .../plugins/configBuilder/PluginStore.kt | 2 +- app/src/main/res/drawable/ic_exit_to_app.xml | 12 -- app/src/main/res/values/arrays.xml | 9 - app/src/main/res/values/strings.xml | 62 ------- core/core-main/src/main/res/values/arrays.xml | 29 +++ .../core-main/src/main/res/values/strings.xml | 16 ++ crowdin.yml | 2 + .../src/main/res/values/strings.xml | 7 +- .../nightscout/interfaces/ConfigBuilder.kt | 6 + .../interfaces/plugin/ActivePlugin.kt | 5 + .../nightscout/interfaces/ui/ActivityNames.kt | 1 + plugins/configuration/.gitignore | 1 + plugins/configuration/build.gradle | 27 +++ plugins/configuration/consumer-rules.pro | 0 plugins/configuration/proguard-rules.pro | 21 +++ .../src/main/AndroidManifest.xml | 14 ++ .../configuration/di/ConfigurationModule.kt | 10 ++ .../configuration/di/SetupWizardModule.kt | 41 +++-- .../setupwizard/SWDefinition.kt | 169 ++++++++++-------- .../setupwizard/SWEventListener.kt | 4 +- .../setupwizard/SWIntNumberValidator.java | 2 +- .../setupwizard/SWNumberValidator.java | 2 +- .../configuration}/setupwizard/SWScreen.kt | 5 +- .../setupwizard/SWTextValidator.java | 2 +- .../setupwizard/SWValidator.java | 2 +- .../setupwizard/SetupWizardActivity.kt | 13 +- .../setupwizard/elements/SWBreak.kt | 4 +- .../setupwizard/elements/SWButton.kt | 4 +- .../elements/SWEditEncryptedPassword.kt | 11 +- .../setupwizard/elements/SWEditIntNumber.kt | 7 +- .../setupwizard/elements/SWEditNumber.kt | 7 +- .../elements/SWEditNumberWithUnits.kt | 7 +- .../setupwizard/elements/SWEditString.kt | 4 +- .../setupwizard/elements/SWEditUrl.kt | 6 +- .../setupwizard/elements/SWFragment.kt | 4 +- .../setupwizard/elements/SWHtmlLink.kt | 4 +- .../setupwizard/elements/SWInfoText.kt | 4 +- .../setupwizard/elements/SWItem.kt | 2 +- .../setupwizard/elements/SWPlugin.kt | 40 +++-- .../setupwizard/elements/SWPreference.kt | 14 +- .../setupwizard/elements/SWRadioButton.kt | 4 +- .../setupwizard/events/EventSWLabel.kt | 2 +- .../src/main/res/drawable/ic_exit_to_app.xml | 12 ++ .../main/res/layout/activity_setupwizard.xml | 3 +- .../src/main/res/values/arrays.xml | 12 ++ .../src/main/res/values/strings.xml | 79 ++++++++ .../src/main/res/xml/pref_datachoices.xml | 3 +- .../src/main/res/values-af-rZA/strings.xml | 4 +- .../src/main/res/values-bg-rBG/strings.xml | 8 +- .../src/main/res/values-ca-rES/strings.xml | 8 +- .../src/main/res/values-cs-rCZ/strings.xml | 8 +- .../src/main/res/values-da-rDK/strings.xml | 8 +- .../src/main/res/values-de-rDE/strings.xml | 8 +- .../src/main/res/values-el-rGR/strings.xml | 8 +- .../src/main/res/values-es-rES/strings.xml | 8 +- .../src/main/res/values-fr-rFR/strings.xml | 8 +- .../src/main/res/values-ga-rIE/strings.xml | 2 +- .../src/main/res/values-hr-rHR/strings.xml | 4 +- .../src/main/res/values-hu-rHU/strings.xml | 2 +- .../src/main/res/values-it-rIT/strings.xml | 8 +- .../src/main/res/values-iw-rIL/strings.xml | 8 +- .../src/main/res/values-ko-rKR/strings.xml | 8 +- .../src/main/res/values-lt-rLT/strings.xml | 8 +- .../src/main/res/values-nl-rNL/strings.xml | 8 +- .../src/main/res/values-no-rNO/strings.xml | 8 +- .../src/main/res/values-pl-rPL/strings.xml | 8 +- .../src/main/res/values-pt-rBR/strings.xml | 8 +- .../src/main/res/values-pt-rPT/strings.xml | 8 +- .../src/main/res/values-ro-rRO/strings.xml | 8 +- .../src/main/res/values-ru-rRU/strings.xml | 8 +- .../src/main/res/values-sk-rSK/strings.xml | 8 +- .../src/main/res/values-sr-rCS/strings.xml | 4 +- .../src/main/res/values-sv-rSE/strings.xml | 8 +- .../src/main/res/values-tr-rTR/strings.xml | 8 +- .../src/main/res/values-zh-rCN/strings.xml | 8 +- plugins/main/src/main/res/values/arrays.xml | 26 --- plugins/main/src/main/res/values/strings.xml | 12 -- plugins/main/src/main/res/xml/pref_safety.xml | 8 +- settings.gradle | 1 + 86 files changed, 549 insertions(+), 418 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_exit_to_app.xml create mode 100644 core/core-main/src/main/res/values/arrays.xml create mode 100644 plugins/configuration/.gitignore create mode 100644 plugins/configuration/build.gradle create mode 100644 plugins/configuration/consumer-rules.pro create mode 100644 plugins/configuration/proguard-rules.pro create mode 100644 plugins/configuration/src/main/AndroidManifest.xml create mode 100644 plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt rename app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt => plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt (51%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWDefinition.kt (80%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWEventListener.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWIntNumberValidator.java (67%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWNumberValidator.java (67%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWScreen.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWTextValidator.java (66%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SWValidator.java (62%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/SetupWizardActivity.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWBreak.kt (87%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWButton.kt (91%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditEncryptedPassword.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditIntNumber.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditNumber.kt (89%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditNumberWithUnits.kt (91%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditString.kt (94%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWEditUrl.kt (92%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWFragment.kt (82%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWHtmlLink.kt (91%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWInfoText.kt (90%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWItem.kt (98%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWPlugin.kt (73%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWPreference.kt (63%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/elements/SWRadioButton.kt (95%) rename {app/src/main/java/info/nightscout/androidaps => plugins/configuration/src/main/java/info/nightscout/configuration}/setupwizard/events/EventSWLabel.kt (60%) create mode 100644 plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml rename {app => plugins/configuration}/src/main/res/layout/activity_setupwizard.xml (97%) create mode 100644 plugins/configuration/src/main/res/values/arrays.xml create mode 100644 plugins/configuration/src/main/res/values/strings.xml rename {app => plugins/configuration}/src/main/res/xml/pref_datachoices.xml (89%) diff --git a/app/build.gradle b/app/build.gradle index 9fade3c32b..83063a8d88 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -196,6 +196,7 @@ dependencies { implementation project(':plugins:automation') implementation project(':plugins:main') implementation project(':plugins:openhumans') + implementation project(':plugins:configuration') implementation project(':implementation') implementation project(':database:entities') implementation project(':database:impl') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 78de2d2b60..48bf6058d2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -176,13 +176,6 @@ - - = ErrorHelperActivity::class.java override val bolusProgressHelperActivity: Class<*> = BolusProgressHelperActivity::class.java override val singleFragmentActivity: Class<*> = SingleFragmentActivity::class.java + override val myPreferenceFragment: Class<*> = MyPreferenceFragment::class.java override fun runAlarm(ctx: Context, status: String, title: String, @RawRes soundId: Int) { val i = Intent(ctx, errorHelperActivity) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 0d1c692562..e7a6d7f68c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -190,7 +190,7 @@ class ConfigBuilderPlugin @Inject constructor( logPluginStatus() } - fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) { + override fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) { var pluginsInCategory: ArrayList? = null when (type) { PluginType.INSULIN -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Insulin::class.java) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 4950509e43..522bd766fc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -46,7 +46,7 @@ class PluginStore @Inject constructor( throw IllegalStateException("Default plugin not found") } - fun getSpecificPluginsList(type: PluginType): ArrayList { + override fun getSpecificPluginsList(type: PluginType): ArrayList { val newList = ArrayList() for (p in plugins) { if (p.getType() == type) newList.add(p) diff --git a/app/src/main/res/drawable/ic_exit_to_app.xml b/app/src/main/res/drawable/ic_exit_to_app.xml deleted file mode 100644 index 049c0af2c2..0000000000 --- a/app/src/main/res/drawable/ic_exit_to_app.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index e81b35a0f0..083ecf62c4 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,15 +1,6 @@ - - mg/dL - mmol/L - - - mg/dl - mmol - - @string/default_lang @string/en_lang diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b5f9eb2608..ebfaca5093 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,7 +28,6 @@ Spanish Swedish Turkish - email_for_crash_report smscommunicator protection absorption_category_settings @@ -51,23 +50,8 @@ Config Builder Overview Treatments - Pump - Which pump would you like to use with AAPS? - Profile - Which profile should AAPS use? - APS - Which APS algorithm should make therapy adjustments? - General - These are some general plugins you might find useful. - Synchronization - Data upload and synchronization plugins. - Which constraints are applied? - Loop - Use this to activate AAPS\' loop integration. Constraints violation Change your input! - BG Source - Where should AAPS gain it\'s data from? Profile Nightscout version: Preferences exported @@ -86,9 +70,6 @@ Old Master Password This file was exported and encrypted with different master password. Provide old master password to decrypt file. As a result of successful import current master password WILL BE REPLACED with that old master password! - End User License Agreement - MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - I UNDERSTAND AND AGREE Save Reload profile QuickWizard settings @@ -100,7 +81,6 @@ Corr (DANGEROUS TO DISABLE) NS upload only NS upload only (disabled sync). Not effective on SGV unless a local source like xDrip+ is selected. Not effective on Profiles while NS-Profiles is used.\n!!! WARNING !!! Disabling this option may cause malfunctions and insulin overdose if any of your component (AAPS, NS, xDrip+) is wrong configured. Carefully watch if data displayed by AAPS match the pump state! - Units Range for Visualization High and low mark for the charts in Overview and Smartwatch LOW mark @@ -117,11 +97,7 @@ Shorten tab titles Wear settings not successful - please check phone - Patient name - Please provide patient name or nickname to differentiate among multiple setups - I_understand Exiting application to apply settings. - Which type of insulin are you using? Enable superbolus in wizard Enable superbolus functionality in wizard. Do not enable until you learn what it really does. IT MAY CAUSE INSULIN OVERDOSE IF USED BLINDLY! PRED @@ -133,7 +109,6 @@ DEVSLOPE About Missing phone state permission - Do Profile Switch Alarm options ns_announcements ns_alarms @@ -148,8 +123,6 @@ openapsama_autosens_period OpenAPS Uploader - Sensitivity detection - Which sensitivity algorithm should be used? SENS Sensitivity Oref1 Sensitivity AAPS @@ -206,9 +179,6 @@ Show SMB on the watch like a standard bolus. Show the predictions on the watchface. Predictions - Data Choices - Fabric Upload - Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. Please update your Dexcom app to supported version Dexcom app is not installed. Activity @@ -223,11 +193,6 @@ Meal max absorption time [h] Time at which any meal is considered absorbed. Remaining carbs will be cut off. Show notes field in treatment dialogs - SetupWizardActivity - Next - Prev - Setup Wizard - FINISH First insulin increment Second insulin increment Third insulin increment @@ -245,27 +210,12 @@ Calculations included in the Wizard result: Display Settings General Settings - Welcome to setup wizard. It will guide you through the setup process\n - Read status - Skip setup wizard - Press the button below to enable AAPS to suggest/make basal changes - startupwizard_processed - Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: - https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - Synchronize data to the cloud. You can skip this part now but you will not be able to pass objectives until you set it up. - Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. - Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. - Please configure your RileyLink below. After selecting a RileyLink, it will be possible to continue setup once the RileyLink status is \"Connected\". This might take a minute.\n - Note: You can continue setup once the pump has been set up.\n - Start your first objective - Ask for permission Open navigation Close navigation Plugin preferences keep_screen_on Remove items Sort items - Stored settings found Attention: If you activate and connect to a hardware pump, AAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. Treatment data incomplete Maintenance Settings @@ -285,17 +235,13 @@ Miscellaneous Log settings Reset to defaults - Preferred APS mode Send today\'s log files to developers along with this time. Unexpected situation. short_tabtitles == ∑ %1$s U Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. Units - Select units you want to display values in wear_detailediob wear_showbgi - Lower value of in range area (display only) - Higher value of in range area (display only) Show removed Clear queue? All data in queue will be lost! wear_detailed_delta @@ -306,9 +252,6 @@ graphconfig Authorization failed Absolute insulin - Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. - Current master password - RileyLink status: Unable to create profile. Profile is invalid. Don\'t kill my app? Time to eat!\nRun Bolus wizard and do calculation again. @@ -318,14 +261,9 @@ Graph Clear filter Cannula - Use values of your largest food you usually eat\n - This identification will attached to crash reports so we can contact you in urgent cases. It\'s optional. Email address - Privacy setting - You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. BG data status Remove BG readings - Identification (email, FB or Discord nick etc) Identification not set in dev mode dialog Not available diff --git a/core/core-main/src/main/res/values/arrays.xml b/core/core-main/src/main/res/values/arrays.xml new file mode 100644 index 0000000000..9edbe10470 --- /dev/null +++ b/core/core-main/src/main/res/values/arrays.xml @@ -0,0 +1,29 @@ + + + + @string/child + @string/teenage + @string/adult + @string/resistant_adult + @string/pregnant + + + @string/key_child + @string/key_teenage + @string/key_adult + @string/key_resistantadult + @string/key_pregnant + + + + @string/closedloop + @string/openloop + @string/lowglucosesuspend + + + closed + open + lgs + + + \ No newline at end of file diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 01b27f9290..56eaaa3ee5 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -98,6 +98,10 @@ aps_mode boluswizard_percentage key_usersuperbolus + treatmentssafety_maxbolus + patient_name + email_for_crash_report + Refresh @@ -680,6 +684,18 @@ %1$s to %2$s No pump available! + + + Child + Teenage + Adult + Insulin resistant adult + Pregnancy + Please select patient type to setup safety limits + Max allowed bolus [U] + Max allowed carbs [g] + Patient type + %1$d day %1$d days diff --git a/crowdin.yml b/crowdin.yml index 6b43465eec..daaf8587cf 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -15,6 +15,8 @@ files: translation: /plugins/automation/src/main/res/values-%android_code%/strings.xml - source: /plugins/openhumans/src/main/res/values/strings.xml translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml + - source: /plugins/configuration/src/main/res/values/strings.xml + translation: /plugins/configuration/src/main/res/values-%android_code%/strings.xml - source: /core/core-main/src/main/res/values/protection.xml translation: /core/core-main/src/main/res/values-%android_code%/protection.xml - source: /core/core-main/src/main/res/values/validator.xml diff --git a/implementation/src/main/res/values/strings.xml b/implementation/src/main/res/values/strings.xml index 8e9bade932..81c83201ed 100644 --- a/implementation/src/main/res/values/strings.xml +++ b/implementation/src/main/res/values/strings.xml @@ -14,12 +14,11 @@ Basal value below minimum. Profile not set! Request Permission - %1$s needs battery optimization whitelisting for proper performance - Application needs system window permission for notifications - Application needs location permission for BT scan and WiFi identification - Application needs storage permission to be able store log files and export settings Error asking for permissions This device does not appear to support battery optimization whitelisting - you may experience performance issues. + %1$s needs battery optimization whitelisting for proper performance + Application needs location permission for BT scan and WiFi identification + Application needs storage permission to be able store log files and export settings Very low diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt index ef64088a84..0d8045908e 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt @@ -4,7 +4,13 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType interface ConfigBuilder { + fun initialize() fun storeSettings(from: String) fun performPluginSwitch(changedPlugin: PluginBase, enabled: Boolean, type: PluginType) + + /** + * Make sure plugins configuration is valid after enabling/disabling plugin + */ + fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt index 9bfb4d8a4f..fd22e37b43 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt @@ -105,4 +105,9 @@ interface ActivePlugin { * Pre-process all plugin types and validate active plugins (ie. only only one plugin for type is selected) */ fun verifySelectionInCategories() + + /** + * List of all plugins of type + */ + fun getSpecificPluginsList(type: PluginType): ArrayList } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index e5a7476f8f..27f8469cdc 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -17,6 +17,7 @@ interface ActivityNames { val errorHelperActivity: Class<*> val bolusProgressHelperActivity: Class<*> val singleFragmentActivity: Class<*> + val myPreferenceFragment: Class<*> /** * Show ErrorHelperActivity and start alarm diff --git a/plugins/configuration/.gitignore b/plugins/configuration/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/plugins/configuration/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/plugins/configuration/build.gradle b/plugins/configuration/build.gradle new file mode 100644 index 0000000000..d6c349f558 --- /dev/null +++ b/plugins/configuration/build.gradle @@ -0,0 +1,27 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" +android { + namespace 'info.nightscout.configuration' +} + + +dependencies { + implementation project(':interfaces') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + implementation project(':database:entities') + implementation project(':core:core-main') + implementation project(':core:fabric') + implementation project(':core:ui') +} \ No newline at end of file diff --git a/plugins/configuration/consumer-rules.pro b/plugins/configuration/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/plugins/configuration/proguard-rules.pro b/plugins/configuration/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/plugins/configuration/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/plugins/configuration/src/main/AndroidManifest.xml b/plugins/configuration/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..28271548b7 --- /dev/null +++ b/plugins/configuration/src/main/AndroidManifest.xml @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt new file mode 100644 index 0000000000..9671a0f704 --- /dev/null +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt @@ -0,0 +1,10 @@ +package info.nightscout.configuration.di + +import dagger.Module + +@Module( + includes = [ + SetupWizardModule::class + ] +) +open class ConfigurationModule \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt similarity index 51% rename from app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt index ee17fb3b3d..2d4b77c95f 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt @@ -1,28 +1,31 @@ -package info.nightscout.androidaps.di +package info.nightscout.configuration.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.setupwizard.SWEventListener -import info.nightscout.androidaps.setupwizard.SWScreen -import info.nightscout.androidaps.setupwizard.elements.SWBreak -import info.nightscout.androidaps.setupwizard.elements.SWButton -import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword -import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits -import info.nightscout.androidaps.setupwizard.elements.SWEditString -import info.nightscout.androidaps.setupwizard.elements.SWEditUrl -import info.nightscout.androidaps.setupwizard.elements.SWFragment -import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink -import info.nightscout.androidaps.setupwizard.elements.SWInfoText -import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.setupwizard.elements.SWPlugin -import info.nightscout.androidaps.setupwizard.elements.SWPreference -import info.nightscout.androidaps.setupwizard.elements.SWRadioButton +import info.nightscout.configuration.setupwizard.SWEventListener +import info.nightscout.configuration.setupwizard.SWScreen +import info.nightscout.configuration.setupwizard.SetupWizardActivity +import info.nightscout.configuration.setupwizard.elements.SWBreak +import info.nightscout.configuration.setupwizard.elements.SWButton +import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword +import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits +import info.nightscout.configuration.setupwizard.elements.SWEditString +import info.nightscout.configuration.setupwizard.elements.SWEditUrl +import info.nightscout.configuration.setupwizard.elements.SWFragment +import info.nightscout.configuration.setupwizard.elements.SWHtmlLink +import info.nightscout.configuration.setupwizard.elements.SWInfoText +import info.nightscout.configuration.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWPlugin +import info.nightscout.configuration.setupwizard.elements.SWPreference +import info.nightscout.configuration.setupwizard.elements.SWRadioButton @Module @Suppress("unused") -abstract class WizardModule { +abstract class SetupWizardModule { + + @ContributesAndroidInjector abstract fun contributesSetupWizardActivity(): SetupWizardActivity @ContributesAndroidInjector abstract fun swBreakInjector(): SWBreak @ContributesAndroidInjector abstract fun swButtonInjector(): SWButton diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt similarity index 80% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt index a89e480ac4..79c6ab6609 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.Manifest import android.content.Context @@ -7,23 +7,23 @@ import android.net.Uri import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.setupwizard.elements.SWBreak -import info.nightscout.androidaps.setupwizard.elements.SWButton -import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword -import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits -import info.nightscout.androidaps.setupwizard.elements.SWEditString -import info.nightscout.androidaps.setupwizard.elements.SWFragment -import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink -import info.nightscout.androidaps.setupwizard.elements.SWInfoText -import info.nightscout.androidaps.setupwizard.elements.SWPlugin -import info.nightscout.androidaps.setupwizard.elements.SWPreference -import info.nightscout.androidaps.setupwizard.elements.SWRadioButton import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.elements.SWBreak +import info.nightscout.configuration.setupwizard.elements.SWButton +import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword +import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits +import info.nightscout.configuration.setupwizard.elements.SWEditString +import info.nightscout.configuration.setupwizard.elements.SWFragment +import info.nightscout.configuration.setupwizard.elements.SWHtmlLink +import info.nightscout.configuration.setupwizard.elements.SWInfoText +import info.nightscout.configuration.setupwizard.elements.SWPlugin +import info.nightscout.configuration.setupwizard.elements.SWPreference +import info.nightscout.configuration.setupwizard.elements.SWRadioButton import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder @@ -99,47 +99,51 @@ class SWDefinition @Inject constructor( .label(R.string.end_user_license_agreement_text) ) .add(SWBreak(injector)) - .add(SWButton(injector) - .text(R.string.end_user_license_agreement_i_understand) - .visibility { !sp.getBoolean(R.string.key_i_understand, false) } - .action { - sp.putBoolean(R.string.key_i_understand, true) - rxBus.send(EventSWUpdate(false)) - }) + .add( + SWButton(injector) + .text(R.string.end_user_license_agreement_i_understand) + .visibility { !sp.getBoolean(R.string.key_i_understand, false) } + .action { + sp.putBoolean(R.string.key_i_understand, true) + rxBus.send(EventSWUpdate(false)) + }) .visibility { !sp.getBoolean(R.string.key_i_understand, false) } .validator { sp.getBoolean(R.string.key_i_understand, false) } - private val screenUnits get() = SWScreen(injector, R.string.units) - .skippable(false) - .add( - SWRadioButton(injector) - .option(R.array.unitsArray, R.array.unitsValues) - .preferenceId(R.string.key_units).label(R.string.units) - .comment(R.string.setupwizard_units_prompt) - ) - .validator { sp.contains(R.string.key_units) } + private val screenUnits + get() = SWScreen(injector, R.string.units) + .skippable(false) + .add( + SWRadioButton(injector) + .option(R.array.unitsArray, R.array.unitsValues) + .preferenceId(R.string.key_units).label(R.string.units) + .comment(R.string.setupwizard_units_prompt) + ) + .validator { sp.contains(R.string.key_units) } - private val displaySettings get() = SWScreen(injector, R.string.wear_display_settings) - .skippable(false) - .add( - SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) - .preferenceId(R.string.key_low_mark) - .updateDelay(5) - .label(R.string.low_mark) - .comment(R.string.low_mark_comment) - ) - .add(SWBreak(injector)) - .add( - SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) - .preferenceId(R.string.key_high_mark) - .updateDelay(5) - .label(R.string.high_mark) - .comment(R.string.high_mark_comment) - ) + private val displaySettings + get() = SWScreen(injector, R.string.display_settings) + .skippable(false) + .add( + SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) + .preferenceId(R.string.key_low_mark) + .updateDelay(5) + .label(R.string.low_mark) + .comment(R.string.low_mark_comment) + ) + .add(SWBreak(injector)) + .add( + SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) + .preferenceId(R.string.key_high_mark) + .updateDelay(5) + .label(R.string.high_mark) + .comment(R.string.high_mark_comment) + ) - private val screenPermissionWindow get() = SWScreen(injector, R.string.permission) - .skippable(false) - .add( + private val screenPermissionWindow + get() = SWScreen(injector, R.string.permission) + .skippable(false) + .add( SWInfoText(injector) .label(rh.gs(R.string.need_system_window_permission)) ) @@ -155,7 +159,7 @@ class SWDefinition @Inject constructor( .skippable(false) .add( SWInfoText(injector) - .label(rh.gs(R.string.need_whitelisting, rh.gs(R.string.app_name))) + .label(rh.gs(R.string.need_whitelisting, rh.gs(config.appName))) ) .add(SWBreak(injector)) .add(SWButton(injector) @@ -265,29 +269,29 @@ class SWDefinition @Inject constructor( ) .validator { !cryptoUtil.checkPassword("", sp.getString(R.string.key_master_password, "")) } - private val screenAge get() = SWScreen(injector, R.string.patientage) + private val screenAge get() = SWScreen(injector, R.string.patient_type) .skippable(false) .add(SWBreak(injector)) .add( SWRadioButton(injector) .option(R.array.ageArray, R.array.ageValues) .preferenceId(R.string.key_age) - .label(R.string.patientage) - .comment(R.string.patientage_summary) + .label(R.string.patient_type) + .comment(R.string.patient_age_summary) ) .add(SWBreak(injector)) .add( SWEditNumber(injector, 3.0, 0.1, 25.0) .preferenceId(R.string.key_treatmentssafety_maxbolus) .updateDelay(5) - .label(R.string.treatmentssafety_maxbolus_title) + .label(R.string.max_bolus_title) .comment(R.string.common_values) ) .add( SWEditIntNumber(injector, 48, 1, 100) .preferenceId(R.string.key_treatmentssafety_maxcarbs) .updateDelay(5) - .label(R.string.treatmentssafety_maxcarbs_title) + .label(R.string.max_carbs_title) .comment(R.string.common_values) ) .validator { @@ -310,29 +314,38 @@ class SWDefinition @Inject constructor( .label(R.string.diawarning) ) - private val screenBgSource get() = SWScreen(injector, R.string.configbuilder_bgsource) - .skippable(false) - .add( - SWPlugin(injector, this) - .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) - .label(R.string.configbuilder_bgsource) - ) - .add(SWBreak(injector)) + private val screenBgSource + get() = SWScreen(injector, R.string.configbuilder_bgsource) + .skippable(false) + .add( + SWPlugin(injector, this) + .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) + .label(R.string.configbuilder_bgsource) + ) + .add(SWBreak(injector)) - private val screenLocalProfile get() = SWScreen(injector, R.string.localprofile) - .skippable(false) - .add( - SWFragment(injector, this) - .add(activity.supportFragmentManager.fragmentFactory.instantiate(ClassLoader.getSystemClassLoader(), (activePlugin.activeProfileSource as PluginBase).pluginDescription.fragmentClass!!)) + private val screenLocalProfile + get() = SWScreen(injector, R.string.profile) + .skippable(false) + .add( + SWFragment(injector, this) + .add( + activity.supportFragmentManager.fragmentFactory.instantiate( + ClassLoader.getSystemClassLoader(), + (activePlugin.activeProfileSource as PluginBase).pluginDescription.fragmentClass!! + ) + ) //.add(ProfileFragment()) - ) - .validator { - activePlugin.activeProfileSource.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } - ?: false - } - .visibility { (activePlugin.activeProfileSource as PluginBase).isEnabled() } + ) + .validator { + activePlugin.activeProfileSource.profile?.getDefaultProfile() + ?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } + ?: false + } + .visibility { (activePlugin.activeProfileSource as PluginBase).isEnabled() } - private val screenProfileSwitch get() = SWScreen(injector, R.string.careportal_profileswitch) + private val screenProfileSwitch + get() = SWScreen(injector, R.string.careportal_profileswitch) .skippable(false) .add( SWInfoText(injector) @@ -404,7 +417,7 @@ class SWDefinition @Inject constructor( .add(SWBreak(injector)) .add( SWHtmlLink(injector) - .label("https://openaps.readthedocs.io/en/latest/") + .label("https://wiki.aaps.app") ) .add(SWBreak(injector)) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt index ac718a414a..9b7d0c58da 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.annotation.SuppressLint import android.content.Context @@ -6,7 +6,7 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventStatus import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java index 039f9e1687..3a770201da 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWIntNumberValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java index fe22e4ccd8..af917207c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWNumberValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt index d6c1d0b298..24745cbcaf 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt @@ -1,9 +1,8 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.shared.interfaces.ResourceHelper -import java.util.* import javax.inject.Inject class SWScreen(val injector: HasAndroidInjector, private var header: Int) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java similarity index 66% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java index 607d3a6298..72aa29b91d 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWTextValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java similarity index 62% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java index e7a604deef..a57beab67c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt index 853c5fb950..df03eaff95 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt @@ -1,18 +1,18 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.content.Intent import android.os.Bundle import android.view.View import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.MainActivity -import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.R +import info.nightscout.configuration.databinding.ActivitySetupwizardBinding +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged @@ -34,6 +34,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { @Inject lateinit var sp: SP @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var aapsSchedulers: AapsSchedulers + @Inject lateinit var activityNames: ActivityNames private val disposable = CompositeDisposable() private lateinit var screens: List @@ -163,7 +164,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { @Suppress("UNUSED_PARAMETER") fun finishSetupWizard(view: View?) { sp.putBoolean(R.string.key_setupwizard_processed, true) - val intent = Intent(this, MainActivity::class.java) + val intent = Intent(this, activityNames.mainActivity) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) startActivity(intent) finish() diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt index 2d6f4926a3..b200969569 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWBreak(injector: HasAndroidInjector) : SWItem(injector, Type.BREAK) { private var l: TextView? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt index cb8bb567b4..2b8d8d248f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.Button import android.widget.LinearLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) { private var buttonRunnable: Runnable? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt index 5d9c5e71b6..a23f37217c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -10,14 +10,15 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.setupwizard.SWTextValidator import info.nightscout.androidaps.utils.CryptoUtil +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.SWTextValidator +import info.nightscout.shared.extensions.toVisibility class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUtil: CryptoUtil) : SWItem(injector, Type.STRING) { - private var validator: SWTextValidator = SWTextValidator(String::isNotEmpty) + private var validator: SWTextValidator = + SWTextValidator(String::isNotEmpty) private var updateDelay = 0L private var button: Button? = null private var editText: EditText? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt index 40194c950f..e6e147a241 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,14 +7,15 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWIntNumberValidator +import info.nightscout.configuration.setupwizard.SWIntNumberValidator import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse import java.text.DecimalFormat class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, private val min: Int, private val max: Int) : SWItem(injector, Type.NUMBER) { - private val validator: SWIntNumberValidator = SWIntNumberValidator { value -> value in min..max } + private val validator: SWIntNumberValidator = + SWIntNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt index b8ce64b142..65efa138d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,14 +7,15 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWNumberValidator +import info.nightscout.configuration.setupwizard.SWNumberValidator import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse import java.text.DecimalFormat class SWEditNumber(injector: HasAndroidInjector, private val init: Double, private val min: Double, private val max: Double) : SWItem(injector, Type.DECIMAL_NUMBER) { - private val validator: SWNumberValidator = SWNumberValidator { value -> value in min..max } + private val validator: SWNumberValidator = + SWNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt index b45442ef10..981ac22b69 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,7 +7,7 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWNumberValidator +import info.nightscout.configuration.setupwizard.SWNumberValidator import info.nightscout.core.profile.toCurrentUnits import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.interfaces.GlucoseUnit @@ -21,7 +21,8 @@ class SWEditNumberWithUnits(injector: HasAndroidInjector, private val init: Doub @Inject lateinit var profileFunction: ProfileFunction - private val validator: SWNumberValidator = SWNumberValidator { value -> value in min..max } + private val validator: SWNumberValidator = + SWNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt index ccd48a9e1f..5b6ef2ddf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -9,7 +9,7 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWTextValidator +import info.nightscout.configuration.setupwizard.SWTextValidator class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt index 1f3d938bbb..69a19213ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -10,8 +10,8 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.androidaps.setupwizard.events.EventSWLabel +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.events.EventSWLabel class SWEditUrl(injector: HasAndroidInjector) : SWItem(injector, Type.URL) { private var updateDelay = 0L diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt index d90890f068..344dbacc57 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.widget.LinearLayout import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWDefinition +import info.nightscout.configuration.setupwizard.SWDefinition class SWFragment(injector:HasAndroidInjector, private var definition: SWDefinition) : SWItem(injector, Type.FRAGMENT) { lateinit var fragment: Fragment diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt index 0fcf650896..ce0a1233e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.text.util.Linkify import android.view.View @@ -6,7 +6,7 @@ import android.widget.LinearLayout import android.widget.TextView import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt index 9a8e0f00cd..e941c4d092 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) { private var textLabel: String? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt index 22a0d28a85..9dd004bb88 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.content.Context import android.content.ContextWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt index 6faeae5233..5eab2a5765 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.os.Bundle import android.view.View @@ -7,28 +7,30 @@ import android.widget.LinearLayout import android.widget.RadioButton import android.widget.RadioGroup import android.widget.TextView +import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.setupwizard.SWDefinition -import info.nightscout.rx.events.EventSWUpdate +import info.nightscout.configuration.setupwizard.SWDefinition +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventSWUpdate import javax.inject.Inject class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinition) : SWItem(injector, Type.PLUGIN) { - @Inject lateinit var pluginStore: PluginStore - @Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var configBuilder: ConfigBuilder + @Inject lateinit var activityNames: ActivityNames private var pType: PluginType? = null private var radioGroup: RadioGroup? = null private var pluginDescription = 0 private var makeVisible = true - private var fragment: MyPreferenceFragment? = null + private var fragment: Fragment? = null fun option(pType: PluginType, pluginDescription: Int): SWPlugin { this.pType = pType @@ -46,7 +48,7 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val context = layout.context radioGroup = RadioGroup(context) radioGroup?.clearCheck() - val pluginsInCategory = pluginStore.getSpecificPluginsList(pType!!) + val pluginsInCategory = activePlugin.getSpecificPluginsList(pType!!) radioGroup?.orientation = LinearLayout.VERTICAL radioGroup?.visibility = View.VISIBLE val pDesc = TextView(context) @@ -78,8 +80,8 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val plugin = rb.tag as PluginBase plugin.setPluginEnabled(pType!!, rb.isChecked) plugin.setFragmentVisible(pType!!, rb.isChecked && makeVisible) - configBuilderPlugin.processOnEnabledCategoryChanged(plugin, pType!!) - configBuilderPlugin.storeSettings("SetupWizard") + configBuilder.processOnEnabledCategoryChanged(plugin, pType!!) + configBuilder.storeSettings("SetupWizard") rxBus.send(EventConfigBuilderChange()) rxBus.send(EventSWUpdate(false)) addConfiguration(layout, plugin) @@ -91,15 +93,17 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio private fun addConfiguration(layout: LinearLayout, plugin: PluginBase) { if (plugin.preferencesId != -1) { - fragment = MyPreferenceFragment() - fragment?.arguments = Bundle().also { it.putInt("id", plugin.preferencesId) } - definition.activity.supportFragmentManager.beginTransaction().run { - replace(layout.id, fragment!!) - commit() + fragment = Class.forName(activityNames.myPreferenceFragment.name).newInstance() as Fragment //MyPreferenceFragment() + fragment?.let { + it.arguments = Bundle().also { it.putInt("id", plugin.preferencesId) } + definition.activity.supportFragmentManager.beginTransaction().run { + replace(layout.id, it) + commit() + } } } else { definition.activity.supportFragmentManager.beginTransaction().run { - if (fragment != null) remove(fragment!!) + fragment?.let { remove(it) } fragment = null commit() } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt similarity index 63% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt index 7abafa7c82..0c0bda1914 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt @@ -1,18 +1,16 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.os.Bundle import android.widget.LinearLayout +import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.setupwizard.SWDefinition +import info.nightscout.configuration.setupwizard.SWDefinition +import info.nightscout.interfaces.ui.ActivityNames import javax.inject.Inject class SWPreference(injector: HasAndroidInjector, private val definition: SWDefinition) : SWItem(injector, Type.PREFERENCE) { - @Inject lateinit var pluginStore: PluginStore - @Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Inject lateinit var activityNames: ActivityNames private var xml: Int = -1 @@ -27,7 +25,7 @@ class SWPreference(injector: HasAndroidInjector, private val definition: SWDefin } private fun addConfiguration(layout: LinearLayout, xml: Int) { - MyPreferenceFragment().also { fragment -> + (Class.forName(activityNames.myPreferenceFragment.name).newInstance() as Fragment).also { fragment -> fragment.arguments = Bundle().also { it.putInt("id", xml) } definition.activity.supportFragmentManager.beginTransaction().run { replace(layout.id, fragment) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt index 7a8113a435..feff82a277 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.view.ViewGroup @@ -23,7 +23,7 @@ class SWRadioButton(injector: HasAndroidInjector) : SWItem(injector, Type.RADIOB return rh.gsa(labelsArray) } - fun values(): Array { + private fun values(): Array { return rh.gsa(valuesArray) } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt similarity index 60% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt index 4c9322ec3c..0151e372c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.events +package info.nightscout.configuration.setupwizard.events import info.nightscout.rx.events.Event diff --git a/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml b/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml new file mode 100644 index 0000000000..ce1caf7dfe --- /dev/null +++ b/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/layout/activity_setupwizard.xml b/plugins/configuration/src/main/res/layout/activity_setupwizard.xml similarity index 97% rename from app/src/main/res/layout/activity_setupwizard.xml rename to plugins/configuration/src/main/res/layout/activity_setupwizard.xml index a60004b8f8..0941bd9d72 100644 --- a/app/src/main/res/layout/activity_setupwizard.xml +++ b/plugins/configuration/src/main/res/layout/activity_setupwizard.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".setupwizard.SetupWizardActivity"> + tools:context="info.nightscout.configuration.setupwizard.SetupWizardActivity"> + + + + mg/dL + mmol/L + + + mg/dl + mmol + + + \ No newline at end of file diff --git a/plugins/configuration/src/main/res/values/strings.xml b/plugins/configuration/src/main/res/values/strings.xml new file mode 100644 index 0000000000..d3cffca1b2 --- /dev/null +++ b/plugins/configuration/src/main/res/values/strings.xml @@ -0,0 +1,79 @@ + + + I_understand + + Units + Select units you want to display values in + SetupWizardActivity + Next + Prev + Setup Wizard + FINISH + Welcome to setup wizard. It will guide you through the setup process\n + End User License Agreement + MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + I UNDERSTAND AND AGREE + Display Settings + LOW mark + HIGH mark + Lower value of in range area (display only) + Higher value of in range area (display only) + Permission + Application needs system window permission for notifications + Application needs location permission for BT scan and WiFi identification + Application needs storage permission to be able store log files and export settings + Ask for permission + %1$s needs battery optimization whitelisting for proper performance + Import settings + Stored settings found + Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. + Current master password + Use values of your largest food you usually eat\n + Synchronize data to the cloud. You can skip this part now but you will not be able to pass objectives until you set it up. + Status: + Patient name + Please provide patient name or nickname to differentiate among multiple setups + Privacy setting + You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. + Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. + Profile + Do Profile Switch + Skip setup wizard + Press the button below to enable AAPS to suggest/make basal changes + startupwizard_processed + Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: + https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html + Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. + Please configure your RileyLink below. After selecting a RileyLink, it will be possible to continue setup once the RileyLink status is \"Connected\". This might take a minute.\n + Note: You can continue setup once the pump has been set up.\n + Start your first objective + RileyLink status: + Read status + Data Choices + Fabric Upload + Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. + This identification will attached to crash reports so we can contact you in urgent cases. It\'s optional. + Identification (email, FB or Discord nick etc) + + Pump + Which pump would you like to use with AAPS? + Profile + Which profile should AAPS use? + APS + Which APS algorithm should make therapy adjustments? + General + These are some general plugins you might find useful. + Synchronization + Data upload and synchronization plugins. + Which constraints are applied? + Loop + Use this to activate AAPS\' loop integration. + Which type of insulin are you using? + BG Source + Where should AAPS gain it\'s data from? + APS Mode + Preferred APS mode + Sensitivity detection + Which sensitivity algorithm should be used? + + \ No newline at end of file diff --git a/app/src/main/res/xml/pref_datachoices.xml b/plugins/configuration/src/main/res/xml/pref_datachoices.xml similarity index 89% rename from app/src/main/res/xml/pref_datachoices.xml rename to plugins/configuration/src/main/res/xml/pref_datachoices.xml index 408296cae5..41d2bfa237 100644 --- a/app/src/main/res/xml/pref_datachoices.xml +++ b/plugins/configuration/src/main/res/xml/pref_datachoices.xml @@ -1,7 +1,6 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> Tiener Volwassene Insulien weerstandige volwasse - Maks toelaatbare Bolus [U] - Maks Toelaatbare karbs [g] + Maks toelaatbare Bolus [U] + Maks Toelaatbare karbs [g] Sluimer Wys status vlae op tuisskerm diff --git a/plugins/main/src/main/res/values-bg-rBG/strings.xml b/plugins/main/src/main/res/values-bg-rBG/strings.xml index 6ec07bd907..041fca7722 100644 --- a/plugins/main/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/main/src/main/res/values-bg-rBG/strings.xml @@ -52,15 +52,15 @@ макс. стойност в настройките твърд лимит Настройки на сигурността - Моля, изберете тип на пациента за настройка на границите за безопастност + Моля, изберете тип на пациента за настройка на границите за безопастност Дете Тийнейджър Възрастен Възрастни с голяма инсулинова резистентност Бременност - Максимален инсулин при болус [единици] - Максимални въглехидрати [гр] - Тип пациент + Максимален инсулин при болус [единици] + Максимални въглехидрати [гр] + Тип пациент Отложи Покажи статус светлини на началния екран diff --git a/plugins/main/src/main/res/values-ca-rES/strings.xml b/plugins/main/src/main/res/values-ca-rES/strings.xml index cb4742c875..f4ada678e0 100644 --- a/plugins/main/src/main/res/values-ca-rES/strings.xml +++ b/plugins/main/src/main/res/values-ca-rES/strings.xml @@ -58,15 +58,15 @@ valor màxim a la configuració límit estricte Seguretat tractaments - Si us plau, seleccioneu el tipus de pacient per configurar els límits de seguretat + Si us plau, seleccioneu el tipus de pacient per configurar els límits de seguretat Nen Adolescent Adult Adult resistent a l\'insulina Embaraç - Max bolus permès [U] - Max carbs permesos [g] - Tipus de pacient + Max bolus permès [U] + Max carbs permesos [g] + Tipus de pacient Postposar Mostrar indicadors d\'estat a la pantalla d\'inici diff --git a/plugins/main/src/main/res/values-cs-rCZ/strings.xml b/plugins/main/src/main/res/values-cs-rCZ/strings.xml index 4d9df649c7..c477582782 100644 --- a/plugins/main/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/main/src/main/res/values-cs-rCZ/strings.xml @@ -240,15 +240,15 @@ maximální hodnota v nastavení pevný limit Bezpečnost zadání ošetřeni - Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů + Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů Dítě Dospívající Dospělý Dospělý s nízkou citlivostí Těhotenství - Maximální povolený bolus [U] - Maximální počet sacharidů [g] - Typ pacienta + Maximální povolený bolus [U] + Maximální počet sacharidů [g] + Typ pacienta Odložit Zkopírovat nastavení NS (existuje-li)? diff --git a/plugins/main/src/main/res/values-da-rDK/strings.xml b/plugins/main/src/main/res/values-da-rDK/strings.xml index 7dae731233..49f70fbcb5 100644 --- a/plugins/main/src/main/res/values-da-rDK/strings.xml +++ b/plugins/main/src/main/res/values-da-rDK/strings.xml @@ -63,15 +63,15 @@ max værdi i præferencer hård grænse Behandlings sikkerhed - Vælg venligst patienttype til opsætning af sikkerhedsgrænser + Vælg venligst patienttype til opsætning af sikkerhedsgrænser Barn Teeanger Voksen Insulinresistent voksen Graviditet - Maks tilladt bolus [IE] - Maks tilladte kulhydrater [g] - Patienttype + Maks tilladt bolus [IE] + Maks tilladte kulhydrater [g] + Patienttype Udsæt Vis statuslys på startskærm diff --git a/plugins/main/src/main/res/values-de-rDE/strings.xml b/plugins/main/src/main/res/values-de-rDE/strings.xml index 6b62dfaaa3..be53e0c14f 100644 --- a/plugins/main/src/main/res/values-de-rDE/strings.xml +++ b/plugins/main/src/main/res/values-de-rDE/strings.xml @@ -64,15 +64,15 @@ Max. Wert in den Einstellungen festem Grenzwert Sicherheitseinstellungen der Behandlungen - Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen + Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen Kind Teenager Erwachsener Insulinresistenter Erwachsener Schwangerschaft - Max. erlaubter Bolus [IE] - Max. erlaubte Kohlenhydrate [g] - Patiententyp + Max. erlaubter Bolus [IE] + Max. erlaubte Kohlenhydrate [g] + Patiententyp Schlummern Statusanzeige auf Homescreen diff --git a/plugins/main/src/main/res/values-el-rGR/strings.xml b/plugins/main/src/main/res/values-el-rGR/strings.xml index 0458951d07..f358f7367c 100644 --- a/plugins/main/src/main/res/values-el-rGR/strings.xml +++ b/plugins/main/src/main/res/values-el-rGR/strings.xml @@ -46,15 +46,15 @@ μέγιστη τιμή στις Επιλογές σταθερό όριο Ασφάλεια Θεραπειών - Παρακαλώ επιλέξτε τύπο ασθενούς για να ορισθούν όρια ασφαλείας + Παρακαλώ επιλέξτε τύπο ασθενούς για να ορισθούν όρια ασφαλείας Παιδί Έφηβος Ενήλικας Αντίσταση ινσουλίνης ενηλίκων Κύηση - Μέγιστο Επιτρεπτό bolus[U] - Μέγιστο Επιτρεπτό υδατανθράκων [g] - Τύπος ασθενή + Μέγιστο Επιτρεπτό bolus[U] + Μέγιστο Επιτρεπτό υδατανθράκων [g] + Τύπος ασθενή Αναβολή Εμφάνιση του φωτισμού κατάστασης στην αρχική οθόνη diff --git a/plugins/main/src/main/res/values-es-rES/strings.xml b/plugins/main/src/main/res/values-es-rES/strings.xml index 0d37fe45c1..4e0d1c8e78 100644 --- a/plugins/main/src/main/res/values-es-rES/strings.xml +++ b/plugins/main/src/main/res/values-es-rES/strings.xml @@ -240,15 +240,15 @@ valor máximo en preferencias límite estricto Seguridad de tratamientos - Por favor, selecciona el tipo de paciente para establecer los límites de seguridad + Por favor, selecciona el tipo de paciente para establecer los límites de seguridad Niño Adolescente Adulto Adulto resistente a la insulina Embarazada - Máximo bolo permitido [U] - Máximos carbohidratos permitidos [g] - Tipo de paciente + Máximo bolo permitido [U] + Máximos carbohidratos permitidos [g] + Tipo de paciente Silenciar ¿Deseas copiar los ajustes desde Nightscout, si existen? diff --git a/plugins/main/src/main/res/values-fr-rFR/strings.xml b/plugins/main/src/main/res/values-fr-rFR/strings.xml index 5779758c00..b3db11d084 100644 --- a/plugins/main/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/main/src/main/res/values-fr-rFR/strings.xml @@ -240,15 +240,15 @@ valeur Max dans les préférences limite fixée Traitements de sécurité - Veuillez sélectionner le type de patient pour définir les limites de sécurité + Veuillez sélectionner le type de patient pour définir les limites de sécurité Enfant Adolescent Adulte Adulte résistant à l\'insuline Grossesse - Maximum Bolus autorisé [U] - Maximum de Glucides autorisé [g] - Type de patient + Maximum Bolus autorisé [U] + Maximum de Glucides autorisé [g] + Type de patient Masquer Copier les paramètres NS (s\'ils existent)? diff --git a/plugins/main/src/main/res/values-ga-rIE/strings.xml b/plugins/main/src/main/res/values-ga-rIE/strings.xml index 84f149a2d7..e92089c46b 100644 --- a/plugins/main/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/main/src/main/res/values-ga-rIE/strings.xml @@ -29,7 +29,7 @@ Páiste Déagóirí Duine fásta - Othar cineál + Othar cineál APS mód CGM diff --git a/plugins/main/src/main/res/values-hr-rHR/strings.xml b/plugins/main/src/main/res/values-hr-rHR/strings.xml index abcee53bf3..28067cdd80 100644 --- a/plugins/main/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/main/src/main/res/values-hr-rHR/strings.xml @@ -136,8 +136,8 @@ Nekoliko izbora za brzi pristup uobičajenim funkcijama Sigurnosne postavke medikacije - Max dozvoljen bolus [U] - Max dozvoljeni Uh [g] + Max dozvoljen bolus [U] + Max dozvoljeni Uh [g] Profili, bolusi, ugljikohidrati, privremeni bazali učitavaju se u NS diff --git a/plugins/main/src/main/res/values-hu-rHU/strings.xml b/plugins/main/src/main/res/values-hu-rHU/strings.xml index 2b2a38bce0..e7d1d7431e 100644 --- a/plugins/main/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/main/src/main/res/values-hu-rHU/strings.xml @@ -26,7 +26,7 @@ Felnőtt Inzulinrezisztens felnőtt Várandós - Betegkategória + Betegkategória Szundi CGM diff --git a/plugins/main/src/main/res/values-it-rIT/strings.xml b/plugins/main/src/main/res/values-it-rIT/strings.xml index 7becd62f2d..de1cf7b546 100644 --- a/plugins/main/src/main/res/values-it-rIT/strings.xml +++ b/plugins/main/src/main/res/values-it-rIT/strings.xml @@ -152,15 +152,15 @@ valore max nelle preferenze limite fisso Sicurezza trattamenti - Seleziona il tipo di paziente per configurare i limiti di sicurezza + Seleziona il tipo di paziente per configurare i limiti di sicurezza Bambino Adolescente Adulto Adulto insulino-resistente Gravidanza - Max bolo consentito [U] - Max CHO consentiti [g] - Tipo paziente + Max bolo consentito [U] + Max CHO consentiti [g] + Tipo paziente Posticipa Copiare impostazioni NS (se esiste)? diff --git a/plugins/main/src/main/res/values-iw-rIL/strings.xml b/plugins/main/src/main/res/values-iw-rIL/strings.xml index 0ddfaae237..ca096e5f9f 100644 --- a/plugins/main/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/main/src/main/res/values-iw-rIL/strings.xml @@ -55,15 +55,15 @@ ערך מקסימלי בהעדפות מגבלה קשיחה בטיחות טיפולים - נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות + נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות ילד\\ה מתבגר\\ת מבוגר\\ת מבוגר\\ת עם תנגודת אינסולין גבוהה הריון - בולוס מקסימלי מותר [U] - מקסימום פחמימות מותר [g] - סוג המטופל\\ת + בולוס מקסימלי מותר [U] + מקסימום פחמימות מותר [g] + סוג המטופל\\ת נודניק הצגת אורות חיווי במסך הבית diff --git a/plugins/main/src/main/res/values-ko-rKR/strings.xml b/plugins/main/src/main/res/values-ko-rKR/strings.xml index 89632ded54..75a11f8796 100644 --- a/plugins/main/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/main/src/main/res/values-ko-rKR/strings.xml @@ -59,15 +59,15 @@ 설정에서의 최대값 하드한계 관리 안전설정 - 안전 제한 설정을 위해 환자 유형을 선택하십시오. + 안전 제한 설정을 위해 환자 유형을 선택하십시오. 어린이 청소년 성인 인슐린 저항성 높은 성인 임신 중 - 최대 허용 Bolus [U] - 최대 허용 탄수화물 [g] - 환자 유형 + 최대 허용 Bolus [U] + 최대 허용 탄수화물 [g] + 환자 유형 스누즈 홈화면에 상태 표시등 보여주기 diff --git a/plugins/main/src/main/res/values-lt-rLT/strings.xml b/plugins/main/src/main/res/values-lt-rLT/strings.xml index 06ebf5a4d0..35acc7fc8f 100644 --- a/plugins/main/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/main/src/main/res/values-lt-rLT/strings.xml @@ -75,15 +75,15 @@ Maksimali reikšmė nustatymuose Nekeičiama riba Terapijos saugumas - Pasirinkite paciento tipą saugumo riboms nustatyti + Pasirinkite paciento tipą saugumo riboms nustatyti Vaikas Paauglys Suaugęs Insulinui rezistentiškas suaugęs Nėštumas - Maksimalus leistinas bolusas [U] - Maks. leistini angliavandeniai [g] - Paciento tipas + Maksimalus leistinas bolusas [U] + Maks. leistini angliavandeniai [g] + Paciento tipas Snausti Pradžios ekrane rodyti spalvotus indikatorius diff --git a/plugins/main/src/main/res/values-nl-rNL/strings.xml b/plugins/main/src/main/res/values-nl-rNL/strings.xml index 62ebbd244a..f37b7ce75b 100644 --- a/plugins/main/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/main/src/main/res/values-nl-rNL/strings.xml @@ -124,15 +124,15 @@ Maximum waarde in instellingen max limiet (SC) Behandelingen veiligheid - Selecteer het type patiënt om de veiligheidslimieten in te stellen + Selecteer het type patiënt om de veiligheidslimieten in te stellen Kind Tiener Volwassene insuline resistente volwassene Zwangerschap - Max toegestane bolus [E] - Max toegestane koolhydraten [g] - Type patiënt + Max toegestane bolus [E] + Max toegestane koolhydraten [g] + Type patiënt NS instellingen kopiëren (indien aanwezig)? Toon statusindicatoren op startscherm diff --git a/plugins/main/src/main/res/values-no-rNO/strings.xml b/plugins/main/src/main/res/values-no-rNO/strings.xml index ed5041b6cb..bba8bb7ada 100644 --- a/plugins/main/src/main/res/values-no-rNO/strings.xml +++ b/plugins/main/src/main/res/values-no-rNO/strings.xml @@ -239,15 +239,15 @@ maks verdi i innstillingene hard begrensning Sikkerhet ved behandlinger - Velg pasienttype for oppsett av sikkerhetsgrenser + Velg pasienttype for oppsett av sikkerhetsgrenser Barn Tenåring Voksen Insulinresistent voksen Graviditet - Maks tillat bolus [U] - Maks tillat karbo [g] - Pasienttype + Maks tillat bolus [U] + Maks tillat karbo [g] + Pasienttype Slumre Kopiere NS innstillinger (hvis de eksisterer)? diff --git a/plugins/main/src/main/res/values-pl-rPL/strings.xml b/plugins/main/src/main/res/values-pl-rPL/strings.xml index 881a7a89c2..1d4f533cfb 100644 --- a/plugins/main/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/main/src/main/res/values-pl-rPL/strings.xml @@ -57,15 +57,15 @@ maks. wartość w ustawieniach twarde ograniczenie Bezpieczeństwo terapii - Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa + Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa Dziecko Nastolatek Osoba dorosła Osoba dorosła insulinooporna Ciąża - Maks. dopuszczalny bolus [U] - Maks. dopuszczalne węglowodany [g] - Typ pacjenta + Maks. dopuszczalny bolus [U] + Maks. dopuszczalne węglowodany [g] + Typ pacjenta Wycisz Pokaż diody stanu na ekranie głównym diff --git a/plugins/main/src/main/res/values-pt-rBR/strings.xml b/plugins/main/src/main/res/values-pt-rBR/strings.xml index 3d91df929d..1067d2bcd0 100644 --- a/plugins/main/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/main/src/main/res/values-pt-rBR/strings.xml @@ -59,15 +59,15 @@ valor máx nas preferências limite rígido Segurança do Tratamento - Selecione o tipo de paciente para configurar os limites de segurança + Selecione o tipo de paciente para configurar os limites de segurança Criança Adolescente Adulto Adulto resistente à insulina Grávida - Máximo bolus permitido [U] - Máximo de carbs permitidos [g] - Tipo de paciente + Máximo bolus permitido [U] + Máximo de carbs permitidos [g] + Tipo de paciente Silenciar Mostrar luzes de estado no ecrã principal diff --git a/plugins/main/src/main/res/values-pt-rPT/strings.xml b/plugins/main/src/main/res/values-pt-rPT/strings.xml index acc5c87d1d..0c6e8fdb12 100644 --- a/plugins/main/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/main/src/main/res/values-pt-rPT/strings.xml @@ -55,15 +55,15 @@ valor máx nas preferências limite rígido Segurança de Tratamentos - Por favor seleccione o tipo de paciente para configurar limites de segurança + Por favor seleccione o tipo de paciente para configurar limites de segurança Criança Adolescente Adulto Adulto resistente insulina Gravidez - Máx bólus permitido [U] - Máx hidratos permitidos [g] - Tipo de Paciente + Máx bólus permitido [U] + Máx hidratos permitidos [g] + Tipo de Paciente Silenciar Mostrar luzes de estado no ecrã principal diff --git a/plugins/main/src/main/res/values-ro-rRO/strings.xml b/plugins/main/src/main/res/values-ro-rRO/strings.xml index 03e61419f1..3bd6cb0513 100644 --- a/plugins/main/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/main/src/main/res/values-ro-rRO/strings.xml @@ -54,15 +54,15 @@ valoare maximă în preferințe limită fizică Setări siguranță tratament - Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță + Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță Copil Adolescent Adult Adult rezistent la insulină Sarcină - Bolus maxim admis [U] - Carbohidrați admiși maxim [g] - Tip de pacient + Bolus maxim admis [U] + Carbohidrați admiși maxim [g] + Tip de pacient Amână Afișați indicatorii luminoși ai pompei pe ecranul de start diff --git a/plugins/main/src/main/res/values-ru-rRU/strings.xml b/plugins/main/src/main/res/values-ru-rRU/strings.xml index cc3fa841bd..8a2790b1f3 100644 --- a/plugins/main/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/main/src/main/res/values-ru-rRU/strings.xml @@ -79,15 +79,15 @@ максимальное значение в настройках жесткий предел Безопасность терапии - Выберите возраст пациента для установки ограничителей безопасности + Выберите возраст пациента для установки ограничителей безопасности Ребенок Подросток Взрослый Инсулинорезистентный взрослый Беременность - Макс разрешенный болюс [U] - Макс разрешенные углеводы [g] - Тип пациента + Макс разрешенный болюс [U] + Макс разрешенные углеводы [g] + Тип пациента Отложить Показать индикаторы состояния на главном экране diff --git a/plugins/main/src/main/res/values-sk-rSK/strings.xml b/plugins/main/src/main/res/values-sk-rSK/strings.xml index 4d751c98c1..fc314ae27e 100644 --- a/plugins/main/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/main/src/main/res/values-sk-rSK/strings.xml @@ -116,15 +116,15 @@ maximálna hodnota v nastaveniach pevný limit Bezpečnosť zadania ošetrenia - Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov + Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov Dieťa Dospievajúci Dospelý Dospelý s nízkou citlivosťou Tehotenstvo - Maximálny povolený bolus [JI] - Max. povolené množstvo sacharidov [g] - Typ pacienta + Maximálny povolený bolus [JI] + Max. povolené množstvo sacharidov [g] + Typ pacienta Skopírovať nastavenia NS (ak existujú)? Zobraziť indikátory stavu na domovskej obrazovke diff --git a/plugins/main/src/main/res/values-sr-rCS/strings.xml b/plugins/main/src/main/res/values-sr-rCS/strings.xml index b3f387dd4a..3f4b003c69 100644 --- a/plugins/main/src/main/res/values-sr-rCS/strings.xml +++ b/plugins/main/src/main/res/values-sr-rCS/strings.xml @@ -24,8 +24,8 @@ Neke tipke za brzi pristup uobičajenim funkcijama Sigurnost tretmana - Maks. dozvoljen bolus [U] - Maks. dozvoljeni ugljeni hidrati [g] + Maks. dozvoljen bolus [U] + Maks. dozvoljeni ugljeni hidrati [g] APS režim Prihvatite novi privremeni bazal: diff --git a/plugins/main/src/main/res/values-sv-rSE/strings.xml b/plugins/main/src/main/res/values-sv-rSE/strings.xml index 874324507b..00e4905455 100644 --- a/plugins/main/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/main/src/main/res/values-sv-rSE/strings.xml @@ -62,15 +62,15 @@ maxvärde i Inställningar hård begränsning Säkerhetsbegränsningar - Välj en patienttyp för att ställa in säkerhetsgränser + Välj en patienttyp för att ställa in säkerhetsgränser Barn Tonåring Vuxen Insulinresistent vuxen Gravid - Max tillåten bolus [U] - Max tillåtna KH [g] - Patienttyp + Max tillåten bolus [U] + Max tillåtna KH [g] + Patienttyp Snooze Visa \"statuslampor\" på hemskärmen diff --git a/plugins/main/src/main/res/values-tr-rTR/strings.xml b/plugins/main/src/main/res/values-tr-rTR/strings.xml index 88a880c421..374945a0c3 100644 --- a/plugins/main/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/main/src/main/res/values-tr-rTR/strings.xml @@ -72,15 +72,15 @@ tercihlerde maksimum değer sert sınır Tedavi güvenliği - Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin + Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin Çocuk Ergen Yetişkin Yetişkin İnsülin direnci Hamile - Maks izin verilen bolus [U] - Maks izin verilen karbonhidrat [g] - Hasta tipi + Maks izin verilen bolus [U] + Maks izin verilen karbonhidrat [g] + Hasta tipi Ertele Ana ekranda durum ışıklarını göster diff --git a/plugins/main/src/main/res/values-zh-rCN/strings.xml b/plugins/main/src/main/res/values-zh-rCN/strings.xml index ccf6358c7b..43929ae120 100644 --- a/plugins/main/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/main/src/main/res/values-zh-rCN/strings.xml @@ -54,15 +54,15 @@ 在参数选项里的最大值 硬限制 治疗安全 - 请选择患者类型,以设置安全限制 + 请选择患者类型,以设置安全限制 儿童 青少年 成人 胰岛素抵抗成人 孕妇 - 允许的最大大剂量值[U] - 最大允许碳水化合物 [g] - 患者类型 + 允许的最大大剂量值[U] + 最大允许碳水化合物 [g] + 患者类型 稍后再响 在主屏幕上显示状态指示灯 diff --git a/plugins/main/src/main/res/values/arrays.xml b/plugins/main/src/main/res/values/arrays.xml index 0845e72888..0e75db8ee1 100644 --- a/plugins/main/src/main/res/values/arrays.xml +++ b/plugins/main/src/main/res/values/arrays.xml @@ -44,30 +44,4 @@ YpsoPump - - @string/child - @string/teenage - @string/adult - @string/resistantadult - @string/pregnant - - - @string/key_child - @string/key_teenage - @string/key_adult - @string/key_resistantadult - @string/key_pregnant - - - - @string/closedloop - @string/openloop - @string/lowglucosesuspend - - - closed - open - lgs - - \ No newline at end of file diff --git a/plugins/main/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml index 07c143fca5..6b3fb6a6aa 100644 --- a/plugins/main/src/main/res/values/strings.xml +++ b/plugins/main/src/main/res/values/strings.xml @@ -4,7 +4,6 @@ smscommunicator_otp_password smscommunicator_otp_secret - patient_name smscommunicator_remotebolusmindistance smscommunicator_allowednumbers smscommunicator_remotecommandsallowed @@ -272,8 +271,6 @@ Patch pump - treatmentssafety_maxbolus - Limiting extended bolus to %1$.1f U because of %2$s Limiting carbs to %1$d g because of %2$s Limiting IOB to %1$.1f U because of %2$s @@ -289,15 +286,6 @@ max value in preferences hard limit Treatments safety - Please select patient type to setup safety limits - Child - Teenage - Adult - Insulin resistant adult - Pregnancy - Max allowed bolus [U] - Max allowed carbs [g] - Patient type statuslights_copy_ns diff --git a/plugins/main/src/main/res/xml/pref_safety.xml b/plugins/main/src/main/res/xml/pref_safety.xml index 4ea1d9311a..de0da51204 100644 --- a/plugins/main/src/main/res/xml/pref_safety.xml +++ b/plugins/main/src/main/res/xml/pref_safety.xml @@ -13,14 +13,14 @@ android:entries="@array/ageArray" android:entryValues="@array/ageValues" android:key="@string/key_age" - android:summary="@string/patientage_summary" - android:title="@string/patientage" /> + android:summary="@string/patient_age_summary" + android:title="@string/patient_type" /> @@ -29,7 +29,7 @@ android:defaultValue="48" android:inputType="number" android:key="@string/key_treatmentssafety_maxcarbs" - android:title="@string/treatmentssafety_maxcarbs_title" + android:title="@string/max_carbs_title" validate:floatmaxNumber="200" validate:floatminNumber="1" validate:testType="numericRange" /> diff --git a/settings.gradle b/settings.gradle index 86edd15dbe..802870db56 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,6 +18,7 @@ include ':plugins:aps' include ':plugins:automation' include ':plugins:main' include ':plugins:openhumans' +include ':plugins:configuration' include ':pump:combo' include ':pump:dana' include ':pump:danar'